@utilarium/dreadcabinet 0.0.16-dev.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.nvmrc +2 -0
- package/LICENSE +190 -0
- package/README.md +95 -0
- package/dist/configure.d.ts +5 -0
- package/dist/configure.js +44 -0
- package/dist/configure.js.map +1 -0
- package/dist/constants.d.ts +36 -0
- package/dist/constants.js +53 -0
- package/dist/constants.js.map +1 -0
- package/dist/defaults.d.ts +2 -0
- package/dist/defaults.js +32 -0
- package/dist/defaults.js.map +1 -0
- package/dist/dreadcabinet.cjs +1793 -0
- package/dist/dreadcabinet.cjs.map +1 -0
- package/dist/dreadcabinet.d.ts +131 -0
- package/dist/dreadcabinet.js +111 -0
- package/dist/dreadcabinet.js.map +1 -0
- package/dist/error/ArgumentError.d.ts +5 -0
- package/dist/error/ArgumentError.js +26 -0
- package/dist/error/ArgumentError.js.map +1 -0
- package/dist/input/input.d.ts +7 -0
- package/dist/input/input.js +13 -0
- package/dist/input/input.js.map +1 -0
- package/dist/input/process.d.ts +5 -0
- package/dist/input/process.js +36 -0
- package/dist/input/process.js.map +1 -0
- package/dist/input/structured.d.ts +15 -0
- package/dist/input/structured.js +324 -0
- package/dist/input/structured.js.map +1 -0
- package/dist/input/unstructured.d.ts +2 -0
- package/dist/input/unstructured.js +45 -0
- package/dist/input/unstructured.js.map +1 -0
- package/dist/logger.d.ts +2 -0
- package/dist/logger.js +19 -0
- package/dist/logger.js.map +1 -0
- package/dist/operate.d.ts +2 -0
- package/dist/operate.js +27 -0
- package/dist/operate.js.map +1 -0
- package/dist/output.d.ts +7 -0
- package/dist/output.js +99 -0
- package/dist/output.js.map +1 -0
- package/dist/read.d.ts +4 -0
- package/dist/read.js +30 -0
- package/dist/read.js.map +1 -0
- package/dist/util/dates.d.ts +60 -0
- package/dist/util/dates.js +699 -0
- package/dist/util/dates.js.map +1 -0
- package/dist/util/storage.d.ts +33 -0
- package/dist/util/storage.js +140 -0
- package/dist/util/storage.js.map +1 -0
- package/dist/validate.d.ts +4 -0
- package/dist/validate.js +134 -0
- package/dist/validate.js.map +1 -0
- package/guide/architecture.md +60 -0
- package/guide/configuration.md +132 -0
- package/guide/development.md +110 -0
- package/guide/index.md +62 -0
- package/guide/usage.md +166 -0
- package/output/kodrdriv/250703-0645-commit-message.md +21 -0
- package/output/kodrdriv/250703-0653-commit-message.md +1 -0
- package/output/kodrdriv/250703-0654-commit-message.md +1 -0
- package/output/kodrdriv/250703-0655-release-notes.md +51 -0
- package/output/kodrdriv/250703-0700-commit-message.md +1 -0
- package/output/kodrdriv/250703-0700-release-notes.md +8 -0
- package/output/kodrdriv/250703-0706-commit-message.md +1 -0
- package/output/kodrdriv/250703-0706-release-notes.md +11 -0
- package/output/kodrdriv/250703-0717-commit-message.md +1 -0
- package/output/kodrdriv/250703-0719-commit-message.md +1 -0
- package/output/kodrdriv/250703-0719-release-notes.md +17 -0
- package/output/kodrdriv/250703-0730-commit-message.md +1 -0
- package/output/kodrdriv/250703-0730-release-notes.md +11 -0
- package/output/kodrdriv/250703-1510-commit-message.md +1 -0
- package/output/kodrdriv/250710-0805-commit-message.md +3 -0
- package/output/kodrdriv/250710-0815-commit-message.md +1 -0
- package/output/kodrdriv/250710-0815-release-notes.md +39 -0
- package/output/kodrdriv/260107-2021-commit-message.md +37 -0
- package/output/kodrdriv/260108-0432-commit-message.md +6 -0
- package/output/kodrdriv/260108-0435-commit-message.md +3 -0
- package/output/kodrdriv/260108-0436-commit-message.md +4 -0
- package/output/kodrdriv/260108-0439-release-notes.md +63 -0
- package/output/kodrdriv/260108-0543-commit-message.md +19 -0
- package/output/kodrdriv/260108-0550-commit-message.md +3 -0
- package/output/kodrdriv/260108-0550-release-notes.md +19 -0
- package/output/kodrdriv/260108-0600-commit-message.md +3 -0
- package/output/kodrdriv/260110-0717-commit-message.md +4 -0
- package/output/kodrdriv/260110-1152-commit-message.md +1 -0
- package/output/kodrdriv/260110-1850-commit-message.md +1 -0
- package/output/kodrdriv/260110-1852-release-notes.md +33 -0
- package/output/kodrdriv/260112-2257-commit-message.md +5 -0
- package/output/kodrdriv/260112-2317-commit-message.md +1 -0
- package/output/kodrdriv/260112-2318-release-notes.md +42 -0
- package/output/kodrdriv/260113-0053-commit-message.md +1 -0
- package/output/kodrdriv/260113-0054-commit-message.md +1 -0
- package/output/kodrdriv/260113-0054-release-notes.md +49 -0
- package/output/kodrdriv/260130-1132-commit-message.md +1 -0
- package/output/kodrdriv/260130-1135-commit-message.md +1 -0
- package/output/kodrdriv/260130-1335-commit-message.md +10 -0
- package/output/kodrdriv/RELEASE_NOTES.md +47 -0
- package/output/kodrdriv/RELEASE_TITLE.md +1 -0
- package/output/kodrdriv/agentic-reflection-commit-2026-01-08T04-21-54-623Z.md +372 -0
- package/output/kodrdriv/agentic-reflection-commit-2026-01-08T12-32-36-513Z.md +55 -0
- package/output/kodrdriv/agentic-reflection-commit-2026-01-08T12-35-58-580Z.md +105 -0
- package/output/kodrdriv/agentic-reflection-commit-2026-01-08T12-36-05-658Z.md +53 -0
- package/output/kodrdriv/agentic-reflection-commit-2026-01-08T13-43-55-498Z.md +178 -0
- package/output/kodrdriv/agentic-reflection-commit-2026-01-08T13-50-10-230Z.md +53 -0
- package/output/kodrdriv/agentic-reflection-commit-2026-01-08T13-50-35-136Z.md +52 -0
- package/output/kodrdriv/agentic-reflection-commit-2026-01-08T14-00-30-772Z.md +52 -0
- package/output/kodrdriv/agentic-reflection-commit-2026-01-10T15-17-43-324Z.md +53 -0
- package/output/kodrdriv/agentic-reflection-commit-2026-01-10T19-52-47-424Z.md +97 -0
- package/output/kodrdriv/agentic-reflection-commit-2026-01-11T02-50-23-123Z.md +138 -0
- package/output/kodrdriv/agentic-reflection-commit-2026-01-11T02-50-45-038Z.md +114 -0
- package/output/kodrdriv/agentic-reflection-commit-2026-01-11T02-50-49-467Z.md +114 -0
- package/output/kodrdriv/agentic-reflection-commit-2026-01-13T06-57-00-384Z.md +169 -0
- package/output/kodrdriv/agentic-reflection-commit-2026-01-13T07-17-29-292Z.md +114 -0
- package/output/kodrdriv/agentic-reflection-commit-2026-01-13T07-17-47-579Z.md +114 -0
- package/output/kodrdriv/agentic-reflection-commit-2026-01-13T08-48-55-599Z.md +144 -0
- package/output/kodrdriv/agentic-reflection-commit-2026-01-13T08-53-53-725Z.md +114 -0
- package/output/kodrdriv/agentic-reflection-commit-2026-01-13T08-54-11-600Z.md +97 -0
- package/output/kodrdriv/agentic-reflection-commit-2026-01-30T19-32-17-053Z.md +174 -0
- package/output/kodrdriv/agentic-reflection-commit-2026-01-30T19-35-00-887Z.md +152 -0
- package/output/kodrdriv/agentic-reflection-commit-2026-01-30T21-02-16-553Z.md +236 -0
- package/output/kodrdriv/agentic-reflection-commit-2026-01-30T21-17-22-227Z.md +347 -0
- package/output/kodrdriv/agentic-reflection-release-2026-01-08T12-39-08-279Z.md +507 -0
- package/output/kodrdriv/agentic-reflection-release-2026-01-08T13-50-57-683Z.md +183 -0
- package/output/kodrdriv/agentic-reflection-release-2026-01-11T02-52-39-082Z.md +347 -0
- package/output/kodrdriv/agentic-reflection-release-2026-01-13T07-18-21-218Z.md +315 -0
- package/output/kodrdriv/agentic-reflection-release-2026-01-13T08-54-59-340Z.md +354 -0
- package/package.json +80 -0
|
@@ -0,0 +1,507 @@
|
|
|
1
|
+
# Agentic Workflow - Self-Reflection Report
|
|
2
|
+
|
|
3
|
+
Generated: 2026-01-08T12:39:08.279Z
|
|
4
|
+
|
|
5
|
+
## Execution Summary
|
|
6
|
+
|
|
7
|
+
- **Iterations**: 5
|
|
8
|
+
- **Tool Calls**: 20
|
|
9
|
+
- **Unique Tools**: 5
|
|
10
|
+
|
|
11
|
+
## Tool Effectiveness Analysis
|
|
12
|
+
|
|
13
|
+
| Tool | Calls | Success | Failures | Success Rate | Avg Duration |
|
|
14
|
+
|------|-------|---------|----------|--------------|--------------|
|
|
15
|
+
| get_file_content | 16 | 16 | 0 | 100.0% | 1ms |
|
|
16
|
+
| search_codebase | 4 | 1 | 3 | 25.0% | 19ms |
|
|
17
|
+
| get_release_stats | 1 | 1 | 0 | 100.0% | 62ms |
|
|
18
|
+
| get_breaking_changes | 1 | 1 | 0 | 100.0% | 28ms |
|
|
19
|
+
| analyze_commit_patterns | 1 | 1 | 0 | 100.0% | 9ms |
|
|
20
|
+
|
|
21
|
+
### Tool Performance Insights
|
|
22
|
+
|
|
23
|
+
**Tools with Failures:**
|
|
24
|
+
- search_codebase: 3/4 failures (75.0%)
|
|
25
|
+
|
|
26
|
+
**Most Frequently Used:**
|
|
27
|
+
- get_release_stats: 1 calls
|
|
28
|
+
- get_breaking_changes: 1 calls
|
|
29
|
+
- analyze_commit_patterns: 1 calls
|
|
30
|
+
|
|
31
|
+
## Recommendations for Improvement
|
|
32
|
+
|
|
33
|
+
- **Tool Failures**: Investigate and fix tools that are failing. This may indicate issues with error handling or tool implementation.
|
|
34
|
+
|
|
35
|
+
## Detailed Execution Timeline
|
|
36
|
+
|
|
37
|
+
| Time | Iteration | Tool | Result | Duration |
|
|
38
|
+
|------|-----------|------|--------|----------|
|
|
39
|
+
| 4:36:34 AM | 1 | get_release_stats | ✅ Success | 62ms |
|
|
40
|
+
| 4:36:34 AM | 1 | get_breaking_changes | ✅ Success | 28ms |
|
|
41
|
+
| 4:36:34 AM | 1 | analyze_commit_patterns | ✅ Success | 9ms |
|
|
42
|
+
| 4:36:34 AM | 1 | search_codebase | ✅ Success | 11ms |
|
|
43
|
+
| 4:36:34 AM | 1 | get_file_content | ✅ Success | 1ms |
|
|
44
|
+
| 4:36:34 AM | 1 | get_file_content | ✅ Success | 0ms |
|
|
45
|
+
| 4:36:34 AM | 1 | get_file_content | ✅ Success | 0ms |
|
|
46
|
+
| 4:36:34 AM | 1 | get_file_content | ✅ Success | 0ms |
|
|
47
|
+
| 4:36:34 AM | 1 | get_file_content | ✅ Success | 0ms |
|
|
48
|
+
| 4:36:34 AM | 1 | get_file_content | ✅ Success | 1ms |
|
|
49
|
+
| 4:36:56 AM | 2 | get_file_content | ✅ Success | 2ms |
|
|
50
|
+
| 4:36:56 AM | 2 | get_file_content | ✅ Success | 1ms |
|
|
51
|
+
| 4:36:56 AM | 2 | get_file_content | ✅ Success | 1ms |
|
|
52
|
+
| 4:36:56 AM | 2 | search_codebase | ❌ Tool "search_codebase" execution failed: Search failed: Command failed: git grep -n -C 1 "package-lock.json"
|
|
53
|
+
| 22ms |
|
|
54
|
+
| 4:36:56 AM | 2 | get_file_content | ✅ Success | 1ms |
|
|
55
|
+
| 4:36:56 AM | 2 | get_file_content | ✅ Success | 0ms |
|
|
56
|
+
| 4:36:56 AM | 2 | get_file_content | ✅ Success | 0ms |
|
|
57
|
+
| 4:37:08 AM | 3 | search_codebase | ❌ Tool "search_codebase" execution failed: Search failed: Command failed: git grep -n -C 1 "docs/package-lock.json"
|
|
58
|
+
| 20ms |
|
|
59
|
+
| 4:37:08 AM | 3 | get_file_content | ✅ Success | 0ms |
|
|
60
|
+
| 4:37:08 AM | 3 | get_file_content | ✅ Success | 0ms |
|
|
61
|
+
| 4:37:08 AM | 3 | get_file_content | ✅ Success | 0ms |
|
|
62
|
+
| 4:37:08 AM | 3 | get_file_content | ✅ Success | 1ms |
|
|
63
|
+
| 4:37:44 AM | 4 | search_codebase | ❌ Tool "search_codebase" execution failed: Search failed: Command failed: git grep -n -C 2 "pnpm-lock.yaml"
|
|
64
|
+
| 23ms |
|
|
65
|
+
|
|
66
|
+
## Conversation History
|
|
67
|
+
|
|
68
|
+
<details>
|
|
69
|
+
<summary>Click to expand full agentic interaction</summary>
|
|
70
|
+
|
|
71
|
+
```json
|
|
72
|
+
[
|
|
73
|
+
{
|
|
74
|
+
"role": "system",
|
|
75
|
+
"content": "You are a professional software engineer writing release notes for your team and users.\n\n## Available Tools\n\n### General\n\n**get_file_history**\nGet git commit history for one or more files to understand their evolution and past changes\n\nParameters:\n- `filePaths` (required): Array of file paths to get history for\n- `limit`: Maximum number of commits to return (default: 10)\n- `format`: Output format: \"summary\" for brief or \"detailed\" for full messages\n\n**When to use:** Get git commit history for one or more files to understand their evolution and past changes\n\n---\n\n**get_file_content**\nGet the complete current content of a file to understand context around changes. Returns a message if the file does not exist (e.g., if it was deleted).\n\nParameters:\n- `filePath` (required): Path to the file\n- `includeLineNumbers`: Include line numbers in output (default: false)\n\n**When to use:** Get the complete current content of a file to understand context around changes. Returns a message if the file does not exist (e.g., if it was deleted).\n\n---\n\n**search_codebase**\nSearch for code patterns, function names, or text across the codebase using git grep\n\nParameters:\n- `query` (required): Search pattern (can be plain text or regex)\n- `fileTypes`: Limit search to specific file extensions (e.g., [\"ts\", \"js\"])\n- `contextLines`: Number of context lines to show around matches (default: 2)\n\n**When to use:** Search for code patterns, function names, or text across the codebase using git grep\n\n---\n\n**get_related_tests**\nFind test files related to production files to understand what the code is supposed to do\n\nParameters:\n- `filePaths` (required): Production file paths\n\n**When to use:** Find test files related to production files to understand what the code is supposed to do\n\n---\n\n**get_file_dependencies**\nFind which files import or depend on the changed files to assess change impact\n\nParameters:\n- `filePaths` (required): Files to analyze dependencies for\n\n**When to use:** Find which files import or depend on the changed files to assess change impact\n\n---\n\n**analyze_diff_section**\nGet expanded context around specific lines in a file to better understand changes\n\nParameters:\n- `filePath` (required): File containing the section to analyze\n- `startLine` (required): Starting line number\n- `endLine` (required): Ending line number\n- `contextLines`: Number of additional context lines to show before and after (default: 10)\n\n**When to use:** Get expanded context around specific lines in a file to better understand changes\n\n---\n\n**get_recent_commits**\nGet recent commits that modified the same files to understand recent work in this area\n\nParameters:\n- `filePaths` (required): Files to check for recent commits\n- `since`: Time period to look back (e.g., \"1 week ago\", \"2 days ago\")\n- `limit`: Maximum number of commits to return (default: 5)\n\n**When to use:** Get recent commits that modified the same files to understand recent work in this area\n\n---\n\n**group_files_by_concern**\nAnalyze changed files and suggest logical groupings that might represent separate concerns\n\nParameters:\n- `filePaths` (required): All changed files to analyze\n\n**When to use:** Analyze changed files and suggest logical groupings that might represent separate concerns\n\n---\n\n### Release Analysis\n\n**get_tag_history** _(cheap)_\nGet the history of previous release tags to understand release patterns and versioning\n\nParameters:\n- `limit`: Number of recent tags to retrieve (default: 10)\n- `pattern`: Filter tags by pattern (e.g., \"v*\" for version tags)\n\n**When to use:** Get the history of previous release tags to understand release patterns and versioning\n\n**Examples:**\n- Check recent version tags: `get_tag_history({\"limit\":5,\"pattern\":\"v*\"})`\n\n---\n\n**compare_previous_release** _(moderate)_\nCompare this release with a previous release to understand what changed between versions\n\nParameters:\n- `previousTag` (required): Previous release tag to compare against\n- `currentRef`: Current reference (default: HEAD)\n- `statsOnly`: Return only statistics, not full diff (default: true)\n\n**When to use:** Compare this release with a previous release to understand what changed between versions\n\n**Examples:**\n- Compare with last release: `compare_previous_release({\"previousTag\":\"v1.0.0\",\"currentRef\":\"HEAD\"})`\n\n---\n\n**get_release_stats** _(moderate)_\nGet comprehensive statistics about the release including contributors, file changes, and commit patterns\n\nParameters:\n- `fromRef` (required): Starting reference for the release range\n- `toRef`: Ending reference for the release range (default: HEAD)\n\n**When to use:** Get comprehensive statistics about the release including contributors, file changes, and commit patterns\n\n**Examples:**\n- Get release overview: `get_release_stats({\"fromRef\":\"v1.0.0\",\"toRef\":\"HEAD\"})`\n\n---\n\n**get_breaking_changes** _(expensive)_\nSearch for potential breaking changes by looking for specific patterns in commits and diffs\n\nParameters:\n- `fromRef` (required): Starting reference for the release range\n- `toRef`: Ending reference for the release range (default: HEAD)\n\n**When to use:** Search for potential breaking changes by looking for specific patterns in commits and diffs\n\n**Examples:**\n- Check for breaking changes: `get_breaking_changes({\"fromRef\":\"v1.0.0\",\"toRef\":\"HEAD\"})`\n\n---\n\n**analyze_commit_patterns** _(cheap)_\nAnalyze commit messages to identify patterns and themes in the release\n\nParameters:\n- `fromRef` (required): Starting reference for the release range\n- `toRef`: Ending reference for the release range (default: HEAD)\n\n**When to use:** Analyze commit messages to identify patterns and themes in the release\n\n**Examples:**\n- Find commit themes: `analyze_commit_patterns({\"fromRef\":\"v1.0.0\",\"toRef\":\"HEAD\"})`\n\n---\n\n\n\n## Your Task\n\nWrite release notes that clearly explain what's in this release and why it matters. Your notes should help users and developers understand what changed without needing to read every commit.\n\nFocus on:\n- What problems does this release solve?\n- What new capabilities does it add?\n- What's the impact on users and developers?\n- Are there breaking changes or important considerations?\n\nUse the available tools to investigate the changes. The more you understand, the better your notes will be.\n\n**Important**: If additional context is provided (from context files or other sources), use your judgment:\n- If the context is relevant to this specific package/release, incorporate it appropriately\n- If the context describes changes in other packages or unrelated work, ignore it\n- Don't fabricate connections between this package and unrelated context\n- Be honest about what changed - only mention what actually happened in this release\n- Context is supplemental information, not a requirement to include\n\n## Investigation Approach\n\nUse tools based on what you need to know:\n\n**Context:**\n- get_tag_history - understand release patterns\n- get_release_stats - quantify scope\n- compare_previous_release - see how this compares\n\n**Understanding:**\n- group_files_by_concern - identify themes\n- analyze_commit_patterns - detect patterns\n- get_file_content - see full context\n- analyze_diff_section - expand unclear changes\n- get_file_history - understand evolution\n\n**Impact:**\n- get_file_dependencies - assess reach\n- search_codebase - find usage patterns\n- get_related_tests - understand behavior changes\n- get_breaking_changes - identify breaking changes (always use)\n\n## Writing Style\n\nWrite naturally and directly:\n- Use plain language that users can understand\n- Be specific about what changed and why\n- Avoid marketing speak and buzzwords\n- No emojis or excessive punctuation\n- No phrases like \"we're excited to announce\"\n- No meta-commentary about the release itself\n- Focus on facts and implications, not enthusiasm\n\nStructure your notes logically:\n- Start with the most important changes\n- Group related changes together\n- Explain breaking changes clearly\n- Include practical examples when helpful\n\n## Output Format\n\nWhen ready, format your response as JSON:\n\nRELEASE_NOTES:\n{\n \"title\": \"Clear, factual title describing the main changes\",\n \"body\": \"Detailed release notes in Markdown format\"\n}\n\nOutput only the JSON. No conversational remarks or follow-up offers."
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"role": "user",
|
|
79
|
+
"content": "I need comprehensive release notes for changes from main to HEAD.\n\n## Commit Log\ncommit 69ffa944de4ba32b7d422a07352bf8262fa7efe7\nAuthor: Tim O'Brien <tobrien@discursive.com>\nDate: Thu Jan 8 04:36:05 2026 -0800\n\n chore(release): bump package version to 0.0.11\n \n - Update `package.json` version from 0.0.10 to 0.0.11\n - Reformat `package.json` (2-space indentation) with no functional/config changes beyond the version bump\n\ncommit 673a7e980599664e7ca0547395242438f9928755\nAuthor: Tim O'Brien <tobrien@discursive.com>\nDate: Thu Jan 8 04:35:58 2026 -0800\n\n chore: refresh package-lock.json after npm install\n \n Regenerates the npm lockfile to reflect the current dependency resolution (updated versions/integrity metadata), keeping `npm ci` installs reproducible in CI and for contributors.\n\ncommit 7021e9edabd3a8addec50f91bbf759e5fcba033c\nAuthor: Tim O'Brien <tobrien@discursive.com>\nDate: Thu Jan 8 04:32:36 2026 -0800\n\n chore: standardize on npm in CI and refresh docs/metadata for utilarium\n \n - Switch GitHub Actions (tests + docs deploy) from pnpm to `npm ci`/`npm run` to match the npm lockfile workflow\n - Update package metadata (repository/homepage) and documentation links to the `utilarium/dreadcabinet` URLs\n - Add `precommit` script and reorder `test` to run coverage before README doctests; bump `@doccident/doccident` and update lockfile\n - Add `guide/` docs (architecture/configuration/usage/development) to document internal structure and common integration patterns\n\n\n## Diff Summary\ndiff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml\nnew file mode 100644\nindex 0000000..88bcf61\n--- /dev/null\n+++ b/.github/workflows/dependency-review.yml\n@@ -0,0 +1,41 @@\n+# Dependency Review Action\n+#\n+# This Action will scan dependency manifest files that change as part of a Pull Request,\n+# surfacing known-vulnerable versions of the packages declared or updated in the PR.\n+# Once installed, if the workflow run is marked as required, PRs introducing known-vulnerable\n+# packages will be blocked from merging.\n+#\n+# Source repository: https://github.com/actions/dependency-review-action\n+# Public documentation: https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review#dependency-review-enforcement\n+name: 'Dependency review'\n+on:\n+ push:\n+ branches: [ \"working\" ]\n+ pull_request:\n+ branches: [ \"main\", \"working\" ]\n+\n+# If using a dependency submission action in this workflow this permission will need to be set to:\n+#\n+# permissions:\n+# contents: write\n+#\n+# https://docs.github.com/en/enterprise-cloud@latest/code-security/supply-chain-security/understanding-your-software-supply-chain/using-the-dependency-submission-api\n+permissions:\n+ contents: read\n+ # Write permissions for pull-requests are required for using the `comment-summary-in-pr` option, comment out if you aren't using this option\n+ pull-requests: write\n+\n+jobs:\n+ dependency-review:\n+ runs-on: ubuntu-latest\n+ steps:\n+ - name: 'Checkout repository'\n+ uses: actions/checkout@v4\n+ - name: 'Dependency Review'\n+ uses: actions/dependency-review-action@v4\n+ # Commonly enabled options, see https://github.com/actions/dependency-review-action#configuration-options for all available options.\n+ with:\n+ comment-summary-in-pr: always\n+ # fail-on-severity: moderate\n+ # deny-licenses: GPL-1.0-or-later, LGPL-2.0-or-later\n+ # retry-on-snapshot-warnings: true\ndiff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml\nindex d7a8d33..00b0ba3 100644\n--- a/.github/workflows/deploy-docs.yml\n+++ b/.github/workflows/deploy-docs.yml\n@@ -30,14 +30,11 @@ jobs:\n with:\n node-version: 22\n \n- - name: Setup pnpm\n- uses: pnpm/action-setup@v4\n- \n - name: Install dependencies\n- run: pnpm install --frozen-lockfile --strict-peer-dependencies\n+ run: npm ci\n \n - name: Build library\n- run: pnpm run build\n+ run: npm run build\n \n - name: Setup Pages\n uses: actions/configure-pages@v5\n@@ -46,13 +43,13 @@ jobs:\n run: |\n # Change to docs directory and install dependencies\n cd docs\n- pnpm install --frozen-lockfile\n+ npm ci\n \n # Copy README.md to public directory so it can be fetched\n cp ../README.md public/\n \n # Build the Vite documentation site\n- pnpm run build\n+ npm run build\n \n - name: Upload artifact\n uses: actions/upload-pages-artifact@v3\ndiff --git a/.github/workflows/npm-publish.yml b/.github/workflows/npm-publish.yml\nnew file mode 100644\nindex 0000000..5643759\n--- /dev/null\n+++ b/.github/workflows/npm-publish.yml\n@@ -0,0 +1,33 @@\n+# This workflow will run tests using node and then publish a package to GitHub Packages when a release is created\n+# For more information see: https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages\n+\n+name: Node.js Package (npm)\n+\n+on:\n+ release:\n+ types: [created]\n+\n+permissions:\n+ contents: write\n+ packages: write\n+ id-token: write\n+\n+jobs:\n+ publish-npm:\n+ runs-on: ubuntu-latest\n+ timeout-minutes: 15\n+ steps:\n+ - uses: actions/checkout@v4\n+ - uses: actions/setup-node@v4\n+ with:\n+ node-version: 22\n+ registry-url: https://registry.npmjs.org/\n+ - name: Update npm\n+ run: npm install -g npm@latest\n+ - name: Install dependencies\n+ run: npm ci --verbose --foreground-scripts\n+ timeout-minutes: 10\n+ - run: npm publish --access public\n+ env:\n+ NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}\n+\ndiff --git a/.github/workflows/pnpm-publish.yml b/.github/workflows/pnpm-publish.yml\ndeleted file mode 100644\nindex 207da34..0000000\n--- a/.github/workflows/pnpm-publish.yml\n+++ /dev/null\n@@ -1,47 +0,0 @@\n-# This workflow will run tests using node and then publish a package to GitHub Packages when a release is created\n-# For more information see: https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages\n-\n-name: Node.js Package\n-\n-on:\n- release:\n- types: [created]\n-\n-permissions:\n- contents: write\n- packages: write\n- id-token: write\n-\n-jobs:\n- build:\n- runs-on: ubuntu-latest\n- steps:\n- - uses: actions/checkout@v4\n- - uses: actions/setup-node@v4\n- with:\n- node-version: 22\n- - uses: pnpm/action-setup@v4\n- - run: pnpm install --frozen-lockfile --strict-peer-dependencies\n- - run: pnpm run lint\n- - run: pnpm run build\n- - run: pnpm test\n- - uses: codecov/codecov-action@v5\n- with:\n- slug: theunwalked/dreadcabinet\n- token: ${{ secrets.CODECOV_TOKEN }}\n-\n-\n- publish-npm:\n- needs: build\n- runs-on: ubuntu-latest\n- steps:\n- - uses: actions/checkout@v4\n- - uses: actions/setup-node@v4\n- with:\n- node-version: 22\n- registry-url: https://registry.npmjs.org/\n- - uses: pnpm/action-setup@v4\n- - run: pnpm install --frozen-lockfile --strict-peer-dependencies\n- - run: pnpm publish --access public --no-git-checks\n- env:\n- NODE_AUTH_TOKEN: ${{secrets.npm_token}}\ndiff --git a/.github/workflows/test.yml b/.github/workflows/test.yml\nindex d119d57..7e1cb64 100644\n--- a/.github/workflows/test.yml\n+++ b/.github/workflows/test.yml\n@@ -1,11 +1,10 @@\n name: Run Tests\n \n on:\n- push:\n+ pull_request:\n branches:\n - main\n- - 'release/**'\n- - 'feature/**'\n+ - working\n \n permissions:\n contents: read\n@@ -19,11 +18,10 @@ jobs:\n - uses: actions/setup-node@v4\n with:\n node-version: 22\n- - uses: pnpm/action-setup@v4\n- - run: pnpm install --frozen-lockfile --strict-peer-dependencies\n- - run: pnpm run lint\n- - run: pnpm run build\n- - run: pnpm test\n+ - run: npm ci\n+ - run: npm run lint\n+ - run: npm run build\n+ - run: npm test\n - uses: codecov/codecov-action@v5\n with:\n slug: theunwalked/dreadcabinet\ndiff --git a/LICENSE b/LICENSE\nindex 02112fd..95c915e 100644\n--- a/LICENSE\n+++ b/LICENSE\n@@ -175,7 +175,7 @@\n \n END OF TERMS AND CONDITIONS\n \n- Copyright 2025 Semicolon Ambulance\n+ Copyright 2025 Tim O'Brien\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\ndiff --git a/README.md b/README.md\nindex 5e84415..9ed542d 100644\n--- a/README.md\n+++ b/README.md\n@@ -24,9 +24,6 @@ npm install @theunwalked/dreadcabinet\n ```bash\n # yarn\n yarn add @theunwalked/dreadcabinet\n-\n-# pnpm \n-pnpm add @theunwalked/dreadcabinet\n ```\n \n ## Quick Start\n@@ -79,20 +76,20 @@ my-app \\\n \n For complete documentation, including detailed configuration options, advanced usage examples, and integration guides, visit:\n \n-**[📖 DreadCabinet Documentation](https://semicolonambulance.github.io/dreadcabinet/)**\n+**[📖 DreadCabinet Documentation](https://utilarium.github.io/dreadcabinet/)**\n \n ### Quick Links\n \n-- [Getting Started Guide](https://semicolonambulance.github.io/dreadcabinet/#getting-started)\n-- [CLI Options Reference](https://semicolonambulance.github.io/dreadcabinet/#cli-options)\n-- [Configuration Files](https://semicolonambulance.github.io/dreadcabinet/#configuration-files)\n-- [Advanced Usage](https://semicolonambulance.github.io/dreadcabinet/#advanced-usage)\n-- [API Reference](https://semicolonambulance.github.io/dreadcabinet/#api-reference)\n+- [Getting Started Guide](https://utilarium.github.io/dreadcabinet/#getting-started)\n+- [CLI Options Reference](https://utilarium.github.io/dreadcabinet/#cli-options)\n+- [Configuration Files](https://utilarium.github.io/dreadcabinet/#configuration-files)\n+- [Advanced Usage](https://utilarium.github.io/dreadcabinet/#advanced-usage)\n+- [API Reference](https://utilarium.github.io/dreadcabinet/#api-reference)\n \n ## Contributing\n \n-We welcome contributions! Please see our [Contributing Guide](https://semicolonambulance.github.io/dreadcabinet/#contributing) for details.\n+We welcome contributions! Please see our [Contributing Guide](https://utilarium.github.io/dreadcabinet/#contributing) for details.\n \n ## License\n \n-[Apache-2.0](./LICENSE) © 2025 Semicolon Ambulance \n\\n+[Apache-2.0](./LICENSE) © 2025 Tim O'Brien \n\\ndiff --git a/docs/pnpm-lock.yaml b/docs/pnpm-lock.yaml\n... [CHANGE OMITTED: File too large (114760 bytes > 5000 limit)] ...\n\ndiff --git a/docs/public/contributing.md b/docs/public/contributing.md\nindex 418ec35..52112ab 100644\n--- a/docs/public/contributing.md\n+++ b/docs/public/contributing.md\n@@ -6,7 +6,7 @@ We welcome contributions to DreadCabinet! This guide will help you get started w\n \n ### Prerequisites\n \n-- **Node.js** 18+ and **pnpm** 8+\n+- **Node.js** 18+ and **npm** 9+\n - **Git** for version control\n - **TypeScript** knowledge (the project is written in TypeScript)\n \n@@ -14,28 +14,28 @@ We welcome contributions to DreadCabinet! This guide will help you get started w\n \n 1. **Fork and clone the repository**:\n ```bash\n- git clone https://github.com/SemicolonAmbulance/dreadcabinet.git\n+ git clone https://github.com/utilarium/dreadcabinet.git\n cd dreadcabinet\n ```\n \n 2. **Install dependencies**:\n ```bash\n- pnpm install\n+ npm install\n ```\n \n 3. **Build the project**:\n ```bash\n- pnpm run build\n+ npm run build\n ```\n \n 4. **Run tests**:\n ```bash\n- pnpm run test\n+ npm test\n ```\n \n 5. **Start development mode**:\n ```bash\n- pnpm run dev\n+ npm run dev\n ```\n \n ### Project Structure\n@@ -81,16 +81,16 @@ Run the full test suite:\n \n ```bash\n # Run tests with coverage\n-pnpm run test\n+npm test\n \n # Run tests in watch mode during development\n-pnpm run test:watch\n+npm test --watch\n \n # Run linting\n-pnpm run lint\n+npm run lint\n \n # Fix linting issues automatically\n-pnpm run lint:fix\n+npm run lint:fix\n ```\n \n ### 4. Update Documentation\n@@ -259,7 +259,7 @@ Help improve test coverage:\n ### Before Submitting\n \n - [ ] Tests pass locally\n-- [ ] Code is properly formatted (`pnpm run lint:fix`)\n+- [ ] Code is properly formatted (`npm run lint:fix`)\n - [ ] Documentation is updated\n - [ ] Commit messages follow conventional format\n - [ ] Branch is up to date with main\ndiff --git a/docs/public/faq.md b/docs/public/faq.md\nindex 745f055..c52a15b 100644\n--- a/docs/public/faq.md\n+++ b/docs/public/faq.md\n@@ -278,7 +278,7 @@ Check these common issues:\n \n ### How do I report bugs or request features?\n \n-1. Check the [GitHub issues](https://github.com/SemicolonAmbulance/dreadcabinet/issues) for existing reports\n+1. Check the [GitHub issues](https://github.com/utilarium/dreadcabinet/issues) for existing reports\n 2. Create a new issue with:\n - Clear description of the problem or feature request\n - Code examples demonstrating the issue\ndiff --git a/docs/src/App.tsx b/docs/src/App.tsx\nindex 695c68c..36817d3 100644\n--- a/docs/src/App.tsx\n+++ b/docs/src/App.tsx\n@@ -137,7 +137,7 @@ function App() {\n </div>\n <p className=\"subtitle\">Organize Your Digital Chaos</p>\n <div className=\"header-links\">\n- <a href=\"https://github.com/SemicolonAmbulance/dreadcabinet\" target=\"_blank\" rel=\"noopener noreferrer\">\n+ <a href=\"https://github.com/utilarium/dreadcabinet\" target=\"_blank\" rel=\"noopener noreferrer\">\n GitHub\n </a>\n <a href=\"https://www.npmjs.com/package/@theunwalked/dreadcabinet\" target=\"_blank\" rel=\"noopener noreferrer\">\n@@ -178,8 +178,8 @@ function App() {\n <div className=\"footer-content\">\n <p>\n Built with ❤️ by{' '}\n- <a href=\"https://github.com/SemicolonAmbulance\" target=\"_blank\" rel=\"noopener noreferrer\">\n- Semicolon Ambulance\n+ <a href=\"https://github.com/tobrien\" target=\"_blank\" rel=\"noopener noreferrer\">\n+ Tim O'Brien\n </a>\n </p>\n <p className=\"license\">Licensed under Apache-2.0</p>\ndiff --git a/guide/architecture.md b/guide/architecture.md\nnew file mode 100644\nindex 0000000..38cb2e1\n--- /dev/null\n+++ b/guide/architecture.md\n@@ -0,0 +1,60 @@\n+# Architecture\n+\n+**Purpose**: High-level overview of the internal design of `dreadcabinet`.\n+\n+## Module Structure\n+\n+The project is organized into distinct logical modules:\n+\n+* **`src/dreadcabinet.ts`**: Main entry point. Exports the `create` factory, types, schemas, and constants.\n+* **`src/configure.ts`**: Handles Commander.js integration and CLI option configuration based on enabled features.\n+* **`src/read.ts`**: Reads CLI arguments and converts them to partial configuration.\n+* **`src/defaults.ts`**: Applies default values to partial configuration based on enabled features.\n+* **`src/validate.ts`**: Validates final configuration against allowed options using Zod.\n+* **`src/operate.ts`**: Creates the Operator interface for file processing.\n+* **`src/output.ts`**: Constructs output directory paths and filenames based on dates and structure.\n+* **`src/input/`**:\n+ * **`input.ts`**: Factory for input processing.\n+ * **`process.ts`**: Core file iteration logic with concurrency support.\n+ * **`structured.ts`**: Handles structured input (date-organized directories).\n+ * **`unstructured.ts`**: Handles flat/recursive input directories.\n+* **`src/util/`**:\n+ * **`dates.ts`**: Date formatting and timezone handling using dayjs.\n+ * **`storage.ts`**: Abstracted filesystem operations.\n+* **`src/error/`**: Custom error types (`ArgumentError`).\n+* **`src/constants.ts`**: Default values, date formats, and allowed options.\n+* **`src/logger.ts`**: Logger wrapper for consistent logging interface.\n+\n+## Data Flow\n+\n+1. **Initialization**: User calls `create()` with defaults, allowed options, and features.\n+2. **Configuration**: `configure()` adds CLI flags to Commander based on enabled features.\n+3. **Read Phase**: `read()` extracts values from CLI arguments.\n+4. **Defaults Phase**: `applyDefaults()` fills in missing values from defaults.\n+5. **Validation Phase**: `validate()` checks config against allowed values.\n+6. **Operation Phase**: `operate()` creates an Operator with:\n+ * `process(callback)`: Iterates over input files, calling callback for each.\n+ * `constructFilename()`: Generates output filenames.\n+ * `constructOutputDirectory()`: Creates date-based directory paths.\n+\n+## Key Types\n+\n+```typescript\n+// Filesystem structure options\n+type FilesystemStructure = 'none' | 'year' | 'month' | 'day';\n+\n+// Filename components\n+type FilenameOption = 'date' | 'time' | 'subject';\n+\n+// Feature flags control which CLI options are added\n+type Feature = 'input' | 'output' | 'structured-output' | 'structured-input' | 'extensions';\n+```\n+\n+## Design Decisions\n+\n+* **Feature Flags**: CLI options are conditionally added based on `features` array. This allows building focused tools without exposing irrelevant options.\n+* **Non-Destructive**: The library only reads from input and writes to output. Original files are never modified or deleted.\n+* **Timezone-Aware**: All date operations go through `dayjs` with timezone support for consistent cross-timezone behavior.\n+* **Callback Pattern**: The `process()` method uses a callback pattern, giving consumers full control over what happens to each file.\n+* **Testability**: The `storage` module abstracts filesystem calls for easy mocking.\n+\ndiff --git a/guide/configuration.md b/guide/configuration.md\nnew file mode 100644\nindex 0000000..3680b16\n--- /dev/null\n+++ b/guide/configuration.md\n@@ -0,0 +1,132 @@\n+# Configuration Reference\n+\n+**Purpose**: Detailed guide on configuring `dreadcabinet` instances and understanding available options.\n+\n+## Instance Configuration (`create`)\n+\n+The `create` function accepts an options object that controls behavior:\n+\n+### Options\n+\n+| Option | Type | Required | Description |\n+| :--- | :--- | :--- | :--- |\n+| `defaults` | `DefaultOptions` | No | Default values for configuration. |\n+| `allowed` | `AllowedOptions` | No | Restrict valid values for options. |\n+| `features` | `Feature[]` | No | Array of enabled features. |\n+| `addDefaults` | `boolean` | No | Whether to add defaults to CLI help text. |\n+| `logger` | `Logger` | No | Custom logger implementation. |\n+\n+### Default Options\n+\n+```typescript\n+interface DefaultOptions {\n+ timezone?: string; // Default: 'Etc/UTC'\n+ recursive?: boolean; // Default: false\n+ inputDirectory?: string; // Default: './'\n+ inputStructure?: FilesystemStructure; // Default: 'month'\n+ inputFilenameOptions?: FilenameOption[]; // Default: ['date', 'subject']\n+ outputDirectory?: string; // Default: './'\n+ outputStructure?: FilesystemStructure; // Default: 'month'\n+ outputFilenameOptions?: FilenameOption[];// Default: ['date', 'subject']\n+ extensions?: string[]; // Default: ['md']\n+ startDate?: string; // Optional date filter\n+ endDate?: string; // Optional date filter\n+ limit?: number; // Limit files processed\n+ concurrency?: number; // Default: 1\n+}\n+```\n+\n+### Allowed Options\n+\n+Restrict which values users can specify:\n+\n+```typescript\n+interface AllowedOptions {\n+ inputStructures?: FilesystemStructure[]; // Default: ['none', 'year', 'month', 'day']\n+ inputFilenameOptions?: FilenameOption[]; // Default: ['date', 'time', 'subject']\n+ outputStructures?: FilesystemStructure[]; // Default: ['none', 'year', 'month', 'day']\n+ outputFilenameOptions?: FilenameOption[]; // Default: ['date', 'time', 'subject']\n+ extensions?: string[]; // Default: ['md', 'txt']\n+}\n+```\n+\n+## Features\n+\n+Features control which CLI options are exposed:\n+\n+| Feature | CLI Options Added |\n+| :--- | :--- |\n+| `input` | `-r/--recursive`, `-i/--input-directory`, `--limit`, `--concurrency` |\n+| `output` | `-o/--output-directory` |\n+| `structured-output` | `--output-structure`, `--output-filename-options` |\n+| `structured-input` | `--input-structure`, `--input-filename-options`, `--start`, `--end` |\n+| `extensions` | `--extensions` |\n+\n+Default features: `['output', 'structured-output', 'input', 'extensions']`\n+\n+## Filesystem Structures\n+\n+Controls how files are organized into directories:\n+\n+| Structure | Directory Pattern | Example |\n+| :--- | :--- | :--- |\n+| `none` | Flat | `./output/` |\n+| `year` | By year | `./output/2025/` |\n+| `month` | By year/month | `./output/2025/1/` |\n+| `day` | By year/month/day | `./output/2025/1/15/` |\n+\n+## Filename Options\n+\n+Controls components included in generated filenames:\n+\n+| Option | Description | Example Component |\n+| :--- | :--- | :--- |\n+| `date` | Include date (format depends on structure) | `1-15` (if month structure) |\n+| `time` | Include time (HHmm format) | `1430` |\n+| `subject` | Include sanitized subject | `meeting_notes` |\n+\n+Example filename with `['date', 'time', 'subject']`: `1-15-1430-abc123-md-meeting_notes`\n+\n+## Example Configurations\n+\n+### Simple File Organizer\n+\n+```typescript\n+const instance = DreadCabinet.create({\n+ defaults: {\n+ inputDirectory: './inbox',\n+ outputDirectory: './archive',\n+ outputStructure: 'month',\n+ extensions: ['md', 'txt'],\n+ },\n+ features: ['input', 'output', 'structured-output', 'extensions']\n+});\n+```\n+\n+### High-Performance Batch Processor\n+\n+```typescript\n+const instance = DreadCabinet.create({\n+ defaults: {\n+ concurrency: 10,\n+ recursive: true,\n+ extensions: ['jpg', 'png', 'gif'],\n+ },\n+ features: ['input', 'output', 'structured-output', 'extensions']\n+});\n+```\n+\n+### Date-Range Filter\n+\n+```typescript\n+const instance = DreadCabinet.create({\n+ defaults: {\n+ inputStructure: 'day',\n+ outputStructure: 'month',\n+ },\n+ features: ['input', 'output', 'structured-input', 'structured-output']\n+});\n+\n+// Then use --start and --end flags to filter\n+```\n+\ndiff --git a/guide/development.md b/guide/development.md\nnew file mode 100644\nindex 0000000..2e00676\n--- /dev/null\n+++ b/guide/development.md\n@@ -0,0 +1,110 @@\n+# Development Guide\n+\n+**Purpose**: Instructions for contributing to and developing `dreadcabinet`.\n+\n+## Setup\n+\n+1. **Clone Repository**: `git clone https://github.com/utilarium/dreadcabinet.git`\n+2. **Install Dependencies**: `npm install`\n+3. **Build**: `npm run build`\n+\n+## Testing\n+\n+We use **Vitest** for testing.\n+\n+* **Run All Tests**: `npm test`\n+* **Unit Tests Only**: `npm run test:coverage`\n+* **README Doc Tests**: `npm run test:readme` (requires build first)\n+\n+### Testing Strategy\n+\n+* **Unit Tests**: Located in `tests/`. We aim for high coverage.\n+ * `tests/input/`: Tests for input processing (structured/unstructured).\n+ * `tests/util/`: Tests for utilities (dates, storage).\n+ * `tests/error/`: Tests for custom error classes.\n+* **Doc Tests**: README code examples are tested via `doccident` to ensure they stay accurate.\n+* **Mocking**: We use `vi.mock` for filesystem operations to avoid side effects.\n+\n+### Running Tests\n+\n+```bash\n+# Full test suite (requires build)\n+npm run precommit\n+\n+# Just unit tests\n+npm run test:coverage\n+\n+# Watch mode during development\n+npx vitest\n+```\n+\n+## Linting & Formatting\n+\n+* **Lint**: `npm run lint`\n+* **Fix**: `npm run lint:fix`\n+\n+We use ESLint with strict TypeScript rules.\n+\n+## Build\n+\n+```bash\n+npm run build\n+```\n+\n+This runs lint, TypeScript type checking, and Vite build to produce:\n+- `dist/dreadcabinet.js` (ESM)\n+- `dist/dreadcabinet.cjs` (CommonJS)\n+- `dist/dreadcabinet.d.ts` (TypeScript declarations)\n+\n+## Project Structure\n+\n+```\n+src/\n+├── dreadcabinet.ts # Main entry, types, factory\n+├── configure.ts # CLI option setup\n+├── read.ts # CLI args parsing\n+├── defaults.ts # Default value application\n+├── validate.ts # Config validation\n+├── operate.ts # Operator factory\n+├── output.ts # Output path/filename generation\n+├── constants.ts # Defaults and allowed values\n+├── logger.ts # Logger wrapper\n+├── input/\n+│ ├── input.ts # Input factory\n+│ ├── process.ts # File iteration\n+│ ├── structured.ts # Date-organized input\n+│ └── unstructured.ts # Flat/recursive input\n+├── util/\n+│ ├── dates.ts # Date/timezone utilities\n+│ └── storage.ts # Filesystem abstraction\n+└── error/\n+ └── ArgumentError.ts # Custom error types\n+```\n+\n+## Adding Features\n+\n+1. **Feature Flag**: Add to `Feature` type in `dreadcabinet.ts`.\n+2. **CLI Options**: Add to `configure.ts` with feature check.\n+3. **Read**: Update `read.ts` to handle new arguments.\n+4. **Defaults**: Update `defaults.ts` for new default values.\n+5. **Validation**: Update `validate.ts` if new validation needed.\n+6. **Constants**: Add defaults to `constants.ts`.\n+7. **Tests**: Write tests for all new functionality.\n+8. **Documentation**: Update `guide/` and README.\n+\n+## Release Process\n+\n+1. Update version in `package.json`.\n+2. Run `npm run precommit` (build + all tests).\n+3. Commit and push to `working` branch.\n+4. Create PR to `main`.\n+5. After merge, create GitHub release to trigger npm publish.\n+\n+## Code Style\n+\n+* **TypeScript**: Strict mode enabled.\n+* **Exports**: Prefer named exports over default exports.\n+* **Async**: Use async/await consistently.\n+* **Errors**: Use custom error classes for specific error types.\n+* **Logging**: Use the logger interface, never `console.log` directly in library code.\n+\ndiff --git a/guide/index.md b/guide/index.md\nnew file mode 100644\nindex 0000000..70d1faa\n--- /dev/null\n+++ b/guide/index.md\n@@ -0,0 +1,62 @@\n+# AI Agent Guide: dreadcabinet\n+\n+**Role**: You are an AI assistant tasked with understanding, integrating, or extending `dreadcabinet` file organization capabilities in applications.\n+\n+**Goal**: Provide a comprehensive understanding of `dreadcabinet`'s capabilities, architecture, and usage patterns to facilitate correct implementation and extension.\n+\n+## Core Capabilities\n+\n+`dreadcabinet` is a file organization library for TypeScript/Node.js applications. It processes files from input directories and organizes them into structured output directories based on dates and metadata.\n+\n+* **Date-Based Organization**: Place files into folders by year, month, or day (or flat structure).\n+* **Flexible Filename Generation**: Include date, time, and subject in generated filenames.\n+* **Timezone Support**: Convert timestamps to specific timezones for consistent naming.\n+* **Concurrent Processing**: Process multiple files in parallel for improved performance.\n+* **Extension Filtering**: Restrict processing to specific file types.\n+* **Non-Destructive**: Original files remain untouched; only copies are created.\n+\n+## Quick Start Context\n+\n+When analyzing or generating code using `dreadcabinet`, keep these patterns in mind:\n+\n+1. **Create Instance**: Use `create()` with defaults and feature flags.\n+2. **Integrate CLI**: Use `.configure(program)` to bind to Commander.js.\n+3. **Read & Validate**: Use `.read()`, `.applyDefaults()`, and `.validate()`.\n+4. **Process Files**: Use the operator's `.process()` callback pattern.\n+\n+```typescript\n+import { Command } from 'commander';\n+import * as DreadCabinet from '@theunwalked/dreadcabinet';\n+\n+const instance = DreadCabinet.create({\n+ defaults: {\n+ timezone: 'America/New_York',\n+ extensions: ['md', 'txt'],\n+ outputStructure: 'month',\n+ outputDirectory: './organized',\n+ }\n+});\n+\n+const program = new Command();\n+await instance.configure(program);\n+program.parse();\n+\n+const config = await instance.read(program.opts());\n+const finalConfig = instance.applyDefaults(config);\n+await instance.validate(finalConfig);\n+\n+const operator = await instance.operate(finalConfig);\n+await operator.process(async (file) => {\n+ // Your file processing logic\n+});\n+```\n+\n+## Documentation Structure\n+\n+This guide directory contains specialized documentation for different aspects of the system:\n+\n+* [Configuration](./configuration.md): Deep dive into configuration options, features, and defaults.\n+* [Usage Patterns](./usage.md): Common patterns for CLI integration and file processing.\n+* [Architecture](./architecture.md): Internal design, module structure, and data flow.\n+* [Development](./development.md): Guide for contributing to `dreadcabinet` itself.\n+\ndiff --git a/guide/usage.md b/guide/usage.md\nnew file mode 100644\nindex 0000000..aea54f9\n--- /dev/null\n+++ b/guide/usage.md\n@@ -0,0 +1,166 @@\n+# Usage Patterns\n+\n+**Purpose**: Common patterns for integrating `dreadcabinet` into applications.\n+\n+## CLI Integration (Commander.js)\n+\n+`dreadcabinet` is designed to work seamlessly with `commander`.\n+\n+```typescript\n+import { Command } from 'commander';\n+import * as DreadCabinet from '@theunwalked/dreadcabinet';\n+\n+// 1. Create instance with your defaults\n+const manager = DreadCabinet.create({\n+ defaults: {\n+ timezone: 'America/New_York',\n+ outputStructure: 'month',\n+ }\n+});\n+\n+// 2. Setup Commander\n+const program = new Command();\n+program.name('my-organizer').version('1.0.0');\n+\n+// 3. Configure (adds CLI options based on features)\n+await manager.configure(program);\n+\n+// 4. Parse CLI args\n+program.parse();\n+const options = program.opts();\n+\n+// 5. Read, apply defaults, validate\n+const config = await manager.read(options);\n+const finalConfig = manager.applyDefaults(config);\n+await manager.validate(finalConfig);\n+\n+// 6. Process files\n+const operator = await manager.operate(finalConfig);\n+await operator.process(async (file) => {\n+ console.log(`Processing: ${file}`);\n+});\n+```\n+\n+## File Processing Patterns\n+\n+### Basic File Copy\n+\n+```typescript\n+import fs from 'fs/promises';\n+import path from 'path';\n+\n+await operator.process(async (file) => {\n+ const createDate = new Date(); // Or extract from file metadata\n+ const hash = crypto.randomBytes(4).toString('hex');\n+ const ext = path.extname(file).slice(1);\n+ \n+ const outputDir = await operator.constructOutputDirectory(createDate);\n+ const filename = await operator.constructFilename(createDate, ext, hash, {\n+ subject: path.basename(file, path.extname(file))\n+ });\n+ \n+ const outputPath = path.join(outputDir, `${filename}.${ext}`);\n+ await fs.copyFile(file, outputPath);\n+});\n+```\n+\n+### With Transformation\n+\n+```typescript\n+await operator.process(async (file) => {\n+ // Read and transform content\n+ const content = await fs.readFile(file, 'utf-8');\n+ const transformed = processContent(content);\n+ \n+ // Generate output location\n+ const createDate = extractDateFromContent(content);\n+ const outputDir = await operator.constructOutputDirectory(createDate);\n+ const filename = await operator.constructFilename(createDate, 'md', hash);\n+ \n+ // Write transformed content\n+ await fs.writeFile(path.join(outputDir, `${filename}.md`), transformed);\n+});\n+```\n+\n+### With Date Range Filtering\n+\n+When using `structured-input` feature, filter files by date:\n+\n+```typescript\n+await operator.process(\n+ async (file, date) => {\n+ console.log(`File: ${file}, Date: ${date}`);\n+ },\n+ {\n+ start: new Date('2025-01-01'),\n+ end: new Date('2025-01-31')\n+ }\n+);\n+```\n+\n+### Concurrent Processing\n+\n+Set concurrency for parallel processing:\n+\n+```typescript\n+const instance = DreadCabinet.create({\n+ defaults: {\n+ concurrency: 5, // Process 5 files simultaneously\n+ }\n+});\n+```\n+\n+Or via CLI: `--concurrency 5`\n+\n+## Custom Logger\n+\n+Provide your own logger for integration with existing logging systems:\n+\n+```typescript\n+import winston from 'winston';\n+\n+const winstonLogger = winston.createLogger({ /* ... */ });\n+\n+const instance = DreadCabinet.create({\n+ logger: {\n+ debug: (msg, ...args) => winstonLogger.debug(msg, ...args),\n+ info: (msg, ...args) => winstonLogger.info(msg, ...args),\n+ warn: (msg, ...args) => winstonLogger.warn(msg, ...args),\n+ error: (msg, ...args) => winstonLogger.error(msg, ...args),\n+ verbose: (msg, ...args) => winstonLogger.verbose(msg, ...args),\n+ silly: (msg, ...args) => winstonLogger.silly(msg, ...args),\n+ }\n+});\n+```\n+\n+Or set it after creation:\n+\n+```typescript\n+instance.setLogger(myLogger);\n+```\n+\n+## Restricting Options\n+\n+Limit what users can specify via CLI:\n+\n+```typescript\n+const instance = DreadCabinet.create({\n+ allowed: {\n+ extensions: ['md'], // Only markdown files\n+ outputStructures: ['month', 'day'], // No 'none' or 'year'\n+ }\n+});\n+```\n+\n+Validation will fail if users try to use disallowed values.\n+\n+## Hiding Defaults in Help\n+\n+By default, CLI help shows default values. To hide them (useful for dynamic defaults):\n+\n+```typescript\n+const instance = DreadCabinet.create({\n+ addDefaults: false, // Defaults shown as \"(default: value)\" in description\n+});\n+```\n+\ndiff --git a/package.json b/package.json\n... [CHANGE OMITTED: File too large (5046 bytes > 5000 limit)] ...\n\ndiff --git a/pnpm-lock.yaml b/pnpm-lock.yaml\n... [CHANGE OMITTED: File too large (201252 bytes > 5000 limit)] ...\n\ndiff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml\ndeleted file mode 100644\nindex 0967ef4..0000000\n--- a/pnpm-workspace.yaml\n+++ /dev/null\n@@ -1 +0,0 @@\n-{}\ndiff --git a/src/.DS_Store b/src/.DS_Store\nnew file mode 100644\nindex 0000000..5438e14\nBinary files /dev/null and b/src/.DS_Store differ\ndiff --git a/tests/.DS_Store b/tests/.DS_Store\nnew file mode 100644\nindex 0000000..30800e4\nBinary files /dev/null and b/tests/.DS_Store differ\n\n\n[SUMMARY: 3 files omitted due to size limits. Original diff: 353132 bytes, processed diff: 32420 bytes]\n\nAnalyze these changes and write clear release notes. Consider:\n- What's the main story of this release?\n- What problems does it solve?\n- What's the impact on users and developers?\n- Are there breaking changes?\n\nIf context information is provided, use it only if relevant to this specific package.\nDon't force connections that don't exist - if context describes changes in other packages\nor unrelated features, simply ignore it and focus on what actually changed in this release.\n\nInvestigate as needed to write accurate, helpful release notes."
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"role": "assistant",
|
|
83
|
+
"content": null,
|
|
84
|
+
"tool_calls": [
|
|
85
|
+
{
|
|
86
|
+
"id": "call_9iED8k66vS69U7eawShihyuF",
|
|
87
|
+
"type": "function",
|
|
88
|
+
"function": {
|
|
89
|
+
"name": "get_release_stats",
|
|
90
|
+
"arguments": "{\"fromRef\": \"main\", \"toRef\": \"HEAD\"}"
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"id": "call_CCB5BXypxI0NOSno9f9Pqclm",
|
|
95
|
+
"type": "function",
|
|
96
|
+
"function": {
|
|
97
|
+
"name": "get_breaking_changes",
|
|
98
|
+
"arguments": "{\"fromRef\": \"main\", \"toRef\": \"HEAD\"}"
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"id": "call_Jy2ZV3WDr1B0aL8C18Ey91bk",
|
|
103
|
+
"type": "function",
|
|
104
|
+
"function": {
|
|
105
|
+
"name": "analyze_commit_patterns",
|
|
106
|
+
"arguments": "{\"fromRef\": \"main\", \"toRef\": \"HEAD\"}"
|
|
107
|
+
}
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
"id": "call_x68GXQr4WHLYj5rlZDyEPyxX",
|
|
111
|
+
"type": "function",
|
|
112
|
+
"function": {
|
|
113
|
+
"name": "search_codebase",
|
|
114
|
+
"arguments": "{\"query\": \"pnpm\", \"contextLines\": 2}"
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"id": "call_8At3xxbELUuueSq1fGpfeDie",
|
|
119
|
+
"type": "function",
|
|
120
|
+
"function": {
|
|
121
|
+
"name": "get_file_content",
|
|
122
|
+
"arguments": "{\"filePath\": \"package.json\", \"includeLineNumbers\": false}"
|
|
123
|
+
}
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
"id": "call_LXQffroo0ntmfbvawVbjd9yk",
|
|
127
|
+
"type": "function",
|
|
128
|
+
"function": {
|
|
129
|
+
"name": "get_file_content",
|
|
130
|
+
"arguments": "{\"filePath\": \".github/workflows/test.yml\", \"includeLineNumbers\": false}"
|
|
131
|
+
}
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
"id": "call_5kjDQHQdAWTNBYcWf2EMohYO",
|
|
135
|
+
"type": "function",
|
|
136
|
+
"function": {
|
|
137
|
+
"name": "get_file_content",
|
|
138
|
+
"arguments": "{\"filePath\": \".github/workflows/deploy-docs.yml\", \"includeLineNumbers\": false}"
|
|
139
|
+
}
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"id": "call_cFQ0cRHrpzvV7FdLVSD3cnQk",
|
|
143
|
+
"type": "function",
|
|
144
|
+
"function": {
|
|
145
|
+
"name": "get_file_content",
|
|
146
|
+
"arguments": "{\"filePath\": \".github/workflows/npm-publish.yml\", \"includeLineNumbers\": false}"
|
|
147
|
+
}
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
"id": "call_Qy2U1xaem08DHK5nEDHWfC1R",
|
|
151
|
+
"type": "function",
|
|
152
|
+
"function": {
|
|
153
|
+
"name": "get_file_content",
|
|
154
|
+
"arguments": "{\"filePath\": \".github/workflows/dependency-review.yml\", \"includeLineNumbers\": false}"
|
|
155
|
+
}
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
"id": "call_eEyhT02LjeYgIPc3TUUGKjAp",
|
|
159
|
+
"type": "function",
|
|
160
|
+
"function": {
|
|
161
|
+
"name": "get_file_content",
|
|
162
|
+
"arguments": "{\"filePath\": \"package-lock.json\", \"includeLineNumbers\": false}"
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
]
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
"role": "tool",
|
|
169
|
+
"tool_call_id": "call_9iED8k66vS69U7eawShihyuF",
|
|
170
|
+
"content": "Total commits: 4\n\nContributors:\n 4\tTim O'Brien\n\n\nFile changes: 23 files changed, 8440 insertions(+), 9345 deletions(-)\n\nTop 10 most changed files:\n tests/.DS_Store | Bin 0 -> 6148 bytes\n src/.DS_Store | Bin 0 -> 6148 bytes\n README.md | 19 +-\n pnpm-workspace.yaml | 1 -\n pnpm-lock.yaml | 5785 -----------------------\n package.json | 147 +-\n package-lock.json | 7729 +++++++++++++++++++++++++++++++\n LICENSE | 2 +-\n guide/usage.md | 166 +\n guide/index.md | 62 +\n",
|
|
171
|
+
"name": "get_release_stats"
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
"role": "tool",
|
|
175
|
+
"tool_call_id": "call_CCB5BXypxI0NOSno9f9Pqclm",
|
|
176
|
+
"content": "No obvious breaking changes detected. Manual review recommended for API changes.",
|
|
177
|
+
"name": "get_breaking_changes"
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
"role": "tool",
|
|
181
|
+
"tool_call_id": "call_Jy2ZV3WDr1B0aL8C18Ey91bk",
|
|
182
|
+
"content": "Commit types:\n chore: 3\n SUGGESTED_SPLITS: 1\n\nTop keywords in commits:\n github: 4\n workflows: 4\n publish: 4\n chore: 3\n release: 2\n package: 2\n refresh: 2\n metadata: 2\n dependency: 2\n review: 2\n changes: 2\n version: 1\n after: 1\n install: 1\n standardize: 1",
|
|
183
|
+
"name": "analyze_commit_patterns"
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
"role": "tool",
|
|
187
|
+
"tool_call_id": "call_x68GXQr4WHLYj5rlZDyEPyxX",
|
|
188
|
+
"content": "docs/.gitignore-5-yarn-debug.log*\ndocs/.gitignore-6-yarn-error.log*\ndocs/.gitignore:7:pnpm-debug.log*\ndocs/.gitignore-8-lerna-debug.log*\ndocs/.gitignore-9-\n",
|
|
189
|
+
"name": "search_codebase"
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
"role": "tool",
|
|
193
|
+
"tool_call_id": "call_8At3xxbELUuueSq1fGpfeDie",
|
|
194
|
+
"content": "{\n \"name\": \"@theunwalked/dreadcabinet\",\n \"version\": \"0.0.11\",\n \"description\": \"dreadcabinet organizes the chaos.\",\n \"main\": \"dist/dreadcabinet.cjs\",\n \"module\": \"dist/dreadcabinet.js\",\n \"type\": \"module\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/utilarium/dreadcabinet.git\"\n },\n \"homepage\": \"https://utilarium.github.io/dreadcabinet/\",\n \"exports\": {\n \".\": {\n \"types\": \"./dist/dreadcabinet.d.ts\",\n \"import\": \"./dist/dreadcabinet.js\",\n \"require\": \"./dist/dreadcabinet.cjs\"\n }\n },\n \"scripts\": {\n \"build\": \"npm run lint && tsc --noEmit && vite build\",\n \"start\": \"dist/main.js\",\n \"dev\": \"vite build --watch\",\n \"watch\": \"npm run dev\",\n \"test\": \"npm run test:coverage && npm run test:readme\",\n \"test:coverage\": \"vitest run --coverage\",\n \"test:readme\": \"doccident -c .markdown-doctest-setup.mjs README.md\",\n \"lint\": \"eslint . --ext .ts\",\n \"lint:fix\": \"eslint . --ext .ts --fix\",\n \"precommit\": \"npm run build && npm run test\",\n \"clean\": \"rm -rf dist\",\n \"prepublishOnly\": \"npm run clean && npm run build\"\n },\n \"keywords\": [\n \"focus\",\n \"productivity\",\n \"notes\",\n \"genai\"\n ],\n \"author\": \"Tim O'Brien <tobrien@discursive.com>\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"commander\": \"^14.0.0\",\n \"dayjs\": \"^1.11.13\",\n \"glob\": \"^11.0.3\",\n \"zod\": \"^4.0.2\"\n },\n \"devDependencies\": {\n \"@babel/core\": \"^7.28.0\",\n \"@babel/plugin-transform-modules-commonjs\": \"^7.27.1\",\n \"@babel/plugin-transform-typescript\": \"^7.28.0\",\n \"@babel/preset-typescript\": \"^7.27.1\",\n \"@doccident/doccident\": \"^0.0.7\",\n \"@eslint/eslintrc\": \"^3.3.1\",\n \"@eslint/js\": \"^9.30.1\",\n \"@rollup/plugin-replace\": \"^6.0.2\",\n \"@swc/core\": \"^1.12.11\",\n \"@theunwalked/cardigantime\": \"^0.0.16\",\n \"@types/node\": \"^24.0.12\",\n \"@typescript-eslint/eslint-plugin\": \"^8.36.0\",\n \"@typescript-eslint/parser\": \"^8.36.0\",\n \"@vitest/coverage-v8\": \"^3.2.4\",\n \"eslint\": \"^9.30.1\",\n \"eslint-plugin-import\": \"^2.32.0\",\n \"globals\": \"^16.3.0\",\n \"mockdate\": \"^3.0.5\",\n \"typescript\": \"^5.8.3\",\n \"vite\": \"^7.0.4\",\n \"vite-plugin-dts\": \"^4.5.4\",\n \"vite-plugin-node\": \"^7.0.0\",\n \"vitest\": \"^3.2.4\"\n },\n \"overrides\": {\n \"wrap-ansi\": \"7.0.0\"\n }\n}\n",
|
|
195
|
+
"name": "get_file_content"
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
"role": "tool",
|
|
199
|
+
"tool_call_id": "call_LXQffroo0ntmfbvawVbjd9yk",
|
|
200
|
+
"content": "name: Run Tests\n\non:\n pull_request:\n branches:\n - main\n - working\n\npermissions:\n contents: read\n statuses: write\n\njobs:\n test:\n runs-on: ubuntu-latest\n steps:\n - uses: actions/checkout@v4\n - uses: actions/setup-node@v4\n with:\n node-version: 22\n - run: npm ci\n - run: npm run lint\n - run: npm run build\n - run: npm test\n - uses: codecov/codecov-action@v5\n with:\n slug: theunwalked/dreadcabinet\n token: ${{ secrets.CODECOV_TOKEN }}\n",
|
|
201
|
+
"name": "get_file_content"
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
"role": "tool",
|
|
205
|
+
"tool_call_id": "call_5kjDQHQdAWTNBYcWf2EMohYO",
|
|
206
|
+
"content": "name: Deploy Documentation to GitHub Pages\n\non:\n push:\n branches: [ main ]\n # Allow manual triggering\n workflow_dispatch:\n\n# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages\npermissions:\n contents: read\n pages: write\n id-token: write\n\n# Allow only one concurrent deployment\nconcurrency:\n group: \"pages\"\n cancel-in-progress: false\n\njobs:\n # Build job\n build:\n runs-on: ubuntu-latest\n steps:\n - name: Checkout\n uses: actions/checkout@v4\n \n - name: Setup Node.js\n uses: actions/setup-node@v4\n with:\n node-version: 22\n \n - name: Install dependencies\n run: npm ci\n \n - name: Build library\n run: npm run build\n \n - name: Setup Pages\n uses: actions/configure-pages@v5\n \n - name: Build documentation site\n run: |\n # Change to docs directory and install dependencies\n cd docs\n npm ci\n \n # Copy README.md to public directory so it can be fetched\n cp ../README.md public/\n \n # Build the Vite documentation site\n npm run build\n \n - name: Upload artifact\n uses: actions/upload-pages-artifact@v3\n with:\n path: ./docs/dist\n\n # Deployment job\n deploy:\n environment:\n name: github-pages\n url: ${{ steps.deployment.outputs.page_url }}\n runs-on: ubuntu-latest\n needs: build\n steps:\n - name: Deploy to GitHub Pages\n id: deployment\n uses: actions/deploy-pages@v4 ",
|
|
207
|
+
"name": "get_file_content"
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
"role": "tool",
|
|
211
|
+
"tool_call_id": "call_cFQ0cRHrpzvV7FdLVSD3cnQk",
|
|
212
|
+
"content": "# This workflow will run tests using node and then publish a package to GitHub Packages when a release is created\n# For more information see: https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages\n\nname: Node.js Package (npm)\n\non:\n release:\n types: [created]\n\npermissions:\n contents: write\n packages: write\n id-token: write\n\njobs:\n publish-npm:\n runs-on: ubuntu-latest\n timeout-minutes: 15\n steps:\n - uses: actions/checkout@v4\n - uses: actions/setup-node@v4\n with:\n node-version: 22\n registry-url: https://registry.npmjs.org/\n - name: Update npm\n run: npm install -g npm@latest\n - name: Install dependencies\n run: npm ci --verbose --foreground-scripts\n timeout-minutes: 10\n - run: npm publish --access public\n env:\n NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}\n\n",
|
|
213
|
+
"name": "get_file_content"
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
"role": "tool",
|
|
217
|
+
"tool_call_id": "call_Qy2U1xaem08DHK5nEDHWfC1R",
|
|
218
|
+
"content": "# Dependency Review Action\n#\n# This Action will scan dependency manifest files that change as part of a Pull Request,\n# surfacing known-vulnerable versions of the packages declared or updated in the PR.\n# Once installed, if the workflow run is marked as required, PRs introducing known-vulnerable\n# packages will be blocked from merging.\n#\n# Source repository: https://github.com/actions/dependency-review-action\n# Public documentation: https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review#dependency-review-enforcement\nname: 'Dependency review'\non:\n push:\n branches: [ \"working\" ]\n pull_request:\n branches: [ \"main\", \"working\" ]\n\n# If using a dependency submission action in this workflow this permission will need to be set to:\n#\n# permissions:\n# contents: write\n#\n# https://docs.github.com/en/enterprise-cloud@latest/code-security/supply-chain-security/understanding-your-software-supply-chain/using-the-dependency-submission-api\npermissions:\n contents: read\n # Write permissions for pull-requests are required for using the `comment-summary-in-pr` option, comment out if you aren't using this option\n pull-requests: write\n\njobs:\n dependency-review:\n runs-on: ubuntu-latest\n steps:\n - name: 'Checkout repository'\n uses: actions/checkout@v4\n - name: 'Dependency Review'\n uses: actions/dependency-review-action@v4\n # Commonly enabled options, see https://github.com/actions/dependency-review-action#configuration-options for all available options.\n with:\n comment-summary-in-pr: always\n # fail-on-severity: moderate\n # deny-licenses: GPL-1.0-or-later, LGPL-2.0-or-later\n # retry-on-snapshot-warnings: true\n",
|
|
219
|
+
"name": "get_file_content"
|
|
220
|
+
},
|
|
221
|
+
{
|
|
222
|
+
"role": "tool",
|
|
223
|
+
"tool_call_id": "call_eEyhT02LjeYgIPc3TUUGKjAp",
|
|
224
|
+
"content": "{\n \"name\": \"@theunwalked/dreadcabinet\",\n \"version\": \"0.0.10\",\n \"lockfileVersion\": 3,\n \"requires\": true,\n \"packages\": {\n \"\": {\n \"name\": \"@theunwalked/dreadcabinet\",\n \"version\": \"0.0.10\",\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"commander\": \"^14.0.0\",\n \"dayjs\": \"^1.11.13\",\n \"glob\": \"^11.0.3\",\n \"zod\": \"^4.0.2\"\n },\n \"devDependencies\": {\n \"@babel/core\": \"^7.28.0\",\n \"@babel/plugin-transform-modules-commonjs\": \"^7.27.1\",\n \"@babel/plugin-transform-typescript\": \"^7.28.0\",\n \"@babel/preset-typescript\": \"^7.27.1\",\n \"@doccident/doccident\": \"^0.0.7\",\n \"@eslint/eslintrc\": \"^3.3.1\",\n \"@eslint/js\": \"^9.30.1\",\n \"@rollup/plugin-replace\": \"^6.0.2\",\n \"@swc/core\": \"^1.12.11\",\n \"@theunwalked/cardigantime\": \"^0.0.16\",\n \"@types/node\": \"^24.0.12\",\n \"@typescript-eslint/eslint-plugin\": \"^8.36.0\",\n \"@typescript-eslint/parser\": \"^8.36.0\",\n \"@vitest/coverage-v8\": \"^3.2.4\",\n \"eslint\": \"^9.30.1\",\n \"eslint-plugin-import\": \"^2.32.0\",\n \"globals\": \"^16.3.0\",\n \"mockdate\": \"^3.0.5\",\n \"typescript\": \"^5.8.3\",\n \"vite\": \"^7.0.4\",\n \"vite-plugin-dts\": \"^4.5.4\",\n \"vite-plugin-node\": \"^7.0.0\",\n \"vitest\": \"^3.2.4\"\n }\n },\n \"node_modules/@ampproject/remapping\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz\",\n \"integrity\": \"sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@jridgewell/gen-mapping\": \"^0.3.5\",\n \"@jridgewell/trace-mapping\": \"^0.3.24\"\n },\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/@babel/code-frame\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz\",\n \"integrity\": \"sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-validator-identifier\": \"^7.27.1\",\n \"js-tokens\": \"^4.0.0\",\n \"picocolors\": \"^1.1.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/compat-data\": {\n \"version\": \"7.28.5\",\n \"resolved\": \"https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.5.tgz\",\n \"integrity\": \"sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/core\": {\n \"version\": \"7.28.5\",\n \"resolved\": \"https://registry.npmjs.org/@babel/core/-/core-7.28.5.tgz\",\n \"integrity\": \"sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.27.1\",\n \"@babel/generator\": \"^7.28.5\",\n \"@babel/helper-compilation-targets\": \"^7.27.2\",\n \"@babel/helper-module-transforms\": \"^7.28.3\",\n \"@babel/helpers\": \"^7.28.4\",\n \"@babel/parser\": \"^7.28.5\",\n \"@babel/template\": \"^7.27.2\",\n \"@babel/traverse\": \"^7.28.5\",\n \"@babel/types\": \"^7.28.5\",\n \"@jridgewell/remapping\": \"^2.3.5\",\n \"convert-source-map\": \"^2.0.0\",\n \"debug\": \"^4.1.0\",\n \"gensync\": \"^1.0.0-beta.2\",\n \"json5\": \"^2.2.3\",\n \"semver\": \"^6.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/babel\"\n }\n },\n \"node_modules/@babel/generator\": {\n \"version\": \"7.28.5\",\n \"resolved\": \"https://registry.npmjs.org/@babel/generator/-/generator-7.28.5.tgz\",\n \"integrity\": \"sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/parser\": \"^7.28.5\",\n \"@babel/types\": \"^7.28.5\",\n \"@jridgewell/gen-mapping\": \"^0.3.12\",\n \"@jridgewell/trace-mapping\": \"^0.3.28\",\n \"jsesc\": \"^3.0.2\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-annotate-as-pure\": {\n \"version\": \"7.27.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz\",\n \"integrity\": \"sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.27.3\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-compilation-targets\": {\n \"version\": \"7.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz\",\n \"integrity\": \"sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/compat-data\": \"^7.27.2\",\n \"@babel/helper-validator-option\": \"^7.27.1\",\n \"browserslist\": \"^4.24.0\",\n \"lru-cache\": \"^5.1.1\",\n \"semver\": \"^6.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-create-class-features-plugin\": {\n \"version\": \"7.28.5\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.5.tgz\",\n \"integrity\": \"sha512-q3WC4JfdODypvxArsJQROfupPBq9+lMwjKq7C33GhbFYJsufD0yd/ziwD+hJucLeWsnFPWZjsU2DNFqBPE7jwQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-annotate-as-pure\": \"^7.27.3\",\n \"@babel/helper-member-expression-to-functions\": \"^7.28.5\",\n \"@babel/helper-optimise-call-expression\": \"^7.27.1\",\n \"@babel/helper-replace-supers\": \"^7.27.1\",\n \"@babel/helper-skip-transparent-expression-wrappers\": \"^7.27.1\",\n \"@babel/traverse\": \"^7.28.5\",\n \"semver\": \"^6.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0\"\n }\n },\n \"node_modules/@babel/helper-globals\": {\n \"version\": \"7.28.0\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz\",\n \"integrity\": \"sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-member-expression-to-functions\": {\n \"version\": \"7.28.5\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.28.5.tgz\",\n \"integrity\": \"sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/traverse\": \"^7.28.5\",\n \"@babel/types\": \"^7.28.5\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-module-imports\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz\",\n \"integrity\": \"sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/traverse\": \"^7.27.1\",\n \"@babel/types\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-module-transforms\": {\n \"version\": \"7.28.3\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz\",\n \"integrity\": \"sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-module-imports\": \"^7.27.1\",\n \"@babel/helper-validator-identifier\": \"^7.27.1\",\n \"@babel/traverse\": \"^7.28.3\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0\"\n }\n },\n \"node_modules/@babel/helper-optimise-call-expression\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz\",\n \"integrity\": \"sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-plugin-utils\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz\",\n \"integrity\": \"sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-replace-supers\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz\",\n \"integrity\": \"sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-member-expression-to-functions\": \"^7.27.1\",\n \"@babel/helper-optimise-call-expression\": \"^7.27.1\",\n \"@babel/traverse\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0\"\n }\n },\n \"node_modules/@babel/helper-skip-transparent-expression-wrappers\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz\",\n \"integrity\": \"sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/traverse\": \"^7.27.1\",\n \"@babel/types\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-string-parser\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz\",\n \"integrity\": \"sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-validator-identifier\": {\n \"version\": \"7.28.5\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz\",\n \"integrity\": \"sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helper-validator-option\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz\",\n \"integrity\": \"sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/helpers\": {\n \"version\": \"7.28.4\",\n \"resolved\": \"https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz\",\n \"integrity\": \"sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/template\": \"^7.27.2\",\n \"@babel/types\": \"^7.28.4\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/parser\": {\n \"version\": \"7.28.5\",\n \"resolved\": \"https://registry.npmjs.org/@babel/parser/-/parser-7.28.5.tgz\",\n \"integrity\": \"sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/types\": \"^7.28.5\"\n },\n \"bin\": {\n \"parser\": \"bin/babel-parser.js\"\n },\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/@babel/plugin-syntax-jsx\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz\",\n \"integrity\": \"sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-syntax-typescript\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.27.1.tgz\",\n \"integrity\": \"sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-modules-commonjs\": {\n \"version\": \"7.27.1\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz\",\n \"integrity\": \"sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-module-transforms\": \"^7.27.1\",\n \"@babel/helper-plugin-utils\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/plugin-transform-typescript\": {\n \"version\": \"7.28.5\",\n \"resolved\": \"https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.28.5.tgz\",\n \"integrity\": \"sha512-x2Qa+v/CuEoX7Dr31iAfr0IhInrVOWZU/2vJMJ00FOR/2nM0BcBEclpaf9sWCDc+v5e9dMrhSH8/atq/kX7+bA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-annotate-as-pure\": \"^7.27.3\",\n \"@babel/helper-create-class-features-plugin\": \"^7.28.5\",\n \"@babel/helper-plugin-utils\": \"^7.27.1\",\n \"@babel/helper-skip-transparent-expression-wrappers\": \"^7.27.1\",\n \"@babel/plugin-syntax-typescript\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/preset-typescript\": {\n \"version\": \"7.28.5\",\n \"resolved\": \"https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.28.5.tgz\",\n \"integrity\": \"sha512-+bQy5WOI2V6LJZpPVxY+yp66XdZ2yifu0Mc1aP5CQKgjn4QM5IN2i5fAZ4xKop47pr8rpVhiAeu+nDQa12C8+g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-plugin-utils\": \"^7.27.1\",\n \"@babel/helper-validator-option\": \"^7.27.1\",\n \"@babel/plugin-syntax-jsx\": \"^7.27.1\",\n \"@babel/plugin-transform-modules-commonjs\": \"^7.27.1\",\n \"@babel/plugin-transform-typescript\": \"^7.28.5\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n },\n \"peerDependencies\": {\n \"@babel/core\": \"^7.0.0-0\"\n }\n },\n \"node_modules/@babel/template\": {\n \"version\": \"7.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz\",\n \"integrity\": \"sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.27.1\",\n \"@babel/parser\": \"^7.27.2\",\n \"@babel/types\": \"^7.27.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/traverse\": {\n \"version\": \"7.28.5\",\n \"resolved\": \"https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.5.tgz\",\n \"integrity\": \"sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/code-frame\": \"^7.27.1\",\n \"@babel/generator\": \"^7.28.5\",\n \"@babel/helper-globals\": \"^7.28.0\",\n \"@babel/parser\": \"^7.28.5\",\n \"@babel/template\": \"^7.27.2\",\n \"@babel/types\": \"^7.28.5\",\n \"debug\": \"^4.3.1\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@babel/types\": {\n \"version\": \"7.28.5\",\n \"resolved\": \"https://registry.npmjs.org/@babel/types/-/types-7.28.5.tgz\",\n \"integrity\": \"sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/helper-string-parser\": \"^7.27.1\",\n \"@babel/helper-validator-identifier\": \"^7.28.5\"\n },\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/@bcoe/v8-coverage\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-1.0.2.tgz\",\n \"integrity\": \"sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@doccident/doccident\": {\n \"version\": \"0.0.7\",\n \"resolved\": \"https://registry.npmjs.org/@doccident/doccident/-/doccident-0.0.7.tgz\",\n \"integrity\": \"sha512-7X+5TH3bD6Xh6wtnrXoRmP3Chqayiun20HXrVB0tunD4IR1STb5TSLEEx6GFsDQygYoWckblKS5TG/uv9wcDRg==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"chalk\": \"^4.1.2\",\n \"commander\": \"^14.0.2\",\n \"esbuild\": \"^0.27.2\",\n \"fast-glob\": \"^3.3.3\",\n \"globals\": \"^16.1.0\"\n },\n \"bin\": {\n \"doccident\": \"bin/cmd.js\"\n }\n },\n \"node_modules/@esbuild/aix-ppc64\": {\n \"version\": \"0.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.2.tgz\",\n \"integrity\": \"sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"aix\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/android-arm\": {\n \"version\": \"0.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.2.tgz\",\n \"integrity\": \"sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/android-arm64\": {\n \"version\": \"0.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.2.tgz\",\n \"integrity\": \"sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/android-x64\": {\n \"version\": \"0.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.2.tgz\",\n \"integrity\": \"sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/darwin-arm64\": {\n \"version\": \"0.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.2.tgz\",\n \"integrity\": \"sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/darwin-x64\": {\n \"version\": \"0.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.2.tgz\",\n \"integrity\": \"sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/freebsd-arm64\": {\n \"version\": \"0.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.2.tgz\",\n \"integrity\": \"sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/freebsd-x64\": {\n \"version\": \"0.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.2.tgz\",\n \"integrity\": \"sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-arm\": {\n \"version\": \"0.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.2.tgz\",\n \"integrity\": \"sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-arm64\": {\n \"version\": \"0.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.2.tgz\",\n \"integrity\": \"sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-ia32\": {\n \"version\": \"0.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.2.tgz\",\n \"integrity\": \"sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-loong64\": {\n \"version\": \"0.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.2.tgz\",\n \"integrity\": \"sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-mips64el\": {\n \"version\": \"0.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.2.tgz\",\n \"integrity\": \"sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==\",\n \"cpu\": [\n \"mips64el\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-ppc64\": {\n \"version\": \"0.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.2.tgz\",\n \"integrity\": \"sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-riscv64\": {\n \"version\": \"0.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.2.tgz\",\n \"integrity\": \"sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-s390x\": {\n \"version\": \"0.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.2.tgz\",\n \"integrity\": \"sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/linux-x64\": {\n \"version\": \"0.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.2.tgz\",\n \"integrity\": \"sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/netbsd-arm64\": {\n \"version\": \"0.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.2.tgz\",\n \"integrity\": \"sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"netbsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/netbsd-x64\": {\n \"version\": \"0.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.2.tgz\",\n \"integrity\": \"sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"netbsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/openbsd-arm64\": {\n \"version\": \"0.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.2.tgz\",\n \"integrity\": \"sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openbsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/openbsd-x64\": {\n \"version\": \"0.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.2.tgz\",\n \"integrity\": \"sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openbsd\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/openharmony-arm64\": {\n \"version\": \"0.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.2.tgz\",\n \"integrity\": \"sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openharmony\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/sunos-x64\": {\n \"version\": \"0.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.2.tgz\",\n \"integrity\": \"sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"sunos\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/win32-arm64\": {\n \"version\": \"0.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.2.tgz\",\n \"integrity\": \"sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/win32-ia32\": {\n \"version\": \"0.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.2.tgz\",\n \"integrity\": \"sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@esbuild/win32-x64\": {\n \"version\": \"0.27.2\",\n \"resolved\": \"https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.2.tgz\",\n \"integrity\": \"sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/@eslint-community/eslint-utils\": {\n \"version\": \"4.9.1\",\n \"resolved\": \"https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz\",\n \"integrity\": \"sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"eslint-visitor-keys\": \"^3.4.3\"\n },\n \"engines\": {\n \"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/eslint\"\n },\n \"peerDependencies\": {\n \"eslint\": \"^6.0.0 || ^7.0.0 || >=8.0.0\"\n }\n },\n \"node_modules/@eslint-community/regexpp\": {\n \"version\": \"4.12.2\",\n \"resolved\": \"https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz\",\n \"integrity\": \"sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^12.0.0 || ^14.0.0 || >=16.0.0\"\n }\n },\n \"node_modules/@eslint/config-array\": {\n \"version\": \"0.21.1\",\n \"resolved\": \"https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz\",\n \"integrity\": \"sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@eslint/object-schema\": \"^2.1.7\",\n \"debug\": \"^4.3.1\",\n \"minimatch\": \"^3.1.2\"\n },\n \"engines\": {\n \"node\": \"^18.18.0 || ^20.9.0 || >=21.1.0\"\n }\n },\n \"node_modules/@eslint/config-helpers\": {\n \"version\": \"0.4.2\",\n \"resolved\": \"https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz\",\n \"integrity\": \"sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@eslint/core\": \"^0.17.0\"\n },\n \"engines\": {\n \"node\": \"^18.18.0 || ^20.9.0 || >=21.1.0\"\n }\n },\n \"node_modules/@eslint/core\": {\n \"version\": \"0.17.0\",\n \"resolved\": \"https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz\",\n \"integrity\": \"sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@types/json-schema\": \"^7.0.15\"\n },\n \"engines\": {\n \"node\": \"^18.18.0 || ^20.9.0 || >=21.1.0\"\n }\n },\n \"node_modules/@eslint/eslintrc\": {\n \"version\": \"3.3.3\",\n \"resolved\": \"https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.3.tgz\",\n \"integrity\": \"sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ajv\": \"^6.12.4\",\n \"debug\": \"^4.3.2\",\n \"espree\": \"^10.0.1\",\n \"globals\": \"^14.0.0\",\n \"ignore\": \"^5.2.0\",\n \"import-fresh\": \"^3.2.1\",\n \"js-yaml\": \"^4.1.1\",\n \"minimatch\": \"^3.1.2\",\n \"strip-json-comments\": \"^3.1.1\"\n },\n \"engines\": {\n \"node\": \"^18.18.0 || ^20.9.0 || >=21.1.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/eslint\"\n }\n },\n \"node_modules/@eslint/eslintrc/node_modules/globals\": {\n \"version\": \"14.0.0\",\n \"resolved\": \"https://registry.npmjs.org/globals/-/globals-14.0.0.tgz\",\n \"integrity\": \"sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=18\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/@eslint/js\": {\n \"version\": \"9.39.2\",\n \"resolved\": \"https://registry.npmjs.org/@eslint/js/-/js-9.39.2.tgz\",\n \"integrity\": \"sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^18.18.0 || ^20.9.0 || >=21.1.0\"\n },\n \"funding\": {\n \"url\": \"https://eslint.org/donate\"\n }\n },\n \"node_modules/@eslint/object-schema\": {\n \"version\": \"2.1.7\",\n \"resolved\": \"https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz\",\n \"integrity\": \"sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"engines\": {\n \"node\": \"^18.18.0 || ^20.9.0 || >=21.1.0\"\n }\n },\n \"node_modules/@eslint/plugin-kit\": {\n \"version\": \"0.4.1\",\n \"resolved\": \"https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz\",\n \"integrity\": \"sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@eslint/core\": \"^0.17.0\",\n \"levn\": \"^0.4.1\"\n },\n \"engines\": {\n \"node\": \"^18.18.0 || ^20.9.0 || >=21.1.0\"\n }\n },\n \"node_modules/@humanfs/core\": {\n \"version\": \"0.19.1\",\n \"resolved\": \"https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz\",\n \"integrity\": \"sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"engines\": {\n \"node\": \">=18.18.0\"\n }\n },\n \"node_modules/@humanfs/node\": {\n \"version\": \"0.16.7\",\n \"resolved\": \"https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz\",\n \"integrity\": \"sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@humanfs/core\": \"^0.19.1\",\n \"@humanwhocodes/retry\": \"^0.4.0\"\n },\n \"engines\": {\n \"node\": \">=18.18.0\"\n }\n },\n \"node_modules/@humanwhocodes/module-importer\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz\",\n \"integrity\": \"sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"engines\": {\n \"node\": \">=12.22\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/nzakas\"\n }\n },\n \"node_modules/@humanwhocodes/retry\": {\n \"version\": \"0.4.3\",\n \"resolved\": \"https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz\",\n \"integrity\": \"sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"engines\": {\n \"node\": \">=18.18\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/nzakas\"\n }\n },\n \"node_modules/@isaacs/balanced-match\": {\n \"version\": \"4.0.1\",\n \"resolved\": \"https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz\",\n \"integrity\": \"sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"20 || >=22\"\n }\n },\n \"node_modules/@isaacs/brace-expansion\": {\n \"version\": \"5.0.0\",\n \"resolved\": \"https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz\",\n \"integrity\": \"sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@isaacs/balanced-match\": \"^4.0.1\"\n },\n \"engines\": {\n \"node\": \"20 || >=22\"\n }\n },\n \"node_modules/@isaacs/cliui\": {\n \"version\": \"8.0.2\",\n \"resolved\": \"https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz\",\n \"integrity\": \"sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==\",\n \"license\": \"ISC\",\n \"dependencies\": {\n \"string-width\": \"^5.1.2\",\n \"string-width-cjs\": \"npm:string-width@^4.2.0\",\n \"strip-ansi\": \"^7.0.1\",\n \"strip-ansi-cjs\": \"npm:strip-ansi@^6.0.1\",\n \"wrap-ansi\": \"^8.1.0\",\n \"wrap-ansi-cjs\": \"npm:wrap-ansi@^7.0.0\"\n },\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/@istanbuljs/schema\": {\n \"version\": \"0.1.3\",\n \"resolved\": \"https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz\",\n \"integrity\": \"sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/@jridgewell/gen-mapping\": {\n \"version\": \"0.3.13\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz\",\n \"integrity\": \"sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/sourcemap-codec\": \"^1.5.0\",\n \"@jridgewell/trace-mapping\": \"^0.3.24\"\n }\n },\n \"node_modules/@jridgewell/remapping\": {\n \"version\": \"2.3.5\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz\",\n \"integrity\": \"sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/gen-mapping\": \"^0.3.5\",\n \"@jridgewell/trace-mapping\": \"^0.3.24\"\n }\n },\n \"node_modules/@jridgewell/resolve-uri\": {\n \"version\": \"3.1.2\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz\",\n \"integrity\": \"sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.0.0\"\n }\n },\n \"node_modules/@jridgewell/sourcemap-codec\": {\n \"version\": \"1.5.5\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz\",\n \"integrity\": \"sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@jridgewell/trace-mapping\": {\n \"version\": \"0.3.31\",\n \"resolved\": \"https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz\",\n \"integrity\": \"sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/resolve-uri\": \"^3.1.0\",\n \"@jridgewell/sourcemap-codec\": \"^1.4.14\"\n }\n },\n \"node_modules/@microsoft/api-extractor\": {\n \"version\": \"7.55.2\",\n \"resolved\": \"https://registry.npmjs.org/@microsoft/api-extractor/-/api-extractor-7.55.2.tgz\",\n \"integrity\": \"sha512-1jlWO4qmgqYoVUcyh+oXYRztZde/pAi7cSVzBz/rc+S7CoVzDasy8QE13dx6sLG4VRo8SfkkLbFORR6tBw4uGQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@microsoft/api-extractor-model\": \"7.32.2\",\n \"@microsoft/tsdoc\": \"~0.16.0\",\n \"@microsoft/tsdoc-config\": \"~0.18.0\",\n \"@rushstack/node-core-library\": \"5.19.1\",\n \"@rushstack/rig-package\": \"0.6.0\",\n \"@rushstack/terminal\": \"0.19.5\",\n \"@rushstack/ts-command-line\": \"5.1.5\",\n \"diff\": \"~8.0.2\",\n \"lodash\": \"~4.17.15\",\n \"minimatch\": \"10.0.3\",\n \"resolve\": \"~1.22.1\",\n \"semver\": \"~7.5.4\",\n \"source-map\": \"~0.6.1\",\n \"typescript\": \"5.8.2\"\n },\n \"bin\": {\n \"api-extractor\": \"bin/api-extractor\"\n }\n },\n \"node_modules/@microsoft/api-extractor-model\": {\n \"version\": \"7.32.2\",\n \"resolved\": \"https://registry.npmjs.org/@microsoft/api-extractor-model/-/api-extractor-model-7.32.2.tgz\",\n \"integrity\": \"sha512-Ussc25rAalc+4JJs9HNQE7TuO9y6jpYQX9nWD1DhqUzYPBr3Lr7O9intf+ZY8kD5HnIqeIRJX7ccCT0QyBy2Ww==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@microsoft/tsdoc\": \"~0.16.0\",\n \"@microsoft/tsdoc-config\": \"~0.18.0\",\n \"@rushstack/node-core-library\": \"5.19.1\"\n }\n },\n \"node_modules/@microsoft/api-extractor/node_modules/lru-cache\": {\n \"version\": \"6.0.0\",\n \"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz\",\n \"integrity\": \"sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"dependencies\": {\n \"yallist\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/@microsoft/api-extractor/node_modules/minimatch\": {\n \"version\": \"10.0.3\",\n \"resolved\": \"https://registry.npmjs.org/minimatch/-/minimatch-10.0.3.tgz\",\n \"integrity\": \"sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"dependencies\": {\n \"@isaacs/brace-expansion\": \"^5.0.0\"\n },\n \"engines\": {\n \"node\": \"20 || >=22\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/isaacs\"\n }\n },\n \"node_modules/@microsoft/api-extractor/node_modules/semver\": {\n \"version\": \"7.5.4\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-7.5.4.tgz\",\n \"integrity\": \"sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"dependencies\": {\n \"lru-cache\": \"^6.0.0\"\n },\n \"bin\": {\n \"semver\": \"bin/semver.js\"\n },\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/@microsoft/api-extractor/node_modules/typescript\": {\n \"version\": \"5.8.2\",\n \"resolved\": \"https://registry.npmjs.org/typescript/-/typescript-5.8.2.tgz\",\n \"integrity\": \"sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"bin\": {\n \"tsc\": \"bin/tsc\",\n \"tsserver\": \"bin/tsserver\"\n },\n \"engines\": {\n \"node\": \">=14.17\"\n }\n },\n \"node_modules/@microsoft/api-extractor/node_modules/yallist\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz\",\n \"integrity\": \"sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/@microsoft/tsdoc\": {\n \"version\": \"0.16.0\",\n \"resolved\": \"https://registry.npmjs.org/@microsoft/tsdoc/-/tsdoc-0.16.0.tgz\",\n \"integrity\": \"sha512-xgAyonlVVS+q7Vc7qLW0UrJU7rSFcETRWsqdXZtjzRU8dF+6CkozTK4V4y1LwOX7j8r/vHphjDeMeGI4tNGeGA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@microsoft/tsdoc-config\": {\n \"version\": \"0.18.0\",\n \"resolved\": \"https://registry.npmjs.org/@microsoft/tsdoc-config/-/tsdoc-config-0.18.0.tgz\",\n \"integrity\": \"sha512-8N/vClYyfOH+l4fLkkr9+myAoR6M7akc8ntBJ4DJdWH2b09uVfr71+LTMpNyG19fNqWDg8KEDZhx5wxuqHyGjw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@microsoft/tsdoc\": \"0.16.0\",\n \"ajv\": \"~8.12.0\",\n \"jju\": \"~1.4.0\",\n \"resolve\": \"~1.22.2\"\n }\n },\n \"node_modules/@microsoft/tsdoc-config/node_modules/ajv\": {\n \"version\": \"8.12.0\",\n \"resolved\": \"https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz\",\n \"integrity\": \"sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"fast-deep-equal\": \"^3.1.1\",\n \"json-schema-traverse\": \"^1.0.0\",\n \"require-from-string\": \"^2.0.2\",\n \"uri-js\": \"^4.2.2\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/epoberezkin\"\n }\n },\n \"node_modules/@microsoft/tsdoc-config/node_modules/json-schema-traverse\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz\",\n \"integrity\": \"sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@nodelib/fs.scandir\": {\n \"version\": \"2.1.5\",\n \"resolved\": \"https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz\",\n \"integrity\": \"sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@nodelib/fs.stat\": \"2.0.5\",\n \"run-parallel\": \"^1.1.9\"\n },\n \"engines\": {\n \"node\": \">= 8\"\n }\n },\n \"node_modules/@nodelib/fs.stat\": {\n \"version\": \"2.0.5\",\n \"resolved\": \"https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz\",\n \"integrity\": \"sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 8\"\n }\n },\n \"node_modules/@nodelib/fs.walk\": {\n \"version\": \"1.2.8\",\n \"resolved\": \"https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz\",\n \"integrity\": \"sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@nodelib/fs.scandir\": \"2.1.5\",\n \"fastq\": \"^1.6.0\"\n },\n \"engines\": {\n \"node\": \">= 8\"\n }\n },\n \"node_modules/@pkgjs/parseargs\": {\n \"version\": \"0.11.0\",\n \"resolved\": \"https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz\",\n \"integrity\": \"sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"engines\": {\n \"node\": \">=14\"\n }\n },\n \"node_modules/@rollup/plugin-replace\": {\n \"version\": \"6.0.3\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-6.0.3.tgz\",\n \"integrity\": \"sha512-J4RZarRvQAm5IF0/LwUUg+obsm+xZhYnbMXmXROyoSE1ATJe3oXSb9L5MMppdxP2ylNSjv6zFBwKYjcKMucVfA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@rollup/pluginutils\": \"^5.0.1\",\n \"magic-string\": \"^0.30.3\"\n },\n \"engines\": {\n \"node\": \">=14.0.0\"\n },\n \"peerDependencies\": {\n \"rollup\": \"^1.20.0||^2.0.0||^3.0.0||^4.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"rollup\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@rollup/pluginutils\": {\n \"version\": \"5.3.0\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.3.0.tgz\",\n \"integrity\": \"sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/estree\": \"^1.0.0\",\n \"estree-walker\": \"^2.0.2\",\n \"picomatch\": \"^4.0.2\"\n },\n \"engines\": {\n \"node\": \">=14.0.0\"\n },\n \"peerDependencies\": {\n \"rollup\": \"^1.20.0||^2.0.0||^3.0.0||^4.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"rollup\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@rollup/rollup-android-arm-eabi\": {\n \"version\": \"4.55.1\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.55.1.tgz\",\n \"integrity\": \"sha512-9R0DM/ykwfGIlNu6+2U09ga0WXeZ9MRC2Ter8jnz8415VbuIykVuc6bhdrbORFZANDmTDvq26mJrEVTl8TdnDg==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ]\n },\n \"node_modules/@rollup/rollup-android-arm64\": {\n \"version\": \"4.55.1\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.55.1.tgz\",\n \"integrity\": \"sha512-eFZCb1YUqhTysgW3sj/55du5cG57S7UTNtdMjCW7LwVcj3dTTcowCsC8p7uBdzKsZYa8J7IDE8lhMI+HX1vQvg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"android\"\n ]\n },\n \"node_modules/@rollup/rollup-darwin-arm64\": {\n \"version\": \"4.55.1\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.55.1.tgz\",\n \"integrity\": \"sha512-p3grE2PHcQm2e8PSGZdzIhCKbMCw/xi9XvMPErPhwO17vxtvCN5FEA2mSLgmKlCjHGMQTP6phuQTYWUnKewwGg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ]\n },\n \"node_modules/@rollup/rollup-darwin-x64\": {\n \"version\": \"4.55.1\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.55.1.tgz\",\n \"integrity\": \"sha512-rDUjG25C9qoTm+e02Esi+aqTKSBYwVTaoS1wxcN47/Luqef57Vgp96xNANwt5npq9GDxsH7kXxNkJVEsWEOEaQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ]\n },\n \"node_modules/@rollup/rollup-freebsd-arm64\": {\n \"version\": \"4.55.1\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.55.1.tgz\",\n \"integrity\": \"sha512-+JiU7Jbp5cdxekIgdte0jfcu5oqw4GCKr6i3PJTlXTCU5H5Fvtkpbs4XJHRmWNXF+hKmn4v7ogI5OQPaupJgOg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ]\n },\n \"node_modules/@rollup/rollup-freebsd-x64\": {\n \"version\": \"4.55.1\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.55.1.tgz\",\n \"integrity\": \"sha512-V5xC1tOVWtLLmr3YUk2f6EJK4qksksOYiz/TCsFHu/R+woubcLWdC9nZQmwjOAbmExBIVKsm1/wKmEy4z4u4Bw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"freebsd\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm-gnueabihf\": {\n \"version\": \"4.55.1\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.55.1.tgz\",\n \"integrity\": \"sha512-Rn3n+FUk2J5VWx+ywrG/HGPTD9jXNbicRtTM11e/uorplArnXZYsVifnPPqNNP5BsO3roI4n8332ukpY/zN7rQ==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm-musleabihf\": {\n \"version\": \"4.55.1\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.55.1.tgz\",\n \"integrity\": \"sha512-grPNWydeKtc1aEdrJDWk4opD7nFtQbMmV7769hiAaYyUKCT1faPRm2av8CX1YJsZ4TLAZcg9gTR1KvEzoLjXkg==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm64-gnu\": {\n \"version\": \"4.55.1\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.55.1.tgz\",\n \"integrity\": \"sha512-a59mwd1k6x8tXKcUxSyISiquLwB5pX+fJW9TkWU46lCqD/GRDe9uDN31jrMmVP3feI3mhAdvcCClhV8V5MhJFQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-arm64-musl\": {\n \"version\": \"4.55.1\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.55.1.tgz\",\n \"integrity\": \"sha512-puS1MEgWX5GsHSoiAsF0TYrpomdvkaXm0CofIMG5uVkP6IBV+ZO9xhC5YEN49nsgYo1DuuMquF9+7EDBVYu4uA==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-loong64-gnu\": {\n \"version\": \"4.55.1\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.55.1.tgz\",\n \"integrity\": \"sha512-r3Wv40in+lTsULSb6nnoudVbARdOwb2u5fpeoOAZjFLznp6tDU8kd+GTHmJoqZ9lt6/Sys33KdIHUaQihFcu7g==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-loong64-musl\": {\n \"version\": \"4.55.1\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.55.1.tgz\",\n \"integrity\": \"sha512-MR8c0+UxAlB22Fq4R+aQSPBayvYa3+9DrwG/i1TKQXFYEaoW3B5b/rkSRIypcZDdWjWnpcvxbNaAJDcSbJU3Lw==\",\n \"cpu\": [\n \"loong64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-ppc64-gnu\": {\n \"version\": \"4.55.1\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.55.1.tgz\",\n \"integrity\": \"sha512-3KhoECe1BRlSYpMTeVrD4sh2Pw2xgt4jzNSZIIPLFEsnQn9gAnZagW9+VqDqAHgm1Xc77LzJOo2LdigS5qZ+gw==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-ppc64-musl\": {\n \"version\": \"4.55.1\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.55.1.tgz\",\n \"integrity\": \"sha512-ziR1OuZx0vdYZZ30vueNZTg73alF59DicYrPViG0NEgDVN8/Jl87zkAPu4u6VjZST2llgEUjaiNl9JM6HH1Vdw==\",\n \"cpu\": [\n \"ppc64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-riscv64-gnu\": {\n \"version\": \"4.55.1\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.55.1.tgz\",\n \"integrity\": \"sha512-uW0Y12ih2XJRERZ4jAfKamTyIHVMPQnTZcQjme2HMVDAHY4amf5u414OqNYC+x+LzRdRcnIG1YodLrrtA8xsxw==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-riscv64-musl\": {\n \"version\": \"4.55.1\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.55.1.tgz\",\n \"integrity\": \"sha512-u9yZ0jUkOED1BFrqu3BwMQoixvGHGZ+JhJNkNKY/hyoEgOwlqKb62qu+7UjbPSHYjiVy8kKJHvXKv5coH4wDeg==\",\n \"cpu\": [\n \"riscv64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-s390x-gnu\": {\n \"version\": \"4.55.1\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.55.1.tgz\",\n \"integrity\": \"sha512-/0PenBCmqM4ZUd0190j7J0UsQ/1nsi735iPRakO8iPciE7BQ495Y6msPzaOmvx0/pn+eJVVlZrNrSh4WSYLxNg==\",\n \"cpu\": [\n \"s390x\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-x64-gnu\": {\n \"version\": \"4.55.1\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.55.1.tgz\",\n \"integrity\": \"sha512-a8G4wiQxQG2BAvo+gU6XrReRRqj+pLS2NGXKm8io19goR+K8lw269eTrPkSdDTALwMmJp4th2Uh0D8J9bEV1vg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-linux-x64-musl\": {\n \"version\": \"4.55.1\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.55.1.tgz\",\n \"integrity\": \"sha512-bD+zjpFrMpP/hqkfEcnjXWHMw5BIghGisOKPj+2NaNDuVT+8Ds4mPf3XcPHuat1tz89WRL+1wbcxKY3WSbiT7w==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ]\n },\n \"node_modules/@rollup/rollup-openbsd-x64\": {\n \"version\": \"4.55.1\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.55.1.tgz\",\n \"integrity\": \"sha512-eLXw0dOiqE4QmvikfQ6yjgkg/xDM+MdU9YJuP4ySTibXU0oAvnEWXt7UDJmD4UkYialMfOGFPJnIHSe/kdzPxg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openbsd\"\n ]\n },\n \"node_modules/@rollup/rollup-openharmony-arm64\": {\n \"version\": \"4.55.1\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.55.1.tgz\",\n \"integrity\": \"sha512-xzm44KgEP11te3S2HCSyYf5zIzWmx3n8HDCc7EE59+lTcswEWNpvMLfd9uJvVX8LCg9QWG67Xt75AuHn4vgsXw==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"openharmony\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-arm64-msvc\": {\n \"version\": \"4.55.1\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.55.1.tgz\",\n \"integrity\": \"sha512-yR6Bl3tMC/gBok5cz/Qi0xYnVbIxGx5Fcf/ca0eB6/6JwOY+SRUcJfI0OpeTpPls7f194as62thCt/2BjxYN8g==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-ia32-msvc\": {\n \"version\": \"4.55.1\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.55.1.tgz\",\n \"integrity\": \"sha512-3fZBidchE0eY0oFZBnekYCfg+5wAB0mbpCBuofh5mZuzIU/4jIVkbESmd2dOsFNS78b53CYv3OAtwqkZZmU5nA==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-x64-gnu\": {\n \"version\": \"4.55.1\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.55.1.tgz\",\n \"integrity\": \"sha512-xGGY5pXj69IxKb4yv/POoocPy/qmEGhimy/FoTpTSVju3FYXUQQMFCaZZXJVidsmGxRioZAwpThl/4zX41gRKg==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@rollup/rollup-win32-x64-msvc\": {\n \"version\": \"4.55.1\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.55.1.tgz\",\n \"integrity\": \"sha512-SPEpaL6DX4rmcXtnhdrQYgzQ5W2uW3SCJch88lB2zImhJRhIIK44fkUrgIV/Q8yUNfw5oyZ5vkeQsZLhCb06lw==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ]\n },\n \"node_modules/@rtsao/scc\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz\",\n \"integrity\": \"sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@rushstack/node-core-library\": {\n \"version\": \"5.19.1\",\n \"resolved\": \"https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-5.19.1.tgz\",\n \"integrity\": \"sha512-ESpb2Tajlatgbmzzukg6zyAhH+sICqJR2CNXNhXcEbz6UGCQfrKCtkxOpJTftWc8RGouroHG0Nud1SJAszvpmA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ajv\": \"~8.13.0\",\n \"ajv-draft-04\": \"~1.0.0\",\n \"ajv-formats\": \"~3.0.1\",\n \"fs-extra\": \"~11.3.0\",\n \"import-lazy\": \"~4.0.0\",\n \"jju\": \"~1.4.0\",\n \"resolve\": \"~1.22.1\",\n \"semver\": \"~7.5.4\"\n },\n \"peerDependencies\": {\n \"@types/node\": \"*\"\n },\n \"peerDependenciesMeta\": {\n \"@types/node\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@rushstack/node-core-library/node_modules/ajv\": {\n \"version\": \"8.13.0\",\n \"resolved\": \"https://registry.npmjs.org/ajv/-/ajv-8.13.0.tgz\",\n \"integrity\": \"sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"fast-deep-equal\": \"^3.1.3\",\n \"json-schema-traverse\": \"^1.0.0\",\n \"require-from-string\": \"^2.0.2\",\n \"uri-js\": \"^4.4.1\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/epoberezkin\"\n }\n },\n \"node_modules/@rushstack/node-core-library/node_modules/ajv-draft-04\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/ajv-draft-04/-/ajv-draft-04-1.0.0.tgz\",\n \"integrity\": \"sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"ajv\": \"^8.5.0\"\n },\n \"peerDependenciesMeta\": {\n \"ajv\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@rushstack/node-core-library/node_modules/json-schema-traverse\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz\",\n \"integrity\": \"sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@rushstack/node-core-library/node_modules/lru-cache\": {\n \"version\": \"6.0.0\",\n \"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz\",\n \"integrity\": \"sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"dependencies\": {\n \"yallist\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/@rushstack/node-core-library/node_modules/semver\": {\n \"version\": \"7.5.4\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-7.5.4.tgz\",\n \"integrity\": \"sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"dependencies\": {\n \"lru-cache\": \"^6.0.0\"\n },\n \"bin\": {\n \"semver\": \"bin/semver.js\"\n },\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/@rushstack/node-core-library/node_modules/yallist\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz\",\n \"integrity\": \"sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/@rushstack/problem-matcher\": {\n \"version\": \"0.1.1\",\n \"resolved\": \"https://registry.npmjs.org/@rushstack/problem-matcher/-/problem-matcher-0.1.1.tgz\",\n \"integrity\": \"sha512-Fm5XtS7+G8HLcJHCWpES5VmeMyjAKaWeyZU5qPzZC+22mPlJzAsOxymHiWIfuirtPckX3aptWws+K2d0BzniJA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"@types/node\": \"*\"\n },\n \"peerDependenciesMeta\": {\n \"@types/node\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@rushstack/rig-package\": {\n \"version\": \"0.6.0\",\n \"resolved\": \"https://registry.npmjs.org/@rushstack/rig-package/-/rig-package-0.6.0.tgz\",\n \"integrity\": \"sha512-ZQmfzsLE2+Y91GF15c65L/slMRVhF6Hycq04D4TwtdGaUAbIXXg9c5pKA5KFU7M4QMaihoobp9JJYpYcaY3zOw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"resolve\": \"~1.22.1\",\n \"strip-json-comments\": \"~3.1.1\"\n }\n },\n \"node_modules/@rushstack/terminal\": {\n \"version\": \"0.19.5\",\n \"resolved\": \"https://registry.npmjs.org/@rushstack/terminal/-/terminal-0.19.5.tgz\",\n \"integrity\": \"sha512-6k5tpdB88G0K7QrH/3yfKO84HK9ggftfUZ51p7fePyCE7+RLLHkWZbID9OFWbXuna+eeCFE7AkKnRMHMxNbz7Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@rushstack/node-core-library\": \"5.19.1\",\n \"@rushstack/problem-matcher\": \"0.1.1\",\n \"supports-color\": \"~8.1.1\"\n },\n \"peerDependencies\": {\n \"@types/node\": \"*\"\n },\n \"peerDependenciesMeta\": {\n \"@types/node\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@rushstack/terminal/node_modules/supports-color\": {\n \"version\": \"8.1.1\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz\",\n \"integrity\": \"sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/supports-color?sponsor=1\"\n }\n },\n \"node_modules/@rushstack/ts-command-line\": {\n \"version\": \"5.1.5\",\n \"resolved\": \"https://registry.npmjs.org/@rushstack/ts-command-line/-/ts-command-line-5.1.5.tgz\",\n \"integrity\": \"sha512-YmrFTFUdHXblYSa+Xc9OO9FsL/XFcckZy0ycQ6q7VSBsVs5P0uD9vcges5Q9vctGlVdu27w+Ct6IuJ458V0cTQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@rushstack/terminal\": \"0.19.5\",\n \"@types/argparse\": \"1.0.38\",\n \"argparse\": \"~1.0.9\",\n \"string-argv\": \"~0.3.1\"\n }\n },\n \"node_modules/@rushstack/ts-command-line/node_modules/argparse\": {\n \"version\": \"1.0.10\",\n \"resolved\": \"https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz\",\n \"integrity\": \"sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"sprintf-js\": \"~1.0.2\"\n }\n },\n \"node_modules/@swc/core\": {\n \"version\": \"1.15.8\",\n \"resolved\": \"https://registry.npmjs.org/@swc/core/-/core-1.15.8.tgz\",\n \"integrity\": \"sha512-T8keoJjXaSUoVBCIjgL6wAnhADIb09GOELzKg10CjNg+vLX48P93SME6jTfte9MZIm5m+Il57H3rTSk/0kzDUw==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@swc/counter\": \"^0.1.3\",\n \"@swc/types\": \"^0.1.25\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/swc\"\n },\n \"optionalDependencies\": {\n \"@swc/core-darwin-arm64\": \"1.15.8\",\n \"@swc/core-darwin-x64\": \"1.15.8\",\n \"@swc/core-linux-arm-gnueabihf\": \"1.15.8\",\n \"@swc/core-linux-arm64-gnu\": \"1.15.8\",\n \"@swc/core-linux-arm64-musl\": \"1.15.8\",\n \"@swc/core-linux-x64-gnu\": \"1.15.8\",\n \"@swc/core-linux-x64-musl\": \"1.15.8\",\n \"@swc/core-win32-arm64-msvc\": \"1.15.8\",\n \"@swc/core-win32-ia32-msvc\": \"1.15.8\",\n \"@swc/core-win32-x64-msvc\": \"1.15.8\"\n },\n \"peerDependencies\": {\n \"@swc/helpers\": \">=0.5.17\"\n },\n \"peerDependenciesMeta\": {\n \"@swc/helpers\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@swc/core-darwin-arm64\": {\n \"version\": \"1.15.8\",\n \"resolved\": \"https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.15.8.tgz\",\n \"integrity\": \"sha512-M9cK5GwyWWRkRGwwCbREuj6r8jKdES/haCZ3Xckgkl8MUQJZA3XB7IXXK1IXRNeLjg6m7cnoMICpXv1v1hlJOg==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"Apache-2.0 AND MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/@swc/core-darwin-x64\": {\n \"version\": \"1.15.8\",\n \"resolved\": \"https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.15.8.tgz\",\n \"integrity\": \"sha512-j47DasuOvXl80sKJHSi2X25l44CMc3VDhlJwA7oewC1nV1VsSzwX+KOwE5tLnfORvVJJyeiXgJORNYg4jeIjYQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"Apache-2.0 AND MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/@swc/core-linux-arm-gnueabihf\": {\n \"version\": \"1.15.8\",\n \"resolved\": \"https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.15.8.tgz\",\n \"integrity\": \"sha512-siAzDENu2rUbwr9+fayWa26r5A9fol1iORG53HWxQL1J8ym4k7xt9eME0dMPXlYZDytK5r9sW8zEA10F2U3Xwg==\",\n \"cpu\": [\n \"arm\"\n ],\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/@swc/core-linux-arm64-gnu\": {\n \"version\": \"1.15.8\",\n \"resolved\": \"https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.15.8.tgz\",\n \"integrity\": \"sha512-o+1y5u6k2FfPYbTRUPvurwzNt5qd0NTumCTFscCNuBksycloXY16J8L+SMW5QRX59n4Hp9EmFa3vpvNHRVv1+Q==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"Apache-2.0 AND MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/@swc/core-linux-arm64-musl\": {\n \"version\": \"1.15.8\",\n \"resolved\": \"https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.15.8.tgz\",\n \"integrity\": \"sha512-koiCqL09EwOP1S2RShCI7NbsQuG6r2brTqUYE7pV7kZm9O17wZ0LSz22m6gVibpwEnw8jI3IE1yYsQTVpluALw==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"Apache-2.0 AND MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/@swc/core-linux-x64-gnu\": {\n \"version\": \"1.15.8\",\n \"resolved\": \"https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.15.8.tgz\",\n \"integrity\": \"sha512-4p6lOMU3bC+Vd5ARtKJ/FxpIC5G8v3XLoPEZ5s7mLR8h7411HWC/LmTXDHcrSXRC55zvAVia1eldy6zDLz8iFQ==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"Apache-2.0 AND MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/@swc/core-linux-x64-musl\": {\n \"version\": \"1.15.8\",\n \"resolved\": \"https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.15.8.tgz\",\n \"integrity\": \"sha512-z3XBnbrZAL+6xDGAhJoN4lOueIxC/8rGrJ9tg+fEaeqLEuAtHSW2QHDHxDwkxZMjuF/pZ6MUTjHjbp8wLbuRLA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"Apache-2.0 AND MIT\",\n \"optional\": true,\n \"os\": [\n \"linux\"\n ],\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/@swc/core-win32-arm64-msvc\": {\n \"version\": \"1.15.8\",\n \"resolved\": \"https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.15.8.tgz\",\n \"integrity\": \"sha512-djQPJ9Rh9vP8GTS/Df3hcc6XP6xnG5c8qsngWId/BLA9oX6C7UzCPAn74BG/wGb9a6j4w3RINuoaieJB3t+7iQ==\",\n \"cpu\": [\n \"arm64\"\n ],\n \"dev\": true,\n \"license\": \"Apache-2.0 AND MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/@swc/core-win32-ia32-msvc\": {\n \"version\": \"1.15.8\",\n \"resolved\": \"https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.15.8.tgz\",\n \"integrity\": \"sha512-/wfAgxORg2VBaUoFdytcVBVCgf1isWZIEXB9MZEUty4wwK93M/PxAkjifOho9RN3WrM3inPLabICRCEgdHpKKQ==\",\n \"cpu\": [\n \"ia32\"\n ],\n \"dev\": true,\n \"license\": \"Apache-2.0 AND MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/@swc/core-win32-x64-msvc\": {\n \"version\": \"1.15.8\",\n \"resolved\": \"https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.15.8.tgz\",\n \"integrity\": \"sha512-GpMePrh9Sl4d61o4KAHOOv5is5+zt6BEXCOCgs/H0FLGeii7j9bWDE8ExvKFy2GRRZVNR1ugsnzaGWHKM6kuzA==\",\n \"cpu\": [\n \"x64\"\n ],\n \"dev\": true,\n \"license\": \"Apache-2.0 AND MIT\",\n \"optional\": true,\n \"os\": [\n \"win32\"\n ],\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/@swc/counter\": {\n \"version\": \"0.1.3\",\n \"resolved\": \"https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz\",\n \"integrity\": \"sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\"\n },\n \"node_modules/@swc/types\": {\n \"version\": \"0.1.25\",\n \"resolved\": \"https://registry.npmjs.org/@swc/types/-/types-0.1.25.tgz\",\n \"integrity\": \"sha512-iAoY/qRhNH8a/hBvm3zKj9qQ4oc2+3w1unPJa2XvTK3XjeLXtzcCingVPw/9e5mn1+0yPqxcBGp9Jf0pkfMb1g==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@swc/counter\": \"^0.1.3\"\n }\n },\n \"node_modules/@theunwalked/cardigantime\": {\n \"version\": \"0.0.16\",\n \"resolved\": \"https://registry.npmjs.org/@theunwalked/cardigantime/-/cardigantime-0.0.16.tgz\",\n \"integrity\": \"sha512-OVvdID93rS4M7+0q3CHijCpNLYuZVeCojnisVLYJKl3HGmZE6ptEmxP99Fr6BKuAnl8t2tLeDj+NeGl7TQGJHQ==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"commander\": \"^14.0.0\",\n \"glob\": \"^11.0.3\",\n \"js-yaml\": \"^4.1.0\",\n \"zod\": \"^4.0.2\"\n }\n },\n \"node_modules/@types/argparse\": {\n \"version\": \"1.0.38\",\n \"resolved\": \"https://registry.npmjs.org/@types/argparse/-/argparse-1.0.38.tgz\",\n \"integrity\": \"sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@types/chai\": {\n \"version\": \"5.2.3\",\n \"resolved\": \"https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz\",\n \"integrity\": \"sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/deep-eql\": \"*\",\n \"assertion-error\": \"^2.0.1\"\n }\n },\n \"node_modules/@types/deep-eql\": {\n \"version\": \"4.0.2\",\n \"resolved\": \"https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz\",\n \"integrity\": \"sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@types/estree\": {\n \"version\": \"1.0.8\",\n \"resolved\": \"https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz\",\n \"integrity\": \"sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@types/json-schema\": {\n \"version\": \"7.0.15\",\n \"resolved\": \"https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz\",\n \"integrity\": \"sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@types/json5\": {\n \"version\": \"0.0.29\",\n \"resolved\": \"https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz\",\n \"integrity\": \"sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@types/node\": {\n \"version\": \"24.10.4\",\n \"resolved\": \"https://registry.npmjs.org/@types/node/-/node-24.10.4.tgz\",\n \"integrity\": \"sha512-vnDVpYPMzs4wunl27jHrfmwojOGKya0xyM3sH+UE5iv5uPS6vX7UIoh6m+vQc5LGBq52HBKPIn/zcSZVzeDEZg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"undici-types\": \"~7.16.0\"\n }\n },\n \"node_modules/@typescript-eslint/eslint-plugin\": {\n \"version\": \"8.52.0\",\n \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.52.0.tgz\",\n \"integrity\": \"sha512-okqtOgqu2qmZJ5iN4TWlgfF171dZmx2FzdOv2K/ixL2LZWDStL8+JgQerI2sa8eAEfoydG9+0V96m7V+P8yE1Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@eslint-community/regexpp\": \"^4.12.2\",\n \"@typescript-eslint/scope-manager\": \"8.52.0\",\n \"@typescript-eslint/type-utils\": \"8.52.0\",\n \"@typescript-eslint/utils\": \"8.52.0\",\n \"@typescript-eslint/visitor-keys\": \"8.52.0\",\n \"ignore\": \"^7.0.5\",\n \"natural-compare\": \"^1.4.0\",\n \"ts-api-utils\": \"^2.4.0\"\n },\n \"engines\": {\n \"node\": \"^18.18.0 || ^20.9.0 || >=21.1.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/typescript-eslint\"\n },\n \"peerDependencies\": {\n \"@typescript-eslint/parser\": \"^8.52.0\",\n \"eslint\": \"^8.57.0 || ^9.0.0\",\n \"typescript\": \">=4.8.4 <6.0.0\"\n }\n },\n \"node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore\": {\n \"version\": \"7.0.5\",\n \"resolved\": \"https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz\",\n \"integrity\": \"sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 4\"\n }\n },\n \"node_modules/@typescript-eslint/parser\": {\n \"version\": \"8.52.0\",\n \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.52.0.tgz\",\n \"integrity\": \"sha512-iIACsx8pxRnguSYhHiMn2PvhvfpopO9FXHyn1mG5txZIsAaB6F0KwbFnUQN3KCiG3Jcuad/Cao2FAs1Wp7vAyg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@typescript-eslint/scope-manager\": \"8.52.0\",\n \"@typescript-eslint/types\": \"8.52.0\",\n \"@typescript-eslint/typescript-estree\": \"8.52.0\",\n \"@typescript-eslint/visitor-keys\": \"8.52.0\",\n \"debug\": \"^4.4.3\"\n },\n \"engines\": {\n \"node\": \"^18.18.0 || ^20.9.0 || >=21.1.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/typescript-eslint\"\n },\n \"peerDependencies\": {\n \"eslint\": \"^8.57.0 || ^9.0.0\",\n \"typescript\": \">=4.8.4 <6.0.0\"\n }\n },\n \"node_modules/@typescript-eslint/project-service\": {\n \"version\": \"8.52.0\",\n \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.52.0.tgz\",\n \"integrity\": \"sha512-xD0MfdSdEmeFa3OmVqonHi+Cciab96ls1UhIF/qX/O/gPu5KXD0bY9lu33jj04fjzrXHcuvjBcBC+D3SNSadaw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@typescript-eslint/tsconfig-utils\": \"^8.52.0\",\n \"@typescript-eslint/types\": \"^8.52.0\",\n \"debug\": \"^4.4.3\"\n },\n \"engines\": {\n \"node\": \"^18.18.0 || ^20.9.0 || >=21.1.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/typescript-eslint\"\n },\n \"peerDependencies\": {\n \"typescript\": \">=4.8.4 <6.0.0\"\n }\n },\n \"node_modules/@typescript-eslint/scope-manager\": {\n \"version\": \"8.52.0\",\n \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.52.0.tgz\",\n \"integrity\": \"sha512-ixxqmmCcc1Nf8S0mS0TkJ/3LKcC8mruYJPOU6Ia2F/zUUR4pApW7LzrpU3JmtePbRUTes9bEqRc1Gg4iyRnDzA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@typescript-eslint/types\": \"8.52.0\",\n \"@typescript-eslint/visitor-keys\": \"8.52.0\"\n },\n \"engines\": {\n \"node\": \"^18.18.0 || ^20.9.0 || >=21.1.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/typescript-eslint\"\n }\n },\n \"node_modules/@typescript-eslint/tsconfig-utils\": {\n \"version\": \"8.52.0\",\n \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.52.0.tgz\",\n \"integrity\": \"sha512-jl+8fzr/SdzdxWJznq5nvoI7qn2tNYV/ZBAEcaFMVXf+K6jmXvAFrgo/+5rxgnL152f//pDEAYAhhBAZGrVfwg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^18.18.0 || ^20.9.0 || >=21.1.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/typescript-eslint\"\n },\n \"peerDependencies\": {\n \"typescript\": \">=4.8.4 <6.0.0\"\n }\n },\n \"node_modules/@typescript-eslint/type-utils\": {\n \"version\": \"8.52.0\",\n \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.52.0.tgz\",\n \"integrity\": \"sha512-JD3wKBRWglYRQkAtsyGz1AewDu3mTc7NtRjR/ceTyGoPqmdS5oCdx/oZMWD5Zuqmo6/MpsYs0wp6axNt88/2EQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@typescript-eslint/types\": \"8.52.0\",\n \"@typescript-eslint/typescript-estree\": \"8.52.0\",\n \"@typescript-eslint/utils\": \"8.52.0\",\n \"debug\": \"^4.4.3\",\n \"ts-api-utils\": \"^2.4.0\"\n },\n \"engines\": {\n \"node\": \"^18.18.0 || ^20.9.0 || >=21.1.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/typescript-eslint\"\n },\n \"peerDependencies\": {\n \"eslint\": \"^8.57.0 || ^9.0.0\",\n \"typescript\": \">=4.8.4 <6.0.0\"\n }\n },\n \"node_modules/@typescript-eslint/types\": {\n \"version\": \"8.52.0\",\n \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/types/-/types-8.52.0.tgz\",\n \"integrity\": \"sha512-LWQV1V4q9V4cT4H5JCIx3481iIFxH1UkVk+ZkGGAV1ZGcjGI9IoFOfg3O6ywz8QqCDEp7Inlg6kovMofsNRaGg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^18.18.0 || ^20.9.0 || >=21.1.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/typescript-eslint\"\n }\n },\n \"node_modules/@typescript-eslint/typescript-estree\": {\n \"version\": \"8.52.0\",\n \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.52.0.tgz\",\n \"integrity\": \"sha512-XP3LClsCc0FsTK5/frGjolyADTh3QmsLp6nKd476xNI9CsSsLnmn4f0jrzNoAulmxlmNIpeXuHYeEQv61Q6qeQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@typescript-eslint/project-service\": \"8.52.0\",\n \"@typescript-eslint/tsconfig-utils\": \"8.52.0\",\n \"@typescript-eslint/types\": \"8.52.0\",\n \"@typescript-eslint/visitor-keys\": \"8.52.0\",\n \"debug\": \"^4.4.3\",\n \"minimatch\": \"^9.0.5\",\n \"semver\": \"^7.7.3\",\n \"tinyglobby\": \"^0.2.15\",\n \"ts-api-utils\": \"^2.4.0\"\n },\n \"engines\": {\n \"node\": \"^18.18.0 || ^20.9.0 || >=21.1.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/typescript-eslint\"\n },\n \"peerDependencies\": {\n \"typescript\": \">=4.8.4 <6.0.0\"\n }\n },\n \"node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz\",\n \"integrity\": \"sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"balanced-match\": \"^1.0.0\"\n }\n },\n \"node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch\": {\n \"version\": \"9.0.5\",\n \"resolved\": \"https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz\",\n \"integrity\": \"sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"dependencies\": {\n \"brace-expansion\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=16 || 14 >=14.17\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/isaacs\"\n }\n },\n \"node_modules/@typescript-eslint/typescript-estree/node_modules/semver\": {\n \"version\": \"7.7.3\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-7.7.3.tgz\",\n \"integrity\": \"sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"bin\": {\n \"semver\": \"bin/semver.js\"\n },\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/@typescript-eslint/utils\": {\n \"version\": \"8.52.0\",\n \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.52.0.tgz\",\n \"integrity\": \"sha512-wYndVMWkweqHpEpwPhwqE2lnD2DxC6WVLupU/DOt/0/v+/+iQbbzO3jOHjmBMnhu0DgLULvOaU4h4pwHYi2oRQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@eslint-community/eslint-utils\": \"^4.9.1\",\n \"@typescript-eslint/scope-manager\": \"8.52.0\",\n \"@typescript-eslint/types\": \"8.52.0\",\n \"@typescript-eslint/typescript-estree\": \"8.52.0\"\n },\n \"engines\": {\n \"node\": \"^18.18.0 || ^20.9.0 || >=21.1.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/typescript-eslint\"\n },\n \"peerDependencies\": {\n \"eslint\": \"^8.57.0 || ^9.0.0\",\n \"typescript\": \">=4.8.4 <6.0.0\"\n }\n },\n \"node_modules/@typescript-eslint/visitor-keys\": {\n \"version\": \"8.52.0\",\n \"resolved\": \"https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.52.0.tgz\",\n \"integrity\": \"sha512-ink3/Zofus34nmBsPjow63FP5M7IGff0RKAgqR6+CFpdk22M7aLwC9gOcLGYqr7MczLPzZVERW9hRog3O4n1sQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@typescript-eslint/types\": \"8.52.0\",\n \"eslint-visitor-keys\": \"^4.2.1\"\n },\n \"engines\": {\n \"node\": \"^18.18.0 || ^20.9.0 || >=21.1.0\"\n },\n \"funding\": {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/typescript-eslint\"\n }\n },\n \"node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys\": {\n \"version\": \"4.2.1\",\n \"resolved\": \"https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz\",\n \"integrity\": \"sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"engines\": {\n \"node\": \"^18.18.0 || ^20.9.0 || >=21.1.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/eslint\"\n }\n },\n \"node_modules/@vitest/coverage-v8\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-3.2.4.tgz\",\n \"integrity\": \"sha512-EyF9SXU6kS5Ku/U82E259WSnvg6c8KTjppUncuNdm5QHpe17mwREHnjDzozC8x9MZ0xfBUFSaLkRv4TMA75ALQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@ampproject/remapping\": \"^2.3.0\",\n \"@bcoe/v8-coverage\": \"^1.0.2\",\n \"ast-v8-to-istanbul\": \"^0.3.3\",\n \"debug\": \"^4.4.1\",\n \"istanbul-lib-coverage\": \"^3.2.2\",\n \"istanbul-lib-report\": \"^3.0.1\",\n \"istanbul-lib-source-maps\": \"^5.0.6\",\n \"istanbul-reports\": \"^3.1.7\",\n \"magic-string\": \"^0.30.17\",\n \"magicast\": \"^0.3.5\",\n \"std-env\": \"^3.9.0\",\n \"test-exclude\": \"^7.0.1\",\n \"tinyrainbow\": \"^2.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n },\n \"peerDependencies\": {\n \"@vitest/browser\": \"3.2.4\",\n \"vitest\": \"3.2.4\"\n },\n \"peerDependenciesMeta\": {\n \"@vitest/browser\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@vitest/expect\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/expect/-/expect-3.2.4.tgz\",\n \"integrity\": \"sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/chai\": \"^5.2.2\",\n \"@vitest/spy\": \"3.2.4\",\n \"@vitest/utils\": \"3.2.4\",\n \"chai\": \"^5.2.0\",\n \"tinyrainbow\": \"^2.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/mocker\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.4.tgz\",\n \"integrity\": \"sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/spy\": \"3.2.4\",\n \"estree-walker\": \"^3.0.3\",\n \"magic-string\": \"^0.30.17\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n },\n \"peerDependencies\": {\n \"msw\": \"^2.4.9\",\n \"vite\": \"^5.0.0 || ^6.0.0 || ^7.0.0-0\"\n },\n \"peerDependenciesMeta\": {\n \"msw\": {\n \"optional\": true\n },\n \"vite\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@vitest/mocker/node_modules/estree-walker\": {\n \"version\": \"3.0.3\",\n \"resolved\": \"https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz\",\n \"integrity\": \"sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/estree\": \"^1.0.0\"\n }\n },\n \"node_modules/@vitest/pretty-format\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.4.tgz\",\n \"integrity\": \"sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"tinyrainbow\": \"^2.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/runner\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/runner/-/runner-3.2.4.tgz\",\n \"integrity\": \"sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/utils\": \"3.2.4\",\n \"pathe\": \"^2.0.3\",\n \"strip-literal\": \"^3.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/snapshot\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.4.tgz\",\n \"integrity\": \"sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/pretty-format\": \"3.2.4\",\n \"magic-string\": \"^0.30.17\",\n \"pathe\": \"^2.0.3\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/spy\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/spy/-/spy-3.2.4.tgz\",\n \"integrity\": \"sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"tinyspy\": \"^4.0.3\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@vitest/utils\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/@vitest/utils/-/utils-3.2.4.tgz\",\n \"integrity\": \"sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vitest/pretty-format\": \"3.2.4\",\n \"loupe\": \"^3.1.4\",\n \"tinyrainbow\": \"^2.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/@volar/language-core\": {\n \"version\": \"2.4.27\",\n \"resolved\": \"https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.27.tgz\",\n \"integrity\": \"sha512-DjmjBWZ4tJKxfNC1F6HyYERNHPYS7L7OPFyCrestykNdUZMFYzI9WTyvwPcaNaHlrEUwESHYsfEw3isInncZxQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@volar/source-map\": \"2.4.27\"\n }\n },\n \"node_modules/@volar/source-map\": {\n \"version\": \"2.4.27\",\n \"resolved\": \"https://registry.npmjs.org/@volar/source-map/-/source-map-2.4.27.tgz\",\n \"integrity\": \"sha512-ynlcBReMgOZj2i6po+qVswtDUeeBRCTgDurjMGShbm8WYZgJ0PA4RmtebBJ0BCYol1qPv3GQF6jK7C9qoVc7lg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/@volar/typescript\": {\n \"version\": \"2.4.27\",\n \"resolved\": \"https://registry.npmjs.org/@volar/typescript/-/typescript-2.4.27.tgz\",\n \"integrity\": \"sha512-eWaYCcl/uAPInSK2Lze6IqVWaBu/itVqR5InXcHXFyles4zO++Mglt3oxdgj75BDcv1Knr9Y93nowS8U3wqhxg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@volar/language-core\": \"2.4.27\",\n \"path-browserify\": \"^1.0.1\",\n \"vscode-uri\": \"^3.0.8\"\n }\n },\n \"node_modules/@vue/compiler-core\": {\n \"version\": \"3.5.26\",\n \"resolved\": \"https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.26.tgz\",\n \"integrity\": \"sha512-vXyI5GMfuoBCnv5ucIT7jhHKl55Y477yxP6fc4eUswjP8FG3FFVFd41eNDArR+Uk3QKn2Z85NavjaxLxOC19/w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/parser\": \"^7.28.5\",\n \"@vue/shared\": \"3.5.26\",\n \"entities\": \"^7.0.0\",\n \"estree-walker\": \"^2.0.2\",\n \"source-map-js\": \"^1.2.1\"\n }\n },\n \"node_modules/@vue/compiler-dom\": {\n \"version\": \"3.5.26\",\n \"resolved\": \"https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.26.tgz\",\n \"integrity\": \"sha512-y1Tcd3eXs834QjswshSilCBnKGeQjQXB6PqFn/1nxcQw4pmG42G8lwz+FZPAZAby6gZeHSt/8LMPfZ4Rb+Bd/A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@vue/compiler-core\": \"3.5.26\",\n \"@vue/shared\": \"3.5.26\"\n }\n },\n \"node_modules/@vue/compiler-vue2\": {\n \"version\": \"2.7.16\",\n \"resolved\": \"https://registry.npmjs.org/@vue/compiler-vue2/-/compiler-vue2-2.7.16.tgz\",\n \"integrity\": \"sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"de-indent\": \"^1.0.2\",\n \"he\": \"^1.2.0\"\n }\n },\n \"node_modules/@vue/language-core\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/@vue/language-core/-/language-core-2.2.0.tgz\",\n \"integrity\": \"sha512-O1ZZFaaBGkKbsRfnVH1ifOK1/1BUkyK+3SQsfnh6PmMmD4qJcTU8godCeA96jjDRTL6zgnK7YzCHfaUlH2r0Mw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@volar/language-core\": \"~2.4.11\",\n \"@vue/compiler-dom\": \"^3.5.0\",\n \"@vue/compiler-vue2\": \"^2.7.16\",\n \"@vue/shared\": \"^3.5.0\",\n \"alien-signals\": \"^0.4.9\",\n \"minimatch\": \"^9.0.3\",\n \"muggle-string\": \"^0.4.1\",\n \"path-browserify\": \"^1.0.1\"\n },\n \"peerDependencies\": {\n \"typescript\": \"*\"\n },\n \"peerDependenciesMeta\": {\n \"typescript\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/@vue/language-core/node_modules/brace-expansion\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz\",\n \"integrity\": \"sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"balanced-match\": \"^1.0.0\"\n }\n },\n \"node_modules/@vue/language-core/node_modules/minimatch\": {\n \"version\": \"9.0.5\",\n \"resolved\": \"https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz\",\n \"integrity\": \"sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"dependencies\": {\n \"brace-expansion\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=16 || 14 >=14.17\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/isaacs\"\n }\n },\n \"node_modules/@vue/shared\": {\n \"version\": \"3.5.26\",\n \"resolved\": \"https://registry.npmjs.org/@vue/shared/-/shared-3.5.26.tgz\",\n \"integrity\": \"sha512-7Z6/y3uFI5PRoKeorTOSXKcDj0MSasfNNltcslbFrPpcw6aXRUALq4IfJlaTRspiWIUOEZbrpM+iQGmCOiWe4A==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/acorn\": {\n \"version\": \"8.15.0\",\n \"resolved\": \"https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz\",\n \"integrity\": \"sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"acorn\": \"bin/acorn\"\n },\n \"engines\": {\n \"node\": \">=0.4.0\"\n }\n },\n \"node_modules/acorn-jsx\": {\n \"version\": \"5.3.2\",\n \"resolved\": \"https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz\",\n \"integrity\": \"sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"peerDependencies\": {\n \"acorn\": \"^6.0.0 || ^7.0.0 || ^8.0.0\"\n }\n },\n \"node_modules/ajv\": {\n \"version\": \"6.12.6\",\n \"resolved\": \"https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz\",\n \"integrity\": \"sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"fast-deep-equal\": \"^3.1.1\",\n \"fast-json-stable-stringify\": \"^2.0.0\",\n \"json-schema-traverse\": \"^0.4.1\",\n \"uri-js\": \"^4.2.2\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/epoberezkin\"\n }\n },\n \"node_modules/ajv-formats\": {\n \"version\": \"3.0.1\",\n \"resolved\": \"https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz\",\n \"integrity\": \"sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ajv\": \"^8.0.0\"\n },\n \"peerDependencies\": {\n \"ajv\": \"^8.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"ajv\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/ajv-formats/node_modules/ajv\": {\n \"version\": \"8.17.1\",\n \"resolved\": \"https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz\",\n \"integrity\": \"sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"fast-deep-equal\": \"^3.1.3\",\n \"fast-uri\": \"^3.0.1\",\n \"json-schema-traverse\": \"^1.0.0\",\n \"require-from-string\": \"^2.0.2\"\n },\n \"funding\": {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/epoberezkin\"\n }\n },\n \"node_modules/ajv-formats/node_modules/json-schema-traverse\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz\",\n \"integrity\": \"sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/alien-signals\": {\n \"version\": \"0.4.14\",\n \"resolved\": \"https://registry.npmjs.org/alien-signals/-/alien-signals-0.4.14.tgz\",\n \"integrity\": \"sha512-itUAVzhczTmP2U5yX67xVpsbbOiquusbWVyA9N+sy6+r6YVbFkahXvNCeEPWEOMhwDYwbVbGHFkVL03N9I5g+Q==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/ansi-regex\": {\n \"version\": \"6.2.2\",\n \"resolved\": \"https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz\",\n \"integrity\": \"sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-regex?sponsor=1\"\n }\n },\n \"node_modules/ansi-styles\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz\",\n \"integrity\": \"sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-convert\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/ansi-styles?sponsor=1\"\n }\n },\n \"node_modules/argparse\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz\",\n \"integrity\": \"sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==\",\n \"dev\": true,\n \"license\": \"Python-2.0\"\n },\n \"node_modules/array-buffer-byte-length\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz\",\n \"integrity\": \"sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bound\": \"^1.0.3\",\n \"is-array-buffer\": \"^3.0.5\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/array-includes\": {\n \"version\": \"3.1.9\",\n \"resolved\": \"https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz\",\n \"integrity\": \"sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.8\",\n \"call-bound\": \"^1.0.4\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.24.0\",\n \"es-object-atoms\": \"^1.1.1\",\n \"get-intrinsic\": \"^1.3.0\",\n \"is-string\": \"^1.1.1\",\n \"math-intrinsics\": \"^1.1.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/array.prototype.findlastindex\": {\n \"version\": \"1.2.6\",\n \"resolved\": \"https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz\",\n \"integrity\": \"sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.8\",\n \"call-bound\": \"^1.0.4\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.23.9\",\n \"es-errors\": \"^1.3.0\",\n \"es-object-atoms\": \"^1.1.1\",\n \"es-shim-unscopables\": \"^1.1.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/array.prototype.flat\": {\n \"version\": \"1.3.3\",\n \"resolved\": \"https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz\",\n \"integrity\": \"sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.8\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.23.5\",\n \"es-shim-unscopables\": \"^1.0.2\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/array.prototype.flatmap\": {\n \"version\": \"1.3.3\",\n \"resolved\": \"https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz\",\n \"integrity\": \"sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.8\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.23.5\",\n \"es-shim-unscopables\": \"^1.0.2\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/arraybuffer.prototype.slice\": {\n \"version\": \"1.0.4\",\n \"resolved\": \"https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz\",\n \"integrity\": \"sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"array-buffer-byte-length\": \"^1.0.1\",\n \"call-bind\": \"^1.0.8\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.23.5\",\n \"es-errors\": \"^1.3.0\",\n \"get-intrinsic\": \"^1.2.6\",\n \"is-array-buffer\": \"^3.0.4\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/assertion-error\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz\",\n \"integrity\": \"sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12\"\n }\n },\n \"node_modules/ast-v8-to-istanbul\": {\n \"version\": \"0.3.10\",\n \"resolved\": \"https://registry.npmjs.org/ast-v8-to-istanbul/-/ast-v8-to-istanbul-0.3.10.tgz\",\n \"integrity\": \"sha512-p4K7vMz2ZSk3wN8l5o3y2bJAoZXT3VuJI5OLTATY/01CYWumWvwkUw0SqDBnNq6IiTO3qDa1eSQDibAV8g7XOQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/trace-mapping\": \"^0.3.31\",\n \"estree-walker\": \"^3.0.3\",\n \"js-tokens\": \"^9.0.1\"\n }\n },\n \"node_modules/ast-v8-to-istanbul/node_modules/estree-walker\": {\n \"version\": \"3.0.3\",\n \"resolved\": \"https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz\",\n \"integrity\": \"sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/estree\": \"^1.0.0\"\n }\n },\n \"node_modules/ast-v8-to-istanbul/node_modules/js-tokens\": {\n \"version\": \"9.0.1\",\n \"resolved\": \"https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz\",\n \"integrity\": \"sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/async-function\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz\",\n \"integrity\": \"sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.4\"\n }\n },\n \"node_modules/available-typed-arrays\": {\n \"version\": \"1.0.7\",\n \"resolved\": \"https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz\",\n \"integrity\": \"sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"possible-typed-array-names\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/balanced-match\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz\",\n \"integrity\": \"sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/baseline-browser-mapping\": {\n \"version\": \"2.9.12\",\n \"resolved\": \"https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.12.tgz\",\n \"integrity\": \"sha512-Mij6Lij93pTAIsSYy5cyBQ975Qh9uLEc5rwGTpomiZeXZL9yIS6uORJakb3ScHgfs0serMMfIbXzokPMuEiRyw==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"bin\": {\n \"baseline-browser-mapping\": \"dist/cli.js\"\n }\n },\n \"node_modules/brace-expansion\": {\n \"version\": \"1.1.12\",\n \"resolved\": \"https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz\",\n \"integrity\": \"sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"balanced-match\": \"^1.0.0\",\n \"concat-map\": \"0.0.1\"\n }\n },\n \"node_modules/braces\": {\n \"version\": \"3.0.3\",\n \"resolved\": \"https://registry.npmjs.org/braces/-/braces-3.0.3.tgz\",\n \"integrity\": \"sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"fill-range\": \"^7.1.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/browserslist\": {\n \"version\": \"4.28.1\",\n \"resolved\": \"https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz\",\n \"integrity\": \"sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/browserslist\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/browserslist\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"baseline-browser-mapping\": \"^2.9.0\",\n \"caniuse-lite\": \"^1.0.30001759\",\n \"electron-to-chromium\": \"^1.5.263\",\n \"node-releases\": \"^2.0.27\",\n \"update-browserslist-db\": \"^1.2.0\"\n },\n \"bin\": {\n \"browserslist\": \"cli.js\"\n },\n \"engines\": {\n \"node\": \"^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7\"\n }\n },\n \"node_modules/cac\": {\n \"version\": \"6.7.14\",\n \"resolved\": \"https://registry.npmjs.org/cac/-/cac-6.7.14.tgz\",\n \"integrity\": \"sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/call-bind\": {\n \"version\": \"1.0.8\",\n \"resolved\": \"https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz\",\n \"integrity\": \"sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind-apply-helpers\": \"^1.0.0\",\n \"es-define-property\": \"^1.0.0\",\n \"get-intrinsic\": \"^1.2.4\",\n \"set-function-length\": \"^1.2.2\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/call-bind-apply-helpers\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz\",\n \"integrity\": \"sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"es-errors\": \"^1.3.0\",\n \"function-bind\": \"^1.1.2\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n }\n },\n \"node_modules/call-bound\": {\n \"version\": \"1.0.4\",\n \"resolved\": \"https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz\",\n \"integrity\": \"sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind-apply-helpers\": \"^1.0.2\",\n \"get-intrinsic\": \"^1.3.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/callsites\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz\",\n \"integrity\": \"sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/caniuse-lite\": {\n \"version\": \"1.0.30001763\",\n \"resolved\": \"https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001763.tgz\",\n \"integrity\": \"sha512-mh/dGtq56uN98LlNX9qdbKnzINhX0QzhiWBFEkFfsFO4QyCvL8YegrJAazCwXIeqkIob8BlZPGM3xdnY+sgmvQ==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/browserslist\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/caniuse-lite\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"CC-BY-4.0\"\n },\n \"node_modules/chai\": {\n \"version\": \"5.3.3\",\n \"resolved\": \"https://registry.npmjs.org/chai/-/chai-5.3.3.tgz\",\n \"integrity\": \"sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"assertion-error\": \"^2.0.1\",\n \"check-error\": \"^2.1.1\",\n \"deep-eql\": \"^5.0.1\",\n \"loupe\": \"^3.1.0\",\n \"pathval\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/chalk\": {\n \"version\": \"4.1.2\",\n \"resolved\": \"https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz\",\n \"integrity\": \"sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.1.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/chalk?sponsor=1\"\n }\n },\n \"node_modules/check-error\": {\n \"version\": \"2.1.3\",\n \"resolved\": \"https://registry.npmjs.org/check-error/-/check-error-2.1.3.tgz\",\n \"integrity\": \"sha512-PAJdDJusoxnwm1VwW07VWwUN1sl7smmC3OKggvndJFadxxDRyFJBX/ggnu/KE4kQAB7a3Dp8f/YXC1FlUprWmA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 16\"\n }\n },\n \"node_modules/color-convert\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz\",\n \"integrity\": \"sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"color-name\": \"~1.1.4\"\n },\n \"engines\": {\n \"node\": \">=7.0.0\"\n }\n },\n \"node_modules/color-name\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz\",\n \"integrity\": \"sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/commander\": {\n \"version\": \"14.0.2\",\n \"resolved\": \"https://registry.npmjs.org/commander/-/commander-14.0.2.tgz\",\n \"integrity\": \"sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=20\"\n }\n },\n \"node_modules/compare-versions\": {\n \"version\": \"6.1.1\",\n \"resolved\": \"https://registry.npmjs.org/compare-versions/-/compare-versions-6.1.1.tgz\",\n \"integrity\": \"sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/concat-map\": {\n \"version\": \"0.0.1\",\n \"resolved\": \"https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz\",\n \"integrity\": \"sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/confbox\": {\n \"version\": \"0.2.2\",\n \"resolved\": \"https://registry.npmjs.org/confbox/-/confbox-0.2.2.tgz\",\n \"integrity\": \"sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/convert-source-map\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz\",\n \"integrity\": \"sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/cross-spawn\": {\n \"version\": \"7.0.6\",\n \"resolved\": \"https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz\",\n \"integrity\": \"sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"path-key\": \"^3.1.0\",\n \"shebang-command\": \"^2.0.0\",\n \"which\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">= 8\"\n }\n },\n \"node_modules/data-view-buffer\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz\",\n \"integrity\": \"sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bound\": \"^1.0.3\",\n \"es-errors\": \"^1.3.0\",\n \"is-data-view\": \"^1.0.2\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/data-view-byte-length\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz\",\n \"integrity\": \"sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bound\": \"^1.0.3\",\n \"es-errors\": \"^1.3.0\",\n \"is-data-view\": \"^1.0.2\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/inspect-js\"\n }\n },\n \"node_modules/data-view-byte-offset\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz\",\n \"integrity\": \"sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bound\": \"^1.0.2\",\n \"es-errors\": \"^1.3.0\",\n \"is-data-view\": \"^1.0.1\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/dayjs\": {\n \"version\": \"1.11.19\",\n \"resolved\": \"https://registry.npmjs.org/dayjs/-/dayjs-1.11.19.tgz\",\n \"integrity\": \"sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==\",\n \"license\": \"MIT\"\n },\n \"node_modules/de-indent\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz\",\n \"integrity\": \"sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/debounce\": {\n \"version\": \"2.2.0\",\n \"resolved\": \"https://registry.npmjs.org/debounce/-/debounce-2.2.0.tgz\",\n \"integrity\": \"sha512-Xks6RUDLZFdz8LIdR6q0MTH44k7FikOmnh5xkSjMig6ch45afc8sjTjRQf3P6ax8dMgcQrYO/AR2RGWURrruqw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=18\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/debug\": {\n \"version\": \"4.4.3\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-4.4.3.tgz\",\n \"integrity\": \"sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ms\": \"^2.1.3\"\n },\n \"engines\": {\n \"node\": \">=6.0\"\n },\n \"peerDependenciesMeta\": {\n \"supports-color\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/deep-eql\": {\n \"version\": \"5.0.2\",\n \"resolved\": \"https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz\",\n \"integrity\": \"sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/deep-is\": {\n \"version\": \"0.1.4\",\n \"resolved\": \"https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz\",\n \"integrity\": \"sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/define-data-property\": {\n \"version\": \"1.1.4\",\n \"resolved\": \"https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz\",\n \"integrity\": \"sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"es-define-property\": \"^1.0.0\",\n \"es-errors\": \"^1.3.0\",\n \"gopd\": \"^1.0.1\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/define-properties\": {\n \"version\": \"1.2.1\",\n \"resolved\": \"https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz\",\n \"integrity\": \"sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"define-data-property\": \"^1.0.1\",\n \"has-property-descriptors\": \"^1.0.0\",\n \"object-keys\": \"^1.1.1\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/diff\": {\n \"version\": \"8.0.2\",\n \"resolved\": \"https://registry.npmjs.org/diff/-/diff-8.0.2.tgz\",\n \"integrity\": \"sha512-sSuxWU5j5SR9QQji/o2qMvqRNYRDOcBTgsJ/DeCf4iSN4gW+gNMXM7wFIP+fdXZxoNiAnHUTGjCr+TSWXdRDKg==\",\n \"dev\": true,\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.3.1\"\n }\n },\n \"node_modules/doctrine\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz\",\n \"integrity\": \"sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"esutils\": \"^2.0.2\"\n },\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/dunder-proto\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz\",\n \"integrity\": \"sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind-apply-helpers\": \"^1.0.1\",\n \"es-errors\": \"^1.3.0\",\n \"gopd\": \"^1.2.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n }\n },\n \"node_modules/eastasianwidth\": {\n \"version\": \"0.2.0\",\n \"resolved\": \"https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz\",\n \"integrity\": \"sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==\",\n \"license\": \"MIT\"\n },\n \"node_modules/electron-to-chromium\": {\n \"version\": \"1.5.267\",\n \"resolved\": \"https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.267.tgz\",\n \"integrity\": \"sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/emoji-regex\": {\n \"version\": \"9.2.2\",\n \"resolved\": \"https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz\",\n \"integrity\": \"sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==\",\n \"license\": \"MIT\"\n },\n \"node_modules/entities\": {\n \"version\": \"7.0.0\",\n \"resolved\": \"https://registry.npmjs.org/entities/-/entities-7.0.0.tgz\",\n \"integrity\": \"sha512-FDWG5cmEYf2Z00IkYRhbFrwIwvdFKH07uV8dvNy0omp/Qb1xcyCWp2UDtcwJF4QZZvk0sLudP6/hAu42TaqVhQ==\",\n \"dev\": true,\n \"license\": \"BSD-2-Clause\",\n \"engines\": {\n \"node\": \">=0.12\"\n },\n \"funding\": {\n \"url\": \"https://github.com/fb55/entities?sponsor=1\"\n }\n },\n \"node_modules/es-abstract\": {\n \"version\": \"1.24.1\",\n \"resolved\": \"https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.1.tgz\",\n \"integrity\": \"sha512-zHXBLhP+QehSSbsS9Pt23Gg964240DPd6QCf8WpkqEXxQ7fhdZzYsocOr5u7apWonsS5EjZDmTF+/slGMyasvw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"array-buffer-byte-length\": \"^1.0.2\",\n \"arraybuffer.prototype.slice\": \"^1.0.4\",\n \"available-typed-arrays\": \"^1.0.7\",\n \"call-bind\": \"^1.0.8\",\n \"call-bound\": \"^1.0.4\",\n \"data-view-buffer\": \"^1.0.2\",\n \"data-view-byte-length\": \"^1.0.2\",\n \"data-view-byte-offset\": \"^1.0.1\",\n \"es-define-property\": \"^1.0.1\",\n \"es-errors\": \"^1.3.0\",\n \"es-object-atoms\": \"^1.1.1\",\n \"es-set-tostringtag\": \"^2.1.0\",\n \"es-to-primitive\": \"^1.3.0\",\n \"function.prototype.name\": \"^1.1.8\",\n \"get-intrinsic\": \"^1.3.0\",\n \"get-proto\": \"^1.0.1\",\n \"get-symbol-description\": \"^1.1.0\",\n \"globalthis\": \"^1.0.4\",\n \"gopd\": \"^1.2.0\",\n \"has-property-descriptors\": \"^1.0.2\",\n \"has-proto\": \"^1.2.0\",\n \"has-symbols\": \"^1.1.0\",\n \"hasown\": \"^2.0.2\",\n \"internal-slot\": \"^1.1.0\",\n \"is-array-buffer\": \"^3.0.5\",\n \"is-callable\": \"^1.2.7\",\n \"is-data-view\": \"^1.0.2\",\n \"is-negative-zero\": \"^2.0.3\",\n \"is-regex\": \"^1.2.1\",\n \"is-set\": \"^2.0.3\",\n \"is-shared-array-buffer\": \"^1.0.4\",\n \"is-string\": \"^1.1.1\",\n \"is-typed-array\": \"^1.1.15\",\n \"is-weakref\": \"^1.1.1\",\n \"math-intrinsics\": \"^1.1.0\",\n \"object-inspect\": \"^1.13.4\",\n \"object-keys\": \"^1.1.1\",\n \"object.assign\": \"^4.1.7\",\n \"own-keys\": \"^1.0.1\",\n \"regexp.prototype.flags\": \"^1.5.4\",\n \"safe-array-concat\": \"^1.1.3\",\n \"safe-push-apply\": \"^1.0.0\",\n \"safe-regex-test\": \"^1.1.0\",\n \"set-proto\": \"^1.0.0\",\n \"stop-iteration-iterator\": \"^1.1.0\",\n \"string.prototype.trim\": \"^1.2.10\",\n \"string.prototype.trimend\": \"^1.0.9\",\n \"string.prototype.trimstart\": \"^1.0.8\",\n \"typed-array-buffer\": \"^1.0.3\",\n \"typed-array-byte-length\": \"^1.0.3\",\n \"typed-array-byte-offset\": \"^1.0.4\",\n \"typed-array-length\": \"^1.0.7\",\n \"unbox-primitive\": \"^1.1.0\",\n \"which-typed-array\": \"^1.1.19\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/es-define-property\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz\",\n \"integrity\": \"sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.4\"\n }\n },\n \"node_modules/es-errors\": {\n \"version\": \"1.3.0\",\n \"resolved\": \"https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz\",\n \"integrity\": \"sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.4\"\n }\n },\n \"node_modules/es-module-lexer\": {\n \"version\": \"1.7.0\",\n \"resolved\": \"https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz\",\n \"integrity\": \"sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/es-object-atoms\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz\",\n \"integrity\": \"sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"es-errors\": \"^1.3.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n }\n },\n \"node_modules/es-set-tostringtag\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz\",\n \"integrity\": \"sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"es-errors\": \"^1.3.0\",\n \"get-intrinsic\": \"^1.2.6\",\n \"has-tostringtag\": \"^1.0.2\",\n \"hasown\": \"^2.0.2\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n }\n },\n \"node_modules/es-shim-unscopables\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz\",\n \"integrity\": \"sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"hasown\": \"^2.0.2\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n }\n },\n \"node_modules/es-to-primitive\": {\n \"version\": \"1.3.0\",\n \"resolved\": \"https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz\",\n \"integrity\": \"sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"is-callable\": \"^1.2.7\",\n \"is-date-object\": \"^1.0.5\",\n \"is-symbol\": \"^1.0.4\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/esbuild\": {\n \"version\": \"0.27.2\",\n \"resolved\": \"https://registry.npmjs.org/esbuild/-/esbuild-0.27.2.tgz\",\n \"integrity\": \"sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"esbuild\": \"bin/esbuild\"\n },\n \"engines\": {\n \"node\": \">=18\"\n },\n \"optionalDependencies\": {\n \"@esbuild/aix-ppc64\": \"0.27.2\",\n \"@esbuild/android-arm\": \"0.27.2\",\n \"@esbuild/android-arm64\": \"0.27.2\",\n \"@esbuild/android-x64\": \"0.27.2\",\n \"@esbuild/darwin-arm64\": \"0.27.2\",\n \"@esbuild/darwin-x64\": \"0.27.2\",\n \"@esbuild/freebsd-arm64\": \"0.27.2\",\n \"@esbuild/freebsd-x64\": \"0.27.2\",\n \"@esbuild/linux-arm\": \"0.27.2\",\n \"@esbuild/linux-arm64\": \"0.27.2\",\n \"@esbuild/linux-ia32\": \"0.27.2\",\n \"@esbuild/linux-loong64\": \"0.27.2\",\n \"@esbuild/linux-mips64el\": \"0.27.2\",\n \"@esbuild/linux-ppc64\": \"0.27.2\",\n \"@esbuild/linux-riscv64\": \"0.27.2\",\n \"@esbuild/linux-s390x\": \"0.27.2\",\n \"@esbuild/linux-x64\": \"0.27.2\",\n \"@esbuild/netbsd-arm64\": \"0.27.2\",\n \"@esbuild/netbsd-x64\": \"0.27.2\",\n \"@esbuild/openbsd-arm64\": \"0.27.2\",\n \"@esbuild/openbsd-x64\": \"0.27.2\",\n \"@esbuild/openharmony-arm64\": \"0.27.2\",\n \"@esbuild/sunos-x64\": \"0.27.2\",\n \"@esbuild/win32-arm64\": \"0.27.2\",\n \"@esbuild/win32-ia32\": \"0.27.2\",\n \"@esbuild/win32-x64\": \"0.27.2\"\n }\n },\n \"node_modules/escalade\": {\n \"version\": \"3.2.0\",\n \"resolved\": \"https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz\",\n \"integrity\": \"sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/eslint\": {\n \"version\": \"9.39.2\",\n \"resolved\": \"https://registry.npmjs.org/eslint/-/eslint-9.39.2.tgz\",\n \"integrity\": \"sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@eslint-community/eslint-utils\": \"^4.8.0\",\n \"@eslint-community/regexpp\": \"^4.12.1\",\n \"@eslint/config-array\": \"^0.21.1\",\n \"@eslint/config-helpers\": \"^0.4.2\",\n \"@eslint/core\": \"^0.17.0\",\n \"@eslint/eslintrc\": \"^3.3.1\",\n \"@eslint/js\": \"9.39.2\",\n \"@eslint/plugin-kit\": \"^0.4.1\",\n \"@humanfs/node\": \"^0.16.6\",\n \"@humanwhocodes/module-importer\": \"^1.0.1\",\n \"@humanwhocodes/retry\": \"^0.4.2\",\n \"@types/estree\": \"^1.0.6\",\n \"ajv\": \"^6.12.4\",\n \"chalk\": \"^4.0.0\",\n \"cross-spawn\": \"^7.0.6\",\n \"debug\": \"^4.3.2\",\n \"escape-string-regexp\": \"^4.0.0\",\n \"eslint-scope\": \"^8.4.0\",\n \"eslint-visitor-keys\": \"^4.2.1\",\n \"espree\": \"^10.4.0\",\n \"esquery\": \"^1.5.0\",\n \"esutils\": \"^2.0.2\",\n \"fast-deep-equal\": \"^3.1.3\",\n \"file-entry-cache\": \"^8.0.0\",\n \"find-up\": \"^5.0.0\",\n \"glob-parent\": \"^6.0.2\",\n \"ignore\": \"^5.2.0\",\n \"imurmurhash\": \"^0.1.4\",\n \"is-glob\": \"^4.0.0\",\n \"json-stable-stringify-without-jsonify\": \"^1.0.1\",\n \"lodash.merge\": \"^4.6.2\",\n \"minimatch\": \"^3.1.2\",\n \"natural-compare\": \"^1.4.0\",\n \"optionator\": \"^0.9.3\"\n },\n \"bin\": {\n \"eslint\": \"bin/eslint.js\"\n },\n \"engines\": {\n \"node\": \"^18.18.0 || ^20.9.0 || >=21.1.0\"\n },\n \"funding\": {\n \"url\": \"https://eslint.org/donate\"\n },\n \"peerDependencies\": {\n \"jiti\": \"*\"\n },\n \"peerDependenciesMeta\": {\n \"jiti\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/eslint-import-resolver-node\": {\n \"version\": \"0.3.9\",\n \"resolved\": \"https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz\",\n \"integrity\": \"sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"debug\": \"^3.2.7\",\n \"is-core-module\": \"^2.13.0\",\n \"resolve\": \"^1.22.4\"\n }\n },\n \"node_modules/eslint-import-resolver-node/node_modules/debug\": {\n \"version\": \"3.2.7\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-3.2.7.tgz\",\n \"integrity\": \"sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ms\": \"^2.1.1\"\n }\n },\n \"node_modules/eslint-module-utils\": {\n \"version\": \"2.12.1\",\n \"resolved\": \"https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz\",\n \"integrity\": \"sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"debug\": \"^3.2.7\"\n },\n \"engines\": {\n \"node\": \">=4\"\n },\n \"peerDependenciesMeta\": {\n \"eslint\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/eslint-module-utils/node_modules/debug\": {\n \"version\": \"3.2.7\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-3.2.7.tgz\",\n \"integrity\": \"sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ms\": \"^2.1.1\"\n }\n },\n \"node_modules/eslint-plugin-import\": {\n \"version\": \"2.32.0\",\n \"resolved\": \"https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz\",\n \"integrity\": \"sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@rtsao/scc\": \"^1.1.0\",\n \"array-includes\": \"^3.1.9\",\n \"array.prototype.findlastindex\": \"^1.2.6\",\n \"array.prototype.flat\": \"^1.3.3\",\n \"array.prototype.flatmap\": \"^1.3.3\",\n \"debug\": \"^3.2.7\",\n \"doctrine\": \"^2.1.0\",\n \"eslint-import-resolver-node\": \"^0.3.9\",\n \"eslint-module-utils\": \"^2.12.1\",\n \"hasown\": \"^2.0.2\",\n \"is-core-module\": \"^2.16.1\",\n \"is-glob\": \"^4.0.3\",\n \"minimatch\": \"^3.1.2\",\n \"object.fromentries\": \"^2.0.8\",\n \"object.groupby\": \"^1.0.3\",\n \"object.values\": \"^1.2.1\",\n \"semver\": \"^6.3.1\",\n \"string.prototype.trimend\": \"^1.0.9\",\n \"tsconfig-paths\": \"^3.15.0\"\n },\n \"engines\": {\n \"node\": \">=4\"\n },\n \"peerDependencies\": {\n \"eslint\": \"^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9\"\n }\n },\n \"node_modules/eslint-plugin-import/node_modules/debug\": {\n \"version\": \"3.2.7\",\n \"resolved\": \"https://registry.npmjs.org/debug/-/debug-3.2.7.tgz\",\n \"integrity\": \"sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ms\": \"^2.1.1\"\n }\n },\n \"node_modules/eslint-scope\": {\n \"version\": \"8.4.0\",\n \"resolved\": \"https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz\",\n \"integrity\": \"sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==\",\n \"dev\": true,\n \"license\": \"BSD-2-Clause\",\n \"dependencies\": {\n \"esrecurse\": \"^4.3.0\",\n \"estraverse\": \"^5.2.0\"\n },\n \"engines\": {\n \"node\": \"^18.18.0 || ^20.9.0 || >=21.1.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/eslint\"\n }\n },\n \"node_modules/eslint-visitor-keys\": {\n \"version\": \"3.4.3\",\n \"resolved\": \"https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz\",\n \"integrity\": \"sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"engines\": {\n \"node\": \"^12.22.0 || ^14.17.0 || >=16.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/eslint\"\n }\n },\n \"node_modules/eslint/node_modules/escape-string-regexp\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz\",\n \"integrity\": \"sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/eslint/node_modules/eslint-visitor-keys\": {\n \"version\": \"4.2.1\",\n \"resolved\": \"https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz\",\n \"integrity\": \"sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"engines\": {\n \"node\": \"^18.18.0 || ^20.9.0 || >=21.1.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/eslint\"\n }\n },\n \"node_modules/espree\": {\n \"version\": \"10.4.0\",\n \"resolved\": \"https://registry.npmjs.org/espree/-/espree-10.4.0.tgz\",\n \"integrity\": \"sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==\",\n \"dev\": true,\n \"license\": \"BSD-2-Clause\",\n \"dependencies\": {\n \"acorn\": \"^8.15.0\",\n \"acorn-jsx\": \"^5.3.2\",\n \"eslint-visitor-keys\": \"^4.2.1\"\n },\n \"engines\": {\n \"node\": \"^18.18.0 || ^20.9.0 || >=21.1.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/eslint\"\n }\n },\n \"node_modules/espree/node_modules/eslint-visitor-keys\": {\n \"version\": \"4.2.1\",\n \"resolved\": \"https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz\",\n \"integrity\": \"sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"engines\": {\n \"node\": \"^18.18.0 || ^20.9.0 || >=21.1.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/eslint\"\n }\n },\n \"node_modules/esquery\": {\n \"version\": \"1.7.0\",\n \"resolved\": \"https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz\",\n \"integrity\": \"sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==\",\n \"dev\": true,\n \"license\": \"BSD-3-Clause\",\n \"dependencies\": {\n \"estraverse\": \"^5.1.0\"\n },\n \"engines\": {\n \"node\": \">=0.10\"\n }\n },\n \"node_modules/esrecurse\": {\n \"version\": \"4.3.0\",\n \"resolved\": \"https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz\",\n \"integrity\": \"sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==\",\n \"dev\": true,\n \"license\": \"BSD-2-Clause\",\n \"dependencies\": {\n \"estraverse\": \"^5.2.0\"\n },\n \"engines\": {\n \"node\": \">=4.0\"\n }\n },\n \"node_modules/estraverse\": {\n \"version\": \"5.3.0\",\n \"resolved\": \"https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz\",\n \"integrity\": \"sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==\",\n \"dev\": true,\n \"license\": \"BSD-2-Clause\",\n \"engines\": {\n \"node\": \">=4.0\"\n }\n },\n \"node_modules/estree-walker\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz\",\n \"integrity\": \"sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/esutils\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz\",\n \"integrity\": \"sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==\",\n \"dev\": true,\n \"license\": \"BSD-2-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/expect-type\": {\n \"version\": \"1.3.0\",\n \"resolved\": \"https://registry.npmjs.org/expect-type/-/expect-type-1.3.0.tgz\",\n \"integrity\": \"sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"engines\": {\n \"node\": \">=12.0.0\"\n }\n },\n \"node_modules/exsolve\": {\n \"version\": \"1.0.8\",\n \"resolved\": \"https://registry.npmjs.org/exsolve/-/exsolve-1.0.8.tgz\",\n \"integrity\": \"sha512-LmDxfWXwcTArk8fUEnOfSZpHOJ6zOMUJKOtFLFqJLoKJetuQG874Uc7/Kki7zFLzYybmZhp1M7+98pfMqeX8yA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/fast-deep-equal\": {\n \"version\": \"3.1.3\",\n \"resolved\": \"https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz\",\n \"integrity\": \"sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/fast-glob\": {\n \"version\": \"3.3.3\",\n \"resolved\": \"https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz\",\n \"integrity\": \"sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@nodelib/fs.stat\": \"^2.0.2\",\n \"@nodelib/fs.walk\": \"^1.2.3\",\n \"glob-parent\": \"^5.1.2\",\n \"merge2\": \"^1.3.0\",\n \"micromatch\": \"^4.0.8\"\n },\n \"engines\": {\n \"node\": \">=8.6.0\"\n }\n },\n \"node_modules/fast-glob/node_modules/glob-parent\": {\n \"version\": \"5.1.2\",\n \"resolved\": \"https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz\",\n \"integrity\": \"sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"dependencies\": {\n \"is-glob\": \"^4.0.1\"\n },\n \"engines\": {\n \"node\": \">= 6\"\n }\n },\n \"node_modules/fast-json-stable-stringify\": {\n \"version\": \"2.1.0\",\n \"resolved\": \"https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz\",\n \"integrity\": \"sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/fast-levenshtein\": {\n \"version\": \"2.0.6\",\n \"resolved\": \"https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz\",\n \"integrity\": \"sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/fast-uri\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz\",\n \"integrity\": \"sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/fastify\"\n },\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/fastify\"\n }\n ],\n \"license\": \"BSD-3-Clause\"\n },\n \"node_modules/fastq\": {\n \"version\": \"1.20.1\",\n \"resolved\": \"https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz\",\n \"integrity\": \"sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"dependencies\": {\n \"reusify\": \"^1.0.4\"\n }\n },\n \"node_modules/fdir\": {\n \"version\": \"6.5.0\",\n \"resolved\": \"https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz\",\n \"integrity\": \"sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12.0.0\"\n },\n \"peerDependencies\": {\n \"picomatch\": \"^3 || ^4\"\n },\n \"peerDependenciesMeta\": {\n \"picomatch\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/file-entry-cache\": {\n \"version\": \"8.0.0\",\n \"resolved\": \"https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz\",\n \"integrity\": \"sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"flat-cache\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=16.0.0\"\n }\n },\n \"node_modules/fill-range\": {\n \"version\": \"7.1.1\",\n \"resolved\": \"https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz\",\n \"integrity\": \"sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"to-regex-range\": \"^5.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/find-up\": {\n \"version\": \"5.0.0\",\n \"resolved\": \"https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz\",\n \"integrity\": \"sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"locate-path\": \"^6.0.0\",\n \"path-exists\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/flat-cache\": {\n \"version\": \"4.0.1\",\n \"resolved\": \"https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz\",\n \"integrity\": \"sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"flatted\": \"^3.2.9\",\n \"keyv\": \"^4.5.4\"\n },\n \"engines\": {\n \"node\": \">=16\"\n }\n },\n \"node_modules/flatted\": {\n \"version\": \"3.3.3\",\n \"resolved\": \"https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz\",\n \"integrity\": \"sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/for-each\": {\n \"version\": \"0.3.5\",\n \"resolved\": \"https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz\",\n \"integrity\": \"sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"is-callable\": \"^1.2.7\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/foreground-child\": {\n \"version\": \"3.3.1\",\n \"resolved\": \"https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz\",\n \"integrity\": \"sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==\",\n \"license\": \"ISC\",\n \"dependencies\": {\n \"cross-spawn\": \"^7.0.6\",\n \"signal-exit\": \"^4.0.1\"\n },\n \"engines\": {\n \"node\": \">=14\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/isaacs\"\n }\n },\n \"node_modules/fs-extra\": {\n \"version\": \"11.3.3\",\n \"resolved\": \"https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.3.tgz\",\n \"integrity\": \"sha512-VWSRii4t0AFm6ixFFmLLx1t7wS1gh+ckoa84aOeapGum0h+EZd1EhEumSB+ZdDLnEPuucsVB9oB7cxJHap6Afg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"graceful-fs\": \"^4.2.0\",\n \"jsonfile\": \"^6.0.1\",\n \"universalify\": \"^2.0.0\"\n },\n \"engines\": {\n \"node\": \">=14.14\"\n }\n },\n \"node_modules/fsevents\": {\n \"version\": \"2.3.3\",\n \"resolved\": \"https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz\",\n \"integrity\": \"sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==\",\n \"dev\": true,\n \"hasInstallScript\": true,\n \"license\": \"MIT\",\n \"optional\": true,\n \"os\": [\n \"darwin\"\n ],\n \"engines\": {\n \"node\": \"^8.16.0 || ^10.6.0 || >=11.0.0\"\n }\n },\n \"node_modules/function-bind\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz\",\n \"integrity\": \"sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/function.prototype.name\": {\n \"version\": \"1.1.8\",\n \"resolved\": \"https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz\",\n \"integrity\": \"sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.8\",\n \"call-bound\": \"^1.0.3\",\n \"define-properties\": \"^1.2.1\",\n \"functions-have-names\": \"^1.2.3\",\n \"hasown\": \"^2.0.2\",\n \"is-callable\": \"^1.2.7\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/functions-have-names\": {\n \"version\": \"1.2.3\",\n \"resolved\": \"https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz\",\n \"integrity\": \"sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/generator-function\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/generator-function/-/generator-function-2.0.1.tgz\",\n \"integrity\": \"sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.4\"\n }\n },\n \"node_modules/gensync\": {\n \"version\": \"1.0.0-beta.2\",\n \"resolved\": \"https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz\",\n \"integrity\": \"sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6.9.0\"\n }\n },\n \"node_modules/get-intrinsic\": {\n \"version\": \"1.3.0\",\n \"resolved\": \"https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz\",\n \"integrity\": \"sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind-apply-helpers\": \"^1.0.2\",\n \"es-define-property\": \"^1.0.1\",\n \"es-errors\": \"^1.3.0\",\n \"es-object-atoms\": \"^1.1.1\",\n \"function-bind\": \"^1.1.2\",\n \"get-proto\": \"^1.0.1\",\n \"gopd\": \"^1.2.0\",\n \"has-symbols\": \"^1.1.0\",\n \"hasown\": \"^2.0.2\",\n \"math-intrinsics\": \"^1.1.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/get-proto\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz\",\n \"integrity\": \"sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"dunder-proto\": \"^1.0.1\",\n \"es-object-atoms\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n }\n },\n \"node_modules/get-symbol-description\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz\",\n \"integrity\": \"sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bound\": \"^1.0.3\",\n \"es-errors\": \"^1.3.0\",\n \"get-intrinsic\": \"^1.2.6\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/glob\": {\n \"version\": \"11.1.0\",\n \"resolved\": \"https://registry.npmjs.org/glob/-/glob-11.1.0.tgz\",\n \"integrity\": \"sha512-vuNwKSaKiqm7g0THUBu2x7ckSs3XJLXE+2ssL7/MfTGPLLcrJQ/4Uq1CjPTtO5cCIiRxqvN6Twy1qOwhL0Xjcw==\",\n \"license\": \"BlueOak-1.0.0\",\n \"dependencies\": {\n \"foreground-child\": \"^3.3.1\",\n \"jackspeak\": \"^4.1.1\",\n \"minimatch\": \"^10.1.1\",\n \"minipass\": \"^7.1.2\",\n \"package-json-from-dist\": \"^1.0.0\",\n \"path-scurry\": \"^2.0.0\"\n },\n \"bin\": {\n \"glob\": \"dist/esm/bin.mjs\"\n },\n \"engines\": {\n \"node\": \"20 || >=22\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/isaacs\"\n }\n },\n \"node_modules/glob-parent\": {\n \"version\": \"6.0.2\",\n \"resolved\": \"https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz\",\n \"integrity\": \"sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"dependencies\": {\n \"is-glob\": \"^4.0.3\"\n },\n \"engines\": {\n \"node\": \">=10.13.0\"\n }\n },\n \"node_modules/glob/node_modules/minimatch\": {\n \"version\": \"10.1.1\",\n \"resolved\": \"https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz\",\n \"integrity\": \"sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==\",\n \"license\": \"BlueOak-1.0.0\",\n \"dependencies\": {\n \"@isaacs/brace-expansion\": \"^5.0.0\"\n },\n \"engines\": {\n \"node\": \"20 || >=22\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/isaacs\"\n }\n },\n \"node_modules/globals\": {\n \"version\": \"16.5.0\",\n \"resolved\": \"https://registry.npmjs.org/globals/-/globals-16.5.0.tgz\",\n \"integrity\": \"sha512-c/c15i26VrJ4IRt5Z89DnIzCGDn9EcebibhAOjw5ibqEHsE1wLUgkPn9RDmNcUKyU87GeaL633nyJ+pplFR2ZQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=18\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/globalthis\": {\n \"version\": \"1.0.4\",\n \"resolved\": \"https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz\",\n \"integrity\": \"sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"define-properties\": \"^1.2.1\",\n \"gopd\": \"^1.0.1\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/gopd\": {\n \"version\": \"1.2.0\",\n \"resolved\": \"https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz\",\n \"integrity\": \"sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/graceful-fs\": {\n \"version\": \"4.2.11\",\n \"resolved\": \"https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz\",\n \"integrity\": \"sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/has-bigints\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz\",\n \"integrity\": \"sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/has-flag\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz\",\n \"integrity\": \"sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/has-property-descriptors\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz\",\n \"integrity\": \"sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"es-define-property\": \"^1.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/has-proto\": {\n \"version\": \"1.2.0\",\n \"resolved\": \"https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz\",\n \"integrity\": \"sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"dunder-proto\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/has-symbols\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz\",\n \"integrity\": \"sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/has-tostringtag\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz\",\n \"integrity\": \"sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-symbols\": \"^1.0.3\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/hasown\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz\",\n \"integrity\": \"sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"function-bind\": \"^1.1.2\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n }\n },\n \"node_modules/he\": {\n \"version\": \"1.2.0\",\n \"resolved\": \"https://registry.npmjs.org/he/-/he-1.2.0.tgz\",\n \"integrity\": \"sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"he\": \"bin/he\"\n }\n },\n \"node_modules/html-escaper\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz\",\n \"integrity\": \"sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/ignore\": {\n \"version\": \"5.3.2\",\n \"resolved\": \"https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz\",\n \"integrity\": \"sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 4\"\n }\n },\n \"node_modules/import-fresh\": {\n \"version\": \"3.3.1\",\n \"resolved\": \"https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz\",\n \"integrity\": \"sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"parent-module\": \"^1.0.0\",\n \"resolve-from\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=6\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/import-lazy\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz\",\n \"integrity\": \"sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/imurmurhash\": {\n \"version\": \"0.1.4\",\n \"resolved\": \"https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz\",\n \"integrity\": \"sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.8.19\"\n }\n },\n \"node_modules/internal-slot\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz\",\n \"integrity\": \"sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"es-errors\": \"^1.3.0\",\n \"hasown\": \"^2.0.2\",\n \"side-channel\": \"^1.1.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n }\n },\n \"node_modules/is-array-buffer\": {\n \"version\": \"3.0.5\",\n \"resolved\": \"https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz\",\n \"integrity\": \"sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.8\",\n \"call-bound\": \"^1.0.3\",\n \"get-intrinsic\": \"^1.2.6\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-async-function\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz\",\n \"integrity\": \"sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"async-function\": \"^1.0.0\",\n \"call-bound\": \"^1.0.3\",\n \"get-proto\": \"^1.0.1\",\n \"has-tostringtag\": \"^1.0.2\",\n \"safe-regex-test\": \"^1.1.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-bigint\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz\",\n \"integrity\": \"sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-bigints\": \"^1.0.2\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-boolean-object\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz\",\n \"integrity\": \"sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bound\": \"^1.0.3\",\n \"has-tostringtag\": \"^1.0.2\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-callable\": {\n \"version\": \"1.2.7\",\n \"resolved\": \"https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz\",\n \"integrity\": \"sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-core-module\": {\n \"version\": \"2.16.1\",\n \"resolved\": \"https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz\",\n \"integrity\": \"sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"hasown\": \"^2.0.2\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-data-view\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz\",\n \"integrity\": \"sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bound\": \"^1.0.2\",\n \"get-intrinsic\": \"^1.2.6\",\n \"is-typed-array\": \"^1.1.13\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-date-object\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz\",\n \"integrity\": \"sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bound\": \"^1.0.2\",\n \"has-tostringtag\": \"^1.0.2\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-extglob\": {\n \"version\": \"2.1.1\",\n \"resolved\": \"https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz\",\n \"integrity\": \"sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/is-finalizationregistry\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz\",\n \"integrity\": \"sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bound\": \"^1.0.3\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-fullwidth-code-point\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz\",\n \"integrity\": \"sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/is-generator-function\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.2.tgz\",\n \"integrity\": \"sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bound\": \"^1.0.4\",\n \"generator-function\": \"^2.0.0\",\n \"get-proto\": \"^1.0.1\",\n \"has-tostringtag\": \"^1.0.2\",\n \"safe-regex-test\": \"^1.1.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-glob\": {\n \"version\": \"4.0.3\",\n \"resolved\": \"https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz\",\n \"integrity\": \"sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"is-extglob\": \"^2.1.1\"\n },\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/is-map\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz\",\n \"integrity\": \"sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-negative-zero\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz\",\n \"integrity\": \"sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-number\": {\n \"version\": \"7.0.0\",\n \"resolved\": \"https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz\",\n \"integrity\": \"sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.12.0\"\n }\n },\n \"node_modules/is-number-object\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz\",\n \"integrity\": \"sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bound\": \"^1.0.3\",\n \"has-tostringtag\": \"^1.0.2\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-regex\": {\n \"version\": \"1.2.1\",\n \"resolved\": \"https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz\",\n \"integrity\": \"sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bound\": \"^1.0.2\",\n \"gopd\": \"^1.2.0\",\n \"has-tostringtag\": \"^1.0.2\",\n \"hasown\": \"^2.0.2\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-set\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz\",\n \"integrity\": \"sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-shared-array-buffer\": {\n \"version\": \"1.0.4\",\n \"resolved\": \"https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz\",\n \"integrity\": \"sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bound\": \"^1.0.3\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-string\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz\",\n \"integrity\": \"sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bound\": \"^1.0.3\",\n \"has-tostringtag\": \"^1.0.2\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-symbol\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz\",\n \"integrity\": \"sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bound\": \"^1.0.2\",\n \"has-symbols\": \"^1.1.0\",\n \"safe-regex-test\": \"^1.1.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-typed-array\": {\n \"version\": \"1.1.15\",\n \"resolved\": \"https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz\",\n \"integrity\": \"sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"which-typed-array\": \"^1.1.16\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-weakmap\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz\",\n \"integrity\": \"sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-weakref\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz\",\n \"integrity\": \"sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bound\": \"^1.0.3\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/is-weakset\": {\n \"version\": \"2.0.4\",\n \"resolved\": \"https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz\",\n \"integrity\": \"sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bound\": \"^1.0.3\",\n \"get-intrinsic\": \"^1.2.6\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/isarray\": {\n \"version\": \"2.0.5\",\n \"resolved\": \"https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz\",\n \"integrity\": \"sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/isexe\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz\",\n \"integrity\": \"sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==\",\n \"license\": \"ISC\"\n },\n \"node_modules/istanbul-lib-coverage\": {\n \"version\": \"3.2.2\",\n \"resolved\": \"https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz\",\n \"integrity\": \"sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==\",\n \"dev\": true,\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/istanbul-lib-report\": {\n \"version\": \"3.0.1\",\n \"resolved\": \"https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz\",\n \"integrity\": \"sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==\",\n \"dev\": true,\n \"license\": \"BSD-3-Clause\",\n \"dependencies\": {\n \"istanbul-lib-coverage\": \"^3.0.0\",\n \"make-dir\": \"^4.0.0\",\n \"supports-color\": \"^7.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/istanbul-lib-source-maps\": {\n \"version\": \"5.0.6\",\n \"resolved\": \"https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.6.tgz\",\n \"integrity\": \"sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==\",\n \"dev\": true,\n \"license\": \"BSD-3-Clause\",\n \"dependencies\": {\n \"@jridgewell/trace-mapping\": \"^0.3.23\",\n \"debug\": \"^4.1.1\",\n \"istanbul-lib-coverage\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/istanbul-reports\": {\n \"version\": \"3.2.0\",\n \"resolved\": \"https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.2.0.tgz\",\n \"integrity\": \"sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==\",\n \"dev\": true,\n \"license\": \"BSD-3-Clause\",\n \"dependencies\": {\n \"html-escaper\": \"^2.0.0\",\n \"istanbul-lib-report\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/jackspeak\": {\n \"version\": \"4.1.1\",\n \"resolved\": \"https://registry.npmjs.org/jackspeak/-/jackspeak-4.1.1.tgz\",\n \"integrity\": \"sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==\",\n \"license\": \"BlueOak-1.0.0\",\n \"dependencies\": {\n \"@isaacs/cliui\": \"^8.0.2\"\n },\n \"engines\": {\n \"node\": \"20 || >=22\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/isaacs\"\n }\n },\n \"node_modules/jju\": {\n \"version\": \"1.4.0\",\n \"resolved\": \"https://registry.npmjs.org/jju/-/jju-1.4.0.tgz\",\n \"integrity\": \"sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/js-tokens\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz\",\n \"integrity\": \"sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/js-yaml\": {\n \"version\": \"4.1.1\",\n \"resolved\": \"https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz\",\n \"integrity\": \"sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"argparse\": \"^2.0.1\"\n },\n \"bin\": {\n \"js-yaml\": \"bin/js-yaml.js\"\n }\n },\n \"node_modules/jsesc\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz\",\n \"integrity\": \"sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"jsesc\": \"bin/jsesc\"\n },\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/json-buffer\": {\n \"version\": \"3.0.1\",\n \"resolved\": \"https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz\",\n \"integrity\": \"sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/json-schema-traverse\": {\n \"version\": \"0.4.1\",\n \"resolved\": \"https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz\",\n \"integrity\": \"sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/json-stable-stringify-without-jsonify\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz\",\n \"integrity\": \"sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/json5\": {\n \"version\": \"2.2.3\",\n \"resolved\": \"https://registry.npmjs.org/json5/-/json5-2.2.3.tgz\",\n \"integrity\": \"sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"bin\": {\n \"json5\": \"lib/cli.js\"\n },\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/jsonfile\": {\n \"version\": \"6.2.0\",\n \"resolved\": \"https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz\",\n \"integrity\": \"sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"universalify\": \"^2.0.0\"\n },\n \"optionalDependencies\": {\n \"graceful-fs\": \"^4.1.6\"\n }\n },\n \"node_modules/keyv\": {\n \"version\": \"4.5.4\",\n \"resolved\": \"https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz\",\n \"integrity\": \"sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"json-buffer\": \"3.0.1\"\n }\n },\n \"node_modules/kolorist\": {\n \"version\": \"1.8.0\",\n \"resolved\": \"https://registry.npmjs.org/kolorist/-/kolorist-1.8.0.tgz\",\n \"integrity\": \"sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/levn\": {\n \"version\": \"0.4.1\",\n \"resolved\": \"https://registry.npmjs.org/levn/-/levn-0.4.1.tgz\",\n \"integrity\": \"sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"prelude-ls\": \"^1.2.1\",\n \"type-check\": \"~0.4.0\"\n },\n \"engines\": {\n \"node\": \">= 0.8.0\"\n }\n },\n \"node_modules/local-pkg\": {\n \"version\": \"1.1.2\",\n \"resolved\": \"https://registry.npmjs.org/local-pkg/-/local-pkg-1.1.2.tgz\",\n \"integrity\": \"sha512-arhlxbFRmoQHl33a0Zkle/YWlmNwoyt6QNZEIJcqNbdrsix5Lvc4HyyI3EnwxTYlZYc32EbYrQ8SzEZ7dqgg9A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"mlly\": \"^1.7.4\",\n \"pkg-types\": \"^2.3.0\",\n \"quansync\": \"^0.2.11\"\n },\n \"engines\": {\n \"node\": \">=14\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/antfu\"\n }\n },\n \"node_modules/locate-path\": {\n \"version\": \"6.0.0\",\n \"resolved\": \"https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz\",\n \"integrity\": \"sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"p-locate\": \"^5.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/lodash\": {\n \"version\": \"4.17.21\",\n \"resolved\": \"https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz\",\n \"integrity\": \"sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/lodash.merge\": {\n \"version\": \"4.6.2\",\n \"resolved\": \"https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz\",\n \"integrity\": \"sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/loupe\": {\n \"version\": \"3.2.1\",\n \"resolved\": \"https://registry.npmjs.org/loupe/-/loupe-3.2.1.tgz\",\n \"integrity\": \"sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/lru-cache\": {\n \"version\": \"5.1.1\",\n \"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz\",\n \"integrity\": \"sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"dependencies\": {\n \"yallist\": \"^3.0.2\"\n }\n },\n \"node_modules/magic-string\": {\n \"version\": \"0.30.21\",\n \"resolved\": \"https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz\",\n \"integrity\": \"sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@jridgewell/sourcemap-codec\": \"^1.5.5\"\n }\n },\n \"node_modules/magicast\": {\n \"version\": \"0.3.5\",\n \"resolved\": \"https://registry.npmjs.org/magicast/-/magicast-0.3.5.tgz\",\n \"integrity\": \"sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@babel/parser\": \"^7.25.4\",\n \"@babel/types\": \"^7.25.4\",\n \"source-map-js\": \"^1.2.0\"\n }\n },\n \"node_modules/make-dir\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz\",\n \"integrity\": \"sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"semver\": \"^7.5.3\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/make-dir/node_modules/semver\": {\n \"version\": \"7.7.3\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-7.7.3.tgz\",\n \"integrity\": \"sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"bin\": {\n \"semver\": \"bin/semver.js\"\n },\n \"engines\": {\n \"node\": \">=10\"\n }\n },\n \"node_modules/math-intrinsics\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz\",\n \"integrity\": \"sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.4\"\n }\n },\n \"node_modules/merge2\": {\n \"version\": \"1.4.1\",\n \"resolved\": \"https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz\",\n \"integrity\": \"sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 8\"\n }\n },\n \"node_modules/micromatch\": {\n \"version\": \"4.0.8\",\n \"resolved\": \"https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz\",\n \"integrity\": \"sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"braces\": \"^3.0.3\",\n \"picomatch\": \"^2.3.1\"\n },\n \"engines\": {\n \"node\": \">=8.6\"\n }\n },\n \"node_modules/micromatch/node_modules/picomatch\": {\n \"version\": \"2.3.1\",\n \"resolved\": \"https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz\",\n \"integrity\": \"sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8.6\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/jonschlinkert\"\n }\n },\n \"node_modules/minimatch\": {\n \"version\": \"3.1.2\",\n \"resolved\": \"https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz\",\n \"integrity\": \"sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"dependencies\": {\n \"brace-expansion\": \"^1.1.7\"\n },\n \"engines\": {\n \"node\": \"*\"\n }\n },\n \"node_modules/minimist\": {\n \"version\": \"1.2.8\",\n \"resolved\": \"https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz\",\n \"integrity\": \"sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/minipass\": {\n \"version\": \"7.1.2\",\n \"resolved\": \"https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz\",\n \"integrity\": \"sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==\",\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \">=16 || 14 >=14.17\"\n }\n },\n \"node_modules/mlly\": {\n \"version\": \"1.8.0\",\n \"resolved\": \"https://registry.npmjs.org/mlly/-/mlly-1.8.0.tgz\",\n \"integrity\": \"sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"acorn\": \"^8.15.0\",\n \"pathe\": \"^2.0.3\",\n \"pkg-types\": \"^1.3.1\",\n \"ufo\": \"^1.6.1\"\n }\n },\n \"node_modules/mlly/node_modules/confbox\": {\n \"version\": \"0.1.8\",\n \"resolved\": \"https://registry.npmjs.org/confbox/-/confbox-0.1.8.tgz\",\n \"integrity\": \"sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/mlly/node_modules/pkg-types\": {\n \"version\": \"1.3.1\",\n \"resolved\": \"https://registry.npmjs.org/pkg-types/-/pkg-types-1.3.1.tgz\",\n \"integrity\": \"sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"confbox\": \"^0.1.8\",\n \"mlly\": \"^1.7.4\",\n \"pathe\": \"^2.0.1\"\n }\n },\n \"node_modules/mockdate\": {\n \"version\": \"3.0.5\",\n \"resolved\": \"https://registry.npmjs.org/mockdate/-/mockdate-3.0.5.tgz\",\n \"integrity\": \"sha512-iniQP4rj1FhBdBYS/+eQv7j1tadJ9lJtdzgOpvsOHng/GbcDh2Fhdeq+ZRldrPYdXvCyfFUmFeEwEGXZB5I/AQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/ms\": {\n \"version\": \"2.1.3\",\n \"resolved\": \"https://registry.npmjs.org/ms/-/ms-2.1.3.tgz\",\n \"integrity\": \"sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/muggle-string\": {\n \"version\": \"0.4.1\",\n \"resolved\": \"https://registry.npmjs.org/muggle-string/-/muggle-string-0.4.1.tgz\",\n \"integrity\": \"sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/nanoid\": {\n \"version\": \"3.3.11\",\n \"resolved\": \"https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz\",\n \"integrity\": \"sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"bin\": {\n \"nanoid\": \"bin/nanoid.cjs\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || ^13.7 || ^14 || >=15.0.1\"\n }\n },\n \"node_modules/natural-compare\": {\n \"version\": \"1.4.0\",\n \"resolved\": \"https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz\",\n \"integrity\": \"sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/node-releases\": {\n \"version\": \"2.0.27\",\n \"resolved\": \"https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz\",\n \"integrity\": \"sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/object-inspect\": {\n \"version\": \"1.13.4\",\n \"resolved\": \"https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz\",\n \"integrity\": \"sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/object-keys\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz\",\n \"integrity\": \"sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.4\"\n }\n },\n \"node_modules/object.assign\": {\n \"version\": \"4.1.7\",\n \"resolved\": \"https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz\",\n \"integrity\": \"sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.8\",\n \"call-bound\": \"^1.0.3\",\n \"define-properties\": \"^1.2.1\",\n \"es-object-atoms\": \"^1.0.0\",\n \"has-symbols\": \"^1.1.0\",\n \"object-keys\": \"^1.1.1\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/object.fromentries\": {\n \"version\": \"2.0.8\",\n \"resolved\": \"https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz\",\n \"integrity\": \"sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.23.2\",\n \"es-object-atoms\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/object.groupby\": {\n \"version\": \"1.0.3\",\n \"resolved\": \"https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz\",\n \"integrity\": \"sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.23.2\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n }\n },\n \"node_modules/object.values\": {\n \"version\": \"1.2.1\",\n \"resolved\": \"https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz\",\n \"integrity\": \"sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.8\",\n \"call-bound\": \"^1.0.3\",\n \"define-properties\": \"^1.2.1\",\n \"es-object-atoms\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/optionator\": {\n \"version\": \"0.9.4\",\n \"resolved\": \"https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz\",\n \"integrity\": \"sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"deep-is\": \"^0.1.3\",\n \"fast-levenshtein\": \"^2.0.6\",\n \"levn\": \"^0.4.1\",\n \"prelude-ls\": \"^1.2.1\",\n \"type-check\": \"^0.4.0\",\n \"word-wrap\": \"^1.2.5\"\n },\n \"engines\": {\n \"node\": \">= 0.8.0\"\n }\n },\n \"node_modules/own-keys\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz\",\n \"integrity\": \"sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"get-intrinsic\": \"^1.2.6\",\n \"object-keys\": \"^1.1.1\",\n \"safe-push-apply\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/p-limit\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz\",\n \"integrity\": \"sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"yocto-queue\": \"^0.1.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/p-locate\": {\n \"version\": \"5.0.0\",\n \"resolved\": \"https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz\",\n \"integrity\": \"sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"p-limit\": \"^3.0.2\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/package-json-from-dist\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz\",\n \"integrity\": \"sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==\",\n \"license\": \"BlueOak-1.0.0\"\n },\n \"node_modules/parent-module\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz\",\n \"integrity\": \"sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"callsites\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/path-browserify\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz\",\n \"integrity\": \"sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/path-exists\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz\",\n \"integrity\": \"sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/path-key\": {\n \"version\": \"3.1.1\",\n \"resolved\": \"https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz\",\n \"integrity\": \"sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/path-parse\": {\n \"version\": \"1.0.7\",\n \"resolved\": \"https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz\",\n \"integrity\": \"sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/path-scurry\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.1.tgz\",\n \"integrity\": \"sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==\",\n \"license\": \"BlueOak-1.0.0\",\n \"dependencies\": {\n \"lru-cache\": \"^11.0.0\",\n \"minipass\": \"^7.1.2\"\n },\n \"engines\": {\n \"node\": \"20 || >=22\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/isaacs\"\n }\n },\n \"node_modules/path-scurry/node_modules/lru-cache\": {\n \"version\": \"11.2.4\",\n \"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.4.tgz\",\n \"integrity\": \"sha512-B5Y16Jr9LB9dHVkh6ZevG+vAbOsNOYCX+sXvFWFu7B3Iz5mijW3zdbMyhsh8ANd2mSWBYdJgnqi+mL7/LrOPYg==\",\n \"license\": \"BlueOak-1.0.0\",\n \"engines\": {\n \"node\": \"20 || >=22\"\n }\n },\n \"node_modules/pathe\": {\n \"version\": \"2.0.3\",\n \"resolved\": \"https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz\",\n \"integrity\": \"sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/pathval\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz\",\n \"integrity\": \"sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 14.16\"\n }\n },\n \"node_modules/picocolors\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz\",\n \"integrity\": \"sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/picomatch\": {\n \"version\": \"4.0.3\",\n \"resolved\": \"https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz\",\n \"integrity\": \"sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/jonschlinkert\"\n }\n },\n \"node_modules/pkg-types\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/pkg-types/-/pkg-types-2.3.0.tgz\",\n \"integrity\": \"sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"confbox\": \"^0.2.2\",\n \"exsolve\": \"^1.0.7\",\n \"pathe\": \"^2.0.3\"\n }\n },\n \"node_modules/possible-typed-array-names\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz\",\n \"integrity\": \"sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.4\"\n }\n },\n \"node_modules/postcss\": {\n \"version\": \"8.5.6\",\n \"resolved\": \"https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz\",\n \"integrity\": \"sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/postcss/\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/postcss\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"nanoid\": \"^3.3.11\",\n \"picocolors\": \"^1.1.1\",\n \"source-map-js\": \"^1.2.1\"\n },\n \"engines\": {\n \"node\": \"^10 || ^12 || >=14\"\n }\n },\n \"node_modules/prelude-ls\": {\n \"version\": \"1.2.1\",\n \"resolved\": \"https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz\",\n \"integrity\": \"sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.8.0\"\n }\n },\n \"node_modules/punycode\": {\n \"version\": \"2.3.1\",\n \"resolved\": \"https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz\",\n \"integrity\": \"sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=6\"\n }\n },\n \"node_modules/quansync\": {\n \"version\": \"0.2.11\",\n \"resolved\": \"https://registry.npmjs.org/quansync/-/quansync-0.2.11.tgz\",\n \"integrity\": \"sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"individual\",\n \"url\": \"https://github.com/sponsors/antfu\"\n },\n {\n \"type\": \"individual\",\n \"url\": \"https://github.com/sponsors/sxzz\"\n }\n ],\n \"license\": \"MIT\"\n },\n \"node_modules/queue-microtask\": {\n \"version\": \"1.2.3\",\n \"resolved\": \"https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz\",\n \"integrity\": \"sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/feross\"\n },\n {\n \"type\": \"patreon\",\n \"url\": \"https://www.patreon.com/feross\"\n },\n {\n \"type\": \"consulting\",\n \"url\": \"https://feross.org/support\"\n }\n ],\n \"license\": \"MIT\"\n },\n \"node_modules/reflect.getprototypeof\": {\n \"version\": \"1.0.10\",\n \"resolved\": \"https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz\",\n \"integrity\": \"sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.8\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.23.9\",\n \"es-errors\": \"^1.3.0\",\n \"es-object-atoms\": \"^1.0.0\",\n \"get-intrinsic\": \"^1.2.7\",\n \"get-proto\": \"^1.0.1\",\n \"which-builtin-type\": \"^1.2.1\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/regexp.prototype.flags\": {\n \"version\": \"1.5.4\",\n \"resolved\": \"https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz\",\n \"integrity\": \"sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.8\",\n \"define-properties\": \"^1.2.1\",\n \"es-errors\": \"^1.3.0\",\n \"get-proto\": \"^1.0.1\",\n \"gopd\": \"^1.2.0\",\n \"set-function-name\": \"^2.0.2\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/require-from-string\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz\",\n \"integrity\": \"sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/resolve\": {\n \"version\": \"1.22.11\",\n \"resolved\": \"https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz\",\n \"integrity\": \"sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"is-core-module\": \"^2.16.1\",\n \"path-parse\": \"^1.0.7\",\n \"supports-preserve-symlinks-flag\": \"^1.0.0\"\n },\n \"bin\": {\n \"resolve\": \"bin/resolve\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/resolve-from\": {\n \"version\": \"4.0.0\",\n \"resolved\": \"https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz\",\n \"integrity\": \"sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/reusify\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz\",\n \"integrity\": \"sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"iojs\": \">=1.0.0\",\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/rollup\": {\n \"version\": \"4.55.1\",\n \"resolved\": \"https://registry.npmjs.org/rollup/-/rollup-4.55.1.tgz\",\n \"integrity\": \"sha512-wDv/Ht1BNHB4upNbK74s9usvl7hObDnvVzknxqY/E/O3X6rW1U1rV1aENEfJ54eFZDTNo7zv1f5N4edCluH7+A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/estree\": \"1.0.8\"\n },\n \"bin\": {\n \"rollup\": \"dist/bin/rollup\"\n },\n \"engines\": {\n \"node\": \">=18.0.0\",\n \"npm\": \">=8.0.0\"\n },\n \"optionalDependencies\": {\n \"@rollup/rollup-android-arm-eabi\": \"4.55.1\",\n \"@rollup/rollup-android-arm64\": \"4.55.1\",\n \"@rollup/rollup-darwin-arm64\": \"4.55.1\",\n \"@rollup/rollup-darwin-x64\": \"4.55.1\",\n \"@rollup/rollup-freebsd-arm64\": \"4.55.1\",\n \"@rollup/rollup-freebsd-x64\": \"4.55.1\",\n \"@rollup/rollup-linux-arm-gnueabihf\": \"4.55.1\",\n \"@rollup/rollup-linux-arm-musleabihf\": \"4.55.1\",\n \"@rollup/rollup-linux-arm64-gnu\": \"4.55.1\",\n \"@rollup/rollup-linux-arm64-musl\": \"4.55.1\",\n \"@rollup/rollup-linux-loong64-gnu\": \"4.55.1\",\n \"@rollup/rollup-linux-loong64-musl\": \"4.55.1\",\n \"@rollup/rollup-linux-ppc64-gnu\": \"4.55.1\",\n \"@rollup/rollup-linux-ppc64-musl\": \"4.55.1\",\n \"@rollup/rollup-linux-riscv64-gnu\": \"4.55.1\",\n \"@rollup/rollup-linux-riscv64-musl\": \"4.55.1\",\n \"@rollup/rollup-linux-s390x-gnu\": \"4.55.1\",\n \"@rollup/rollup-linux-x64-gnu\": \"4.55.1\",\n \"@rollup/rollup-linux-x64-musl\": \"4.55.1\",\n \"@rollup/rollup-openbsd-x64\": \"4.55.1\",\n \"@rollup/rollup-openharmony-arm64\": \"4.55.1\",\n \"@rollup/rollup-win32-arm64-msvc\": \"4.55.1\",\n \"@rollup/rollup-win32-ia32-msvc\": \"4.55.1\",\n \"@rollup/rollup-win32-x64-gnu\": \"4.55.1\",\n \"@rollup/rollup-win32-x64-msvc\": \"4.55.1\",\n \"fsevents\": \"~2.3.2\"\n }\n },\n \"node_modules/run-parallel\": {\n \"version\": \"1.2.0\",\n \"resolved\": \"https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz\",\n \"integrity\": \"sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/feross\"\n },\n {\n \"type\": \"patreon\",\n \"url\": \"https://www.patreon.com/feross\"\n },\n {\n \"type\": \"consulting\",\n \"url\": \"https://feross.org/support\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"queue-microtask\": \"^1.2.2\"\n }\n },\n \"node_modules/safe-array-concat\": {\n \"version\": \"1.1.3\",\n \"resolved\": \"https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz\",\n \"integrity\": \"sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.8\",\n \"call-bound\": \"^1.0.2\",\n \"get-intrinsic\": \"^1.2.6\",\n \"has-symbols\": \"^1.1.0\",\n \"isarray\": \"^2.0.5\"\n },\n \"engines\": {\n \"node\": \">=0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/safe-push-apply\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz\",\n \"integrity\": \"sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"es-errors\": \"^1.3.0\",\n \"isarray\": \"^2.0.5\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/safe-regex-test\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz\",\n \"integrity\": \"sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bound\": \"^1.0.2\",\n \"es-errors\": \"^1.3.0\",\n \"is-regex\": \"^1.2.1\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/semver\": {\n \"version\": \"6.3.1\",\n \"resolved\": \"https://registry.npmjs.org/semver/-/semver-6.3.1.tgz\",\n \"integrity\": \"sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"bin\": {\n \"semver\": \"bin/semver.js\"\n }\n },\n \"node_modules/set-function-length\": {\n \"version\": \"1.2.2\",\n \"resolved\": \"https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz\",\n \"integrity\": \"sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"define-data-property\": \"^1.1.4\",\n \"es-errors\": \"^1.3.0\",\n \"function-bind\": \"^1.1.2\",\n \"get-intrinsic\": \"^1.2.4\",\n \"gopd\": \"^1.0.1\",\n \"has-property-descriptors\": \"^1.0.2\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n }\n },\n \"node_modules/set-function-name\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz\",\n \"integrity\": \"sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"define-data-property\": \"^1.1.4\",\n \"es-errors\": \"^1.3.0\",\n \"functions-have-names\": \"^1.2.3\",\n \"has-property-descriptors\": \"^1.0.2\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n }\n },\n \"node_modules/set-proto\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz\",\n \"integrity\": \"sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"dunder-proto\": \"^1.0.1\",\n \"es-errors\": \"^1.3.0\",\n \"es-object-atoms\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n }\n },\n \"node_modules/shebang-command\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz\",\n \"integrity\": \"sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"shebang-regex\": \"^3.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/shebang-regex\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz\",\n \"integrity\": \"sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/side-channel\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz\",\n \"integrity\": \"sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"es-errors\": \"^1.3.0\",\n \"object-inspect\": \"^1.13.3\",\n \"side-channel-list\": \"^1.0.0\",\n \"side-channel-map\": \"^1.0.1\",\n \"side-channel-weakmap\": \"^1.0.2\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/side-channel-list\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz\",\n \"integrity\": \"sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"es-errors\": \"^1.3.0\",\n \"object-inspect\": \"^1.13.3\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/side-channel-map\": {\n \"version\": \"1.0.1\",\n \"resolved\": \"https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz\",\n \"integrity\": \"sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bound\": \"^1.0.2\",\n \"es-errors\": \"^1.3.0\",\n \"get-intrinsic\": \"^1.2.5\",\n \"object-inspect\": \"^1.13.3\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/side-channel-weakmap\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz\",\n \"integrity\": \"sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bound\": \"^1.0.2\",\n \"es-errors\": \"^1.3.0\",\n \"get-intrinsic\": \"^1.2.5\",\n \"object-inspect\": \"^1.13.3\",\n \"side-channel-map\": \"^1.0.1\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/siginfo\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz\",\n \"integrity\": \"sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/signal-exit\": {\n \"version\": \"4.1.0\",\n \"resolved\": \"https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz\",\n \"integrity\": \"sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==\",\n \"license\": \"ISC\",\n \"engines\": {\n \"node\": \">=14\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/isaacs\"\n }\n },\n \"node_modules/source-map\": {\n \"version\": \"0.6.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz\",\n \"integrity\": \"sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==\",\n \"dev\": true,\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/source-map-js\": {\n \"version\": \"1.2.1\",\n \"resolved\": \"https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz\",\n \"integrity\": \"sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==\",\n \"dev\": true,\n \"license\": \"BSD-3-Clause\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/sprintf-js\": {\n \"version\": \"1.0.3\",\n \"resolved\": \"https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz\",\n \"integrity\": \"sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==\",\n \"dev\": true,\n \"license\": \"BSD-3-Clause\"\n },\n \"node_modules/stackback\": {\n \"version\": \"0.0.2\",\n \"resolved\": \"https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz\",\n \"integrity\": \"sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/std-env\": {\n \"version\": \"3.10.0\",\n \"resolved\": \"https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz\",\n \"integrity\": \"sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/stop-iteration-iterator\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz\",\n \"integrity\": \"sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"es-errors\": \"^1.3.0\",\n \"internal-slot\": \"^1.1.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n }\n },\n \"node_modules/string-argv\": {\n \"version\": \"0.3.2\",\n \"resolved\": \"https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz\",\n \"integrity\": \"sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.6.19\"\n }\n },\n \"node_modules/string-width\": {\n \"version\": \"5.1.2\",\n \"resolved\": \"https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz\",\n \"integrity\": \"sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"eastasianwidth\": \"^0.2.0\",\n \"emoji-regex\": \"^9.2.2\",\n \"strip-ansi\": \"^7.0.1\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/string-width-cjs\": {\n \"name\": \"string-width\",\n \"version\": \"4.2.3\",\n \"resolved\": \"https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz\",\n \"integrity\": \"sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"emoji-regex\": \"^8.0.0\",\n \"is-fullwidth-code-point\": \"^3.0.0\",\n \"strip-ansi\": \"^6.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/string-width-cjs/node_modules/ansi-regex\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz\",\n \"integrity\": \"sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/string-width-cjs/node_modules/emoji-regex\": {\n \"version\": \"8.0.0\",\n \"resolved\": \"https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz\",\n \"integrity\": \"sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==\",\n \"license\": \"MIT\"\n },\n \"node_modules/string-width-cjs/node_modules/strip-ansi\": {\n \"version\": \"6.0.1\",\n \"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz\",\n \"integrity\": \"sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-regex\": \"^5.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/string.prototype.trim\": {\n \"version\": \"1.2.10\",\n \"resolved\": \"https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz\",\n \"integrity\": \"sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.8\",\n \"call-bound\": \"^1.0.2\",\n \"define-data-property\": \"^1.1.4\",\n \"define-properties\": \"^1.2.1\",\n \"es-abstract\": \"^1.23.5\",\n \"es-object-atoms\": \"^1.0.0\",\n \"has-property-descriptors\": \"^1.0.2\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/string.prototype.trimend\": {\n \"version\": \"1.0.9\",\n \"resolved\": \"https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz\",\n \"integrity\": \"sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.8\",\n \"call-bound\": \"^1.0.2\",\n \"define-properties\": \"^1.2.1\",\n \"es-object-atoms\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/string.prototype.trimstart\": {\n \"version\": \"1.0.8\",\n \"resolved\": \"https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz\",\n \"integrity\": \"sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.7\",\n \"define-properties\": \"^1.2.1\",\n \"es-object-atoms\": \"^1.0.0\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/strip-ansi\": {\n \"version\": \"7.1.2\",\n \"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz\",\n \"integrity\": \"sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-regex\": \"^6.0.1\"\n },\n \"engines\": {\n \"node\": \">=12\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/strip-ansi?sponsor=1\"\n }\n },\n \"node_modules/strip-ansi-cjs\": {\n \"name\": \"strip-ansi\",\n \"version\": \"6.0.1\",\n \"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz\",\n \"integrity\": \"sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-regex\": \"^5.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/strip-ansi-cjs/node_modules/ansi-regex\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz\",\n \"integrity\": \"sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/strip-bom\": {\n \"version\": \"3.0.0\",\n \"resolved\": \"https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz\",\n \"integrity\": \"sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=4\"\n }\n },\n \"node_modules/strip-json-comments\": {\n \"version\": \"3.1.1\",\n \"resolved\": \"https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz\",\n \"integrity\": \"sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/strip-literal\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/strip-literal/-/strip-literal-3.1.0.tgz\",\n \"integrity\": \"sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"js-tokens\": \"^9.0.1\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/antfu\"\n }\n },\n \"node_modules/strip-literal/node_modules/js-tokens\": {\n \"version\": \"9.0.1\",\n \"resolved\": \"https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz\",\n \"integrity\": \"sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/supports-color\": {\n \"version\": \"7.2.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz\",\n \"integrity\": \"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"has-flag\": \"^4.0.0\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/supports-preserve-symlinks-flag\": {\n \"version\": \"1.0.0\",\n \"resolved\": \"https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz\",\n \"integrity\": \"sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/test-exclude\": {\n \"version\": \"7.0.1\",\n \"resolved\": \"https://registry.npmjs.org/test-exclude/-/test-exclude-7.0.1.tgz\",\n \"integrity\": \"sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"dependencies\": {\n \"@istanbuljs/schema\": \"^0.1.2\",\n \"glob\": \"^10.4.1\",\n \"minimatch\": \"^9.0.4\"\n },\n \"engines\": {\n \"node\": \">=18\"\n }\n },\n \"node_modules/test-exclude/node_modules/brace-expansion\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz\",\n \"integrity\": \"sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"balanced-match\": \"^1.0.0\"\n }\n },\n \"node_modules/test-exclude/node_modules/glob\": {\n \"version\": \"10.5.0\",\n \"resolved\": \"https://registry.npmjs.org/glob/-/glob-10.5.0.tgz\",\n \"integrity\": \"sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"dependencies\": {\n \"foreground-child\": \"^3.1.0\",\n \"jackspeak\": \"^3.1.2\",\n \"minimatch\": \"^9.0.4\",\n \"minipass\": \"^7.1.2\",\n \"package-json-from-dist\": \"^1.0.0\",\n \"path-scurry\": \"^1.11.1\"\n },\n \"bin\": {\n \"glob\": \"dist/esm/bin.mjs\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/isaacs\"\n }\n },\n \"node_modules/test-exclude/node_modules/jackspeak\": {\n \"version\": \"3.4.3\",\n \"resolved\": \"https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz\",\n \"integrity\": \"sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==\",\n \"dev\": true,\n \"license\": \"BlueOak-1.0.0\",\n \"dependencies\": {\n \"@isaacs/cliui\": \"^8.0.2\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/isaacs\"\n },\n \"optionalDependencies\": {\n \"@pkgjs/parseargs\": \"^0.11.0\"\n }\n },\n \"node_modules/test-exclude/node_modules/lru-cache\": {\n \"version\": \"10.4.3\",\n \"resolved\": \"https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz\",\n \"integrity\": \"sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/test-exclude/node_modules/minimatch\": {\n \"version\": \"9.0.5\",\n \"resolved\": \"https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz\",\n \"integrity\": \"sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==\",\n \"dev\": true,\n \"license\": \"ISC\",\n \"dependencies\": {\n \"brace-expansion\": \"^2.0.1\"\n },\n \"engines\": {\n \"node\": \">=16 || 14 >=14.17\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/isaacs\"\n }\n },\n \"node_modules/test-exclude/node_modules/path-scurry\": {\n \"version\": \"1.11.1\",\n \"resolved\": \"https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz\",\n \"integrity\": \"sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==\",\n \"dev\": true,\n \"license\": \"BlueOak-1.0.0\",\n \"dependencies\": {\n \"lru-cache\": \"^10.2.0\",\n \"minipass\": \"^5.0.0 || ^6.0.2 || ^7.0.0\"\n },\n \"engines\": {\n \"node\": \">=16 || 14 >=14.18\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/isaacs\"\n }\n },\n \"node_modules/tinybench\": {\n \"version\": \"2.9.0\",\n \"resolved\": \"https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz\",\n \"integrity\": \"sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/tinyexec\": {\n \"version\": \"0.3.2\",\n \"resolved\": \"https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz\",\n \"integrity\": \"sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/tinyglobby\": {\n \"version\": \"0.2.15\",\n \"resolved\": \"https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz\",\n \"integrity\": \"sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"fdir\": \"^6.5.0\",\n \"picomatch\": \"^4.0.3\"\n },\n \"engines\": {\n \"node\": \">=12.0.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/SuperchupuDev\"\n }\n },\n \"node_modules/tinypool\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz\",\n \"integrity\": \"sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \"^18.0.0 || >=20.0.0\"\n }\n },\n \"node_modules/tinyrainbow\": {\n \"version\": \"2.0.0\",\n \"resolved\": \"https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-2.0.0.tgz\",\n \"integrity\": \"sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=14.0.0\"\n }\n },\n \"node_modules/tinyspy\": {\n \"version\": \"4.0.4\",\n \"resolved\": \"https://registry.npmjs.org/tinyspy/-/tinyspy-4.0.4.tgz\",\n \"integrity\": \"sha512-azl+t0z7pw/z958Gy9svOTuzqIk6xq+NSheJzn5MMWtWTFywIacg2wUlzKFGtt3cthx0r2SxMK0yzJOR0IES7Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=14.0.0\"\n }\n },\n \"node_modules/to-regex-range\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz\",\n \"integrity\": \"sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"is-number\": \"^7.0.0\"\n },\n \"engines\": {\n \"node\": \">=8.0\"\n }\n },\n \"node_modules/ts-api-utils\": {\n \"version\": \"2.4.0\",\n \"resolved\": \"https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.4.0.tgz\",\n \"integrity\": \"sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=18.12\"\n },\n \"peerDependencies\": {\n \"typescript\": \">=4.8.4\"\n }\n },\n \"node_modules/tsconfig-paths\": {\n \"version\": \"3.15.0\",\n \"resolved\": \"https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz\",\n \"integrity\": \"sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/json5\": \"^0.0.29\",\n \"json5\": \"^1.0.2\",\n \"minimist\": \"^1.2.6\",\n \"strip-bom\": \"^3.0.0\"\n }\n },\n \"node_modules/tsconfig-paths/node_modules/json5\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/json5/-/json5-1.0.2.tgz\",\n \"integrity\": \"sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"minimist\": \"^1.2.0\"\n },\n \"bin\": {\n \"json5\": \"lib/cli.js\"\n }\n },\n \"node_modules/type-check\": {\n \"version\": \"0.4.0\",\n \"resolved\": \"https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz\",\n \"integrity\": \"sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"prelude-ls\": \"^1.2.1\"\n },\n \"engines\": {\n \"node\": \">= 0.8.0\"\n }\n },\n \"node_modules/typed-array-buffer\": {\n \"version\": \"1.0.3\",\n \"resolved\": \"https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz\",\n \"integrity\": \"sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bound\": \"^1.0.3\",\n \"es-errors\": \"^1.3.0\",\n \"is-typed-array\": \"^1.1.14\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n }\n },\n \"node_modules/typed-array-byte-length\": {\n \"version\": \"1.0.3\",\n \"resolved\": \"https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz\",\n \"integrity\": \"sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.8\",\n \"for-each\": \"^0.3.3\",\n \"gopd\": \"^1.2.0\",\n \"has-proto\": \"^1.2.0\",\n \"is-typed-array\": \"^1.1.14\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/typed-array-byte-offset\": {\n \"version\": \"1.0.4\",\n \"resolved\": \"https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz\",\n \"integrity\": \"sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"available-typed-arrays\": \"^1.0.7\",\n \"call-bind\": \"^1.0.8\",\n \"for-each\": \"^0.3.3\",\n \"gopd\": \"^1.2.0\",\n \"has-proto\": \"^1.2.0\",\n \"is-typed-array\": \"^1.1.15\",\n \"reflect.getprototypeof\": \"^1.0.9\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/typed-array-length\": {\n \"version\": \"1.0.7\",\n \"resolved\": \"https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz\",\n \"integrity\": \"sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bind\": \"^1.0.7\",\n \"for-each\": \"^0.3.3\",\n \"gopd\": \"^1.0.1\",\n \"is-typed-array\": \"^1.1.13\",\n \"possible-typed-array-names\": \"^1.0.0\",\n \"reflect.getprototypeof\": \"^1.0.6\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/typescript\": {\n \"version\": \"5.9.3\",\n \"resolved\": \"https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz\",\n \"integrity\": \"sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==\",\n \"dev\": true,\n \"license\": \"Apache-2.0\",\n \"bin\": {\n \"tsc\": \"bin/tsc\",\n \"tsserver\": \"bin/tsserver\"\n },\n \"engines\": {\n \"node\": \">=14.17\"\n }\n },\n \"node_modules/ufo\": {\n \"version\": \"1.6.2\",\n \"resolved\": \"https://registry.npmjs.org/ufo/-/ufo-1.6.2.tgz\",\n \"integrity\": \"sha512-heMioaxBcG9+Znsda5Q8sQbWnLJSl98AFDXTO80wELWEzX3hordXsTdxrIfMQoO9IY1MEnoGoPjpoKpMj+Yx0Q==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/unbox-primitive\": {\n \"version\": \"1.1.0\",\n \"resolved\": \"https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz\",\n \"integrity\": \"sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bound\": \"^1.0.3\",\n \"has-bigints\": \"^1.0.2\",\n \"has-symbols\": \"^1.1.0\",\n \"which-boxed-primitive\": \"^1.1.1\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/undici-types\": {\n \"version\": \"7.16.0\",\n \"resolved\": \"https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz\",\n \"integrity\": \"sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/universalify\": {\n \"version\": \"2.0.1\",\n \"resolved\": \"https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz\",\n \"integrity\": \"sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">= 10.0.0\"\n }\n },\n \"node_modules/update-browserslist-db\": {\n \"version\": \"1.2.3\",\n \"resolved\": \"https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz\",\n \"integrity\": \"sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==\",\n \"dev\": true,\n \"funding\": [\n {\n \"type\": \"opencollective\",\n \"url\": \"https://opencollective.com/browserslist\"\n },\n {\n \"type\": \"tidelift\",\n \"url\": \"https://tidelift.com/funding/github/npm/browserslist\"\n },\n {\n \"type\": \"github\",\n \"url\": \"https://github.com/sponsors/ai\"\n }\n ],\n \"license\": \"MIT\",\n \"dependencies\": {\n \"escalade\": \"^3.2.0\",\n \"picocolors\": \"^1.1.1\"\n },\n \"bin\": {\n \"update-browserslist-db\": \"cli.js\"\n },\n \"peerDependencies\": {\n \"browserslist\": \">= 4.21.0\"\n }\n },\n \"node_modules/uri-js\": {\n \"version\": \"4.4.1\",\n \"resolved\": \"https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz\",\n \"integrity\": \"sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==\",\n \"dev\": true,\n \"license\": \"BSD-2-Clause\",\n \"dependencies\": {\n \"punycode\": \"^2.1.0\"\n }\n },\n \"node_modules/vite\": {\n \"version\": \"7.3.1\",\n \"resolved\": \"https://registry.npmjs.org/vite/-/vite-7.3.1.tgz\",\n \"integrity\": \"sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"esbuild\": \"^0.27.0\",\n \"fdir\": \"^6.5.0\",\n \"picomatch\": \"^4.0.3\",\n \"postcss\": \"^8.5.6\",\n \"rollup\": \"^4.43.0\",\n \"tinyglobby\": \"^0.2.15\"\n },\n \"bin\": {\n \"vite\": \"bin/vite.js\"\n },\n \"engines\": {\n \"node\": \"^20.19.0 || >=22.12.0\"\n },\n \"funding\": {\n \"url\": \"https://github.com/vitejs/vite?sponsor=1\"\n },\n \"optionalDependencies\": {\n \"fsevents\": \"~2.3.3\"\n },\n \"peerDependencies\": {\n \"@types/node\": \"^20.19.0 || >=22.12.0\",\n \"jiti\": \">=1.21.0\",\n \"less\": \"^4.0.0\",\n \"lightningcss\": \"^1.21.0\",\n \"sass\": \"^1.70.0\",\n \"sass-embedded\": \"^1.70.0\",\n \"stylus\": \">=0.54.8\",\n \"sugarss\": \"^5.0.0\",\n \"terser\": \"^5.16.0\",\n \"tsx\": \"^4.8.1\",\n \"yaml\": \"^2.4.2\"\n },\n \"peerDependenciesMeta\": {\n \"@types/node\": {\n \"optional\": true\n },\n \"jiti\": {\n \"optional\": true\n },\n \"less\": {\n \"optional\": true\n },\n \"lightningcss\": {\n \"optional\": true\n },\n \"sass\": {\n \"optional\": true\n },\n \"sass-embedded\": {\n \"optional\": true\n },\n \"stylus\": {\n \"optional\": true\n },\n \"sugarss\": {\n \"optional\": true\n },\n \"terser\": {\n \"optional\": true\n },\n \"tsx\": {\n \"optional\": true\n },\n \"yaml\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/vite-node\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/vite-node/-/vite-node-3.2.4.tgz\",\n \"integrity\": \"sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"cac\": \"^6.7.14\",\n \"debug\": \"^4.4.1\",\n \"es-module-lexer\": \"^1.7.0\",\n \"pathe\": \"^2.0.3\",\n \"vite\": \"^5.0.0 || ^6.0.0 || ^7.0.0-0\"\n },\n \"bin\": {\n \"vite-node\": \"vite-node.mjs\"\n },\n \"engines\": {\n \"node\": \"^18.0.0 || ^20.0.0 || >=22.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n }\n },\n \"node_modules/vite-plugin-dts\": {\n \"version\": \"4.5.4\",\n \"resolved\": \"https://registry.npmjs.org/vite-plugin-dts/-/vite-plugin-dts-4.5.4.tgz\",\n \"integrity\": \"sha512-d4sOM8M/8z7vRXHHq/ebbblfaxENjogAAekcfcDCCwAyvGqnPrc7f4NZbvItS+g4WTgerW0xDwSz5qz11JT3vg==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@microsoft/api-extractor\": \"^7.50.1\",\n \"@rollup/pluginutils\": \"^5.1.4\",\n \"@volar/typescript\": \"^2.4.11\",\n \"@vue/language-core\": \"2.2.0\",\n \"compare-versions\": \"^6.1.1\",\n \"debug\": \"^4.4.0\",\n \"kolorist\": \"^1.8.0\",\n \"local-pkg\": \"^1.0.0\",\n \"magic-string\": \"^0.30.17\"\n },\n \"peerDependencies\": {\n \"typescript\": \"*\",\n \"vite\": \"*\"\n },\n \"peerDependenciesMeta\": {\n \"vite\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/vite-plugin-node\": {\n \"version\": \"7.0.0\",\n \"resolved\": \"https://registry.npmjs.org/vite-plugin-node/-/vite-plugin-node-7.0.0.tgz\",\n \"integrity\": \"sha512-FZqTHvCXUu+U8i6qMtlZCrEvlelUioEf6J4S77XHpZk73frveqKVot60W0hpbffv5OMECXYwP/LAiTGAOLN4/g==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@rollup/pluginutils\": \"^4.1.1\",\n \"chalk\": \"^4.1.2\",\n \"debounce\": \"^2.2.0\",\n \"debug\": \"^4.3.2\"\n },\n \"peerDependencies\": {\n \"@swc/core\": \"^1.7.26\",\n \"vite\": \"^7.0.0\"\n },\n \"peerDependenciesMeta\": {\n \"@swc/core\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/vite-plugin-node/node_modules/@rollup/pluginutils\": {\n \"version\": \"4.2.1\",\n \"resolved\": \"https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz\",\n \"integrity\": \"sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"estree-walker\": \"^2.0.1\",\n \"picomatch\": \"^2.2.2\"\n },\n \"engines\": {\n \"node\": \">= 8.0.0\"\n }\n },\n \"node_modules/vite-plugin-node/node_modules/picomatch\": {\n \"version\": \"2.3.1\",\n \"resolved\": \"https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz\",\n \"integrity\": \"sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8.6\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/jonschlinkert\"\n }\n },\n \"node_modules/vitest\": {\n \"version\": \"3.2.4\",\n \"resolved\": \"https://registry.npmjs.org/vitest/-/vitest-3.2.4.tgz\",\n \"integrity\": \"sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"@types/chai\": \"^5.2.2\",\n \"@vitest/expect\": \"3.2.4\",\n \"@vitest/mocker\": \"3.2.4\",\n \"@vitest/pretty-format\": \"^3.2.4\",\n \"@vitest/runner\": \"3.2.4\",\n \"@vitest/snapshot\": \"3.2.4\",\n \"@vitest/spy\": \"3.2.4\",\n \"@vitest/utils\": \"3.2.4\",\n \"chai\": \"^5.2.0\",\n \"debug\": \"^4.4.1\",\n \"expect-type\": \"^1.2.1\",\n \"magic-string\": \"^0.30.17\",\n \"pathe\": \"^2.0.3\",\n \"picomatch\": \"^4.0.2\",\n \"std-env\": \"^3.9.0\",\n \"tinybench\": \"^2.9.0\",\n \"tinyexec\": \"^0.3.2\",\n \"tinyglobby\": \"^0.2.14\",\n \"tinypool\": \"^1.1.1\",\n \"tinyrainbow\": \"^2.0.0\",\n \"vite\": \"^5.0.0 || ^6.0.0 || ^7.0.0-0\",\n \"vite-node\": \"3.2.4\",\n \"why-is-node-running\": \"^2.3.0\"\n },\n \"bin\": {\n \"vitest\": \"vitest.mjs\"\n },\n \"engines\": {\n \"node\": \"^18.0.0 || ^20.0.0 || >=22.0.0\"\n },\n \"funding\": {\n \"url\": \"https://opencollective.com/vitest\"\n },\n \"peerDependencies\": {\n \"@edge-runtime/vm\": \"*\",\n \"@types/debug\": \"^4.1.12\",\n \"@types/node\": \"^18.0.0 || ^20.0.0 || >=22.0.0\",\n \"@vitest/browser\": \"3.2.4\",\n \"@vitest/ui\": \"3.2.4\",\n \"happy-dom\": \"*\",\n \"jsdom\": \"*\"\n },\n \"peerDependenciesMeta\": {\n \"@edge-runtime/vm\": {\n \"optional\": true\n },\n \"@types/debug\": {\n \"optional\": true\n },\n \"@types/node\": {\n \"optional\": true\n },\n \"@vitest/browser\": {\n \"optional\": true\n },\n \"@vitest/ui\": {\n \"optional\": true\n },\n \"happy-dom\": {\n \"optional\": true\n },\n \"jsdom\": {\n \"optional\": true\n }\n }\n },\n \"node_modules/vscode-uri\": {\n \"version\": \"3.1.0\",\n \"resolved\": \"https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.1.0.tgz\",\n \"integrity\": \"sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==\",\n \"dev\": true,\n \"license\": \"MIT\"\n },\n \"node_modules/which\": {\n \"version\": \"2.0.2\",\n \"resolved\": \"https://registry.npmjs.org/which/-/which-2.0.2.tgz\",\n \"integrity\": \"sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==\",\n \"license\": \"ISC\",\n \"dependencies\": {\n \"isexe\": \"^2.0.0\"\n },\n \"bin\": {\n \"node-which\": \"bin/node-which\"\n },\n \"engines\": {\n \"node\": \">= 8\"\n }\n },\n \"node_modules/which-boxed-primitive\": {\n \"version\": \"1.1.1\",\n \"resolved\": \"https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz\",\n \"integrity\": \"sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"is-bigint\": \"^1.1.0\",\n \"is-boolean-object\": \"^1.2.1\",\n \"is-number-object\": \"^1.1.1\",\n \"is-string\": \"^1.1.1\",\n \"is-symbol\": \"^1.1.1\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/which-builtin-type\": {\n \"version\": \"1.2.1\",\n \"resolved\": \"https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz\",\n \"integrity\": \"sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"call-bound\": \"^1.0.2\",\n \"function.prototype.name\": \"^1.1.6\",\n \"has-tostringtag\": \"^1.0.2\",\n \"is-async-function\": \"^2.0.0\",\n \"is-date-object\": \"^1.1.0\",\n \"is-finalizationregistry\": \"^1.1.0\",\n \"is-generator-function\": \"^1.0.10\",\n \"is-regex\": \"^1.2.1\",\n \"is-weakref\": \"^1.0.2\",\n \"isarray\": \"^2.0.5\",\n \"which-boxed-primitive\": \"^1.1.0\",\n \"which-collection\": \"^1.0.2\",\n \"which-typed-array\": \"^1.1.16\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/which-collection\": {\n \"version\": \"1.0.2\",\n \"resolved\": \"https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz\",\n \"integrity\": \"sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"is-map\": \"^2.0.3\",\n \"is-set\": \"^2.0.3\",\n \"is-weakmap\": \"^2.0.2\",\n \"is-weakset\": \"^2.0.3\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/which-typed-array\": {\n \"version\": \"1.1.19\",\n \"resolved\": \"https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz\",\n \"integrity\": \"sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"available-typed-arrays\": \"^1.0.7\",\n \"call-bind\": \"^1.0.8\",\n \"call-bound\": \"^1.0.4\",\n \"for-each\": \"^0.3.5\",\n \"get-proto\": \"^1.0.1\",\n \"gopd\": \"^1.2.0\",\n \"has-tostringtag\": \"^1.0.2\"\n },\n \"engines\": {\n \"node\": \">= 0.4\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/ljharb\"\n }\n },\n \"node_modules/why-is-node-running\": {\n \"version\": \"2.3.0\",\n \"resolved\": \"https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz\",\n \"integrity\": \"sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"dependencies\": {\n \"siginfo\": \"^2.0.0\",\n \"stackback\": \"0.0.2\"\n },\n \"bin\": {\n \"why-is-node-running\": \"cli.js\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/word-wrap\": {\n \"version\": \"1.2.5\",\n \"resolved\": \"https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz\",\n \"integrity\": \"sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=0.10.0\"\n }\n },\n \"node_modules/wrap-ansi\": {\n \"version\": \"7.0.0\",\n \"resolved\": \"https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz\",\n \"integrity\": \"sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.0.0\",\n \"string-width\": \"^4.1.0\",\n \"strip-ansi\": \"^6.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/wrap-ansi?sponsor=1\"\n }\n },\n \"node_modules/wrap-ansi-cjs\": {\n \"name\": \"wrap-ansi\",\n \"version\": \"7.0.0\",\n \"resolved\": \"https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz\",\n \"integrity\": \"sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-styles\": \"^4.0.0\",\n \"string-width\": \"^4.1.0\",\n \"strip-ansi\": \"^6.0.0\"\n },\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/chalk/wrap-ansi?sponsor=1\"\n }\n },\n \"node_modules/wrap-ansi-cjs/node_modules/ansi-regex\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz\",\n \"integrity\": \"sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/wrap-ansi-cjs/node_modules/emoji-regex\": {\n \"version\": \"8.0.0\",\n \"resolved\": \"https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz\",\n \"integrity\": \"sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==\",\n \"license\": \"MIT\"\n },\n \"node_modules/wrap-ansi-cjs/node_modules/string-width\": {\n \"version\": \"4.2.3\",\n \"resolved\": \"https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz\",\n \"integrity\": \"sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"emoji-regex\": \"^8.0.0\",\n \"is-fullwidth-code-point\": \"^3.0.0\",\n \"strip-ansi\": \"^6.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/wrap-ansi-cjs/node_modules/strip-ansi\": {\n \"version\": \"6.0.1\",\n \"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz\",\n \"integrity\": \"sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-regex\": \"^5.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/wrap-ansi/node_modules/ansi-regex\": {\n \"version\": \"5.0.1\",\n \"resolved\": \"https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz\",\n \"integrity\": \"sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==\",\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/wrap-ansi/node_modules/emoji-regex\": {\n \"version\": \"8.0.0\",\n \"resolved\": \"https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz\",\n \"integrity\": \"sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==\",\n \"license\": \"MIT\"\n },\n \"node_modules/wrap-ansi/node_modules/string-width\": {\n \"version\": \"4.2.3\",\n \"resolved\": \"https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz\",\n \"integrity\": \"sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"emoji-regex\": \"^8.0.0\",\n \"is-fullwidth-code-point\": \"^3.0.0\",\n \"strip-ansi\": \"^6.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/wrap-ansi/node_modules/strip-ansi\": {\n \"version\": \"6.0.1\",\n \"resolved\": \"https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz\",\n \"integrity\": \"sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==\",\n \"license\": \"MIT\",\n \"dependencies\": {\n \"ansi-regex\": \"^5.0.1\"\n },\n \"engines\": {\n \"node\": \">=8\"\n }\n },\n \"node_modules/yallist\": {\n \"version\": \"3.1.1\",\n \"resolved\": \"https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz\",\n \"integrity\": \"sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==\",\n \"dev\": true,\n \"license\": \"ISC\"\n },\n \"node_modules/yocto-queue\": {\n \"version\": \"0.1.0\",\n \"resolved\": \"https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz\",\n \"integrity\": \"sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==\",\n \"dev\": true,\n \"license\": \"MIT\",\n \"engines\": {\n \"node\": \">=10\"\n },\n \"funding\": {\n \"url\": \"https://github.com/sponsors/sindresorhus\"\n }\n },\n \"node_modules/zod\": {\n \"version\": \"4.3.5\",\n \"resolved\": \"https://registry.npmjs.org/zod/-/zod-4.3.5.tgz\",\n \"integrity\": \"sha512-k7Nwx6vuWx1IJ9Bjuf4Zt1PEllcwe7cls3VNzm4CQ1/hgtFUK2bRNG3rvnpPUhFjmqJKAKtjV576KnUkHocg/g==\",\n \"license\": \"MIT\",\n \"funding\": {\n \"url\": \"https://github.com/sponsors/colinhacks\"\n }\n }\n }\n}\n",
|
|
225
|
+
"name": "get_file_content"
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
"role": "assistant",
|
|
229
|
+
"content": null,
|
|
230
|
+
"tool_calls": [
|
|
231
|
+
{
|
|
232
|
+
"id": "call_uYHOeaKEkgf4yLzp8vUrlDpl",
|
|
233
|
+
"type": "function",
|
|
234
|
+
"function": {
|
|
235
|
+
"name": "get_file_content",
|
|
236
|
+
"arguments": "{\"filePath\": \"pnpm-lock.yaml\", \"includeLineNumbers\": false}"
|
|
237
|
+
}
|
|
238
|
+
},
|
|
239
|
+
{
|
|
240
|
+
"id": "call_RlYlXHb6mB96dQ2LHqKiM3fC",
|
|
241
|
+
"type": "function",
|
|
242
|
+
"function": {
|
|
243
|
+
"name": "get_file_content",
|
|
244
|
+
"arguments": "{\"filePath\": \"pnpm-workspace.yaml\", \"includeLineNumbers\": false}"
|
|
245
|
+
}
|
|
246
|
+
},
|
|
247
|
+
{
|
|
248
|
+
"id": "call_4PFtsPjbfTHe4oKfXbLFlV9W",
|
|
249
|
+
"type": "function",
|
|
250
|
+
"function": {
|
|
251
|
+
"name": "get_file_content",
|
|
252
|
+
"arguments": "{\"filePath\": \"docs/pnpm-lock.yaml\", \"includeLineNumbers\": false}"
|
|
253
|
+
}
|
|
254
|
+
},
|
|
255
|
+
{
|
|
256
|
+
"id": "call_aCQ8G3N4t8vWjhGUsFN7Gvo3",
|
|
257
|
+
"type": "function",
|
|
258
|
+
"function": {
|
|
259
|
+
"name": "search_codebase",
|
|
260
|
+
"arguments": "{\"query\": \"package-lock.json\", \"contextLines\": 1}"
|
|
261
|
+
}
|
|
262
|
+
},
|
|
263
|
+
{
|
|
264
|
+
"id": "call_ZZujpf41uQhCFLjWkqZV1NAX",
|
|
265
|
+
"type": "function",
|
|
266
|
+
"function": {
|
|
267
|
+
"name": "get_file_content",
|
|
268
|
+
"arguments": "{\"filePath\": \"README.md\", \"includeLineNumbers\": false}"
|
|
269
|
+
}
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
"id": "call_tZngx10Zo9CdAmD2Xm2RQqEU",
|
|
273
|
+
"type": "function",
|
|
274
|
+
"function": {
|
|
275
|
+
"name": "get_file_content",
|
|
276
|
+
"arguments": "{\"filePath\": \"LICENSE\", \"includeLineNumbers\": false}"
|
|
277
|
+
}
|
|
278
|
+
},
|
|
279
|
+
{
|
|
280
|
+
"id": "call_9s3C9My92v4GZHDYGECzAPo1",
|
|
281
|
+
"type": "function",
|
|
282
|
+
"function": {
|
|
283
|
+
"name": "get_file_content",
|
|
284
|
+
"arguments": "{\"filePath\": \".gitignore\", \"includeLineNumbers\": false}"
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
]
|
|
288
|
+
},
|
|
289
|
+
{
|
|
290
|
+
"role": "tool",
|
|
291
|
+
"tool_call_id": "call_uYHOeaKEkgf4yLzp8vUrlDpl",
|
|
292
|
+
"content": "File not found: pnpm-lock.yaml\n\nThis file may have been deleted in this release or does not exist in the current working tree. Check the diff to see if this file was removed.",
|
|
293
|
+
"name": "get_file_content"
|
|
294
|
+
},
|
|
295
|
+
{
|
|
296
|
+
"role": "tool",
|
|
297
|
+
"tool_call_id": "call_RlYlXHb6mB96dQ2LHqKiM3fC",
|
|
298
|
+
"content": "File not found: pnpm-workspace.yaml\n\nThis file may have been deleted in this release or does not exist in the current working tree. Check the diff to see if this file was removed.",
|
|
299
|
+
"name": "get_file_content"
|
|
300
|
+
},
|
|
301
|
+
{
|
|
302
|
+
"role": "tool",
|
|
303
|
+
"tool_call_id": "call_4PFtsPjbfTHe4oKfXbLFlV9W",
|
|
304
|
+
"content": "File not found: docs/pnpm-lock.yaml\n\nThis file may have been deleted in this release or does not exist in the current working tree. Check the diff to see if this file was removed.",
|
|
305
|
+
"name": "get_file_content"
|
|
306
|
+
},
|
|
307
|
+
{
|
|
308
|
+
"role": "tool",
|
|
309
|
+
"tool_call_id": "call_aCQ8G3N4t8vWjhGUsFN7Gvo3",
|
|
310
|
+
"content": "Tool execution failed: Tool \"search_codebase\" execution failed: Search failed: Command failed: git grep -n -C 1 \"package-lock.json\"\n",
|
|
311
|
+
"name": "search_codebase"
|
|
312
|
+
},
|
|
313
|
+
{
|
|
314
|
+
"role": "tool",
|
|
315
|
+
"tool_call_id": "call_ZZujpf41uQhCFLjWkqZV1NAX",
|
|
316
|
+
"content": "# DreadCabinet\n\n> A powerful tool that brings order to your digital chaos, one file at a time!\n> Organize, rename, and transform your notes or files based on date, subject, and other metadata—all within your own CLI applications.\n\n## Features\n\n- **Date-based organization** – Place files into folders by year, month, or day (or no structure at all). \n- **Flexible filename generation** – Include date, time, and a subject in filenames. \n- **Recursion** – Process all subdirectories (or just the top level) as you prefer. \n- **Timezone support** – Convert file timestamps or metadata to a specific timezone for naming. \n- **Extension filtering** – Restrict processing to certain file types. \n- **No destructive operations** – Original files remain untouched; DreadCabinet only creates copies in a new directory structure.\n- **Concurrent processing** – Process multiple files in parallel for improved performance.\n\n## Installation\n\n```bash\nnpm install @theunwalked/dreadcabinet\n```\n\n*Or with other package managers:*\n\n```bash\n# yarn\nyarn add @theunwalked/dreadcabinet\n```\n\n## Quick Start\n\nDreadCabinet is a library designed to be integrated into your own CLI tools. Here's a basic example:\n\n```javascript\nimport { Command } from 'commander';\nimport * as DreadCabinet from '@theunwalked/dreadcabinet';\n\n// Create a new instance with options\nconst instance = DreadCabinet.create({\n defaults: {\n timezone: 'America/New_York',\n extensions: ['md', 'txt'],\n outputStructure: 'month',\n outputDirectory: './dist',\n }\n});\n\n// Configure your command\nconst program = new Command();\nawait instance.configure(program);\n\n// Parse arguments and process\nprogram.parse(process.argv);\nconst cliArgs = program.opts();\nconst config = await instance.read(cliArgs);\nconst finalConfig = instance.applyDefaults(config);\nawait instance.validate(finalConfig);\n\n// Use the operator to process files\nconst operator = await instance.operate(finalConfig);\nawait operator.process(async (file) => {\n // Your file processing logic here\n});\n```\n\nOnce integrated, users can process files with commands like:\n\n```bash\nmy-app \\\n --input-directory . \\\n --output-directory ./organized \\\n --output-structure month \\\n --extensions md\n```\n\n## Documentation\n\nFor complete documentation, including detailed configuration options, advanced usage examples, and integration guides, visit:\n\n**[📖 DreadCabinet Documentation](https://utilarium.github.io/dreadcabinet/)**\n\n### Quick Links\n\n- [Getting Started Guide](https://utilarium.github.io/dreadcabinet/#getting-started)\n- [CLI Options Reference](https://utilarium.github.io/dreadcabinet/#cli-options)\n- [Configuration Files](https://utilarium.github.io/dreadcabinet/#configuration-files)\n- [Advanced Usage](https://utilarium.github.io/dreadcabinet/#advanced-usage)\n- [API Reference](https://utilarium.github.io/dreadcabinet/#api-reference)\n\n## Contributing\n\nWe welcome contributions! Please see our [Contributing Guide](https://utilarium.github.io/dreadcabinet/#contributing) for details.\n\n## License\n\n[Apache-2.0](./LICENSE) © 2025 Tim O'Brien ",
|
|
317
|
+
"name": "get_file_content"
|
|
318
|
+
},
|
|
319
|
+
{
|
|
320
|
+
"role": "tool",
|
|
321
|
+
"tool_call_id": "call_tZngx10Zo9CdAmD2Xm2RQqEU",
|
|
322
|
+
"content": " Apache License\n Version 2.0, January 2004\n http://www.apache.org/licenses/\n\n TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n 1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n 2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n 3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n\n 4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n\n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n\n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n\n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n\n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n\n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n\n 5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n\n 6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n\n 7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n\n 8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n\n 9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n\n END OF TERMS AND CONDITIONS\n\n Copyright 2025 Tim O'Brien\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n",
|
|
323
|
+
"name": "get_file_content"
|
|
324
|
+
},
|
|
325
|
+
{
|
|
326
|
+
"role": "tool",
|
|
327
|
+
"tool_call_id": "call_9s3C9My92v4GZHDYGECzAPo1",
|
|
328
|
+
"content": ".env \ndist\nnode_modules\n*.log\n.vscode\ncoverage/\ntest/\n./output/\n./input/\n.dreadcabinet/\noutput/",
|
|
329
|
+
"name": "get_file_content"
|
|
330
|
+
},
|
|
331
|
+
{
|
|
332
|
+
"role": "assistant",
|
|
333
|
+
"content": null,
|
|
334
|
+
"tool_calls": [
|
|
335
|
+
{
|
|
336
|
+
"id": "call_GLEmPm1GWhUwaqEkHsLMI8KZ",
|
|
337
|
+
"type": "function",
|
|
338
|
+
"function": {
|
|
339
|
+
"name": "search_codebase",
|
|
340
|
+
"arguments": "{\"query\": \"docs/package-lock.json\", \"contextLines\": 1}"
|
|
341
|
+
}
|
|
342
|
+
},
|
|
343
|
+
{
|
|
344
|
+
"id": "call_bxPQp8QDtfDBkGg3FzSaFKs5",
|
|
345
|
+
"type": "function",
|
|
346
|
+
"function": {
|
|
347
|
+
"name": "get_file_content",
|
|
348
|
+
"arguments": "{\"filePath\": \"docs/package.json\", \"includeLineNumbers\": false}"
|
|
349
|
+
}
|
|
350
|
+
},
|
|
351
|
+
{
|
|
352
|
+
"id": "call_bKQfHYlMrfo4gHeizBo77yrl",
|
|
353
|
+
"type": "function",
|
|
354
|
+
"function": {
|
|
355
|
+
"name": "get_file_content",
|
|
356
|
+
"arguments": "{\"filePath\": \"docs/package-lock.json\", \"includeLineNumbers\": false}"
|
|
357
|
+
}
|
|
358
|
+
},
|
|
359
|
+
{
|
|
360
|
+
"id": "call_IidSFXeITlPrDOr8yl8K2EMa",
|
|
361
|
+
"type": "function",
|
|
362
|
+
"function": {
|
|
363
|
+
"name": "get_file_content",
|
|
364
|
+
"arguments": "{\"filePath\": \".github/workflows/pnpm-publish.yml\", \"includeLineNumbers\": false}"
|
|
365
|
+
}
|
|
366
|
+
},
|
|
367
|
+
{
|
|
368
|
+
"id": "call_rAUpZ07SqLoPbqj1pUHH0WNM",
|
|
369
|
+
"type": "function",
|
|
370
|
+
"function": {
|
|
371
|
+
"name": "get_file_content",
|
|
372
|
+
"arguments": "{\"filePath\": \"guide/index.md\", \"includeLineNumbers\": false}"
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
]
|
|
376
|
+
},
|
|
377
|
+
{
|
|
378
|
+
"role": "tool",
|
|
379
|
+
"tool_call_id": "call_GLEmPm1GWhUwaqEkHsLMI8KZ",
|
|
380
|
+
"content": "Tool execution failed: Tool \"search_codebase\" execution failed: Search failed: Command failed: git grep -n -C 1 \"docs/package-lock.json\"\n",
|
|
381
|
+
"name": "search_codebase"
|
|
382
|
+
},
|
|
383
|
+
{
|
|
384
|
+
"role": "tool",
|
|
385
|
+
"tool_call_id": "call_bxPQp8QDtfDBkGg3FzSaFKs5",
|
|
386
|
+
"content": "{\n \"name\": \"dreadcabinet-docs\",\n \"private\": true,\n \"version\": \"0.0.0\",\n \"type\": \"module\",\n \"scripts\": {\n \"dev\": \"vite\",\n \"build\": \"vite build\",\n \"typecheck\": \"tsc --noEmit\",\n \"preview\": \"vite preview\",\n \"test\": \"vitest run --coverage\",\n \"test:watch\": \"vitest --watch\"\n },\n \"dependencies\": {\n \"react\": \"^19.1.0\",\n \"react-dom\": \"^19.1.0\",\n \"react-markdown\": \"^10.1.0\",\n \"react-syntax-highlighter\": \"^15.6.1\",\n \"remark-gfm\": \"^4.0.1\"\n },\n \"devDependencies\": {\n \"@testing-library/jest-dom\": \"^6.6.3\",\n \"@testing-library/react\": \"^16.3.0\",\n \"@testing-library/user-event\": \"^14.6.1\",\n \"@types/react\": \"^19.1.8\",\n \"@types/react-dom\": \"^19.1.6\",\n \"@types/react-syntax-highlighter\": \"^15.5.13\",\n \"@vitejs/plugin-react\": \"^4.6.0\",\n \"@vitest/coverage-v8\": \"^3.2.4\",\n \"@vitest/ui\": \"^3.2.4\",\n \"jsdom\": \"^26.1.0\",\n \"typescript\": \"^5.8.3\",\n \"vite\": \"^7.0.0\",\n \"vitest\": \"^3.2.4\"\n }\n}",
|
|
387
|
+
"name": "get_file_content"
|
|
388
|
+
},
|
|
389
|
+
{
|
|
390
|
+
"role": "tool",
|
|
391
|
+
"tool_call_id": "call_bKQfHYlMrfo4gHeizBo77yrl",
|
|
392
|
+
"content": "File not found: docs/package-lock.json\n\nThis file may have been deleted in this release or does not exist in the current working tree. Check the diff to see if this file was removed.",
|
|
393
|
+
"name": "get_file_content"
|
|
394
|
+
},
|
|
395
|
+
{
|
|
396
|
+
"role": "tool",
|
|
397
|
+
"tool_call_id": "call_IidSFXeITlPrDOr8yl8K2EMa",
|
|
398
|
+
"content": "File not found: .github/workflows/pnpm-publish.yml\n\nThis file may have been deleted in this release or does not exist in the current working tree. Check the diff to see if this file was removed.",
|
|
399
|
+
"name": "get_file_content"
|
|
400
|
+
},
|
|
401
|
+
{
|
|
402
|
+
"role": "tool",
|
|
403
|
+
"tool_call_id": "call_rAUpZ07SqLoPbqj1pUHH0WNM",
|
|
404
|
+
"content": "# AI Agent Guide: dreadcabinet\n\n**Role**: You are an AI assistant tasked with understanding, integrating, or extending `dreadcabinet` file organization capabilities in applications.\n\n**Goal**: Provide a comprehensive understanding of `dreadcabinet`'s capabilities, architecture, and usage patterns to facilitate correct implementation and extension.\n\n## Core Capabilities\n\n`dreadcabinet` is a file organization library for TypeScript/Node.js applications. It processes files from input directories and organizes them into structured output directories based on dates and metadata.\n\n* **Date-Based Organization**: Place files into folders by year, month, or day (or flat structure).\n* **Flexible Filename Generation**: Include date, time, and subject in generated filenames.\n* **Timezone Support**: Convert timestamps to specific timezones for consistent naming.\n* **Concurrent Processing**: Process multiple files in parallel for improved performance.\n* **Extension Filtering**: Restrict processing to specific file types.\n* **Non-Destructive**: Original files remain untouched; only copies are created.\n\n## Quick Start Context\n\nWhen analyzing or generating code using `dreadcabinet`, keep these patterns in mind:\n\n1. **Create Instance**: Use `create()` with defaults and feature flags.\n2. **Integrate CLI**: Use `.configure(program)` to bind to Commander.js.\n3. **Read & Validate**: Use `.read()`, `.applyDefaults()`, and `.validate()`.\n4. **Process Files**: Use the operator's `.process()` callback pattern.\n\n```typescript\nimport { Command } from 'commander';\nimport * as DreadCabinet from '@theunwalked/dreadcabinet';\n\nconst instance = DreadCabinet.create({\n defaults: {\n timezone: 'America/New_York',\n extensions: ['md', 'txt'],\n outputStructure: 'month',\n outputDirectory: './organized',\n }\n});\n\nconst program = new Command();\nawait instance.configure(program);\nprogram.parse();\n\nconst config = await instance.read(program.opts());\nconst finalConfig = instance.applyDefaults(config);\nawait instance.validate(finalConfig);\n\nconst operator = await instance.operate(finalConfig);\nawait operator.process(async (file) => {\n // Your file processing logic\n});\n```\n\n## Documentation Structure\n\nThis guide directory contains specialized documentation for different aspects of the system:\n\n* [Configuration](./configuration.md): Deep dive into configuration options, features, and defaults.\n* [Usage Patterns](./usage.md): Common patterns for CLI integration and file processing.\n* [Architecture](./architecture.md): Internal design, module structure, and data flow.\n* [Development](./development.md): Guide for contributing to `dreadcabinet` itself.\n\n",
|
|
405
|
+
"name": "get_file_content"
|
|
406
|
+
},
|
|
407
|
+
{
|
|
408
|
+
"role": "assistant",
|
|
409
|
+
"content": null,
|
|
410
|
+
"tool_calls": [
|
|
411
|
+
{
|
|
412
|
+
"id": "call_wJCBrCnSVo7fAtUk8ANc2t5k",
|
|
413
|
+
"type": "function",
|
|
414
|
+
"function": {
|
|
415
|
+
"name": "search_codebase",
|
|
416
|
+
"arguments": "{\"query\":\"pnpm-lock.yaml\",\"contextLines\":2}"
|
|
417
|
+
}
|
|
418
|
+
}
|
|
419
|
+
]
|
|
420
|
+
},
|
|
421
|
+
{
|
|
422
|
+
"role": "tool",
|
|
423
|
+
"tool_call_id": "call_wJCBrCnSVo7fAtUk8ANc2t5k",
|
|
424
|
+
"content": "Tool execution failed: Tool \"search_codebase\" execution failed: Search failed: Command failed: git grep -n -C 2 \"pnpm-lock.yaml\"\n",
|
|
425
|
+
"name": "search_codebase"
|
|
426
|
+
},
|
|
427
|
+
{
|
|
428
|
+
"role": "assistant",
|
|
429
|
+
"content": "RELEASE_NOTES:\n{\n \"title\": \"v0.0.11 — Standardize on npm for CI/publishing, add internal guides, and refresh project metadata\",\n \"body\": \"## Highlights\\n\\nThis release is primarily **tooling, CI, and documentation cleanup**. There are **no intentional runtime/API changes** to the `@theunwalked/dreadcabinet` library.\\n\\nKey themes:\\n- Move the repo workflow from **pnpm to npm** (lockfile + GitHub Actions)\\n- Add a **new documentation guide set** (`guide/`) explaining architecture and usage patterns\\n- Update project **metadata/links** to the new `utilarium/dreadcabinet` URLs\\n\\n## Changes\\n\\n### CI / Release automation\\n- **CI now uses npm**:\\n - GitHub Actions test workflow installs with `npm ci` and runs `npm run lint`, `npm run build`, `npm test`.\\n- **Docs deploy now uses npm**:\\n - The GitHub Pages workflow installs/builds using `npm ci` / `npm run build` (including inside `docs/`).\\n- **Publishing workflow switched to npm**:\\n - Replaces the previous `pnpm-publish.yml` with `npm-publish.yml`.\\n - Publishing triggers on **GitHub Release created** and runs `npm publish --access public` (requires `NPM_TOKEN`).\\n- **New dependency review workflow**:\\n - Adds a `dependency-review` GitHub Action to surface vulnerable dependencies in PRs (and can comment a summary in the PR).\\n\\n### Developer experience\\n- **Standardized scripts for local workflows**:\\n - Adds a `precommit` script to run build + full test suite.\\n - `test` now runs unit coverage first, then README doctests.\\n- **Lockfile workflow changes**:\\n - `package-lock.json` was regenerated to keep `npm ci` installs reproducible.\\n - pnpm workspace/lockfile artifacts were removed as part of the move to npm.\\n\\n### Documentation & metadata\\n- **Documentation links updated** from `semicolonambulance` to `utilarium`.\\n- **New `guide/` docs** added:\\n - `guide/architecture.md`\\n - `guide/configuration.md`\\n - `guide/usage.md`\\n - `guide/development.md`\\n - `guide/index.md`\\n- README installation section no longer mentions pnpm.\\n\\n### Licensing / attribution\\n- Updates Apache-2.0 copyright attribution in `LICENSE` and README.\\n\\n## Version\\n- Bumps package version: **0.0.10 → 0.0.11**.\\n\\n## Breaking changes / upgrade notes\\n\\n### For library consumers\\n- No breaking API changes are intended in this release.\\n\\n### For contributors / maintainers\\n- **pnpm is no longer the standard tooling** for this repository.\\n - Use `npm ci` / `npm install` instead of `pnpm install`.\\n - Use `npm run precommit` as the canonical local “run everything” check.\\n- **Publishing behavior changed**:\\n - Publishing is now performed via an npm-based workflow on GitHub Release creation.\\n - Ensure `NPM_TOKEN` is configured in repository secrets.\\n\\n## Known issues / notes\\n- Two macOS metadata files were added (`src/.DS_Store`, `tests/.DS_Store`). These are not functional, but they may be unintentionally included in published artifacts unless excluded by `.npmignore`/`.gitignore` rules.\\n\"\n}"
|
|
430
|
+
}
|
|
431
|
+
]
|
|
432
|
+
```
|
|
433
|
+
|
|
434
|
+
</details>
|
|
435
|
+
|
|
436
|
+
## Generated Release Notes
|
|
437
|
+
|
|
438
|
+
### Title
|
|
439
|
+
```
|
|
440
|
+
v0.0.11 — Standardize on npm for CI/publishing, add internal guides, and refresh project metadata
|
|
441
|
+
```
|
|
442
|
+
|
|
443
|
+
### Body
|
|
444
|
+
```markdown
|
|
445
|
+
## Highlights
|
|
446
|
+
|
|
447
|
+
This release is primarily **tooling, CI, and documentation cleanup**. There are **no intentional runtime/API changes** to the `@theunwalked/dreadcabinet` library.
|
|
448
|
+
|
|
449
|
+
Key themes:
|
|
450
|
+
- Move the repo workflow from **pnpm to npm** (lockfile + GitHub Actions)
|
|
451
|
+
- Add a **new documentation guide set** (`guide/`) explaining architecture and usage patterns
|
|
452
|
+
- Update project **metadata/links** to the new `utilarium/dreadcabinet` URLs
|
|
453
|
+
|
|
454
|
+
## Changes
|
|
455
|
+
|
|
456
|
+
### CI / Release automation
|
|
457
|
+
- **CI now uses npm**:
|
|
458
|
+
- GitHub Actions test workflow installs with `npm ci` and runs `npm run lint`, `npm run build`, `npm test`.
|
|
459
|
+
- **Docs deploy now uses npm**:
|
|
460
|
+
- The GitHub Pages workflow installs/builds using `npm ci` / `npm run build` (including inside `docs/`).
|
|
461
|
+
- **Publishing workflow switched to npm**:
|
|
462
|
+
- Replaces the previous `pnpm-publish.yml` with `npm-publish.yml`.
|
|
463
|
+
- Publishing triggers on **GitHub Release created** and runs `npm publish --access public` (requires `NPM_TOKEN`).
|
|
464
|
+
- **New dependency review workflow**:
|
|
465
|
+
- Adds a `dependency-review` GitHub Action to surface vulnerable dependencies in PRs (and can comment a summary in the PR).
|
|
466
|
+
|
|
467
|
+
### Developer experience
|
|
468
|
+
- **Standardized scripts for local workflows**:
|
|
469
|
+
- Adds a `precommit` script to run build + full test suite.
|
|
470
|
+
- `test` now runs unit coverage first, then README doctests.
|
|
471
|
+
- **Lockfile workflow changes**:
|
|
472
|
+
- `package-lock.json` was regenerated to keep `npm ci` installs reproducible.
|
|
473
|
+
- pnpm workspace/lockfile artifacts were removed as part of the move to npm.
|
|
474
|
+
|
|
475
|
+
### Documentation & metadata
|
|
476
|
+
- **Documentation links updated** from `semicolonambulance` to `utilarium`.
|
|
477
|
+
- **New `guide/` docs** added:
|
|
478
|
+
- `guide/architecture.md`
|
|
479
|
+
- `guide/configuration.md`
|
|
480
|
+
- `guide/usage.md`
|
|
481
|
+
- `guide/development.md`
|
|
482
|
+
- `guide/index.md`
|
|
483
|
+
- README installation section no longer mentions pnpm.
|
|
484
|
+
|
|
485
|
+
### Licensing / attribution
|
|
486
|
+
- Updates Apache-2.0 copyright attribution in `LICENSE` and README.
|
|
487
|
+
|
|
488
|
+
## Version
|
|
489
|
+
- Bumps package version: **0.0.10 → 0.0.11**.
|
|
490
|
+
|
|
491
|
+
## Breaking changes / upgrade notes
|
|
492
|
+
|
|
493
|
+
### For library consumers
|
|
494
|
+
- No breaking API changes are intended in this release.
|
|
495
|
+
|
|
496
|
+
### For contributors / maintainers
|
|
497
|
+
- **pnpm is no longer the standard tooling** for this repository.
|
|
498
|
+
- Use `npm ci` / `npm install` instead of `pnpm install`.
|
|
499
|
+
- Use `npm run precommit` as the canonical local “run everything” check.
|
|
500
|
+
- **Publishing behavior changed**:
|
|
501
|
+
- Publishing is now performed via an npm-based workflow on GitHub Release creation.
|
|
502
|
+
- Ensure `NPM_TOKEN` is configured in repository secrets.
|
|
503
|
+
|
|
504
|
+
## Known issues / notes
|
|
505
|
+
- Two macOS metadata files were added (`src/.DS_Store`, `tests/.DS_Store`). These are not functional, but they may be unintentionally included in published artifacts unless excluded by `.npmignore`/`.gitignore` rules.
|
|
506
|
+
|
|
507
|
+
```
|