@vladimirven/openswe 0.1.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +27 -134
- package/package.json +10 -3
- package/AGENTS.md +0 -203
- package/CLAUDE.md +0 -203
- package/bun.lock +0 -447
- package/bunfig.toml +0 -4
- package/tsconfig.json +0 -22
package/README.md
CHANGED
|
@@ -4,163 +4,56 @@ openswe is an AI coding agent (opencode, claude code) orchestration tool. It con
|
|
|
4
4
|
|
|
5
5
|
## Requirements
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
- Zig (required to build OpenTUI native dependency)
|
|
9
|
-
- tmux (session management)
|
|
10
|
-
- Git
|
|
11
|
-
- GitHub CLI (`gh`) with an authenticated account
|
|
12
|
-
- macOS or Linux (TUI dependencies assume a POSIX environment)
|
|
7
|
+
Before running openswe, ensure you have the following installed:
|
|
13
8
|
|
|
14
|
-
|
|
9
|
+
- **Git**: For version control operations.
|
|
10
|
+
- **GitHub CLI (`gh`)**: Must be installed and authenticated (`gh auth login`).
|
|
11
|
+
- **tmux**: Required for session management and isolation.
|
|
15
12
|
|
|
16
|
-
|
|
17
|
-
git clone <repo-url>
|
|
18
|
-
cd openswe
|
|
19
|
-
bun install
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
## Installation as Command
|
|
23
|
-
|
|
24
|
-
To run `openswe` from anywhere in your terminal:
|
|
25
|
-
|
|
26
|
-
### Option 1: Development Link (Recommended for contributors)
|
|
27
|
-
|
|
28
|
-
This links the current project directory so changes are reflected immediately.
|
|
29
|
-
|
|
30
|
-
```bash
|
|
31
|
-
cd openswe
|
|
32
|
-
chmod +x src/index.ts
|
|
33
|
-
bun link
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
You can now run `openswe` from any directory.
|
|
37
|
-
|
|
38
|
-
### Option 2: Standalone Binary (Compiled)
|
|
39
|
-
|
|
40
|
-
To create a single executable file that can be moved anywhere (even to machines without Bun installed):
|
|
41
|
-
|
|
42
|
-
```bash
|
|
43
|
-
bun build ./src/index.ts --compile --outfile openswe
|
|
44
|
-
mv openswe /usr/local/bin/
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
### Option 3: Manual Linking
|
|
48
|
-
|
|
49
|
-
If you prefer to manually link the script:
|
|
50
|
-
|
|
51
|
-
```bash
|
|
52
|
-
chmod +x src/index.ts
|
|
53
|
-
ln -s $(pwd)/src/index.ts /usr/local/bin/openswe
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
### Option 4: Bun Global Install
|
|
13
|
+
## Installation
|
|
57
14
|
|
|
58
|
-
|
|
15
|
+
### macOS & Linux (Homebrew)
|
|
59
16
|
|
|
60
17
|
```bash
|
|
61
|
-
|
|
18
|
+
brew install vladimirven001/tap/openswe
|
|
62
19
|
```
|
|
63
20
|
|
|
64
|
-
|
|
21
|
+
### NPM / Bun (Global)
|
|
65
22
|
|
|
66
|
-
|
|
67
|
-
bun run dev
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
If you want to run directly without the dev script:
|
|
23
|
+
You can also install `openswe` globally using your preferred Node.js package manager:
|
|
71
24
|
|
|
72
25
|
```bash
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
## CLI Usage
|
|
77
|
-
|
|
78
|
-
Run `openswe` with the following options:
|
|
26
|
+
# npm
|
|
27
|
+
npm install -g @vladimirven/openswe
|
|
79
28
|
|
|
80
|
-
|
|
81
|
-
bun
|
|
29
|
+
# bun
|
|
30
|
+
bun add -g @vladimirven/openswe
|
|
82
31
|
```
|
|
83
32
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
- `--repo`, `-r`: GitHub repo in `owner/repo` format (used in setup wizard)
|
|
87
|
-
- `--setup`: Force re-run the setup wizard
|
|
88
|
-
- `--status`: Show project status without launching the TUI
|
|
89
|
-
- `--backend`: AI backend (`opencode` or `claude`)
|
|
90
|
-
- `--max-sessions`: Maximum concurrent sessions
|
|
91
|
-
- `--debug`: Enable debug logging
|
|
33
|
+
## Usage
|
|
92
34
|
|
|
93
|
-
|
|
35
|
+
Start openswe in your project directory:
|
|
94
36
|
|
|
95
37
|
```bash
|
|
96
|
-
|
|
97
|
-
bun src/index.ts --status
|
|
98
|
-
bun src/index.ts --backend opencode --max-sessions 3
|
|
38
|
+
openswe
|
|
99
39
|
```
|
|
100
40
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
OpenSWE supports configuration via CLI flags, environment variables, and a global config file. Precedence is:
|
|
104
|
-
|
|
105
|
-
1. CLI flags (highest)
|
|
106
|
-
2. Environment variables
|
|
107
|
-
3. Global config file: `~/.config/openswe/config.toml`
|
|
108
|
-
4. Built-in defaults (lowest)
|
|
109
|
-
|
|
110
|
-
### Environment Variables
|
|
111
|
-
|
|
112
|
-
- `OPENSWE_BACKEND`: `opencode` or `claude`
|
|
113
|
-
- `OPENSWE_MAX_SESSIONS`: positive integer
|
|
114
|
-
- `OPENSWE_LOG_LEVEL`: `debug`, `info`, `warn`, or `error`
|
|
115
|
-
- `OPENSWE_PR_AUTO_CREATE`: `true` or `false`
|
|
116
|
-
- `OPENSWE_PR_DRAFT`: `true` or `false`
|
|
117
|
-
|
|
118
|
-
## Workspace Behavior
|
|
119
|
-
|
|
120
|
-
OpenSWE detects the working directory and chooses a setup path:
|
|
121
|
-
|
|
122
|
-
1. `.openswe/` exists: load existing project
|
|
123
|
-
2. `.git/` exists: offer to adopt the repo
|
|
124
|
-
3. `--repo` flag: clone into current directory
|
|
125
|
-
4. Empty directory: run setup wizard
|
|
126
|
-
|
|
127
|
-
Sessions run inside Git worktrees under `.worktrees/{issue-number}/` and project state lives in `.openswe/state.db`.
|
|
128
|
-
|
|
129
|
-
## Scripts
|
|
41
|
+
Or specify a repository directly:
|
|
130
42
|
|
|
131
43
|
```bash
|
|
132
|
-
|
|
133
|
-
bun run build # Build to dist/
|
|
134
|
-
bun test # Run all tests
|
|
135
|
-
bunx tsc --noEmit # Type check (required after each iteration)
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
## Project Structure
|
|
139
|
-
|
|
140
|
-
```text
|
|
141
|
-
src/
|
|
142
|
-
├── index.ts # CLI entry point with yargs
|
|
143
|
-
├── app.tsx # Main Solid.js TUI application
|
|
144
|
-
├── components/ # TUI components (SessionList, Preview, modals)
|
|
145
|
-
├── core/ # Session state machine, tmux manager, parser, queue
|
|
146
|
-
├── workspace/ # Detect/init workspace, path utilities
|
|
147
|
-
├── github/ # gh CLI wrapper, issues, PR creation
|
|
148
|
-
├── git/ # Clone, worktree operations
|
|
149
|
-
├── store/ # SQLite db, sessions/tasks/project CRUD
|
|
150
|
-
├── config/ # Types, global loader, defaults, env
|
|
151
|
-
├── prompts/ # SWE system prompt template
|
|
152
|
-
└── utils/ # Logger, ID generation, formatting
|
|
44
|
+
openswe --repo owner/repo
|
|
153
45
|
```
|
|
154
46
|
|
|
155
|
-
|
|
47
|
+
### Common Options
|
|
156
48
|
|
|
157
|
-
|
|
49
|
+
- `--repo <owner/repo>`: Start on a specific GitHub repository.
|
|
50
|
+
- `--backend <name>`: Choose AI backend (`opencode` or `claude`).
|
|
51
|
+
- `--help`: Show all available options.
|
|
158
52
|
|
|
159
|
-
|
|
160
|
-
bun run build
|
|
161
|
-
```
|
|
53
|
+
## How It Works
|
|
162
54
|
|
|
163
|
-
|
|
55
|
+
OpenSWE detects your current context to determine how to proceed:
|
|
164
56
|
|
|
165
|
-
|
|
166
|
-
|
|
57
|
+
1. **Existing Project**: If run in a folder with `.openswe/`, it loads the existing project state.
|
|
58
|
+
2. **Git Repo**: If run in a Git repository, it offers to adopt it.
|
|
59
|
+
3. **New Setup**: If run in an empty folder, it launches a setup wizard.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vladimirven/openswe",
|
|
3
|
-
"version": "0.1
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "AI coding agent (opencode, claude code) orchestration tool for tackling github issues",
|
|
5
5
|
"homepage": "https://github.com/vladimirven001/openswe#readme",
|
|
6
6
|
"bugs": {
|
|
@@ -13,13 +13,20 @@
|
|
|
13
13
|
"license": "ISC",
|
|
14
14
|
"author": "vladimirven",
|
|
15
15
|
"type": "module",
|
|
16
|
-
"
|
|
16
|
+
"engines": {
|
|
17
|
+
"bun": ">=1.0.0"
|
|
18
|
+
},
|
|
19
|
+
"main": "src/index.ts",
|
|
17
20
|
"bin": {
|
|
18
21
|
"openswe": "src/index.ts"
|
|
19
22
|
},
|
|
23
|
+
"files": [
|
|
24
|
+
"src"
|
|
25
|
+
],
|
|
20
26
|
"scripts": {
|
|
21
27
|
"dev": "bun run src/index.ts",
|
|
22
|
-
"build": "
|
|
28
|
+
"build": "bunx tsc --noEmit",
|
|
29
|
+
"build:binary": "bun run scripts/build.ts",
|
|
23
30
|
"test": "bun test"
|
|
24
31
|
},
|
|
25
32
|
"dependencies": {
|
package/AGENTS.md
DELETED
|
@@ -1,203 +0,0 @@
|
|
|
1
|
-
# AGENTS.md - OpenSWE Agent Guidelines
|
|
2
|
-
|
|
3
|
-
Guidelines for AI agents working on OpenSWE - an AI-powered software engineering orchestration tool.
|
|
4
|
-
|
|
5
|
-
## Tech Stack
|
|
6
|
-
|
|
7
|
-
| Component | Tool | Notes |
|
|
8
|
-
|-----------|------|-------|
|
|
9
|
-
| Runtime | **Bun** (NOT Node.js) | Native SQLite, fast startup |
|
|
10
|
-
| Language | TypeScript (strict mode) | Use strict typing everywhere |
|
|
11
|
-
| TUI | @opentui/core + @opentui/solid | Solid.js reactivity |
|
|
12
|
-
| CLI Parser | yargs | |
|
|
13
|
-
| Prompts | @clack/prompts | First-run wizard |
|
|
14
|
-
| Database | SQLite via bun:sqlite | Built into Bun |
|
|
15
|
-
| Config | TOML via @iarna/toml | snake_case in files, camelCase in code |
|
|
16
|
-
| GitHub | gh CLI (shelled out) | Handles auth |
|
|
17
|
-
| Sessions | tmux | Process isolation, attach support |
|
|
18
|
-
|
|
19
|
-
**Build Requirement**: Zig must be installed (OpenTUI native dependency)
|
|
20
|
-
|
|
21
|
-
## Commands
|
|
22
|
-
|
|
23
|
-
```bash
|
|
24
|
-
bun install # Install dependencies
|
|
25
|
-
bun run dev # Development mode
|
|
26
|
-
bun src/index.ts # Direct execution
|
|
27
|
-
bun --hot src/index.ts # Hot reloading
|
|
28
|
-
|
|
29
|
-
bun run build # Build to dist/
|
|
30
|
-
|
|
31
|
-
bun test # Run all tests
|
|
32
|
-
bun test src/foo.test.ts # Single test file
|
|
33
|
-
bun test --watch # Watch mode
|
|
34
|
-
bun test --filter "pattern" # Filter tests
|
|
35
|
-
|
|
36
|
-
bunx tsc --noEmit # Type check without emit
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
## Iteration Finish
|
|
40
|
-
|
|
41
|
-
- Always run lint/type checks at the end of each iteration (`bunx tsc --noEmit` unless a dedicated lint script exists)
|
|
42
|
-
|
|
43
|
-
## Project Structure
|
|
44
|
-
|
|
45
|
-
```
|
|
46
|
-
src/
|
|
47
|
-
├── index.ts # CLI entry point with yargs
|
|
48
|
-
├── app.tsx # Main Solid.js TUI application
|
|
49
|
-
├── components/ # TUI components (SessionList, Preview, modals)
|
|
50
|
-
├── core/ # Session state machine, tmux manager, parser, queue
|
|
51
|
-
├── workspace/ # Detect/init workspace, path utilities
|
|
52
|
-
├── github/ # gh CLI wrapper, issues, PR creation
|
|
53
|
-
├── git/ # Clone, worktree operations
|
|
54
|
-
├── store/ # SQLite db, sessions/tasks/project CRUD
|
|
55
|
-
├── config/ # Types, global loader, defaults, env
|
|
56
|
-
├── prompts/ # SWE system prompt template
|
|
57
|
-
└── utils/ # Logger, ID generation, formatting
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
## Code Style
|
|
61
|
-
|
|
62
|
-
### Formatting
|
|
63
|
-
- **No semicolons**
|
|
64
|
-
- **1 tab indentation**
|
|
65
|
-
- **Double quotes** for strings
|
|
66
|
-
- **Trailing commas** in multiline structures
|
|
67
|
-
- **No emojis** in output, UI strings, or documentation
|
|
68
|
-
|
|
69
|
-
### Imports (in order)
|
|
70
|
-
1. Node.js/Bun built-ins (`os`, `path`, `fs/promises`)
|
|
71
|
-
2. External packages (`yargs`, `@iarna/toml`)
|
|
72
|
-
3. Internal with path alias (`@/*` for `src/*`)
|
|
73
|
-
4. Relative imports (`./`, `../`)
|
|
74
|
-
|
|
75
|
-
```typescript
|
|
76
|
-
import { homedir } from "os"
|
|
77
|
-
import { parse as parseToml } from "@iarna/toml"
|
|
78
|
-
import type { GlobalConfig } from "@/config/types"
|
|
79
|
-
import { logger } from "./logger"
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
### Types
|
|
83
|
-
- **Strict mode** - use strict typing everywhere possible; never use `any` without justification
|
|
84
|
-
- **Explicit return types** on exported functions
|
|
85
|
-
- **Type literals** for constrained values
|
|
86
|
-
- **Type guards** for runtime validation
|
|
87
|
-
|
|
88
|
-
```typescript
|
|
89
|
-
export type Phase = "pending" | "research" | "planning" | "coding" | "testing" | "pr_creation" | "completed" | "failed"
|
|
90
|
-
export type Status = "queued" | "active" | "paused" | "needs_attention" | "completed" | "failed"
|
|
91
|
-
|
|
92
|
-
export function isValidPhase(val: unknown): val is Phase {
|
|
93
|
-
return typeof val === "string" && VALID_PHASES.includes(val as Phase)
|
|
94
|
-
}
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
### Naming
|
|
98
|
-
| Element | Convention | Example |
|
|
99
|
-
|---------|------------|---------|
|
|
100
|
-
| Files | kebab-case or camelCase | `session.ts`, `swe-system.ts` |
|
|
101
|
-
| Types/Interfaces | PascalCase | `Session`, `HumanTask` |
|
|
102
|
-
| Functions | camelCase | `loadConfig`, `createSession` |
|
|
103
|
-
| Constants | SCREAMING_SNAKE_CASE | `DEFAULT_CONFIG` |
|
|
104
|
-
|
|
105
|
-
### Error Handling
|
|
106
|
-
- **try-catch** for async operations that may fail
|
|
107
|
-
- **Graceful degradation** - return sensible defaults
|
|
108
|
-
- **Log warnings** for non-fatal issues
|
|
109
|
-
- **Throw errors** only for fatal conditions
|
|
110
|
-
|
|
111
|
-
### Documentation
|
|
112
|
-
```typescript
|
|
113
|
-
/**
|
|
114
|
-
* Load and merge configuration from all sources
|
|
115
|
-
* @param cliOverrides - Optional CLI flag overrides
|
|
116
|
-
* @returns Fully resolved configuration
|
|
117
|
-
*/
|
|
118
|
-
export async function loadConfig(cliOverrides?: CLIOverrides): Promise<GlobalConfig>
|
|
119
|
-
|
|
120
|
-
// ============================================================================
|
|
121
|
-
// Section Headers
|
|
122
|
-
// ============================================================================
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
## Bun-Specific APIs
|
|
126
|
-
|
|
127
|
-
Prefer Bun APIs over Node.js equivalents:
|
|
128
|
-
|
|
129
|
-
| Use This | Instead Of |
|
|
130
|
-
|----------|------------|
|
|
131
|
-
| `Bun.file()` / `Bun.write()` | `fs.readFile` / `fs.writeFile` |
|
|
132
|
-
| `Bun.$\`cmd\`` | `child_process`, `execa` |
|
|
133
|
-
| `bun:sqlite` | `better-sqlite3` |
|
|
134
|
-
| `Bun.serve()` | `express` |
|
|
135
|
-
|
|
136
|
-
Environment variables auto-load from `.env` - don't use `dotenv`.
|
|
137
|
-
|
|
138
|
-
## Key Data Models
|
|
139
|
-
|
|
140
|
-
```typescript
|
|
141
|
-
interface Session {
|
|
142
|
-
id: string
|
|
143
|
-
name: string
|
|
144
|
-
issueNumber: number | null
|
|
145
|
-
worktreePath: string // .worktrees/issue-123
|
|
146
|
-
branchName: string // openswe/issue-123
|
|
147
|
-
phase: Phase
|
|
148
|
-
status: Status
|
|
149
|
-
attentionReason: string | null
|
|
150
|
-
retryCount: number // 0-2, then needs_attention
|
|
151
|
-
tokensUsed: number
|
|
152
|
-
prUrl: string | null
|
|
153
|
-
pid: number | null
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
interface HumanTask {
|
|
157
|
-
id: string
|
|
158
|
-
sessionId: string
|
|
159
|
-
type: "question" | "permission" | "blocker" | "retry_failed" | "pr_review"
|
|
160
|
-
priority: "high" | "medium" | "low"
|
|
161
|
-
title: string
|
|
162
|
-
context: string
|
|
163
|
-
rawOutput: string
|
|
164
|
-
}
|
|
165
|
-
```
|
|
166
|
-
|
|
167
|
-
## Configuration Precedence
|
|
168
|
-
|
|
169
|
-
1. CLI flags (highest): `--backend`, `--max-sessions`, `--debug`
|
|
170
|
-
2. Environment variables: `OPENSWE_BACKEND`, `OPENSWE_LOG_LEVEL`, etc.
|
|
171
|
-
3. Global config file: `~/.config/openswe/config.toml`
|
|
172
|
-
4. Built-in defaults (lowest)
|
|
173
|
-
|
|
174
|
-
## Testing
|
|
175
|
-
|
|
176
|
-
```typescript
|
|
177
|
-
import { test, expect, describe } from "bun:test"
|
|
178
|
-
|
|
179
|
-
describe("Session", () => {
|
|
180
|
-
test("creates session with pending phase", async () => {
|
|
181
|
-
const session = await createSession({ name: "test" })
|
|
182
|
-
expect(session.phase).toBe("pending")
|
|
183
|
-
expect(session.status).toBe("queued")
|
|
184
|
-
})
|
|
185
|
-
})
|
|
186
|
-
```
|
|
187
|
-
|
|
188
|
-
## Workspace Model
|
|
189
|
-
|
|
190
|
-
- **Project-local**: Each workspace tied to single repo
|
|
191
|
-
- **Directory-based**: User chooses where to work
|
|
192
|
-
- **Worktrees**: Sessions isolated in `.worktrees/{issue-number}/`
|
|
193
|
-
- **State**: Project state in `.openswe/state.db`
|
|
194
|
-
|
|
195
|
-
Detection logic:
|
|
196
|
-
1. `.openswe/` exists → Load existing project
|
|
197
|
-
2. `.git/` exists → Offer to adopt repo
|
|
198
|
-
3. `--repo` flag → Clone to current dir
|
|
199
|
-
4. Empty dir → Run setup wizard
|
|
200
|
-
|
|
201
|
-
## WIP
|
|
202
|
-
|
|
203
|
-
This project is a WIP, meaning you can overwrite code and make db schema changes. Ensure that best coding practices are followed, even if it means having to reset the local db or make breaking code changes.
|
package/CLAUDE.md
DELETED
|
@@ -1,203 +0,0 @@
|
|
|
1
|
-
# AGENTS.md - OpenSWE Agent Guidelines
|
|
2
|
-
|
|
3
|
-
Guidelines for AI agents working on OpenSWE - an AI-powered software engineering orchestration tool.
|
|
4
|
-
|
|
5
|
-
## Tech Stack
|
|
6
|
-
|
|
7
|
-
| Component | Tool | Notes |
|
|
8
|
-
|-----------|------|-------|
|
|
9
|
-
| Runtime | **Bun** (NOT Node.js) | Native SQLite, fast startup |
|
|
10
|
-
| Language | TypeScript (strict mode) | Use strict typing everywhere |
|
|
11
|
-
| TUI | @opentui/core + @opentui/solid | Solid.js reactivity |
|
|
12
|
-
| CLI Parser | yargs | |
|
|
13
|
-
| Prompts | @clack/prompts | First-run wizard |
|
|
14
|
-
| Database | SQLite via bun:sqlite | Built into Bun |
|
|
15
|
-
| Config | TOML via @iarna/toml | snake_case in files, camelCase in code |
|
|
16
|
-
| GitHub | gh CLI (shelled out) | Handles auth |
|
|
17
|
-
| Sessions | tmux | Process isolation, attach support |
|
|
18
|
-
|
|
19
|
-
**Build Requirement**: Zig must be installed (OpenTUI native dependency)
|
|
20
|
-
|
|
21
|
-
## Commands
|
|
22
|
-
|
|
23
|
-
```bash
|
|
24
|
-
bun install # Install dependencies
|
|
25
|
-
bun run dev # Development mode
|
|
26
|
-
bun src/index.ts # Direct execution
|
|
27
|
-
bun --hot src/index.ts # Hot reloading
|
|
28
|
-
|
|
29
|
-
bun run build # Build to dist/
|
|
30
|
-
|
|
31
|
-
bun test # Run all tests
|
|
32
|
-
bun test src/foo.test.ts # Single test file
|
|
33
|
-
bun test --watch # Watch mode
|
|
34
|
-
bun test --filter "pattern" # Filter tests
|
|
35
|
-
|
|
36
|
-
bunx tsc --noEmit # Type check without emit
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
## Iteration Finish
|
|
40
|
-
|
|
41
|
-
- Always run lint/type checks at the end of each iteration (`bunx tsc --noEmit` unless a dedicated lint script exists)
|
|
42
|
-
|
|
43
|
-
## Project Structure
|
|
44
|
-
|
|
45
|
-
```
|
|
46
|
-
src/
|
|
47
|
-
├── index.ts # CLI entry point with yargs
|
|
48
|
-
├── app.tsx # Main Solid.js TUI application
|
|
49
|
-
├── components/ # TUI components (SessionList, Preview, modals)
|
|
50
|
-
├── core/ # Session state machine, tmux manager, parser, queue
|
|
51
|
-
├── workspace/ # Detect/init workspace, path utilities
|
|
52
|
-
├── github/ # gh CLI wrapper, issues, PR creation
|
|
53
|
-
├── git/ # Clone, worktree operations
|
|
54
|
-
├── store/ # SQLite db, sessions/tasks/project CRUD
|
|
55
|
-
├── config/ # Types, global loader, defaults, env
|
|
56
|
-
├── prompts/ # SWE system prompt template
|
|
57
|
-
└── utils/ # Logger, ID generation, formatting
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
## Code Style
|
|
61
|
-
|
|
62
|
-
### Formatting
|
|
63
|
-
- **No semicolons**
|
|
64
|
-
- **1-tab indentation**
|
|
65
|
-
- **Double quotes** for strings
|
|
66
|
-
- **Trailing commas** in multiline structures
|
|
67
|
-
- **No emojis** in output, UI strings, or documentation
|
|
68
|
-
|
|
69
|
-
### Imports (in order)
|
|
70
|
-
1. Node.js/Bun built-ins (`os`, `path`, `fs/promises`)
|
|
71
|
-
2. External packages (`yargs`, `@iarna/toml`)
|
|
72
|
-
3. Internal with path alias (`@/*` for `src/*`)
|
|
73
|
-
4. Relative imports (`./`, `../`)
|
|
74
|
-
|
|
75
|
-
```typescript
|
|
76
|
-
import { homedir } from "os"
|
|
77
|
-
import { parse as parseToml } from "@iarna/toml"
|
|
78
|
-
import type { GlobalConfig } from "@/config/types"
|
|
79
|
-
import { logger } from "./logger"
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
### Types
|
|
83
|
-
- **Strict mode** - use strict typing everywhere possible; never use `any` without justification
|
|
84
|
-
- **Explicit return types** on exported functions
|
|
85
|
-
- **Type literals** for constrained values
|
|
86
|
-
- **Type guards** for runtime validation
|
|
87
|
-
|
|
88
|
-
```typescript
|
|
89
|
-
export type Phase = "pending" | "research" | "planning" | "coding" | "testing" | "pr_creation" | "completed" | "failed"
|
|
90
|
-
export type Status = "queued" | "active" | "paused" | "needs_attention" | "completed" | "failed"
|
|
91
|
-
|
|
92
|
-
export function isValidPhase(val: unknown): val is Phase {
|
|
93
|
-
return typeof val === "string" && VALID_PHASES.includes(val as Phase)
|
|
94
|
-
}
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
### Naming
|
|
98
|
-
| Element | Convention | Example |
|
|
99
|
-
|---------|------------|---------|
|
|
100
|
-
| Files | kebab-case or camelCase | `session.ts`, `swe-system.ts` |
|
|
101
|
-
| Types/Interfaces | PascalCase | `Session`, `HumanTask` |
|
|
102
|
-
| Functions | camelCase | `loadConfig`, `createSession` |
|
|
103
|
-
| Constants | SCREAMING_SNAKE_CASE | `DEFAULT_CONFIG` |
|
|
104
|
-
|
|
105
|
-
### Error Handling
|
|
106
|
-
- **try-catch** for async operations that may fail
|
|
107
|
-
- **Graceful degradation** - return sensible defaults
|
|
108
|
-
- **Log warnings** for non-fatal issues
|
|
109
|
-
- **Throw errors** only for fatal conditions
|
|
110
|
-
|
|
111
|
-
### Documentation
|
|
112
|
-
```typescript
|
|
113
|
-
/**
|
|
114
|
-
* Load and merge configuration from all sources
|
|
115
|
-
* @param cliOverrides - Optional CLI flag overrides
|
|
116
|
-
* @returns Fully resolved configuration
|
|
117
|
-
*/
|
|
118
|
-
export async function loadConfig(cliOverrides?: CLIOverrides): Promise<GlobalConfig>
|
|
119
|
-
|
|
120
|
-
// ============================================================================
|
|
121
|
-
// Section Headers
|
|
122
|
-
// ============================================================================
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
## Bun-Specific APIs
|
|
126
|
-
|
|
127
|
-
Prefer Bun APIs over Node.js equivalents:
|
|
128
|
-
|
|
129
|
-
| Use This | Instead Of |
|
|
130
|
-
|----------|------------|
|
|
131
|
-
| `Bun.file()` / `Bun.write()` | `fs.readFile` / `fs.writeFile` |
|
|
132
|
-
| `Bun.$\`cmd\`` | `child_process`, `execa` |
|
|
133
|
-
| `bun:sqlite` | `better-sqlite3` |
|
|
134
|
-
| `Bun.serve()` | `express` |
|
|
135
|
-
|
|
136
|
-
Environment variables auto-load from `.env` - don't use `dotenv`.
|
|
137
|
-
|
|
138
|
-
## Key Data Models
|
|
139
|
-
|
|
140
|
-
```typescript
|
|
141
|
-
interface Session {
|
|
142
|
-
id: string
|
|
143
|
-
name: string
|
|
144
|
-
issueNumber: number | null
|
|
145
|
-
worktreePath: string // .worktrees/issue-123
|
|
146
|
-
branchName: string // openswe/issue-123
|
|
147
|
-
phase: Phase
|
|
148
|
-
status: Status
|
|
149
|
-
attentionReason: string | null
|
|
150
|
-
retryCount: number // 0-2, then needs_attention
|
|
151
|
-
tokensUsed: number
|
|
152
|
-
prUrl: string | null
|
|
153
|
-
pid: number | null
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
interface HumanTask {
|
|
157
|
-
id: string
|
|
158
|
-
sessionId: string
|
|
159
|
-
type: "question" | "permission" | "blocker" | "retry_failed" | "pr_review"
|
|
160
|
-
priority: "high" | "medium" | "low"
|
|
161
|
-
title: string
|
|
162
|
-
context: string
|
|
163
|
-
rawOutput: string
|
|
164
|
-
}
|
|
165
|
-
```
|
|
166
|
-
|
|
167
|
-
## Configuration Precedence
|
|
168
|
-
|
|
169
|
-
1. CLI flags (highest): `--backend`, `--max-sessions`, `--debug`
|
|
170
|
-
2. Environment variables: `OPENSWE_BACKEND`, `OPENSWE_LOG_LEVEL`, etc.
|
|
171
|
-
3. Global config file: `~/.config/openswe/config.toml`
|
|
172
|
-
4. Built-in defaults (lowest)
|
|
173
|
-
|
|
174
|
-
## Testing
|
|
175
|
-
|
|
176
|
-
```typescript
|
|
177
|
-
import { test, expect, describe } from "bun:test"
|
|
178
|
-
|
|
179
|
-
describe("Session", () => {
|
|
180
|
-
test("creates session with pending phase", async () => {
|
|
181
|
-
const session = await createSession({ name: "test" })
|
|
182
|
-
expect(session.phase).toBe("pending")
|
|
183
|
-
expect(session.status).toBe("queued")
|
|
184
|
-
})
|
|
185
|
-
})
|
|
186
|
-
```
|
|
187
|
-
|
|
188
|
-
## Workspace Model
|
|
189
|
-
|
|
190
|
-
- **Project-local**: Each workspace tied to single repo
|
|
191
|
-
- **Directory-based**: User chooses where to work
|
|
192
|
-
- **Worktrees**: Sessions isolated in `.worktrees/{issue-number}/`
|
|
193
|
-
- **State**: Project state in `.openswe/state.db`
|
|
194
|
-
|
|
195
|
-
Detection logic:
|
|
196
|
-
1. `.openswe/` exists → Load existing project
|
|
197
|
-
2. `.git/` exists → Offer to adopt repo
|
|
198
|
-
3. `--repo` flag → Clone to current dir
|
|
199
|
-
4. Empty dir → Run setup wizard
|
|
200
|
-
|
|
201
|
-
## WIP
|
|
202
|
-
|
|
203
|
-
This project is a WIP, meaning you can overwrite code and make db schema changes. Ensure that best coding practices are followed, even if it means having to reset the local db or make breaking code changes.
|
package/bun.lock
DELETED
|
@@ -1,447 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"lockfileVersion": 1,
|
|
3
|
-
"configVersion": 1,
|
|
4
|
-
"workspaces": {
|
|
5
|
-
"": {
|
|
6
|
-
"name": "openswe",
|
|
7
|
-
"dependencies": {
|
|
8
|
-
"@clack/prompts": "^0.11.0",
|
|
9
|
-
"@iarna/toml": "^2.2.5",
|
|
10
|
-
"@opentui/core": "^0.1.74",
|
|
11
|
-
"@opentui/solid": "^0.1.74",
|
|
12
|
-
"solid-js": "^1.9.9",
|
|
13
|
-
"uuid": "^9.0.0",
|
|
14
|
-
"yargs": "^18.0.0",
|
|
15
|
-
},
|
|
16
|
-
"devDependencies": {
|
|
17
|
-
"@tsconfig/bun": "^1.0.0",
|
|
18
|
-
"@types/babel__core": "7.20.5",
|
|
19
|
-
"@types/bun": "latest",
|
|
20
|
-
"@types/uuid": "^9.0.0",
|
|
21
|
-
"@types/yargs": "^17.0.33",
|
|
22
|
-
"typescript": "^5.0.0",
|
|
23
|
-
},
|
|
24
|
-
},
|
|
25
|
-
},
|
|
26
|
-
"packages": {
|
|
27
|
-
"@ampproject/remapping": ["@ampproject/remapping@2.3.0", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw=="],
|
|
28
|
-
|
|
29
|
-
"@babel/code-frame": ["@babel/code-frame@7.28.6", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.28.5", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-JYgintcMjRiCvS8mMECzaEn+m3PfoQiyqukOMCCVQtoJGYJw8j/8LBJEiqkHLkfwCcs74E3pbAUFNg7d9VNJ+Q=="],
|
|
30
|
-
|
|
31
|
-
"@babel/compat-data": ["@babel/compat-data@7.28.6", "", {}, "sha512-2lfu57JtzctfIrcGMz992hyLlByuzgIk58+hhGCxjKZ3rWI82NnVLjXcaTqkI2NvlcvOskZaiZ5kjUALo3Lpxg=="],
|
|
32
|
-
|
|
33
|
-
"@babel/core": ["@babel/core@7.28.0", "", { "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.0", "@babel/helper-compilation-targets": "^7.27.2", "@babel/helper-module-transforms": "^7.27.3", "@babel/helpers": "^7.27.6", "@babel/parser": "^7.28.0", "@babel/template": "^7.27.2", "@babel/traverse": "^7.28.0", "@babel/types": "^7.28.0", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-UlLAnTPrFdNGoFtbSXwcGFQBtQZJCNjaN6hQNP3UPvuNXT1i82N26KL3dZeIpNalWywr9IuQuncaAfUaS1g6sQ=="],
|
|
34
|
-
|
|
35
|
-
"@babel/generator": ["@babel/generator@7.28.6", "", { "dependencies": { "@babel/parser": "^7.28.6", "@babel/types": "^7.28.6", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" } }, "sha512-lOoVRwADj8hjf7al89tvQ2a1lf53Z+7tiXMgpZJL3maQPDxh0DgLMN62B2MKUOFcoodBHLMbDM6WAbKgNy5Suw=="],
|
|
36
|
-
|
|
37
|
-
"@babel/helper-annotate-as-pure": ["@babel/helper-annotate-as-pure@7.27.3", "", { "dependencies": { "@babel/types": "^7.27.3" } }, "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg=="],
|
|
38
|
-
|
|
39
|
-
"@babel/helper-compilation-targets": ["@babel/helper-compilation-targets@7.28.6", "", { "dependencies": { "@babel/compat-data": "^7.28.6", "@babel/helper-validator-option": "^7.27.1", "browserslist": "^4.24.0", "lru-cache": "^5.1.1", "semver": "^6.3.1" } }, "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA=="],
|
|
40
|
-
|
|
41
|
-
"@babel/helper-create-class-features-plugin": ["@babel/helper-create-class-features-plugin@7.28.6", "", { "dependencies": { "@babel/helper-annotate-as-pure": "^7.27.3", "@babel/helper-member-expression-to-functions": "^7.28.5", "@babel/helper-optimise-call-expression": "^7.27.1", "@babel/helper-replace-supers": "^7.28.6", "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", "@babel/traverse": "^7.28.6", "semver": "^6.3.1" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-dTOdvsjnG3xNT9Y0AUg1wAl38y+4Rl4sf9caSQZOXdNqVn+H+HbbJ4IyyHaIqNR6SW9oJpA/RuRjsjCw2IdIow=="],
|
|
42
|
-
|
|
43
|
-
"@babel/helper-globals": ["@babel/helper-globals@7.28.0", "", {}, "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw=="],
|
|
44
|
-
|
|
45
|
-
"@babel/helper-member-expression-to-functions": ["@babel/helper-member-expression-to-functions@7.28.5", "", { "dependencies": { "@babel/traverse": "^7.28.5", "@babel/types": "^7.28.5" } }, "sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg=="],
|
|
46
|
-
|
|
47
|
-
"@babel/helper-module-imports": ["@babel/helper-module-imports@7.28.6", "", { "dependencies": { "@babel/traverse": "^7.28.6", "@babel/types": "^7.28.6" } }, "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw=="],
|
|
48
|
-
|
|
49
|
-
"@babel/helper-module-transforms": ["@babel/helper-module-transforms@7.28.6", "", { "dependencies": { "@babel/helper-module-imports": "^7.28.6", "@babel/helper-validator-identifier": "^7.28.5", "@babel/traverse": "^7.28.6" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA=="],
|
|
50
|
-
|
|
51
|
-
"@babel/helper-optimise-call-expression": ["@babel/helper-optimise-call-expression@7.27.1", "", { "dependencies": { "@babel/types": "^7.27.1" } }, "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw=="],
|
|
52
|
-
|
|
53
|
-
"@babel/helper-plugin-utils": ["@babel/helper-plugin-utils@7.28.6", "", {}, "sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug=="],
|
|
54
|
-
|
|
55
|
-
"@babel/helper-replace-supers": ["@babel/helper-replace-supers@7.28.6", "", { "dependencies": { "@babel/helper-member-expression-to-functions": "^7.28.5", "@babel/helper-optimise-call-expression": "^7.27.1", "@babel/traverse": "^7.28.6" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-mq8e+laIk94/yFec3DxSjCRD2Z0TAjhVbEJY3UQrlwVo15Lmt7C2wAUbK4bjnTs4APkwsYLTahXRraQXhb1WCg=="],
|
|
56
|
-
|
|
57
|
-
"@babel/helper-skip-transparent-expression-wrappers": ["@babel/helper-skip-transparent-expression-wrappers@7.27.1", "", { "dependencies": { "@babel/traverse": "^7.27.1", "@babel/types": "^7.27.1" } }, "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg=="],
|
|
58
|
-
|
|
59
|
-
"@babel/helper-string-parser": ["@babel/helper-string-parser@7.27.1", "", {}, "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA=="],
|
|
60
|
-
|
|
61
|
-
"@babel/helper-validator-identifier": ["@babel/helper-validator-identifier@7.28.5", "", {}, "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q=="],
|
|
62
|
-
|
|
63
|
-
"@babel/helper-validator-option": ["@babel/helper-validator-option@7.27.1", "", {}, "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg=="],
|
|
64
|
-
|
|
65
|
-
"@babel/helpers": ["@babel/helpers@7.28.6", "", { "dependencies": { "@babel/template": "^7.28.6", "@babel/types": "^7.28.6" } }, "sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw=="],
|
|
66
|
-
|
|
67
|
-
"@babel/parser": ["@babel/parser@7.28.6", "", { "dependencies": { "@babel/types": "^7.28.6" }, "bin": "./bin/babel-parser.js" }, "sha512-TeR9zWR18BvbfPmGbLampPMW+uW1NZnJlRuuHso8i87QZNq2JRF9i6RgxRqtEq+wQGsS19NNTWr2duhnE49mfQ=="],
|
|
68
|
-
|
|
69
|
-
"@babel/plugin-syntax-jsx": ["@babel/plugin-syntax-jsx@7.28.6", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.28.6" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-wgEmr06G6sIpqr8YDwA2dSRTE3bJ+V0IfpzfSY3Lfgd7YWOaAdlykvJi13ZKBt8cZHfgH1IXN+CL656W3uUa4w=="],
|
|
70
|
-
|
|
71
|
-
"@babel/plugin-syntax-typescript": ["@babel/plugin-syntax-typescript@7.28.6", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.28.6" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-+nDNmQye7nlnuuHDboPbGm00Vqg3oO8niRRL27/4LYHUsHYh0zJ1xWOz0uRwNFmM1Avzk8wZbc6rdiYhomzv/A=="],
|
|
72
|
-
|
|
73
|
-
"@babel/plugin-transform-modules-commonjs": ["@babel/plugin-transform-modules-commonjs@7.28.6", "", { "dependencies": { "@babel/helper-module-transforms": "^7.28.6", "@babel/helper-plugin-utils": "^7.28.6" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-jppVbf8IV9iWWwWTQIxJMAJCWBuuKx71475wHwYytrRGQ2CWiDvYlADQno3tcYpS/T2UUWFQp3nVtYfK/YBQrA=="],
|
|
74
|
-
|
|
75
|
-
"@babel/plugin-transform-typescript": ["@babel/plugin-transform-typescript@7.28.6", "", { "dependencies": { "@babel/helper-annotate-as-pure": "^7.27.3", "@babel/helper-create-class-features-plugin": "^7.28.6", "@babel/helper-plugin-utils": "^7.28.6", "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", "@babel/plugin-syntax-typescript": "^7.28.6" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-0YWL2RFxOqEm9Efk5PvreamxPME8OyY0wM5wh5lHjF+VtVhdneCWGzZeSqzOfiobVqQaNCd2z0tQvnI9DaPWPw=="],
|
|
76
|
-
|
|
77
|
-
"@babel/preset-typescript": ["@babel/preset-typescript@7.27.1", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.27.1", "@babel/helper-validator-option": "^7.27.1", "@babel/plugin-syntax-jsx": "^7.27.1", "@babel/plugin-transform-modules-commonjs": "^7.27.1", "@babel/plugin-transform-typescript": "^7.27.1" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-l7WfQfX0WK4M0v2RudjuQK4u99BS6yLHYEmdtVPP7lKV013zr9DygFuWNlnbvQ9LR+LS0Egz/XAvGx5U9MX0fQ=="],
|
|
78
|
-
|
|
79
|
-
"@babel/template": ["@babel/template@7.28.6", "", { "dependencies": { "@babel/code-frame": "^7.28.6", "@babel/parser": "^7.28.6", "@babel/types": "^7.28.6" } }, "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ=="],
|
|
80
|
-
|
|
81
|
-
"@babel/traverse": ["@babel/traverse@7.28.6", "", { "dependencies": { "@babel/code-frame": "^7.28.6", "@babel/generator": "^7.28.6", "@babel/helper-globals": "^7.28.0", "@babel/parser": "^7.28.6", "@babel/template": "^7.28.6", "@babel/types": "^7.28.6", "debug": "^4.3.1" } }, "sha512-fgWX62k02qtjqdSNTAGxmKYY/7FSL9WAS1o2Hu5+I5m9T0yxZzr4cnrfXQ/MX0rIifthCSs6FKTlzYbJcPtMNg=="],
|
|
82
|
-
|
|
83
|
-
"@babel/types": ["@babel/types@7.28.6", "", { "dependencies": { "@babel/helper-string-parser": "^7.27.1", "@babel/helper-validator-identifier": "^7.28.5" } }, "sha512-0ZrskXVEHSWIqZM/sQZ4EV3jZJXRkio/WCxaqKZP1g//CEWEPSfeZFcms4XeKBCHU0ZKnIkdJeU/kF+eRp5lBg=="],
|
|
84
|
-
|
|
85
|
-
"@clack/core": ["@clack/core@0.5.0", "", { "dependencies": { "picocolors": "^1.0.0", "sisteransi": "^1.0.5" } }, "sha512-p3y0FIOwaYRUPRcMO7+dlmLh8PSRcrjuTndsiA0WAFbWES0mLZlrjVoBRZ9DzkPFJZG6KGkJmoEAY0ZcVWTkow=="],
|
|
86
|
-
|
|
87
|
-
"@clack/prompts": ["@clack/prompts@0.11.0", "", { "dependencies": { "@clack/core": "0.5.0", "picocolors": "^1.0.0", "sisteransi": "^1.0.5" } }, "sha512-pMN5FcrEw9hUkZA4f+zLlzivQSeQf5dRGJjSUbvVYDLvpKCdQx5OaknvKzgbtXOizhP+SJJJjqEbOe55uKKfAw=="],
|
|
88
|
-
|
|
89
|
-
"@dimforge/rapier2d-simd-compat": ["@dimforge/rapier2d-simd-compat@0.17.3", "", {}, "sha512-bijvwWz6NHsNj5e5i1vtd3dU2pDhthSaTUZSh14DUGGKJfw8eMnlWZsxwHBxB/a3AXVNDjL9abuHw1k9FGR+jg=="],
|
|
90
|
-
|
|
91
|
-
"@iarna/toml": ["@iarna/toml@2.2.5", "", {}, "sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg=="],
|
|
92
|
-
|
|
93
|
-
"@jimp/core": ["@jimp/core@1.6.0", "", { "dependencies": { "@jimp/file-ops": "1.6.0", "@jimp/types": "1.6.0", "@jimp/utils": "1.6.0", "await-to-js": "^3.0.0", "exif-parser": "^0.1.12", "file-type": "^16.0.0", "mime": "3" } }, "sha512-EQQlKU3s9QfdJqiSrZWNTxBs3rKXgO2W+GxNXDtwchF3a4IqxDheFX1ti+Env9hdJXDiYLp2jTRjlxhPthsk8w=="],
|
|
94
|
-
|
|
95
|
-
"@jimp/diff": ["@jimp/diff@1.6.0", "", { "dependencies": { "@jimp/plugin-resize": "1.6.0", "@jimp/types": "1.6.0", "@jimp/utils": "1.6.0", "pixelmatch": "^5.3.0" } }, "sha512-+yUAQ5gvRC5D1WHYxjBHZI7JBRusGGSLf8AmPRPCenTzh4PA+wZ1xv2+cYqQwTfQHU5tXYOhA0xDytfHUf1Zyw=="],
|
|
96
|
-
|
|
97
|
-
"@jimp/file-ops": ["@jimp/file-ops@1.6.0", "", {}, "sha512-Dx/bVDmgnRe1AlniRpCKrGRm5YvGmUwbDzt+MAkgmLGf+jvBT75hmMEZ003n9HQI/aPnm/YKnXjg/hOpzNCpHQ=="],
|
|
98
|
-
|
|
99
|
-
"@jimp/js-bmp": ["@jimp/js-bmp@1.6.0", "", { "dependencies": { "@jimp/core": "1.6.0", "@jimp/types": "1.6.0", "@jimp/utils": "1.6.0", "bmp-ts": "^1.0.9" } }, "sha512-FU6Q5PC/e3yzLyBDXupR3SnL3htU7S3KEs4e6rjDP6gNEOXRFsWs6YD3hXuXd50jd8ummy+q2WSwuGkr8wi+Gw=="],
|
|
100
|
-
|
|
101
|
-
"@jimp/js-gif": ["@jimp/js-gif@1.6.0", "", { "dependencies": { "@jimp/core": "1.6.0", "@jimp/types": "1.6.0", "gifwrap": "^0.10.1", "omggif": "^1.0.10" } }, "sha512-N9CZPHOrJTsAUoWkWZstLPpwT5AwJ0wge+47+ix3++SdSL/H2QzyMqxbcDYNFe4MoI5MIhATfb0/dl/wmX221g=="],
|
|
102
|
-
|
|
103
|
-
"@jimp/js-jpeg": ["@jimp/js-jpeg@1.6.0", "", { "dependencies": { "@jimp/core": "1.6.0", "@jimp/types": "1.6.0", "jpeg-js": "^0.4.4" } }, "sha512-6vgFDqeusblf5Pok6B2DUiMXplH8RhIKAryj1yn+007SIAQ0khM1Uptxmpku/0MfbClx2r7pnJv9gWpAEJdMVA=="],
|
|
104
|
-
|
|
105
|
-
"@jimp/js-png": ["@jimp/js-png@1.6.0", "", { "dependencies": { "@jimp/core": "1.6.0", "@jimp/types": "1.6.0", "pngjs": "^7.0.0" } }, "sha512-AbQHScy3hDDgMRNfG0tPjL88AV6qKAILGReIa3ATpW5QFjBKpisvUaOqhzJ7Reic1oawx3Riyv152gaPfqsBVg=="],
|
|
106
|
-
|
|
107
|
-
"@jimp/js-tiff": ["@jimp/js-tiff@1.6.0", "", { "dependencies": { "@jimp/core": "1.6.0", "@jimp/types": "1.6.0", "utif2": "^4.1.0" } }, "sha512-zhReR8/7KO+adijj3h0ZQUOiun3mXUv79zYEAKvE0O+rP7EhgtKvWJOZfRzdZSNv0Pu1rKtgM72qgtwe2tFvyw=="],
|
|
108
|
-
|
|
109
|
-
"@jimp/plugin-blit": ["@jimp/plugin-blit@1.6.0", "", { "dependencies": { "@jimp/types": "1.6.0", "@jimp/utils": "1.6.0", "zod": "^3.23.8" } }, "sha512-M+uRWl1csi7qilnSK8uxK4RJMSuVeBiO1AY0+7APnfUbQNZm6hCe0CCFv1Iyw1D/Dhb8ph8fQgm5mwM0eSxgVA=="],
|
|
110
|
-
|
|
111
|
-
"@jimp/plugin-blur": ["@jimp/plugin-blur@1.6.0", "", { "dependencies": { "@jimp/core": "1.6.0", "@jimp/utils": "1.6.0" } }, "sha512-zrM7iic1OTwUCb0g/rN5y+UnmdEsT3IfuCXCJJNs8SZzP0MkZ1eTvuwK9ZidCuMo4+J3xkzCidRwYXB5CyGZTw=="],
|
|
112
|
-
|
|
113
|
-
"@jimp/plugin-circle": ["@jimp/plugin-circle@1.6.0", "", { "dependencies": { "@jimp/types": "1.6.0", "zod": "^3.23.8" } }, "sha512-xt1Gp+LtdMKAXfDp3HNaG30SPZW6AQ7dtAtTnoRKorRi+5yCJjKqXRgkewS5bvj8DEh87Ko1ydJfzqS3P2tdWw=="],
|
|
114
|
-
|
|
115
|
-
"@jimp/plugin-color": ["@jimp/plugin-color@1.6.0", "", { "dependencies": { "@jimp/core": "1.6.0", "@jimp/types": "1.6.0", "@jimp/utils": "1.6.0", "tinycolor2": "^1.6.0", "zod": "^3.23.8" } }, "sha512-J5q8IVCpkBsxIXM+45XOXTrsyfblyMZg3a9eAo0P7VPH4+CrvyNQwaYatbAIamSIN1YzxmO3DkIZXzRjFSz1SA=="],
|
|
116
|
-
|
|
117
|
-
"@jimp/plugin-contain": ["@jimp/plugin-contain@1.6.0", "", { "dependencies": { "@jimp/core": "1.6.0", "@jimp/plugin-blit": "1.6.0", "@jimp/plugin-resize": "1.6.0", "@jimp/types": "1.6.0", "@jimp/utils": "1.6.0", "zod": "^3.23.8" } }, "sha512-oN/n+Vdq/Qg9bB4yOBOxtY9IPAtEfES8J1n9Ddx+XhGBYT1/QTU/JYkGaAkIGoPnyYvmLEDqMz2SGihqlpqfzQ=="],
|
|
118
|
-
|
|
119
|
-
"@jimp/plugin-cover": ["@jimp/plugin-cover@1.6.0", "", { "dependencies": { "@jimp/core": "1.6.0", "@jimp/plugin-crop": "1.6.0", "@jimp/plugin-resize": "1.6.0", "@jimp/types": "1.6.0", "zod": "^3.23.8" } }, "sha512-Iow0h6yqSC269YUJ8HC3Q/MpCi2V55sMlbkkTTx4zPvd8mWZlC0ykrNDeAy9IJegrQ7v5E99rJwmQu25lygKLA=="],
|
|
120
|
-
|
|
121
|
-
"@jimp/plugin-crop": ["@jimp/plugin-crop@1.6.0", "", { "dependencies": { "@jimp/core": "1.6.0", "@jimp/types": "1.6.0", "@jimp/utils": "1.6.0", "zod": "^3.23.8" } }, "sha512-KqZkEhvs+21USdySCUDI+GFa393eDIzbi1smBqkUPTE+pRwSWMAf01D5OC3ZWB+xZsNla93BDS9iCkLHA8wang=="],
|
|
122
|
-
|
|
123
|
-
"@jimp/plugin-displace": ["@jimp/plugin-displace@1.6.0", "", { "dependencies": { "@jimp/types": "1.6.0", "@jimp/utils": "1.6.0", "zod": "^3.23.8" } }, "sha512-4Y10X9qwr5F+Bo5ME356XSACEF55485j5nGdiyJ9hYzjQP9nGgxNJaZ4SAOqpd+k5sFaIeD7SQ0Occ26uIng5Q=="],
|
|
124
|
-
|
|
125
|
-
"@jimp/plugin-dither": ["@jimp/plugin-dither@1.6.0", "", { "dependencies": { "@jimp/types": "1.6.0" } }, "sha512-600d1RxY0pKwgyU0tgMahLNKsqEcxGdbgXadCiVCoGd6V6glyCvkNrnnwC0n5aJ56Htkj88PToSdF88tNVZEEQ=="],
|
|
126
|
-
|
|
127
|
-
"@jimp/plugin-fisheye": ["@jimp/plugin-fisheye@1.6.0", "", { "dependencies": { "@jimp/types": "1.6.0", "@jimp/utils": "1.6.0", "zod": "^3.23.8" } }, "sha512-E5QHKWSCBFtpgZarlmN3Q6+rTQxjirFqo44ohoTjzYVrDI6B6beXNnPIThJgPr0Y9GwfzgyarKvQuQuqCnnfbA=="],
|
|
128
|
-
|
|
129
|
-
"@jimp/plugin-flip": ["@jimp/plugin-flip@1.6.0", "", { "dependencies": { "@jimp/types": "1.6.0", "zod": "^3.23.8" } }, "sha512-/+rJVDuBIVOgwoyVkBjUFHtP+wmW0r+r5OQ2GpatQofToPVbJw1DdYWXlwviSx7hvixTWLKVgRWQ5Dw862emDg=="],
|
|
130
|
-
|
|
131
|
-
"@jimp/plugin-hash": ["@jimp/plugin-hash@1.6.0", "", { "dependencies": { "@jimp/core": "1.6.0", "@jimp/js-bmp": "1.6.0", "@jimp/js-jpeg": "1.6.0", "@jimp/js-png": "1.6.0", "@jimp/js-tiff": "1.6.0", "@jimp/plugin-color": "1.6.0", "@jimp/plugin-resize": "1.6.0", "@jimp/types": "1.6.0", "@jimp/utils": "1.6.0", "any-base": "^1.1.0" } }, "sha512-wWzl0kTpDJgYVbZdajTf+4NBSKvmI3bRI8q6EH9CVeIHps9VWVsUvEyb7rpbcwVLWYuzDtP2R0lTT6WeBNQH9Q=="],
|
|
132
|
-
|
|
133
|
-
"@jimp/plugin-mask": ["@jimp/plugin-mask@1.6.0", "", { "dependencies": { "@jimp/types": "1.6.0", "zod": "^3.23.8" } }, "sha512-Cwy7ExSJMZszvkad8NV8o/Z92X2kFUFM8mcDAhNVxU0Q6tA0op2UKRJY51eoK8r6eds/qak3FQkXakvNabdLnA=="],
|
|
134
|
-
|
|
135
|
-
"@jimp/plugin-print": ["@jimp/plugin-print@1.6.0", "", { "dependencies": { "@jimp/core": "1.6.0", "@jimp/js-jpeg": "1.6.0", "@jimp/js-png": "1.6.0", "@jimp/plugin-blit": "1.6.0", "@jimp/types": "1.6.0", "parse-bmfont-ascii": "^1.0.6", "parse-bmfont-binary": "^1.0.6", "parse-bmfont-xml": "^1.1.6", "simple-xml-to-json": "^1.2.2", "zod": "^3.23.8" } }, "sha512-zarTIJi8fjoGMSI/M3Xh5yY9T65p03XJmPsuNet19K/Q7mwRU6EV2pfj+28++2PV2NJ+htDF5uecAlnGyxFN2A=="],
|
|
136
|
-
|
|
137
|
-
"@jimp/plugin-quantize": ["@jimp/plugin-quantize@1.6.0", "", { "dependencies": { "image-q": "^4.0.0", "zod": "^3.23.8" } }, "sha512-EmzZ/s9StYQwbpG6rUGBCisc3f64JIhSH+ncTJd+iFGtGo0YvSeMdAd+zqgiHpfZoOL54dNavZNjF4otK+mvlg=="],
|
|
138
|
-
|
|
139
|
-
"@jimp/plugin-resize": ["@jimp/plugin-resize@1.6.0", "", { "dependencies": { "@jimp/core": "1.6.0", "@jimp/types": "1.6.0", "zod": "^3.23.8" } }, "sha512-uSUD1mqXN9i1SGSz5ov3keRZ7S9L32/mAQG08wUwZiEi5FpbV0K8A8l1zkazAIZi9IJzLlTauRNU41Mi8IF9fA=="],
|
|
140
|
-
|
|
141
|
-
"@jimp/plugin-rotate": ["@jimp/plugin-rotate@1.6.0", "", { "dependencies": { "@jimp/core": "1.6.0", "@jimp/plugin-crop": "1.6.0", "@jimp/plugin-resize": "1.6.0", "@jimp/types": "1.6.0", "@jimp/utils": "1.6.0", "zod": "^3.23.8" } }, "sha512-JagdjBLnUZGSG4xjCLkIpQOZZ3Mjbg8aGCCi4G69qR+OjNpOeGI7N2EQlfK/WE8BEHOW5vdjSyglNqcYbQBWRw=="],
|
|
142
|
-
|
|
143
|
-
"@jimp/plugin-threshold": ["@jimp/plugin-threshold@1.6.0", "", { "dependencies": { "@jimp/core": "1.6.0", "@jimp/plugin-color": "1.6.0", "@jimp/plugin-hash": "1.6.0", "@jimp/types": "1.6.0", "@jimp/utils": "1.6.0", "zod": "^3.23.8" } }, "sha512-M59m5dzLoHOVWdM41O8z9SyySzcDn43xHseOH0HavjsfQsT56GGCC4QzU1banJidbUrePhzoEdS42uFE8Fei8w=="],
|
|
144
|
-
|
|
145
|
-
"@jimp/types": ["@jimp/types@1.6.0", "", { "dependencies": { "zod": "^3.23.8" } }, "sha512-7UfRsiKo5GZTAATxm2qQ7jqmUXP0DxTArztllTcYdyw6Xi5oT4RaoXynVtCD4UyLK5gJgkZJcwonoijrhYFKfg=="],
|
|
146
|
-
|
|
147
|
-
"@jimp/utils": ["@jimp/utils@1.6.0", "", { "dependencies": { "@jimp/types": "1.6.0", "tinycolor2": "^1.6.0" } }, "sha512-gqFTGEosKbOkYF/WFj26jMHOI5OH2jeP1MmC/zbK6BF6VJBf8rIC5898dPfSzZEbSA0wbbV5slbntWVc5PKLFA=="],
|
|
148
|
-
|
|
149
|
-
"@jridgewell/gen-mapping": ["@jridgewell/gen-mapping@0.3.13", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA=="],
|
|
150
|
-
|
|
151
|
-
"@jridgewell/resolve-uri": ["@jridgewell/resolve-uri@3.1.2", "", {}, "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw=="],
|
|
152
|
-
|
|
153
|
-
"@jridgewell/sourcemap-codec": ["@jridgewell/sourcemap-codec@1.5.5", "", {}, "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og=="],
|
|
154
|
-
|
|
155
|
-
"@jridgewell/trace-mapping": ["@jridgewell/trace-mapping@0.3.31", "", { "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw=="],
|
|
156
|
-
|
|
157
|
-
"@opentui/core": ["@opentui/core@0.1.75", "", { "dependencies": { "bun-ffi-structs": "0.1.2", "diff": "8.0.2", "jimp": "1.6.0", "marked": "17.0.1", "yoga-layout": "3.2.1" }, "optionalDependencies": { "@dimforge/rapier2d-simd-compat": "^0.17.3", "@opentui/core-darwin-arm64": "0.1.75", "@opentui/core-darwin-x64": "0.1.75", "@opentui/core-linux-arm64": "0.1.75", "@opentui/core-linux-x64": "0.1.75", "@opentui/core-win32-arm64": "0.1.75", "@opentui/core-win32-x64": "0.1.75", "bun-webgpu": "0.1.4", "planck": "^1.4.2", "three": "0.177.0" }, "peerDependencies": { "web-tree-sitter": "0.25.10" } }, "sha512-8ARRZxSG+BXkJmEVtM2DQ4se7DAF1ZCKD07d+AklgTr2mxCzmdxxPbOwRzboSQ6FM7qGuTVPVbV4O2W9DpUmoA=="],
|
|
158
|
-
|
|
159
|
-
"@opentui/core-darwin-arm64": ["@opentui/core-darwin-arm64@0.1.75", "", { "os": "darwin", "cpu": "arm64" }, "sha512-gGaGZjkFpqcXJk6321JzhRl66pM2VxBlI470L8W4DQUW4S6iDT1R9L7awSzGB4Cn9toUl7DTV8BemaXZYXV4SA=="],
|
|
160
|
-
|
|
161
|
-
"@opentui/core-darwin-x64": ["@opentui/core-darwin-x64@0.1.75", "", { "os": "darwin", "cpu": "x64" }, "sha512-tPlvqQI0whZ76amHydpJs5kN+QeWAIcFbI8RAtlAo9baj2EbxTDC+JGwgb9Fnt0/YQx831humbtaNDhV2Jt1bw=="],
|
|
162
|
-
|
|
163
|
-
"@opentui/core-linux-arm64": ["@opentui/core-linux-arm64@0.1.75", "", { "os": "linux", "cpu": "arm64" }, "sha512-nVxIQ4Hqf84uBergDpWiVzU6pzpjy6tqBHRQpySxZ2flkJ/U6/aMEizVrQ1jcgIdxZtvqWDETZhzxhG0yDx+cw=="],
|
|
164
|
-
|
|
165
|
-
"@opentui/core-linux-x64": ["@opentui/core-linux-x64@0.1.75", "", { "os": "linux", "cpu": "x64" }, "sha512-1CnApef4kxA+ORyLfbuCLgZfEjp4wr3HjFnt7FAfOb73kIZH82cb7JYixeqRyy9eOcKfKqxLmBYy3o8IDkc4Rg=="],
|
|
166
|
-
|
|
167
|
-
"@opentui/core-win32-arm64": ["@opentui/core-win32-arm64@0.1.75", "", { "os": "win32", "cpu": "arm64" }, "sha512-j0UB95nmkYGNzmOrs6GqaddO1S90R0YC6IhbKnbKBdjchFPNVLz9JpexAs6MBDXPZwdKAywMxtwG2h3aTJtxng=="],
|
|
168
|
-
|
|
169
|
-
"@opentui/core-win32-x64": ["@opentui/core-win32-x64@0.1.75", "", { "os": "win32", "cpu": "x64" }, "sha512-ESpVZVGewe3JkB2TwrG3VRbkxT909iPdtvgNT7xTCIYH2VB4jqZomJfvERPTE0tvqAZJm19mHECzJFI8asSJgQ=="],
|
|
170
|
-
|
|
171
|
-
"@opentui/solid": ["@opentui/solid@0.1.75", "", { "dependencies": { "@babel/core": "7.28.0", "@babel/preset-typescript": "7.27.1", "@opentui/core": "0.1.75", "babel-plugin-module-resolver": "5.0.2", "babel-preset-solid": "1.9.9", "s-js": "^0.4.9" }, "peerDependencies": { "solid-js": "1.9.9" } }, "sha512-WjKsZIfrm29znfRlcD9w3uUn/+uvoy2MmeoDwTvg1YOa0OjCTCmjZ43L9imp0m9S4HmVU8ma6o2bR4COzcyDdg=="],
|
|
172
|
-
|
|
173
|
-
"@tokenizer/token": ["@tokenizer/token@0.3.0", "", {}, "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A=="],
|
|
174
|
-
|
|
175
|
-
"@tsconfig/bun": ["@tsconfig/bun@1.0.10", "", {}, "sha512-5AV5YknQjNyoYzZ/8NG0dawqew/wH+x7ANiCfCIn29qo0cdbd1EryvFD1k5NSZWLBMOI/fGqMIaxi58GPIP9Cg=="],
|
|
176
|
-
|
|
177
|
-
"@types/babel__core": ["@types/babel__core@7.20.5", "", { "dependencies": { "@babel/parser": "^7.20.7", "@babel/types": "^7.20.7", "@types/babel__generator": "*", "@types/babel__template": "*", "@types/babel__traverse": "*" } }, "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA=="],
|
|
178
|
-
|
|
179
|
-
"@types/babel__generator": ["@types/babel__generator@7.27.0", "", { "dependencies": { "@babel/types": "^7.0.0" } }, "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg=="],
|
|
180
|
-
|
|
181
|
-
"@types/babel__template": ["@types/babel__template@7.4.4", "", { "dependencies": { "@babel/parser": "^7.1.0", "@babel/types": "^7.0.0" } }, "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A=="],
|
|
182
|
-
|
|
183
|
-
"@types/babel__traverse": ["@types/babel__traverse@7.28.0", "", { "dependencies": { "@babel/types": "^7.28.2" } }, "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q=="],
|
|
184
|
-
|
|
185
|
-
"@types/bun": ["@types/bun@1.3.6", "", { "dependencies": { "bun-types": "1.3.6" } }, "sha512-uWCv6FO/8LcpREhenN1d1b6fcspAB+cefwD7uti8C8VffIv0Um08TKMn98FynpTiU38+y2dUO55T11NgDt8VAA=="],
|
|
186
|
-
|
|
187
|
-
"@types/node": ["@types/node@25.0.10", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-zWW5KPngR/yvakJgGOmZ5vTBemDoSqF3AcV/LrO5u5wTWyEAVVh+IT39G4gtyAkh3CtTZs8aX/yRM82OfzHJRg=="],
|
|
188
|
-
|
|
189
|
-
"@types/uuid": ["@types/uuid@9.0.8", "", {}, "sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA=="],
|
|
190
|
-
|
|
191
|
-
"@types/yargs": ["@types/yargs@17.0.35", "", { "dependencies": { "@types/yargs-parser": "*" } }, "sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg=="],
|
|
192
|
-
|
|
193
|
-
"@types/yargs-parser": ["@types/yargs-parser@21.0.3", "", {}, "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ=="],
|
|
194
|
-
|
|
195
|
-
"@webgpu/types": ["@webgpu/types@0.1.69", "", {}, "sha512-RPmm6kgRbI8e98zSD3RVACvnuktIja5+yLgDAkTmxLr90BEwdTXRQWNLF3ETTTyH/8mKhznZuN5AveXYFEsMGQ=="],
|
|
196
|
-
|
|
197
|
-
"abort-controller": ["abort-controller@3.0.0", "", { "dependencies": { "event-target-shim": "^5.0.0" } }, "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg=="],
|
|
198
|
-
|
|
199
|
-
"ansi-regex": ["ansi-regex@6.2.2", "", {}, "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg=="],
|
|
200
|
-
|
|
201
|
-
"ansi-styles": ["ansi-styles@6.2.3", "", {}, "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg=="],
|
|
202
|
-
|
|
203
|
-
"any-base": ["any-base@1.1.0", "", {}, "sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg=="],
|
|
204
|
-
|
|
205
|
-
"await-to-js": ["await-to-js@3.0.0", "", {}, "sha512-zJAaP9zxTcvTHRlejau3ZOY4V7SRpiByf3/dxx2uyKxxor19tpmpV2QRsTKikckwhaPmr2dVpxxMr7jOCYVp5g=="],
|
|
206
|
-
|
|
207
|
-
"babel-plugin-jsx-dom-expressions": ["babel-plugin-jsx-dom-expressions@0.40.3", "", { "dependencies": { "@babel/helper-module-imports": "7.18.6", "@babel/plugin-syntax-jsx": "^7.18.6", "@babel/types": "^7.20.7", "html-entities": "2.3.3", "parse5": "^7.1.2" }, "peerDependencies": { "@babel/core": "^7.20.12" } }, "sha512-5HOwwt0BYiv/zxl7j8Pf2bGL6rDXfV6nUhLs8ygBX+EFJXzBPHM/euj9j/6deMZ6wa52Wb2PBaAV5U/jKwIY1w=="],
|
|
208
|
-
|
|
209
|
-
"babel-plugin-module-resolver": ["babel-plugin-module-resolver@5.0.2", "", { "dependencies": { "find-babel-config": "^2.1.1", "glob": "^9.3.3", "pkg-up": "^3.1.0", "reselect": "^4.1.7", "resolve": "^1.22.8" } }, "sha512-9KtaCazHee2xc0ibfqsDeamwDps6FZNo5S0Q81dUqEuFzVwPhcT4J5jOqIVvgCA3Q/wO9hKYxN/Ds3tIsp5ygg=="],
|
|
210
|
-
|
|
211
|
-
"babel-preset-solid": ["babel-preset-solid@1.9.9", "", { "dependencies": { "babel-plugin-jsx-dom-expressions": "^0.40.1" }, "peerDependencies": { "@babel/core": "^7.0.0", "solid-js": "^1.9.8" }, "optionalPeers": ["solid-js"] }, "sha512-pCnxWrciluXCeli/dj5PIEHgbNzim3evtTn12snjqqg8QZWJNMjH1AWIp4iG/tbVjqQ72aBEymMSagvmgxubXw=="],
|
|
212
|
-
|
|
213
|
-
"balanced-match": ["balanced-match@1.0.2", "", {}, "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="],
|
|
214
|
-
|
|
215
|
-
"base64-js": ["base64-js@1.5.1", "", {}, "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="],
|
|
216
|
-
|
|
217
|
-
"baseline-browser-mapping": ["baseline-browser-mapping@2.9.18", "", { "bin": { "baseline-browser-mapping": "dist/cli.js" } }, "sha512-e23vBV1ZLfjb9apvfPk4rHVu2ry6RIr2Wfs+O324okSidrX7pTAnEJPCh/O5BtRlr7QtZI7ktOP3vsqr7Z5XoA=="],
|
|
218
|
-
|
|
219
|
-
"bmp-ts": ["bmp-ts@1.0.9", "", {}, "sha512-cTEHk2jLrPyi+12M3dhpEbnnPOsaZuq7C45ylbbQIiWgDFZq4UVYPEY5mlqjvsj/6gJv9qX5sa+ebDzLXT28Vw=="],
|
|
220
|
-
|
|
221
|
-
"brace-expansion": ["brace-expansion@2.0.2", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ=="],
|
|
222
|
-
|
|
223
|
-
"browserslist": ["browserslist@4.28.1", "", { "dependencies": { "baseline-browser-mapping": "^2.9.0", "caniuse-lite": "^1.0.30001759", "electron-to-chromium": "^1.5.263", "node-releases": "^2.0.27", "update-browserslist-db": "^1.2.0" }, "bin": { "browserslist": "cli.js" } }, "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA=="],
|
|
224
|
-
|
|
225
|
-
"buffer": ["buffer@6.0.3", "", { "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.2.1" } }, "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA=="],
|
|
226
|
-
|
|
227
|
-
"bun-ffi-structs": ["bun-ffi-structs@0.1.2", "", { "peerDependencies": { "typescript": "^5" } }, "sha512-Lh1oQAYHDcnesJauieA4UNkWGXY9hYck7OA5IaRwE3Bp6K2F2pJSNYqq+hIy7P3uOvo3km3oxS8304g5gDMl/w=="],
|
|
228
|
-
|
|
229
|
-
"bun-types": ["bun-types@1.3.6", "", { "dependencies": { "@types/node": "*" } }, "sha512-OlFwHcnNV99r//9v5IIOgQ9Uk37gZqrNMCcqEaExdkVq3Avwqok1bJFmvGMCkCE0FqzdY8VMOZpfpR3lwI+CsQ=="],
|
|
230
|
-
|
|
231
|
-
"bun-webgpu": ["bun-webgpu@0.1.4", "", { "dependencies": { "@webgpu/types": "^0.1.60" }, "optionalDependencies": { "bun-webgpu-darwin-arm64": "^0.1.4", "bun-webgpu-darwin-x64": "^0.1.4", "bun-webgpu-linux-x64": "^0.1.4", "bun-webgpu-win32-x64": "^0.1.4" } }, "sha512-Kw+HoXl1PMWJTh9wvh63SSRofTA8vYBFCw0XEP1V1fFdQEDhI8Sgf73sdndE/oDpN/7CMx0Yv/q8FCvO39ROMQ=="],
|
|
232
|
-
|
|
233
|
-
"bun-webgpu-darwin-arm64": ["bun-webgpu-darwin-arm64@0.1.4", "", { "os": "darwin", "cpu": "arm64" }, "sha512-eDgLN9teKTfmvrCqgwwmWNsNszxYs7IZdCqk0S1DCarvMhr4wcajoSBlA/nQA0/owwLduPTS8xxCnQp4/N/gDg=="],
|
|
234
|
-
|
|
235
|
-
"bun-webgpu-darwin-x64": ["bun-webgpu-darwin-x64@0.1.4", "", { "os": "darwin", "cpu": "x64" }, "sha512-X+PjwJUWenUmdQBP8EtdItMyieQ6Nlpn+BH518oaouDiSnWj5+b0Y7DNDZJq7Ezom4EaxmqL/uGYZK3aCQ7CXg=="],
|
|
236
|
-
|
|
237
|
-
"bun-webgpu-linux-x64": ["bun-webgpu-linux-x64@0.1.4", "", { "os": "linux", "cpu": "x64" }, "sha512-zMLs2YIGB+/jxrYFXaFhVKX/GBt05UTF45lc9srcHc9JXGjEj+12CIo1CHLTAWatXMTqt0Jsu6ukWEoWVT/ayA=="],
|
|
238
|
-
|
|
239
|
-
"bun-webgpu-win32-x64": ["bun-webgpu-win32-x64@0.1.4", "", { "os": "win32", "cpu": "x64" }, "sha512-Z5yAK28xrcm8Wb5k7TZ8FJKpOI/r+aVCRdlHYAqI2SDJFN3nD4mJs900X6kNVmG/xFzb5yOuKVYWGg+6ZXWbyA=="],
|
|
240
|
-
|
|
241
|
-
"caniuse-lite": ["caniuse-lite@1.0.30001766", "", {}, "sha512-4C0lfJ0/YPjJQHagaE9x2Elb69CIqEPZeG0anQt9SIvIoOH4a4uaRl73IavyO+0qZh6MDLH//DrXThEYKHkmYA=="],
|
|
242
|
-
|
|
243
|
-
"cliui": ["cliui@9.0.1", "", { "dependencies": { "string-width": "^7.2.0", "strip-ansi": "^7.1.0", "wrap-ansi": "^9.0.0" } }, "sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w=="],
|
|
244
|
-
|
|
245
|
-
"convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="],
|
|
246
|
-
|
|
247
|
-
"csstype": ["csstype@3.2.3", "", {}, "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ=="],
|
|
248
|
-
|
|
249
|
-
"debug": ["debug@4.4.3", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA=="],
|
|
250
|
-
|
|
251
|
-
"diff": ["diff@8.0.2", "", {}, "sha512-sSuxWU5j5SR9QQji/o2qMvqRNYRDOcBTgsJ/DeCf4iSN4gW+gNMXM7wFIP+fdXZxoNiAnHUTGjCr+TSWXdRDKg=="],
|
|
252
|
-
|
|
253
|
-
"electron-to-chromium": ["electron-to-chromium@1.5.279", "", {}, "sha512-0bblUU5UNdOt5G7XqGiJtpZMONma6WAfq9vsFmtn9x1+joAObr6x1chfqyxFSDCAFwFhCQDrqeAr6MYdpwJ9Hg=="],
|
|
254
|
-
|
|
255
|
-
"emoji-regex": ["emoji-regex@10.6.0", "", {}, "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A=="],
|
|
256
|
-
|
|
257
|
-
"entities": ["entities@6.0.1", "", {}, "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g=="],
|
|
258
|
-
|
|
259
|
-
"escalade": ["escalade@3.2.0", "", {}, "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA=="],
|
|
260
|
-
|
|
261
|
-
"event-target-shim": ["event-target-shim@5.0.1", "", {}, "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ=="],
|
|
262
|
-
|
|
263
|
-
"events": ["events@3.3.0", "", {}, "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q=="],
|
|
264
|
-
|
|
265
|
-
"exif-parser": ["exif-parser@0.1.12", "", {}, "sha512-c2bQfLNbMzLPmzQuOr8fy0csy84WmwnER81W88DzTp9CYNPJ6yzOj2EZAh9pywYpqHnshVLHQJ8WzldAyfY+Iw=="],
|
|
266
|
-
|
|
267
|
-
"file-type": ["file-type@16.5.4", "", { "dependencies": { "readable-web-to-node-stream": "^3.0.0", "strtok3": "^6.2.4", "token-types": "^4.1.1" } }, "sha512-/yFHK0aGjFEgDJjEKP0pWCplsPFPhwyfwevf/pVxiN0tmE4L9LmwWxWukdJSHdoCli4VgQLehjJtwQBnqmsKcw=="],
|
|
268
|
-
|
|
269
|
-
"find-babel-config": ["find-babel-config@2.1.2", "", { "dependencies": { "json5": "^2.2.3" } }, "sha512-ZfZp1rQyp4gyuxqt1ZqjFGVeVBvmpURMqdIWXbPRfB97Bf6BzdK/xSIbylEINzQ0kB5tlDQfn9HkNXXWsqTqLg=="],
|
|
270
|
-
|
|
271
|
-
"find-up": ["find-up@3.0.0", "", { "dependencies": { "locate-path": "^3.0.0" } }, "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg=="],
|
|
272
|
-
|
|
273
|
-
"fs.realpath": ["fs.realpath@1.0.0", "", {}, "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="],
|
|
274
|
-
|
|
275
|
-
"function-bind": ["function-bind@1.1.2", "", {}, "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="],
|
|
276
|
-
|
|
277
|
-
"gensync": ["gensync@1.0.0-beta.2", "", {}, "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg=="],
|
|
278
|
-
|
|
279
|
-
"get-caller-file": ["get-caller-file@2.0.5", "", {}, "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="],
|
|
280
|
-
|
|
281
|
-
"get-east-asian-width": ["get-east-asian-width@1.4.0", "", {}, "sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q=="],
|
|
282
|
-
|
|
283
|
-
"gifwrap": ["gifwrap@0.10.1", "", { "dependencies": { "image-q": "^4.0.0", "omggif": "^1.0.10" } }, "sha512-2760b1vpJHNmLzZ/ubTtNnEx5WApN/PYWJvXvgS+tL1egTTthayFYIQQNi136FLEDcN/IyEY2EcGpIITD6eYUw=="],
|
|
284
|
-
|
|
285
|
-
"glob": ["glob@9.3.5", "", { "dependencies": { "fs.realpath": "^1.0.0", "minimatch": "^8.0.2", "minipass": "^4.2.4", "path-scurry": "^1.6.1" } }, "sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q=="],
|
|
286
|
-
|
|
287
|
-
"hasown": ["hasown@2.0.2", "", { "dependencies": { "function-bind": "^1.1.2" } }, "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ=="],
|
|
288
|
-
|
|
289
|
-
"html-entities": ["html-entities@2.3.3", "", {}, "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA=="],
|
|
290
|
-
|
|
291
|
-
"ieee754": ["ieee754@1.2.1", "", {}, "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="],
|
|
292
|
-
|
|
293
|
-
"image-q": ["image-q@4.0.0", "", { "dependencies": { "@types/node": "16.9.1" } }, "sha512-PfJGVgIfKQJuq3s0tTDOKtztksibuUEbJQIYT3by6wctQo+Rdlh7ef4evJ5NCdxY4CfMbvFkocEwbl4BF8RlJw=="],
|
|
294
|
-
|
|
295
|
-
"is-core-module": ["is-core-module@2.16.1", "", { "dependencies": { "hasown": "^2.0.2" } }, "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w=="],
|
|
296
|
-
|
|
297
|
-
"jimp": ["jimp@1.6.0", "", { "dependencies": { "@jimp/core": "1.6.0", "@jimp/diff": "1.6.0", "@jimp/js-bmp": "1.6.0", "@jimp/js-gif": "1.6.0", "@jimp/js-jpeg": "1.6.0", "@jimp/js-png": "1.6.0", "@jimp/js-tiff": "1.6.0", "@jimp/plugin-blit": "1.6.0", "@jimp/plugin-blur": "1.6.0", "@jimp/plugin-circle": "1.6.0", "@jimp/plugin-color": "1.6.0", "@jimp/plugin-contain": "1.6.0", "@jimp/plugin-cover": "1.6.0", "@jimp/plugin-crop": "1.6.0", "@jimp/plugin-displace": "1.6.0", "@jimp/plugin-dither": "1.6.0", "@jimp/plugin-fisheye": "1.6.0", "@jimp/plugin-flip": "1.6.0", "@jimp/plugin-hash": "1.6.0", "@jimp/plugin-mask": "1.6.0", "@jimp/plugin-print": "1.6.0", "@jimp/plugin-quantize": "1.6.0", "@jimp/plugin-resize": "1.6.0", "@jimp/plugin-rotate": "1.6.0", "@jimp/plugin-threshold": "1.6.0", "@jimp/types": "1.6.0", "@jimp/utils": "1.6.0" } }, "sha512-YcwCHw1kiqEeI5xRpDlPPBGL2EOpBKLwO4yIBJcXWHPj5PnA5urGq0jbyhM5KoNpypQ6VboSoxc9D8HyfvngSg=="],
|
|
298
|
-
|
|
299
|
-
"jpeg-js": ["jpeg-js@0.4.4", "", {}, "sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg=="],
|
|
300
|
-
|
|
301
|
-
"js-tokens": ["js-tokens@4.0.0", "", {}, "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="],
|
|
302
|
-
|
|
303
|
-
"jsesc": ["jsesc@3.1.0", "", { "bin": { "jsesc": "bin/jsesc" } }, "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA=="],
|
|
304
|
-
|
|
305
|
-
"json5": ["json5@2.2.3", "", { "bin": { "json5": "lib/cli.js" } }, "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg=="],
|
|
306
|
-
|
|
307
|
-
"locate-path": ["locate-path@3.0.0", "", { "dependencies": { "p-locate": "^3.0.0", "path-exists": "^3.0.0" } }, "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A=="],
|
|
308
|
-
|
|
309
|
-
"lru-cache": ["lru-cache@5.1.1", "", { "dependencies": { "yallist": "^3.0.2" } }, "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w=="],
|
|
310
|
-
|
|
311
|
-
"marked": ["marked@17.0.1", "", { "bin": { "marked": "bin/marked.js" } }, "sha512-boeBdiS0ghpWcSwoNm/jJBwdpFaMnZWRzjA6SkUMYb40SVaN1x7mmfGKp0jvexGcx+7y2La5zRZsYFZI6Qpypg=="],
|
|
312
|
-
|
|
313
|
-
"mime": ["mime@3.0.0", "", { "bin": { "mime": "cli.js" } }, "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A=="],
|
|
314
|
-
|
|
315
|
-
"minimatch": ["minimatch@8.0.4", "", { "dependencies": { "brace-expansion": "^2.0.1" } }, "sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA=="],
|
|
316
|
-
|
|
317
|
-
"minipass": ["minipass@4.2.8", "", {}, "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ=="],
|
|
318
|
-
|
|
319
|
-
"ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="],
|
|
320
|
-
|
|
321
|
-
"node-releases": ["node-releases@2.0.27", "", {}, "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA=="],
|
|
322
|
-
|
|
323
|
-
"omggif": ["omggif@1.0.10", "", {}, "sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw=="],
|
|
324
|
-
|
|
325
|
-
"p-limit": ["p-limit@2.3.0", "", { "dependencies": { "p-try": "^2.0.0" } }, "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w=="],
|
|
326
|
-
|
|
327
|
-
"p-locate": ["p-locate@3.0.0", "", { "dependencies": { "p-limit": "^2.0.0" } }, "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ=="],
|
|
328
|
-
|
|
329
|
-
"p-try": ["p-try@2.2.0", "", {}, "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="],
|
|
330
|
-
|
|
331
|
-
"pako": ["pako@1.0.11", "", {}, "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw=="],
|
|
332
|
-
|
|
333
|
-
"parse-bmfont-ascii": ["parse-bmfont-ascii@1.0.6", "", {}, "sha512-U4RrVsUFCleIOBsIGYOMKjn9PavsGOXxbvYGtMOEfnId0SVNsgehXh1DxUdVPLoxd5mvcEtvmKs2Mmf0Mpa1ZA=="],
|
|
334
|
-
|
|
335
|
-
"parse-bmfont-binary": ["parse-bmfont-binary@1.0.6", "", {}, "sha512-GxmsRea0wdGdYthjuUeWTMWPqm2+FAd4GI8vCvhgJsFnoGhTrLhXDDupwTo7rXVAgaLIGoVHDZS9p/5XbSqeWA=="],
|
|
336
|
-
|
|
337
|
-
"parse-bmfont-xml": ["parse-bmfont-xml@1.1.6", "", { "dependencies": { "xml-parse-from-string": "^1.0.0", "xml2js": "^0.5.0" } }, "sha512-0cEliVMZEhrFDwMh4SxIyVJpqYoOWDJ9P895tFuS+XuNzI5UBmBk5U5O4KuJdTnZpSBI4LFA2+ZiJaiwfSwlMA=="],
|
|
338
|
-
|
|
339
|
-
"parse5": ["parse5@7.3.0", "", { "dependencies": { "entities": "^6.0.0" } }, "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw=="],
|
|
340
|
-
|
|
341
|
-
"path-exists": ["path-exists@3.0.0", "", {}, "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ=="],
|
|
342
|
-
|
|
343
|
-
"path-parse": ["path-parse@1.0.7", "", {}, "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="],
|
|
344
|
-
|
|
345
|
-
"path-scurry": ["path-scurry@1.11.1", "", { "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" } }, "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA=="],
|
|
346
|
-
|
|
347
|
-
"peek-readable": ["peek-readable@4.1.0", "", {}, "sha512-ZI3LnwUv5nOGbQzD9c2iDG6toheuXSZP5esSHBjopsXH4dg19soufvpUGA3uohi5anFtGb2lhAVdHzH6R/Evvg=="],
|
|
348
|
-
|
|
349
|
-
"picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="],
|
|
350
|
-
|
|
351
|
-
"pixelmatch": ["pixelmatch@5.3.0", "", { "dependencies": { "pngjs": "^6.0.0" }, "bin": { "pixelmatch": "bin/pixelmatch" } }, "sha512-o8mkY4E/+LNUf6LzX96ht6k6CEDi65k9G2rjMtBe9Oo+VPKSvl+0GKHuH/AlG+GA5LPG/i5hrekkxUc3s2HU+Q=="],
|
|
352
|
-
|
|
353
|
-
"pkg-up": ["pkg-up@3.1.0", "", { "dependencies": { "find-up": "^3.0.0" } }, "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA=="],
|
|
354
|
-
|
|
355
|
-
"planck": ["planck@1.4.2", "", { "peerDependencies": { "stage-js": "^1.0.0-alpha.12" } }, "sha512-mNbhnV3g8X2rwGxzcesjmN8BDA6qfXgQxXVMkWau9MCRlQY0RLNEkyHlVp6yFy/X6qrzAXyNONCnZ1cGDLrNew=="],
|
|
356
|
-
|
|
357
|
-
"pngjs": ["pngjs@7.0.0", "", {}, "sha512-LKWqWJRhstyYo9pGvgor/ivk2w94eSjE3RGVuzLGlr3NmD8bf7RcYGze1mNdEHRP6TRP6rMuDHk5t44hnTRyow=="],
|
|
358
|
-
|
|
359
|
-
"process": ["process@0.11.10", "", {}, "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A=="],
|
|
360
|
-
|
|
361
|
-
"readable-stream": ["readable-stream@4.7.0", "", { "dependencies": { "abort-controller": "^3.0.0", "buffer": "^6.0.3", "events": "^3.3.0", "process": "^0.11.10", "string_decoder": "^1.3.0" } }, "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg=="],
|
|
362
|
-
|
|
363
|
-
"readable-web-to-node-stream": ["readable-web-to-node-stream@3.0.4", "", { "dependencies": { "readable-stream": "^4.7.0" } }, "sha512-9nX56alTf5bwXQ3ZDipHJhusu9NTQJ/CVPtb/XHAJCXihZeitfJvIRS4GqQ/mfIoOE3IelHMrpayVrosdHBuLw=="],
|
|
364
|
-
|
|
365
|
-
"reselect": ["reselect@4.1.8", "", {}, "sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ=="],
|
|
366
|
-
|
|
367
|
-
"resolve": ["resolve@1.22.11", "", { "dependencies": { "is-core-module": "^2.16.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" } }, "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ=="],
|
|
368
|
-
|
|
369
|
-
"s-js": ["s-js@0.4.9", "", {}, "sha512-RtpOm+cM6O0sHg6IA70wH+UC3FZcND+rccBZpBAHzlUgNO2Bm5BN+FnM8+OBxzXdwpKWFwX11JGF0MFRkhSoIQ=="],
|
|
370
|
-
|
|
371
|
-
"safe-buffer": ["safe-buffer@5.2.1", "", {}, "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="],
|
|
372
|
-
|
|
373
|
-
"sax": ["sax@1.4.4", "", {}, "sha512-1n3r/tGXO6b6VXMdFT54SHzT9ytu9yr7TaELowdYpMqY/Ao7EnlQGmAQ1+RatX7Tkkdm6hONI2owqNx2aZj5Sw=="],
|
|
374
|
-
|
|
375
|
-
"semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="],
|
|
376
|
-
|
|
377
|
-
"seroval": ["seroval@1.5.0", "", {}, "sha512-OE4cvmJ1uSPrKorFIH9/w/Qwuvi/IMcGbv5RKgcJ/zjA/IohDLU6SVaxFN9FwajbP7nsX0dQqMDes1whk3y+yw=="],
|
|
378
|
-
|
|
379
|
-
"seroval-plugins": ["seroval-plugins@1.5.0", "", { "peerDependencies": { "seroval": "^1.0" } }, "sha512-EAHqADIQondwRZIdeW2I636zgsODzoBDwb3PT/+7TLDWyw1Dy/Xv7iGUIEXXav7usHDE9HVhOU61irI3EnyyHA=="],
|
|
380
|
-
|
|
381
|
-
"simple-xml-to-json": ["simple-xml-to-json@1.2.3", "", {}, "sha512-kWJDCr9EWtZ+/EYYM5MareWj2cRnZGF93YDNpH4jQiHB+hBIZnfPFSQiVMzZOdk+zXWqTZ/9fTeQNu2DqeiudA=="],
|
|
382
|
-
|
|
383
|
-
"sisteransi": ["sisteransi@1.0.5", "", {}, "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg=="],
|
|
384
|
-
|
|
385
|
-
"solid-js": ["solid-js@1.9.11", "", { "dependencies": { "csstype": "^3.1.0", "seroval": "~1.5.0", "seroval-plugins": "~1.5.0" } }, "sha512-WEJtcc5mkh/BnHA6Yrg4whlF8g6QwpmXXRg4P2ztPmcKeHHlH4+djYecBLhSpecZY2RRECXYUwIc/C2r3yzQ4Q=="],
|
|
386
|
-
|
|
387
|
-
"stage-js": ["stage-js@1.0.0-alpha.18", "", {}, "sha512-Mh+pbkfxA6NXlDrcutP8vp1Zg04pDRcC8D39UXKZzEcQeBPOZ4SRUSkIsF26aoODUZ4CSQRY7shXc1Avb0wZKA=="],
|
|
388
|
-
|
|
389
|
-
"string-width": ["string-width@7.2.0", "", { "dependencies": { "emoji-regex": "^10.3.0", "get-east-asian-width": "^1.0.0", "strip-ansi": "^7.1.0" } }, "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ=="],
|
|
390
|
-
|
|
391
|
-
"string_decoder": ["string_decoder@1.3.0", "", { "dependencies": { "safe-buffer": "~5.2.0" } }, "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA=="],
|
|
392
|
-
|
|
393
|
-
"strip-ansi": ["strip-ansi@7.1.2", "", { "dependencies": { "ansi-regex": "^6.0.1" } }, "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA=="],
|
|
394
|
-
|
|
395
|
-
"strtok3": ["strtok3@6.3.0", "", { "dependencies": { "@tokenizer/token": "^0.3.0", "peek-readable": "^4.1.0" } }, "sha512-fZtbhtvI9I48xDSywd/somNqgUHl2L2cstmXCCif0itOf96jeW18MBSyrLuNicYQVkvpOxkZtkzujiTJ9LW5Jw=="],
|
|
396
|
-
|
|
397
|
-
"supports-preserve-symlinks-flag": ["supports-preserve-symlinks-flag@1.0.0", "", {}, "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="],
|
|
398
|
-
|
|
399
|
-
"three": ["three@0.177.0", "", {}, "sha512-EiXv5/qWAaGI+Vz2A+JfavwYCMdGjxVsrn3oBwllUoqYeaBO75J63ZfyaQKoiLrqNHoTlUc6PFgMXnS0kI45zg=="],
|
|
400
|
-
|
|
401
|
-
"tinycolor2": ["tinycolor2@1.6.0", "", {}, "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw=="],
|
|
402
|
-
|
|
403
|
-
"token-types": ["token-types@4.2.1", "", { "dependencies": { "@tokenizer/token": "^0.3.0", "ieee754": "^1.2.1" } }, "sha512-6udB24Q737UD/SDsKAHI9FCRP7Bqc9D/MQUV02ORQg5iskjtLJlZJNdN4kKtcdtwCeWIwIHDGaUsTsCCAa8sFQ=="],
|
|
404
|
-
|
|
405
|
-
"typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="],
|
|
406
|
-
|
|
407
|
-
"undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="],
|
|
408
|
-
|
|
409
|
-
"update-browserslist-db": ["update-browserslist-db@1.2.3", "", { "dependencies": { "escalade": "^3.2.0", "picocolors": "^1.1.1" }, "peerDependencies": { "browserslist": ">= 4.21.0" }, "bin": { "update-browserslist-db": "cli.js" } }, "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w=="],
|
|
410
|
-
|
|
411
|
-
"utif2": ["utif2@4.1.0", "", { "dependencies": { "pako": "^1.0.11" } }, "sha512-+oknB9FHrJ7oW7A2WZYajOcv4FcDR4CfoGB0dPNfxbi4GO05RRnFmt5oa23+9w32EanrYcSJWspUiJkLMs+37w=="],
|
|
412
|
-
|
|
413
|
-
"uuid": ["uuid@9.0.1", "", { "bin": { "uuid": "dist/bin/uuid" } }, "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA=="],
|
|
414
|
-
|
|
415
|
-
"web-tree-sitter": ["web-tree-sitter@0.25.10", "", { "peerDependencies": { "@types/emscripten": "^1.40.0" }, "optionalPeers": ["@types/emscripten"] }, "sha512-Y09sF44/13XvgVKgO2cNDw5rGk6s26MgoZPXLESvMXeefBf7i6/73eFurre0IsTW6E14Y0ArIzhUMmjoc7xyzA=="],
|
|
416
|
-
|
|
417
|
-
"wrap-ansi": ["wrap-ansi@9.0.2", "", { "dependencies": { "ansi-styles": "^6.2.1", "string-width": "^7.0.0", "strip-ansi": "^7.1.0" } }, "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww=="],
|
|
418
|
-
|
|
419
|
-
"xml-parse-from-string": ["xml-parse-from-string@1.0.1", "", {}, "sha512-ErcKwJTF54uRzzNMXq2X5sMIy88zJvfN2DmdoQvy7PAFJ+tPRU6ydWuOKNMyfmOjdyBQTFREi60s0Y0SyI0G0g=="],
|
|
420
|
-
|
|
421
|
-
"xml2js": ["xml2js@0.5.0", "", { "dependencies": { "sax": ">=0.6.0", "xmlbuilder": "~11.0.0" } }, "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA=="],
|
|
422
|
-
|
|
423
|
-
"xmlbuilder": ["xmlbuilder@11.0.1", "", {}, "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA=="],
|
|
424
|
-
|
|
425
|
-
"y18n": ["y18n@5.0.8", "", {}, "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA=="],
|
|
426
|
-
|
|
427
|
-
"yallist": ["yallist@3.1.1", "", {}, "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="],
|
|
428
|
-
|
|
429
|
-
"yargs": ["yargs@18.0.0", "", { "dependencies": { "cliui": "^9.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "string-width": "^7.2.0", "y18n": "^5.0.5", "yargs-parser": "^22.0.0" } }, "sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg=="],
|
|
430
|
-
|
|
431
|
-
"yargs-parser": ["yargs-parser@22.0.0", "", {}, "sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw=="],
|
|
432
|
-
|
|
433
|
-
"yoga-layout": ["yoga-layout@3.2.1", "", {}, "sha512-0LPOt3AxKqMdFBZA3HBAt/t/8vIKq7VaQYbuA8WxCgung+p9TVyKRYdpvCb80HcdTN2NkbIKbhNwKUfm3tQywQ=="],
|
|
434
|
-
|
|
435
|
-
"zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="],
|
|
436
|
-
|
|
437
|
-
"babel-plugin-jsx-dom-expressions/@babel/helper-module-imports": ["@babel/helper-module-imports@7.18.6", "", { "dependencies": { "@babel/types": "^7.18.6" } }, "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA=="],
|
|
438
|
-
|
|
439
|
-
"image-q/@types/node": ["@types/node@16.9.1", "", {}, "sha512-QpLcX9ZSsq3YYUUnD3nFDY8H7wctAhQj/TFKL8Ya8v5fMm3CFXxo8zStsLAl780ltoYoo1WvKUVGBQK+1ifr7g=="],
|
|
440
|
-
|
|
441
|
-
"path-scurry/lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="],
|
|
442
|
-
|
|
443
|
-
"path-scurry/minipass": ["minipass@7.1.2", "", {}, "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw=="],
|
|
444
|
-
|
|
445
|
-
"pixelmatch/pngjs": ["pngjs@6.0.0", "", {}, "sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg=="],
|
|
446
|
-
}
|
|
447
|
-
}
|
package/bunfig.toml
DELETED
package/tsconfig.json
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "https://json.schemastore.org/tsconfig",
|
|
3
|
-
"extends": "@tsconfig/bun/tsconfig.json",
|
|
4
|
-
"compilerOptions": {
|
|
5
|
-
"jsx": "preserve",
|
|
6
|
-
"jsxImportSource": "@opentui/solid",
|
|
7
|
-
"lib": ["ESNext", "DOM", "DOM.Iterable"],
|
|
8
|
-
"module": "ESNext",
|
|
9
|
-
"target": "ESNext",
|
|
10
|
-
"strict": true,
|
|
11
|
-
"noUncheckedIndexedAccess": true,
|
|
12
|
-
"noFallthroughCasesInSwitch": true,
|
|
13
|
-
"noImplicitOverride": true,
|
|
14
|
-
"skipLibCheck": true,
|
|
15
|
-
"paths": {
|
|
16
|
-
"@/*": ["./src/*"]
|
|
17
|
-
},
|
|
18
|
-
"baseUrl": "."
|
|
19
|
-
},
|
|
20
|
-
"include": ["src/**/*"],
|
|
21
|
-
"exclude": ["node_modules", "dist"]
|
|
22
|
-
}
|