open-coleslaw 0.4.0 → 0.5.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 CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  **Just type your prompt. Like coleslaw — it's already prepared, just scoop and eat.**
4
4
 
5
- Open Coleslaw is a multi-agent orchestrator plugin for Claude Code. It gives you an entire AI engineering team — architects, engineers, QA leads, product managers — that organizes itself, holds meetings, writes PRD-format minutes, and executes tasks.
5
+ Open Coleslaw is a multi-agent orchestrator plugin for Claude Code. It gives you an entire AI engineering team — planner, architect, engineer, verifier, product manager, researcher — that organizes itself, runs real round-robin meetings, only ends a meeting when everyone actually agrees, and executes in MVP-sized cycles.
6
6
 
7
7
  Zero commands to memorize. Zero tools to call manually. Your AI team is already hired.
8
8
 
@@ -14,18 +14,21 @@ You type a prompt like *"Build me a balance game app"*. That's it.
14
14
  You: "Build me a balance game app"
15
15
 
16
16
  → Orchestrator dispatched (Agent tool)
17
- Convenes Architecture + Engineering + Product leaders
18
- Leaders hold a structured meeting
19
- PRD meeting minutes saved to docs/open-coleslaw/
20
- Plan Mode activated you review the implementation plan
21
- You approve
22
- Implementer agents write the code
23
- Results reported
17
+ Kickoff meeting: planner breaks it into ordered MVPs
18
+ For each MVP:
19
+ Design meeting: round-robin, consensus-based termination
20
+ PRD meeting minutes saved to docs/open-coleslaw/
21
+ Plan Mode activated — you review the implementation plan
22
+ You approve
23
+ Workers write the code in parallel
24
+ → Verifier runs tests/build
25
+ → Pass → next MVP · Fail → verify-retry meeting
26
+ → All MVPs done → final report
24
27
  ```
25
28
 
26
29
  You never call a tool. You never pick a department. You never manage an agent. The orchestrator handles everything — including entering **Plan Mode** so you can review the implementation plan in the native UI before any code is written.
27
30
 
28
- Meeting minutes are saved to `docs/open-coleslaw/` in your project, so you can always refer back to past decisions.
31
+ Meeting minutes are saved to `docs/open-coleslaw/` in your project, so they persist even if you `/compact` or `/clear` your Claude Code context between MVPs.
29
32
 
30
33
  ## Installation
31
34
 
@@ -46,38 +49,43 @@ Start a new session and type anything:
46
49
  Design a REST API for a todo app
47
50
  ```
48
51
 
49
- You should see the orchestrator agent being dispatched and a meeting starting automatically.
52
+ You should see the orchestrator agent being dispatched and a kickoff meeting starting automatically.
50
53
 
51
54
  ## The Pipeline
52
55
 
53
- Every request follows this flow. No exceptions.
56
+ Every request follows this flow.
54
57
 
55
58
  ```
56
- Prompt → Orchestrator → Meeting → Minutes → Plan Mode → Approve → Implement
59
+ Prompt
60
+ → Orchestrator
61
+ → Kickoff meeting (planner breaks request into MVPs)
62
+ → for each MVP:
63
+ Design meeting → consensus → Minutes → Plan Mode → Approve → Workers → Verify
64
+ → Final report
57
65
  ```
58
66
 
59
- 1. **Orchestrator dispatched**analyzes your request, selects departments
60
- 2. **Meeting convened** — leaders discuss via Agent tool
61
- 3. **PRD minutes saved** — to `docs/open-coleslaw/` in your project
62
- 4. **Plan Mode activated** — implementation plan presented in native Plan Mode UI
63
- 5. **You review and approve** — or request changes (chains a follow-up meeting)
64
- 6. **Implementer agents dispatched** — write code following the approved plan
65
- 7. **Results reported** — final output delivered to you
67
+ Verification failure on an MVP doesn't abort the cycle it opens a focused `verify-retry` meeting and re-plans the fix.
66
68
 
67
- ## The Agent Hierarchy
69
+ When the whole cycle ends the orchestrator touches a marker file, and the `Stop` hook checks your context usage. If you're over ~30%, it suggests running `/compact` or `/clear` before the next task. Minutes on disk mean you lose nothing.
70
+
71
+ ## The Agent Cast
68
72
 
69
73
  ```
70
74
  ┌─────────────────┐
71
75
  │ Orchestrator │ ← Your proxy
72
- (claude-opus)
76
+ (claude-opus)
73
77
  └────────┬────────┘
74
- ┌─────────────┼─────────────┐
75
- ▼ ▼ ▼
76
- ┌──────────┐ ┌──────────┐ ┌──────────┐
77
- │ Architect│ │ Engineer │ │ QA │ ← Specialists discuss
78
- └──────────┘ └──────────┘ └──────────┘
79
78
 
80
- Plan Mode User approves
79
+ (Kickoffper-MVP loop)
80
+
81
+ ┌─────────────┼─────────────────────────────┐
82
+ ▼ ▼ ▼ ▼
83
+ ┌─────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
84
+ │ Planner │ │ Architect│ │ Engineer │ │ Verifier │ dynamically convened +
85
+ │(chair) │ │ │ │ │ │ │ product-manager / researcher
86
+ └─────────┘ └──────────┘ └──────────┘ └──────────┘
87
+
88
+ Plan Mode → User approves
81
89
 
82
90
  ┌─────────────┼─────────────┐
83
91
  ▼ ▼ ▼
@@ -85,74 +93,79 @@ Prompt → Orchestrator → Meeting → Minutes → Plan Mode → Approve → Im
85
93
  │Worker 1│ │Worker 2│ │Worker N│ ← Parallel implementation
86
94
  └────────┘ └────────┘ └────────┘
87
95
 
88
- Verify
89
- / \
90
- Pass Fail → Re-meeting
96
+ Verifier runs tests
97
+ / \
98
+ Pass Fail → verify-retry meeting
91
99
 
92
- Done (or next MVP)
100
+ Next MVP (or done)
93
101
  ```
94
102
 
95
- **5 Specialists**: Architect, Engineer, QA, Product Manager, Researcher
103
+ **7 Specialists**: Planner, Architect, Engineer, Verifier, Product Manager, Researcher, plus Worker (parallelized).
104
+
105
+ The **planner always attends** — they chair the meeting, run the round-robin, and drive consensus. Other specialists are convened dynamically based on the task.
106
+
107
+ ## Meetings That Actually End on Agreement
108
+
109
+ Rounds are not fixed. After every round the planner asks each participant AGREE or DISAGREE. The meeting only proceeds to synthesis when everyone agrees. If round 10 passes without consensus, the planner escalates via `@mention` for you to decide.
96
110
 
97
- Work is done in **MVP cycles**: meeting plan workers verify repeat.
111
+ This is deliberately slower than a fixed-round meeting but each MVP ends with a real decision, not a paper one.
98
112
 
99
113
  ## What's Inside
100
114
 
101
- ### 16 MCP Tools (orchestrator calls these — you never do)
115
+ ### 15 MCP Tools (orchestrator calls these — you never do)
102
116
 
103
117
  | Tool | What It Does |
104
118
  |------|-------------|
105
- | `start-meeting` | Creates a meeting record, recommends departments |
106
- | `add-transcript` | Saves a leader's discussion input |
107
- | `generate-minutes` | Converts transcripts into PRD meeting minutes |
108
- | `get-meeting-status` | Checks meeting progress and agent states |
109
- | `get-minutes` | Retrieves PRD-format meeting minutes |
110
- | `compact-minutes` | Converts minutes into actionable tasks per department |
111
- | `execute-tasks` | Returns structured task list for implementer agents |
119
+ | `start-meeting` | Creates a meeting record (kickoff / design / verify-retry) |
120
+ | `add-transcript` | Saves a speaker's turn |
121
+ | `generate-minutes` | Writes PRD minutes from transcripts |
122
+ | `get-meeting-status` | Reads meeting progress |
123
+ | `get-minutes` | Retrieves full / summary / tasks-only minutes |
124
+ | `execute-tasks` | Returns the structured task list from minutes for worker dispatch |
112
125
  | `get-task-report` | Shows execution results per department |
113
- | `get-agent-tree` | Displays the full agent hierarchy |
114
- | `respond-to-mention` | Handles decisions the agents need from you |
115
- | `get-mentions` | Lists pending @mention decision points |
116
- | `cancel-meeting` | Stops a meeting and cascades to all workers |
126
+ | `get-agent-tree` | Displays the agent hierarchy (bookkeeping) |
127
+ | `respond-to-mention` | Resolves a pending decision escalated by an agent |
128
+ | `get-mentions` | Lists pending @mention decisions |
129
+ | `cancel-meeting` | Stops a meeting and cascades to workers |
117
130
  | `list-meetings` | Shows meeting history |
118
131
  | `create-capability` | Self-extends the plugin with new hooks/skills |
119
- | `get-cost-summary` | Tracks spending per agent, meeting, department |
120
- | `chain-meeting` | Links meetings — output of one feeds into the next |
132
+ | `get-cost-summary` | Tracks spend per agent/meeting/department |
133
+ | `chain-meeting` | Links meetings — previous minutes feed the next |
121
134
 
122
- ### 7 Agents (dispatched via Agent tool)
135
+ ### 8 Agents (dispatched via the Agent tool)
123
136
 
124
137
  | Agent | Role |
125
138
  |-------|------|
126
- | `orchestrator` | Your proxy — manages the full MVP cycle |
139
+ | `orchestrator` | Your proxy — manages the kickoff + per-MVP cycles |
140
+ | `planner` | Runs the meeting, chairs rounds, checks consensus, synthesises minutes |
127
141
  | `architect` | System design, API contracts, schemas |
128
142
  | `engineer` | Implementation feasibility, code quality |
129
- | `qa` | Testing strategy, security, edge cases |
130
- | `product-manager` | Requirements, user stories, prioritization |
131
- | `researcher` | Codebase exploration, prior art |
132
- | `worker` | Writes code (N workers dispatched in parallel) |
143
+ | `verifier` | Testing strategy at design time; tests/build at verify time |
144
+ | `product-manager` | Requirements, user stories, prioritisation |
145
+ | `researcher` | Codebase exploration, prior art, library comparison |
146
+ | `worker` | Writes code (N workers in parallel) |
133
147
 
134
148
  ### 7 Skills
135
149
 
136
150
  | Skill | Purpose |
137
151
  |-------|---------|
138
- | `using-open-coleslaw` | Loaded at session start — ensures all requests go through the pipeline |
152
+ | `using-open-coleslaw` | Injected at session start — ensures all requests go through the pipeline |
139
153
  | `meeting` | Dispatches the orchestrator for the meeting → plan → implement flow |
140
154
  | `status` | Shows active meetings, agents, pending mentions |
141
- | `dashboard` | Opens the real-time Neon Ops Center |
155
+ | `dashboard` | Opens the real-time dashboard |
142
156
  | `mention` | Handles pending @mention decisions |
143
157
  | `agents` | Shows the agent hierarchy tree |
144
158
  | `minutes` | Browses past meeting minutes |
145
159
 
146
- ### Real-Time Dashboard
160
+ ### Real-Time Meeting Dashboard
147
161
 
148
- A cyberpunk-themed "Neon Ops Center" at `http://localhost:35143`:
162
+ A live meeting viewer at `http://localhost:35143`:
149
163
 
150
- - Live agent hierarchy with animated connections
151
- - Per-project tabs (multiple terminals multiple tabs)
152
- - Meeting progress tracking
153
- - Task delegation and completion flow
154
- - @mention alerts
155
- - Duplicate project names get auto-numbered: `project`, `project (1)`
164
+ - **Current meeting as a thread** — speakers post comments, consensus stances are shown inline
165
+ - **MVP progress panel** which MVPs are pending / in-progress / done
166
+ - **User comment box** — type a note straight into the meeting from the browser; the orchestrator picks it up at the next round boundary (file-queue routed to `docs/open-coleslaw/.pending-comments.jsonl`)
167
+ - **Terminal comments also work** — if you prompt Claude Code while a meeting is in progress, your prompt becomes a user turn in the thread
168
+ - Per-project tabs (multiple terminals → multiple tabs); duplicate names auto-number: `project`, `project (1)`
156
169
 
157
170
  ### Self-Extending
158
171
 
@@ -162,10 +175,10 @@ Ask for a workflow that doesn't exist yet, and the orchestrator creates it — n
162
175
 
163
176
  | Tier | Model | Role |
164
177
  |------|-------|------|
165
- | Orchestrator | claude-opus-4-6 (1M) | Full-picture routing, delegation, judgment |
166
- | Leader | claude-sonnet-4-6 | Meetings, technical decisions |
167
- | Worker | claude-sonnet-4-6 | Code, implementation |
168
- | Research Worker | claude-haiku-4-5 | Quick lookups, exploration |
178
+ | Orchestrator | claude-opus (1M context) | Full-picture routing, delegation, judgment |
179
+ | Leader (specialists) | claude-sonnet | Meetings, technical decisions |
180
+ | Worker | claude-sonnet | Code, implementation |
181
+ | Research Worker | claude-haiku | Quick lookups, exploration |
169
182
 
170
183
  ## Philosophy
171
184
 
@@ -176,10 +189,10 @@ Coleslaw is a side dish that's already made. You don't prepare it — you just e
176
189
  ### Key Decisions
177
190
 
178
191
  - **The Orchestrator is your proxy, not a CEO.** You are the decision-maker. The orchestrator acts on your behalf but escalates important choices via @mention.
179
- - **Meeting first, always.** Even "simple" requests go through the pipeline. If it's truly simple, the meeting will be fast.
180
- - **MVP cycles.** Work happens in loops: meeting develop verify (re-meet if needed).
181
- - **Rules survive context compaction.** The `using-open-coleslaw` skill is injected at every session start. The system never forgets how to behave.
182
- - **Agents check before they code.** Every agent analyzes the project's dependencies, existing code, and conventions before writing anything.
192
+ - **Kickoff first.** Every non-trivial request starts by breaking itself into ordered MVPs.
193
+ - **Consensus, not round count.** A meeting ends when everyone actually agrees (or you are asked to break a tie).
194
+ - **Minutes are the real artifact.** They survive `/compact` and `/clear` your Claude Code context is disposable.
195
+ - **Agents check before they code.** Every specialist reads the project's state before proposing anything.
183
196
 
184
197
  ## Development
185
198
 
@@ -192,7 +205,7 @@ npm run build
192
205
  # Run with mock agents (no Claude CLI needed)
193
206
  COLESLAW_MOCK=1 node dist/index.js
194
207
 
195
- # Run tests (218 tests)
208
+ # Run tests
196
209
  npm test
197
210
 
198
211
  # Type check
@@ -86,6 +86,17 @@ var MIGRATIONS = [
86
86
  event_type TEXT NOT NULL,
87
87
  payload TEXT NOT NULL,
88
88
  created_at INTEGER NOT NULL
89
+ )`,
90
+ `CREATE TABLE IF NOT EXISTS mvps (
91
+ id TEXT PRIMARY KEY,
92
+ kickoff_meeting_id TEXT NOT NULL,
93
+ title TEXT NOT NULL,
94
+ goal TEXT NOT NULL,
95
+ status TEXT NOT NULL DEFAULT 'pending' CHECK(status IN ('pending', 'in-progress', 'done', 'blocked')),
96
+ order_index INTEGER NOT NULL,
97
+ design_meeting_id TEXT,
98
+ created_at INTEGER NOT NULL,
99
+ completed_at INTEGER
89
100
  )`
90
101
  ];
91
102
  function applyMigrations(database) {
@@ -132,4 +143,4 @@ export {
132
143
  getDb,
133
144
  closeDb
134
145
  };
135
- //# sourceMappingURL=chunk-GFILTXTU.js.map
146
+ //# sourceMappingURL=chunk-IQPO75GF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/storage/db.ts"],"sourcesContent":["import Database from 'better-sqlite3';\nimport type { Database as DatabaseType } from 'better-sqlite3';\nimport { mkdirSync, existsSync } from 'node:fs';\nimport { join } from 'node:path';\nimport { homedir } from 'node:os';\n\nconst DB_DIR = join(homedir(), '.open-coleslaw');\nconst DB_PATH = join(DB_DIR, 'data.db');\n\nlet db: DatabaseType | null = null;\n\nconst MIGRATIONS: string[] = [\n `CREATE TABLE IF NOT EXISTS agents (\n id TEXT PRIMARY KEY,\n tier TEXT NOT NULL CHECK(tier IN ('orchestrator', 'leader', 'worker')),\n role TEXT NOT NULL,\n department TEXT NOT NULL,\n parent_id TEXT,\n meeting_id TEXT,\n status TEXT NOT NULL DEFAULT 'idle',\n current_task TEXT,\n session_id TEXT,\n spawned_at INTEGER NOT NULL,\n completed_at INTEGER,\n cost_usd REAL DEFAULT 0\n )`,\n\n `CREATE TABLE IF NOT EXISTS meetings (\n id TEXT PRIMARY KEY,\n topic TEXT NOT NULL,\n agenda TEXT NOT NULL,\n participant_ids TEXT NOT NULL,\n status TEXT NOT NULL DEFAULT 'pending',\n phase TEXT NOT NULL DEFAULT 'orchestrator-phase',\n started_at INTEGER,\n completed_at INTEGER,\n initiated_by TEXT NOT NULL\n )`,\n\n `CREATE TABLE IF NOT EXISTS transcript_entries (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n meeting_id TEXT NOT NULL,\n speaker_id TEXT NOT NULL,\n speaker_role TEXT NOT NULL,\n agenda_item_index INTEGER,\n round_number INTEGER,\n content TEXT NOT NULL,\n token_count INTEGER DEFAULT 0,\n created_at INTEGER NOT NULL\n )`,\n\n `CREATE TABLE IF NOT EXISTS minutes (\n id TEXT PRIMARY KEY,\n meeting_id TEXT NOT NULL UNIQUE,\n format TEXT NOT NULL DEFAULT 'prd',\n content TEXT NOT NULL,\n action_items TEXT NOT NULL DEFAULT '[]',\n created_at INTEGER NOT NULL\n )`,\n\n `CREATE TABLE IF NOT EXISTS workers (\n id TEXT PRIMARY KEY,\n leader_id TEXT NOT NULL,\n meeting_id TEXT NOT NULL,\n task_description TEXT NOT NULL,\n task_type TEXT,\n status TEXT NOT NULL DEFAULT 'pending',\n input_context TEXT,\n output_result TEXT,\n error_message TEXT,\n dependencies TEXT NOT NULL DEFAULT '[]',\n spawned_at INTEGER NOT NULL,\n completed_at INTEGER,\n cost_usd REAL DEFAULT 0\n )`,\n\n `CREATE TABLE IF NOT EXISTS mentions (\n id TEXT PRIMARY KEY,\n meeting_id TEXT NOT NULL,\n agenda_item TEXT,\n summary TEXT NOT NULL,\n options TEXT NOT NULL DEFAULT '[]',\n urgency TEXT NOT NULL DEFAULT 'advisory',\n status TEXT NOT NULL DEFAULT 'pending',\n user_decision TEXT,\n user_reasoning TEXT,\n created_at INTEGER NOT NULL,\n resolved_at INTEGER\n )`,\n\n `CREATE TABLE IF NOT EXISTS events (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n event_type TEXT NOT NULL,\n payload TEXT NOT NULL,\n created_at INTEGER NOT NULL\n )`,\n\n `CREATE TABLE IF NOT EXISTS mvps (\n id TEXT PRIMARY KEY,\n kickoff_meeting_id TEXT NOT NULL,\n title TEXT NOT NULL,\n goal TEXT NOT NULL,\n status TEXT NOT NULL DEFAULT 'pending' CHECK(status IN ('pending', 'in-progress', 'done', 'blocked')),\n order_index INTEGER NOT NULL,\n design_meeting_id TEXT,\n created_at INTEGER NOT NULL,\n completed_at INTEGER\n )`,\n];\n\nfunction applyMigrations(database: DatabaseType): void {\n database.exec(`\n CREATE TABLE IF NOT EXISTS _migrations (\n id INTEGER PRIMARY KEY,\n applied_at INTEGER NOT NULL\n )\n `);\n\n const applied = new Set(\n database\n .prepare('SELECT id FROM _migrations')\n .all()\n .map((row) => (row as { id: number }).id)\n );\n\n const applyMigration = database.transaction(() => {\n for (let i = 0; i < MIGRATIONS.length; i++) {\n if (!applied.has(i)) {\n database.exec(MIGRATIONS[i]);\n database\n .prepare('INSERT INTO _migrations (id, applied_at) VALUES (?, ?)')\n .run(i, Date.now());\n }\n }\n });\n\n applyMigration();\n}\n\nexport function getDb(): DatabaseType {\n if (db) {\n return db;\n }\n\n if (!existsSync(DB_DIR)) {\n mkdirSync(DB_DIR, { recursive: true });\n }\n\n db = new Database(DB_PATH);\n db.pragma('journal_mode = WAL');\n db.pragma('foreign_keys = ON');\n\n applyMigrations(db);\n\n return db;\n}\n\nexport function closeDb(): void {\n if (db) {\n db.close();\n db = null;\n }\n}\n"],"mappings":";;;AAAA,OAAO,cAAc;AAErB,SAAS,WAAW,kBAAkB;AACtC,SAAS,YAAY;AACrB,SAAS,eAAe;AAExB,IAAM,SAAS,KAAK,QAAQ,GAAG,gBAAgB;AAC/C,IAAM,UAAU,KAAK,QAAQ,SAAS;AAEtC,IAAI,KAA0B;AAE9B,IAAM,aAAuB;AAAA,EAC3B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAeA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAcA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAWF;AAEA,SAAS,gBAAgB,UAA8B;AACrD,WAAS,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA,GAKb;AAED,QAAM,UAAU,IAAI;AAAA,IAClB,SACG,QAAQ,4BAA4B,EACpC,IAAI,EACJ,IAAI,CAAC,QAAS,IAAuB,EAAE;AAAA,EAC5C;AAEA,QAAM,iBAAiB,SAAS,YAAY,MAAM;AAChD,aAAS,IAAI,GAAG,IAAI,WAAW,QAAQ,KAAK;AAC1C,UAAI,CAAC,QAAQ,IAAI,CAAC,GAAG;AACnB,iBAAS,KAAK,WAAW,CAAC,CAAC;AAC3B,iBACG,QAAQ,wDAAwD,EAChE,IAAI,GAAG,KAAK,IAAI,CAAC;AAAA,MACtB;AAAA,IACF;AAAA,EACF,CAAC;AAED,iBAAe;AACjB;AAEO,SAAS,QAAsB;AACpC,MAAI,IAAI;AACN,WAAO;AAAA,EACT;AAEA,MAAI,CAAC,WAAW,MAAM,GAAG;AACvB,cAAU,QAAQ,EAAE,WAAW,KAAK,CAAC;AAAA,EACvC;AAEA,OAAK,IAAI,SAAS,OAAO;AACzB,KAAG,OAAO,oBAAoB;AAC9B,KAAG,OAAO,mBAAmB;AAE7B,kBAAgB,EAAE;AAElB,SAAO;AACT;AAEO,SAAS,UAAgB;AAC9B,MAAI,IAAI;AACN,OAAG,MAAM;AACT,SAAK;AAAA,EACP;AACF;","names":[]}
@@ -2,9 +2,9 @@
2
2
  import {
3
3
  closeDb,
4
4
  getDb
5
- } from "./chunk-GFILTXTU.js";
5
+ } from "./chunk-IQPO75GF.js";
6
6
  export {
7
7
  closeDb,
8
8
  getDb
9
9
  };
10
- //# sourceMappingURL=db-S2POLBQM.js.map
10
+ //# sourceMappingURL=db-62WVGYCE.js.map