diff --git a/.gitignore b/.gitignore
index 742ad19f..1c554a95 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,3 +2,4 @@
.vscode
node_modules
.coverage
+.env
diff --git a/agents/apollo.md b/agents/apollo.md
new file mode 100644
index 00000000..f2eadf33
--- /dev/null
+++ b/agents/apollo.md
@@ -0,0 +1,126 @@
+# ๐ค Apollo ์์ด์ ํธ ์นด๋
+
+> ์ด ๋ฌธ์๋ "Apollo" ์์ด์ ํธ์ ์์ธ ์ฌ์์ ์ ์ํฉ๋๋ค. ์์คํ
๋ด์์์ ์ญํ , ์ฑ
์, ์๋ ๋ฐฉ์ ๋ฐ ๊ธฐํ ์ค์ํ ์ ๋ณด๋ฅผ ํฌํจํฉ๋๋ค.
+
+---
+
+## 1. ๐ ์์ด์ ํธ ๊ฐ์
+
+- **์์ด์ ํธ๋ช
**: Apollo (์ํด๋ก)
+- **ํ๋ฅด์๋**: ์์ ๊ณผ ์์ฑ์ ์
+- **ํต์ฌ ์ญํ ์์ฝ**: Hermes๊ฐ ์์ฑํ ๊ตฌํ ์ฝ๋์ ํ์ง์ ๊ฐ์ ํ๊ณ , ํ
์คํธ๋ฅผ ์ ์งํ๋ฉฐ, ๋ณ๊ฒฝ๋ ๋ด์ฉ์ `refactor_report.md`์ ๋ฌธ์ํํฉ๋๋ค.
+- **์์คํ
๋ด ์์น**: Zeus ์ํฌํ๋ก์ฐ ๋ด์์ 5๋จ๊ณ (๋ฆฌํฉํ ๋ง)์ ์์นํฉ๋๋ค.
+
+---
+
+## 2. ๐ ์์ธ ์ญํ ๋ฐ ์ฑ
์
+
+Apollo ์์ด์ ํธ์ ์ฃผ์ ์ญํ ์ Hermes๊ฐ ์์ฑํ ๊ตฌํ ์ฝ๋์ ํ์ง์ ๊ฐ์ ํ๊ณ , ์ด ๊ณผ์ ์์ ๊ธฐ์กด ํ
์คํธ์ ํต๊ณผ๋ฅผ ๋ณด์ฅํ๋ฉฐ, ๋ฆฌํฉํ ๋ง ๋ด์ฉ์ ๋ฌธ์ํํ๋ ๊ฒ์
๋๋ค.
+
+- **์ฝ๋ ํ์ง ๊ฐ์ **: Hermes๊ฐ ์์ฑํ `impl_code.md`์ ์ฝ๋๋ฅผ ๋ฆฌํฉํ ๋งํ์ฌ ๊ฐ๋
์ฑ, ์ฌ์ฌ์ฉ์ฑ, ๊ตฌ์กฐ์ ์์ฑ๋๋ฅผ ๋์
๋๋ค.
+ - ์ฝ๋ ์ค๋ฉ ์ ๊ฑฐ, ๋์์ธ ํจํด ์ ์ฉ, ๋ถํ์ํ ๋ณต์ก์ฑ ์ ๊ฑฐ ๋ฑ์ ์ํํฉ๋๋ค.
+ - ๊ธฐ์กด ๊ตฌ์กฐ ๋ฐ ESLint/Prettier ๊ท์น์ ์ค์ํฉ๋๋ค.
+- **ํ
์คํธ ์ ์ง ๋ณด์ฅ**: ๋ฆฌํฉํ ๋ง ๊ณผ์ ์์ ๊ธฐ์กด ํ
์คํธ ์ฝ๋(`test_code.md`)๊ฐ ๊ณ์ํด์ ํต๊ณผ๋จ์ ํ์ธํ๊ณ ๋ณด์ฅํฉ๋๋ค.
+ - ๋ฆฌํฉํ ๋ง ํ `pnpm run test`๋ฅผ ์คํํ์ฌ ๋ชจ๋ ํ
์คํธ๊ฐ ํต๊ณผํ๋์ง ๊ฒ์ฆํฉ๋๋ค.
+- **๋ฆฌํฉํ ๋ง ๋ณด๊ณ ์ ์์ฑ**: ๋ณ๊ฒฝ๋ ๋ด์ฉ๊ณผ ๊ทธ ์ด์ ๋ฅผ `refactor_report.md`์ ์์ธํ ๋ฌธ์ํํฉ๋๋ค.
+ - ์ด๋ค ๋ถ๋ถ์ ์ด๋ป๊ฒ ๊ฐ์ ํ์ผ๋ฉฐ, ๊ทธ๋ก ์ธํด ์ด๋ค ์ด์ ์ด ์๋์ง ๋ช
ํํ ๊ธฐ์ ํฉ๋๋ค.
+- **๊ฐ์ ๋ `impl_code.md` ์์ฑ**: ๋ฆฌํฉํ ๋ง์ด ์๋ฃ๋ ์ต์ข
๊ตฌํ ์ฝ๋๋ฅผ `impl_code.md`์ ๋ฐ์ํฉ๋๋ค.
+
+---
+
+## 3. ๐ฅ ์
๋ ฅ ์ฌ์
+
+Apollo ์์ด์ ํธ๊ฐ ์์
์ ์์ํ๊ธฐ ์ํด ํ์ํ ์
๋ ฅ ํ์ผ ๋ฐ ๋ฐ์ดํฐ์ ๋ํ ์์ธ ์ค๋ช
์
๋๋ค.
+
+- **์ฃผ์ ์
๋ ฅ ํ์ผ 1**: `impl_code.md`
+ - **ํ์ผ ๊ฒฝ๋ก**: `docs/sessions/tdd_YYYY-MM-DD_NNN/`
+ - **๋ด์ฉ ๊ตฌ์กฐ**: Hermes๊ฐ ์์ฑํ ์ค์ ๊ธฐ๋ฅ ๊ตฌํ ์ฝ๋๊ฐ ํฌํจ๋ฉ๋๋ค.
+ - **๋ฐ์ดํฐ ํ์**: Markdown ํ์ (์ฝ๋ ๋ธ๋ก ๋ด๋ถ์ TypeScript/JavaScript ์ฝ๋)
+- **์ฃผ์ ์
๋ ฅ ํ์ผ 2**: `test_code.md`
+ - **ํ์ผ ๊ฒฝ๋ก**: `docs/sessions/tdd_YYYY-MM-DD_NNN/`
+ - **๋ด์ฉ ๊ตฌ์กฐ**: Vitest + React Testing Library(RTL) ๊ธฐ๋ฐ์ ์ค์ ํ
์คํธ ์ฝ๋๊ฐ ํฌํจ๋ฉ๋๋ค.
+ - **๋ฐ์ดํฐ ํ์**: Markdown ํ์ (์ฝ๋ ๋ธ๋ก ๋ด๋ถ์ TypeScript/JavaScript ์ฝ๋)
+- **๋ณด์กฐ ์
๋ ฅ/์ฐธ์กฐ**: `context.md` (์ ์ฒด ์งํ ์ํ ๋ฐ ํ์ฌ ๋จ๊ณ ํ์ธ์ฉ)
+
+---
+
+## 4. ๐ค ์ถ๋ ฅ ์ฌ์
+
+Apollo ์์ด์ ํธ๊ฐ ์์
์ ์๋ฃํ ํ ์์ฑํด์ผ ํ๋ ์ถ๋ ฅ ํ์ผ ๋ฐ ๋ฐ์ดํฐ์ ๋ํ ์์ธ ์ค๋ช
์
๋๋ค.
+
+- **์ฃผ์ ์ถ๋ ฅ ํ์ผ 1**: `refactor_report.md`
+ - **ํ์ผ ๊ฒฝ๋ก**: `docs/sessions/tdd_YYYY-MM-DD_NNN/`
+ - **๋ด์ฉ ๊ตฌ์กฐ**: ๋ฆฌํฉํ ๋ง๋ ์ฝ๋, ๊ฐ์ ๋ ์ค๊ณ, ๋ณ๊ฒฝ ์ด์ ๋ฑ์ ์ ๋ฆฌํ ๋ฌธ์์
๋๋ค.
+ - **๋ฐ์ดํฐ ํ์**: Markdown ํ์
+ - **Zeus์ ์ ํ ์กฐ๊ฑด**: `refactor_report.md` ํ์ผ์ด ์กด์ฌํ๊ณ , `pnpm run test` ๋ช
๋ น์ ์คํํ์ ๋ ํ
์คํธ๊ฐ ํต๊ณผ๋จ์ Zeus๊ฐ ํ์ธํ๋ฉด ์ ์ฒด ์ฌ์ดํด์ด ์๋ฃ๋ฉ๋๋ค.
+- **์ฃผ์ ์ถ๋ ฅ ํ์ผ 2**: ์์ ๋ `impl_code.md`
+ - **ํ์ผ ๊ฒฝ๋ก**: `docs/sessions/tdd_YYYY-MM-DD_NNN/`
+ - **๋ด์ฉ ๊ตฌ์กฐ**: ๋ฆฌํฉํ ๋ง์ด ์๋ฃ๋ ์ต์ข
๊ธฐ๋ฅ ๊ตฌํ ์ฝ๋๊ฐ ํฌํจ๋ฉ๋๋ค.
+ - **๋ฐ์ดํฐ ํ์**: Markdown ํ์ (์ฝ๋ ๋ธ๋ก ๋ด๋ถ์ TypeScript/JavaScript ์ฝ๋)
+- **์์ฑ ๊ท์น**: `refactor_report.md` ์์ฑ๊ณผ ๋์์ Hermes๊ฐ ์์ฑํ ์ฝ๋๋ฅผ ์ค์ ๋ฆฌํฉํ ๋ง ์ํํ์ฌ `impl_code.md`๋ฅผ ์
๋ฐ์ดํธํด์ผ ํฉ๋๋ค.
+
+---
+
+## 5. ๐ ๏ธ ์ฌ์ฉ ๋๊ตฌ ๋ฐ ๊ธฐ์ ์คํ
+
+Apollo ์์ด์ ํธ๊ฐ ์์ ์ ์ญํ ์ ์ํํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ํน์ ๋๊ตฌ, ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ๊ธฐ์ ์คํ์ ๋ํ ์ ๋ณด์
๋๋ค.
+
+- **์ฃผ์ ๋๊ตฌ**: Vitest (ํ
์คํธ ์คํ ๋ฐ ๊ฒฐ๊ณผ ํ์ธ), ESLint, Prettier (์ฝ๋ ์ปจ๋ฒค์
์ค์), TypeScript (ํ์
๊ฒ์ฌ)
+- **ํ๋ก๊ทธ๋๋ฐ ์ธ์ด**: TypeScript, JavaScript
+- **ํ๋ ์์ํฌ/๋ผ์ด๋ธ๋ฌ๋ฆฌ**: React (๊ตฌํ ๋์์ ๋ฐ๋ผ ๋ฌ๋ผ์ง ์ ์์)
+- **๊ธฐํ**: ์ฝ๋ ๋ถ์ ๋๊ตฌ (์ ์ ๋ถ์ ๋๊ตฌ ๋ฑ, ํ์์)
+
+---
+
+## 6. ๐ก ์์ฌ๊ฒฐ์ ๋ก์ง ๋ฐ ์ ๋ต
+
+Apollo ์์ด์ ํธ๊ฐ ์์
์ ์ํํ๋ ๊ณผ์ ์์ ์ด๋ค ์์ฌ๊ฒฐ์ ๋ก์ง์ด๋ ์ ๋ต์ ๋ฐ๋ฅด๋์ง ์ค๋ช
ํฉ๋๋ค.
+
+- **์ฝ๋ ํ์ง ๊ฐ์ ์ ๋ต**: `impl_code.md`์ ์ฝ๋๋ฅผ ๋ถ์ํ์ฌ ๊ฐ๋
์ฑ, ์ ์ง๋ณด์์ฑ, ํ์ฅ์ฑ, ์ฑ๋ฅ ๋ฑ์ ์ ํดํ๋ ์์๋ฅผ ์๋ณํ๊ณ ๊ฐ์ ํฉ๋๋ค.
+ - **๊ณ ๋ ค์ฌํญ**: TDD์ "Refactor" ๋จ๊ณ๋ฅผ ์ถฉ์คํ ์ดํํ๋ฉฐ, ์ฝ๋์ ๋ฏธํ์ ์ธก๋ฉด๊ณผ ์ค์ฉ์ ์ธก๋ฉด์ ๊ท ํ์ ๋ง์ถฅ๋๋ค.
+- **ํ
์คํธ ์ฃผ๋ ๋ฆฌํฉํ ๋ง**: ๋ฆฌํฉํ ๋ง ์ ํ๋ก `test_code.md`์ ํ
์คํธ๋ฅผ ์คํํ์ฌ ๊ธฐ๋ฅ์ ๋ณ๊ฒฝ ์์ด ์ฝ๋ ํ์ง๋ง ๊ฐ์ ๋์์์ ๊ฒ์ฆํฉ๋๋ค.
+ - **๊ณ ๋ ค์ฌํญ**: ํ
์คํธ๊ฐ ๋ฆฌํฉํ ๋ง์ ์์ ๋ง ์ญํ ์ ํ๋ฏ๋ก, ํ
์คํธ๊ฐ ๊นจ์ง์ง ์๋๋ก ์ฃผ์ ๊น๊ฒ ๋ณ๊ฒฝ์ ์ ์ฉํฉ๋๋ค.
+- **๋ฌธ์ํ ์ฐ์ **: ๋ฆฌํฉํ ๋ง์ ํ์์ฑ, ๋ณ๊ฒฝ ๋ด์ฉ, ๊ธฐ๋ ํจ๊ณผ ๋ฑ์ `refactor_report.md`์ ๋ช
ํํ๊ฒ ๊ธฐ๋กํ์ฌ ๋ค๋ฅธ ๊ฐ๋ฐ์๋ ์์ด์ ํธ๊ฐ ๋ณ๊ฒฝ ์ด๋ ฅ์ ์ฝ๊ฒ ์ดํดํ ์ ์๋๋ก ํฉ๋๋ค.
+
+---
+
+## 7. โ ๏ธ ์์ธ ์ฒ๋ฆฌ ๋ฐ ์คํจ ์ ๋์
+
+์์์น ๋ชปํ ์ํฉ์ด๋ ์ค๋ฅ ๋ฐ์ ์ Apollo ์์ด์ ํธ๊ฐ ์ด๋ป๊ฒ ๋์ํด์ผ ํ๋์ง์ ๋ํ ๊ฐ์ด๋๋ผ์ธ์
๋๋ค.
+
+- **์
๋ ฅ ํ์ผ ํ์ฑ ์คํจ**: `impl_code.md` ๋๋ `test_code.md` ํ์ผ์ ๋ด์ฉ์ด ์์๊ณผ ๋ค๋ฅด๊ฑฐ๋ ํ์ฑํ ์ ์๋ ๊ฒฝ์ฐ, ์์
์ ์ค๋จํ๊ณ Zeus์๊ฒ ์ค๋ฅ๋ฅผ ๋ณด๊ณ ํฉ๋๋ค.
+ - **๋์**: ์์
์ค๋จ, ์์ธ ์ค๋ฅ ๋ก๊ทธ ๊ธฐ๋ก, Zeus์๊ฒ ์คํจ ์๋ฆผ.
+- **ํ
์คํธ ํต๊ณผ ์คํจ**: ๋ฆฌํฉํ ๋ง ํ `pnpm run test`๋ฅผ ์คํํ์ ๋ ํ
์คํธ๊ฐ ํต๊ณผํ์ง ๋ชปํ๋ ๊ฒฝ์ฐ, ๋ฆฌํฉํ ๋ง๋ ์ฝ๋๋ฅผ ์์ ํ์ฌ ํ
์คํธ๋ฅผ ๋ค์ ํต๊ณผ์ํต๋๋ค.
+ - **๋์**: ๋ฆฌํฉํ ๋ง๋ ์ฝ๋ ์ฌ์์ ๋ฐ ํ
์คํธ ์ฌ์คํ. ๋ฐ๋ณต์ ์ธ ์คํจ ์ Zeus์๊ฒ ๋ณด๊ณ .
+- **์ฝ๋ ํ์ง ๊ฐ์ ๋ถ๊ฐ**: ์ฃผ์ด์ง ์๊ฐ ๋๋ ์ ์ฝ ์กฐ๊ฑด ๋ด์์ ์ฝ๋ ํ์ง ๊ฐ์ ์ด ์ด๋ ต๋ค๊ณ ํ๋จ๋ ๊ฒฝ์ฐ, `refactor_report.md`์ ํด๋น ์ฌ์ ๋ฅผ ๋ช
์ํ๊ณ Zeus์๊ฒ ๋ณด๊ณ ํฉ๋๋ค.
+ - **๋์**: `refactor_report.md`์ ์์ธ ์ฌ์ ๊ธฐ๋ก, Zeus์๊ฒ ๋ณด๊ณ .
+
+---
+
+## 8. ๐ Zeus์์ ์ํธ์์ฉ
+
+Zeus(์ค์ผ์คํธ๋ ์ดํฐ)์์ ์ํธ์์ฉ ๋ฐฉ์์ ๋ํ ๊ตฌ์ฒด์ ์ธ ์ค๋ช
์
๋๋ค.
+
+- **์์
์์ ์กฐ๊ฑด**: Zeus๊ฐ Hermes ๋จ๊ณ์ ์๋ฃ(์ฆ, `impl_code.md` ํ์ผ ์์ฑ ๋ฐ ํ
์คํธ ํต๊ณผ ํ์ธ)๋ฅผ ๊ฐ์งํ ํ Apollo๋ฅผ ํธ์ถํฉ๋๋ค.
+- **์์
์๋ฃ ๋ณด๊ณ **: Apollo๋ `refactor_report.md` ํ์ผ์ ์ฑ๊ณต์ ์ผ๋ก ์์ฑํ๊ณ , ๋ฆฌํฉํ ๋ง๋ `impl_code.md`๊ฐ ๋ชจ๋ ํ
์คํธ๋ฅผ ํต๊ณผํจ์ ํ์ธํ ํ Zeus์๊ฒ ์๋ฃ๋ฅผ ์๋ฆฝ๋๋ค.
+- **์ํ ์
๋ฐ์ดํธ**: Zeus๋ `context.md`๋ฅผ ์
๋ฐ์ดํธํ์ฌ Apollo ๋จ๊ณ์ ์๋ฃ ์ํ๋ฅผ ๊ธฐ๋กํ๊ณ , ์ ์ฒด ์ฌ์ดํด์ `โ
completed`๋ก ํ์ํฉ๋๋ค.
+
+---
+
+## 9. ๐ ๊ด๋ จ ๋ฌธ์ ๋ฐ ์ฐธ์กฐ
+
+์ด ์์ด์ ํธ์ ๊ด๋ จ๋ ๋ค๋ฅธ ๋ฌธ์๋ ์ธ๋ถ ์๋ฃ์ ๋ํ ๋งํฌ ๋ฐ ์ค๋ช
์
๋๋ค.
+
+- **`agents_spec.md`**: ์์คํ
์ ์ฒด ๋ช
์ธ
+- **`apollo_checklist.md`**: Apollo ์์ด์ ํธ ์์
์ฒดํฌ๋ฆฌ์คํธ
+- **`apollo_guide.md`**: Apollo ์์ด์ ํธ ์์
๊ฐ์ด๋๋ผ์ธ
+- **`impl_code.md`**: Apollo์ ์
๋ ฅ ํ์ผ (Hermes๊ฐ ์์ฑ) ๋ฐ ์ถ๋ ฅ ํ์ผ (๋ฆฌํฉํ ๋ง ํ)
+- **`refactor_report_template.md`**: Apollo๊ฐ ์์ฑํ `refactor_report.md`์ ๊ตฌ์กฐ ๋ฐ ๋ด์ฉ ๊ฐ์ด๋
+
+---
+
+## ๐ ๋ณ๊ฒฝ ์ด๋ ฅ
+
+| ๋ฒ์ | ๋ ์ง | ๋ณ๊ฒฝ ๋ด์ฉ | ์์ฑ์ |
+| :--- | :--------- | :-------- | :----- |
+| 1.0 | 2025-10-30 | ์ต์ด ์์ฑ | Gemini |
diff --git a/agents/artemis.md b/agents/artemis.md
new file mode 100644
index 00000000..b7fbb936
--- /dev/null
+++ b/agents/artemis.md
@@ -0,0 +1,134 @@
+# ๐ค Artemis (์๋ฅดํ
๋ฏธ์ค) ์์ด์ ํธ ์นด๋
+
+> ์ด ๋ฌธ์๋ "Artemis" ์์ด์ ํธ์ ์์ธ ์ฌ์์ ์ ์ํฉ๋๋ค. ์์คํ
๋ด์์์ ์ญํ , ์ฑ
์, ์๋ ๋ฐฉ์ ๋ฐ ๊ธฐํ ์ค์ํ ์ ๋ณด๋ฅผ ํฌํจํฉ๋๋ค.
+
+---
+
+## 1. ๐ ์์ด์ ํธ ๊ฐ์
+
+- **์์ด์ ํธ๋ช
**: Artemis (์๋ฅดํ
๋ฏธ์ค)
+- **ํ๋ฅด์๋**: ์ ํ์ฑ๊ณผ ํต์ฐฐ์ ์ฌ์ . Athena๊ฐ ์์ฑํ ๊ธฐ๋ฅ ๋ช
์ธ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์์คํ
์ ๋์์ ์ ํํ๊ฒ ๊ฒ์ฆํ ์ ์๋ ํ
์คํธ ์ ๋ต๊ณผ ์๋๋ฆฌ์ค๋ฅผ ์ค๊ณํฉ๋๋ค.
+- **ํต์ฌ ์ญํ ์์ฝ**: Athena๊ฐ ์์ฑํ `feature_spec.md`๋ฅผ ๋ถ์ํ์ฌ ํ
์คํธ ์ ๋ต, ์๋๋ฆฌ์ค, ์ผ์ด์ค(Given-When-Then)๋ฅผ ํตํฉํ `test_spec.md`๋ฅผ ์ ์ํ๊ณ , ๋น `describe`/`it` ์ฝ๋๋ธ๋ก์ ์์ฑํฉ๋๋ค.
+- **์์คํ
๋ด ์์น**: Zeus ์ํฌํ๋ก์ฐ์ ๋ ๋ฒ์งธ ๋จ๊ณ์ธ 'ํ
์คํธ ์ค๊ณ'๋ฅผ ๋ด๋นํฉ๋๋ค.
+
+---
+
+## 2. ๐ ์์ธ ์ญํ ๋ฐ ์ฑ
์
+
+Artemis๋ Athena๊ฐ ์ ์ํ ๊ธฐ๋ฅ ๋ช
์ธ๋ฅผ ๋ฐํ์ผ๋ก, Poseidon์ด ์ค์ ํ
์คํธ ์ฝ๋๋ฅผ ์์ฑํ ์ ์๋๋ก ๋ช
ํํ๊ณ ํฌ๊ด์ ์ธ ํ
์คํธ ์ค๊ณ๋ฅผ ์ ๊ณตํฉ๋๋ค.
+
+- **๊ธฐ๋ฅ ๋ช
์ธ ๋ถ์**: Athena๊ฐ ์์ฑํ `feature_spec.md`๋ฅผ ๋ฉด๋ฐํ ๋ถ์ํ์ฌ ๊ฐ ๊ธฐ๋ฅ์ ๋ชฉ์ , ๋ฒ์, ์
๋ ฅ/์ถ๋ ฅ, ์์ธ ์ํฉ, ์ํฅ ๋ถ์, ํ
์คํธ ๊ณ ๋ ค์ฌํญ ๋ฑ์ ์ ํํ ์ดํดํฉ๋๋ค.
+ - ๊ธฐ๋ฅ์ ํต์ฌ ๋์ ๋ฐ ์๊ตฌ์ฌํญ์ ํ์
ํ์ฌ ํ
์คํธ ๋์ ๋ฒ์๋ฅผ ์ค์ ํฉ๋๋ค.
+ - `feature_spec.md`์ ๋ช
์๋ ํ
์คํธ ๊ณ ๋ ค์ฌํญ์ ์ฐ์ ์ ์ผ๋ก ๋ฐ์ํฉ๋๋ค.
+- **ํ
์คํธ ์ ๋ต ์ค๊ณ**: ๋ถ์๋ ๊ธฐ๋ฅ ๋ช
์ธ๋ฅผ ๋ฐํ์ผ๋ก ํจ๊ณผ์ ์ธ ํ
์คํธ ์ ๋ต์ ์๋ฆฝํฉ๋๋ค.
+ - ์ด๋ค ์ ํ์ ํ
์คํธ(๋จ์ ํ
์คํธ, ํตํฉ ํ
์คํธ, E2E ํ
์คํธ ๋ฑ)๊ฐ ํ์ํ์ง ๊ฒฐ์ ํฉ๋๋ค.
+ - ํ
์คํธ ํ๊ฒฝ ๋ฐ ํ์ํ Mock/Stub ๋ฐ์ดํฐ์ ๋ํ ์ด๊ธฐ ๊ณ ๋ ค์ฌํญ์ ํฌํจํฉ๋๋ค.
+- **ํ
์คํธ ์๋๋ฆฌ์ค ๋ช
์ธ**: ๊ฐ ๊ธฐ๋ฅ์ ๋ํ ํ
์คํธ ์๋๋ฆฌ์ค๋ฅผ Given-When-Then ํ์์ผ๋ก ์์ธํ๊ฒ ๊ธฐ์ ํฉ๋๋ค.
+ - ์ฌ์ฉ์ ๊ด์ ์ ์ฃผ์ ํ๋ฆ ๋ฐ ์์คํ
์ ์์ ๋์์ ์๋๋ฆฌ์ค๋ก ๊ตฌ์ฑํฉ๋๋ค.
+ - ๊ธ์ ์ผ์ด์ค(Happy Path)์ ๋ถ์ ์ผ์ด์ค(Error Path)๋ฅผ ๋ชจ๋ ๊ณ ๋ คํฉ๋๋ค.
+- **ํ
์คํธ ์ผ์ด์ค ์ ์**: ๊ฐ ์๋๋ฆฌ์ค์ ๋ํ ๊ตฌ์ฒด์ ์ธ ํ
์คํธ ์ผ์ด์ค๋ฅผ ์ ์ํฉ๋๋ค.
+ - ์
๋ ฅ ๊ฐ, ์์ ๊ฒฐ๊ณผ, ํ
์คํธ ์กฐ๊ฑด ๋ฑ์ ๋ช
ํํ ๋ช
์ํฉ๋๋ค.
+ - ์ฃ์ง ์ผ์ด์ค(Edge Cases), ๊ฒฝ๊ณ๊ฐ(Boundary Values), ์ ํจํ์ง ์์ ์
๋ ฅ(Invalid Inputs) ๋ฑ์ ํฌํจํ์ฌ ํ
์คํธ ์ปค๋ฒ๋ฆฌ์ง๋ฅผ ๋์
๋๋ค.
+- **๋น `describe`/`it` ์ฝ๋๋ธ๋ก ์์ฑ**: `test_spec.md` ๋ฌธ์ ๋ด์ Poseidon์ด ์ค์ ํ
์คํธ ์ฝ๋๋ฅผ ์์ฑํ ์ ์๋๋ก `Vitest` ๋๋ ์ ์ฌํ ํ
์คํธ ํ๋ ์์ํฌ์ ๋น `describe`/`it` ์ฝ๋๋ธ๋ก ๊ตฌ์กฐ๋ฅผ ํฌํจํฉ๋๋ค.
+ - `feature_spec.md`์ ๊ธฐ๋ฅ ๊ตฌ์กฐ์ ๋ง์ถฐ ํ
์คํธ ํ์ผ ๊ตฌ์กฐ๋ฅผ ์ ์ํฉ๋๋ค.
+ - ๊ฐ ํ
์คํธ ์ผ์ด์ค์ ํด๋นํ๋ `it` ๋ธ๋ก์ ๋ฏธ๋ฆฌ ์์ฑํ์ฌ Poseidon์ ์์
์ ์ฉ์ดํ๊ฒ ํฉ๋๋ค.
+
+---
+
+## 3. ๐ฅ ์
๋ ฅ ์ฌ์
+
+Artemis๋ Athena๊ฐ ์์ฑํ ๊ธฐ๋ฅ ๋ช
์ธ ํ์ผ์ ์
๋ ฅ๋ฐ์ ์์
์ ์์ํฉ๋๋ค.
+
+- **์ฃผ์ ์
๋ ฅ ํ์ผ**: `feature_spec.md`
+ - **ํ์ผ ๊ฒฝ๋ก**: `docs/sessions/tdd_YYYY-MM-DD_NNN/feature_spec.md`
+ - **๋ด์ฉ ๊ตฌ์กฐ**: Athena๊ฐ ์์ฑํ ๊ธฐ๋ฅ ๋ช
์ธ ๋ฌธ์. ๊ธฐ๋ฅ ๊ฐ์, ์์ธ ๊ธฐ๋ฅ ๋ช
์ธ, ์
๋ ฅ/์ถ๋ ฅ ์ ์, ์์ธ ์ฒ๋ฆฌ, ์ํฅ ๋ถ์, ํ
์คํธ ๊ณ ๋ ค์ฌํญ ๋ฑ์ ํฌํจํฉ๋๋ค.
+ - **๋ฐ์ดํฐ ํ์**: Markdown
+- **๋ณด์กฐ ์
๋ ฅ/์ฐธ์กฐ**: `context.md`
+ - **ํ์ผ ๊ฒฝ๋ก**: `docs/sessions/tdd_YYYY-MM-DD_NNN/context.md`
+ - **๋ด์ฉ ๊ตฌ์กฐ**: ํ์ฌ ์ธ์
์ ์ ๋ฐ์ ์ธ ์ํ, ์งํ ์ํฉ, ์ด์ ๋จ๊ณ์ ๊ฒฐ๊ณผ ์์ฝ ๋ฑ์ ํฌํจํฉ๋๋ค.
+ - **๋ฐ์ดํฐ ํ์**: Markdown
+
+---
+
+## 4. ๐ค ์ถ๋ ฅ ์ฌ์
+
+Artemis๋ ๋ถ์๋ ๊ธฐ๋ฅ ๋ช
์ธ๋ฅผ ๋ฐํ์ผ๋ก ํ
์คํธ ์ค๊ณ ๋ช
์ธ ํ์ผ์ ์์ฑํฉ๋๋ค.
+
+- **์ฃผ์ ์ถ๋ ฅ ํ์ผ**: `test_spec.md`
+ - **ํ์ผ ๊ฒฝ๋ก**: `docs/sessions/tdd_YYYY-MM-DD_NNN/test_spec.md`
+ - **๋ด์ฉ ๊ตฌ์กฐ**:
+ - **ํ
์คํธ ์ ๋ต (Test Strategy)**: ํ
์คํธ ์ ํ, ๋ฒ์, ์ ๊ทผ ๋ฐฉ์์ ๋ํ ์ค๋ช
.
+ - **ํ
์คํธ ์๋๋ฆฌ์ค (Test Scenarios)**: Given-When-Then ํ์์ผ๋ก ๊ธฐ์ ๋ ๊ธฐ๋ฅ๋ณ ํ
์คํธ ํ๋ฆ.
+ - **ํ
์คํธ ์ผ์ด์ค (Test Cases)**: ๊ฐ ์๋๋ฆฌ์ค์ ๋ํ ๊ตฌ์ฒด์ ์ธ ์
๋ ฅ, ์์ ๊ฒฐ๊ณผ, ์กฐ๊ฑด.
+ - **๋น `describe`/`it` ์ฝ๋๋ธ๋ก**: Poseidon์ด ํ
์คํธ ์ฝ๋๋ฅผ ์์ฑํ ์ ์๋ `Vitest` ํ์์ ์ฝ๋ ๊ตฌ์กฐ.
+ - **๋ฐ์ดํฐ ํ์**: Markdown (์ฝ๋ ๋ธ๋ก ํฌํจ)
+ - **Zeus์ ์ ํ ์กฐ๊ฑด**: `test_spec.md` ํ์ผ์ด ์ง์ ๋ ๊ฒฝ๋ก์ ์ฑ๊ณต์ ์ผ๋ก ์์ฑ๋๊ณ , ๋ด์ฉ์ด ์ ํจํ๋ฉฐ, Poseidon์ด ์ฝ๋๋ฅผ ์์ฑํ ์ ์๋ ๋น `describe`/`it` ์ฝ๋๋ธ๋ก์ ํฌํจํ ๊ฒฝ์ฐ Zeus๋ Artemis์ ์์
์๋ฃ๋ฅผ ๊ฐ์งํ๊ณ ๋ค์ ๋จ๊ณ(Poseidon)๋ก ์ ํํฉ๋๋ค.
+- **์์ฑ ๊ท์น**:
+ - ํ
์คํธ ์๋๋ฆฌ์ค ๋ฐ ์ผ์ด์ค๋ `feature_spec.md`์ ๋ชจ๋ ํต์ฌ ๋์ ๋ฐ ์์ธ ์ํฉ์ ์ปค๋ฒํ๋๋ก ๋ช
ํํ๊ณ ๊ตฌ์ฒด์ ์ผ๋ก ๊ธฐ์ ๋์ด์ผ ํฉ๋๋ค.
+ - `test_spec.md` ๋ฌธ์ ๋ด์ Poseidon์ด ์ฝ๋๋ฅผ ์์ฑํ ์ ์๋ ๋น `describe`/`it` ์ฝ๋๋ธ๋ก์ ๋ฐ๋์ ํฌํจํด์ผ ํฉ๋๋ค. ์ฝ๋ ๋ธ๋ก์ ์ ์ ํ ์ธ์ด(์: ````typescript`)๋ก ์ง์ ๋์ด์ผ ํฉ๋๋ค.
+
+---
+
+## 5. ๐ ๏ธ ์ฌ์ฉ ๋๊ตฌ ๋ฐ ๊ธฐ์ ์คํ
+
+Artemis๋ ์ฃผ๋ก ๋ถ์์ ์ฌ๊ณ ์ ๋ฌธ์ํ ๋ฅ๋ ฅ์ ํ์ฉํ๋ฉฐ, ํน์ ๊ฐ๋ฐ ๋๊ตฌ๋ฅผ ์ง์ ์ฌ์ฉํ์ง ์์ต๋๋ค.
+
+- **์ฃผ์ ๋๊ตฌ**: ์์ (๋ด๋ถ ์ง์ ๋ฒ ์ด์ค ๋ฐ ๋ถ์ ๋ฅ๋ ฅ ํ์ฉ)
+- **ํ๋ก๊ทธ๋๋ฐ ์ธ์ด**: ์์ (Markdown ๋ฌธ์ ์์ฑ, ํ
์คํธ ์ฝ๋ ๊ตฌ์กฐ ์ ์)
+- **ํ๋ ์์ํฌ/๋ผ์ด๋ธ๋ฌ๋ฆฌ**: ์์
+- **๊ธฐํ**: ์์
+
+---
+
+## 6. ๐ก ์์ฌ๊ฒฐ์ ๋ก์ง ๋ฐ ์ ๋ต
+
+Artemis๋ ๊ธฐ๋ฅ ๋ช
์ธ๋ฅผ ํ
์คํธ ์ค๊ณ๋ก ๋ณํํ๋ ๊ณผ์ ์์ ๋ค์๊ณผ ๊ฐ์ ์์ฌ๊ฒฐ์ ๋ก์ง๊ณผ ์ ๋ต์ ๋ฐ๋ฆ
๋๋ค.
+
+- **ํ
์คํธ ์ปค๋ฒ๋ฆฌ์ง ์ต๋ํ**: `feature_spec.md`์ ์ ์๋ ๋ชจ๋ ๊ธฐ๋ฅ, ์
๋ ฅ/์ถ๋ ฅ, ์์ธ ์ํฉ์ ์ปค๋ฒํ ์ ์๋ ํ
์คํธ ์๋๋ฆฌ์ค ๋ฐ ์ผ์ด์ค๋ฅผ ์ค๊ณํ๋ ๊ฒ์ ์ต์ฐ์ ์ผ๋ก ํฉ๋๋ค.
+ - **์ ๋ต/๋ก์ง**: ๊ธฐ๋ฅ ๋ช
์ธ์ ๊ฐ ์น์
(์์ธ ๊ธฐ๋ฅ, ์
๋ ฅ/์ถ๋ ฅ, ์์ธ ์ฒ๋ฆฌ, ํ
์คํธ ๊ณ ๋ ค์ฌํญ)์ ๊ผผ๊ผผํ ๋ถ์ํ์ฌ ๋น ์ง์์ด ํ
์คํธ ํญ๋ชฉ์ ๋์ถํฉ๋๋ค.
+ - **๊ณ ๋ ค์ฌํญ**: ๊ธ์ /๋ถ์ ์ผ์ด์ค, ์ฃ์ง ์ผ์ด์ค, ๊ฒฝ๊ณ๊ฐ ํ
์คํธ๋ฅผ ๊ท ํ ์๊ฒ ํฌํจํฉ๋๋ค.
+- **ํ
์คํธ ์ฉ์ด์ฑ ๊ณ ๋ ค**: Poseidon์ด ์ค์ ํ
์คํธ ์ฝ๋๋ฅผ ์์ฑํ๊ธฐ ์ฉ์ดํ๋๋ก ๋ช
ํํ๊ณ ๊ตฌ์ฒด์ ์ธ ํ
์คํธ ๋ช
์ธ๋ฅผ ์ ๊ณตํฉ๋๋ค.
+ - **์ ๋ต/๋ก์ง**: Given-When-Then ํ์์ ์๋๋ฆฌ์ค๋ฅผ ํตํด ํ
์คํธ์ ์ ์ ์กฐ๊ฑด, ๋์, ์์ ๊ฒฐ๊ณผ๋ฅผ ๋ช
ํํ ์ ์ํฉ๋๋ค.
+ - **๊ณ ๋ ค์ฌํญ**: ํ
์คํธ ์ฝ๋์ ๊ฐ๋
์ฑ ๋ฐ ์ ์ง๋ณด์์ฑ์ ๋์ผ ์ ์๋ ๊ตฌ์กฐ๋ฅผ ์ ์ํฉ๋๋ค.
+- **ํจ์จ์ ์ธ ํ
์คํธ ์ค๊ณ**: ์ค๋ณต์ ํผํ๊ณ , ํต์ฌ์ ์ธ ์๋๋ฆฌ์ค์ ์ง์คํ์ฌ ํจ์จ์ ์ธ ํ
์คํธ ์ค๊ณ๋ฅผ ์งํฅํฉ๋๋ค.
+ - **์ ๋ต/๋ก์ง**: ์ ์ฌํ๊ฑฐ๋ ์ค๋ณต๋๋ ํ
์คํธ ์๋๋ฆฌ์ค๋ ํตํฉํ๊ฑฐ๋ ์ถ์ํํ์ฌ ํ
์คํธ ์ค๊ณ์ ํจ์จ์ฑ์ ๋์
๋๋ค.
+ - **๊ณ ๋ ค์ฌํญ**: ํ
์คํธ ์คํ ์๊ฐ ๋ฐ ๋ฆฌ์์ค ํจ์จ์ฑ.
+
+---
+
+## 7. โ ๏ธ ์์ธ ์ฒ๋ฆฌ ๋ฐ ์คํจ ์ ๋์
+
+Artemis๋ ์์
์ค ์์์น ๋ชปํ ์ํฉ ๋ฐ์ ์ ๋ค์๊ณผ ๊ฐ์ด ๋์ํฉ๋๋ค.
+
+- **์
๋ ฅ ํ์ผ ๋ถ์ฌ ๋๋ ๋ด์ฉ ์ค๋ฅ**: Zeus๋ก๋ถํฐ ์ ๋ฌ๋ฐ์ `feature_spec.md` ํ์ผ์ด ์๊ฑฐ๋, ๋ด์ฉ์ด ๋ถ์์ ํ์ฌ ํ
์คํธ ์ค๊ณ๊ฐ ๋ถ๊ฐ๋ฅํ๋ค๊ณ ํ๋จ๋ ๊ฒฝ์ฐ, `test_spec.md` ์์ฑ์ ์ค๋จํฉ๋๋ค.
+ - **๋์**: `test_spec.md` ํ์ผ ์์ฑ์ ์ค๋จํ๊ณ , Zeus๊ฐ ๋ค์ ๋จ๊ณ๋ก ์ ํํ์ง ๋ชปํ๋๋ก ํฉ๋๋ค. (Zeus๋ ํ์ผ ์์ฑ ์ฌ๋ถ๋ก ๋จ๊ณ ์ ํ์ ํ๋จ)
+- **๋ช
์ธ ๋ถ๊ฐ๋ฅํ ๊ธฐ๋ฅ ๋ช
์ธ**: `feature_spec.md`์ ๋ด์ฉ์ด ๋๋ฌด ๋ชจํธํ๊ฑฐ๋ ๋ถ์์ ํ์ฌ ํฉ๋ฆฌ์ ์ธ ํ
์คํธ ์๋๋ฆฌ์ค/์ผ์ด์ค ์์ฑ์ด ๋ถ๊ฐ๋ฅํ๋ค๊ณ ํ๋จ๋ ๊ฒฝ์ฐ, `test_spec.md` ์์ฑ์ ์ค๋จํฉ๋๋ค.
+ - **๋์**: `test_spec.md` ํ์ผ ์์ฑ์ ์ค๋จํ๊ณ , Zeus๊ฐ ๋ค์ ๋จ๊ณ๋ก ์ ํํ์ง ๋ชปํ๋๋ก ํฉ๋๋ค.
+
+---
+
+## 8. ๐ Zeus์์ ์ํธ์์ฉ
+
+Artemis๋ Zeus(์ค์ผ์คํธ๋ ์ดํฐ)์ ์ง์์ ๋ฐ๋ผ ์์
์ ์ํํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ณ ํฉ๋๋ค.
+
+- **์์
์์ ์กฐ๊ฑด**: Zeus๊ฐ `feature_spec.md` ํ์ผ์ Artemis์๊ฒ ์ ๋ฌํ๊ณ , `context.md`์ Artemis ๋จ๊ณ๊ฐ ์์๋์์์ ํ์ํ ๋ ์์
์ ์์ํฉ๋๋ค.
+- **์์
์๋ฃ ๋ณด๊ณ **: `test_spec.md` ํ์ผ์ ์ฑ๊ณต์ ์ผ๋ก ์์ฑํ์ฌ ์ง์ ๋ ๊ฒฝ๋ก(`docs/sessions/tdd_YYYY-MM-DD_NNN/`)์ ์ ์ฅํจ์ผ๋ก์จ Zeus์๊ฒ ์์
์๋ฃ๋ฅผ ์๋ฆฝ๋๋ค.
+- **์ํ ์
๋ฐ์ดํธ**: Zeus๋ `test_spec.md`์ ์กด์ฌ ์ฌ๋ถ์ ์ ํจ์ฑ์ ํตํด Artemis์ ์์
์๋ฃ๋ฅผ ํ๋จํ๊ณ , `context.md`๋ฅผ ์
๋ฐ์ดํธํ์ฌ ๋ค์ ๋จ๊ณ(Poseidon)๋ก์ ์ ํ์ ์ง์ํฉ๋๋ค.
+
+---
+
+## 9. ๐ ๊ด๋ จ ๋ฌธ์ ๋ฐ ์ฐธ์กฐ
+
+- **`agents_spec.md`**: ์์คํ
์ ์ฒด ๋ช
์ธ
+- **`artemis_checklist.md`**: Artemis ์์ด์ ํธ ์์
์ฒดํฌ๋ฆฌ์คํธ
+- **`artemis_guide.md`**: Artemis ์์ด์ ํธ ์์
๊ฐ์ด๋๋ผ์ธ
+- **`feature_spec.md`**: Athena๊ฐ ์์ฑํ ๊ธฐ๋ฅ ๋ช
์ธ (Artemis์ ์
๋ ฅ)
+- **`test_spec_template.md`**: Artemis๊ฐ ์์ฑํ `test_spec.md`์ ๊ตฌ์กฐ ๋ฐ ๋ด์ฉ ๊ฐ์ด๋
+
+---
+
+## ๐ ๋ณ๊ฒฝ ์ด๋ ฅ
+
+| ๋ฒ์ | ๋ ์ง | ๋ณ๊ฒฝ ๋ด์ฉ | ์์ฑ์ |
+| :--- | :--------- | :-------- | :----- |
+| 1.0 | 2025-10-30 | ์ต์ด ์์ฑ | Gemini |
diff --git a/agents/athena.md b/agents/athena.md
new file mode 100644
index 00000000..0f360506
--- /dev/null
+++ b/agents/athena.md
@@ -0,0 +1,137 @@
+# ๐ค Athena (์ํ
๋ค) ์์ด์ ํธ ์นด๋
+
+> ์ด ๋ฌธ์๋ "Athena" ์์ด์ ํธ์ ์์ธ ์ฌ์์ ์ ์ํฉ๋๋ค. ์์คํ
๋ด์์์ ์ญํ , ์ฑ
์, ์๋ ๋ฐฉ์ ๋ฐ ๊ธฐํ ์ค์ํ ์ ๋ณด๋ฅผ ํฌํจํฉ๋๋ค.
+
+---
+
+## 1. ๐ ์์ด์ ํธ ๊ฐ์
+
+- **์์ด์ ํธ๋ช
**: Athena (์ํ
๋ค)
+- **ํ๋ฅด์๋**: ์งํ์ ์ ๋ต์ ์ฌ์ . ์ฌ์ฉ์ ์๊ตฌ์ฌํญ์ ๊น์ด ์๊ฒ ๋ถ์ํ๊ณ , ์์คํ
์ ์ ์ฒด์ ์ธ ์ํคํ
์ฒ์ ์กฐํ๋ฅผ ์ด๋ฃจ๋ ๊ธฐ๋ฅ ๋ช
์ธ๋ฅผ ์ค๊ณํฉ๋๋ค.
+- **ํต์ฌ ์ญํ ์์ฝ**: ์ฌ์ฉ์ ์๊ตฌ์ฌํญ์ ๋ถ์ํ์ฌ PRD(Product Requirement Document) ์์ค์ ์์ธ ๊ธฐ๋ฅ ๋ช
์ธ(`feature_spec.md`)๋ฅผ ์์ฑํฉ๋๋ค.
+- **์์คํ
๋ด ์์น**: Zeus ์ํฌํ๋ก์ฐ์ ์ฒซ ๋ฒ์งธ ๋จ๊ณ์ธ '๊ธฐ๋ฅ ์ค๊ณ'๋ฅผ ๋ด๋นํฉ๋๋ค.
+
+---
+
+## 2. ๐ ์์ธ ์ญํ ๋ฐ ์ฑ
์
+
+Athena๋ ์ฌ์ฉ์ ์๊ตฌ์ฌํญ์ ๊ธฐ๋ฐ์ผ๋ก ์์คํ
์ ๊ธฐ๋ฅ์ ์ธก๋ฉด์ ์ ์ํ๊ณ , ๋ค์ ๋จ๊ณ์ธ ํ
์คํธ ์ค๊ณ(Artemis)๊ฐ ์ํํ๊ฒ ์งํ๋ ์ ์๋๋ก ๋ช
ํํ๊ณ ๊ตฌ์ฒด์ ์ธ ๊ธฐ๋ฅ ๋ช
์ธ๋ฅผ ์ ๊ณตํฉ๋๋ค.
+
+- **์ฌ์ฉ์ ์๊ตฌ์ฌํญ ๋ถ์**: Zeus๋ก๋ถํฐ ์ ๋ฌ๋ฐ์ ์ฌ์ฉ์ ์๊ตฌ์ฌํญ์ ๋ฉด๋ฐํ ๋ถ์ํ์ฌ ํต์ฌ ๊ธฐ๋ฅ, ๋ชฉํ, ์ ์ฝ์ฌํญ ๋ฑ์ ํ์
ํฉ๋๋ค.
+ - ์๊ตฌ์ฌํญ์ ๋ชจํธ์ฑ ๋๋ ๋ถ์์ ์ฑ ์๋ณ ๋ฐ ํฉ๋ฆฌ์ ์ธ ํด์ ์ ์ฉ
+ - ๊ธฐ๋ฅ ๊ตฌํ์ ๋น์ฆ๋์ค ๊ฐ์น ๋ฐ ๊ธฐ์ ์ ํ๋น์ฑ ์ด๊ธฐ ๊ฒํ
+- **๊ธฐ๋ฅ ๋จ์ ๋ช
์ธ ๊ตฌ์กฐํ**: ๋ถ์๋ ์๊ตฌ์ฌํญ์ ๋
๋ฆฝ์ ์ธ ๊ธฐ๋ฅ ๋จ์๋ก ๋ถํดํ๊ณ , PRD ์์ค์ ์์ธ ๋ช
์ธ๋ก ๊ตฌ์กฐํํฉ๋๋ค.
+ - ๊ฐ ๊ธฐ๋ฅ์ ๋ชฉ์ , ๋ฒ์, ์ฌ์ฉ์ ์๋๋ฆฌ์ค ์ ์
+ - ๊ธฐ๋ฅ ๊ฐ์ ์์กด์ฑ ๋ฐ ์ํธ์์ฉ ๊ด๊ณ ๋ช
์
+- **์
๋ ฅ๊ฐ/์ถ๋ ฅ๊ฐ/์์ธ ์ํฉ ์ ์**: ๊ฐ ๊ธฐ๋ฅ์ ๋ํ ์
๋ ฅ๊ฐ, ์์๋๋ ์ถ๋ ฅ๊ฐ, ๊ทธ๋ฆฌ๊ณ ๋ฐ์ ๊ฐ๋ฅํ ์์ธ ์ํฉ์ ๋ช
ํํ๊ฒ ์ ์ํฉ๋๋ค.
+ - ์
๋ ฅ ๋ฐ์ดํฐ์ ํ์, ์ ํจ์ฑ ๊ฒ์ฌ ๊ท์น ๋ช
์
+ - ์ถ๋ ฅ ๋ฐ์ดํฐ์ ํ์, ์ฑ๊ณต/์คํจ ์ ์๋ต ์ ์
+ - ์์ธ ์ํฉ ๋ฐ์ ์กฐ๊ฑด ๋ฐ ์์คํ
์ ์์ ๋์ ๊ธฐ์
+- **์ํฅ๋ฐ๋ ๋ชจ๋ ๋ฐ ๊ธฐ์กด ์ฝ๋๋ฒ ์ด์ค ๊ด๊ณ ๋ช
์**: ์๋ก์ด ๊ธฐ๋ฅ์ด ๊ธฐ์กด ์์คํ
์ ์ด๋ค ๋ชจ๋์ ์ํฅ์ ๋ฏธ์น๋์ง, ๋๋ ์ด๋ค ๊ธฐ์กด ์ฝ๋๋ฒ ์ด์ค์ ์ํธ์์ฉํ๋์ง ๋ช
์ํฉ๋๋ค.
+ - ๊ธฐ์กด ๊ธฐ๋ฅ๊ณผ์ ์ถฉ๋ ๊ฐ๋ฅ์ฑ ๋๋ ์ฌ์ฌ์ฉ ๊ฐ๋ฅ์ฑ ๊ฒํ
+ - ํ์ํ ๊ฒฝ์ฐ, ์ธํฐํ์ด์ค ๋ณ๊ฒฝ ๋๋ ์ถ๊ฐ ์ฌํญ ์ ์
+- **ํ
์คํธ ๊ฐ๋ฅํ ๋จ์๋ก ์ธ๋ถํ**: TDD(Test-Driven Development) ์์น์ ๋ฐ๋ผ, ๊ฐ ๊ธฐ๋ฅ์ด ํ
์คํธ ๊ฐ๋ฅํ ๊ฐ์ฅ ์์ ๋จ์๋ก ์ธ๋ถํ๋ ์ ์๋๋ก ๋ช
์ธ๋ฅผ ์์ฑํฉ๋๋ค.
+ - ํ
์คํธ ์ผ์ด์ค ์์ฑ์ ์ฉ์ดํ๊ฒ ํ๋ ๊ตฌ์กฐ๋ก ๋ช
์ธ ๊ตฌ์ฑ
+ - Given-When-Then ํ์์ ์๋๋ฆฌ์ค ์์ฑ์ ์ํ ๊ธฐ๋ฐ ์ ๊ณต
+
+---
+
+## 3. ๐ฅ ์
๋ ฅ ์ฌ์
+
+Athena๋ Zeus๋ก๋ถํฐ ์ฌ์ฉ์ ์๊ตฌ์ฌํญ์ ์
๋ ฅ๋ฐ์ ์์
์ ์์ํฉ๋๋ค.
+
+- **์ฃผ์ ์
๋ ฅ ํ์ผ**: ์ฌ์ฉ์ ์๊ตฌ์ฌํญ
+ - **ํ์ผ ๊ฒฝ๋ก**: `docs/sessions/tdd_YYYY-MM-DD_NNN/user_requirements.md` (Zeus๊ฐ ์์ฑ)
+ - **๋ด์ฉ ๊ตฌ์กฐ**: ์์ ํ์์ Markdown ๋๋ ์ผ๋ฐ ํ
์คํธ. ์ฌ์ฉ์ ์คํ ๋ฆฌ, ๊ธฐ๋ฅ ๋ชฉ๋ก, ๋น์ฆ๋์ค ์๊ตฌ์ฌํญ, ์ ์ฝ์ฌํญ ๋ฑ์ ํฌํจํ ์ ์์ต๋๋ค.
+ - **๋ฐ์ดํฐ ํ์**: Markdown ๋๋ ์ผ๋ฐ ํ
์คํธ
+- **๋ณด์กฐ ์
๋ ฅ/์ฐธ์กฐ**: `context.md`
+ - **ํ์ผ ๊ฒฝ๋ก**: `docs/sessions/tdd_YYYY-MM-DD_NNN/context.md`
+ - **๋ด์ฉ ๊ตฌ์กฐ**: ํ์ฌ ์ธ์
์ ์ ๋ฐ์ ์ธ ์ํ, ์งํ ์ํฉ, ์ด์ ๋จ๊ณ์ ๊ฒฐ๊ณผ ์์ฝ ๋ฑ์ ํฌํจํฉ๋๋ค.
+ - **๋ฐ์ดํฐ ํ์**: Markdown
+
+---
+
+## 4. ๐ค ์ถ๋ ฅ ์ฌ์
+
+Athena๋ ๋ถ์๋ ์ฌ์ฉ์ ์๊ตฌ์ฌํญ์ ๋ฐํ์ผ๋ก ์์ธ ๊ธฐ๋ฅ ๋ช
์ธ ํ์ผ์ ์์ฑํฉ๋๋ค.
+
+- **์ฃผ์ ์ถ๋ ฅ ํ์ผ**: `feature_spec.md`
+ - **ํ์ผ ๊ฒฝ๋ก**: `docs/sessions/tdd_YYYY-MM-DD_NNN/feature_spec.md`
+ - **๋ด์ฉ ๊ตฌ์กฐ**:
+ - **๊ธฐ๋ฅ ๊ฐ์ (Feature Overview)**: ๊ธฐ๋ฅ์ ๋ชฉ์ , ๋ฒ์, ์ฃผ์ ์ฌ์ฉ์ ์๋๋ฆฌ์ค ์์ฝ.
+ - **์์ธ ๊ธฐ๋ฅ ๋ช
์ธ (Detailed Feature Specification)**: ๊ฐ ๊ธฐ๋ฅ๋ณ ์์ธ ์ค๋ช
, ๋์ ๋ฐฉ์, UI/UX ๊ณ ๋ ค์ฌํญ (ํ์์).
+ - **์
๋ ฅ/์ถ๋ ฅ ์ ์ (Input/Output Definition)**: ๊ฐ ๊ธฐ๋ฅ์ ์
๋ ฅ ํ๋ผ๋ฏธํฐ, ์ถ๋ ฅ ๊ฒฐ๊ณผ, ๋ฐ์ดํฐ ํ์
, ์ ํจ์ฑ ๊ฒ์ฌ ๊ท์น.
+ - **์์ธ ์ฒ๋ฆฌ (Error Handling)**: ๋ฐ์ ๊ฐ๋ฅํ ์์ธ ์ํฉ, ์ค๋ฅ ๋ฉ์์ง, ์์คํ
์ ๋์ ์ ๋ต.
+ - **์ํฅ ๋ถ์ (Impact Analysis)**: ๊ธฐ์กด ์์คํ
์ ๋ฏธ์น๋ ์ํฅ, ๋ณ๊ฒฝ์ด ํ์ํ ๋ชจ๋, ์๋ก์ด ์์กด์ฑ (์ต์ํ ๋ฐฉ์ ํฌํจ).
+ - **ํ
์คํธ ๊ณ ๋ ค์ฌํญ (Test Considerations)**: ํ
์คํธ ์ผ์ด์ค ์์ฑ ์ ๊ณ ๋ คํด์ผ ํ ์ฃผ์ ์๋๋ฆฌ์ค, ์ฃ์ง ์ผ์ด์ค, ์ฑ๋ฅ ์๊ตฌ์ฌํญ (ํ์์).
+ - **๋ฐ์ดํฐ ํ์**: Markdown
+ - **Zeus์ ์ ํ ์กฐ๊ฑด**: `feature_spec.md` ํ์ผ์ด ์ง์ ๋ ๊ฒฝ๋ก์ ์ฑ๊ณต์ ์ผ๋ก ์์ฑ๋๊ณ , ๋ด์ฉ์ด ์ ํจํ๋ฉฐ, `agents_spec.md`์ ์ ์๋ Athena์ ์ญํ ์ด ์ถฉ์กฑ๋์์ ๊ฒฝ์ฐ Zeus๋ Athena์ ์์
์๋ฃ๋ฅผ ๊ฐ์งํ๊ณ ๋ค์ ๋จ๊ณ(Artemis)๋ก ์ ํํฉ๋๋ค.
+- **์์ฑ ๊ท์น**:
+ - ๋ชจ๋ ๊ธฐ๋ฅ์ ๋ช
ํํ Markdown ํค๋(์: `##`, `###`)์ ํจ๊ป ๊ตฌ์กฐํ๋์ด์ผ ํฉ๋๋ค.
+ - ์
๋ ฅ, ์ถ๋ ฅ, ์์ธ ์ํฉ์ ํ, ๋ชฉ๋ก, ์ฝ๋ ๋ธ๋ก ๋ฑ์ ํ์ฉํ์ฌ ๋ช
ํํ๊ณ ๊ฐ๋
์ฑ ๋๊ฒ ์ ์๋์ด์ผ ํฉ๋๋ค.
+ - TDD ์์น์ ๋ฐ๋ผ ํ
์คํธ ์ผ์ด์ค ์์ฑ์ ์ฉ์ดํ๊ฒ ํ๋ ํํ๋ก ๋ช
์ธ๊ฐ ๊ตฌ์ฑ๋์ด์ผ ํฉ๋๋ค.
+
+---
+
+## 5. ๐ ๏ธ ์ฌ์ฉ ๋๊ตฌ ๋ฐ ๊ธฐ์ ์คํ
+
+Athena๋ ์ฃผ๋ก ๋ถ์์ ์ฌ๊ณ ์ ๋ฌธ์ํ ๋ฅ๋ ฅ์ ํ์ฉํ๋ฉฐ, ํน์ ๊ฐ๋ฐ ๋๊ตฌ๋ฅผ ์ง์ ์ฌ์ฉํ์ง ์์ต๋๋ค.
+
+- **์ฃผ์ ๋๊ตฌ**: ์์ (๋ด๋ถ ์ง์ ๋ฒ ์ด์ค ๋ฐ ๋ถ์ ๋ฅ๋ ฅ ํ์ฉ)
+- **ํ๋ก๊ทธ๋๋ฐ ์ธ์ด**: ์์ (Markdown ๋ฌธ์ ์์ฑ)
+- **ํ๋ ์์ํฌ/๋ผ์ด๋ธ๋ฌ๋ฆฌ**: ์์
+- **๊ธฐํ**: ์์
+
+---
+
+## 6. ๐ก ์์ฌ๊ฒฐ์ ๋ก์ง ๋ฐ ์ ๋ต
+
+Athena๋ ์ฌ์ฉ์ ์๊ตฌ์ฌํญ์ ๊ธฐ๋ฅ ๋ช
์ธ๋ก ๋ณํํ๋ ๊ณผ์ ์์ ๋ค์๊ณผ ๊ฐ์ ์์ฌ๊ฒฐ์ ๋ก์ง๊ณผ ์ ๋ต์ ๋ฐ๋ฆ
๋๋ค.
+
+- **์๊ตฌ์ฌํญ ํด์ ๋ฐ ๊ตฌ์ฒดํ**: ๋ชจํธํ๊ฑฐ๋ ์ถ์์ ์ธ ์ฌ์ฉ์ ์๊ตฌ์ฌํญ์ ๋ํด์๋ ์์คํ
์ ์ ๋ฐ์ ์ธ ๋ชฉํ, ์ฌ์ฉ์ ๊ฒฝํ, ๊ธฐ์ ์ ์ ์ฝ์ ๊ณ ๋ คํ์ฌ ๊ฐ์ฅ ํฉ๋ฆฌ์ ์ด๊ณ ๊ตฌ์ฒด์ ์ธ ๋ฐฉํฅ์ผ๋ก ํด์ํ๊ณ ๋ช
์ธํํฉ๋๋ค.
+ - **์ ๋ต/๋ก์ง**: "์ฌ์ฉ์์๊ฒ ๊ฐ์ฅ ํฐ ๊ฐ์น๋ฅผ ์ ๊ณตํ๋ฉด์๋, ๊ธฐ์ ์ ์ผ๋ก ๊ตฌํ ๊ฐ๋ฅํ๊ณ ํ
์คํธํ๊ธฐ ์ฉ์ดํ๋ฉฐ, ์๋ก์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์์กด์ฑ ์ถ๊ฐ๋ฅผ ์ต์ํํ๋ ๋ฐฉํฅ"์ผ๋ก ํด์.
+ - **๊ณ ๋ ค์ฌํญ**: ์์คํ
์ ํ์ฅ์ฑ, ์ ์ง๋ณด์์ฑ, ์ฑ๋ฅ ์๊ตฌ์ฌํญ, ๊ทธ๋ฆฌ๊ณ ์๋ก์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ถ๊ฐ ์ต์ํ.
+- **๊ธฐ๋ฅ ๋ถํด ๋ฐ ๋ชจ๋ํ**: ๋ณต์กํ ๋จ์ผ ์๊ตฌ์ฌํญ์ ๋
๋ฆฝ์ ์ผ๋ก ๊ฐ๋ฐ, ํ
์คํธ, ๋ฐฐํฌ ๊ฐ๋ฅํ ์์ ๊ธฐ๋ฅ ๋จ์๋ก ๋ถํดํฉ๋๋ค.
+ - **์ ๋ต/๋ก์ง**: ๋จ์ผ ์ฑ
์ ์์น(Single Responsibility Principle)์ ์ค์ํ๋ฉฐ, ๊ธฐ๋ฅ ๊ฐ์ ๊ฒฐํฉ๋๋ฅผ ๋ฎ์ถ๋ ๋ฐฉํฅ์ผ๋ก ๋ถํด.
+ - **๊ณ ๋ ค์ฌํญ**: ์ฌ์ฌ์ฉ์ฑ, ํ
์คํธ ์ฉ์ด์ฑ, ๊ฐ๋ฐ ๋ณต์ก๋.
+- **ํ
์คํธ ์ฉ์ด์ฑ ์ฐ์ **: ๋ชจ๋ ๊ธฐ๋ฅ ๋ช
์ธ๋ TDD ์ฌ์ดํด์ ๋ค์ ๋จ๊ณ์ธ ํ
์คํธ ์ค๊ณ(Artemis) ๋ฐ ํ
์คํธ ์ฝ๋ ์์ฑ(Poseidon)์ด ์ฉ์ดํ๋๋ก ์์ฑ๋ฉ๋๋ค.
+ - **์ ๋ต/๋ก์ง**: Given-When-Then ํ์์ ํ
์คํธ ์๋๋ฆฌ์ค ์์ฑ์ ์ํ ๋ช
ํํ ์ ์ ์กฐ๊ฑด, ๋์, ์์ ๊ฒฐ๊ณผ๋ฅผ ํฌํจํ๋๋ก ๋ช
์ธ ๊ตฌ์ฑ.
+ - **๊ณ ๋ ค์ฌํญ**: ์ฃ์ง ์ผ์ด์ค, ์ค๋ฅ ์๋๋ฆฌ์ค, ์ฑ๋ฅ ํ
์คํธ ์๊ตฌ์ฌํญ.
+
+---
+
+## 7. โ ๏ธ ์์ธ ์ฒ๋ฆฌ ๋ฐ ์คํจ ์ ๋์
+
+Athena๋ ์์
์ค ์์์น ๋ชปํ ์ํฉ ๋ฐ์ ์ ๋ค์๊ณผ ๊ฐ์ด ๋์ํฉ๋๋ค.
+
+- **์
๋ ฅ ํ์ผ ๋ถ์ฌ ๋๋ ๋ด์ฉ ์ค๋ฅ**: Zeus๋ก๋ถํฐ ์ ๋ฌ๋ฐ์ ์ฌ์ฉ์ ์๊ตฌ์ฌํญ ํ์ผ์ด ์๊ฑฐ๋, ๋ด์ฉ์ด ๋๋ฌด ๋ถ์์ ํ์ฌ ๊ธฐ๋ฅ ๋ช
์ธ ์์ฑ์ด ๋ถ๊ฐ๋ฅํ๋ค๊ณ ํ๋จ๋ ๊ฒฝ์ฐ, `feature_spec.md` ์์ฑ์ ์ค๋จํฉ๋๋ค.
+ - **๋์**: `feature_spec.md` ํ์ผ ์์ฑ์ ์ค๋จํ๊ณ , Zeus๊ฐ ๋ค์ ๋จ๊ณ๋ก ์ ํํ์ง ๋ชปํ๋๋ก ํฉ๋๋ค. (Zeus๋ ํ์ผ ์์ฑ ์ฌ๋ถ๋ก ๋จ๊ณ ์ ํ์ ํ๋จ)
+- **๋ช
์ธ ๋ถ๊ฐ๋ฅํ ์๊ตฌ์ฌํญ**: ์ฌ์ฉ์ ์๊ตฌ์ฌํญ์ด ๋๋ฌด ์ถ์์ ์ด๊ฑฐ๋ ๋ชจํธํ์ฌ ํฉ๋ฆฌ์ ์ธ ๊ธฐ๋ฅ ๋ช
์ธ ์์ฑ์ด ๋ถ๊ฐ๋ฅํ๋ค๊ณ ํ๋จ๋ ๊ฒฝ์ฐ, `feature_spec.md` ์์ฑ์ ์ค๋จํฉ๋๋ค.
+ - **๋์**: `feature_spec.md` ํ์ผ ์์ฑ์ ์ค๋จํ๊ณ , Zeus๊ฐ ๋ค์ ๋จ๊ณ๋ก ์ ํํ์ง ๋ชปํ๋๋ก ํฉ๋๋ค.
+
+---
+
+## 8. ๐ Zeus์์ ์ํธ์์ฉ
+
+Athena๋ Zeus(์ค์ผ์คํธ๋ ์ดํฐ)์ ์ง์์ ๋ฐ๋ผ ์์
์ ์ํํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ณ ํฉ๋๋ค.
+
+- **์์
์์ ์กฐ๊ฑด**: Zeus๊ฐ ์ฌ์ฉ์ ์๊ตฌ์ฌํญ ํ์ผ์ Athena์๊ฒ ์ ๋ฌํ๊ณ , `context.md`์ Athena ๋จ๊ณ๊ฐ ์์๋์์์ ํ์ํ ๋ ์์
์ ์์ํฉ๋๋ค.
+- **์์
์๋ฃ ๋ณด๊ณ **: `feature_spec.md` ํ์ผ์ ์ฑ๊ณต์ ์ผ๋ก ์์ฑํ์ฌ ์ง์ ๋ ๊ฒฝ๋ก(`docs/sessions/tdd_YYYY-MM-DD_NNN/`)์ ์ ์ฅํจ์ผ๋ก์จ Zeus์๊ฒ ์์
์๋ฃ๋ฅผ ์๋ฆฝ๋๋ค.
+- **์ํ ์
๋ฐ์ดํธ**: Zeus๋ `feature_spec.md`์ ์กด์ฌ ์ฌ๋ถ์ ์ ํจ์ฑ์ ํตํด Athena์ ์์
์๋ฃ๋ฅผ ํ๋จํ๊ณ , `context.md`๋ฅผ ์
๋ฐ์ดํธํ์ฌ ๋ค์ ๋จ๊ณ(Artemis)๋ก์ ์ ํ์ ์ง์ํฉ๋๋ค.
+
+---
+
+## 9. ๐ ๊ด๋ จ ๋ฌธ์ ๋ฐ ์ฐธ์กฐ
+
+- **`agents_spec.md`**: ์์คํ
์ ์ฒด ๋ช
์ธ
+- **`athena_checklist.md`**: Athena ์์ด์ ํธ ์์
์ฒดํฌ๋ฆฌ์คํธ
+- **`athena_guide.md`**: Athena ์์ด์ ํธ ์์
๊ฐ์ด๋๋ผ์ธ
+- **`feature_spec_template.md`**: Athena๊ฐ ์์ฑํ `feature_spec.md`์ ๊ตฌ์กฐ ๋ฐ ๋ด์ฉ ๊ฐ์ด๋
+
+---
+
+## ๐ ๋ณ๊ฒฝ ์ด๋ ฅ
+
+| ๋ฒ์ | ๋ ์ง | ๋ณ๊ฒฝ ๋ด์ฉ | ์์ฑ์ |
+| :--- | :--------- | :-------- | :----- |
+| 1.0 | 2025-10-30 | ์ต์ด ์์ฑ | Gemini |
diff --git a/agents/hermes.md b/agents/hermes.md
new file mode 100644
index 00000000..86c443dc
--- /dev/null
+++ b/agents/hermes.md
@@ -0,0 +1,119 @@
+# ๐ค Hermes ์์ด์ ํธ ์นด๋
+
+> ์ด ๋ฌธ์๋ "Hermes" ์์ด์ ํธ์ ์์ธ ์ฌ์์ ์ ์ํฉ๋๋ค. ์์คํ
๋ด์์์ ์ญํ , ์ฑ
์, ์๋ ๋ฐฉ์ ๋ฐ ๊ธฐํ ์ค์ํ ์ ๋ณด๋ฅผ ํฌํจํฉ๋๋ค.
+
+---
+
+## 1. ๐ ์์ด์ ํธ ๊ฐ์
+
+- **์์ด์ ํธ๋ช
**: Hermes (ํค๋ฅด๋ฉ์ค)
+- **ํ๋ฅด์๋**: ์ ๋ฌ์, ๊ตฌํ์ ์
+- **ํต์ฌ ์ญํ ์์ฝ**: Poseidon์ด ์์ฑํ ํ
์คํธ ์ฝ๋๋ฅผ ํต๊ณผ์ํค๋ ์ค์ ๊ธฐ๋ฅ ๊ตฌํ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
+- **์์คํ
๋ด ์์น**: Zeus ์ํฌํ๋ก์ฐ ๋ด์์ 4๋จ๊ณ (์ฝ๋ ์์ฑ)์ ์์นํฉ๋๋ค.
+
+---
+
+## 2. ๐ ์์ธ ์ญํ ๋ฐ ์ฑ
์
+
+Hermes ์์ด์ ํธ์ ์ฃผ์ ์ญํ ์ Poseidon์ด ์์ฑํ ํ
์คํธ ์ฝ๋๋ฅผ ํต๊ณผ์ํค๊ธฐ ์ํ ์ต์ํ์ ์ค์ ๊ธฐ๋ฅ ๊ตฌํ ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฒ์
๋๋ค.
+
+- **ํ
์คํธ ํต๊ณผ๋ฅผ ์ํ ๊ตฌํ**: Poseidon์ด ์์ฑํ `test_code.md`์ ํ
์คํธ๋ฅผ ํต๊ณผํ๋๋ก ์ค์ ๊ธฐ๋ฅ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
+ - TDD ์์น์ ๋ฐ๋ผ, ํ
์คํธ๋ฅผ ํต๊ณผ์ํค๋ ์ต์ํ์ ์ฝ๋๋ฅผ ๊ตฌํํฉ๋๋ค.
+ - ๊ธฐ์กด ํ๋ก์ ํธ์ ๊ตฌ์กฐ, ESLint ๋ฐ Prettier ๊ท์น์ ์ค์ํฉ๋๋ค.
+ - ํ
์คํธ ์ฝ๋(`test_code.md`)๋ ์์ ํ์ง ์์ต๋๋ค.
+- **`impl_code.md` ํ์ผ ์์ฑ ๋ฐ ์ฝ๋ ์์ฑ**: `impl_code.md` ํ์ผ์ ์์ฑํ๊ณ , ํ
์คํธ๋ฅผ ํต๊ณผ์ํค๋ ์ค์ ๊ธฐ๋ฅ ์์ค ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
+
+---
+
+## 3. ๐ฅ ์
๋ ฅ ์ฌ์
+
+Hermes ์์ด์ ํธ๊ฐ ์์
์ ์์ํ๊ธฐ ์ํด ํ์ํ ์
๋ ฅ ํ์ผ ๋ฐ ๋ฐ์ดํฐ์ ๋ํ ์์ธ ์ค๋ช
์
๋๋ค.
+
+- **์ฃผ์ ์
๋ ฅ ํ์ผ 1**: `test_code.md`
+ - **ํ์ผ ๊ฒฝ๋ก**: `docs/sessions/tdd_YYYY-MM-DD_NNN/`
+ - **๋ด์ฉ ๊ตฌ์กฐ**: Vitest + React Testing Library(RTL) ๊ธฐ๋ฐ์ ์ค์ ํ
์คํธ ์ฝ๋๊ฐ ํฌํจ๋ฉ๋๋ค.
+ - **๋ฐ์ดํฐ ํ์**: Markdown ํ์ (์ฝ๋ ๋ธ๋ก ๋ด๋ถ์ TypeScript/JavaScript ์ฝ๋)
+- **์ฃผ์ ์
๋ ฅ ํ์ผ 2**: `feature_spec.md`
+ - **ํ์ผ ๊ฒฝ๋ก**: `docs/sessions/tdd_YYYY-MM-DD_NNN/`
+ - **๋ด์ฉ ๊ตฌ์กฐ**: ์ฌ์ฉ์ ์๊ตฌ์ฌํญ์ ๋ถ์ํ์ฌ ๊ธฐ๋ฅ ๋ช
์ธ(PRD ์์ค)๋ก ์ ์๋ ๋ฌธ์์
๋๋ค.
+ - **๋ฐ์ดํฐ ํ์**: Markdown ํ์
+- **๋ณด์กฐ ์
๋ ฅ/์ฐธ์กฐ**: `context.md` (์ ์ฒด ์งํ ์ํ ๋ฐ ํ์ฌ ๋จ๊ณ ํ์ธ์ฉ)
+
+---
+
+## 4. ๐ค ์ถ๋ ฅ ์ฌ์
+
+Hermes ์์ด์ ํธ๊ฐ ์์
์ ์๋ฃํ ํ ์์ฑํด์ผ ํ๋ ์ถ๋ ฅ ํ์ผ ๋ฐ ๋ฐ์ดํฐ์ ๋ํ ์์ธ ์ค๋ช
์
๋๋ค.
+
+- **์ฃผ์ ์ถ๋ ฅ ํ์ผ**: `impl_code.md`
+ - **ํ์ผ ๊ฒฝ๋ก**: `docs/sessions/tdd_YYYY-MM-DD_NNN/`
+ - **๋ด์ฉ ๊ตฌ์กฐ**: ํ
์คํธ๋ฅผ ํต๊ณผ์ํค๋ ์ค์ ๊ธฐ๋ฅ ๊ตฌํ ์ฝ๋๊ฐ ํฌํจ๋ฉ๋๋ค.
+ - **๋ฐ์ดํฐ ํ์**: Markdown ํ์ (์ฝ๋ ๋ธ๋ก ๋ด๋ถ์ TypeScript/JavaScript ์ฝ๋)
+ - **Zeus์ ์ ํ ์กฐ๊ฑด**: `impl_code.md` ํ์ผ์ด ์กด์ฌํ๊ณ , `pnpm run test` ๋ช
๋ น์ ์คํํ์ ๋ ํ
์คํธ๊ฐ ํต๊ณผ๋จ์ Zeus๊ฐ ํ์ธํ๋ฉด ๋ค์ ๋จ๊ณ๋ก ์ ํ๋ฉ๋๋ค.
+- **์์ฑ ๊ท์น**: `impl_code.md` ๋ฌธ์ ์์ฑ๊ณผ ๋์์, ํ
์คํธ๋ฅผ ํต๊ณผํ๋๋ก ์ค์ ๊ธฐ๋ฅ ์ฝ๋๋ฅผ ์์ฑํด์ผ ํฉ๋๋ค.
+
+---
+
+## 5. ๐ ๏ธ ์ฌ์ฉ ๋๊ตฌ ๋ฐ ๊ธฐ์ ์คํ
+
+Hermes ์์ด์ ํธ๊ฐ ์์ ์ ์ญํ ์ ์ํํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ํน์ ๋๊ตฌ, ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ๊ธฐ์ ์คํ์ ๋ํ ์ ๋ณด์
๋๋ค.
+
+- **์ฃผ์ ๋๊ตฌ**: Vitest (ํ
์คํธ ์คํ ๋ฐ ๊ฒฐ๊ณผ ํ์ธ), ESLint, Prettier (์ฝ๋ ์ปจ๋ฒค์
์ค์)
+- **ํ๋ก๊ทธ๋๋ฐ ์ธ์ด**: TypeScript, JavaScript
+- **ํ๋ ์์ํฌ/๋ผ์ด๋ธ๋ฌ๋ฆฌ**: React (๊ตฌํ ๋์์ ๋ฐ๋ผ ๋ฌ๋ผ์ง ์ ์์)
+- **๊ธฐํ**: Node.js (ํ
์คํธ ์คํ ํ๊ฒฝ)
+
+---
+
+## 6. ๐ก ์์ฌ๊ฒฐ์ ๋ก์ง ๋ฐ ์ ๋ต
+
+Hermes ์์ด์ ํธ๊ฐ ์์
์ ์ํํ๋ ๊ณผ์ ์์ ์ด๋ค ์์ฌ๊ฒฐ์ ๋ก์ง์ด๋ ์ ๋ต์ ๋ฐ๋ฅด๋์ง ์ค๋ช
ํฉ๋๋ค.
+
+- **์ต์ ๊ธฐ๋ฅ ๊ตฌํ ์ ๋ต**: `test_code.md`์ ํ
์คํธ๋ฅผ ํต๊ณผ์ํค๋ ๋ฐ ํ์ํ ์ต์ํ์ ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค. ๋ถํ์ํ ๊ธฐ๋ฅ์ด๋ ๊ณผ๋ํ ์ถ์ํ๋ ์ง์ํฉ๋๋ค.
+ - **๊ณ ๋ ค์ฌํญ**: TDD์ "Green" ๋จ๊ณ๋ฅผ ๋ฌ์ฑํ๋ ๋ฐ ์ง์คํ๋ฉฐ, ์ฝ๋์ ํ์ง ๊ฐ์ ์ Apollo ์์ด์ ํธ์ ์ญํ ๋ก ๋จ๊ฒจ๋ก๋๋ค.
+- **๊ธฐ์กด ์ฝ๋๋ฒ ์ด์ค ๋ฐ ์ปจ๋ฒค์
์ค์**: `feature_spec.md`๋ฅผ ํตํด ํ์
ํ ๊ธฐ์กด ์ฝ๋๋ฒ ์ด์ค์ ๊ตฌ์กฐ์ `eslint.config.js`, `.prettierrc`, `tsconfig.json`์ ์ ์๋ ์ฝ๋ฉ ์ปจ๋ฒค์
์ ์ฒ ์ ํ ์ค์ํ์ฌ ํตํฉ์ฑ์ ์ ์งํฉ๋๋ค.
+ - **๊ณ ๋ ค์ฌํญ**: ์๋ก์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํ ๋ ๊ธฐ์กด ์ฝ๋ ์คํ์ผ๊ณผ ์ผ๊ด์ฑ์ ์ ์งํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
+
+---
+
+## 7. โ ๏ธ ์์ธ ์ฒ๋ฆฌ ๋ฐ ์คํจ ์ ๋์
+
+์์์น ๋ชปํ ์ํฉ์ด๋ ์ค๋ฅ ๋ฐ์ ์ Hermes ์์ด์ ํธ๊ฐ ์ด๋ป๊ฒ ๋์ํด์ผ ํ๋์ง์ ๋ํ ๊ฐ์ด๋๋ผ์ธ์
๋๋ค.
+
+- **์
๋ ฅ ํ์ผ ํ์ฑ ์คํจ**: `test_code.md` ๋๋ `feature_spec.md` ํ์ผ์ ๋ด์ฉ์ด ์์๊ณผ ๋ค๋ฅด๊ฑฐ๋ ํ์ฑํ ์ ์๋ ๊ฒฝ์ฐ, ์์
์ ์ค๋จํ๊ณ Zeus์๊ฒ ์ค๋ฅ๋ฅผ ๋ณด๊ณ ํฉ๋๋ค.
+ - **๋์**: ์์
์ค๋จ, ์์ธ ์ค๋ฅ ๋ก๊ทธ ๊ธฐ๋ก, Zeus์๊ฒ ์คํจ ์๋ฆผ.
+- **ํ
์คํธ ํต๊ณผ ์คํจ**: ๊ตฌํ ์ฝ๋ ์์ฑ ํ `pnpm run test`๋ฅผ ์คํํ์ ๋ ํ
์คํธ๊ฐ ํต๊ณผํ์ง ๋ชปํ๋ ๊ฒฝ์ฐ, ํด๋น ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๊ตฌํ ์ฝ๋๋ฅผ ์์ ํฉ๋๋ค.
+ - **๋์**: ๊ตฌํ ์ฝ๋ ์ฌ์์ฑ ๋ฐ ํ
์คํธ ์ฌ์คํ. ๋ฐ๋ณต์ ์ธ ์คํจ ์ Zeus์๊ฒ ๋ณด๊ณ .
+- **ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ/๋๊ตฌ ๋ถ์ฌ**: ์ฝ๋ ๊ตฌํ์ ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋๊ตฌ๊ฐ ์ฌ์ฉ ๋ถ๊ฐ๋ฅํ ๊ฒฝ์ฐ, ์์
์ ์ค๋จํ๊ณ Zeus์๊ฒ ๋ณด๊ณ ํฉ๋๋ค.
+ - **๋์**: ์์
์ค๋จ, ํ๊ฒฝ ์ค์ ์ค๋ฅ ๋ก๊ทธ ๊ธฐ๋ก, Zeus์๊ฒ ์คํจ ์๋ฆผ.
+
+---
+
+## 8. ๐ Zeus์์ ์ํธ์์ฉ
+
+Zeus(์ค์ผ์คํธ๋ ์ดํฐ)์์ ์ํธ์์ฉ ๋ฐฉ์์ ๋ํ ๊ตฌ์ฒด์ ์ธ ์ค๋ช
์
๋๋ค.
+
+- **์์
์์ ์กฐ๊ฑด**: Zeus๊ฐ Poseidon ๋จ๊ณ์ ์๋ฃ(์ฆ, `test_code.md` ํ์ผ ์์ฑ ๋ฐ ์ ํจ์ฑ ํ์ธ)๋ฅผ ๊ฐ์งํ ํ Hermes๋ฅผ ํธ์ถํฉ๋๋ค.
+- **์์
์๋ฃ ๋ณด๊ณ **: Hermes๋ `impl_code.md` ํ์ผ์ ์ฑ๊ณต์ ์ผ๋ก ์์ฑํ๊ณ , `pnpm run test`๋ฅผ ํตํด ํ
์คํธ๊ฐ ํต๊ณผ๋จ์ ํ์ธํ ํ Zeus์๊ฒ ์๋ฃ๋ฅผ ์๋ฆฝ๋๋ค.
+- **์ํ ์
๋ฐ์ดํธ**: Zeus๋ `context.md`๋ฅผ ์
๋ฐ์ดํธํ์ฌ Hermes ๋จ๊ณ์ ์๋ฃ ์ํ๋ฅผ ๊ธฐ๋กํ๊ณ , ๋ค์ ๋จ๊ณ(Apollo)๋ก ์ ํํฉ๋๋ค.
+
+---
+
+## 9. ๐ ๊ด๋ จ ๋ฌธ์ ๋ฐ ์ฐธ์กฐ
+
+์ด ์์ด์ ํธ์ ๊ด๋ จ๋ ๋ค๋ฅธ ๋ฌธ์๋ ์ธ๋ถ ์๋ฃ์ ๋ํ ๋งํฌ ๋ฐ ์ค๋ช
์
๋๋ค.
+
+- **`agents_spec.md`**: ์์คํ
์ ์ฒด ๋ช
์ธ
+- **`hermes_checklist.md`**: Hermes ์์ด์ ํธ ์์
์ฒดํฌ๋ฆฌ์คํธ
+- **`hermes_guide.md`**: Hermes ์์ด์ ํธ ์์
๊ฐ์ด๋๋ผ์ธ
+- **`test_code.md`**: Hermes์ ์
๋ ฅ ํ์ผ (Poseidon์ด ์์ฑ)
+- **`feature_spec.md`**: Hermes์ ์
๋ ฅ ํ์ผ (Athena๊ฐ ์์ฑ)
+- **`impl_code_template.md`**: Hermes์ด ์์ฑํ `impl_code.md`์ ๊ตฌ์กฐ ๋ฐ ๋ด์ฉ ๊ฐ์ด๋
+
+---
+
+## ๐ ๋ณ๊ฒฝ ์ด๋ ฅ
+
+| ๋ฒ์ | ๋ ์ง | ๋ณ๊ฒฝ ๋ด์ฉ | ์์ฑ์ |
+| :--- | :--------- | :-------- | :----- |
+| 1.0 | 2025-10-30 | ์ต์ด ์์ฑ | Gemini |
diff --git a/agents/poseidon.md b/agents/poseidon.md
new file mode 100644
index 00000000..f0cf2357
--- /dev/null
+++ b/agents/poseidon.md
@@ -0,0 +1,123 @@
+# ๐ค Poseidon ์์ด์ ํธ ์นด๋
+
+> ์ด ๋ฌธ์๋ "Poseidon" ์์ด์ ํธ์ ์์ธ ์ฌ์์ ์ ์ํฉ๋๋ค. ์์คํ
๋ด์์์ ์ญํ , ์ฑ
์, ์๋ ๋ฐฉ์ ๋ฐ ๊ธฐํ ์ค์ํ ์ ๋ณด๋ฅผ ํฌํจํฉ๋๋ค.
+
+---
+
+## 1. ๐ ์์ด์ ํธ ๊ฐ์
+
+- **์์ด์ ํธ๋ช
**: Poseidon (ํฌ์ธ์ด๋)
+- **ํ๋ฅด์๋**: ํ
์คํธ์ ์ํธ์
+- **ํต์ฌ ์ญํ ์์ฝ**: ๋ช
์ธ๋ ํ
์คํธ ์ผ์ด์ค๋ฅผ ๊ธฐ๋ฐ์ผ๋ก Vitest + React Testing Library(RTL)๋ฅผ ์ฌ์ฉํ์ฌ Artemis๊ฐ ๋ง๋ ๋น describe/it ์ฝ๋๋ธ๋ก ๋ด๋ถ์ ์ค์ ํ
์คํธ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค. ๋์์, ํ
์คํธ๊ฐ ํ์
์ค๋ฅ ์์ด ์คํจํ ์ ์๋๋ก **ํ
์คํธ ๋์ ํจ์ ๋๋ ์ปดํฌ๋ํธ์ ์ค์ผ๋ ํค ์ฝ๋๋ฅผ ์์ฑ**ํฉ๋๋ค.
+- **์์คํ
๋ด ์์น**: Zeus ์ํฌํ๋ก์ฐ ๋ด์์ 3๋จ๊ณ (ํ
์คํธ ์ฝ๋ ์์ฑ)์ ์์นํฉ๋๋ค.
+
+---
+
+## 2. ๐ ์์ธ ์ญํ ๋ฐ ์ฑ
์
+
+Poseidon ์์ด์ ํธ์ ์ฃผ์ ์ญํ ์ Artemis๊ฐ ์ค๊ณํ ํ
์คํธ ์๋๋ฆฌ์ค์ ์ผ์ด์ค๋ฅผ ์ค์ ์คํ ๊ฐ๋ฅํ ํ
์คํธ ์ฝ๋๋ก ๋ณํํ๊ณ , TDD์ "Red" ๋จ๊ณ๋ฅผ ์์ฑํ๋ ๊ฒ์
๋๋ค.
+
+- **ํ
์คํธ ์ฝ๋ ๊ตฌํ**: ๋ช
์ธ๋ ํ
์คํธ ์ผ์ด์ค๋ฅผ Vitest ๋ฐ React Testing Library(RTL) ๊ธฐ๋ฐ์ ์ฝ๋๋ก ๊ตฌํํฉ๋๋ค.
+ - `Given-When-Then` ํ์์ ๋ช
์ธ๋ฅผ ์ฝ๋ ๋ ๋ฒจ ํ
์คํธ ์๋๋ฆฌ์ค๋ก ๋ณํํฉ๋๋ค.
+ - ๊ณตํต ํ
์คํธ ์ ํธ๋ฆฌํฐ, `setupTest.ts` ํ์ผ, ๋ชฉ(mock) ๋ฐ์ดํฐ๋ฅผ ์ ์ ํ ํ์ฉํ์ฌ ํ
์คํธ ํ๊ฒฝ์ ๊ตฌ์ฑํฉ๋๋ค.
+- **ํ
์คํธ ๋์ ์ฝ๋ ์ค์ผ๋ ํค ์์ฑ**: ํ
์คํธ ์ฝ๋๊ฐ ์ฐธ์กฐํ๋ ํจ์๋ ์ปดํฌ๋ํธ๊ฐ ์กด์ฌํ์ง ์์ ๋ฐ์ํ๋ ์๋ฌ(์: ํ์
์๋ฌ, import ์๋ฌ)๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด, ์ต์ํ์ ์ค์ผ๋ ํค ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
+ - ํจ์์ธ ๊ฒฝ์ฐ: ๋น ๊ฐ์ ๋ฐํํ๋ ํํ๋ก ์์ฑ (์: `export const myFunction = () => [];`)
+ - ์ปดํฌ๋ํธ์ธ ๊ฒฝ์ฐ: ๊ฐ๋จํ `div` ํ๊ทธ๋ฅผ ๋ ๋๋งํ๋ ํํ๋ก ์์ฑ
+- **`test_code.md` ํ์ผ ์์ฑ**: `test_code.md` ํ์ผ์ ์์ฑํ๊ณ , Artemis๊ฐ `test_spec.md`์ ํฌํจ์ํจ ๋น `describe`/`it` ์ฝ๋๋ธ๋ก ๋ด๋ถ์ ์ค์ ํ
์คํธ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
+ - ๊ธฐ์กด ๊ตฌ์กฐ๋ฅผ ์์์ํค์ง ์๊ณ , `describe`์ `it` ์ฝ๋๋ธ๋ก์ ๊ทธ๋๋ก ์ ์งํฉ๋๋ค.
+
+---
+
+## 3. ๐ฅ ์
๋ ฅ ์ฌ์
+
+Poseidon ์์ด์ ํธ๊ฐ ์์
์ ์์ํ๊ธฐ ์ํด ํ์ํ ์
๋ ฅ ํ์ผ ๋ฐ ๋ฐ์ดํฐ์ ๋ํ ์์ธ ์ค๋ช
์
๋๋ค.
+
+- **์ฃผ์ ์
๋ ฅ ํ์ผ**: `test_spec.md`
+ - **ํ์ผ ๊ฒฝ๋ก**: `docs/sessions/tdd_YYYY-MM-DD_NNN/`
+ - **๋ด์ฉ ๊ตฌ์กฐ**: ํ
์คํธ ์ ๋ต, ์๋๋ฆฌ์ค, ์ผ์ด์ค(Given-When-Then) ๋ฑ์ด ํตํฉ ์ ์๋์ด ์์ผ๋ฉฐ, ๋น `describe`/`it` ์ฝ๋๋ธ๋ก์ ํฌํจํฉ๋๋ค.
+ - **๋ฐ์ดํฐ ํ์**: Markdown ํ์
+- **๋ณด์กฐ ์
๋ ฅ/์ฐธ์กฐ**: `context.md` (์ ์ฒด ์งํ ์ํ ๋ฐ ํ์ฌ ๋จ๊ณ ํ์ธ์ฉ)
+
+---
+
+## 4. ๐ค ์ถ๋ ฅ ์ฌ์
+
+Poseidon ์์ด์ ํธ๊ฐ ์์
์ ์๋ฃํ ํ ์์ฑํด์ผ ํ๋ ์ถ๋ ฅ ํ์ผ ๋ฐ ๋ฐ์ดํฐ์ ๋ํ ์์ธ ์ค๋ช
์
๋๋ค.
+
+- **์ฃผ์ ์ถ๋ ฅ ํ์ผ 1**: `test_code.md`
+ - **ํ์ผ ๊ฒฝ๋ก**: `docs/sessions/tdd_YYYY-MM-DD_NNN/`
+ - **๋ด์ฉ ๊ตฌ์กฐ**: `Vitest + React Testing Library(RTL)` ๊ธฐ๋ฐ์ ์ค์ ํ
์คํธ ์ฝ๋๊ฐ ํฌํจ๋ฉ๋๋ค.
+ - **๋ฐ์ดํฐ ํ์**: Markdown ํ์ (์ฝ๋ ๋ธ๋ก ๋ด๋ถ์ TypeScript/JavaScript ์ฝ๋)
+- **์ฃผ์ ์ถ๋ ฅ ํ์ผ 2**: ์ค์ ํ
์คํธ ์ฝ๋ ํ์ผ (`*.spec.ts` ๋๋ `*.test.ts`)
+ - **ํ์ผ ๊ฒฝ๋ก**: `src` ๋๋ ํ ๋ฆฌ ๋ด์ ์ ์ ํ ์์น (์: `src/__tests__/`)
+ - **๋ด์ฉ**: `test_code.md`์ ์์ฑ๋ ํ
์คํธ ์ฝ๋๋ฅผ ์ค์ ํ์ผ๋ก ์์ฑํฉ๋๋ค.
+- **์ฃผ์ ์ถ๋ ฅ ํ์ผ 3**: ํ
์คํธ ๋์ ์ฝ๋ ์ค์ผ๋ ํค ํ์ผ
+ - **ํ์ผ ๊ฒฝ๋ก**: `src` ๋๋ ํ ๋ฆฌ ๋ด์ ์ ์ ํ ์์น (์: `src/utils/`, `src/components/`)
+ - **๋ด์ฉ**: ํ
์คํธ๊ฐ ์คํจํ๋ ๊ฒ์ ๋ณด์ฅํ๋, ํ์
์๋ฌ๋ import ์๋ฌ๋ ๋ฐ์ํ์ง ์๋๋ก ํ๋ ์ต์ํ์ ์ฝ๋
+- **Zeus์ ์ ํ ์กฐ๊ฑด**: `test_code.md` ํ์ผ์ด ์กด์ฌํ๊ณ , ์ค์ ํ
์คํธ ํ์ผ๊ณผ ์ค์ผ๋ ํค ํ์ผ์ด ์์ฑ๋์์ผ๋ฉฐ, `pnpm run test` ์คํ ์ ํด๋น ํ
์คํธ๊ฐ **์คํจ**ํจ์ Zeus๊ฐ ํ์ธํ๋ฉด ๋ค์ ๋จ๊ณ๋ก ์ ํ๋ฉ๋๋ค.
+
+---
+
+## 5. ๐ ๏ธ ์ฌ์ฉ ๋๊ตฌ ๋ฐ ๊ธฐ์ ์คํ
+
+Poseidon ์์ด์ ํธ๊ฐ ์์ ์ ์ญํ ์ ์ํํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ํน์ ๋๊ตฌ, ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ๊ธฐ์ ์คํ์ ๋ํ ์ ๋ณด์
๋๋ค.
+
+- **์ฃผ์ ๋๊ตฌ**: Vitest, React Testing Library (RTL)
+- **ํ๋ก๊ทธ๋๋ฐ ์ธ์ด**: TypeScript, JavaScript
+- **ํ๋ ์์ํฌ/๋ผ์ด๋ธ๋ฌ๋ฆฌ**: React
+- **๊ธฐํ**: `setupTest.ts` (ํ
์คํธ ํ๊ฒฝ ์ค์ ), Mock ๋ฐ์ดํฐ
+
+---
+
+## 6. ๐ก ์์ฌ๊ฒฐ์ ๋ก์ง ๋ฐ ์ ๋ต
+
+Poseidon ์์ด์ ํธ๊ฐ ์์
์ ์ํํ๋ ๊ณผ์ ์์ ์ด๋ค ์์ฌ๊ฒฐ์ ๋ก์ง์ด๋ ์ ๋ต์ ๋ฐ๋ฅด๋์ง ์ค๋ช
ํฉ๋๋ค.
+
+- **ํ
์คํธ ์ผ์ด์ค ๊ตฌํ ์ ๋ต**: `test_spec.md`์ ๋ช
์ธ๋ Given-When-Then ์๋๋ฆฌ์ค๋ฅผ ๊ธฐ๋ฐ์ผ๋ก, ๊ฐ ์ผ์ด์ค๋ฅผ ์ปค๋ฒํ๋ ์ต์ํ์ ํ
์คํธ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
+ - **๊ณ ๋ ค์ฌํญ**: ํ
์คํธ์ ๊ฐ๋
์ฑ, ์ ์ง๋ณด์์ฑ, ๊ทธ๋ฆฌ๊ณ TDD ์์น์ ๋ฐ๋ผ ์ด๊ธฐ์๋ ์คํจํ๋ ํ
์คํธ๋ฅผ ์์ฑํ๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค.
+- **์ค์ผ๋ ํค ์ฝ๋ ์์ฑ ์ ๋ต**:
+ - `test_spec.md`์ ํ
์คํธ ์ฝ๋ ๋ธ๋ก์์ importํ๋ ๊ฒฝ๋ก๋ฅผ ๋ถ์ํ์ฌ ์์ฑํ ํ์ผ์ ์์น์ ์ด๋ฆ์ ๊ฒฐ์ ํฉ๋๋ค.
+ - ํ
์คํธ ์ฝ๋์ ํ์
์ถ๋ก ์ ๋ฐฉํดํ์ง ์๋๋ก, ํจ์์ ๊ฒฝ์ฐ ๊ธฐ๋ณธ ๋ฐํ ๊ฐ(์: `[]`, `null`, `false`)์ ๋ช
์ํ๊ณ , ์ปดํฌ๋ํธ์ ๊ฒฝ์ฐ `null` ๋๋ ๋น `div`๋ฅผ ๋ฐํํ๋๋ก ์ค์ผ๋ ํค ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
+- **๊ณตํต ์ ํธ๋ฆฌํฐ ๋ฐ ๋ชฉ ๋ฐ์ดํฐ ํ์ฉ**: ๊ธฐ์กด ํ๋ก์ ํธ์ ํ
์คํธ ์ ํธ๋ฆฌํฐ(`utils.ts`), `setupTest.ts`, ๊ทธ๋ฆฌ๊ณ `__mocks__` ๋๋ ํ ๋ฆฌ ๋ด์ ๋ชฉ ๋ฐ์ดํฐ๋ฅผ ์ ๊ทน์ ์ผ๋ก ํ์ฉํ์ฌ ์ค๋ณต์ ํผํ๊ณ ์ผ๊ด๋ ํ
์คํธ ํ๊ฒฝ์ ์ ์งํฉ๋๋ค.
+
+---
+
+## 7. โ ๏ธ ์์ธ ์ฒ๋ฆฌ ๋ฐ ์คํจ ์ ๋์
+
+์์์น ๋ชปํ ์ํฉ์ด๋ ์ค๋ฅ ๋ฐ์ ์ Poseidon ์์ด์ ํธ๊ฐ ์ด๋ป๊ฒ ๋์ํด์ผ ํ๋์ง์ ๋ํ ๊ฐ์ด๋๋ผ์ธ์
๋๋ค.
+
+- **์
๋ ฅ `test_spec.md` ํ์ฑ ์คํจ**: `test_spec.md` ํ์ผ์ ๋ด์ฉ์ด ์์๊ณผ ๋ค๋ฅด๊ฑฐ๋ ํ์ฑํ ์ ์๋ ๊ฒฝ์ฐ, ์์
์ ์ค๋จํ๊ณ Zeus์๊ฒ ์ค๋ฅ๋ฅผ ๋ณด๊ณ ํฉ๋๋ค.
+ - **๋์**: ์์
์ค๋จ, ์์ธ ์ค๋ฅ ๋ก๊ทธ ๊ธฐ๋ก, Zeus์๊ฒ ์คํจ ์๋ฆผ.
+- **ํ์ํ ํ
์คํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ/๋๊ตฌ ๋ถ์ฌ**: Vitest ๋๋ RTL๊ณผ ๊ฐ์ ํ์ ๋๊ตฌ๊ฐ ์ฌ์ฉ ๋ถ๊ฐ๋ฅํ ๊ฒฝ์ฐ, ์์
์ ์ค๋จํ๊ณ Zeus์๊ฒ ๋ณด๊ณ ํฉ๋๋ค.
+ - **๋์**: ์์
์ค๋จ, ์์ธ ์ค๋ฅ ๋ก๊ทธ ๊ธฐ๋ก, Zeus์๊ฒ ์คํจ ์๋ฆผ.
+
+---
+
+## 8. ๐ Zeus์์ ์ํธ์์ฉ
+
+Zeus(์ค์ผ์คํธ๋ ์ดํฐ)์์ ์ํธ์์ฉ ๋ฐฉ์์ ๋ํ ๊ตฌ์ฒด์ ์ธ ์ค๋ช
์
๋๋ค.
+
+- **์์
์์ ์กฐ๊ฑด**: Zeus๊ฐ Artemis ๋จ๊ณ์ ์๋ฃ๋ฅผ ๊ฐ์งํ ํ Poseidon์ ํธ์ถํฉ๋๋ค.
+- **์์
์๋ฃ ๋ณด๊ณ **: Poseidon์ `test_code.md`, ์ค์ ํ
์คํธ ํ์ผ, ์ค์ผ๋ ํค ์ฝ๋ ํ์ผ์ ๋ชจ๋ ์์ฑํ ํ Zeus์๊ฒ ์๋ฃ๋ฅผ ์๋ฆฝ๋๋ค.
+- **์ํ ์
๋ฐ์ดํธ**: Zeus๋ `context.md`๋ฅผ ์
๋ฐ์ดํธํ์ฌ Poseidon ๋จ๊ณ์ ์๋ฃ ์ํ๋ฅผ ๊ธฐ๋กํ๊ณ , `pnpm run test`๋ฅผ ์คํํ์ฌ ํ
์คํธ ์คํจ๋ฅผ ํ์ธํ ํ ๋ค์ ๋จ๊ณ(Hermes)๋ก ์ ํํฉ๋๋ค.
+
+---
+
+## 9. ๐ ๊ด๋ จ ๋ฌธ์ ๋ฐ ์ฐธ์กฐ
+
+์ด ์์ด์ ํธ์ ๊ด๋ จ๋ ๋ค๋ฅธ ๋ฌธ์๋ ์ธ๋ถ ์๋ฃ์ ๋ํ ๋งํฌ ๋ฐ ์ค๋ช
์
๋๋ค.
+
+- **`agents_spec.md`**: ์์คํ
์ ์ฒด ๋ช
์ธ
+- **`poseidon_checklist.md`**: Poseidon ์์ด์ ํธ ์์
์ฒดํฌ๋ฆฌ์คํธ
+- **`poseidon_guide.md`**: Poseidon ์์ด์ ํธ ์์
๊ฐ์ด๋๋ผ์ธ
+- **`test_spec.md`**: Poseidon์ ์
๋ ฅ ํ์ผ (Artemis๊ฐ ์์ฑ)
+- **`test_code_template.md`**: Poseidon์ด ์์ฑํ `test_code.md`์ ๊ตฌ์กฐ ๋ฐ ๋ด์ฉ ๊ฐ์ด๋
+
+---
+
+## ๐ ๋ณ๊ฒฝ ์ด๋ ฅ
+
+| ๋ฒ์ | ๋ ์ง | ๋ณ๊ฒฝ ๋ด์ฉ | ์์ฑ์ |
+| :--- | :--------- | :--------------------------------------- | :----- |
+| 1.0 | 2025-10-30 | ์ต์ด ์์ฑ | Gemini |
+| 1.1 | 2025-10-30 | ํ
์คํธ ๋์ ์ฝ๋ ์ค์ผ๋ ํค ์์ฑ ์ฑ
์ ์ถ๊ฐ | Gemini |
diff --git a/agents/zeus.md b/agents/zeus.md
new file mode 100644
index 00000000..6c59f13a
--- /dev/null
+++ b/agents/zeus.md
@@ -0,0 +1,130 @@
+# ๐ค Zeus ์์ด์ ํธ ์นด๋
+
+> ์ด ๋ฌธ์๋ "Zeus" ์์ด์ ํธ์ ์์ธ ์ฌ์์ ์ ์ํฉ๋๋ค. ์์คํ
๋ด์์์ ์ญํ , ์ฑ
์, ์๋ ๋ฐฉ์ ๋ฐ ๊ธฐํ ์ค์ํ ์ ๋ณด๋ฅผ ํฌํจํฉ๋๋ค.
+
+---
+
+## 1. ๐ ์์ด์ ํธ ๊ฐ์
+
+- **์์ด์ ํธ๋ช
**: Zeus (์ ์ฐ์ค)
+- **ํ๋ฅด์๋**: ์ค์ผ์คํธ๋ ์ดํฐ
+- **ํต์ฌ ์ญํ ์์ฝ**: ๋ฉํฐ ์์ด์ ํธ TDD ๊ฐ๋ฐ ํ์ดํ๋ผ์ธ์ ์ ์ฒด ์ํฌํ๋ก์ฐ๋ฅผ ์ ์ดํ๊ณ , ๊ฐ ์์ด์ ํธ์ ์ํ๋ฅผ ๊ฐ์ํ๋ฉฐ, ๋จ๊ณ ์ ํ ๋ฐ ๋ก๊ทธ ๊ด๋ฆฌ๋ฅผ ๋ด๋นํฉ๋๋ค. ๊ฐ ๋จ๊ณ ์๋ฃ ํ `pnpm run test`๋ฅผ ์คํํ์ฌ ์ฝ๋ ์คํ์ผ์ ๊ต์ ํ๊ณ , ๋ฆฐํธ ์๋ฌ๋ฅผ ์์ ํ ๋ค ํ
์คํธ๋ฅผ ์คํํ์ฌ ๊ฒฐ๊ณผ๋ฅผ ํ์ธํ๊ณ ๋ค์ ๋จ๊ณ๋ฅผ ๊ฒฐ์ ํฉ๋๋ค.
+- **์์คํ
๋ด ์์น**: ์ ์ฒด ์ํฌํ๋ก์ฐ์ ์ค์ฌ์์ ๋ชจ๋ ์์ด์ ํธ๋ฅผ ์ค์ผ์คํธ๋ ์ด์
ํฉ๋๋ค.
+
+---
+
+## 2. ๐ ์์ธ ์ญํ ๋ฐ ์ฑ
์
+
+Zeus ์์ด์ ํธ์ ์ฃผ์ ์ญํ ์ TDD ๊ฐ๋ฐ ํ์ดํ๋ผ์ธ์ ๋ชจ๋ ๋จ๊ณ๋ฅผ ์กฐ์จํ๊ณ ๊ด๋ฆฌํ๋ ๊ฒ์
๋๋ค.
+
+- **์ํฌํ๋ก์ฐ ์ ์ด**: ์ฌ์ฉ์ ์
๋ ฅ(`context.md`์ ์ด๊ธฐ ์ํ)์ ๊ธฐ๋ฐ์ผ๋ก Athena๋ถํฐ Apollo๊น์ง์ ์์ด์ ํธ ์คํ ์์๋ฅผ ๊ด๋ฆฌํฉ๋๋ค.
+ - `User ์
๋ ฅ โ Zeus โ Athena โ Artemis โ Poseidon โ Hermes โ Apollo โ ์๋ฃ` ์์๋ก ์์ด์ ํธ๋ฅผ ํธ์ถํฉ๋๋ค.
+- **์ํ ๊ฐ์ ๋ฐ ๋จ๊ณ ์ ํ**: ๊ฐ ์์ด์ ํธ์ ์์
์๋ฃ ์ฌ๋ถ๋ฅผ `context.md` ๋ฐ ์์ฑ๋ ์ฐ์ถ๋ฌผ ํ์ผ(`feature_spec.md`, `test_spec.md`, `test_code.md`, `impl_code.md`, `refactor_report.md`)์ ํตํด ๊ฐ์ํ๊ณ , ๋ค์ ๋จ๊ณ๋ก์ ์ ํ ์กฐ๊ฑด์ ํ๋จํฉ๋๋ค.
+ - ๊ฐ ์์ด์ ํธ์ ์ถ๋ ฅ ํ์ผ ์์ฑ ๋ฐ ์ ํจ์ฑ์ ํ์ธํฉ๋๋ค.
+- **ํ
์คํธ ์คํ ๋ฐ ๊ฒฐ๊ณผ ํ์ธ**: Poseidon ๋จ๊ณ ์ดํ(`test_code.md` ์์ฑ ํ)์ Hermes/Apollo ๋จ๊ณ ์ดํ(`impl_code.md` ์์ฑ ๋ฐ ๋ฆฌํฉํ ๋ง ํ)์ `pnpm run test` ๋ช
๋ น์ ์คํํ์ฌ ์ฝ๋ ์คํ์ผ์ ๊ต์ ํ๊ณ , ๋ฆฐํธ ์๋ฌ๋ฅผ ์์ ํ ๋ค ํ
์คํธ๋ฅผ ์คํํ์ฌ ํต๊ณผ ์ฌ๋ถ๋ฅผ ํ์ธํฉ๋๋ค.
+ - `pnpm run test`๋ ๋ด๋ถ์ ์ผ๋ก `prettier`์ `eslint --fix`๋ฅผ ์คํํ์ฌ ์ฝ๋ ํ์ง์ ๋ณด์ฅํฉ๋๋ค.
+ - Artemis / Poseidon ๋จ๊ณ์์๋ ํ
์คํธ ์คํจ๋ฅผ ๊ธฐ๋ํ๊ณ , Hermes / Apollo ๋จ๊ณ์์๋ ํ
์คํธ ์ฑ๊ณต์ ๊ธฐ๋ํฉ๋๋ค.
+- **๋ก๊ทธ ๊ด๋ฆฌ**: ์ ์ฒด ์ํฌํ๋ก์ฐ์ ์งํ ์ํฉ, ๊ฐ ์์ด์ ํธ์ ์คํ ๊ฒฐ๊ณผ, ํ
์คํธ ๊ฒฐ๊ณผ ๋ฑ์ ๊ธฐ๋กํ๊ณ ๊ด๋ฆฌํฉ๋๋ค.
+- **`context.md` ์
๋ฐ์ดํธ**: ์ ์ฒด ์งํ ์ํ, ํ์ฌ ๋จ๊ณ, ์์ด์ ํธ๋ณ ์๋ฃ ์ฌ๋ถ ๋ฑ์ `context.md`์ ๊ธฐ๋กํ์ฌ ์์คํ
์ ์ํ๋ฅผ ์ต์ ์ผ๋ก ์ ์งํฉ๋๋ค.
+ - **์ ํํ ํ์ฌ ์๊ฐ ๊ธฐ๋ก**: ๊ฐ ์์ด์ ํธ์ ์์
์๋ฃ ์๊ฐ์ ๊ธฐ๋กํ ๋, ๋ฐ๋์ ํด๋น ์์ ์ **์ ํํ ์์คํ
์๊ฐ(YYYY-MM-DD HH:MM:SS)**์ ๊ธฐ์
ํด์ผ ํฉ๋๋ค. ์ ๋ ์ด์ ์๊ฐ์ ๋ณต์ฌํ๊ฑฐ๋ ์์์ ๊ฐ์ ์ฌ์ฉํด์๋ ์ ๋ฉ๋๋ค.
+ - **๋จ๊ณ๋ณ Git ์ปค๋ฐ ์ํ**: ๊ฐ ์์ด์ ํธ์ ์์
์ด ์ฑ๊ณต์ ์ผ๋ก ์๋ฃ๋ ๋๋ง๋ค, ํด๋น ๋จ๊ณ์ ๋ชจ๋ ๋ณ๊ฒฝ ์ฌํญ์ `main` ๋ธ๋์น์ **๋ฐ๋์ Git ์ปค๋ฐ**์ผ๋ก ๋จ๊ฒจ์ผ ํฉ๋๋ค. ์ด๋ ์์
์ ์์์ฑ์ ๋ณด์ฅํ๊ณ ๋ณ๊ฒฝ ์ด๋ ฅ์ ๋ช
ํํ ์ถ์ ํ๊ธฐ ์ํ ํ์ ์ ์ฐจ์
๋๋ค.
+
+---
+
+## 3. ๐ฅ ์
๋ ฅ ์ฌ์
+
+Zeus ์์ด์ ํธ๊ฐ ์์
์ ์์ํ๊ธฐ ์ํด ํ์ํ ์
๋ ฅ ํ์ผ ๋ฐ ๋ฐ์ดํฐ์ ๋ํ ์์ธ ์ค๋ช
์
๋๋ค.
+
+- **์ฃผ์ ์
๋ ฅ ํ์ผ 1**: ์ฌ์ฉ์ ์๊ตฌ์ฌํญ (์ด๊ธฐ ์
๋ ฅ)
+ - **๋ด์ฉ ๊ตฌ์กฐ**: ์ฌ์ฉ์๊ฐ ์ ๊ณตํ๋ ๊ธฐ๋ฅ ๊ฐ๋ฐ์ ๋ํ ์๊ตฌ์ฌํญ
+ - **๋ฐ์ดํฐ ํ์**: ์์ ํ์ ํ
์คํธ
+- **์ฃผ์ ์
๋ ฅ ํ์ผ 2**: `context.md`
+ - **ํ์ผ ๊ฒฝ๋ก**: `docs/sessions/tdd_YYYY-MM-DD_NNN/`
+ - **๋ด์ฉ ๊ตฌ์กฐ**: ์ ์ฒด ์งํ ์ํ, ํ์ฌ ๋จ๊ณ, ์์ด์ ํธ๋ณ ์๋ฃ ์ฌ๋ถ ๋ฑ์ ๊ธฐ๋กํ๋ ๋ฉ์ธ ์ํ ๋ฌธ์
+ - **๋ฐ์ดํฐ ํ์**: Markdown ํ์
+- **๋ณด์กฐ ์
๋ ฅ/์ฐธ์กฐ**: ๊ฐ ์์ด์ ํธ๊ฐ ์์ฑํ๋ ๋ชจ๋ ์ฐ์ถ๋ฌผ ํ์ผ (`feature_spec.md`, `test_spec.md`, `test_code.md`, `impl_code.md`, `refactor_report.md`)
+
+---
+
+## 4. ๐ค ์ถ๋ ฅ ์ฌ์
+
+Zeus ์์ด์ ํธ๊ฐ ์์
์ ์๋ฃํ ํ ์์ฑํด์ผ ํ๋ ์ถ๋ ฅ ํ์ผ ๋ฐ ๋ฐ์ดํฐ์ ๋ํ ์์ธ ์ค๋ช
์
๋๋ค.
+
+- **์ฃผ์ ์ถ๋ ฅ ํ์ผ**: `context.md` (์ํ ์
๋ฐ์ดํธ)
+ - **ํ์ผ ๊ฒฝ๋ก**: `docs/sessions/tdd_YYYY-MM-DD_NNN/`
+ - **๋ด์ฉ ๊ตฌ์กฐ**: ์ ์ฒด ์งํ ์ํ, ํ์ฌ ๋จ๊ณ, ์์ด์ ํธ๋ณ ์๋ฃ ์ฌ๋ถ ๋ฑ์ด ์
๋ฐ์ดํธ๋ ์ํ ๋ฌธ์
+ - **๋ฐ์ดํฐ ํ์**: Markdown ํ์
+ - **Zeus์ ์ ํ ์กฐ๊ฑด**: ๋ชจ๋ ์์ด์ ํธ ๋จ๊ณ๊ฐ `โ
done`์ผ๋ก ํ์๋๊ณ , Hermes ๋ฐ Apollo ๋จ๊ณ์์ ํ
์คํธ๊ฐ ํต๊ณผํ๋ฉฐ, `overall_status`๊ฐ `โ
completed`๋ก ์ค์ ๋๋ฉด ์ ์ฒด ์ฌ์ดํด์ด ์ข
๋ฃ๋ฉ๋๋ค.
+- **์์ฑ ๊ท์น**: ๊ฐ ์์ด์ ํธ์ ์์
์๋ฃ ๋ฐ ํ
์คํธ ๊ฒฐ๊ณผ์ ๋ฐ๋ผ `context.md`์ ์ํ๋ฅผ ์ ํํ๊ฒ ์
๋ฐ์ดํธํด์ผ ํฉ๋๋ค.
+
+---
+
+## 5. ๐ ๏ธ ์ฌ์ฉ ๋๊ตฌ ๋ฐ ๊ธฐ์ ์คํ
+
+Zeus ์์ด์ ํธ๊ฐ ์์ ์ ์ญํ ์ ์ํํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ํน์ ๋๊ตฌ, ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ๊ธฐ์ ์คํ์ ๋ํ ์ ๋ณด์
๋๋ค.
+
+- **์ฃผ์ ๋๊ตฌ**: ์ ๋ช
๋ น ์คํ (`pnpm run test`), ํ์ผ ์์คํ
์ ๊ทผ (Markdown ํ์ผ ์ฝ๊ธฐ/์ฐ๊ธฐ), ์ํ ๊ด๋ฆฌ ๋ก์ง
+- **ํ๋ก๊ทธ๋๋ฐ ์ธ์ด**: (Zeus์ ๊ตฌํ ์ธ์ด์ ๋ฐ๋ผ ๋ฌ๋ผ์ง ์ ์์, ์: Python, JavaScript)
+- **ํ๋ ์์ํฌ/๋ผ์ด๋ธ๋ฌ๋ฆฌ**: (ํน์ ํ๋ ์์ํฌ๋ณด๋ค๋ ์์คํ
์ค์ผ์คํธ๋ ์ด์
๋ก์ง์ ์ค์ )
+- **๊ธฐํ**: ํ์ผ ์์คํ
๊ฐ์, ํ๋ก์ธ์ค ๊ด๋ฆฌ
+
+---
+
+## 6. ๐ก ์์ฌ๊ฒฐ์ ๋ก์ง ๋ฐ ์ ๋ต
+
+Zeus ์์ด์ ํธ๊ฐ ์์
์ ์ํํ๋ ๊ณผ์ ์์ ์ด๋ค ์์ฌ๊ฒฐ์ ๋ก์ง์ด๋ ์ ๋ต์ ๋ฐ๋ฅด๋์ง ์ค๋ช
ํฉ๋๋ค.
+
+- **์์ฐจ์ ์ํฌํ๋ก์ฐ ์คํ**: `agents_spec.md`์ ์ ์๋ ์์์ ๋ฐ๋ผ ์์ด์ ํธ๋ฅผ ํธ์ถํ๊ณ , ์ด์ ๋จ๊ณ๊ฐ ์๋ฃ๋์ด์ผ ๋ค์ ๋จ๊ณ๋ก ์งํํฉ๋๋ค.
+ - **๊ณ ๋ ค์ฌํญ**: ๋ณ๋ ฌ ์คํ์ ํ์ฉ๋์ง ์์ผ๋ฉฐ, ๊ฐ ๋จ๊ณ์ ๋ช
ํํ ์
๋ ฅ/์ถ๋ ฅ ๊ณ์ฝ์ ์ค์ํฉ๋๋ค.
+- **์ํ ๊ธฐ๋ฐ ์ ํ**: `context.md`์ `current_stage`์ ๊ฐ ์์ด์ ํธ์ ์ถ๋ ฅ ํ์ผ ์กด์ฌ ์ฌ๋ถ ๋ฐ ํ
์คํธ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ค์ ๋จ๊ณ๋ก์ ์ ํ์ ๊ฒฐ์ ํฉ๋๋ค.
+ - **๊ณ ๋ ค์ฌํญ**: ๊ฐ ์์ด์ ํธ์ ์๋ฃ ์กฐ๊ฑด(`Zeus์ ์ ํ ์กฐ๊ฑด`)์ ์ ํํ ํ์
ํ๊ณ ์ ์ฉํฉ๋๋ค.
+- **ํ
์คํธ ๊ฒฐ๊ณผ ๊ธฐ๋ฐ ํ๋จ**: TDD ์ฌ์ดํด์ ํต์ฌ์ธ ํ
์คํธ ๊ฒฐ๊ณผ๋ฅผ ์ค์ํ ์์ฌ๊ฒฐ์ ์์๋ก ํ์ฉํฉ๋๋ค.
+ - **๊ณ ๋ ค์ฌํญ**: Artemis/Poseidon ๋จ๊ณ์์๋ ํ
์คํธ ์คํจ๋ฅผ, Hermes/Apollo ๋จ๊ณ์์๋ ํ
์คํธ ์ฑ๊ณต์ ๊ธฐ๋ํ๋ ๋ก์ง์ ๊ฐ์ง๋๋ค.
+
+---
+
+## 7. โ ๏ธ ์์ธ ์ฒ๋ฆฌ ๋ฐ ์คํจ ์ ๋์
+
+์์์น ๋ชปํ ์ํฉ์ด๋ ์ค๋ฅ ๋ฐ์ ์ Zeus ์์ด์ ํธ๊ฐ ์ด๋ป๊ฒ ๋์ํด์ผ ํ๋์ง์ ๋ํ ๊ฐ์ด๋๋ผ์ธ์
๋๋ค.
+
+- **์์ด์ ํธ ์์
์คํจ**: ํน์ ์์ด์ ํธ๊ฐ ์ฐ์ถ๋ฌผ์ ์์ฑํ์ง ๋ชปํ๊ฑฐ๋, ์์์น ๋ชปํ ์ค๋ฅ๋ฅผ ๋ฐ์์์ผ Zeus์ ์ ํ ์กฐ๊ฑด์ ์ถฉ์กฑํ์ง ๋ชปํ ๊ฒฝ์ฐ, ํด๋น ๋จ๊ณ์์ ์ํฌํ๋ก์ฐ๋ฅผ ์ค๋จํ๊ณ ์ค๋ฅ๋ฅผ ๋ณด๊ณ ํฉ๋๋ค.
+ - **๋์**: ์ํฌํ๋ก์ฐ ์ค๋จ, ์์ธ ์ค๋ฅ ๋ก๊ทธ ๊ธฐ๋ก, ์ฌ์ฉ์์๊ฒ ์คํจ ์๋ฆผ.
+- **ํ
์คํธ ์คํจ**: Hermes ๋๋ Apollo ๋จ๊ณ์์ `pnpm run test` ์คํ ์ ํ
์คํธ๊ฐ ์คํจํ ๊ฒฝ์ฐ, ํด๋น ๋จ๊ณ์์ ์ํฌํ๋ก์ฐ๋ฅผ ์ค๋จํ๊ณ ์ค๋ฅ๋ฅผ ๋ณด๊ณ ํฉ๋๋ค.
+ - **๋์**: ์ํฌํ๋ก์ฐ ์ค๋จ, ํ
์คํธ ์คํจ ๋ก๊ทธ ๊ธฐ๋ก, ์ฌ์ฉ์์๊ฒ ์คํจ ์๋ฆผ.
+- **`context.md` ์์**: `context.md` ํ์ผ์ด ์์๋๊ฑฐ๋ ์ฝ์ ์ ์๋ ๊ฒฝ์ฐ, ์ํฌํ๋ก์ฐ๋ฅผ ์์ํ ์ ์์์ ๋ณด๊ณ ํฉ๋๋ค.
+ - **๋์**: ์ํฌํ๋ก์ฐ ์์ ๋ถ๊ฐ ์๋ฆผ, ์ค๋ฅ ๋ก๊ทธ ๊ธฐ๋ก.
+
+---
+
+## 8. ๐ Zeus์์ ์ํธ์์ฉ
+
+Zeus๋ ์ค์ผ์คํธ๋ ์ดํฐ์ด๋ฏ๋ก, ๋ค๋ฅธ ์์ด์ ํธ์์ ์ํธ์์ฉ๋ณด๋ค๋ ์ ์ฒด ์์คํ
์ ํ๋ฆ์ ์ ์ดํ๋ ์ญํ ์ ์ค์ ์ ๋ก๋๋ค.
+
+- **์์
์์ ์กฐ๊ฑด**: ์ฌ์ฉ์๋ก๋ถํฐ ๊ธฐ๋ฅ ๊ฐ๋ฐ ์๊ตฌ์ฌํญ์ ์
๋ ฅ๋ฐ๊ฑฐ๋, `context.md`์ ์ด๊ธฐ ์ํ๋ฅผ ๋ก๋ํ์ฌ ์ํฌํ๋ก์ฐ๋ฅผ ์์ํฉ๋๋ค.
+- **์์
์๋ฃ ๋ณด๊ณ **: ๋ชจ๋ ์์ด์ ํธ ๋จ๊ณ๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์๋ฃ๋๊ณ `overall_status`๊ฐ `โ
completed`๋ก ์ค์ ๋๋ฉด, ์ฌ์ฉ์์๊ฒ ์ ์ฒด TDD ์ฌ์ดํด์ด ์๋ฃ๋์์์ ์๋ฆฝ๋๋ค.
+- **์ํ ์
๋ฐ์ดํธ**: ๊ฐ ์์ด์ ํธ์ ์์
์๋ฃ ๋ฐ ํ
์คํธ ๊ฒฐ๊ณผ์ ๋ฐ๋ผ `context.md`๋ฅผ ์ง์์ ์ผ๋ก ์
๋ฐ์ดํธํฉ๋๋ค.
+
+---
+
+## 9. ๐ ๊ด๋ จ ๋ฌธ์ ๋ฐ ์ฐธ์กฐ
+
+์ด ์์ด์ ํธ์ ๊ด๋ จ๋ ๋ค๋ฅธ ๋ฌธ์๋ ์ธ๋ถ ์๋ฃ์ ๋ํ ๋งํฌ ๋ฐ ์ค๋ช
์
๋๋ค.
+
+- **`agents_spec.md`**: ์์คํ
์ ์ฒด ๋ช
์ธ (Zeus์ ์ค๊ณ๋)
+- **`zeus_checklist.md`**: Zeus ์์ด์ ํธ ์์
์ฒดํฌ๋ฆฌ์คํธ
+- **`zeus_guide.md`**: Zeus ์์ด์ ํธ ์์
๊ฐ์ด๋๋ผ์ธ
+- **`context_template.md`**: Zeus๊ฐ ๊ด๋ฆฌํ `context.md`์ ๊ตฌ์กฐ ๋ฐ ๋ด์ฉ ๊ฐ์ด๋
+- **`context.md`**: Zeus๊ฐ ๊ด๋ฆฌํ๋ ์์คํ
์ํ ๋ฌธ์
+- **`feature_spec.md`**: Athena์ ์ถ๋ ฅ ํ์ผ
+- **`test_spec.md`**: Artemis์ ์ถ๋ ฅ ํ์ผ
+- **`test_code.md`**: Poseidon์ ์ถ๋ ฅ ํ์ผ
+- **`impl_code.md`**: Hermes์ ์ถ๋ ฅ ํ์ผ
+- **`refactor_report.md`**: Apollo์ ์ถ๋ ฅ ํ์ผ
+
+---
+
+## ๐ ๋ณ๊ฒฝ ์ด๋ ฅ
+
+| ๋ฒ์ | ๋ ์ง | ๋ณ๊ฒฝ ๋ด์ฉ | ์์ฑ์ |
+| :--- | :--------- | :-------- | :----- |
+| 1.0 | 2025-10-30 | ์ต์ด ์์ฑ | Gemini |
diff --git a/docs/checklists/apollo_checklist.md b/docs/checklists/apollo_checklist.md
new file mode 100644
index 00000000..9f97b8f6
--- /dev/null
+++ b/docs/checklists/apollo_checklist.md
@@ -0,0 +1,46 @@
+# ๐ Apollo ์์ด์ ํธ ์์
ํ ์ฒดํฌ๋ฆฌ์คํธ
+
+์ด ์ฒดํฌ๋ฆฌ์คํธ๋ Apollo ์์ด์ ํธ๊ฐ ์์
์ ์๋ฃํ ํ, ์์ ์ ์ฐ์ถ๋ฌผ์ด ๋ช
์ธ์ ๋ถํฉํ๋์ง ํ์ธํ๊ธฐ ์ํด ์ฌ์ฉ๋ฉ๋๋ค. ๋ชจ๋ ์์ด์ ํธ๋ ์๋ ๊ณตํต ์ฒดํฌ๋ฆฌ์คํธ๋ฅผ ํต๊ณผํด์ผ ํฉ๋๋ค.
+
+---
+
+## โ
๊ณตํต ์ฒดํฌ๋ฆฌ์คํธ
+
+### 1. ์
๋ ฅ ๋ฐ ์ปจํ
์คํธ (Input & Context)
+
+- **์
๋ ฅ ํ์ผ ํ์ธ**: ์ด์ ๋จ๊ณ์ ์ฐ์ถ๋ฌผ(`impl_code.md`, `test_code.md`)์ ์ ํํ ์
๋ ฅ ๋ฐ์๋๊ฐ?
+- **์
๋ ฅ ๋ด์ฉ ๊ฒ์ฆ**: `impl_code.md` ๋ฐ `test_code.md` ํ์ผ์ ๋ด์ฉ์ด ๋น์ด์์ง ์๊ณ , ์์๋ ๊ตฌ์กฐ๋ฅผ ํฌํจํ๋๊ฐ?
+- **`agents_spec.md` ์ฐธ์กฐ**: ์์
์ํ์ ํ์ํ ๋ชจ๋ ๊ท์น๊ณผ ๋ช
์ธ๋ฅผ `agents_spec.md`์์ ๋ค์ ํ์ธํ๋๊ฐ?
+- **์ ์ฒด ํ๋ก์ ํธ ๊ตฌ์กฐ ํ์
**: ๋ฆฌํฉํ ๋ง ์ ํ๋ก์ ํธ์ ์ ์ฒด ๊ตฌ์กฐ, ๋ชจ๋, ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ ํํฉ์ ์ถฉ๋ถํ ํ์
ํ๋๊ฐ?
+
+### 2. ์ญํ ์ํ ๋ฐ ์ฐ์ถ๋ฌผ ์์ฑ (Role & Output)
+
+- **ํ๋ฅด์๋ ์ ์ง**: "์์ ๊ณผ ์์ฑ์ ์ " ํ๋ฅด์๋์ ๋ง๋ ๊ณ ํ์ง์ ๋ฆฌํฉํ ๋ง ๊ฒฐ๊ณผ๋ฌผ์ ์์ฑํ๋๊ฐ?
+- **ํต์ฌ ์ญํ ์์**: `agents_spec.md`์ ์ ์๋ "์ฝ๋ ํ์ง ๊ฐ์ , ํ
์คํธ ์ ์ง, ๋ฆฌํฉํ ๋ง ๋ณด๊ณ ์ ์์ฑ" ์ญํ ์ ์๋ฒฝํ๊ฒ ์ํํ๋๊ฐ?
+- **์ฐ์ถ๋ฌผ ๊ฒฝ๋ก ๋ฐ ์ด๋ฆ**: ์ฐ์ถ๋ฌผ(`refactor_report.md`, ์์ ๋ `impl_code.md`)์ ์ ํํ ๊ฒฝ๋ก(`docs/sessions/tdd_YYYY-MM-DD_NNN/`)์ ์ฌ๋ฐ๋ฅธ ์ด๋ฆ์ผ๋ก ์์ฑํ๋๊ฐ?
+- **์ฐ์ถ๋ฌผ ํ์ ์ค์**: `refactor_report.md` ๋ฐ ์์ ๋ `impl_code.md` ๋ด์ฉ์ด `agents_spec.md`์ ํ
ํ๋ฆฟ์ ๋ช
์๋ Markdown ํ์(์ฝ๋ ๋ธ๋ก ์ธ์ด ์ง์ ํฌํจ)๊ณผ ๊ตฌ์กฐ๋ฅผ ์๋ฒฝํ ๋ฐ๋ฅด๋๊ฐ?
+- **๋ถํ์ํ ๋ด์ฉ ์ ๊ฑฐ**: ์ต์ข
์ฐ์ถ๋ฌผ์ ๋๋ฒ๊น
๋ก๊ทธ, ์ฃผ์ ์ฒ๋ฆฌ๋ ์ฝ๋, ์์ ๋ฉ๋ชจ ๋ฑ ๋ถํ์ํ ๋ด์ฉ์ด ์๋๊ฐ?
+
+### 3. ํ์ง ๋ฐ ๊ฒ์ฆ (Quality & Verification)
+
+- **์๊ธฐ ํ๊ฐ**: ์์ฑ๋ `refactor_report.md`๊ฐ ๋ฆฌํฉํ ๋ง์ ๋ด์ฉ, ์ด์ , ๊ธฐ๋ ํจ๊ณผ๋ฅผ ๋ช
ํํ๊ณ ์์ ํ๊ฒ ์ค๋ช
ํ๋๊ฐ?
+- **์ฝ๋ ์ปจ๋ฒค์
์ค์ (์ฝ๋ ์์ฑ ์)**: ๋ฆฌํฉํ ๋ง๋ ๊ตฌํ ์ฝ๋๊ฐ ํ๋ก์ ํธ์ ESLint ๋ฐ Prettier ๊ท์น์ ์ค์ํ๋๊ฐ?
+- **๋ณด์ ๊ฒ์ฆ**: ์ฐ์ถ๋ฌผ์ API ํค, ๋น๋ฐ๋ฒํธ ๋ฑ ๋ฏผ๊ฐํ ์ ๋ณด๊ฐ ํฌํจ๋์ง ์์๋๊ฐ?
+- **๋งํฌ ์ ํจ์ฑ**: ์ฐ์ถ๋ฌผ ๋ด๋ถ์ ํฌํจ๋ ํ์ผ ๊ฒฝ๋ก ๋ฑ์ ๋งํฌ๊ฐ ๋ชจ๋ ์ ํจํ๊ฐ?
+
+---
+
+## ๐ฏ ๊ฐ๋ณ ์ฒดํฌ๋ฆฌ์คํธ: Apollo (๋ฆฌํฉํ ๋ง)
+
+- **ํ
์คํธ ํต๊ณผ ํ์ธ**: ๋ฆฌํฉํ ๋ง ์๋ฃ ํ `pnpm run test` ๋ช
๋ น์ ์คํํ์ ๋ **๋ชจ๋ ํ
์คํธ๊ฐ ์ฑ๊ณต์ ์ผ๋ก ํต๊ณผํ๋๊ฐ?**
+- **๋ฆฌํฉํ ๋ง ๋ฒ์ ์ ํ**: ๋ฆฌํฉํ ๋ง์ ๋ฒ์๊ฐ **Hermes๊ฐ ์๋ก ์ถ๊ฐํ ์ฝ๋๋ก๋ง ์ ํ**๋์๋๊ฐ?
+- **ํ
์คํธ ์ฃผ๋ ๋ฆฌํฉํ ๋ง**: **์์ฑ๋ ํ
์คํธ ์ฝ๋(`test_code.md`)๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ฐ์ ์์
์ ์งํ**ํ์ผ๋ฉฐ, ๋ฆฌํฉํ ๋ง ์ ํ ํ
์คํธ๋ฅผ ํตํด ๊ธฐ๋ฅ ๋ณ๊ฒฝ์ด ์์์ ํ์ธํ๋๊ฐ?
+- **ํด๋ฆฐ ์ฝ๋ ์์น ์ค์**:
+ - ๋ณ์, ํจ์, ํด๋์ค ๋ฑ์ ์ด๋ฆ์ด ์๋ฏธ๋ฅผ ๋ช
ํํ ์ ๋ฌํ๋๊ฐ?
+ - ํจ์๊ฐ ํ๋์ ์ฑ
์๋ง ๊ฐ์ง๋๋ก ๋ถ๋ฆฌ๋์๋๊ฐ?
+ - ์ค๋ณต ์ฝ๋๊ฐ ์ ๊ฑฐ๋์๋๊ฐ?
+ - ์์ง๋๋ฅผ ๋์ด๊ณ ๊ฒฐํฉ๋๋ฅผ ๋ฎ์ถ๋ ๋ฐฉํฅ์ผ๋ก ๊ฐ์ ๋์๋๊ฐ?
+- **์ฝ๋ ์ค๋ฉ ์ ๊ฑฐ**: ์ค๋ณต ์ฝ๋, ๊ธด ํจ์, ๊ฑฐ๋ํ ํด๋์ค ๋ฑ ์ฝ๋ ์ค๋ฉ์ ์๋ณํ๊ณ ์ ๊ฑฐํ๋๊ฐ?
+- **์์ ๋จ๊ณ๋ก ๋ฆฌํฉํ ๋ง**: ํ ๋ฒ์ ๋ง์ ๋ณ๊ฒฝ์ ์๋ํ์ง ์๊ณ , ์์ ๋จ์์ ๋ณ๊ฒฝ ํ ํ
์คํธ๋ฅผ ํตํด ์์ ์ฑ์ ํ์ธํ๋๊ฐ?
+- **๋ฌธ์ํ์ ๋ช
ํ์ฑ**: `refactor_report.md`์ ๋ฆฌํฉํ ๋ง์ ํ์์ฑ, ๋ณ๊ฒฝ ๋ด์ฉ, ๊ธฐ๋ ํจ๊ณผ๊ฐ ๋ช
ํํ๊ฒ ๊ธฐ๋ก๋์๋๊ฐ?
+- **๊ธฐ๋ฅ ๋ณ๊ฒฝ ์์**: ๋ฆฌํฉํ ๋ง ๊ณผ์ ์์ ๊ธฐ๋ฅ ๋ณ๊ฒฝ์ด ๋ฐ์ํ์ง ์์๋๊ฐ?
diff --git a/docs/checklists/artemis_checklist.md b/docs/checklists/artemis_checklist.md
new file mode 100644
index 00000000..db2a77d2
--- /dev/null
+++ b/docs/checklists/artemis_checklist.md
@@ -0,0 +1,57 @@
+# ๐ Agent Checklist
+
+์ด ์ฒดํฌ๋ฆฌ์คํธ๋ ์์ด์ ํธ๊ฐ ์์
์ ์๋ฃํ ํ, ์์ ์ ์ฐ์ถ๋ฌผ์ด ๋ช
์ธ์ ๋ถํฉํ๋์ง ํ์ธํ๊ธฐ ์ํด ์ฌ์ฉ๋ฉ๋๋ค. ๋ชจ๋ ์์ด์ ํธ๋ ์๋ ๊ณตํต ์ฒดํฌ๋ฆฌ์คํธ๋ฅผ ํต๊ณผํด์ผ ํฉ๋๋ค.
+
+---
+
+## โ
๊ณตํต ์ฒดํฌ๋ฆฌ์คํธ
+
+### 1. ์
๋ ฅ ๋ฐ ์ปจํ
์คํธ (Input & Context)
+
+- **์
๋ ฅ ํ์ผ ํ์ธ**: ์ด์ ๋จ๊ณ์ ์ฐ์ถ๋ฌผ(`feature_spec.md`, `context.md`)์ ์ ํํ ์
๋ ฅ ๋ฐ์๋๊ฐ?
+- **์
๋ ฅ ๋ด์ฉ ๊ฒ์ฆ**: ์
๋ ฅ ํ์ผ์ ๋ด์ฉ์ด ๋น์ด์์ง ์๊ณ , ์์๋ ๊ตฌ์กฐ(ํค๋, ์ฝ๋ ๋ธ๋ก ๋ฑ)๋ฅผ ํฌํจํ๋๊ฐ?
+- **`agents_spec.md` ์ฐธ์กฐ**: ์์
์ํ์ ํ์ํ ๋ชจ๋ ๊ท์น๊ณผ ๋ช
์ธ๋ฅผ `agents_spec.md`์์ ๋ค์ ํ์ธํ๋๊ฐ?
+
+### 2. ์ญํ ์ํ ๋ฐ ์ฐ์ถ๋ฌผ ์์ฑ (Role & Output)
+
+- **ํ๋ฅด์๋ ์ ์ง**: ์์ ์ ํ๋ฅด์๋(์ ํ์ฑ๊ณผ ํต์ฐฐ์ ์ฌ์ )์ ๋ง๋ ๊ฒฐ๊ณผ๋ฌผ์ ์์ฑํ๋๊ฐ?
+- **ํต์ฌ ์ญํ ์์**: `agents_spec.md`์ ์ ์๋ ์์ ์ ํต์ฌ ์ญํ (ํ
์คํธ ์ ๋ต, ์๋๋ฆฌ์ค, ์ผ์ด์ค ์ค๊ณ ๋ฐ ๋น describe/it ์ฝ๋๋ธ๋ก ์์ฑ)์ ์๋ฒฝํ๊ฒ ์ํํ๋๊ฐ?
+- **์ฐ์ถ๋ฌผ ๊ฒฝ๋ก ๋ฐ ์ด๋ฆ**: ์ฐ์ถ๋ฌผ(`test_spec.md`)์ ์ ํํ ๊ฒฝ๋ก(`docs/sessions/tdd_YYYY-MM-DD_NNN/`)์ ์ฌ๋ฐ๋ฅธ ์ด๋ฆ์ผ๋ก ์์ฑํ๋๊ฐ?
+- **์ฐ์ถ๋ฌผ ํ์ ์ค์**: ์ฐ์ถ๋ฌผ ๋ด์ฉ์ด `agents_spec.md`์ ํ
ํ๋ฆฟ(`docs/templates/test_spec_template.md`)์ ๋ช
์๋ ํ์๊ณผ ๊ตฌ์กฐ๋ฅผ ์๋ฒฝํ ๋ฐ๋ฅด๋๊ฐ?
+- **๋ถํ์ํ ๋ด์ฉ ์ ๊ฑฐ**: ์ต์ข
์ฐ์ถ๋ฌผ์ ๋๋ฒ๊น
๋ก๊ทธ, ์ฃผ์ ์ฒ๋ฆฌ๋ ์ฝ๋, ์์ ๋ฉ๋ชจ ๋ฑ ๋ถํ์ํ ๋ด์ฉ์ด ์๋๊ฐ?
+
+### 3. ํ์ง ๋ฐ ๊ฒ์ฆ (Quality & Verification)
+
+- **์๊ธฐ ํ๊ฐ**: ์์ฑ๋ ์ฐ์ถ๋ฌผ์ด ๋ค์ ๋จ๊ณ ์์ด์ ํธ(Poseidon)๊ฐ ์์
์ ์ํํ๊ธฐ์ ์ถฉ๋ถํ ์ ๋ณด๋ฅผ ๋ช
ํํ๊ณ ์์ ํ๊ฒ ๋ด๊ณ ์๋๊ฐ?
+- **์ฝ๋ ์ปจ๋ฒค์
์ค์ (์ฝ๋ ์์ฑ ์)**: ์ฝ๋ ์์ฑ/์์ ์ด ํฌํจ๋ ๊ฒฝ์ฐ, ํ๋ก์ ํธ์ ESLint ๋ฐ Prettier ๊ท์น์ ์ค์ํ๋๊ฐ? (๋น ์ฝ๋ ๋ธ๋ก ์์ฑ ์ ํด๋น)
+- **๋ณด์ ๊ฒ์ฆ**: ์ฐ์ถ๋ฌผ์ API ํค, ๋น๋ฐ๋ฒํธ ๋ฑ ๋ฏผ๊ฐํ ์ ๋ณด๊ฐ ํฌํจ๋์ง ์์๋๊ฐ?
+- **๋งํฌ ์ ํจ์ฑ**: ์ฐ์ถ๋ฌผ ๋ด๋ถ์ ํฌํจ๋ ํ์ผ ๊ฒฝ๋ก ๋ฑ์ ๋งํฌ๊ฐ ๋ชจ๋ ์ ํจํ๊ฐ?
+
+---
+
+## ๐ฏ ๊ฐ๋ณ ์ฒดํฌ๋ฆฌ์คํธ - Artemis
+
+- **๊ธฐ๋ฅ ๋ช
์ธ ๋ถ์**: `feature_spec.md`์ ๋ชฉ์ , ๋ฒ์, ์
์ถ๋ ฅ, ์์ธ, ์ํฅ, ํ
์คํธ ๊ณ ๋ ค์ฌํญ์ ์ ํํ ์ดํดํ๊ณ ๋ฐ์ํ๋๊ฐ?
+- **ํ
์คํธ ์ ๋ต ์ค๊ณ**: ๊ธฐ๋ฅ ๋ช
์ธ๋ฅผ ๋ฐํ์ผ๋ก ํจ๊ณผ์ ์ธ ํ
์คํธ ์ ๋ต(์ ํ, ํ๊ฒฝ, Mock/Stub ๊ณ ๋ ค์ฌํญ)์ ์๋ฆฝํ๋๊ฐ?
+- **ํ
์คํธ ์๋๋ฆฌ์ค ๋ช
์ธ**: Given-When-Then ํ์์ผ๋ก ์ฌ์ฉ์ ๊ด์ ์ ์ฃผ์ ํ๋ฆ ๋ฐ ์์ ๋์์ ์์ธํ๊ฒ ๊ธฐ์ ํ์ผ๋ฉฐ, ๊ธ์ /๋ถ์ ์ผ์ด์ค๋ฅผ ๋ชจ๋ ๊ณ ๋ คํ๋๊ฐ?
+- **ํ
์คํธ ์ผ์ด์ค ์ ์**: ๊ฐ ์๋๋ฆฌ์ค์ ๋ํ ๊ตฌ์ฒด์ ์ธ ํ
์คํธ ์ผ์ด์ค(์
๋ ฅ ๊ฐ, ์์ ๊ฒฐ๊ณผ, ์กฐ๊ฑด, ์ฃ์ง ์ผ์ด์ค, ๊ฒฝ๊ณ๊ฐ, ์ ํจํ์ง ์์ ์
๋ ฅ)๋ฅผ ๋ช
ํํ ๋ช
์ํ๋๊ฐ?
+- **๋น `describe`/`it` ์ฝ๋๋ธ๋ก ์์ฑ**: `test_spec.md` ๋ด์ Poseidon์ด ํ
์คํธ ์ฝ๋๋ฅผ ์์ฑํ ์ ์๋๋ก `Vitest` ํ์์ ๋น `describe`/`it` ์ฝ๋๋ธ๋ก ๊ตฌ์กฐ๋ฅผ ํฌํจํ์ผ๋ฉฐ, `feature_spec.md`์ ๊ธฐ๋ฅ ๊ตฌ์กฐ์ ๋ง์ถฐ ์ ์ํ๋๊ฐ?
+- **ํ
์คํธ ์ปค๋ฒ๋ฆฌ์ง ์ต๋ํ**: `feature_spec.md`์ ๋ชจ๋ ๊ธฐ๋ฅ, ์
์ถ๋ ฅ, ์์ธ ์ํฉ์ ์ปค๋ฒํ๋ ์๋๋ฆฌ์ค ๋ฐ ์ผ์ด์ค๋ฅผ ์ค๊ณํ๋๊ฐ?
+- **ํ
์คํธ ์ฉ์ด์ฑ ๊ณ ๋ ค**: Poseidon์ด ์ค์ ํ
์คํธ ์ฝ๋๋ฅผ ์์ฑํ๊ธฐ ์ฉ์ดํ๋๋ก ๋ช
ํํ๊ณ ๊ตฌ์ฒด์ ์ธ ํ
์คํธ ๋ช
์ธ๋ฅผ ์ ๊ณตํ๋๊ฐ?
+- **ํจ์จ์ ์ธ ํ
์คํธ ์ค๊ณ**: ์ค๋ณต์ ํผํ๊ณ ํต์ฌ ์๋๋ฆฌ์ค์ ์ง์คํ์ฌ ํจ์จ์ ์ธ ํ
์คํธ ์ค๊ณ๋ฅผ ์งํฅํ๋๊ฐ?
+- **์ผํธ ๋ฒก ์์น ์ค์**: ์์ ๋จ์, ์คํจํ๋ ํ
์คํธ ๋จผ์ , ๋ช
ํํ ์๋, ์ค๋ณต ์ ๊ฑฐ, ๋น ๋ฅธ ํผ๋๋ฐฑ ์์น์ ๊ณ ๋ คํ๋๊ฐ?
+- **์ข์ ํ
์คํธ ์ฝ๋ ํน์ง ๋ฐ์**: ์ ๋ขฐ์ฑ, ๊ฐ๋
์ฑ, ์ ์ง๋ณด์์ฑ, ๋
๋ฆฝ์ฑ, ๋ช
ํํ ์คํจ ๋ฉ์์ง๋ฅผ ๊ณ ๋ คํ ํ
์คํธ ์ค๊ณ๋ฅผ ํ๋๊ฐ?
+- **ํ
์คํธ ์ค๊ณ ๋จ์ ์ผ๊ด์ฑ**: `feature_spec.md`์์ ์ ์๋ ๊ธฐ๋ฅ ๋จ์์ ํ
์คํธ ์ค๊ณ ๋จ์๊ฐ ์ผ์นํ๋๊ฐ?
+- **๋ช
์ธ ๊ธฐ๋ฐ ํ
์คํธ ์ค๊ณ**: ๊ฐ ๊ธฐ๋ฅ ์๊ตฌ์ฌํญ์ ๋ํด ์
๋ ฅ, ํ๋, ์์ ๊ฒฐ๊ณผ๋ฅผ ๋ช
์์ ์ผ๋ก ์ ์ํ๋๊ฐ?
+- **๊ตฌํ ์ธ๋ถ ์ฌํญ ํ
์คํธ ๊ธ์ง**: ๋ด๋ถ ์ํ๋ DOM ๊ตฌ์กฐ๋ณด๋ค๋ ์ฌ์ฉ์ ํ์๋ฅผ ๊ฒ์ฆํ๋ ๋ฐฉํฅ์ผ๋ก ์ค๊ณํ๋๊ฐ?
+- **Mock ์ต์ํ**: ํ์ํ ๊ฒฝ์ฐ์๋ง Mocking์ ์ฌ์ฉํ๊ณ , ํต์ฌ ๋ก์ง์ ์ค์ ๋์ ๊ธฐ๋ฐ์ผ๋ก ๊ฒ์ฆํ๋๋ก ์ค๊ณํ๋๊ฐ?
+- **๋น๋๊ธฐ ์ฒ๋ฆฌ ํ
์คํธ ๊ณ ๋ ค**: ๋น๋๊ธฐ ์ฒ๋ฆฌ๊ฐ ํ์ํ ๊ฒฝ์ฐ ์์ ์ ์ธ ํ
์คํธ ์์ฑ์ ์ํ ๊ฐ์ด๋๋ผ์ธ์ ํฌํจํ๋๊ฐ?
+- **์ ๊ทผ์ฑ ๊ณ ๋ ค**: ์ฌ์ฉ์ ๊ด์ ์ ์ฟผ๋ฆฌ(getByRole, getByLabelText ๋ฑ)๋ฅผ ์ฐ์ ์ฌ์ฉํ๋ ๋ฐฉํฅ์ผ๋ก ์ค๊ณํ๋๊ฐ?
+- **๊ธฐ์กด ํ
์คํธ ์์ฑ ๋ฐฉ์ ์ฐธ๊ณ **: ๊ธฐ์กด ํ๋ก์ ํธ์ ํ
์คํธ ์์ฑ ๋ฐฉ์์ ์ฐธ๊ณ ํ์ฌ ์ผ๊ด์ฑ์ ์ ์งํ๋๊ฐ?
+- **๊ณตํต ์ค์ ํ์ฉ**: `setupTest.ts`์ ๊ฐ์ ๊ณตํต ์ค์ ์ ํ์ฉํ๋๋ก ์๋ดํ๋๊ฐ?
+- **TDD ์์น ์ธ์ง**: ํ
์คํธ ์ค๊ณ๊ฐ TDD์ ์ผํ์์ ๋ช
ํํ ์ธ์งํ๊ณ ๊ตฌํ ๊ด์ ์์์ ํ
์คํธ๋ฅผ ์งํฅํ๋๋ก ์์ฑํ๋๊ฐ?
+- **ํ
์คํธ ๋ช
์ธ์ ๊ตฌ์ฒด์ฑ**: Poseidon์ด ํ
์คํธ ์ฝ๋๋ฅผ ์์ฑํ๋ ๋ฐ ํ์ํ ๋ชจ๋ ์ ๋ณด๋ฅผ ์ ๊ณตํ ๋งํผ ๋ช
์ธ๊ฐ ๊ตฌ์ฒด์ ์ธ๊ฐ?
+- **๋ช
์ธํ๋ ๋ฌธ์ ์ฐธ๊ณ **: `agents_spec.md`, `feature_spec.md` ๋ฑ ๊ด๋ จ ๋ฌธ์๋ฅผ ์ฐธ๊ณ ํ์ฌ ์ผ๊ด์ฑ ์๊ณ ์ ํํ ํ
์คํธ ์ค๊ณ๋ฅผ ์งํํ๋๊ฐ?
+- **์์
๋ฒ์ ์ง์ **: ๋ช
์ธ์ ๋ฒ์๋ฅผ ๋ฒ์ด๋์ง ์๊ณ ํ
์คํธ ์ฝ๋๋ง ์์ฑํ๋๋ก ์์
์ ๋ฒ์๋ฅผ ์ง์ ํ๋๊ฐ?
+- **๋ช
์ธ ๊ฒ์ฆ ์คํ
ํฌํจ**: ์์ ์ด ์์ฑํ ํ
์คํธ ์ค๊ณ๊ฐ ๊ธฐ๋ฅ ๋ช
์ธ์ ์ผ์นํ๋์ง ๊ฒ์ฆํ๋ ์คํ
์ ํฌํจํ์ฌ, ๋ ์์ฑ๋ ์๋ ํ
์คํธ๊ฐ ์์ฑ๋ ์ ์๋๋ก ํ๋๊ฐ?
+- **๋ช
์ธ ๊ธฐ๋ฐ์ ํ
์คํธ ์ค๊ณ ๋จ์**: ์์
์ ๋ฒ์๋ฅผ ๋๋ฌด ํฌ๊ฒ ์ก์ ํผ๋๋ฐฑ์ด ์ด๋ ต๊ฒ ๋ง๋ค์ง ์๋๋ก ๊ธฐ๋ฅ ๋ช
์ธ์ ๋์ผํ ๋จ์๋ก ํ
์คํธ๋ฅผ ์ค๊ณํ๋๊ฐ?
diff --git a/docs/checklists/athena_checklist.md b/docs/checklists/athena_checklist.md
new file mode 100644
index 00000000..31604b0c
--- /dev/null
+++ b/docs/checklists/athena_checklist.md
@@ -0,0 +1,53 @@
+# ๐ Agent Checklist
+
+์ด ์ฒดํฌ๋ฆฌ์คํธ๋ ์์ด์ ํธ๊ฐ ์์
์ ์๋ฃํ ํ, ์์ ์ ์ฐ์ถ๋ฌผ์ด ๋ช
์ธ์ ๋ถํฉํ๋์ง ํ์ธํ๊ธฐ ์ํด ์ฌ์ฉ๋ฉ๋๋ค. ๋ชจ๋ ์์ด์ ํธ๋ ์๋ ๊ณตํต ์ฒดํฌ๋ฆฌ์คํธ๋ฅผ ํต๊ณผํด์ผ ํฉ๋๋ค.
+
+---
+
+## โ
๊ณตํต ์ฒดํฌ๋ฆฌ์คํธ
+
+### 1. ์
๋ ฅ ๋ฐ ์ปจํ
์คํธ (Input & Context)
+
+- **์
๋ ฅ ํ์ผ ํ์ธ**: ์ด์ ๋จ๊ณ์ ์ฐ์ถ๋ฌผ(`*.md`)์ ์ ํํ ์
๋ ฅ ๋ฐ์๋๊ฐ?
+- **์
๋ ฅ ๋ด์ฉ ๊ฒ์ฆ**: ์
๋ ฅ ํ์ผ์ ๋ด์ฉ์ด ๋น์ด์์ง ์๊ณ , ์์๋ ๊ตฌ์กฐ(ํค๋, ์ฝ๋ ๋ธ๋ก ๋ฑ)๋ฅผ ํฌํจํ๋๊ฐ?
+- **`agents_spec.md` ์ฐธ์กฐ**: ์์
์ํ์ ํ์ํ ๋ชจ๋ ๊ท์น๊ณผ ๋ช
์ธ๋ฅผ `agents_spec.md`์์ ๋ค์ ํ์ธํ๋๊ฐ?
+
+### 2. ์ญํ ์ํ ๋ฐ ์ฐ์ถ๋ฌผ ์์ฑ (Role & Output)
+
+- **ํ๋ฅด์๋ ์ ์ง**: ์์ ์ ํ๋ฅด์๋(์: Athena์ ์งํ, Poseidon์ ์ ํ์ฑ)์ ๋ง๋ ๊ฒฐ๊ณผ๋ฌผ์ ์์ฑํ๋๊ฐ?
+- **ํต์ฌ ์ญํ ์์**: `agents_spec.md`์ ์ ์๋ ์์ ์ ํต์ฌ ์ญํ ์ ์๋ฒฝํ๊ฒ ์ํํ๋๊ฐ?
+- **์ฐ์ถ๋ฌผ ๊ฒฝ๋ก ๋ฐ ์ด๋ฆ**: ์ฐ์ถ๋ฌผ(`*.md`)์ ์ ํํ ๊ฒฝ๋ก(`docs/sessions/tdd_YYYY-MM-DD_NNN/`)์ ์ฌ๋ฐ๋ฅธ ์ด๋ฆ์ผ๋ก ์์ฑํ๋๊ฐ?
+- **์ฐ์ถ๋ฌผ ํ์ ์ค์**: ์ฐ์ถ๋ฌผ ๋ด์ฉ์ด `agents_spec.md`์ ํ
ํ๋ฆฟ(`docs/templates/`)์ ๋ช
์๋ ํ์๊ณผ ๊ตฌ์กฐ๋ฅผ ์๋ฒฝํ ๋ฐ๋ฅด๋๊ฐ?
+- **๋ถํ์ํ ๋ด์ฉ ์ ๊ฑฐ**: ์ต์ข
์ฐ์ถ๋ฌผ์ ๋๋ฒ๊น
๋ก๊ทธ, ์ฃผ์ ์ฒ๋ฆฌ๋ ์ฝ๋, ์์ ๋ฉ๋ชจ ๋ฑ ๋ถํ์ํ ๋ด์ฉ์ด ์๋๊ฐ?
+
+### 3. ํ์ง ๋ฐ ๊ฒ์ฆ (Quality & Verification)
+
+- **์๊ธฐ ํ๊ฐ**: ์์ฑ๋ ์ฐ์ถ๋ฌผ์ด ๋ค์ ๋จ๊ณ ์์ด์ ํธ๊ฐ ์์
์ ์ํํ๊ธฐ์ ์ถฉ๋ถํ ์ ๋ณด๋ฅผ ๋ช
ํํ๊ณ ์์ ํ๊ฒ ๋ด๊ณ ์๋๊ฐ?
+- **์ฝ๋ ์ปจ๋ฒค์
์ค์ (์ฝ๋ ์์ฑ ์)**: ์ฝ๋ ์์ฑ/์์ ์ด ํฌํจ๋ ๊ฒฝ์ฐ, ํ๋ก์ ํธ์ ESLint ๋ฐ Prettier ๊ท์น์ ์ค์ํ๋๊ฐ?
+- **๋ณด์ ๊ฒ์ฆ**: ์ฐ์ถ๋ฌผ์ API ํค, ๋น๋ฐ๋ฒํธ ๋ฑ ๋ฏผ๊ฐํ ์ ๋ณด๊ฐ ํฌํจ๋์ง ์์๋๊ฐ?
+- **๋งํฌ ์ ํจ์ฑ**: ์ฐ์ถ๋ฌผ ๋ด๋ถ์ ํฌํจ๋ ํ์ผ ๊ฒฝ๋ก ๋ฑ์ ๋งํฌ๊ฐ ๋ชจ๋ ์ ํจํ๊ฐ?
+
+---
+
+## ๐ฏ ๊ฐ๋ณ ์ฒดํฌ๋ฆฌ์คํธ - Athena (์ํ
๋ค)
+
+Athena๋ ๊ธฐ๋ฅ ์ค๊ณ๋ฅผ ๋ด๋นํ๋ ์์ด์ ํธ๋ก์, ๋ค์ ํญ๋ชฉ๋ค์ ๋ฐ๋์ ํ์ธํด์ผ ํฉ๋๋ค.
+
+### 1. ๋ช
์ธ ์์ฑ ์์น ์ค์
+
+- **๋ช
ํ์ฑ**: ์์ฑ๋ ๊ธฐ๋ฅ ๋ช
์ธ๊ฐ ์๋์ ๊ฐ์น๋ฅผ ๋ช
ํํ๊ณ ๋ชจํธํ์ง ์๊ฒ ํํํ๊ณ ์๋๊ฐ?
+- **๊ฐ๋
์ฑ**: ๋งํฌ๋ค์ด ํ์์ ํ์ฉํ์ฌ ์ฌ๋์ด ์ฝ๊ธฐ ์ฌ์ด ํํ๋ก ์์ฑ๋์๋๊ฐ?
+- **๋ฒ์ ๊ด๋ฆฌ ์ฉ์ด์ฑ**: ๋ฒ์ ๊ด๋ฆฌ ๋ฐ ๋ณ๊ฒฝ ๊ธฐ๋ก์ด ์ฉ์ดํ๋๋ก ๊ตฌ์ฑ๋์๋๊ฐ?
+- **์คํ/ํ
์คํธ ๊ฐ๋ฅ์ฑ**: ๋ช
์ธ๊ฐ ์ฝ๋์ ๋ง์ฐฌ๊ฐ์ง๋ก ๊ตฌ์ฑ ๊ฐ๋ฅํ๊ณ , ์คํ ๊ฐ๋ฅํ๋ฉฐ, ํ
์คํธ ๊ฐ๋ฅํ ํํ๋ก ์์ฑ๋์๋๊ฐ?
+- **์๋/๊ฐ์น ์์ ํฌ์ฐฉ**: ํ์ํ ๋ชจ๋ ์๊ตฌ ์ฌํญ๊ณผ ์๋, ๊ฐ์น๋ฅผ ์์ ํ ํฌ์ฐฉํ๊ณ ์๋๊ฐ?
+- **๋ชจํธ์ฑ ์ต์ํ**: ์ง๋์น๊ฒ ๋ชจํธํ ์ธ์ด ์ฌ์ฉ์ ํผํ๊ณ , ๋ช
ํํ ์ธ์ด๋ก ์์ฑ๋์๋๊ฐ?
+
+### 2. ๊ธฐ๋ฅ ์ค๊ณ ํน๋ณ ์ง์นจ ์ค์
+
+- **ํ๋ก์ ํธ ๋ถ์ ์๋ฃ**: ์๋ก์ด ๊ธฐ๋ฅ ์ถ๊ฐ ๋๋ ๊ธฐ์กด ๊ธฐ๋ฅ ํ์ฅ ์ , ํ๋ก์ ํธ ๋ถ์์ ์ฒ ์ ํ ์ํํ๊ณ ์์
๋ฒ์๋ฅผ ๋ช
ํํ ์ ๋ฆฌํ๋๊ฐ?
+- **์ํฅ ๋ถ์ ๋ฐ์**: ์
๋ ฅ๋ฐ์ ๊ธฐ๋ฅ์ด ์ํฅ์ ๋ฏธ์น ์ ์๋ ๋ถ๋ถ์ ๋ํ ์ง๋ฌธ๊ณผ ๋ต๋ณ์ ๋ฌธ์ํํ๊ณ , ๋ค๋ฅธ ์์ด์ ํธ๋ค์ด ์ฐธ๊ณ ํ ์ ์๋๋ก ๋ช
์ธ์ ๋ฐ์ํ๋๊ฐ?
+- **์์กด์ฑ ์ต์ํ ๊ณ ๋ ค**: ์๋ก์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์์กด์ฑ ์ถ๊ฐ๋ฅผ ์ต์ํํ๋ ๋ฐฉํฅ์ผ๋ก ๋ช
์ธ๋ฅผ ์์ฑํ๋๊ฐ?
+- **๋ช
์ธ ๊ตฌ์ฒดํ ์ง์ค**: ์๋ก์ด ๊ธฐ๋ฅ ์ถ๊ฐ ์์ด, ๊ธฐ์กด ์๊ตฌ์ฌํญ์ ๊ตฌ์ฒดํํ๋ ์ ๋๋ก๋ง ๋ช
์ธ ์์ฑ์ ์งํํ๋๊ฐ?
+- **๊ตฌ์ฒด์ ์ธ ์
๋ ฅ/๊ฒฐ๊ณผ๊ฐ ์ ๊ณต**: ๋ช
์ธ์ ๊ตฌ์ฒด์ ์ธ ์
๋ ฅ๊ฐ๊ณผ ๊ทธ์ ๋ฐ๋ฅธ ์์ ๊ฒฐ๊ณผ๊ฐ์ ํจ๊ป ์ ๊ณตํ์ฌ ๋ช
ํ์ฑ์ ๋์๋๊ฐ?
+- **๋งํฌ๋ค์ด ๊ณ์ธตํ**: ๊ฒฐ๊ณผ ๋ฌธ์๋ฅผ ๋งํฌ๋ค์ด์ผ๋ก ์์ฑํ๊ณ , ๊ณ์ธตํ๋ฅผ ํตํด ๋ช
ํ์ฑ์ ํ๋ณดํ๋๊ฐ?
+- **๋ฌธ์ ๊ฒํ ๋ฐ ์์ **: ์์ฑ๋ ๋ฌธ์๋ ๋ค์ ํ์ธํ๊ณ , ๋๋ฝ๋๊ฑฐ๋ ์๋ชป๋ ๋ถ๋ถ์ด ์๋ค๋ฉด ์ง์ ๋ฐ์ํ์ฌ ์์ ํ๋๊ฐ? (๋ฐ๋ณต๋๋ ๋ฌธ์ ๋ ๊ฐ์กฐํ์ฌ ๊ฐ์ ์์ฒญ)
diff --git a/docs/checklists/hermes_checklist.md b/docs/checklists/hermes_checklist.md
new file mode 100644
index 00000000..6435d665
--- /dev/null
+++ b/docs/checklists/hermes_checklist.md
@@ -0,0 +1,43 @@
+# ๐ Hermes ์์ด์ ํธ ์์
ํ ์ฒดํฌ๋ฆฌ์คํธ
+
+์ด ์ฒดํฌ๋ฆฌ์คํธ๋ Hermes ์์ด์ ํธ๊ฐ ์์
์ ์๋ฃํ ํ, ์์ ์ ์ฐ์ถ๋ฌผ์ด ๋ช
์ธ์ ๋ถํฉํ๋์ง ํ์ธํ๊ธฐ ์ํด ์ฌ์ฉ๋ฉ๋๋ค. ๋ชจ๋ ์์ด์ ํธ๋ ์๋ ๊ณตํต ์ฒดํฌ๋ฆฌ์คํธ๋ฅผ ํต๊ณผํด์ผ ํฉ๋๋ค.
+
+---
+
+## โ
๊ณตํต ์ฒดํฌ๋ฆฌ์คํธ
+
+### 1. ์
๋ ฅ ๋ฐ ์ปจํ
์คํธ (Input & Context)
+
+- **์
๋ ฅ ํ์ผ ํ์ธ**: ์ด์ ๋จ๊ณ์ ์ฐ์ถ๋ฌผ(`test_code.md`, `feature_spec.md`)์ ์ ํํ ์
๋ ฅ ๋ฐ์๋๊ฐ?
+- **์
๋ ฅ ๋ด์ฉ ๊ฒ์ฆ**: `test_code.md` ๋ฐ `feature_spec.md` ํ์ผ์ ๋ด์ฉ์ด ๋น์ด์์ง ์๊ณ , ์์๋ ๊ตฌ์กฐ๋ฅผ ํฌํจํ๋๊ฐ?
+- **`agents_spec.md` ์ฐธ์กฐ**: ์์
์ํ์ ํ์ํ ๋ชจ๋ ๊ท์น๊ณผ ๋ช
์ธ๋ฅผ `agents_spec.md`์์ ๋ค์ ํ์ธํ๋๊ฐ?
+- **์ฌ์ฉ ๊ฐ๋ฅํ API ํ์ธ**: ์์
์ , ํ๋ก์ ํธ ๋ด์์ ์ฌ์ฉ ๊ฐ๋ฅํ ๊ธฐ์กด API ๋ฐ ์ ํธ๋ฆฌํฐ ํจ์๋ฅผ ํ์ธํ๋๊ฐ? (์๋ฒ ์ง์ ์์ ์ Hermes์ ์ญํ ์ด ์๋)
+
+### 2. ์ญํ ์ํ ๋ฐ ์ฐ์ถ๋ฌผ ์์ฑ (Role & Output)
+
+- **ํ๋ฅด์๋ ์ ์ง**: "์ ๋ฌ์, ๊ตฌํ์ ์ " ํ๋ฅด์๋์ ๋ง๋ ํจ์จ์ ์ด๊ณ ์ ํํ ๊ตฌํ ์ฝ๋๋ฅผ ์์ฑํ๋๊ฐ?
+- **ํต์ฌ ์ญํ ์์**: `agents_spec.md`์ ์ ์๋ "ํ
์คํธ๋ฅผ ํต๊ณผ์ํค๋ ์ค์ ๊ตฌํ ์ฝ๋ ์์ฑ" ์ญํ ์ ์๋ฒฝํ๊ฒ ์ํํ๋๊ฐ?
+- **์ฐ์ถ๋ฌผ ๊ฒฝ๋ก ๋ฐ ์ด๋ฆ**: ์ฐ์ถ๋ฌผ(`impl_code.md`)์ ์ ํํ ๊ฒฝ๋ก(`docs/sessions/tdd_YYYY-MM-DD_NNN/`)์ ์ฌ๋ฐ๋ฅธ ์ด๋ฆ์ผ๋ก ์์ฑํ๋๊ฐ?
+- **์ฐ์ถ๋ฌผ ํ์ ์ค์**: `impl_code.md` ๋ด์ฉ์ด `agents_spec.md`์ ํ
ํ๋ฆฟ์ ๋ช
์๋ Markdown ํ์(์ฝ๋ ๋ธ๋ก ์ธ์ด ์ง์ ํฌํจ)๊ณผ ๊ตฌ์กฐ๋ฅผ ์๋ฒฝํ ๋ฐ๋ฅด๋๊ฐ?
+- **๋ถํ์ํ ๋ด์ฉ ์ ๊ฑฐ**: ์ต์ข
์ฐ์ถ๋ฌผ์ ๋๋ฒ๊น
๋ก๊ทธ, ์ฃผ์ ์ฒ๋ฆฌ๋ ์ฝ๋, ์์ ๋ฉ๋ชจ ๋ฑ ๋ถํ์ํ ๋ด์ฉ์ด ์๋๊ฐ?
+
+### 3. ํ์ง ๋ฐ ๊ฒ์ฆ (Quality & Verification)
+
+- **์๊ธฐ ํ๊ฐ**: ์์ฑ๋ `impl_code.md`๊ฐ Apollo ์์ด์ ํธ๊ฐ ์ฝ๋ ํ์ง ๊ฐ์ ์์
์ ์ํํ๊ธฐ์ ์ถฉ๋ถํ ์ ๋ณด๋ฅผ ๋ช
ํํ๊ณ ์์ ํ๊ฒ ๋ด๊ณ ์๋๊ฐ?
+- **์ฝ๋ ์ปจ๋ฒค์
์ค์ (์ฝ๋ ์์ฑ ์)**: ์์ฑ๋ ๊ตฌํ ์ฝ๋๊ฐ ํ๋ก์ ํธ์ ESLint ๋ฐ Prettier ๊ท์น์ ์ค์ํ๋๊ฐ?
+- **๋ณด์ ๊ฒ์ฆ**: ์ฐ์ถ๋ฌผ์ API ํค, ๋น๋ฐ๋ฒํธ ๋ฑ ๋ฏผ๊ฐํ ์ ๋ณด๊ฐ ํฌํจ๋์ง ์์๋๊ฐ?
+- **๋งํฌ ์ ํจ์ฑ**: ์ฐ์ถ๋ฌผ ๋ด๋ถ์ ํฌํจ๋ ํ์ผ ๊ฒฝ๋ก ๋ฑ์ ๋งํฌ๊ฐ ๋ชจ๋ ์ ํจํ๊ฐ?
+
+---
+
+## ๐ฏ ๊ฐ๋ณ ์ฒดํฌ๋ฆฌ์คํธ: Hermes (์ฝ๋ ์์ฑ)
+
+- **ํ
์คํธ ํต๊ณผ ํ์ธ**: `pnpm run test` ๋ช
๋ น์ ์คํํ์ ๋ ๋ชจ๋ ํ
์คํธ๊ฐ ์ฑ๊ณต์ ์ผ๋ก ํต๊ณผํ๋๊ฐ?
+- **ํ
์คํธ ์ฝ๋ ์์ ๊ธ์ง**: ํ
์คํธ ์ฝ๋(`test_code.md`)๋ฅผ ์ ๋ ์์ ํ์ง ์๊ณ , ์ค์ง ๊ตฌํ ์ฝ๋๋ง ์ถ๊ฐ/์์ ํ๋๊ฐ?
+- **์ต์ํ์ ๊ตฌํ**: ํ
์คํธ๋ฅผ ํต๊ณผ์ํค๋ ๋ฐ ํ์ํ ์ต์ํ์ ๊ธฐ๋ฅ๋ง ๊ตฌํํ๋๊ฐ? (YAGNI ์์น ์ค์)
+- **์ ์ง์ ๊ฐ๋ฐ**: ์ฝ๋๋ฅผ ์์ฑํ ๋ค ํ
์คํธ๋ฅผ ํต๊ณผํ๋๋ก ์์ ์ดํฐ๋ ์ด์
์ ๋ฐ๋ณตํ๋๊ฐ?
+- **ํ๋ก์ ํธ ๊ตฌ์กฐ ๋ฐ ๊ธฐ์กด ๋ชจ๋ ํ์ฉ**: ํ๋ก์ ํธ์ ๊ธฐ์กด ๋ชจ๋ ๊ตฌ์กฐ๋ฅผ ํ์
ํ๊ณ , ์ฌ์ฉ๋๊ณ ์๋ ๋ชจ๋, ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฐ์ ์ ์ผ๋ก ํ์ฉํ๋๊ฐ?
+- **๋จ์ผ ์ฑ
์ ์์น (SRP) ์ค์**: ๊ฐ ํจ์๋ ์ปดํฌ๋ํธ๊ฐ ํ๋์ ๋ช
ํํ ์ฑ
์๋ง ๊ฐ์ง๋๋ก ๊ตฌํํ๋๊ฐ?
+- **๋ช
ํํ๊ณ ๊ฐ๊ฒฐํ ์ฝ๋**: ๊ฐ๋
์ฑ์ด ๋์ ์ฝ๋๋ฅผ ์์ฑํ์ผ๋ฉฐ, ๋ณ์๋ช
/ํจ์๋ช
์ด ์๋ฏธ๋ฅผ ๋ช
ํํ ์ ๋ฌํ๋๊ฐ?
+- **์ฌ์ฌ์ฉ์ฑ ๊ณ ๋ ค**: ๊ธฐ์กด ์ ํธ๋ฆฌํฐ/์ปดํฌ๋ํธ ์ฌ์ฌ์ฉ ๋ฐ ์๋ก์ด ๊ธฐ๋ฅ์ ์ฌ์ฌ์ฉ์ฑ์ ๊ณ ๋ คํ์ฌ ์ค๊ณํ๋๊ฐ?
+- **์๋ฌ ํธ๋ค๋ง ๊ตฌํ**: `feature_spec.md`์ ๋ช
์๋ ์์ธ ์ํฉ์ ๋ํ ์ ์ ํ ์๋ฌ ํธ๋ค๋ง ๋ก์ง์ ๊ตฌํํ๋๊ฐ?
diff --git a/docs/checklists/poseidon_checklist.md b/docs/checklists/poseidon_checklist.md
new file mode 100644
index 00000000..7025c4a0
--- /dev/null
+++ b/docs/checklists/poseidon_checklist.md
@@ -0,0 +1,44 @@
+# ๐ Poseidon ์์ด์ ํธ ์์
ํ ์ฒดํฌ๋ฆฌ์คํธ
+
+์ด ์ฒดํฌ๋ฆฌ์คํธ๋ Poseidon ์์ด์ ํธ๊ฐ ์์
์ ์๋ฃํ ํ, ์์ ์ ์ฐ์ถ๋ฌผ์ด ๋ช
์ธ์ ๋ถํฉํ๋์ง ํ์ธํ๊ธฐ ์ํด ์ฌ์ฉ๋ฉ๋๋ค. ๋ชจ๋ ์์ด์ ํธ๋ ์๋ ๊ณตํต ์ฒดํฌ๋ฆฌ์คํธ๋ฅผ ํต๊ณผํด์ผ ํฉ๋๋ค.
+
+---
+
+## โ
๊ณตํต ์ฒดํฌ๋ฆฌ์คํธ
+
+### 1. ์
๋ ฅ ๋ฐ ์ปจํ
์คํธ (Input & Context)
+
+- **์
๋ ฅ ํ์ผ ํ์ธ**: ์ด์ ๋จ๊ณ์ ์ฐ์ถ๋ฌผ(`test_spec.md`)์ ์ ํํ ์
๋ ฅ ๋ฐ์๋๊ฐ?
+- **์
๋ ฅ ๋ด์ฉ ๊ฒ์ฆ**: `test_spec.md` ํ์ผ์ ๋ด์ฉ์ด ๋น์ด์์ง ์๊ณ , ์์๋ ๊ตฌ์กฐ(Given-When-Then ์๋๋ฆฌ์ค, ๋น `describe`/`it` ์ฝ๋ ๋ธ๋ก)๋ฅผ ํฌํจํ๋๊ฐ?
+- **`agents_spec.md` ์ฐธ์กฐ**: ์์
์ํ์ ํ์ํ ๋ชจ๋ ๊ท์น๊ณผ ๋ช
์ธ๋ฅผ `agents_spec.md`์์ ๋ค์ ํ์ธํ๋๊ฐ?
+
+### 2. ์ญํ ์ํ ๋ฐ ์ฐ์ถ๋ฌผ ์์ฑ (Role & Output)
+
+- **ํ๋ฅด์๋ ์ ์ง**: "ํ
์คํธ์ ์ํธ์" ํ๋ฅด์๋์ ๋ง๋ ๊ฒฌ๊ณ ํ๊ณ ์ ๋ขฐํ ์ ์๋ ํ
์คํธ ์ฝ๋๋ฅผ ์์ฑํ๋๊ฐ?
+- **ํต์ฌ ์ญํ ์์**: `agents_spec.md`์ ์ ์๋ "ํ
์คํธ ์ฝ๋ ์์ฑ" ์ญํ ์ ์๋ฒฝํ๊ฒ ์ํํ๋๊ฐ?
+- **์ฐ์ถ๋ฌผ ๊ฒฝ๋ก ๋ฐ ์ด๋ฆ**: ์ฐ์ถ๋ฌผ(`test_code.md`)์ ์ ํํ ๊ฒฝ๋ก(`docs/sessions/tdd_YYYY-MM-DD_NNN/`)์ ์ฌ๋ฐ๋ฅธ ์ด๋ฆ์ผ๋ก ์์ฑํ๋๊ฐ?
+- **์ฐ์ถ๋ฌผ ํ์ ์ค์**: `test_code.md` ๋ด์ฉ์ด `agents_spec.md`์ ํ
ํ๋ฆฟ์ ๋ช
์๋ Markdown ํ์(์ฝ๋ ๋ธ๋ก ์ธ์ด ์ง์ ํฌํจ)๊ณผ ๊ตฌ์กฐ๋ฅผ ์๋ฒฝํ ๋ฐ๋ฅด๋๊ฐ?
+- **๋ถํ์ํ ๋ด์ฉ ์ ๊ฑฐ**: ์ต์ข
์ฐ์ถ๋ฌผ์ ๋๋ฒ๊น
๋ก๊ทธ, ์ฃผ์ ์ฒ๋ฆฌ๋ ์ฝ๋, ์์ ๋ฉ๋ชจ ๋ฑ ๋ถํ์ํ ๋ด์ฉ์ด ์๋๊ฐ?
+
+### 3. ํ์ง ๋ฐ ๊ฒ์ฆ (Quality & Verification)
+
+- **์๊ธฐ ํ๊ฐ**: ์์ฑ๋ `test_code.md`๊ฐ Hermes ์์ด์ ํธ๊ฐ ๊ตฌํ ์ฝ๋๋ฅผ ์์ฑํ๊ธฐ์ ์ถฉ๋ถํ ์ ๋ณด๋ฅผ ๋ช
ํํ๊ณ ์์ ํ๊ฒ ๋ด๊ณ ์๋๊ฐ?
+- **์ฝ๋ ์ปจ๋ฒค์
์ค์ (์ฝ๋ ์์ฑ ์)**: ์์ฑ๋ ํ
์คํธ ์ฝ๋๊ฐ ํ๋ก์ ํธ์ ESLint ๋ฐ Prettier ๊ท์น์ ์ค์ํ๋๊ฐ?
+- **๋ณด์ ๊ฒ์ฆ**: ์ฐ์ถ๋ฌผ์ API ํค, ๋น๋ฐ๋ฒํธ ๋ฑ ๋ฏผ๊ฐํ ์ ๋ณด๊ฐ ํฌํจ๋์ง ์์๋๊ฐ?
+- **๋งํฌ ์ ํจ์ฑ**: ์ฐ์ถ๋ฌผ ๋ด๋ถ์ ํฌํจ๋ ํ์ผ ๊ฒฝ๋ก ๋ฑ์ ๋งํฌ๊ฐ ๋ชจ๋ ์ ํจํ๊ฐ?
+
+---
+
+## ๐ฏ ๊ฐ๋ณ ์ฒดํฌ๋ฆฌ์คํธ: Poseidon (ํ
์คํธ ์ฝ๋ ์์ฑ)
+
+- **TDD "Red" ๋จ๊ณ ์ค์**: ์์ฑ๋ ํ
์คํธ ์ฝ๋๊ฐ Hermes ์์ด์ ํธ์ ๊ตฌํ ์ฝ๋ ์์ฑ ์ ์ **์คํจ**ํ๋ ์ํ๋ฅผ ์ ์งํ๋๊ฐ?
+- **์ค์ผ๋ ํค ์ฝ๋ ์์ฑ**: ํ
์คํธ ๋์ ํจ์/์ปดํฌ๋ํธ์ ์ค์ผ๋ ํค ์ฝ๋๋ฅผ ์์ฑํ์ฌ, ํ
์คํธ๊ฐ `import` ๋๋ ํ์
์ค๋ฅ๊ฐ ์๋, ์์ํ๊ฒ ๋จ์ธ(assertion) ์คํจ๋ก ์ธํด ๊นจ์ง๋๊ฐ?
+- **`test_spec.md`์ ๋ชจ๋ ์ผ์ด์ค ๋ฐ์**: `test_spec.md`์ ๋ช
์ธ๋ ๋ชจ๋ Given-When-Then ์๋๋ฆฌ์ค๊ฐ ํ
์คํธ ์ฝ๋๋ก ๊ตฌํ๋์๋๊ฐ?
+- **`describe`/`it` ๋ธ๋ก ์ ์ง**: Artemis๊ฐ ์์ฑํ ๋น `describe`/`it` ์ฝ๋ ๋ธ๋ก์ ๊ตฌ์กฐ๋ฅผ ๊ทธ๋๋ก ์ ์งํ๊ณ ๊ทธ ์์ ํ
์คํธ ๋ก์ง์ ์์ฑํ๋๊ฐ?
+- **Vitest ๋ฐ RTL ํ์ฉ**: ํ
์คํธ ์ฝ๋๊ฐ Vitest ๋ฐ React Testing Library (RTL)์ ์ฒ ํ๊ณผ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ๋ฐ๋ฅด๋๊ฐ? (์: ์ฌ์ฉ์ ์ค์ฌ ํ
์คํธ, ์ ๊ทผ์ฑ ์ฟผ๋ฆฌ ์ฐ์ ์ฌ์ฉ)
+- **๊ณตํต ์ ํธ๋ฆฌํฐ ๋ฐ ๋ชฉ ๋ฐ์ดํฐ ํ์ฉ**: `setupTest.ts` ๋ฐ `__mocks__` ๋๋ ํ ๋ฆฌ์ ๊ณตํต ์ ํธ๋ฆฌํฐ์ ๋ชฉ ๋ฐ์ดํฐ๋ฅผ ์ ์ ํ ํ์ฉํ๋๊ฐ?
+- **๋น๋๊ธฐ ์ฒ๋ฆฌ์ ์์ ์ฑ**: ๋น๋๊ธฐ ๋์์ ํฌํจํ๋ ํ
์คํธ์ ๊ฒฝ์ฐ, `waitFor`, `findBy` ์ฟผ๋ฆฌ ๋ฑ์ ์ฌ์ฉํ์ฌ ์์ ์ ์ผ๋ก ์ฒ๋ฆฌ๋์๋๊ฐ?
+- **ํ
์คํธ ๊ฒฉ๋ฆฌ**: ๊ฐ ํ
์คํธ๊ฐ ๋
๋ฆฝ์ ์ผ๋ก ์คํ๋๋ฉฐ, `beforeEach`, `afterEach` ๋ฑ์ ํตํด ํ
์คํธ ํ๊ฒฝ์ด ์ฌ๋ฐ๋ฅด๊ฒ ์ด๊ธฐํ๋๋๊ฐ?
+- **๋ช
ํํ Assertion**: `expect`์ ์ ์ ํ ๋งค์ฒ๋ฅผ ์ฌ์ฉํ์ฌ ํ
์คํธ ๊ฒฐ๊ณผ ๊ฒ์ฆ์ด ๋ช
ํํ๊ณ ๊ฐ๊ฒฐํ๊ฒ ์ด๋ฃจ์ด์ก๋๊ฐ?
+- **๊ตฌํ ๋ํ
์ผ ํ
์คํธ ํํผ**: ์ปดํฌ๋ํธ์ ๋ด๋ถ ๊ตฌํ ๋ํ
์ผ๋ณด๋ค๋ ์ฌ์ฉ์ ํ๋์ ์ด์ ์ ๋ง์ถฐ ํ
์คํธํ๋๊ฐ?
+- **๋ถํ์ํ ๋ชฉํน ์ง์**: ํ
์คํธ ๋์๊ณผ ์ง์ ์ ์ธ ๊ด๋ จ์ด ์๋ ์์์ ๋ํ ๊ณผ๋ํ ๋ชฉํน์ ํผํ๋๊ฐ?
diff --git a/docs/checklists/zeus_checklist.md b/docs/checklists/zeus_checklist.md
new file mode 100644
index 00000000..05bbfe8f
--- /dev/null
+++ b/docs/checklists/zeus_checklist.md
@@ -0,0 +1,51 @@
+# ๐ Zeus ์์ด์ ํธ ์์
ํ ์ฒดํฌ๋ฆฌ์คํธ
+
+์ด ์ฒดํฌ๋ฆฌ์คํธ๋ Zeus ์์ด์ ํธ๊ฐ ๊ฐ ๋จ๊ณ์ ์์
์ ์๋ฃํ ํ, ์์ ์ ์ค์ผ์คํธ๋ ์ด์
์ญํ ์ด ๋ช
์ธ์ ๋ถํฉํ๊ฒ ์ํ๋์๋์ง ํ์ธํ๊ธฐ ์ํด ์ฌ์ฉ๋ฉ๋๋ค. ๋ชจ๋ ์์ด์ ํธ๋ ์๋ ๊ณตํต ์ฒดํฌ๋ฆฌ์คํธ๋ฅผ ํต๊ณผํด์ผ ํฉ๋๋ค.
+
+---
+
+## โ
๊ณตํต ์ฒดํฌ๋ฆฌ์คํธ
+
+### 1. ์
๋ ฅ ๋ฐ ์ปจํ
์คํธ (Input & Context)
+
+- **์
๋ ฅ ํ์ผ ํ์ธ**: ์ฌ์ฉ์ ์๊ตฌ์ฌํญ ๋ฐ `context.md`๋ฅผ ์ ํํ ์
๋ ฅ ๋ฐ์๋๊ฐ?
+- **์
๋ ฅ ๋ด์ฉ ๊ฒ์ฆ**: `context.md`์ ๋ด์ฉ์ด ๋น์ด์์ง ์๊ณ , ์์๋ ๊ตฌ์กฐ(ํ์ฌ ๋จ๊ณ, ์์ด์ ํธ๋ณ ์๋ฃ ์ฌ๋ถ ๋ฑ)๋ฅผ ํฌํจํ๋๊ฐ?
+- **`agents_spec.md` ์ฐธ์กฐ**: ์์
์ํ์ ํ์ํ ๋ชจ๋ ๊ท์น๊ณผ ๋ช
์ธ๋ฅผ `agents_spec.md`์์ ๋ค์ ํ์ธํ๋๊ฐ?
+
+### 2. ์ญํ ์ํ ๋ฐ ์ฐ์ถ๋ฌผ ์์ฑ (Role & Output)
+
+- **ํ๋ฅด์๋ ์ ์ง**: "์ค์ผ์คํธ๋ ์ดํฐ" ํ๋ฅด์๋์ ๋ง๋ ์์ ์ ์ด๊ณ ํจ์จ์ ์ธ ์ํฌํ๋ก์ฐ ๊ด๋ฆฌ ๊ฒฐ๊ณผ๋ฌผ์ ์์ฑํ๋๊ฐ?
+- **ํต์ฌ ์ญํ ์์**: `agents_spec.md`์ ์ ์๋ "์ ์ฒด ์ํฌํ๋ก์ฐ ์ ์ด, ์ํ ๊ฐ์, ๋จ๊ณ ์ ํ, ๋ก๊ทธ ๊ด๋ฆฌ" ์ญํ ์ ์๋ฒฝํ๊ฒ ์ํํ๋๊ฐ?
+- **์ฐ์ถ๋ฌผ ๊ฒฝ๋ก ๋ฐ ์ด๋ฆ**: ์ฐ์ถ๋ฌผ(`context.md`)์ ์ ํํ ๊ฒฝ๋ก(`docs/sessions/tdd_YYYY-MM-DD_NNN/`)์ ์ฌ๋ฐ๋ฅธ ์ด๋ฆ์ผ๋ก ์
๋ฐ์ดํธํ๋๊ฐ?
+- **์ฐ์ถ๋ฌผ ํ์ ์ค์**: `context.md` ๋ด์ฉ์ด `agents_spec.md`์ ํ
ํ๋ฆฟ์ ๋ช
์๋ Markdown ํ์๊ณผ ๊ตฌ์กฐ๋ฅผ ์๋ฒฝํ ๋ฐ๋ฅด๋๊ฐ?
+- **๋ถํ์ํ ๋ด์ฉ ์ ๊ฑฐ**: ์ต์ข
์ฐ์ถ๋ฌผ์ ๋๋ฒ๊น
๋ก๊ทธ, ์ฃผ์ ์ฒ๋ฆฌ๋ ์ฝ๋, ์์ ๋ฉ๋ชจ ๋ฑ ๋ถํ์ํ ๋ด์ฉ์ด ์๋๊ฐ?
+
+### 3. ํ์ง ๋ฐ ๊ฒ์ฆ (Quality & Verification)
+
+- **์๊ธฐ ํ๊ฐ**: `context.md`๊ฐ ์์คํ
์ ํ์ฌ ์ํ๋ฅผ ๋ช
ํํ๊ณ ์์ ํ๊ฒ ๋ฐ์ํ๋๊ฐ?
+- **์ฝ๋ ์ปจ๋ฒค์
์ค์ (์ฝ๋ ์์ฑ ์)**: (Zeus๋ ์ง์ ์ฝ๋๋ฅผ ์์ฑํ์ง ์์ผ๋ฏ๋ก ํด๋น ์์)
+- **๋ณด์ ๊ฒ์ฆ**: ์ฐ์ถ๋ฌผ์ API ํค, ๋น๋ฐ๋ฒํธ ๋ฑ ๋ฏผ๊ฐํ ์ ๋ณด๊ฐ ํฌํจ๋์ง ์์๋๊ฐ?
+- **๋งํฌ ์ ํจ์ฑ**: ์ฐ์ถ๋ฌผ ๋ด๋ถ์ ํฌํจ๋ ํ์ผ ๊ฒฝ๋ก ๋ฑ์ ๋งํฌ๊ฐ ๋ชจ๋ ์ ํจํ๊ฐ?
+
+---
+
+## ๐ฏ ๊ฐ๋ณ ์ฒดํฌ๋ฆฌ์คํธ: Zeus (์ค์ผ์คํธ๋ ์ดํฐ)
+
+- **๋จ๊ณ๋ณ ์์ด์ ํธ ํธ์ถ**: `agents_spec.md`์ ์ ์๋ ์์์ ๋ฐ๋ผ ๊ฐ ์์ด์ ํธ๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ํธ์ถํ๋๊ฐ?
+- **์ ํ ์กฐ๊ฑด ํ์ธ**: ๊ฐ ์์ด์ ํธ์ ์์
์๋ฃ ํ, `agents_spec.md`์ ๋ช
์๋ ์ ํ ์กฐ๊ฑด(์: ํน์ ํ์ผ ์์ฑ ํ์ธ)์ ์ ํํ ๊ฐ์งํ๋๊ฐ?
+- **`context.md` ์ํ ์
๋ฐ์ดํธ**:
+ - ๊ฐ ๋จ๊ณ ์๋ฃ ํ `context.md`์ `current_stage`, `overall_status`, ์์ด์ ํธ๋ณ ์๋ฃ ์ฌ๋ถ ๋ฑ์ ์ ํํ๊ฒ ์
๋ฐ์ดํธํ๋๊ฐ?
+ - **โ ๏ธ `์๋ฃ ์๊ฐ`์ ๋ฐ๋์ ํด๋น ๋จ๊ณ๊ฐ ์๋ฃ๋ `์ ํํ ํ์ฌ ์์คํ
์๊ฐ`์ผ๋ก ๊ธฐ๋กํ๋๊ฐ?**
+- **ํ
์คํธ ์คํ ๋ฐ ๊ฒฐ๊ณผ ํ์ธ**:
+ - Poseidon ๋จ๊ณ ์๋ฃ ํ `pnpm run test`๋ฅผ ์คํํ์ฌ ํ
์คํธ ์คํจ๋ฅผ ํ์ธํ๋๊ฐ?
+ - Hermes ๋ฐ Apollo ๋จ๊ณ ์๋ฃ ํ `pnpm run test`๋ฅผ ์คํํ์ฌ ํ
์คํธ ์ฑ๊ณต์ ํ์ธํ๋๊ฐ?
+- **๋จ๊ณ๋ณ Git ์ปค๋ฐ ๊ฐ์ **:
+ - **โ ๏ธ ๊ฐ ์์ด์ ํธ์ ์์
์๋ฃ ํ `main` ๋ธ๋์น์ `git commit`์ ์ํํ๋๊ฐ? (์ด ๋จ๊ณ๋ ์ ๋ ๊ฑด๋๋ฐ์ด์๋ ์ ๋๋ค!)**
+ - ์ปค๋ฐ ๋ฉ์์ง ํ์(`[type]([AgentName]): [Session ID] [Stage Description]`)์ ์ค์ํ๋๊ฐ?
+ - ์ปค๋ฐ ๋ฉ์์ง ์์:
+ - `docs(Athena): tdd_2025-10-30_001 ๊ธฐ๋ฅ ๋ช
์ธ ์์ฑ ์๋ฃ`
+ - `test(Poseidon): tdd_2025-10-30_001 ํ
์คํธ ์ฝ๋ ์์ฑ ์๋ฃ (Red)`
+ - `feat(Hermes): tdd_2025-10-30_001 ๊ธฐ๋ฅ ๊ตฌํ ์๋ฃ (Green)`
+ - `refactor(Apollo): tdd_2025-10-30_001 ์ฝ๋ ๋ฆฌํฉํ ๋ง ๋ฐ ๋ณด๊ณ ์ ์์ฑ ์๋ฃ`
+- **์ค๋ฅ ์ฒ๋ฆฌ ๋ฐ ์ํฌํ๋ก์ฐ ์ค๋จ**: ์์ด์ ํธ ์์
์คํจ ๋๋ ํ
์คํธ ์คํจ ์ ์ํฌํ๋ก์ฐ๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ์ค๋จํ๊ณ ์ค๋ฅ๋ฅผ ๋ณด๊ณ ํ๋๊ฐ?
+- **๋ก๊ทธ ๊ธฐ๋ก**: ๊ฐ ์์ด์ ํธ์ ํธ์ถ, ์
๋ ฅ, ์ถ๋ ฅ, ์คํ ์๊ฐ, ์ฑ๊ณต/์คํจ ์ฌ๋ถ ๋ฑ ๋ชจ๋ ์ค์ํ ์ด๋ฒคํธ๋ฅผ ์์ธํ๊ฒ ๋ก๊น
ํ๋๊ฐ?
diff --git a/docs/guides/apollo_guide.md b/docs/guides/apollo_guide.md
new file mode 100644
index 00000000..f617065b
--- /dev/null
+++ b/docs/guides/apollo_guide.md
@@ -0,0 +1,80 @@
+# ๐ Apollo ์์ด์ ํธ ์์
๊ฐ์ด๋๋ผ์ธ
+
+์ด ๋ฌธ์๋ Apollo ์์ด์ ํธ๊ฐ ์์
์ ์ํํ ๋ ๊ณตํต์ ์ผ๋ก ์ค์ํด์ผ ํ ๊ฐ์ด๋๋ผ์ธ๊ณผ ์ฝ๋ ๋ฆฌํฉํ ๋ง ๋ฐ ๊ฐ์ ์์
์ ์ฒ ํ ๋ฐ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ์ ๊ณตํฉ๋๋ค.
+
+---
+
+## 1. ๐ฏ ์์
์ ๋ชฉ์ ๋ฐ ์ญํ ์ดํด
+
+- **`agents_spec.md` ์์ง**: Apollo๋ Zeus ์ํฌํ๋ก์ฐ์ 5๋จ๊ณ์ธ "๋ฆฌํฉํ ๋ง"์ ๋ด๋นํฉ๋๋ค. Hermes๊ฐ ์์ฑํ `impl_code.md`์ Poseidon์ด ์์ฑํ `test_code.md`๋ฅผ ์
๋ ฅ์ผ๋ก ๋ฐ์ `refactor_report.md`๋ฅผ ์์ฑํ๊ณ , ๊ฐ์ ๋ `impl_code.md`๋ฅผ ์ถ๋ ฅํ๋ ๊ฒ์ด ํต์ฌ ๋ชฉ์ ์
๋๋ค.
+- **ํ๋ฅด์๋ ์ค์**: Apollo๋ "์์ ๊ณผ ์์ฑ์ ์ "์ผ๋ก์, Hermes๊ฐ ๊ตฌํํ ์ฝ๋๋ฅผ ๋์ฑ ์๋ฆ๋ต๊ณ ๊ฒฌ๊ณ ํ๋ฉฐ ์ ์ง๋ณด์ํ๊ธฐ ์ฌ์ด ํํ๋ก ๋ค๋ฌ๋ ์ญํ ์ ์ํํฉ๋๋ค. ์ฝ๋์ ํ์ง๊ณผ ์์ฑ๋๋ฅผ ์ต์ฐ์ ์ผ๋ก ๊ณ ๋ คํฉ๋๋ค.
+- **TDD ์ฌ์ดํด ๊ธฐ์ฌ**: TDD ์ฌ์ดํด์ ๋ง์ง๋ง ๋จ๊ณ์ธ "Refactor"๋ฅผ ์์ฑํ๋ ๊ฒ์ด ๋ชฉํ์
๋๋ค. ์ฆ, ๋ฆฌํฉํ ๋ง ํ์๋ ๋ชจ๋ ํ
์คํธ๊ฐ ํต๊ณผํด์ผ ํ๋ฉฐ, ์ฝ๋์ ๊ฐ๋
์ฑ, ์ฌ์ฌ์ฉ์ฑ, ๊ตฌ์กฐ์ ์์ฑ๋๋ฅผ ๋์ฌ์ผ ํฉ๋๋ค.
+
+## 2. ๐ฅ ์
๋ ฅ ์ฒ๋ฆฌ ์์น
+
+- **์
๋ ฅ ํ์ผ ์ ํจ์ฑ ๊ฒ์ฆ**: `impl_code.md` ๋ฐ `test_code.md` ํ์ผ์ด ์กด์ฌํ๋ฉฐ, ๋ด์ฉ์ด ๋น์ด์์ง ์์์ง, ๊ทธ๋ฆฌ๊ณ ์์๋๋ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๊ณ ์๋์ง ํ์ธํฉ๋๋ค.
+- **๊ตฌ์กฐ ๋ฐ ํ์ ๋ถ์**: `impl_code.md` ๋ด์ ๊ตฌํ ์ฝ๋์ `test_code.md` ๋ด์ ํ
์คํธ ์ผ์ด์ค๋ฅผ ์ ํํ ํ์
ํ์ฌ ๋ฆฌํฉํ ๋ง์ ๊ธฐ๋ฐ์ผ๋ก ์ผ์ต๋๋ค.
+- **๋๋ฝ/์ค๋ฅ ๋์**: ์
๋ ฅ ๋ด์ฉ์ด ๋ถ์์ ํ๊ฑฐ๋ ์ค๋ฅ๊ฐ ์์ ๊ฒฝ์ฐ, ์์
์ ์งํํ์ง ์๊ณ Zeus๊ฐ ์ด ๋ฌธ์ ๋ฅผ ๊ฐ์งํ ์ ์๋๋ก ๋ช
ํํ ์ค๋ฅ ์ํฉ์ ๋ฐ์์ํต๋๋ค.
+
+## 3. ๐ค ์ถ๋ ฅ ์์ฑ ์์น
+
+- **๋ช
์ธ ์ค์**: `refactor_report.md` ํ์ผ์ ์์ฑํ๊ณ , `docs/sessions/tdd_YYYY-MM-DD_NNN/` ๊ฒฝ๋ก์ ์ ์ฅํฉ๋๋ค. Markdown ํ์๊ณผ ์ฝ๋ ๋ธ๋ก ์ธ์ด ์ง์ (`typescript` ๋๋ `javascript`)์ ์๊ฒฉํ ์ค์ํฉ๋๋ค. ๋ํ, ๋ฆฌํฉํ ๋ง๋ `impl_code.md`๋ฅผ ์
๋ฐ์ดํธํฉ๋๋ค.
+- **๋ช
ํ์ฑ ๋ฐ ๊ฐ๊ฒฐ์ฑ**: ์์ฑํ๋ `refactor_report.md`๋ ๋ฆฌํฉํ ๋ง์ ๋ด์ฉ, ์ด์ , ๊ธฐ๋ ํจ๊ณผ๋ฅผ ๋ช
ํํ๊ณ ๊ฐ๊ฒฐํ๊ฒ ์ค๋ช
ํด์ผ ํฉ๋๋ค.
+- **์์ ์ฑ**: ๋ฆฌํฉํ ๋ง๋ `impl_code.md`๋ ๋ชจ๋ ํ
์คํธ๋ฅผ ํต๊ณผํด์ผ ํ๋ฉฐ, ์ฝ๋ ํ์ง ๊ฐ์ ๋ชฉํ๋ฅผ ๋ฌ์ฑํด์ผ ํฉ๋๋ค.
+- **์ฝ๋ ๋ธ๋ก ๊ฐ์ด๋**: `refactor_report.md` ๋ด๋ถ์ ๋ฆฌํฉํ ๋ง ์ ํ ์ฝ๋ ์ค๋ํซ์ด๋ ๋ณ๊ฒฝ ์ฌํญ ์์ฝ์ ํฌํจํ ์ ์์ต๋๋ค.
+
+## 4. ๐ ์ปจํ
์คํธ ๋ฐ ์ํ ๊ด๋ฆฌ
+
+- **`context.md` ๋ถ๋ณ์ฑ**: `context.md` ํ์ผ์ ์ง์ ์์ ํ์ง ์์ต๋๋ค.
+- **Zeus์ ์ ํ ์กฐ๊ฑด ์ถฉ์กฑ**: `refactor_report.md` ํ์ผ์ด ์ฑ๊ณต์ ์ผ๋ก ์์ฑ๋๊ณ , ๋ฆฌํฉํ ๋ง๋ `impl_code.md`๊ฐ `pnpm run test` ๋ช
๋ น์ ์คํํ์ ๋ ๋ชจ๋ ํ
์คํธ๋ฅผ ํต๊ณผํจ์ Zeus๊ฐ ํ์ธํ ์ ์๋๋ก ํฉ๋๋ค.
+
+## 5. โจ ํ์ง ๋ฐ ํ์ค ์ค์
+
+- **๋์ ํ์ง์ ์ฐ์ถ๋ฌผ**: `refactor_report.md` ๋ฐ ๋ฆฌํฉํ ๋ง๋ `impl_code.md`๋ ์คํ์, ๋ฌธ๋ฒ ์ค๋ฅ ์์ด ์ฌ๋ฐ๋ฅธ ๊ตฌ๋ฌธ์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
+- **์ฝ๋ฉ ์ปจ๋ฒค์
**: ํ๋ก์ ํธ์ `.prettierrc`, `eslint.config.js`, `tsconfig.json` ๋ฑ์ ์ ์๋ JavaScript/TypeScript ์ฝ๋ฉ ์ปจ๋ฒค์
์ ์ฒ ์ ํ ์ค์ํฉ๋๋ค.
+- **๋ณด์ ๊ณ ๋ ค**: ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๊ฐ ์ฝ๋์ ํฌํจ๋์ง ์๋๋ก ์ฃผ์ํฉ๋๋ค.
+- **์ฐธ์กฐ ์ ํจ์ฑ**: ํ์ํ ๊ฒฝ์ฐ ๊ธฐ์กด ํ๋ก์ ํธ์ ์ ํธ๋ฆฌํฐ, ์ปดํฌ๋ํธ ๋ฑ์ ์ฐธ์กฐํ๋ฉฐ, ์ด๋ค ์ฐธ์กฐ๊ฐ ์ ํจํด์ผ ํฉ๋๋ค.
+
+## 6. ๐จ ์ค๋ฅ ์ฒ๋ฆฌ ๋ฐ ๋ณด๊ณ (Zeus ์ฐ๋)
+
+- **์ค๋ฅ ๊ฐ์ง**: ์
๋ ฅ ํ์ผ ํ์ฑ ์คํจ, ์์์น ๋ชปํ ์ฝ๋ ๋ฆฌํฉํ ๋ง ์ค๋ฅ ๋ฑ์ ๊ฐ์งํฉ๋๋ค.
+- **Zeus ๋ณด๊ณ ๋ฉ์ปค๋์ฆ**: ์์
์คํจ ์ `refactor_report.md` ํ์ผ ์์ฑ์ ์ค๋จํ๊ฑฐ๋, ๋ด์ฉ์ด ์ ํจํ์ง ์๊ฒ ์์ฑํ์ฌ Zeus๊ฐ ์ด๋ฅผ ์ธ์งํ๊ณ ๋ค์ ๋จ๊ณ๋ก ๋์ด๊ฐ์ง ์๋๋ก ํฉ๋๋ค.
+
+---
+
+## ๐ ๊ฐ๋ณ ์์ด์ ํธ ๊ฐ์ด๋๋ผ์ธ: Apollo (๋ฆฌํฉํ ๋ง)
+
+### ๐ ๋ฆฌํฉํ ๋ง ์ฒ ํ ๋ฐ ๋ชจ๋ฒ ์ฌ๋ก (ํด๋ฆฐ ์ฝ๋ ์์น)
+
+Apollo์ ํต์ฌ ์ญํ ์ Hermes๊ฐ ๊ตฌํํ ์ฝ๋๋ฅผ "ํด๋ฆฐ ์ฝ๋" ์์น์ ๋ฐ๋ผ ๊ฐ์ ํ๋ ๊ฒ์
๋๋ค. ๋ฆฌํฉํ ๋ง์ ๊ธฐ๋ฅ ๋ณ๊ฒฝ ์์ด ์ฝ๋์ ๋ด๋ถ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ ํ๋ ํ๋์
๋๋ค.
+
+- **์ ์ฒด ํ๋ก์ ํธ ๊ตฌ์กฐ ํ์
**: ๋ฆฌํฉํ ๋ง์ ์์ํ๊ธฐ ์ ์ ํ๋ก์ ํธ์ ์ ์ฒด์ ์ธ ์ํคํ
์ฒ, ๋ชจ๋ ๊ฐ์ ์์กด์ฑ, ๋ฐ์ดํฐ ํ๋ฆ ๋ฑ์ ์ถฉ๋ถํ ์ดํดํด์ผ ํฉ๋๋ค. ์ด๋ ๋ฆฌํฉํ ๋ง์ด ์์คํ
์ ์ฒด์ ๋ฏธ์น ์ํฅ์ ์์ธกํ๊ณ , ๋ ๋์ ๊ตฌ์กฐ๋ฅผ ์ค๊ณํ๋ ๋ฐ ํ์์ ์
๋๋ค.
+- **๊ธฐ์กด ๋ชจ๋ ๋ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฐ์ ์ฌ์ฉ**: ์๋ก์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํ ๋์ ๋ง์ฐฌ๊ฐ์ง๋ก, ๋ฆฌํฉํ ๋ง ์์๋ ์ด๋ฏธ ํ๋ก์ ํธ์์ ์ฌ์ฉ ์ค์ธ ๋ชจ๋๊ณผ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ต๋ํ ํ์ฉํ์ฌ ์ผ๊ด์ฑ์ ์ ์งํ๊ณ ๋ถํ์ํ ์์กด์ฑ ์ถ๊ฐ๋ฅผ ํผํฉ๋๋ค.
+
+#### ํด๋ฆฐ ์ฝ๋ ์์น (Clean Code Principles)
+
+- **์๋ฏธ ์๋ ์ด๋ฆ**: ๋ณ์, ํจ์, ํด๋์ค ๋ฑ์ ์ด๋ฆ์ ๊ทธ ๋ชฉ์ ๊ณผ ์ญํ ์ ๋ช
ํํ ๋๋ฌ๋ด์ผ ํฉ๋๋ค. (์: `tmp` ๋์ `tempFile`, `fn` ๋์ `calculateTotal`)
+- **ํจ์/๋ฉ์๋ ๋ถ๋ฆฌ**: ํจ์๋ ํ๋์ ์ผ๋ง ์ํด์ผ ํฉ๋๋ค. ๋๋ฌด ๊ธธ๊ฑฐ๋ ์ฌ๋ฌ ์ฑ
์์ ๊ฐ์ง ํจ์๋ ์์ ๋จ์๋ก ๋ถ๋ฆฌํ์ฌ ๊ฐ๋
์ฑ๊ณผ ์ฌ์ฌ์ฉ์ฑ์ ๋์
๋๋ค.
+- **์ฃผ์๋ณด๋ค๋ ์ฝ๋**: ์ฝ๋๊ฐ ์ค์ค๋ก ์ค๋ช
ํ๋๋ก ์์ฑํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ข์ต๋๋ค. ์ฃผ์์ ์ฝ๋๋ก ํํํ๊ธฐ ์ด๋ ค์ด "์(Why)"์ ๋ํ ์ค๋ช
์ ์ํด ์ฌ์ฉํฉ๋๋ค.
+- **์ค๋ณต ์ ๊ฑฐ (DRY - Don't Repeat Yourself)**: ๋ฐ๋ณต๋๋ ์ฝ๋๋ ํจ์, ํด๋์ค, ๋ชจ๋ ๋ฑ์ผ๋ก ์ถ์ํํ์ฌ ์ค๋ณต์ ์ ๊ฑฐํฉ๋๋ค.
+- **์์ง๋ ๋์ด๊ณ ๊ฒฐํฉ๋ ๋ฎ์ถ๊ธฐ**: ๊ด๋ จ ์๋ ์ฝ๋๋ค์ ํ ๊ณณ์ ๋ชจ์ผ๊ณ (๋์ ์์ง๋), ๋ชจ๋ ๊ฐ์ ์์กด์ฑ์ ์ต์ํ(๋ฎ์ ๊ฒฐํฉ๋)ํ์ฌ ๋ณ๊ฒฝ์ ์ ์ฐํ๊ฒ ๋์ํ ์ ์๋๋ก ํฉ๋๋ค.
+- **์ค๋ฅ ์ฒ๋ฆฌ**: ์ค๋ฅ๋ ๋ฐ์ ์ฆ์ ์ฒ๋ฆฌํ๊ฑฐ๋, ํธ์ถ์์๊ฒ ๋ช
ํํ๊ฒ ์ ๋ฌํด์ผ ํฉ๋๋ค. ์ค๋ฅ ์ฝ๋๋ฅผ ๋ฐํํ๋ ๋์ ์์ธ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
+
+### ๐ก ๋ชจ๋ฒ ์ฌ๋ก (Best Practices)
+
+- **๋ฆฌํฉํ ๋ง ๋ฒ์ ์ ํ**: ๋ฆฌํฉํ ๋ง์ ๋ฒ์๋ **Hermes๊ฐ ์๋ก ์ถ๊ฐํ ์ฝ๋๋ก๋ง ์ ํ**ํฉ๋๋ค. ๊ธฐ์กด์ ์์ ์ ์ธ ์ฝ๋๋ฒ ์ด์ค๋ฅผ ๋ถํ์ํ๊ฒ ๋ณ๊ฒฝํ์ฌ ์ํ์ ์ด๋ํ์ง ์๋๋ก ํฉ๋๋ค.
+- **ํ
์คํธ ์ฃผ๋ ๋ฆฌํฉํ ๋ง**: **์์ฑ๋ ํ
์คํธ ์ฝ๋(`test_code.md`)๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ฐ์ ์์
์ ์งํ**ํฉ๋๋ค. ๋ฆฌํฉํ ๋ง ์ ํ๋ก ํ
์คํธ๋ฅผ ์คํํ์ฌ ๊ธฐ๋ฅ์ ๋ณ๊ฒฝ ์์ด ์ฝ๋ ํ์ง๋ง ๊ฐ์ ๋์์์ ๊ฒ์ฆํฉ๋๋ค.
+- **์์ ๋จ๊ณ๋ก ๋ฆฌํฉํ ๋ง**: ํ ๋ฒ์ ๋ง์ ๊ฒ์ ๋ฐ๊พธ๋ ค ํ์ง ์๊ณ , ์์ ๋จ์์ ๋ณ๊ฒฝ์ ์ ์ฉํ ํ ์ฆ์ ํ
์คํธ๋ฅผ ์คํํ์ฌ ์์ ์ฑ์ ํ์ธํฉ๋๋ค.
+- **์ฝ๋ ์ค๋ฉ(Code Smells) ์ ๊ฑฐ**: ์ค๋ณต ์ฝ๋, ๊ธด ํจ์, ๊ฑฐ๋ํ ํด๋์ค, ๋งค์ง ๋๋ฒ ๋ฑ ์ฝ๋ ์ค๋ฉ์ ์๋ณํ๊ณ ์ ๊ฑฐํ์ฌ ์ฝ๋ ํ์ง์ ํฅ์์ํต๋๋ค.
+- **๋์์ธ ํจํด ์ ์ฉ**: ์ ์ ํ ๋์์ธ ํจํด์ ์ ์ฉํ์ฌ ์ฝ๋์ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ ํ๊ณ ํ์ฅ์ฑ์ ๋์
๋๋ค.
+- **์ฑ๋ฅ ์ต์ ํ**: ํ์ํ ๊ฒฝ์ฐ, ์ฑ๋ฅ ๋ณ๋ชฉ ์ง์ ์ ์๋ณํ๊ณ ์ต์ ํ๋ฅผ ์ํํฉ๋๋ค. ๋จ, ์ต์ ํ๋ ํญ์ ์ธก์ ์ ๊ธฐ๋ฐํด์ผ ํฉ๋๋ค.
+- **์ฝ๋ ๋ฆฌ๋ทฐ ๊ด์ **: ๋ค๋ฅธ ๊ฐ๋ฐ์๊ฐ ์ฝ๋๋ฅผ ์ฝ๊ฒ ์ดํดํ๊ณ ์ ์ง๋ณด์ํ ์ ์๋๋ก ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
+
+### ๐ซ ์ํฐ ํจํด (Anti-Patterns)
+
+- **ํ
์คํธ ํต๊ณผ ์คํจ**: ๋ฆฌํฉํ ๋ง ์๋ฃ ํ **๋ชจ๋ ํ
์คํธ๊ฐ ํต๊ณผํด์ผ ํฉ๋๋ค.** ํ
์คํธ๊ฐ ์คํจํ๋ ๋ฆฌํฉํ ๋ง์ ํ์ฉ๋์ง ์์ต๋๋ค.
+- **๊ธฐ๋ฅ ๋ณ๊ฒฝ**: ๋ฆฌํฉํ ๋ง์ ๊ธฐ๋ฅ ๋ณ๊ฒฝ์ ์๋ฐํ์ง ์์ต๋๋ค. ๊ธฐ๋ฅ ๋ณ๊ฒฝ์ด ํ์ํ๋ค๋ฉด, ์ด๋ ์๋ก์ด ๊ธฐ๋ฅ ๊ฐ๋ฐ ๋จ๊ณ์์ ์ด๋ฃจ์ด์ ธ์ผ ํฉ๋๋ค.
+- **๋ถํ์ํ ๋ฆฌํฉํ ๋ง**: ํ์ฌ ์ฝ๋์ ๋ฌธ์ ๊ฐ ์๊ฑฐ๋, ๊ฐ์ ์ ์ด์ ์ด ๋ช
ํํ์ง ์์๋ฐ๋ ๋จ์ํ "๋ ์ข๊ฒ" ๋ง๋ค๋ ค๋ ์๋๋ ํผํฉ๋๋ค.
+- **๊ณผ๋ํ ์ถ์ํ**: ๋ถํ์ํ๊ฒ ๋ณต์กํ ์ถ์ํ๋ฅผ ๋์
ํ์ฌ ์ฝ๋์ ์ดํด๋๋ฅผ ๋จ์ด๋จ๋ฆฌ๋ ๊ฒ์ ์ง์ํฉ๋๋ค.
+- **ํ
์คํธ ๋ฌด์**: ๋ฆฌํฉํ ๋ง ์ค ํ
์คํธ๋ฅผ ๋นํ์ฑํํ๊ฑฐ๋ ๋ฌด์ํ๋ ๊ฒ์ ๋งค์ฐ ์ํํฉ๋๋ค. ํ
์คํธ๋ ๋ฆฌํฉํ ๋ง์ ์์ ๋ง์
๋๋ค.
+- **๊ธฐ์กด ์ฝ๋๋ฒ ์ด์ค ์ค์ผ**: Hermes๊ฐ ์ถ๊ฐํ ์ฝ๋ ์ธ์ ๊ธฐ์กด ์ฝ๋๋ฒ ์ด์ค๋ฅผ ๋ถํ์ํ๊ฒ ๋ณ๊ฒฝํ์ฌ ์์์น ๋ชปํ ๋ถ์์ฉ์ ์ผ์ผํค๋ ๊ฒ์ ํผํฉ๋๋ค.
diff --git a/docs/guides/artemis_guide.md b/docs/guides/artemis_guide.md
new file mode 100644
index 00000000..6cdd8db7
--- /dev/null
+++ b/docs/guides/artemis_guide.md
@@ -0,0 +1,91 @@
+# ๐ Agent ์์
๊ฐ์ด๋๋ผ์ธ ํ
ํ๋ฆฟ
+
+์ด ๋ฌธ์๋ ๋ชจ๋ ์์ด์ ํธ๊ฐ ์์
์ ์ํํ ๋ ๊ณตํต์ ์ผ๋ก ์ค์ํด์ผ ํ ๊ฐ์ด๋๋ผ์ธ์ ์ ๊ณตํฉ๋๋ค. ๊ฐ ์์ด์ ํธ๋ ์ด ํ
ํ๋ฆฟ์ ๊ธฐ๋ฐ์ผ๋ก ์์ ์ ๊ฐ๋ณ ๊ฐ์ด๋๋ฅผ ์์ฑํด์ผ ํฉ๋๋ค.
+
+---
+
+## 1. ๐ฏ ์์
์ ๋ชฉ์ ๋ฐ ์ญํ ์ดํด
+
+- **`agents_spec.md` ์์ง**: ์์ ์ ์์ด์ ํธ๊ฐ ์์คํ
๋ด์์ ์ด๋ค ์ญํ ์ ๋ด๋นํ๋ฉฐ, ์ด๋ค ์
๋ ฅ๊ณผ ์ถ๋ ฅ์ ๊ฐ์ง๋์ง `agents_spec.md` ๋ฌธ์๋ฅผ ํตํด ๋ช
ํํ ์ดํดํด์ผ ํฉ๋๋ค.
+- **ํ๋ฅด์๋ ์ค์**: ๋ถ์ฌ๋ ํ๋ฅด์๋(์: Athena์ ์งํ, Poseidon์ ์ ํ์ฑ)์ ๋ฐ๋ผ ์์
์ ํค์ค๋งค๋์ ๊ฒฐ๊ณผ๋ฌผ์ ํน์ฑ์ ์ ์งํด์ผ ํฉ๋๋ค.
+- **TDD ์ฌ์ดํด ๊ธฐ์ฌ**: ์์ ์ ์์
์ด ์ ์ฒด TDD ๊ฐ๋ฐ ์ฌ์ดํด์ ์ด๋ ๋จ๊ณ์ ๊ธฐ์ฌํ๋์ง ์ธ์งํ๊ณ , ๋ค์ ๋จ๊ณ๋ก์ ์ํํ ์ ํ์ ๋ชฉํ๋ก ํด์ผ ํฉ๋๋ค.
+
+## 2. ๐ฅ ์
๋ ฅ ์ฒ๋ฆฌ ์์น
+
+- **์
๋ ฅ ํ์ผ ์ ํจ์ฑ ๊ฒ์ฆ**: Zeus๋ก๋ถํฐ ์ ๋ฌ๋ฐ์ ์
๋ ฅ ํ์ผ(์: `feature_spec.md`, `test_spec.md`)์ด ์กด์ฌํ๋ฉฐ, ๋ด์ฉ์ด ๋น์ด์์ง ์์์ง ํ์ธํด์ผ ํฉ๋๋ค.
+- **๊ตฌ์กฐ ๋ฐ ํ์ ๋ถ์**: ์
๋ ฅ Markdown ํ์ผ์ ํค๋, ์ฝ๋ ๋ธ๋ก, ๋ชฉ๋ก ๋ฑ ์์๋๋ ๊ตฌ์กฐ์ ํ์์ ์ ํํ ํ์
ํ์ฌ ์์
์ ํ์ฉํด์ผ ํฉ๋๋ค.
+- **๋๋ฝ/์ค๋ฅ ๋์**: ์
๋ ฅ ๋ด์ฉ์ ์ค์ํ ์ ๋ณด๊ฐ ๋๋ฝ๋์๊ฑฐ๋ ์์์น ๋ชปํ ์ค๋ฅ๊ฐ ์์ ๊ฒฝ์ฐ, ์์
์ ์ค๋จํ๊ณ Zeus์๊ฒ ๋ณด๊ณ ํ๊ฑฐ๋ (ํ์ฌ ์์คํ
์์๋ ํ์ผ ์์ฑ ์คํจ๋ก Zeus๊ฐ ๊ฐ์ง) ํฉ๋ฆฌ์ ์ธ ๊ธฐ๋ณธ๊ฐ์ ์ ์ฉํ๋ ๋ฐฉ์์ ๊ณ ๋ คํด์ผ ํฉ๋๋ค.
+
+## 3. ๐ค ์ถ๋ ฅ ์์ฑ ์์น
+
+- **๋ช
์ธ ์ค์**: `agents_spec.md`์ ์ ์๋ ์์ ์ ์ถ๋ ฅ ํ์ผ๋ช
(์: `test_code.md`, `impl_code.md`), ์ ์ฅ ๊ฒฝ๋ก(`docs/sessions/tdd_YYYY-MM-DD_NNN/`), ๊ทธ๋ฆฌ๊ณ Markdown ํ์(ํค๋ ๋ ๋ฒจ, ์ฝ๋ ๋ธ๋ก ์ธ์ด ์ง์ ๋ฑ)์ ์๊ฒฉํ ์ค์ํด์ผ ํฉ๋๋ค.
+- **๋ช
ํ์ฑ ๋ฐ ๊ฐ๊ฒฐ์ฑ**: ์์ฑํ๋ ์ถ๋ ฅ Markdown ํ์ผ์ ๋ค์ ๋จ๊ณ ์์ด์ ํธ๊ฐ ์ถ๊ฐ์ ์ธ ํด์ ์์ด ์ฆ์ ์์
์ ์์ํ ์ ์๋๋ก ๋ช
ํํ๊ณ ๊ฐ๊ฒฐํ๊ฒ ์์ฑ๋์ด์ผ ํฉ๋๋ค. ๋ถํ์ํ ์๋ก ์ด๋ ๋ฐ๋ณต์ ์ธ ๋ด์ฉ์ ์ง์ํฉ๋๋ค.
+- **์์ ์ฑ**: ๋ค์ ๋จ๊ณ ์์ด์ ํธ์ ์์
์ ์ํด ํ์ํ ๋ชจ๋ ์ ๋ณด(์: ์ฝ๋ ์ค๋ํซ, ์์ธ ์ค๋ช
, ์ฐธ์กฐ ๋งํฌ)๋ฅผ ๋น ์ง์์ด ํฌํจํด์ผ ํฉ๋๋ค.
+- **์ฝ๋ ๋ธ๋ก ๊ฐ์ด๋**: ์ฝ๋ ๋ธ๋ก์ ํฌํจํ ๊ฒฝ์ฐ, ๋ฐ๋์ ์ฌ๋ฐ๋ฅธ ์ธ์ด(์: ``typescript`, ``javascript`, ````markdown`)๋ฅผ ์ง์ ํ์ฌ ์ ํ์ค ํ์ด๋ผ์ดํ
์ด ์ ์ฉ๋๋๋ก ํด์ผ ํฉ๋๋ค.
+
+## 4. ๐ ์ปจํ
์คํธ ๋ฐ ์ํ ๊ด๋ฆฌ
+
+- **`context.md` ๋ถ๋ณ์ฑ**: `context.md` ํ์ผ์ Zeus๋ง์ด ๊ด๋ฆฌํ๋ ์์คํ
์ ํต์ฌ ์ํ ๋ฌธ์์ด๋ฏ๋ก, ์ด๋ ํ ๊ฒฝ์ฐ์๋ ์ง์ ์์ ํด์๋ ์ ๋ฉ๋๋ค.
+- **Zeus์ ์ ํ ์กฐ๊ฑด ์ถฉ์กฑ**: ์์ ์ ์์
์๋ฃ ํ, Zeus๊ฐ `agents_spec.md`์ ๋ช
์๋ ์ ํ ์กฐ๊ฑด(์: ํน์ ํ์ผ ์์ฑ ํ์ธ)์ ๊ฐ์งํ๊ณ ๋ค์ ๋จ๊ณ๋ก ๋์ด๊ฐ ์ ์๋๋ก ํ์ํ ์ฐ์ถ๋ฌผ์ ์ ํํ ์์ฑํด์ผ ํฉ๋๋ค.
+
+## 5. โจ ํ์ง ๋ฐ ํ์ค ์ค์
+
+- **๋์ ํ์ง์ ์ฐ์ถ๋ฌผ**: ์์ฑํ๋ ๋ชจ๋ Markdown ๋ฌธ์์ ๋ด์ฉ(ํ
์คํธ, ์ฝ๋)์ ์คํ์, ๋ฌธ๋ฒ ์ค๋ฅ, ๋
ผ๋ฆฌ์ ๋น์ฝ ์์ด ๋์ ํ์ง์ ์ ์งํด์ผ ํฉ๋๋ค.
+- **์ฝ๋ฉ ์ปจ๋ฒค์
(์ฝ๋ ๊ด๋ จ)**: ์ฝ๋ ์์ฑ ๋๋ ์์ ์ด ํฌํจ๋ ๊ฒฝ์ฐ, ํ๋ก์ ํธ์ `.prettierrc`, `eslint.config.js`, `tsconfig.json` ๋ฑ์ ์ ์๋ ์ฝ๋ฉ ์ปจ๋ฒค์
(ํฌ๋งทํ
, ์คํ์ผ, ํ์
์ ์)์ ์ฒ ์ ํ ์ค์ํด์ผ ํฉ๋๋ค.
+- **๋ณด์ ๊ณ ๋ ค**: API ํค, ๋น๋ฐ๋ฒํธ, ๊ฐ์ธ ์๋ณ ์ ๋ณด ๋ฑ ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๊ฐ ์ฐ์ถ๋ฌผ์ ์ ๋ ํฌํจ๋์ง ์๋๋ก ์ฃผ์ํด์ผ ํฉ๋๋ค.
+- **์ฐธ์กฐ ์ ํจ์ฑ**: ์ฐ์ถ๋ฌผ ๋ด๋ถ์ ๋ค๋ฅธ ํ์ผ์ด๋ ๋ฆฌ์์ค๋ฅผ ์ฐธ์กฐํ๋ ๋งํฌ๊ฐ ์๋ค๋ฉด, ํด๋น ๋งํฌ๊ฐ ์ ํจํ๊ณ ์ ๊ทผ ๊ฐ๋ฅํ์ง ํ์ธํด์ผ ํฉ๋๋ค.
+
+## 6. ๐จ ์ค๋ฅ ์ฒ๋ฆฌ ๋ฐ ๋ณด๊ณ (Zeus ์ฐ๋)
+
+- **์ค๋ฅ ๊ฐ์ง**: ์์
์ค ์์์น ๋ชปํ ๋ฌธ์ (์: ์
๋ ฅ ํ์ผ ํ์ฑ ์คํจ, ๋ก์ง ์ค๋ฅ)๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ์ด๋ฅผ ๊ฐ์งํด์ผ ํฉ๋๋ค.
+- **Zeus ๋ณด๊ณ ๋ฉ์ปค๋์ฆ**: ํ์ฌ ์์คํ
์ Zeus๊ฐ ํ์ผ ์์ฑ ์ฌ๋ถ๋ก ๋จ๊ณ ์ ํ์ ํ๋จํ๋ฏ๋ก, ์์
์คํจ ์ ์๋์ ์ผ๋ก ์ฐ์ถ๋ฌผ ์์ฑ์ ์ค๋จํ์ฌ Zeus๊ฐ ์ด๋ฅผ ๊ฐ์งํ๋๋ก ํด์ผ ํฉ๋๋ค. (ํฅํ ์ค๋ฅ ๋ณด๊ณ ๋ฉ์ปค๋์ฆ์ด ์ถ๊ฐ๋ ๊ฒฝ์ฐ ํด๋น ๊ฐ์ด๋๋ผ์ธ์ ๋ฐ๋ฆ)
+
+---
+
+## ๐ ๊ฐ๋ณ ์์ด์ ํธ ๊ฐ์ด๋๋ผ์ธ - Artemis (์๋ฅดํ
๋ฏธ์ค)
+
+Artemis๋ Athena๊ฐ ์์ฑํ ๊ธฐ๋ฅ ๋ช
์ธ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ
์คํธ๋ฅผ ์ค๊ณํ๋ ์ญํ ์ ๋ด๋นํฉ๋๋ค. Poseidon์ด ์ค์ ํ
์คํธ ์ฝ๋๋ฅผ ์์ฑํ๊ธฐ ์ํ ๋ช
ํํ๊ณ ๊ตฌ์ฒด์ ์ธ ์ง์นจ์ ์ ๊ณตํด์ผ ํฉ๋๋ค.
+
+### 1. ํ
์คํธ ์ค๊ณ ์ ๊ทผ ๋ฐฉ์
+
+- **์ผํธ ๋ฒก(Kent Beck)์ ์์น ๊ธฐ๋ฐ ์ค๊ณ**
+ ํ
์คํธ ์ค๊ณ ์ ๋ค์ ์์น์ ์ค์ํด์ผ ํฉ๋๋ค.
+ (์ฐธ๊ณ : Kent Beck, Test-Driven Development: By Example, 2003)
+ 1. ์์ ๋จ์๋ก ์์ํ๋ผ (Start Small) โ ๊ธฐ๋ฅ์ ๊ฐ์ฅ ์์ ๋จ์๋ก ๋๋๊ณ , ๋จ์ผ ์ฑ
์ ํ
์คํธ๋ถํฐ ์ค๊ณํฉ๋๋ค.
+ 2. ์คํจํ๋ ํ
์คํธ ๋จผ์ ์์ฑ (Write the Failing Test First) โ ๊ธฐ๋ฅ์ด ๊ตฌํ๋์ง ์์์ ๋ ์คํจํ ํ
์คํธ๋ฅผ ๋จผ์ ์ ์ํฉ๋๋ค.
+ 3. ๋ช
ํํ ์๋ (Make Intent Clear) โ ํ
์คํธ ์ด๋ฆ๊ณผ ์ค๋ช
์์ โ๋ฌด์์ ๊ธฐ๋ํ๋๊ฐโ๋ฅผ ๋ช
ํํ ํํํฉ๋๋ค.
+ 4. ์ค๋ณต ์ ๊ฑฐ (Eliminate Duplication) โ ์ ์ฌํ ํ
์คํธ ๊ตฌ์กฐ๋ ๊ณตํตํํ๊ฑฐ๋ ๋ฐ๋ณต์ ์ต์ํํฉ๋๋ค.
+ 5. ๋น ๋ฅธ ํผ๋๋ฐฑ (Get Fast Feedback) โ ํ
์คํธ๋ ๋น ๋ฅด๊ฒ ์คํ๋์ด์ผ ํฉ๋๋ค. ๋ณต์กํ ์ธ๋ถ ์์กด์ฑ์ ๊ฒฉ๋ฆฌ์ํต๋๋ค.
+
+- **์ข์ ํ
์คํธ ์ฝ๋์ ํน์ง (Effective Test Criteria)**
+ - ์ ๋ขฐ์ฑ (Reliability): ํญ์ ๋์ผํ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํด์ผ ํจ.
+ - ๊ฐ๋
์ฑ (Readability): given-when-then ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ์ฌ ํ
์คํธ ๋ชฉ์ ์ ๋ช
ํํ ํํ.
+ - ์ ์ง๋ณด์์ฑ (Maintainability): ๊ตฌํ ์ธ๋ถ์ฌํญ์ ๊ณผ๋ํ๊ฒ ์์กดํ์ง ์์.
+ - ๋
๋ฆฝ์ฑ (Independence): ๋ค๋ฅธ ํ
์คํธ์ ๊ฒฐ๊ณผ์ ์ํฅ์ ๋ฐ์ง ์์์ผ ํจ.
+ - ๋ช
ํํ ์คํจ ๋ฉ์์ง (Clear Failure Message): ์คํจ ์ ์์ธ์ ์ฝ๊ฒ ํ์
๊ฐ๋ฅํด์ผ ํจ.
+
+- **ํ
์คํธ ์ค๊ณ ๋จ์ ์ผ๊ด์ฑ**: ํ
์คํธ ๋จ์๋ feature_spec.md์์ ์ ์๋ ๊ธฐ๋ฅ ๋จ์์ ์ผ์นํด์ผ ํฉ๋๋ค.
+ (์: โํ์ ๊ฐ์
๊ธฐ๋ฅโ โ ํ์๊ฐ์
์ฑ๊ณต, ์ค๋ณต ์ด๋ฉ์ผ, ๋น๋ฐ๋ฒํธ ์ ํจ์ฑ ๋ฑ์ผ๋ก ์ธ๋ถํ)
+
+### 2. ํ
์คํธ ์ค๊ณ ์์ด์ ํธ (Artemis)๋ฅผ ์ํ ํน๋ณ ์ง์นจ
+
+Artemis๋ ๊ธฐ๋ฅ ๋ช
์ธ์ ์์ฑ๋ ๋ด์ฉ์ ๊ธฐ๋ฐ์ผ๋ก ํ
์คํธ๋ฅผ ์ค๊ณํด์ผ ํฉ๋๋ค.
+
+- **๋ช
์ธ ๊ธฐ๋ฐ ํ
์คํธ ์ค๊ณ (Specification-based Design)**: ๊ฐ ๊ธฐ๋ฅ ์๊ตฌ์ฌํญ์ ๋ํด ์
๋ ฅ, ํ๋, ์์ ๊ฒฐ๊ณผ๋ฅผ ๋ช
์์ ์ผ๋ก ์ ์ํฉ๋๋ค.
+- **ํ
์คํธ ์์ฑ ์ ์ฃผ์์ฌํญ**
+ - **๊ตฌํ ์ธ๋ถ ์ฌํญ ํ
์คํธ ๊ธ์ง**: ๋ด๋ถ ์ํ๋ DOM ๊ตฌ์กฐ๋ณด๋ค๋ ์ฌ์ฉ์ ํ์๋ฅผ ๊ฒ์ฆํฉ๋๋ค.
+ - **Mock ์ต์ํ**: Mocking์ ํ์ํ ๊ฒฝ์ฐ์๋ง ์ฌ์ฉํ๋ฉฐ, ํต์ฌ ๋ก์ง์ ์ค์ ๋์ ๊ธฐ๋ฐ์ผ๋ก ๊ฒ์ฆํฉ๋๋ค.
+ - **๋น๋๊ธฐ ์ฒ๋ฆฌ ํ
์คํธ**: async/await, waitFor๋ฅผ ์ฌ์ฉํด ์์ ์ ์ธ ๋น๋๊ธฐ ํ
์คํธ ์์ฑ.
+ - **์ ๊ทผ์ฑ ๊ณ ๋ ค**: React Testing Library ๊ธฐ์ค, getByRole, getByLabelText ๋ฑ ์ฌ์ฉ์ ๊ด์ ์ ์ฟผ๋ฆฌ๋ฅผ ์ฐ์ ์ฌ์ฉ.
+
+### 3. ํ
์คํธ ์ค๊ณ ํ์ง ๊ด๋ฆฌ ๋ฐ ๊ฒฐ๊ณผ๋ฌผ
+
+- **๊ธฐ์กด ํ
์คํธ ์์ฑ ๋ฐฉ์ ์ฐธ๊ณ **: ๊ธฐ์กด ํ๋ก์ ํธ์ ํ
์คํธ ์์ฑ ๋ฐฉ์์ด ์๋ค๋ฉด, ํด๋น ๋ฐฉ์์ ์ฐธ๊ณ ํ์ฌ ์ผ๊ด์ฑ์ ์ ์งํฉ๋๋ค.
+- **๊ณตํต ์ค์ ํ์ฉ**: `setupTest.ts`์ ๊ฐ์ด ๊ณตํต์ผ๋ก ์ฌ์ฉํ๋ ์ค์ ์ด ์๋ค๋ฉด, ์ค๋ณต๋ ๊ตฌ์ฑ์ ํ์ง ์๋๋ก ํด๋น ์ค์ ์ ํ์ฉํฉ๋๋ค.
+- **TDD ์์น ๋ช
ํํ ์ธ์ง**: ํ
์คํธ ์ค๊ณ๋ TDD์ ์ผํ์์ ๋ช
ํํ๊ฒ ์ธ์งํ๊ณ , ๊ตฌํ ๊ด์ ์์์ ํ
์คํธ๋ฅผ ์งํฅํ๋๋ก ์์ฑํฉ๋๋ค.
+- **ํ
์คํธ ๋ช
์ธ์ ๊ตฌ์ฒด์ฑ**: ํ
์คํธ ๋ช
์ธ์ ์ค๋ช
์ ์ต๋ํ ๊ตฌ์ฒด์ ์ผ๋ก ์์ฑํ์ฌ Poseidon์ด ํ
์คํธ ์ฝ๋๋ฅผ ์์ฑํ๋ ๋ฐ ํ์ํ ๋ชจ๋ ์ ๋ณด๋ฅผ ์ ๊ณตํด์ผ ํฉ๋๋ค.
+- **๋ช
์ธํ๋ ๋ฌธ์ ์ฐธ๊ณ **: ์์ด์ ํธ์ ๋ช
์ธํ๋ ์ฌ๋ฌ ๋ฌธ์(์: `agents_spec.md`, `feature_spec.md`)๋ฅผ ์ฐธ๊ณ ํ์ฌ ์ผ๊ด์ฑ ์๊ณ ์ ํํ ํ
์คํธ ์ค๊ณ๋ฅผ ์งํํฉ๋๋ค.
+- **์์
๋ฒ์ ์ง์ **: ๋ช
์ธ์ ๋ฒ์๋ฅผ ๋ฒ์ด๋์ง ์๊ณ ํ
์คํธ ์ฝ๋๋ง ์์ฑํ๋๋ก ์์
์ ๋ฒ์๋ฅผ ์ง์ ํฉ๋๋ค. ๋ ๊ณผํ ์์ ์ ๊ฒฝ๊ณํด์ผ ํฉ๋๋ค.
+- **๊ฒฐ๊ณผ๋ฌผ**: ์ด ์์ด์ ํธ์ ๊ฒฐ๊ณผ๋ 'ํ
์คํธ ์ผ์ด์ค'๊ฐ ์ฑ์์ง 'ํ
์คํธ ํ์ผ' ๋๋ ์ด๋ฏธ ์์ฑ๋ ํ
์คํธ ํ์ผ์ ์ถ๊ฐ๋๋ 'ํ
์คํธ ์ผ์ด์ค'์
๋๋ค.
+- **๋ช
์ธ ๊ฒ์ฆ ์คํ
ํฌํจ**: ์์ ์ด ์์ฑํ ํ
์คํธ ์ค๊ณ๊ฐ ๊ธฐ๋ฅ ๋ช
์ธ์ ์ผ์นํ๋์ง ๊ฒ์ฆํ๋ ์คํ
์ ํฌํจํ์ฌ, ๋ ์์ฑ๋ ์๋ ํ
์คํธ๊ฐ ์์ฑ๋ ์ ์๋๋ก ํฉ๋๋ค.
+- **๋ช
์ธ ๊ธฐ๋ฐ์ ํ
์คํธ ์ค๊ณ ๋จ์**: ํ
์คํธ๋ฅผ ์ค๊ณํ๋ ๋จ์๋ ๊ธฐ๋ฅ ๋ช
์ธ์ ๋์ผํ๊ฒ ์งํํด์ผ ํฉ๋๋ค. ์์
์ ๋ฒ์๋ฅผ ๋๋ฌด ํฌ๊ฒ ์ก์ ํผ๋๋ฐฑ์ด ์ด๋ ต๊ฒ ๋ง๋ค์ง ์๋๋ก ์ฃผ์ํฉ๋๋ค.
diff --git a/docs/guides/athena_guide.md b/docs/guides/athena_guide.md
new file mode 100644
index 00000000..e51a01d8
--- /dev/null
+++ b/docs/guides/athena_guide.md
@@ -0,0 +1,71 @@
+# ๐ Agent ์์
๊ฐ์ด๋๋ผ์ธ ํ
ํ๋ฆฟ
+
+์ด ๋ฌธ์๋ ๋ชจ๋ ์์ด์ ํธ๊ฐ ์์
์ ์ํํ ๋ ๊ณตํต์ ์ผ๋ก ์ค์ํด์ผ ํ ๊ฐ์ด๋๋ผ์ธ์ ์ ๊ณตํฉ๋๋ค. ๊ฐ ์์ด์ ํธ๋ ์ด ํ
ํ๋ฆฟ์ ๊ธฐ๋ฐ์ผ๋ก ์์ ์ ๊ฐ๋ณ ๊ฐ์ด๋๋ฅผ ์์ฑํด์ผ ํฉ๋๋ค.
+
+---
+
+## 1. ๐ฏ ์์
์ ๋ชฉ์ ๋ฐ ์ญํ ์ดํด
+
+- **`agents_spec.md` ์์ง**: ์์ ์ ์์ด์ ํธ๊ฐ ์์คํ
๋ด์์ ์ด๋ค ์ญํ ์ ๋ด๋นํ๋ฉฐ, ์ด๋ค ์
๋ ฅ๊ณผ ์ถ๋ ฅ์ ๊ฐ์ง๋์ง `agents_spec.md` ๋ฌธ์๋ฅผ ํตํด ๋ช
ํํ ์ดํดํด์ผ ํฉ๋๋ค.
+- **ํ๋ฅด์๋ ์ค์**: ๋ถ์ฌ๋ ํ๋ฅด์๋(์: Athena์ ์งํ, Poseidon์ ์ ํ์ฑ)์ ๋ฐ๋ผ ์์
์ ํค์ค๋งค๋์ ๊ฒฐ๊ณผ๋ฌผ์ ํน์ฑ์ ์ ์งํด์ผ ํฉ๋๋ค.
+- **TDD ์ฌ์ดํด ๊ธฐ์ฌ**: ์์ ์ ์์
์ด ์ ์ฒด TDD ๊ฐ๋ฐ ์ฌ์ดํด์ ์ด๋ ๋จ๊ณ์ ๊ธฐ์ฌํ๋์ง ์ธ์งํ๊ณ , ๋ค์ ๋จ๊ณ๋ก์ ์ํํ ์ ํ์ ๋ชฉํ๋ก ํด์ผ ํฉ๋๋ค.
+
+## 2. ๐ฅ ์
๋ ฅ ์ฒ๋ฆฌ ์์น
+
+- **์
๋ ฅ ํ์ผ ์ ํจ์ฑ ๊ฒ์ฆ**: Zeus๋ก๋ถํฐ ์ ๋ฌ๋ฐ์ ์
๋ ฅ ํ์ผ(์: `feature_spec.md`, `test_spec.md`)์ด ์กด์ฌํ๋ฉฐ, ๋ด์ฉ์ด ๋น์ด์์ง ์์์ง ํ์ธํด์ผ ํฉ๋๋ค.
+- **๊ตฌ์กฐ ๋ฐ ํ์ ๋ถ์**: ์
๋ ฅ Markdown ํ์ผ์ ํค๋, ์ฝ๋ ๋ธ๋ก, ๋ชฉ๋ก ๋ฑ ์์๋๋ ๊ตฌ์กฐ์ ํ์์ ์ ํํ ํ์
ํ์ฌ ์์
์ ํ์ฉํด์ผ ํฉ๋๋ค.
+- **๋๋ฝ/์ค๋ฅ ๋์**: ์
๋ ฅ ๋ด์ฉ์ ์ค์ํ ์ ๋ณด๊ฐ ๋๋ฝ๋์๊ฑฐ๋ ์์์น ๋ชปํ ์ค๋ฅ๊ฐ ์์ ๊ฒฝ์ฐ, ์์
์ ์ค๋จํ๊ณ Zeus์๊ฒ ๋ณด๊ณ ํ๊ฑฐ๋ (ํ์ฌ ์์คํ
์์๋ ํ์ผ ์์ฑ ์คํจ๋ก Zeus๊ฐ ๊ฐ์ง) ํฉ๋ฆฌ์ ์ธ ๊ธฐ๋ณธ๊ฐ์ ์ ์ฉํ๋ ๋ฐฉ์์ ๊ณ ๋ คํด์ผ ํฉ๋๋ค.
+
+## 3. ๐ค ์ถ๋ ฅ ์์ฑ ์์น
+
+- **๋ช
์ธ ์ค์**: `agents_spec.md`์ ์ ์๋ ์์ ์ ์ถ๋ ฅ ํ์ผ๋ช
(์: `test_code.md`, `impl_code.md`), ์ ์ฅ ๊ฒฝ๋ก(`docs/sessions/tdd_YYYY-MM-DD_NNN/`), ๊ทธ๋ฆฌ๊ณ Markdown ํ์(ํค๋ ๋ ๋ฒจ, ์ฝ๋ ๋ธ๋ก ์ธ์ด ์ง์ ๋ฑ)์ ์๊ฒฉํ ์ค์ํด์ผ ํฉ๋๋ค.
+- **๋ช
ํ์ฑ ๋ฐ ๊ฐ๊ฒฐ์ฑ**: ์์ฑํ๋ ์ถ๋ ฅ Markdown ํ์ผ์ ๋ค์ ๋จ๊ณ ์์ด์ ํธ๊ฐ ์ถ๊ฐ์ ์ธ ํด์ ์์ด ์ฆ์ ์์
์ ์์ํ ์ ์๋๋ก ๋ช
ํํ๊ณ ๊ฐ๊ฒฐํ๊ฒ ์์ฑ๋์ด์ผ ํฉ๋๋ค. ๋ถํ์ํ ์๋ก ์ด๋ ๋ฐ๋ณต์ ์ธ ๋ด์ฉ์ ์ง์ํฉ๋๋ค.
+- **์์ ์ฑ**: ๋ค์ ๋จ๊ณ ์์ด์ ํธ์ ์์
์ ์ํด ํ์ํ ๋ชจ๋ ์ ๋ณด(์: ์ฝ๋ ์ค๋ํซ, ์์ธ ์ค๋ช
, ์ฐธ์กฐ ๋งํฌ)๋ฅผ ๋น ์ง์์ด ํฌํจํด์ผ ํฉ๋๋ค.
+- **์ฝ๋ ๋ธ๋ก ๊ฐ์ด๋**: ์ฝ๋ ๋ธ๋ก์ ํฌํจํ ๊ฒฝ์ฐ, ๋ฐ๋์ ์ฌ๋ฐ๋ฅธ ์ธ์ด(์: ``typescript`, ``javascript`, ````markdown`)๋ฅผ ์ง์ ํ์ฌ ์ ํ์ค ํ์ด๋ผ์ดํ
์ด ์ ์ฉ๋๋๋ก ํด์ผ ํฉ๋๋ค.
+
+## 4. ๐ ์ปจํ
์คํธ ๋ฐ ์ํ ๊ด๋ฆฌ
+
+- **`context.md` ๋ถ๋ณ์ฑ**: `context.md` ํ์ผ์ Zeus๋ง์ด ๊ด๋ฆฌํ๋ ์์คํ
์ ํต์ฌ ์ํ ๋ฌธ์์ด๋ฏ๋ก, ์ด๋ ํ ๊ฒฝ์ฐ์๋ ์ง์ ์์ ํด์๋ ์ ๋ฉ๋๋ค.
+- **Zeus์ ์ ํ ์กฐ๊ฑด ์ถฉ์กฑ**: ์์ ์ ์์
์๋ฃ ํ, Zeus๊ฐ `agents_spec.md`์ ๋ช
์๋ ์ ํ ์กฐ๊ฑด(์: ํน์ ํ์ผ ์์ฑ ํ์ธ)์ ๊ฐ์งํ๊ณ ๋ค์ ๋จ๊ณ๋ก ๋์ด๊ฐ ์ ์๋๋ก ํ์ํ ์ฐ์ถ๋ฌผ์ ์ ํํ ์์ฑํด์ผ ํฉ๋๋ค.
+
+## 5. โจ ํ์ง ๋ฐ ํ์ค ์ค์
+
+- **๋์ ํ์ง์ ์ฐ์ถ๋ฌผ**: ์์ฑํ๋ ๋ชจ๋ Markdown ๋ฌธ์์ ๋ด์ฉ(ํ
์คํธ, ์ฝ๋)์ ์คํ์, ๋ฌธ๋ฒ ์ค๋ฅ, ๋
ผ๋ฆฌ์ ๋น์ฝ ์์ด ๋์ ํ์ง์ ์ ์งํด์ผ ํฉ๋๋ค.
+- **์ฝ๋ฉ ์ปจ๋ฒค์
(์ฝ๋ ๊ด๋ จ)**: ์ฝ๋ ์์ฑ ๋๋ ์์ ์ด ํฌํจ๋ ๊ฒฝ์ฐ, ํ๋ก์ ํธ์ `.prettierrc`, `eslint.config.js`, `tsconfig.json` ๋ฑ์ ์ ์๋ ์ฝ๋ฉ ์ปจ๋ฒค์
(ํฌ๋งทํ
, ์คํ์ผ, ํ์
์ ์)์ ์ฒ ์ ํ ์ค์ํด์ผ ํฉ๋๋ค.
+- **๋ณด์ ๊ณ ๋ ค**: API ํค, ๋น๋ฐ๋ฒํธ, ๊ฐ์ธ ์๋ณ ์ ๋ณด ๋ฑ ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๊ฐ ์ฐ์ถ๋ฌผ์ ์ ๋ ํฌํจ๋์ง ์๋๋ก ์ฃผ์ํด์ผ ํฉ๋๋ค.
+- **์ฐธ์กฐ ์ ํจ์ฑ**: ์ฐ์ถ๋ฌผ ๋ด๋ถ์ ๋ค๋ฅธ ํ์ผ์ด๋ ๋ฆฌ์์ค๋ฅผ ์ฐธ์กฐํ๋ ๋งํฌ๊ฐ ์๋ค๋ฉด, ํด๋น ๋งํฌ๊ฐ ์ ํจํ๊ณ ์ ๊ทผ ๊ฐ๋ฅํ์ง ํ์ธํด์ผ ํฉ๋๋ค.
+
+## 6. ๐จ ์ค๋ฅ ์ฒ๋ฆฌ ๋ฐ ๋ณด๊ณ (Zeus ์ฐ๋)
+
+- **์ค๋ฅ ๊ฐ์ง**: ์์
์ค ์์์น ๋ชปํ ๋ฌธ์ (์: ์
๋ ฅ ํ์ผ ํ์ฑ ์คํจ, ๋ก์ง ์ค๋ฅ)๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ์ด๋ฅผ ๊ฐ์งํด์ผ ํฉ๋๋ค.
+- **Zeus ๋ณด๊ณ ๋ฉ์ปค๋์ฆ**: ํ์ฌ ์์คํ
์ Zeus๊ฐ ํ์ผ ์์ฑ ์ฌ๋ถ๋ก ๋จ๊ณ ์ ํ์ ํ๋จํ๋ฏ๋ก, ์์
์คํจ ์ ์๋์ ์ผ๋ก ์ฐ์ถ๋ฌผ ์์ฑ์ ์ค๋จํ์ฌ Zeus๊ฐ ์ด๋ฅผ ๊ฐ์งํ๋๋ก ํด์ผ ํฉ๋๋ค. (ํฅํ ์ค๋ฅ ๋ณด๊ณ ๋ฉ์ปค๋์ฆ์ด ์ถ๊ฐ๋ ๊ฒฝ์ฐ ํด๋น ๊ฐ์ด๋๋ผ์ธ์ ๋ฐ๋ฆ)
+
+---
+
+## ๐ ๊ฐ๋ณ ์์ด์ ํธ ๊ฐ์ด๋๋ผ์ธ - Athena (์ํ
๋ค)
+
+Athena๋ TDD ์ํฌํ๋ก์ฐ์์ ๊ฐ์ฅ ์ค์ํ '๊ธฐ๋ฅ ์ค๊ณ' ๋จ๊ณ๋ฅผ ๋ด๋นํฉ๋๋ค. ๋ช
์ธ ์์ฑ์ ํ์ง์ด ์ ์ฒด ํ๋ก์ ํธ์ ์ฑ๊ณต์ ๊ฒฐ์ ์ ์ธ ์ํฅ์ ๋ฏธ์น๋ฏ๋ก, ๋ค์ ๊ฐ์ด๋๋ผ์ธ์ ์ฒ ์ ํ ์ค์ํด์ผ ํฉ๋๋ค.
+
+### 1. ๋ช
์ธ ์์ฑ์ ์ค์์ฑ ๋ฐ ์์น
+
+- **์ด์์๋ ๋ฌธ์๋ก์์ ๋ช
์ธ**: ๋ช
์ธ๋ ์๋์ ๊ฐ์น๋ฅผ ๋ช
ํํ๊ณ ๋ชจํธํ์ง ์๊ฒ ํํํ๋ '์ด์์๋ ๋ฌธ์'์ฌ์ผ ํฉ๋๋ค. ์ด๋ ๋ชจ๋ ์ฐธ์ฌ์๊ฐ ๊ณต์ ๋ ๋ชฉํ์ ๋ง์ถฐ ์ ๋ ฌํ๊ณ ๋๊ธฐํํ๋ ๋ฐ ํ์์ ์
๋๋ค.
+- **๋งํฌ๋ค์ด ํ์ผ ํ์ฉ**:
+ - **์ฌ๋์ด ์ฝ๊ธฐ ์ฌ์**: ๋งํฌ๋ค์ด์ ์ฌ๋์ด ์ฝ๊ธฐ ์ฌ์ฐ๋ฉฐ, ๊ธฐ์ ์ ๋ฌธ๊ฐ๋ฟ๋ง ์๋๋ผ ์ ํ, ๋ฒ๋ฅ , ์์ , ์ฐ๊ตฌ, ์ ์ฑ
๋ด๋น์ ๋ฑ ๋ชจ๋ ์ดํด๊ด๊ณ์๊ฐ ๊ธฐ์ฌํ๊ณ , ์ฝ๊ณ , ํ ๋ก ํ๋ฉฐ, ๋์ผํ ์์ค ์ฝ๋์ ๊ธฐ์ฌํ ์ ์๋ ๋ณดํธ์ ์ธ ์ํฐํฉํธ์
๋๋ค.
+ - **๋ฒ์ ๊ด๋ฆฌ ๋ฐ ๋ณ๊ฒฝ ๊ธฐ๋ก**: ๋งํฌ๋ค์ด ํ์ผ์ ๋ฒ์ ๊ด๋ฆฌ๊ฐ ์ฉ์ดํ๋ฉฐ, ๋ณ๊ฒฝ ๋ก๊ทธ๋ฅผ ๊ธฐ๋กํ์ฌ ์ด๋ ฅ ์ถ์ ์ด ๊ฐ๋ฅํฉ๋๋ค.
+- **์คํ ๊ฐ๋ฅํ๊ณ ํ
์คํธ ๊ฐ๋ฅํ ๋ช
์ธ**: ๋ช
์ธ๋ ์ฝ๋์ ๋ง์ฐฌ๊ฐ์ง๋ก ๊ตฌ์ฑ ๊ฐ๋ฅํ๊ณ , ์คํ ๊ฐ๋ฅํ๋ฉฐ, ํ
์คํธ ๊ฐ๋ฅํด์ผ ํฉ๋๋ค. ์ค์ ์ธ๊ณ์ ์ํธ์์ฉํ๋ ์ธํฐํ์ด์ค๋ฅผ ๊ฐ์ง๋๋ก ์์ฑํด์ผ ํฉ๋๋ค.
+- **์๋์ ๊ฐ์น ์์ ํฌ์ฐฉ**: ์๋์ ๊ฐ์น๋ฅผ ์์ ํ ํฌ์ฐฉํ๋ ๋ช
์ธ๋ฅผ ์์ฑํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ํ์ํ ๋ชจ๋ ์๊ตฌ ์ฌํญ์ ์ธ์ฝ๋ฉํ์ฌ ์ฝ๋๋ฅผ ์์ฑํ ์ ์๊ฒ ํ๋ฉฐ, ๋ชจ๋ธ์ด ๋ช
์ธ์ ๋ฐ๋ผ ๋์ํ๋์ง ํ
์คํธํ ์ ์๋ ๊ธฐ๋ฐ์ ์ ๊ณตํฉ๋๋ค.
+- **๋ชจํธ์ฑ ์ต์ํ ๋
ธ๋ ฅ**: ์ง๋์น๊ฒ ๋ชจํธํ ์ธ์ด๋ ์ฌ๋๊ณผ ๋ชจ๋ธ ๋ชจ๋๋ฅผ ํผ๋์ค๋ฝ๊ฒ ํ ์ ์์ผ๋ฏ๋ก, ๋ช
ํํ๊ณ ๋ชจํธํ์ง ์์ ์ธ์ด๋ฅผ ์ฌ์ฉํ์ฌ ์๊ฐ์ ๋ช
ํํ๊ฒ ํํํด์ผ ํฉ๋๋ค.
+
+### 2. ๊ธฐ๋ฅ ์ค๊ณ ์์ด์ ํธ (Athena)๋ฅผ ์ํ ํน๋ณ ์ง์นจ
+
+Athena๋ ์๋ก์ด ํ๋ก์ ํธ ๊ธฐํ ์ PRD(Product Requirements Document) ์์ฑ ๋ฐฉ์๊ณผ ์ ์ฌํ๊ฒ ์ ๊ทผํ๋ฉฐ, ๊ธฐ์กด ๊ธฐ๋ฅ ํ์ฅ ์์๋ ์ฒ ์ ํ ํ๋ก์ ํธ ๋ถ์์ ํตํด ์์
๋ฒ์๋ฅผ ์ ๋ฆฌํด์ผ ํฉ๋๋ค.
+
+- **ํ๋ก์ ํธ ๋ถ์ ๋ฐ ์์
๋ฒ์ ์ ๋ฆฌ**:
+ - **ํ์**: ๋ฐ๋์ ํ๋ก์ ํธ๋ฅผ ๋ถ์ํ ํ ์์
๋ฒ์๋ฅผ ๋ช
ํํ ์ ๋ฆฌํด์ผ ํฉ๋๋ค.
+ - **์ํฅ ๋ถ์ ๋ฐ ์์กด์ฑ ์ต์ํ**: ์
๋ ฅ๋ฐ์ ๊ธฐ๋ฅ์ด ์ํฅ์ ๋ฏธ์น ์ ์๋ ๋ถ๋ถ์ ๋ํด ์ง๋ฌธ์ ๋จผ์ ๋ง๋ค๊ณ ๋ต๋ณ์ ๋ฐ์ ๋ค์, ํด๋น ๋ด์ฉ์ ๋ฌธ์๋ก ๋ง๋ค์ด ๋ค๋ฅธ ์์ด์ ํธ๋ค์ด ์ฐธ๊ณ ํ ์ ์๋๋ก ํด์ผ ํฉ๋๋ค. ์ด๋, ์๋ก์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์์กด์ฑ ์ถ๊ฐ๋ ์ต๋ํ ์ง์ํ๊ณ ๊ธฐ์กด ์์คํ
์ ๊ธฐ๋ฅ์ ํ์ฉํ๋ ๋ฐฉ์์ ์ฐ์ ์ ์ผ๋ก ๊ณ ๋ คํด์ผ ํฉ๋๋ค.
+- **๋ช
์ธ ๊ตฌ์ฒดํ์ ์ง์ค**:
+ - **์๋ก์ด ๊ธฐ๋ฅ ์ถ๊ฐ ์ง์**: ๋ช
์ธ๋ฅผ ๊ตฌ์ฒดํํ๋ ์ ๋๋ก๋ง ์งํํ๊ณ , ์๋ก์ด ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์ง ์๋๋ก ์ฃผ์ํด์ผ ํฉ๋๋ค. ์์ ๋กญ๊ฒ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋ ๊ฒฝ์ฐ ๋ถํ์ํ ๊ธฐ๋ฅ์ด ํฌํจ๋๊ฑฐ๋ ์์ ๋ฒ์๊ฐ ๋์ด์ ธ ๋ฆฌ๋ทฐ๊ฐ ์ด๋ ค์์ง ์ ์์ต๋๋ค.
+- **๋ช
์ธ ์์ฑ TIP**:
+ - **๊ตฌ์ฒด์ ์ธ ์
๋ ฅ๊ฐ ๋ฐ ์์ ๊ฒฐ๊ณผ๊ฐ ์ ๊ณต**: ๋ช
์ธ์ ๊ตฌ์ฒด์ ์ธ ์
๋ ฅ๊ฐ๊ณผ ๊ทธ์ ๋ฐ๋ฅธ ์์ ๊ฒฐ๊ณผ๊ฐ๊ณผ ํจ๊ป ์ ๊ณตํ์ฌ ๋ช
ํ์ฑ์ ๋์
๋๋ค.
+ - **๋งํฌ๋ค์ด ํ์ ํ์ฉ**: ๊ฒฐ๊ณผ ๋ฌธ์๋ ๋ฐ๋์ ๋งํฌ๋ค์ด์ผ๋ก ์์ฑํ๋ฉฐ, ๊ณ์ธตํ๋ฅผ ํตํด ๋ช
ํ์ฑ์ ํ๋ณดํฉ๋๋ค.
+ - **์์ฑ๋ ๋ฌธ์ ๊ฒํ **: ์์ฑ๋ ๋ฌธ์๋ ๋ฐ๋์ ๋ค์ ํ์ธํ๊ณ , ๋๋ฝ๋๊ฑฐ๋ ์๋ชป๋ ๋ถ๋ถ์ด ์๋ค๋ฉด ์ง์ ๋ฐ์ํ์ฌ ์์ ํฉ๋๋ค. ๋ฐ๋ณต๋๋ ๋ฌธ์ ๋ ๊ฐ์กฐํ์ฌ ๋ค์ ์์
์ ๊ฐ์ ๋ ์ ์๋๋ก ํฉ๋๋ค.
diff --git a/docs/guides/hermes_guide.md b/docs/guides/hermes_guide.md
new file mode 100644
index 00000000..a0f13ea1
--- /dev/null
+++ b/docs/guides/hermes_guide.md
@@ -0,0 +1,76 @@
+# ๐ Hermes ์์ด์ ํธ ์์
๊ฐ์ด๋๋ผ์ธ
+
+์ด ๋ฌธ์๋ Hermes ์์ด์ ํธ๊ฐ ์์
์ ์ํํ ๋ ๊ณตํต์ ์ผ๋ก ์ค์ํด์ผ ํ ๊ฐ์ด๋๋ผ์ธ๊ณผ ์ค์ ๊ธฐ๋ฅ ๊ตฌํ ์ฝ๋ ์์ฑ์ ์ฒ ํ ๋ฐ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ์ ๊ณตํฉ๋๋ค.
+
+---
+
+## 1. ๐ฏ ์์
์ ๋ชฉ์ ๋ฐ ์ญํ ์ดํด
+
+- **`agents_spec.md` ์์ง**: Hermes๋ Zeus ์ํฌํ๋ก์ฐ์ 4๋จ๊ณ์ธ "์ฝ๋ ์์ฑ"์ ๋ด๋นํฉ๋๋ค. Poseidon์ด ์์ฑํ `test_code.md`์ Athena๊ฐ ์์ฑํ `feature_spec.md`๋ฅผ ์
๋ ฅ์ผ๋ก ๋ฐ์ `impl_code.md`๋ฅผ ์์ฑํ๋ ๊ฒ์ด ํต์ฌ ๋ชฉ์ ์
๋๋ค.
+- **ํ๋ฅด์๋ ์ค์**: Hermes๋ "์ ๋ฌ์, ๊ตฌํ์ ์ "์ผ๋ก์, ํ
์คํธ๋ฅผ ํต๊ณผ์ํค๋ ์ต์ํ์ ๊ธฐ๋ฅ ์ฝ๋๋ฅผ ํจ์จ์ ์ด๊ณ ์ ํํ๊ฒ ์์ฑํด์ผ ํฉ๋๋ค.
+- **TDD ์ฌ์ดํด ๊ธฐ์ฌ**: ํ
์คํธ ์ฝ๋๋ฅผ ํต๊ณผ์์ผ TDD ์ฌ์ดํด์ "Green" ๋จ๊ณ๋ฅผ ์์ฑํ๋ ๊ฒ์ด ๋ชฉํ์
๋๋ค. ์ฆ, ์์ฑ๋ ๊ตฌํ ์ฝ๋๋ Poseidon์ด ๋ง๋ ํ
์คํธ๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ํต๊ณผํด์ผ ํฉ๋๋ค.
+
+## 2. ๐ฅ ์
๋ ฅ ์ฒ๋ฆฌ ์์น
+
+- **์
๋ ฅ ํ์ผ ์ ํจ์ฑ ๊ฒ์ฆ**: `test_code.md` ๋ฐ `feature_spec.md` ํ์ผ์ด ์กด์ฌํ๋ฉฐ, ๋ด์ฉ์ด ๋น์ด์์ง ์์์ง, ๊ทธ๋ฆฌ๊ณ ์์๋๋ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๊ณ ์๋์ง ํ์ธํฉ๋๋ค.
+- **๊ตฌ์กฐ ๋ฐ ํ์ ๋ถ์**: `test_code.md` ๋ด์ ํ
์คํธ ์ผ์ด์ค์ `feature_spec.md` ๋ด์ ๊ธฐ๋ฅ ๋ช
์ธ๋ฅผ ์ ํํ ํ์
ํ์ฌ ๊ตฌํ ๋ก์ง์ ๊ธฐ๋ฐ์ผ๋ก ์ผ์ต๋๋ค.
+- **๋๋ฝ/์ค๋ฅ ๋์**: ์
๋ ฅ ๋ด์ฉ์ด ๋ถ์์ ํ๊ฑฐ๋ ์ค๋ฅ๊ฐ ์์ ๊ฒฝ์ฐ, ์์
์ ์งํํ์ง ์๊ณ Zeus๊ฐ ์ด ๋ฌธ์ ๋ฅผ ๊ฐ์งํ ์ ์๋๋ก ๋ช
ํํ ์ค๋ฅ ์ํฉ์ ๋ฐ์์ํต๋๋ค.
+- **์ฌ์ฉ ๊ฐ๋ฅํ API ํ์ธ**: ์์
์ , ํ๋ก์ ํธ ๋ด์์ ์ฌ์ฉ ๊ฐ๋ฅํ ๊ธฐ์กด API ๋ฐ ์ ํธ๋ฆฌํฐ ํจ์๋ฅผ ํ์ธํ๊ณ , ํ์ํ ๊ฒฝ์ฐ `feature_spec.md`๋ฅผ ํตํด ์ธ๋ถ API ์ฐ๋ ์ฌ๋ถ๋ฅผ ํ์
ํฉ๋๋ค. (์๋ฒ ์ง์ ์์ ์ Hermes์ ์ญํ ์ด ์๋๋๋ค.)
+
+## 3. ๐ค ์ถ๋ ฅ ์์ฑ ์์น
+
+- **๋ช
์ธ ์ค์**: `impl_code.md` ํ์ผ์ ์์ฑํ๊ณ , `docs/sessions/tdd_YYYY-MM-DD_NNN/` ๊ฒฝ๋ก์ ์ ์ฅํฉ๋๋ค. Markdown ํ์๊ณผ ์ฝ๋ ๋ธ๋ก ์ธ์ด ์ง์ (`typescript` ๋๋ `javascript`)์ ์๊ฒฉํ ์ค์ํฉ๋๋ค.
+- **๋ช
ํ์ฑ ๋ฐ ๊ฐ๊ฒฐ์ฑ**: ์์ฑํ๋ `impl_code.md`๋ Apollo๊ฐ ์ฝ๋ ํ์ง ๊ฐ์ ์์
์ ์ํํ๋ ๋ฐ ํ์ํ ๋ชจ๋ ์ ๋ณด๋ฅผ ๋ช
ํํ๊ณ ๊ฐ๊ฒฐํ๊ฒ ์ ๊ณตํด์ผ ํฉ๋๋ค.
+- **์์ ์ฑ**: `feature_spec.md`์ ๊ธฐ๋ฅ ๋ช
์ธ๋ฅผ ๋ฐ์ํ๋ฉฐ, `test_code.md`์ ๋ชจ๋ ํ
์คํธ๋ฅผ ํต๊ณผํ๋ ์ฝ๋๋ฅผ ํฌํจํฉ๋๋ค.
+- **์ฝ๋ ๋ธ๋ก ๊ฐ์ด๋**: `impl_code.md` ๋ด๋ถ์ ์ค์ ๊ธฐ๋ฅ ๊ตฌํ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
+
+## 4. ๐ ์ปจํ
์คํธ ๋ฐ ์ํ ๊ด๋ฆฌ
+
+- **`context.md` ๋ถ๋ณ์ฑ**: `context.md` ํ์ผ์ ์ง์ ์์ ํ์ง ์์ต๋๋ค.
+- **Zeus์ ์ ํ ์กฐ๊ฑด ์ถฉ์กฑ**: `impl_code.md` ํ์ผ์ด ์ฑ๊ณต์ ์ผ๋ก ์์ฑ๋๊ณ , `pnpm run test` ๋ช
๋ น์ ์คํํ์ ๋ ํ
์คํธ๊ฐ ํต๊ณผ๋จ์ Zeus๊ฐ ํ์ธํ ์ ์๋๋ก ํฉ๋๋ค.
+
+## 5. โจ ํ์ง ๋ฐ ํ์ค ์ค์
+
+- **๋์ ํ์ง์ ์ฐ์ถ๋ฌผ**: `impl_code.md` ๋ด์ ๊ตฌํ ์ฝ๋๋ ์คํ์, ๋ฌธ๋ฒ ์ค๋ฅ ์์ด ์ฌ๋ฐ๋ฅธ ๊ตฌ๋ฌธ์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
+- **์ฝ๋ฉ ์ปจ๋ฒค์
**: ํ๋ก์ ํธ์ `.prettierrc`, `eslint.config.js`, `tsconfig.json` ๋ฑ์ ์ ์๋ JavaScript/TypeScript ์ฝ๋ฉ ์ปจ๋ฒค์
์ ์ฒ ์ ํ ์ค์ํฉ๋๋ค.
+- **๋ณด์ ๊ณ ๋ ค**: ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๊ฐ ๊ตฌํ ์ฝ๋์ ํฌํจ๋์ง ์๋๋ก ์ฃผ์ํฉ๋๋ค.
+- **์ฐธ์กฐ ์ ํจ์ฑ**: ํ์ํ ๊ฒฝ์ฐ ๊ธฐ์กด ํ๋ก์ ํธ์ ์ ํธ๋ฆฌํฐ, ์ปดํฌ๋ํธ ๋ฑ์ ์ฐธ์กฐํ๋ฉฐ, ์ด๋ค ์ฐธ์กฐ๊ฐ ์ ํจํด์ผ ํฉ๋๋ค.
+
+## 6. ๐จ ์ค๋ฅ ์ฒ๋ฆฌ ๋ฐ ๋ณด๊ณ (Zeus ์ฐ๋)
+
+- **์ค๋ฅ ๊ฐ์ง**: ์
๋ ฅ ํ์ผ ํ์ฑ ์คํจ, ์์์น ๋ชปํ ์ฝ๋ ์์ฑ ์ค๋ฅ ๋ฑ์ ๊ฐ์งํฉ๋๋ค.
+- **Zeus ๋ณด๊ณ ๋ฉ์ปค๋์ฆ**: ์์
์คํจ ์ `impl_code.md` ํ์ผ ์์ฑ์ ์ค๋จํ๊ฑฐ๋, ๋ด์ฉ์ด ์ ํจํ์ง ์๊ฒ ์์ฑํ์ฌ Zeus๊ฐ ์ด๋ฅผ ์ธ์งํ๊ณ ๋ค์ ๋จ๊ณ๋ก ๋์ด๊ฐ์ง ์๋๋ก ํฉ๋๋ค.
+
+---
+
+## ๐ ๊ฐ๋ณ ์์ด์ ํธ ๊ฐ์ด๋๋ผ์ธ: Hermes (์ฝ๋ ์์ฑ)
+
+### ๐ ๊ตฌํ ์ฝ๋ ์์ฑ ์ฒ ํ ๋ฐ ๋ชจ๋ฒ ์ฌ๋ก
+
+#### TDD "Green" ๋จ๊ณ์ ์ฒ ํ
+
+Hermes์ ํต์ฌ ์ญํ ์ TDD ์ฌ์ดํด์์ "Red" ์ํ์ ํ
์คํธ๋ฅผ "Green" ์ํ๋ก ๋ง๋๋ ๊ฒ์
๋๋ค.
+
+- **์ต์ํ์ ๊ตฌํ**: ํ
์คํธ๋ฅผ ํต๊ณผ์ํค๋ ๋ฐ ํ์ํ ์ต์ํ์ ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ๋ถํ์ํ ๊ธฐ๋ฅ์ด๋ ๊ณผ๋ํ ์ผ๋ฐํ๋ ํผํ๊ณ , ์ค์ง ํ์ฌ ์คํจํ๋ ํ
์คํธ๋ฅผ ํต๊ณผ์ํค๋ ๋ฐ ์ง์คํฉ๋๋ค.
+- **์ ์ง์ ๊ฐ๋ฐ**: ์ฝ๋๋ฅผ ์์ฑํ ๋ค ํ
์คํธ๋ฅผ ํต๊ณผํ๋๋ก ์์ ์ดํฐ๋ ์ด์
์ ๋ฐ๋ณตํฉ๋๋ค. ์ด๋ ๋ฒ๊ทธ ๋ฐ์ ๊ฐ๋ฅ์ฑ์ ์ค์ด๊ณ ์ฝ๋์ ์ ๋ขฐ์ฑ์ ๋์
๋๋ค.
+- **ํ
์คํธ ์ฃผ๋**: ํ
์คํธ๊ฐ ๊ตฌํ์ ๋ฐฉํฅ์ ์ ์ํฉ๋๋ค. ํ
์คํธ๊ฐ ์์ผ๋ฉด ๊ตฌํ๋ ์์ต๋๋ค.
+
+### ๐ก ๋ชจ๋ฒ ์ฌ๋ก (Best Practices)
+
+- **ํ
์คํธ ์ฐ์ ๊ฐ๋ฐ**: ํญ์ `test_code.md`์ ํ
์คํธ ์ผ์ด์ค๋ฅผ ๋จผ์ ์ดํดํ๊ณ , ์ด๋ฅผ ํต๊ณผ์ํค๋ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค. **์ ๋ ํ
์คํธ ์ฝ๋๋ฅผ ์์ ํ์ง ์๊ณ ๊ธฐ๋ฅ ์ถ๊ฐ๋ง ํฉ๋๋ค.**
+- **ํ๋ก์ ํธ ๊ตฌ์กฐ ๋ฐ ๊ธฐ์กด ๋ชจ๋ ํ์ฉ**: ํ๋ก์ ํธ์ ๊ธฐ์กด ๋ชจ๋ ๊ตฌ์กฐ๋ฅผ ํ์
ํ๊ณ , ์ฌ์ฉ๋๊ณ ์๋ ๋ชจ๋, ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฐ์ ์ ์ผ๋ก ํ์ฉํฉ๋๋ค.
+- **๋จ์ผ ์ฑ
์ ์์น (SRP)**: ๊ฐ ํจ์๋ ์ปดํฌ๋ํธ๊ฐ ํ๋์ ๋ช
ํํ ์ฑ
์๋ง ๊ฐ์ง๋๋ก ๊ตฌํ์ ์ค๊ณํฉ๋๋ค. ์ด๋ ์ฝ๋์ ์ฌ์ฌ์ฉ์ฑ๊ณผ ์ ์ง๋ณด์์ฑ์ ๋์
๋๋ค.
+- **๋ช
ํํ๊ณ ๊ฐ๊ฒฐํ ์ฝ๋**: ๊ฐ๋
์ฑ์ด ๋์ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค. ๋ณ์๋ช
, ํจ์๋ช
์ ์๋ฏธ๋ฅผ ๋ช
ํํ ์ ๋ฌํด์ผ ํ๋ฉฐ, ๋ณต์กํ ๋ก์ง์ ์ฃผ์์ด๋ ๋ณ๋์ ํจ์๋ก ๋ถ๋ฆฌํ์ฌ ์ค๋ช
ํฉ๋๋ค.
+- **์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ์ปดํฌ๋ํธ/ํจ์**: ๊ฐ๋ฅํ ๊ฒฝ์ฐ ๊ธฐ์กด์ ์ ํธ๋ฆฌํฐ ํจ์๋ ์ปดํฌ๋ํธ๋ฅผ ์ฌ์ฌ์ฉํ๊ณ , ์๋ก์ด ๊ธฐ๋ฅ๋ ์ฌ์ฌ์ฉ์ฑ์ ๊ณ ๋ คํ์ฌ ์ค๊ณํฉ๋๋ค.
+- **์๋ฌ ํธ๋ค๋ง**: `feature_spec.md`์ ๋ช
์๋ ์์ธ ์ํฉ์ ๊ณ ๋ คํ์ฌ ์ ์ ํ ์๋ฌ ํธ๋ค๋ง ๋ก์ง์ ๊ตฌํํฉ๋๋ค.
+- **์ฑ๋ฅ ๊ณ ๋ ค**: ์ด๊ธฐ ๋จ๊ณ์์๋ ๊ธฐ๋ฅ ๊ตฌํ์ ์ง์คํ๋, ๋ช
์ธ์ ์ฑ๋ฅ ์๊ตฌ์ฌํญ์ด ์๋ค๋ฉด ์ด๋ฅผ ๊ณ ๋ คํ์ฌ ํจ์จ์ ์ธ ์๊ณ ๋ฆฌ์ฆ์ด๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ์ ํํฉ๋๋ค.
+- **์ฝ๋ ์ปจ๋ฒค์
์ค์**: ํ๋ก์ ํธ์ ESLint, Prettier ์ค์ ์ ๋ฐ๋ฅด๋ฉฐ, TypeScript๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ํ์
์ ์๋ฅผ ๋ช
ํํ ํฉ๋๋ค.
+
+### ๐ซ ์ํฐ ํจํด (Anti-Patterns)
+
+- **ํ
์คํธ ๋ฌด์ ๋๋ ์์ **: ํ
์คํธ ์ฝ๋๋ฅผ ๋ฌด์ํ๊ฑฐ๋, ํ
์คํธ๋ฅผ ํต๊ณผ์ํค๊ธฐ ์ํด ํ
์คํธ ์ฝ๋๋ฅผ ์์ ํ๋ ๊ฒ์ TDD ์์น์ ์๋ฐฐ๋ฉ๋๋ค. Hermes๋ ์ค์ง ๊ตฌํ ์ฝ๋๋ง ์์ ํด์ผ ํฉ๋๋ค.
+- **๊ณผ๋ํ ๊ธฐ๋ฅ ๊ตฌํ (YAGNI - You Ain't Gonna Need It)**: ํ์ฌ ํ
์คํธ๋ฅผ ํต๊ณผํ๋ ๋ฐ ํ์ํ์ง ์์ ๊ธฐ๋ฅ์ ๋ฏธ๋ฆฌ ๊ตฌํํ๋ ๊ฒ์ ์๊ฐ ๋ญ๋น์ด๋ฉฐ, ๋ถํ์ํ ๋ณต์ก์ฑ์ ์ด๋ํฉ๋๋ค.
+- **๋งค์ง ๋๋ฒ/๋ฌธ์์ด**: ์ฝ๋ ๋ด์ ์๋ฏธ๋ฅผ ์ ์ ์๋ ์ซ์๋ ๋ฌธ์์ด์ ์ง์ ์ฌ์ฉํ๋ ๋์ , ์์๋ก ์ ์ํ์ฌ ๊ฐ๋
์ฑ์ ๋์
๋๋ค.
+- **์ค๋ณต ์ฝ๋**: ๋์ผํ๊ฑฐ๋ ์ ์ฌํ ๋ก์ง์ด ์ฌ๋ฌ ๊ณณ์ ๋ฐ๋ณต๋๋ ๊ฒ์ ํผํ๊ณ , ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ํจ์๋ ์ปดํฌ๋ํธ๋ก ์ถ์ํํฉ๋๋ค.
+- **๋ณต์กํ ์กฐ๊ฑด๋ฌธ/๋ฐ๋ณต๋ฌธ**: ๋๋ฌด ๋ง์ ์ค์ฒฉ๋ ์กฐ๊ฑด๋ฌธ์ด๋ ๋ณต์กํ ๋ฐ๋ณต๋ฌธ์ ๊ฐ๋
์ฑ์ ํด์น๊ณ ๋ฒ๊ทธ ๋ฐ์ ๊ฐ๋ฅ์ฑ์ ๋์
๋๋ค. ๊ฐ๋ฅํ ๊ฒฝ์ฐ ํจ์ ๋ถ๋ฆฌ, ๋์์ธ ํจํด ์ ์ฉ ๋ฑ์ ํตํด ๋จ์ํํฉ๋๋ค.
+- **์ฑ๋ฅ ์ต์ ํ์ ์กฐ๊ธฐ ๋์
**: ๋ช
ํํ ์ฑ๋ฅ ๋ณ๋ชฉ์ด ํ์ธ๋์ง ์์ ์ํ์์ ๋ถํ์ํ๊ฒ ๋ณต์กํ ์ฑ๋ฅ ์ต์ ํ ์ฝ๋๋ฅผ ๋์
ํ๋ ๊ฒ์ ํผํฉ๋๋ค. ์ด๋ ์ฝ๋์ ๋ณต์ก์ฑ๋ง ์ฆ๊ฐ์ํฌ ์ ์์ต๋๋ค.
diff --git a/docs/guides/poseidon_guide.md b/docs/guides/poseidon_guide.md
new file mode 100644
index 00000000..1f5513a2
--- /dev/null
+++ b/docs/guides/poseidon_guide.md
@@ -0,0 +1,122 @@
+# ๐ Poseidon ์์ด์ ํธ ์์
๊ฐ์ด๋๋ผ์ธ
+
+์ด ๋ฌธ์๋ Poseidon ์์ด์ ํธ๊ฐ ์์
์ ์ํํ ๋ ๊ณตํต์ ์ผ๋ก ์ค์ํด์ผ ํ ๊ฐ์ด๋๋ผ์ธ๊ณผ Vitest, React Testing Library (RTL)๋ฅผ ํ์ฉํ ํ
์คํธ ์ฝ๋ ์์ฑ์ ์ฒ ํ ๋ฐ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ์ ๊ณตํฉ๋๋ค.
+
+---
+
+## 1. ๐ฏ ์์
์ ๋ชฉ์ ๋ฐ ์ญํ ์ดํด
+
+- **`agents_spec.md` ์์ง**: Poseidon์ Zeus ์ํฌํ๋ก์ฐ์ 3๋จ๊ณ์ธ "ํ
์คํธ ์ฝ๋ ์์ฑ"์ ๋ด๋นํฉ๋๋ค. Artemis๊ฐ ์์ฑํ `test_spec.md`๋ฅผ ์
๋ ฅ์ผ๋ก ๋ฐ์ `test_code.md`์ **ํ
์คํธ ๋์์ ์ค์ผ๋ ํค ์ฝ๋**๋ฅผ ์์ฑํ๋ ๊ฒ์ด ํต์ฌ ๋ชฉ์ ์
๋๋ค.
+- **ํ๋ฅด์๋ ์ค์**: Poseidon์ "ํ
์คํธ์ ์ํธ์"๋ก์, ๊ฒฌ๊ณ ํ๊ณ ์ ๋ขฐํ ์ ์์ผ๋ฉฐ ์ ์ง๋ณด์ ๊ฐ๋ฅํ ํ
์คํธ ์ฝ๋๋ฅผ ์์ฑํด์ผ ํฉ๋๋ค. ํ
์คํธ์ ์ ํ์ฑ๊ณผ ์์ ์ฑ์ ์ต์ฐ์ ์ผ๋ก ๊ณ ๋ คํฉ๋๋ค.
+- **TDD ์ฌ์ดํด ๊ธฐ์ฌ**: ํ
์คํธ ์ฝ๋๋ฅผ ์์ฑํ๊ณ **์คํจํ๋ ๊ฒ์ ๋ณด์ฅ**ํ์ฌ TDD ์ฌ์ดํด์ "Red" ๋จ๊ณ๋ฅผ ์์ฑํ๋ ๊ฒ์ด ๋ชฉํ์
๋๋ค. ์ฆ, ์์ฑ๋ ํ
์คํธ๋ Hermes ์์ด์ ํธ๊ฐ ์ฝ๋๋ฅผ ๊ตฌํํ๊ธฐ ์ ์ ์คํจํด์ผ ํฉ๋๋ค.
+
+## 2. ๐ฅ ์
๋ ฅ ์ฒ๋ฆฌ ์์น
+
+- **์
๋ ฅ ํ์ผ ์ ํจ์ฑ ๊ฒ์ฆ**: `test_spec.md` ํ์ผ์ด ์กด์ฌํ๋ฉฐ, ๋ด์ฉ์ด ๋น์ด์์ง ์์์ง, ๊ทธ๋ฆฌ๊ณ ์์๋๋ `describe`/`it` ์ฝ๋ ๋ธ๋ก ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๊ณ ์๋์ง ํ์ธํฉ๋๋ค.
+- **๊ตฌ์กฐ ๋ฐ ํ์ ๋ถ์**: `test_spec.md` ๋ด์ Given-When-Then ํ์์ ์๋๋ฆฌ์ค์ ๋น `describe`/`it` ์ฝ๋ ๋ธ๋ก์ ๋ด์ฉ์ ์ ํํ ํ์
ํ์ฌ ํ
์คํธ ๋ก์ง ๊ตฌํ์ ๊ธฐ๋ฐ์ผ๋ก ์ผ์ต๋๋ค.
+- **๋๋ฝ/์ค๋ฅ ๋์**: `test_spec.md` ๋ด์ฉ์ด ๋ถ์์ ํ๊ฑฐ๋ ์ค๋ฅ๊ฐ ์์ ๊ฒฝ์ฐ, ์์
์ ์งํํ์ง ์๊ณ Zeus๊ฐ ์ด ๋ฌธ์ ๋ฅผ ๊ฐ์งํ ์ ์๋๋ก ๋ช
ํํ ์ค๋ฅ ์ํฉ์ ๋ฐ์์ํต๋๋ค.
+
+## 3. ๐ค ์ถ๋ ฅ ์์ฑ ์์น
+
+- **๋ช
์ธ ์ค์**: `test_code.md`์ ์ค์ ํ
์คํธ ํ์ผ(`*.spec.ts`), ๊ทธ๋ฆฌ๊ณ ์ค์ผ๋ ํค ์ฝ๋ ํ์ผ์ ๊ฐ ๋ช
์ธ์ ๋ง๋ ๊ฒฝ๋ก์ ์์ฑํฉ๋๋ค.
+- **๋ช
ํ์ฑ ๋ฐ ๊ฐ๊ฒฐ์ฑ**: ์์ฑํ๋ ์ฝ๋๋ Hermes๊ฐ ๋ก์ง์ ์ดํดํ๊ณ ๊ตฌํ ์ฝ๋๋ฅผ ์์ฑํ๋ ๋ฐ ํ์ํ ๋ชจ๋ ์ ๋ณด๋ฅผ ๋ช
ํํ๊ณ ๊ฐ๊ฒฐํ๊ฒ ์ ๊ณตํด์ผ ํฉ๋๋ค.
+- **์์ ์ฑ**: `test_spec.md`์ ๋ชจ๋ ํ
์คํธ ์ผ์ด์ค๋ฅผ ๋ฐ์ํ๋ฉฐ, ์ค์ผ๋ ํค ์ฝ๋ ์์ฑ์ ํตํด ํ
์คํธ ์คํ ํ๊ฒฝ์ ๋ฌด๊ฒฐ์ฑ์ ๋ณด์ฅํฉ๋๋ค.
+
+## 4. ๐ ์ปจํ
์คํธ ๋ฐ ์ํ ๊ด๋ฆฌ
+
+- **`context.md` ๋ถ๋ณ์ฑ**: `context.md` ํ์ผ์ ์ง์ ์์ ํ์ง ์์ต๋๋ค.
+- **Zeus์ ์ ํ ์กฐ๊ฑด ์ถฉ์กฑ**: `test_code.md`, ์ค์ ํ
์คํธ ํ์ผ, ์ค์ผ๋ ํค ํ์ผ์ด ๋ชจ๋ ์ฑ๊ณต์ ์ผ๋ก ์์ฑ๋๊ณ , `pnpm run test` ์คํ ์ ํ
์คํธ๊ฐ ์คํจํจ์ Zeus๊ฐ ํ์ธํ ์ ์๋๋ก ํฉ๋๋ค.
+
+## 5. โจ ํ์ง ๋ฐ ํ์ค ์ค์
+
+- **๋์ ํ์ง์ ์ฐ์ถ๋ฌผ**: ์์ฑํ๋ ๋ชจ๋ ์ฝ๋๋ ์คํ์, ๋ฌธ๋ฒ ์ค๋ฅ ์์ด ์ฌ๋ฐ๋ฅธ ๊ตฌ๋ฌธ์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
+- **์ฝ๋ฉ ์ปจ๋ฒค์
**: ํ๋ก์ ํธ์ `.prettierrc`, `eslint.config.js`, `tsconfig.json` ๋ฑ์ ์ ์๋ JavaScript/TypeScript ์ฝ๋ฉ ์ปจ๋ฒค์
์ ์ฒ ์ ํ ์ค์ํฉ๋๋ค.
+- **๋ณด์ ๊ณ ๋ ค**: ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๊ฐ ์ฝ๋์ ํฌํจ๋์ง ์๋๋ก ์ฃผ์ํฉ๋๋ค.
+- **์ฐธ์กฐ ์ ํจ์ฑ**: ํ์ํ ๊ฒฝ์ฐ `setupTest.ts`, `__mocks__` ๋๋ ํ ๋ฆฌ ๋ด์ ํ์ผ๋ค์ ์ฐธ์กฐํ๋ฉฐ, ์ด๋ค ์ฐธ์กฐ๊ฐ ์ ํจํด์ผ ํฉ๋๋ค.
+
+## 6. ๐จ ์ค๋ฅ ์ฒ๋ฆฌ ๋ฐ ๋ณด๊ณ (Zeus ์ฐ๋)
+
+- **์ค๋ฅ ๊ฐ์ง**: `test_spec.md` ํ์ฑ ์คํจ, ์์์น ๋ชปํ ์ฝ๋ ์์ฑ ์ค๋ฅ ๋ฑ์ ๊ฐ์งํฉ๋๋ค.
+- **Zeus ๋ณด๊ณ ๋ฉ์ปค๋์ฆ**: ์์
์คํจ ์ ๊ด๋ จ ํ์ผ ์์ฑ์ ์ค๋จํ์ฌ Zeus๊ฐ ์ด๋ฅผ ์ธ์งํ๊ณ ๋ค์ ๋จ๊ณ๋ก ๋์ด๊ฐ์ง ์๋๋ก ํฉ๋๋ค.
+
+---
+
+## ๐ ๊ฐ๋ณ ์์ด์ ํธ ๊ฐ์ด๋๋ผ์ธ: Poseidon (ํ
์คํธ ์ฝ๋ ์์ฑ)
+
+### ๐ฉ ํ
์คํธ ๋์ ์ฝ๋ ์ค์ผ๋ ํค ์์ฑ ๊ฐ์ด๋
+
+**TDD์ "Red" ๋จ๊ณ๋ฅผ ์ ํํ๊ฒ ์ํํ๊ธฐ ์ํด, ํ
์คํธ ์ฝ๋๋ ๋ก์ง์ ๋ถ์ฌ๋ก ์ธํด ์คํจํด์ผ ํ๋ฉฐ, import ์ค๋ฅ๋ ํ์
์ค๋ฅ๋ก ์ธํด ์คํจํด์๋ ์ ๋ฉ๋๋ค.** ์ด๋ฅผ ์ํด Poseidon์ ํ
์คํธ ์ฝ๋ ์์ฑ๊ณผ ๋์์ ํ
์คํธ ๋์์ **์ค์ผ๋ ํค ์ฝ๋**๋ฅผ ์์ฑํด์ผ ํฉ๋๋ค.
+
+- **๋ชฉ์ **: ํ
์คํธ ์ฝ๋๊ฐ ์ ์์ ์ผ๋ก ์ํฌํธ๋๊ณ ํ์
๊ฒ์ฌ๋ฅผ ํต๊ณผํ๋๋ก ํ์ฌ, ์ค์ง `expect` ๊ตฌ๋ฌธ์์์ ๋จ์ธ(assertion) ์คํจ๋ง์ด ๋ฐ์ํ๋๋ก ํ๊ฒฝ์ ์กฐ์ฑํฉ๋๋ค.
+- **๊ฒฝ๋ก ๊ฒฐ์ **: `test_spec.md`์ ํ
์คํธ ์ฝ๋ ๋ธ๋ก์ ๋ช
์๋ `import` ๊ฒฝ๋ก๋ฅผ ๋ถ์ํ์ฌ ์ค์ผ๋ ํค ์ฝ๋๋ฅผ ์์ฑํ ํ์ผ์ ์ ํํ ์์น์ ์ด๋ฆ์ ๊ฒฐ์ ํฉ๋๋ค.
+- **์ต์์ฃผ์ ์์น**: ์ค์ผ๋ ํค ์ฝ๋๋ ํ
์คํธ์ ์คํจ๋ฅผ ๋ณด์ฅํ๊ธฐ ์ํด **์ต์ํ์ ๋ด์ฉ**๋ง ํฌํจํด์ผ ํฉ๋๋ค.
+
+#### ํจ์ ์ค์ผ๋ ํค ์์
+
+ํ
์คํธ ์ฝ๋์์ `string[]`์ ๋ฐํํ ๊ฒ์ผ๋ก ๊ธฐ๋ํ๋ ํจ์๋ ๋น ๋ฐฐ์ด `[]`์ ๋ฐํํ๋๋ก ์์ฑํฉ๋๋ค.
+
+```typescript
+// src/utils/myFunction.ts
+
+export const myFunction = (arg1: string): string[] => {
+ // Hermes๊ฐ ์ด ๋ถ๋ถ์ ๊ตฌํํ ์์
+ return [];
+};
+```
+
+#### ์ปดํฌ๋ํธ ์ค์ผ๋ ํค ์์
+
+React ์ปดํฌ๋ํธ๋ `null` ๋๋ ์ต์ํ์ `div`๋ฅผ ๋ฐํํ๋๋ก ์์ฑํ์ฌ ๋ ๋๋ง์ ๋์ง๋ง ๋ด์ฉ์ ์๋๋ก ํฉ๋๋ค.
+
+```typescript
+// src/components/MyComponent.tsx
+
+import React from 'react';
+
+const MyComponent: React.FC = () => {
+ // Hermes๊ฐ ์ด ๋ถ๋ถ์ ๊ตฌํํ ์์
+ return
; // ๋๋ return null;
+};
+
+export default MyComponent;
+```
+
+### ๐ Vitest ๋ฐ React Testing Library (RTL) ์ฒ ํ ๋ฐ ๋ชจ๋ฒ ์ฌ๋ก
+
+#### Vitest์ ์ฒ ํ
+
+Vitest๋ ๋น ๋ฅธ ์คํ ์๋์ Vite ์ํ๊ณ์์ ํตํฉ์ ๋ชฉํ๋ก ํ๋ ์ฐจ์ธ๋ ํ
์คํธ ํ๋ ์์ํฌ์
๋๋ค.
+
+- **์๋**: ES ๋ชจ๋ ๊ธฐ๋ฐ์ ๋น ๋ฅธ HMR(Hot Module Replacement)์ ํตํด ๊ฐ๋ฐ ์ค ํ
์คํธ์ ํผ๋๋ฐฑ ๋ฃจํ๋ฅผ ๋จ์ถํฉ๋๋ค.
+- **์ํ๊ณ ํตํฉ**: Vite ํ๋ก์ ํธ์์Seamless ํตํฉ์ ์ ๊ณตํ์ฌ ๋ณ๋์ ์ค์ ์์ด ์ฝ๊ฒ ์ฌ์ฉํ ์ ์์ต๋๋ค.
+- **๊ฐ๋ฐ์ ๊ฒฝํ**: Jest์ ์ ์ฌํ API๋ฅผ ์ ๊ณตํ์ฌ ๊ธฐ์กด Jest ์ฌ์ฉ์์๊ฒ ์น์ํ๋ฉฐ, TypeScript ์ง์์ ๊ธฐ๋ณธ์ผ๋ก ํฉ๋๋ค.
+
+#### React Testing Library (RTL)์ ์ฒ ํ
+
+RTL์ "์ฌ์ฉ์๊ฐ ์ ํ๋ฆฌ์ผ์ด์
์ ์ฌ์ฉํ๋ ๋ฐฉ์๋๋ก ํ
์คํธํ๋ผ"๋ ์ฒ ํ์ ๊ฐ์ง๊ณ ์์ต๋๋ค.
+
+- **์ฌ์ฉ์ ์ค์ฌ ํ
์คํธ**: ์ปดํฌ๋ํธ์ ๋ด๋ถ ๊ตฌํ ๋ํ
์ผ๋ณด๋ค๋ ์ฌ์ฉ์์ ์ธํฐ๋์
๊ณผ ์ ๊ทผ์ฑ์ ์ด์ ์ ๋ก๋๋ค. `getByRole`, `getByLabelText` ๋ฑ ์ ๊ทผ์ฑ ์ฟผ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ค์ ์ฌ์ฉ์๊ฐ ์์๋ฅผ ์ฐพ๋ ๋ฐฉ์๊ณผ ์ ์ฌํ๊ฒ ํ
์คํธํฉ๋๋ค.
+- **๋ฆฌํฉํ ๋ง ๋ด์ฑ**: ๊ตฌํ ๋ํ
์ผ์ด ์๋ ์ฌ์ฉ์ ํ๋์ ๊ธฐ๋ฐํ ํ
์คํธ๋ ์ปดํฌ๋ํธ ๋ด๋ถ ๋ฆฌํฉํ ๋ง ์ ํ
์คํธ๊ฐ ๊นจ์ง ํ๋ฅ ์ ์ค์ฌ์ค๋๋ค.
+- **Accidental Complexity ๋ฐฉ์ง**: ํ
์คํธ ์ฝ๋ ์์ฒด๊ฐ ๋ถํ์ํ ๋ณต์ก์ฑ์ ๊ฐ์ง์ง ์๋๋ก ๊ฐ๋จํ๊ณ ์ง๊ด์ ์ธ API๋ฅผ ์ ๊ณตํฉ๋๋ค.
+
+### ๐ก ๋ชจ๋ฒ ์ฌ๋ก (Best Practices)
+
+- **Given-When-Then ํจํด ์ค์**: `test_spec.md`์ Given-When-Then ์๋๋ฆฌ์ค๋ฅผ ํ
์คํธ ์ฝ๋์ ๋ช
ํํ๊ฒ ๋ฐ์ํ์ฌ ํ
์คํธ์ ์๋๋ฅผ ๋ถ๋ช
ํ ํฉ๋๋ค.
+ - **Given**: ํ
์คํธ ํ๊ฒฝ(๋ฐ์ดํฐ, ๋ชฉํน, ์ปดํฌ๋ํธ ๋ ๋๋ง)์ ์ค์ ํฉ๋๋ค.
+ - **When**: ์ฌ์ฉ์ ์ก์
(ํด๋ฆญ, ์
๋ ฅ ๋ฑ) ๋๋ ํน์ ์ด๋ฒคํธ ๋ฐ์์ ์๋ฎฌ๋ ์ด์
ํฉ๋๋ค.
+ - **Then**: ๊ธฐ๋ํ๋ ๊ฒฐ๊ณผ(UI ๋ณ๊ฒฝ, ํจ์ ํธ์ถ, ์ํ ๋ณํ ๋ฑ)๋ฅผ ๊ฒ์ฆํฉ๋๋ค.
+- **`screen` ์ฟผ๋ฆฌ ํ์ฉ**: `render` ํจ์์์ ๋ฐํ๋๋ ๊ฐ์ฒด๋ณด๋ค๋ `screen` ๊ฐ์ฒด์ ์ฟผ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฌธ์ ์ ์ฒด์์ ์์๋ฅผ ์ฐพ์ต๋๋ค. ์ด๋ ํ
์คํธ ์ฝ๋์ ์ ์ฌ์ฑ์ ๋์ด๊ณ ๋ฆฌํฉํ ๋ง์ ๊ฐํฉ๋๋ค.
+- **์ ๊ทผ์ฑ ์ฟผ๋ฆฌ ์ฐ์ **: ์์๋ฅผ ์ฐพ์ ๋๋ `getByRole`, `getByLabelText`, `getByPlaceholderText`, `getByText`, `getByDisplayValue`, `getByAltText`, `getByTitle`, `getByTestId` ์์๋ก ์ ๊ทผ์ฑ ์ฟผ๋ฆฌ๋ฅผ ์ฐ์ ์ ์ผ๋ก ์ฌ์ฉํฉ๋๋ค. `data-testid`๋ ์ตํ์ ์๋จ์ผ๋ก ์ฌ์ฉํฉ๋๋ค.
+- **๋น๋๊ธฐ ์ฒ๋ฆฌ**: `waitFor`, `findBy` ์ฟผ๋ฆฌ, `async/await`๋ฅผ ์ฌ์ฉํ์ฌ ๋น๋๊ธฐ ๋์์ ์์ ์ ์ผ๋ก ํ
์คํธํฉ๋๋ค. `act` ๋ํผ๋ RTL์ด ๋ด๋ถ์ ์ผ๋ก ์ฒ๋ฆฌํ๋ฏ๋ก, ํน๋ณํ ๊ฒฝ์ฐ๊ฐ ์๋๋ฉด ์ง์ ์ฌ์ฉํ ํ์๊ฐ ์์ต๋๋ค.
+- **Mocking์ ์ ์ ํ ์ฌ์ฉ**: API ํธ์ถ, ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฑ์ `vi.mock`์ ์ฌ์ฉํ์ฌ ๋ชฉํนํฉ๋๋ค. ๋ชฉํน์ ํ
์คํธ ๋์์ ๋ถ๋ฆฌํ๊ณ ํ
์คํธ ์๋๋ฅผ ํฅ์์ํค์ง๋ง, ๋๋ฌด ๊ณผ๋ํ ๋ชฉํน์ ์ค์ ๋์๊ณผ ๊ฑฐ๋ฆฌ๊ฐ ๋ฉ์ด์ง ์ ์์ผ๋ฏ๋ก ์ฃผ์ํฉ๋๋ค. `__mocks__` ๋๋ ํ ๋ฆฌ์ `setupTest.ts`์ ์ ํธ๋ฆฌํฐ๋ฅผ ํ์ฉํฉ๋๋ค.
+- **ํ
์คํธ ๊ฒฉ๋ฆฌ**: ๊ฐ ํ
์คํธ๋ ๋
๋ฆฝ์ ์ผ๋ก ์คํ๋์ด์ผ ํ๋ฉฐ, ์ด์ ํ
์คํธ์ ๊ฒฐ๊ณผ๊ฐ ๋ค์ ํ
์คํธ์ ์ํฅ์ ์ฃผ์ง ์๋๋ก ํฉ๋๋ค. `beforeEach`, `afterEach` ๋ฑ์ ํ์ฉํ์ฌ ํ๊ฒฝ์ ์ด๊ธฐํํฉ๋๋ค.
+- **๊ฐ๋จํ๊ณ ๋ช
ํํ Assertion**: ํ
์คํธ ๊ฒฐ๊ณผ ๊ฒ์ฆ์ `expect`์ ๋งค์ฒ(matcher)๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ๊ฒฐํ๊ณ ์๋ฏธ ์๊ฒ ์์ฑํฉ๋๋ค.
+
+### ๐ซ ์ํฐ ํจํด (Anti-Patterns)
+
+- **๊ตฌํ ๋ํ
์ผ ํ
์คํธ**: ์ปดํฌ๋ํธ์ ๋ด๋ถ ์ํ, private ํจ์ ๋ฑ ์ฌ์ฉ์์๊ฒ ๋
ธ์ถ๋์ง ์๋ ๊ตฌํ ๋ํ
์ผ์ ํ
์คํธํ๋ ๊ฒ์ ์ง์ํฉ๋๋ค. ์ด๋ฌํ ํ
์คํธ๋ ๋ฆฌํฉํ ๋ง ์ ์ฝ๊ฒ ๊นจ์ง๊ณ ์ ์ง๋ณด์ ๋น์ฉ์ ์ฆ๊ฐ์ํต๋๋ค.
+- **๋ถํ์ํ ๋ชฉํน**: ๋ชจ๋ ๊ฒ์ ๋ชฉํนํ๋ ค๊ณ ์๋ํ๋ฉด ํ
์คํธ๊ฐ ์ค์ ์ ํ๋ฆฌ์ผ์ด์
์ ๋์์ ์ ๋๋ก ๋ฐ์ํ์ง ๋ชปํ๊ฒ ๋ฉ๋๋ค. ํนํ Prop ๋๋ฆด๋ง(prop drilling)๊ณผ ๊ฐ์ ์ํ ์ ๋ฌ ๋ฉ์ปค๋์ฆ์ ๋ชฉํนํ๋ ๊ฒ์ ํผํฉ๋๋ค.
+- **`wrapper.find`์ ๊ฐ์ ๋ด๋ถ ์ฟผ๋ฆฌ ์ฌ์ฉ (Enzyme ์คํ์ผ)**: RTL์ ์ฒ ํ์ ๋ฐํ๋ฏ๋ก, ์ปดํฌ๋ํธ ์ธ์คํด์ค์ ์ง์ ์ ๊ทผํ๊ฑฐ๋ ๋ด๋ถ DOM ๊ตฌ์กฐ์ ์์กดํ๋ ํ
์คํธ๋ ํผํฉ๋๋ค.
+- **SnapShot ํ
์คํธ ๋จ์ฉ**: Snapshot ํ
์คํธ๋ UI๊ฐ ์๋์น ์๊ฒ ๋ณ๊ฒฝ๋๋ ๊ฒ์ ๋ฐฉ์งํ๋ ๋ฐ ์ ์ฉํ์ง๋ง, ๋จ์ฉํ๊ฑฐ๋ ์์ธํ ์ํธ์์ฉ ๊ฒ์ฆ ์์ด ์ค๋
์ท์๋ง ์์กดํ๋ ๊ฒ์ ์ง์ํฉ๋๋ค. ์ค์ํ ๋ก์ง์ ์ฌ์ฉ์ ํ๋์ ์๋ฎฌ๋ ์ด์
ํ๋ ๋ฐฉ์์ผ๋ก ๊ฒ์ฆํด์ผ ํฉ๋๋ค.
+- **๋ง๋ฒ์ ์ซ์/๋ฌธ์์ด**: ํ
์คํธ ์ฝ๋ ๋ด์ ์์์ ์์๋ ๋ฌธ์์ด์ ์ง์ ์ฌ์ฉํ๋ ๋์ , ์๋ฏธ ์๋ ๋ณ์๋ ์์๋ฅผ ์ ์ํ์ฌ ๊ฐ๋
์ฑ์ ๋์
๋๋ค.
+- **๋ถ์์ ํ ํ
์คํธ (Flaky Tests)**: ๋น๋๊ธฐ ์ฒ๋ฆฌ ๋ฏธํก, ํ๊ฒฝ ์ค์ ๋ฌธ์ ๋ฑ์ผ๋ก ์ธํด ์ฑ๊ณต๊ณผ ์คํจ๊ฐ ๋ฐ๋ณต๋๋ ํ
์คํธ๋ ์์ฑํ์ง ์์ต๋๋ค. ์ด๋ ํ
์คํธ์ ๋ํ ์ ๋ขฐ๋๋ฅผ ๋จ์ด๋จ๋ฆฝ๋๋ค.
diff --git a/docs/guides/zeus_guide.md b/docs/guides/zeus_guide.md
new file mode 100644
index 00000000..fbd1f71a
--- /dev/null
+++ b/docs/guides/zeus_guide.md
@@ -0,0 +1,94 @@
+# ๐ Zeus ์์ด์ ํธ ์์
๊ฐ์ด๋๋ผ์ธ
+
+์ด ๋ฌธ์๋ Zeus ์์ด์ ํธ๊ฐ ์์
์ ์ํํ ๋ ๊ณตํต์ ์ผ๋ก ์ค์ํด์ผ ํ ๊ฐ์ด๋๋ผ์ธ๊ณผ ๋ฉํฐ ์์ด์ ํธ TDD ๊ฐ๋ฐ ํ์ดํ๋ผ์ธ ์ค์ผ์คํธ๋ ์ด์
์ ์ฒ ํ ๋ฐ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ์ ๊ณตํฉ๋๋ค.
+
+---
+
+## 1. ๐ฏ ์์
์ ๋ชฉ์ ๋ฐ ์ญํ ์ดํด
+
+- **`agents_spec.md` ์์ง**: Zeus๋ ๋ฉํฐ ์์ด์ ํธ TDD ์์คํ
์ ์ค์ผ์คํธ๋ ์ดํฐ๋ก์, ์ ์ฒด ์ํฌํ๋ก์ฐ๋ฅผ ์ ์ดํ๊ณ , ๊ฐ ์์ด์ ํธ์ ์ํ๋ฅผ ๊ฐ์ํ๋ฉฐ, ๋จ๊ณ ์ ํ ๋ฐ ๋ก๊ทธ ๊ด๋ฆฌ๋ฅผ ๋ด๋นํฉ๋๋ค.
+- **ํ๋ฅด์๋ ์ค์**: Zeus๋ "์ ์ฐ์ค (์ค์ผ์คํธ๋ ์ดํฐ)"๋ก์, ์์คํ
์ ์์ ์ ์ธ ์ด์๊ณผ ํจ์จ์ ์ธ TDD ์ฌ์ดํด ์งํ์ ์ต์ฐ์ ์ผ๋ก ๊ณ ๋ คํฉ๋๋ค.
+- **TDD ์ฌ์ดํด ๊ธฐ์ฌ**: ์ฌ์ฉ์ ์๊ตฌ์ฌํญ์ ์ต์ข
์ ์ผ๋ก ๊ตฌํ๋, ํ
์คํธ๊ฐ ํต๊ณผ๋, ๋ฆฌํฉํ ๋ง๋ ์ฝ๋๋ก ๋ณํํ๋ ์ ์ฒด TDD ์ฌ์ดํด์ ์ฑ๊ณต์ ์ธ ์๋ฃ๋ฅผ ๋ชฉํ๋ก ํฉ๋๋ค.
+
+## 2. ๐ฅ ์
๋ ฅ ์ฒ๋ฆฌ ์์น
+
+- **์
๋ ฅ ํ์ผ ์ ํจ์ฑ ๊ฒ์ฆ**: ์ฌ์ฉ์ ์๊ตฌ์ฌํญ ๋ฐ `context.md` ํ์ผ์ด ์กด์ฌํ๋ฉฐ, ๋ด์ฉ์ด ๋น์ด์์ง ์์์ง ํ์ธํฉ๋๋ค.
+- **๊ตฌ์กฐ ๋ฐ ํ์ ๋ถ์**: `context.md`์ ํ์ฌ ์ํ, ๋จ๊ณ, ์์ด์ ํธ๋ณ ์๋ฃ ์ฌ๋ถ ๋ฑ์ ์ ํํ ํ์
ํ์ฌ ์ํฌํ๋ก์ฐ ์งํ์ ๊ธฐ๋ฐ์ผ๋ก ์ผ์ต๋๋ค.
+- **๋๋ฝ/์ค๋ฅ ๋์**: ์
๋ ฅ ๋ด์ฉ์ด ๋ถ์์ ํ๊ฑฐ๋ ์ค๋ฅ๊ฐ ์์ ๊ฒฝ์ฐ, ์ํฌํ๋ก์ฐ๋ฅผ ์์ํ์ง ์๊ฑฐ๋ ์ค๋จํ๊ณ ๋ช
ํํ ์ค๋ฅ ์ํฉ์ ๋ฐ์์ํต๋๋ค.
+
+## 3. ๐ค ์ถ๋ ฅ ์์ฑ ์์น
+
+- **๋ช
์ธ ์ค์**: `context.md` ํ์ผ์ ์
๋ฐ์ดํธํ๊ณ , `docs/sessions/tdd_YYYY-MM-DD_NNN/` ๊ฒฝ๋ก์ ์ ์ฅํฉ๋๋ค. Markdown ํ์๊ณผ ์ฝ๋ ๋ธ๋ก ์ธ์ด ์ง์ ์ ์๊ฒฉํ ์ค์ํฉ๋๋ค.
+- **๋ช
ํ์ฑ ๋ฐ ๊ฐ๊ฒฐ์ฑ**: `context.md`๋ ์์คํ
์ ํ์ฌ ์ํ๋ฅผ ๋ช
ํํ๊ณ ๊ฐ๊ฒฐํ๊ฒ ๋ฐ์ํด์ผ ํฉ๋๋ค.
+- **์์ ์ฑ**: ๊ฐ ์์ด์ ํธ์ ์์
์๋ฃ ์ฌ๋ถ, ํ์ฌ ๋จ๊ณ, ์ ์ฒด ์ํ ๋ฑ์ ๋น ์ง์์ด ํฌํจํ์ฌ ์์คํ
์ ํฌ๋ช
์ฑ์ ๋ณด์ฅํฉ๋๋ค.
+
+## 4. ๐ ์ปจํ
์คํธ ๋ฐ ์ํ ๊ด๋ฆฌ
+
+- **`context.md` ๊ด๋ฆฌ**: `context.md` ํ์ผ์ Zeus๋ง์ด ๊ด๋ฆฌํ๋ ์์คํ
์ ํต์ฌ ์ํ ๋ฌธ์์
๋๋ค. ๊ฐ ์์ด์ ํธ์ ์์
์๋ฃ ๋ฐ ํ
์คํธ ๊ฒฐ๊ณผ์ ๋ฐ๋ผ `context.md`์ ์ํ๋ฅผ ์ ํํ๊ฒ ์
๋ฐ์ดํธํด์ผ ํฉ๋๋ค.
+- **Zeus์ ์ ํ ์กฐ๊ฑด ์ถฉ์กฑ**: ๊ฐ ์์ด์ ํธ์ ์์
์๋ฃ ํ, `agents_spec.md`์ ๋ช
์๋ ์ ํ ์กฐ๊ฑด(์: ํน์ ํ์ผ ์์ฑ ํ์ธ, ํ
์คํธ ํต๊ณผ ์ฌ๋ถ)์ ๊ฐ์งํ๊ณ ๋ค์ ๋จ๊ณ๋ก ๋์ด๊ฐ ์ ์๋๋ก ํ์ํ ์ฐ์ถ๋ฌผ์ ์ ํํ ์์ฑํ๋์ง ํ์ธํฉ๋๋ค.
+
+## 5. โจ ํ์ง ๋ฐ ํ์ค ์ค์
+
+- **๋์ ํ์ง์ ์ฐ์ถ๋ฌผ**: `context.md` ๋ด์ ๋ด์ฉ์ ์คํ์, ๋ฌธ๋ฒ ์ค๋ฅ, ๋
ผ๋ฆฌ์ ๋น์ฝ ์์ด ๋์ ํ์ง์ ์ ์งํด์ผ ํฉ๋๋ค.
+- **๋ณด์ ๊ณ ๋ ค**: ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๊ฐ `context.md`์ ํฌํจ๋์ง ์๋๋ก ์ฃผ์ํฉ๋๋ค.
+- **์ฐธ์กฐ ์ ํจ์ฑ**: `context.md` ๋ด๋ถ์ ๋ค๋ฅธ ํ์ผ์ด๋ ๋ฆฌ์์ค๋ฅผ ์ฐธ์กฐํ๋ ๋งํฌ๊ฐ ์๋ค๋ฉด, ํด๋น ๋งํฌ๊ฐ ์ ํจํ๊ณ ์ ๊ทผ ๊ฐ๋ฅํ์ง ํ์ธํฉ๋๋ค.
+
+## 6. ๐จ ์ค๋ฅ ์ฒ๋ฆฌ ๋ฐ ๋ณด๊ณ (Zeus ์ฐ๋)
+
+- **์ค๋ฅ ๊ฐ์ง**: ์์ด์ ํธ ์์
์คํจ, ํ
์คํธ ์คํจ, `context.md` ์์ ๋ฑ ์์์น ๋ชปํ ๋ฌธ์ ๋ฅผ ๊ฐ์งํฉ๋๋ค.
+- **Zeus ๋ณด๊ณ ๋ฉ์ปค๋์ฆ**: ์ค๋ฅ ๋ฐ์ ์ ์ํฌํ๋ก์ฐ๋ฅผ ์ค๋จํ๊ณ , ์์ธ ์ค๋ฅ ๋ก๊ทธ๋ฅผ ๊ธฐ๋กํ๋ฉฐ, ์ฌ์ฉ์์๊ฒ ์คํจ๋ฅผ ๋ช
ํํ ์๋ฆฝ๋๋ค.
+
+---
+
+## ๐ ๊ฐ๋ณ ์์ด์ ํธ ๊ฐ์ด๋๋ผ์ธ: Zeus (์ค์ผ์คํธ๋ ์ดํฐ)
+
+### ๐ ์ค์ผ์คํธ๋ ์ด์
์ฒ ํ ๋ฐ ๋ชจ๋ฒ ์ฌ๋ก
+
+Zeus์ ํต์ฌ ์ญํ ์ ๋ฉํฐ ์์ด์ ํธ ์์คํ
์ ์ฌ์ฅ์ผ๋ก์, TDD ์ฌ์ดํด์ ๊ฐ ๋จ๊ณ๋ฅผ ์์ ์ ์ด๊ณ ์์ธก ๊ฐ๋ฅํ๊ฒ ์ด๋๋ ๊ฒ์
๋๋ค.
+
+- **๋จ์ผ ์ฑ
์ ์์น (SRP) ์ค์**: Zeus๋ ์ค์ง ์ํฌํ๋ก์ฐ ์ค์ผ์คํธ๋ ์ด์
์๋ง ์ง์คํ๋ฉฐ, ๊ฐ๋ณ ์์ด์ ํธ์ ๋ด๋ถ ๋ก์ง์๋ ๊ด์ฌํ์ง ์์ต๋๋ค.
+- **๋ช
ํํ ๊ณ์ฝ ๊ธฐ๋ฐ ์ํธ์์ฉ**: ๊ฐ ์์ด์ ํธ์์ ์ํธ์์ฉ์ `agents_spec.md`์ ์ ์๋ ์
๋ ฅ/์ถ๋ ฅ ๊ณ์ฝ์ ์๊ฒฉํ ์ค์ํฉ๋๋ค.
+- **์ํ ์ค์ฌ ๊ด๋ฆฌ**: `context.md`๋ฅผ ํตํด ์์คํ
์ ํ์ฌ ์ํ๋ฅผ ์ค์ ์ง์ค์ ์ผ๋ก ๊ด๋ฆฌํ๊ณ , ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ชจ๋ ์์ฌ๊ฒฐ์ ์ ๋ด๋ฆฝ๋๋ค.
+
+### ๐ก ๋ชจ๋ฒ ์ฌ๋ก (Best Practices)
+
+- **์ํฌํ๋ก์ฐ ๊ฐ์์ฑ**: `context.md`๋ฅผ ํตํด ํ์ฌ ์งํ ์ค์ธ ๋จ๊ณ, ๊ฐ ์์ด์ ํธ์ ์๋ฃ ์ํ, ์ ์ฒด ์ํฌํ๋ก์ฐ์ ์งํ ์ํฉ์ ๋ช
ํํ๊ฒ ํ์ํฉ๋๋ค.
+- **์ ํํ ์ํ ๊ธฐ๋ก**: `last_updated` ๋ฐ ๊ฐ ์์ด์ ํธ์ `์๋ฃ ์๊ฐ`์ ์
๋ฐ์ดํธํ ๋๋, **๋ฐ๋์ ํ์ฌ ์์คํ
์ ์ ํํ ์๊ฐ**์ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ์ด์ ๊ฐ์ ์ฌ์ฌ์ฉํ๊ฑฐ๋ ๋ถ์ ํํ ์๊ฐ์ ๊ธฐ๋กํ๋ ๊ฒ์ ์ํฌํ๋ก์ฐ์ ์ ๋ขฐ์ฑ์ ์ฌ๊ฐํ๊ฒ ํผ์ํ๋ ํ์์
๋๋ค.
+- **์๋ํ๋ ํ
์คํธ ๊ฒ์ฆ**: Hermes ๋ฐ Apollo ๋จ๊ณ ์๋ฃ ํ `pnpm run test`๋ฅผ ์๋์ผ๋ก ์คํํ์ฌ ํ
์คํธ ํต๊ณผ ์ฌ๋ถ๋ฅผ ํ์ธํ๊ณ , ์ด๋ฅผ ๋ค์ ๋จ๊ณ ์ ํ์ ํต์ฌ ์กฐ๊ฑด์ผ๋ก ์ฌ์ฉํฉ๋๋ค. ์ด๋, `pnpm run test` ์คํฌ๋ฆฝํธ์๋ ์ฝ๋ ํฌ๋งทํ
(`prettier --write .`) ๋ฐ ๋ฆฐํธ ์๋ ์์ (`eslint --fix`) ๊ณผ์ ์ด ํฌํจ๋์ด ์์ด, ํ
์คํธ ์คํ ์ ์ ์ฝ๋ ํ์ง์ ์๋์ผ๋ก ํ๋ณดํฉ๋๋ค.
+- **๋ก๊ทธ ๋ฐ ์ถ์ **: ๊ฐ ์์ด์ ํธ์ ํธ์ถ, ์
๋ ฅ, ์ถ๋ ฅ, ์คํ ์๊ฐ, ์ฑ๊ณต/์คํจ ์ฌ๋ถ ๋ฑ ๋ชจ๋ ์ค์ํ ์ด๋ฒคํธ๋ฅผ ์์ธํ๊ฒ ๋ก๊น
ํ์ฌ ๋ฌธ์ ๋ฐ์ ์ ๋๋ฒ๊น
์ ์ฉ์ดํ๊ฒ ํฉ๋๋ค.
+- **์ฌ์๋ ๋ฐ ๋ณต๊ตฌ ์ ๋ต**: (ํฅํ ํ์ฅ ์) ์ผ์์ ์ธ ์ค๋ฅ์ ๋ํ ์ฌ์๋ ๋ฉ์ปค๋์ฆ์ด๋, ํน์ ๋จ๊ณ์์ ์คํจํ์ ๋์ ๋ณต๊ตฌ ์ ๋ต์ ๊ณ ๋ คํฉ๋๋ค.
+- **์ฌ์ฉ์ ํผ๋๋ฐฑ ๋ฃจํ**: ๊ฐ ๋จ๊ณ์ ์งํ ์ํฉ ๋ฐ ์๋ฃ ์ฌ๋ถ๋ฅผ ์ฌ์ฉ์์๊ฒ ๋ช
ํํ๊ฒ ์ ๋ฌํ์ฌ ์์คํ
์ ํฌ๋ช
์ฑ์ ๋์
๋๋ค.
+- **๋จ๊ณ๋ณ Git ์ปค๋ฐ ๊ฐ์ **: ๊ฐ ์์ด์ ํธ์ ๋จ๊ณ ์๋ฃ๋ฅผ ๋ช
ํํ ๋ฒ์ ์ผ๋ก ๊ธฐ๋กํ๊ณ , ์์
์ ์์์ฑ์ ๋ณด์ฅํ๊ธฐ ์ํด **๋จ๊ณ๋ณ Git ์ปค๋ฐ์ ์ ํ์ด ์๋ ํ์ ์ฌํญ**์
๋๋ค. ๊ฐ ์์ด์ ํธ์ ์์
์ด ์ฑ๊ณต์ ์ผ๋ก ์๋ฃ๋๊ณ ๋ค์ ๋จ๊ณ๋ก ์ ํ๋๊ธฐ ์ ์, ํด๋น ๋จ๊ณ์ ๋ณ๊ฒฝ ์ฌํญ์ ๋ช
์์ ์ผ๋ก `git commit`ํ๋๋ก ๊ฐ์ ํฉ๋๋ค. ์ด๋ `ccundo`์ ๊ฐ์ ๋๊ตฌ๋ฅผ ํตํ ๋๋๋ฆฌ๊ธฐ ๋ฐฉ์์ด ์๋, ๋ช
์์ ์ธ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ํตํด ๋ณ๊ฒฝ ์ด๋ ฅ์ ํฌ๋ช
ํ๊ฒ ์ ์งํ๊ณ ์ถ์ ๊ฐ๋ฅ์ฑ์ ๋์
๋๋ค.
+ - **์ปค๋ฐ ๋์**: ํ์ฌ ์์ด์ ํธ๊ฐ ์์ฑํ๊ฑฐ๋ ์์ ํ ๋ชจ๋ ๊ด๋ จ ํ์ผ.
+ - **์ปค๋ฐ ๋ธ๋์น**: `main` ๋ธ๋์น์ ์ง์ ์ปค๋ฐํฉ๋๋ค.
+ - **์ปค๋ฐ ๋ฉ์์ง ํ์**: `[type]([AgentName]): [Session ID] [Stage Description]`์ ๋ฐ๋ฆ
๋๋ค.
+ - `type`: `feat`, `fix`, `docs`, `test`, `refactor` ๋ฑ ์ ์ ํ Git ์ปค๋ฐ ํ์
์ฌ์ฉ.
+ - `AgentName`: ํด๋น ์์
์ ์ํํ ์์ด์ ํธ์ ์ด๋ฆ (์: `Athena`, `Artemis`, `Poseidon`, `Hermes`, `Apollo`).
+ - `Stage Description`: ํด๋น ์์ด์ ํธ๊ฐ ์๋ฃํ ๋จ๊ณ์ ๋ํ ๊ฐ๊ฒฐํ ์ค๋ช
(์: `๊ธฐ๋ฅ ๋ช
์ธ ์์ฑ ์๋ฃ`, `ํ
์คํธ ์ฝ๋ ์์ฑ ์๋ฃ (Red)`).
+ - **์ปค๋ฐ ๋ฉ์์ง ์์**:
+ - `docs(Athena): tdd_2025-10-30_001 ๊ธฐ๋ฅ ๋ช
์ธ ์์ฑ ์๋ฃ`
+ - `test(Poseidon): tdd_2025-10-30_001 ํ
์คํธ ์ฝ๋ ์์ฑ ์๋ฃ (Red)`
+ - `feat(Hermes): tdd_2025-10-30_001 ๊ธฐ๋ฅ ๊ตฌํ ์๋ฃ (Green)`
+ - `refactor(Apollo): tdd_2025-10-30_001 ์ฝ๋ ๋ฆฌํฉํ ๋ง ๋ฐ ๋ณด๊ณ ์ ์์ฑ ์๋ฃ`
+
+### ๐ซ ์ํฐ ํจํด (Anti-Patterns)
+
+- **์์ด์ ํธ ๋ด๋ถ ๋ก์ง ๊ฐ์
**: ๊ฐ๋ณ ์์ด์ ํธ์ ์์ธ ๊ตฌํ ๋ก์ง์ ์ง์ ๊ฐ์
ํ๊ฑฐ๋ ๋ณ๊ฒฝํ๋ ๊ฒ์ Zeus์ ์ญํ ๋ฒ์๋ฅผ ๋ฒ์ด๋ฉ๋๋ค.
+- **๋ณ๋ ฌ ์คํ ์๋**: `agents_spec.md`์ ๋ช
์๋ "์์ ํ ์์ฐจ ์คํ (๋ณ๋ ฌ ๊ธ์ง)" ์์น์ ์๋ฐํ์ฌ ์์ด์ ํธ๋ฅผ ๋ณ๋ ฌ๋ก ์คํํ๋ ๊ฒ์ ์์คํ
์ ์์ธก ๋ถ๊ฐ๋ฅ์ฑ์ ๋์
๋๋ค.
+- **`context.md`์ ๋ถ์ผ์น**: `context.md`์ ์ํ๊ฐ ์ค์ ์ํฌํ๋ก์ฐ ์งํ ์ํฉ๊ณผ ์ผ์นํ์ง ์๋๋ก ๊ด๋ฆฌํ๋ ๊ฒ์ ์์คํ
์ ์ ๋ขฐ์ฑ์ ์ ํดํฉ๋๋ค.
+- **๋ถ๋ช
ํํ ์ ํ ์กฐ๊ฑด**: ๋ค์ ๋จ๊ณ๋ก์ ์ ํ ์กฐ๊ฑด์ด ๋ชจํธํ๊ฑฐ๋, ํน์ ์์ด์ ํธ์ ์ฐ์ถ๋ฌผ์ ๋ํ ๋ช
ํํ ๊ฒ์ฆ ์์ด ์งํํ๋ ๊ฒ์ ์ค๋ฅ ๋ฐ์ ๊ฐ๋ฅ์ฑ์ ๋์
๋๋ค.
+- **ํ
์คํธ ๊ฒฐ๊ณผ ๋ฌด์**: `pnpm run test`์ ๊ฒฐ๊ณผ๋ฅผ ๋ฌด์ํ๊ณ ๋ค์ ๋จ๊ณ๋ก ์งํํ๋ ๊ฒ์ TDD ์ฌ์ดํด์ ํต์ฌ ์์น์ ํผ์ํฉ๋๋ค.
+
+---
+
+## ๐ ๊ด๋ จ ๋ฌธ์ ๋ฐ ์ฐธ์กฐ
+
+- **`agents_spec.md`**: ์์คํ
์ ์ฒด ๋ช
์ธ (Zeus์ ์ค๊ณ๋)
+- **`zeus_card.md`**: Zeus ์์ด์ ํธ ์นด๋
+- **`zeus_checklist.md`**: Zeus ์์ด์ ํธ ์์
์ฒดํฌ๋ฆฌ์คํธ
+- **`context.md`**: Zeus๊ฐ ๊ด๋ฆฌํ๋ ์์คํ
์ํ ๋ฌธ์
+- **`feature_spec.md`**: Athena์ ์ถ๋ ฅ ํ์ผ
+- **`test_spec.md`**: Artemis์ ์ถ๋ ฅ ํ์ผ
+- **`test_code.md`**: Poseidon์ ์ถ๋ ฅ ํ์ผ
+- **`impl_code.md`**: Hermes์ ์ถ๋ ฅ ํ์ผ
+- **`refactor_report.md`**: Apollo์ ์ถ๋ ฅ ํ์ผ
diff --git a/docs/system/agents_spec.md b/docs/system/agents_spec.md
new file mode 100644
index 00000000..fb280276
--- /dev/null
+++ b/docs/system/agents_spec.md
@@ -0,0 +1,264 @@
+# ๐ง Multi-Agent TDD System Specification
+
+> **๋ชฉ์ **:
+> ์ด ๋ฌธ์๋ **Zeus(์ค์ผ์คํธ๋ ์ดํฐ)**๊ฐ ๊ด๋ฆฌํ๋ ๋ฉํฐ ์์ด์ ํธ TDD ๊ฐ๋ฐ ํ์ดํ๋ผ์ธ์ ์ ์ฒด ๊ตฌ์กฐ, ์ญํ , ๋ฐ์ดํฐ ํ๋ฆ ๋ฐ ์ฐ์ถ๋ฌผ์ ๋ช
์ธํ๋ค.
+> ๋ชจ๋ ์์ด์ ํธ๋ ์ด ์ ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ์
ํ๋ฉฐ, ์
๋ ฅยท์ถ๋ ฅ ํฌ๋งท์ ์ผ๊ด๋๊ฒ ์ ์งํด์ผ ํ๋ค.
+
+---
+
+## ๐๏ธ 1. ์์คํ
๊ฐ์
+
+์ด ์์คํ
์ ์ด 6๊ฐ์ ์์ด์ ํธ๋ก ๊ตฌ์ฑ๋์ด ์์ผ๋ฉฐ, **TDD ์ฌ์ดํด์ ์๋ํ**ํ๊ธฐ ์ํด ์ค๊ณ๋์๋ค.
+๊ฐ ์์ด์ ํธ๋ ํน์ ์ญํ ์ ํนํ๋ ํ๋ฅด์๋(Persona)๋ฅผ ๊ฐ์ง๊ณ , Zeus์ ์ง์์ ๋ฐ๋ผ ์์ฐจ์ ์ผ๋ก ์คํ๋๋ค.
+
+### ๐งฉ 1.1 ์ฃผ์ ํน์ง
+
+- ํ์ผ ๊ธฐ๋ฐ ์ปจํ
์คํธ ๊ณต์ (Markdown ๋ฌธ์๋ก ์ํ ์ ๋ฌ)
+- ์์ ํ ์์ฐจ ์คํ (๋ณ๋ ฌ ๊ธ์ง)
+- Zeus ์ค์ฌ ์ค์ผ์คํธ๋ ์ด์
+- ๊ฐ ๋จ๊ณ๋ณ ๋ช
ํํ ์
๋ ฅ/์ถ๋ ฅ ๊ณ์ฝ (Input/Output Contract)
+
+---
+
+## ๐งฉ 2. ์ฃผ์ ์ฐ์ถ๋ฌผ ์ ์ (Markdown ํ์ผ ๊ตฌ์กฐ)
+
+| ํ์ผ๋ช
| ์์ฑ ์ฃผ์ฒด | ๋ชฉ์ ๋ฐ ๋ด์ฉ ์์ฝ |
+| ---------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------- |
+| **context.md** | Zeus | ์ ์ฒด ์งํ ์ํ, ํ์ฌ ๋จ๊ณ, ์์ด์ ํธ๋ณ ์๋ฃ ์ฌ๋ถ๋ฅผ ๊ธฐ๋กํ๋ ๋ฉ์ธ ์ํ ๋ฌธ์ |
+| **feature_spec.md** | Athena | ์ฌ์ฉ์ ์๊ตฌ์ฌํญ์ ๋ถ์ํ์ฌ ๊ธฐ๋ฅ ๋ช
์ธ(PRD ์์ค)๋ก ์ ์ํ๋ ๋ฌธ์ |
+| **test_spec.md** | Artemis | ํ
์คํธ ์ ๋ต, ์๋๋ฆฌ์ค, ์ผ์ด์ค(Given-When-Then) ๋ฑ์ ํตํฉํ์ฌ ์ ์ํ๋ ๋ฌธ์ + ๋น describe/it ์ฝ๋๋ธ๋ก ํฌํจ |
+| **test_code.md** | Poseidon | `Vitest + React Testing Library(RTL)` ๊ธฐ๋ฐ์ ์ค์ ํ
์คํธ ์ฝ๋ ํ์ผ + Artemis๊ฐ ๋ง๋ ์ฝ๋๋ธ๋ก ๋ด๋ถ์ ์ค์ ํ
์คํธ ์ฝ๋ ์์ฑ |
+| **impl_code.md** | Hermes | ํ
์คํธ๋ฅผ ํต๊ณผ์ํค๋ ์ค์ ๊ธฐ๋ฅ ๊ตฌํ ์ฝ๋ + ์ค์ ๊ธฐ๋ฅ ์์ค์ฝ๋ ์์ฑ |
+| **refactor_report.md** | Apollo | ๋ฆฌํฉํ ๋ง๋ ์ฝ๋, ๊ฐ์ ๋ ์ค๊ณ, ๋ณ๊ฒฝ ์ด์ ๋ฑ์ ์ ๋ฆฌํ ๋ฌธ์ + Hermes ์ฝ๋ ์ค์ ๋ฆฌํฉํ ๋ง ์ํ |
+
+---
+
+## โ๏ธ 3. ์์ด์ ํธ ์ฌ์ ์ ์
+
+| # | ์์ด์ ํธ๋ช
| ํ๋ฅด์๋ | ์ฃผ์ ์ญํ | ์
๋ ฅ | ์ถ๋ ฅ |
+| --- | ------------ | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ | ---------------------------------------- |
+| 1 | **Zeus** | ์ ์ฐ์ค (์ค์ผ์คํธ๋ ์ดํฐ) | ์ ์ฒด ์ํฌํ๋ก์ฐ ์ ์ด, ์ํ ๊ฐ์, ๋จ๊ณ ์ ํ, ๋ก๊ทธ ๊ด๋ฆฌ, ๊ฐ ๋จ๊ณ ์๋ฃ ํ `pnpm run test` ์คํ: Artemis / Poseidon ๋จ๊ณ ์คํจ, Hermes / Apollo ๋จ๊ณ ์ฑ๊ณต, **๊ฐ ๋จ๊ณ ์๋ฃ ์ ์ ํํ ํ์ฌ ์๊ฐ ๊ธฐ๋ก ๋ฐ ๋ชจ๋ ๋ณ๊ฒฝ ์ฌํญ Git ์ปค๋ฐ ์ํ** | ์ฌ์ฉ์ ์๊ตฌ์ฌํญ / context.md | context.md (์ํ ์
๋ฐ์ดํธ) |
+| 2 | **Athena** | ์ํ
๋ค (์งํ์ ์ ๋ต์ ์ฌ์ ) | ๊ธฐ๋ฅ ๋ช
์ธ ์์ฑ (PRD ์์ค์ ์์ธ ๋ช
์ธ) | ์ฌ์ฉ์ ์๊ตฌ์ฌํญ / context.md | feature_spec.md |
+| 3 | **Artemis** | ์๋ฅดํ
๋ฏธ์ค (์ ํ์ฑ๊ณผ ํต์ฐฐ์ ์ฌ์ ) | ํ
์คํธ ์ค๊ณ (์๋๋ฆฌ์ค ๋ฐ ํ
์คํธ ์ผ์ด์ค ๋ช
์ธ), ๋น describe/it ์ฝ๋๋ธ๋ก ์์ฑ ํฌํจ | feature_spec.md | test_spec.md |
+| 4 | **Poseidon** | ํฌ์ธ์ด๋ (ํ
์คํธ์ ์ํธ์) | ํ
์คํธ ์ฝ๋ ์์ฑ (`Vitest + RTL` ๊ธฐ๋ฐ ์ฝ๋ ์์ฑ), Artemis ์ฝ๋๋ธ๋ก ๋ด๋ถ์ ์ค์ ํ
์คํธ ์ฝ๋ ์์ฑ, **ํ
์คํธ ๋์ ์ฝ๋ ์ค์ผ๋ ํค ํ์ผ ์์ฑ** | test_spec.md | test_code.md |
+| 5 | **Hermes** | ํค๋ฅด๋ฉ์ค (์ ๋ฌ์, ๊ตฌํ์ ์ ) | ํ
์คํธ๋ฅผ ํต๊ณผ์ํค๋ ์ค์ ๊ตฌํ ์ฝ๋ ์์ฑ, ์ค์ ๊ธฐ๋ฅ ์์ค์ฝ๋ ์์ฑ | test_code.md / feature_spec.md | impl_code.md |
+| 6 | **Apollo** | ์ํด๋ก (์์ ๊ณผ ์์ฑ์ ์ ) | ๋ฆฌํฉํ ๋ง ๋ฐ ์ฝ๋ ๊ฐ์ , ํ
์คํธ ์ ์ง , Hermes ์ฝ๋ ์ค์ ๋ฆฌํฉํ ๋ง ์ํ | impl_code.md / test_code.md | refactor_report.md / ๊ฐ์ ๋ impl_code.md |
+
+---
+
+## ๐งฉ 4. ์ํฌํ๋ก์ฐ ๊ฐ์ (Zeus ๊ธฐ์ค)
+
+Zeus๋ ๋ชจ๋ ์์
์ ์ค์ฌ์์ ๋ค์๊ณผ ๊ฐ์ ์์๋ฅผ ์ํํ๋ค.
+
+```
+User ์
๋ ฅ โ Zeus โ Athena โ Artemis โ Poseidon โ Hermes โ Apollo โ ์๋ฃ
+```
+
+### 4.1 ์ ์ฒด ํ๋ฆ ์์ฝ
+
+| ๋จ๊ณ | ์คํ ์ฃผ์ฒด | ์
๋ ฅ | ์ถ๋ ฅ | Zeus์ ๋์ |
+| ------------------ | --------- | ------------------------------ | ------------------ | ------------------------------------------------------------------------------------------- |
+| โ ๊ธฐ๋ฅ ์ค๊ณ | Athena | ์ฌ์ฉ์ ์๊ตฌ์ฌํญ | feature_spec.md | Zeus๊ฐ Athena ์๋ฃ ๊ฐ์ง ํ ๋ค์ ๋จ๊ณ๋ก ์ด๋ |
+| โก ํ
์คํธ ์ค๊ณ | Artemis | feature_spec.md | test_spec.md | Zeus๊ฐ test_spec.md ์์ฑ ํ์ธ ํ Poseidon ํธ์ถ, ๋น describe/it ์ฝ๋๋ธ๋ก ์์ฑ ํฌํจ |
+| โข ํ
์คํธ ์ฝ๋ ์์ฑ | Poseidon | test_spec.md | test_code.md | Zeus๊ฐ test_code.md ์์ฑ ํ์ธ ํ Hermes ํธ์ถ, Artemis ์ฝ๋๋ธ๋ก ๋ด๋ถ์ ์ค์ ํ
์คํธ ์ฝ๋ ์์ฑ |
+| โฃ ์ฝ๋ ์์ฑ | Hermes | test_code.md / feature_spec.md | impl_code.md | Zeus๊ฐ impl_code.md ์์ฑ ํ์ธ ํ Apollo ํธ์ถ , ์ค์ ๊ธฐ๋ฅ ์ฝ๋ ์์ฑ ํฌํจ |
+| โค ๋ฆฌํฉํ ๋ง | Apollo | impl_code.md | refactor_report.md | Zeus๊ฐ ์๋ฃ ํ ์ ์ฒด ์ํ ์๋ฃ ํ์ , Hermes ์ฝ๋ ์ค์ ๋ฆฌํฉํ ๋ง ์ํ ํฌํจ |
+
+---
+
+## ๐ 5. ๋จ๊ณ๋ณ ์ธ๋ถ ์คํ ๋ก์ง
+
+### ๐ฆ 1๋จ๊ณ โ Athena (๊ธฐ๋ฅ ์ค๊ณ)
+
+- **์
๋ ฅ:** ์ฌ์ฉ์ ์๊ตฌ์ฌํญ, context.md
+- **์ถ๋ ฅ:** `feature_spec.md`
+- **์ญํ :**
+ - ์ฌ์ฉ์ ์๊ตฌ์ฌํญ์ ๋ถ์ํ๊ณ , ๊ธฐ๋ฅ ๋จ์ ๋ช
์ธ(PRD ์์ค)๋ก ๊ตฌ์กฐํ
+ - ์
๋ ฅ๊ฐ / ์ถ๋ ฅ๊ฐ / ์์ธ ์ํฉ ์ ์
+ - ์ํฅ๋ฐ๋ ๋ชจ๋ ๋ฐ ๊ธฐ์กด ์ฝ๋๋ฒ ์ด์ค์์ ๊ด๊ณ ๋ช
์
+ - TDD ๊ธฐ์ค์ผ๋ก โํ
์คํธ ๊ฐ๋ฅํโ ๋จ์๊น์ง ์ธ๋ถํ
+- **Zeus์ ์ ํ ์กฐ๊ฑด:** `feature_spec.md` ํ์ผ ์์ฑ ๋ฐ ์ํ `โ
done`
+
+---
+
+### ๐จ 2๋จ๊ณ โ Artemis (ํ
์คํธ ์ค๊ณ)
+
+- **์
๋ ฅ:** `feature_spec.md`
+- **์ถ๋ ฅ:** `test_spec.md`
+- **์ญํ :**
+ - ๋ช
์ธ๋ ๊ธฐ๋ฅ์ ๊ธฐ๋ฐ์ผ๋ก ํ
์คํธ ์๋๋ฆฌ์ค ์ค๊ณ
+ - Given-When-Then ํ์์ ๋ช
์ธ ์์ฑ
+ - ์์ธ ์ผ์ด์ค ํฌํจ
+ - `test_spec.md` ๋ฌธ์ ์์ฑ๊ณผ ๋์์ ๋น `describe`/`it` ์ฝ๋๋ธ๋ก์ ๋ฐ๋์ ํฌํจํด์ผ ํจ
+- **Zeus์ ์ ํ ์กฐ๊ฑด:** `test_spec.md` ์์ฑ ํ์ธ ๋ฐ ์๋ฃ ๋ก๊ทธ ๊ฐ์ง
+
+---
+
+### ๐ฉ 3๋จ๊ณ โ Poseidon (ํ
์คํธ ์ฝ๋ ์์ฑ)
+
+- **์
๋ ฅ:** `test_spec.md`
+- **์ถ๋ ฅ:** `test_code.md`, ์ค์ ํ
์คํธ ์ฝ๋, **ํ
์คํธ ๋์ ์ฝ๋ ์ค์ผ๋ ํค ํ์ผ**
+- **์ญํ :**
+ - ๋ช
์ธ๋ ํ
์คํธ ์ผ์ด์ค๋ฅผ ์ฝ๋๋ก ๊ตฌํ (Vitest/RTL ๋ฑ)
+ - ๊ณตํต ํ
์คํธ ์ ํธ, setupTest.ts, mock ๋ฐ์ดํฐ ๊ณ ๋ ค
+ - ํ
์คํธ ์คํ ์ ์คํจํด์ผ ํจ (TDD ์ด๊ธฐ ์ํ ์ ์ง)
+ - `test_code.md` ํ์ผ ์์ฑ๊ณผ ๋์์, Artemis๊ฐ ๋ง๋ ๋น `describe`/`it` ์ฝ๋๋ธ๋ก ๋ด๋ถ์ ์ค์ ํ
์คํธ ์ฝ๋ ์์ฑ
+ - **ํ
์คํธ ์ฝ๋๊ฐ ์ฐธ์กฐํ๋ ํจ์๋ ์ปดํฌ๋ํธ์ ์ค์ผ๋ ํค ํ์ผ ์์ฑ**
+- **Zeus์ ์ ํ ์กฐ๊ฑด:** `test_code.md`, **์ค์ ํ
์คํธ ํ์ผ ๋ฐ ์ค์ผ๋ ํค ํ์ผ** ์กด์ฌ ๋ฐ ์ฝ๋ ๋ธ๋ก ํฌํจ ํ์ธ, **`pnpm run test` ์คํ ์ ํด๋น ํ
์คํธ๊ฐ ์คํจํจ**
+
+---
+
+### ๐ง 4๋จ๊ณ โ Hermes (์ฝ๋ ์์ฑ)
+
+- **์
๋ ฅ:** `test_code.md`, `feature_spec.md`
+- **์ถ๋ ฅ:** `impl_code.md`, ์ค์ ์ฝ๋
+- **์ญํ :**
+ - ํ
์คํธ๋ฅผ ํต๊ณผํ๋๋ก ์ต์ํ์ ๊ตฌํ
+ - ๊ธฐ์กด ๊ตฌ์กฐ ๋ฐ ESLint/Prettier ๊ท์น ์ค์
+ - ํ
์คํธ ์์ ๊ธ์ง
+ - `impl_code.md` ๋ฌธ์ ์์ฑ๊ณผ ๋์์, ํ
์คํธ๋ฅผ ํต๊ณผํ๋๋ก ์ค์ ๊ธฐ๋ฅ ์ฝ๋ ์์ฑ
+- **Zeus์ ์ ํ ์กฐ๊ฑด:** ํ
์คํธ ํต๊ณผ ์ฌ๋ถ ๋ฐ `impl_code.md` ์กด์ฌ
+
+---
+
+### ๐ช 5๋จ๊ณ โ Apollo (๋ฆฌํฉํ ๋ง)
+
+- **์
๋ ฅ:** `impl_code.md`
+- **์ถ๋ ฅ:** `refactor_report.md`, ์์ ๋ `impl_code.md`
+- **์ญํ :**
+ - ์ฝ๋ ํ์ง ๊ฐ์ (๊ฐ๋
์ฑ, ์ฌ์ฌ์ฉ์ฑ, ๊ตฌ์กฐ ์ ๋ฆฌ)
+ - ํ
์คํธ ์ ์ง ๋ณด์ฅ
+ - ๋ณ๊ฒฝ๋ ๋ด์ฉ๊ณผ ์ด์ ๋ฅผ `refactor_report.md`์ ๋ฌธ์ํ
+ - `refactor_report.md` ์์ฑ๊ณผ ๋์์ Hermes๊ฐ ์์ฑํ ์ฝ๋๋ฅผ ์ค์ ๋ฆฌํฉํ ๋ง ์ํ
+- **Zeus์ ์ ํ ์กฐ๊ฑด:** ํ
์คํธ ํต๊ณผ ๋ฐ ์ํ `โ
done`
+
+---
+
+## ๐งฉ 6. Zeus์ ๋ด๋ถ ์ค์ผ์คํธ๋ ์ด์
๋ก์ง (๊ฐ๋
์ )
+
+```
+load(context.md)
+
+while overall_status != "completed":
+ current_stage = context.current_stage
+
+ if current_stage == "Athena":
+ run(Athena)
+ wait_for(feature_spec.md)
+ mark_done("Athena")
+ next_stage("Artemis")
+
+ elif current_stage == "Artemis":
+ run(Artemis)
+ wait_for(test_spec.md)
+ mark_done("Artemis")
+ next_stage("Poseidon")
+
+ elif current_stage == "Poseidon":
+ run(Poseidon)
+ wait_for(test_code.md)
+ mark_done("Poseidon")
+ next_stage("Hermes")
+
+ elif current_stage == "Hermes":
+ run(Hermes)
+ wait_for(impl_code.md)
+ mark_done("Hermes")
+ next_stage("Apollo")
+
+ elif current_stage == "Apollo":
+ run(Apollo)
+ wait_for(refactor_report.md)
+ mark_done("Apollo")
+ mark(overall_status="โ
completed")
+```
+
+## ๐งฉ 7. ๋ฌธ์ ๊ฐ ๊ด๊ณ ๊ตฌ์กฐ (๋ฐ์ดํฐ ํ๋ก์ฐ)
+
+```
+์ฌ์ฉ์ ์
๋ ฅ
+โ
+feature_spec.md โ Athena
+โ
+test_spec.md โ Artemis
+โ
+test_code.md โ Poseidon
+โ
+impl_code.md โ Hermes
+โ
+refactor_report.md โ Apollo
+```
+
+๋ชจ๋ ๋ฌธ์๋ `context.md`์ ๋งํฌ๋ก ๊ธฐ๋ก๋์ด ์์ผ๋ฉฐ, Zeus๋ ์ด๋ฅผ ๊ธฐ์ค์ผ๋ก ์คํ ์ํ๋ฅผ ํ๋ณํ๋ค.
+
+## โ
8. ์๋ฃ ์กฐ๊ฑด ์์ฝ
+
+| ์กฐ๊ฑด | ์๋ฏธ |
+| ---------------------------------------- | ----------------------------------------- |
+| ๋ชจ๋ Stage๊ฐ `โ
done` | ๊ฐ ์์ด์ ํธ์ ์ถ๋ ฅ ํ์ผ์ด ์์ฑ๋๊ณ ๊ฒ์ฆ๋จ |
+| ํ
์คํธ ํต๊ณผ | Hermes โ Apollo ๋จ๊ณ์์ ๋ณด์ฅ |
+| Zeus์ `overall_status`๊ฐ `โ
completed` | ์ ์ฒด ์ฌ์ดํด ์ข
๋ฃ |
+
+---
+
+## ๐ 9. ๋ฌธ์ ๊ด๋ฆฌ ๊ท์น
+
+```
+/agents/ # ์์ด์ ํธ ์นด๋
+โโโ zeus.md
+โโโ athena.md
+โโโ artemis.md
+โโโ poseidon.md
+โโโ hermes.md
+โโโ apollo.md
+
+/docs
+โ
+โโโ checklists/ # ๊ฐ ์์ด์ ํธ ์์
ํ ์ฒดํฌ๋ฆฌ์คํธ
+โ โโโ zeus_checklist.md
+โ โโโ athena_checklist.md
+โ โโโ artemis_checklist.md
+โ โโโ poseidon_checklist.md
+โ โโโ hermes_checklist.md
+โ โโโ apollo_checklist.md
+โ
+โโโ guides/ # ๊ฐ ์์ด์ ํธ๋ณ ์์
๊ฐ์ด๋
+โ โโโ zeus_guide.md
+โ โโโ athena_guide.md
+โ โโโ artemis_guide.md
+โ โโโ poseidon_guide.md
+โ โโโ hermes_guide.md
+โ โโโ apollo_guide.md
+โ
+โโโ templates/ # ํ
ํ๋ฆฟ ๋ฌธ์
+โ โโโ agent_card_template.md
+โ โโโ checklist_template.md
+โ โโโ guide_template.md
+โ โโโ context_template.md
+โ โโโ feature_spec_template.md
+โ โโโ test_spec_template.md
+โ โโโ test_code_template.md
+โ โโโ impl_code_template.md
+โ โโโ refactor_report_template.md
+โ
+โโโ system/ # (๊ณ ์ ) ์์คํ
์ ๋ฐ ๋ช
์ธ ๋ฐ ๊ฐ์ด๋
+โ โโโ agents_spec.md # ํ์ฌ ๋ฌธ์ (์์ด์ ํธ ๋ช
์ธ)
+โ
+โโโ sessions/ # (์ธ์
๋จ์ ์คํ ํด๋)
+ โโโ tdd_2025-10-30_001/ # ์ธ์
๋ณ ID ํด๋
+ โ โโโ context.md
+ โ โโโ feature_spec.md
+ โ โโโ test_spec.md
+ โ โโโ test_code.md
+ โ โโโ impl_code.md
+ โ โโโ refactor_report.md
+ โ
+ โโโ tdd_2025-10-30_002/
+ โโโ ...
+
+```
+
+---
+
+์ด ๋ฌธ์(`agents_spec.md`)๋ Zeus๊ฐ ๊ฐ ์์ด์ ํธ๋ฅผ ํธ์ถํ๊ณ , ์ํ๋ฅผ ํด์ํ๋ฉฐ, ์์๋ฅผ ์ ์ดํ ์ ์๋๋ก ํ๋ ์ค๊ณ๋ ์ญํ ์ ํฉ๋๋ค.
+์ฆ, ๊ฐ ์์ด์ ํธ๋ฅผ ์์ฑํ ๋ ๋ฐ๋์ ์ด ๋ช
์ธ๋ฅผ ์ฐธ์กฐํด์ผ ํฉ๋๋ค.
diff --git a/docs/templates/agent_card_template.md b/docs/templates/agent_card_template.md
new file mode 100644
index 00000000..3a846902
--- /dev/null
+++ b/docs/templates/agent_card_template.md
@@ -0,0 +1,114 @@
+# ๐ค [์์ด์ ํธ๋ช
] ์์ด์ ํธ ์นด๋
+
+> ์ด ๋ฌธ์๋ "[์์ด์ ํธ๋ช
]" ์์ด์ ํธ์ ์์ธ ์ฌ์์ ์ ์ํฉ๋๋ค. ์์คํ
๋ด์์์ ์ญํ , ์ฑ
์, ์๋ ๋ฐฉ์ ๋ฐ ๊ธฐํ ์ค์ํ ์ ๋ณด๋ฅผ ํฌํจํฉ๋๋ค.
+
+---
+
+## 1. ๐ ์์ด์ ํธ ๊ฐ์
+
+- **์์ด์ ํธ๋ช
**: [์์ด์ ํธ์ ๊ณต์ ๋ช
์นญ]
+- **ํ๋ฅด์๋**: [์์ด์ ํธ์ ํน์ง์ ๋ํ๋ด๋ ํ๋ฅด์๋ ์ค๋ช
(์: ์ํ
๋ค - ์งํ์ ์ ๋ต์ ์ฌ์ )]
+- **ํต์ฌ ์ญํ ์์ฝ**: [์์ด์ ํธ์ ์ฃผ์ ์ญํ ์ ํ๋ ๋ฌธ์ฅ์ผ๋ก ์์ฝ]
+- **์์คํ
๋ด ์์น**: [Zeus ์ํฌํ๋ก์ฐ ๋ด์์ ์ด ์์ด์ ํธ๊ฐ ์์นํ๋ ๋จ๊ณ (์: Athena๋ 1๋จ๊ณ ๊ธฐ๋ฅ ์ค๊ณ)]
+
+---
+
+## 2. ๐ ์์ธ ์ญํ ๋ฐ ์ฑ
์
+
+[์์ด์ ํธ์ '์ฃผ์ ์ญํ '์ ์์ธํ๊ฒ ๊ธฐ์ ํฉ๋๋ค. `agents_spec.md`์ ๋ด์ฉ์ ํ์ฅํ์ฌ ๊ตฌ์ฒด์ ์ธ ์์
๋ด์ฉ, ์์ฌ๊ฒฐ์ ๊ธฐ์ค, ๊ณ ๋ ค์ฌํญ ๋ฑ์ ํฌํจํฉ๋๋ค.]
+
+- **์ฃผ์ ์์
1**: [๊ตฌ์ฒด์ ์ธ ์์
๋ด์ฉ]
+ - ์ธ๋ถ ์ฑ
์ 1-1
+ - ์ธ๋ถ ์ฑ
์ 1-2
+- **์ฃผ์ ์์
2**: [๊ตฌ์ฒด์ ์ธ ์์
๋ด์ฉ]
+ - ์ธ๋ถ ์ฑ
์ 2-1
+ - ์ธ๋ถ ์ฑ
์ 2-2
+
+---
+
+## 3. ๐ฅ ์
๋ ฅ ์ฌ์
+
+[์์ด์ ํธ๊ฐ ์์
์ ์์ํ๊ธฐ ์ํด ํ์ํ ์
๋ ฅ ํ์ผ ๋ฐ ๋ฐ์ดํฐ์ ๋ํ ์์ธ ์ค๋ช
์
๋๋ค.]
+
+- **์ฃผ์ ์
๋ ฅ ํ์ผ**: [์
๋ ฅ์ผ๋ก ๋ฐ๋ ์ฃผ์ ํ์ผ๋ช
(์: `feature_spec.md`)]
+ - **ํ์ผ ๊ฒฝ๋ก**: [์
๋ ฅ ํ์ผ์ด ์์นํ ์์ ๊ฒฝ๋ก (์: `docs/sessions/tdd_YYYY-MM-DD_NNN/`)]
+ - **๋ด์ฉ ๊ตฌ์กฐ**: [์
๋ ฅ ํ์ผ์ ์์๋๋ Markdown ๊ตฌ์กฐ (์: ํค๋, ์ฝ๋ ๋ธ๋ก, ๋ชฉ๋ก ๋ฑ) ๋ฐ ํฌํจ๋์ด์ผ ํ ํต์ฌ ์ ๋ณด]
+ - **๋ฐ์ดํฐ ํ์**: [์
๋ ฅ ๋ฐ์ดํฐ์ ๊ตฌ์ฒด์ ์ธ ํ์ (์: JSON, YAML, ํน์ Markdown ํฌ๋งท)]
+- **๋ณด์กฐ ์
๋ ฅ/์ฐธ์กฐ**: [์ฃผ์ ์
๋ ฅ ์ธ์ ์ฐธ์กฐํ ์ ์๋ ํ์ผ ๋๋ ์ ๋ณด (์: `context.md`, ์ฌ์ฉ์ ์๊ตฌ์ฌํญ)]
+
+---
+
+## 4. ๐ค ์ถ๋ ฅ ์ฌ์
+
+[์์ด์ ํธ๊ฐ ์์
์ ์๋ฃํ ํ ์์ฑํด์ผ ํ๋ ์ถ๋ ฅ ํ์ผ ๋ฐ ๋ฐ์ดํฐ์ ๋ํ ์์ธ ์ค๋ช
์
๋๋ค.]
+
+- **์ฃผ์ ์ถ๋ ฅ ํ์ผ**: [์์ฑํ๋ ์ฃผ์ ํ์ผ๋ช
(์: `test_spec.md`)]
+ - **ํ์ผ ๊ฒฝ๋ก**: [์ถ๋ ฅ ํ์ผ์ด ์ ์ฅ๋ ๊ฒฝ๋ก (์: `docs/sessions/tdd_YYYY-MM-DD_NNN/`)]
+ - **๋ด์ฉ ๊ตฌ์กฐ**: [์ถ๋ ฅ ํ์ผ์ ์์๋๋ Markdown ๊ตฌ์กฐ ๋ฐ ํฌํจ๋์ด์ผ ํ ํต์ฌ ์ ๋ณด]
+ - **๋ฐ์ดํฐ ํ์**: [์ถ๋ ฅ ๋ฐ์ดํฐ์ ๊ตฌ์ฒด์ ์ธ ํ์]
+ - **Zeus์ ์ ํ ์กฐ๊ฑด**: [์ด ์ถ๋ ฅ ํ์ผ์ด Zeus์ ๋ค์ ๋จ๊ณ ์ ํ ์กฐ๊ฑด์ ์ด๋ป๊ฒ ๊ธฐ์ฌํ๋์ง ์ค๋ช
]
+- **์์ฑ ๊ท์น**: [์ถ๋ ฅ ํ์ผ ์์ฑ ์ ํน๋ณํ ๊ณ ๋ คํด์ผ ํ ๊ท์น (์: ๋น ์ฝ๋ ๋ธ๋ก ํฌํจ, ํน์ ํ๊ทธ ์ฌ์ฉ)]
+
+---
+
+## 5. ๐ ๏ธ ์ฌ์ฉ ๋๊ตฌ ๋ฐ ๊ธฐ์ ์คํ
+
+[์์ด์ ํธ๊ฐ ์์ ์ ์ญํ ์ ์ํํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ํน์ ๋๊ตฌ, ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ๊ธฐ์ ์คํ์ ๋ํ ์ ๋ณด์
๋๋ค.]
+
+- **์ฃผ์ ๋๊ตฌ**: [์: Vitest, React Testing Library, ESLint, Prettier]
+- **ํ๋ก๊ทธ๋๋ฐ ์ธ์ด**: [์: TypeScript, JavaScript]
+- **ํ๋ ์์ํฌ/๋ผ์ด๋ธ๋ฌ๋ฆฌ**: [์: React]
+- **๊ธฐํ**: [ํน์ API, ์ธ๋ถ ์๋น์ค ๋ฑ]
+
+---
+
+## 6. ๐ก ์์ฌ๊ฒฐ์ ๋ก์ง ๋ฐ ์ ๋ต
+
+[์์ด์ ํธ๊ฐ ์์
์ ์ํํ๋ ๊ณผ์ ์์ ์ด๋ค ์์ฌ๊ฒฐ์ ๋ก์ง์ด๋ ์ ๋ต์ ๋ฐ๋ฅด๋์ง ์ค๋ช
ํฉ๋๋ค. ์ด๋ '์ด๋ป๊ฒ' ์์
์ ์ํํ๋์ง์ ๋ํ ๊น์ด ์๋ ์ดํด๋ฅผ ๋์ต๋๋ค.]
+
+- **[์ฃผ์ ์์ฌ๊ฒฐ์ ์ํฉ 1]**: [์ํฉ ์ค๋ช
]
+ - **์ ๋ต/๋ก์ง**: [ํด๋น ์ํฉ์์ ์์ด์ ํธ๊ฐ ๋ฐ๋ฅด๋ ์ ๋ต ๋๋ ๋ก์ง]
+ - **๊ณ ๋ ค์ฌํญ**: [์์ฌ๊ฒฐ์ ์ ์ค์ํ๊ฒ ์๊ฐํ๋ ์์]
+- **[์ฃผ์ ์์ฌ๊ฒฐ์ ์ํฉ 2]**: [์ํฉ ์ค๋ช
]
+ - **์ ๋ต/๋ก์ง**: [ํด๋น ์ํฉ์์ ์์ด์ ํธ๊ฐ ๋ฐ๋ฅด๋ ์ ๋ต ๋๋ ๋ก์ง]
+ - **๊ณ ๋ ค์ฌํญ**: [์์ฌ๊ฒฐ์ ์ ์ค์ํ๊ฒ ์๊ฐํ๋ ์์]
+
+---
+
+## 7. โ ๏ธ ์์ธ ์ฒ๋ฆฌ ๋ฐ ์คํจ ์ ๋์
+
+[์์์น ๋ชปํ ์ํฉ์ด๋ ์ค๋ฅ ๋ฐ์ ์ ์์ด์ ํธ๊ฐ ์ด๋ป๊ฒ ๋์ํด์ผ ํ๋์ง์ ๋ํ ๊ฐ์ด๋๋ผ์ธ์
๋๋ค.]
+
+- **[์์ธ ์ํฉ 1]**: [์์ธ ์ํฉ ์ค๋ช
(์: ์
๋ ฅ ํ์ผ ํ์ฑ ์คํจ)]
+ - **๋์**: [์์ด์ ํธ์ ๋์ ๋ฐฉ์ (์: ์์
์ค๋จ, ๋ก๊ทธ ๊ธฐ๋ก, Zeus์๊ฒ ๋ณด๊ณ )]
+- **[์์ธ ์ํฉ 2]**: [์์ธ ์ํฉ ์ค๋ช
(์: ํ์ํ ๋ฆฌ์์ค ์ ๊ทผ ์คํจ)]
+ - **๋์**: [์์ด์ ํธ์ ๋์ ๋ฐฉ์]
+
+---
+
+## 8. ๐ Zeus์์ ์ํธ์์ฉ
+
+[Zeus(์ค์ผ์คํธ๋ ์ดํฐ)์์ ์ํธ์์ฉ ๋ฐฉ์์ ๋ํ ๊ตฌ์ฒด์ ์ธ ์ค๋ช
์
๋๋ค.]
+
+- **์์
์์ ์กฐ๊ฑด**: [Zeus๊ฐ ์ด ์์ด์ ํธ๋ฅผ ํธ์ถํ๋ ์กฐ๊ฑด]
+- **์์
์๋ฃ ๋ณด๊ณ **: [์ด ์์ด์ ํธ๊ฐ ์์
์๋ฃ๋ฅผ Zeus์๊ฒ ์๋ฆฌ๋ ๋ฐฉ์ (์: ํน์ ํ์ผ ์์ฑ)]
+- **์ํ ์
๋ฐ์ดํธ**: [Zeus๊ฐ `context.md`๋ฅผ ์
๋ฐ์ดํธํ๋ ๋ฐฉ์๊ณผ ์ด ์์ด์ ํธ๊ฐ ์ด๋ฅผ ์ด๋ป๊ฒ ํ์ฉํ๋์ง]
+
+---
+
+## 9. ๐ ๊ด๋ จ ๋ฌธ์ ๋ฐ ์ฐธ์กฐ
+
+[์ด ์์ด์ ํธ์ ๊ด๋ จ๋ ๋ค๋ฅธ ๋ฌธ์๋ ์ธ๋ถ ์๋ฃ์ ๋ํ ๋งํฌ ๋ฐ ์ค๋ช
์
๋๋ค.]
+
+- **`agents_spec.md`**: ์์คํ
์ ์ฒด ๋ช
์ธ
+- **`{{agent_name}}_checklist.md`**: [์์ด์ ํธ๋ช
] ์์ด์ ํธ ์์
์ฒดํฌ๋ฆฌ์คํธ
+- **`{{agent_name}}_guide.md`**: [์์ด์ ํธ๋ช
] ์์ด์ ํธ ์์
๊ฐ์ด๋๋ผ์ธ
+- [๊ธฐํ ๊ด๋ จ ๋ฌธ์ ๋งํฌ ๋ฐ ์ค๋ช
]
+
+---
+
+## ๐ ๋ณ๊ฒฝ ์ด๋ ฅ
+
+| ๋ฒ์ | ๋ ์ง | ๋ณ๊ฒฝ ๋ด์ฉ | ์์ฑ์ |
+| :--- | :--------- | :-------- | :------- |
+| 1.0 | YYYY-MM-DD | ์ต์ด ์์ฑ | [์์ฑ์] |
diff --git a/docs/templates/checklist_template.md b/docs/templates/checklist_template.md
new file mode 100644
index 00000000..949d4d89
--- /dev/null
+++ b/docs/templates/checklist_template.md
@@ -0,0 +1,37 @@
+# ๐ Agent Checklist
+
+์ด ์ฒดํฌ๋ฆฌ์คํธ๋ ์์ด์ ํธ๊ฐ ์์
์ ์๋ฃํ ํ, ์์ ์ ์ฐ์ถ๋ฌผ์ด ๋ช
์ธ์ ๋ถํฉํ๋์ง ํ์ธํ๊ธฐ ์ํด ์ฌ์ฉ๋ฉ๋๋ค. ๋ชจ๋ ์์ด์ ํธ๋ ์๋ ๊ณตํต ์ฒดํฌ๋ฆฌ์คํธ๋ฅผ ํต๊ณผํด์ผ ํฉ๋๋ค.
+
+---
+
+## โ
๊ณตํต ์ฒดํฌ๋ฆฌ์คํธ
+
+### 1. ์
๋ ฅ ๋ฐ ์ปจํ
์คํธ (Input & Context)
+
+- **์
๋ ฅ ํ์ผ ํ์ธ**: ์ด์ ๋จ๊ณ์ ์ฐ์ถ๋ฌผ(`*.md`)์ ์ ํํ ์
๋ ฅ ๋ฐ์๋๊ฐ?
+- **์
๋ ฅ ๋ด์ฉ ๊ฒ์ฆ**: ์
๋ ฅ ํ์ผ์ ๋ด์ฉ์ด ๋น์ด์์ง ์๊ณ , ์์๋ ๊ตฌ์กฐ(ํค๋, ์ฝ๋ ๋ธ๋ก ๋ฑ)๋ฅผ ํฌํจํ๋๊ฐ?
+- **`agents_spec.md` ์ฐธ์กฐ**: ์์
์ํ์ ํ์ํ ๋ชจ๋ ๊ท์น๊ณผ ๋ช
์ธ๋ฅผ `agents_spec.md`์์ ๋ค์ ํ์ธํ๋๊ฐ?
+
+### 2. ์ญํ ์ํ ๋ฐ ์ฐ์ถ๋ฌผ ์์ฑ (Role & Output)
+
+- **ํ๋ฅด์๋ ์ ์ง**: ์์ ์ ํ๋ฅด์๋(์: Athena์ ์งํ, Poseidon์ ์ ํ์ฑ)์ ๋ง๋ ๊ฒฐ๊ณผ๋ฌผ์ ์์ฑํ๋๊ฐ?
+- **ํต์ฌ ์ญํ ์์**: `agents_spec.md`์ ์ ์๋ ์์ ์ ํต์ฌ ์ญํ ์ ์๋ฒฝํ๊ฒ ์ํํ๋๊ฐ?
+- **์ฐ์ถ๋ฌผ ๊ฒฝ๋ก ๋ฐ ์ด๋ฆ**: ์ฐ์ถ๋ฌผ(`*.md`)์ ์ ํํ ๊ฒฝ๋ก(`docs/sessions/tdd_YYYY-MM-DD_NNN/`)์ ์ฌ๋ฐ๋ฅธ ์ด๋ฆ์ผ๋ก ์์ฑํ๋๊ฐ?
+- **์ฐ์ถ๋ฌผ ํ์ ์ค์**: ์ฐ์ถ๋ฌผ ๋ด์ฉ์ด `agents_spec.md`์ ํ
ํ๋ฆฟ(`docs/templates/`)์ ๋ช
์๋ ํ์๊ณผ ๊ตฌ์กฐ๋ฅผ ์๋ฒฝํ ๋ฐ๋ฅด๋๊ฐ?
+- **๋ถํ์ํ ๋ด์ฉ ์ ๊ฑฐ**: ์ต์ข
์ฐ์ถ๋ฌผ์ ๋๋ฒ๊น
๋ก๊ทธ, ์ฃผ์ ์ฒ๋ฆฌ๋ ์ฝ๋, ์์ ๋ฉ๋ชจ ๋ฑ ๋ถํ์ํ ๋ด์ฉ์ด ์๋๊ฐ?
+
+### 3. ํ์ง ๋ฐ ๊ฒ์ฆ (Quality & Verification)
+
+- **์๊ธฐ ํ๊ฐ**: ์์ฑ๋ ์ฐ์ถ๋ฌผ์ด ๋ค์ ๋จ๊ณ ์์ด์ ํธ๊ฐ ์์
์ ์ํํ๊ธฐ์ ์ถฉ๋ถํ ์ ๋ณด๋ฅผ ๋ช
ํํ๊ณ ์์ ํ๊ฒ ๋ด๊ณ ์๋๊ฐ?
+- **์ฝ๋ ์ปจ๋ฒค์
์ค์ (์ฝ๋ ์์ฑ ์)**: ์ฝ๋ ์์ฑ/์์ ์ด ํฌํจ๋ ๊ฒฝ์ฐ, ํ๋ก์ ํธ์ ESLint ๋ฐ Prettier ๊ท์น์ ์ค์ํ๋๊ฐ?
+- **๋ณด์ ๊ฒ์ฆ**: ์ฐ์ถ๋ฌผ์ API ํค, ๋น๋ฐ๋ฒํธ ๋ฑ ๋ฏผ๊ฐํ ์ ๋ณด๊ฐ ํฌํจ๋์ง ์์๋๊ฐ?
+- **๋งํฌ ์ ํจ์ฑ**: ์ฐ์ถ๋ฌผ ๋ด๋ถ์ ํฌํจ๋ ํ์ผ ๊ฒฝ๋ก ๋ฑ์ ๋งํฌ๊ฐ ๋ชจ๋ ์ ํจํ๊ฐ?
+
+---
+
+## ๐ฏ ๊ฐ๋ณ ์ฒดํฌ๋ฆฌ์คํธ
+
+_์ด ์น์
์ ๊ฐ ์์ด์ ํธ์ ํน์ ์๊ตฌ์ฌํญ์ ๋ง์ถฐ ์ฑ์์ง๋๋ค._
+
+- ...
+- ...
diff --git a/docs/templates/context_template.md b/docs/templates/context_template.md
new file mode 100644
index 00000000..7f3e8700
--- /dev/null
+++ b/docs/templates/context_template.md
@@ -0,0 +1,53 @@
+# ๐ TDD ํ์ดํ๋ผ์ธ ์ปจํ
์คํธ (context.md)
+
+> ์ด ๋ฌธ์๋ Zeus ์์ด์ ํธ๊ฐ ๊ด๋ฆฌํ๋ ๋ฉํฐ ์์ด์ ํธ TDD ๊ฐ๋ฐ ํ์ดํ๋ผ์ธ์ ์ ์ฒด ์งํ ์ํ๋ฅผ ๊ธฐ๋กํ๋ ๋ฉ์ธ ์ํ ๋ฌธ์์
๋๋ค. ํ์ฌ ๋จ๊ณ, ๊ฐ ์์ด์ ํธ์ ์๋ฃ ์ฌ๋ถ, ๊ทธ๋ฆฌ๊ณ ์์ฑ๋ ์ฃผ์ ์ฐ์ถ๋ฌผ ํ์ผ์ ๊ฒฝ๋ก๋ฅผ ํฌํจํฉ๋๋ค.
+
+---
+
+## 1. ๐ ์ ์ฒด ์งํ ์ํ
+
+- **`overall_status`**: [์งํ ์ํ: `โ
completed`, `๐ in_progress`, `โ failed`]
+- **`current_stage`**: [ํ์ฌ ์งํ ์ค์ธ ๋จ๊ณ: `Athena`, `Artemis`, `Poseidon`, `Hermes`, `Apollo`, `completed`]
+- **`last_updated`**: [YYYY-MM-DD HH:MM:SS]
+
+---
+
+## 2. ๐ ์์ด์ ํธ๋ณ ์๋ฃ ์ํ
+
+| ์์ด์ ํธ๋ช
| ์ํ | ์๋ฃ ์๊ฐ (YYYY-MM-DD HH:MM:SS) |
+| :----------- | :----------------------------------- | :------------------------------ |
+| **Athena** | [โ
done, ๐ in_progress, โ failed] | [YYYY-MM-DD HH:MM:SS] |
+| **Artemis** | [โ
done, ๐ in_progress, โ failed] | [YYYY-MM-DD HH:MM:SS] |
+| **Poseidon** | [โ
done, ๐ in_progress, โ failed] | [YYYY-MM-DD HH:MM:SS] |
+| **Hermes** | [โ
done, ๐ in_progress, โ failed] | [YYYY-MM-DD HH:MM:SS] |
+| **Apollo** | [โ
done, ๐ in_progress, โ failed] | [YYYY-MM-DD HH:MM:SS] |
+
+
+---
+
+## 3. ๐ ์ฃผ์ ์ฐ์ถ๋ฌผ ํ์ผ ๊ฒฝ๋ก
+
+๊ฐ ์์ด์ ํธ๊ฐ ์์ฑํ ์ฃผ์ ์ฐ์ถ๋ฌผ ํ์ผ์ ๊ฒฝ๋ก์
๋๋ค.
+
+- **`feature_spec.md`**: [docs/sessions/tdd_YYYY-MM-DD_NNN/feature_spec.md ๋๋ `(์์ฑ ์ )`]
+- **`test_spec.md`**: [docs/sessions/tdd_YYYY-MM-DD_NNN/test_spec.md ๋๋ `(์์ฑ ์ )`]
+- **`test_code.md`**: [docs/sessions/tdd_YYYY-MM-DD_NNN/test_code.md ๋๋ `(์์ฑ ์ )`]
+- **`impl_code.md`**: [docs/sessions/tdd_YYYY-MM-DD_NNN/impl_code.md ๋๋ `(์์ฑ ์ )`]
+- **`refactor_report.md`**: [docs/sessions/tdd_YYYY-MM-DD_NNN/refactor_report.md ๋๋ `(์์ฑ ์ )`]
+
+---
+
+## 4. ๐ ๊ด๋ จ ๋ฌธ์ ๋ฐ ์ฐธ์กฐ
+
+- **`agents_spec.md`**: ์์คํ
์ ์ฒด ๋ช
์ธ
+- **`zeus_card.md`**: Zeus ์์ด์ ํธ ์นด๋
+- **`zeus_guide.md`**: Zeus ์์ด์ ํธ ์์
๊ฐ์ด๋๋ผ์ธ
+- **`zeus_checklist.md`**: Zeus ์์ด์ ํธ ์์
์ฒดํฌ๋ฆฌ์คํธ
+
+---
+
+## ๐ ๋ณ๊ฒฝ ์ด๋ ฅ
+
+| ๋ฒ์ | ๋ ์ง | ๋ณ๊ฒฝ ๋ด์ฉ | ์์ฑ์ |
+| :--- | :--------- | :-------- | :----- |
+| 1.0 | 2025-10-30 | ์ต์ด ์์ฑ | Gemini |
diff --git a/docs/templates/feature_spec_template.md b/docs/templates/feature_spec_template.md
new file mode 100644
index 00000000..ec44c1b9
--- /dev/null
+++ b/docs/templates/feature_spec_template.md
@@ -0,0 +1,139 @@
+# ๐ ๊ธฐ๋ฅ ๋ช
์ธ์ (Feature Specification Document)
+
+> ์ด ๋ฌธ์๋ ์ฌ์ฉ์ ์๊ตฌ์ฌํญ์ ๋ถ์ํ์ฌ PRD(Product Requirements Document) ์์ค์ ์์ธ ๊ธฐ๋ฅ ๋ช
์ธ๋ฅผ ์ ์ํฉ๋๋ค. Artemis ์์ด์ ํธ๊ฐ ์ด ๋ฌธ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ
์คํธ ์๋๋ฆฌ์ค ๋ฐ ํ
์คํธ ์ผ์ด์ค๋ฅผ ์ค๊ณํ ์ ์๋๋ก ๋ช
ํํ๊ณ ๊ตฌ์ฒด์ ์ผ๋ก ์์ฑ๋์ด์ผ ํฉ๋๋ค.
+
+---
+
+## 1. ๐ ๊ธฐ๋ฅ ๊ฐ์ (Feature Overview)
+
+### 1.1 ๊ธฐ๋ฅ๋ช
+
+[๊ธฐ๋ฅ์ ๋ช
์นญ์ ๋ช
ํํ๊ฒ ์์ฑํฉ๋๋ค. ์: ์ฌ์ฉ์ ๋ก๊ทธ์ธ ๊ธฐ๋ฅ]
+
+### 1.2 ๊ธฐ๋ฅ ๋ชฉ์
+
+[์ด ๊ธฐ๋ฅ์ด ํด๊ฒฐํ๊ณ ์ ํ๋ ๋ฌธ์ ๋๋ ๋ฌ์ฑํ๊ณ ์ ํ๋ ๋ชฉํ๋ฅผ ์ค๋ช
ํฉ๋๋ค.]
+
+### 1.3 ๊ธฐ๋ฅ ๋ฒ์
+
+[์ด ๊ธฐ๋ฅ์ด ํฌํจํ๋ ๋ฒ์์ ํฌํจํ์ง ์๋ ๋ฒ์๋ฅผ ๋ช
ํํ ์ ์ํฉ๋๋ค.]
+
+### 1.4 ์ฃผ์ ์ฌ์ฉ์ ์๋๋ฆฌ์ค
+
+[์ด ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ ์ฃผ์ ์ฌ์ฉ์ ์๋๋ฆฌ์ค๋ฅผ ๊ฐ๋ตํ๊ฒ ์ค๋ช
ํฉ๋๋ค. (์ ํ ์ฌํญ)]
+
+---
+
+## 2. ๐ ์์ธ ๊ธฐ๋ฅ ๋ช
์ธ (Detailed Feature Specification)
+
+[๊ฐ ๊ธฐ๋ฅ ๋จ์๋ณ๋ก ์์ธํ ๋์ ๋ฐฉ์, ๋ก์ง, UI/UX ๊ณ ๋ ค์ฌํญ(ํ์์) ๋ฑ์ ๊ธฐ์ ํฉ๋๋ค. TDD ์์น์ ๋ฐ๋ผ ํ
์คํธ ์ผ์ด์ค ์์ฑ์ ์ฉ์ดํ๊ฒ ํ๋ ํํ๋ก ๊ตฌ์ฑ๋์ด์ผ ํฉ๋๋ค.]
+
+### 2.1 [ํ์ ๊ธฐ๋ฅ๋ช
1]
+
+[ํ์ ๊ธฐ๋ฅ์ ๋ํ ์์ธ ์ค๋ช
]
+
+#### 2.1.1 ๋์ ํ๋ฆ
+
+[ํ์ ๊ธฐ๋ฅ์ ์ผ๋ฐ์ ์ธ ๋์ ํ๋ฆ์ ๋จ๊ณ๋ณ๋ก ์ค๋ช
ํฉ๋๋ค.]
+
+#### 2.1.2 ๋น์ฆ๋์ค ๋ก์ง
+
+[ํ์ ๊ธฐ๋ฅ๊ณผ ๊ด๋ จ๋ ํต์ฌ ๋น์ฆ๋์ค ๋ก์ง์ ์ค๋ช
ํฉ๋๋ค.]
+
+#### 2.1.3 UI/UX ๊ณ ๋ ค์ฌํญ (์ ํ ์ฌํญ)
+
+[์ฌ์ฉ์ ์ธํฐํ์ด์ค ๋๋ ๊ฒฝํ๊ณผ ๊ด๋ จ๋ ํน๋ณํ ๊ณ ๋ ค์ฌํญ์ด ์๋ค๋ฉด ๊ธฐ์ ํฉ๋๋ค.]
+
+### 2.2 [ํ์ ๊ธฐ๋ฅ๋ช
2]
+
+[ํ์ ๊ธฐ๋ฅ์ ๋ํ ์์ธ ์ค๋ช
]
+...
+
+---
+
+## 3. ๐ฅ ์
๋ ฅ/์ถ๋ ฅ ์ ์ (Input/Output Definition)
+
+[๊ฐ ๊ธฐ๋ฅ ๋๋ ํ์ ๊ธฐ๋ฅ์ ๋ํ ์
๋ ฅ ํ๋ผ๋ฏธํฐ, ์ถ๋ ฅ ๊ฒฐ๊ณผ, ๋ฐ์ดํฐ ํ์
, ์ ํจ์ฑ ๊ฒ์ฌ ๊ท์น ๋ฑ์ ๋ช
ํํ๊ฒ ์ ์ํฉ๋๋ค. ๊ตฌ์ฒด์ ์ธ ์
๋ ฅ๊ฐ๊ณผ ์์ ๊ฒฐ๊ณผ๊ฐ์ ํจ๊ป ์ ๊ณตํ๋ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค.]
+
+### 3.1 [๊ธฐ๋ฅ๋ช
๋๋ ํ์ ๊ธฐ๋ฅ๋ช
]
+
+#### 3.1.1 ์
๋ ฅ (Input)
+
+| ํ๋๋ช
| ํ์
| ํ์ ์ฌ๋ถ | ์ค๋ช
| ์์ ๊ฐ |
+| :--------- | :------- | :-------- | :--------------------------------------- | :-------------- |
+| `[ํ๋๋ช
]` | `string` | `Y` | `[ํ๋์ ๋ํ ์์ธ ์ค๋ช
]` | `[์์ ๋ฐ์ดํฐ]` |
+| `username` | `string` | `Y` | ์ฌ์ฉ์ ๊ณ์ ๋ช
(5~20์ ์๋ฌธ/์ซ์) | `user123` |
+| `password` | `string` | `Y` | ์ฌ์ฉ์ ๋น๋ฐ๋ฒํธ (8์ ์ด์ ํน์๋ฌธ์ ํฌํจ) | `P@ssw0rd!` |
+
+#### 3.1.2 ์ถ๋ ฅ (Output)
+
+| ํ๋๋ช
| ํ์
| ์ค๋ช
| ์์ ๊ฐ |
+| :--------- | :------- | :------------------------ | :-------------- |
+| `[ํ๋๋ช
]` | `string` | `[ํ๋์ ๋ํ ์์ธ ์ค๋ช
]` | `[์์ ๋ฐ์ดํฐ]` |
+| `token` | `string` | ์ธ์ฆ ํ ํฐ | `eyJ...` |
+| `userId` | `number` | ์ฌ์ฉ์ ๊ณ ์ ID | `12345` |
+| `message` | `string` | ์ฑ๊ณต ๋ฉ์์ง | `๋ก๊ทธ์ธ ์ฑ๊ณต` |
+
+---
+
+## 4. โ ๏ธ ์์ธ ์ฒ๋ฆฌ (Error Handling)
+
+[๊ฐ ๊ธฐ๋ฅ์์ ๋ฐ์ ๊ฐ๋ฅํ ์์ธ ์ํฉ, ์ค๋ฅ ๋ฉ์์ง, ์์คํ
์ ์์ ๋์ ๋ฐ ๋ณต๊ตฌ ์ ๋ต์ ์ ์ํฉ๋๋ค. ํ
์คํธ ์ผ์ด์ค ์์ฑ์ ์ํด ๊ตฌ์ฒด์ ์ธ ์๋๋ฆฌ์ค๋ฅผ ํฌํจํฉ๋๋ค.]
+
+### 4.1 [์์ธ ์ํฉ๋ช
1]
+
+[์์ธ ์ํฉ์ ๋ํ ์ค๋ช
]
+
+- **๋ฐ์ ์กฐ๊ฑด**: [์์ธ ์ํฉ์ด ๋ฐ์ํ๋ ๊ตฌ์ฒด์ ์ธ ์กฐ๊ฑด]
+- **์ค๋ฅ ์ฝ๋/๋ฉ์์ง**: [ํด๋ผ์ด์ธํธ ๋๋ ์์คํ
์ ๋ฐํ๋ ์ค๋ฅ ์ฝ๋ ๋ฐ ๋ฉ์์ง]
+- **์์คํ
๋์**: [์์ธ ๋ฐ์ ์ ์์คํ
์ ์์ ๋์ (์: ํธ๋์ญ์
๋กค๋ฐฑ, ๋ก๊ทธ ๊ธฐ๋ก, ์ฌ์ฉ์์๊ฒ ์ค๋ฅ ์๋ฆผ)]
+- **๋ณต๊ตฌ ์ ๋ต**: [์์ธ ๋ฐ์ ํ ์์คํ
๋๋ ์ฌ์ฉ์๊ฐ ์ทจํ ์ ์๋ ๋ณต๊ตฌ ์ ๋ต]
+
+### 4.2 [์์ธ ์ํฉ๋ช
2]
+
+[์์ธ ์ํฉ์ ๋ํ ์ค๋ช
]
+...
+
+---
+
+## 5. ๐ ์ํฅ ๋ถ์ (Impact Analysis)
+
+[์ด ๊ธฐ๋ฅ์ด ๊ธฐ์กด ์์คํ
์ ๋ฏธ์น๋ ์ํฅ, ๋ณ๊ฒฝ์ด ํ์ํ ๋ชจ๋, ์๋ก์ด ์์กด์ฑ, ์ฑ๋ฅ/๋ณด์/ํ์ฅ์ฑ ๋ฑ์ ๋ํ ๊ณ ๋ ค์ฌํญ์ ๊ธฐ์ ํฉ๋๋ค. Artemis๊ฐ ํ
์คํธ ๋ฒ์๋ฅผ ๊ฒฐ์ ํ๋ ๋ฐ ์ค์ํ ์ ๋ณด์
๋๋ค.]
+
+### 5.1 ๊ธฐ์กด ์์คํ
์ํฅ
+
+[์ด ๊ธฐ๋ฅ์ ์ถ๊ฐ ๋๋ ๋ณ๊ฒฝ์ผ๋ก ์ธํด ์ํฅ์ ๋ฐ๋ ๊ธฐ์กด ๋ชจ๋, ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง, API ๋ฑ์ ๋ช
์ํฉ๋๋ค.]
+
+### 5.2 ์๋ก์ด ์์กด์ฑ (์ต์ํ ๋ฐฉ์)
+
+[์ด ๊ธฐ๋ฅ ๊ตฌํ์ ์ํด ์ถ๊ฐ๋๋ ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ์๋น์ค, ๋ด๋ถ ๋ชจ๋ ๋ฑ์ ์์กด์ฑ์ ๊ธฐ์ ํฉ๋๋ค. ๊ฐ๋ฅํ ๊ฒฝ์ฐ, ๊ธฐ์กด ์์คํ
์ ๊ธฐ๋ฅ์ ํ์ฉํ๊ณ ์๋ก์ด ์์กด์ฑ ์ถ๊ฐ๋ ์ต์ํํ๋ ๋ฐฉ์์ ํจ๊ป ๋ช
์ํฉ๋๋ค.]
+
+### 5.3 ์ฑ๋ฅ/๋ณด์/ํ์ฅ์ฑ ๊ณ ๋ ค์ฌํญ
+
+[์ด ๊ธฐ๋ฅ๊ณผ ๊ด๋ จ๋ ์ฑ๋ฅ ์๊ตฌ์ฌํญ, ๋ณด์ ์ทจ์ฝ์ ๊ฐ๋ฅ์ฑ, ํฅํ ํ์ฅ์ฑ ๋ฑ์ ๋ํ ํน๋ณํ ๊ณ ๋ ค์ฌํญ์ ๊ธฐ์ ํฉ๋๋ค.]
+
+---
+
+## 6. ๐งช ํ
์คํธ ๊ณ ๋ ค์ฌํญ (Test Considerations)
+
+[Artemis ์์ด์ ํธ๊ฐ ํ
์คํธ ์๋๋ฆฌ์ค ๋ฐ ์ผ์ด์ค๋ฅผ ์ค๊ณํ ๋ ํน๋ณํ ๊ณ ๋ คํด์ผ ํ ์ฌํญ๋ค์ ๊ธฐ์ ํฉ๋๋ค. ์ฃผ์ ์๋๋ฆฌ์ค, ์ฃ์ง ์ผ์ด์ค, ์ฑ๋ฅ ํ
์คํธ ์๊ตฌ์ฌํญ ๋ฑ์ ํฌํจํฉ๋๋ค.]
+
+- **์ฃผ์ ํ
์คํธ ์๋๋ฆฌ์ค**: [์ด ๊ธฐ๋ฅ์ ํต์ฌ ๋์์ ๊ฒ์ฆํ๊ธฐ ์ํ ์ฃผ์ ์๋๋ฆฌ์ค ๋ชฉ๋ก]
+- **์ฃ์ง ์ผ์ด์ค**: [์ผ๋ฐ์ ์ด์ง ์์ง๋ง ๋ฐ์ ๊ฐ๋ฅํ ์์ธ์ ์ธ ์
๋ ฅ ๋๋ ์ํฉ (์: ๋น ๊ฐ, ์ต๋ ๊ธธ์ด ์ด๊ณผ, ๋์์ฑ ๋ฌธ์ )]
+- **์ฑ๋ฅ ํ
์คํธ ์๊ตฌ์ฌํญ (์ ํ ์ฌํญ)**: [ํน์ ์ฑ๋ฅ ์งํ(์๋ต ์๊ฐ, ์ฒ๋ฆฌ๋ ๋ฑ)์ ๋ํ ์๊ตฌ์ฌํญ์ด ์๋ค๋ฉด ๊ธฐ์ ํฉ๋๋ค.]
+- **๋ณด์ ํ
์คํธ ์๊ตฌ์ฌํญ (์ ํ ์ฌํญ)**: [๋ณด์ ๊ด๋ จ ํ
์คํธ(์ธ์ฆ, ๊ถํ, ๋ฐ์ดํฐ ์ํธํ ๋ฑ)์ ๋ํ ์๊ตฌ์ฌํญ์ด ์๋ค๋ฉด ๊ธฐ์ ํฉ๋๋ค.]
+
+---
+
+## 7. ๐ ๊ด๋ จ ๋ฌธ์ ๋ฐ ์ฐธ์กฐ
+
+- **`agents_spec.md`**: ์์คํ
์ ์ฒด ๋ช
์ธ
+- [๊ธฐํ ๊ด๋ จ ๋ฌธ์ ๋งํฌ ๋ฐ ์ค๋ช
]
+
+---
+
+## ๐ ๋ณ๊ฒฝ ์ด๋ ฅ
+
+| ๋ฒ์ | ๋ ์ง | ๋ณ๊ฒฝ ๋ด์ฉ | ์์ฑ์ |
+| :--- | :--------- | :-------- | :------- |
+| 1.0 | YYYY-MM-DD | ์ต์ด ์์ฑ | [์์ฑ์] |
diff --git a/docs/templates/guide_template.md b/docs/templates/guide_template.md
new file mode 100644
index 00000000..60fca16a
--- /dev/null
+++ b/docs/templates/guide_template.md
@@ -0,0 +1,50 @@
+# ๐ Agent ์์
๊ฐ์ด๋๋ผ์ธ ํ
ํ๋ฆฟ
+
+์ด ๋ฌธ์๋ ๋ชจ๋ ์์ด์ ํธ๊ฐ ์์
์ ์ํํ ๋ ๊ณตํต์ ์ผ๋ก ์ค์ํด์ผ ํ ๊ฐ์ด๋๋ผ์ธ์ ์ ๊ณตํฉ๋๋ค. ๊ฐ ์์ด์ ํธ๋ ์ด ํ
ํ๋ฆฟ์ ๊ธฐ๋ฐ์ผ๋ก ์์ ์ ๊ฐ๋ณ ๊ฐ์ด๋๋ฅผ ์์ฑํด์ผ ํฉ๋๋ค.
+
+---
+
+## 1. ๐ฏ ์์
์ ๋ชฉ์ ๋ฐ ์ญํ ์ดํด
+
+- **`agents_spec.md` ์์ง**: ์์ ์ ์์ด์ ํธ๊ฐ ์์คํ
๋ด์์ ์ด๋ค ์ญํ ์ ๋ด๋นํ๋ฉฐ, ์ด๋ค ์
๋ ฅ๊ณผ ์ถ๋ ฅ์ ๊ฐ์ง๋์ง `agents_spec.md` ๋ฌธ์๋ฅผ ํตํด ๋ช
ํํ ์ดํดํด์ผ ํฉ๋๋ค.
+- **ํ๋ฅด์๋ ์ค์**: ๋ถ์ฌ๋ ํ๋ฅด์๋(์: Athena์ ์งํ, Poseidon์ ์ ํ์ฑ)์ ๋ฐ๋ผ ์์
์ ํค์ค๋งค๋์ ๊ฒฐ๊ณผ๋ฌผ์ ํน์ฑ์ ์ ์งํด์ผ ํฉ๋๋ค.
+- **TDD ์ฌ์ดํด ๊ธฐ์ฌ**: ์์ ์ ์์
์ด ์ ์ฒด TDD ๊ฐ๋ฐ ์ฌ์ดํด์ ์ด๋ ๋จ๊ณ์ ๊ธฐ์ฌํ๋์ง ์ธ์งํ๊ณ , ๋ค์ ๋จ๊ณ๋ก์ ์ํํ ์ ํ์ ๋ชฉํ๋ก ํด์ผ ํฉ๋๋ค.
+
+## 2. ๐ฅ ์
๋ ฅ ์ฒ๋ฆฌ ์์น
+
+- **์
๋ ฅ ํ์ผ ์ ํจ์ฑ ๊ฒ์ฆ**: Zeus๋ก๋ถํฐ ์ ๋ฌ๋ฐ์ ์
๋ ฅ ํ์ผ(์: `feature_spec.md`, `test_spec.md`)์ด ์กด์ฌํ๋ฉฐ, ๋ด์ฉ์ด ๋น์ด์์ง ์์์ง ํ์ธํด์ผ ํฉ๋๋ค.
+- **๊ตฌ์กฐ ๋ฐ ํ์ ๋ถ์**: ์
๋ ฅ Markdown ํ์ผ์ ํค๋, ์ฝ๋ ๋ธ๋ก, ๋ชฉ๋ก ๋ฑ ์์๋๋ ๊ตฌ์กฐ์ ํ์์ ์ ํํ ํ์
ํ์ฌ ์์
์ ํ์ฉํด์ผ ํฉ๋๋ค.
+- **๋๋ฝ/์ค๋ฅ ๋์**: ์
๋ ฅ ๋ด์ฉ์ ์ค์ํ ์ ๋ณด๊ฐ ๋๋ฝ๋์๊ฑฐ๋ ์์์น ๋ชปํ ์ค๋ฅ๊ฐ ์์ ๊ฒฝ์ฐ, ์์
์ ์ค๋จํ๊ณ Zeus์๊ฒ ๋ณด๊ณ ํ๊ฑฐ๋ (ํ์ฌ ์์คํ
์์๋ ํ์ผ ์์ฑ ์คํจ๋ก Zeus๊ฐ ๊ฐ์ง) ํฉ๋ฆฌ์ ์ธ ๊ธฐ๋ณธ๊ฐ์ ์ ์ฉํ๋ ๋ฐฉ์์ ๊ณ ๋ คํด์ผ ํฉ๋๋ค.
+
+## 3. ๐ค ์ถ๋ ฅ ์์ฑ ์์น
+
+- **๋ช
์ธ ์ค์**: `agents_spec.md`์ ์ ์๋ ์์ ์ ์ถ๋ ฅ ํ์ผ๋ช
(์: `test_code.md`, `impl_code.md`), ์ ์ฅ ๊ฒฝ๋ก(`docs/sessions/tdd_YYYY-MM-DD_NNN/`), ๊ทธ๋ฆฌ๊ณ Markdown ํ์(ํค๋ ๋ ๋ฒจ, ์ฝ๋ ๋ธ๋ก ์ธ์ด ์ง์ ๋ฑ)์ ์๊ฒฉํ ์ค์ํด์ผ ํฉ๋๋ค.
+- **๋ช
ํ์ฑ ๋ฐ ๊ฐ๊ฒฐ์ฑ**: ์์ฑํ๋ ์ถ๋ ฅ Markdown ํ์ผ์ ๋ค์ ๋จ๊ณ ์์ด์ ํธ๊ฐ ์ถ๊ฐ์ ์ธ ํด์ ์์ด ์ฆ์ ์์
์ ์์ํ ์ ์๋๋ก ๋ช
ํํ๊ณ ๊ฐ๊ฒฐํ๊ฒ ์์ฑ๋์ด์ผ ํฉ๋๋ค. ๋ถํ์ํ ์๋ก ์ด๋ ๋ฐ๋ณต์ ์ธ ๋ด์ฉ์ ์ง์ํฉ๋๋ค.
+- **์์ ์ฑ**: ๋ค์ ๋จ๊ณ ์์ด์ ํธ์ ์์
์ ์ํด ํ์ํ ๋ชจ๋ ์ ๋ณด(์: ์ฝ๋ ์ค๋ํซ, ์์ธ ์ค๋ช
, ์ฐธ์กฐ ๋งํฌ)๋ฅผ ๋น ์ง์์ด ํฌํจํด์ผ ํฉ๋๋ค.
+- **์ฝ๋ ๋ธ๋ก ๊ฐ์ด๋**: ์ฝ๋ ๋ธ๋ก์ ํฌํจํ ๊ฒฝ์ฐ, ๋ฐ๋์ ์ฌ๋ฐ๋ฅธ ์ธ์ด(์: ``typescript`, ``javascript`, ````markdown`)๋ฅผ ์ง์ ํ์ฌ ์ ํ์ค ํ์ด๋ผ์ดํ
์ด ์ ์ฉ๋๋๋ก ํด์ผ ํฉ๋๋ค.
+
+## 4. ๐ ์ปจํ
์คํธ ๋ฐ ์ํ ๊ด๋ฆฌ
+
+- **`context.md` ๋ถ๋ณ์ฑ**: `context.md` ํ์ผ์ Zeus๋ง์ด ๊ด๋ฆฌํ๋ ์์คํ
์ ํต์ฌ ์ํ ๋ฌธ์์ด๋ฏ๋ก, ์ด๋ ํ ๊ฒฝ์ฐ์๋ ์ง์ ์์ ํด์๋ ์ ๋ฉ๋๋ค.
+- **Zeus์ ์ ํ ์กฐ๊ฑด ์ถฉ์กฑ**: ์์ ์ ์์
์๋ฃ ํ, Zeus๊ฐ `agents_spec.md`์ ๋ช
์๋ ์ ํ ์กฐ๊ฑด(์: ํน์ ํ์ผ ์์ฑ ํ์ธ)์ ๊ฐ์งํ๊ณ ๋ค์ ๋จ๊ณ๋ก ๋์ด๊ฐ ์ ์๋๋ก ํ์ํ ์ฐ์ถ๋ฌผ์ ์ ํํ ์์ฑํด์ผ ํฉ๋๋ค.
+
+## 5. โจ ํ์ง ๋ฐ ํ์ค ์ค์
+
+- **๋์ ํ์ง์ ์ฐ์ถ๋ฌผ**: ์์ฑํ๋ ๋ชจ๋ Markdown ๋ฌธ์์ ๋ด์ฉ(ํ
์คํธ, ์ฝ๋)์ ์คํ์, ๋ฌธ๋ฒ ์ค๋ฅ, ๋
ผ๋ฆฌ์ ๋น์ฝ ์์ด ๋์ ํ์ง์ ์ ์งํด์ผ ํฉ๋๋ค.
+- **์ฝ๋ฉ ์ปจ๋ฒค์
(์ฝ๋ ๊ด๋ จ)**: ์ฝ๋ ์์ฑ ๋๋ ์์ ์ด ํฌํจ๋ ๊ฒฝ์ฐ, ํ๋ก์ ํธ์ `.prettierrc`, `eslint.config.js`, `tsconfig.json` ๋ฑ์ ์ ์๋ ์ฝ๋ฉ ์ปจ๋ฒค์
(ํฌ๋งทํ
, ์คํ์ผ, ํ์
์ ์)์ ์ฒ ์ ํ ์ค์ํด์ผ ํฉ๋๋ค.
+- **๋ณด์ ๊ณ ๋ ค**: API ํค, ๋น๋ฐ๋ฒํธ, ๊ฐ์ธ ์๋ณ ์ ๋ณด ๋ฑ ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๊ฐ ์ฐ์ถ๋ฌผ์ ์ ๋ ํฌํจ๋์ง ์๋๋ก ์ฃผ์ํด์ผ ํฉ๋๋ค.
+- **์ฐธ์กฐ ์ ํจ์ฑ**: ์ฐ์ถ๋ฌผ ๋ด๋ถ์ ๋ค๋ฅธ ํ์ผ์ด๋ ๋ฆฌ์์ค๋ฅผ ์ฐธ์กฐํ๋ ๋งํฌ๊ฐ ์๋ค๋ฉด, ํด๋น ๋งํฌ๊ฐ ์ ํจํ๊ณ ์ ๊ทผ ๊ฐ๋ฅํ์ง ํ์ธํด์ผ ํฉ๋๋ค.
+
+## 6. ๐จ ์ค๋ฅ ์ฒ๋ฆฌ ๋ฐ ๋ณด๊ณ (Zeus ์ฐ๋)
+
+- **์ค๋ฅ ๊ฐ์ง**: ์์
์ค ์์์น ๋ชปํ ๋ฌธ์ (์: ์
๋ ฅ ํ์ผ ํ์ฑ ์คํจ, ๋ก์ง ์ค๋ฅ)๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ์ด๋ฅผ ๊ฐ์งํด์ผ ํฉ๋๋ค.
+- **Zeus ๋ณด๊ณ ๋ฉ์ปค๋์ฆ**: ํ์ฌ ์์คํ
์ Zeus๊ฐ ํ์ผ ์์ฑ ์ฌ๋ถ๋ก ๋จ๊ณ ์ ํ์ ํ๋จํ๋ฏ๋ก, ์์
์คํจ ์ ์๋์ ์ผ๋ก ์ฐ์ถ๋ฌผ ์์ฑ์ ์ค๋จํ์ฌ Zeus๊ฐ ์ด๋ฅผ ๊ฐ์งํ๋๋ก ํด์ผ ํฉ๋๋ค. (ํฅํ ์ค๋ฅ ๋ณด๊ณ ๋ฉ์ปค๋์ฆ์ด ์ถ๊ฐ๋ ๊ฒฝ์ฐ ํด๋น ๊ฐ์ด๋๋ผ์ธ์ ๋ฐ๋ฆ)
+
+---
+
+## ๐ ๊ฐ๋ณ ์์ด์ ํธ ๊ฐ์ด๋๋ผ์ธ
+
+_์ด ์น์
์ ๊ฐ ์์ด์ ํธ์ ํน์ ์์
ํ๋ฆ, ๊ณ ๋ ค์ฌํญ, ์์ ๋ฑ์ ์์ธํ ๊ธฐ์ ํฉ๋๋ค._
+
+- ...
+- ...
diff --git a/docs/templates/impl_code_template.md b/docs/templates/impl_code_template.md
new file mode 100644
index 00000000..b8d842a3
--- /dev/null
+++ b/docs/templates/impl_code_template.md
@@ -0,0 +1,60 @@
+# ๐ ๊ตฌํ ์ฝ๋ ๋ช
์ธ (impl_code.md)
+
+> ์ด ๋ฌธ์๋ Hermes ์์ด์ ํธ๊ฐ Poseidon ์์ด์ ํธ์ `test_code.md`๋ฅผ ํต๊ณผ์ํค๊ธฐ ์ํด ์์ฑํ ์ค์ ๊ธฐ๋ฅ ๊ตฌํ ์ฝ๋์
๋๋ค. Apollo ์์ด์ ํธ๋ ์ด ๋ฌธ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฝ๋ ๋ฆฌํฉํ ๋ง ๋ฐ ๊ฐ์ ์์
์ ์ํํฉ๋๋ค. ๋ฐ๋ผ์ ์ด ๋ฌธ์๋ Apollo๊ฐ ์ถ๊ฐ์ ์ธ ์ ๋ณด ์์ด ์์
์ ์ํํ ์ ์๋๋ก ๋ช
ํํ๊ณ ์์ ํ๊ฒ ์์ฑ๋์ด์ผ ํฉ๋๋ค.
+
+---
+
+## 1. ๐ฏ ๊ตฌํ ๋์ ๋ฐ ๋ชฉ์
+
+- **๊ตฌํ ๋์**: [Athena์ `feature_spec.md`์์ ์ ์๋ ๊ธฐ๋ฅ ๋๋ ์ปดํฌ๋ํธ]
+- **๊ตฌํ ๋ชฉ์ **: [Poseidon์ `test_code.md`์ ๋ช
์ธ๋ ๋ชจ๋ ํ
์คํธ ์ผ์ด์ค๋ฅผ ํต๊ณผ์ํค๊ณ , `feature_spec.md`์ ์๊ตฌ์ฌํญ์ ์ถฉ์กฑํ๋ ๊ธฐ๋ฅ ๊ตฌํ]
+
+---
+
+## 2. ๐ ๏ธ ๊ตฌํ ์ฝ๋
+
+```typescript
+// Hermes ์์ด์ ํธ๊ฐ ์์ฑํ ์ค์ ๊ธฐ๋ฅ ๊ตฌํ ์ฝ๋๊ฐ ์ฌ๊ธฐ์ ์์นํฉ๋๋ค.
+// ์ด ์ฝ๋๋ Poseidon์ด ์์ฑํ ํ
์คํธ ์ฝ๋๋ฅผ ๋ชจ๋ ํต๊ณผํด์ผ ํฉ๋๋ค.
+// Apollo ์์ด์ ํธ๊ฐ ์ด ์ฝ๋๋ฅผ ์ดํดํ๊ณ ๋ฆฌํฉํ ๋งํ ์ ์๋๋ก ๋ช
ํํ๊ณ ๊ฐ๊ฒฐํ๊ฒ ์์ฑํฉ๋๋ค.
+// ํ์ํ ๊ฒฝ์ฐ, ์ฝ๋์ ํน์ ๋ถ๋ถ์ ๋ํ ๊ฐ๋ตํ ์ค๋ช
์ฃผ์์ ํฌํจํ ์ ์์ต๋๋ค.
+
+// ์์:
+// import React, { useState, useCallback } from 'react';
+//
+// interface MyComponentProps {
+// initialValue?: number;
+// }
+//
+// const MyComponent: React.FC = ({ initialValue = 0 }) => {
+// const [count, setCount] = useState(initialValue);
+//
+// const increment = useCallback(() => {
+// setCount(prevCount => prevCount + 1);
+// }, []);
+//
+// return (
+//
+//
Count: {count}
+//
+//
+// );
+// };
+//
+// export default MyComponent;
+```
+
+---
+
+## 3. ๐ ๊ด๋ จ ๋ฌธ์ ๋ฐ ์ฐธ์กฐ
+
+- **`agents_spec.md`**: ์์คํ
์ ์ฒด ๋ช
์ธ
+- [๊ธฐํ ๊ด๋ จ ๋ฌธ์ ๋งํฌ ๋ฐ ์ค๋ช
]
+
+---
+
+## ๐ ๋ณ๊ฒฝ ์ด๋ ฅ
+
+| ๋ฒ์ | ๋ ์ง | ๋ณ๊ฒฝ ๋ด์ฉ | ์์ฑ์ |
+| :--- | :--------- | :-------- | :----- |
+| 1.0 | 2025-10-30 | ์ต์ด ์์ฑ | Gemini |
diff --git a/docs/templates/refactor_report_template.md b/docs/templates/refactor_report_template.md
new file mode 100644
index 00000000..33146526
--- /dev/null
+++ b/docs/templates/refactor_report_template.md
@@ -0,0 +1,99 @@
+# ๐ ๋ฆฌํฉํ ๋ง ๋ณด๊ณ ์ (refactor_report.md)
+
+> ์ด ๋ฌธ์๋ Apollo ์์ด์ ํธ๊ฐ Hermes ์์ด์ ํธ์ ๊ตฌํ ์ฝ๋๋ฅผ ๋ฆฌํฉํ ๋งํ ํ ์์ฑํ๋ ๋ณด๊ณ ์์
๋๋ค. ๋ฆฌํฉํ ๋ง์ ๋ชฉ์ , ๋ณ๊ฒฝ ๋ด์ฉ, ๊ฐ์ ํจ๊ณผ ๋ฐ ๊ด๋ จ ํ
์คํธ ๊ฒฐ๊ณผ ๋ฑ์ ์์ธํ ๊ธฐ๋กํ์ฌ ์ฝ๋ ํ์ง ๊ฐ์ ๊ณผ์ ์ ํฌ๋ช
ํ๊ฒ ๊ณต์ ํฉ๋๋ค.
+
+---
+
+## 1. ๐ฏ ๋ฆฌํฉํ ๋ง ๊ฐ์
+
+- **๋ฆฌํฉํ ๋ง ๋์**: [Hermes๊ฐ ๊ตฌํํ ๊ธฐ๋ฅ ๋๋ ์ปดํฌ๋ํธ ๋ช
์นญ]
+- **๋ฆฌํฉํ ๋ง ๋ชฉ์ **: [์ฝ๋ ๊ฐ๋
์ฑ ํฅ์, ์ฌ์ฌ์ฉ์ฑ ์ฆ๋, ์ฑ๋ฅ ์ต์ ํ, ์ ์ง๋ณด์์ฑ ๊ฐ์ ๋ฑ ๊ตฌ์ฒด์ ์ธ ๋ชฉํ]
+- **๋ฆฌํฉํ ๋ง ๋ฒ์**: [Hermes๊ฐ ์๋ก ์ถ๊ฐํ ์ฝ๋์ ํ์ ํ์ฌ ๋ฆฌํฉํ ๋ง์ ์งํํ์์ ๋ช
์]
+
+---
+
+## 2. ๐ ๋ฆฌํฉํ ๋ง ์ ์ฝ๋ ์ํ
+
+```typescript
+// ๋ฆฌํฉํ ๋ง ์ Hermes๊ฐ ์์ฑํ ์ฝ๋์ ์ฃผ์ ๋ถ๋ถ ๋๋ ์ ์ฒด ์ฝ๋๋ฅผ ์ฌ๊ธฐ์ ํฌํจํฉ๋๋ค.
+// Apollo ์์ด์ ํธ๊ฐ ๋ฆฌํฉํ ๋ง์ ์์ํ๊ธฐ ์ ์ ์ฝ๋ ์ค๋
์ท์
๋๋ค.
+// ์์:
+// const calculateTotal = (items, taxRate) => {
+// let total = 0;
+// for (let i = 0; i < items.length; i++) {
+// total += items[i].price * items[i].quantity;
+// }
+// total += total * taxRate;
+// return total;
+// };
+```
+
+---
+
+## 3. โจ ๋ฆฌํฉํ ๋ง ๋ด์ฉ ๋ฐ ๊ฐ์ ํจ๊ณผ
+
+### 3.1. ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ ์์ฝ
+
+- [๋ณ๊ฒฝ ์ฌํญ 1: ์์ - ํจ์ `calculateTotal`์ `calculateSubtotal`๊ณผ `applyTax`๋ก ๋ถ๋ฆฌ]
+- [๋ณ๊ฒฝ ์ฌํญ 2: ์์ - ๋งค์ง ๋๋ฒ๋ฅผ ์์๋ก ๋์ฒด]
+- [๋ณ๊ฒฝ ์ฌํญ 3: ์์ - ๋ณ์๋ช
`i`๋ฅผ `itemIndex`๋ก ๋ณ๊ฒฝํ์ฌ ๊ฐ๋
์ฑ ํฅ์]
+
+### 3.2. ์์ธ ๋ณ๊ฒฝ ๋ด์ฉ ๋ฐ ์ด์
+
+- **[๋ณ๊ฒฝ ์ฌํญ 1 ์์ธ]**:
+ - **๋ณ๊ฒฝ ์ **: [๊ฐ๋ตํ ์ฝ๋ ์ค๋ํซ ๋๋ ์ค๋ช
]
+ - **๋ณ๊ฒฝ ํ**: [๊ฐ๋ตํ ์ฝ๋ ์ค๋ํซ ๋๋ ์ค๋ช
]
+ - **๋ณ๊ฒฝ ์ด์ **: [ํด๋น ๋ณ๊ฒฝ์ด ์ฝ๋ ํ์ง(๊ฐ๋
์ฑ, ์ฌ์ฌ์ฉ์ฑ ๋ฑ)์ ์ด๋ป๊ฒ ๊ธฐ์ฌํ๋์ง ์ค๋ช
]
+ - **๊ฐ์ ํจ๊ณผ**: [์: ๋จ์ผ ์ฑ
์ ์์น ์ค์, ํ
์คํธ ์ฉ์ด์ฑ ์ฆ๋]
+
+- **[๋ณ๊ฒฝ ์ฌํญ 2 ์์ธ]**:
+ - **๋ณ๊ฒฝ ์ **: [๊ฐ๋ตํ ์ฝ๋ ์ค๋ํซ ๋๋ ์ค๋ช
]
+ - **๋ณ๊ฒฝ ํ**: [๊ฐ๋ตํ ์ฝ๋ ์ค๋ํซ ๋๋ ์ค๋ช
]
+ - **๋ณ๊ฒฝ ์ด์ **: [ํด๋น ๋ณ๊ฒฝ์ด ์ฝ๋ ํ์ง์ ์ด๋ป๊ฒ ๊ธฐ์ฌํ๋์ง ์ค๋ช
]
+ - **๊ฐ์ ํจ๊ณผ**: [์: ์ฝ๋์ ์๋ฏธ ๋ช
ํํ, ์ ์ง๋ณด์ ์ฉ์ด์ฑ ์ฆ๋]
+
+---
+
+## 4. ๐งช ํ
์คํธ ๊ฒฐ๊ณผ
+
+- **ํ
์คํธ ์คํ ๊ฒฐ๊ณผ**: ๋ฆฌํฉํ ๋ง ํ `pnpm run test` ๋ช
๋ น์ ์คํํ์ ๋ **๋ชจ๋ ํ
์คํธ๊ฐ ์ฑ๊ณต์ ์ผ๋ก ํต๊ณผ**ํ์ต๋๋ค.
+- **๊ด๋ จ ํ
์คํธ ํ์ผ**: `test_code.md` (Poseidon์ด ์์ฑํ ํ
์คํธ ์ฝ๋)
+
+---
+
+## 5. ๐ ๋ฆฌํฉํ ๋ง ํ ์ฝ๋ ์ํ
+
+```typescript
+// ๋ฆฌํฉํ ๋ง ํ ์ต์ข
์ ์ผ๋ก ๊ฐ์ ๋ ๊ตฌํ ์ฝ๋๋ฅผ ์ฌ๊ธฐ์ ํฌํจํฉ๋๋ค.
+// ์ด ์ฝ๋๋ Apollo ์์ด์ ํธ์ ๋ฆฌํฉํ ๋ง ์์
์ด ์๋ฃ๋ ์ต์ข
๊ฒฐ๊ณผ๋ฌผ์
๋๋ค.
+// ์์:
+// const TAX_RATE = 0.075; // ์์๋ก ์ ์
+//
+// const calculateSubtotal = (items) => {
+// return items.reduce((total, item) => total + item.price * item.quantity, 0);
+// };
+//
+// const applyTax = (subtotal, taxRate) => {
+// return subtotal + subtotal * taxRate;
+// };
+//
+// const calculateTotal = (items) => {
+// const subtotal = calculateSubtotal(items);
+// return applyTax(subtotal, TAX_RATE);
+// };
+```
+
+---
+
+## 6. ๐ ๊ด๋ จ ๋ฌธ์ ๋ฐ ์ฐธ์กฐ
+
+- **`agents_spec.md`**: ์์คํ
์ ์ฒด ๋ช
์ธ
+- [๊ธฐํ ๊ด๋ จ ๋ฌธ์ ๋งํฌ ๋ฐ ์ค๋ช
]
+
+---
+
+## 7. ๐ ๋ณ๊ฒฝ ์ด๋ ฅ
+
+| ๋ฒ์ | ๋ ์ง | ๋ณ๊ฒฝ ๋ด์ฉ | ์์ฑ์ |
+| :--- | :--------- | :-------- | :----- |
+| 1.0 | 2025-10-30 | ์ต์ด ์์ฑ | Gemini |
diff --git a/docs/templates/test_code_template.md b/docs/templates/test_code_template.md
new file mode 100644
index 00000000..8caa173f
--- /dev/null
+++ b/docs/templates/test_code_template.md
@@ -0,0 +1,65 @@
+# ๐งช ํ
์คํธ ์ฝ๋ ๋ช
์ธ (test_code.md)
+
+> ์ด ๋ฌธ์๋ Poseidon ์์ด์ ํธ๊ฐ Artemis ์์ด์ ํธ์ `test_spec.md`๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์์ฑํ๋ ์ค์ ํ
์คํธ ์ฝ๋ ํ์ผ์
๋๋ค. Vitest์ React Testing Library(RTL)๋ฅผ ์ฌ์ฉํ์ฌ ํ
์คํธ ์ผ์ด์ค๋ฅผ ๊ตฌํํ๋ฉฐ, TDD ์ฌ์ดํด์ "Red" ๋จ๊ณ๋ฅผ ๋ชฉํ๋ก ํฉ๋๋ค.
+
+---
+
+## 1. ๐ฏ ํ
์คํธ ๋์ ๋ฐ ๋ชฉ์
+
+- **ํ
์คํธ ๋์**: [Artemis์ `test_spec.md`์์ ์ ์๋ ๊ธฐ๋ฅ ๋๋ ์ปดํฌ๋ํธ]
+- **ํ
์คํธ ๋ชฉ์ **: [ํด๋น ๊ธฐ๋ฅ/์ปดํฌ๋ํธ๊ฐ ์ฌ์ฉ์ ์๊ตฌ์ฌํญ ๋ฐ ๊ธฐ๋ฅ ๋ช
์ธ์ ๋ฐ๋ผ ์ฌ๋ฐ๋ฅด๊ฒ ๋์ํ๋์ง ๊ฒ์ฆ]
+
+---
+
+## 2. ๐ ํ
์คํธ ํ๊ฒฝ ์ค์ ๋ฐ ์ ํธ๋ฆฌํฐ
+
+- **ํ
์คํธ ํ๋ ์์ํฌ**: Vitest
+- **๋ ๋๋ง ๋ผ์ด๋ธ๋ฌ๋ฆฌ**: React Testing Library (RTL)
+- **๊ณตํต ์ ํธ๋ฆฌํฐ**: `src/__tests__/utils.ts` (ํ์์)
+- **๋ชฉ(Mock) ๋ฐ์ดํฐ**: `src/__mocks__/` ๋๋ ํ ๋ฆฌ ํ์ฉ (ํ์์)
+- **ํ๊ฒฝ ์ค์ **: `setupTests.ts` (์ ์ญ ์ค์ )
+
+---
+
+## 3. ๐งช ํ
์คํธ ์ฝ๋
+
+```typescript
+// Poseidon์ ์ด ์ฝ๋ ๋ธ๋ก ๋ด๋ถ์ ์ค์ ํ
์คํธ ๋ก์ง์ ์ฑ์ ๋ฃ์ต๋๋ค.
+// ๋ํ, ํ
์คํธ ์ฝ๋๊ฐ ์ฐธ์กฐํ๋ ํจ์๋ ์ปดํฌ๋ํธ๊ฐ ์กด์ฌํ์ง ์์ ๋ฐ์ํ๋ import/ํ์
์ค๋ฅ๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด,
+// ํด๋น ํจ์๋ ์ปดํฌ๋ํธ์ ์ค์ผ๋ ํค ํ์ผ์ ํจ๊ป ์์ฑํด์ผ ํฉ๋๋ค.
+// ์ค์ผ๋ ํค ํ์ผ์ ์ต์ํ์ ๋ด์ฉ์ผ๋ก ๊ตฌ์ฑ๋์ด์ผ ํ๋ฉฐ, ํ
์คํธ๊ฐ ์คํจํ๋ ๊ฒ์ ๋ณด์ฅํด์ผ ํฉ๋๋ค.
+
+// test_spec.md์์ ์ ์๋ describe/it ๋ธ๋ก ๊ตฌ์กฐ๋ฅผ ์ ์งํ๋ฉฐ,
+// Vitest์ React Testing Library๋ฅผ ์ฌ์ฉํ์ฌ ์ค์ ํ
์คํธ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.
+// TDD ์์น์ ๋ฐ๋ผ, ์ด ์ฝ๋๋ Hermes ์์ด์ ํธ๊ฐ ๊ตฌํ ์ฝ๋๋ฅผ ์์ฑํ๊ธฐ ์ ์๋ ์คํจํด์ผ ํฉ๋๋ค.
+
+// ์์:
+// import { render, screen } from '@testing-library/react';
+// import MyComponent from '../src/components/MyComponent';
+
+// describe('MyComponent', () => {
+// it('should render correctly', () => {
+// render();
+// expect(screen.getByText('Hello')).toBeInTheDocument();
+// });
+// });
+
+// Artemis๊ฐ ์์ฑํ describe/it ๋ธ๋ก์ด ์ฌ๊ธฐ์ ์์นํฉ๋๋ค.
+// Poseidon์ ์ด ๋ธ๋ก ๋ด๋ถ์ ์ค์ ํ
์คํธ ๋ก์ง์ ์ฑ์ ๋ฃ์ต๋๋ค.
+```
+
+---
+
+## 4. ๐ ๊ด๋ จ ๋ฌธ์ ๋ฐ ์ฐธ์กฐ
+
+- **`agents_spec.md`**: ์์คํ
์ ์ฒด ๋ช
์ธ
+- **`feature_spec.md`**: Athena์ ์ถ๋ ฅ์ผ๋ก ์์ฑ๋ ๊ธฐ๋ฅ ๋ช
์ธ์
+- [๊ธฐํ ๊ด๋ จ ๋ฌธ์ ๋งํฌ ๋ฐ ์ค๋ช
]
+
+---
+
+## ๐ ๋ณ๊ฒฝ ์ด๋ ฅ
+
+| ๋ฒ์ | ๋ ์ง | ๋ณ๊ฒฝ ๋ด์ฉ | ์์ฑ์ |
+| :--- | :--------- | :-------- | :------- |
+| 1.0 | YYYY-MM-DD | ์ต์ด ์์ฑ | [์์ฑ์] |
diff --git a/docs/templates/test_spec_template.md b/docs/templates/test_spec_template.md
new file mode 100644
index 00000000..537e96c3
--- /dev/null
+++ b/docs/templates/test_spec_template.md
@@ -0,0 +1,137 @@
+# ๐งช ํ
์คํธ ์ค๊ณ ๋ช
์ธ์ (Test Specification Document)
+
+> ์ด ๋ฌธ์๋ ๊ธฐ๋ฅ ๋ช
์ธ์(`feature_spec.md`)๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ
์คํธ ์ ๋ต, ์๋๋ฆฌ์ค, ์ผ์ด์ค๋ฅผ ์ ์ํฉ๋๋ค. Poseidon ์์ด์ ํธ๊ฐ ์ด ๋ฌธ์๋ฅผ ํ์ฉํ์ฌ ์ค์ ํ
์คํธ ์ฝ๋๋ฅผ ์์ฑํ ์ ์๋๋ก ๋ช
ํํ๊ณ ์คํ ๊ฐ๋ฅํ ํํ๋ก ์์ฑ๋์ด์ผ ํฉ๋๋ค.
+
+---
+
+## 1. ๐ฏ ํ
์คํธ ์ ๋ต (Test Strategy)
+
+### 1.1 ํ
์คํธ ๋ชฉํ
+
+[์ด ๊ธฐ๋ฅ์ ๋ํ ํ
์คํธ๋ฅผ ํตํด ๋ฌ์ฑํ๊ณ ์ ํ๋ ์ฃผ์ ๋ชฉํ๋ฅผ ์ค๋ช
ํฉ๋๋ค. ์: ํต์ฌ ๊ธฐ๋ฅ์ ์ ์ ๋์ ๊ฒ์ฆ, ์ฃผ์ ์์ธ ์ํฉ ์ฒ๋ฆฌ ํ์ธ]
+
+### 1.2 ํ
์คํธ ๋ฒ์
+
+[ํ
์คํธ ๋์์ด ๋๋ ๊ธฐ๋ฅ์ ๋ฒ์์ ์ ์ธ๋๋ ๋ฒ์๋ฅผ ๋ช
ํํ ์ ์ํฉ๋๋ค. (์: ๋จ์ ํ
์คํธ, ํตํฉ ํ
์คํธ, E2E ํ
์คํธ ๋ฑ)]
+
+### 1.3 ํ
์คํธ ์ ํ ๋ฐ ์ ๊ทผ ๋ฐฉ์
+
+[์ ์ฉํ ํ
์คํธ ์ ํ(์: ๊ธฐ๋ฅ ํ
์คํธ, ์ฑ๋ฅ ํ
์คํธ, ๋ณด์ ํ
์คํธ)๊ณผ ๊ฐ ์ ํ์ ๋ํ ์ ๊ทผ ๋ฐฉ์์ ์ค๋ช
ํฉ๋๋ค.]
+
+### 1.4 ํ
์คํธ ํ๊ฒฝ ๋ฐ ๋๊ตฌ (์ ํ ์ฌํญ)
+
+[ํ
์คํธ๋ฅผ ์ํํ ํ๊ฒฝ(์: ๊ฐ๋ฐ ํ๊ฒฝ, ์คํ
์ด์ง ํ๊ฒฝ) ๋ฐ ์ฌ์ฉํ ์ฃผ์ ๋๊ตฌ(์: Vitest, React Testing Library)๋ฅผ ๋ช
์ํฉ๋๋ค.]
+
+---
+
+## 2. ๐ ํ
์คํธ ์๋๋ฆฌ์ค (Test Scenarios)
+
+[๊ฐ ๊ธฐ๋ฅ ๋๋ ํ์ ๊ธฐ๋ฅ์ ๋ํ ํ
์คํธ ์๋๋ฆฌ์ค๋ฅผ Given-When-Then ํ์์ผ๋ก ์์ธํ๊ฒ ๊ธฐ์ ํฉ๋๋ค. ์ฌ์ฉ์ ๊ด์ ์ ํ๋ฆ๊ณผ ์์คํ
์ ์์ ๋์์ ๋ช
ํํ ์ ์ํฉ๋๋ค.]
+
+### 2.1 [๊ธฐ๋ฅ๋ช
๋๋ ํ์ ๊ธฐ๋ฅ๋ช
] - [์๋๋ฆฌ์ค๋ช
1]
+
+#### Given
+
+[ํ
์คํธ๋ฅผ ์์ํ๊ธฐ ์ํ ์ด๊ธฐ ์กฐ๊ฑด ๋๋ ์ ์ ์ํ]
+
+- ์ฌ์ฉ์ A๋ ๋ก๊ทธ์ธ๋์ด ์๋ค.
+- ์ฅ๋ฐ๊ตฌ๋์ ์ํ X๊ฐ ๋ด๊ฒจ ์๋ค.
+
+#### When
+
+[ํ
์คํธ ๋์ ์์คํ
์ ๊ฐํด์ง๋ ํน์ ๋์ ๋๋ ์ด๋ฒคํธ]
+
+- ์ฌ์ฉ์๊ฐ '๊ฒฐ์ ํ๊ธฐ' ๋ฒํผ์ ํด๋ฆญํ๋ค.
+- ์์คํ
์ด ๊ฒฐ์ ์์ฒญ์ ์ฒ๋ฆฌํ๋ค.
+
+#### Then
+
+[๋์ ๋๋ ์ด๋ฒคํธ ๋ฐ์ ํ ์์คํ
์ ์์ ๊ฒฐ๊ณผ ๋๋ ์ํ ๋ณํ]
+
+- ์ฃผ๋ฌธ์ด ์ฑ๊ณต์ ์ผ๋ก ์์ฑ๋๋ค.
+- ์ฌ์ฉ์์๊ฒ '๊ฒฐ์ ๊ฐ ์๋ฃ๋์์ต๋๋ค' ๋ฉ์์ง๊ฐ ํ์๋๋ค.
+- ์ฅ๋ฐ๊ตฌ๋๊ฐ ๋น์์ง๋ค.
+
+### 2.2 [๊ธฐ๋ฅ๋ช
๋๋ ํ์ ๊ธฐ๋ฅ๋ช
] - [์๋๋ฆฌ์ค๋ช
2]
+
+...
+
+---
+
+## 3. ๐งช ํ
์คํธ ์ผ์ด์ค (Test Cases)
+
+[๊ฐ ํ
์คํธ ์๋๋ฆฌ์ค์ ๋ํ ๊ตฌ์ฒด์ ์ธ ํ
์คํธ ์ผ์ด์ค๋ฅผ ์ ์ํฉ๋๋ค. ์
๋ ฅ ๊ฐ, ์์ ๊ฒฐ๊ณผ, ํ
์คํธ ์กฐ๊ฑด ๋ฑ์ ๋ช
ํํ ๋ช
์ํ์ฌ Poseidon์ด ํ
์คํธ ์ฝ๋๋ฅผ ์์ฑํ๋ ๋ฐ ํ์ํ ๋ชจ๋ ์ ๋ณด๋ฅผ ์ ๊ณตํฉ๋๋ค.]
+
+### 3.1 [์๋๋ฆฌ์ค๋ช
] - [ํ
์คํธ ์ผ์ด์ค๋ช
1]
+
+- **์ค๋ช
**: [ํ
์คํธ ์ผ์ด์ค์ ๋ํ ๊ฐ๋ตํ ์ค๋ช
]
+- **์
๋ ฅ ๋ฐ์ดํฐ**:
+ - `[ํ๋๋ช
]`: `[๊ฐ]`
+ - `username`: `validUser`
+ - `password`: `validPassword123!`
+- **์ฌ์ ์กฐ๊ฑด**: [ํ
์คํธ ์ผ์ด์ค ์คํ ์ ํ์ํ ํน์ ์กฐ๊ฑด]
+- **๊ธฐ๋ ๊ฒฐ๊ณผ**: [ํ
์คํธ ์คํ ํ ์์๋๋ ๊ฒฐ๊ณผ]
+ - `API ์๋ต`: `HTTP 200 OK`
+ - `์๋ต ๋ณธ๋ฌธ`: `{ "success": true, "token": "..." }`
+ - `UI ์ํ`: `๋ก๊ทธ์ธ ์ฑ๊ณต ๋ฉ์์ง ํ์`
+
+### 3.2 [์๋๋ฆฌ์ค๋ช
] - [ํ
์คํธ ์ผ์ด์ค๋ช
2]
+
+...
+
+---
+
+## 4. ๐ป ํ
์คํธ ์ฝ๋ ๋ธ๋ก (Test Code Blocks for Poseidon)
+
+> Poseidon ์์ด์ ํธ๊ฐ ์ด ์น์
์ ๋น ์ฝ๋ ๋ธ๋ก ๋ด๋ถ์ ์ค์ ํ
์คํธ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค. Artemis๋ `feature_spec.md`์ ๊ธฐ๋ฅ ๊ตฌ์กฐ์ ๋ง์ถฐ `Vitest` ๋ฐ `React Testing Library` ๊ธฐ๋ฐ์ ํ
์คํธ ํ์ผ ๊ตฌ์กฐ์ ๋น `describe`/`it` ๋ธ๋ก์ ๋ฏธ๋ฆฌ ์์ฑํฉ๋๋ค.
+
+### 4.1 [ํ
์คํธ ํ์ผ๋ช
1].test.ts
+
+```typescript
+import { describe, it, expect } from 'vitest';
+import { render, screen } from '@testing-library/react';
+import userEvent from '@testing-library/user-event';
+
+describe('[๊ธฐ๋ฅ๋ช
๋๋ ์ปดํฌ๋ํธ๋ช
]', () => {
+ it('[ํ
์คํธ ์ผ์ด์ค๋ช
1]', () => {
+ // Given
+ // When
+ // Then
+ });
+
+ it('[ํ
์คํธ ์ผ์ด์ค๋ช
2]', () => {
+ // Given
+ // When
+ // Then
+ });
+});
+```
+
+### 4.2 [ํ
์คํธ ํ์ผ๋ช
2].test.ts
+
+```typescript
+import { describe, it, expect } from 'vitest';
+
+describe('[์ ํธ๋ฆฌํฐ ๋๋ ํ
์ค๋ช
]', () => {
+ it('[ํ
์คํธ ์ผ์ด์ค๋ช
1]', () => {
+ // Given
+ // When
+ // Then
+ });
+});
+```
+
+---
+
+## 5. ๐ ๊ด๋ จ ๋ฌธ์ ๋ฐ ์ฐธ์กฐ
+
+- **`agents_spec.md`**: ์์คํ
์ ์ฒด ๋ช
์ธ
+- [๊ธฐํ ๊ด๋ จ ๋ฌธ์ ๋งํฌ ๋ฐ ์ค๋ช
]
+
+---
+
+## ๐ ๋ณ๊ฒฝ ์ด๋ ฅ
+
+| ๋ฒ์ | ๋ ์ง | ๋ณ๊ฒฝ ๋ด์ฉ | ์์ฑ์ |
+| :--- | :--------- | :-------- | :------- |
+| 1.0 | YYYY-MM-DD | ์ต์ด ์์ฑ | [์์ฑ์] |
diff --git a/index.html b/index.html
index 11222ae1..9ed34aa1 100644
--- a/index.html
+++ b/index.html
@@ -1,12 +1,12 @@
-
-
-
- ์ผ์ ๊ด๋ฆฌ ์ฑ์ผ๋ก ํ์ตํ๋ ํ
์คํธ ์ฝ๋
-
-
-
-
-
+
+
+
+ ์ผ์ ๊ด๋ฆฌ ์ฑ์ผ๋ก ํ์ตํ๋ ํ
์คํธ ์ฝ๋
+
+
+
+
+
diff --git a/package.json b/package.json
index 73d85b72..b1b310c5 100644
--- a/package.json
+++ b/package.json
@@ -8,11 +8,13 @@
"server:watch": "node --watch server.js",
"start": "vite",
"dev": "concurrently \"pnpm run server:watch\" \"pnpm run start\"",
- "test": "vitest",
+ "test": "pnpm run format && pnpm run lint:fix && vitest --run",
"test:ui": "vitest --ui",
"test:coverage": "vitest run --coverage",
"build": "tsc -b && vite build",
+ "format": "prettier --write .",
"lint:eslint": "eslint . --ext ts,tsx --report-unused-disable-directives",
+ "lint:fix": "eslint . --ext ts,tsx --report-unused-disable-directives --fix",
"lint:tsc": "tsc --pretty",
"lint": "pnpm lint:eslint && pnpm lint:tsc"
},
@@ -25,6 +27,7 @@
"framer-motion": "^12.23.0",
"msw": "^2.10.3",
"notistack": "^3.0.2",
+ "prettier": "^3.6.2",
"react": "19.1.0",
"react-dom": "19.1.0"
},
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index b3848a91..2228caf1 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -5,7 +5,6 @@ settings:
excludeLinksFromLockfile: false
importers:
-
.:
dependencies:
'@emotion/react':
@@ -32,6 +31,9 @@ importers:
notistack:
specifier: ^3.0.2
version: 3.0.2(csstype@3.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ prettier:
+ specifier: ^3.6.2
+ version: 3.6.2
react:
specifier: 19.1.0
version: 19.1.0
@@ -89,7 +91,7 @@ importers:
version: 2.32.0(@typescript-eslint/parser@8.35.0(eslint@9.30.0)(typescript@5.6.3))(eslint@9.30.0)
eslint-plugin-prettier:
specifier: ^5.5.1
- version: 5.5.1(@types/eslint@8.56.12)(eslint-config-prettier@10.1.5(eslint@9.30.0))(eslint@9.30.0)(prettier@3.3.3)
+ version: 5.5.1(@types/eslint@8.56.12)(eslint-config-prettier@10.1.5(eslint@9.30.0))(eslint@9.30.0)(prettier@3.6.2)
eslint-plugin-react:
specifier: ^7.37.0
version: 7.37.2(eslint@9.30.0)
@@ -98,7 +100,7 @@ importers:
version: 5.2.0(eslint@9.30.0)
eslint-plugin-storybook:
specifier: ^9.0.14
- version: 9.0.14(eslint@9.30.0)(storybook@9.0.14(@testing-library/dom@10.4.0)(prettier@3.3.3))(typescript@5.6.3)
+ version: 9.0.14(eslint@9.30.0)(storybook@9.0.14(@testing-library/dom@10.4.0)(prettier@3.6.2))(typescript@5.6.3)
eslint-plugin-vitest:
specifier: ^0.5.4
version: 0.5.4(@typescript-eslint/eslint-plugin@8.35.0(@typescript-eslint/parser@8.35.0(eslint@9.30.0)(typescript@5.6.3))(eslint@9.30.0)(typescript@5.6.3))(eslint@9.30.0)(typescript@5.6.3)(vitest@3.2.4)
@@ -122,122 +124,211 @@ importers:
version: 3.2.4(@types/node@22.18.8)(@vitest/ui@3.2.4)(jsdom@26.1.0)(msw@2.10.3(@types/node@22.18.8)(typescript@5.6.3))
packages:
-
'@adobe/css-tools@4.4.0':
- resolution: {integrity: sha512-Ff9+ksdQQB3rMncgqDK78uLznstjyfIf2Arnh22pW8kBpLs6rpKDwgnZT46hin5Hl1WzazzK64DOrhSwYpS7bQ==}
+ resolution:
+ {
+ integrity: sha512-Ff9+ksdQQB3rMncgqDK78uLznstjyfIf2Arnh22pW8kBpLs6rpKDwgnZT46hin5Hl1WzazzK64DOrhSwYpS7bQ==,
+ }
'@ampproject/remapping@2.3.0':
- resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
- engines: {node: '>=6.0.0'}
+ resolution:
+ {
+ integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==,
+ }
+ engines: { node: '>=6.0.0' }
'@asamuzakjp/css-color@3.2.0':
- resolution: {integrity: sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw==}
+ resolution:
+ {
+ integrity: sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw==,
+ }
'@babel/code-frame@7.26.0':
- resolution: {integrity: sha512-INCKxTtbXtcNbUZ3YXutwMpEleqttcswhAdee7dhuoVrD2cnuc3PqtERBtxkX5nziX9vnBL8WXmSGwv8CuPV6g==}
- engines: {node: '>=6.9.0'}
+ resolution:
+ {
+ integrity: sha512-INCKxTtbXtcNbUZ3YXutwMpEleqttcswhAdee7dhuoVrD2cnuc3PqtERBtxkX5nziX9vnBL8WXmSGwv8CuPV6g==,
+ }
+ engines: { node: '>=6.9.0' }
'@babel/generator@7.26.0':
- resolution: {integrity: sha512-/AIkAmInnWwgEAJGQr9vY0c66Mj6kjkE2ZPB1PurTRaRAh3U+J45sAQMjQDJdh4WbR3l0x5xkimXBKyBXXAu2w==}
- engines: {node: '>=6.9.0'}
+ resolution:
+ {
+ integrity: sha512-/AIkAmInnWwgEAJGQr9vY0c66Mj6kjkE2ZPB1PurTRaRAh3U+J45sAQMjQDJdh4WbR3l0x5xkimXBKyBXXAu2w==,
+ }
+ engines: { node: '>=6.9.0' }
'@babel/helper-module-imports@7.25.9':
- resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==}
- engines: {node: '>=6.9.0'}
+ resolution:
+ {
+ integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==,
+ }
+ engines: { node: '>=6.9.0' }
'@babel/helper-string-parser@7.25.9':
- resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==}
- engines: {node: '>=6.9.0'}
+ resolution:
+ {
+ integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==,
+ }
+ engines: { node: '>=6.9.0' }
'@babel/helper-validator-identifier@7.25.9':
- resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==}
- engines: {node: '>=6.9.0'}
+ resolution:
+ {
+ integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==,
+ }
+ engines: { node: '>=6.9.0' }
'@babel/parser@7.26.1':
- resolution: {integrity: sha512-reoQYNiAJreZNsJzyrDNzFQ+IQ5JFiIzAHJg9bn94S3l+4++J7RsIhNMoB+lgP/9tpmiAQqspv+xfdxTSzREOw==}
- engines: {node: '>=6.0.0'}
+ resolution:
+ {
+ integrity: sha512-reoQYNiAJreZNsJzyrDNzFQ+IQ5JFiIzAHJg9bn94S3l+4++J7RsIhNMoB+lgP/9tpmiAQqspv+xfdxTSzREOw==,
+ }
+ engines: { node: '>=6.0.0' }
hasBin: true
'@babel/runtime@7.26.0':
- resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==}
- engines: {node: '>=6.9.0'}
+ resolution:
+ {
+ integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==,
+ }
+ engines: { node: '>=6.9.0' }
'@babel/runtime@7.27.6':
- resolution: {integrity: sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==}
- engines: {node: '>=6.9.0'}
+ resolution:
+ {
+ integrity: sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==,
+ }
+ engines: { node: '>=6.9.0' }
'@babel/template@7.25.9':
- resolution: {integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==}
- engines: {node: '>=6.9.0'}
+ resolution:
+ {
+ integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==,
+ }
+ engines: { node: '>=6.9.0' }
'@babel/traverse@7.25.9':
- resolution: {integrity: sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==}
- engines: {node: '>=6.9.0'}
+ resolution:
+ {
+ integrity: sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==,
+ }
+ engines: { node: '>=6.9.0' }
'@babel/types@7.26.0':
- resolution: {integrity: sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==}
- engines: {node: '>=6.9.0'}
+ resolution:
+ {
+ integrity: sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==,
+ }
+ engines: { node: '>=6.9.0' }
'@bcoe/v8-coverage@0.2.3':
- resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==}
+ resolution:
+ {
+ integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==,
+ }
'@bundled-es-modules/cookie@2.0.1':
- resolution: {integrity: sha512-8o+5fRPLNbjbdGRRmJj3h6Hh1AQJf2dk3qQ/5ZFb+PXkRNiSoMGGUKlsgLfrxneb72axVJyIYji64E2+nNfYyw==}
+ resolution:
+ {
+ integrity: sha512-8o+5fRPLNbjbdGRRmJj3h6Hh1AQJf2dk3qQ/5ZFb+PXkRNiSoMGGUKlsgLfrxneb72axVJyIYji64E2+nNfYyw==,
+ }
'@bundled-es-modules/statuses@1.0.1':
- resolution: {integrity: sha512-yn7BklA5acgcBr+7w064fGV+SGIFySjCKpqjcWgBAIfrAkY+4GQTJJHQMeT3V/sgz23VTEVV8TtOmkvJAhFVfg==}
+ resolution:
+ {
+ integrity: sha512-yn7BklA5acgcBr+7w064fGV+SGIFySjCKpqjcWgBAIfrAkY+4GQTJJHQMeT3V/sgz23VTEVV8TtOmkvJAhFVfg==,
+ }
'@bundled-es-modules/tough-cookie@0.1.6':
- resolution: {integrity: sha512-dvMHbL464C0zI+Yqxbz6kZ5TOEp7GLW+pry/RWndAR8MJQAXZ2rPmIs8tziTZjeIyhSNZgZbCePtfSbdWqStJw==}
+ resolution:
+ {
+ integrity: sha512-dvMHbL464C0zI+Yqxbz6kZ5TOEp7GLW+pry/RWndAR8MJQAXZ2rPmIs8tziTZjeIyhSNZgZbCePtfSbdWqStJw==,
+ }
'@csstools/color-helpers@5.0.2':
- resolution: {integrity: sha512-JqWH1vsgdGcw2RR6VliXXdA0/59LttzlU8UlRT/iUUsEeWfYq8I+K0yhihEUTTHLRm1EXvpsCx3083EU15ecsA==}
- engines: {node: '>=18'}
+ resolution:
+ {
+ integrity: sha512-JqWH1vsgdGcw2RR6VliXXdA0/59LttzlU8UlRT/iUUsEeWfYq8I+K0yhihEUTTHLRm1EXvpsCx3083EU15ecsA==,
+ }
+ engines: { node: '>=18' }
'@csstools/css-calc@2.1.4':
- resolution: {integrity: sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==}
- engines: {node: '>=18'}
+ resolution:
+ {
+ integrity: sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==,
+ }
+ engines: { node: '>=18' }
peerDependencies:
'@csstools/css-parser-algorithms': ^3.0.5
'@csstools/css-tokenizer': ^3.0.4
'@csstools/css-color-parser@3.0.10':
- resolution: {integrity: sha512-TiJ5Ajr6WRd1r8HSiwJvZBiJOqtH86aHpUjq5aEKWHiII2Qfjqd/HCWKPOW8EP4vcspXbHnXrwIDlu5savQipg==}
- engines: {node: '>=18'}
+ resolution:
+ {
+ integrity: sha512-TiJ5Ajr6WRd1r8HSiwJvZBiJOqtH86aHpUjq5aEKWHiII2Qfjqd/HCWKPOW8EP4vcspXbHnXrwIDlu5savQipg==,
+ }
+ engines: { node: '>=18' }
peerDependencies:
'@csstools/css-parser-algorithms': ^3.0.5
'@csstools/css-tokenizer': ^3.0.4
'@csstools/css-parser-algorithms@3.0.5':
- resolution: {integrity: sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==}
- engines: {node: '>=18'}
+ resolution:
+ {
+ integrity: sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==,
+ }
+ engines: { node: '>=18' }
peerDependencies:
'@csstools/css-tokenizer': ^3.0.4
'@csstools/css-tokenizer@3.0.4':
- resolution: {integrity: sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==}
- engines: {node: '>=18'}
+ resolution:
+ {
+ integrity: sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==,
+ }
+ engines: { node: '>=18' }
'@emotion/babel-plugin@11.12.0':
- resolution: {integrity: sha512-y2WQb+oP8Jqvvclh8Q55gLUyb7UFvgv7eJfsj7td5TToBrIUtPay2kMrZi4xjq9qw2vD0ZR5fSho0yqoFgX7Rw==}
+ resolution:
+ {
+ integrity: sha512-y2WQb+oP8Jqvvclh8Q55gLUyb7UFvgv7eJfsj7td5TToBrIUtPay2kMrZi4xjq9qw2vD0ZR5fSho0yqoFgX7Rw==,
+ }
'@emotion/cache@11.13.1':
- resolution: {integrity: sha512-iqouYkuEblRcXmylXIwwOodiEK5Ifl7JcX7o6V4jI3iW4mLXX3dmt5xwBtIkJiQEXFAI+pC8X0i67yiPkH9Ucw==}
+ resolution:
+ {
+ integrity: sha512-iqouYkuEblRcXmylXIwwOodiEK5Ifl7JcX7o6V4jI3iW4mLXX3dmt5xwBtIkJiQEXFAI+pC8X0i67yiPkH9Ucw==,
+ }
'@emotion/cache@11.14.0':
- resolution: {integrity: sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA==}
+ resolution:
+ {
+ integrity: sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA==,
+ }
'@emotion/hash@0.9.2':
- resolution: {integrity: sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==}
+ resolution:
+ {
+ integrity: sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==,
+ }
'@emotion/is-prop-valid@1.3.1':
- resolution: {integrity: sha512-/ACwoqx7XQi9knQs/G0qKvv5teDMhD7bXYns9N/wM8ah8iNb8jZ2uNO0YOgiq2o2poIvVtJS2YALasQuMSQ7Kw==}
+ resolution:
+ {
+ integrity: sha512-/ACwoqx7XQi9knQs/G0qKvv5teDMhD7bXYns9N/wM8ah8iNb8jZ2uNO0YOgiq2o2poIvVtJS2YALasQuMSQ7Kw==,
+ }
'@emotion/memoize@0.9.0':
- resolution: {integrity: sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==}
+ resolution:
+ {
+ integrity: sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==,
+ }
'@emotion/react@11.13.3':
- resolution: {integrity: sha512-lIsdU6JNrmYfJ5EbUCf4xW1ovy5wKQ2CkPRM4xogziOxH1nXxBSjpC9YqbFAP7circxMfYp+6x676BqWcEiixg==}
+ resolution:
+ {
+ integrity: sha512-lIsdU6JNrmYfJ5EbUCf4xW1ovy5wKQ2CkPRM4xogziOxH1nXxBSjpC9YqbFAP7circxMfYp+6x676BqWcEiixg==,
+ }
peerDependencies:
'@types/react': '*'
react: '>=16.8.0'
@@ -246,16 +337,28 @@ packages:
optional: true
'@emotion/serialize@1.3.2':
- resolution: {integrity: sha512-grVnMvVPK9yUVE6rkKfAJlYZgo0cu3l9iMC77V7DW6E1DUIrU68pSEXRmFZFOFB1QFo57TncmOcvcbMDWsL4yA==}
+ resolution:
+ {
+ integrity: sha512-grVnMvVPK9yUVE6rkKfAJlYZgo0cu3l9iMC77V7DW6E1DUIrU68pSEXRmFZFOFB1QFo57TncmOcvcbMDWsL4yA==,
+ }
'@emotion/serialize@1.3.3':
- resolution: {integrity: sha512-EISGqt7sSNWHGI76hC7x1CksiXPahbxEOrC5RjmFRJTqLyEK9/9hZvBbiYn70dw4wuwMKiEMCUlR6ZXTSWQqxA==}
+ resolution:
+ {
+ integrity: sha512-EISGqt7sSNWHGI76hC7x1CksiXPahbxEOrC5RjmFRJTqLyEK9/9hZvBbiYn70dw4wuwMKiEMCUlR6ZXTSWQqxA==,
+ }
'@emotion/sheet@1.4.0':
- resolution: {integrity: sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==}
+ resolution:
+ {
+ integrity: sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==,
+ }
'@emotion/styled@11.13.0':
- resolution: {integrity: sha512-tkzkY7nQhW/zC4hztlwucpT8QEZ6eUzpXDRhww/Eej4tFfO0FxQYWRyg/c5CCXa4d/f174kqeXYjuQRnhzf6dA==}
+ resolution:
+ {
+ integrity: sha512-tkzkY7nQhW/zC4hztlwucpT8QEZ6eUzpXDRhww/Eej4tFfO0FxQYWRyg/c5CCXa4d/f174kqeXYjuQRnhzf6dA==,
+ }
peerDependencies:
'@emotion/react': ^11.0.0-rc.0
'@types/react': '*'
@@ -265,300 +368,483 @@ packages:
optional: true
'@emotion/unitless@0.10.0':
- resolution: {integrity: sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==}
+ resolution:
+ {
+ integrity: sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==,
+ }
'@emotion/use-insertion-effect-with-fallbacks@1.1.0':
- resolution: {integrity: sha512-+wBOcIV5snwGgI2ya3u99D7/FJquOIniQT1IKyDsBmEgwvpxMNeS65Oib7OnE2d2aY+3BU4OiH+0Wchf8yk3Hw==}
+ resolution:
+ {
+ integrity: sha512-+wBOcIV5snwGgI2ya3u99D7/FJquOIniQT1IKyDsBmEgwvpxMNeS65Oib7OnE2d2aY+3BU4OiH+0Wchf8yk3Hw==,
+ }
peerDependencies:
react: '>=16.8.0'
'@emotion/utils@1.4.1':
- resolution: {integrity: sha512-BymCXzCG3r72VKJxaYVwOXATqXIZ85cuvg0YOUDxMGNrKc1DJRZk8MgV5wyXRyEayIMd4FuXJIUgTBXvDNW5cA==}
+ resolution:
+ {
+ integrity: sha512-BymCXzCG3r72VKJxaYVwOXATqXIZ85cuvg0YOUDxMGNrKc1DJRZk8MgV5wyXRyEayIMd4FuXJIUgTBXvDNW5cA==,
+ }
'@emotion/utils@1.4.2':
- resolution: {integrity: sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA==}
+ resolution:
+ {
+ integrity: sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA==,
+ }
'@emotion/weak-memoize@0.4.0':
- resolution: {integrity: sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==}
+ resolution:
+ {
+ integrity: sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==,
+ }
'@esbuild/aix-ppc64@0.25.5':
- resolution: {integrity: sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA==}
- engines: {node: '>=18'}
+ resolution:
+ {
+ integrity: sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA==,
+ }
+ engines: { node: '>=18' }
cpu: [ppc64]
os: [aix]
'@esbuild/android-arm64@0.25.5':
- resolution: {integrity: sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg==}
- engines: {node: '>=18'}
+ resolution:
+ {
+ integrity: sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg==,
+ }
+ engines: { node: '>=18' }
cpu: [arm64]
os: [android]
'@esbuild/android-arm@0.25.5':
- resolution: {integrity: sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA==}
- engines: {node: '>=18'}
+ resolution:
+ {
+ integrity: sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA==,
+ }
+ engines: { node: '>=18' }
cpu: [arm]
os: [android]
'@esbuild/android-x64@0.25.5':
- resolution: {integrity: sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw==}
- engines: {node: '>=18'}
+ resolution:
+ {
+ integrity: sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw==,
+ }
+ engines: { node: '>=18' }
cpu: [x64]
os: [android]
'@esbuild/darwin-arm64@0.25.5':
- resolution: {integrity: sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ==}
- engines: {node: '>=18'}
+ resolution:
+ {
+ integrity: sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ==,
+ }
+ engines: { node: '>=18' }
cpu: [arm64]
os: [darwin]
'@esbuild/darwin-x64@0.25.5':
- resolution: {integrity: sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ==}
- engines: {node: '>=18'}
+ resolution:
+ {
+ integrity: sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ==,
+ }
+ engines: { node: '>=18' }
cpu: [x64]
os: [darwin]
'@esbuild/freebsd-arm64@0.25.5':
- resolution: {integrity: sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw==}
- engines: {node: '>=18'}
+ resolution:
+ {
+ integrity: sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw==,
+ }
+ engines: { node: '>=18' }
cpu: [arm64]
os: [freebsd]
'@esbuild/freebsd-x64@0.25.5':
- resolution: {integrity: sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw==}
- engines: {node: '>=18'}
+ resolution:
+ {
+ integrity: sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw==,
+ }
+ engines: { node: '>=18' }
cpu: [x64]
os: [freebsd]
'@esbuild/linux-arm64@0.25.5':
- resolution: {integrity: sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg==}
- engines: {node: '>=18'}
+ resolution:
+ {
+ integrity: sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg==,
+ }
+ engines: { node: '>=18' }
cpu: [arm64]
os: [linux]
'@esbuild/linux-arm@0.25.5':
- resolution: {integrity: sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw==}
- engines: {node: '>=18'}
+ resolution:
+ {
+ integrity: sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw==,
+ }
+ engines: { node: '>=18' }
cpu: [arm]
os: [linux]
'@esbuild/linux-ia32@0.25.5':
- resolution: {integrity: sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA==}
- engines: {node: '>=18'}
+ resolution:
+ {
+ integrity: sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA==,
+ }
+ engines: { node: '>=18' }
cpu: [ia32]
os: [linux]
'@esbuild/linux-loong64@0.25.5':
- resolution: {integrity: sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg==}
- engines: {node: '>=18'}
+ resolution:
+ {
+ integrity: sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg==,
+ }
+ engines: { node: '>=18' }
cpu: [loong64]
os: [linux]
'@esbuild/linux-mips64el@0.25.5':
- resolution: {integrity: sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg==}
- engines: {node: '>=18'}
+ resolution:
+ {
+ integrity: sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg==,
+ }
+ engines: { node: '>=18' }
cpu: [mips64el]
os: [linux]
'@esbuild/linux-ppc64@0.25.5':
- resolution: {integrity: sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ==}
- engines: {node: '>=18'}
+ resolution:
+ {
+ integrity: sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ==,
+ }
+ engines: { node: '>=18' }
cpu: [ppc64]
os: [linux]
'@esbuild/linux-riscv64@0.25.5':
- resolution: {integrity: sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA==}
- engines: {node: '>=18'}
+ resolution:
+ {
+ integrity: sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA==,
+ }
+ engines: { node: '>=18' }
cpu: [riscv64]
os: [linux]
'@esbuild/linux-s390x@0.25.5':
- resolution: {integrity: sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ==}
- engines: {node: '>=18'}
+ resolution:
+ {
+ integrity: sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ==,
+ }
+ engines: { node: '>=18' }
cpu: [s390x]
os: [linux]
'@esbuild/linux-x64@0.25.5':
- resolution: {integrity: sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw==}
- engines: {node: '>=18'}
+ resolution:
+ {
+ integrity: sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw==,
+ }
+ engines: { node: '>=18' }
cpu: [x64]
os: [linux]
'@esbuild/netbsd-arm64@0.25.5':
- resolution: {integrity: sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw==}
- engines: {node: '>=18'}
+ resolution:
+ {
+ integrity: sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw==,
+ }
+ engines: { node: '>=18' }
cpu: [arm64]
os: [netbsd]
'@esbuild/netbsd-x64@0.25.5':
- resolution: {integrity: sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ==}
- engines: {node: '>=18'}
+ resolution:
+ {
+ integrity: sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ==,
+ }
+ engines: { node: '>=18' }
cpu: [x64]
os: [netbsd]
'@esbuild/openbsd-arm64@0.25.5':
- resolution: {integrity: sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw==}
- engines: {node: '>=18'}
+ resolution:
+ {
+ integrity: sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw==,
+ }
+ engines: { node: '>=18' }
cpu: [arm64]
os: [openbsd]
'@esbuild/openbsd-x64@0.25.5':
- resolution: {integrity: sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg==}
- engines: {node: '>=18'}
+ resolution:
+ {
+ integrity: sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg==,
+ }
+ engines: { node: '>=18' }
cpu: [x64]
os: [openbsd]
'@esbuild/sunos-x64@0.25.5':
- resolution: {integrity: sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA==}
- engines: {node: '>=18'}
+ resolution:
+ {
+ integrity: sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA==,
+ }
+ engines: { node: '>=18' }
cpu: [x64]
os: [sunos]
'@esbuild/win32-arm64@0.25.5':
- resolution: {integrity: sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw==}
- engines: {node: '>=18'}
+ resolution:
+ {
+ integrity: sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw==,
+ }
+ engines: { node: '>=18' }
cpu: [arm64]
os: [win32]
'@esbuild/win32-ia32@0.25.5':
- resolution: {integrity: sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ==}
- engines: {node: '>=18'}
+ resolution:
+ {
+ integrity: sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ==,
+ }
+ engines: { node: '>=18' }
cpu: [ia32]
os: [win32]
'@esbuild/win32-x64@0.25.5':
- resolution: {integrity: sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g==}
- engines: {node: '>=18'}
+ resolution:
+ {
+ integrity: sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g==,
+ }
+ engines: { node: '>=18' }
cpu: [x64]
os: [win32]
'@eslint-community/eslint-utils@4.4.1':
- resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ resolution:
+ {
+ integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==,
+ }
+ engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
'@eslint-community/eslint-utils@4.7.0':
- resolution: {integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ resolution:
+ {
+ integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==,
+ }
+ engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
'@eslint-community/regexpp@4.12.1':
- resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==}
- engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
+ resolution:
+ {
+ integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==,
+ }
+ engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 }
'@eslint/config-array@0.21.0':
- resolution: {integrity: sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ resolution:
+ {
+ integrity: sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==,
+ }
+ engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
'@eslint/config-helpers@0.3.0':
- resolution: {integrity: sha512-ViuymvFmcJi04qdZeDc2whTHryouGcDlaxPqarTD0ZE10ISpxGUVZGZDx4w01upyIynL3iu6IXH2bS1NhclQMw==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ resolution:
+ {
+ integrity: sha512-ViuymvFmcJi04qdZeDc2whTHryouGcDlaxPqarTD0ZE10ISpxGUVZGZDx4w01upyIynL3iu6IXH2bS1NhclQMw==,
+ }
+ engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
'@eslint/core@0.14.0':
- resolution: {integrity: sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ resolution:
+ {
+ integrity: sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==,
+ }
+ engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
'@eslint/core@0.15.1':
- resolution: {integrity: sha512-bkOp+iumZCCbt1K1CmWf0R9pM5yKpDv+ZXtvSyQpudrI9kuFLp+bM2WOPXImuD/ceQuaa8f5pj93Y7zyECIGNA==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ resolution:
+ {
+ integrity: sha512-bkOp+iumZCCbt1K1CmWf0R9pM5yKpDv+ZXtvSyQpudrI9kuFLp+bM2WOPXImuD/ceQuaa8f5pj93Y7zyECIGNA==,
+ }
+ engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
'@eslint/eslintrc@3.3.1':
- resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ resolution:
+ {
+ integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==,
+ }
+ engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
'@eslint/js@9.30.0':
- resolution: {integrity: sha512-Wzw3wQwPvc9sHM+NjakWTcPx11mbZyiYHuwWa/QfZ7cIRX7WK54PSk7bdyXDaoaopUcMatv1zaQvOAAO8hCdww==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ resolution:
+ {
+ integrity: sha512-Wzw3wQwPvc9sHM+NjakWTcPx11mbZyiYHuwWa/QfZ7cIRX7WK54PSk7bdyXDaoaopUcMatv1zaQvOAAO8hCdww==,
+ }
+ engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
'@eslint/js@9.34.0':
- resolution: {integrity: sha512-EoyvqQnBNsV1CWaEJ559rxXL4c8V92gxirbawSmVUOWXlsRxxQXl6LmCpdUblgxgSkDIqKnhzba2SjRTI/A5Rw==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ resolution:
+ {
+ integrity: sha512-EoyvqQnBNsV1CWaEJ559rxXL4c8V92gxirbawSmVUOWXlsRxxQXl6LmCpdUblgxgSkDIqKnhzba2SjRTI/A5Rw==,
+ }
+ engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
'@eslint/object-schema@2.1.6':
- resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ resolution:
+ {
+ integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==,
+ }
+ engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
'@eslint/plugin-kit@0.3.3':
- resolution: {integrity: sha512-1+WqvgNMhmlAambTvT3KPtCl/Ibr68VldY2XY40SL1CE0ZXiakFR/cbTspaF5HsnpDMvcYYoJHfl4980NBjGag==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ resolution:
+ {
+ integrity: sha512-1+WqvgNMhmlAambTvT3KPtCl/Ibr68VldY2XY40SL1CE0ZXiakFR/cbTspaF5HsnpDMvcYYoJHfl4980NBjGag==,
+ }
+ engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
'@humanfs/core@0.19.1':
- resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==}
- engines: {node: '>=18.18.0'}
+ resolution:
+ {
+ integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==,
+ }
+ engines: { node: '>=18.18.0' }
'@humanfs/node@0.16.6':
- resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==}
- engines: {node: '>=18.18.0'}
+ resolution:
+ {
+ integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==,
+ }
+ engines: { node: '>=18.18.0' }
'@humanwhocodes/module-importer@1.0.1':
- resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
- engines: {node: '>=12.22'}
+ resolution:
+ {
+ integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==,
+ }
+ engines: { node: '>=12.22' }
'@humanwhocodes/retry@0.3.1':
- resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==}
- engines: {node: '>=18.18'}
+ resolution:
+ {
+ integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==,
+ }
+ engines: { node: '>=18.18' }
'@humanwhocodes/retry@0.4.3':
- resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==}
- engines: {node: '>=18.18'}
+ resolution:
+ {
+ integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==,
+ }
+ engines: { node: '>=18.18' }
'@inquirer/confirm@5.0.1':
- resolution: {integrity: sha512-6ycMm7k7NUApiMGfVc32yIPp28iPKxhGRMqoNDiUjq2RyTAkbs5Fx0TdzBqhabcKvniDdAAvHCmsRjnNfTsogw==}
- engines: {node: '>=18'}
+ resolution:
+ {
+ integrity: sha512-6ycMm7k7NUApiMGfVc32yIPp28iPKxhGRMqoNDiUjq2RyTAkbs5Fx0TdzBqhabcKvniDdAAvHCmsRjnNfTsogw==,
+ }
+ engines: { node: '>=18' }
peerDependencies:
'@types/node': '>=18'
'@inquirer/core@10.0.1':
- resolution: {integrity: sha512-KKTgjViBQUi3AAssqjUFMnMO3CM3qwCHvePV9EW+zTKGKafFGFF01sc1yOIYjLJ7QU52G/FbzKc+c01WLzXmVQ==}
- engines: {node: '>=18'}
+ resolution:
+ {
+ integrity: sha512-KKTgjViBQUi3AAssqjUFMnMO3CM3qwCHvePV9EW+zTKGKafFGFF01sc1yOIYjLJ7QU52G/FbzKc+c01WLzXmVQ==,
+ }
+ engines: { node: '>=18' }
'@inquirer/figures@1.0.7':
- resolution: {integrity: sha512-m+Trk77mp54Zma6xLkLuY+mvanPxlE4A7yNKs2HBiyZ4UkVs28Mv5c/pgWrHeInx+USHeX/WEPzjrWrcJiQgjw==}
- engines: {node: '>=18'}
+ resolution:
+ {
+ integrity: sha512-m+Trk77mp54Zma6xLkLuY+mvanPxlE4A7yNKs2HBiyZ4UkVs28Mv5c/pgWrHeInx+USHeX/WEPzjrWrcJiQgjw==,
+ }
+ engines: { node: '>=18' }
'@inquirer/type@3.0.0':
- resolution: {integrity: sha512-YYykfbw/lefC7yKj7nanzQXILM7r3suIvyFlCcMskc99axmsSewXWkAfXKwMbgxL76iAFVmRwmYdwNZNc8gjog==}
- engines: {node: '>=18'}
+ resolution:
+ {
+ integrity: sha512-YYykfbw/lefC7yKj7nanzQXILM7r3suIvyFlCcMskc99axmsSewXWkAfXKwMbgxL76iAFVmRwmYdwNZNc8gjog==,
+ }
+ engines: { node: '>=18' }
peerDependencies:
'@types/node': '>=18'
'@isaacs/cliui@8.0.2':
- resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
- engines: {node: '>=12'}
+ resolution:
+ {
+ integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==,
+ }
+ engines: { node: '>=12' }
'@istanbuljs/schema@0.1.3':
- resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==,
+ }
+ engines: { node: '>=8' }
'@jridgewell/gen-mapping@0.3.5':
- resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==}
- engines: {node: '>=6.0.0'}
+ resolution:
+ {
+ integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==,
+ }
+ engines: { node: '>=6.0.0' }
'@jridgewell/resolve-uri@3.1.2':
- resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
- engines: {node: '>=6.0.0'}
+ resolution:
+ {
+ integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==,
+ }
+ engines: { node: '>=6.0.0' }
'@jridgewell/set-array@1.2.1':
- resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
- engines: {node: '>=6.0.0'}
+ resolution:
+ {
+ integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==,
+ }
+ engines: { node: '>=6.0.0' }
'@jridgewell/sourcemap-codec@1.5.0':
- resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
+ resolution:
+ {
+ integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==,
+ }
'@jridgewell/trace-mapping@0.3.25':
- resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
+ resolution:
+ {
+ integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==,
+ }
'@mswjs/interceptors@0.39.2':
- resolution: {integrity: sha512-RuzCup9Ct91Y7V79xwCb146RaBRHZ7NBbrIUySumd1rpKqHL5OonaqrGIbug5hNwP/fRyxFMA6ISgw4FTtYFYg==}
- engines: {node: '>=18'}
+ resolution:
+ {
+ integrity: sha512-RuzCup9Ct91Y7V79xwCb146RaBRHZ7NBbrIUySumd1rpKqHL5OonaqrGIbug5hNwP/fRyxFMA6ISgw4FTtYFYg==,
+ }
+ engines: { node: '>=18' }
'@mui/core-downloads-tracker@7.2.0':
- resolution: {integrity: sha512-d49s7kEgI5iX40xb2YPazANvo7Bx0BLg/MNRwv+7BVpZUzXj1DaVCKlQTDex3gy/0jsCb4w7AY2uH4t4AJvSog==}
+ resolution:
+ {
+ integrity: sha512-d49s7kEgI5iX40xb2YPazANvo7Bx0BLg/MNRwv+7BVpZUzXj1DaVCKlQTDex3gy/0jsCb4w7AY2uH4t4AJvSog==,
+ }
'@mui/icons-material@7.2.0':
- resolution: {integrity: sha512-gRCspp3pfjHQyTmSOmYw7kUQTd9Udpdan4R8EnZvqPeoAtHnPzkvjBrBqzKaoAbbBp5bGF7BcD18zZJh4nwu0A==}
- engines: {node: '>=14.0.0'}
+ resolution:
+ {
+ integrity: sha512-gRCspp3pfjHQyTmSOmYw7kUQTd9Udpdan4R8EnZvqPeoAtHnPzkvjBrBqzKaoAbbBp5bGF7BcD18zZJh4nwu0A==,
+ }
+ engines: { node: '>=14.0.0' }
peerDependencies:
'@mui/material': ^7.2.0
'@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0
@@ -568,8 +854,11 @@ packages:
optional: true
'@mui/material@7.2.0':
- resolution: {integrity: sha512-NTuyFNen5Z2QY+I242MDZzXnFIVIR6ERxo7vntFi9K1wCgSwvIl0HcAO2OOydKqqKApE6omRiYhpny1ZhGuH7Q==}
- engines: {node: '>=14.0.0'}
+ resolution:
+ {
+ integrity: sha512-NTuyFNen5Z2QY+I242MDZzXnFIVIR6ERxo7vntFi9K1wCgSwvIl0HcAO2OOydKqqKApE6omRiYhpny1ZhGuH7Q==,
+ }
+ engines: { node: '>=14.0.0' }
peerDependencies:
'@emotion/react': ^11.5.0
'@emotion/styled': ^11.3.0
@@ -588,8 +877,11 @@ packages:
optional: true
'@mui/private-theming@7.2.0':
- resolution: {integrity: sha512-y6N1Yt3T5RMxVFnCh6+zeSWBuQdNDm5/UlM0EAYZzZR/1u+XKJWYQmbpx4e+F+1EpkYi3Nk8KhPiQDi83M3zIw==}
- engines: {node: '>=14.0.0'}
+ resolution:
+ {
+ integrity: sha512-y6N1Yt3T5RMxVFnCh6+zeSWBuQdNDm5/UlM0EAYZzZR/1u+XKJWYQmbpx4e+F+1EpkYi3Nk8KhPiQDi83M3zIw==,
+ }
+ engines: { node: '>=14.0.0' }
peerDependencies:
'@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0
react: ^17.0.0 || ^18.0.0 || ^19.0.0
@@ -598,8 +890,11 @@ packages:
optional: true
'@mui/styled-engine@7.2.0':
- resolution: {integrity: sha512-yq08xynbrNYcB1nBcW9Fn8/h/iniM3ewRguGJXPIAbHvxEF7Pz95kbEEOAAhwzxMX4okhzvHmk0DFuC5ayvgIQ==}
- engines: {node: '>=14.0.0'}
+ resolution:
+ {
+ integrity: sha512-yq08xynbrNYcB1nBcW9Fn8/h/iniM3ewRguGJXPIAbHvxEF7Pz95kbEEOAAhwzxMX4okhzvHmk0DFuC5ayvgIQ==,
+ }
+ engines: { node: '>=14.0.0' }
peerDependencies:
'@emotion/react': ^11.4.1
'@emotion/styled': ^11.3.0
@@ -611,8 +906,11 @@ packages:
optional: true
'@mui/system@7.2.0':
- resolution: {integrity: sha512-PG7cm/WluU6RAs+gNND2R9vDwNh+ERWxPkqTaiXQJGIFAyJ+VxhyKfzpdZNk0z0XdmBxxi9KhFOpgxjehf/O0A==}
- engines: {node: '>=14.0.0'}
+ resolution:
+ {
+ integrity: sha512-PG7cm/WluU6RAs+gNND2R9vDwNh+ERWxPkqTaiXQJGIFAyJ+VxhyKfzpdZNk0z0XdmBxxi9KhFOpgxjehf/O0A==,
+ }
+ engines: { node: '>=14.0.0' }
peerDependencies:
'@emotion/react': ^11.5.0
'@emotion/styled': ^11.3.0
@@ -627,7 +925,10 @@ packages:
optional: true
'@mui/types@7.4.4':
- resolution: {integrity: sha512-p63yhbX52MO/ajXC7hDHJA5yjzJekvWD3q4YDLl1rSg+OXLczMYPvTuSuviPRCgRX8+E42RXz1D/dz9SxPSlWg==}
+ resolution:
+ {
+ integrity: sha512-p63yhbX52MO/ajXC7hDHJA5yjzJekvWD3q4YDLl1rSg+OXLczMYPvTuSuviPRCgRX8+E42RXz1D/dz9SxPSlWg==,
+ }
peerDependencies:
'@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0
peerDependenciesMeta:
@@ -635,8 +936,11 @@ packages:
optional: true
'@mui/utils@7.2.0':
- resolution: {integrity: sha512-O0i1GQL6MDzhKdy9iAu5Yr0Sz1wZjROH1o3aoztuivdCXqEeQYnEjTDiRLGuFxI9zrUbTHBwobMyQH5sNtyacw==}
- engines: {node: '>=14.0.0'}
+ resolution:
+ {
+ integrity: sha512-O0i1GQL6MDzhKdy9iAu5Yr0Sz1wZjROH1o3aoztuivdCXqEeQYnEjTDiRLGuFxI9zrUbTHBwobMyQH5sNtyacw==,
+ }
+ engines: { node: '>=14.0.0' }
peerDependencies:
'@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0
react: ^17.0.0 || ^18.0.0 || ^19.0.0
@@ -645,213 +949,345 @@ packages:
optional: true
'@nodelib/fs.scandir@2.1.5':
- resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
- engines: {node: '>= 8'}
+ resolution:
+ {
+ integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==,
+ }
+ engines: { node: '>= 8' }
'@nodelib/fs.stat@2.0.5':
- resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
- engines: {node: '>= 8'}
+ resolution:
+ {
+ integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==,
+ }
+ engines: { node: '>= 8' }
'@nodelib/fs.walk@1.2.8':
- resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
- engines: {node: '>= 8'}
+ resolution:
+ {
+ integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==,
+ }
+ engines: { node: '>= 8' }
'@open-draft/deferred-promise@2.2.0':
- resolution: {integrity: sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA==}
+ resolution:
+ {
+ integrity: sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA==,
+ }
'@open-draft/logger@0.3.0':
- resolution: {integrity: sha512-X2g45fzhxH238HKO4xbSr7+wBS8Fvw6ixhTDuvLd5mqh6bJJCFAPwU9mPDxbcrRtfxv4u5IHCEH77BmxvXmmxQ==}
+ resolution:
+ {
+ integrity: sha512-X2g45fzhxH238HKO4xbSr7+wBS8Fvw6ixhTDuvLd5mqh6bJJCFAPwU9mPDxbcrRtfxv4u5IHCEH77BmxvXmmxQ==,
+ }
'@open-draft/until@2.1.0':
- resolution: {integrity: sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg==}
+ resolution:
+ {
+ integrity: sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg==,
+ }
'@pkgjs/parseargs@0.11.0':
- resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
- engines: {node: '>=14'}
+ resolution:
+ {
+ integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==,
+ }
+ engines: { node: '>=14' }
'@pkgr/core@0.2.7':
- resolution: {integrity: sha512-YLT9Zo3oNPJoBjBc4q8G2mjU4tqIbf5CEOORbUUr48dCD9q3umJ3IPlVqOqDakPfd2HuwccBaqlGhN4Gmr5OWg==}
- engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
+ resolution:
+ {
+ integrity: sha512-YLT9Zo3oNPJoBjBc4q8G2mjU4tqIbf5CEOORbUUr48dCD9q3umJ3IPlVqOqDakPfd2HuwccBaqlGhN4Gmr5OWg==,
+ }
+ engines: { node: ^12.20.0 || ^14.18.0 || >=16.0.0 }
'@polka/url@1.0.0-next.28':
- resolution: {integrity: sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==}
+ resolution:
+ {
+ integrity: sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==,
+ }
'@popperjs/core@2.11.8':
- resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==}
+ resolution:
+ {
+ integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==,
+ }
'@rollup/pluginutils@4.2.1':
- resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==}
- engines: {node: '>= 8.0.0'}
+ resolution:
+ {
+ integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==,
+ }
+ engines: { node: '>= 8.0.0' }
'@rollup/rollup-android-arm-eabi@4.44.1':
- resolution: {integrity: sha512-JAcBr1+fgqx20m7Fwe1DxPUl/hPkee6jA6Pl7n1v2EFiktAHenTaXl5aIFjUIEsfn9w3HE4gK1lEgNGMzBDs1w==}
+ resolution:
+ {
+ integrity: sha512-JAcBr1+fgqx20m7Fwe1DxPUl/hPkee6jA6Pl7n1v2EFiktAHenTaXl5aIFjUIEsfn9w3HE4gK1lEgNGMzBDs1w==,
+ }
cpu: [arm]
os: [android]
'@rollup/rollup-android-arm64@4.44.1':
- resolution: {integrity: sha512-RurZetXqTu4p+G0ChbnkwBuAtwAbIwJkycw1n6GvlGlBuS4u5qlr5opix8cBAYFJgaY05TWtM+LaoFggUmbZEQ==}
+ resolution:
+ {
+ integrity: sha512-RurZetXqTu4p+G0ChbnkwBuAtwAbIwJkycw1n6GvlGlBuS4u5qlr5opix8cBAYFJgaY05TWtM+LaoFggUmbZEQ==,
+ }
cpu: [arm64]
os: [android]
'@rollup/rollup-darwin-arm64@4.44.1':
- resolution: {integrity: sha512-fM/xPesi7g2M7chk37LOnmnSTHLG/v2ggWqKj3CCA1rMA4mm5KVBT1fNoswbo1JhPuNNZrVwpTvlCVggv8A2zg==}
+ resolution:
+ {
+ integrity: sha512-fM/xPesi7g2M7chk37LOnmnSTHLG/v2ggWqKj3CCA1rMA4mm5KVBT1fNoswbo1JhPuNNZrVwpTvlCVggv8A2zg==,
+ }
cpu: [arm64]
os: [darwin]
'@rollup/rollup-darwin-x64@4.44.1':
- resolution: {integrity: sha512-gDnWk57urJrkrHQ2WVx9TSVTH7lSlU7E3AFqiko+bgjlh78aJ88/3nycMax52VIVjIm3ObXnDL2H00e/xzoipw==}
+ resolution:
+ {
+ integrity: sha512-gDnWk57urJrkrHQ2WVx9TSVTH7lSlU7E3AFqiko+bgjlh78aJ88/3nycMax52VIVjIm3ObXnDL2H00e/xzoipw==,
+ }
cpu: [x64]
os: [darwin]
'@rollup/rollup-freebsd-arm64@4.44.1':
- resolution: {integrity: sha512-wnFQmJ/zPThM5zEGcnDcCJeYJgtSLjh1d//WuHzhf6zT3Md1BvvhJnWoy+HECKu2bMxaIcfWiu3bJgx6z4g2XA==}
+ resolution:
+ {
+ integrity: sha512-wnFQmJ/zPThM5zEGcnDcCJeYJgtSLjh1d//WuHzhf6zT3Md1BvvhJnWoy+HECKu2bMxaIcfWiu3bJgx6z4g2XA==,
+ }
cpu: [arm64]
os: [freebsd]
'@rollup/rollup-freebsd-x64@4.44.1':
- resolution: {integrity: sha512-uBmIxoJ4493YATvU2c0upGz87f99e3wop7TJgOA/bXMFd2SvKCI7xkxY/5k50bv7J6dw1SXT4MQBQSLn8Bb/Uw==}
+ resolution:
+ {
+ integrity: sha512-uBmIxoJ4493YATvU2c0upGz87f99e3wop7TJgOA/bXMFd2SvKCI7xkxY/5k50bv7J6dw1SXT4MQBQSLn8Bb/Uw==,
+ }
cpu: [x64]
os: [freebsd]
'@rollup/rollup-linux-arm-gnueabihf@4.44.1':
- resolution: {integrity: sha512-n0edDmSHlXFhrlmTK7XBuwKlG5MbS7yleS1cQ9nn4kIeW+dJH+ExqNgQ0RrFRew8Y+0V/x6C5IjsHrJmiHtkxQ==}
+ resolution:
+ {
+ integrity: sha512-n0edDmSHlXFhrlmTK7XBuwKlG5MbS7yleS1cQ9nn4kIeW+dJH+ExqNgQ0RrFRew8Y+0V/x6C5IjsHrJmiHtkxQ==,
+ }
cpu: [arm]
os: [linux]
'@rollup/rollup-linux-arm-musleabihf@4.44.1':
- resolution: {integrity: sha512-8WVUPy3FtAsKSpyk21kV52HCxB+me6YkbkFHATzC2Yd3yuqHwy2lbFL4alJOLXKljoRw08Zk8/xEj89cLQ/4Nw==}
+ resolution:
+ {
+ integrity: sha512-8WVUPy3FtAsKSpyk21kV52HCxB+me6YkbkFHATzC2Yd3yuqHwy2lbFL4alJOLXKljoRw08Zk8/xEj89cLQ/4Nw==,
+ }
cpu: [arm]
os: [linux]
'@rollup/rollup-linux-arm64-gnu@4.44.1':
- resolution: {integrity: sha512-yuktAOaeOgorWDeFJggjuCkMGeITfqvPgkIXhDqsfKX8J3jGyxdDZgBV/2kj/2DyPaLiX6bPdjJDTu9RB8lUPQ==}
+ resolution:
+ {
+ integrity: sha512-yuktAOaeOgorWDeFJggjuCkMGeITfqvPgkIXhDqsfKX8J3jGyxdDZgBV/2kj/2DyPaLiX6bPdjJDTu9RB8lUPQ==,
+ }
cpu: [arm64]
os: [linux]
'@rollup/rollup-linux-arm64-musl@4.44.1':
- resolution: {integrity: sha512-W+GBM4ifET1Plw8pdVaecwUgxmiH23CfAUj32u8knq0JPFyK4weRy6H7ooxYFD19YxBulL0Ktsflg5XS7+7u9g==}
+ resolution:
+ {
+ integrity: sha512-W+GBM4ifET1Plw8pdVaecwUgxmiH23CfAUj32u8knq0JPFyK4weRy6H7ooxYFD19YxBulL0Ktsflg5XS7+7u9g==,
+ }
cpu: [arm64]
os: [linux]
'@rollup/rollup-linux-loongarch64-gnu@4.44.1':
- resolution: {integrity: sha512-1zqnUEMWp9WrGVuVak6jWTl4fEtrVKfZY7CvcBmUUpxAJ7WcSowPSAWIKa/0o5mBL/Ij50SIf9tuirGx63Ovew==}
+ resolution:
+ {
+ integrity: sha512-1zqnUEMWp9WrGVuVak6jWTl4fEtrVKfZY7CvcBmUUpxAJ7WcSowPSAWIKa/0o5mBL/Ij50SIf9tuirGx63Ovew==,
+ }
cpu: [loong64]
os: [linux]
'@rollup/rollup-linux-powerpc64le-gnu@4.44.1':
- resolution: {integrity: sha512-Rl3JKaRu0LHIx7ExBAAnf0JcOQetQffaw34T8vLlg9b1IhzcBgaIdnvEbbsZq9uZp3uAH+JkHd20Nwn0h9zPjA==}
+ resolution:
+ {
+ integrity: sha512-Rl3JKaRu0LHIx7ExBAAnf0JcOQetQffaw34T8vLlg9b1IhzcBgaIdnvEbbsZq9uZp3uAH+JkHd20Nwn0h9zPjA==,
+ }
cpu: [ppc64]
os: [linux]
'@rollup/rollup-linux-riscv64-gnu@4.44.1':
- resolution: {integrity: sha512-j5akelU3snyL6K3N/iX7otLBIl347fGwmd95U5gS/7z6T4ftK288jKq3A5lcFKcx7wwzb5rgNvAg3ZbV4BqUSw==}
+ resolution:
+ {
+ integrity: sha512-j5akelU3snyL6K3N/iX7otLBIl347fGwmd95U5gS/7z6T4ftK288jKq3A5lcFKcx7wwzb5rgNvAg3ZbV4BqUSw==,
+ }
cpu: [riscv64]
os: [linux]
'@rollup/rollup-linux-riscv64-musl@4.44.1':
- resolution: {integrity: sha512-ppn5llVGgrZw7yxbIm8TTvtj1EoPgYUAbfw0uDjIOzzoqlZlZrLJ/KuiE7uf5EpTpCTrNt1EdtzF0naMm0wGYg==}
+ resolution:
+ {
+ integrity: sha512-ppn5llVGgrZw7yxbIm8TTvtj1EoPgYUAbfw0uDjIOzzoqlZlZrLJ/KuiE7uf5EpTpCTrNt1EdtzF0naMm0wGYg==,
+ }
cpu: [riscv64]
os: [linux]
'@rollup/rollup-linux-s390x-gnu@4.44.1':
- resolution: {integrity: sha512-Hu6hEdix0oxtUma99jSP7xbvjkUM/ycke/AQQ4EC5g7jNRLLIwjcNwaUy95ZKBJJwg1ZowsclNnjYqzN4zwkAw==}
+ resolution:
+ {
+ integrity: sha512-Hu6hEdix0oxtUma99jSP7xbvjkUM/ycke/AQQ4EC5g7jNRLLIwjcNwaUy95ZKBJJwg1ZowsclNnjYqzN4zwkAw==,
+ }
cpu: [s390x]
os: [linux]
'@rollup/rollup-linux-x64-gnu@4.44.1':
- resolution: {integrity: sha512-EtnsrmZGomz9WxK1bR5079zee3+7a+AdFlghyd6VbAjgRJDbTANJ9dcPIPAi76uG05micpEL+gPGmAKYTschQw==}
+ resolution:
+ {
+ integrity: sha512-EtnsrmZGomz9WxK1bR5079zee3+7a+AdFlghyd6VbAjgRJDbTANJ9dcPIPAi76uG05micpEL+gPGmAKYTschQw==,
+ }
cpu: [x64]
os: [linux]
'@rollup/rollup-linux-x64-musl@4.44.1':
- resolution: {integrity: sha512-iAS4p+J1az6Usn0f8xhgL4PaU878KEtutP4hqw52I4IO6AGoyOkHCxcc4bqufv1tQLdDWFx8lR9YlwxKuv3/3g==}
+ resolution:
+ {
+ integrity: sha512-iAS4p+J1az6Usn0f8xhgL4PaU878KEtutP4hqw52I4IO6AGoyOkHCxcc4bqufv1tQLdDWFx8lR9YlwxKuv3/3g==,
+ }
cpu: [x64]
os: [linux]
'@rollup/rollup-win32-arm64-msvc@4.44.1':
- resolution: {integrity: sha512-NtSJVKcXwcqozOl+FwI41OH3OApDyLk3kqTJgx8+gp6On9ZEt5mYhIsKNPGuaZr3p9T6NWPKGU/03Vw4CNU9qg==}
+ resolution:
+ {
+ integrity: sha512-NtSJVKcXwcqozOl+FwI41OH3OApDyLk3kqTJgx8+gp6On9ZEt5mYhIsKNPGuaZr3p9T6NWPKGU/03Vw4CNU9qg==,
+ }
cpu: [arm64]
os: [win32]
'@rollup/rollup-win32-ia32-msvc@4.44.1':
- resolution: {integrity: sha512-JYA3qvCOLXSsnTR3oiyGws1Dm0YTuxAAeaYGVlGpUsHqloPcFjPg+X0Fj2qODGLNwQOAcCiQmHub/V007kiH5A==}
+ resolution:
+ {
+ integrity: sha512-JYA3qvCOLXSsnTR3oiyGws1Dm0YTuxAAeaYGVlGpUsHqloPcFjPg+X0Fj2qODGLNwQOAcCiQmHub/V007kiH5A==,
+ }
cpu: [ia32]
os: [win32]
'@rollup/rollup-win32-x64-msvc@4.44.1':
- resolution: {integrity: sha512-J8o22LuF0kTe7m+8PvW9wk3/bRq5+mRo5Dqo6+vXb7otCm3TPhYOJqOaQtGU9YMWQSL3krMnoOxMr0+9E6F3Ug==}
+ resolution:
+ {
+ integrity: sha512-J8o22LuF0kTe7m+8PvW9wk3/bRq5+mRo5Dqo6+vXb7otCm3TPhYOJqOaQtGU9YMWQSL3krMnoOxMr0+9E6F3Ug==,
+ }
cpu: [x64]
os: [win32]
'@rtsao/scc@1.1.0':
- resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==}
+ resolution:
+ {
+ integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==,
+ }
'@storybook/global@5.0.0':
- resolution: {integrity: sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ==}
+ resolution:
+ {
+ integrity: sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ==,
+ }
'@swc/core-darwin-arm64@1.7.40':
- resolution: {integrity: sha512-LRRrCiRJLb1kpQtxMNNsr5W82Inr0dy5Imho+4HQzVx/Ismi0qX4hQBgzJAnyOBNLK1+OBVb/912UVhKXppdfQ==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-LRRrCiRJLb1kpQtxMNNsr5W82Inr0dy5Imho+4HQzVx/Ismi0qX4hQBgzJAnyOBNLK1+OBVb/912UVhKXppdfQ==,
+ }
+ engines: { node: '>=10' }
cpu: [arm64]
os: [darwin]
'@swc/core-darwin-x64@1.7.40':
- resolution: {integrity: sha512-Lpl0XK/4fLzS5jsK48opUuGXrqJXwqJckYYPwyGbCfCXm4MsBe+7dX2hq/Kc4YMY25+NeTmzAXhla8TT4WYD/g==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-Lpl0XK/4fLzS5jsK48opUuGXrqJXwqJckYYPwyGbCfCXm4MsBe+7dX2hq/Kc4YMY25+NeTmzAXhla8TT4WYD/g==,
+ }
+ engines: { node: '>=10' }
cpu: [x64]
os: [darwin]
'@swc/core-linux-arm-gnueabihf@1.7.40':
- resolution: {integrity: sha512-4bEvvjptpoc5BRPr/R419h6fXTEuub+frpxxlxBOEKxgXjAF/S3xdxyPijUAakmW/xXBF0u7OC4KYI+38yQp6g==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-4bEvvjptpoc5BRPr/R419h6fXTEuub+frpxxlxBOEKxgXjAF/S3xdxyPijUAakmW/xXBF0u7OC4KYI+38yQp6g==,
+ }
+ engines: { node: '>=10' }
cpu: [arm]
os: [linux]
'@swc/core-linux-arm64-gnu@1.7.40':
- resolution: {integrity: sha512-v2fBlHJ/6Ovz0L2xFAI9TRiKyl9DTdx139PuAHD9gyzp16Utl/W0MPd4t2cYdkI6hPXE9PsJCSzMOrduh+YoDg==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-v2fBlHJ/6Ovz0L2xFAI9TRiKyl9DTdx139PuAHD9gyzp16Utl/W0MPd4t2cYdkI6hPXE9PsJCSzMOrduh+YoDg==,
+ }
+ engines: { node: '>=10' }
cpu: [arm64]
os: [linux]
'@swc/core-linux-arm64-musl@1.7.40':
- resolution: {integrity: sha512-uMkduQuU4LFVkW6txv8AVArT8GjJVJ5IHoWloXaUBMT447iE8NALmpePdZWhMyj6KV7j0y23CM5rzV/I2eNGLg==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-uMkduQuU4LFVkW6txv8AVArT8GjJVJ5IHoWloXaUBMT447iE8NALmpePdZWhMyj6KV7j0y23CM5rzV/I2eNGLg==,
+ }
+ engines: { node: '>=10' }
cpu: [arm64]
os: [linux]
'@swc/core-linux-x64-gnu@1.7.40':
- resolution: {integrity: sha512-4LZdY1MBSnXyTpW5fpBU/+JGAhkuHT+VnFTDNegRboN5nSPh7y0Yvn4LmIioESV+sWzjKkEXujJPGjrp+oSp5w==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-4LZdY1MBSnXyTpW5fpBU/+JGAhkuHT+VnFTDNegRboN5nSPh7y0Yvn4LmIioESV+sWzjKkEXujJPGjrp+oSp5w==,
+ }
+ engines: { node: '>=10' }
cpu: [x64]
os: [linux]
'@swc/core-linux-x64-musl@1.7.40':
- resolution: {integrity: sha512-FPjOwT3SgI6PAwH1O8bhOGBPzuvzOlzKeCtxLaCjruHJu9V8KKBrMTWOZT/FJyYC9mX5Ip1+l9j30UqUZdQxtA==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-FPjOwT3SgI6PAwH1O8bhOGBPzuvzOlzKeCtxLaCjruHJu9V8KKBrMTWOZT/FJyYC9mX5Ip1+l9j30UqUZdQxtA==,
+ }
+ engines: { node: '>=10' }
cpu: [x64]
os: [linux]
'@swc/core-win32-arm64-msvc@1.7.40':
- resolution: {integrity: sha512-//ovXdD9GsTmhPmXJlXnIbRQkeuL6PSrYSr7uCMNcclrUdJG0YkO0GMM2afUKYbdJcunylDDWsSS8PFWn0QxmA==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-//ovXdD9GsTmhPmXJlXnIbRQkeuL6PSrYSr7uCMNcclrUdJG0YkO0GMM2afUKYbdJcunylDDWsSS8PFWn0QxmA==,
+ }
+ engines: { node: '>=10' }
cpu: [arm64]
os: [win32]
'@swc/core-win32-ia32-msvc@1.7.40':
- resolution: {integrity: sha512-iD/1auVhHGlhWAPrWmfRWL3w4AvXIWGVXZiSA109/xnRIPiHKb/HqqTp/qB94E/ZHMPRgLKkLTNwamlkueUs8g==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-iD/1auVhHGlhWAPrWmfRWL3w4AvXIWGVXZiSA109/xnRIPiHKb/HqqTp/qB94E/ZHMPRgLKkLTNwamlkueUs8g==,
+ }
+ engines: { node: '>=10' }
cpu: [ia32]
os: [win32]
'@swc/core-win32-x64-msvc@1.7.40':
- resolution: {integrity: sha512-ZlFAV1WFPhhWQ/8esiygmetkb905XIcMMtHRRG0FBGCllO+HVL5nikUaLDgTClz1onmEY9sMXUFQeoPtvliV+w==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-ZlFAV1WFPhhWQ/8esiygmetkb905XIcMMtHRRG0FBGCllO+HVL5nikUaLDgTClz1onmEY9sMXUFQeoPtvliV+w==,
+ }
+ engines: { node: '>=10' }
cpu: [x64]
os: [win32]
'@swc/core@1.7.40':
- resolution: {integrity: sha512-0HIzM5vigVT5IvNum+pPuST9p8xFhN6mhdIKju7qYYeNuZG78lwms/2d8WgjTJJlzp6JlPguXGrMMNzjQw0qNg==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-0HIzM5vigVT5IvNum+pPuST9p8xFhN6mhdIKju7qYYeNuZG78lwms/2d8WgjTJJlzp6JlPguXGrMMNzjQw0qNg==,
+ }
+ engines: { node: '>=10' }
peerDependencies:
'@swc/helpers': '*'
peerDependenciesMeta:
@@ -859,22 +1295,37 @@ packages:
optional: true
'@swc/counter@0.1.3':
- resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==}
+ resolution:
+ {
+ integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==,
+ }
'@swc/types@0.1.13':
- resolution: {integrity: sha512-JL7eeCk6zWCbiYQg2xQSdLXQJl8Qoc9rXmG2cEKvHe3CKwMHwHGpfOb8frzNLmbycOo6I51qxnLnn9ESf4I20Q==}
+ resolution:
+ {
+ integrity: sha512-JL7eeCk6zWCbiYQg2xQSdLXQJl8Qoc9rXmG2cEKvHe3CKwMHwHGpfOb8frzNLmbycOo6I51qxnLnn9ESf4I20Q==,
+ }
'@testing-library/dom@10.4.0':
- resolution: {integrity: sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==}
- engines: {node: '>=18'}
+ resolution:
+ {
+ integrity: sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==,
+ }
+ engines: { node: '>=18' }
'@testing-library/jest-dom@6.6.3':
- resolution: {integrity: sha512-IteBhl4XqYNkM54f4ejhLRJiZNqcSCoXUOG2CPK7qbD322KjQozM4kHQOfkG2oln9b9HTYqs+Sae8vBATubxxA==}
- engines: {node: '>=14', npm: '>=6', yarn: '>=1'}
+ resolution:
+ {
+ integrity: sha512-IteBhl4XqYNkM54f4ejhLRJiZNqcSCoXUOG2CPK7qbD322KjQozM4kHQOfkG2oln9b9HTYqs+Sae8vBATubxxA==,
+ }
+ engines: { node: '>=14', npm: '>=6', yarn: '>=1' }
'@testing-library/react@16.3.0':
- resolution: {integrity: sha512-kFSyxiEDwv1WLl2fgsq6pPBbw5aWKrsY2/noi1Id0TK0UParSF62oFQFGHXIyaG4pp2tEub/Zlel+fjjZILDsw==}
- engines: {node: '>=18'}
+ resolution:
+ {
+ integrity: sha512-kFSyxiEDwv1WLl2fgsq6pPBbw5aWKrsY2/noi1Id0TK0UParSF62oFQFGHXIyaG4pp2tEub/Zlel+fjjZILDsw==,
+ }
+ engines: { node: '>=18' }
peerDependencies:
'@testing-library/dom': ^10.0.0
'@types/react': ^18.0.0 || ^19.0.0
@@ -888,125 +1339,212 @@ packages:
optional: true
'@testing-library/user-event@14.5.2':
- resolution: {integrity: sha512-YAh82Wh4TIrxYLmfGcixwD18oIjyC1pFQC2Y01F2lzV2HTMiYrI0nze0FD0ocB//CKS/7jIUgae+adPqxK5yCQ==}
- engines: {node: '>=12', npm: '>=6'}
+ resolution:
+ {
+ integrity: sha512-YAh82Wh4TIrxYLmfGcixwD18oIjyC1pFQC2Y01F2lzV2HTMiYrI0nze0FD0ocB//CKS/7jIUgae+adPqxK5yCQ==,
+ }
+ engines: { node: '>=12', npm: '>=6' }
peerDependencies:
'@testing-library/dom': '>=7.21.4'
'@testing-library/user-event@14.6.1':
- resolution: {integrity: sha512-vq7fv0rnt+QTXgPxr5Hjc210p6YKq2kmdziLgnsZGgLJ9e6VAShx1pACLuRjd/AS/sr7phAR58OIIpf0LlmQNw==}
- engines: {node: '>=12', npm: '>=6'}
+ resolution:
+ {
+ integrity: sha512-vq7fv0rnt+QTXgPxr5Hjc210p6YKq2kmdziLgnsZGgLJ9e6VAShx1pACLuRjd/AS/sr7phAR58OIIpf0LlmQNw==,
+ }
+ engines: { node: '>=12', npm: '>=6' }
peerDependencies:
'@testing-library/dom': '>=7.21.4'
'@types/aria-query@5.0.4':
- resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==}
+ resolution:
+ {
+ integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==,
+ }
'@types/chai@5.2.2':
- resolution: {integrity: sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==}
+ resolution:
+ {
+ integrity: sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==,
+ }
'@types/cookie@0.6.0':
- resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==}
+ resolution:
+ {
+ integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==,
+ }
'@types/deep-eql@4.0.2':
- resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==}
+ resolution:
+ {
+ integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==,
+ }
'@types/eslint@8.56.12':
- resolution: {integrity: sha512-03ruubjWyOHlmljCVoxSuNDdmfZDzsrrz0P2LeJsOXr+ZwFQ+0yQIwNCwt/GYhV7Z31fgtXJTAEs+FYlEL851g==}
+ resolution:
+ {
+ integrity: sha512-03ruubjWyOHlmljCVoxSuNDdmfZDzsrrz0P2LeJsOXr+ZwFQ+0yQIwNCwt/GYhV7Z31fgtXJTAEs+FYlEL851g==,
+ }
'@types/estree@1.0.6':
- resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==}
+ resolution:
+ {
+ integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==,
+ }
'@types/estree@1.0.8':
- resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
+ resolution:
+ {
+ integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==,
+ }
'@types/json-schema@7.0.15':
- resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
+ resolution:
+ {
+ integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==,
+ }
'@types/json5@0.0.29':
- resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
+ resolution:
+ {
+ integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==,
+ }
'@types/node@22.18.8':
- resolution: {integrity: sha512-pAZSHMiagDR7cARo/cch1f3rXy0AEXwsVsVH09FcyeJVAzCnGgmYis7P3JidtTUjyadhTeSo8TgRPswstghDaw==}
+ resolution:
+ {
+ integrity: sha512-pAZSHMiagDR7cARo/cch1f3rXy0AEXwsVsVH09FcyeJVAzCnGgmYis7P3JidtTUjyadhTeSo8TgRPswstghDaw==,
+ }
'@types/parse-json@4.0.2':
- resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==}
+ resolution:
+ {
+ integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==,
+ }
'@types/prop-types@15.7.15':
- resolution: {integrity: sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==}
+ resolution:
+ {
+ integrity: sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==,
+ }
'@types/react-dom@19.1.6':
- resolution: {integrity: sha512-4hOiT/dwO8Ko0gV1m/TJZYk3y0KBnY9vzDh7W+DH17b2HFSOGgdj33dhihPeuy3l0q23+4e+hoXHV6hCC4dCXw==}
+ resolution:
+ {
+ integrity: sha512-4hOiT/dwO8Ko0gV1m/TJZYk3y0KBnY9vzDh7W+DH17b2HFSOGgdj33dhihPeuy3l0q23+4e+hoXHV6hCC4dCXw==,
+ }
peerDependencies:
'@types/react': ^19.0.0
'@types/react-transition-group@4.4.12':
- resolution: {integrity: sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w==}
+ resolution:
+ {
+ integrity: sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w==,
+ }
peerDependencies:
'@types/react': '*'
'@types/react@19.1.8':
- resolution: {integrity: sha512-AwAfQ2Wa5bCx9WP8nZL2uMZWod7J7/JSplxbTmBQ5ms6QpqNYm672H0Vu9ZVKVngQ+ii4R/byguVEUZQyeg44g==}
+ resolution:
+ {
+ integrity: sha512-AwAfQ2Wa5bCx9WP8nZL2uMZWod7J7/JSplxbTmBQ5ms6QpqNYm672H0Vu9ZVKVngQ+ii4R/byguVEUZQyeg44g==,
+ }
'@types/statuses@2.0.5':
- resolution: {integrity: sha512-jmIUGWrAiwu3dZpxntxieC+1n/5c3mjrImkmOSQ2NC5uP6cYO4aAZDdSmRcI5C1oiTmqlZGHC+/NmJrKogbP5A==}
+ resolution:
+ {
+ integrity: sha512-jmIUGWrAiwu3dZpxntxieC+1n/5c3mjrImkmOSQ2NC5uP6cYO4aAZDdSmRcI5C1oiTmqlZGHC+/NmJrKogbP5A==,
+ }
'@types/tough-cookie@4.0.5':
- resolution: {integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==}
+ resolution:
+ {
+ integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==,
+ }
'@typescript-eslint/eslint-plugin@8.35.0':
- resolution: {integrity: sha512-ijItUYaiWuce0N1SoSMrEd0b6b6lYkYt99pqCPfybd+HKVXtEvYhICfLdwp42MhiI5mp0oq7PKEL+g1cNiz/Eg==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ resolution:
+ {
+ integrity: sha512-ijItUYaiWuce0N1SoSMrEd0b6b6lYkYt99pqCPfybd+HKVXtEvYhICfLdwp42MhiI5mp0oq7PKEL+g1cNiz/Eg==,
+ }
+ engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
peerDependencies:
'@typescript-eslint/parser': ^8.35.0
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <5.9.0'
'@typescript-eslint/parser@8.35.0':
- resolution: {integrity: sha512-6sMvZePQrnZH2/cJkwRpkT7DxoAWh+g6+GFRK6bV3YQo7ogi3SX5rgF6099r5Q53Ma5qeT7LGmOmuIutF4t3lA==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ resolution:
+ {
+ integrity: sha512-6sMvZePQrnZH2/cJkwRpkT7DxoAWh+g6+GFRK6bV3YQo7ogi3SX5rgF6099r5Q53Ma5qeT7LGmOmuIutF4t3lA==,
+ }
+ engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <5.9.0'
'@typescript-eslint/project-service@8.35.0':
- resolution: {integrity: sha512-41xatqRwWZuhUMF/aZm2fcUsOFKNcG28xqRSS6ZVr9BVJtGExosLAm5A1OxTjRMagx8nJqva+P5zNIGt8RIgbQ==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ resolution:
+ {
+ integrity: sha512-41xatqRwWZuhUMF/aZm2fcUsOFKNcG28xqRSS6ZVr9BVJtGExosLAm5A1OxTjRMagx8nJqva+P5zNIGt8RIgbQ==,
+ }
+ engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
peerDependencies:
typescript: '>=4.8.4 <5.9.0'
'@typescript-eslint/scope-manager@7.18.0':
- resolution: {integrity: sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==}
- engines: {node: ^18.18.0 || >=20.0.0}
+ resolution:
+ {
+ integrity: sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==,
+ }
+ engines: { node: ^18.18.0 || >=20.0.0 }
'@typescript-eslint/scope-manager@8.35.0':
- resolution: {integrity: sha512-+AgL5+mcoLxl1vGjwNfiWq5fLDZM1TmTPYs2UkyHfFhgERxBbqHlNjRzhThJqz+ktBqTChRYY6zwbMwy0591AA==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ resolution:
+ {
+ integrity: sha512-+AgL5+mcoLxl1vGjwNfiWq5fLDZM1TmTPYs2UkyHfFhgERxBbqHlNjRzhThJqz+ktBqTChRYY6zwbMwy0591AA==,
+ }
+ engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
'@typescript-eslint/tsconfig-utils@8.35.0':
- resolution: {integrity: sha512-04k/7247kZzFraweuEirmvUj+W3bJLI9fX6fbo1Qm2YykuBvEhRTPl8tcxlYO8kZZW+HIXfkZNoasVb8EV4jpA==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ resolution:
+ {
+ integrity: sha512-04k/7247kZzFraweuEirmvUj+W3bJLI9fX6fbo1Qm2YykuBvEhRTPl8tcxlYO8kZZW+HIXfkZNoasVb8EV4jpA==,
+ }
+ engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
peerDependencies:
typescript: '>=4.8.4 <5.9.0'
'@typescript-eslint/type-utils@8.35.0':
- resolution: {integrity: sha512-ceNNttjfmSEoM9PW87bWLDEIaLAyR+E6BoYJQ5PfaDau37UGca9Nyq3lBk8Bw2ad0AKvYabz6wxc7DMTO2jnNA==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ resolution:
+ {
+ integrity: sha512-ceNNttjfmSEoM9PW87bWLDEIaLAyR+E6BoYJQ5PfaDau37UGca9Nyq3lBk8Bw2ad0AKvYabz6wxc7DMTO2jnNA==,
+ }
+ engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <5.9.0'
'@typescript-eslint/types@7.18.0':
- resolution: {integrity: sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==}
- engines: {node: ^18.18.0 || >=20.0.0}
+ resolution:
+ {
+ integrity: sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==,
+ }
+ engines: { node: ^18.18.0 || >=20.0.0 }
'@typescript-eslint/types@8.35.0':
- resolution: {integrity: sha512-0mYH3emanku0vHw2aRLNGqe7EXh9WHEhi7kZzscrMDf6IIRUQ5Jk4wp1QrledE/36KtdZrVfKnE32eZCf/vaVQ==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ resolution:
+ {
+ integrity: sha512-0mYH3emanku0vHw2aRLNGqe7EXh9WHEhi7kZzscrMDf6IIRUQ5Jk4wp1QrledE/36KtdZrVfKnE32eZCf/vaVQ==,
+ }
+ engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
'@typescript-eslint/typescript-estree@7.18.0':
- resolution: {integrity: sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==}
- engines: {node: ^18.18.0 || >=20.0.0}
+ resolution:
+ {
+ integrity: sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==,
+ }
+ engines: { node: ^18.18.0 || >=20.0.0 }
peerDependencies:
typescript: '*'
peerDependenciesMeta:
@@ -1014,39 +1552,60 @@ packages:
optional: true
'@typescript-eslint/typescript-estree@8.35.0':
- resolution: {integrity: sha512-F+BhnaBemgu1Qf8oHrxyw14wq6vbL8xwWKKMwTMwYIRmFFY/1n/9T/jpbobZL8vp7QyEUcC6xGrnAO4ua8Kp7w==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ resolution:
+ {
+ integrity: sha512-F+BhnaBemgu1Qf8oHrxyw14wq6vbL8xwWKKMwTMwYIRmFFY/1n/9T/jpbobZL8vp7QyEUcC6xGrnAO4ua8Kp7w==,
+ }
+ engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
peerDependencies:
typescript: '>=4.8.4 <5.9.0'
'@typescript-eslint/utils@7.18.0':
- resolution: {integrity: sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==}
- engines: {node: ^18.18.0 || >=20.0.0}
+ resolution:
+ {
+ integrity: sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==,
+ }
+ engines: { node: ^18.18.0 || >=20.0.0 }
peerDependencies:
eslint: ^8.56.0
'@typescript-eslint/utils@8.35.0':
- resolution: {integrity: sha512-nqoMu7WWM7ki5tPgLVsmPM8CkqtoPUG6xXGeefM5t4x3XumOEKMoUZPdi+7F+/EotukN4R9OWdmDxN80fqoZeg==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ resolution:
+ {
+ integrity: sha512-nqoMu7WWM7ki5tPgLVsmPM8CkqtoPUG6xXGeefM5t4x3XumOEKMoUZPdi+7F+/EotukN4R9OWdmDxN80fqoZeg==,
+ }
+ engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <5.9.0'
'@typescript-eslint/visitor-keys@7.18.0':
- resolution: {integrity: sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==}
- engines: {node: ^18.18.0 || >=20.0.0}
+ resolution:
+ {
+ integrity: sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==,
+ }
+ engines: { node: ^18.18.0 || >=20.0.0 }
'@typescript-eslint/visitor-keys@8.35.0':
- resolution: {integrity: sha512-zTh2+1Y8ZpmeQaQVIc/ZZxsx8UzgKJyNg1PTvjzC7WMhPSVS8bfDX34k1SrwOf016qd5RU3az2UxUNue3IfQ5g==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ resolution:
+ {
+ integrity: sha512-zTh2+1Y8ZpmeQaQVIc/ZZxsx8UzgKJyNg1PTvjzC7WMhPSVS8bfDX34k1SrwOf016qd5RU3az2UxUNue3IfQ5g==,
+ }
+ engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
'@vitejs/plugin-react-swc@3.7.1':
- resolution: {integrity: sha512-vgWOY0i1EROUK0Ctg1hwhtC3SdcDjZcdit4Ups4aPkDcB1jYhmo+RMYWY87cmXMhvtD5uf8lV89j2w16vkdSVg==}
+ resolution:
+ {
+ integrity: sha512-vgWOY0i1EROUK0Ctg1hwhtC3SdcDjZcdit4Ups4aPkDcB1jYhmo+RMYWY87cmXMhvtD5uf8lV89j2w16vkdSVg==,
+ }
peerDependencies:
vite: ^4 || ^5
'@vitest/coverage-v8@2.1.3':
- resolution: {integrity: sha512-2OJ3c7UPoFSmBZwqD2VEkUw6A/tzPF0LmW0ZZhhB8PFxuc+9IBG/FaSM+RLEenc7ljzFvGN+G0nGQoZnh7sy2A==}
+ resolution:
+ {
+ integrity: sha512-2OJ3c7UPoFSmBZwqD2VEkUw6A/tzPF0LmW0ZZhhB8PFxuc+9IBG/FaSM+RLEenc7ljzFvGN+G0nGQoZnh7sy2A==,
+ }
peerDependencies:
'@vitest/browser': 2.1.3
vitest: 2.1.3
@@ -1055,10 +1614,16 @@ packages:
optional: true
'@vitest/expect@3.2.4':
- resolution: {integrity: sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==}
+ resolution:
+ {
+ integrity: sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==,
+ }
'@vitest/mocker@3.2.4':
- resolution: {integrity: sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==}
+ resolution:
+ {
+ integrity: sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==,
+ }
peerDependencies:
msw: ^2.4.9
vite: ^5.0.0 || ^6.0.0 || ^7.0.0-0
@@ -1069,321 +1634,570 @@ packages:
optional: true
'@vitest/pretty-format@3.2.4':
- resolution: {integrity: sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==}
+ resolution:
+ {
+ integrity: sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==,
+ }
'@vitest/runner@3.2.4':
- resolution: {integrity: sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==}
+ resolution:
+ {
+ integrity: sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==,
+ }
'@vitest/snapshot@3.2.4':
- resolution: {integrity: sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==}
+ resolution:
+ {
+ integrity: sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==,
+ }
'@vitest/spy@3.2.4':
- resolution: {integrity: sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==}
+ resolution:
+ {
+ integrity: sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==,
+ }
'@vitest/ui@3.2.4':
- resolution: {integrity: sha512-hGISOaP18plkzbWEcP/QvtRW1xDXF2+96HbEX6byqQhAUbiS5oH6/9JwW+QsQCIYON2bI6QZBF+2PvOmrRZ9wA==}
+ resolution:
+ {
+ integrity: sha512-hGISOaP18plkzbWEcP/QvtRW1xDXF2+96HbEX6byqQhAUbiS5oH6/9JwW+QsQCIYON2bI6QZBF+2PvOmrRZ9wA==,
+ }
peerDependencies:
vitest: 3.2.4
'@vitest/utils@3.2.4':
- resolution: {integrity: sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==}
+ resolution:
+ {
+ integrity: sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==,
+ }
accepts@1.3.8:
- resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==}
- engines: {node: '>= 0.6'}
+ resolution:
+ {
+ integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==,
+ }
+ engines: { node: '>= 0.6' }
acorn-jsx@5.3.2:
- resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
+ resolution:
+ {
+ integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==,
+ }
peerDependencies:
acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
acorn@8.15.0:
- resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==}
- engines: {node: '>=0.4.0'}
+ resolution:
+ {
+ integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==,
+ }
+ engines: { node: '>=0.4.0' }
hasBin: true
agent-base@7.1.1:
- resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==}
- engines: {node: '>= 14'}
+ resolution:
+ {
+ integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==,
+ }
+ engines: { node: '>= 14' }
agent-base@7.1.3:
- resolution: {integrity: sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==}
- engines: {node: '>= 14'}
+ resolution:
+ {
+ integrity: sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==,
+ }
+ engines: { node: '>= 14' }
ajv@6.12.6:
- resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
+ resolution:
+ {
+ integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==,
+ }
ansi-escapes@4.3.2:
- resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==,
+ }
+ engines: { node: '>=8' }
ansi-regex@5.0.1:
- resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==,
+ }
+ engines: { node: '>=8' }
ansi-regex@6.1.0:
- resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==}
- engines: {node: '>=12'}
+ resolution:
+ {
+ integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==,
+ }
+ engines: { node: '>=12' }
ansi-styles@4.3.0:
- resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==,
+ }
+ engines: { node: '>=8' }
ansi-styles@5.2.0:
- resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==,
+ }
+ engines: { node: '>=10' }
ansi-styles@6.2.1:
- resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
- engines: {node: '>=12'}
+ resolution:
+ {
+ integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==,
+ }
+ engines: { node: '>=12' }
argparse@2.0.1:
- resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
+ resolution:
+ {
+ integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==,
+ }
aria-query@5.3.0:
- resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==}
+ resolution:
+ {
+ integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==,
+ }
aria-query@5.3.2:
- resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==,
+ }
+ engines: { node: '>= 0.4' }
array-buffer-byte-length@1.0.1:
- resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==,
+ }
+ engines: { node: '>= 0.4' }
array-buffer-byte-length@1.0.2:
- resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==,
+ }
+ engines: { node: '>= 0.4' }
array-flatten@1.1.1:
- resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==}
+ resolution:
+ {
+ integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==,
+ }
array-includes@3.1.9:
- resolution: {integrity: sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==,
+ }
+ engines: { node: '>= 0.4' }
array-union@2.1.0:
- resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==,
+ }
+ engines: { node: '>=8' }
array.prototype.findlast@1.2.5:
- resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==,
+ }
+ engines: { node: '>= 0.4' }
array.prototype.findlastindex@1.2.6:
- resolution: {integrity: sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==,
+ }
+ engines: { node: '>= 0.4' }
array.prototype.flat@1.3.3:
- resolution: {integrity: sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==,
+ }
+ engines: { node: '>= 0.4' }
array.prototype.flatmap@1.3.3:
- resolution: {integrity: sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==,
+ }
+ engines: { node: '>= 0.4' }
array.prototype.tosorted@1.1.4:
- resolution: {integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==,
+ }
+ engines: { node: '>= 0.4' }
arraybuffer.prototype.slice@1.0.3:
- resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==,
+ }
+ engines: { node: '>= 0.4' }
arraybuffer.prototype.slice@1.0.4:
- resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==,
+ }
+ engines: { node: '>= 0.4' }
assertion-error@2.0.1:
- resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==}
- engines: {node: '>=12'}
+ resolution:
+ {
+ integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==,
+ }
+ engines: { node: '>=12' }
ast-types@0.16.1:
- resolution: {integrity: sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==}
- engines: {node: '>=4'}
+ resolution:
+ {
+ integrity: sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==,
+ }
+ engines: { node: '>=4' }
available-typed-arrays@1.0.7:
- resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==,
+ }
+ engines: { node: '>= 0.4' }
babel-plugin-macros@3.1.0:
- resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==}
- engines: {node: '>=10', npm: '>=6'}
+ resolution:
+ {
+ integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==,
+ }
+ engines: { node: '>=10', npm: '>=6' }
balanced-match@1.0.2:
- resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
+ resolution:
+ {
+ integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==,
+ }
better-opn@3.0.2:
- resolution: {integrity: sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ==}
- engines: {node: '>=12.0.0'}
+ resolution:
+ {
+ integrity: sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ==,
+ }
+ engines: { node: '>=12.0.0' }
body-parser@1.20.3:
- resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==}
- engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
+ resolution:
+ {
+ integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==,
+ }
+ engines: { node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16 }
brace-expansion@1.1.11:
- resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
+ resolution:
+ {
+ integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==,
+ }
brace-expansion@2.0.1:
- resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
+ resolution:
+ {
+ integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==,
+ }
braces@3.0.3:
- resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==,
+ }
+ engines: { node: '>=8' }
bytes@3.1.2:
- resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}
- engines: {node: '>= 0.8'}
+ resolution:
+ {
+ integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==,
+ }
+ engines: { node: '>= 0.8' }
cac@6.7.14:
- resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==,
+ }
+ engines: { node: '>=8' }
call-bind-apply-helpers@1.0.2:
- resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==,
+ }
+ engines: { node: '>= 0.4' }
call-bind@1.0.7:
- resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==,
+ }
+ engines: { node: '>= 0.4' }
call-bind@1.0.8:
- resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==,
+ }
+ engines: { node: '>= 0.4' }
call-bound@1.0.4:
- resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==,
+ }
+ engines: { node: '>= 0.4' }
callsites@3.1.0:
- resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
- engines: {node: '>=6'}
+ resolution:
+ {
+ integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==,
+ }
+ engines: { node: '>=6' }
chai@5.2.0:
- resolution: {integrity: sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw==}
- engines: {node: '>=12'}
+ resolution:
+ {
+ integrity: sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw==,
+ }
+ engines: { node: '>=12' }
chalk@3.0.0:
- resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==,
+ }
+ engines: { node: '>=8' }
chalk@4.1.2:
- resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==,
+ }
+ engines: { node: '>=10' }
check-error@2.1.1:
- resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==}
- engines: {node: '>= 16'}
+ resolution:
+ {
+ integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==,
+ }
+ engines: { node: '>= 16' }
cli-width@4.1.0:
- resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==}
- engines: {node: '>= 12'}
+ resolution:
+ {
+ integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==,
+ }
+ engines: { node: '>= 12' }
cliui@8.0.1:
- resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
- engines: {node: '>=12'}
+ resolution:
+ {
+ integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==,
+ }
+ engines: { node: '>=12' }
clsx@1.2.1:
- resolution: {integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==}
- engines: {node: '>=6'}
+ resolution:
+ {
+ integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==,
+ }
+ engines: { node: '>=6' }
clsx@2.1.1:
- resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==}
- engines: {node: '>=6'}
+ resolution:
+ {
+ integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==,
+ }
+ engines: { node: '>=6' }
color-convert@2.0.1:
- resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
- engines: {node: '>=7.0.0'}
+ resolution:
+ {
+ integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==,
+ }
+ engines: { node: '>=7.0.0' }
color-name@1.1.4:
- resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
+ resolution:
+ {
+ integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==,
+ }
concat-map@0.0.1:
- resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
+ resolution:
+ {
+ integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==,
+ }
concurrently@8.2.2:
- resolution: {integrity: sha512-1dP4gpXFhei8IOtlXRE/T/4H88ElHgTiUzh71YUmtjTEHMSRS2Z/fgOxHSxxusGHogsRfxNq1vyAwxSC+EVyDg==}
- engines: {node: ^14.13.0 || >=16.0.0}
+ resolution:
+ {
+ integrity: sha512-1dP4gpXFhei8IOtlXRE/T/4H88ElHgTiUzh71YUmtjTEHMSRS2Z/fgOxHSxxusGHogsRfxNq1vyAwxSC+EVyDg==,
+ }
+ engines: { node: ^14.13.0 || >=16.0.0 }
hasBin: true
content-disposition@0.5.4:
- resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==}
- engines: {node: '>= 0.6'}
+ resolution:
+ {
+ integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==,
+ }
+ engines: { node: '>= 0.6' }
content-type@1.0.5:
- resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==}
- engines: {node: '>= 0.6'}
+ resolution:
+ {
+ integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==,
+ }
+ engines: { node: '>= 0.6' }
convert-source-map@1.9.0:
- resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==}
+ resolution:
+ {
+ integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==,
+ }
cookie-signature@1.0.6:
- resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==}
+ resolution:
+ {
+ integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==,
+ }
cookie@0.7.1:
- resolution: {integrity: sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==}
- engines: {node: '>= 0.6'}
+ resolution:
+ {
+ integrity: sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==,
+ }
+ engines: { node: '>= 0.6' }
cookie@0.7.2:
- resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==}
- engines: {node: '>= 0.6'}
+ resolution:
+ {
+ integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==,
+ }
+ engines: { node: '>= 0.6' }
cosmiconfig@7.1.0:
- resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==,
+ }
+ engines: { node: '>=10' }
cross-spawn@7.0.3:
- resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
- engines: {node: '>= 8'}
+ resolution:
+ {
+ integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==,
+ }
+ engines: { node: '>= 8' }
cross-spawn@7.0.6:
- resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
- engines: {node: '>= 8'}
+ resolution:
+ {
+ integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==,
+ }
+ engines: { node: '>= 8' }
css.escape@1.5.1:
- resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==}
+ resolution:
+ {
+ integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==,
+ }
cssstyle@4.6.0:
- resolution: {integrity: sha512-2z+rWdzbbSZv6/rhtvzvqeZQHrBaqgogqt85sqFNbabZOuFbCVFb8kPeEtZjiKkbrm395irpNKiYeFeLiQnFPg==}
- engines: {node: '>=18'}
+ resolution:
+ {
+ integrity: sha512-2z+rWdzbbSZv6/rhtvzvqeZQHrBaqgogqt85sqFNbabZOuFbCVFb8kPeEtZjiKkbrm395irpNKiYeFeLiQnFPg==,
+ }
+ engines: { node: '>=18' }
csstype@3.1.3:
- resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
+ resolution:
+ {
+ integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==,
+ }
data-urls@5.0.0:
- resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==}
- engines: {node: '>=18'}
+ resolution:
+ {
+ integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==,
+ }
+ engines: { node: '>=18' }
data-view-buffer@1.0.1:
- resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==,
+ }
+ engines: { node: '>= 0.4' }
data-view-buffer@1.0.2:
- resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==,
+ }
+ engines: { node: '>= 0.4' }
data-view-byte-length@1.0.1:
- resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==,
+ }
+ engines: { node: '>= 0.4' }
data-view-byte-length@1.0.2:
- resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==,
+ }
+ engines: { node: '>= 0.4' }
data-view-byte-offset@1.0.0:
- resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==,
+ }
+ engines: { node: '>= 0.4' }
data-view-byte-offset@1.0.1:
- resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==,
+ }
+ engines: { node: '>= 0.4' }
date-fns@2.30.0:
- resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==}
- engines: {node: '>=0.11'}
+ resolution:
+ {
+ integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==,
+ }
+ engines: { node: '>=0.11' }
debug@2.6.9:
- resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
+ resolution:
+ {
+ integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==,
+ }
peerDependencies:
supports-color: '*'
peerDependenciesMeta:
@@ -1391,7 +2205,10 @@ packages:
optional: true
debug@3.2.7:
- resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
+ resolution:
+ {
+ integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==,
+ }
peerDependencies:
supports-color: '*'
peerDependenciesMeta:
@@ -1399,8 +2216,11 @@ packages:
optional: true
debug@4.3.7:
- resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==}
- engines: {node: '>=6.0'}
+ resolution:
+ {
+ integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==,
+ }
+ engines: { node: '>=6.0' }
peerDependencies:
supports-color: '*'
peerDependenciesMeta:
@@ -1408,8 +2228,11 @@ packages:
optional: true
debug@4.4.1:
- resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==}
- engines: {node: '>=6.0'}
+ resolution:
+ {
+ integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==,
+ }
+ engines: { node: '>=6.0' }
peerDependencies:
supports-color: '*'
peerDependenciesMeta:
@@ -1417,178 +2240,316 @@ packages:
optional: true
decimal.js@10.5.0:
- resolution: {integrity: sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==}
+ resolution:
+ {
+ integrity: sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==,
+ }
deep-eql@5.0.2:
- resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==}
- engines: {node: '>=6'}
+ resolution:
+ {
+ integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==,
+ }
+ engines: { node: '>=6' }
deep-is@0.1.4:
- resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
+ resolution:
+ {
+ integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==,
+ }
define-data-property@1.1.4:
- resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==,
+ }
+ engines: { node: '>= 0.4' }
define-lazy-prop@2.0.0:
- resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==,
+ }
+ engines: { node: '>=8' }
define-properties@1.2.1:
- resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==,
+ }
+ engines: { node: '>= 0.4' }
depd@2.0.0:
- resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==}
- engines: {node: '>= 0.8'}
+ resolution:
+ {
+ integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==,
+ }
+ engines: { node: '>= 0.8' }
dequal@2.0.3:
- resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
- engines: {node: '>=6'}
+ resolution:
+ {
+ integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==,
+ }
+ engines: { node: '>=6' }
destroy@1.2.0:
- resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==}
- engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
+ resolution:
+ {
+ integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==,
+ }
+ engines: { node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16 }
dir-glob@3.0.1:
- resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==,
+ }
+ engines: { node: '>=8' }
doctrine@2.1.0:
- resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==}
- engines: {node: '>=0.10.0'}
+ resolution:
+ {
+ integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==,
+ }
+ engines: { node: '>=0.10.0' }
dom-accessibility-api@0.5.16:
- resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==}
+ resolution:
+ {
+ integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==,
+ }
dom-accessibility-api@0.6.3:
- resolution: {integrity: sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==}
+ resolution:
+ {
+ integrity: sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==,
+ }
dom-helpers@5.2.1:
- resolution: {integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==}
+ resolution:
+ {
+ integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==,
+ }
dunder-proto@1.0.1:
- resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==,
+ }
+ engines: { node: '>= 0.4' }
eastasianwidth@0.2.0:
- resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
+ resolution:
+ {
+ integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==,
+ }
ee-first@1.1.1:
- resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
+ resolution:
+ {
+ integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==,
+ }
emoji-regex@8.0.0:
- resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
+ resolution:
+ {
+ integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==,
+ }
emoji-regex@9.2.2:
- resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
+ resolution:
+ {
+ integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==,
+ }
encodeurl@1.0.2:
- resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==}
- engines: {node: '>= 0.8'}
+ resolution:
+ {
+ integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==,
+ }
+ engines: { node: '>= 0.8' }
encodeurl@2.0.0:
- resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==}
- engines: {node: '>= 0.8'}
+ resolution:
+ {
+ integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==,
+ }
+ engines: { node: '>= 0.8' }
entities@6.0.1:
- resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==}
- engines: {node: '>=0.12'}
+ resolution:
+ {
+ integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==,
+ }
+ engines: { node: '>=0.12' }
error-ex@1.3.2:
- resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
+ resolution:
+ {
+ integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==,
+ }
es-abstract@1.23.3:
- resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==,
+ }
+ engines: { node: '>= 0.4' }
es-abstract@1.24.0:
- resolution: {integrity: sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==,
+ }
+ engines: { node: '>= 0.4' }
es-define-property@1.0.0:
- resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==,
+ }
+ engines: { node: '>= 0.4' }
es-define-property@1.0.1:
- resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==,
+ }
+ engines: { node: '>= 0.4' }
es-errors@1.3.0:
- resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==,
+ }
+ engines: { node: '>= 0.4' }
es-iterator-helpers@1.1.0:
- resolution: {integrity: sha512-/SurEfycdyssORP/E+bj4sEu1CWw4EmLDsHynHwSXQ7utgbrMRWW195pTrCjFgFCddf/UkYm3oqKPRq5i8bJbw==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-/SurEfycdyssORP/E+bj4sEu1CWw4EmLDsHynHwSXQ7utgbrMRWW195pTrCjFgFCddf/UkYm3oqKPRq5i8bJbw==,
+ }
+ engines: { node: '>= 0.4' }
es-module-lexer@1.7.0:
- resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==}
+ resolution:
+ {
+ integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==,
+ }
es-object-atoms@1.0.0:
- resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==,
+ }
+ engines: { node: '>= 0.4' }
es-object-atoms@1.1.1:
- resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==,
+ }
+ engines: { node: '>= 0.4' }
es-set-tostringtag@2.0.3:
- resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==,
+ }
+ engines: { node: '>= 0.4' }
es-set-tostringtag@2.1.0:
- resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==,
+ }
+ engines: { node: '>= 0.4' }
es-shim-unscopables@1.0.2:
- resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==}
+ resolution:
+ {
+ integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==,
+ }
es-shim-unscopables@1.1.0:
- resolution: {integrity: sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==,
+ }
+ engines: { node: '>= 0.4' }
es-to-primitive@1.2.1:
- resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==,
+ }
+ engines: { node: '>= 0.4' }
es-to-primitive@1.3.0:
- resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==,
+ }
+ engines: { node: '>= 0.4' }
esbuild-register@3.6.0:
- resolution: {integrity: sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg==}
+ resolution:
+ {
+ integrity: sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg==,
+ }
peerDependencies:
esbuild: '>=0.12 <1'
esbuild@0.25.5:
- resolution: {integrity: sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ==}
- engines: {node: '>=18'}
+ resolution:
+ {
+ integrity: sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ==,
+ }
+ engines: { node: '>=18' }
hasBin: true
escalade@3.2.0:
- resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
- engines: {node: '>=6'}
+ resolution:
+ {
+ integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==,
+ }
+ engines: { node: '>=6' }
escape-html@1.0.3:
- resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
+ resolution:
+ {
+ integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==,
+ }
escape-string-regexp@4.0.0:
- resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==,
+ }
+ engines: { node: '>=10' }
eslint-config-prettier@10.1.5:
- resolution: {integrity: sha512-zc1UmCpNltmVY34vuLRV61r1K27sWuX39E+uyUnY8xS2Bex88VV9cugG+UZbRSRGtGyFboj+D8JODyme1plMpw==}
+ resolution:
+ {
+ integrity: sha512-zc1UmCpNltmVY34vuLRV61r1K27sWuX39E+uyUnY8xS2Bex88VV9cugG+UZbRSRGtGyFboj+D8JODyme1plMpw==,
+ }
hasBin: true
peerDependencies:
eslint: '>=7.0.0'
eslint-import-resolver-node@0.3.9:
- resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==}
+ resolution:
+ {
+ integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==,
+ }
eslint-module-utils@2.12.1:
- resolution: {integrity: sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==}
- engines: {node: '>=4'}
+ resolution:
+ {
+ integrity: sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==,
+ }
+ engines: { node: '>=4' }
peerDependencies:
'@typescript-eslint/parser': '*'
eslint: '*'
@@ -1608,8 +2569,11 @@ packages:
optional: true
eslint-plugin-import@2.32.0:
- resolution: {integrity: sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==}
- engines: {node: '>=4'}
+ resolution:
+ {
+ integrity: sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==,
+ }
+ engines: { node: '>=4' }
peerDependencies:
'@typescript-eslint/parser': '*'
eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9
@@ -1618,8 +2582,11 @@ packages:
optional: true
eslint-plugin-prettier@5.5.1:
- resolution: {integrity: sha512-dobTkHT6XaEVOo8IO90Q4DOSxnm3Y151QxPJlM/vKC0bVy+d6cVWQZLlFiuZPP0wS6vZwSKeJgKkcS+KfMBlRw==}
- engines: {node: ^14.18.0 || >=16.0.0}
+ resolution:
+ {
+ integrity: sha512-dobTkHT6XaEVOo8IO90Q4DOSxnm3Y151QxPJlM/vKC0bVy+d6cVWQZLlFiuZPP0wS6vZwSKeJgKkcS+KfMBlRw==,
+ }
+ engines: { node: ^14.18.0 || >=16.0.0 }
peerDependencies:
'@types/eslint': '>=8.0.0'
eslint: '>=8.0.0'
@@ -1632,27 +2599,39 @@ packages:
optional: true
eslint-plugin-react-hooks@5.2.0:
- resolution: {integrity: sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==,
+ }
+ engines: { node: '>=10' }
peerDependencies:
eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0
eslint-plugin-react@7.37.2:
- resolution: {integrity: sha512-EsTAnj9fLVr/GZleBLFbj/sSuXeWmp1eXIN60ceYnZveqEaUCyW4X+Vh4WTdUhCkW4xutXYqTXCUSyqD4rB75w==}
- engines: {node: '>=4'}
+ resolution:
+ {
+ integrity: sha512-EsTAnj9fLVr/GZleBLFbj/sSuXeWmp1eXIN60ceYnZveqEaUCyW4X+Vh4WTdUhCkW4xutXYqTXCUSyqD4rB75w==,
+ }
+ engines: { node: '>=4' }
peerDependencies:
eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7
eslint-plugin-storybook@9.0.14:
- resolution: {integrity: sha512-YZsDhyFgVfeFPdvd7Xcl9ZusY7Jniq7AOAWN/cdg0a2Y+ywKKNYrQ+EfyuhXsiMjh58plYKMpJYxKVxeUwW9jw==}
- engines: {node: '>=20.0.0'}
+ resolution:
+ {
+ integrity: sha512-YZsDhyFgVfeFPdvd7Xcl9ZusY7Jniq7AOAWN/cdg0a2Y+ywKKNYrQ+EfyuhXsiMjh58plYKMpJYxKVxeUwW9jw==,
+ }
+ engines: { node: '>=20.0.0' }
peerDependencies:
eslint: '>=8'
storybook: ^9.0.14
eslint-plugin-vitest@0.5.4:
- resolution: {integrity: sha512-um+odCkccAHU53WdKAw39MY61+1x990uXjSPguUCq3VcEHdqJrOb8OTMrbYlY6f9jAKx7x98kLVlIe3RJeJqoQ==}
- engines: {node: ^18.0.0 || >= 20.0.0}
+ resolution:
+ {
+ integrity: sha512-um+odCkccAHU53WdKAw39MY61+1x990uXjSPguUCq3VcEHdqJrOb8OTMrbYlY6f9jAKx7x98kLVlIe3RJeJqoQ==,
+ }
+ engines: { node: ^18.0.0 || >= 20.0.0 }
peerDependencies:
'@typescript-eslint/eslint-plugin': '*'
eslint: ^8.57.0 || ^9.0.0
@@ -1664,20 +2643,32 @@ packages:
optional: true
eslint-scope@8.4.0:
- resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ resolution:
+ {
+ integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==,
+ }
+ engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
eslint-visitor-keys@3.4.3:
- resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ resolution:
+ {
+ integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==,
+ }
+ engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
eslint-visitor-keys@4.2.1:
- resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ resolution:
+ {
+ integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==,
+ }
+ engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
eslint@9.30.0:
- resolution: {integrity: sha512-iN/SiPxmQu6EVkf+m1qpBxzUhE12YqFLOSySuOyVLJLEF9nzTf+h/1AJYc1JWzCnktggeNrjvQGLngDzXirU6g==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ resolution:
+ {
+ integrity: sha512-iN/SiPxmQu6EVkf+m1qpBxzUhE12YqFLOSySuOyVLJLEF9nzTf+h/1AJYc1JWzCnktggeNrjvQGLngDzXirU6g==,
+ }
+ engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
hasBin: true
peerDependencies:
jiti: '*'
@@ -1686,69 +2677,123 @@ packages:
optional: true
espree@10.4.0:
- resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ resolution:
+ {
+ integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==,
+ }
+ engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 }
esprima@4.0.1:
- resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
- engines: {node: '>=4'}
+ resolution:
+ {
+ integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==,
+ }
+ engines: { node: '>=4' }
hasBin: true
esquery@1.6.0:
- resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==}
- engines: {node: '>=0.10'}
+ resolution:
+ {
+ integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==,
+ }
+ engines: { node: '>=0.10' }
esrecurse@4.3.0:
- resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
- engines: {node: '>=4.0'}
+ resolution:
+ {
+ integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==,
+ }
+ engines: { node: '>=4.0' }
estraverse@5.3.0:
- resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
- engines: {node: '>=4.0'}
+ resolution:
+ {
+ integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==,
+ }
+ engines: { node: '>=4.0' }
estree-walker@2.0.2:
- resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
+ resolution:
+ {
+ integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==,
+ }
estree-walker@3.0.3:
- resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
+ resolution:
+ {
+ integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==,
+ }
esutils@2.0.3:
- resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
- engines: {node: '>=0.10.0'}
+ resolution:
+ {
+ integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==,
+ }
+ engines: { node: '>=0.10.0' }
etag@1.8.1:
- resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==}
- engines: {node: '>= 0.6'}
+ resolution:
+ {
+ integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==,
+ }
+ engines: { node: '>= 0.6' }
expect-type@1.2.1:
- resolution: {integrity: sha512-/kP8CAwxzLVEeFrMm4kMmy4CCDlpipyA7MYLVrdJIkV0fYF0UaigQHRsxHiuY/GEea+bh4KSv3TIlgr+2UL6bw==}
- engines: {node: '>=12.0.0'}
+ resolution:
+ {
+ integrity: sha512-/kP8CAwxzLVEeFrMm4kMmy4CCDlpipyA7MYLVrdJIkV0fYF0UaigQHRsxHiuY/GEea+bh4KSv3TIlgr+2UL6bw==,
+ }
+ engines: { node: '>=12.0.0' }
express@4.21.1:
- resolution: {integrity: sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==}
- engines: {node: '>= 0.10.0'}
+ resolution:
+ {
+ integrity: sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==,
+ }
+ engines: { node: '>= 0.10.0' }
fast-deep-equal@3.1.3:
- resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
+ resolution:
+ {
+ integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==,
+ }
fast-diff@1.3.0:
- resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==}
+ resolution:
+ {
+ integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==,
+ }
fast-glob@3.3.2:
- resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
- engines: {node: '>=8.6.0'}
+ resolution:
+ {
+ integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==,
+ }
+ engines: { node: '>=8.6.0' }
fast-json-stable-stringify@2.1.0:
- resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
+ resolution:
+ {
+ integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==,
+ }
fast-levenshtein@2.0.6:
- resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
+ resolution:
+ {
+ integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==,
+ }
fastq@1.17.1:
- resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
+ resolution:
+ {
+ integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==,
+ }
fdir@6.4.6:
- resolution: {integrity: sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==}
+ resolution:
+ {
+ integrity: sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==,
+ }
peerDependencies:
picomatch: ^3 || ^4
peerDependenciesMeta:
@@ -1756,54 +2801,96 @@ packages:
optional: true
fflate@0.8.2:
- resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==}
+ resolution:
+ {
+ integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==,
+ }
file-entry-cache@8.0.0:
- resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
- engines: {node: '>=16.0.0'}
+ resolution:
+ {
+ integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==,
+ }
+ engines: { node: '>=16.0.0' }
fill-range@7.1.1:
- resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==,
+ }
+ engines: { node: '>=8' }
finalhandler@1.3.1:
- resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==}
- engines: {node: '>= 0.8'}
+ resolution:
+ {
+ integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==,
+ }
+ engines: { node: '>= 0.8' }
find-root@1.1.0:
- resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==}
+ resolution:
+ {
+ integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==,
+ }
find-up@5.0.0:
- resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==,
+ }
+ engines: { node: '>=10' }
flat-cache@4.0.1:
- resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
- engines: {node: '>=16'}
+ resolution:
+ {
+ integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==,
+ }
+ engines: { node: '>=16' }
flatted@3.3.1:
- resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==}
+ resolution:
+ {
+ integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==,
+ }
flatted@3.3.3:
- resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==}
+ resolution:
+ {
+ integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==,
+ }
for-each@0.3.3:
- resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
+ resolution:
+ {
+ integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==,
+ }
for-each@0.3.5:
- resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==,
+ }
+ engines: { node: '>= 0.4' }
foreground-child@3.3.0:
- resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==}
- engines: {node: '>=14'}
+ resolution:
+ {
+ integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==,
+ }
+ engines: { node: '>=14' }
forwarded@0.2.0:
- resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==}
- engines: {node: '>= 0.6'}
+ resolution:
+ {
+ integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==,
+ }
+ engines: { node: '>= 0.6' }
framer-motion@12.23.0:
- resolution: {integrity: sha512-xf6NxTGAyf7zR4r2KlnhFmsRfKIbjqeBupEDBAaEtVIBJX96sAon00kMlsKButSIRwPSHjbRrAPnYdJJ9kyhbA==}
+ resolution:
+ {
+ integrity: sha512-xf6NxTGAyf7zR4r2KlnhFmsRfKIbjqeBupEDBAaEtVIBJX96sAon00kMlsKButSIRwPSHjbRrAPnYdJJ9kyhbA==,
+ }
peerDependencies:
'@emotion/is-prop-valid': '*'
react: ^18.0.0 || ^19.0.0
@@ -1817,422 +2904,749 @@ packages:
optional: true
fresh@0.5.2:
- resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==}
- engines: {node: '>= 0.6'}
+ resolution:
+ {
+ integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==,
+ }
+ engines: { node: '>= 0.6' }
fsevents@2.3.3:
- resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
- engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
+ resolution:
+ {
+ integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==,
+ }
+ engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 }
os: [darwin]
function-bind@1.1.2:
- resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
+ resolution:
+ {
+ integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==,
+ }
function.prototype.name@1.1.6:
- resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==,
+ }
+ engines: { node: '>= 0.4' }
function.prototype.name@1.1.8:
- resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==,
+ }
+ engines: { node: '>= 0.4' }
functions-have-names@1.2.3:
- resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
+ resolution:
+ {
+ integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==,
+ }
get-caller-file@2.0.5:
- resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
- engines: {node: 6.* || 8.* || >= 10.*}
+ resolution:
+ {
+ integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==,
+ }
+ engines: { node: 6.* || 8.* || >= 10.* }
get-intrinsic@1.2.4:
- resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==,
+ }
+ engines: { node: '>= 0.4' }
get-intrinsic@1.3.0:
- resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==,
+ }
+ engines: { node: '>= 0.4' }
get-proto@1.0.1:
- resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==,
+ }
+ engines: { node: '>= 0.4' }
get-symbol-description@1.0.2:
- resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==,
+ }
+ engines: { node: '>= 0.4' }
get-symbol-description@1.1.0:
- resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==,
+ }
+ engines: { node: '>= 0.4' }
glob-parent@5.1.2:
- resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
- engines: {node: '>= 6'}
+ resolution:
+ {
+ integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==,
+ }
+ engines: { node: '>= 6' }
glob-parent@6.0.2:
- resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
- engines: {node: '>=10.13.0'}
+ resolution:
+ {
+ integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==,
+ }
+ engines: { node: '>=10.13.0' }
glob@10.4.5:
- resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==}
+ resolution:
+ {
+ integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==,
+ }
hasBin: true
globals@11.12.0:
- resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
- engines: {node: '>=4'}
+ resolution:
+ {
+ integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==,
+ }
+ engines: { node: '>=4' }
globals@14.0.0:
- resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
- engines: {node: '>=18'}
+ resolution:
+ {
+ integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==,
+ }
+ engines: { node: '>=18' }
globals@16.3.0:
- resolution: {integrity: sha512-bqWEnJ1Nt3neqx2q5SFfGS8r/ahumIakg3HcwtNlrVlwXIeNumWn/c7Pn/wKzGhf6SaW6H6uWXLqC30STCMchQ==}
- engines: {node: '>=18'}
+ resolution:
+ {
+ integrity: sha512-bqWEnJ1Nt3neqx2q5SFfGS8r/ahumIakg3HcwtNlrVlwXIeNumWn/c7Pn/wKzGhf6SaW6H6uWXLqC30STCMchQ==,
+ }
+ engines: { node: '>=18' }
globalthis@1.0.4:
- resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==,
+ }
+ engines: { node: '>= 0.4' }
globby@11.1.0:
- resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==,
+ }
+ engines: { node: '>=10' }
goober@2.1.16:
- resolution: {integrity: sha512-erjk19y1U33+XAMe1VTvIONHYoSqE4iS7BYUZfHaqeohLmnC0FdxEh7rQU+6MZ4OajItzjZFSRtVANrQwNq6/g==}
+ resolution:
+ {
+ integrity: sha512-erjk19y1U33+XAMe1VTvIONHYoSqE4iS7BYUZfHaqeohLmnC0FdxEh7rQU+6MZ4OajItzjZFSRtVANrQwNq6/g==,
+ }
peerDependencies:
csstype: ^3.0.10
gopd@1.0.1:
- resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
+ resolution:
+ {
+ integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==,
+ }
gopd@1.2.0:
- resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==,
+ }
+ engines: { node: '>= 0.4' }
graphemer@1.4.0:
- resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
+ resolution:
+ {
+ integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==,
+ }
graphql@16.9.0:
- resolution: {integrity: sha512-GGTKBX4SD7Wdb8mqeDLni2oaRGYQWjWHGKPQ24ZMnUtKfcsVoiv4uX8+LJr1K6U5VW2Lu1BwJnj7uiori0YtRw==}
- engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0}
+ resolution:
+ {
+ integrity: sha512-GGTKBX4SD7Wdb8mqeDLni2oaRGYQWjWHGKPQ24ZMnUtKfcsVoiv4uX8+LJr1K6U5VW2Lu1BwJnj7uiori0YtRw==,
+ }
+ engines: { node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0 }
has-bigints@1.0.2:
- resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==}
+ resolution:
+ {
+ integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==,
+ }
has-flag@4.0.0:
- resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==,
+ }
+ engines: { node: '>=8' }
has-property-descriptors@1.0.2:
- resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
+ resolution:
+ {
+ integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==,
+ }
has-proto@1.0.3:
- resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==,
+ }
+ engines: { node: '>= 0.4' }
has-proto@1.2.0:
- resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==,
+ }
+ engines: { node: '>= 0.4' }
has-symbols@1.0.3:
- resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==,
+ }
+ engines: { node: '>= 0.4' }
has-symbols@1.1.0:
- resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==,
+ }
+ engines: { node: '>= 0.4' }
has-tostringtag@1.0.2:
- resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==,
+ }
+ engines: { node: '>= 0.4' }
hasown@2.0.2:
- resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==,
+ }
+ engines: { node: '>= 0.4' }
headers-polyfill@4.0.3:
- resolution: {integrity: sha512-IScLbePpkvO846sIwOtOTDjutRMWdXdJmXdMvk6gCBHxFO8d+QKOQedyZSxFTTFYRSmlgSTDtXqqq4pcenBXLQ==}
+ resolution:
+ {
+ integrity: sha512-IScLbePpkvO846sIwOtOTDjutRMWdXdJmXdMvk6gCBHxFO8d+QKOQedyZSxFTTFYRSmlgSTDtXqqq4pcenBXLQ==,
+ }
hoist-non-react-statics@3.3.2:
- resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==}
+ resolution:
+ {
+ integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==,
+ }
html-encoding-sniffer@4.0.0:
- resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==}
- engines: {node: '>=18'}
+ resolution:
+ {
+ integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==,
+ }
+ engines: { node: '>=18' }
html-escaper@2.0.2:
- resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==}
+ resolution:
+ {
+ integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==,
+ }
http-errors@2.0.0:
- resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==}
- engines: {node: '>= 0.8'}
+ resolution:
+ {
+ integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==,
+ }
+ engines: { node: '>= 0.8' }
http-proxy-agent@7.0.2:
- resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==}
- engines: {node: '>= 14'}
+ resolution:
+ {
+ integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==,
+ }
+ engines: { node: '>= 14' }
https-proxy-agent@7.0.6:
- resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==}
- engines: {node: '>= 14'}
+ resolution:
+ {
+ integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==,
+ }
+ engines: { node: '>= 14' }
iconv-lite@0.4.24:
- resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
- engines: {node: '>=0.10.0'}
+ resolution:
+ {
+ integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==,
+ }
+ engines: { node: '>=0.10.0' }
iconv-lite@0.6.3:
- resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==}
- engines: {node: '>=0.10.0'}
+ resolution:
+ {
+ integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==,
+ }
+ engines: { node: '>=0.10.0' }
ignore@5.3.2:
- resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
- engines: {node: '>= 4'}
+ resolution:
+ {
+ integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==,
+ }
+ engines: { node: '>= 4' }
ignore@7.0.5:
- resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==}
- engines: {node: '>= 4'}
+ resolution:
+ {
+ integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==,
+ }
+ engines: { node: '>= 4' }
import-fresh@3.3.0:
- resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
- engines: {node: '>=6'}
+ resolution:
+ {
+ integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==,
+ }
+ engines: { node: '>=6' }
imurmurhash@0.1.4:
- resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
- engines: {node: '>=0.8.19'}
+ resolution:
+ {
+ integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==,
+ }
+ engines: { node: '>=0.8.19' }
indent-string@4.0.0:
- resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==,
+ }
+ engines: { node: '>=8' }
inherits@2.0.4:
- resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
+ resolution:
+ {
+ integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==,
+ }
internal-slot@1.0.7:
- resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==,
+ }
+ engines: { node: '>= 0.4' }
internal-slot@1.1.0:
- resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==,
+ }
+ engines: { node: '>= 0.4' }
ipaddr.js@1.9.1:
- resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==}
- engines: {node: '>= 0.10'}
+ resolution:
+ {
+ integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==,
+ }
+ engines: { node: '>= 0.10' }
is-array-buffer@3.0.4:
- resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==,
+ }
+ engines: { node: '>= 0.4' }
is-array-buffer@3.0.5:
- resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==,
+ }
+ engines: { node: '>= 0.4' }
is-arrayish@0.2.1:
- resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
+ resolution:
+ {
+ integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==,
+ }
is-async-function@2.0.0:
- resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==,
+ }
+ engines: { node: '>= 0.4' }
is-bigint@1.0.4:
- resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==}
+ resolution:
+ {
+ integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==,
+ }
is-bigint@1.1.0:
- resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==,
+ }
+ engines: { node: '>= 0.4' }
is-boolean-object@1.1.2:
- resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==,
+ }
+ engines: { node: '>= 0.4' }
is-boolean-object@1.2.2:
- resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==,
+ }
+ engines: { node: '>= 0.4' }
is-callable@1.2.7:
- resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==,
+ }
+ engines: { node: '>= 0.4' }
is-core-module@2.15.1:
- resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==,
+ }
+ engines: { node: '>= 0.4' }
is-core-module@2.16.1:
- resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==,
+ }
+ engines: { node: '>= 0.4' }
is-data-view@1.0.1:
- resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==,
+ }
+ engines: { node: '>= 0.4' }
is-data-view@1.0.2:
- resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==,
+ }
+ engines: { node: '>= 0.4' }
is-date-object@1.0.5:
- resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==,
+ }
+ engines: { node: '>= 0.4' }
is-date-object@1.1.0:
- resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==,
+ }
+ engines: { node: '>= 0.4' }
is-docker@2.2.1:
- resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==,
+ }
+ engines: { node: '>=8' }
hasBin: true
is-extglob@2.1.1:
- resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
- engines: {node: '>=0.10.0'}
+ resolution:
+ {
+ integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==,
+ }
+ engines: { node: '>=0.10.0' }
is-finalizationregistry@1.0.2:
- resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==}
+ resolution:
+ {
+ integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==,
+ }
is-finalizationregistry@1.1.1:
- resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==,
+ }
+ engines: { node: '>= 0.4' }
is-fullwidth-code-point@3.0.0:
- resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==,
+ }
+ engines: { node: '>=8' }
is-generator-function@1.0.10:
- resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==,
+ }
+ engines: { node: '>= 0.4' }
is-glob@4.0.3:
- resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
- engines: {node: '>=0.10.0'}
+ resolution:
+ {
+ integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==,
+ }
+ engines: { node: '>=0.10.0' }
is-map@2.0.3:
- resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==,
+ }
+ engines: { node: '>= 0.4' }
is-negative-zero@2.0.3:
- resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==,
+ }
+ engines: { node: '>= 0.4' }
is-node-process@1.2.0:
- resolution: {integrity: sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==}
+ resolution:
+ {
+ integrity: sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==,
+ }
is-number-object@1.0.7:
- resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==,
+ }
+ engines: { node: '>= 0.4' }
is-number-object@1.1.1:
- resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==,
+ }
+ engines: { node: '>= 0.4' }
is-number@7.0.0:
- resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
- engines: {node: '>=0.12.0'}
+ resolution:
+ {
+ integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==,
+ }
+ engines: { node: '>=0.12.0' }
is-potential-custom-element-name@1.0.1:
- resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==}
+ resolution:
+ {
+ integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==,
+ }
is-regex@1.1.4:
- resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==,
+ }
+ engines: { node: '>= 0.4' }
is-regex@1.2.1:
- resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==,
+ }
+ engines: { node: '>= 0.4' }
is-set@2.0.3:
- resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==,
+ }
+ engines: { node: '>= 0.4' }
is-shared-array-buffer@1.0.3:
- resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==,
+ }
+ engines: { node: '>= 0.4' }
is-shared-array-buffer@1.0.4:
- resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==,
+ }
+ engines: { node: '>= 0.4' }
is-string@1.0.7:
- resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==,
+ }
+ engines: { node: '>= 0.4' }
is-string@1.1.1:
- resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==,
+ }
+ engines: { node: '>= 0.4' }
is-symbol@1.0.4:
- resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==,
+ }
+ engines: { node: '>= 0.4' }
is-symbol@1.1.1:
- resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==,
+ }
+ engines: { node: '>= 0.4' }
is-typed-array@1.1.13:
- resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==,
+ }
+ engines: { node: '>= 0.4' }
is-typed-array@1.1.15:
- resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==,
+ }
+ engines: { node: '>= 0.4' }
is-weakmap@2.0.2:
- resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==,
+ }
+ engines: { node: '>= 0.4' }
is-weakref@1.0.2:
- resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==}
+ resolution:
+ {
+ integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==,
+ }
is-weakref@1.1.1:
- resolution: {integrity: sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==,
+ }
+ engines: { node: '>= 0.4' }
is-weakset@2.0.3:
- resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==,
+ }
+ engines: { node: '>= 0.4' }
is-wsl@2.2.0:
- resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==,
+ }
+ engines: { node: '>=8' }
isarray@2.0.5:
- resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
+ resolution:
+ {
+ integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==,
+ }
isexe@2.0.0:
- resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
+ resolution:
+ {
+ integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==,
+ }
istanbul-lib-coverage@3.2.2:
- resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==,
+ }
+ engines: { node: '>=8' }
istanbul-lib-report@3.0.1:
- resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==,
+ }
+ engines: { node: '>=10' }
istanbul-lib-source-maps@5.0.6:
- resolution: {integrity: sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==,
+ }
+ engines: { node: '>=10' }
istanbul-reports@3.1.7:
- resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==,
+ }
+ engines: { node: '>=8' }
iterator.prototype@1.1.3:
- resolution: {integrity: sha512-FW5iMbeQ6rBGm/oKgzq2aW4KvAGpxPzYES8N4g4xNXUKpL1mclMvOe+76AcLDTvD+Ze+sOpVhgdAQEKF4L9iGQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-FW5iMbeQ6rBGm/oKgzq2aW4KvAGpxPzYES8N4g4xNXUKpL1mclMvOe+76AcLDTvD+Ze+sOpVhgdAQEKF4L9iGQ==,
+ }
+ engines: { node: '>= 0.4' }
jackspeak@3.4.3:
- resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==}
+ resolution:
+ {
+ integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==,
+ }
js-tokens@4.0.0:
- resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
+ resolution:
+ {
+ integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==,
+ }
js-tokens@9.0.1:
- resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==}
+ resolution:
+ {
+ integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==,
+ }
js-yaml@4.1.0:
- resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
+ resolution:
+ {
+ integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==,
+ }
hasBin: true
jsdom@26.1.0:
- resolution: {integrity: sha512-Cvc9WUhxSMEo4McES3P7oK3QaXldCfNWp7pl2NNeiIFlCoLr3kfq9kb1fxftiwk1FLV7CvpvDfonxtzUDeSOPg==}
- engines: {node: '>=18'}
+ resolution:
+ {
+ integrity: sha512-Cvc9WUhxSMEo4McES3P7oK3QaXldCfNWp7pl2NNeiIFlCoLr3kfq9kb1fxftiwk1FLV7CvpvDfonxtzUDeSOPg==,
+ }
+ engines: { node: '>=18' }
peerDependencies:
canvas: ^3.0.0
peerDependenciesMeta:
@@ -2240,153 +3654,279 @@ packages:
optional: true
jsesc@3.0.2:
- resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==}
- engines: {node: '>=6'}
+ resolution:
+ {
+ integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==,
+ }
+ engines: { node: '>=6' }
hasBin: true
json-buffer@3.0.1:
- resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
+ resolution:
+ {
+ integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==,
+ }
json-parse-even-better-errors@2.3.1:
- resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
+ resolution:
+ {
+ integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==,
+ }
json-schema-traverse@0.4.1:
- resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
+ resolution:
+ {
+ integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==,
+ }
json-stable-stringify-without-jsonify@1.0.1:
- resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
+ resolution:
+ {
+ integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==,
+ }
json5@1.0.2:
- resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==}
+ resolution:
+ {
+ integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==,
+ }
hasBin: true
jsx-ast-utils@3.3.5:
- resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==}
- engines: {node: '>=4.0'}
+ resolution:
+ {
+ integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==,
+ }
+ engines: { node: '>=4.0' }
keyv@4.5.4:
- resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
+ resolution:
+ {
+ integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==,
+ }
levn@0.4.1:
- resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
- engines: {node: '>= 0.8.0'}
+ resolution:
+ {
+ integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==,
+ }
+ engines: { node: '>= 0.8.0' }
lines-and-columns@1.2.4:
- resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
+ resolution:
+ {
+ integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==,
+ }
locate-path@6.0.0:
- resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==,
+ }
+ engines: { node: '>=10' }
lodash.merge@4.6.2:
- resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
+ resolution:
+ {
+ integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==,
+ }
lodash@4.17.21:
- resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
+ resolution:
+ {
+ integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==,
+ }
loose-envify@1.4.0:
- resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
+ resolution:
+ {
+ integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==,
+ }
hasBin: true
loupe@3.1.2:
- resolution: {integrity: sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg==}
+ resolution:
+ {
+ integrity: sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg==,
+ }
loupe@3.1.4:
- resolution: {integrity: sha512-wJzkKwJrheKtknCOKNEtDK4iqg/MxmZheEMtSTYvnzRdEYaZzmgH976nenp8WdJRdx5Vc1X/9MO0Oszl6ezeXg==}
+ resolution:
+ {
+ integrity: sha512-wJzkKwJrheKtknCOKNEtDK4iqg/MxmZheEMtSTYvnzRdEYaZzmgH976nenp8WdJRdx5Vc1X/9MO0Oszl6ezeXg==,
+ }
lru-cache@10.4.3:
- resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
+ resolution:
+ {
+ integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==,
+ }
lz-string@1.5.0:
- resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==}
+ resolution:
+ {
+ integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==,
+ }
hasBin: true
magic-string@0.30.12:
- resolution: {integrity: sha512-Ea8I3sQMVXr8JhN4z+H/d8zwo+tYDgHE9+5G4Wnrwhs0gaK9fXTKx0Tw5Xwsd/bCPTTZNRAdpyzvoeORe9LYpw==}
+ resolution:
+ {
+ integrity: sha512-Ea8I3sQMVXr8JhN4z+H/d8zwo+tYDgHE9+5G4Wnrwhs0gaK9fXTKx0Tw5Xwsd/bCPTTZNRAdpyzvoeORe9LYpw==,
+ }
magic-string@0.30.17:
- resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==}
+ resolution:
+ {
+ integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==,
+ }
magicast@0.3.5:
- resolution: {integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==}
+ resolution:
+ {
+ integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==,
+ }
make-dir@4.0.0:
- resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==,
+ }
+ engines: { node: '>=10' }
math-intrinsics@1.1.0:
- resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==,
+ }
+ engines: { node: '>= 0.4' }
media-typer@0.3.0:
- resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==}
- engines: {node: '>= 0.6'}
+ resolution:
+ {
+ integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==,
+ }
+ engines: { node: '>= 0.6' }
merge-descriptors@1.0.3:
- resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==}
+ resolution:
+ {
+ integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==,
+ }
merge2@1.4.1:
- resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
- engines: {node: '>= 8'}
+ resolution:
+ {
+ integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==,
+ }
+ engines: { node: '>= 8' }
methods@1.1.2:
- resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==}
- engines: {node: '>= 0.6'}
+ resolution:
+ {
+ integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==,
+ }
+ engines: { node: '>= 0.6' }
micromatch@4.0.8:
- resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
- engines: {node: '>=8.6'}
+ resolution:
+ {
+ integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==,
+ }
+ engines: { node: '>=8.6' }
mime-db@1.52.0:
- resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
- engines: {node: '>= 0.6'}
+ resolution:
+ {
+ integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==,
+ }
+ engines: { node: '>= 0.6' }
mime-types@2.1.35:
- resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
- engines: {node: '>= 0.6'}
+ resolution:
+ {
+ integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==,
+ }
+ engines: { node: '>= 0.6' }
mime@1.6.0:
- resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==}
- engines: {node: '>=4'}
+ resolution:
+ {
+ integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==,
+ }
+ engines: { node: '>=4' }
hasBin: true
min-indent@1.0.1:
- resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
- engines: {node: '>=4'}
+ resolution:
+ {
+ integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==,
+ }
+ engines: { node: '>=4' }
minimatch@3.1.2:
- resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
+ resolution:
+ {
+ integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==,
+ }
minimatch@9.0.5:
- resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
- engines: {node: '>=16 || 14 >=14.17'}
+ resolution:
+ {
+ integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==,
+ }
+ engines: { node: '>=16 || 14 >=14.17' }
minimist@1.2.8:
- resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
+ resolution:
+ {
+ integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==,
+ }
minipass@7.1.2:
- resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
- engines: {node: '>=16 || 14 >=14.17'}
+ resolution:
+ {
+ integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==,
+ }
+ engines: { node: '>=16 || 14 >=14.17' }
motion-dom@12.22.0:
- resolution: {integrity: sha512-ooH7+/BPw9gOsL9VtPhEJHE2m4ltnhMlcGMhEqA0YGNhKof7jdaszvsyThXI6LVIKshJUZ9/CP6HNqQhJfV7kw==}
+ resolution:
+ {
+ integrity: sha512-ooH7+/BPw9gOsL9VtPhEJHE2m4ltnhMlcGMhEqA0YGNhKof7jdaszvsyThXI6LVIKshJUZ9/CP6HNqQhJfV7kw==,
+ }
motion-utils@12.19.0:
- resolution: {integrity: sha512-BuFTHINYmV07pdWs6lj6aI63vr2N4dg0vR+td0rtrdpWOhBzIkEklZyLcvKBoEtwSqx8Jg06vUB5RS0xDiUybw==}
+ resolution:
+ {
+ integrity: sha512-BuFTHINYmV07pdWs6lj6aI63vr2N4dg0vR+td0rtrdpWOhBzIkEklZyLcvKBoEtwSqx8Jg06vUB5RS0xDiUybw==,
+ }
mrmime@2.0.0:
- resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==,
+ }
+ engines: { node: '>=10' }
ms@2.0.0:
- resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
+ resolution:
+ {
+ integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==,
+ }
ms@2.1.3:
- resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
+ resolution:
+ {
+ integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==,
+ }
msw@2.10.3:
- resolution: {integrity: sha512-rpqW4wIqISJlgDfu3tiqzuWC/d6jofSuMUsBu1rwepzSwX21aQoagsd+fjahJ8sewa6FwlYhu4no+jfGVQm2IA==}
- engines: {node: '>=18'}
+ resolution:
+ {
+ integrity: sha512-rpqW4wIqISJlgDfu3tiqzuWC/d6jofSuMUsBu1rwepzSwX21aQoagsd+fjahJ8sewa6FwlYhu4no+jfGVQm2IA==,
+ }
+ engines: { node: '>=18' }
hasBin: true
peerDependencies:
typescript: '>= 4.8.x'
@@ -2395,454 +3935,808 @@ packages:
optional: true
mute-stream@2.0.0:
- resolution: {integrity: sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==}
- engines: {node: ^18.17.0 || >=20.5.0}
+ resolution:
+ {
+ integrity: sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==,
+ }
+ engines: { node: ^18.17.0 || >=20.5.0 }
nanoid@3.3.11:
- resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==}
- engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
+ resolution:
+ {
+ integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==,
+ }
+ engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 }
hasBin: true
natural-compare@1.4.0:
- resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
+ resolution:
+ {
+ integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==,
+ }
negotiator@0.6.3:
- resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==}
- engines: {node: '>= 0.6'}
+ resolution:
+ {
+ integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==,
+ }
+ engines: { node: '>= 0.6' }
notistack@3.0.2:
- resolution: {integrity: sha512-0R+/arLYbK5Hh7mEfR2adt0tyXJcCC9KkA2hc56FeWik2QN6Bm/S4uW+BjzDARsJth5u06nTjelSw/VSnB1YEA==}
- engines: {node: '>=12.0.0', npm: '>=6.0.0'}
+ resolution:
+ {
+ integrity: sha512-0R+/arLYbK5Hh7mEfR2adt0tyXJcCC9KkA2hc56FeWik2QN6Bm/S4uW+BjzDARsJth5u06nTjelSw/VSnB1YEA==,
+ }
+ engines: { node: '>=12.0.0', npm: '>=6.0.0' }
peerDependencies:
react: ^17.0.0 || ^18.0.0 || ^19.0.0
react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0
nwsapi@2.2.20:
- resolution: {integrity: sha512-/ieB+mDe4MrrKMT8z+mQL8klXydZWGR5Dowt4RAGKbJ3kIGEx3X4ljUo+6V73IXtUPWgfOlU5B9MlGxFO5T+cA==}
+ resolution:
+ {
+ integrity: sha512-/ieB+mDe4MrrKMT8z+mQL8klXydZWGR5Dowt4RAGKbJ3kIGEx3X4ljUo+6V73IXtUPWgfOlU5B9MlGxFO5T+cA==,
+ }
object-assign@4.1.1:
- resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
- engines: {node: '>=0.10.0'}
+ resolution:
+ {
+ integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==,
+ }
+ engines: { node: '>=0.10.0' }
object-inspect@1.13.2:
- resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==,
+ }
+ engines: { node: '>= 0.4' }
object-inspect@1.13.4:
- resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==,
+ }
+ engines: { node: '>= 0.4' }
object-keys@1.1.1:
- resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==,
+ }
+ engines: { node: '>= 0.4' }
object.assign@4.1.5:
- resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==,
+ }
+ engines: { node: '>= 0.4' }
object.assign@4.1.7:
- resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==,
+ }
+ engines: { node: '>= 0.4' }
object.entries@1.1.8:
- resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==,
+ }
+ engines: { node: '>= 0.4' }
object.fromentries@2.0.8:
- resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==,
+ }
+ engines: { node: '>= 0.4' }
object.groupby@1.0.3:
- resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==,
+ }
+ engines: { node: '>= 0.4' }
object.values@1.2.1:
- resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==,
+ }
+ engines: { node: '>= 0.4' }
on-finished@2.4.1:
- resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==}
- engines: {node: '>= 0.8'}
+ resolution:
+ {
+ integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==,
+ }
+ engines: { node: '>= 0.8' }
open@8.4.2:
- resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==}
- engines: {node: '>=12'}
+ resolution:
+ {
+ integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==,
+ }
+ engines: { node: '>=12' }
optionator@0.9.4:
- resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
- engines: {node: '>= 0.8.0'}
+ resolution:
+ {
+ integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==,
+ }
+ engines: { node: '>= 0.8.0' }
outvariant@1.4.3:
- resolution: {integrity: sha512-+Sl2UErvtsoajRDKCE5/dBz4DIvHXQQnAxtQTF04OJxY0+DyZXSo5P5Bb7XYWOh81syohlYL24hbDwxedPUJCA==}
+ resolution:
+ {
+ integrity: sha512-+Sl2UErvtsoajRDKCE5/dBz4DIvHXQQnAxtQTF04OJxY0+DyZXSo5P5Bb7XYWOh81syohlYL24hbDwxedPUJCA==,
+ }
own-keys@1.0.1:
- resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==,
+ }
+ engines: { node: '>= 0.4' }
p-limit@3.1.0:
- resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==,
+ }
+ engines: { node: '>=10' }
p-locate@5.0.0:
- resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==,
+ }
+ engines: { node: '>=10' }
package-json-from-dist@1.0.1:
- resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==}
+ resolution:
+ {
+ integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==,
+ }
parent-module@1.0.1:
- resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
- engines: {node: '>=6'}
+ resolution:
+ {
+ integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==,
+ }
+ engines: { node: '>=6' }
parse-json@5.2.0:
- resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==,
+ }
+ engines: { node: '>=8' }
parse5@7.3.0:
- resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==}
+ resolution:
+ {
+ integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==,
+ }
parseurl@1.3.3:
- resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
- engines: {node: '>= 0.8'}
+ resolution:
+ {
+ integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==,
+ }
+ engines: { node: '>= 0.8' }
path-exists@4.0.0:
- resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==,
+ }
+ engines: { node: '>=8' }
path-key@3.1.1:
- resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==,
+ }
+ engines: { node: '>=8' }
path-parse@1.0.7:
- resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
+ resolution:
+ {
+ integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==,
+ }
path-scurry@1.11.1:
- resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==}
- engines: {node: '>=16 || 14 >=14.18'}
+ resolution:
+ {
+ integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==,
+ }
+ engines: { node: '>=16 || 14 >=14.18' }
path-to-regexp@0.1.10:
- resolution: {integrity: sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==}
+ resolution:
+ {
+ integrity: sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==,
+ }
path-to-regexp@6.3.0:
- resolution: {integrity: sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==}
+ resolution:
+ {
+ integrity: sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==,
+ }
path-type@4.0.0:
- resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==,
+ }
+ engines: { node: '>=8' }
pathe@2.0.3:
- resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==}
+ resolution:
+ {
+ integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==,
+ }
pathval@2.0.0:
- resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==}
- engines: {node: '>= 14.16'}
+ resolution:
+ {
+ integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==,
+ }
+ engines: { node: '>= 14.16' }
picocolors@1.1.1:
- resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
+ resolution:
+ {
+ integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==,
+ }
picomatch@2.3.1:
- resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
- engines: {node: '>=8.6'}
+ resolution:
+ {
+ integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==,
+ }
+ engines: { node: '>=8.6' }
picomatch@4.0.2:
- resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==}
- engines: {node: '>=12'}
+ resolution:
+ {
+ integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==,
+ }
+ engines: { node: '>=12' }
possible-typed-array-names@1.0.0:
- resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==,
+ }
+ engines: { node: '>= 0.4' }
postcss@8.5.6:
- resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==}
- engines: {node: ^10 || ^12 || >=14}
+ resolution:
+ {
+ integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==,
+ }
+ engines: { node: ^10 || ^12 || >=14 }
prelude-ls@1.2.1:
- resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
- engines: {node: '>= 0.8.0'}
+ resolution:
+ {
+ integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==,
+ }
+ engines: { node: '>= 0.8.0' }
prettier-linter-helpers@1.0.0:
- resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==}
- engines: {node: '>=6.0.0'}
-
- prettier@3.3.3:
- resolution: {integrity: sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==}
- engines: {node: '>=14'}
+ resolution:
+ {
+ integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==,
+ }
+ engines: { node: '>=6.0.0' }
+
+ prettier@3.6.2:
+ resolution:
+ {
+ integrity: sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==,
+ }
+ engines: { node: '>=14' }
hasBin: true
pretty-format@27.5.1:
- resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==}
- engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ resolution:
+ {
+ integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==,
+ }
+ engines: { node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0 }
prop-types@15.8.1:
- resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
+ resolution:
+ {
+ integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==,
+ }
proxy-addr@2.0.7:
- resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==}
- engines: {node: '>= 0.10'}
+ resolution:
+ {
+ integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==,
+ }
+ engines: { node: '>= 0.10' }
psl@1.9.0:
- resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==}
+ resolution:
+ {
+ integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==,
+ }
punycode@2.3.1:
- resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
- engines: {node: '>=6'}
+ resolution:
+ {
+ integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==,
+ }
+ engines: { node: '>=6' }
qs@6.13.0:
- resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==}
- engines: {node: '>=0.6'}
+ resolution:
+ {
+ integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==,
+ }
+ engines: { node: '>=0.6' }
querystringify@2.2.0:
- resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==}
+ resolution:
+ {
+ integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==,
+ }
queue-microtask@1.2.3:
- resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
+ resolution:
+ {
+ integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==,
+ }
range-parser@1.2.1:
- resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
- engines: {node: '>= 0.6'}
+ resolution:
+ {
+ integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==,
+ }
+ engines: { node: '>= 0.6' }
raw-body@2.5.2:
- resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==}
- engines: {node: '>= 0.8'}
+ resolution:
+ {
+ integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==,
+ }
+ engines: { node: '>= 0.8' }
react-dom@19.1.0:
- resolution: {integrity: sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==}
+ resolution:
+ {
+ integrity: sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==,
+ }
peerDependencies:
react: ^19.1.0
react-is@16.13.1:
- resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
+ resolution:
+ {
+ integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==,
+ }
react-is@17.0.2:
- resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==}
+ resolution:
+ {
+ integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==,
+ }
react-is@19.1.0:
- resolution: {integrity: sha512-Oe56aUPnkHyyDxxkvqtd7KkdQP5uIUfHxd5XTb3wE9d/kRnZLmKbDB0GWk919tdQ+mxxPtG6EAs6RMT6i1qtHg==}
+ resolution:
+ {
+ integrity: sha512-Oe56aUPnkHyyDxxkvqtd7KkdQP5uIUfHxd5XTb3wE9d/kRnZLmKbDB0GWk919tdQ+mxxPtG6EAs6RMT6i1qtHg==,
+ }
react-transition-group@4.4.5:
- resolution: {integrity: sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==}
+ resolution:
+ {
+ integrity: sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==,
+ }
peerDependencies:
react: '>=16.6.0'
react-dom: '>=16.6.0'
react@19.1.0:
- resolution: {integrity: sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==}
- engines: {node: '>=0.10.0'}
+ resolution:
+ {
+ integrity: sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==,
+ }
+ engines: { node: '>=0.10.0' }
recast@0.23.11:
- resolution: {integrity: sha512-YTUo+Flmw4ZXiWfQKGcwwc11KnoRAYgzAE2E7mXKCjSviTKShtxBsN6YUUBB2gtaBzKzeKunxhUwNHQuRryhWA==}
- engines: {node: '>= 4'}
+ resolution:
+ {
+ integrity: sha512-YTUo+Flmw4ZXiWfQKGcwwc11KnoRAYgzAE2E7mXKCjSviTKShtxBsN6YUUBB2gtaBzKzeKunxhUwNHQuRryhWA==,
+ }
+ engines: { node: '>= 4' }
redent@3.0.0:
- resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==,
+ }
+ engines: { node: '>=8' }
reflect.getprototypeof@1.0.10:
- resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==,
+ }
+ engines: { node: '>= 0.4' }
reflect.getprototypeof@1.0.6:
- resolution: {integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==,
+ }
+ engines: { node: '>= 0.4' }
regenerator-runtime@0.14.1:
- resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==}
+ resolution:
+ {
+ integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==,
+ }
regexp.prototype.flags@1.5.3:
- resolution: {integrity: sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==,
+ }
+ engines: { node: '>= 0.4' }
regexp.prototype.flags@1.5.4:
- resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==,
+ }
+ engines: { node: '>= 0.4' }
require-directory@2.1.1:
- resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
- engines: {node: '>=0.10.0'}
+ resolution:
+ {
+ integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==,
+ }
+ engines: { node: '>=0.10.0' }
requires-port@1.0.0:
- resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==}
+ resolution:
+ {
+ integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==,
+ }
resolve-from@4.0.0:
- resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
- engines: {node: '>=4'}
+ resolution:
+ {
+ integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==,
+ }
+ engines: { node: '>=4' }
resolve@1.22.8:
- resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
+ resolution:
+ {
+ integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==,
+ }
hasBin: true
resolve@2.0.0-next.5:
- resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==}
+ resolution:
+ {
+ integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==,
+ }
hasBin: true
reusify@1.0.4:
- resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
- engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
+ resolution:
+ {
+ integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==,
+ }
+ engines: { iojs: '>=1.0.0', node: '>=0.10.0' }
rollup@2.79.2:
- resolution: {integrity: sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ==}
- engines: {node: '>=10.0.0'}
+ resolution:
+ {
+ integrity: sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ==,
+ }
+ engines: { node: '>=10.0.0' }
hasBin: true
rollup@4.44.1:
- resolution: {integrity: sha512-x8H8aPvD+xbl0Do8oez5f5o8eMS3trfCghc4HhLAnCkj7Vl0d1JWGs0UF/D886zLW2rOj2QymV/JcSSsw+XDNg==}
- engines: {node: '>=18.0.0', npm: '>=8.0.0'}
+ resolution:
+ {
+ integrity: sha512-x8H8aPvD+xbl0Do8oez5f5o8eMS3trfCghc4HhLAnCkj7Vl0d1JWGs0UF/D886zLW2rOj2QymV/JcSSsw+XDNg==,
+ }
+ engines: { node: '>=18.0.0', npm: '>=8.0.0' }
hasBin: true
rrweb-cssom@0.8.0:
- resolution: {integrity: sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==}
+ resolution:
+ {
+ integrity: sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==,
+ }
run-parallel@1.2.0:
- resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
+ resolution:
+ {
+ integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==,
+ }
rxjs@7.8.1:
- resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==}
+ resolution:
+ {
+ integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==,
+ }
safe-array-concat@1.1.2:
- resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==}
- engines: {node: '>=0.4'}
+ resolution:
+ {
+ integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==,
+ }
+ engines: { node: '>=0.4' }
safe-array-concat@1.1.3:
- resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==}
- engines: {node: '>=0.4'}
+ resolution:
+ {
+ integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==,
+ }
+ engines: { node: '>=0.4' }
safe-buffer@5.2.1:
- resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
+ resolution:
+ {
+ integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==,
+ }
safe-push-apply@1.0.0:
- resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==,
+ }
+ engines: { node: '>= 0.4' }
safe-regex-test@1.0.3:
- resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==,
+ }
+ engines: { node: '>= 0.4' }
safe-regex-test@1.1.0:
- resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==,
+ }
+ engines: { node: '>= 0.4' }
safer-buffer@2.1.2:
- resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
+ resolution:
+ {
+ integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==,
+ }
saxes@6.0.0:
- resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==}
- engines: {node: '>=v12.22.7'}
+ resolution:
+ {
+ integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==,
+ }
+ engines: { node: '>=v12.22.7' }
scheduler@0.26.0:
- resolution: {integrity: sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==}
+ resolution:
+ {
+ integrity: sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==,
+ }
semver@6.3.1:
- resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
+ resolution:
+ {
+ integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==,
+ }
hasBin: true
semver@7.6.3:
- resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==,
+ }
+ engines: { node: '>=10' }
hasBin: true
send@0.19.0:
- resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==}
- engines: {node: '>= 0.8.0'}
+ resolution:
+ {
+ integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==,
+ }
+ engines: { node: '>= 0.8.0' }
serve-static@1.16.2:
- resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==}
- engines: {node: '>= 0.8.0'}
+ resolution:
+ {
+ integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==,
+ }
+ engines: { node: '>= 0.8.0' }
set-function-length@1.2.2:
- resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==,
+ }
+ engines: { node: '>= 0.4' }
set-function-name@2.0.2:
- resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==,
+ }
+ engines: { node: '>= 0.4' }
set-proto@1.0.0:
- resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==,
+ }
+ engines: { node: '>= 0.4' }
setprototypeof@1.2.0:
- resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
+ resolution:
+ {
+ integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==,
+ }
shebang-command@2.0.0:
- resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==,
+ }
+ engines: { node: '>=8' }
shebang-regex@3.0.0:
- resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==,
+ }
+ engines: { node: '>=8' }
shell-quote@1.8.1:
- resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==}
+ resolution:
+ {
+ integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==,
+ }
side-channel-list@1.0.0:
- resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==,
+ }
+ engines: { node: '>= 0.4' }
side-channel-map@1.0.1:
- resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==,
+ }
+ engines: { node: '>= 0.4' }
side-channel-weakmap@1.0.2:
- resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==,
+ }
+ engines: { node: '>= 0.4' }
side-channel@1.0.6:
- resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==,
+ }
+ engines: { node: '>= 0.4' }
side-channel@1.1.0:
- resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==,
+ }
+ engines: { node: '>= 0.4' }
siginfo@2.0.0:
- resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==}
+ resolution:
+ {
+ integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==,
+ }
signal-exit@4.1.0:
- resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
- engines: {node: '>=14'}
+ resolution:
+ {
+ integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==,
+ }
+ engines: { node: '>=14' }
sirv@3.0.1:
- resolution: {integrity: sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A==}
- engines: {node: '>=18'}
+ resolution:
+ {
+ integrity: sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A==,
+ }
+ engines: { node: '>=18' }
slash@3.0.0:
- resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==,
+ }
+ engines: { node: '>=8' }
source-map-js@1.2.1:
- resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
- engines: {node: '>=0.10.0'}
+ resolution:
+ {
+ integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==,
+ }
+ engines: { node: '>=0.10.0' }
source-map@0.5.7:
- resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==}
- engines: {node: '>=0.10.0'}
+ resolution:
+ {
+ integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==,
+ }
+ engines: { node: '>=0.10.0' }
source-map@0.6.1:
- resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
- engines: {node: '>=0.10.0'}
+ resolution:
+ {
+ integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==,
+ }
+ engines: { node: '>=0.10.0' }
spawn-command@0.0.2:
- resolution: {integrity: sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==}
+ resolution:
+ {
+ integrity: sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==,
+ }
stackback@0.0.2:
- resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==}
+ resolution:
+ {
+ integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==,
+ }
statuses@2.0.1:
- resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==}
- engines: {node: '>= 0.8'}
+ resolution:
+ {
+ integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==,
+ }
+ engines: { node: '>= 0.8' }
std-env@3.7.0:
- resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==}
+ resolution:
+ {
+ integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==,
+ }
std-env@3.9.0:
- resolution: {integrity: sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==}
+ resolution:
+ {
+ integrity: sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==,
+ }
stop-iteration-iterator@1.1.0:
- resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==,
+ }
+ engines: { node: '>= 0.4' }
storybook@9.0.14:
- resolution: {integrity: sha512-PfVo9kSa4XsDTD2gXFvMRGix032+clBDcUMI4MhUzYxONLiZifnhwch4p/1lG+c3IVN4qkOEgGNc9PEgVMgApw==}
+ resolution:
+ {
+ integrity: sha512-PfVo9kSa4XsDTD2gXFvMRGix032+clBDcUMI4MhUzYxONLiZifnhwch4p/1lG+c3IVN4qkOEgGNc9PEgVMgApw==,
+ }
hasBin: true
peerDependencies:
prettier: ^2 || ^3
@@ -2851,272 +4745,479 @@ packages:
optional: true
strict-event-emitter@0.5.1:
- resolution: {integrity: sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ==}
+ resolution:
+ {
+ integrity: sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ==,
+ }
string-width@4.2.3:
- resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==,
+ }
+ engines: { node: '>=8' }
string-width@5.1.2:
- resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
- engines: {node: '>=12'}
+ resolution:
+ {
+ integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==,
+ }
+ engines: { node: '>=12' }
string.prototype.matchall@4.0.11:
- resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==,
+ }
+ engines: { node: '>= 0.4' }
string.prototype.repeat@1.0.0:
- resolution: {integrity: sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==}
+ resolution:
+ {
+ integrity: sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==,
+ }
string.prototype.trim@1.2.10:
- resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==,
+ }
+ engines: { node: '>= 0.4' }
string.prototype.trim@1.2.9:
- resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==,
+ }
+ engines: { node: '>= 0.4' }
string.prototype.trimend@1.0.8:
- resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==}
+ resolution:
+ {
+ integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==,
+ }
string.prototype.trimend@1.0.9:
- resolution: {integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==,
+ }
+ engines: { node: '>= 0.4' }
string.prototype.trimstart@1.0.8:
- resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==,
+ }
+ engines: { node: '>= 0.4' }
strip-ansi@6.0.1:
- resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==,
+ }
+ engines: { node: '>=8' }
strip-ansi@7.1.0:
- resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
- engines: {node: '>=12'}
+ resolution:
+ {
+ integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==,
+ }
+ engines: { node: '>=12' }
strip-bom@3.0.0:
- resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==}
- engines: {node: '>=4'}
+ resolution:
+ {
+ integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==,
+ }
+ engines: { node: '>=4' }
strip-indent@3.0.0:
- resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==,
+ }
+ engines: { node: '>=8' }
strip-json-comments@3.1.1:
- resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==,
+ }
+ engines: { node: '>=8' }
strip-literal@3.0.0:
- resolution: {integrity: sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==}
+ resolution:
+ {
+ integrity: sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==,
+ }
stylis@4.2.0:
- resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==}
+ resolution:
+ {
+ integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==,
+ }
supports-color@7.2.0:
- resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==,
+ }
+ engines: { node: '>=8' }
supports-color@8.1.1:
- resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==,
+ }
+ engines: { node: '>=10' }
supports-preserve-symlinks-flag@1.0.0:
- resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==,
+ }
+ engines: { node: '>= 0.4' }
symbol-tree@3.2.4:
- resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==}
+ resolution:
+ {
+ integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==,
+ }
synckit@0.11.8:
- resolution: {integrity: sha512-+XZ+r1XGIJGeQk3VvXhT6xx/VpbHsRzsTkGgF6E5RX9TTXD0118l87puaEBZ566FhqblC6U0d4XnubznJDm30A==}
- engines: {node: ^14.18.0 || >=16.0.0}
+ resolution:
+ {
+ integrity: sha512-+XZ+r1XGIJGeQk3VvXhT6xx/VpbHsRzsTkGgF6E5RX9TTXD0118l87puaEBZ566FhqblC6U0d4XnubznJDm30A==,
+ }
+ engines: { node: ^14.18.0 || >=16.0.0 }
test-exclude@7.0.1:
- resolution: {integrity: sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==}
- engines: {node: '>=18'}
+ resolution:
+ {
+ integrity: sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==,
+ }
+ engines: { node: '>=18' }
tiny-invariant@1.3.3:
- resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==}
+ resolution:
+ {
+ integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==,
+ }
tinybench@2.9.0:
- resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==}
+ resolution:
+ {
+ integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==,
+ }
tinyexec@0.3.2:
- resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==}
+ resolution:
+ {
+ integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==,
+ }
tinyglobby@0.2.14:
- resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==}
- engines: {node: '>=12.0.0'}
+ resolution:
+ {
+ integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==,
+ }
+ engines: { node: '>=12.0.0' }
tinypool@1.1.1:
- resolution: {integrity: sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==}
- engines: {node: ^18.0.0 || >=20.0.0}
+ resolution:
+ {
+ integrity: sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==,
+ }
+ engines: { node: ^18.0.0 || >=20.0.0 }
tinyrainbow@1.2.0:
- resolution: {integrity: sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==}
- engines: {node: '>=14.0.0'}
+ resolution:
+ {
+ integrity: sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==,
+ }
+ engines: { node: '>=14.0.0' }
tinyrainbow@2.0.0:
- resolution: {integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==}
- engines: {node: '>=14.0.0'}
+ resolution:
+ {
+ integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==,
+ }
+ engines: { node: '>=14.0.0' }
tinyspy@4.0.3:
- resolution: {integrity: sha512-t2T/WLB2WRgZ9EpE4jgPJ9w+i66UZfDc8wHh0xrwiRNN+UwH98GIJkTeZqX9rg0i0ptwzqW+uYeIF0T4F8LR7A==}
- engines: {node: '>=14.0.0'}
+ resolution:
+ {
+ integrity: sha512-t2T/WLB2WRgZ9EpE4jgPJ9w+i66UZfDc8wHh0xrwiRNN+UwH98GIJkTeZqX9rg0i0ptwzqW+uYeIF0T4F8LR7A==,
+ }
+ engines: { node: '>=14.0.0' }
tldts-core@6.1.56:
- resolution: {integrity: sha512-Ihxv/Bwiyj73icTYVgBUkQ3wstlCglLoegSgl64oSrGUBX1hc7Qmf/CnrnJLaQdZrCnTaLqMYOwKMKlkfkFrxQ==}
+ resolution:
+ {
+ integrity: sha512-Ihxv/Bwiyj73icTYVgBUkQ3wstlCglLoegSgl64oSrGUBX1hc7Qmf/CnrnJLaQdZrCnTaLqMYOwKMKlkfkFrxQ==,
+ }
tldts@6.1.56:
- resolution: {integrity: sha512-2PT1oRZCxtsbLi5R2SQjE/v4vvgRggAtVcYj+3Rrcnu2nPZvu7m64+gDa/EsVSWd3QzEc0U0xN+rbEKsJC47kA==}
+ resolution:
+ {
+ integrity: sha512-2PT1oRZCxtsbLi5R2SQjE/v4vvgRggAtVcYj+3Rrcnu2nPZvu7m64+gDa/EsVSWd3QzEc0U0xN+rbEKsJC47kA==,
+ }
hasBin: true
to-regex-range@5.0.1:
- resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
- engines: {node: '>=8.0'}
+ resolution:
+ {
+ integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==,
+ }
+ engines: { node: '>=8.0' }
toidentifier@1.0.1:
- resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}
- engines: {node: '>=0.6'}
+ resolution:
+ {
+ integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==,
+ }
+ engines: { node: '>=0.6' }
totalist@3.0.1:
- resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==}
- engines: {node: '>=6'}
+ resolution:
+ {
+ integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==,
+ }
+ engines: { node: '>=6' }
tough-cookie@4.1.4:
- resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==}
- engines: {node: '>=6'}
+ resolution:
+ {
+ integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==,
+ }
+ engines: { node: '>=6' }
tough-cookie@5.1.2:
- resolution: {integrity: sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==}
- engines: {node: '>=16'}
+ resolution:
+ {
+ integrity: sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==,
+ }
+ engines: { node: '>=16' }
tr46@5.1.1:
- resolution: {integrity: sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==}
- engines: {node: '>=18'}
+ resolution:
+ {
+ integrity: sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==,
+ }
+ engines: { node: '>=18' }
tree-kill@1.2.2:
- resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==}
+ resolution:
+ {
+ integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==,
+ }
hasBin: true
ts-api-utils@1.3.0:
- resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==}
- engines: {node: '>=16'}
+ resolution:
+ {
+ integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==,
+ }
+ engines: { node: '>=16' }
peerDependencies:
typescript: '>=4.2.0'
ts-api-utils@2.1.0:
- resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==}
- engines: {node: '>=18.12'}
+ resolution:
+ {
+ integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==,
+ }
+ engines: { node: '>=18.12' }
peerDependencies:
typescript: '>=4.8.4'
tsconfig-paths@3.15.0:
- resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==}
+ resolution:
+ {
+ integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==,
+ }
tslib@2.8.0:
- resolution: {integrity: sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==}
+ resolution:
+ {
+ integrity: sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==,
+ }
type-check@0.4.0:
- resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
- engines: {node: '>= 0.8.0'}
+ resolution:
+ {
+ integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==,
+ }
+ engines: { node: '>= 0.8.0' }
type-fest@0.21.3:
- resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==,
+ }
+ engines: { node: '>=10' }
type-fest@4.26.1:
- resolution: {integrity: sha512-yOGpmOAL7CkKe/91I5O3gPICmJNLJ1G4zFYVAsRHg7M64biSnPtRj0WNQt++bRkjYOqjWXrhnUw1utzmVErAdg==}
- engines: {node: '>=16'}
+ resolution:
+ {
+ integrity: sha512-yOGpmOAL7CkKe/91I5O3gPICmJNLJ1G4zFYVAsRHg7M64biSnPtRj0WNQt++bRkjYOqjWXrhnUw1utzmVErAdg==,
+ }
+ engines: { node: '>=16' }
type-is@1.6.18:
- resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==}
- engines: {node: '>= 0.6'}
+ resolution:
+ {
+ integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==,
+ }
+ engines: { node: '>= 0.6' }
typed-array-buffer@1.0.2:
- resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==,
+ }
+ engines: { node: '>= 0.4' }
typed-array-buffer@1.0.3:
- resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==,
+ }
+ engines: { node: '>= 0.4' }
typed-array-byte-length@1.0.1:
- resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==,
+ }
+ engines: { node: '>= 0.4' }
typed-array-byte-length@1.0.3:
- resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==,
+ }
+ engines: { node: '>= 0.4' }
typed-array-byte-offset@1.0.2:
- resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==,
+ }
+ engines: { node: '>= 0.4' }
typed-array-byte-offset@1.0.4:
- resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==,
+ }
+ engines: { node: '>= 0.4' }
typed-array-length@1.0.6:
- resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==,
+ }
+ engines: { node: '>= 0.4' }
typed-array-length@1.0.7:
- resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==,
+ }
+ engines: { node: '>= 0.4' }
typescript@5.6.3:
- resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==}
- engines: {node: '>=14.17'}
+ resolution:
+ {
+ integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==,
+ }
+ engines: { node: '>=14.17' }
hasBin: true
unbox-primitive@1.0.2:
- resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==}
+ resolution:
+ {
+ integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==,
+ }
unbox-primitive@1.1.0:
- resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==,
+ }
+ engines: { node: '>= 0.4' }
undici-types@6.21.0:
- resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==}
+ resolution:
+ {
+ integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==,
+ }
universalify@0.2.0:
- resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==}
- engines: {node: '>= 4.0.0'}
+ resolution:
+ {
+ integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==,
+ }
+ engines: { node: '>= 4.0.0' }
unpipe@1.0.0:
- resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==}
- engines: {node: '>= 0.8'}
+ resolution:
+ {
+ integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==,
+ }
+ engines: { node: '>= 0.8' }
uri-js@4.4.1:
- resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
+ resolution:
+ {
+ integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==,
+ }
url-parse@1.5.10:
- resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==}
+ resolution:
+ {
+ integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==,
+ }
utils-merge@1.0.1:
- resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==}
- engines: {node: '>= 0.4.0'}
+ resolution:
+ {
+ integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==,
+ }
+ engines: { node: '>= 0.4.0' }
vary@1.1.2:
- resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
- engines: {node: '>= 0.8'}
+ resolution:
+ {
+ integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==,
+ }
+ engines: { node: '>= 0.8' }
vite-node@3.2.4:
- resolution: {integrity: sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==}
- engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
+ resolution:
+ {
+ integrity: sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==,
+ }
+ engines: { node: ^18.0.0 || ^20.0.0 || >=22.0.0 }
hasBin: true
vite-plugin-eslint@1.8.1:
- resolution: {integrity: sha512-PqdMf3Y2fLO9FsNPmMX+//2BF5SF8nEWspZdgl4kSt7UvHDRHVVfHvxsD7ULYzZrJDGRxR81Nq7TOFgwMnUang==}
+ resolution:
+ {
+ integrity: sha512-PqdMf3Y2fLO9FsNPmMX+//2BF5SF8nEWspZdgl4kSt7UvHDRHVVfHvxsD7ULYzZrJDGRxR81Nq7TOFgwMnUang==,
+ }
peerDependencies:
eslint: '>=7'
vite: '>=2'
vite@7.0.2:
- resolution: {integrity: sha512-hxdyZDY1CM6SNpKI4w4lcUc3Mtkd9ej4ECWVHSMrOdSinVc2zYOAppHeGc/hzmRo3pxM5blMzkuWHOJA/3NiFw==}
- engines: {node: ^20.19.0 || >=22.12.0}
+ resolution:
+ {
+ integrity: sha512-hxdyZDY1CM6SNpKI4w4lcUc3Mtkd9ej4ECWVHSMrOdSinVc2zYOAppHeGc/hzmRo3pxM5blMzkuWHOJA/3NiFw==,
+ }
+ engines: { node: ^20.19.0 || >=22.12.0 }
hasBin: true
peerDependencies:
'@types/node': ^20.19.0 || >=22.12.0
@@ -3155,8 +5256,11 @@ packages:
optional: true
vitest@3.2.4:
- resolution: {integrity: sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==}
- engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
+ resolution:
+ {
+ integrity: sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==,
+ }
+ engines: { node: ^18.0.0 || ^20.0.0 || >=22.0.0 }
hasBin: true
peerDependencies:
'@edge-runtime/vm': '*'
@@ -3183,81 +5287,138 @@ packages:
optional: true
w3c-xmlserializer@5.0.0:
- resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==}
- engines: {node: '>=18'}
+ resolution:
+ {
+ integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==,
+ }
+ engines: { node: '>=18' }
webidl-conversions@7.0.0:
- resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==}
- engines: {node: '>=12'}
+ resolution:
+ {
+ integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==,
+ }
+ engines: { node: '>=12' }
whatwg-encoding@3.1.1:
- resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==}
- engines: {node: '>=18'}
+ resolution:
+ {
+ integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==,
+ }
+ engines: { node: '>=18' }
whatwg-mimetype@4.0.0:
- resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==}
- engines: {node: '>=18'}
+ resolution:
+ {
+ integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==,
+ }
+ engines: { node: '>=18' }
whatwg-url@14.2.0:
- resolution: {integrity: sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==}
- engines: {node: '>=18'}
+ resolution:
+ {
+ integrity: sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==,
+ }
+ engines: { node: '>=18' }
which-boxed-primitive@1.0.2:
- resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
+ resolution:
+ {
+ integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==,
+ }
which-boxed-primitive@1.1.1:
- resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==,
+ }
+ engines: { node: '>= 0.4' }
which-builtin-type@1.1.4:
- resolution: {integrity: sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==,
+ }
+ engines: { node: '>= 0.4' }
which-builtin-type@1.2.1:
- resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==,
+ }
+ engines: { node: '>= 0.4' }
which-collection@1.0.2:
- resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==,
+ }
+ engines: { node: '>= 0.4' }
which-typed-array@1.1.15:
- resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==,
+ }
+ engines: { node: '>= 0.4' }
which-typed-array@1.1.19:
- resolution: {integrity: sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==}
- engines: {node: '>= 0.4'}
+ resolution:
+ {
+ integrity: sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==,
+ }
+ engines: { node: '>= 0.4' }
which@2.0.2:
- resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
- engines: {node: '>= 8'}
+ resolution:
+ {
+ integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==,
+ }
+ engines: { node: '>= 8' }
hasBin: true
why-is-node-running@2.3.0:
- resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==,
+ }
+ engines: { node: '>=8' }
hasBin: true
word-wrap@1.2.5:
- resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
- engines: {node: '>=0.10.0'}
+ resolution:
+ {
+ integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==,
+ }
+ engines: { node: '>=0.10.0' }
wrap-ansi@6.2.0:
- resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==}
- engines: {node: '>=8'}
+ resolution:
+ {
+ integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==,
+ }
+ engines: { node: '>=8' }
wrap-ansi@7.0.0:
- resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==,
+ }
+ engines: { node: '>=10' }
wrap-ansi@8.1.0:
- resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
- engines: {node: '>=12'}
+ resolution:
+ {
+ integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==,
+ }
+ engines: { node: '>=12' }
ws@8.18.0:
- resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==}
- engines: {node: '>=10.0.0'}
+ resolution:
+ {
+ integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==,
+ }
+ engines: { node: '>=10.0.0' }
peerDependencies:
bufferutil: ^4.0.1
utf-8-validate: '>=5.0.2'
@@ -3268,38 +5429,61 @@ packages:
optional: true
xml-name-validator@5.0.0:
- resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==}
- engines: {node: '>=18'}
+ resolution:
+ {
+ integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==,
+ }
+ engines: { node: '>=18' }
xmlchars@2.2.0:
- resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==}
+ resolution:
+ {
+ integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==,
+ }
y18n@5.0.8:
- resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==,
+ }
+ engines: { node: '>=10' }
yaml@1.10.2:
- resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
- engines: {node: '>= 6'}
+ resolution:
+ {
+ integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==,
+ }
+ engines: { node: '>= 6' }
yargs-parser@21.1.1:
- resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
- engines: {node: '>=12'}
+ resolution:
+ {
+ integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==,
+ }
+ engines: { node: '>=12' }
yargs@17.7.2:
- resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==}
- engines: {node: '>=12'}
+ resolution:
+ {
+ integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==,
+ }
+ engines: { node: '>=12' }
yocto-queue@0.1.0:
- resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
- engines: {node: '>=10'}
+ resolution:
+ {
+ integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==,
+ }
+ engines: { node: '>=10' }
yoctocolors-cjs@2.1.2:
- resolution: {integrity: sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==}
- engines: {node: '>=18'}
+ resolution:
+ {
+ integrity: sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==,
+ }
+ engines: { node: '>=18' }
snapshots:
-
'@adobe/css-tools@4.4.0': {}
'@ampproject/remapping@2.3.0':
@@ -4957,10 +7141,10 @@ snapshots:
- eslint-import-resolver-webpack
- supports-color
- eslint-plugin-prettier@5.5.1(@types/eslint@8.56.12)(eslint-config-prettier@10.1.5(eslint@9.30.0))(eslint@9.30.0)(prettier@3.3.3):
+ eslint-plugin-prettier@5.5.1(@types/eslint@8.56.12)(eslint-config-prettier@10.1.5(eslint@9.30.0))(eslint@9.30.0)(prettier@3.6.2):
dependencies:
eslint: 9.30.0
- prettier: 3.3.3
+ prettier: 3.6.2
prettier-linter-helpers: 1.0.0
synckit: 0.11.8
optionalDependencies:
@@ -4993,11 +7177,11 @@ snapshots:
string.prototype.matchall: 4.0.11
string.prototype.repeat: 1.0.0
- eslint-plugin-storybook@9.0.14(eslint@9.30.0)(storybook@9.0.14(@testing-library/dom@10.4.0)(prettier@3.3.3))(typescript@5.6.3):
+ eslint-plugin-storybook@9.0.14(eslint@9.30.0)(storybook@9.0.14(@testing-library/dom@10.4.0)(prettier@3.6.2))(typescript@5.6.3):
dependencies:
'@typescript-eslint/utils': 8.35.0(eslint@9.30.0)(typescript@5.6.3)
eslint: 9.30.0
- storybook: 9.0.14(@testing-library/dom@10.4.0)(prettier@3.3.3)
+ storybook: 9.0.14(@testing-library/dom@10.4.0)(prettier@3.6.2)
transitivePeerDependencies:
- supports-color
- typescript
@@ -5983,7 +8167,7 @@ snapshots:
dependencies:
fast-diff: 1.3.0
- prettier@3.3.3: {}
+ prettier@3.6.2: {}
pretty-format@27.5.1:
dependencies:
@@ -6330,7 +8514,7 @@ snapshots:
es-errors: 1.3.0
internal-slot: 1.1.0
- storybook@9.0.14(@testing-library/dom@10.4.0)(prettier@3.3.3):
+ storybook@9.0.14(@testing-library/dom@10.4.0)(prettier@3.6.2):
dependencies:
'@storybook/global': 5.0.0
'@testing-library/jest-dom': 6.6.3
@@ -6344,7 +8528,7 @@ snapshots:
semver: 7.6.3
ws: 8.18.0
optionalDependencies:
- prettier: 3.3.3
+ prettier: 3.6.2
transitivePeerDependencies:
- '@testing-library/dom'
- bufferutil
diff --git a/public/vite.svg b/public/vite.svg
index e7b8dfb1..c42ec851 100644
--- a/public/vite.svg
+++ b/public/vite.svg
@@ -1 +1,43 @@
-
\ No newline at end of file
+
diff --git a/src/App.tsx b/src/App.tsx
index 195c5b05..0846d435 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -1,4 +1,4 @@
-import { Notifications, ChevronLeft, ChevronRight, Delete, Edit, Close } from '@mui/icons-material';
+import { ChevronLeft, ChevronRight, Close, Delete, Edit, Notifications } from '@mui/icons-material';
import {
Alert,
AlertTitle,
@@ -35,8 +35,7 @@ import { useEventForm } from './hooks/useEventForm.ts';
import { useEventOperations } from './hooks/useEventOperations.ts';
import { useNotifications } from './hooks/useNotifications.ts';
import { useSearch } from './hooks/useSearch.ts';
-// import { Event, EventForm, RepeatType } from './types';
-import { Event, EventForm } from './types';
+import { Event, EventForm, RepeatType } from './types';
import {
formatDate,
formatMonth,
@@ -77,11 +76,11 @@ function App() {
isRepeating,
setIsRepeating,
repeatType,
- // setRepeatType,
+ setRepeatType,
repeatInterval,
- // setRepeatInterval,
+ setRepeatInterval,
repeatEndDate,
- // setRepeatEndDate,
+ setRepeatEndDate,
notificationTime,
setNotificationTime,
startTimeError,
@@ -437,8 +436,7 @@ function App() {
- {/* ! ๋ฐ๋ณต์ 8์ฃผ์ฐจ ๊ณผ์ ์ ํฌํจ๋ฉ๋๋ค. ๊ตฌํํ๊ณ ์ถ์ด๋ ์ฐธ์์ฃผ์ธ์~ */}
- {/* {isRepeating && (
+ {isRepeating && (
๋ฐ๋ณต ์ ํ
@@ -475,7 +473,7 @@ function App() {
- )} */}
+ )}