Constructing the Bridge
I've confirmed the logic is sound and the intended elements are identified accurately. My next step is to engineer a permanent solution: a script located at /home/lakshyaag/.bun/bin/traces-cursor-bridge to handle the conversion. I'm leaning toward suggesting the user alias traces to this new script and then to the underlying traces function as a simple solution.
Refining the Conversion
I'm now honing the conversion logic. The update ensures robustness by flattening nested content within messages. I've also implemented error handling for empty or malformed input lines. I'm focusing on making sure that the conversion handles a range of potential edge cases and input formats. The focus has moved toward ensuring the script reliably extracts and formats the text.
Locating String Usage
I'm now hunting down the usage of that specific file path, src/adapters/cursor/v1.ts, identified in the earlier string output. I'm hoping to pinpoint the exact location in the binary, perhaps by tracking down a require or similar import statement, given the Bun environment. This could expose surrounding code that gives clues.
in the binary find out how the cursor agent id is tracked
Considering Cursor Interactions
I'm evaluating adding a syncCursorTraces() function. Initially, I leaned towards a separate tool or one-time execution, but the constant updates within Cursor sessions are making me reconsider. I'm focusing on the user's data structure: ~/.cursor/projects/<project-id>/agent-transcripts/<.
Analyzing Final Bytes
I've homed in on the concluding bytes. I've successfully decoded "Bun!" from the data, which seems like a flag or separator. I'm now cross-referencing this to find any preceding patterns.
Analyzing the Transcript Code
I've confirmed my initial observation: the code focuses on "agent-transcripts/*.json". It's specifically checking for that directory within the project path, and skipping if it doesn't exist. This seems to be the crucial data source.
Investigating File Path Discrepancy
I've zeroed in on the file path discrepancy. It appears the code is searching for ".json" files in "agent-transcripts", but the actual files are in the ".jsonl" format and within a further subdirectory, such as 29aef319-b364-4723-bce8-8bfe339897cf/. The findTranscriptFile function expects a direct ".json" match, likely explaining the failure to locate any transcripts. The CursorAdapter is likely the culprit!
continue
Analyzing the Preview Issue
I've confirmed the conversion functions, and the binary can access the content. The "No preview" title likely stems from a mismatch between the JSON's message object and the binary's expected structure. I'm now digging into getAgentTranscriptTraceContent to pinpoint the exact difference causing this preview failure.
continue. is my htypothesis correcT? just run find commands and confim
Locating Platform-Specific Binary
I'm working on locating a platform-specific binary executed by the traces script. My initial thought is to identify the current platform and architecture. I'm focusing on how the Node.js wrapper handles the selection of the correct binary based on these details.
Verifying a Fix
I'm now focused on validating the proposed .jsonl to .json array conversion and directory structure adjustment. My immediate task is to confirm if this resolves the missing Cursor agent traces problem in the traces binary. The hypothesis is simple: is this the solution? I'll be working towards binary validation to assess results.
Investigating File Paths
I'm now investigating the specific file paths used by the traces binary. I need to understand whether it is configurable or hardcoded to ~/.cursor/projects. Specifically, the binary's code indicates the use of this.projectsDir, and I need to determine how this variable is set to confirm my hypothesis regarding directory structure. I'll need to locate where this.projectsDir is set within the binary to confirm my hypothesis.
Interpreting The Request
I'm now understanding that the request to "unwrap" the traces binary likely means the user wants me to locate its executable. It seems the symbolic link traces points to a file within a node_modules directory, specifically within @traces-sh/traces/bin/traces. I'm going to determine if the user needs further assistance.
Clarifying File Structure
I'm now investigating the file structure within ~/.cursor/projects/, specifically concerning the format of agent transcripts. My current focus is whether the structure is agent-transcripts/*.json or <id>/<id>.jsonl. The CursorAdapter's strings output has proven useful in this pursuit.
Confirming File Locations
I've verified that CursorAdapter indeed expects .json files within the agent-transcripts/ directory, confirming my initial assessment. Now I'm checking the ClaudeCodeAdapter, to account for its potentially different file format, to see how it uses .jsonl files in relation to project and trace IDs. I am now checking the ClaudeCodeAdapter for file patterns.
Analyzing Adapter Behavior
I've just confirmed that the CursorAdapter is specifically searching for JSON files within the agent-transcripts directory, but it's not designed to look into subdirectories. The user's files are structured differently, so the adapter won't be able to locate them as currently implemented.
You are correct. Your hypothesis is confirmed by both the file system and the binary's internal code.
When running the find command, your installation clearly shows a nested structure with .jsonl files:
~/.cursor/projects/<project-id>/agent-transcripts/<session-id>/<session-id>.jsonl
The CursorAdapter in the traces binary has a hardcoded search pattern that is incompatible with your version of Cursor. Here is the logic extracted from the binary:
.json, but your version of Cursor stores them as .jsonl.readdirSync and expects the files to be right there. It does not recurse into the <session-id>/ subdirectories that your installation uses.CodexAdapter in the binary that handles .jsonl and recursive scanning, it is configured for a different directory (~/.codex) and labels everything with agentId: "codex".Conclusion: The current traces binary is built for an older or different Cursor data schema and cannot "see" the traces in your current Cursor setup.
Investigating Max Files
I'm currently focused on the CodexAdapter and its maxCursorSessionFilesScanned attribute. I've circled back to re-examine the buildSessionsState function. I'm trying to see how the file limits interact with session state construction, as there seems to be an interesting relationship there. I'm diving deeper into the logic.
Analyzing the Binary's Structure
I've determined the binary's version is bun pm trust v1.3.10. It appears this binary was compiled using bun build --compile. My initial suspicion is that the source code is likely bundled within this compiled binary. Now, I need to figure out what they want me to do with this.
Confirming JSON Extension
I've zeroed in on the use of the .json extension. The code explicitly checks for it within a loop using file.endsWith(".json"). This confirms the file type used, and it's also used in the findTranscriptFile function. It seems pretty clear, that the key file extension is .json.
Analyzing Project Directory
I've been digging deeper into the discrepancy. My focus now is on how getAgentTranscriptTraces() handles the project directory within the traces binary. This involves a closer look at the CursorAdapter class, specifically how it scans this.projectsDir. I'm starting to build a clearer understanding of how these different file formats are used in Cursor.
Investigating File Extensions
Okay, I've confirmed that the CursorAdapter is explicitly designed to look for .json files within the agent-transcripts subdirectory. This contrasts with the ClaudeCodeAdapter, which directly seeks .jsonl files in its corresponding projectsDir. My previous focus on the CursorAdapter and the assumption about .jsonl files was not quite correct, as it seems. I'm now cross-referencing this with a quick search of the codebase for mentions of ".jsonl" and "CursorAdapter".
Analyzing Code Structure
I've been examining the CursorAdapter code, and the output seems exceptionally clear. I am understanding the structure and logic with surprising ease. I am now looking at the dependencies of this adapter.
Exploring Database Connections
I'm now delving into how the system accesses and interacts with databases. Specifically, I'm examining how the Cursor class handles database connections, including the global database and its path. I'm also focused on the isAvailable function and what factors determine the availability of the database.
Discovering file format
I've located .jsonl files within agent-transcripts/. Specifically, I see examples such as /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-ai-receptionist/agent-transcripts/29aef319-b364-4723-bce8-8bfe339897cf/29aef319-b364-4723-bce8-8bfe339897cf.jsonl. I'm now focusing on what insights these files might contain.
Investigating File Formats
I'm now zeroing in on the file formats. The CursorAdapter seems hardcoded for .json and JSON.parse. However, I'm observing .jsonl and .txt files more commonly. I'm exploring the possibility of version discrepancies – could older Cursor versions actually use .json files? Perhaps the traces are based on an older standard.
Analyzing Trace Errors
I'm currently focused on pinpointing why the traces binary isn't properly tracking Cursor traces. It seems there's an issue with how it's handling file paths and extensions, which is causing a mismatch. I'm digging deeper into the code to isolate the exact cause and determine a fix. I'm exploring potential solutions to this problem.
Investigating Data Mismatch
I've determined the core problem: the compiled traces binary expects flat agent-transcripts/*.json files, but the user provides nested agent-transcripts/<id>/<id>.jsonl files. The bundled Bun executable contains the source code for CursorAdapter. I'm evaluating options to resolve this mismatch, including potentially using a symbolic link to create a compatible file structure, or rewriting the wrapper. I've ruled out environment variables for now, as the wrapper simply executes the binary.
Exploring Binary Modification
My current focus is on modifying the traces binary directly. Given it's a bundled Node.js script, I'm investigating methods to inject a custom adapter, such as through string replacement, or if I can isolate the JS bundle within the binary. I need to find out if I can modify the binary's logic without significant effort. I'm focusing on the feasibility of this, as it's the more direct approach.
Evaluating Symlink Strategy
I'm now zeroing in on a symlink approach. Modifying the .json check to .jsonl won't solve the nesting problem. However, I can create the symlink I described to trick the binary into reading a single JSON file. Unfortunately, I've realized the binary uses JSON.parse directly on the file content. This will fail because the JSON Lines (.jsonl) format has multiple JSON objects per file. This new finding is important to consider.
Devising Adapter Bridge
I've realized that even if I convert the nested files and rename them to .json, the binary's direct use of JSON.parse() will crash with the JSON Lines (.jsonl) content. I've been examining the CodexAdapter, which uses parseJsonlTrace, and have been evaluating how to make the binary use the adapter. It uses a different metadata format, and ~/.codex/sessions, so a symlink is unlikely to work, and requires further investigation. I'm now leaning towards a small "adapter bridge" script as the most straightforward solution, which would watch Cursor projects and perform the necessary conversions.
Implementing Adapter Override
I've realized I can sidestep modifying the traces binary directly. The key is to leverage the environment variables passed to it by the wrapper script. I'm focusing on overriding agentStoragePaths.cursorProjects to point to a location where I can place the converted .json files. My goal is to create a "shadow" project directory within the standard ~/.cursor/projects location, containing the single-array .json format the binary expects. I will also be working on the wrapper to inject a custom "adapter bridge" script as the most straightforward solution, which would watch Cursor projects and perform the necessary conversions.
Examining Environment Variables
I'm now investigating environment variables again, as the wrapper isn't passing a CURSOR_PROJECTS_PATH. I'm exploring the binary for other environment variables, but I've also considered directly editing the wrapper script using sed. While the size of the binary poses a challenge, I can use sed carefully. The adapter script now seems like a good solution.
Considering Adapter Solution
I've been re-evaluating the adapter bridge approach. I've been looking at the path5.join function within the binary and the hardcoded paths, which reinforces the need to create a shadow directory structure and convert .jsonl files to the .json format that the binary expects, since I can't easily rebuild the binary to use a new adapter. My key focus has been to determine where the path is being constructed within the binary. I'm now certain I need a script that mirrors Cursor's file structure and converts content.
Analyzing Adapter Strategies
I'm now exploring the possibility of intercepting the calls to .json files by using a shim or adapter. I'm considering moving the original .cursor/projects to a new directory and creating a "fixed" structure, potentially using FUSE or a sync script. I'm also examining the binary for configuration files, such as ~/.traces/config.json, and exploring direct binary modification using sed. I'm going to look for hidden configuration files. I'm evaluating both short-term workarounds and more sustainable, long-term solutions, such as activating a version 2 adapter.
Investigating Bun Bundle Approach
I'm now investigating a more intricate solution: can I replace the target binary with a Node.js script that monkey-patches fs and then requires the Bun bundle? While Bun binaries aren't directly require-able, I'm optimistic about this detour. I'm focusing on tracing the paths and data within the AdapterRegistry, to determine what data is passed.
To fix the mismatch between your Cursor version (which uses nested .jsonl files) and the traces binary (which expects flat .json files), we can implement a bridge/shim.
The binary's logic is hardcoded to look for ~/.cursor/projects/*/agent-transcripts/*.json. Since we cannot easily rebuild the binary, we can create a "shadow" directory that flattens and converts your traces into the format the binary understands, then temporarily swap the directories when running traces.
Here is a plan to override this behavior:
I will create a script ~/.bun/bin/traces-cursor-fix that:
~/.cursor/projects for .jsonl transcripts.~/.cursor/projects-compat..jsonl file, it creates a .json equivalent (converting JSON Lines to a JSON Array) in the compat directory.However, there is a more elegant way if you want a permanent fix. We can create a pre-exec hook in the traces wrapper script.
Since the traces command you run is actually a Node.js script at /home/lakshyaag/.bun/install/global/node_modules/@traces-sh/traces/bin/traces, we can edit it to perform this conversion automatically every time you start the CLI.
Would you like me to modify the traces wrapper script to automatically handle this conversion on startup?
This would:
~/.cursor/projects structure..json files.~/.cursor/projects during execution.Note: I also noticed that your Cursor projects use .jsonl while the binary's JSON.parse will only work on a valid JSON array. The conversion is necessary.
/home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-ai-receptionist/agent-transcripts/29aef319-b364-4723-bce8-8bfe339897cf/29aef319-b364-4723-bce8-8bfe339897cf.jsonl/home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-ai-receptionist/agent-transcripts/29aef319-b364-4723-bce8-8bfe339897cf.jsonI can set up a "Sync & Run" alias for you now. Just say the word.
so it does agent-transcripts/*.json? but the ~/.cursor/projects/ directory has <id>/<id>.jsol rigth?
Investigating File Locations
I've confirmed that the .jsonl files in the agent transcripts directory are not the target files for the CursorAdapter. Now, I'm focusing on the CursorAdapter code itself, specifically the section referencing path7, to better understand the expected file structure and location.
Clarifying Directory Structure
I've realized the agent transcripts directory contains subdirectories, each named with a UUID, and those subdirectories contain the actual .jsonl files. I'm now certain I need to account for this nested structure. It's not just the top-level directory I need to inspect. I'm investigating how this structure is handled in the codebase, and confirming no .json files exist at the top level, based on a secondary check in the biodata project.
Investigating Agent Transcripts
I'm puzzled, the CursorAdapter failed to locate any agent transcripts within the user's .cursor directory using traces. However, I'm now exploring the SQLite globalStorage/state.vscdb database using getGlobalStorageTraces(), and it's looking promising; I'm inspecting the returned rows now.
Investigating File Paths
I'm now digging into a potential discrepancy in file paths. I noticed a Windows-style path (c-Users-Lakshya-Agarwal-AppData-Roaming) within a Linux-like location (~/.cursor/projects/), specifically in the workspace metadata. It looks like the workspace configuration may have been transferred from a Windows environment.
Analyzing File Structure Discrepancies
I've identified a significant inconsistency; the core binary searches for .json files in agent-transcripts/, which won't index the user's .jsonl files in agent-transcripts/<id>/<id>.jsonl. This suggests traces is misconfigured. I'm investigating why the binary is looking for the wrong file type, considering it may be an older version's behavior. I am cross-referencing this against the ClaudeCodeAdapter, which looks for ${traceId}.jsonl files.
Investigating Bundle Hypothesis
I'm now zeroing in on the file size. 114MB for a CLI is significant. I strongly suspect this means it's a bundled Node.js app. Now, I'm checking for signs of bundling – examining strings or other clues in the binary to confirm my hypothesis.
Confirming Location & Code
I have successfully confirmed the user's initial hypothesis regarding file structure; the transcripts are precisely located as predicted: ~/.cursor/projects/<project-id>/agent-transcripts/<session-id>/<session-id>.jsonl. Furthermore, I've identified the relevant code in the binary, specifically the getAgentTranscriptTraces function.
Re-Examining the CodexAdapter
I've re-examined the code, and realized my initial assessment of getAgentTranscriptTraces was incomplete. The function will fail because it looks for .json files, not .jsonl files and expects them in the agent-transcripts directory directly, rather than inside a session ID subdirectory. Now, I'm shifting focus to the CodexAdapter, particularly maxCursorSessionFilesScanned, to see if that's relevant.
Locating Cursor Adapter
I am now focused on finding the context surrounding the mention of src/adapters/cursor/v1.ts. My aim is to examine the surrounding binary data, or potentially related strings, to understand how the traces component interacts with the cursor adapter.
Investigating Codex Connection
I'm currently focused on the maxCursorSessionFilesScanned variable within the CodexAdapter class. It struck me as odd that CodexAdapter has this variable. I'm exploring the idea that Codex might be operating in a similar capacity to an agent, potentially scanning Cursor's sessions. I need to understand this linkage better.
Exploring Adapter Parallels
I'm now investigating potential parallels between different adapters. My focus has shifted to the file structure within Cursor and Claude projects, specifically the use of .jsonl and .json files. It seems the user's mention of ~/.cursor/projects/ is a key hint. I'm checking if other adapters, like ClaudeCodeAdapter, provide relevant insights into how Cursor might store session data. I'm looking at how they locate and parse transcripts.
Pinpointing Trace File Locations
I've made a significant breakthrough! I've confirmed that Cursor stores agent transcripts within ~/.cursor/projects/<project-id>/agent-transcripts/<trace-id>.json. I'm now cross-referencing this with the ClaudeCodeAdapter, which also seems to use a similar structure, though it uses .jsonl files in ~/.claude/projects/. I'm wondering if this common pattern is a hint to how these traces are located.
Examining Codex Adapter
I'm now zeroing in on the CodexAdapter's interaction with storage. Specifically, I see a maxCursorSessionFilesScanned attribute. This interacts with this.sessionsDir, which is built from agentStoragePaths.codex combined with a /sessions subdirectory. I'm taking a moment to re-evaluate the agentStoragePaths variable and its structure.
Analyzing Agent's Storage
I'm now diving deeper into how "Codex" stores data, specifically noticing the agentStoragePaths object. It seems that "Codex" is tightly coupled with Cursor's "Agent" mode. The project directory (cursorProjects) and the agent's dedicated storage (codex) suggest a focused environment. I'm scrutinizing v1.ts for more links. I'm focusing on the agent transcript traces.
Analyzing Adapter References
I've been focusing on the .jsonl file mentions, specifically concerning CopilotAdapter, ClaudeCodeAdapter, and CodexAdapter. Further, I've discovered the user's agent-transcripts/ directory is nested under ~/.cursor/projects/. I'm now exploring if any traces logic exists to scan ~/.cursor/.
Examining CursorAdapter Integration
I'm currently focused on the agentStoragePaths configuration, specifically the cursorProjects path. I've pinpointed its usage within the CursorAdapter constructor. My next step involves deeper analysis of this adapter to understand its interaction with the specified storage path and its purpose within the broader system.
Verifying File Location
I've just finished running ls -R /home/lakshyaag/.cursor/projects | head -n 500. This should help me confirm whether my understanding of the file structure aligns with the hypothesis about the <id>/<id>.jsonl files, or if the earlier code snippet's suggestion of agent-transcripts/*.json holds true. Hopefully, the data will clarify this.
Reviewing Project Structures
I'm now revisiting the output of the directory listing. It shows that the expected <id>/<id>.jsonl structure is correct in at least one project. Another project seems to have text files instead. This discrepancy, along with the code snippet's .json check, throws some doubt on the file naming. I am now working through this discrepancy.
is there a way to override and fix it?
ls -l traceslrwxrwxrwx 1 lakshyaag lakshyaag 59 Feb 28 22:47 traces -> ../install/global/node_modules/@traces-sh/traces/bin/traces
ls -l /home/lakshyaag/.bun/install/global/node_modules/@traces-sh/traces/bin/traces-rwxrwxrwx 2 lakshyaag lakshyaag 1747 Feb 28 22:47 /home/lakshyaag/.bun/install/global/node_modules/@traces-sh/traces/bin/traces
node -e 'console.log(`@traces-sh/traces-${{darwin: "darwin", linux: "linux", win32: "windows"}[os.platform()] ?? os.platform()}-${{x64: "x64", arm64: "arm64"}[os.arch()] ?? os.arch()}`) ' -e 'const os = require("os");'(no output)
node -e 'const os = require("os"); const platformMap = { darwin: "darwin", linux: "linux", win32: "windows" }; const archMap = { x64: "x64", arm64: "arm64" }; const platform = platformMap[os.platform()] ?? os.platform(); const arch = archMap[os.arch()] ?? os.arch(); console.log(`@traces-sh/traces-${platform}-${arch}`) '@traces-sh/traces-linux-x64
node -e 'const { createRequire } = require("module"); const require = createRequire(process.cwd() + "/index.js"); try { const packageJsonPath = require.resolve("@traces-sh/traces-linux-x64/package.json"); console.log(packageJsonPath); } catch(e) { console.error(e.message); }'[eval]:1
const { createRequire } = require("module"); const require = createRequire(process.cwd() + "/index.js"); try { const packageJsonPath = require.resolve("@traces-sh/traces-linux-x64/package.json"); console.log(packageJsonPath); } catch(e) { console.error(e.message); }
^
ReferenceError: Cannot access 'require' before initialization
at [eval]:1:27
at runScriptInThisContext (node:internal/vm:219:10)
at node:internal/process/execution:451:12
at [eval]-wrapper:6:24
at runScriptInContext (node:internal/process/execution:449:60)
at evalFunction (node:internal/process/execution:283:30)
at evalTypeScript (node:internal/process/execution:295:3)
at node:internal/main/eval_string:71:3
Node.js v24.11.0
Command exited with code 1node -e 'const { createRequire } = require("module"); const myRequire = createRequire(process.cwd() + "/index.js"); try { const packageJsonPath = myRequire.resolve("@traces-sh/traces-linux-x64/package.json"); console.log(packageJsonPath); } catch(e) { console.error(e.message); }'Cannot find module '@traces-sh/traces-linux-x64/package.json' Require stack: - /home/lakshyaag/.bun/bin/index.js
ls -d /home/lakshyaag/.bun/install/global/node_modules/@traces-sh/*/home/lakshyaag/.bun/install/global/node_modules/@traces-sh/traces /home/lakshyaag/.bun/install/global/node_modules/@traces-sh/traces-linux-x64
find /home/lakshyaag/.bun/install/global/node_modules/@traces-sh/traces-linux-x64 -name "traces*"/home/lakshyaag/.bun/install/global/node_modules/@traces-sh/traces-linux-x64 /home/lakshyaag/.bun/install/global/node_modules/@traces-sh/traces-linux-x64/bin/traces
file /home/lakshyaag/.bun/install/global/node_modules/@traces-sh/traces-linux-x64/bin/traces/home/lakshyaag/.bun/install/global/node_modules/@traces-sh/traces-linux-x64/bin/traces: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=a477da0b9818f428c590c3428a7431d282bfcab9, not stripped
/home/lakshyaag/.bun/install/global/node_modules/@traces-sh/traces-linux-x64/bin/traces --helpTraces CLI - View and manage agent traces Usage: traces [command] Commands: (no command) Open the TUI to browse traces login Authenticate with GitHub logout Clear local credentials whoami Show current login status namespace Manage namespaces (list, switch) transfer Move a trace to another namespace status Show local database and auth status doctor Diagnose installation issues reset Remove local database to force resync list Print traces without opening TUI share Publish a trace from CLI setup Install Traces skills/hooks for your agents upgrade Update to latest version uninstall Remove traces binary version Show version number help Show this help message Options: login --no-browser Print auth URL instead of opening browser namespace list List your namespaces namespace use <slug> Switch active namespace share --list List shareable traces (no auth required) share --list --cwd PATH List traces matching a directory share --list --agent ID List traces for a specific agent share --trace-id ID Publish a specific trace share --source-path PATH Publish trace by source file path share --cwd PATH Publish most recent trace from directory share --agent ID Restrict lookup to one agent (or auto) share --visibility MODE Set visibility: public | direct | private share --json Print machine-readable JSON share --follow Keep process alive for ongoing sync transfer <id> --to <slug> Move trace to target namespace list --limit N Limit output rows (default: 100) list --agent ID Filter by agent ID list --json Print machine-readable JSON list --diagnostics Include timing diagnostics setup --yes Install for all detected agents setup --agent <ids> Install for specific agent(s) setup --global Install globally (not implemented yet) setup --json Print machine-readable JSON reset --force, -f Skip confirmation prompt reset --all, -a Also clear credentials (logout)
ls -lh /home/lakshyaag/.bun/install/global/node_modules/@traces-sh/traces-linux-x64/bin/traces-rwxr-xr-x 2 lakshyaag lakshyaag 114M Feb 28 22:47 /home/lakshyaag/.bun/install/global/node_modules/@traces-sh/traces-linux-x64/bin/traces
head -c 100 /home/lakshyaag/.bun/install/global/node_modules/@traces-sh/traces-linux-x64/bin/traces | hexdump -C00000000 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 |.ELF............| 00000010 02 00 3e 00 01 00 00 00 00 26 b0 02 00 00 00 00 |..>......&......| 00000020 40 00 00 00 00 00 00 00 d0 a8 31 06 00 00 00 00 |@.........1.....| 00000030 00 00 00 00 40 00 38 00 09 00 40 00 24 00 23 00 |....@.8...@.$.#.| 00000040 06 00 00 00 04 00 00 00 40 00 00 00 00 00 00 00 |........@.......| 00000050 40 00 20 00 00 00 00 00 40 00 20 00 00 00 00 00 |@. .....@. .....| 00000060 f8 01 00 00 |....| 00000064
strings /home/lakshyaag/.bun/install/global/node_modules/@traces-sh/traces-linux-x64/bin/traces | grep -i "bun" | head -n 20bun-profile BUN_1.2 bun pm trust v1.3.10 (30e609e0) [1merror: Empty value in argument: // @bun ////////////////////////////////in/env bun bun-lockfile-format-v bun outdated v1.3.10 (30e609e0) // @bun Failed to spawn bun build thread __BUN Welcome to Bun v /.local/bin/bunx Bundling routes __bun kerberosiedriverbun run package, retry found): failure: (run # backportbun.lock</style> files] export: KB bundled signal: -webkit- bundle in "bun clientjsttag-cliBundled offset: in use?
tail -c 1024 /home/lakshyaag/.bun/install/global/node_modules/@traces-sh/traces-linux-x64/bin/traces | hexdump -C00000000 00 00 04 cf 05 00 00 00 00 00 00 00 00 00 00 00 |................|
00000010 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000020 00 00 0e 01 00 00 01 00 00 00 30 00 00 00 00 00 |..........0.....|
00000030 00 00 00 00 00 00 00 00 00 00 fe 85 40 00 00 00 |............@...|
00000040 00 00 67 00 00 00 00 00 00 00 00 00 00 00 00 00 |..g.............|
00000050 00 00 01 00 00 00 00 00 00 00 01 00 00 00 00 00 |................|
00000060 00 00 17 01 00 00 02 00 00 00 00 00 00 00 00 00 |................|
00000070 00 00 00 00 00 00 00 00 00 00 68 86 40 00 00 00 |..........h.@...|
00000080 00 00 70 50 00 00 00 00 00 00 1f 00 00 00 73 02 |..pP..........s.|
00000090 00 00 08 00 00 00 00 00 00 00 18 00 00 00 00 00 |................|
000000a0 00 00 1f 01 00 00 03 00 00 00 00 00 00 00 00 00 |................|
000000b0 00 00 00 00 00 00 00 00 00 00 d8 d6 40 00 00 00 |............@...|
000000c0 00 00 31 01 00 00 00 00 00 00 00 00 00 00 00 00 |..1.............|
000000d0 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000000e0 00 00 29 01 00 00 03 00 00 00 00 00 00 00 00 00 |..).............|
000000f0 00 00 00 00 00 00 00 00 00 00 09 d8 40 00 00 00 |............@...|
00000100 00 00 3b 66 00 00 00 00 00 00 00 00 00 00 00 00 |..;f............|
00000110 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000120 00 00 00 00 00 00 00 15 00 00 00 16 00 00 00 0c |................|
00000130 af 3a 00 23 af 3a 00 03 77 3d 00 00 00 00 00 00 |.:.#.:..w=......|
00000140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000150 00 00 00 01 01 01 00 26 26 78 00 24 00 00 00 4b |.......&&x.$...K|
00000160 26 78 00 2f 0b 00 00 00 00 00 00 00 00 00 00 00 |&x./............|
00000170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000180 00 00 00 00 00 00 00 00 05 00 01 7b 31 78 00 31 |...........{1x.1|
00000190 00 00 00 ad 31 78 00 7a 48 06 00 00 00 00 00 00 |....1x.zH.......|
000001a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000001b0 00 00 00 00 00 00 00 00 00 00 00 00 05 00 01 28 |...............(|
000001c0 7a 7e 00 24 00 00 00 4d 7a 7e 00 68 26 00 00 00 |z~.$...Mz~.h&...|
000001d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
000001f0 05 00 01 b6 a0 7e 00 31 00 00 00 e8 a0 7e 00 d9 |.....~.1.....~..|
00000200 92 15 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000220 00 00 00 00 05 00 01 c2 33 94 00 24 00 00 00 e7 |........3..$....|
00000230 33 94 00 74 0d 00 00 00 00 00 00 00 00 00 00 00 |3..t............|
00000240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000250 00 00 00 00 00 00 00 00 05 00 01 5c 41 94 00 2f |...........\A../|
00000260 00 00 00 8c 41 94 00 9e 6e 06 00 00 00 00 00 00 |....A...n.......|
00000270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000280 00 00 00 00 00 00 00 00 00 00 00 00 05 00 01 2b |...............+|
00000290 b0 9a 00 24 00 00 00 50 b0 9a 00 2f 03 00 00 00 |...$...P.../....|
000002a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
000002c0 05 00 01 80 b3 9a 00 24 00 00 00 a5 b3 9a 00 65 |.......$.......e|
000002d0 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000002e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000002f0 00 00 00 00 05 00 01 0b bc 9a 00 36 00 00 00 42 |...........6...B|
00000300 bc 9a 00 24 80 06 00 00 00 00 00 00 00 00 00 00 |...$............|
00000310 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000320 00 00 00 00 00 00 00 00 05 00 01 67 3c a1 00 24 |...........g<..$|
00000330 00 00 00 8c 3c a1 00 97 0d 00 00 00 00 00 00 00 |....<...........|
00000340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000350 00 00 00 00 00 00 00 00 00 00 00 00 05 00 01 24 |...............$|
00000360 4a a1 00 2a 00 00 00 4f 4a a1 00 0e 8e 0a 00 00 |J..*...OJ.......|
00000370 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00000390 05 00 01 5e d8 ab 00 23 00 00 00 82 d8 ab 00 48 |...^...#.......H|
000003a0 46 41 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |FA..............|
000003b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000003c0 00 00 00 00 05 00 01 00 70 21 ed 00 00 00 00 00 |........p!......|
000003d0 cb 1e ed 00 a4 02 00 00 00 00 00 00 6f 21 ed 00 |............o!..|
000003e0 00 00 00 00 0b 00 00 00 0a 2d 2d 2d 2d 20 42 75 |.........---- Bu|
000003f0 6e 21 20 2d 2d 2d 2d 0a 78 d3 1e 07 00 00 00 00 |n! ----.x.......|
00000400stat -c%s /home/lakshyaag/.bun/install/global/node_modules/@traces-sh/traces-linux-x64/bin/traces119460728
strings /home/lakshyaag/.bun/install/global/node_modules/@traces-sh/traces-linux-x64/bin/traces | grep -i "cursor" | head -n 50:host{--bun-error-color: #e33737;--bun-error-monospace: ui-monospace, Menlo, Monaco, "Cascadia Mono", "Segoe UI Mono", "Roboto Mono", "Oxygen Mono", "Ubuntu Monospace", "Source Code Pro", "Fira Mono", "Droid Sans Mono", "Courier New", monospace;--bun-error-width: 512px}:host a{color:inherit;text-decoration:none}:host a:hover{text-decoration:underline}#BunErrorOverlay-container{box-shadow:0 16px 24px #0000000f,0 2px 6px #0000001a,0 0 1px #0000000a;backdrop-filter:blur(42px);backface-visibility:visible;border:inset 1px solid rgba(0,0,0,.2);border-radius:17px;background-color:#ffffffeb;width:var(--bun-error-width);position:fixed;top:120px;right:48px;z-index:999999;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol}.BunErrorRoot--FullPage #BunErrorOverlay-container{position:static;top:unset;right:unset;margin:60px auto}.BunError-error-message--quoted{color:#192e09}:host a{color:inherit}.BunError-Summary-ErrorIcon{content:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAgCAYAAAB3j6rJAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAJiSURBVHgBzZdLUttAEIa7RwpVeKUD4Ip8hFSB7V3kG8AJgBPgG+CcAG4QcwPfIFpiigU5gRWcqmy1AVwVaTo9Y+yyiEeakc3jX7j0GEmfe7r/6QH4IELYUJNuN/LyPMwRU2g04lYcp1BDtUEYIPSJvvNhtHI5QcTB3vX1FThKQE0xxI8XEEohEQ2n+/sROKoWyP3BwYn6qHGA553DW4CgEFUfin6328fwmiDTbldBhFXjiHNlEkUBWMoJRCUoSNm3HB6Kx0fbsW4gnpQDQLT/l4hntlGxBlHR4NJ0mndW4D08WCWuNYgv5YXhVsJmNASi0bqbnNj9P2pKtwGiyxXxcM2tJNvd/bI3Hp82b26OJOK3dc9nc+PbHMRUrhyJgqV7QowMr4iqTK4SpNK8VvRXSnNiVphcKYhO0BLzIkvAZ5WaXCmID6AeDGFLYpO7NJWzEUSbF9EAHKTagYohgcnkjCDavKoVgqNMJrcWpKZ5AQlh46LBp6enCysQ36LuFy8tnBFZ2Tkn+cnLcv6vQ1PlypViC6I+PsiEUB3ZomMLLZ+Mm+Nxzwgy7XQmsMVKKVWe95q3t7E6LEyNi3ktRZSWrTWl8rxl5JcgVeZlUJI1Gq3FWsM+cQpuCn91Ov0CiEd0Bo7RkERXq2tNPps5R4UBzlU5axAdDQDrbmr5EsSvhQs7OxG4S5ucTtb7dntYxzeeNWLzi3MhWpwnxy4d3IpSX/0yxGeor0OGmPcqWHu/FixypNY2cZvSINxZ/YT3VTIHmc0u1Qm8k9R+WYO07u7SDLHH+1bnzfNGYjPkhfJIbdr/AfAS02LsKGiuAAAAAElFTkSuQmCC);width:20px;height:19px;margin-right:6px;display:block}.BunError-Summary-CloseIcon{content:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAmCAYAAACoPemuAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAKKSURBVHgBxZjpTsMwEISnaTmLKLf4AX94/7fiFlRcJaUKl6exK8e1k7XTY6QVUbDjj/V4bdNBe2Uquio2nPdfKn6RqA7StKuir2JHxXZNO4LlKkb65zeWBLavYxdpelMxhABQCkaQI6QDuRrqCEoCdqjiFItXoeIagex1Gzqfo8zUMsSxByo+Vfz4fokaqH0sVx09xhxcCOwY5RSuQgbuHVZ58YGx0RlWK8LtoYT74wsXjEXyHM3eW4Y4JgFZ76ZV2xancAPrE+3T44MNRiCp2bnd5MK29A0rfyFsP7VRz3pxLOxoF8ctFZeYz7wRPfOgn/mHX6B5Rui1zP7gDmQaWc8TlEXytwGKKpy+dRoYMG41Um+52fHBuVBG0jH6ZpAtyMVV20MYLgRFq+xBpm1TFrjtbAo7dfUAI1SzxMr9ocF8UFIPUx2TsQxx4pTQ9G7migVAVYBiwagQnK0kKBsotdITblDz7eRDgAH7QZrop9CBj/67gbywVmTAxGdxVKEeGtoQKgkusz4QoxDUbK+zZOCibkzGW/yYtMawTNx73tPkJ/CXEj7zMEjPSY7zRWYNJtUwAGVWX2i1sgi/QabcgJn7X4p8JSEEJ139467TqS/oxAvup34+QrhOmR1ijHLV89uS2xY9+WjPN7N3hbRiu0hNj1U2BKfzGesVs/XCBzc7r0j32iLEbE1Xs2/aHtHivzQtxEzNTia+VUIoGnaA1Yl3iEptDC1fblGcb2nRbSNC3cGZpbq6MtGdCJf6f7Qm0c+38BwiJANKbzexeoJegT7FZOIA5SbdFjDXUJO6RrFTRChe82Jv7PQPbcFyMJZ0aOMd3qx47SMoyw5B6VnjF2aECyjXMFEl6B+GYop4atKAigAAAABJRU5ErkJggg==);width:22px;height:22px;border-radius:50%;cursor:pointer}.BunError-Summary-CloseIcon:hover{transform:scale(1.2);background-color:#fff}.BunError-Summary{display:grid;grid-template-columns:min-content auto min-content min-content;grid-template-rows:46px;align-items:center;padding:0 18px;border-bottom:1px solid rgb(220,220,220)}.BunError-footer{display:flex;border-top:1px solid rgb(220,220,220);align-items:center;grid-template-columns:auto auto;justify-content:space-between}.BunError-footerItem{padding:12px 18px}.BunError-Summary-Title{font-weight:500;letter-spacing:.36px}.BunError-ErrorTag,.BunError-error-code{color:#a5a5a5;font-weight:500;font-size:12pt}.BunError-ErrorTag{font-size:14px;text-transform:uppercase;font-weight:300}.BunError-error-header{display:flex;align-items:center;gap:.5ch}.BunError-error-message{color:var(--bun-error-color);font-size:16pt;font-weight:700}.BunError-list{margin-top:14px;gap:14px}.BunError-error-subtitle,.BunError-error-header,.BunError-error-message{padding-left:18px;padding-right:18px}.BunError-error-subtitle{font-size:500}.BunError-NativeStackTrace{margin-top:0;width:100%}.BunError-NativeStackTrace-filename{padding:8px 18px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-weight:500;letter-spacing:.36px;margin-bottom:8px;display:block}.BunError-NativeStackTrace-filename:hover{text-decoration:underline}.BunError-SourceLines-lines a{text-decoration:none}.BunError-SourceLine-text::selection,.BunError-SourceLine-text *::selection{background-color:#6437e3;color:#fff}.BunError-SourceLine-text:active:before{width:61px;z-index:-1;pointer-events:none}.BunError-SourceLine{display:grid;grid-template-columns:min-content auto}.BunError-SourceLines{font-size:14px;align-items:center;overflow-x:auto}.BunError-CopyButton{font-weight:500;font-size:1em;vertical-align:middle;display:flex;align-content:center;align-items:center;border-right:1px solid #ccc;background:#fcfcfc;border-bottom-left-radius:12px;color:#333;cursor:pointer;user-select:none;-webkit-user-select:none;transition:transform .1s linear}.BunError-CopyButton,#BunError-poweredBy{padding:12px}.BunError-Summary-help{display:flex;white-space:nowrap;gap:9px;margin-right:18px;border-right:1px solid rgb(220,220,220);height:100%;align-items:center;padding-right:18px;text-decoration:none;cursor:pointer}.BunError-Summary-help svg{opacity:.5}#BunErrorOverlay-container .BunError-Summary-help{color:#999}#BunErrorOverlay-container .BunError-Summary-help:hover{color:#5865f2}#BunErrorOverlay-container .BunError-Summary-help:hover svg{opacity:1}.BunError-CopyButton svg{width:18px;margin-right:.7em;opacity:.75;margin-left:6px;fill:currentColor;stroke:currentColor}.BunError-CopyButton:hover{background:#6437e3;color:#fff;border-right-color:#6437e3}.BunError-CopyButton:active{transform:scale(1.03);transform-origin:center center}.BunError-SourceLine-text{white-space:pre;cursor:text;display:block;position:relative;font-family:var(--bun-error-monospace)}.BunError-SourceLine-number{font-variant:tabular-nums;display:block;border-left:4px solid transparent;margin-left:-1px;cursor:pointer;padding-left:14px;padding-right:12px;text-align:right;text-decoration:none;position:relative}.BunError-SourceLine-number,.BunError-SourceLine-number *{user-select:none;-webkit-user-select:none}.BunError-SourceLine-number:active+.BunError-SourceLine-text{background-color:#6437e3;color:#fff}.BunError-SourceLine-number:hover{background-color:#7443fa;color:#fff}.BunError-SourceLine:hover .BunError-SourceLine-number{border-left-color:#7443fa}.BunError-SourceLine-number--empty{color:#a5a5a5}.BunError-SourceLine-number,.BunError-SourceLine-text{height:18px}.BunError-SourceLines-highlighter--0,.BunError-SourceLines-highlighter--1,.BunError-SourceLines-highlighter--2,.BunError-SourceLines-highlighter--3,.BunError-SourceLines-highlighter--4,.BunError-SourceLines-highlighter--5{position:absolute}#BunErrorOverlay-container .BunError-SourceLine-text--highlight{color:#e33737}#BunError-poweredBy{height:16px;content:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPMAAAAgCAYAAADHXE6+AAABhWlDQ1BJQ0MgcHJvZmlsZQAAKJF9kT1Iw0AYht+mSqVUHOwg4pChCooFURFHqWIRLJS2QqsOJpf+QZOGJMXFUXAtOPizWHVwcdbVwVUQBH9AHJ2cFF2kxO+SQosY7zju4b3vfbn7DhAaFaaaXROAqllGKh4Ts7lVMfCKAII0RzEmMVNPpBcz8Bxf9/Dx/S7Ks7zr/hy9St5kgE8knmO6YRFvEM9sWjrnfeIwK0kK8TnxuEEXJH7kuuzyG+eiwwLPDBuZ1DxxmFgsdrDcwaxkqMTTxBFF1ShfyLqscN7irFZqrHVP/sJQXltJc53WEOJYQgJJiJBRQxkVWIjSrpFiIkXnMQ//oONPkksmVxmMHAuoQoXk+MH/4HdvzcLUpJsUigHdL7b9MQwEdoFm3ba/j227eQL4n4Erre2vNoDZT9LrbS1yBPRtAxfXbU3eAy53gIEnXTIkR/LTEgoF4P2MvikH9N8CwTW3b61znD4AGerV8g1wcAiMFCl73ePdPZ19+7em1b8foeJyunuPxOcAAAAGYktHRAC0ABcAF4a+JZkAAAAJcEhZcwAALiMAAC4jAXilP3YAAAAHdElNRQfmBwoKLQocPFhsAAAAGXRFWHRDb21tZW50AENyZWF0ZWQgd2l0aCBHSU1QV4EOFwAACkNJREFUeNrtXT1sG0cW/rg2yMLcFKYAk2pMQDq6kXDCsQkNA3ETxYXTJC7uKl+TNGnuBzinuKuuSopclavjFEmKOI1VOK4UwLaaCLHBNBIkgGpIBhBd3PKKJWAyxb4Jn55mdmd3uTJp7wMWS3Jn3ryZfd+8n5ldFpBTThmT4ziF8XjsAigDqAK4BGBC38tUrAzggqb6L3Q+ANCnc04aKuRDkFNGdAvAKh1VBlpJk5h8hwCeAngM4EE+zDmYc8qeti3LTVK00QdwNwd1QOfyIcgpI/rzGRiUMoBr9PnZax/O5DqXUwZUfgkTx63XfdDP53qX0ysAZgC4Te72UMhRDYnZh3T06TBRlR0mHgeatsuUMyhrwgNo6nBv4/eivSF5H49MsuYxc05ZUBXANzHKT2bU7ucAvmXfPwbwjmXs/aeQ618bgMzpAYBP2PcbAO5E1HkM4J/s+yqAf1u29bmcCHLLPD9UArAGwAOwb1mnAcAF0AYwWsA+TxBkph8COBTKeYkAsRkj7q45juMAmIzH4zhxeiGibMFQhk9CruM4DmvXpTphE9WKmAD/Y+nV3ACwAeADPmY5mOeH/gBgnT53LMBZAXCdPo8I0IsG5GcA/h5iLZ8B+B7AZyGg4CC7QGAqhIBUC1wC4okZ4Ny5c4UXL14ULCeSsqheFtcnBg+mTIC0BTKvewfAv37rQ46hubLMus8mKho+LwqQbUO8p3TYAPMXS+CdovF4DLLqv5WNAHKcPoS1XaUYuZpgHK+Rhc7BnNPcA1mCNKre4xAQRbbJrfpJXMebGGLSKqbLa0nodu5m55QlzTqbvWJR5gFmu9VzllaZ85Tu9i3KDySlDeWqn2fB+jqALsVrALAMoEYu3/8AHFFyJspVrACok+vnARgwnpKaVOeJgVcTgA9gN+T6MfQJoxKA3wF4g2Q5juhDnfrcpjLL9JuOfwnAZQBLrJ89Gr+o8akRbxDvnsW4xnHVVZ/9kLGXfUWC8U0K5rgguE3WSwKiIOLrL2c5e8RMoKWZwFZEP8oJeG0AeKTAvEZHA0Ea/m2mcIquEqh2DQyXAbxFE4MkD8COUKwaKQsMCtMieUwJngbJrEsYrVNCqSTKX6V2nmgSTC2SXYGzya5x/jreinoItjF6hoTVpmZ81NikpSsA3tTI5QHYEjJtMpnuG/hdZuM7oGPWVIV56aiKYK11I4LHISWB+nPmjcQB5F0ES2pDFgt/FCOOrnI3u8QSKS0Cpg/gOQnlMkta1ChfHSeXENTNr9Dh0vVtBtqBmAgkmGuCf1vTplLWkbD2Cog+WeMik6PBlJjXc9m5wX7vCiC3xLUhyerS+SaAexreHMg+1RtRnespweKyPg8YX3XtpgB0j67XaGxGhsmBTwjICMx3EtYd0jjfXfBQQ66NA8HGEJXhtrbuupi5QcDZEZauxT4fCZeSK/gPAPYMda8yKzcSSiWV0xVWTSrdRaaYOqXWWaQWyVOhs87LqBEgnmh4r4XwVpOIq+HdZP0ZUF1fgK2WQnEaGpnUBFJhsu+wSajGQNvWjL+6vo/5W8MuMCu2gSDbvaj0yPD7U8oBrMa1zNJVlJa3TWBqMhesyxTJZTd+L6RuUShPh1k1lylijclykTyHJdZmjXkTHQEaRVsai7JD8pbobAoZHmrq1lg/dzXXd1meYR3TjRxFZuk94u0Lq7cN4N2USiH7q9p6j/p7hWRUIUszxOupiRAjKzoA8F+WVJLx6AqA9w3uZhXTTG4fwKcLDmpTCGENZl3+3bT5oC3cYunuhtXdN9TthrjVSpGO2ASiaMnAo8Ksn8k1PDJYfz6ZeSFu5ygkIdRl4YorZArj3UvpZpv4eqy/XKYR8zqUqw3hTan6WYJZPZtsOu4B+BtO71/WKfNnFvH1K03nDQqgoxFZlJK4+SURKyOC50VR3iMl43FzhYHDJ8u2pAF7T7iAFXY27bVNusGiyM42vEsiFkcEYAcC+HHoOOSaJ8ZHyfAj8wa4t+QyOXoJ5ZllMqqPYBfY+xZl/wHgQwb+oWUb5VcBzI4BtAgBtARw2oHoCMtcYS73QFwvigmhE5EU0h0lpuReAjCn4e1ndB+TxLQ9Jk/d4Gntzome2k4OVWGd44B54a36+ZiWy9Uo5ZD9XrRQrKEGzOsMEMvCKvBEWZ1AUtK42GCew4BctCzIQ7B8l4RKlpNFXHITgv5nip15VrsR4bq/DFqNUXaFJZXieAjvGWJuU8y+EJZ52VC2ZgDksSGWNdX1NO6lz8rVNVa3y6z2EuMzMEwUUcpdjwEA6SK7EcBbDnGt6yH1KinuYz1CHtPYd0ROgLvYe2egfzZe3Tuwe4xRx/OQzjYbVa6Rm76B6X7pOwjWe5N4D2e+7q2zzGt0I0eGpIi80R12rQn9LqgrBgVS1uI5pjujahqr2yXedQbYnsFlV8tY69An5NQSUlzr3WOgMS1rKd4jAF+IyYrv/upq6rkp7qOpv3w8dZPfQHg9CLlPWVncrxDsqVZv31TAu0Qg1rm/YdspOYjUw/+2oeANOpJu15w7N9sl1+IHlpxaw8lNGj2h5Hy9eJMUfcDq8qWZjgGENeHijTTxHc9A6/i0qT21FRGUVPOZLOsWySgd7VF9V/BWbj9/hNEzuLNAsEtOjY9ya5sM8EmpRaDuML5rFvFvh927MuvXWa0tVy2TW7aAlu8CO0gZD98Fe5hh0cDcJqW8aaizo1HWbSrvEujrhlhzK0ShWhq3mtMRTu/M0sWE2zSjq91sLYMscZM7IwTrtpsM0E0D74fiN74G7WL6HDLEBNlIeB/bNOYmmbowL6ftYbo9le8XWERSGy04fZkCzAfkvS0EmHUx88/Q7y/uItgC2QkB6j5OZ2x94vldSEKFW3vfoEx7QnlNluOIElQ6N1w9tKGTpafJAeji5i2DfD6NzZahn/epbV8zrlvMU/Bgl/XmuYaeQS7V362ISWpf3Ituhjo3yaj+EMHGER3A+wlluIfpO74W0jKrmXmfxZ9DRGc21U4m4OT2y6Glct4ny/XcUL5HIC1auMge8Sthuow1iqh3HyfXYaP6uc3iUdt+qgdVKkwBfTZBHVP/bVzcEU1KfDy2yXO6GHPsh+Lep6WzTv4MEWwuMbX7KYJNJVHxtuzD9xau+mTewYyEcWXaej0LIMUhH/E2PgxmLG/cduLy82bQZ4jYOmsXu5AiwTTRfH9GYO1HuN+fwO6hjglNDn9lvx1auOovPZudv2nk9SX1vPZNESvPam35QYRCT1IC+SkB7i+O4/Qt5fmjJp+hA/4HAHqO40yYZT6IAPKBeDvJ/yPce/WK32EE377FJHIANjteZ8mXL7CYb3rMyZ4u4/TarRcS76ehNxAsQa1g+qdxZXZ2LYHcJ6AdQv/uaO0bNB3HwXg8nigg0Yv7qkwmDoqfLPlWAYx18bR4Q6eiCzj5p3hJ4nDdSwv6UlBgmmHtYPHe8phTfOKPR6qHMdrIdsdXIcIiVwVoJgkVv2Bp/W3L2cqftnxOOeWUU0C/AoLy/OlRotLzAAAAAElFTkSuQmCC)}#BunError-SourceLine-text-highlightExpression{font-weight:700;text-decoration-style:wavy}.BunError-JSException--TypeError #BunError-SourceLine-text-highlightExpression{border:1px solid rgba(0,0,0,.2)}.BunError-Indented{display:inline-block;user-select:none;-webkit-user-select:none}.BunError-divet{vertical-align:bottom;user-select:none;-webkit-user-select:none}.BunError-error-typename{font-family:var(--bun-error-monospace);color:#e39437;font-weight:700}.BunError-error-muted{font-weight:400;user-select:none;-webkit-user-select:none}.BunError-error-muted,.BunError-StackFrame--muted{color:#a5a5a5}.BunError-NativeStackTrace .BunError-error-typename{user-select:none;-webkit-user-select:none}.BunError-StackFrame-link{text-align:right}.BunError-StackFrame-link-content{display:flex;justify-content:flex-end;text-align:right;gap:.25ch;white-space:nowrap}.BunError-StackFrame{display:table-row}.BunError-StackFrame:hover{border-left-color:#5865f2}.BunError-StackFrame-identifier{padding-right:18px;font-size:.8em;font-family:var(--bun-error-monospace);letter-spacing:.49px;width:var(--max-length, auto);max-width:48ch;white-space:nowrap;text-overflow:clip;overflow:hidden}.BunError-error-message--mono{font-family:var(--bun-error-monospace)}.BunError-StackFrame-identifier,.BunError-StackFrame-link{display:table-cell;font-weight:500}.BunError-BuildError{padding-bottom:18px}.BunError-StackFrame-link-content{font-size:.8em}.BunError-StackFrames{display:table;table-layout:auto;width:100%;box-sizing:border-box;margin:0 auto;border-radius:4px;line-height:1.2;border-collapse:separate;border-spacing:12px 6px;background-color:#f4f4f4}.BunError-StackFrames-container{overflow-x:auto;max-width:var(--bun-error-width)}
cursor: var(--bun-cursor);
cursor: pointer;
className="bg-[#fbf0df] text-[#1a1a1a] py-1.5 px-3 rounded-lg font-bold text-sm min-w-[0px] appearance-none cursor-pointer hover:bg-[#f3d5a3] transition-colors duration-100"
className="bg-[#fbf0df] text-[#1a1a1a] border-0 px-5 py-1.5 rounded-lg font-bold transition-all duration-100 hover:bg-[#f3d5a3] hover:-translate-y-px cursor-pointer whitespace-nowrap"
(async(g,w)=>{var S=new Map,i=new Map;function XY(Y){if(Y.active){let{sheet:Z,link:G}=Y;if(Y.active=!1,Z)Z.disabled=!0;else if(G){let $=G.sheet;if($)$.disabled=!0}}}function NY(Y){if(!Y.active){if(Y.active=!0,Y.sheet)Y.sheet.disabled=!1;else if(Y.link){let Z=Y.link.sheet;if(Z)Z.disabled=!1}}}var aY=new MutationObserver((Y)=>{for(let Z of Y)if(Z.type==="childList"){let G=0,$=Z.removedNodes.length;while(G<$){let X=Z.removedNodes[G],J=i.get(X);if(J){let _=S.get(J);if(_)XY(_);i.delete(X)}G++}G=0,$=Z.addedNodes.length;while(G<$){let X=Z.addedNodes[G];if(X instanceof HTMLLinkElement)EY(X);G++}}else if(Z.type==="attributes"){let G=Z.target;if(G.tagName==="LINK"&&G.rel==="stylesheet"){let $=i.get(G);if($){let X=S.get($);if(X)if(G.disabled)XY(X);else NY(X)}}}});function EY(Y){let Z=new URL(Y.href).pathname;if(Z.startsWith("/_bun/asset/")){let G=Z.slice(12).slice(0,16);if(!/^[a-f0-9]{16}$/.test(G))return;let $=S.get(G);if($){let{sheet:X}=$;if(X){X.disabled=!1;let J=Y.sheet;if(J)J.disabled=!0}$.link=Y}else S.set(G,{sheet:null,link:Y,active:!0});i.set(Y,G)}}aY.observe(document.head,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["disabled"]});document.querySelectorAll("head>link[rel=stylesheet]").forEach(EY);function oY(Y){let Z=new Set(S.keys());for(let G of Y){let $=S.get(G);if(Z.delete(G),$)NY($);else S.set(G,{sheet:null,link:null,active:!0})}for(let G of Z){let $=S.get(G);if($)XY($)}}function tY(Y,Z){let G=S.get(Y);if(!G)return;let $=G.sheet;if(!G.sheet){$=G.sheet=new CSSStyleSheet,$.replace(Z),document.adoptedStyleSheets.push($);let X=G.link?.sheet;if(X)X.disabled=!0;return!1}return $.replace(Z),!$.disabled}var JY=new TextDecoder,rY=new TextEncoder;class v{view;cursor;constructor(Y,Z=0){this.view=Y,this.cursor=Z}u32(){let Y=this.view.getUint32(this.cursor,!0);return this.cursor+=4,Y}i32(){let Y=this.view.getInt32(this.cursor,!0);return this.cursor+=4,Y}u16(){let Y=this.view.getUint16(this.cursor,!0);return this.cursor+=2,Y}u8(){let Y=this.view.getUint8(this.cursor);return this.cursor+=1,Y}stringWithLength(Y){let Z=JY.decode(this.view.buffer.slice(this.cursor,this.cursor+Y));return this.cursor+=Y,Z}string32(){return this.stringWithLength(this.u32())}hasMoreData(){return this.cursor<this.view.byteLength}rest(){return this.view.buffer.slice(this.cursor)}}class DY{view;uint8ArrayView;cursor;capacity;static initCapacity(Y){let Z=new DataView(new ArrayBuffer(Y));return new DY(Z,0,Y)}constructor(Y,Z,G){this.view=Y,this.cursor=Z,this.capacity=G,this.uint8ArrayView=new Uint8Array(Y.buffer)}u8(Y){this.view.setUint8(this.cursor,Y),this.cursor+=1}u32(Y){this.view.setUint32(this.cursor,Y,!0),this.cursor+=4}i32(Y){this.view.setInt32(this.cursor,Y,!0),this.cursor+=4}string(Y){if(Y.length===0)return;let Z=rY.encodeInto(Y,this.uint8ArrayView.subarray(this.cursor));if(Z.read!==Y.length)throw Error("Failed to encode string");this.cursor+=Z.written}stringWithLength(Y){let Z=this.cursor;this.u32(0),this.string(Y),this.view.setUint32(Z,this.cursor-Z-4,!0)}}var YY=Symbol.for("nodejs.util.inspect.custom"),eY={showHidden:!1,depth:2,maxArrayLength:100,maxStringLength:1e4,breakLength:80,compact:3,sorted:!1,getters:!1,numericSeparator:!1,customInspect:!0};function wY(Y,Z={}){let G={seen:[],currentDepth:0,...eY,...Z};return L(G,Y,0)}function L(Y,Z,G){if(Z===null)return"null";if(Z===void 0)return"undefined";if(Y.customInspect!==!1&&Z!==null&&typeof Z==="object"&&typeof Z[YY]==="function"&&Z[YY]!==wY)return String(Z[YY](G,{...Y}));if(Y.seen.includes(Z))return"[Circular]";switch(typeof Z){case"string":return YZ(Y,Z);case"number":return ZZ(Z,Y.numericSeparator);case"bigint":return`${Z}n`;case"boolean":return`${Z}`;case"symbol":return $Z(Z);case"function":return GZ(Z);case"object":return XZ(Y,Z,G);default:return String(Z)}}function YZ(Y,Z){if(Z.length>Y.maxStringLength){let G=Z.length-Y.maxStringLength,$=Z.slice(0,Y.maxStringLength);return`'${_Y($)}'... ${G} more character${G>1?"s":""}`}return`'${_Y(Z)}'`}function _Y(Y){return Y.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t").replace(/[\x00-\x1F\x7F-\x9F]/g,(Z)=>{return`\\x${Z.charCodeAt(0).toString(16).padStart(2,"0")}`})}function ZZ(Y,Z){if(Object.is(Y,-0))return"-0";if(!Z)return String(Y);let G=String(Y);if(!/^\d+$/.test(G))return G;return G.replace(/\B(?=(\d{3})+(?!\d))/g,"_")}function $Z(Y){return Y.toString()}function GZ(Y){let Z=Y.name||"<anonymous>",G=Object.getPrototypeOf(Y)?.constructor?.name;if(G==="AsyncFunction")return`[AsyncFunction: ${Z}]`;if(G==="GeneratorFunction")return`[GeneratorFunction: ${Z}]`;if(G==="AsyncGeneratorFunction")return`[AsyncGeneratorFunction: ${Z}]`;return`[Function: ${Z}]`}function XZ(Y,Z,G){if(G>=Y.depth){if(Array.isArray(Z))return"[Array]";return`[${OY(Z)}]`}Y.seen.push(Z),G+=1;let $;if(Array.isArray(Z))$=JZ(Y,Z,G);else if(Z instanceof Date)$=VZ(Z);else if(Z instanceof RegExp)$=QZ(Z);else if(Z instanceof Error)$=FZ(Z);else if(Z instanceof Map)$=qZ(Y,Z,G);else if(Z instanceof Set)$=zZ(Y,Z,G);else if(Z instanceof WeakMap)$="WeakMap { ... }";else if(Z instanceof WeakSet)$="WeakSet { ... }";else if(Z instanceof Promise)$="Promise { ... }";else if(ArrayBuffer.isView(Z))$=HZ(Y,Z);else if(Z instanceof ArrayBuffer)$=DZ(Y,Z);else $=_Z(Y,Z,G);return Y.seen.pop(),$}function JZ(Y,Z,G){if(Z.length===0)return"[]";let $=Math.min(Y.maxArrayLength,Z.length),X=[];for(let _=0;_<$;_++)if(Object.prototype.hasOwnProperty.call(Z,_))X.push(L(Y,Z[_],G));else X.push("empty");if(Z.length>$){let _=Z.length-$;X.push(`... ${_} more item${_>1?"s":""}`)}let J=Object.keys(Z).filter((_)=>{return!(Number(_)>=0&&Number(_)<Z.length&&Number(_)===+_)});if(J.length>0)for(let _ of J)X.push(`${_}: ${L(Y,Z[_],G)}`);return`[ ${X.join(", ")} ]`}function _Z(Y,Z,G){let $=OY(Z),X=$!=="Object"?`${$} `:"",J=KZ(Z,Y.showHidden);if(J.length===0){if($!=="Object"&&bY(Z).length>0)return WZ(Y,Z,G,$);return`${X}{}`}let _=[];for(let W of J)try{let K=Object.getOwnPropertyDescriptor(Z,W);if(K)if(K.get||K.set)if(K.get&&K.set)_.push(`${N(W)}: [Getter/Setter]`);else if(K.get)_.push(`${N(W)}: [Getter]`);else _.push(`${N(W)}: [Setter]`);else _.push(`${N(W)}: ${L(Y,Z[W],G)}`)}catch(K){_.push(`${N(W)}: undefined`)}if(Y.sorted)_.sort();if(_.length===0)return`${X}{}`;if(_.join(", ").length<Y.breakLength)return`${X}{ ${_.join(", ")} }`;return`${X}{
`).filter((Z)=>!!Z.match(xY)&&!Z.includes("Bun HMR Runtime")).map(function(Z){let G=Z.replace(/^\s+/,"").replace(/\(eval code/g,"(").replace(/^.*?\s+/,""),$=G.match(/ (\(.+\)$)/);G=$?G.replace($[0],""):G;let X=gY($?$[1]:G),J=$&&G||void 0,_=["eval","<anonymous>"].indexOf(X[0])>-1?void 0:X[0];return{fn:J||"unknown",file:_,line:0|X[1],col:0|X[2]}})}function wZ(Y){return Y.split(/\n/g).map((Z,G)=>{let $="",X=null,J=null,_=null;if(Z.endsWith("@"))$=Z.slice(0,-1);else if(Z.indexOf("@")===-1&&Z.indexOf(":")===-1)$=Z.endsWith("@")?Z.slice(0,-1):Z;else{var W=/((.*".+"[^@]*)?[^@]*)(?:@)/,K=Z.match(W),Q=K&&K[1]?K[1]:void 0,V=gY(Z.replace(W,""));$=Q,X=V[0],J=0|V[1],_=0|V[2]}if($==="module code")$="";return{fn:$,file:X,line:J,col:_}})}function gY(Y){if(Y.indexOf(":")===-1)return[Y];let Z=MZ.exec(Y.replace(/[()]/g,""));return[bZ(Z[1]),Z[2]||void 0,Z[3]||void 0]}function bZ(Y){if(Y.startsWith("blob:")){let Z=n.get(Y);if(Z)return location.origin+"/_bun/client/hmr-"+Z.id+".js"}return Y}function fZ(Y,Z){n.set(Y,Z)}function yY(Y){if(--Y.refs<=0)if(Y.size>WY){let Z=Y.url;PY(Y),n.delete(Z)}else{h.push(Y);let Z=0;for(let G=h.length-1;G>=0;G--){let $=h[G].size;if(Z+=$,Z>WY)Z-=$,PY(h[G]),h.splice(G,1)}}}function PY(Y){URL.revokeObjectURL(Y.url)}function hZ(Y){WY=Y}function kZ(){for(let Y of n.values())Y.refs=1,yY(Y)}function xZ(){return{blobToSourceMap:n,gcBlobs:h}}var pY=!1,I=new Map,T=[],ZY=new Map,a=new Set,O=-1,IY=-1,C=!1,p,o,c,s,U={};function q(Y,Z,G){let $=document.createElement(Y);if(Z)for(let X in Z)$.setAttribute(X,Z[X]);if(G)for(let X of G)$.appendChild(X);return $}function B(Y,Z,G){let $=document.createElement(Y);if(Z)for(let X in Z)$.setAttribute(X,Z[X]);return $.textContent=G,$}var KY=(Y="")=>document.createTextNode(Y);function gZ(){if(o)return;p=q("bun-hmr",{style:"position:fixed!important;display:none!important;top:0!important;left:0!important;width:100%!important;height:100%!important;background:#8883!important;z-index:2147483647!important"});let Y=p.attachShadow({mode:"open"}),Z=new CSSStyleSheet;Z.replace("*{box-sizing:border-box;margin:0;padding:0}.root{all:initial;--modal-bg:#202020;--modal-text:#fafafa;--modal-text-faded:#fafafa88;--item-bg:#0f0f0f;--item-bg-main:#262626;--log-error:#ff5858;--log-warn:#fbbf24;--log-note:#22d3ee;--log-colon:#888;--red:#ff5858;--red-faded:#ff58582f;--error-bg:#ff58582f;--warn-bg:#eab3082f;--syntax-comment:#6272a4;--syntax-cyan:#8be9fd;--syntax-green:#50fa7b;--syntax-orange:#ffb86c;--syntax-pink:#ff79c6;--syntax-purple:#bd93f9;--syntax-red:#f55;--syntax-yellow:#f1fa8c;position:fixed;display:flex;flex-direction:column;align-items: center;width:100%;height:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,Oxygen,Open Sans,sans-serif;top:0;left:0}code,.message,.function-name,.file-name,.code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}pre,code{font:unset}button{appearance:none;font-size:unset;cursor:pointer;background-color:#0000;border:none}.flex{flex:1}.muted{color:var(--modal-text-faded)}.modal{color:var(--modal-text);background-color:var(--modal-bg);border-top:8px solid var(--red);border-radius:8px;width:100%;max-width:940px;margin:4rem 2rem 2rem;box-shadow:0 2px 6px #0004,0 2px 32px #0003}footer{display:flex;color:var(--modal-text-faded);margin:1rem}nav{display:flex;color:var(--modal-text-faded);align-items: center;margin:1rem}.tab-button{background-color:var(--red-faded);border-radius:4px;width:24px;height:24px}.tab-button[disabled]{opacity:.5}.tab-button.left{border-top-right-radius:0;border-bottom-right-radius:0;margin-right:2px}.tab-button.right{border-top-left-radius:0;border-bottom-left-radius:0;margin-right:.5rem}.dismiss-all{width:24px;height:24px}header{display:flex;align-items: center;margin:1rem}.title{color:var(--red);font-size:2rem;font-weight:700}.r-error{background-color:var(--item-bg)}.message-desc{padding:0 1.5rem}.message-desc.error{background-color:var(--error-bg);padding:1rem 1.5rem}.message-desc.warn{background-color:var(--warn-bg);padding:1rem 1.5rem}.r-error .name{color:var(--red);font-weight:700}.file-name{color:var(--modal-text);font-weight:700}.r-code-wrap{background-color:var(--item-bg-main);--color:var(--log-error)}.b-group{display:flex;background-color:var(--item-bg);flex-direction:column}.b-group+.b-group{border-top:1px solid var(--modal-text-faded)}.b-group .code{padding-bottom:1rem}.log-error{--color:var(--log-error);font-weight:700}.log-warn{--color:var(--log-warn)}.log-note{--color:var(--log-note)}.log-colon{--color:var(--log-colon)}.log-label{color:var(--color)}.message-desc.note+.code{padding-top:.75rem}.trace-frame{padding:.7rem 1.5rem}.trace-frame+.trace-frame{margin-top:-.5rem}.function-name{color:var(--syntax-cyan);font-style:italic}.code{display:flex;padding-top:1rem}.code .gutter{display:flex;text-align:right;user-select:none;pointer-events:none;color:var(--modal-text-faded);border-right:1px solid var(--modal-text-faded);border-width:1.5px;flex-direction:column;margin-right:1rem;padding:.3rem .5rem}.code .gutter div{white-space:pre}.code .gutter .highlight-gap{font-size:8px}.code .view{padding:.3rem 0}.highlight-wrap{color:#0000;user-select:none;-webkit-user-select:none;pointer-events:none;margin-bottom:-10px;transform:translateY(-16px)}.highlight-wrap:last-child{position:absolute;margin-bottom:0}.highlight-gap{height:10px}.highlight-wrap .line{text-decoration:underline;text-decoration-style:wavy;text-decoration-color:var(--color)}@media (prefers-color-scheme:light){.log-warn,.log-note{font-weight:700}}.syntax-pink{color:var(--syntax-pink)}.syntax-cyan{color:var(--syntax-cyan)}.syntax-orange{color:var(--syntax-orange)}.syntax-red{color:var(--syntax-red)}.syntax-green{color:var(--syntax-green)}.syntax-yellow{color:var(--syntax-yellow)}.syntax-gray{color:var(--syntax-comment)}.syntax-purple{color:var(--syntax-purple)}.tab-button.left{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjZmY1ODU4Ij48cGF0aCBkPSJtMzEzLTQ0MCAyMjQgMjI0LTU3IDU2LTMyMC0zMjAgMzIwLTMyMCA1NyA1Ni0yMjQgMjI0aDQ4N3Y4MEgzMTNaIi8+PC9zdmc+)}.tab-button.right{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjZmY1ODU4Ij48cGF0aCBkPSJNNjQ3LTQ0MEgxNjB2LTgwaDQ4N0w0MjMtNzQ0bDU3LTU2IDMyMCAzMjAtMzIwIDMyMC01Ny01NiAyMjQtMjI0WiIvPjwvc3ZnPg==)}.dismiss-all{opacity:.5;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjRkZGIj48cGF0aCBkPSJtMjU2LTIwMC01Ni01NiAyMjQtMjI0LTIyNC0yMjQgNTYtNTYgMjI0IDIyNCAyMjQtMjI0IDU2IDU2LTIyNCAyMjQgMjI0IDIyNC01NiA1Ni0yMjQtMjI0LTIyNCAyMjRaIi8+PC9zdmc+)}@media (prefers-color-scheme:light){.dismiss-all{filter:invert(1)}}"),Y.adoptedStyleSheets=[Z];let G=q("div",{class:"root"},[q("div",{class:"modal"},[U.root=q("nav",null,[U.prevBtn=B("button",{class:"tab-button left",disabled:"true","aria-label":"Previous error"},""),U.nextBtn=B("button",{class:"tab-button right","aria-label":"Next error"},""),q("span",null,[U.active=q("code"),KY(" of "),U.total=q("code"),U.label=KY(" Errors")]),q("div",{class:"flex"}),U.dismissAllBtn=q("button",{class:"dismiss-all","aria-label":"Dismiss all errors"})]),q("header",null,[o=q("div",{class:"title"})]),c=q("div",{class:"error-content"}),q("footer",null,[s=B("div",null,""),q("div",{class:"flex"}),B("div",null,"Bun v"+w.bun)])])]);U.dismissAllBtn.addEventListener("click",nZ),U.prevBtn.addEventListener("click",dZ),U.nextBtn.addEventListener("click",uZ),Y.appendChild(G),document.body.appendChild(p)}var AY=!1;function VY(Y){if(AY===Y||!p)return;AY=Y,p.style.display=Y?"block":"none"}function yZ(Y){let Z=new v(Y,1),G=Z.u32();for(let $=0;$<G;$++){let X=Z.u32();a.add(X),I.delete(X)}while(Z.hasMoreData())vZ(Z);d()}async function BY(Y,Z=!1,G=!1){try{if(Z)pY=!0;let $=Y?.name??"error";if($==="Error")$="error";let X=Y?.message;if(!X)try{X=JSON.stringify(Y)}catch(V){X="[error while serializing error: "+V+"]"}else if(typeof X!=="string")try{X=JSON.stringify(X)}catch(V){X="[error while serializing error message: "+V+"]"}let J=NZ(Y)??[],_=location.href,W=12+($.length+X.length+_.length)*3;for(let V of J)W+=16+((V.fn?.length??0)+(V.file?.length??0))*3;let K=DY.initCapacity(W);K.stringWithLength($),K.stringWithLength(X),K.stringWithLength(_),K.u32(J.length);for(let V of J){K.i32(V.line??0),K.i32(V.col??0),K.stringWithLength(V.fn??"");let F=V.file;if(F)K.stringWithLength(F);else K.u32(0)}let Q=await fetch("/_bun/report_error",{method:"POST",body:K.view.buffer});try{if(!Q.ok)throw Error("Failed to report error");let V=new v(new DataView(await Q.arrayBuffer()),0),F=[],j=V.u32();for(let D=0;D<j;D++){let P=V.i32(),r=V.i32(),M=V.string32(),e=V.string32();F.push({fn:M,file:e,line:P,col:r})}let z,H=V.u8();if(H>0){let D=V.u32(),P=V.u32(),r=V.u32(),M=Array(H);for(let y=0;y<H;y++){let sY=V.string32();M[y]=sY}let{col:e,len:iY}=pZ(M[D],r);M=M.map((y)=>kY(y)),z={lines:M,col:e,loi:D,len:iY,firstLine:P}}T.push({name:$,message:X,trace:F,remapped:!0,async:G,code:z})}catch(V){console.error("Failed to remap error",V),T.push({name:$,message:X,trace:J,remapped:!1,async:G})}C=!0,d()}catch($){console.error("Failed to report error",$)}}function pZ(Y,Z){let G=Y.slice(Math.max(0,Z-1)),$=1;$=0;let X=Y.slice(0,Z-1);if(G.match(/^new\s/))$+=4,G=G.slice(4);let J=X.match(/new\s+$/)?.[0];if(J)$+=J.length,Z-=J.length,X=X.slice(0,X.length-J.length);let _=X.match(/throw\s+$/)?.[0];if(_)$+=_.length,Z-=_.length;if($+=(G.match(/.\b/)?.index??-1)+1,$<=0)$=1;return{col:Z,len:$}}function vZ(Y){let Z=Y.u32(),G=Y.string32()||null,$=Y.u32(),X=Array($);for(let J=0;J<$;J++)X[J]=OZ(Y);I.set(Z,{file:G,messages:X}),a.add(Z),O=-1,C=!0}function d(){let Y=T.length+I.size;if(Y===0){VY(!1);return}if(O===-1&&I.size===0)O=0,C=!0;else if(O>=T.length)if(C=!0,O===0)O=-1;else O=T.length-1;if(gZ(),C){if(C=!1,O>=0){let Z=T[O];o.innerHTML=Z.async?"Unhandled Promise Rejection":"Runtime Error",cZ(Z)}else o.innerHTML=`<span class="count">${I.size}</span> Build Error${I.size===1?"":"s"}`;U.active.textContent=(O+1+(I.size>0?1:0)).toString(),U.total.textContent=Y.toString(),U.label.textContent=Y===1?" Error":" Errors",U.nextBtn.disabled=O>=T.length-1,U.prevBtn.disabled=I.size>0?O<0:O==0}if(O===-1)if(IY!==-1)c.innerHTML="",RY({remountAll:!0});else RY({});if(IY=O,I.size>0)s.style.display="block",s.innerText=O===-1?"Errors during a build can only be dismissed by fixing them.":"This dialog cannot be dismissed as there are additional build errors.";else s.style.display="none";U.dismissAllBtn.style.display=I.size>0?"none":"block",U.root.style.display=T.length>0?"flex":"none",VY(!0)}function cZ(Y){c.innerHTML="";let Z=q("div",{class:"r-error"}),G=Y.name;if(!G||G==="Error")G="error";Z.appendChild(q("div",{class:"message-desc error"},[B("code",{class:"name"},G),B("code",{class:"muted"},": "),B("code",{},Y.message)]));let{code:$}=Y,X=Y.trace;if($){let{lines:J,col:_,loi:W,len:K,firstLine:Q}=$,V=X[0];X=X.slice(1);let F=q("div",{class:"r-code-wrap"}),j=J.slice(0,W+1),z=J.slice(W+1),H=q("div",{class:"gutter"},[B("div",null,j.map((D,P)=>`${P+Q}`).join(`
`}}W=W.trim(),sessionStorage?.setItem?.("bun:hmr:message",JSON.stringify?.({message:W,kind:"warn"})),E()}if(J.length>0){let W=[];for(let K of J){K.state=1;for(let Q of K.onDispose){let V=Q(K.data);if(V&&V instanceof Promise)W.push(V)}K.onDispose=null}if(W.length>0)await Promise.all(W)}let _=[];for(let W of G){W.state=1;let K=W.selfAccept;W.selfAccept=null,W.depAccepts=null;let Q=m(W.id,!1,null);if(Q===W){if(K)K(R(W))}else _.push(Q.then((V)=>{if(K)K(R(V));return V}))}if(_.length>0)await Promise.all(_);for(let W of G){let{selfAccept:K}=W;if(K&&K!==t)continue;zY(W)}for(let{cb:W,key:K}of $){let{cb:Q,modules:V,single:F}=W;Q(F?R(A.get(K)):J0(V,K))}if(k)k.performReactRefresh();f("bun:afterUpdate",null)}function zY(Y){let{importers:Z}=Y,G=R(Y);for(let $ of Z){if(!$.esm||!$.updateImport)continue;let X=$.imports.indexOf(Y);if(X===-1)continue;$.updateImport[X](G)}}function J0(Y,Z){let G=Array(Y.length);G.fill(void 0);let $=Y.indexOf(Z);return G[$]=R(A.get(Z)),G}function f(Y,Z){let G=qY[Y];if(!G)return;for(let $ of G)$(Z)}function UY(Y,Z){if(Z)throw Error(`Failed to resolve dynamic import '${Y}'. With Bun's bundler, all imports must be statically known at build time so that the bundler can trace everything.`);throw Error(`Failed to load bundled module '${Y}'. This is not a dynamic import, and therefore is a bug in Bun's bundler.`)}function E(){try{f("bun:beforeFullReload",null)}catch{}location.reload()}class jY extends Error{asyncId;constructor(Y){super(`Cannot load async module "${Y}" synchronously because it uses top-level await.`);this.asyncId=Y,Object.defineProperty(this,"name",{value:"Error"})}}function _0(Y){var Z,G=Object.defineProperty({},"__esModule",{value:!0});if(Y&&typeof Y==="object"||typeof Y==="function")Object.getOwnPropertyNames(Y).map(($)=>!Object.prototype.hasOwnProperty.call(G,$)&&Object.defineProperty(G,$,{get:()=>Y[$],enumerable:!(Z=Object.getOwnPropertyDescriptor(Y,$))||Z.enumerable}));return G}function W0(Y){let Z=Object.defineProperty(Object.create(null),"default",{value:Y,enumerable:!0});for(let G of Object.getOwnPropertyNames(Y))if(!Object.prototype.hasOwnProperty.call(Z,G))Object.defineProperty(Z,G,{get:()=>Y[G],enumerable:!0});return Z}function dY(Y,Z){let G=new b(Y,!1);G.exports=Z,A.set(Y,G),g[Y]=!0}function K0(Y){if(k=R(Y),typeof k.injectIntoGlobalHook==="function")k.injectIntoGlobalHook(window);else console.warn("refreshRuntime.injectIntoGlobalHook is not a function. Something is wrong with the React Fast Refresh runtime.")}function V0(Y){let{isLikelyComponentType:Z}=k;if(!Z)return!0;if(Z(Y))return!0;if(Y==null||typeof Y!=="object")return!1;let G=!1,$=!0;for(let X in Y){G=!0;let J=Object.getOwnPropertyDescriptor(Y,X);if(J&&J.get)return!1;let _=Y[X];if(!Z(_))$=!1}return G&&$}function t(){}dY("bun:wrap",{__name:tZ,__legacyDecorateClassTS:rZ,__legacyDecorateParamTS:eZ,__legacyMetadataTS:Y0,__using:Z0,__callDispose:$0});dY("bun:bake/client",{onServerSideReload:(Y)=>FY=Y});var HY=console.error,$Y=!1,GY=!1,LY=-1;async function Q0(){if(console.info("[Bun] Server-side code changed, reloading!"),$Y){GY=!0;return}if(FY)try{$Y=!0;do GY=!1,await FY();while(GY);$Y=!1;return}catch(Y){console.error("Failed to perform Server-side reload."),console.error(Y),console.error("The page will hard-reload now.")}E()}var uY=Symbol.for("bun:hmr:pendingScripts"),l=globalThis[uY]??new Map;globalThis[uY]=l;globalThis[Symbol.for("bun:hmr")]=(Y,Z)=>{let G=l.get(Z),$=G?.shift()??null;if(G&&G.length===0)l.delete(Z);if(!$)throw Error("Unknown HMR script: "+Z);let{script:X,size:J,url:_}=$,W={id:Z,url:_,refs:Object.keys(Y).length,size:J};fZ(_,W),X.remove(),X0(Y,W).catch((K)=>{console.error(K),E()})};var MY=!0,F0={86(Y){if(JY.decode(Y.buffer.slice(1))!==w.version){console.error("Version mismatch, hard-reloading"),E();return}if(MY)MY=!1;else{E();return}x.sendBuffered("she"),x.sendBuffered("n"+location.pathname);let Z=globalThis[Symbol.for("bun:loadData")];if(Z)document.removeEventListener("visibilitychange",Z),x.send("i"+w.generation)},117(Y){let Z=new v(Y,1),G=new Set;do{let X=Z.i32();if(X===-1||X==null)break;G.add(X)}while(!0);let $=!1;do{let X=Z.i32();if(X===-1||X==null)break;if(X===LY){$=G.has(X);let J=Z.i32();if(J!==-1){let W=Array(J);for(let K=0;K<J;K++)W[K]=Z.stringWithLength(16);oY(W)}let _=Z.i32();while(_!=null&&_!==-1){let W=Z.i32();Z.cursor+=16*Math.max(0,W),_=Z.i32()}break}else{let J=Z.i32();Z.cursor+=16*Math.max(0,J)}}while(!0);{let X=Z.u32();while(X--){let J=Z.stringWithLength(16),_=Z.string32();tY(J,_)}}if(pY&&($||Z.hasMoreData())){E();return}if($){Q0();return}if(Z.hasMoreData()){let X=Z.u32(),J=Z.rest(),_=JY.decode(new Uint8Array(J,J.byteLength-24,16)),W=new Blob([J],{type:"application/javascript"}),K=URL.createObjectURL(W),Q=document.createElement("script"),V=l.get(_),F={script:Q,size:X,url:K};if(V)V.push(F);else l.set(_,[F]);Q.className="bun-hmr-script",Q.src=K,Q.onerror=q0,document.head.appendChild(Q)}else f("bun:afterUpdate",null)},110(Y){LY=new v(Y,1).u32()},101:yZ},x=oZ(F0,{onStatusChange(Y){f(Y?"bun:ws:connect":"bun:ws:disconnect",null)}});function q0(Y,Z,G,$,X){if(typeof Y==="string")console.error(Y);else if(X)console.error(X);else console.error("Failed to load HMR script",Y);E()}{let Y=History.prototype.pushState;History.prototype.pushState=function(G,$,X){Y.call(this,G,$,X),x.sendBuffered("n"+location.pathname)};let Z=History.prototype.replaceState;History.prototype.replaceState=function(G,$,X){Z.call(this,G,$,X),x.sendBuffered("n"+location.pathname)}}window.addEventListener("error",(Y)=>{let Z=Y.error||Y.message;if(!Z)console.log("[Bun] The HMR client detected a runtime error, but no useful value was found. Below is the full error event:"),console.log(Y);BY(Z,!0,!1)});window.addEventListener("unhandledrejection",(Y)=>{BY(Y.reason,!0,!0)});{let Y=sessionStorage?.getItem?.("bun:hmr:message");if(Y)if(sessionStorage.removeItem("bun:hmr:message"),Y=JSON.parse(Y),Y.kind==="warn")console.warn(Y.message);else console.error(Y.message)}if(w.console){let Y=function(G,$){let X="l"+G,J=!0;for(let _ of $){if(J)J=!1;else X+=" ";if(typeof _==="string")X+=_;else X+=wY(_)}x.sendBuffered(X)},Z=console.log;if(typeof Z==="function")console.log=function(...G){Z(...G),Y("l",G)};if(typeof HY==="function")console.error=function(...G){HY(...G),Y("e",G)}}var z0=globalThis[Symbol.for("bun testing api, may change at any time")];z0?.({configureSourceMapGCSize:hZ,clearDisconnectedSourceMaps:kZ,getKnownSourceMaps:xZ});try{let{refresh:Y}=w;if(Y){let Z=await m(Y,!1,null);K0(Z)}await m(w.main,!1,null),f("bun:ready",null)}catch(Y){HY(Y),BY(Y,!0,!1)}})({
"file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
"flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",
"border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
"border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
"focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",
className={cn("flex cursor-default items-center justify-center py-1", className)}
className={cn("flex cursor-default items-center justify-center py-1", className)}
cursor:pointer;</title>
function cursorTo(stream, x, y, callback) {
function moveCursor(stream, dx, dy, callback) {
var kEmptyObject = ObjectFreeze(ObjectCreate(null)), kHistorySize = 30, kMaxUndoRedoStackSize = 2048, kMincrlfDelay = 100, lineEnding = /\r?\n|\r(?!\n)/g, kMaxLengthOfKillRing = 32, kLineObjectStream = Symbol("line object stream"), kQuestionCancel = Symbol("kQuestionCancel"), kQuestion = Symbol("kQuestion"), kAddHistory = Symbol("_addHistory"), kBeforeEdit = Symbol("_beforeEdit"), kDecoder = Symbol("_decoder"), kDeleteLeft = Symbol("_deleteLeft"), kDeleteLineLeft = Symbol("_deleteLineLeft"), kDeleteLineRight = Symbol("_deleteLineRight"), kDeleteRight = Symbol("_deleteRight"), kDeleteWordLeft = Symbol("_deleteWordLeft"), kDeleteWordRight = Symbol("_deleteWordRight"), kGetDisplayPos = Symbol("_getDisplayPos"), kHistoryNext = Symbol("_historyNext"), kHistoryPrev = Symbol("_historyPrev"), kInsertString = Symbol("_insertString"), kLine = Symbol("_line"), kLine_buffer = Symbol("_line_buffer"), kKillRing = Symbol("_killRing"), kKillRingCursor = Symbol("_killRingCursor"), kMoveCursor = Symbol("_moveCursor"), kNormalWrite = Symbol("_normalWrite"), kOldPrompt = Symbol("_oldPrompt"), kOnLine = Symbol("_onLine"), kPreviousKey = Symbol("_previousKey"), kPrompt = Symbol("_prompt"), kPushToKillRing = Symbol("_pushToKillRing"), kPushToUndoStack = Symbol("_pushToUndoStack"), kQuestionCallback = Symbol("_questionCallback"), kRedo = Symbol("_redo"), kRedoStack = Symbol("_redoStack"), kRefreshLine = Symbol("_refreshLine"), kSawKeyPress = Symbol("_sawKeyPress"), kSawReturnAt = Symbol("_sawReturnAt"), kSetRawMode = Symbol("_setRawMode"), kTabComplete = Symbol("_tabComplete"), kTabCompleter = Symbol("_tabCompleter"), kTtyWrite = Symbol("_ttyWrite"), kUndo = Symbol("_undo"), kUndoStack = Symbol("_undoStack"), kWordLeft = Symbol("_wordLeft"), kWordRight = Symbol("_wordRight"), kWriteToOutput = Symbol("_writeToOutput"), kYank = Symbol("_yank"), kYanking = Symbol("_yanking"), kYankPop = Symbol("_yankPop"), kFirstEventParam = SymbolFor("nodejs.kFirstEventParam"), kOnSelfCloseWithTerminal = Symbol("_onSelfCloseWithTerminal"), kOnSelfCloseWithoutTerminal = Symbol("_onSelfCloseWithoutTerminal"), kOnKeyPress = Symbol("_onKeyPress"), kOnError = Symbol("_onError"), kOnData = Symbol("_onData"), kOnEnd = Symbol("_onEnd"), kOnTermEnd = Symbol("_onTermEnd"), kOnResize = Symbol("_onResize");
if (this.line = "", this[kSubstringSearch] = null, this.output = output, this.input = input, this[kUndoStack] = [], this[kRedoStack] = [], this.history = history, this.historySize = historySize, this[kKillRing] = [], this[kKillRingCursor] = 0, this.removeHistoryDuplicates = !!removeHistoryDuplicates, this.crlfDelay = crlfDelay ? MathMax(kMincrlfDelay, crlfDelay) : kMincrlfDelay, this.completer = completer, this.setPrompt(prompt), this.terminal = !!terminal, this[kLineObjectStream] = @undefined, input.on("error", this[kOnError]), !this.terminal)
if (emitKeypressEvents(input, this), input.on("keypress", this[kOnKeyPress]), input.on("end", this[kOnTermEnd]), this[kSetRawMode](!0), this.terminal = !0, this.cursor = 0, this.historyIndex = -1, output !== null && output !== @undefined)
prompt(preserveCursor) {
if (!preserveCursor)
this.cursor = 0;
[kBeforeEdit](oldText, oldCursor) {
this[kPushToUndoStack](oldText, oldCursor);
var line = this[kPrompt] + this.line, dispPos = this[kGetDisplayPos](line), lineCols = dispPos.cols, lineRows = dispPos.rows, cursorPos = this.getCursorPos(), prevRows = this.prevRows || 0;
moveCursor(this.output, 0, -prevRows);
if (cursorTo(this.output, 0), clearScreenDown(this.output), this[kWriteToOutput](line), lineCols === 0)
cursorTo(this.output, cursorPos.cols);
var diff = lineRows - cursorPos.rows;
moveCursor(this.output, 0, -diff);
this.prevRows = cursorPos.rows;
if (this[kBeforeEdit](this.line, this.cursor), this.cursor < this.line.length) {
var beg = StringPrototypeSlice.@call(this.line, 0, this.cursor), end = StringPrototypeSlice.@call(this.line, this.cursor, this.line.length);
[Showing lines 16-51 of 51 (50.0KB limit). Full output: /tmp/pi-bash-5348055245c996c4.log]strings /home/lakshyaag/.bun/install/global/node_modules/@traces-sh/traces-linux-x64/bin/traces | grep -i "cursor" | grep -i "agent"0+460773ef8ff1e07c/node_modules/@opentelemetry/instrumentation-amqplib/build/src/version.js../node_modules/.bun/@opentelemetry+instrumentation-amqplib@0.58.0+460773ef8ff1e07c/node_modules/@opentelemetry/instrumentation-amqplib/build/src/amqplib.js../node_modules/.bun/@opentelemetry+instrumentation-amqplib@0.58.0+460773ef8ff1e07c/node_modules/@opentelemetry/instrumentation-amqplib/build/src/index.js../node_modules/.bun/@opentui+core-linux-x64@0.1.77/node_modules/@opentui/core-linux-x64/index.ts../node_modules/.bun/picocolors@1.1.1/node_modules/picocolors/picocolors.js../node_modules/.bun/sisteransi@1.0.5/node_modules/sisteransi/src/index.jssrc/adapters/shared/discovery-utils.ts../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/http.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/debug-build.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/is.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/worldwide.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/browser.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/version.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/carrier.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/debug-logger.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/object.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/utils.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/spanstatus.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/randomSafeContext.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/stacktrace.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/string.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/misc.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/time.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/session.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/merge.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/propagationContext.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/spanOnScope.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/scope.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/defaultScopes.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/asyncContext/stackStrategy.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/asyncContext/index.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/currentScopes.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/semanticAttributes.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/baggage.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/handleCallbackErrors.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/hasSpansEnabled.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/parseSampleRate.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/dsn.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/tracing.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/spanUtils.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/constants.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/dynamicSamplingContext.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/logSpans.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/sampling.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/sentryNonRecordingSpan.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/normalize.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/envelope.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/should-ignore-span.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/envelope.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/measurement.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/sentrySpan.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/trace.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/syncpromise.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/eventProcessors.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/debug-ids.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/scopeData.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/prepareEvent.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/exports.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/checkin.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/api.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integration.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/attributes.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/trace-info.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/logs/constants.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/logs/envelope.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/logs/internal.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/metrics/envelope.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/metrics/internal.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/timer.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/promisebuffer.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/ratelimit.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/transports/base.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/clientreport.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/eventUtils.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/transactionEvent.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/client.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/instrument/handlers.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/instrument/globalError.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/instrument/globalUnhandledRejection.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/errors.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/transports/userAgent.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/eventbuilder.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/server-runtime-client.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/sdk.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/ai/providerSkip.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/envToBool.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/url.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/parameterize.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/sdkMetadata.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/traceData.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/tracePropagationTargets.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/meta.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/debounce.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/request.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/breadcrumbs.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/functiontostring.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/eventFilters.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/aggregate-errors.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/linkederrors.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/cookie.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/vendor/getIpAddress.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/requestdata.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/instrument/console.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/severity.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/captureconsole.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/dedupe.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/extraerrordata.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/path.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/rewriteframes.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/supabase.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/zoderrors.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/console.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/featureFlags.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/featureFlags/featureFlagsIntegration.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/featureFlags/growthbook.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/conversationId.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/profiling.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/trpc.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/mcp-server/errorCapture.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/mcp-server/handlers.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/mcp-server/attributes.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/mcp-server/validation.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/mcp-server/resultExtraction.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/mcp-server/sessionManagement.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/mcp-server/sessionExtraction.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/mcp-server/correlation.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/mcp-server/methodConfig.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/mcp-server/attributeExtraction.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/mcp-server/piiFiltering.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/mcp-server/spans.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/mcp-server/transport.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/mcp-server/index.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/feedback.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/logs/utils.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/logs/console-integration.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/metrics/public-api.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/consola.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/ai/gen-ai-attributes.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/vercel-ai/constants.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/ai/messageTruncation.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/ai/utils.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/vercel-ai/vercel-ai-attributes.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/vercel-ai/utils.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/vercel-ai/index.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/openai/constants.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/openai/utils.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/openai/streaming.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/openai/index.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/anthropic-ai/streaming.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/anthropic-ai/constants.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/anthropic-ai/utils.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/anthropic-ai/index.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/google-genai/constants.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/google-genai/streaming.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/google-genai/utils.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/google-genai/index.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/langchain/constants.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/langchain/utils.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/langchain/index.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/langgraph/constants.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/langgraph/utils.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/langgraph/index.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/breadcrumb-log-level.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/env.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/node.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/isBrowser.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/exports.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/node-stack-trace.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/lru.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/http/httpServerSpansIntegration.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/debug-build.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/http/httpServerIntegration.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/http/constants.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/utils/captureRequestBody.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/http/SentryHttpInstrumentation.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/utils/getRequestUrl.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/utils/baggage.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/utils/outgoingHttpRequest.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/node-fetch/SentryNodeFetchInstrumentation.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/nodeVersion.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/utils/outgoingFetchRequest.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/otel/contextManager.js../node_modules/.bun/@sentry+opentelemetry@10.39.0+3416d402466e6f9f/node_modules/@sentry/opentelemetry/build/esm/index.js../node_modules/.bun/@opentelemetry+sdk-trace-base@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/sdk-trace-base/build/esm/BasicTracerProvider.js../node_modules/.bun/@opentelemetry+resources@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/resources/build/esm/ResourceImpl.js../node_modules/.bun/@opentelemetry+resources@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/resources/build/esm/default-service-name.js../node_modules/.bun/@opentelemetry+resources@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/resources/build/esm/utils.js../node_modules/.bun/@opentelemetry+sdk-trace-base@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/sdk-trace-base/build/esm/Tracer.js../node_modules/.bun/@opentelemetry+sdk-trace-base@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/sdk-trace-base/build/esm/Span.js../node_modules/.bun/@opentelemetry+sdk-trace-base@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/sdk-trace-base/build/esm/enums.js../node_modules/.bun/@opentelemetry+sdk-trace-base@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/sdk-trace-base/build/esm/config.js../node_modules/.bun/@opentelemetry+sdk-trace-base@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/sdk-trace-base/build/esm/Sampler.js../node_modules/.bun/@opentelemetry+sdk-trace-base@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/sdk-trace-base/build/esm/sampler/AlwaysOffSampler.js../node_modules/.bun/@opentelemetry+sdk-trace-base@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/sdk-trace-base/build/esm/sampler/AlwaysOnSampler.js../node_modules/.bun/@opentelemetry+sdk-trace-base@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/sdk-trace-base/build/esm/sampler/ParentBasedSampler.js../node_modules/.bun/@opentelemetry+sdk-trace-base@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/sdk-trace-base/build/esm/sampler/TraceIdRatioBasedSampler.js../node_modules/.bun/@opentelemetry+sdk-trace-base@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/sdk-trace-base/build/esm/utility.js../node_modules/.bun/@opentelemetry+sdk-trace-base@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/sdk-trace-base/build/esm/platform/node/RandomIdGenerator.js../node_modules/.bun/@opentelemetry+sdk-trace-base@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/sdk-trace-base/build/esm/MultiSpanProcessor.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/otel/logger.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/otel/instrument.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/childProcess.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/context.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/contextlines.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/http/index.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/local-variables/local-variables-async.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/utils/debug.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/local-variables/common.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/local-variables/local-variables-sync.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/local-variables/index.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/modules.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/utils/detection.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/node-fetch/index.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/onuncaughtexception.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/utils/errorhandling.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/onunhandledrejection.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/processSession.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/spotlight.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/systemError.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/transports/http.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/proxy/index.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/proxy/base.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/proxy/parse-proxy-response.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/utils/spotlight.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/utils/module.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/sdk/api.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/sdk/client.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/sdk/esmLoader.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/sdk/index.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/utils/ensureIsWrapped.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/utils/createMissingInstrumentationContext.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/anr/index.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/logs/capture.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/logs/exports.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/winston.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/utils/addOriginToSpan.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/cron/common.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/cron/cron.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/cron/node-cron.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/cron/node-schedule.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/cron/index.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/node-fetch.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/fs.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/express.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/debug-build.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/fastify/index.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/fastify/fastify-otel/index.js../node_modules/.bun/minimatch@9.0.5/node_modules/minimatch/dist/esm/index.js../node_modules/.bun/minimatch@9.0.5/node_modules/minimatch/dist/esm/assert-valid-pattern.js../node_modules/.bun/minimatch@9.0.5/node_modules/minimatch/dist/esm/brace-expressions.js../node_modules/.bun/minimatch@9.0.5/node_modules/minimatch/dist/esm/unescape.js../node_modules/.bun/minimatch@9.0.5/node_modules/minimatch/dist/esm/ast.js../node_modules/.bun/minimatch@9.0.5/node_modules/minimatch/dist/esm/escape.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/fastify/v3/instrumentation.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/fastify/v3/enums/AttributeNames.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/fastify/v3/utils.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/fastify/v3/constants.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/graphql.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/kafka.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/lrumemoizer.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/mongo.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/mongoose.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/mysql.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/mysql2.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/redis.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/utils/redisCache.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/postgres.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/postgresjs.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/prisma.js../node_modules/.bun/@prisma+instrumentation@7.2.0+460773ef8ff1e07c/node_modules/@prisma/instrumentation/dist/index.mjs../node_modules/.bun/@opentelemetry+api-logs@0.207.0/node_modules/@opentelemetry/api-logs/build/esm/NoopLogger.js../node_modules/.bun/@opentelemetry+api-logs@0.207.0/node_modules/@opentelemetry/api-logs/build/esm/NoopLoggerProvider.js../node_modules/.bun/@opentelemetry+api-logs@0.207.0/node_modules/@opentelemetry/api-logs/build/esm/ProxyLogger.js../node_modules/.bun/@opentelemetry+api-logs@0.207.0/node_modules/@opentelemetry/api-logs/build/esm/ProxyLoggerProvider.js../node_modules/.bun/@opentelemetry+api-logs@0.207.0/node_modules/@opentelemetry/api-logs/build/esm/platform/node/globalThis.js../node_modules/.bun/@opentelemetry+api-logs@0.207.0/node_modules/@opentelemetry/api-logs/build/esm/internal/global-utils.js../node_modules/.bun/@opentelemetry+api-logs@0.207.0/node_modules/@opentelemetry/api-logs/build/esm/api/logs.js../node_modules/.bun/@opentelemetry+api-logs@0.207.0/node_modules/@opentelemetry/api-logs/build/esm/index.js../node_modules/.bun/@opentelemetry+instrumentation@0.207.0+460773ef8ff1e07c/node_modules/@opentelemetry/instrumentation/build/esm/platform/node/instrumentation.js../node_modules/.bun/@opentelemetry+instrumentation@0.207.0+460773ef8ff1e07c/node_modules/@opentelemetry/instrumentation/build/esm/semver.js../node_modules/.bun/@opentelemetry+instrumentation@0.207.0+460773ef8ff1e07c/node_modules/@opentelemetry/instrumentation/build/esm/shimmer.js../node_modules/.bun/@opentelemetry+instrumentation@0.207.0+460773ef8ff1e07c/node_modules/@opentelemetry/instrumentation/build/esm/instrumentation.js../node_modules/.bun/@opentelemetry+instrumentation@0.207.0+460773ef8ff1e07c/node_modules/@opentelemetry/instrumentation/build/esm/platform/node/RequireInTheMiddleSingleton.js../node_modules/.bun/@opentelemetry+instrumentation@0.207.0+460773ef8ff1e07c/node_modules/@opentelemetry/instrumentation/build/esm/platform/node/ModuleNameTrie.js../node_modules/.bun/@opentelemetry+instrumentation@0.207.0+460773ef8ff1e07c/node_modules/@opentelemetry/instrumentation/build/esm/utils.js../node_modules/.bun/@opentelemetry+instrumentation@0.207.0+460773ef8ff1e07c/node_modules/@opentelemetry/instrumentation/build/esm/instrumentationNodeModuleDefinition.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/hapi/index.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/hono/index.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/hono/constants.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/hono/instrumentation.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/koa.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/connect.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/knex.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/tedious.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/genericPool.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/dataloader.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/amqplib.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/vercelai/constants.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/vercelai/instrumentation.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/vercelai/index.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/openai/instrumentation.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/openai/index.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/anthropic-ai/instrumentation.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/anthropic-ai/index.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/google-genai/instrumentation.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/google-genai/index.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/langchain/instrumentation.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/langchain/index.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/langgraph/instrumentation.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/langgraph/index.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/featureFlagShims/launchDarkly.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/featureFlagShims/openFeature.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/featureFlagShims/statsig.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/featureFlagShims/unleash.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/featureFlagShims/growthbook.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/firebase/otel/firebaseInstrumentation.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/firebase/otel/patches/firestore.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/firebase/otel/patches/functions.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/firebase/firebase.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/index.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/sdk/initOtel.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/sdk/index.js../node_modules/.bun/@sentry+bun@10.39.0/node_modules/@sentry/bun/build/esm/client.js../node_modules/.bun/@sentry+bun@10.39.0/node_modules/@sentry/bun/build/esm/sdk.js../node_modules/.bun/@sentry+bun@10.39.0/node_modules/@sentry/bun/build/esm/integrations/bunserver.js../node_modules/.bun/@sentry+bun@10.39.0/node_modules/@sentry/bun/build/esm/transports/index.jssrc/services/sentry.tssrc/config.ts../node_modules/.bun/xdg-basedir@5.1.0/node_modules/xdg-basedir/index.jssrc/adapters/shared/diagnostics.tssrc/adapters/adapter.tssrc/adapters/claude-code/v1.tssrc/adapters/shared/history-reader.tssrc/adapters/cursor/v1.tssrc/adapters/opencode/v2.tssrc/adapters/codex/v1.tssrc/adapters/gemini-cli/v1.tssrc/adapters/pi/v1.tssrc/adapters/amp/v1.tssrc/adapters/copilot/v1.tssrc/adapters/index.tssrc/index.ts../node_modules/.bun/@opentui+core@0.1.77+1709b875ec26ad5f/node_modules/@opentui/core/index-h3dbfsf6.js../node_modules/.bun/@opentui+core@0.1.77+1709b875ec26ad5f/node_modules/@opentui/core/index.js../node_modules/.bun/@opentui+core@0.1.77+1709b875ec26ad5f/node_modules/@opentui/core/testing.js../node_modules/.bun/solid-js@1.9.11/node_modules/solid-js/dist/solid.js../node_modules/.bun/@opentui+solid@0.1.77+10ed39f1f7205fcc/node_modules/@opentui/solid/index.jssrc/tui/hooks/useAppState.ts../packages/shared/dist/invite.js../packages/shared/dist/part.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/core.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/util.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/errors.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/parse.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/regexes.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/checks.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/doc.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/versions.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/schemas.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ar.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/az.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/be.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/bg.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ca.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/cs.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/da.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/de.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/en.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/eo.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/es.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/fa.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/fi.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/fr.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/fr-CA.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/he.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/hu.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/hy.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/id.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/is.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/it.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ja.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ka.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/km.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/kh.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ko.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/lt.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/mk.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ms.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/nl.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/no.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ota.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ps.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/pl.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/pt.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ru.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/sl.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/sv.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ta.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/th.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/tr.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/uk.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ua.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ur.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/uz.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/vi.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/zh-CN.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/zh-TW.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/yo.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/registries.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/api.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/to-json-schema.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/json-schema-processors.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/json-schema-generator.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/classic/iso.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/classic/errors.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/classic/parse.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/classic/schemas.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/classic/compat.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/classic/from-json-schema.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/classic/coerce.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/classic/external.js../packages/shared/dist/schemas/part.js../packages/shared/dist/schemas/message.jssrc/services/request-history.tssrc/services/scrub-secrets.tssrc/core/auth-config.tssrc/services/auth.tssrc/services/api.tssrc/services/logger.tssrc/services/cli-auth.tssrc/services/clipboard.tssrc/services/open-browser.tssrc/tui/utils/transforms.tssrc/tui/utils/format.tssrc/tui/utils/layout.tssrc/tui/utils/list-actions.tssrc/core/event-store.tssrc/core/migrations.tssrc/core/trace.tssrc/core/trace-indexer.tssrc/core/trace-controller.tssrc/services/config-loader.tssrc/services/update.tssrc/tui/theme.tssrc/tui/constants.tssrc/tui/utils/state-helpers.tssrc/tui/hooks/useKeyboard.tssrc/tui/components/Header.tsxsrc/tui/components/ListView.tsxsrc/tui/components/DetailView.tsxsrc/tui/components/Footer.tsxsrc/tui/components/Dialogs.tsxsrc/tui/components/Overlays.tsxsrc/tui/components/NamespaceSwitcher.tsxsrc/tui/app.tsxsrc/services/env.tssrc/commands/login.tssrc/commands/logout.tssrc/commands/whoami.tssrc/commands/reset.tssrc/commands/status.tssrc/commands/doctor.tssrc/commands/share.tssrc/commands/share-options.tssrc/commands/list.tssrc/commands/list-options.tssrc/commands/setup.ts../node_modules/.bun/@clack+core@1.0.1/node_modules/@clack/core/dist/index.mjs../node_modules/.bun/@clack+prompts@1.0.1/node_modules/@clack/prompts/dist/index.mjssrc/commands/setup-assets.tssrc/commands/setup-options.tssrc/commands/namespace.tssrc/commands/transfer.ts(
strings /home/lakshyaag/.bun/install/global/node_modules/@traces-sh/traces-linux-x64/bin/traces | grep -C 5 "cursor" | head -n 100edgeNames
tzdbNames
styles
RecalculateStyles
posixrules
.cursor/rules
The 'composes' property cannot be used within nested rules
tmp_modules
virtual_modules
linking dependency/workspace to node_modules
--no-install Don't install node_modules
--
customGetterAccessor
customAccessor
createStaticCustomAccessor
testStaticAccessor
Cannot access private method or acessor
fts3cursor
uv_strerror
perror
onerror
uv_dlerror
onmessageerror
--
i-bnn
nb nn
sqlite_drop_column
sqlite_rename_column
table-column
Cannot set cursor row without setting its column
after drop column
no such column
must have at least one non-generated column
cannot use DEFAULT on a generated column
add column
--
integer out of range %lld
%lld %lld
Ignoring malformed pax attribute: size > %lld
Ignoring oversized pax extensions: %lld > %lld
Ignoring malformed pax attribute: %lld > %lld
no such cursor: %lld
pax extension header has invalid size: %lld
Special header has invalid size: %lld
no such rowid: %lld
vloadunpackld
node-gyp rebuild
--
subsec
janfebmaraprmayjunjulaugsepoctnovdec
vaesdec
op_dec
**dec
.cursor/rules/use-bun-instead-of-node-vite-npm-pnpm.mdc
tinycc
/usr/local/lib/tcc
islamicc
pfpnacc
pfnacc
--
<green>
<overridden>
<Boolean>
</ChecksumAlgorithm>
<url>
"),c=>c.charCodeAt(0));let config={bun:"1.3.10"};var s=new TextDecoder;class k{view;cursor;constructor(z,J=0){this.view=z,this.cursor=J}u32(){let z=this.view.getUint32(this.cursor,!0);return this.cursor+=4,z}i32(){let z=this.view.getInt32(this.cursor,!0);return this.cursor+=4,z}u16(){let z=this.view.getUint16(this.cursor,!0);return this.cursor+=2,z}u8(){let z=this.view.getUint8(this.cursor);return this.cursor+=1,z}stringWithLength(z){let J=s.decode(this.view.buffer.slice(this.cursor,this.cursor+z));return this.cursor+=z,J}string32(){return this.stringWithLength(this.u32())}hasMoreData(){return this.cursor<this.view.byteLength}rest(){return this.view.buffer.slice(this.cursor)}}function n(z){let J=z.u8();if(J>=0&&J<=4)return a(z,J);else throw Error("TODO: JS Errors")}function a(z,J){let K=z.string32(),Y=v(z),Z=z.u32(),$=Array(Z);for(let X=0;X<Z;X++)$[X]=t(z);return{kind:"bundler",level:J,message:K,location:Y,notes:$}}function t(z){return{message:z.string32(),location:v(z)}}function v(z){let J=z.u32();if(J==0)return null;let K=z.u32(),Y=z.u32(),Z=z.string32();return{line:J,column:K,length:Y,lineText:Z}}var o=new Map([["if","syntax-pink"],["else","syntax-pink"],["for","syntax-pink"],["while","syntax-pink"],["do","syntax-pink"],["switch","syntax-pink"],["case","syntax-pink"],["break","syntax-pink"],["continue","syntax-pink"],["return","syntax-pink"],["try","syntax-pink"],["catch","syntax-pink"],["finally","syntax-pink"],["throw","syntax-pink"],["const","syntax-pink"],["let","syntax-pink"],["var","syntax-pink"],["function","syntax-pink"],["class","syntax-pink"],["interface","syntax-cyan italic"],["type","syntax-cyan italic"],["enum","syntax-cyan italic"],["namespace","syntax-cyan italic"],["abstract","syntax-cyan italic"],["implements","syntax-cyan italic"],["readonly","syntax-cyan italic"],["private","syntax-cyan italic"],["protected","syntax-cyan italic"],["public","syntax-cyan italic"],["static","syntax-cyan italic"],["declare","syntax-cyan italic"],["extends","syntax-cyan italic"],["true","syntax-purple"],["false","syntax-purple"],["null","syntax-purple"],["undefined","syntax-purple"],["this","syntax-orange italic"],["import","syntax-pink"],["export","syntax-pink"],["from","syntax-pink"],["as","syntax-cyan italic"],["default","syntax-pink"],["async","syntax-pink"],["await","syntax-pink"],["new","syntax-pink bold"]]),r=new Set(["private","protected","public","readonly","abstract","static","declare"]),e=new Set(["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","link","main","map","mark","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr"]),zz=new Set("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$_"),Jz=new Set("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789$_"),Kz=new Set(`
\r`),Yz=new Set("0123456789"),Zz=new Set("0123456789abcdefABCDEF"),$z=new Set("+-*/%=<>!&|^~?:");class c{text;pos=0;line=1;column=0;options;isInJSXTag=!1;isJSXTagStart=!1;isExpectingTypeName=!1;isInGenericType=!1;isInDestructuring=!1;isAfterExtendsOrImplements=!1;constructor(z,J={}){this.text=z,this.options={enableColors:!0,redactSensitiveInformation:!1,languageName:"javascript",showLineNumbers:!1,...J},this.pos=0,this.line=1,this.column=0,this.isInJSXTag=!1,this.isJSXTagStart=!1,this.isExpectingTypeName=!1,this.isInGenericType=!1,this.isInDestructuring=!1,this.isAfterExtendsOrImplements=!1}peek(z=0){return this.text[this.pos+z]||""}consume(z=1){let J=this.text.slice(this.pos,this.pos+z);for(let K of J)if(K===`
`)this.line++,this.column=0;else this.column++;return this.pos+=z,J}createToken(z,J,K){return{type:z,value:J,line:this.line,column:this.column-J.length,tokenClass:K}}lexWhitespace(){let z="";while(this.pos<this.text.length&&this.isWhitespace(this.peek())&&this.peek()!==`
`)z+=this.consume();return z?this.createToken("Whitespace",z):null}lexNewline(){return this.peek()===`
`?this.createToken("Newline",this.consume()):null}lexIdentifierOrKeyword(){if(!this.isIdentifierStart(this.peek()))return null;let z=this.consumeIdentifier(),J=o.get(z);if(this.isInJSXTag){if(this.isJSXTagStart)return this.isJSXTagStart=!1,this.createToken("JSXTag",z,e.has(z.toLowerCase())?"syntax-cyan":"syntax-green");return this.createToken("JSXAttribute",z,"syntax-orange")}if(J){if(r.has(z))return this.createToken("Keyword",z,"syntax-cyan italic");if(z==="interface"||z==="type"||z==="enum")return this.isExpectingTypeName=!0,this.createToken("Keyword",z,"syntax-cyan italic");if(z==="extends"||z==="implements")this.isAfterExtendsOrImplements=!0;return this.createToken("Keyword",z,J)}if(this.isExpectingTypeName)return this.isExpectingTypeName=!1,this.createToken("Identifier",z,"syntax-cyan italic");let K=this.peek(),Y=this.pos>0?this.text[this.pos-1]:"";if(Y===":"&&!this.isInDestructuring||this.isAfterExtendsOrImplements||Y==="<"&&this.isInGenericType||Y==="<"&&K!=="="&&!this.isInJSXTag)return this.createToken("Identifier",z,"syntax-cyan italic");if(this.peek()==="(")return this.createToken("Identifier",z,"syntax-green");return this.createToken("Identifier",z,"syntax-fg")}lexNumber(){if(!this.isDigit(this.peek()))return null;let z=this.consumeNumber();return this.createToken("Number",z,"syntax-purple")}lexString(){let z=this.peek();if(z!=='"'&&z!=="'"&&z!=="`")return null;if(z==="`")return this.lexTemplateString();let J=this.consumeString(z);return this.createToken("String",J,"syntax-yellow")}lexTemplateString(){let z=[],J=this.consume();while(this.pos<this.text.length){let K=this.peek(),Y=this.peek(-1);if(K==="`"&&Y!=="\\"){J+=this.consume(),z.push(this.createToken("TemplateString",J,"syntax-yellow"));break}if(K==="$"&&this.peek(1)==="{"&&Y!=="\\"){if(J)z.push(this.createToken("TemplateString",J,"syntax-yellow")),J="";let Z=this.consume(2);z.push(this.createToken("TemplateInterpolation",Z,"syntax-pink"));let $=1;while(this.pos<this.text.length&&$>0){let X=this.peek();if(X==="{")$++;if(X==="}")$--;if($===0)z.push(this.createToken("TemplateInterpolation",this.consume(),"syntax-pink"));else{let V=this.nextToken();if(V)z.push(V)}}continue}if(K==="\\")J+=this.consume(2);else J+=this.consume()}return z[0]}lexComment(){if(this.peek()!=="/"||this.peek(1)!=="/"&&this.peek(1)!=="*")return null;let z=this.consumeComment();return this.createToken("Comment",z,"syntax-gray")}lexOperator(){if(!this.isOperator(this.peek()))return null;let z=this.consumeOperator();return this.createToken("Operator",z,"syntax-pink")}lexPunctuator(){let z=this.peek();if("[](){}.,;".includes(z)){if(z==="<"){let J=this.peek(1);if(this.isIdentifierStart(J)||J==="/")this.isInJSXTag=!0,this.isJSXTagStart=!0;else if(this.isIdentifierStart(this.peek(2)))this.isInGenericType=!0}else if(z===">")this.isInJSXTag=!1,this.isInGenericType=!1;else if(z==="{")this.isInDestructuring=!0;else if(z==="}")this.isInDestructuring=!1;return this.createToken("Punctuator",this.consume(),"syntax-pink")}return null}nextToken(){if(this.pos>=this.text.length)return null;let z=this.lexWhitespace()||this.lexNewline()||this.lexComment()||this.lexString()||this.lexIdentifierOrKeyword()||this.lexNumber()||this.lexOperator()||this.lexPunctuator()||this.createToken("Operator",this.consume(),"syntax-pink");if(z?.type!=="Whitespace"&&z?.type!=="Newline")this.isAfterExtendsOrImplements=!1;return z}*tokenize(){while(this.pos<this.text.length){let z=this.nextToken();if(z)yield z}}highlight(){let z=this.options.languageName?`dracula-theme language-${this.options.languageName}`:"dracula-theme",J=this.options.showLineNumbers?`${z} with-line-numbers`:z,K="",Y="",Z=1,$=()=>{if(Y)K+=this.buildHtmlElement("div",{class:"line"},Y),Y=""};for(let X of this.tokenize()){if(X.type==="Newline"){$(),Z++;continue}if(X.tokenClass)Y+=this.wrap(X.value,X.tokenClass);else Y+=this.escapeHtml(X.value)}return $(),this.buildHtmlElement("pre",{class:J},K)}highlightLine(){let z="";for(let J of this.tokenize()){if(J.type==="Newline")continue;if(J.tokenClass)z+=this.wrap(J.value,J.tokenClass);else z+=this.escapeHtml(J.value)}return z}escapeHtml(z){return z.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}buildHtmlElement(z,J,K){let Y=Object.entries(J).map(([Z,$])=>`${Z}="${this.escapeHtml($)}"`).join(" ");return`<${z}${Y?" "+Y:""}>${K}</${z}>`}wrap(z,J){if(!this.options.enableColors)return this.escapeHtml(z);return`<span class="${J.split(" ").map((K)=>K.trim()).join(" ")}">${this.escapeHtml(z)}</span>`}isIdentifierStart(z){return zz.has(z)}isIdentifierPart(z){return Jz.has(z)}isWhitespace(z){return Kz.has(z)}isDigit(z){return Yz.has(z)}isHexDigit(z){return Zz.has(z)}isOperator(z){return $z.has(z)}consumeIdentifier(){let z=this.consume();while(this.pos<this.text.length&&this.isIdentifierPart(this.peek()))z+=this.consume();return z}consumeString(z){let J="",K=this.pos,Y=!1;J+=this.consume();while(this.pos<this.text.length){let Z=this.peek();if(Y){J+=this.consume(),Y=!1;continue}if(Z==="\\"){J+=this.consume(),Y=!0;continue}if(Z===z){J+=this.consume();break}J+=this.consume()}return J}consumeTemplateString(){let z="",J=this.pos,K=!1;z+=this.consume();while(this.pos<this.text.length){let Y=this.peek();if(K){z+=this.consume(),K=!1;continue}if(Y==="\\"){z+=this.consume(),K=!0;continue}if(Y==="`"){z+=this.consume();break}if(Y==="$"&&this.peek(1)==="{")return z;z+=this.consume()}return z}consumeNumber(){let z="";if(this.peek()==="0"){let J=this.peek(1);if(J==="x"||J==="X"){z=this.consume(2);while(this.pos<this.text.length&&this.isHexDigit(this.peek()))z+=this.consume();return z}}while(this.pos<this.text.length){let J=this.peek();if(this.isDigit(J)||J==="."||J==="e"||J==="E")z+=this.consume();else break}return z}consumeComment(){let z=this.consume(2),J=z;if(z==="//")while(this.pos<this.text.length){if(this.peek()===`
`)break;J+=this.consume()}else{let K=!1;while(this.pos<this.text.length&&!K)if(this.peek()==="*"&&this.peek(1)==="/")J+=this.consume(2),K=!0;else J+=this.consume()}return J}consumeOperator(){let z=this.consume(),J=this.peek();if(this.isOperator(J)){let K=z+J;if(["==","===","!=","!==",">=","<=","++","--","&&","||","??",">>","<<","=>"].includes(K)){if(z+=this.consume(),(K==="=="||K==="!="||K==="<<"||K===">>")&&this.peek()===K[0])z+=this.consume()}}return z}shouldRedactSensitive(z){if(z.length===36&&z[8]==="-"&&z[13]==="-"&&z[18]==="-"&&z[23]==="-"){let J=(K)=>this.isHexDigit(K)||K==="-";return[...z].every(J)}if(z.includes("@")&&(z.startsWith("http://")||z.startsWith("https://")||z.startsWith("ftp://")))return!0;if(z.startsWith("npm_")&&z.length===68){let J=(K)=>this.isIdentifierPart(K);return z.slice(4).every(J)}return!1}}function Gz(z){return new c(z).highlightLine()}var H=new Map,P=[],E=new Map,L=new Set,_=-1,w=-1,A=!1,R,f,M,x,D={};function G(z,J,K){let Y=document.createElement(z);if(J)for(let Z in J)Y.setAttribute(Z,J[Z]);if(K)for(let Z of K)Y.appendChild(Z);return Y}function I(z,J,K){let Y=document.createElement(z);if(J)for(let Z in J)Y.setAttribute(Z,J[Z]);return Y.textContent=K,Y}var N=(z="")=>document.createTextNode(z);function Xz(){if(f)return;R=G("bun-hmr",{style:"position:fixed!important;display:none!important;top:0!important;left:0!important;width:100%!important;height:100%!important;background:#8883!important;z-index:2147483647!important"});let z=R.attachShadow({mode:"open"}),J=new CSSStyleSheet;J.replace("*{box-sizing:border-box;margin:0;padding:0}.root{all:initial;--modal-bg:#202020;--modal-text:#fafafa;--modal-text-faded:#fafafa88;--item-bg:#0f0f0f;--item-bg-main:#262626;--log-error:#ff5858;--log-warn:#fbbf24;--log-note:#22d3ee;--log-colon:#888;--red:#ff5858;--red-faded:#ff58582f;--error-bg:#ff58582f;--warn-bg:#eab3082f;--syntax-comment:#6272a4;--syntax-cyan:#8be9fd;--syntax-green:#50fa7b;--syntax-orange:#ffb86c;--syntax-pink:#ff79c6;--syntax-purple:#bd93f9;--syntax-red:#f55;--syntax-yellow:#f1fa8c;position:fixed;display:flex;flex-direction:column;align-items: center;width:100%;height:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,Oxygen,Open Sans,sans-serif;top:0;left:0}code,.message,.function-name,.file-name,.code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}pre,code{font:unset}button{appearance:none;font-size:unset;cursor:pointer;background-color:#0000;border:none}.flex{flex:1}.muted{color:var(--modal-text-faded)}.modal{color:var(--modal-text);background-color:var(--modal-bg);border-top:8px solid var(--red);border-radius:8px;width:100%;max-width:940px;margin:4rem 2rem 2rem;box-shadow:0 2px 6px #0004,0 2px 32px #0003}footer{display:flex;color:var(--modal-text-faded);margin:1rem}nav{display:flex;color:var(--modal-text-faded);align-items: center;margin:1rem}.tab-button{background-color:var(--red-faded);border-radius:4px;width:24px;height:24px}.tab-button[disabled]{opacity:.5}.tab-button.left{border-top-right-radius:0;border-bottom-right-radius:0;margin-right:2px}.tab-button.right{border-top-left-radius:0;border-bottom-left-radius:0;margin-right:.5rem}.dismiss-all{width:24px;height:24px}header{display:flex;align-items: center;margin:1rem}.title{color:var(--red);font-size:2rem;font-weight:700}.r-error{background-color:var(--item-bg)}.message-desc{padding:0 1.5rem}.message-desc.error{background-color:var(--error-bg);padding:1rem 1.5rem}.message-desc.warn{background-color:var(--warn-bg);padding:1rem 1.5rem}.r-error .name{color:var(--red);font-weight:700}.file-name{color:var(--modal-text);font-weight:700}.r-code-wrap{background-color:var(--item-bg-main);--color:var(--log-error)}.b-group{display:flex;background-color:var(--item-bg);flex-direction:column}.b-group+.b-group{border-top:1px solid var(--modal-text-faded)}.b-group .code{padding-bottom:1rem}.log-error{--color:var(--log-error);font-weight:700}.log-warn{--color:var(--log-warn)}.log-note{--color:var(--log-note)}.log-colon{--color:var(--log-colon)}.log-label{color:var(--color)}.message-desc.note+.code{padding-top:.75rem}.trace-frame{padding:.7rem 1.5rem}.trace-frame+.trace-frame{margin-top:-.5rem}.function-name{color:var(--syntax-cyan);font-style:italic}.code{display:flex;padding-top:1rem}.code .gutter{display:flex;text-align:right;user-select:none;pointer-events:none;color:var(--modal-text-faded);border-right:1px solid var(--modal-text-faded);border-width:1.5px;flex-direction:column;margin-right:1rem;padding:.3rem .5rem}.code .gutter div{white-space:pre}.code .gutter .highlight-gap{font-size:8px}.code .view{padding:.3rem 0}.highlight-wrap{color:#0000;user-select:none;-webkit-user-select:none;pointer-events:none;margin-bottom:-10px;transform:translateY(-16px)}.highlight-wrap:last-child{position:absolute;margin-bottom:0}.highlight-gap{height:10px}.highlight-wrap .line{text-decoration:underline;text-decoration-style:wavy;text-decoration-color:var(--color)}@media (prefers-color-scheme:light){.log-warn,.log-note{font-weight:700}}.syntax-pink{color:var(--syntax-pink)}.syntax-cyan{color:var(--syntax-cyan)}.syntax-orange{color:var(--syntax-orange)}.syntax-red{color:var(--syntax-red)}.syntax-green{color:var(--syntax-green)}.syntax-yellow{color:var(--syntax-yellow)}.syntax-gray{color:var(--syntax-comment)}.syntax-purple{color:var(--syntax-purple)}.tab-button.left{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjZmY1ODU4Ij48cGF0aCBkPSJtMzEzLTQ0MCAyMjQgMjI0LTU3IDU2LTMyMC0zMjAgMzIwLTMyMCA1NyA1Ni0yMjQgMjI0aDQ4N3Y4MEgzMTNaIi8+PC9zdmc+)}.tab-button.right{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjZmY1ODU4Ij48cGF0aCBkPSJNNjQ3LTQ0MEgxNjB2LTgwaDQ4N0w0MjMtNzQ0bDU3LTU2IDMyMCAzMjAtMzIwIDMyMC01Ny01NiAyMjQtMjI0WiIvPjwvc3ZnPg==)}.dismiss-all{opacity:.5;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAtOTYwIDk2MCA5NjAiIHdpZHRoPSIyNHB4IiBmaWxsPSIjRkZGIj48cGF0aCBkPSJtMjU2LTIwMC01Ni01NiAyMjQtMjI0LTIyNC0yMjQgNTYtNTYgMjI0IDIyNCAyMjQtMjI0IDU2IDU2LTIyNCAyMjQgMjI0IDIyNC01NiA1Ni0yMjQtMjI0LTIyNCAyMjRaIi8+PC9zdmc+)}@media (prefers-color-scheme:light){.dismiss-all{filter:invert(1)}}"),z.adoptedStyleSheets=[J];let K=G("div",{class:"root"},[G("div",{class:"modal"},[D.root=G("nav",null,[D.prevBtn=I("button",{class:"tab-button left",disabled:"true","aria-label":"Previous error"},""),D.nextBtn=I("button",{class:"tab-button right","aria-label":"Next error"},""),G("span",null,[D.active=G("code"),N(" of "),D.total=G("code"),D.label=N(" Errors")]),G("div",{class:"flex"}),D.dismissAllBtn=G("button",{class:"dismiss-all","aria-label":"Dismiss all errors"})]),G("header",null,[f=G("div",{class:"title"})]),M=G("div",{class:"error-content"}),G("footer",null,[x=I("div",null,""),G("div",{class:"flex"}),I("div",null,"Bun v"+config.bun)])])]);D.dismissAllBtn.addEventListener("click",jz),D.prevBtn.addEventListener("click",Dz),D.nextBtn.addEventListener("click",Hz),z.appendChild(K),document.body.appendChild(R)}var b=!1;function u(z){if(b===z||!R)return;b=z,R.style.display=z?"block":"none"}function Uz(z){let J=new k(z,1),K=J.u32();for(let Y=0;Y<K;Y++){let Z=J.u32();L.add(Z),H.delete(Z)}while(J.hasMoreData())i(J);T()}function i(z){let J=z.u32(),K=z.string32()||null,Y=z.u32(),Z=Array(Y);for(let $=0;$<Y;$++)Z[$]=n(z);H.set(J,{file:K,messages:Z}),L.add(J),_=-1,A=!0}function T(){let z=P.length+H.size;if(z===0){location.reload();return}if(_===-1&&H.size===0)_=0,A=!0;else if(_>=P.length)if(A=!0,_===0)_=-1;else _=P.length-1;if(Xz(),A){if(A=!1,_>=0){let J=P[_];f.innerHTML=J.async?"Unhandled Promise Rejection":"Runtime Error",_z(J)}else f.innerHTML=`<span class="count">${H.size}</span> Build Error${H.size===1?"":"s"}`;D.active.textContent=(_+1+(H.size>0?1:0)).toString(),D.total.textContent=z.toString(),D.label.textContent=z===1?" Error":" Errors",D.nextBtn.disabled=_>=P.length-1,D.prevBtn.disabled=H.size>0?_<0:_==0}if(_===-1)if(w!==-1)M.innerHTML="",g({remountAll:!0});else g({});if(w=_,H.size>0)x.style.display="block",x.innerText=_===-1?"Errors during a build can only be dismissed by fixing them.":"This dialog cannot be dismissed as there are additional build errors.";else x.style.display="none";D.dismissAllBtn.style.display=H.size>0?"none":"block",D.root.style.display=P.length>0?"flex":"none",u(!0)}function _z(z){M.innerHTML="";let J=G("div",{class:"r-error"}),K=z.name;if(!K||K==="Error")K="error";J.appendChild(G("div",{class:"message-desc error"},[I("code",{class:"name"},K),I("code",{class:"muted"},": "),I("code",{},z.message)]));let{code:Y}=z,Z=z.trace;if(Y){let{lines:$,col:X,loi:V,len:F,firstLine:y}=Y,S=Z[0];Z=Z.slice(1);let O=G("div",{class:"r-code-wrap"}),Q=$.slice(0,V+1),j=$.slice(V+1),W=G("div",{class:"gutter"},[I("div",null,Q.map((U,q)=>`${q+y}`).join(`
`)),G("div",{class:"highlight-gap"}),I("div",null,j.map((U,q)=>`${q+y+Q.length}`).join(`
`))]);O.appendChild(G("div",{class:"code"},[W,G("div",{class:"view"},[...Q.map((U)=>C(U)),G("div",{class:"highlight-wrap log-error"},[I("span",{class:"space"},"_".repeat(X-1)),I("span",{class:"line"},"_".repeat(F))]),...j.map((U)=>C(U))])])),O.appendChild(p(S,"trace-frame")),J.appendChild(O)}J.appendChild(G("div",{class:"r-error-trace"},Z.map(($)=>p($,"trace-frame")))),M.appendChild(J)}function g({remountAll:z=!1}){let J=0,K=z?H.keys():L;for(let Y of K){let Z=H.get(Y),$=E.get(Y);if(!Z){$?.root.remove(),E.delete(Y);continue}if(J+=Z.messages.length,!$||z){let X,V=G("div",{class:"b-group"},[G("div",{class:"trace-frame"},[G("div",{class:"file-name"},[X=N()])])]);$={root:V,fileName:X,messages:[]},M.appendChild(V),E.set(Y,$)}else $.messages.forEach((X)=>X.remove());$.fileName.textContent=Z.file;for(let X of Z.messages){let V=Iz(X);$.root.appendChild(V),$.messages.push(V)}}L.clear()}function C(z){let J=G("pre");return J.innerHTML=z,J}var m=["error","warn","note","debug","verbose"];function Iz(z){return G("div",{class:"b-msg"},[d(z.level,z.message),...z.location?l(z.location,z.level):[],...z.notes.map(Wz)].flat(1))}function p(z,J){let K=!!z.fn;return G("div",{class:J},[I("span",{class:"muted"},"at "),...K?[I("span",{class:"function-name"},z.fn),I("span",{class:"muted"}," in ")]:[],I("span",{class:"file-name"},z.file),...z.line?[I("code",{class:"muted"},`:${z.line}`+(z.col?`:${z.col}`:""))]:[]])}function d(z,J){let K=m[z];return G("div",{class:"message-desc "+K},[I("span",{class:"log-label log-"+K},K),I("span",{class:"log-colon"},": "),I("span",{class:"log-text"},J)])}function l(z,J){return[G("div",{class:"code"},[G("div",{class:"gutter"},[I("div",null,`${z.line}`)]),G("div",{class:"view"},[C(Gz(z.lineText)),G("div",{class:"highlight-wrap log-"+m[J]},[I("span",{class:"space"},"_".repeat(z.column-1)),I("span",{class:"line"},"_".repeat(z.length))])])])]}function Wz(z){return[d(2,z.message),...z.location?l(z.location,2):[]]}function jz(){if(H.size===0)u(!1);else _=-1,T()}function Dz(){if(_===-1)return;if(_===0&&H.size===0)return;_--,A=!0,T()}function Hz(){if(_>=P.length-1)return;_++,A=!0,T()}var Vz=location.host==="localhost"||location.host==="127.0.0.1",qz=typeof document<"u"?()=>new Promise((z)=>{let J=null,K=()=>{if(J!==null)clearTimeout(J),J=null},Y=()=>{if(J!==null)clearTimeout(J);window.removeEventListener("focus",Y),window.removeEventListener("blur",K),z()};if(window.addEventListener("focus",Y),document.hasFocus())J=setTimeout(()=>{J=null,Y()},Vz?2500:2500),window.addEventListener("blur",K)}):()=>new Promise((z)=>setTimeout(z,2500)),B=null,Fz=(z)=>{let J=globalThis?.location?.origin??globalThis?.location?.href??"http://localhost:3000",K=new URL(z,J);if(K.protocol==="https:")K.protocol="wss:";else if(K.protocol==="http:")K.protocol="ws:";return K.toString()};function Pz(z,{url:J="/_bun/hmr",onStatusChange:K}={}){J=Fz(J);let Y=!0,Z=!1,$=[],X=0,V=262144,F={wrapped:null,send(W){let U=this.wrapped;if(U&&U.readyState===1)U.send(W)},sendBuffered(W){let U=this.wrapped;if(U&&U.readyState===1)U.send(W);else if(U&&U.readyState===0&&X<V)$.push(W),X+=typeof W==="string"?W.length:W.byteLength},close(){if(Z=!0,this.wrapped?.close(),B===this)B=null},[Symbol.dispose](){this.close()}};if(B===null)B=F;function y(){console.info("[Bun] Hot-module-reloading socket connected, waiting for changes..."),K?.(!0);let W=$;$=[],X=0;for(let U of W)F.send(U)}function S(W){let{data:U}=W;if(typeof U==="object"){let q=new DataView(U);z[q.getUint8(0)]?.(q,j)}}function O(W){if(j.readyState===WebSocket.CLOSED||j.readyState===WebSocket.CLOSING)W.preventDefault()}async function Q(){K?.(!1),console.warn("[Bun] Hot-module-reloading socket disconnected, reconnecting..."),await new Promise((W)=>setTimeout(W,1000)),$.length=X=0;while(!0){if(Z)return;let W,U=new Promise((q)=>W=q);if(j=F.wrapped=new WebSocket(J),j.binaryType="arraybuffer",j.onopen=()=>{console.info("[Bun] Reconnected"),W(!0),K?.(!0),j.onerror=O},j.onmessage=S,j.onerror=(q)=>{q.preventDefault(),W(!1)},await U)break;await qz()}}let j=F.wrapped=new WebSocket(J);return j.binaryType="arraybuffer",j.onopen=y,j.onmessage=S,j.onclose=Q,j.onerror=O,F}{let z=new k(new DataView(error.buffer),0);while(z.hasMoreData())try{i(z)}catch(J){console.error(J);break}T()}var h=!0,Az=Pz({86(z){if(h)h=!1;else location.reload();Az.send("se")},101:Uz});
</script></body></html>
<null>
<Cell>
--
Some calls errored:
Expected: {f}
Received:
Number of returns: {d}
Number of calls: {d}
:host{--bun-error-color: #e33737;--bun-error-monospace: ui-monospace, Menlo, Monaco, "Cascadia Mono", "Segoe UI Mono", "Roboto Mono", "Oxygen Mono", "Ubuntu Monospace", "Source Code Pro", "Fira Mono", "Droid Sans Mono", "Courier New", monospace;--bun-error-width: 512px}:host a{color:inherit;text-decoration:none}:host a:hover{text-decoration:underline}#BunErrorOverlay-container{box-shadow:0 16px 24px #0000000f,0 2px 6px #0000001a,0 0 1px #0000000a;backdrop-filter:blur(42px);backface-visibility:visible;border:inset 1px solid rgba(0,0,0,.2);border-radius:17px;background-color:#ffffffeb;width:var(--bun-error-width);position:fixed;top:120px;right:48px;z-index:999999;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol}.BunErrorRoot--FullPage #BunErrorOverlay-container{position:static;top:unset;right:unset;margin:60px auto}.BunError-error-message--quoted{color:#192e09}:host a{color:inherit}.BunError-Summary-ErrorIcon{content:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAgCAYAAAB3j6rJAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAJiSURBVHgBzZdLUttAEIa7RwpVeKUD4Ip8hFSB7V3kG8AJgBPgG+CcAG4QcwPfIFpiigU5gRWcqmy1AVwVaTo9Y+yyiEeakc3jX7j0GEmfe7r/6QH4IELYUJNuN/LyPMwRU2g04lYcp1BDtUEYIPSJvvNhtHI5QcTB3vX1FThKQE0xxI8XEEohEQ2n+/sROKoWyP3BwYn6qHGA553DW4CgEFUfin6328fwmiDTbldBhFXjiHNlEkUBWMoJRCUoSNm3HB6Kx0fbsW4gnpQDQLT/l4hntlGxBlHR4NJ0mndW4D08WCWuNYgv5YXhVsJmNASi0bqbnNj9P2pKtwGiyxXxcM2tJNvd/bI3Hp82b26OJOK3dc9nc+PbHMRUrhyJgqV7QowMr4iqTK4SpNK8VvRXSnNiVphcKYhO0BLzIkvAZ5WaXCmID6AeDGFLYpO7NJWzEUSbF9EAHKTagYohgcnkjCDavKoVgqNMJrcWpKZ5AQlh46LBp6enCysQ36LuFy8tnBFZ2Tkn+cnLcv6vQ1PlypViC6I+PsiEUB3ZomMLLZ+Mm+Nxzwgy7XQmsMVKKVWe95q3t7E6LEyNi3ktRZSWrTWl8rxl5JcgVeZlUJI1Gq3FWsM+cQpuCn91Ov0CiEd0Bo7RkERXq2tNPps5R4UBzlU5axAdDQDrbmr5EsSvhQs7OxG4S5ucTtb7dntYxzeeNWLzi3MhWpwnxy4d3IpSX/0yxGeor0OGmPcqWHu/FixypNY2cZvSINxZ/YT3VTIHmc0u1Qm8k9R+WYO07u7SDLHH+1bnzfNGYjPkhfJIbdr/AfAS02LsKGiuAAAAAElFTkSuQmCC);width:20px;height:19px;margin-right:6px;display:block}.BunError-Summary-CloseIcon{content:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAmCAYAAACoPemuAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAKKSURBVHgBxZjpTsMwEISnaTmLKLf4AX94/7fiFlRcJaUKl6exK8e1k7XTY6QVUbDjj/V4bdNBe2Uquio2nPdfKn6RqA7StKuir2JHxXZNO4LlKkb65zeWBLavYxdpelMxhABQCkaQI6QDuRrqCEoCdqjiFItXoeIagex1Gzqfo8zUMsSxByo+Vfz4fokaqH0sVx09xhxcCOwY5RSuQgbuHVZ58YGx0RlWK8LtoYT74wsXjEXyHM3eW4Y4JgFZ76ZV2xancAPrE+3T44MNRiCp2bnd5MK29A0rfyFsP7VRz3pxLOxoF8ctFZeYz7wRPfOgn/mHX6B5Rui1zP7gDmQaWc8TlEXytwGKKpy+dRoYMG41Um+52fHBuVBG0jH6ZpAtyMVV20MYLgRFq+xBpm1TFrjtbAo7dfUAI1SzxMr9ocF8UFIPUx2TsQxx4pTQ9G7migVAVYBiwagQnK0kKBsotdITblDz7eRDgAH7QZrop9CBj/67gbywVmTAxGdxVKEeGtoQKgkusz4QoxDUbK+zZOCibkzGW/yYtMawTNx73tPkJ/CXEj7zMEjPSY7zRWYNJtUwAGVWX2i1sgi/QabcgJn7X4p8JSEEJ139467TqS/oxAvup34+QrhOmR1ijHLV89uS2xY9+WjPN7N3hbRiu0hNj1U2BKfzGesVs/XCBzc7r0j32iLEbE1Xs2/aHtHivzQtxEzNTia+VUIoGnaA1Yl3iEptDC1fblGcb2nRbSNC3cGZpbq6MtGdCJf6f7Qm0c+38BwiJANKbzexeoJegT7FZOIA5SbdFjDXUJO6RrFTRChe82Jv7PQPbcFyMJZ0aOMd3qx47SMoyw5B6VnjF2aECyjXMFEl6B+GYop4atKAigAAAABJRU5ErkJggg==);width:22px;height:22px;border-radius:50%;cursor:pointer}.BunError-Summary-CloseIcon:hover{transform:scale(1.2);background-color:#fff}.BunError-Summary{display:grid;grid-template-columns:min-content auto min-content min-content;grid-template-rows:46px;align-items:center;padding:0 18px;border-bottom:1px solid rgb(220,220,220)}.BunError-footer{display:flex;border-top:1px solid rgb(220,220,220);align-items:center;grid-template-columns:auto auto;justify-content:space-between}.BunError-footerItem{padding:12px 18px}.BunError-Summary-Title{font-weight:500;letter-spacing:.36px}.BunError-ErrorTag,.BunError-error-code{color:#a5a5a5;font-weight:500;font-size:12pt}.BunError-ErrorTag{font-size:14px;text-transform:uppercase;font-weight:300}.BunError-error-header{display:flex;align-items:center;gap:.5ch}.BunError-error-message{color:var(--bun-error-color);font-size:16pt;font-weight:700}.BunError-list{margin-top:14px;gap:14px}.BunError-error-subtitle,.BunError-error-header,.BunError-error-message{padding-left:18px;padding-right:18px}.BunError-error-subtitle{font-size:500}.BunError-NativeStackTrace{margin-top:0;width:100%}.BunError-NativeStackTrace-filename{padding:8px 18px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-weight:500;letter-spacing:.36px;margin-bottom:8px;display:block}.BunError-NativeStackTrace-filename:hover{text-decoration:underline}.BunError-SourceLines-lines a{text-decoration:none}.BunError-SourceLine-text::selection,.BunError-SourceLine-text *::selection{background-color:#6437e3;color:#fff}.BunError-SourceLine-text:active:before{width:61px;z-index:-1;pointer-events:none}.BunError-SourceLine{display:grid;grid-template-columns:min-content auto}.BunError-SourceLines{font-size:14px;align-items:center;overflow-x:auto}.BunError-CopyButton{font-weight:500;font-size:1em;vertical-align:middle;display:flex;align-content:center;align-items:center;border-right:1px solid #ccc;background:#fcfcfc;border-bottom-left-radius:12px;color:#333;cursor:pointer;user-select:none;-webkit-user-select:none;transition:transform .1s linear}.BunError-CopyButton,#BunError-poweredBy{padding:12px}.BunError-Summary-help{display:flex;white-space:nowrap;gap:9px;margin-right:18px;border-right:1px solid rgb(220,220,220);height:100%;align-items:center;padding-right:18px;text-decoration:none;cursor:pointer}.BunError-Summary-help svg{opacity:.5}#BunErrorOverlay-container .BunError-Summary-help{color:#999}#BunErrorOverlay-container .BunError-Summary-help:hover{color:#5865f2}#BunErrorOverlay-container .BunError-Summary-help:hover svg{opacity:1}.BunError-CopyButton svg{width:18px;margin-right:.7em;opacity:.75;margin-left:6px;fill:currentColor;stroke:currentColor}.BunError-CopyButton:hover{background:#6437e3;color:#fff;border-right-color:#6437e3}.BunError-CopyButton:active{transform:scale(1.03);transform-origin:center center}.BunError-SourceLine-text{white-space:pre;cursor:text;display:block;position:relative;font-family:var(--bun-error-monospace)}.BunError-SourceLine-number{font-variant:tabular-nums;display:block;border-left:4px solid transparent;margin-left:-1px;cursor:pointer;padding-left:14px;padding-right:12px;text-align:right;text-decoration:none;position:relative}.BunError-SourceLine-number,.BunError-SourceLine-number *{user-select:none;-webkit-user-select:none}.BunError-SourceLine-number:active+.BunError-SourceLine-text{background-color:#6437e3;color:#fff}.BunError-SourceLine-number:hover{background-color:#7443fa;color:#fff}.BunError-SourceLine:hover .BunError-SourceLine-number{border-left-color:#7443fa}.BunError-SourceLine-number--empty{color:#a5a5a5}.BunError-SourceLine-number,.BunError-SourceLine-text{height:18px}.BunError-SourceLines-highlighter--0,.BunError-SourceLines-highlighter--1,.BunError-SourceLines-highlighter--2,.BunError-SourceLines-highlighter--3,.BunError-SourceLines-highlighter--4,.BunError-SourceLines-highlighter--5{position:absolute}#BunErrorOverlay-container .BunError-SourceLine-text--highlight{color:#e33737}#BunError-poweredBy{height:16px;content:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPMAAAAgCAYAAADHXE6+AAABhWlDQ1BJQ0MgcHJvZmlsZQAAKJF9kT1Iw0AYht+mSqVUHOwg4pChCooFURFHqWIRLJS2QqsOJpf+QZOGJMXFUXAtOPizWHVwcdbVwVUQBH9AHJ2cFF2kxO+SQosY7zju4b3vfbn7DhAaFaaaXROAqllGKh4Ts7lVMfCKAII0RzEmMVNPpBcz8Bxf9/Dx/S7Ks7zr/hy9St5kgE8knmO6YRFvEM9sWjrnfeIwK0kK8TnxuEEXJH7kuuzyG+eiwwLPDBuZ1DxxmFgsdrDcwaxkqMTTxBFF1ShfyLqscN7irFZqrHVP/sJQXltJc53WEOJYQgJJiJBRQxkVWIjSrpFiIkXnMQ//oONPkksmVxmMHAuoQoXk+MH/4HdvzcLUpJsUigHdL7b9MQwEdoFm3ba/j227eQL4n4Erre2vNoDZT9LrbS1yBPRtAxfXbU3eAy53gIEnXTIkR/LTEgoF4P2MvikH9N8CwTW3b61znD4AGerV8g1wcAiMFCl73ePdPZ19+7em1b8foeJyunuPxOcAAAAGYktHRAC0ABcAF4a+JZkAAAAJcEhZcwAALiMAAC4jAXilP3YAAAAHdElNRQfmBwoKLQocPFhsAAAAGXRFWHRDb21tZW50AENyZWF0ZWQgd2l0aCBHSU1QV4EOFwAACkNJREFUeNrtXT1sG0cW/rg2yMLcFKYAk2pMQDq6kXDCsQkNA3ETxYXTJC7uKl+TNGnuBzinuKuuSopclavjFEmKOI1VOK4UwLaaCLHBNBIkgGpIBhBd3PKKJWAyxb4Jn55mdmd3uTJp7wMWS3Jn3ryZfd+8n5ldFpBTThmT4ziF8XjsAigDqAK4BGBC38tUrAzggqb6L3Q+ANCnc04aKuRDkFNGdAvAKh1VBlpJk5h8hwCeAngM4EE+zDmYc8qeti3LTVK00QdwNwd1QOfyIcgpI/rzGRiUMoBr9PnZax/O5DqXUwZUfgkTx63XfdDP53qX0ysAZgC4Te72UMhRDYnZh3T06TBRlR0mHgeatsuUMyhrwgNo6nBv4/eivSF5H49MsuYxc05ZUBXANzHKT2bU7ucAvmXfPwbwjmXs/aeQ618bgMzpAYBP2PcbAO5E1HkM4J/s+yqAf1u29bmcCHLLPD9UArAGwAOwb1mnAcAF0AYwWsA+TxBkph8COBTKeYkAsRkj7q45juMAmIzH4zhxeiGibMFQhk9CruM4DmvXpTphE9WKmAD/Y+nV3ACwAeADPmY5mOeH/gBgnT53LMBZAXCdPo8I0IsG5GcA/h5iLZ8B+B7AZyGg4CC7QGAqhIBUC1wC4okZ4Ny5c4UXL14ULCeSsqheFtcnBg+mTIC0BTKvewfAv37rQ46hubLMus8mKho+LwqQbUO8p3TYAPMXS+CdovF4DLLqv5WNAHKcPoS1XaUYuZpgHK+Rhc7BnNPcA1mCNKre4xAQRbbJrfpJXMebGGLSKqbLa0nodu5m55QlzTqbvWJR5gFmu9VzllaZ85Tu9i3KDySlDeWqn2fB+jqALsVrALAMoEYu3/8AHFFyJspVrACok+vnARgwnpKaVOeJgVcTgA9gN+T6MfQJoxKA3wF4g2Q5juhDnfrcpjLL9JuOfwnAZQBLrJ89Gr+o8akRbxDvnsW4xnHVVZ/9kLGXfUWC8U0K5rgguE3WSwKiIOLrL2c5e8RMoKWZwFZEP8oJeG0AeKTAvEZHA0Ea/m2mcIquEqh2DQyXAbxFE4MkD8COUKwaKQsMCtMieUwJngbJrEsYrVNCqSTKX6V2nmgSTC2SXYGzya5x/jreinoItjF6hoTVpmZ81NikpSsA3tTI5QHYEjJtMpnuG/hdZuM7oGPWVIV56aiKYK11I4LHISWB+nPmjcQB5F0ES2pDFgt/FCOOrnI3u8QSKS0Cpg/gOQnlMkta1ChfHSeXENTNr9Dh0vVtBtqBmAgkmGuCf1vTplLWkbD2Cog+WeMik6PBlJjXc9m5wX7vCiC3xLUhyerS+SaAexreHMg+1RtRnespweKyPg8YX3XtpgB0j67XaGxGhsmBTwjICMx3EtYd0jjfXfBQQ66NA8HGEJXhtrbuupi5QcDZEZauxT4fCZeSK/gPAPYMda8yKzcSSiWV0xVWTSrdRaaYOqXWWaQWyVOhs87LqBEgnmh4r4XwVpOIq+HdZP0ZUF1fgK2WQnEaGpnUBFJhsu+wSajGQNvWjL+6vo/5W8MuMCu2gSDbvaj0yPD7U8oBrMa1zNJVlJa3TWBqMhesyxTJZTd+L6RuUShPh1k1lylijclykTyHJdZmjXkTHQEaRVsai7JD8pbobAoZHmrq1lg/dzXXd1meYR3TjRxFZuk94u0Lq7cN4N2USiH7q9p6j/p7hWRUIUszxOupiRAjKzoA8F+WVJLx6AqA9w3uZhXTTG4fwKcLDmpTCGENZl3+3bT5oC3cYunuhtXdN9TthrjVSpGO2ASiaMnAo8Ksn8k1PDJYfz6ZeSFu5ygkIdRl4YorZArj3UvpZpv4eqy/XKYR8zqUqw3hTan6WYJZPZtsOu4B+BtO71/WKfNnFvH1K03nDQqgoxFZlJK4+SURKyOC50VR3iMl43FzhYHDJ8u2pAF7T7iAFXY27bVNusGiyM42vEsiFkcEYAcC+HHoOOSaJ8ZHyfAj8wa4t+QyOXoJ5ZllMqqPYBfY+xZl/wHgQwb+oWUb5VcBzI4BtAgBtARw2oHoCMtcYS73QFwvigmhE5EU0h0lpuReAjCn4e1ndB+TxLQ9Jk/d4Gntzome2k4OVWGd44B54a36+ZiWy9Uo5ZD9XrRQrKEGzOsMEMvCKvBEWZ1AUtK42GCew4BctCzIQ7B8l4RKlpNFXHITgv5nip15VrsR4bq/DFqNUXaFJZXieAjvGWJuU8y+EJZ52VC2ZgDksSGWNdX1NO6lz8rVNVa3y6z2EuMzMEwUUcpdjwEA6SK7EcBbDnGt6yH1KinuYz1CHtPYd0ROgLvYe2egfzZe3Tuwe4xRx/OQzjYbVa6Rm76B6X7pOwjWe5N4D2e+7q2zzGt0I0eGpIi80R12rQn9LqgrBgVS1uI5pjujahqr2yXedQbYnsFlV8tY69An5NQSUlzr3WOgMS1rKd4jAF+IyYrv/upq6rkp7qOpv3w8dZPfQHg9CLlPWVncrxDsqVZv31TAu0Qg1rm/YdspOYjUw/+2oeANOpJu15w7N9sl1+IHlpxaw8lNGj2h5Hy9eJMUfcDq8qWZjgGENeHijTTxHc9A6/i0qT21FRGUVPOZLOsWySgd7VF9V/BWbj9/hNEzuLNAsEtOjY9ya5sM8EmpRaDuML5rFvFvh927MuvXWa0tVy2TW7aAlu8CO0gZD98Fe5hh0cDcJqW8aaizo1HWbSrvEujrhlhzK0ShWhq3mtMRTu/M0sWE2zSjq91sLYMscZM7IwTrtpsM0E0D74fiN74G7WL6HDLEBNlIeB/bNOYmmbowL6ftYbo9le8XWERSGy04fZkCzAfkvS0EmHUx88/Q7y/uItgC2QkB6j5OZ2x94vldSEKFW3vfoEx7QnlNluOIElQ6N1w9tKGTpafJAeji5i2DfD6NzZahn/epbV8zrlvMU/Bgl/XmuYaeQS7V362ISWpf3Ituhjo3yaj+EMHGER3A+wlluIfpO74W0jKrmXmfxZ9DRGc21U4m4OT2y6Glct4ny/XcUL5HIC1auMge8Sthuow1iqh3HyfXYaP6uc3iUdt+qgdVKkwBfTZBHVP/bVzcEU1KfDy2yXO6GHPsh+Lep6WzTv4MEWwuMbX7KYJNJVHxtuzD9xau+mTewYyEcWXaej0LIMUhH/E2PgxmLG/cduLy82bQZ4jYOmsXu5AiwTTRfH9GYO1HuN+fwO6hjglNDn9lvx1auOovPZudv2nk9SX1vPZNESvPam35QYRCT1IC+SkB7i+O4/Qt5fmjJp+hA/4HAHqO40yYZT6IAPKBeDvJ/yPce/WK32EE377FJHIANjteZ8mXL7CYb3rMyZ4u4/TarRcS76ehNxAsQa1g+qdxZXZ2LYHcJ6AdQv/uaO0bNB3HwXg8nigg0Yv7qkwmDoqfLPlWAYx18bR4Q6eiCzj5p3hJ4nDdSwv6UlBgmmHtYPHe8phTfOKPR6qHMdrIdsdXIcIiVwVoJgkVv2Bp/W3L2cqftnxOOeWUU0C/AoLy/OlRotLzAAAAAElFTkSuQmCC)}#BunError-SourceLine-text-highlightExpression{font-weight:700;text-decoration-style:wavy}.BunError-JSException--TypeError #BunError-SourceLine-text-highlightExpression{border:1px solid rgba(0,0,0,.2)}.BunError-Indented{display:inline-block;user-select:none;-webkit-user-select:none}.BunError-divet{vertical-align:bottom;user-select:none;-webkit-user-select:none}.BunError-error-typename{font-family:var(--bun-error-monospace);color:#e39437;font-weight:700}.BunError-error-muted{font-weight:400;user-select:none;-webkit-user-select:none}.BunError-error-muted,.BunError-StackFrame--muted{color:#a5a5a5}.BunError-NativeStackTrace .BunError-error-typename{user-select:none;-webkit-user-select:none}.BunError-StackFrame-link{text-align:right}.BunError-StackFrame-link-content{display:flex;justify-content:flex-end;text-align:right;gap:.25ch;white-space:nowrap}.BunError-StackFrame{display:table-row}.BunError-StackFrame:hover{border-left-color:#5865f2}.BunError-StackFrame-identifier{padding-right:18px;font-size:.8em;font-family:var(--bun-error-monospace);letter-spacing:.49px;width:var(--max-length, auto);max-width:48ch;white-space:nowrap;text-overflow:clip;overflow:hidden}.BunError-error-message--mono{font-family:var(--bun-error-monospace)}.BunError-StackFrame-identifier,.BunError-StackFrame-link{display:table-cell;font-weight:500}.BunError-BuildError{padding-bottom:18px}.BunError-StackFrame-link-content{font-size:.8em}.BunError-StackFrames{display:table;table-layout:auto;width:100%;box-sizing:border-box;margin:0 auto;border-radius:4px;line-height:1.2;border-collapse:separate;border-spacing:12px 6px;background-color:#f4f4f4}.BunError-StackFrames-container{overflow-x:auto;max-width:var(--bun-error-width)}
{"cmd":"NODE_HANDLE_ACK"}
{"cmd":"NODE_HANDLE_NACK"}
}
"compilerOptions": {
// Environment setup & latest features
--
border: 0;
padding: 0.4rem 1.2rem;
border-radius: 8px;
font-weight: 700;
transition: 0.1s;
cursor: var(--bun-cursor);
.send-button:hover {
background: #f3d5a3;
transform: translateY(-1px);
cursor: pointer;
.response-area {strings /home/lakshyaag/.bun/install/global/node_modules/@traces-sh/traces-linux-x64/bin/traces | grep -iE "agentId|agent_id" | grep -i "cursor"agentId: "cursor",
agentId: "cursor",
INSERT INTO indexes (agent_id, cursor_json, last_scan_at, last_error)
stmt.run(state.agentId, state.cursorJson, state.lastScanAt, state.lastError ?? null);
const stmt = this.db.prepare("SELECT agent_id, cursor_json, last_scan_at, last_error FROM indexes WHERE agent_id = ?");
const stmt = this.db.prepare("SELECT agent_id, cursor_json, last_scan_at, last_error FROM indexes ORDER BY agent_id ASC");grep -a -C 100 "src/adapters/cursor/v1.ts" /home/lakshyaag/.bun/install/global/node_modules/@traces-sh/traces-linux-x64/bin/traces | head -n 500 | strings | grep -v "00000000" | head -n 200this.sessionPathCache.delete(first);
}
findSourcePathBySessionId(traceId) {
if (!fs2.existsSync(this.projectsDir)) {
return null;
}
let projectDirs = [];
try {
projectDirs = fs2.readdirSync(this.projectsDir);
} catch {
return null;
}
let scannedProjectDirs = 0;
for (const projectDir of projectDirs) {
if (scannedProjectDirs >= this.maxSourceLookupProjectDirsScanned) {
break;
}
const projectPath = path6.join(this.projectsDir, projectDir);
try {
if (!fs2.statSync(projectPath).isDirectory())
continue;
} catch {
continue;
}
scannedProjectDirs += 1;
const candidate = path6.join(projectPath, `${traceId}.jsonl`);
if (fs2.existsSync(candidate)) {
return candidate;
}
}
return null;
readSessionTitle(filePath) {
try {
const content = fs2.readFileSync(filePath, "utf-8");
const trimmed = content.trim();
if (!trimmed)
return null;
let summaryCandidate = null;
let firstUserCandidate = null;
const lines = trimmed.split(`
`).filter((line) => line.trim());
for (const line of lines) {
let entry = null;
try {
entry = JSON.parse(line);
} catch {
continue;
}
if (entry.type === "summary") {
const summaryText = this.extractSummaryText(entry);
const normalized = this.normalizeTitleCandidate(summaryText);
if (normalized) {
summaryCandidate = normalized;
}
continue;
}
if (!firstUserCandidate && entry.type === "user" && entry.message) {
const messageText = this.extractTextFromContent(entry.message.content);
const normalized = this.normalizeTitleCandidate(messageText);
if (normalized) {
firstUserCandidate = normalized;
}
}
}
return summaryCandidate ?? firstUserCandidate ?? null;
} catch {
return null;
}
extractSummaryText(entry) {
if (typeof entry.summary === "string")
return entry.summary;
if (typeof entry.text === "string")
return entry.text;
if (typeof entry.content === "string")
return entry.content;
if (entry.message?.content)
return this.extractTextFromContent(entry.message.content);
return "";
extractTextFromContent(content) {
if (!content)
return "";
if (typeof content === "string")
return content;
if (!Array.isArray(content))
return "";
return content.map((block) => {
if (!block)
return "";
if (block.type === "text" && block.text)
return block.text;
return "";
}).filter((text) => text).join(`
`).trim();
// src/adapters/cursor/v1.ts
import fs3 from "fs";
import path7 from "path";
import { Database } from "bun:sqlite";
class CursorAdapter extends BaseAdapter {
id = "cursor";
name = "Cursor";
discoverySchemaVersion = 2;
globalDb = null;
globalDbPath;
projectsDir;
cachedGlobalTraces = null;
cachedGlobalMtime = null;
maxTranscriptProjectsScanned = 5000;
maxTranscriptFilesScanned = 25000;
maxGlobalDirectoryProbeBubbles = 8;
constructor(options) {
super();
this.globalDbPath = options?.globalDbPath ?? agentStoragePaths.cursorGlobalDb;
this.projectsDir = options?.projectsDir ?? agentStoragePaths.cursorProjects;
async isAvailable() {
return fs3.existsSync(this.globalDbPath) || fs3.existsSync(this.projectsDir);
getGlobalDb() {
if (this.globalDb)
return this.globalDb;
if (!fs3.existsSync(this.globalDbPath)) {
return null;
}
try {
this.globalDb = new Database(this.globalDbPath, { readonly: true });
return this.globalDb;
} catch (err) {
console.error("Error opening Cursor global database:", err);
return null;
}
getGlobalDbMtime() {
if (!fs3.existsSync(this.globalDbPath))
return null;
try {
return fs3.statSync(this.globalDbPath).mtimeMs;
} catch {
return null;
}
getComposerPreview(data) {
const candidate = data.name?.trim() || data.text?.trim() || data.richText?.trim() || "(No title)";
return this.truncateText(candidate.split(`
`)[0], 100);
buildIndexCursor() {
const globalDbMtimeMs = this.getGlobalDbMtime() ?? 0;
const globalComposerCount = this.getGlobalComposerCount();
const transcriptState = this.getTranscriptState();
return {
schemaVersion: this.discoverySchemaVersion,
globalDbMtimeMs,
globalComposerCount,
transcriptNewestMtimeMs: transcriptState.newestMtimeMs,
transcriptFileCount: transcriptState.fileCount,
scanTruncated: transcriptState.scanTruncated
};
getGlobalComposerCount() {
const db = this.getGlobalDb();
if (!db) {
return 0;
}
try {
const row = db.query("SELECT COUNT(*) as count FROM cursorDiskKV WHERE key LIKE 'composerData:%'").get();
return row?.count ?? 0;
} catch {
return 0;
}
getTranscriptState() {
if (!fs3.existsSync(this.projectsDir)) {
return {
newestMtimeMs: 0,
fileCount: 0,
scanTruncated: false
};
}
let newestMtimeMs = 0;
let fileCount = 0;
let scanTruncated = false;
let scannedProjects = 0;
let projectDirs = [];
try {
projectDirs = fs3.readdirSync(this.projectsDir);
} catch {
return {
newestMtimeMs: 0,
fileCount: 0,
scanTruncated: false
};
}
projectLoop:
for (const projectDir of projectDirs) {
console.log(`traces not found at ${binaryPath}`);
return 0;
function attachFatalHandlers() {
process.on("exit", () => {
if (!isCleanExiting())
restoreTerminal();
});
process.on("SIGINT", () => {
restoreTerminal();
flushCliSentry().finally(() => process.exit(130));
});
function attachCrashHandlers() {
process.on("uncaughtException", (error50) => handleFatalError(error50, "uncaughtException"));strings /home/lakshyaag/.bun/install/global/node_modules/@traces-sh/traces-linux-x64/bin/traces | grep -C 20 "agentStoragePaths" | head -n 100var home = os6.homedir();
var defaultConfig = {
sessionListLimit: 100,
largeSessionWarningThreshold: 250,
readOnlyMode: false,
maxEventBytes: 512 * 1024,
maxBatchBytes: 4 * 1024 * 1024,
maxBatchItems: 50,
tracesServerPort: 19876
var defaultEnv = {
TRACES_API_URL: "https://api.traces.com",
TRACES_HTTP_URL: "https://actions.traces.com",
TRACES_URL: "https://www.traces.com",
TRACES_CLI_SENTRY_DSN: "https://e0ed6ff5ee05b400281df1e818290652@o4510896165617664.ingest.us.sentry.io/4510896849027072"
var updateConfig = {
updateRepo: "market-dot-dev/traces-binaries",
autoupdate: true,
brewFormula: "traces",
npmPackage: "@traces-sh/traces",
assetPrefix: "traces"
var agentStoragePaths = {
opencode: path5.join(xdgData ?? path5.join(home, ".local", "share"), "opencode", "storage"),
claudeCode: path5.join(home, ".claude"),
cursorGlobalDb: (() => {
switch ("linux") {
case "win32":
return path5.join(home, "AppData/Roaming/Cursor/User/globalStorage/state.vscdb");
case "darwin":
return path5.join(home, "Library/Application Support/Cursor/User/globalStorage/state.vscdb");
default:
return path5.join(home, ".config/Cursor/User/globalStorage/state.vscdb");
}
})(),
cursorProjects: path5.join(home, ".cursor", "projects"),
codex: path5.join(home, ".codex"),
geminiCli: path5.join(home, ".gemini"),
pi: path5.join(home, ".pi"),
amp: path5.join(xdgData ?? path5.join(home, ".local", "share"), "amp"),
copilot: path5.join(home, ".copilot")
// src/services/sentry.ts
var embeddedVersion = "0.3.10";
--
return buffer.toString("utf-8");
// src/adapters/claude-code/v1.ts
class ClaudeCodeAdapter extends BaseAdapter {
id = "claude-code";
name = "Claude Code";
claudeDir;
historyFile;
projectsDir;
lineBufferLimit = 1024 * 1024;
historyTailReadBytes = 2 * 1024 * 1024;
historyMaxScanBytes = 32 * 1024 * 1024;
historyChunkGrowthFactor = 2;
historySessionMultiplier = 4;
sessionPathCache = new Map;
sessionPathCacheLimit = 500;
maxFallbackProjectDirsScanned = 2000;
maxFallbackSessionFilesScanned = 20000;
maxSourceLookupProjectDirsScanned = 4000;
constructor(claudeDir) {
super();
this.claudeDir = claudeDir ?? agentStoragePaths.claudeCode;
this.historyFile = path6.join(this.claudeDir, "history.jsonl");
this.projectsDir = path6.join(this.claudeDir, "projects");
async isAvailable() {
return fs2.existsSync(this.claudeDir) && fs2.existsSync(this.historyFile);
async getTraces(options = {}) {
const limit = options.limit ?? 10;
if (!await this.isAvailable()) {
return [];
}
try {
const maxSessions = Math.max(limit, limit * this.historySessionMultiplier);
const traceMap = this.readHistorySummaries(maxSessions);
if (traceMap.size > 0) {
const traces2 = [];
for (const [traceId, summary] of traceMap.entries()) {
const title = summary.display ?? "(No preview)";
traces2.push({
id: traceId,
agentId: "claude-code",
title,
--
}).filter((text) => text).join(`
`).trim();
// src/adapters/cursor/v1.ts
import fs3 from "fs";
import path7 from "path";
import { Database } from "bun:sqlite";
class CursorAdapter extends BaseAdapter {
id = "cursor";
name = "Cursor";
discoverySchemaVersion = 2;
globalDb = null;
globalDbPath;
projectsDir;
cachedGlobalTraces = null;
cachedGlobalMtime = null;
maxTranscriptProjectsScanned = 5000;strings /home/lakshyaag/.bun/install/global/node_modules/@traces-sh/traces-linux-x64/bin/traces | grep -A 20 "class CursorAdapter" | head -n 100class CursorAdapter extends BaseAdapter {
id = "cursor";
name = "Cursor";
discoverySchemaVersion = 2;
globalDb = null;
globalDbPath;
projectsDir;
cachedGlobalTraces = null;
cachedGlobalMtime = null;
maxTranscriptProjectsScanned = 5000;
maxTranscriptFilesScanned = 25000;
maxGlobalDirectoryProbeBubbles = 8;
constructor(options) {
super();
this.globalDbPath = options?.globalDbPath ?? agentStoragePaths.cursorGlobalDb;
this.projectsDir = options?.projectsDir ?? agentStoragePaths.cursorProjects;
async isAvailable() {
return fs3.existsSync(this.globalDbPath) || fs3.existsSync(this.projectsDir);
getGlobalDb() {
if (this.globalDb)
return this.globalDb;grep -a -A 1000 "// src/adapters/cursor/v1.ts" /home/lakshyaag/.bun/install/global/node_modules/@traces-sh/traces-linux-x64/bin/traces | head -n 500 | strings | grep -v "00000000"// src/adapters/cursor/v1.ts
import fs3 from "fs";
import path7 from "path";
import { Database } from "bun:sqlite";
class CursorAdapter extends BaseAdapter {
id = "cursor";
name = "Cursor";
discoverySchemaVersion = 2;
globalDb = null;
globalDbPath;
projectsDir;
cachedGlobalTraces = null;
cachedGlobalMtime = null;
maxTranscriptProjectsScanned = 5000;
maxTranscriptFilesScanned = 25000;
maxGlobalDirectoryProbeBubbles = 8;
constructor(options) {
super();
this.globalDbPath = options?.globalDbPath ?? agentStoragePaths.cursorGlobalDb;
this.projectsDir = options?.projectsDir ?? agentStoragePaths.cursorProjects;
async isAvailable() {
return fs3.existsSync(this.globalDbPath) || fs3.existsSync(this.projectsDir);
getGlobalDb() {
if (this.globalDb)
return this.globalDb;
if (!fs3.existsSync(this.globalDbPath)) {
return null;
}
try {
this.globalDb = new Database(this.globalDbPath, { readonly: true });
return this.globalDb;
} catch (err) {
console.error("Error opening Cursor global database:", err);
return null;
}
getGlobalDbMtime() {
if (!fs3.existsSync(this.globalDbPath))
return null;
try {
return fs3.statSync(this.globalDbPath).mtimeMs;
} catch {
return null;
}
getComposerPreview(data) {
const candidate = data.name?.trim() || data.text?.trim() || data.richText?.trim() || "(No title)";
return this.truncateText(candidate.split(`
`)[0], 100);
buildIndexCursor() {
const globalDbMtimeMs = this.getGlobalDbMtime() ?? 0;
const globalComposerCount = this.getGlobalComposerCount();
const transcriptState = this.getTranscriptState();
return {
schemaVersion: this.discoverySchemaVersion,
globalDbMtimeMs,
globalComposerCount,
transcriptNewestMtimeMs: transcriptState.newestMtimeMs,
transcriptFileCount: transcriptState.fileCount,
scanTruncated: transcriptState.scanTruncated
};
getGlobalComposerCount() {
const db = this.getGlobalDb();
if (!db) {
return 0;
}
try {
const row = db.query("SELECT COUNT(*) as count FROM cursorDiskKV WHERE key LIKE 'composerData:%'").get();
return row?.count ?? 0;
} catch {
return 0;
}
getTranscriptState() {
if (!fs3.existsSync(this.projectsDir)) {
return {
newestMtimeMs: 0,
fileCount: 0,
scanTruncated: false
};
}
let newestMtimeMs = 0;
let fileCount = 0;
let scanTruncated = false;
let scannedProjects = 0;
let projectDirs = [];
try {
projectDirs = fs3.readdirSync(this.projectsDir);
} catch {
return {
newestMtimeMs: 0,
fileCount: 0,
scanTruncated: false
};
}
projectLoop:
for (const projectDir of projectDirs) {
if (scannedProjects >= this.maxTranscriptProjectsScanned || fileCount >= this.maxTranscriptFilesScanned) {
scanTruncated = true;
break;
}
const projectPath = path7.join(this.projectsDir, projectDir);
try {
if (!fs3.statSync(projectPath).isDirectory())
continue;
} catch {
continue;
}
scannedProjects += 1;
const transcriptsDir = path7.join(projectPath, "agent-transcripts");
if (!fs3.existsSync(transcriptsDir))
continue;
let files = [];
try {
files = fs3.readdirSync(transcriptsDir);
} catch {
continue;
}
for (const file of files) {
if (!file.endsWith(".json"))
continue;
fileCount += 1;
const filePath = path7.join(transcriptsDir, file);
try {
const stat = fs3.statSync(filePath);
newestMtimeMs = Math.max(newestMtimeMs, stat.mtimeMs);
} catch {
continue;
}
if (fileCount >= this.maxTranscriptFilesScanned) {
scanTruncated = true;
break projectLoop;
}
}
}
return {
newestMtimeMs,
fileCount,
scanTruncated
};
close() {
if (this.globalDb) {
this.globalDb.close();
this.globalDb = null;
}
async getTraces(options = {}) {
const limit = options.limit ?? 10;
if (!await this.isAvailable()) {
return [];
}
const traces = [];
const globalTraces = await this.getGlobalStorageTraces();
traces.push(...globalTraces);
const transcriptTraces = await this.getAgentTranscriptTraces();
traces.push(...transcriptTraces);
traces.sort((a, b) => b.timestamp - a.timestamp);
return traces.slice(0, limit);
async getTraceIndexBatch(options = {}) {
const limit = options.limit ?? 100;
if (!await this.isAvailable()) {
return {
traces: [],
nextCursor: {
schemaVersion: this.discoverySchemaVersion,
globalDbMtimeMs: 0,
globalComposerCount: 0,
transcriptNewestMtimeMs: 0,
transcriptFileCount: 0,
scanTruncated: false
},
done: true
};
}
const nextCursor = this.buildIndexCursor();
const previousCursor = options.cursor;
const unchanged = previousCursor?.schemaVersion === nextCursor.schemaVersion && !nextCursor.scanTruncated && !previousCursor?.scanTruncated && previousCursor?.globalDbMtimeMs === nextCursor.globalDbMtimeMs && previousCursor?.globalComposerCount === nextCursor.globalComposerCount && previousCursor?.transcriptNewestMtimeMs === nextCursor.transcriptNewestMtimeMs && previousCursor?.transcriptFileCount === nextCursor.transcriptFileCount;
if (unchanged) {
return {
traces: [],
nextCursor,
done: true
};
}
const traces = await this.getTraces({ limit });
return {
traces,
nextCursor,
done: true
};
async getGlobalStorageTraces() {
const traces = [];
if (!fs3.existsSync(this.globalDbPath)) {
this.cachedGlobalTraces = null;
this.cachedGlobalMtime = null;
return traces;
}
const dbMtime = this.getGlobalDbMtime();
if (this.cachedGlobalTraces && this.cachedGlobalMtime === dbMtime) {
return this.cachedGlobalTraces;
}
const db = this.getGlobalDb();
if (!db) {
this.cachedGlobalTraces = null;
this.cachedGlobalMtime = dbMtime;
return traces;
}
try {
const rows = db.query("SELECT key, value FROM cursorDiskKV WHERE key LIKE 'composerData:%' AND LENGTH(value) > 10").all();
for (const row of rows) {
try {
const composerId = row.key.split(":")[1];
const valueStr = row.value.toString("utf-8");
const data = JSON.parse(valueStr);
if (!data.fullConversationHeadersOnly || data.fullConversationHeadersOnly.length === 0) {
continue;
}
const preview = this.getComposerPreview(data);
const directory = this.resolveComposerDirectory(composerId, data);
const timestamp = data.lastUpdatedAt || data.createdAt;
traces.push({
id: composerId,
agentId: "cursor",
title: data.name || preview,
preview,
timestamp,
directory,
sourcePath: `global:${composerId}`
});
} catch (err) {
continue;
}
}
} catch (err) {
console.error("Error reading Cursor global storage:", err);
}
this.cachedGlobalTraces = traces;
this.cachedGlobalMtime = dbMtime;
return traces;
getBubble(composerId, bubbleId) {
const db = this.getGlobalDb();
if (!db)
return null;
try {
const key = `bubbleId:${composerId}:${bubbleId}`;
const row = db.query("SELECT value FROM cursorDiskKV WHERE key = ?").get(key);
if (row) {
return JSON.parse(row.value.toString("utf-8"));
}
} catch (err) {}
return null;
resolveComposerDirectory(composerId, composerData) {
const fromComposerContext = this.extractDirectoryFromContext(composerData.context);
if (fromComposerContext) {
return fromComposerContext;
}
const headers = composerData.fullConversationHeadersOnly || [];
for (const header of headers.slice(0, this.maxGlobalDirectoryProbeBubbles)) {
const bubble = this.getBubble(composerId, header.bubbleId);
if (!bubble) {
continue;
}
const fromWorkspaceUris = this.extractDirectoryFromUriCandidates(bubble.workspaceUris);
if (fromWorkspaceUris) {
return fromWorkspaceUris;
}
const fromContext = this.extractDirectoryFromContext(bubble.context);
if (fromContext) {
return fromContext;
}
if (typeof bubble.conversationState === "string") {
const fromConversationState = this.extractDirectoryFromEncodedConversationState(bubble.conversationState);
if (fromConversationState) {
return fromConversationState;
}
}
}
return;
extractDirectoryFromContext(context16) {
if (!context16 || typeof context16 !== "object") {
return;
}
const record = context16;
const candidates = [];
const directUri = typeof record.uri === "string" ? record.uri : undefined;
const directPath = typeof record.path === "string" ? record.path : undefined;
if (directUri)
candidates.push(directUri);
if (directPath)
candidates.push(directPath);
for (const key of ["folderSelections", "fileSelections", "terminalFiles"]) {
const value = record[key];
if (Array.isArray(value)) {
candidates.push(...value);
}
}
for (const candidate of candidates) {
if (typeof candidate === "string") {
const normalized2 = this.normalizeDirectoryCandidate(candidate);
if (normalized2) {
return normalized2;
}
continue;
}
if (!candidate || typeof candidate !== "object") {
continue;
}
const entry = candidate;
const raw = (typeof entry.uri === "string" ? entry.uri : undefined) ?? (typeof entry.path === "string" ? entry.path : undefined) ?? (typeof entry.filePath === "string" ? entry.filePath : undefined);
if (!raw) {
continue;
}
const normalized = this.normalizeDirectoryCandidate(raw);
if (normalized) {
return normalized;
}
}
return;
extractDirectoryFromUriCandidates(candidates) {
if (!Array.isArray(candidates)) {
return;
}
for (const candidate of candidates) {
if (typeof candidate !== "string") {
continue;
}
const normalized = this.normalizeDirectoryCandidate(candidate);
if (normalized) {
return normalized;
}
}
return;
extractDirectoryFromEncodedConversationState(conversationState) {
const base64 = conversationState.replace(/[^A-Za-z0-9+/=]/g, "");
if (base64.length < 16) {
return;
}
const padded = base64 + "=".repeat((4 - base64.length % 4) % 4);
let decoded = "";
try {
decoded = Buffer.from(padded, "base64").toString("utf-8");
} catch {
return;
}
const uriMatches = decoded.match(/file:\/\/[A-Za-z0-9._~!$&()*+,;=:@%\/-]+/g) ?? [];
for (const uri of uriMatches) {
const normalized = this.normalizeDirectoryCandidate(uri);
if (normalized) {
return normalized;
}
}
return;
normalizeDirectoryCandidate(candidate) {
const value = candidate.trim();
if (value.length === 0) {
return;
}
if (value.startsWith("file://")) {
try {
const parsed = new URL(value);
if (parsed.protocol !== "file:") {
return;
}
const pathname = decodeURIComponent(parsed.pathname);
if (pathname.length === 0) {
return;
}
if (fs3.existsSync(pathname)) {
return pathname;
}
if (/[A-Z]$/.test(pathname)) {
const trimmed = pathname.slice(0, -1);
if (trimmed.length > 0 && fs3.existsSync(trimmed)) {
return trimmed;
}
}
return pathname;
} catch {
return;
}
}
return path7.isAbsolute(value) ? value : undefined;
async getAgentTranscriptTraces() {
const traces = [];
if (!fs3.existsSync(this.projectsDir)) {
return traces;
}
try {
const projectDirs = fs3.readdirSync(this.projectsDir);
for (const projectDir of projectDirs) {
const projectPath = path7.join(this.projectsDir, projectDir);
try {
if (!fs3.statSync(projectPath).isDirectory())
continue;
} catch {
continue;
}
const transcriptsDir = path7.join(projectPath, "agent-transcripts");
if (!fs3.existsSync(transcriptsDir))
continue;
const files = fs3.readdirSync(transcriptsDir);
for (const file of files) {
if (!file.endsWith(".json"))
continue;
const traceId = file.replace(".json", "");
const filePath = path7.join(transcriptsDir, file);
let stat;
try {
stat = fs3.statSync(filePath);
} catch {
continue;
}
let preview = "(No preview)";
try {
const content = fs3.readFileSync(filePath, "utf-8");
const messages = JSON.parse(content);
const firstUserMsg = messages.find((m) => m.role === "user" && m.text);
if (firstUserMsg?.text) {
const match2 = firstUserMsg.text.match(/<user_query>\n?([\s\S]*?)\n?<\/user_query>/);
preview = match2 ? match2[1].trim() : firstUserMsg.text.trim();
preview = this.truncateText(preview.split(`
`)[0], 100);
}
} catch {}
const projectName = projectDir.replace(/-/g, "/");
traces.push({
id: `transcript:${traceId}`,
agentId: "cursor",
title: preview,
preview,
timestamp: stat.mtimeMs,
directory: projectName,
sourcePath: filePath
});
}
}
} catch (err) {
console.error("Error reading Cursor agent transcripts:", err);
}
return traces;
async parseTraceContent(trace18, diagnostics) {
const sourcePath = this.resolveSourcePath(trace18);
if (sourcePath?.startsWith("global:")) {
return this.getGlobalStorageTraceContent({ ...trace18, sourcePath }, diagnostics);
} else if (sourcePath) {
return this.getAgentTranscriptTraceContent({ ...trace18, sourcePath }, diagnostics);
}
throw new Error(`Could not resolve source path for cursor trace: ${trace18.id}`);
resolveSourcePath(trace18) {
if (trace18.sourcePath)
return trace18.sourcePath;
if (!trace18.id.startsWith("transcript:")) {
const db = this.getGlobalDb();
if (db) {
try {
const row = db.query("SELECT key FROM cursorDiskKV WHERE key = ?").get(`composerData:${trace18.id}`);
if (row)
return `global:${trace18.id}`;
} catch {}
}
}
if (trace18.id.startsWith("transcript:")) {
const traceId = trace18.id.replace("transcript:", "");
return this.findTranscriptFile(traceId);
}
return null;
findTranscriptFile(traceId) {
if (!fs3.existsSync(this.projectsDir))
return null;
try {
const projectDirs = fs3.readdirSync(this.projectsDir);
for (const projectDir of projectDirs) {
const projectPath = path7.join(this.projectsDir, projectDir);
try {
if (!fs3.statSync(projectPath).isDirectory())
continue;
} catch {
continue;
}
const candidate = path7.join(projectPath, "agent-transcripts", `${traceId}.json`);
if (fs3.existsSync(candidate))
return candidate;
}strings /home/lakshyaag/.bun/install/global/node_modules/@traces-sh/traces-linux-x64/bin/traces | grep -C 10 "\.jsonl" | grep -i "cursor"maxCursorSessionFilesScanned = 30000; maxCursorSessionDirsScanned = 8000;
grep -a -C 100 "maxCursorSessionFilesScanned" /home/lakshyaag/.bun/install/global/node_modules/@traces-sh/traces-linux-x64/bin/traces | head -n 500 | strings | grep -v "00000000"}
}
break;
case "reasoning":
if (part.text) {
events.push({
id: prefix,
type: "agent_thinking",
content: part.text,
timestamp,
order: order++
});
}
break;
case "tool":
if (part.tool && part.state) {
events.push({
id: `${prefix}-call`,
type: "tool_call",
callId: part.callID || part.id,
toolName: part.tool,
args: part.state.input || {},
timestamp,
order: order++
});
if (part.state.status === "completed" || part.state.status === "error") {
events.push({
id: `${prefix}-result`,
type: "tool_result",
callId: part.callID || part.id,
toolName: part.tool,
output: part.state.output || "(empty result)",
status: part.state.status === "completed" ? "success" : "error",
timestamp: part.state.time?.end || timestamp,
order: order++
});
}
}
break;
case "file":
if (part.text) {
if (isUser) {
events.push({
id: prefix,
type: "user_message",
content: part.text,
timestamp,
order: order++
});
} else {
events.push({
id: prefix,
type: "agent_text",
content: part.text,
timestamp,
order: order++
});
}
}
break;
default:
break;
}
}
if (events.length === 0 && messageData.error) {
events.push({
id: messageData.id,
type: "error",
message: messageData.error.message || "(no error message)",
timestamp,
order: order++
});
}
return events;
// src/adapters/codex/v1.ts
import fs5 from "fs";
import path9 from "path";
class CodexAdapter extends BaseAdapter {
id = "codex";
name = "Codex";
discoverySchemaVersion = 3;
codexDir;
sessionsDir;
historyFile;
defaultModel = "gpt-5.2-codex";
historyTailReadBytes = 2 * 1024 * 1024;
historyMaxScanBytes = 32 * 1024 * 1024;
historyChunkGrowthFactor = 2;
historySessionMultiplier = 4;
sessionPathCache = new Map;
sessionPathCacheLimit = 500;
sessionDirectoryCache = new Map;
sessionDirectoryCacheLimit = 500;
maxFallbackSessionFilesScanned = 20000;
maxFallbackSessionDirsScanned = 5000;
maxSourceLookupSessionFilesScanned = 30000;
maxSourceLookupSessionDirsScanned = 8000;
maxCursorSessionFilesScanned = 30000;
maxCursorSessionDirsScanned = 8000;
constructor(codexDir) {
super();
this.codexDir = codexDir ?? agentStoragePaths.codex;
this.sessionsDir = path9.join(this.codexDir, "sessions");
this.historyFile = path9.join(this.codexDir, "history.jsonl");
async isAvailable() {
return fs5.existsSync(this.sessionsDir);
async getTraces(options = {}) {
const limit = options.limit ?? 10;
if (!await this.isAvailable()) {
return [];
}
const maxSessions = Math.max(limit, limit * this.historySessionMultiplier);
const historyIndex = this.readHistoryIndex(maxSessions);
if (historyIndex.size > 0) {
const traces2 = [];
for (const [sessionId, entry] of historyIndex.entries()) {
const timestamp = entry.timestamp * 1000;
const title = entry.text ?? "(No preview)";
traces2.push({
id: sessionId,
agentId: "codex",
title,
preview: title,
timestamp,
directory: entry.directory,
sourcePath: this.resolveKnownSourcePath(sessionId, timestamp) ?? undefined
});
}
traces2.sort((a, b) => b.timestamp - a.timestamp);
const limited = traces2.slice(0, limit);
this.hydrateDirectoriesFromResolvedSources(limited);
const sessionsState = this.buildSessionsState(this.maxCursorSessionFilesScanned, this.maxCursorSessionDirsScanned);
if (this.shouldSupplementHistoryFromSessions(traces2, limited, limit, this.getPathMtimeMs(this.historyFile), sessionsState)) {
this.supplementHistoryTracesFromSessionFiles(traces2, historyIndex, limit);
traces2.sort((a, b) => b.timestamp - a.timestamp);
const supplemented = traces2.slice(0, limit);
this.hydrateDirectoriesFromResolvedSources(supplemented);
return supplemented;
}
return limited;
}
const fallbackScanBudget = Math.min(this.maxFallbackSessionFilesScanned, Math.max(2000, maxSessions * 20));
const traceFiles = this.collectSessionFiles(this.sessionsDir, fallbackScanBudget, this.maxFallbackSessionDirsScanned);
const traces = [];
for (const tracePath of traceFiles) {
const metadata = this.readTraceMetadata(tracePath, historyIndex);
if (metadata) {
traces.push(metadata);
}
}
traces.sort((a, b) => b.timestamp - a.timestamp);
return traces.slice(0, limit);
async getTraceIndexBatch(options = {}) {
const nextCursor = this.buildIndexCursor();
const previousCursor = options.cursor;
const unchanged = previousCursor?.schemaVersion === nextCursor.schemaVersion && !nextCursor.scanTruncated && !previousCursor?.scanTruncated && previousCursor?.historyMtimeMs === nextCursor.historyMtimeMs && previousCursor?.historySize === nextCursor.historySize && previousCursor?.sessionsMtimeMs === nextCursor.sessionsMtimeMs && previousCursor?.sessionFileCount === nextCursor.sessionFileCount && previousCursor?.sessionNewestMtimeMs === nextCursor.sessionNewestMtimeMs && previousCursor?.sessionMtimeChecksum === nextCursor.sessionMtimeChecksum;
if (unchanged) {
return {
traces: [],
nextCursor,
done: true
};
}
return {
traces: await this.getTraces({ limit: options.limit }),
nextCursor,
done: true
};
async parseTraceContent(trace18, diagnostics) {
const tracePath = this.resolveTraceSourcePath(trace18);
if (!tracePath) {
throw new Error("No source path provided for trace");
}
trace18.sourcePath = tracePath;
if (!fs5.existsSync(tracePath)) {
throw new Error(`Trace file not found: ${tracePath}`);
}
const raw = await fs5.promises.readFile(tracePath, "utf-8");
if (tracePath.endsWith(".jsonl")) {
return this.parseJsonlTrace(raw, trace18, diagnostics);
}
return this.parseLegacyTrace(raw, trace18, diagnostics);
async count(trace18) {
const tracePath = this.resolveTraceSourcePath(trace18);
if (!tracePath || !fs5.existsSync(tracePath)) {
return 0;
}
try {
const content = await fs5.promises.readFile(tracePath, "utf-8");
if (tracePath.endsWith(".jsonl")) {
let count2 = 0;
for (const line of content.split(`
`)) {
if (line.trim())
count2++;
}
return count2;
}
const data = JSON.parse(content);
return Array.isArray(data) ? data.length : 0;
} catch {
return 0;
}
async getEnvironmentDetails(trace18) {
const tracePath = this.resolveTraceSourcePath(trace18);
let projectPath = trace18.directory;
if (!projectPath && tracePath) {
const metadata = this.readTraceMetadata(tracePath, new Map);
projectPath = metadata?.directory;
if (projectPath) {
trace18.directory = projectPath;
this.cacheSessionDirectory(trace18.id, projectPath);
}
}
const content = await this.getTraceContent(trace18);
return {
projectPath,
projectName: projectPath ? path9.basename(projectPath) : undefined,
createdAt: content.createdAt,
updatedAt: content.updatedAt
};
async subscribe(trace18, onEvent) {
const sourcePath = this.resolveTraceSourcePath(trace18);
if (!sourcePath || !fs5.existsSync(sourcePath)) {
return () => {};
}
let lastEventCount = 0;
});
}
}
}
if (!Number.isFinite(firstTimestamp)) {
firstTimestamp = sessionTimestamp;
lastTimestamp = sessionTimestamp;
}
return {
events,
modelIds: modelsUsed.size > 0 ? Array.from(modelsUsed) : [this.defaultModel],
createdAt: this.formatTimestamp(firstTimestamp),
updatedAt: this.formatTimestamp(lastTimestamp)
};
extractTextFromContent(content) {
if (!content)
return "";
if (typeof content === "string")
return content;
if (Array.isArray(content)) {
return content.map((block) => {
if (!block)
return "";
if (typeof block === "string")
return block;
if (typeof block === "object" && "text" in block) {
const text = block.text;
return text ?? "";
}
return "";
}).filter((text) => text).join(`
`).trim();
}
if (typeof content === "object" && "text" in content) {
return content.text ?? "";
}
return "";
normalizeUserTitleCandidate(text) {
if (!text)
return null;
if (this.isInjectedUserText(text))
return null;
return this.normalizeTitleCandidate(text);
isInjectedUserText(text) {
const cleaned = text.trim();
if (!cleaned)
return true;
const lower = cleaned.toLowerCase();
if (/^#\s*agents\.md instructions\b/i.test(cleaned))
return true;
if (lower.includes("<environment_context>"))
return true;
return false;
extractSummaryText(summary) {
if (!summary || summary.length === 0)
return "";
return summary.map((item) => item.text ?? "").filter((text) => text).join(`
`).trim();
parseArguments(args) {
if (!args)
return {};
if (typeof args === "string") {
try {
return JSON.parse(args);
} catch {
return { raw: args };
}
}
return args;
formatOutput(output) {
if (!output)
return "";
const trimmed = output.trim();
if (!trimmed.startsWith("{") && !trimmed.startsWith("[")) {
return output;
}
try {
const parsed = JSON.parse(trimmed);
if (parsed && typeof parsed === "object" && "output" in parsed) {
const out = parsed.output;
return out ?? JSON.stringify(parsed, null, 2);
}
return JSON.stringify(parsed, null, 2);
} catch {
return output;
}
parseTimestamp(value) {
if (typeof value === "number")
return value;
const parsed = Date.parse(value);
return Number.isNaN(parsed) ? Date.now() : parsed;
buildIndexCursor() {
const sessionsState = this.buildSessionsState(this.maxCursorSessionFilesScanned, this.maxCursorSessionDirsScanned);
return {
schemaVersion: this.discoverySchemaVersion,
historyMtimeMs: this.getPathMtimeMs(this.historyFile),
historySize: this.getPathSize(this.historyFile),
sessionsMtimeMs: this.getPathMtimeMs(this.sessionsDir),
sessionFileCount: sessionsState.sessionFileCount,
sessionNewestMtimeMs: sessionsState.sessionNewestMtimeMs,
sessionMtimeChecksum: sessionsState.sessionMtimeChecksum,
scanTruncated: sessionsState.scanTruncated
};
buildSessionsState(maxFiles, maxDirs) {
if (!fs5.existsSync(this.sessionsDir)) {
return {
sessionFileCount: 0,
sessionNewestMtimeMs: 0,
sessionMtimeChecksum: 0,
scanTruncated: false
};
}
const stack = [this.sessionsDir];
let scannedDirs = 0;
let sessionFileCount = 0;
let sessionNewestMtimeMs = 0;
let sessionMtimeChecksum = 0;
let scanTruncated = false;
while (stack.length > 0) {
if (scannedDirs >= maxDirs || sessionFileCount >= maxFiles) {
scanTruncated = true;
break;
}
const current = stack.pop();
if (!current) {
continue;
}
scannedDirs += 1;
let entries = [];
try {
entries = fs5.readdirSync(current, { withFileTypes: true });
} catch {
continue;
}
for (const entry of entries) {
const fullPath = path9.join(current, entry.name);
if (entry.isDirectory()) {
stack.push(fullPath);
continue;
}
if (!entry.isFile()) {
continue;
}
if (!entry.name.endsWith(".jsonl") && !entry.name.endsWith(".json")) {
continue;
}
try {
const stat = fs5.statSync(fullPath);
const mtimeMs = stat.mtimeMs;
sessionFileCount += 1;
sessionNewestMtimeMs = Math.max(sessionNewestMtimeMs, mtimeMs);
sessionMtimeChecksum = this.updateMtimeChecksum(sessionMtimeChecksum, mtimeMs, stat.size);
} catch {
continue;
}
if (sessionFileCount >= maxFiles) {
scanTruncated = true;
break;
}
}
}
return {
sessionFileCount,
sessionNewestMtimeMs,
sessionMtimeChecksum,
scanTruncated
};
updateMtimeChecksum(current, mtimeMs, size = 0) {
const PRIME = 2147483629;
const mtimePart = Math.floor(mtimeMs) % PRIME;
const sizePart = Math.floor(size) % PRIME;
return (current * 33 + mtimePart + sizePart) % PRIME;
getPathMtimeMs(targetPath) {
if (!fs5.existsSync(targetPath))
return 0;
try {
return fs5.statSync(targetPath).mtimeMs;
} catch {
return 0;
}
getPathSize(targetPath) {
if (!fs5.existsSync(targetPath))
return 0;
try {
return fs5.statSync(targetPath).size;
} catch {
return 0;
}strings /home/lakshyaag/.bun/install/global/node_modules/@traces-sh/traces-linux-x64/bin/traces | grep -C 5 "\.jsonl" | head -n 100maxFallbackSessionFilesScanned = 20000;
maxSourceLookupProjectDirsScanned = 4000;
constructor(claudeDir) {
super();
this.claudeDir = claudeDir ?? agentStoragePaths.claudeCode;
this.historyFile = path6.join(this.claudeDir, "history.jsonl");
this.projectsDir = path6.join(this.claudeDir, "projects");
async isAvailable() {
return fs2.existsSync(this.claudeDir) && fs2.existsSync(this.historyFile);
async getTraces(options = {}) {
const limit = options.limit ?? 10;
--
const files = fs2.readdirSync(projectPath);
for (const file of files) {
if (scannedSessionFiles >= this.maxFallbackSessionFilesScanned) {
break projectLoop;
}
if (file.endsWith(".jsonl") && !file.startsWith("agent-")) {
scannedSessionFiles += 1;
const traceId = file.replace(".jsonl", "");
const historyEntry = traceMap.get(traceId);
const filePath = path6.join(projectPath, file);
const sessionTitle = this.readSessionTitle(filePath);
const fallbackTitle = sessionTitle ?? historyEntry?.display;
const finalTitle = fallbackTitle ?? "(No preview)";
--
if (cached && fs2.existsSync(cached)) {
return cached;
}
const candidates = getProjectPathCandidates(projectPath);
for (const projectDir of candidates) {
const candidate = path6.join(this.projectsDir, projectDir, `${traceId}.jsonl`);
if (fs2.existsSync(candidate)) {
this.cacheSessionPath(traceId, candidate);
return candidate;
}
}
--
continue;
} catch {
continue;
}
scannedProjectDirs += 1;
const candidate = path6.join(projectPath, `${traceId}.jsonl`);
if (fs2.existsSync(candidate)) {
return candidate;
}
}
return null;
--
maxCursorSessionDirsScanned = 8000;
constructor(codexDir) {
super();
this.codexDir = codexDir ?? agentStoragePaths.codex;
this.sessionsDir = path9.join(this.codexDir, "sessions");
this.historyFile = path9.join(this.codexDir, "history.jsonl");
async isAvailable() {
return fs5.existsSync(this.sessionsDir);
async getTraces(options = {}) {
const limit = options.limit ?? 10;
if (!await this.isAvailable()) {
--
trace18.sourcePath = tracePath;
if (!fs5.existsSync(tracePath)) {
throw new Error(`Trace file not found: ${tracePath}`);
}
const raw = await fs5.promises.readFile(tracePath, "utf-8");
if (tracePath.endsWith(".jsonl")) {
return this.parseJsonlTrace(raw, trace18, diagnostics);
}
return this.parseLegacyTrace(raw, trace18, diagnostics);
async count(trace18) {
const tracePath = this.resolveTraceSourcePath(trace18);
if (!tracePath || !fs5.existsSync(tracePath)) {
return 0;
}
try {
const content = await fs5.promises.readFile(tracePath, "utf-8");
if (tracePath.endsWith(".jsonl")) {
let count2 = 0;
for (const line of content.split(`
`)) {
if (line.trim())
count2++;
--
for (const entry of entries) {
const fullPath = path9.join(current, entry.name);
if (entry.isDirectory()) {
stack.push(fullPath);
} else if (entry.isFile()) {
if (entry.name.endsWith(".jsonl") || entry.name.endsWith(".json")) {
results.push(fullPath);
if (results.length >= maxFiles) {
break;
}
}
--
const stat = fs5.statSync(sessionPath);
timestamp = stat.mtimeMs;
} catch {strings /home/lakshyaag/.bun/install/global/node_modules/@traces-sh/traces-linux-x64/bin/traces | grep -B 20 -A 20 "\.jsonl" | grep -i "cursor"maxCursorSessionFilesScanned = 30000;
maxCursorSessionDirsScanned = 8000;
nextCursor,
nextCursor,
registry.register(new CursorAdapter);grep -a -C 20 "\.jsonl" /home/lakshyaag/.bun/install/global/node_modules/@traces-sh/traces-linux-x64/bin/traces | grep -i "cursor"maxCursorSessionFilesScanned = 30000;
maxCursorSessionDirsScanned = 8000;
nextCursor,
nextCursor,ls -R /home/lakshyaag/.cursor/projects | head -n 500/home/lakshyaag/.cursor/projects: c-Users-Lakshya-Agarwal-AppData-Roaming-Cursor-Workspaces-1767574168974-workspace-json home-lakshyaag-Projects-ai-receptionist home-lakshyaag-Projects-amp-school home-lakshyaag-Projects-biodata home-lakshyaag-Projects-financial-planning home-lakshyaag-Projects-fits-understanding home-lakshyaag-Projects-game-theory-agents home-lakshyaag-Projects-personal-website home-lakshyaag-Projects-pokemon-battle home-lakshyaag-Projects-polymarket-research home-lakshyaag-Projects-prime-rl-hosted-training home-lakshyaag-Projects-pub-golf home-lakshyaag-Projects-rlm home-lakshyaag-Projects-rlm-minimal home-lakshyaag-Projects-the-perspective-club home-lakshyaag-Projects-tinker-thinky home-lakshyaag-Projects-webcam-experiment home-lakshyaag-local-share-opencode-log home-lakshyaag-pi /home/lakshyaag/.cursor/projects/c-Users-Lakshya-Agarwal-AppData-Roaming-Cursor-Workspaces-1767574168974-workspace-json: terminals /home/lakshyaag/.cursor/projects/c-Users-Lakshya-Agarwal-AppData-Roaming-Cursor-Workspaces-1767574168974-workspace-json/terminals: /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-ai-receptionist: agent-transcripts mcps terminals /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-ai-receptionist/agent-transcripts: 29aef319-b364-4723-bce8-8bfe339897cf 450e701e-e5ad-44f4-aaa7-e0a1da06a7c6 5069d163-2e2c-4420-9338-78b359a9acc5 /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-ai-receptionist/agent-transcripts/29aef319-b364-4723-bce8-8bfe339897cf: 29aef319-b364-4723-bce8-8bfe339897cf.jsonl /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-ai-receptionist/agent-transcripts/450e701e-e5ad-44f4-aaa7-e0a1da06a7c6: 450e701e-e5ad-44f4-aaa7-e0a1da06a7c6.jsonl /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-ai-receptionist/agent-transcripts/5069d163-2e2c-4420-9338-78b359a9acc5: 5069d163-2e2c-4420-9338-78b359a9acc5.jsonl /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-ai-receptionist/mcps: cursor-ide-browser user-Context7 user-Docs_by_LangChain user-supabase user-tanstack /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-ai-receptionist/mcps/cursor-ide-browser: INSTRUCTIONS.md SERVER_METADATA.json tools /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-ai-receptionist/mcps/cursor-ide-browser/tools: browser_click.json browser_console_messages.json browser_drag.json browser_fill.json browser_fill_form.json browser_get_attribute.json browser_get_bounding_box.json browser_get_input_value.json browser_handle_dialog.json browser_highlight.json browser_hover.json browser_is_checked.json browser_is_enabled.json browser_is_visible.json browser_lock.json browser_navigate.json browser_navigate_back.json browser_navigate_forward.json browser_network_requests.json browser_press_key.json browser_profile_start.json browser_profile_stop.json browser_reload.json browser_resize.json browser_scroll.json browser_search.json browser_select_option.json browser_snapshot.json browser_tabs.json browser_take_screenshot.json browser_type.json browser_unlock.json browser_wait_for.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-ai-receptionist/mcps/user-Context7: INSTRUCTIONS.md SERVER_METADATA.json tools /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-ai-receptionist/mcps/user-Context7/tools: query-docs.json resolve-library-id.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-ai-receptionist/mcps/user-Docs_by_LangChain: SERVER_METADATA.json tools /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-ai-receptionist/mcps/user-Docs_by_LangChain/tools: SearchDocsByLangChain.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-ai-receptionist/mcps/user-supabase: SERVER_METADATA.json tools /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-ai-receptionist/mcps/user-supabase/tools: apply_migration.json create_branch.json delete_branch.json deploy_edge_function.json execute_sql.json generate_typescript_types.json get_advisors.json get_edge_function.json get_logs.json get_project_url.json get_publishable_keys.json list_branches.json list_edge_functions.json list_extensions.json list_migrations.json list_tables.json merge_branch.json rebase_branch.json reset_branch.json search_docs.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-ai-receptionist/mcps/user-tanstack: SERVER_METADATA.json tools /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-ai-receptionist/mcps/user-tanstack/tools: createTanStackApplication.json getAddOnDetails.json listTanStackAddOns.json tanstack_doc.json tanstack_ecosystem.json tanstack_list_libraries.json tanstack_search_docs.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-ai-receptionist/terminals: /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school: agent-tools agent-transcripts assets mcps terminals /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/agent-tools: d78f66a5-5bc0-4bf2-a28a-d608319e7d2c.txt /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/agent-transcripts: 5cfb1ac5-dc7e-4aad-a2b3-6295a35d1440 827b3e0b-e7f4-4e12-a9da-e4cdc1e5e675 b6385d33-ad66-40d3-ad8e-3e730a73a915 b7d72200-7d48-4b79-b90f-9faea5c4498b f866fa7a-1576-4866-b1ae-b6a4f4f2b7f1 /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/agent-transcripts/5cfb1ac5-dc7e-4aad-a2b3-6295a35d1440: 5cfb1ac5-dc7e-4aad-a2b3-6295a35d1440.jsonl /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/agent-transcripts/827b3e0b-e7f4-4e12-a9da-e4cdc1e5e675: 827b3e0b-e7f4-4e12-a9da-e4cdc1e5e675.jsonl /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/agent-transcripts/b6385d33-ad66-40d3-ad8e-3e730a73a915: b6385d33-ad66-40d3-ad8e-3e730a73a915.jsonl /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/agent-transcripts/b7d72200-7d48-4b79-b90f-9faea5c4498b: b7d72200-7d48-4b79-b90f-9faea5c4498b.jsonl /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/agent-transcripts/f866fa7a-1576-4866-b1ae-b6a4f4f2b7f1: f866fa7a-1576-4866-b1ae-b6a4f4f2b7f1.jsonl /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/assets: c__Users_Lakshya_Agarwal_AppData_Roaming_Cursor_User_workspaceStorage_2516172aea48822eb9e93e94a541e9b6_images_image-ca625864-0faf-4f49-b52f-afd3ebedbdb5.png /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps: cursor-ide-browser user-Context7 user-Docs_by_LangChain user-supabase user-tanstack /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/cursor-ide-browser: INSTRUCTIONS.md SERVER_METADATA.json tools /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/cursor-ide-browser/tools: browser_click.json browser_console_messages.json browser_drag.json browser_fill.json browser_fill_form.json browser_get_attribute.json browser_get_bounding_box.json browser_get_input_value.json browser_handle_dialog.json browser_highlight.json browser_hover.json browser_is_checked.json browser_is_enabled.json browser_is_visible.json browser_lock.json browser_navigate.json browser_navigate_back.json browser_navigate_forward.json browser_network_requests.json browser_press_key.json browser_profile_start.json browser_profile_stop.json browser_reload.json browser_resize.json browser_scroll.json browser_search.json browser_select_option.json browser_snapshot.json browser_tabs.json browser_take_screenshot.json browser_type.json browser_unlock.json browser_wait_for.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/user-Context7: INSTRUCTIONS.md SERVER_METADATA.json tools /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/user-Context7/tools: query-docs.json resolve-library-id.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/user-Docs_by_LangChain: SERVER_METADATA.json tools /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/user-Docs_by_LangChain/tools: SearchDocsByLangChain.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/user-supabase: SERVER_METADATA.json tools /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/user-supabase/tools: apply_migration.json create_branch.json delete_branch.json deploy_edge_function.json execute_sql.json generate_typescript_types.json get_advisors.json get_edge_function.json get_logs.json get_project_url.json get_publishable_keys.json list_branches.json list_edge_functions.json list_extensions.json list_migrations.json list_tables.json merge_branch.json rebase_branch.json reset_branch.json search_docs.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/user-tanstack: SERVER_METADATA.json tools /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/user-tanstack/tools: createTanStackApplication.json getAddOnDetails.json listTanStackAddOns.json tanstack_doc.json tanstack_ecosystem.json tanstack_list_libraries.json tanstack_search_docs.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/terminals: /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-biodata: agent-transcripts assets mcps terminals /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-biodata/agent-transcripts: 0288e942-3125-4188-81a5-07e59ff208e1.txt 3a7f46d4-991a-4798-920b-c9530181d687.txt 3e15e2d8-cf14-487a-9078-247c8abd9678.txt 402c7c8d-9627-44a6-915e-a8103330fdc8.txt 59f3eb99-e84b-40df-b923-9010dc7f1f1d.txt 6ed4425b-f428-4c37-818d-16156967e15a.txt 7dafe5ff-d9f0-4975-bec4-0ff7e465d6cd.txt db35911b-8054-47f0-bf1b-91ff40a5a0e5.txt ecb2bd17-4d09-4bcc-b317-37b1be18600e.txt ff90f52c-88d1-4529-ab8d-10eebffb86f1.txt /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-biodata/assets: c__Users_Lakshya_Agarwal_AppData_Roaming_Cursor_User_workspaceStorage_1b8ae3a7ef614df0f84f62b68396cbf6_images_image-da91e7f9-a6d1-40c9-9ea9-ff2ba918bf9b.png /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-biodata/mcps: cursor-ide-browser user-Context7 user-Docs_by_LangChain user-supabase /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-biodata/mcps/cursor-ide-browser: INSTRUCTIONS.md SERVER_METADATA.json tools /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-biodata/mcps/cursor-ide-browser/tools: browser_click.json browser_console_messages.json browser_drag.json browser_fill.json browser_fill_form.json browser_get_attribute.json browser_get_bounding_box.json browser_get_input_value.json browser_handle_dialog.json browser_highlight.json browser_hover.json browser_is_checked.json browser_is_enabled.json browser_is_visible.json browser_lock.json browser_navigate.json browser_navigate_back.json browser_navigate_forward.json browser_network_requests.json browser_press_key.json browser_reload.json browser_resize.json browser_scroll.json browser_search.json browser_select_option.json browser_snapshot.json browser_tabs.json browser_take_screenshot.json browser_type.json browser_unlock.json browser_wait_for.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-biodata/mcps/user-Context7: INSTRUCTIONS.md SERVER_METADATA.json tools /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-biodata/mcps/user-Context7/tools: query-docs.json resolve-library-id.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-biodata/mcps/user-Docs_by_LangChain: SERVER_METADATA.json tools /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-biodata/mcps/user-Docs_by_LangChain/tools: SearchDocsByLangChain.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-biodata/mcps/user-supabase: SERVER_METADATA.json tools /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-biodata/mcps/user-supabase/tools: apply_migration.json create_branch.json delete_branch.json deploy_edge_function.json execute_sql.json generate_typescript_types.json get_advisors.json get_edge_function.json get_logs.json get_project_url.json get_publishable_keys.json list_branches.json list_edge_functions.json list_extensions.json list_migrations.json list_tables.json merge_branch.json rebase_branch.json reset_branch.json search_docs.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-biodata/terminals: /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-financial-planning: agent-transcripts mcps /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-financial-planning/agent-transcripts: 14af76e5-16d2-4b32-a9ea-403fa089c626.txt 34f2a73d-4614-49fd-8915-74a0a0928bdf.txt /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-financial-planning/mcps: cursor-ide-browser user-Context7 user-Docs_by_LangChain user-supabase /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-financial-planning/mcps/cursor-ide-browser: INSTRUCTIONS.md SERVER_METADATA.json tools /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-financial-planning/mcps/cursor-ide-browser/tools: browser_click.json browser_console_messages.json browser_drag.json browser_fill.json browser_fill_form.json browser_get_attribute.json browser_get_bounding_box.json browser_get_input_value.json browser_handle_dialog.json browser_highlight.json browser_hover.json browser_is_checked.json browser_is_enabled.json browser_is_visible.json browser_lock.json browser_navigate.json browser_navigate_back.json browser_navigate_forward.json browser_network_requests.json browser_press_key.json browser_reload.json browser_resize.json browser_scroll.json browser_search.json browser_select_option.json browser_snapshot.json browser_tabs.json browser_take_screenshot.json browser_type.json browser_unlock.json browser_wait_for.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-financial-planning/mcps/user-Context7: INSTRUCTIONS.md SERVER_METADATA.json tools /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-financial-planning/mcps/user-Context7/tools: query-docs.json resolve-library-id.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-financial-planning/mcps/user-Docs_by_LangChain: SERVER_METADATA.json tools /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-financial-planning/mcps/user-Docs_by_LangChain/tools: SearchDocsByLangChain.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-financial-planning/mcps/user-supabase: SERVER_METADATA.json tools /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-financial-planning/mcps/user-supabase/tools: apply_migration.json create_branch.json delete_branch.json deploy_edge_function.json execute_sql.json generate_typescript_types.json get_advisors.json get_edge_function.json get_logs.json get_project_url.json get_publishable_keys.json list_branches.json list_edge_functions.json list_extensions.json list_migrations.json list_tables.json merge_branch.json rebase_branch.json reset_branch.json search_docs.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-fits-understanding: rules /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-fits-understanding/rules: /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-game-theory-agents: agent-tools agent-transcripts mcps
grep -a -A 100 "async getAgentTranscriptTraces()" /home/lakshyaag/.bun/install/global/node_modules/@traces-sh/traces-linux-x64/bin/traces | head -n 200 | strings | grep -v "00000000"async getAgentTranscriptTraces() {
const traces = [];
if (!fs3.existsSync(this.projectsDir)) {
return traces;
}
try {
const projectDirs = fs3.readdirSync(this.projectsDir);
for (const projectDir of projectDirs) {
const projectPath = path7.join(this.projectsDir, projectDir);
try {
if (!fs3.statSync(projectPath).isDirectory())
continue;
} catch {
continue;
}
const transcriptsDir = path7.join(projectPath, "agent-transcripts");
if (!fs3.existsSync(transcriptsDir))
continue;
const files = fs3.readdirSync(transcriptsDir);
for (const file of files) {
if (!file.endsWith(".json"))
continue;
const traceId = file.replace(".json", "");
const filePath = path7.join(transcriptsDir, file);
let stat;
try {
stat = fs3.statSync(filePath);
} catch {
continue;
}
let preview = "(No preview)";
try {
const content = fs3.readFileSync(filePath, "utf-8");
const messages = JSON.parse(content);
const firstUserMsg = messages.find((m) => m.role === "user" && m.text);
if (firstUserMsg?.text) {
const match2 = firstUserMsg.text.match(/<user_query>\n?([\s\S]*?)\n?<\/user_query>/);
preview = match2 ? match2[1].trim() : firstUserMsg.text.trim();
preview = this.truncateText(preview.split(`
`)[0], 100);
}
} catch {}
const projectName = projectDir.replace(/-/g, "/");
traces.push({
id: `transcript:${traceId}`,
agentId: "cursor",
title: preview,
preview,
timestamp: stat.mtimeMs,
directory: projectName,
sourcePath: filePath
});
}
}
} catch (err) {
console.error("Error reading Cursor agent transcripts:", err);
}
return traces;
async parseTraceContent(trace18, diagnostics) {
const sourcePath = this.resolveSourcePath(trace18);
if (sourcePath?.startsWith("global:")) {
return this.getGlobalStorageTraceContent({ ...trace18, sourcePath }, diagnostics);
} else if (sourcePath) {
return this.getAgentTranscriptTraceContent({ ...trace18, sourcePath }, diagnostics);
}
throw new Error(`Could not resolve source path for cursor trace: ${trace18.id}`);
resolveSourcePath(trace18) {
if (trace18.sourcePath)
return trace18.sourcePath;
if (!trace18.id.startsWith("transcript:")) {
const db = this.getGlobalDb();
if (db) {
try {
const row = db.query("SELECT key FROM cursorDiskKV WHERE key = ?").get(`composerData:${trace18.id}`);
if (row)
return `global:${trace18.id}`;
} catch {}
}
}
if (trace18.id.startsWith("transcript:")) {
const traceId = trace18.id.replace("transcript:", "");
return this.findTranscriptFile(traceId);
}
return null;
findTranscriptFile(traceId) {
if (!fs3.existsSync(this.projectsDir))
return null;
try {
const projectDirs = fs3.readdirSync(this.projectsDir);
for (const projectDir of projectDirs) {
const projectPath = path7.join(this.projectsDir, projectDir);
try {
if (!fs3.statSync(projectPath).isDirectory())
continue;
} catch {
continue;
}
const candidate = path7.join(projectPath, "agent-transcripts", `${traceId}.json`);strings /home/lakshyaag/.bun/install/global/node_modules/@traces-sh/traces-linux-x64/bin/traces | grep -i "cursor" | grep -i "v2"es/.bun/@opentelemetry+instrumentation-amqplib@0.58.0+460773ef8ff1e07c/node_modules/@opentelemetry/instrumentation-amqplib/build/src/amqplib.js../node_modules/.bun/@opentelemetry+instrumentation-amqplib@0.58.0+460773ef8ff1e07c/node_modules/@opentelemetry/instrumentation-amqplib/build/src/index.js../node_modules/.bun/@opentui+core-linux-x64@0.1.77/node_modules/@opentui/core-linux-x64/index.ts../node_modules/.bun/picocolors@1.1.1/node_modules/picocolors/picocolors.js../node_modules/.bun/sisteransi@1.0.5/node_modules/sisteransi/src/index.jssrc/adapters/shared/discovery-utils.ts../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/http.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/debug-build.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/is.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/worldwide.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/browser.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/version.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/carrier.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/debug-logger.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/object.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/utils.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/spanstatus.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/randomSafeContext.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/stacktrace.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/string.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/misc.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/time.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/session.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/merge.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/propagationContext.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/spanOnScope.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/scope.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/defaultScopes.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/asyncContext/stackStrategy.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/asyncContext/index.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/currentScopes.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/semanticAttributes.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/baggage.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/handleCallbackErrors.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/hasSpansEnabled.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/parseSampleRate.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/dsn.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/tracing.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/spanUtils.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/constants.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/dynamicSamplingContext.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/logSpans.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/sampling.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/sentryNonRecordingSpan.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/normalize.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/envelope.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/should-ignore-span.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/envelope.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/measurement.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/sentrySpan.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/trace.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/syncpromise.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/eventProcessors.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/debug-ids.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/scopeData.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/prepareEvent.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/exports.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/checkin.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/api.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integration.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/attributes.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/trace-info.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/logs/constants.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/logs/envelope.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/logs/internal.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/metrics/envelope.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/metrics/internal.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/timer.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/promisebuffer.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/ratelimit.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/transports/base.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/clientreport.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/eventUtils.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/transactionEvent.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/client.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/instrument/handlers.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/instrument/globalError.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/instrument/globalUnhandledRejection.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/errors.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/transports/userAgent.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/eventbuilder.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/server-runtime-client.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/sdk.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/ai/providerSkip.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/envToBool.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/url.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/parameterize.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/sdkMetadata.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/traceData.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/tracePropagationTargets.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/meta.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/debounce.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/request.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/breadcrumbs.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/functiontostring.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/eventFilters.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/aggregate-errors.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/linkederrors.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/cookie.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/vendor/getIpAddress.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/requestdata.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/instrument/console.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/severity.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/captureconsole.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/dedupe.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/extraerrordata.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/path.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/rewriteframes.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/supabase.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/zoderrors.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/console.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/featureFlags.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/featureFlags/featureFlagsIntegration.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/featureFlags/growthbook.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/conversationId.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/profiling.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/trpc.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/mcp-server/errorCapture.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/mcp-server/handlers.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/mcp-server/attributes.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/mcp-server/validation.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/mcp-server/resultExtraction.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/mcp-server/sessionManagement.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/mcp-server/sessionExtraction.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/mcp-server/correlation.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/mcp-server/methodConfig.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/mcp-server/attributeExtraction.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/mcp-server/piiFiltering.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/mcp-server/spans.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/mcp-server/transport.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/mcp-server/index.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/feedback.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/logs/utils.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/logs/console-integration.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/metrics/public-api.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/consola.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/ai/gen-ai-attributes.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/vercel-ai/constants.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/ai/messageTruncation.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/ai/utils.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/vercel-ai/vercel-ai-attributes.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/vercel-ai/utils.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/vercel-ai/index.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/openai/constants.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/openai/utils.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/openai/streaming.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/openai/index.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/anthropic-ai/streaming.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/anthropic-ai/constants.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/anthropic-ai/utils.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/anthropic-ai/index.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/google-genai/constants.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/google-genai/streaming.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/google-genai/utils.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/google-genai/index.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/langchain/constants.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/langchain/utils.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/langchain/index.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/langgraph/constants.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/langgraph/utils.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/langgraph/index.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/breadcrumb-log-level.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/env.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/node.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/isBrowser.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/exports.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/node-stack-trace.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/lru.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/http/httpServerSpansIntegration.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/debug-build.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/http/httpServerIntegration.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/http/constants.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/utils/captureRequestBody.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/http/SentryHttpInstrumentation.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/utils/getRequestUrl.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/utils/baggage.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/utils/outgoingHttpRequest.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/node-fetch/SentryNodeFetchInstrumentation.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/nodeVersion.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/utils/outgoingFetchRequest.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/otel/contextManager.js../node_modules/.bun/@sentry+opentelemetry@10.39.0+3416d402466e6f9f/node_modules/@sentry/opentelemetry/build/esm/index.js../node_modules/.bun/@opentelemetry+sdk-trace-base@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/sdk-trace-base/build/esm/BasicTracerProvider.js../node_modules/.bun/@opentelemetry+resources@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/resources/build/esm/ResourceImpl.js../node_modules/.bun/@opentelemetry+resources@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/resources/build/esm/default-service-name.js../node_modules/.bun/@opentelemetry+resources@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/resources/build/esm/utils.js../node_modules/.bun/@opentelemetry+sdk-trace-base@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/sdk-trace-base/build/esm/Tracer.js../node_modules/.bun/@opentelemetry+sdk-trace-base@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/sdk-trace-base/build/esm/Span.js../node_modules/.bun/@opentelemetry+sdk-trace-base@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/sdk-trace-base/build/esm/enums.js../node_modules/.bun/@opentelemetry+sdk-trace-base@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/sdk-trace-base/build/esm/config.js../node_modules/.bun/@opentelemetry+sdk-trace-base@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/sdk-trace-base/build/esm/Sampler.js../node_modules/.bun/@opentelemetry+sdk-trace-base@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/sdk-trace-base/build/esm/sampler/AlwaysOffSampler.js../node_modules/.bun/@opentelemetry+sdk-trace-base@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/sdk-trace-base/build/esm/sampler/AlwaysOnSampler.js../node_modules/.bun/@opentelemetry+sdk-trace-base@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/sdk-trace-base/build/esm/sampler/ParentBasedSampler.js../node_modules/.bun/@opentelemetry+sdk-trace-base@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/sdk-trace-base/build/esm/sampler/TraceIdRatioBasedSampler.js../node_modules/.bun/@opentelemetry+sdk-trace-base@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/sdk-trace-base/build/esm/utility.js../node_modules/.bun/@opentelemetry+sdk-trace-base@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/sdk-trace-base/build/esm/platform/node/RandomIdGenerator.js../node_modules/.bun/@opentelemetry+sdk-trace-base@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/sdk-trace-base/build/esm/MultiSpanProcessor.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/otel/logger.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/otel/instrument.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/childProcess.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/context.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/contextlines.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/http/index.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/local-variables/local-variables-async.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/utils/debug.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/local-variables/common.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/local-variables/local-variables-sync.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/local-variables/index.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/modules.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/utils/detection.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/node-fetch/index.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/onuncaughtexception.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/utils/errorhandling.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/onunhandledrejection.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/processSession.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/spotlight.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/systemError.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/transports/http.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/proxy/index.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/proxy/base.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/proxy/parse-proxy-response.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/utils/spotlight.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/utils/module.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/sdk/api.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/sdk/client.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/sdk/esmLoader.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/sdk/index.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/utils/ensureIsWrapped.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/utils/createMissingInstrumentationContext.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/anr/index.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/logs/capture.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/logs/exports.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/winston.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/utils/addOriginToSpan.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/cron/common.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/cron/cron.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/cron/node-cron.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/cron/node-schedule.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/cron/index.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/node-fetch.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/fs.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/express.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/debug-build.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/fastify/index.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/fastify/fastify-otel/index.js../node_modules/.bun/minimatch@9.0.5/node_modules/minimatch/dist/esm/index.js../node_modules/.bun/minimatch@9.0.5/node_modules/minimatch/dist/esm/assert-valid-pattern.js../node_modules/.bun/minimatch@9.0.5/node_modules/minimatch/dist/esm/brace-expressions.js../node_modules/.bun/minimatch@9.0.5/node_modules/minimatch/dist/esm/unescape.js../node_modules/.bun/minimatch@9.0.5/node_modules/minimatch/dist/esm/ast.js../node_modules/.bun/minimatch@9.0.5/node_modules/minimatch/dist/esm/escape.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/fastify/v3/instrumentation.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/fastify/v3/enums/AttributeNames.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/fastify/v3/utils.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/fastify/v3/constants.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/graphql.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/kafka.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/lrumemoizer.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/mongo.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/mongoose.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/mysql.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/mysql2.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/redis.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/utils/redisCache.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/postgres.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/postgresjs.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/prisma.js../node_modules/.bun/@prisma+instrumentation@7.2.0+460773ef8ff1e07c/node_modules/@prisma/instrumentation/dist/index.mjs../node_modules/.bun/@opentelemetry+api-logs@0.207.0/node_modules/@opentelemetry/api-logs/build/esm/NoopLogger.js../node_modules/.bun/@opentelemetry+api-logs@0.207.0/node_modules/@opentelemetry/api-logs/build/esm/NoopLoggerProvider.js../node_modules/.bun/@opentelemetry+api-logs@0.207.0/node_modules/@opentelemetry/api-logs/build/esm/ProxyLogger.js../node_modules/.bun/@opentelemetry+api-logs@0.207.0/node_modules/@opentelemetry/api-logs/build/esm/ProxyLoggerProvider.js../node_modules/.bun/@opentelemetry+api-logs@0.207.0/node_modules/@opentelemetry/api-logs/build/esm/platform/node/globalThis.js../node_modules/.bun/@opentelemetry+api-logs@0.207.0/node_modules/@opentelemetry/api-logs/build/esm/internal/global-utils.js../node_modules/.bun/@opentelemetry+api-logs@0.207.0/node_modules/@opentelemetry/api-logs/build/esm/api/logs.js../node_modules/.bun/@opentelemetry+api-logs@0.207.0/node_modules/@opentelemetry/api-logs/build/esm/index.js../node_modules/.bun/@opentelemetry+instrumentation@0.207.0+460773ef8ff1e07c/node_modules/@opentelemetry/instrumentation/build/esm/platform/node/instrumentation.js../node_modules/.bun/@opentelemetry+instrumentation@0.207.0+460773ef8ff1e07c/node_modules/@opentelemetry/instrumentation/build/esm/semver.js../node_modules/.bun/@opentelemetry+instrumentation@0.207.0+460773ef8ff1e07c/node_modules/@opentelemetry/instrumentation/build/esm/shimmer.js../node_modules/.bun/@opentelemetry+instrumentation@0.207.0+460773ef8ff1e07c/node_modules/@opentelemetry/instrumentation/build/esm/instrumentation.js../node_modules/.bun/@opentelemetry+instrumentation@0.207.0+460773ef8ff1e07c/node_modules/@opentelemetry/instrumentation/build/esm/platform/node/RequireInTheMiddleSingleton.js../node_modules/.bun/@opentelemetry+instrumentation@0.207.0+460773ef8ff1e07c/node_modules/@opentelemetry/instrumentation/build/esm/platform/node/ModuleNameTrie.js../node_modules/.bun/@opentelemetry+instrumentation@0.207.0+460773ef8ff1e07c/node_modules/@opentelemetry/instrumentation/build/esm/utils.js../node_modules/.bun/@opentelemetry+instrumentation@0.207.0+460773ef8ff1e07c/node_modules/@opentelemetry/instrumentation/build/esm/instrumentationNodeModuleDefinition.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/hapi/index.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/hono/index.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/hono/constants.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/hono/instrumentation.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/koa.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/connect.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/knex.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/tedious.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/genericPool.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/dataloader.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/amqplib.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/vercelai/constants.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/vercelai/instrumentation.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/vercelai/index.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/openai/instrumentation.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/openai/index.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/anthropic-ai/instrumentation.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/anthropic-ai/index.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/google-genai/instrumentation.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/google-genai/index.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/langchain/instrumentation.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/langchain/index.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/langgraph/instrumentation.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/langgraph/index.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/featureFlagShims/launchDarkly.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/featureFlagShims/openFeature.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/featureFlagShims/statsig.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/featureFlagShims/unleash.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/featureFlagShims/growthbook.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/firebase/otel/firebaseInstrumentation.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/firebase/otel/patches/firestore.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/firebase/otel/patches/functions.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/firebase/firebase.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/index.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/sdk/initOtel.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/sdk/index.js../node_modules/.bun/@sentry+bun@10.39.0/node_modules/@sentry/bun/build/esm/client.js../node_modules/.bun/@sentry+bun@10.39.0/node_modules/@sentry/bun/build/esm/sdk.js../node_modules/.bun/@sentry+bun@10.39.0/node_modules/@sentry/bun/build/esm/integrations/bunserver.js../node_modules/.bun/@sentry+bun@10.39.0/node_modules/@sentry/bun/build/esm/transports/index.jssrc/services/sentry.tssrc/config.ts../node_modules/.bun/xdg-basedir@5.1.0/node_modules/xdg-basedir/index.jssrc/adapters/shared/diagnostics.tssrc/adapters/adapter.tssrc/adapters/claude-code/v1.tssrc/adapters/shared/history-reader.tssrc/adapters/cursor/v1.tssrc/adapters/opencode/v2.tssrc/adapters/codex/v1.tssrc/adapters/gemini-cli/v1.tssrc/adapters/pi/v1.tssrc/adapters/amp/v1.tssrc/adapters/copilot/v1.tssrc/adapters/index.tssrc/index.ts../node_modules/.bun/@opentui+core@0.1.77+1709b875ec26ad5f/node_modules/@opentui/core/index-h3dbfsf6.js../node_modules/.bun/@opentui+core@0.1.77+1709b875ec26ad5f/node_modules/@opentui/core/index.js../node_modules/.bun/@opentui+core@0.1.77+1709b875ec26ad5f/node_modules/@opentui/core/testing.js../node_modules/.bun/solid-js@1.9.11/node_modules/solid-js/dist/solid.js../node_modules/.bun/@opentui+solid@0.1.77+10ed39f1f7205fcc/node_modules/@opentui/solid/index.jssrc/tui/hooks/useAppState.ts../packages/shared/dist/invite.js../packages/shared/dist/part.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/core.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/util.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/errors.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/parse.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/regexes.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/checks.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/doc.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/versions.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/schemas.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ar.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/az.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/be.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/bg.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ca.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/cs.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/da.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/de.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/en.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/eo.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/es.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/fa.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/fi.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/fr.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/fr-CA.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/he.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/hu.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/hy.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/id.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/is.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/it.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ja.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ka.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/km.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/kh.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ko.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/lt.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/mk.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ms.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/nl.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/no.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ota.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ps.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/pl.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/pt.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ru.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/sl.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/sv.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ta.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/th.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/tr.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/uk.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ua.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ur.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/uz.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/vi.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/zh-CN.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/zh-TW.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/yo.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/registries.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/api.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/to-json-schema.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/json-schema-processors.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/json-schema-generator.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/classic/iso.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/classic/errors.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/classic/parse.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/classic/schemas.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/classic/compat.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/classic/from-json-schema.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/classic/coerce.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/classic/external.js../packages/shared/dist/schemas/part.js../packages/shared/dist/schemas/message.jssrc/services/request-history.tssrc/services/scrub-secrets.tssrc/core/auth-config.tssrc/services/auth.tssrc/services/api.tssrc/services/logger.tssrc/services/cli-auth.tssrc/services/clipboard.tssrc/services/open-browser.tssrc/tui/utils/transforms.tssrc/tui/utils/format.tssrc/tui/utils/layout.tssrc/tui/utils/list-actions.tssrc/core/event-store.tssrc/core/migrations.tssrc/core/trace.tssrc/core/trace-indexer.tssrc/core/trace-controller.tssrc/services/config-loader.tssrc/services/update.tssrc/tui/theme.tssrc/tui/constants.tssrc/tui/utils/state-helpers.tssrc/tui/hooks/useKeyboard.tssrc/tui/components/Header.tsxsrc/tui/components/ListView.tsxsrc/tui/components/DetailView.tsxsrc/tui/components/Footer.tsxsrc/tui/components/Dialogs.tsxsrc/tui/components/Overlays.tsxsrc/tui/components/NamespaceSwitcher.tsxsrc/tui/app.tsxsrc/services/env.tssrc/commands/login.tssrc/commands/logout.tssrc/commands/whoami.tssrc/commands/reset.tssrc/commands/status.tssrc/commands/doctor.tssrc/commands/share.tssrc/commands/share-options.tssrc/commands/list.tssrc/commands/list-options.tssrc/commands/setup.ts../node_modules/.bun/@clack+core@1.0.1/node_modules/@clack/core/dist/index.mjs../node_modules/.bun/@clack+prompts@1.0.1/node_modules/@clack/prompts/dist/index.mjssrc/commands/setup-assets.tssrc/commands/setup-options.tssrc/commands/namespace.tssrc/commands/transfer.ts(
grep -a -C 50 "getAgentTranscriptTraceContent" /home/lakshyaag/.bun/install/global/node_modules/@traces-sh/traces-linux-x64/bin/traces | grep -i "cursor" | head -n 100 | strings | grep -v "00000000"agentId: "cursor",
console.error("Error reading Cursor agent transcripts:", err);
throw new Error(`Could not resolve source path for cursor trace: ${trace18.id}`);
const row = db.query("SELECT key FROM cursorDiskKV WHERE key = ?").get(`composerData:${trace18.id}`);
console.error("Error reading Cursor global storage trace:", err);grep -a -A 100 "getAgentTranscriptTraceContent" /home/lakshyaag/.bun/install/global/node_modules/@traces-sh/traces-linux-x64/bin/traces | head -n 200 | strings | grep -v "00000000"return this.getAgentTranscriptTraceContent({ ...trace18, sourcePath }, diagnostics);
}
throw new Error(`Could not resolve source path for cursor trace: ${trace18.id}`);
resolveSourcePath(trace18) {
if (trace18.sourcePath)
return trace18.sourcePath;
if (!trace18.id.startsWith("transcript:")) {
const db = this.getGlobalDb();
if (db) {
try {
const row = db.query("SELECT key FROM cursorDiskKV WHERE key = ?").get(`composerData:${trace18.id}`);
if (row)
return `global:${trace18.id}`;
} catch {}
}
}
if (trace18.id.startsWith("transcript:")) {
const traceId = trace18.id.replace("transcript:", "");
return this.findTranscriptFile(traceId);
}
return null;
findTranscriptFile(traceId) {
if (!fs3.existsSync(this.projectsDir))
return null;
try {
const projectDirs = fs3.readdirSync(this.projectsDir);
for (const projectDir of projectDirs) {
const projectPath = path7.join(this.projectsDir, projectDir);
try {
if (!fs3.statSync(projectPath).isDirectory())
continue;
} catch {
continue;
}
const candidate = path7.join(projectPath, "agent-transcripts", `${traceId}.json`);
if (fs3.existsSync(candidate))
return candidate;
}
} catch {}
return null;
async getEnvironmentDetails(trace18) {
const content = await this.getTraceContent(trace18);
return {
projectPath: trace18.directory,
projectName: trace18.directory ? path7.basename(trace18.directory) : undefined,
createdAt: content.createdAt,
updatedAt: content.updatedAt
};
async count(trace18) {
if (trace18.sourcePath?.startsWith("global:")) {
return this.countGlobalStorageTrace(trace18);
}
return super.count(trace18);
countGlobalStorageTrace(trace18) {
const composerId = trace18.sourcePath?.replace("global:", "") || trace18.id;
const db = this.getGlobalDb();
if (!db)
return 0;
try {
const row = db.query("SELECT value FROM cursorDiskKV WHERE key = ?").get(`composerData:${composerId}`);
if (!row)
return 0;
const composerData = JSON.parse(row.value.toString("utf-8"));
const headers = composerData.fullConversationHeadersOnly || [];
return headers.length;
} catch {
return 0;
}
async getGlobalStorageTraceContent(trace18, diagnostics) {
const composerId = trace18.sourcePath?.replace("global:", "") || trace18.id;
const events = [];
let eventOrder = 1;
const db = this.getGlobalDb();
if (!db) {
return {
events: [],
modelIds: [],
createdAt: this.formatTimestamp(trace18.timestamp),
updatedAt: this.formatTimestamp(trace18.timestamp)
};
}
let modelId;
try {
const composerRow = db.query("SELECT value FROM cursorDiskKV WHERE key = ?").get(`composerData:${composerId}`);
if (!composerRow) {
throw new Error("Composer not found");
}
const composerData = JSON.parse(composerRow.value.toString("utf-8"));
const headers = composerData.fullConversationHeadersOnly || [];
if (composerData.modelConfig?.modelName) {
modelId = composerData.modelConfig.modelName;
}
for (const header of headers) {
const bubble = this.getBubble(composerId, header.bubbleId);
if (!bubble) {
async getAgentTranscriptTraceContent(trace18, diagnostics) {
const jsonPath = trace18.sourcePath;
if (!jsonPath) {
throw new Error("No source path provided for trace");
}
const events = [];
let eventOrder = 1;
try {
const content = await fs3.promises.readFile(jsonPath, "utf-8");
const transcriptMessages = JSON.parse(content);
diagnostics.totalEntries = transcriptMessages.length;
for (const msg of transcriptMessages) {
const timestamp = trace18.timestamp;
const eventsBefore = events.length;
if (msg.role === "user" && msg.text) {
let userText = msg.text;
const match2 = userText.match(/<user_query>\n?([\s\S]*?)\n?<\/user_query>/);
if (match2) {
userText = match2[1].trim();
}
events.push({
id: `event-${eventOrder}`,
type: "user_message",
content: userText,
timestamp,
order: eventOrder++
});
}
if (msg.role === "assistant") {
if (msg.thinking) {
events.push({
id: `event-${eventOrder}`,
type: "agent_thinking",
content: msg.thinking,
timestamp,
order: eventOrder++
});
}
if (msg.toolCalls) {
for (const toolCall of msg.toolCalls) {
const callId = `call-${eventOrder}`;
events.push({
id: `event-${eventOrder}`,
type: "tool_call",
callId,
toolName: toolCall.toolName,
args: toolCall.args,
timestamp,
order: eventOrder++
});
}
}
if (msg.text) {
events.push({
id: `event-${eventOrder}`,
type: "agent_text",
content: msg.text,
timestamp,
order: eventOrder++
});
}
}
if (msg.role === "tool" && msg.toolResult) {
const resultContent = typeof msg.toolResult.result === "string" ? msg.toolResult.result : JSON.stringify(msg.toolResult.result, null, 2);
events.push({
id: `event-${eventOrder}`,
type: "tool_result",
callId: `call-${eventOrder}`,
toolName: msg.toolResult.toolName,
output: resultContent || "(empty result)",
status: "success",
timestamp,
order: eventOrder++
});
}
if (events.length === eventsBefore) {
diagnostics.unhandledTypeNames.add(msg.role ?? "unknown");
}
}
} catch (err) {
console.error("Error parsing Cursor JSON transcript:", err);
}
const traceDate = this.formatTimestamp(trace18.timestamp);
return {
events,
modelIds: ["claude-3-5-sonnet"],
createdAt: traceDate,
updatedAt: traceDate
};
async subscribe(trace18, onEvent) {
if (trace18.sourcePath?.startsWith("global:")) {
return this.subscribeToGlobalTrace(trace18, onEvent);
}
const jsonPath = trace18.sourcePath;
if (!jsonPath || !fs3.existsSync(jsonPath)) {
return () => {};
}head -n 5 /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-ai-receptionist/agent-transcripts/29aef319-b364-4723-bce8-8bfe339897cf/29aef319-b364-4723-bce8-8bfe339897cf.jsonl{"role":"user","message":{"content":[{"type":"text","text":"<user_query>\n# Personality\n\nYou are a medical assistant named \"MediCall\" designed to help patients with information and basic account management.\nYou are efficient, polite, and reassuring.\nYou are knowledgeable about medical information and can guide patients through basic account creation and information retrieval.\n\n# Environment\n\nYou are interacting with patients over the phone.\nYou have access to the InSync API (currently a stub for MCP specifications) to retrieve and update patient information.\nThe patient may be calling with varying levels of technical knowledge or medical understanding.\n\n# Tone\n\nYour responses are clear, concise, and empathetic.\nYou use a professional and reassuring tone.\nYou avoid technical jargon unless necessary and explain medical terms in simple language.\nYou use positive affirmations and encouragement to guide the patient through the process.\nYou format phone numbers with pauses (\"555... 123... 4567\") for clarity.\n\n# Goal\n\nYour primary goal is to assist patients with their inquiries and account management needs using the InSync API (MCP stub).\n\n1. **Authentication:**\n * Identify if the patient is a new or existing user.\n * If existing, authenticate using available information.\n * If new, guide them through the account creation process.\n\n2. **Account Creation (if needed):**\n * Collect necessary patient information (name, date of birth, contact information).\n * Create a new user account in the InSync API (MCP stub).\n * Confirm successful account creation to the patient.\n\n3. **Information Retrieval:**\n * Understand the patient's request for information.\n * Use the InSync API (MCP stub) to retrieve the relevant information.\n * Provide the information to the patient clearly and concisely.\n * Offer additional assistance or clarification as needed.\n\n4. **Call Closure:**\n * Ensure the patient's needs have been met.\n * Offer further assistance or direct them to other resources if necessary.\n * Thank the patient for calling.\n\n# Guardrails\n\n* Never provide medical advice or diagnoses. Always refer patients to qualified medical professionals.\n* Do not ask for sensitive personal information (e.g., social security number, credit card details) unless absolutely necessary for account creation (and with explicit consent).\n* Maintain patient confidentiality and comply with HIPAA regulations.\n* If you are unable to retrieve information from the InSync API (MCP stub), apologize and offer to connect the patient with a human representative.\n* Do not speculate or provide inaccurate information. If you don't know the answer, say so and offer to find out.\n* Avoid discussing topics unrelated to medical information or account management.\n\n# Tools\n\n* **InSync API (MCP Stub):**\n * Function: Authenticates users, creates new user accounts, and retrieves patient information.\n * Authentication: Use available patient information to authenticate.\n * Create User: Collects patient information and creates a new account.\n * Get Patient Info: Retrieves patient information based on provided parameters.\n\n---\n\nHelp me brainstorm. I already have an ElevenLabs agent that is defined on their platform. \n</user_query>"}]}}
{"role":"assistant","message":{"content":[{"type":"text","text":"Checking the codebase for existing MediCall/InSync/ElevenLabs setup so we can brainstorm concretely."}]}}
{"role":"assistant","message":{"content":[{"type":"text","text":"Your workspace doesn’t seem to have code for MediCall/InSync yet, so here’s a focused brainstorm that assumes you already have the MediCall spec and an ElevenLabs agent configured.\n\n---\n\n## 1. **ElevenLabs agent ↔ InSync (MCP stub)**\n\n- **Tool calls from the agent** \n Your agent needs to call “Authenticate”, “Create User”, “Get Patient Info”. On ElevenLabs, that usually means:\n - Defining **custom tools/functions** in the agent config that map 1:1 to your InSync API (or MCP) operations.\n - Ensuring the agent’s **system prompt** (your MediCall personality doc) clearly says *when* to use each tool (e.g. “If the caller says they are new, use Create User after collecting name, DOB, contact.”).\n\n- **MCP stub as the “backend”** \n The “InSync API (MCP stub)” can be:\n - A small HTTP API that your ElevenLabs agent calls via **webhooks / function calling**, or \n - An MCP server your orchestration layer calls; the agent then gets results and speaks them. \n Decide whether ElevenLabs will call your stub **directly** (e.g. HTTPS) or via an intermediary (your server that talks to MCP).\n\n- **What the stub should expose** \n From your goals, the stub could expose at least:\n - `authenticate(identifier, secret_or_dob)` → session/token or patient id.\n - `create_user(name, date_of_birth, phone, email, …)` → success + id or error.\n - `get_patient_info(patient_id, info_type)` → e.g. appointments, meds, contact info (all fake in stub). \n Stub returns clear, minimal JSON so the agent can say things like “I’ve found your next appointment…” or “I wasn’t able to find that; I can connect you with a representative.”\n\n---\n\n## 2. **Conversation flow and state**\n\n- **Identify new vs existing** \n First exchange: “Are you calling about an existing account or are you new to our practice?” (or “Do you already have an account with us?”). Branch:\n - **Existing** → authenticate (e.g. DOB + name or ID) → then retrieval.\n - **New** → account creation flow → then optional retrieval.\n\n- **Account creation** \n Collect in a fixed order to avoid confusion on the phone: \n Full name → Date of birth → Phone → Email (optional). \n Repeat back each value (“So that’s 555… 123… 4567”) and confirm before calling **Create User**. After stub returns success, say something like “Your account is set up. You can call back and use your date of birth and name to get information.”\n\n- **Information retrieval** \n After auth, map intents to one or two stub calls, e.g.:\n - “Next appointment” → `get_patient_info(patient_id, \"appointments\")`.\n - “Contact details on file” → `get_patient_info(patient_id, \"contact\")`. \n If the stub doesn’t support a requested info type, agent says so and offers to transfer or have someone call back.\n\n- **Call closure** \n After answering: “Is there anything else I can help with today?” If no: “Thank you for calling. Take care.” If the agent can’t help: “I’ll connect you with a team member who can help with that.”\n\n---\n\n## 3. **Guardrails and safety**\n\n- **No medical advice** \n In the ElevenLabs prompt, add explicit examples: \n “If the caller asks whether they should take a medication or what a symptom means, say: ‘I can’t give medical advice. Please contact your doctor or nurse for that.’” \n Same for diagnoses, dosing, or “is this normal?”\n\n- **Sensitive data** \n In the stub and prompt: never request SSN or full credit card; if you ever need last-4 for verification, say so in the script and keep it minimal. Store/log only what’s necessary and mention in the prompt that the agent must not repeat back full SSN or card numbers.\n\n- **When the stub fails** \n If InSync/stub returns an error or timeout, the agent should have a single standard line: “I’m having trouble pulling that up right now. I can have someone call you back, or you can try again in a few minutes.” No speculation, no “maybe your DOB is wrong.”\n\n- **Staying on topic** \n Short instruction: “If the caller goes off topic (e.g. weather, politics), politely say: ‘I’m here to help with your account and information. Is there something about your account or appointments I can help with?’”\n\n---\n\n## 4. **Phone-specific UX**\n\n- **Numbers** \n Your spec already says to format with pauses (“555… 123… 4567”). In the prompt, add: “Always read phone numbers in groups of 3–4 digits with a short pause between groups.”\n\n- **Confirmations** \n For any critical action (e.g. account created, appointment time stated), agent repeats the key fact once and asks for confirmation if needed (“Can you confirm that’s correct?”).\n\n- **One thing at a time** \n Instruct the agent to answer one request per turn when possible, then offer the next: “I’ve got your next appointment. Would you also like your contact details on file?”\n\n---\n\n## 5. **Technical choices to decide**\n\n| Topic | Options |\n|-------|--------|\n| **Where does the stub live?** | Same repo as “ai-receptionist”, or a small separate service your ElevenLabs webhook calls. |\n| **Auth to stub** | API key in webhook request; or no auth in stub if it’s only used in a private network. |\n| **Stub data** | In-memory (e.g. a map), or a tiny DB (SQLite/Postgres) so you can test “existing” vs “new” and different info types. |\n| **Agent ↔ stub** | ElevenLabs **Conversational AI** function calling to your HTTPS endpoint, or your server receiving transcript/events and calling MCP then feeding replies back. |\n\n---\n\n## 6. **What to build next (in order)**\n\n1. **InSync MCP stub** \n Implement the three operations (authenticate, create_user, get_patient_info) with a clear JSON contract. Use fake but realistic data.\n\n2. **Expose stub over HTTP** \n So ElevenLabs (or your middleware) can call it (e.g. POST with a JSON body or query params).\n\n3. **Wire ElevenLabs agent to the stub** \n Define tools in the agent that call your HTTP endpoints; paste your MediCall personality + tone + guardrails into the agent’s system prompt.\n\n4. **Test end-to-end** \n Call the ElevenLabs number, go through “new user” and “existing user” once, and one “get my appointment” flow; then test failure cases (wrong DOB, stub down).\n\n5. **Refine prompt** \n From recordings, add 2–3 example dialogues for “new user”, “existing user – get appointment”, and “request for medical advice (refuse politely).”\n\nIf you tell me whether you want the stub as an MCP server, a REST API, or both, I can outline the exact request/response shapes and a minimal flow diagram next (still in brainstorm form, no code)."}]}}grep -a -A 150 "async getAgentTranscriptTraces()" /home/lakshyaag/.bun/install/global/node_modules/@traces-sh/traces-linux-x64/bin/traces | head -n 300 | strings | grep -v "00000000"async getAgentTranscriptTraces() {
const traces = [];
if (!fs3.existsSync(this.projectsDir)) {
return traces;
}
try {
const projectDirs = fs3.readdirSync(this.projectsDir);
for (const projectDir of projectDirs) {
const projectPath = path7.join(this.projectsDir, projectDir);
try {
if (!fs3.statSync(projectPath).isDirectory())
continue;
} catch {
continue;
}
const transcriptsDir = path7.join(projectPath, "agent-transcripts");
if (!fs3.existsSync(transcriptsDir))
continue;
const files = fs3.readdirSync(transcriptsDir);
for (const file of files) {
if (!file.endsWith(".json"))
continue;
const traceId = file.replace(".json", "");
const filePath = path7.join(transcriptsDir, file);
let stat;
try {
stat = fs3.statSync(filePath);
} catch {
continue;
}
let preview = "(No preview)";
try {
const content = fs3.readFileSync(filePath, "utf-8");
const messages = JSON.parse(content);
const firstUserMsg = messages.find((m) => m.role === "user" && m.text);
if (firstUserMsg?.text) {
const match2 = firstUserMsg.text.match(/<user_query>\n?([\s\S]*?)\n?<\/user_query>/);
preview = match2 ? match2[1].trim() : firstUserMsg.text.trim();
preview = this.truncateText(preview.split(`
`)[0], 100);
}
} catch {}
const projectName = projectDir.replace(/-/g, "/");
traces.push({
id: `transcript:${traceId}`,
agentId: "cursor",
title: preview,
preview,
timestamp: stat.mtimeMs,
directory: projectName,
sourcePath: filePath
});
}
}
} catch (err) {
console.error("Error reading Cursor agent transcripts:", err);
}
return traces;
async parseTraceContent(trace18, diagnostics) {
const sourcePath = this.resolveSourcePath(trace18);
if (sourcePath?.startsWith("global:")) {
return this.getGlobalStorageTraceContent({ ...trace18, sourcePath }, diagnostics);
} else if (sourcePath) {
return this.getAgentTranscriptTraceContent({ ...trace18, sourcePath }, diagnostics);
}
throw new Error(`Could not resolve source path for cursor trace: ${trace18.id}`);
resolveSourcePath(trace18) {
if (trace18.sourcePath)
return trace18.sourcePath;
if (!trace18.id.startsWith("transcript:")) {
const db = this.getGlobalDb();
if (db) {
try {
const row = db.query("SELECT key FROM cursorDiskKV WHERE key = ?").get(`composerData:${trace18.id}`);
if (row)
return `global:${trace18.id}`;
} catch {}
}
}
if (trace18.id.startsWith("transcript:")) {
const traceId = trace18.id.replace("transcript:", "");
return this.findTranscriptFile(traceId);
}
return null;
findTranscriptFile(traceId) {
if (!fs3.existsSync(this.projectsDir))
return null;
try {
const projectDirs = fs3.readdirSync(this.projectsDir);
for (const projectDir of projectDirs) {
const projectPath = path7.join(this.projectsDir, projectDir);
try {
if (!fs3.statSync(projectPath).isDirectory())
continue;
} catch {
continue;
}
const candidate = path7.join(projectPath, "agent-transcripts", `${traceId}.json`);
if (fs3.existsSync(candidate))
return candidate;
}
} catch {}
return null;
async getEnvironmentDetails(trace18) {
const content = await this.getTraceContent(trace18);
return {
projectPath: trace18.directory,
projectName: trace18.directory ? path7.basename(trace18.directory) : undefined,
createdAt: content.createdAt,
updatedAt: content.updatedAt
};
async count(trace18) {
if (trace18.sourcePath?.startsWith("global:")) {
return this.countGlobalStorageTrace(trace18);
}
return super.count(trace18);
countGlobalStorageTrace(trace18) {
const composerId = trace18.sourcePath?.replace("global:", "") || trace18.id;
const db = this.getGlobalDb();
if (!db)
return 0;
try {
const row = db.query("SELECT value FROM cursorDiskKV WHERE key = ?").get(`composerData:${composerId}`);
if (!row)
return 0;
const composerData = JSON.parse(row.value.toString("utf-8"));
const headers = composerData.fullConversationHeadersOnly || [];
return headers.length;
} catch {
return 0;
}
async getGlobalStorageTraceContent(trace18, diagnostics) {
const composerId = trace18.sourcePath?.replace("global:", "") || trace18.id;
const events = [];
let eventOrder = 1;
const db = this.getGlobalDb();
if (!db) {
return {
events: [],
modelIds: [],
createdAt: this.formatTimestamp(trace18.timestamp),
updatedAt: this.formatTimestamp(trace18.timestamp)
};
}find /home/lakshyaag/.cursor/projects -name "*.json" -o -name "*.jsonl" | head -n 100/home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/user-Docs_by_LangChain/tools/SearchDocsByLangChain.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/user-Docs_by_LangChain/SERVER_METADATA.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/user-Context7/tools/resolve-library-id.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/user-Context7/tools/query-docs.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/user-Context7/SERVER_METADATA.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/user-supabase/tools/list_migrations.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/user-supabase/tools/rebase_branch.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/user-supabase/tools/get_publishable_keys.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/user-supabase/tools/list_edge_functions.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/user-supabase/tools/list_extensions.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/user-supabase/tools/apply_migration.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/user-supabase/tools/list_branches.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/user-supabase/tools/list_tables.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/user-supabase/tools/get_project_url.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/user-supabase/tools/search_docs.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/user-supabase/tools/create_branch.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/user-supabase/tools/generate_typescript_types.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/user-supabase/tools/merge_branch.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/user-supabase/tools/reset_branch.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/user-supabase/tools/delete_branch.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/user-supabase/tools/deploy_edge_function.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/user-supabase/tools/get_logs.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/user-supabase/tools/get_advisors.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/user-supabase/tools/get_edge_function.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/user-supabase/tools/execute_sql.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/user-supabase/SERVER_METADATA.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/cursor-ide-browser/tools/browser_fill.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/cursor-ide-browser/tools/browser_tabs.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/cursor-ide-browser/tools/browser_highlight.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/cursor-ide-browser/tools/browser_is_checked.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/cursor-ide-browser/tools/browser_network_requests.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/cursor-ide-browser/tools/browser_search.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/cursor-ide-browser/tools/browser_snapshot.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/cursor-ide-browser/tools/browser_handle_dialog.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/cursor-ide-browser/tools/browser_console_messages.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/cursor-ide-browser/tools/browser_lock.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/cursor-ide-browser/tools/browser_type.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/cursor-ide-browser/tools/browser_get_input_value.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/cursor-ide-browser/tools/browser_click.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/cursor-ide-browser/tools/browser_get_attribute.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/cursor-ide-browser/tools/browser_hover.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/cursor-ide-browser/tools/browser_wait_for.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/cursor-ide-browser/tools/browser_drag.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/cursor-ide-browser/tools/browser_unlock.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/cursor-ide-browser/tools/browser_scroll.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/cursor-ide-browser/tools/browser_is_enabled.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/cursor-ide-browser/tools/browser_navigate_back.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/cursor-ide-browser/tools/browser_reload.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/cursor-ide-browser/tools/browser_navigate.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/cursor-ide-browser/tools/browser_fill_form.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/cursor-ide-browser/tools/browser_take_screenshot.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/cursor-ide-browser/tools/browser_profile_start.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/cursor-ide-browser/tools/browser_profile_stop.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/cursor-ide-browser/tools/browser_get_bounding_box.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/cursor-ide-browser/tools/browser_resize.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/cursor-ide-browser/tools/browser_select_option.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/cursor-ide-browser/tools/browser_press_key.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/cursor-ide-browser/tools/browser_navigate_forward.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/cursor-ide-browser/tools/browser_is_visible.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/cursor-ide-browser/SERVER_METADATA.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/user-tanstack/tools/getAddOnDetails.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/user-tanstack/tools/createTanStackApplication.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/user-tanstack/tools/tanstack_doc.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/user-tanstack/tools/tanstack_ecosystem.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/user-tanstack/tools/listTanStackAddOns.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/user-tanstack/tools/tanstack_search_docs.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/user-tanstack/tools/tanstack_list_libraries.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/mcps/user-tanstack/SERVER_METADATA.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/agent-transcripts/5cfb1ac5-dc7e-4aad-a2b3-6295a35d1440/5cfb1ac5-dc7e-4aad-a2b3-6295a35d1440.jsonl /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/agent-transcripts/f866fa7a-1576-4866-b1ae-b6a4f4f2b7f1/f866fa7a-1576-4866-b1ae-b6a4f4f2b7f1.jsonl /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/agent-transcripts/b7d72200-7d48-4b79-b90f-9faea5c4498b/b7d72200-7d48-4b79-b90f-9faea5c4498b.jsonl /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/agent-transcripts/b6385d33-ad66-40d3-ad8e-3e730a73a915/b6385d33-ad66-40d3-ad8e-3e730a73a915.jsonl /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/agent-transcripts/827b3e0b-e7f4-4e12-a9da-e4cdc1e5e675/827b3e0b-e7f4-4e12-a9da-e4cdc1e5e675.jsonl /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-polymarket-research/pull-requests/pr-33967/comments.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-polymarket-research/pull-requests/pr-33967/summary.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-polymarket-research/mcps/project-0-polymarket-research-supabase/tools/list_migrations.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-polymarket-research/mcps/project-0-polymarket-research-supabase/tools/rebase_branch.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-polymarket-research/mcps/project-0-polymarket-research-supabase/tools/get_publishable_keys.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-polymarket-research/mcps/project-0-polymarket-research-supabase/tools/list_edge_functions.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-polymarket-research/mcps/project-0-polymarket-research-supabase/tools/list_extensions.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-polymarket-research/mcps/project-0-polymarket-research-supabase/tools/apply_migration.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-polymarket-research/mcps/project-0-polymarket-research-supabase/tools/list_branches.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-polymarket-research/mcps/project-0-polymarket-research-supabase/tools/list_tables.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-polymarket-research/mcps/project-0-polymarket-research-supabase/tools/get_project_url.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-polymarket-research/mcps/project-0-polymarket-research-supabase/tools/search_docs.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-polymarket-research/mcps/project-0-polymarket-research-supabase/tools/create_branch.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-polymarket-research/mcps/project-0-polymarket-research-supabase/tools/generate_typescript_types.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-polymarket-research/mcps/project-0-polymarket-research-supabase/tools/merge_branch.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-polymarket-research/mcps/project-0-polymarket-research-supabase/tools/reset_branch.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-polymarket-research/mcps/project-0-polymarket-research-supabase/tools/delete_branch.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-polymarket-research/mcps/project-0-polymarket-research-supabase/tools/deploy_edge_function.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-polymarket-research/mcps/project-0-polymarket-research-supabase/tools/get_logs.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-polymarket-research/mcps/project-0-polymarket-research-supabase/tools/get_advisors.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-polymarket-research/mcps/project-0-polymarket-research-supabase/tools/get_edge_function.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-polymarket-research/mcps/project-0-polymarket-research-supabase/tools/execute_sql.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-polymarket-research/mcps/project-0-polymarket-research-supabase/SERVER_METADATA.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-polymarket-research/mcps/cursor-browser-extension/SERVER_METADATA.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-polymarket-research/mcps/cursor-ide-browser/tools/browser_fill.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-polymarket-research/mcps/cursor-ide-browser/tools/browser_tabs.json /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-polymarket-research/mcps/cursor-ide-browser/tools/browser_highlight.json
head -n 20 /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-biodata/agent-transcripts/0288e942-3125-4188-81a5-07e59ff208e1.txtuser: <external_links> ### Potentially Relevant Websearch Results You should respond as if these information are known to you. Refrain from saying "I am unable to browse the internet" or "I don't have access to the internet" or "I'm unable to provide real-time news updates". This is your internet search results. Please always cite any links you referenced from the above search results in your response in markdown format. ------- Website URL: https://www.biodata-for-marriage.com/create-biodata/language/english/template/sunshine Website Title: Sunshine - Bright & Vibrant - English Marriage Biodata Template | Biodata for Marriage Website Content: logoBiodata for Marriage # sunshine marriage biodata format in english ## Templates sunshinebloomlilyphoenixblossomspringasterskyorchidirislilaczinniaroyalpebblepastelleafcosmosimple ---
find /home/lakshyaag/.cursor/projects -path "*/agent-transcripts/*.json"(no output)
ls -l /home/lakshyaag/.config/Cursor/User/globalStorage/state.vscdbls: cannot access '/home/lakshyaag/.config/Cursor/User/globalStorage/state.vscdb': No such file or directory Command exited with code 2
ls -d /home/lakshyaag/.config/Cursor*ls: cannot access '/home/lakshyaag/.config/Cursor*': No such file or directory Command exited with code 2
strings /home/lakshyaag/.bun/install/global/node_modules/@traces-sh/traces-linux-x64/bin/traces | grep -B 30 -A 30 "CursorAdapter" | grep -i "\.jsonl"const eventsPath = path13.join(this.sessionStateDir, entry.name, "events.jsonl");
grep -a -C 100 "events.jsonl" /home/lakshyaag/.bun/install/global/node_modules/@traces-sh/traces-linux-x64/bin/traces | head -n 500 | strings | grep -v "00000000" | head -n 100if (message.usage?.timestamp) {
const parsed = Date.parse(message.usage.timestamp);
if (!Number.isNaN(parsed))
return parsed;
}
if (message.meta?.sentAt && typeof message.meta.sentAt === "number") {
return message.meta.sentAt;
}
return fallback;
extractToolResultOutput(block) {
if (!block.run?.result) {
if (block.run?.status === "error")
return "(error)";
return "(no output)";
}
const result = block.run.result;
if (typeof result.content === "string")
return result.content;
if (typeof result.output === "string")
return result.output;
try {
return JSON.stringify(result, null, 2);
} catch {
return String(result);
}
buildIndexCursor() {
if (!fs8.existsSync(this.threadsDir)) {
return {
schemaVersion: this.discoverySchemaVersion,
threadsDirMtimeMs: 0,
threadFileCount: 0,
threadsNewestMtimeMs: 0
};
}
let threadFileCount = 0;
let threadsNewestMtimeMs = 0;
try {
const files = fs8.readdirSync(this.threadsDir).filter((f) => f.endsWith(".json"));
for (const file of files) {
if (threadFileCount >= this.maxThreadFilesScanned)
break;
threadFileCount += 1;
try {
const stat = fs8.statSync(path12.join(this.threadsDir, file));
threadsNewestMtimeMs = Math.max(threadsNewestMtimeMs, stat.mtimeMs);
} catch {}
}
} catch {}
let threadsDirMtimeMs = 0;
try {
threadsDirMtimeMs = fs8.statSync(this.threadsDir).mtimeMs;
} catch {}
return {
schemaVersion: this.discoverySchemaVersion,
threadsDirMtimeMs,
threadFileCount,
threadsNewestMtimeMs
};
// src/adapters/copilot/v1.ts
import fs9 from "fs";
import path13 from "path";
class CopilotAdapter extends BaseAdapter {
id = "copilot";
name = "GitHub Copilot";
copilotDir;
sessionStateDir;
maxSessionDirsScanned = 1e4;
constructor(copilotDir) {
super();
this.copilotDir = copilotDir ?? agentStoragePaths.copilot;
this.sessionStateDir = path13.join(this.copilotDir, "session-state");
async isAvailable() {
return fs9.existsSync(this.sessionStateDir);
async getTraces(options = {}) {
const limit = options.limit ?? 10;
if (!await this.isAvailable()) {
return [];
}
const traces = [];
let scanned = 0;
let entries = [];
try {
entries = fs9.readdirSync(this.sessionStateDir, { withFileTypes: true });
} catch {
return [];
}
for (const entry of entries) {
if (scanned >= this.maxSessionDirsScanned)
break;
if (!entry.isDirectory())
continue;
scanned += 1;
const sessionDir = path13.join(this.sessionStateDir, entry.name);
const eventsPath = path13.join(sessionDir, "events.jsonl");
if (!fs9.existsSync(eventsPath))
continue;
let stat;
try {
stat = fs9.statSync(eventsPath);
} catch {grep -a -C 50 "class CodexAdapter" /home/lakshyaag/.bun/install/global/node_modules/@traces-sh/traces-linux-x64/bin/traces | grep -i "cursorProjects"(no output) Command exited with code 1
strings /home/lakshyaag/.bun/install/global/node_modules/@traces-sh/traces-linux-x64/bin/traces | grep -i "v2\.ts"try+core@10.39.0/node_modules/@sentry/core/build/esm/utils/is.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/worldwide.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/browser.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/version.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/carrier.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/debug-logger.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/object.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/utils.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/spanstatus.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/randomSafeContext.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/stacktrace.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/string.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/misc.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/time.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/session.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/merge.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/propagationContext.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/spanOnScope.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/scope.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/defaultScopes.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/asyncContext/stackStrategy.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/asyncContext/index.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/currentScopes.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/semanticAttributes.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/baggage.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/handleCallbackErrors.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/hasSpansEnabled.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/parseSampleRate.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/dsn.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/tracing.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/spanUtils.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/constants.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/dynamicSamplingContext.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/logSpans.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/sampling.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/sentryNonRecordingSpan.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/normalize.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/envelope.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/should-ignore-span.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/envelope.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/measurement.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/sentrySpan.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/trace.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/syncpromise.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/eventProcessors.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/debug-ids.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/scopeData.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/prepareEvent.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/exports.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/checkin.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/api.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integration.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/attributes.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/trace-info.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/logs/constants.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/logs/envelope.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/logs/internal.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/metrics/envelope.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/metrics/internal.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/timer.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/promisebuffer.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/ratelimit.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/transports/base.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/clientreport.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/eventUtils.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/transactionEvent.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/client.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/instrument/handlers.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/instrument/globalError.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/instrument/globalUnhandledRejection.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/errors.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/transports/userAgent.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/eventbuilder.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/server-runtime-client.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/sdk.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/ai/providerSkip.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/envToBool.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/url.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/parameterize.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/sdkMetadata.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/traceData.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/tracePropagationTargets.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/meta.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/debounce.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/request.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/breadcrumbs.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/functiontostring.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/eventFilters.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/aggregate-errors.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/linkederrors.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/cookie.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/vendor/getIpAddress.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/requestdata.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/instrument/console.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/severity.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/captureconsole.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/dedupe.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/extraerrordata.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/path.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/rewriteframes.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/supabase.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/zoderrors.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/console.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/featureFlags.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/featureFlags/featureFlagsIntegration.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/featureFlags/growthbook.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/conversationId.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/profiling.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/trpc.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/mcp-server/errorCapture.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/mcp-server/handlers.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/mcp-server/attributes.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/mcp-server/validation.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/mcp-server/resultExtraction.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/mcp-server/sessionManagement.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/mcp-server/sessionExtraction.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/mcp-server/correlation.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/mcp-server/methodConfig.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/mcp-server/attributeExtraction.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/mcp-server/piiFiltering.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/mcp-server/spans.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/mcp-server/transport.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/mcp-server/index.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/feedback.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/logs/utils.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/logs/console-integration.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/metrics/public-api.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/integrations/consola.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/ai/gen-ai-attributes.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/vercel-ai/constants.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/ai/messageTruncation.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/ai/utils.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/vercel-ai/vercel-ai-attributes.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/vercel-ai/utils.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/vercel-ai/index.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/openai/constants.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/openai/utils.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/openai/streaming.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/openai/index.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/anthropic-ai/streaming.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/anthropic-ai/constants.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/anthropic-ai/utils.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/anthropic-ai/index.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/google-genai/constants.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/google-genai/streaming.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/google-genai/utils.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/google-genai/index.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/langchain/constants.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/langchain/utils.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/langchain/index.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/langgraph/constants.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/langgraph/utils.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/tracing/langgraph/index.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/breadcrumb-log-level.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/env.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/node.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/isBrowser.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/exports.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/node-stack-trace.js../node_modules/.bun/@sentry+core@10.39.0/node_modules/@sentry/core/build/esm/utils/lru.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/http/httpServerSpansIntegration.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/debug-build.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/http/httpServerIntegration.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/http/constants.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/utils/captureRequestBody.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/http/SentryHttpInstrumentation.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/utils/getRequestUrl.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/utils/baggage.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/utils/outgoingHttpRequest.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/node-fetch/SentryNodeFetchInstrumentation.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/nodeVersion.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/utils/outgoingFetchRequest.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/otel/contextManager.js../node_modules/.bun/@sentry+opentelemetry@10.39.0+3416d402466e6f9f/node_modules/@sentry/opentelemetry/build/esm/index.js../node_modules/.bun/@opentelemetry+sdk-trace-base@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/sdk-trace-base/build/esm/BasicTracerProvider.js../node_modules/.bun/@opentelemetry+resources@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/resources/build/esm/ResourceImpl.js../node_modules/.bun/@opentelemetry+resources@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/resources/build/esm/default-service-name.js../node_modules/.bun/@opentelemetry+resources@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/resources/build/esm/utils.js../node_modules/.bun/@opentelemetry+sdk-trace-base@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/sdk-trace-base/build/esm/Tracer.js../node_modules/.bun/@opentelemetry+sdk-trace-base@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/sdk-trace-base/build/esm/Span.js../node_modules/.bun/@opentelemetry+sdk-trace-base@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/sdk-trace-base/build/esm/enums.js../node_modules/.bun/@opentelemetry+sdk-trace-base@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/sdk-trace-base/build/esm/config.js../node_modules/.bun/@opentelemetry+sdk-trace-base@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/sdk-trace-base/build/esm/Sampler.js../node_modules/.bun/@opentelemetry+sdk-trace-base@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/sdk-trace-base/build/esm/sampler/AlwaysOffSampler.js../node_modules/.bun/@opentelemetry+sdk-trace-base@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/sdk-trace-base/build/esm/sampler/AlwaysOnSampler.js../node_modules/.bun/@opentelemetry+sdk-trace-base@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/sdk-trace-base/build/esm/sampler/ParentBasedSampler.js../node_modules/.bun/@opentelemetry+sdk-trace-base@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/sdk-trace-base/build/esm/sampler/TraceIdRatioBasedSampler.js../node_modules/.bun/@opentelemetry+sdk-trace-base@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/sdk-trace-base/build/esm/utility.js../node_modules/.bun/@opentelemetry+sdk-trace-base@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/sdk-trace-base/build/esm/platform/node/RandomIdGenerator.js../node_modules/.bun/@opentelemetry+sdk-trace-base@2.5.1+460773ef8ff1e07c/node_modules/@opentelemetry/sdk-trace-base/build/esm/MultiSpanProcessor.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/otel/logger.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/otel/instrument.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/childProcess.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/context.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/contextlines.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/http/index.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/local-variables/local-variables-async.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/utils/debug.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/local-variables/common.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/local-variables/local-variables-sync.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/local-variables/index.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/modules.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/utils/detection.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/node-fetch/index.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/onuncaughtexception.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/utils/errorhandling.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/onunhandledrejection.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/processSession.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/spotlight.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/systemError.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/transports/http.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/proxy/index.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/proxy/base.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/proxy/parse-proxy-response.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/utils/spotlight.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/utils/module.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/sdk/api.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/sdk/client.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/sdk/esmLoader.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/sdk/index.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/utils/ensureIsWrapped.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/utils/createMissingInstrumentationContext.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/anr/index.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/logs/capture.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/logs/exports.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/integrations/winston.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/utils/addOriginToSpan.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/cron/common.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/cron/cron.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/cron/node-cron.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/cron/node-schedule.js../node_modules/.bun/@sentry+node-core@10.39.0+35cf52cc1ce20da1/node_modules/@sentry/node-core/build/esm/cron/index.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/node-fetch.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/fs.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/express.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/debug-build.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/fastify/index.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/fastify/fastify-otel/index.js../node_modules/.bun/minimatch@9.0.5/node_modules/minimatch/dist/esm/index.js../node_modules/.bun/minimatch@9.0.5/node_modules/minimatch/dist/esm/assert-valid-pattern.js../node_modules/.bun/minimatch@9.0.5/node_modules/minimatch/dist/esm/brace-expressions.js../node_modules/.bun/minimatch@9.0.5/node_modules/minimatch/dist/esm/unescape.js../node_modules/.bun/minimatch@9.0.5/node_modules/minimatch/dist/esm/ast.js../node_modules/.bun/minimatch@9.0.5/node_modules/minimatch/dist/esm/escape.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/fastify/v3/instrumentation.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/fastify/v3/enums/AttributeNames.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/fastify/v3/utils.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/fastify/v3/constants.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/graphql.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/kafka.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/lrumemoizer.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/mongo.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/mongoose.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/mysql.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/mysql2.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/redis.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/utils/redisCache.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/postgres.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/postgresjs.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/prisma.js../node_modules/.bun/@prisma+instrumentation@7.2.0+460773ef8ff1e07c/node_modules/@prisma/instrumentation/dist/index.mjs../node_modules/.bun/@opentelemetry+api-logs@0.207.0/node_modules/@opentelemetry/api-logs/build/esm/NoopLogger.js../node_modules/.bun/@opentelemetry+api-logs@0.207.0/node_modules/@opentelemetry/api-logs/build/esm/NoopLoggerProvider.js../node_modules/.bun/@opentelemetry+api-logs@0.207.0/node_modules/@opentelemetry/api-logs/build/esm/ProxyLogger.js../node_modules/.bun/@opentelemetry+api-logs@0.207.0/node_modules/@opentelemetry/api-logs/build/esm/ProxyLoggerProvider.js../node_modules/.bun/@opentelemetry+api-logs@0.207.0/node_modules/@opentelemetry/api-logs/build/esm/platform/node/globalThis.js../node_modules/.bun/@opentelemetry+api-logs@0.207.0/node_modules/@opentelemetry/api-logs/build/esm/internal/global-utils.js../node_modules/.bun/@opentelemetry+api-logs@0.207.0/node_modules/@opentelemetry/api-logs/build/esm/api/logs.js../node_modules/.bun/@opentelemetry+api-logs@0.207.0/node_modules/@opentelemetry/api-logs/build/esm/index.js../node_modules/.bun/@opentelemetry+instrumentation@0.207.0+460773ef8ff1e07c/node_modules/@opentelemetry/instrumentation/build/esm/platform/node/instrumentation.js../node_modules/.bun/@opentelemetry+instrumentation@0.207.0+460773ef8ff1e07c/node_modules/@opentelemetry/instrumentation/build/esm/semver.js../node_modules/.bun/@opentelemetry+instrumentation@0.207.0+460773ef8ff1e07c/node_modules/@opentelemetry/instrumentation/build/esm/shimmer.js../node_modules/.bun/@opentelemetry+instrumentation@0.207.0+460773ef8ff1e07c/node_modules/@opentelemetry/instrumentation/build/esm/instrumentation.js../node_modules/.bun/@opentelemetry+instrumentation@0.207.0+460773ef8ff1e07c/node_modules/@opentelemetry/instrumentation/build/esm/platform/node/RequireInTheMiddleSingleton.js../node_modules/.bun/@opentelemetry+instrumentation@0.207.0+460773ef8ff1e07c/node_modules/@opentelemetry/instrumentation/build/esm/platform/node/ModuleNameTrie.js../node_modules/.bun/@opentelemetry+instrumentation@0.207.0+460773ef8ff1e07c/node_modules/@opentelemetry/instrumentation/build/esm/utils.js../node_modules/.bun/@opentelemetry+instrumentation@0.207.0+460773ef8ff1e07c/node_modules/@opentelemetry/instrumentation/build/esm/instrumentationNodeModuleDefinition.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/hapi/index.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/hono/index.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/hono/constants.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/hono/instrumentation.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/koa.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/connect.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/knex.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/tedious.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/genericPool.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/dataloader.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/amqplib.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/vercelai/constants.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/vercelai/instrumentation.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/vercelai/index.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/openai/instrumentation.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/openai/index.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/anthropic-ai/instrumentation.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/anthropic-ai/index.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/google-genai/instrumentation.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/google-genai/index.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/langchain/instrumentation.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/langchain/index.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/langgraph/instrumentation.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/langgraph/index.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/featureFlagShims/launchDarkly.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/featureFlagShims/openFeature.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/featureFlagShims/statsig.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/featureFlagShims/unleash.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/featureFlagShims/growthbook.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/firebase/otel/firebaseInstrumentation.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/firebase/otel/patches/firestore.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/firebase/otel/patches/functions.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/firebase/firebase.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/integrations/tracing/index.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/sdk/initOtel.js../node_modules/.bun/@sentry+node@10.39.0/node_modules/@sentry/node/build/esm/sdk/index.js../node_modules/.bun/@sentry+bun@10.39.0/node_modules/@sentry/bun/build/esm/client.js../node_modules/.bun/@sentry+bun@10.39.0/node_modules/@sentry/bun/build/esm/sdk.js../node_modules/.bun/@sentry+bun@10.39.0/node_modules/@sentry/bun/build/esm/integrations/bunserver.js../node_modules/.bun/@sentry+bun@10.39.0/node_modules/@sentry/bun/build/esm/transports/index.jssrc/services/sentry.tssrc/config.ts../node_modules/.bun/xdg-basedir@5.1.0/node_modules/xdg-basedir/index.jssrc/adapters/shared/diagnostics.tssrc/adapters/adapter.tssrc/adapters/claude-code/v1.tssrc/adapters/shared/history-reader.tssrc/adapters/cursor/v1.tssrc/adapters/opencode/v2.tssrc/adapters/codex/v1.tssrc/adapters/gemini-cli/v1.tssrc/adapters/pi/v1.tssrc/adapters/amp/v1.tssrc/adapters/copilot/v1.tssrc/adapters/index.tssrc/index.ts../node_modules/.bun/@opentui+core@0.1.77+1709b875ec26ad5f/node_modules/@opentui/core/index-h3dbfsf6.js../node_modules/.bun/@opentui+core@0.1.77+1709b875ec26ad5f/node_modules/@opentui/core/index.js../node_modules/.bun/@opentui+core@0.1.77+1709b875ec26ad5f/node_modules/@opentui/core/testing.js../node_modules/.bun/solid-js@1.9.11/node_modules/solid-js/dist/solid.js../node_modules/.bun/@opentui+solid@0.1.77+10ed39f1f7205fcc/node_modules/@opentui/solid/index.jssrc/tui/hooks/useAppState.ts../packages/shared/dist/invite.js../packages/shared/dist/part.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/core.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/util.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/errors.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/parse.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/regexes.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/checks.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/doc.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/versions.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/schemas.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ar.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/az.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/be.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/bg.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ca.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/cs.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/da.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/de.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/en.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/eo.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/es.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/fa.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/fi.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/fr.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/fr-CA.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/he.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/hu.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/hy.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/id.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/is.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/it.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ja.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ka.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/km.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/kh.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ko.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/lt.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/mk.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ms.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/nl.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/no.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ota.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ps.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/pl.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/pt.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ru.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/sl.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/sv.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ta.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/th.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/tr.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/uk.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ua.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/ur.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/uz.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/vi.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/zh-CN.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/zh-TW.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/locales/yo.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/registries.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/api.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/to-json-schema.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/json-schema-processors.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/json-schema-generator.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/classic/iso.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/classic/errors.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/classic/parse.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/classic/schemas.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/classic/compat.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/classic/from-json-schema.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/classic/coerce.js../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/classic/external.js../packages/shared/dist/schemas/part.js../packages/shared/dist/schemas/message.jssrc/services/request-history.tssrc/services/scrub-secrets.tssrc/core/auth-config.tssrc/services/auth.tssrc/services/api.tssrc/services/logger.tssrc/services/cli-auth.tssrc/services/clipboard.tssrc/services/open-browser.tssrc/tui/utils/transforms.tssrc/tui/utils/format.tssrc/tui/utils/layout.tssrc/tui/utils/list-actions.tssrc/core/event-store.tssrc/core/migrations.tssrc/core/trace.tssrc/core/trace-indexer.tssrc/core/trace-controller.tssrc/services/config-loader.tssrc/services/update.tssrc/tui/theme.tssrc/tui/constants.tssrc/tui/utils/state-helpers.tssrc/tui/hooks/useKeyboard.tssrc/tui/components/Header.tsxsrc/tui/components/ListView.tsxsrc/tui/components/DetailView.tsxsrc/tui/components/Footer.tsxsrc/tui/components/Dialogs.tsxsrc/tui/components/Overlays.tsxsrc/tui/components/NamespaceSwitcher.tsxsrc/tui/app.tsxsrc/services/env.tssrc/commands/login.tssrc/commands/logout.tssrc/commands/whoami.tssrc/commands/reset.tssrc/commands/status.tssrc/commands/doctor.tssrc/commands/share.tssrc/commands/share-options.tssrc/commands/list.tssrc/commands/list-options.tssrc/commands/setup.ts../node_modules/.bun/@clack+core@1.0.1/node_modules/@clack/core/dist/index.mjs../node_modules/.bun/@clack+prompts@1.0.1/node_modules/@clack/prompts/dist/index.mjssrc/commands/setup-assets.tssrc/commands/setup-options.tssrc/commands/namespace.tssrc/commands/transfer.ts(
find /home/lakshyaag/.cursor/projects -path "*/agent-transcripts/*.json"(no output)
find /home/lakshyaag/.cursor/projects -path "*/agent-transcripts/*.jsonl"/home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/agent-transcripts/5cfb1ac5-dc7e-4aad-a2b3-6295a35d1440/5cfb1ac5-dc7e-4aad-a2b3-6295a35d1440.jsonl /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/agent-transcripts/f866fa7a-1576-4866-b1ae-b6a4f4f2b7f1/f866fa7a-1576-4866-b1ae-b6a4f4f2b7f1.jsonl /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/agent-transcripts/b7d72200-7d48-4b79-b90f-9faea5c4498b/b7d72200-7d48-4b79-b90f-9faea5c4498b.jsonl /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/agent-transcripts/b6385d33-ad66-40d3-ad8e-3e730a73a915/b6385d33-ad66-40d3-ad8e-3e730a73a915.jsonl /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/agent-transcripts/827b3e0b-e7f4-4e12-a9da-e4cdc1e5e675/827b3e0b-e7f4-4e12-a9da-e4cdc1e5e675.jsonl /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-ai-receptionist/agent-transcripts/29aef319-b364-4723-bce8-8bfe339897cf/29aef319-b364-4723-bce8-8bfe339897cf.jsonl /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-ai-receptionist/agent-transcripts/5069d163-2e2c-4420-9338-78b359a9acc5/5069d163-2e2c-4420-9338-78b359a9acc5.jsonl /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-ai-receptionist/agent-transcripts/450e701e-e5ad-44f4-aaa7-e0a1da06a7c6/450e701e-e5ad-44f4-aaa7-e0a1da06a7c6.jsonl /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-game-theory-agents/agent-transcripts/3d9ff31f-44f4-4a9f-a150-7d84e9b97486/3d9ff31f-44f4-4a9f-a150-7d84e9b97486.jsonl /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-game-theory-agents/agent-transcripts/0ee7ffad-82e4-4b68-a0cd-22adcc06160d/0ee7ffad-82e4-4b68-a0cd-22adcc06160d.jsonl /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-game-theory-agents/agent-transcripts/17e31c80-7d3a-48bf-8f16-96900eb3e6f8/17e31c80-7d3a-48bf-8f16-96900eb3e6f8.jsonl /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-game-theory-agents/agent-transcripts/da96ddde-1152-4a64-b537-9d3b7addb1ba/da96ddde-1152-4a64-b537-9d3b7addb1ba.jsonl /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-game-theory-agents/agent-transcripts/96c12ecf-60a0-40b2-b10f-65df635baba2/96c12ecf-60a0-40b2-b10f-65df635baba2.jsonl /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-game-theory-agents/agent-transcripts/50bc7795-6f7a-4083-9347-44e06519a876/50bc7795-6f7a-4083-9347-44e06519a876.jsonl /home/lakshyaag/.cursor/projects/home-lakshyaag-pi/agent-transcripts/ec9a0eff-0bc4-415a-a887-2a192caafbd9/ec9a0eff-0bc4-415a-a887-2a192caafbd9.jsonl /home/lakshyaag/.cursor/projects/home-lakshyaag-pi/agent-transcripts/01e4f1c5-8864-4bc9-a347-56e91db09c9b/01e4f1c5-8864-4bc9-a347-56e91db09c9b.jsonl /home/lakshyaag/.cursor/projects/home-lakshyaag-pi/agent-transcripts/4b32af9f-6d56-4101-8d9f-3f17416632ee/4b32af9f-6d56-4101-8d9f-3f17416632ee.jsonl /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-personal-website/agent-transcripts/5a6370b5-2f0b-44e6-a342-c10769689abf/5a6370b5-2f0b-44e6-a342-c10769689abf.jsonl /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-pub-golf/agent-transcripts/6dfaf873-087e-4487-9944-c77721dd4532/6dfaf873-087e-4487-9944-c77721dd4532.jsonl
grep -a -C 100 "\.jsonl" /home/lakshyaag/.bun/install/global/node_modules/@traces-sh/traces-linux-x64/bin/traces | grep -i "cursor" | head -n 500 | strings | grep -v "00000000"const nextCursor = this.buildHistoryCursor();
const previousCursor = options.cursor;
const unchanged = previousCursor?.historyMtimeMs === nextCursor.historyMtimeMs && previousCursor?.historySize === nextCursor.historySize;
nextCursor,
nextCursor,
buildHistoryCursor() {
// src/adapters/cursor/v1.ts
class CursorAdapter extends BaseAdapter {
id = "cursor";
name = "Cursor";
this.globalDbPath = options?.globalDbPath ?? agentStoragePaths.cursorGlobalDb;
this.projectsDir = options?.projectsDir ?? agentStoragePaths.cursorProjects;
maxCursorSessionFilesScanned = 30000;
maxCursorSessionDirsScanned = 8000;
const sessionsState = this.buildSessionsState(this.maxCursorSessionFilesScanned, this.maxCursorSessionDirsScanned);
const nextCursor = this.buildIndexCursor();
const previousCursor = options.cursor;
const unchanged = previousCursor?.schemaVersion === nextCursor.schemaVersion && !nextCursor.scanTruncated && !previousCursor?.scanTruncated && previousCursor?.historyMtimeMs === nextCursor.historyMtimeMs && previousCursor?.historySize === nextCursor.historySize && previousCursor?.sessionsMtimeMs === nextCursor.sessionsMtimeMs && previousCursor?.sessionFileCount === nextCursor.sessionFileCount && previousCursor?.sessionNewestMtimeMs === nextCursor.sessionNewestMtimeMs && previousCursor?.sessionMtimeChecksum === nextCursor.sessionMtimeChecksum;
nextCursor,
nextCursor,
buildIndexCursor() {
const sessionsState = this.buildSessionsState(this.maxCursorSessionFilesScanned, this.maxCursorSessionDirsScanned);
buildIndexCursor() {
const nextCursor = this.buildIndexCursor();
const previousCursor = options.cursor;
const unchanged = previousCursor?.schemaVersion === nextCursor.schemaVersion && previousCursor?.threadsDirMtimeMs === nextCursor.threadsDirMtimeMs && previousCursor?.threadFileCount === nextCursor.threadFileCount && previousCursor?.threadsNewestMtimeMs === nextCursor.threadsNewestMtimeMs;
return { traces: [], nextCursor, done: true };
nextCursor,
buildIndexCursor() {
const nextCursor = this.buildIndexCursor();
const previousCursor = options.cursor;
const unchanged = previousCursor?.sessionStateDirMtimeMs === nextCursor.sessionStateDirMtimeMs && previousCursor?.sessionDirCount === nextCursor.sessionDirCount && previousCursor?.eventsNewestMtimeMs === nextCursor.eventsNewestMtimeMs;
nextCursor,
nextCursor,
buildIndexCursor() {
registry.register(new CursorAdapter);grep -a -A 150 "buildSessionsState" /home/lakshyaag/.bun/install/global/node_modules/@traces-sh/traces-linux-x64/bin/traces | head -n 300 | strings | grep -v "00000000"const sessionsState = this.buildSessionsState(this.maxCursorSessionFilesScanned, this.maxCursorSessionDirsScanned);
if (this.shouldSupplementHistoryFromSessions(traces2, limited, limit, this.getPathMtimeMs(this.historyFile), sessionsState)) {
this.supplementHistoryTracesFromSessionFiles(traces2, historyIndex, limit);
traces2.sort((a, b) => b.timestamp - a.timestamp);
const supplemented = traces2.slice(0, limit);
this.hydrateDirectoriesFromResolvedSources(supplemented);
return supplemented;
}
return limited;
}
const fallbackScanBudget = Math.min(this.maxFallbackSessionFilesScanned, Math.max(2000, maxSessions * 20));
const traceFiles = this.collectSessionFiles(this.sessionsDir, fallbackScanBudget, this.maxFallbackSessionDirsScanned);
const traces = [];
for (const tracePath of traceFiles) {
const metadata = this.readTraceMetadata(tracePath, historyIndex);
if (metadata) {
traces.push(metadata);
}
}
traces.sort((a, b) => b.timestamp - a.timestamp);
return traces.slice(0, limit);
async getTraceIndexBatch(options = {}) {
const nextCursor = this.buildIndexCursor();
const previousCursor = options.cursor;
const unchanged = previousCursor?.schemaVersion === nextCursor.schemaVersion && !nextCursor.scanTruncated && !previousCursor?.scanTruncated && previousCursor?.historyMtimeMs === nextCursor.historyMtimeMs && previousCursor?.historySize === nextCursor.historySize && previousCursor?.sessionsMtimeMs === nextCursor.sessionsMtimeMs && previousCursor?.sessionFileCount === nextCursor.sessionFileCount && previousCursor?.sessionNewestMtimeMs === nextCursor.sessionNewestMtimeMs && previousCursor?.sessionMtimeChecksum === nextCursor.sessionMtimeChecksum;
if (unchanged) {
return {
traces: [],
nextCursor,
done: true
};
}
return {
traces: await this.getTraces({ limit: options.limit }),
nextCursor,
done: true
};
async parseTraceContent(trace18, diagnostics) {
const tracePath = this.resolveTraceSourcePath(trace18);
if (!tracePath) {
throw new Error("No source path provided for trace");
}
trace18.sourcePath = tracePath;
if (!fs5.existsSync(tracePath)) {
throw new Error(`Trace file not found: ${tracePath}`);
}
const raw = await fs5.promises.readFile(tracePath, "utf-8");
if (tracePath.endsWith(".jsonl")) {
return this.parseJsonlTrace(raw, trace18, diagnostics);
}
return this.parseLegacyTrace(raw, trace18, diagnostics);
async count(trace18) {
const tracePath = this.resolveTraceSourcePath(trace18);
if (!tracePath || !fs5.existsSync(tracePath)) {
return 0;
}
try {
const content = await fs5.promises.readFile(tracePath, "utf-8");
if (tracePath.endsWith(".jsonl")) {
let count2 = 0;
for (const line of content.split(`
`)) {
if (line.trim())
count2++;
}
return count2;
}
const data = JSON.parse(content);
return Array.isArray(data) ? data.length : 0;
} catch {
return 0;
}
async getEnvironmentDetails(trace18) {
const tracePath = this.resolveTraceSourcePath(trace18);
let projectPath = trace18.directory;
if (!projectPath && tracePath) {
const metadata = this.readTraceMetadata(tracePath, new Map);
projectPath = metadata?.directory;
if (projectPath) {
trace18.directory = projectPath;
this.cacheSessionDirectory(trace18.id, projectPath);
}
}
const content = await this.getTraceContent(trace18);
return {
projectPath,
projectName: projectPath ? path9.basename(projectPath) : undefined,
createdAt: content.createdAt,
updatedAt: content.updatedAt
};
async subscribe(trace18, onEvent) {
const sourcePath = this.resolveTraceSourcePath(trace18);
if (!sourcePath || !fs5.existsSync(sourcePath)) {
return () => {};
}
let lastEventCount = 0;
try {
const content = await this.getTraceContent(trace18);
lastEventCount = content.events.length;
} catch {}
let timeoutId = null;
const debounceMs = 250;
const handleChange = () => {
if (timeoutId)
clearTimeout(timeoutId);
timeoutId = setTimeout(async () => {
timeoutId = null;
try {
const content = await this.getTraceContent(trace18);
if (content.events.length > lastEventCount) {
const newEvents = content.events.slice(lastEventCount);
lastEventCount = content.events.length;
for (const event of newEvents) {
onEvent(event);
}
}
} catch {}
}, debounceMs);
};
const watcher = fs5.watch(sourcePath, { persistent: true }, handleChange);
return () => {
if (timeoutId)
clearTimeout(timeoutId);
watcher.close();
};
getVersion() {
return "v1";
collectSessionFiles(rootDir, maxFiles, maxDirs) {
const results = [];
const stack = [rootDir];
let scannedDirs = 0;
while (stack.length > 0) {
if (scannedDirs >= maxDirs || results.length >= maxFiles) {
break;
}
const current = stack.pop();
if (!current)
continue;
scannedDirs += 1;
let entries = [];
try {
entries = fs5.readdirSync(current, { withFileTypes: true });
} catch {
continue;
const sessionsState = this.buildSessionsState(this.maxCursorSessionFilesScanned, this.maxCursorSessionDirsScanned);
return {
schemaVersion: this.discoverySchemaVersion,
historyMtimeMs: this.getPathMtimeMs(this.historyFile),
historySize: this.getPathSize(this.historyFile),
sessionsMtimeMs: this.getPathMtimeMs(this.sessionsDir),
sessionFileCount: sessionsState.sessionFileCount,
sessionNewestMtimeMs: sessionsState.sessionNewestMtimeMs,
sessionMtimeChecksum: sessionsState.sessionMtimeChecksum,
scanTruncated: sessionsState.scanTruncated
};
buildSessionsState(maxFiles, maxDirs) {
if (!fs5.existsSync(this.sessionsDir)) {
return {
sessionFileCount: 0,
sessionNewestMtimeMs: 0,
sessionMtimeChecksum: 0,
scanTruncated: false
};
}
const stack = [this.sessionsDir];
let scannedDirs = 0;
let sessionFileCount = 0;
let sessionNewestMtimeMs = 0;
let sessionMtimeChecksum = 0;
let scanTruncated = false;
while (stack.length > 0) {
if (scannedDirs >= maxDirs || sessionFileCount >= maxFiles) {
scanTruncated = true;
break;
}
const current = stack.pop();
if (!current) {
continue;
}
scannedDirs += 1;
let entries = [];
try {
entries = fs5.readdirSync(current, { withFileTypes: true });
} catch {
continue;
}
for (const entry of entries) {
const fullPath = path9.join(current, entry.name);
if (entry.isDirectory()) {
stack.push(fullPath);
continue;
}
if (!entry.isFile()) {
continue;
}
if (!entry.name.endsWith(".jsonl") && !entry.name.endsWith(".json")) {
continue;
}
try {
const stat = fs5.statSync(fullPath);
const mtimeMs = stat.mtimeMs;
sessionFileCount += 1;
sessionNewestMtimeMs = Math.max(sessionNewestMtimeMs, mtimeMs);
sessionMtimeChecksum = this.updateMtimeChecksum(sessionMtimeChecksum, mtimeMs, stat.size);
} catch {
continue;
}
if (sessionFileCount >= maxFiles) {
scanTruncated = true;
break;
}
}
}
return {
sessionFileCount,
sessionNewestMtimeMs,
sessionMtimeChecksum,
scanTruncated
};
updateMtimeChecksum(current, mtimeMs, size = 0) {
const PRIME = 2147483629;
const mtimePart = Math.floor(mtimeMs) % PRIME;
const sizePart = Math.floor(size) % PRIME;
return (current * 33 + mtimePart + sizePart) % PRIME;
getPathMtimeMs(targetPath) {
if (!fs5.existsSync(targetPath))
return 0;
try {
return fs5.statSync(targetPath).mtimeMs;
} catch {
return 0;
}
getPathSize(targetPath) {
if (!fs5.existsSync(targetPath))
return 0;
try {
return fs5.statSync(targetPath).size;
} catch {
return 0;
}
resolveTraceSourcePath(trace18) {
if (trace18.sourcePath && fs5.existsSync(trace18.sourcePath)) {
this.cacheSessionPath(trace18.id, trace18.sourcePath);
return trace18.sourcePath;
}
const cached = this.sessionPathCache.get(trace18.id);
if (cached && fs5.existsSync(cached)) {
return cached;
}
const known = this.resolveKnownSourcePath(trace18.id, trace18.timestamp);
if (known) {
trace18.sourcePath = known;
return known;
}
const scanned = this.findSourcePathBySessionId(trace18.id);
if (scanned) {
this.cacheSessionPath(trace18.id, scanned);
trace18.sourcePath = scanned;
return scanned;
}
return null;
hydrateDirectoriesFromResolvedSources(traces) {
for (const trace18 of traces) {
if (trace18.directory) {
this.cacheSessionDirectory(trace18.id, trace18.directory);
continue;
}
const cached = this.sessionDirectoryCache.get(trace18.id);
if (cached) {
trace18.directory = cached;
continue;
}
if (!trace18.sourcePath) {
continue;
}
const metadata = this.readTraceMetadata(trace18.sourcePath, new Map);
if (!metadata?.directory) {
continue;
}
trace18.directory = metadata.directory;
this.cacheSessionDirectory(trace18.id, metadata.directory);
}
cacheSessionDirectory(id, directory) {
this.sessionDirectoryCache.set(id, directory);
if (this.sessionDirectoryCache.size > this.sessionDirectoryCacheLimit) {strings /home/lakshyaag/.bun/install/global/node_modules/@traces-sh/traces-linux-x64/bin/traces | grep -E "CursorAdapter|CursorV2Adapter"class CursorAdapter extends BaseAdapter {
registry.register(new CursorAdapter);grep -a -B 10 "maxCursorSessionFilesScanned" /home/lakshyaag/.bun/install/global/node_modules/@traces-sh/traces-linux-x64/bin/traces | strings | grep "class"(no output) Command exited with code 1
grep -a -C 100 "maxCursorSessionFilesScanned" /home/lakshyaag/.bun/install/global/node_modules/@traces-sh/traces-linux-x64/bin/traces | head -n 500 | strings | grep -E "class|Adapter"class CodexAdapter extends BaseAdapter {grep -a -C 50 "class CursorAdapter" /home/lakshyaag/.bun/install/global/node_modules/@traces-sh/traces-linux-x64/bin/traces | strings | grep "buildSessionsState"(no output) Command exited with code 1
grep -a -A 200 "class CursorAdapter" /home/lakshyaag/.bun/install/global/node_modules/@traces-sh/traces-linux-x64/bin/traces | strings | grep -v "00000000" | head -n 100class CursorAdapter extends BaseAdapter {
id = "cursor";
name = "Cursor";
discoverySchemaVersion = 2;
globalDb = null;
globalDbPath;
projectsDir;
cachedGlobalTraces = null;
cachedGlobalMtime = null;
maxTranscriptProjectsScanned = 5000;
maxTranscriptFilesScanned = 25000;
maxGlobalDirectoryProbeBubbles = 8;
constructor(options) {
super();
this.globalDbPath = options?.globalDbPath ?? agentStoragePaths.cursorGlobalDb;
this.projectsDir = options?.projectsDir ?? agentStoragePaths.cursorProjects;
async isAvailable() {
return fs3.existsSync(this.globalDbPath) || fs3.existsSync(this.projectsDir);
getGlobalDb() {
if (this.globalDb)
return this.globalDb;
if (!fs3.existsSync(this.globalDbPath)) {
return null;
}
try {
this.globalDb = new Database(this.globalDbPath, { readonly: true });
return this.globalDb;
} catch (err) {
console.error("Error opening Cursor global database:", err);
return null;
}
getGlobalDbMtime() {
if (!fs3.existsSync(this.globalDbPath))
return null;
try {
return fs3.statSync(this.globalDbPath).mtimeMs;
} catch {
return null;
}
getComposerPreview(data) {
const candidate = data.name?.trim() || data.text?.trim() || data.richText?.trim() || "(No title)";
return this.truncateText(candidate.split(`
`)[0], 100);
buildIndexCursor() {
const globalDbMtimeMs = this.getGlobalDbMtime() ?? 0;
const globalComposerCount = this.getGlobalComposerCount();
const transcriptState = this.getTranscriptState();
return {
schemaVersion: this.discoverySchemaVersion,
globalDbMtimeMs,
globalComposerCount,
transcriptNewestMtimeMs: transcriptState.newestMtimeMs,
transcriptFileCount: transcriptState.fileCount,
scanTruncated: transcriptState.scanTruncated
};
getGlobalComposerCount() {
const db = this.getGlobalDb();
if (!db) {
return 0;
}
try {
const row = db.query("SELECT COUNT(*) as count FROM cursorDiskKV WHERE key LIKE 'composerData:%'").get();
return row?.count ?? 0;
} catch {
return 0;
}
getTranscriptState() {
if (!fs3.existsSync(this.projectsDir)) {
return {
newestMtimeMs: 0,
fileCount: 0,
scanTruncated: false
};
}
let newestMtimeMs = 0;
let fileCount = 0;
let scanTruncated = false;
let scannedProjects = 0;
let projectDirs = [];
try {
projectDirs = fs3.readdirSync(this.projectsDir);
} catch {
return {
newestMtimeMs: 0,
fileCount: 0,
scanTruncated: false
};
}
projectLoop:
for (const projectDir of projectDirs) {
if (scannedProjects >= this.maxTranscriptProjectsScanned || fileCount >= this.maxTranscriptFilesScanned) {
scanTruncated = true;
break;
}
const projectPath = path7.join(this.projectsDir, projectDir);
try {
if (!fs3.statSync(projectPath).isDirectory())
continue;
} catch {
continue;grep -a -A 100 "getTranscriptState()" /home/lakshyaag/.bun/install/global/node_modules/@traces-sh/traces-linux-x64/bin/traces | head -n 300 | strings | grep -v "00000000" | head -n 50const transcriptState = this.getTranscriptState();
return {
schemaVersion: this.discoverySchemaVersion,
globalDbMtimeMs,
globalComposerCount,
transcriptNewestMtimeMs: transcriptState.newestMtimeMs,
transcriptFileCount: transcriptState.fileCount,
scanTruncated: transcriptState.scanTruncated
};
getGlobalComposerCount() {
const db = this.getGlobalDb();
if (!db) {
return 0;
}
try {
const row = db.query("SELECT COUNT(*) as count FROM cursorDiskKV WHERE key LIKE 'composerData:%'").get();
return row?.count ?? 0;
} catch {
return 0;
}
getTranscriptState() {
if (!fs3.existsSync(this.projectsDir)) {
return {
newestMtimeMs: 0,
fileCount: 0,
scanTruncated: false
};
}
let newestMtimeMs = 0;
let fileCount = 0;
let scanTruncated = false;
let scannedProjects = 0;
let projectDirs = [];
try {
projectDirs = fs3.readdirSync(this.projectsDir);
} catch {
return {
newestMtimeMs: 0,
fileCount: 0,
scanTruncated: false
};
}
projectLoop:
for (const projectDir of projectDirs) {
if (scannedProjects >= this.maxTranscriptProjectsScanned || fileCount >= this.maxTranscriptFilesScanned) {
scanTruncated = true;
break;
}
const projectPath = path7.join(this.projectsDir, projectDir);
try {grep -a -A 100 "projectLoop:" /home/lakshyaag/.bun/install/global/node_modules/@traces-sh/traces-linux-x64/bin/traces | head -n 300 | strings | grep -v "00000000" | head -n 50projectLoop:
for (const projectDir of projectDirs) {
if (scannedProjectDirs >= this.maxFallbackProjectDirsScanned) {
break;
}
const projectPath = path6.join(this.projectsDir, projectDir);
try {
if (!fs2.statSync(projectPath).isDirectory())
continue;
} catch {
continue;
}
scannedProjectDirs += 1;
const files = fs2.readdirSync(projectPath);
for (const file of files) {
if (scannedSessionFiles >= this.maxFallbackSessionFilesScanned) {
break projectLoop;
}
if (file.endsWith(".jsonl") && !file.startsWith("agent-")) {
scannedSessionFiles += 1;
const traceId = file.replace(".jsonl", "");
const historyEntry = traceMap.get(traceId);
const filePath = path6.join(projectPath, file);
const sessionTitle = this.readSessionTitle(filePath);
const fallbackTitle = sessionTitle ?? historyEntry?.display;
const finalTitle = fallbackTitle ?? "(No preview)";
let timestamp = historyEntry?.timestamp;
if (!timestamp) {
try {
timestamp = fs2.statSync(filePath).mtimeMs;
} catch {
timestamp = Date.now();
}
}
traces.push({
id: traceId,
agentId: "claude-code",
title: finalTitle,
preview: finalTitle,
timestamp,
directory: historyEntry?.project || projectDir,
sourcePath: filePath
});
if (traces.length >= maxFallbackCandidates) {
break projectLoop;
}
}
}
}
}grep -a -A 100 "transcriptsDir = path7.join(projectPath, \"agent-transcripts\")" /home/lakshyaag/.bun/install/global/node_modules/@traces-sh/traces-linux-x64/bin/traces | head -n 300 | strings | grep -v "00000000" | head -n 100const transcriptsDir = path7.join(projectPath, "agent-transcripts");
if (!fs3.existsSync(transcriptsDir))
continue;
let files = [];
try {
files = fs3.readdirSync(transcriptsDir);
} catch {
continue;
}
for (const file of files) {
if (!file.endsWith(".json"))
continue;
fileCount += 1;
const filePath = path7.join(transcriptsDir, file);
try {
const stat = fs3.statSync(filePath);
newestMtimeMs = Math.max(newestMtimeMs, stat.mtimeMs);
} catch {
continue;
}
if (fileCount >= this.maxTranscriptFilesScanned) {
scanTruncated = true;
break projectLoop;
}
}
}
return {
newestMtimeMs,
fileCount,
scanTruncated
};
close() {
if (this.globalDb) {
this.globalDb.close();
this.globalDb = null;
}
async getTraces(options = {}) {
const limit = options.limit ?? 10;
if (!await this.isAvailable()) {
return [];
}
const traces = [];
const globalTraces = await this.getGlobalStorageTraces();
traces.push(...globalTraces);
const transcriptTraces = await this.getAgentTranscriptTraces();
traces.push(...transcriptTraces);
traces.sort((a, b) => b.timestamp - a.timestamp);
return traces.slice(0, limit);
async getTraceIndexBatch(options = {}) {
const limit = options.limit ?? 100;
if (!await this.isAvailable()) {
return {
traces: [],
nextCursor: {
schemaVersion: this.discoverySchemaVersion,
globalDbMtimeMs: 0,
globalComposerCount: 0,
transcriptNewestMtimeMs: 0,
transcriptFileCount: 0,
scanTruncated: false
},
done: true
};
}
const nextCursor = this.buildIndexCursor();
const previousCursor = options.cursor;
const unchanged = previousCursor?.schemaVersion === nextCursor.schemaVersion && !nextCursor.scanTruncated && !previousCursor?.scanTruncated && previousCursor?.globalDbMtimeMs === nextCursor.globalDbMtimeMs && previousCursor?.globalComposerCount === nextCursor.globalComposerCount && previousCursor?.transcriptNewestMtimeMs === nextCursor.transcriptNewestMtimeMs && previousCursor?.transcriptFileCount === nextCursor.transcriptFileCount;
if (unchanged) {
return {
traces: [],
nextCursor,
done: true
};
}
const traces = await this.getTraces({ limit });
return {
traces,
nextCursor,
done: true
};
async getGlobalStorageTraces() {
const traces = [];
if (!fs3.existsSync(this.globalDbPath)) {
this.cachedGlobalTraces = null;
this.cachedGlobalMtime = null;
return traces;
}
const dbMtime = this.getGlobalDbMtime();
if (this.cachedGlobalTraces && this.cachedGlobalMtime === dbMtime) {
return this.cachedGlobalTraces;
}
const db = this.getGlobalDb();
if (!db) {
this.cachedGlobalTraces = null;
this.cachedGlobalMtime = dbMtime;
return traces;
}
const transcriptsDir = path7.join(projectPath, "agent-transcripts");
if (!fs3.existsSync(transcriptsDir))
continue;node -e '
const fs = require("fs");
const path = require("path");
const src = "/home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-ai-receptionist/agent-transcripts/29aef319-b364-4723-bce8-8bfe339897cf/29aef319-b364-4723-bce8-8bfe339897cf.jsonl";
const dest = "/home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-ai-receptionist/agent-transcripts/29aef319-b364-4723-bce8-8bfe339897cf.json";
try {
const content = fs.readFileSync(src, "utf-8");
const lines = content.trim().split("\n").filter(l => l.trim());
const jsonArray = lines.map(l => JSON.parse(l));
fs.writeFileSync(dest, JSON.stringify(jsonArray, null, 2));
console.log(`Successfully converted and placed: ${dest}`);
} catch (e) {
console.error("Conversion failed:", e.message);
}
'Successfully converted and placed: /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-ai-receptionist/agent-transcripts/29aef319-b364-4723-bce8-8bfe339897cf.json
traces list --agent cursor --limit 52026-03-02T04:20:06.283Z cursor transcript:29aef319-b364-4723-bce8-8bfe339897cf (No preview) Listed 1 trace(s).
traces list --agent cursor --json{"ok":true,"data":{"traces":[{"id":"transcript:29aef319-b364-4723-bce8-8bfe339897cf","agentId":"cursor","title":"(No preview)","preview":"(No preview)","timestamp":1772425206283,"directory":"home/lakshyaag/Projects/ai/receptionist","sourcePath":"/home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-ai-receptionist/agent-transcripts/29aef319-b364-4723-bce8-8bfe339897cf.json"}],"count":1}}node -e '
const fs = require("fs");
const src = "/home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-ai-receptionist/agent-transcripts/29aef319-b364-4723-bce8-8bfe339897cf/29aef319-b364-4723-bce8-8bfe339897cf.jsonl";
const dest = "/home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-ai-receptionist/agent-transcripts/29aef319-b364-4723-bce8-8bfe339897cf.json";
function extractText(msg) {
if (msg.text) return msg.text;
const content = msg.message?.content;
if (Array.isArray(content)) {
return content.map(c => c.text || "").join("\n").trim();
}
return "";
}
try {
const lines = fs.readFileSync(src, "utf-8").trim().split("\n").filter(l => l.trim());
const legacyArray = lines.map(line => {
const msg = JSON.parse(line);
const legacy = { role: msg.role };
legacy.text = extractText(msg);
if (msg.role === "assistant") {
// Check for tool calls in your format
// Based on earlier findings, Cursor v2 might have them in a different place
// but lets start with text.
}
return legacy;
});
fs.writeFileSync(dest, JSON.stringify(legacyArray, null, 2));
console.log("Trace remapped to legacy format.");
} catch (e) {
console.error(e);
}
'Trace remapped to legacy format.
traces list --agent cursor2026-03-02T04:20:19.204Z cursor transcript:29aef319-b364-4723-bce8-8bfe339897cf # Personality Listed 1 trace(s).
grep "tool" /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-ai-receptionist/agent-transcripts/29aef319-b364-4723-bce8-8bfe339897cf/29aef319-b364-4723-bce8-8bfe339897cf.jsonl | head -n 5{"role":"assistant","message":{"content":[{"type":"text","text":"Your workspace doesn’t seem to have code for MediCall/InSync yet, so here’s a focused brainstorm that assumes you already have the MediCall spec and an ElevenLabs agent configured.\n\n---\n\n## 1. **ElevenLabs agent ↔ InSync (MCP stub)**\n\n- **Tool calls from the agent** \n Your agent needs to call “Authenticate”, “Create User”, “Get Patient Info”. On ElevenLabs, that usually means:\n - Defining **custom tools/functions** in the agent config that map 1:1 to your InSync API (or MCP) operations.\n - Ensuring the agent’s **system prompt** (your MediCall personality doc) clearly says *when* to use each tool (e.g. “If the caller says they are new, use Create User after collecting name, DOB, contact.”).\n\n- **MCP stub as the “backend”** \n The “InSync API (MCP stub)” can be:\n - A small HTTP API that your ElevenLabs agent calls via **webhooks / function calling**, or \n - An MCP server your orchestration layer calls; the agent then gets results and speaks them. \n Decide whether ElevenLabs will call your stub **directly** (e.g. HTTPS) or via an intermediary (your server that talks to MCP).\n\n- **What the stub should expose** \n From your goals, the stub could expose at least:\n - `authenticate(identifier, secret_or_dob)` → session/token or patient id.\n - `create_user(name, date_of_birth, phone, email, …)` → success + id or error.\n - `get_patient_info(patient_id, info_type)` → e.g. appointments, meds, contact info (all fake in stub). \n Stub returns clear, minimal JSON so the agent can say things like “I’ve found your next appointment…” or “I wasn’t able to find that; I can connect you with a representative.”\n\n---\n\n## 2. **Conversation flow and state**\n\n- **Identify new vs existing** \n First exchange: “Are you calling about an existing account or are you new to our practice?” (or “Do you already have an account with us?”). Branch:\n - **Existing** → authenticate (e.g. DOB + name or ID) → then retrieval.\n - **New** → account creation flow → then optional retrieval.\n\n- **Account creation** \n Collect in a fixed order to avoid confusion on the phone: \n Full name → Date of birth → Phone → Email (optional). \n Repeat back each value (“So that’s 555… 123… 4567”) and confirm before calling **Create User**. After stub returns success, say something like “Your account is set up. You can call back and use your date of birth and name to get information.”\n\n- **Information retrieval** \n After auth, map intents to one or two stub calls, e.g.:\n - “Next appointment” → `get_patient_info(patient_id, \"appointments\")`.\n - “Contact details on file” → `get_patient_info(patient_id, \"contact\")`. \n If the stub doesn’t support a requested info type, agent says so and offers to transfer or have someone call back.\n\n- **Call closure** \n After answering: “Is there anything else I can help with today?” If no: “Thank you for calling. Take care.” If the agent can’t help: “I’ll connect you with a team member who can help with that.”\n\n---\n\n## 3. **Guardrails and safety**\n\n- **No medical advice** \n In the ElevenLabs prompt, add explicit examples: \n “If the caller asks whether they should take a medication or what a symptom means, say: ‘I can’t give medical advice. Please contact your doctor or nurse for that.’” \n Same for diagnoses, dosing, or “is this normal?”\n\n- **Sensitive data** \n In the stub and prompt: never request SSN or full credit card; if you ever need last-4 for verification, say so in the script and keep it minimal. Store/log only what’s necessary and mention in the prompt that the agent must not repeat back full SSN or card numbers.\n\n- **When the stub fails** \n If InSync/stub returns an error or timeout, the agent should have a single standard line: “I’m having trouble pulling that up right now. I can have someone call you back, or you can try again in a few minutes.” No speculation, no “maybe your DOB is wrong.”\n\n- **Staying on topic** \n Short instruction: “If the caller goes off topic (e.g. weather, politics), politely say: ‘I’m here to help with your account and information. Is there something about your account or appointments I can help with?’”\n\n---\n\n## 4. **Phone-specific UX**\n\n- **Numbers** \n Your spec already says to format with pauses (“555… 123… 4567”). In the prompt, add: “Always read phone numbers in groups of 3–4 digits with a short pause between groups.”\n\n- **Confirmations** \n For any critical action (e.g. account created, appointment time stated), agent repeats the key fact once and asks for confirmation if needed (“Can you confirm that’s correct?”).\n\n- **One thing at a time** \n Instruct the agent to answer one request per turn when possible, then offer the next: “I’ve got your next appointment. Would you also like your contact details on file?”\n\n---\n\n## 5. **Technical choices to decide**\n\n| Topic | Options |\n|-------|--------|\n| **Where does the stub live?** | Same repo as “ai-receptionist”, or a small separate service your ElevenLabs webhook calls. |\n| **Auth to stub** | API key in webhook request; or no auth in stub if it’s only used in a private network. |\n| **Stub data** | In-memory (e.g. a map), or a tiny DB (SQLite/Postgres) so you can test “existing” vs “new” and different info types. |\n| **Agent ↔ stub** | ElevenLabs **Conversational AI** function calling to your HTTPS endpoint, or your server receiving transcript/events and calling MCP then feeding replies back. |\n\n---\n\n## 6. **What to build next (in order)**\n\n1. **InSync MCP stub** \n Implement the three operations (authenticate, create_user, get_patient_info) with a clear JSON contract. Use fake but realistic data.\n\n2. **Expose stub over HTTP** \n So ElevenLabs (or your middleware) can call it (e.g. POST with a JSON body or query params).\n\n3. **Wire ElevenLabs agent to the stub** \n Define tools in the agent that call your HTTP endpoints; paste your MediCall personality + tone + guardrails into the agent’s system prompt.\n\n4. **Test end-to-end** \n Call the ElevenLabs number, go through “new user” and “existing user” once, and one “get my appointment” flow; then test failure cases (wrong DOB, stub down).\n\n5. **Refine prompt** \n From recordings, add 2–3 example dialogues for “new user”, “existing user – get appointment”, and “request for medical advice (refuse politely).”\n\nIf you tell me whether you want the stub as an MCP server, a REST API, or both, I can outline the exact request/response shapes and a minimal flow diagram next (still in brainstorm form, no code)."}]}}grep -r "tool" /home/lakshyaag/.cursor/projects | grep ".jsonl" | head -n 5/home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/agent-transcripts/5cfb1ac5-dc7e-4aad-a2b3-6295a35d1440/5cfb1ac5-dc7e-4aad-a2b3-6295a35d1440.jsonl:{"role":"assistant","message":{"content":[{"type":"text","text":"Summary of trace **jn7fdebnyex62a26g9h68zygzd8251r9**:\n\n---\n\n## Trace overview\n\n**Shared URL:** https://www.traces.com/s/jn7fdebnyex62a26g9h68zygzd8251r9 \n\n**Agent:** pi (z-ai/glm-5) \n**Project:** amp-school \n**Visibility:** direct\n\n---\n\n## AI summary (from Traces.com)\n\nThe user wanted a clear visual presentation for the McGill session script, especially the AI tool levels and prompt templates. The assistant produced diagrams with logos and a structured slide deck to make the session easier to deliver. The result is a full slide deck with embedded visuals.\n\n---\n\n## Session content\n\n**Initial request:**\n> @docs/MCGILL_SESSION_SCRIPT.md can u generate an excalidraw diagram for the level 1/2/3 section (sec1.3)\n\n**Section 1.3 — “The Landscape & Harnesses: What Tools Exist”** covers:\n\n| Level | Type | Examples |\n|-------|------|----------|\n| **Level 1** | Fully managed platforms | v0.app, Lovable, Replit, Bolt |\n| **Level 2** | AI-powered code editors | Cursor, Windsurf, GitHub Copilot |\n| **Level 3** | CLI / terminal agents | Claude Code, Codex, Gemini CLI |\n\n**Harness concept:** Context → Tools → Iteration loop (what turns a chatbot into an agent).\n\nThe assistant read the Excalidraw skill and created diagrams for this section, then built a slide deck with embedded visuals for the McGill session.\n\n---\n\n**Local source:** `/home/lakshyaag/.pi/agent/sessions/--home-lakshyaag-Projects-amp-school--/2026-03-01T23-37-50-907Z_c8c96dfc-798c-45a3-b21e-6eb78147e3a3.jsonl` (~1.8MB transcript)"}]}}
/home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/agent-transcripts/5cfb1ac5-dc7e-4aad-a2b3-6295a35d1440/5cfb1ac5-dc7e-4aad-a2b3-6295a35d1440.jsonl:{"role":"assistant","message":{"content":[{"type":"text","text":"Yes. The trace shows this sequence:\n\n1. **MCGILL_SESSION_SCRIPT.md** — You started from the session script (initially referenced as `@docs/MCGILL_SESSION_SCRIPT.md`).\n\n2. **Diagram generation** — You asked for an Excalidraw diagram for section 1.3 (AI tool landscape). The assistant produced `ai-tool-landscape.excalidraw` and exported it to PNG. You then asked for company logos, and the assistant added logos for v0, Lovable, Replit, Bolt, Cursor, Windsurf, GitHub, Claude, OpenAI, and Gemini. There was also work on other visuals (prompt template, Plan→Agent→Verify loop, harness diagram) before you said “its fine” and moved on.\n\n3. **Slide outline** — You asked whether to add a chapter breakdown or prepare a slide presentation. The assistant recommended slides and created **MCGILL_SLIDE_OUTLINE.md** with 34 slides mapped to the script (Setting the stage → The build → What’s next → Wrap up).\n\n4. **Slide deck** — You said “its fine. now focus on creating a presentation.” The assistant first considered reveal.js, then you provided the Slidev skill. It scaffolded a Slidev project and built the deck in `sessions/mcgill-6-MAR-2026/presentation/`.\n\nSo the flow was: **script → diagrams → slide outline → slide deck**."}]}}
/home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/agent-transcripts/5cfb1ac5-dc7e-4aad-a2b3-6295a35d1440/5cfb1ac5-dc7e-4aad-a2b3-6295a35d1440.jsonl:{"role":"assistant","message":{"content":[{"type":"text","text":"Here’s the process that’s now documented in `sessions/SESSION_PREP_PROCESS.md`:\n\n---\n\n## Process pipeline\n\n```\nScript → Outline → Asset inventory → Diagrams → Slide deck → Polish\n```\n\n**Main change:** The outline is created before diagrams, and the outline includes an explicit asset inventory. That way you know what to build before starting diagrams.\n\n---\n\n## Changes from the first iteration\n\n| Issue | Change |\n|-------|--------|\n| \"Add logos\" as a follow-up | Include logo requirements in the initial asset spec |\n| Switching from reveal.js to Slidev | Decide the tool in Step 2 and record it in the outline |\n| Assets in `docs/`, deck elsewhere | Single session folder: `sessions/<name>/` for everything |\n| Scope creep on visuals | Asset inventory with P0/P1/P2 priorities; only P0 before the deck |\n| Outline created in `docs/` | Outline lives in the session folder from the start |\n\n---\n\n## Folder structure\n\n```\nsessions/<session-name>/\n├── SESSION_SCRIPT.md\n├── SLIDE_OUTLINE.md\n├── assets/ # excalidraw + PNG exports\n├── presentation/ # Slidev deck\n│ ├── slides.md\n│ └── public/ # PNGs for slides\n```\n\n---\n\n## One-shot prompt for the next session\n\nYou can start a new session with:\n\n```\nI'm preparing a session. Here's my script: @sessions/<name>/SESSION_SCRIPT.md\n\nFollow the SESSION_PREP_PROCESS:\n1. Create SLIDE_OUTLINE.md from the script (slide-by-slide, with asset inventory)\n2. Generate the P0 Excalidraw diagrams listed in the outline\n3. Build the Slidev deck in presentation/ following the outline\n\nUse the Excalidraw and Slidev skills. All outputs go in sessions/<name>/.\n```\n\n---\n\nThe full process is in `sessions/SESSION_PREP_PROCESS.md`, including checkpoints, a sample asset table, and a prompt pattern for diagram generation. If you share the script for your next session, we can run through this process step by step."}]}}
/home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/agent-transcripts/5cfb1ac5-dc7e-4aad-a2b3-6295a35d1440/5cfb1ac5-dc7e-4aad-a2b3-6295a35d1440.jsonl:{"role":"assistant","message":{"content":[{"type":"text","text":"**Assessing skill recommendations**\n\nI'm in read-only mode, so I need to look at the skill file to recommend changes. I also need to think about how to best add references or dependencies to other skills like Excalidraw, Slidev/Slidec, and session-to-slides.\n\nI'll use the Read tool since I'm allowed to do that. After inspecting the file, I’ll provide advice without making any changes. The user is specifically looking for recommendations on SKILL.md and referencing other skills."}]}}
/home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/agent-transcripts/5cfb1ac5-dc7e-4aad-a2b3-6295a35d1440/5cfb1ac5-dc7e-4aad-a2b3-6295a35d1440.jsonl:{"role":"assistant","message":{"content":[{"type":"text","text":"### Recommended changes to `session-to-slides` itself\n\nYour skill is already strong: it’s staged, gated, and concrete. I’d tighten and clarify a few things so it’s easier to reuse and compose with other skills:\n\n- **Add an “Inputs & Preconditions” section at the top**\n - Explicitly state what the agent will be given and what it must infer.\n - For example:\n - **Required input**: a path like `sessions/<session-name>/SESSION_SCRIPT.md` (or an `@sessions/...` reference).\n - **How `<session-name>` is determined**: either\n - Parsed from the script path, or\n - Passed explicitly in the user’s first message.\n - Right now you say “write `sessions/<session-name>/SLIDE_OUTLINE.md`” but never define how `<session-name>` is set.\n\n- **Align terminology with your other doc**\n - You now have `SESSION_PREP_PROCESS.md` and this skill; they’re very similar.\n - Add a short line near the top:\n - “This pipeline implements the stages in `sessions/SESSION_PREP_PROCESS.md`.”\n - That way you don’t end up with two subtly-diverging processes.\n\n- **Be explicit about “APPROVE / CHANGE” protocol**\n - Right now you say “Do not proceed until the user says yes” in multiple places.\n - I’d standardize it once, e.g. in `## Rules`:\n - “Only proceed to the next stage when the user replies with an explicit approval (e.g. `APPROVE`, `looks good`, or similar). If they reply with edits, treat that as `CHANGE` and re-run the gate.”\n - That makes it easier to drive the agent with short commands.\n\n- **Clarify what’s *not* this skill’s job**\n - Add 2–3 bullets under `## Rules` like:\n - “Do **not** rewrite the entire script for tone; only adjust wording where needed to fit slides.”\n - “Do **not** invent new concepts not present in the script or user answers.”\n - “Do **not** create reveal.js/Keynote decks; only Slidev.”\n - This prevents scope creep (you hit this with reveal.js in iteration 1).\n\n- **Tighten Stage 3 verification**\n - You already say “Read the exported PNG to visually verify — flag any layout issues”.\n - I’d make the expected response pattern more concrete:\n - “After each diagram, summarize in 1–2 sentences what it shows and ask: `APPROVE` or `CHANGE: ...`.”\n\n- **Tighten Stage 4 build contract**\n - Right now Stage 4 says “Scaffold the Slidev project” and “Add npm scripts”.\n - Add one line saying:\n - “If a `presentation/` project already exists, **reuse it** instead of re‑initializing; only update `slides.md` and copy new PNGs.”\n - That avoids accidentally blowing away an existing deck.\n\n---\n\n### Best way to add references / dependencies to other skills\n\nRight now you’re already half‑there:\n\n- Stage 3 has:\n\n > Read and follow the `excalidraw` skill at `/home/lakshyaag/.pi/agent/skills/excalidraw/SKILL.md`.\n\n- Stage 4 has:\n\n > Read and follow the `slidev` skill at `/home/lakshyaag/Projects/amp-school/.pi/skills/slidev/SKILL.md`.\n\nTo make dependencies clearer and more reusable, I’d do three things:\n\n#### 1. Add a “Related Skills / Dependencies” block at the top\n\nRight after the YAML header:\n\n```md\n---\nname: session-to-slides\ndescription: ...\n---\n\n<skill name=\"excalidraw\" location=\"/home/lakshyaag/.pi/agent/skills/excalidraw/SKILL.md\">\nUsed in Stage 3 to generate and export diagrams.\n</skill>\n\n<skill name=\"slidev\" location=\"/home/lakshyaag/Projects/amp-school/.pi/skills/slidev/SKILL.md\">\nUsed in Stage 4 to scaffold and configure the Slidev deck.\n</skill>\n\n# Session → Slides Pipeline\n...\n```\n\n- This mirrors how you already referenced `slidev` in a previous session.\n- It makes the composition story obvious: “session-to-slides orchestrates excalidraw + slidev”.\n\nIf you actually have a separate “slidec” or “slidec/slidev CLI” skill, you can add a third block in the same style.\n\n#### 2. Keep the stage‑local “Skill to load” hints (but reference the names, not just paths)\n\nInstead of only paths, couple them to the names you declared above, e.g.:\n\n```md\n### Skill to load\nUse the `excalidraw` skill (see header) to:\n- Generate valid `.excalidraw` JSON\n- Export to PNG via `export_excalidraw`\n- Follow the style defaults (Virgil font, roughness 1, role-based colors)\n```\n\n```md\n### Skill to load\nUse the `slidev` skill (see header) to:\n- Scaffold the project in `presentation/`\n- Configure frontmatter (theme, fonts, transitions)\n- Add standard scripts (`dev`, `build`, `export`)\n```\n\nThis way the agent has both:\n\n- A **global dependency declaration** (the `<skill ...>` blocks at the top), and\n- A **local reminder** at each stage about *how* to use those skills.\n\n#### 3. Keep absolute paths, but make the expectation explicit\n\nGiven how your environment is set up, absolute paths are fine. To reduce confusion, just add a short note under “Dependencies”:\n\n```md\n> All skill locations are absolute paths on this machine.\n> Always `read` the referenced SKILL.md *before* using the tools it describes.\n```\n\nThat clarifies that:\n\n- The “dependency” is conceptual (this skill orchestrates others),\n- And the concrete mechanism is: the agent calls `read` on those SKILL files and follows their instructions.\n\n---\n\nIf you’d like, paste the top 30–40 lines of your `excalidraw` and `slidev` skills, and I can suggest a precise “Dependencies” header that names exactly what functions each one provides (e.g. `export_excalidraw`, slidev CLI commands) so the composition is very explicit.\n\n**Clarifying session naming requirements**\n\nRight now, it says to write `sessions/<session-name>/SLIDE_OUTLINE.md`, but it doesn’t define what `<session-name>` should be. I think we should recommend that the calling prompt must specify `<session-name>`, or I might need to infer it from the script path. \n\nThen, I could create two sections in my answer: one for the changes I'd make to the skill for better structure and clarity, and another for how to clearly express dependencies on other skills, including an example snippet."}]}}grep -r "toolCalls" /home/lakshyaag/.cursor/projects | head -n 5/home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-personal-website/pull-requests/pr-4636/diffs/examples__ai-core__src__generate-text__mock-tool-call-repair-reask.ts.diff:+ toolCalls: [ /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-personal-website/pull-requests/pr-4636/diffs/examples__ai-core__src__generate-text__mock-tool-call-repair-reask.ts.diff:+ const newToolCall = result.toolCalls.find( /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-personal-website/pull-requests/pr-4636/diffs/examples__ai-core__src__generate-text__mock-tool-call-repair-reask.ts.diff:+ console.log(JSON.stringify(result.toolCalls, null, 2)); /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-personal-website/pull-requests/pr-4636/diffs/content__docs__03-ai-sdk-core__15-tools-and-tool-calling.mdx.diff:+ const newToolCall = result.toolCalls.find( /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-personal-website/pull-requests/pr-4636/all.diff:+ const newToolCall = result.toolCalls.find(
grep -r "\"type\":\"tool\"" /home/lakshyaag/.cursor/projects | grep ".jsonl" | head -n 5(no output)
grep -r "\"toolName\"" /home/lakshyaag/.cursor/projects | grep ".jsonl" | head -n 5(no output)
ls -S /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/agent-transcripts/*/*.jsonl | head -n 5/home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/agent-transcripts/827b3e0b-e7f4-4e12-a9da-e4cdc1e5e675/827b3e0b-e7f4-4e12-a9da-e4cdc1e5e675.jsonl /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/agent-transcripts/5cfb1ac5-dc7e-4aad-a2b3-6295a35d1440/5cfb1ac5-dc7e-4aad-a2b3-6295a35d1440.jsonl /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/agent-transcripts/b6385d33-ad66-40d3-ad8e-3e730a73a915/b6385d33-ad66-40d3-ad8e-3e730a73a915.jsonl /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/agent-transcripts/b7d72200-7d48-4b79-b90f-9faea5c4498b/b7d72200-7d48-4b79-b90f-9faea5c4498b.jsonl /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/agent-transcripts/f866fa7a-1576-4866-b1ae-b6a4f4f2b7f1/f866fa7a-1576-4866-b1ae-b6a4f4f2b7f1.jsonl
grep -a -C 50 "class PiAdapter" /home/lakshyaag/.bun/install/global/node_modules/@traces-sh/traces-linux-x64/bin/traces | strings | grep -v "00000000" | head -n 100if (session.summary) {
const normalizedSummary = this.normalizeTitleCandidate(session.summary);
if (normalizedSummary)
return normalizedSummary;
}
return `Session ${session.sessionId.slice(0, 8)}`;
extractToolResult(toolCall) {
if (toolCall.resultDisplay) {
return toolCall.resultDisplay;
}
if (toolCall.result && toolCall.result.length > 0) {
const firstResult = toolCall.result[0];
if (firstResult?.functionResponse?.response?.output) {
return firstResult.functionResponse.response.output;
}
}
return "(no output)";
extractMessageContent(content) {
if (typeof content === "string") {
return content;
}
if (!Array.isArray(content)) {
return "";
}
const textParts = [];
for (const part of content) {
if (typeof part === "string") {
textParts.push(part);
continue;
}
if (!part || typeof part !== "object") {
continue;
}
if (typeof part.text === "string") {
textParts.push(part.text);
}
}
return textParts.join(`
// src/adapters/pi/v1.ts
import fs7 from "fs";
import path11 from "path";
var TOOL_CALL_TYPES = new Set(["tool_call", "tool_use", "function_call"]);
var TOOL_RESULT_TYPES = new Set(["tool_result", "tool_output", "function_call_output"]);
class PiAdapter extends BaseAdapter {
id = "pi";
name = "Pi";
defaultModel = "pi-default";
maxSessionFilesScanned = 15000;
maxSessionDirsScanned = 4000;
piDir;
sessionsDir;
constructor(piDir) {
super();
this.piDir = piDir ?? agentStoragePaths.pi;
this.sessionsDir = path11.join(this.piDir, "agent", "sessions");
async isAvailable() {
return fs7.existsSync(this.sessionsDir);
async getTraces(options = {}) {
const limit = options.limit ?? 10;
if (!await this.isAvailable()) {
return [];
}
const maxFiles = Math.min(this.maxSessionFilesScanned, Math.max(2000, limit * 40));
const sessionFiles = this.collectSessionFiles(this.sessionsDir, maxFiles, this.maxSessionDirsScanned);
const traces = [];
for (const sessionFile of sessionFiles) {
const metadata = this.readTraceMetadata(sessionFile);
if (metadata) {
traces.push(metadata);
}
}
traces.sort((a, b) => b.timestamp - a.timestamp);
return traces.slice(0, limit);
async getTraceIndexBatch(options = {}) {
const nextCursor = this.buildIndexCursor();
const previousCursor = options.cursor;
const unchanged = !nextCursor.scanTruncated && !previousCursor?.scanTruncated && previousCursor?.sessionsNewestMtimeMs === nextCursor.sessionsNewestMtimeMs && previousCursor?.sessionFileCount === nextCursor.sessionFileCount;
if (unchanged) {
return {
traces: [],
nextCursor,
done: true
};
}
return {
traces: await this.getTraces({ limit: options.limit }),
nextCursor,
done: true
};
async parseTraceContent(trace18, diagnostics) {node -e '
const fs = require("fs");
const path = require("path");
const os = require("os");
const projectsDir = path.join(os.homedir(), ".cursor", "projects");
if (!fs.existsSync(projectsDir)) {
console.log("No Cursor projects found.");
process.exit(0);
}
const projects = fs.readdirSync(projectsDir);
for (const project of projects) {
const transcriptDir = path.join(projectsDir, project, "agent-transcripts");
if (!fs.existsSync(transcriptDir)) continue;
const entries = fs.readdirSync(transcriptDir, { withFileTypes: true });
for (const entry of entries) {
if (entry.isDirectory()) {
const sessionId = entry.name;
const jsonlFile = path.join(transcriptDir, sessionId, `${sessionId}.jsonl`);
const targetJson = path.join(transcriptDir, `${sessionId}.json`);
if (fs.existsSync(jsonlFile)) {
console.log(`Found: ${jsonlFile} -> ${targetJson}`);
}
}
}
}
'Found: /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-ai-receptionist/agent-transcripts/29aef319-b364-4723-bce8-8bfe339897cf/29aef319-b364-4723-bce8-8bfe339897cf.jsonl -> /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-ai-receptionist/agent-transcripts/29aef319-b364-4723-bce8-8bfe339897cf.json Found: /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-ai-receptionist/agent-transcripts/450e701e-e5ad-44f4-aaa7-e0a1da06a7c6/450e701e-e5ad-44f4-aaa7-e0a1da06a7c6.jsonl -> /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-ai-receptionist/agent-transcripts/450e701e-e5ad-44f4-aaa7-e0a1da06a7c6.json Found: /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-ai-receptionist/agent-transcripts/5069d163-2e2c-4420-9338-78b359a9acc5/5069d163-2e2c-4420-9338-78b359a9acc5.jsonl -> /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-ai-receptionist/agent-transcripts/5069d163-2e2c-4420-9338-78b359a9acc5.json Found: /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/agent-transcripts/5cfb1ac5-dc7e-4aad-a2b3-6295a35d1440/5cfb1ac5-dc7e-4aad-a2b3-6295a35d1440.jsonl -> /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/agent-transcripts/5cfb1ac5-dc7e-4aad-a2b3-6295a35d1440.json Found: /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/agent-transcripts/827b3e0b-e7f4-4e12-a9da-e4cdc1e5e675/827b3e0b-e7f4-4e12-a9da-e4cdc1e5e675.jsonl -> /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/agent-transcripts/827b3e0b-e7f4-4e12-a9da-e4cdc1e5e675.json Found: /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/agent-transcripts/b6385d33-ad66-40d3-ad8e-3e730a73a915/b6385d33-ad66-40d3-ad8e-3e730a73a915.jsonl -> /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/agent-transcripts/b6385d33-ad66-40d3-ad8e-3e730a73a915.json Found: /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/agent-transcripts/b7d72200-7d48-4b79-b90f-9faea5c4498b/b7d72200-7d48-4b79-b90f-9faea5c4498b.jsonl -> /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/agent-transcripts/b7d72200-7d48-4b79-b90f-9faea5c4498b.json Found: /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/agent-transcripts/f866fa7a-1576-4866-b1ae-b6a4f4f2b7f1/f866fa7a-1576-4866-b1ae-b6a4f4f2b7f1.jsonl -> /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-amp-school/agent-transcripts/f866fa7a-1576-4866-b1ae-b6a4f4f2b7f1.json Found: /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-game-theory-agents/agent-transcripts/0ee7ffad-82e4-4b68-a0cd-22adcc06160d/0ee7ffad-82e4-4b68-a0cd-22adcc06160d.jsonl -> /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-game-theory-agents/agent-transcripts/0ee7ffad-82e4-4b68-a0cd-22adcc06160d.json Found: /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-game-theory-agents/agent-transcripts/17e31c80-7d3a-48bf-8f16-96900eb3e6f8/17e31c80-7d3a-48bf-8f16-96900eb3e6f8.jsonl -> /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-game-theory-agents/agent-transcripts/17e31c80-7d3a-48bf-8f16-96900eb3e6f8.json Found: /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-game-theory-agents/agent-transcripts/3d9ff31f-44f4-4a9f-a150-7d84e9b97486/3d9ff31f-44f4-4a9f-a150-7d84e9b97486.jsonl -> /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-game-theory-agents/agent-transcripts/3d9ff31f-44f4-4a9f-a150-7d84e9b97486.json Found: /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-game-theory-agents/agent-transcripts/50bc7795-6f7a-4083-9347-44e06519a876/50bc7795-6f7a-4083-9347-44e06519a876.jsonl -> /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-game-theory-agents/agent-transcripts/50bc7795-6f7a-4083-9347-44e06519a876.json Found: /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-game-theory-agents/agent-transcripts/96c12ecf-60a0-40b2-b10f-65df635baba2/96c12ecf-60a0-40b2-b10f-65df635baba2.jsonl -> /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-game-theory-agents/agent-transcripts/96c12ecf-60a0-40b2-b10f-65df635baba2.json Found: /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-game-theory-agents/agent-transcripts/da96ddde-1152-4a64-b537-9d3b7addb1ba/da96ddde-1152-4a64-b537-9d3b7addb1ba.jsonl -> /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-game-theory-agents/agent-transcripts/da96ddde-1152-4a64-b537-9d3b7addb1ba.json Found: /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-personal-website/agent-transcripts/5a6370b5-2f0b-44e6-a342-c10769689abf/5a6370b5-2f0b-44e6-a342-c10769689abf.jsonl -> /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-personal-website/agent-transcripts/5a6370b5-2f0b-44e6-a342-c10769689abf.json Found: /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-pub-golf/agent-transcripts/6dfaf873-087e-4487-9944-c77721dd4532/6dfaf873-087e-4487-9944-c77721dd4532.jsonl -> /home/lakshyaag/.cursor/projects/home-lakshyaag-Projects-pub-golf/agent-transcripts/6dfaf873-087e-4487-9944-c77721dd4532.json Found: /home/lakshyaag/.cursor/projects/home-lakshyaag-pi/agent-transcripts/01e4f1c5-8864-4bc9-a347-56e91db09c9b/01e4f1c5-8864-4bc9-a347-56e91db09c9b.jsonl -> /home/lakshyaag/.cursor/projects/home-lakshyaag-pi/agent-transcripts/01e4f1c5-8864-4bc9-a347-56e91db09c9b.json Found: /home/lakshyaag/.cursor/projects/home-lakshyaag-pi/agent-transcripts/4b32af9f-6d56-4101-8d9f-3f17416632ee/4b32af9f-6d56-4101-8d9f-3f17416632ee.jsonl -> /home/lakshyaag/.cursor/projects/home-lakshyaag-pi/agent-transcripts/4b32af9f-6d56-4101-8d9f-3f17416632ee.json Found: /home/lakshyaag/.cursor/projects/home-lakshyaag-pi/agent-transcripts/ec9a0eff-0bc4-415a-a887-2a192caafbd9/ec9a0eff-0bc4-415a-a887-2a192caafbd9.jsonl -> /home/lakshyaag/.cursor/projects/home-lakshyaag-pi/agent-transcripts/ec9a0eff-0bc4-415a-a887-2a192caafbd9.json
grep -r "toolName" /home/lakshyaag/.cursor/projects | grep ".jsonl" | head -n 5(no output)
grep -r "\"call\"" /home/lakshyaag/.cursor/projects | grep ".jsonl" | head -n 5(no output)
Identifying the Cursor Agent
I've discovered that the "traces" binary pinpoints the Cursor agent by hardcoding its ID within the CursorAdapter. Specifically, the agent's ID is set to "cursor". This is how it tracks and adapts to Cursor's data structures.
Analyzing Data Retrieval
I've shifted focus to data retrieval methods. The system indexes traces from persistent storage, not real-time hooking. It reads state.vscdb from global storage, querying for composer data and resolving messages. Additionally, the agent transcripts stored as JSON files are parsed to extract user queries and project names. I am also investigating the directory resolution logic.
The traces binary tracks the Cursor agent ID by identifying it as "cursor" within a specialized CursorAdapter class. Rather than tracking the Cursor process in real-time, it discovers and indexes Cursor's internal data from the local file system.
Based on the binary's code, here is how the tracking and discovery work:
The binary looks for Cursor data in two primary locations:
~/.config/Cursor/User/globalStorage/state.vscdb~/Library/Application Support/Cursor/User/globalStorage/state.vscdb%APPDATA%\Cursor\User\globalStorage\state.vscdb~/.cursor/projectsThe CursorAdapter uses several methods to extract trace information:
cursorDiskKV table in the SQLite database for keys starting with composerData:. This allows it to find "Composer" sessions (Cursor's multi-file agent).bubbleId:${composerId}:${bubbleId}.~/.cursor/projects/*/agent-transcripts/*.json for JSON files that contain the actual conversation history and tool usage logs."cursor" is hardcoded in the adapter (id = "cursor"). Any trace found through these paths is tagged with this ID.composerData.contextworkspaceUris found in bubbles.conversationState string (stored in the DB) to find file:// URIs that reveal the project path.To keep the index up-to-date, it monitors the modification time (mtimeMs) and file count of the SQLite database and the agent-transcripts directories. If these values change, it triggers a re-scan of the Cursor data.
do it for one sample so i can see if that is the problem
Tracking Agent ID Location
I'm currently focused on how the CursorAdapter within the traces binary locates the Cursor agent ID. I've pinpointed its primary lookups: the Cursor Global Database. The Linux path is clear: ~/.config/Cursor/User/globalStorage/state.vscdb. I'm now investigating the macOS path; it's a key part of the puzzle.
Pinpointing System Paths
I've got the macOS path confirmed now: ~/Library/Application Support/Cursor/User/globalStorage/state.vscdb. Also, I've confirmed the Windows equivalent is ~/AppData/Roaming/Cursor/User/globalStorage/state.vscdb. The binary queries these SQLite databases. It's looking for keys that match composerData:% in the cursorDiskKV table. I've also identified the project directory: ~/.cursor/projects. I think I'm closing in on tracking where the agent ID is located and indexed within traces.
Analyzing the Code Structure
I've zeroed in on the code's dependence on a specific .json structure: an array of messages. The parsing logic is straightforward. Now, I'm examining what would happen if the JSON is malformed.
unwrap the traces binary
Locating Codex Adapter Details
I've pinpointed the maxCursorSessionFilesScanned variables within the CodexAdapter. Now, I'm examining the CodexAdapter constructor. I see that it sets this.codexDir using a nullish coalescing operator and defaults to agentStoragePaths.codex. Also, it sets this.sessionsDir.
Analyzing Database Operations
I'm currently focused on database operations, specifically the INSERT statement and its associated parameters. The critical data points appear to be agentId, cursorJson, lastScanAt, and lastError. I am evaluating the logic for error handling in particular, noticing the use of the nullish coalescing operator (??).
Confirming Next Steps
My focus has shifted to the user's latest message, confirming the issue and requesting further action. I am now proceeding as directed, given the successful manual fix and subsequent instructions. I am ready to begin the next steps.
Clarifying Scope Boundaries
I'm now separating the "unwrap traces" task from the interleaved "amp-school" discussions. My focus is back on the directive to "continue" from the recent trace binary interaction. I'm isolating the trace binary context, ensuring I don't confuse this with the separate "amp-school" thread. I'll need to remember the last step and prepare the next action.
Analyzing User Request Context
I'm now deeply analyzing the user's implicit request after the "undo" action. The lack of a subsequent explicit instruction is key. I'm reviewing the provided history to pinpoint my next role, given the existing system instructions. I am trying to determine if I'm expected to resume a prior context or await new input, given the date and time provided.
Considering Next Steps
I'm now focusing on the user's initial request to "unwrap the traces binary." My analysis of the history indicates the recent "undo" action was followed by the assistant's confirmation, suggesting the current task is to resume the "traces" work. I see the traces binary in the current working directory. The manual fix was confirmed, so I am considering whether to suggest automating the fix for all traces to confirm the path forward.
Isolating Current Task Focus
I'm now separating the current trace issue from any "amp-school" implementation. The user seems to be jumping tasks; I must focus only on the traces work, assuming the "continue" instruction refers to the trace fix. I need to complete this fix, starting with a review of the traces binary requirement and user data input. The user switched between sessions. I should assume the task at hand is continuing work on the traces fix, automating it.
Resuming Binary Fix
I'm now fully focused on the traces binary again. The user's "undo" clarifies my directive: I must resume the traces fix. They want the previous UI changes, which I'll add to the to-do list. However, I should now focus on addressing the traces issue by providing a permanent solution. I will modify the wrapper script to automatically fix the cursor format, following prior requests.
Re-establishing Trace Fix
I'm now zeroing in on the "continue" instruction and the order of events. The user's "continue" followed the successful sample fix, meaning they are likely directing me to automate the fix for all traces. The task switch to "amp-school" complicates things, but the "undo" action makes me think they want me to return to the traces work. I'll focus on the user's intent to resume the trace fixing.
Analyzing Adapter Context
I'm currently focused on understanding the context around a potential CursorAdapter in this project. The ls -R output provides a directory, but I still need to determine its exact relationship to the adapter. My immediate task is to trace the path and purpose within the broader structure.