From 7a5cacc54cb6014ff80ed8b1f25aa0f5d8a0bce8 Mon Sep 17 00:00:00 2001 From: Christian LeDoux Date: Tue, 7 Jul 2026 20:42:46 -0400 Subject: [PATCH] Scaffold CommiTea: yarn workspaces, Electron shell, core label schema, design system MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - apps/desktop: electron-vite + React + Tailwind mapped onto design tokens (preflight off; tokens/base.css owns the reset); boots to a Reginald placeholder proving fonts/tokens/core wiring - packages/core: pure TS; gitea label schema (est/*, p/*, deadline/hard) with pessimistic conflict resolution + 15 unit tests - docs/design: full design handoff (tokens, 16 component contracts, interactive 14-screen prototype, Reginald voice rules) - docs/PLAN.md: product plan (purity rule, pm-state repo, deterministic scheduler + Monte Carlo, directive log) - Deliberate deviation from novelpad stack: no ElectricSQL/PGlite — local store is a rebuildable cache over gitea REST/webhooks (better-sqlite3 in main process, arriving in P1) Co-Authored-By: Claude Fable 5 --- .gitignore | 12 + .yarnrc.yml | 1 + README.md | 36 + apps/desktop/electron.vite.config.ts | 10 + apps/desktop/package.json | 30 + apps/desktop/postcss.config.js | 6 + apps/desktop/src/main/index.ts | 44 + apps/desktop/src/preload/index.ts | 9 + apps/desktop/src/renderer/index.html | 16 + apps/desktop/src/renderer/src/app.tsx | 26 + .../fonts/caslon-display-normal-400.woff2 | Bin 0 -> 16124 bytes .../assets/fonts/caslon-text-italic-400.woff2 | Bin 0 -> 19576 bytes .../assets/fonts/caslon-text-normal-400.woff2 | Bin 0 -> 16984 bytes .../assets/fonts/caslon-text-normal-700.woff2 | Bin 0 -> 17292 bytes .../instrument-sans-italic-400-700.woff2 | Bin 0 -> 31788 bytes .../instrument-sans-normal-400-700.woff2 | Bin 0 -> 29904 bytes .../assets/fonts/plex-mono-normal-400.woff2 | Bin 0 -> 10052 bytes .../assets/fonts/plex-mono-normal-500.woff2 | Bin 0 -> 10060 bytes .../assets/fonts/plex-mono-normal-600.woff2 | Bin 0 -> 10120 bytes .../src/design/assets/icons/activity.svg | 3 + .../src/design/assets/icons/arrow-left.svg | 4 + .../src/design/assets/icons/arrow-right.svg | 4 + .../design/assets/icons/arrow-up-right.svg | 4 + .../renderer/src/design/assets/icons/bell.svg | 4 + .../src/design/assets/icons/calendar.svg | 6 + .../src/design/assets/icons/chart-line.svg | 4 + .../assets/icons/chart-no-axes-gantt.svg | 5 + .../src/design/assets/icons/check.svg | 3 + .../src/design/assets/icons/chevron-down.svg | 3 + .../src/design/assets/icons/chevron-left.svg | 3 + .../src/design/assets/icons/chevron-right.svg | 3 + .../src/design/assets/icons/chevron-up.svg | 3 + .../src/design/assets/icons/circle-alert.svg | 5 + .../src/design/assets/icons/circle-check.svg | 4 + .../src/design/assets/icons/circle-dashed.svg | 10 + .../src/design/assets/icons/circle-dot.svg | 4 + .../src/design/assets/icons/circle.svg | 3 + .../src/design/assets/icons/clock-3.svg | 4 + .../src/design/assets/icons/clock.svg | 4 + .../src/design/assets/icons/coffee.svg | 6 + .../renderer/src/design/assets/icons/copy.svg | 4 + .../src/design/assets/icons/ellipsis.svg | 5 + .../src/design/assets/icons/external-link.svg | 5 + .../renderer/src/design/assets/icons/eye.svg | 4 + .../src/design/assets/icons/filter.svg | 3 + .../renderer/src/design/assets/icons/flag.svg | 4 + .../src/design/assets/icons/gauge.svg | 4 + .../src/design/assets/icons/git-branch.svg | 6 + .../assets/icons/git-commit-horizontal.svg | 5 + .../src/design/assets/icons/git-merge.svg | 5 + .../design/assets/icons/git-pull-request.svg | 6 + .../src/design/assets/icons/history.svg | 5 + .../src/design/assets/icons/inbox.svg | 4 + .../renderer/src/design/assets/icons/info.svg | 5 + .../src/design/assets/icons/keyboard.svg | 11 + .../src/design/assets/icons/layers.svg | 5 + .../renderer/src/design/assets/icons/leaf.svg | 4 + .../renderer/src/design/assets/icons/link.svg | 4 + .../src/design/assets/icons/list-filter.svg | 5 + .../renderer/src/design/assets/icons/list.svg | 8 + .../src/design/assets/icons/loader-circle.svg | 3 + .../design/assets/icons/message-square.svg | 3 + .../src/design/assets/icons/milestone.svg | 5 + .../src/design/assets/icons/minus.svg | 3 + .../renderer/src/design/assets/icons/moon.svg | 3 + .../src/design/assets/icons/network.svg | 7 + .../src/design/assets/icons/panel-left.svg | 4 + .../src/design/assets/icons/pause.svg | 4 + .../src/design/assets/icons/pencil.svg | 4 + .../renderer/src/design/assets/icons/play.svg | 3 + .../renderer/src/design/assets/icons/plus.svg | 4 + .../src/design/assets/icons/refresh-cw.svg | 6 + .../src/design/assets/icons/search.svg | 4 + .../renderer/src/design/assets/icons/send.svg | 4 + .../src/design/assets/icons/settings-2.svg | 6 + .../src/design/assets/icons/settings.svg | 4 + .../src/design/assets/icons/sparkles.svg | 7 + .../src/design/assets/icons/square-kanban.svg | 6 + .../renderer/src/design/assets/icons/sun.svg | 11 + .../renderer/src/design/assets/icons/tag.svg | 4 + .../src/design/assets/icons/target.svg | 5 + .../src/design/assets/icons/trash-2.svg | 7 + .../src/design/assets/icons/trending-up.svg | 4 + .../design/assets/icons/triangle-alert.svg | 5 + .../renderer/src/design/assets/icons/user.svg | 4 + .../src/design/assets/icons/users.svg | 6 + .../renderer/src/design/assets/icons/x.svg | 4 + .../renderer/src/design/assets/icons/zap.svg | 3 + .../renderer/src/design/assets/logo-icon.png | Bin 0 -> 303289 bytes .../src/renderer/src/design/assets/logo.jpeg | Bin 0 -> 43662 bytes .../src/renderer/src/design/styles.css | 5 + .../src/renderer/src/design/tokens/base.css | 37 + .../src/renderer/src/design/tokens/colors.css | 137 + .../src/renderer/src/design/tokens/fonts.css | 65 + .../renderer/src/design/tokens/spacing.css | 44 + .../renderer/src/design/tokens/typography.css | 34 + apps/desktop/src/renderer/src/index.css | 5 + apps/desktop/src/renderer/src/main.tsx | 11 + apps/desktop/tailwind.config.js | 67 + apps/desktop/tsconfig.json | 9 + docs/PLAN.md | 124 + docs/design/README.md | 74 + docs/design/SKILL.md | 16 + docs/design/_ds_bundle.js | 6692 +++++++++++++++++ .../fonts/caslon-display-normal-400.woff2 | Bin 0 -> 16124 bytes .../assets/fonts/caslon-text-italic-400.woff2 | Bin 0 -> 19576 bytes .../assets/fonts/caslon-text-normal-400.woff2 | Bin 0 -> 16984 bytes .../assets/fonts/caslon-text-normal-700.woff2 | Bin 0 -> 17292 bytes .../instrument-sans-italic-400-700.woff2 | Bin 0 -> 31788 bytes .../instrument-sans-normal-400-700.woff2 | Bin 0 -> 29904 bytes .../assets/fonts/plex-mono-normal-400.woff2 | Bin 0 -> 10052 bytes .../assets/fonts/plex-mono-normal-500.woff2 | Bin 0 -> 10060 bytes .../assets/fonts/plex-mono-normal-600.woff2 | Bin 0 -> 10120 bytes docs/design/assets/icons/activity.svg | 3 + docs/design/assets/icons/arrow-left.svg | 4 + docs/design/assets/icons/arrow-right.svg | 4 + docs/design/assets/icons/arrow-up-right.svg | 4 + docs/design/assets/icons/bell.svg | 4 + docs/design/assets/icons/calendar.svg | 6 + docs/design/assets/icons/chart-line.svg | 4 + .../assets/icons/chart-no-axes-gantt.svg | 5 + docs/design/assets/icons/check.svg | 3 + docs/design/assets/icons/chevron-down.svg | 3 + docs/design/assets/icons/chevron-left.svg | 3 + docs/design/assets/icons/chevron-right.svg | 3 + docs/design/assets/icons/chevron-up.svg | 3 + docs/design/assets/icons/circle-alert.svg | 5 + docs/design/assets/icons/circle-check.svg | 4 + docs/design/assets/icons/circle-dashed.svg | 10 + docs/design/assets/icons/circle-dot.svg | 4 + docs/design/assets/icons/circle.svg | 3 + docs/design/assets/icons/clock-3.svg | 4 + docs/design/assets/icons/clock.svg | 4 + docs/design/assets/icons/coffee.svg | 6 + docs/design/assets/icons/copy.svg | 4 + docs/design/assets/icons/ellipsis.svg | 5 + docs/design/assets/icons/external-link.svg | 5 + docs/design/assets/icons/eye.svg | 4 + docs/design/assets/icons/filter.svg | 3 + docs/design/assets/icons/flag.svg | 4 + docs/design/assets/icons/gauge.svg | 4 + docs/design/assets/icons/git-branch.svg | 6 + .../assets/icons/git-commit-horizontal.svg | 5 + docs/design/assets/icons/git-merge.svg | 5 + docs/design/assets/icons/git-pull-request.svg | 6 + docs/design/assets/icons/history.svg | 5 + docs/design/assets/icons/inbox.svg | 4 + docs/design/assets/icons/info.svg | 5 + docs/design/assets/icons/keyboard.svg | 11 + docs/design/assets/icons/layers.svg | 5 + docs/design/assets/icons/leaf.svg | 4 + docs/design/assets/icons/link.svg | 4 + docs/design/assets/icons/list-filter.svg | 5 + docs/design/assets/icons/list.svg | 8 + docs/design/assets/icons/loader-circle.svg | 3 + docs/design/assets/icons/message-square.svg | 3 + docs/design/assets/icons/milestone.svg | 5 + docs/design/assets/icons/minus.svg | 3 + docs/design/assets/icons/moon.svg | 3 + docs/design/assets/icons/network.svg | 7 + docs/design/assets/icons/panel-left.svg | 4 + docs/design/assets/icons/pause.svg | 4 + docs/design/assets/icons/pencil.svg | 4 + docs/design/assets/icons/play.svg | 3 + docs/design/assets/icons/plus.svg | 4 + docs/design/assets/icons/refresh-cw.svg | 6 + docs/design/assets/icons/search.svg | 4 + docs/design/assets/icons/send.svg | 4 + docs/design/assets/icons/settings-2.svg | 6 + docs/design/assets/icons/settings.svg | 4 + docs/design/assets/icons/sparkles.svg | 7 + docs/design/assets/icons/square-kanban.svg | 6 + docs/design/assets/icons/sun.svg | 11 + docs/design/assets/icons/tag.svg | 4 + docs/design/assets/icons/target.svg | 5 + docs/design/assets/icons/trash-2.svg | 7 + docs/design/assets/icons/trending-up.svg | 4 + docs/design/assets/icons/triangle-alert.svg | 5 + docs/design/assets/icons/user.svg | 4 + docs/design/assets/icons/users.svg | 6 + docs/design/assets/icons/x.svg | 4 + docs/design/assets/icons/zap.svg | 3 + docs/design/assets/logo-icon.png | Bin 0 -> 303289 bytes docs/design/assets/logo.jpeg | Bin 0 -> 43662 bytes docs/design/components/core/Badge.d-ts.txt | 12 + docs/design/components/core/Badge.js.txt | 32 + docs/design/components/core/Badge.prompt.md | 9 + docs/design/components/core/Button.d-ts.txt | 18 + docs/design/components/core/Button.js.txt | 63 + docs/design/components/core/Button.prompt.md | 10 + docs/design/components/core/Card.d-ts.txt | 21 + docs/design/components/core/Card.js.txt | 58 + docs/design/components/core/Card.prompt.md | 11 + docs/design/components/core/Icon.d-ts.txt | 15 + docs/design/components/core/Icon.js.txt | 32 + docs/design/components/core/Icon.prompt.md | 8 + .../components/core/IconButton.d-ts.txt | 17 + docs/design/components/core/IconButton.js.txt | 51 + .../components/core/IconButton.prompt.md | 8 + docs/design/components/core/Tabs.d-ts.txt | 19 + docs/design/components/core/Tabs.js.txt | 54 + docs/design/components/core/Tabs.prompt.md | 13 + docs/design/components/core/Tag.d-ts.txt | 12 + docs/design/components/core/Tag.js.txt | 54 + docs/design/components/core/Tag.prompt.md | 10 + docs/design/components/core/core.card.html | 75 + .../components/feedback/Dialog.d-ts.txt | 14 + docs/design/components/feedback/Dialog.js.txt | 68 + .../components/feedback/Dialog.prompt.md | 17 + .../design/components/feedback/Toast.d-ts.txt | 12 + docs/design/components/feedback/Toast.js.txt | 53 + .../components/feedback/Toast.prompt.md | 10 + .../components/feedback/Tooltip.d-ts.txt | 11 + .../design/components/feedback/Tooltip.js.txt | 43 + .../components/feedback/Tooltip.prompt.md | 8 + .../components/feedback/feedback.card.html | 52 + .../design/components/forms/Checkbox.d-ts.txt | 11 + docs/design/components/forms/Checkbox.js.txt | 43 + .../components/forms/Checkbox.prompt.md | 5 + docs/design/components/forms/Input.d-ts.txt | 21 + docs/design/components/forms/Input.js.txt | 54 + docs/design/components/forms/Input.prompt.md | 8 + docs/design/components/forms/Radio.d-ts.txt | 13 + docs/design/components/forms/Radio.js.txt | 50 + docs/design/components/forms/Radio.prompt.md | 6 + docs/design/components/forms/Select.d-ts.txt | 16 + docs/design/components/forms/Select.js.txt | 46 + docs/design/components/forms/Select.prompt.md | 14 + docs/design/components/forms/Switch.d-ts.txt | 11 + docs/design/components/forms/Switch.js.txt | 50 + docs/design/components/forms/Switch.prompt.md | 5 + docs/design/components/forms/forms.card.html | 48 + docs/design/design_system_readme.md | 84 + docs/design/styles.css | 5 + docs/design/tokens/base.css | 37 + docs/design/tokens/colors.css | 137 + docs/design/tokens/fonts.css | 65 + docs/design/tokens/spacing.css | 44 + docs/design/tokens/typography.css | 34 + docs/design/ui_kits/app/BoardScreen.js.txt | 80 + .../ui_kits/app/CalibrationScreen.js.txt | 128 + docs/design/ui_kits/app/CaptureScreen.js.txt | 185 + docs/design/ui_kits/app/Chart.js.txt | 70 + docs/design/ui_kits/app/ChatPanel.js.txt | 98 + docs/design/ui_kits/app/DepsGraph.js.txt | 128 + .../ui_kits/app/DirectivesScreen.js.txt | 103 + docs/design/ui_kits/app/FocusScreen.js.txt | 52 + docs/design/ui_kits/app/GanttView.js.txt | 103 + docs/design/ui_kits/app/InboxScreen.js.txt | 95 + docs/design/ui_kits/app/IssueScreen.js.txt | 172 + .../design/ui_kits/app/MilestoneScreen.js.txt | 98 + .../ui_kits/app/OnboardingScreen.js.txt | 167 + docs/design/ui_kits/app/README.md | 22 + docs/design/ui_kits/app/RunwayScreen.js.txt | 73 + docs/design/ui_kits/app/SettingsScreen.js.txt | 136 + docs/design/ui_kits/app/Shell.js.txt | 113 + docs/design/ui_kits/app/StandupScreen.js.txt | 112 + docs/design/ui_kits/app/StatesGallery.js.txt | 130 + docs/design/ui_kits/app/data.js | 203 + docs/design/ui_kits/app/index.html | 43 + package.json | 15 + packages/core/package.json | 16 + packages/core/src/index.ts | 10 + packages/core/src/labels/label-schema.test.ts | 97 + packages/core/src/labels/label-schema.ts | 91 + packages/core/tsconfig.json | 7 + tsconfig.base.json | 14 + yarn.lock | 3350 +++++++++ 268 files changed, 15766 insertions(+) create mode 100644 .gitignore create mode 100644 .yarnrc.yml create mode 100644 README.md create mode 100644 apps/desktop/electron.vite.config.ts create mode 100644 apps/desktop/package.json create mode 100644 apps/desktop/postcss.config.js create mode 100644 apps/desktop/src/main/index.ts create mode 100644 apps/desktop/src/preload/index.ts create mode 100644 apps/desktop/src/renderer/index.html create mode 100644 apps/desktop/src/renderer/src/app.tsx create mode 100644 apps/desktop/src/renderer/src/design/assets/fonts/caslon-display-normal-400.woff2 create mode 100644 apps/desktop/src/renderer/src/design/assets/fonts/caslon-text-italic-400.woff2 create mode 100644 apps/desktop/src/renderer/src/design/assets/fonts/caslon-text-normal-400.woff2 create mode 100644 apps/desktop/src/renderer/src/design/assets/fonts/caslon-text-normal-700.woff2 create mode 100644 apps/desktop/src/renderer/src/design/assets/fonts/instrument-sans-italic-400-700.woff2 create mode 100644 apps/desktop/src/renderer/src/design/assets/fonts/instrument-sans-normal-400-700.woff2 create mode 100644 apps/desktop/src/renderer/src/design/assets/fonts/plex-mono-normal-400.woff2 create mode 100644 apps/desktop/src/renderer/src/design/assets/fonts/plex-mono-normal-500.woff2 create mode 100644 apps/desktop/src/renderer/src/design/assets/fonts/plex-mono-normal-600.woff2 create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/activity.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/arrow-left.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/arrow-right.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/arrow-up-right.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/bell.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/calendar.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/chart-line.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/chart-no-axes-gantt.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/check.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/chevron-down.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/chevron-left.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/chevron-right.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/chevron-up.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/circle-alert.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/circle-check.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/circle-dashed.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/circle-dot.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/circle.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/clock-3.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/clock.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/coffee.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/copy.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/ellipsis.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/external-link.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/eye.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/filter.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/flag.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/gauge.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/git-branch.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/git-commit-horizontal.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/git-merge.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/git-pull-request.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/history.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/inbox.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/info.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/keyboard.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/layers.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/leaf.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/link.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/list-filter.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/list.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/loader-circle.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/message-square.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/milestone.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/minus.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/moon.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/network.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/panel-left.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/pause.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/pencil.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/play.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/plus.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/refresh-cw.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/search.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/send.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/settings-2.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/settings.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/sparkles.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/square-kanban.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/sun.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/tag.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/target.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/trash-2.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/trending-up.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/triangle-alert.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/user.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/users.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/x.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/icons/zap.svg create mode 100644 apps/desktop/src/renderer/src/design/assets/logo-icon.png create mode 100644 apps/desktop/src/renderer/src/design/assets/logo.jpeg create mode 100644 apps/desktop/src/renderer/src/design/styles.css create mode 100644 apps/desktop/src/renderer/src/design/tokens/base.css create mode 100644 apps/desktop/src/renderer/src/design/tokens/colors.css create mode 100644 apps/desktop/src/renderer/src/design/tokens/fonts.css create mode 100644 apps/desktop/src/renderer/src/design/tokens/spacing.css create mode 100644 apps/desktop/src/renderer/src/design/tokens/typography.css create mode 100644 apps/desktop/src/renderer/src/index.css create mode 100644 apps/desktop/src/renderer/src/main.tsx create mode 100644 apps/desktop/tailwind.config.js create mode 100644 apps/desktop/tsconfig.json create mode 100644 docs/PLAN.md create mode 100644 docs/design/README.md create mode 100644 docs/design/SKILL.md create mode 100644 docs/design/_ds_bundle.js create mode 100644 docs/design/assets/fonts/caslon-display-normal-400.woff2 create mode 100644 docs/design/assets/fonts/caslon-text-italic-400.woff2 create mode 100644 docs/design/assets/fonts/caslon-text-normal-400.woff2 create mode 100644 docs/design/assets/fonts/caslon-text-normal-700.woff2 create mode 100644 docs/design/assets/fonts/instrument-sans-italic-400-700.woff2 create mode 100644 docs/design/assets/fonts/instrument-sans-normal-400-700.woff2 create mode 100644 docs/design/assets/fonts/plex-mono-normal-400.woff2 create mode 100644 docs/design/assets/fonts/plex-mono-normal-500.woff2 create mode 100644 docs/design/assets/fonts/plex-mono-normal-600.woff2 create mode 100644 docs/design/assets/icons/activity.svg create mode 100644 docs/design/assets/icons/arrow-left.svg create mode 100644 docs/design/assets/icons/arrow-right.svg create mode 100644 docs/design/assets/icons/arrow-up-right.svg create mode 100644 docs/design/assets/icons/bell.svg create mode 100644 docs/design/assets/icons/calendar.svg create mode 100644 docs/design/assets/icons/chart-line.svg create mode 100644 docs/design/assets/icons/chart-no-axes-gantt.svg create mode 100644 docs/design/assets/icons/check.svg create mode 100644 docs/design/assets/icons/chevron-down.svg create mode 100644 docs/design/assets/icons/chevron-left.svg create mode 100644 docs/design/assets/icons/chevron-right.svg create mode 100644 docs/design/assets/icons/chevron-up.svg create mode 100644 docs/design/assets/icons/circle-alert.svg create mode 100644 docs/design/assets/icons/circle-check.svg create mode 100644 docs/design/assets/icons/circle-dashed.svg create mode 100644 docs/design/assets/icons/circle-dot.svg create mode 100644 docs/design/assets/icons/circle.svg create mode 100644 docs/design/assets/icons/clock-3.svg create mode 100644 docs/design/assets/icons/clock.svg create mode 100644 docs/design/assets/icons/coffee.svg create mode 100644 docs/design/assets/icons/copy.svg create mode 100644 docs/design/assets/icons/ellipsis.svg create mode 100644 docs/design/assets/icons/external-link.svg create mode 100644 docs/design/assets/icons/eye.svg create mode 100644 docs/design/assets/icons/filter.svg create mode 100644 docs/design/assets/icons/flag.svg create mode 100644 docs/design/assets/icons/gauge.svg create mode 100644 docs/design/assets/icons/git-branch.svg create mode 100644 docs/design/assets/icons/git-commit-horizontal.svg create mode 100644 docs/design/assets/icons/git-merge.svg create mode 100644 docs/design/assets/icons/git-pull-request.svg create mode 100644 docs/design/assets/icons/history.svg create mode 100644 docs/design/assets/icons/inbox.svg create mode 100644 docs/design/assets/icons/info.svg create mode 100644 docs/design/assets/icons/keyboard.svg create mode 100644 docs/design/assets/icons/layers.svg create mode 100644 docs/design/assets/icons/leaf.svg create mode 100644 docs/design/assets/icons/link.svg create mode 100644 docs/design/assets/icons/list-filter.svg create mode 100644 docs/design/assets/icons/list.svg create mode 100644 docs/design/assets/icons/loader-circle.svg create mode 100644 docs/design/assets/icons/message-square.svg create mode 100644 docs/design/assets/icons/milestone.svg create mode 100644 docs/design/assets/icons/minus.svg create mode 100644 docs/design/assets/icons/moon.svg create mode 100644 docs/design/assets/icons/network.svg create mode 100644 docs/design/assets/icons/panel-left.svg create mode 100644 docs/design/assets/icons/pause.svg create mode 100644 docs/design/assets/icons/pencil.svg create mode 100644 docs/design/assets/icons/play.svg create mode 100644 docs/design/assets/icons/plus.svg create mode 100644 docs/design/assets/icons/refresh-cw.svg create mode 100644 docs/design/assets/icons/search.svg create mode 100644 docs/design/assets/icons/send.svg create mode 100644 docs/design/assets/icons/settings-2.svg create mode 100644 docs/design/assets/icons/settings.svg create mode 100644 docs/design/assets/icons/sparkles.svg create mode 100644 docs/design/assets/icons/square-kanban.svg create mode 100644 docs/design/assets/icons/sun.svg create mode 100644 docs/design/assets/icons/tag.svg create mode 100644 docs/design/assets/icons/target.svg create mode 100644 docs/design/assets/icons/trash-2.svg create mode 100644 docs/design/assets/icons/trending-up.svg create mode 100644 docs/design/assets/icons/triangle-alert.svg create mode 100644 docs/design/assets/icons/user.svg create mode 100644 docs/design/assets/icons/users.svg create mode 100644 docs/design/assets/icons/x.svg create mode 100644 docs/design/assets/icons/zap.svg create mode 100644 docs/design/assets/logo-icon.png create mode 100644 docs/design/assets/logo.jpeg create mode 100644 docs/design/components/core/Badge.d-ts.txt create mode 100644 docs/design/components/core/Badge.js.txt create mode 100644 docs/design/components/core/Badge.prompt.md create mode 100644 docs/design/components/core/Button.d-ts.txt create mode 100644 docs/design/components/core/Button.js.txt create mode 100644 docs/design/components/core/Button.prompt.md create mode 100644 docs/design/components/core/Card.d-ts.txt create mode 100644 docs/design/components/core/Card.js.txt create mode 100644 docs/design/components/core/Card.prompt.md create mode 100644 docs/design/components/core/Icon.d-ts.txt create mode 100644 docs/design/components/core/Icon.js.txt create mode 100644 docs/design/components/core/Icon.prompt.md create mode 100644 docs/design/components/core/IconButton.d-ts.txt create mode 100644 docs/design/components/core/IconButton.js.txt create mode 100644 docs/design/components/core/IconButton.prompt.md create mode 100644 docs/design/components/core/Tabs.d-ts.txt create mode 100644 docs/design/components/core/Tabs.js.txt create mode 100644 docs/design/components/core/Tabs.prompt.md create mode 100644 docs/design/components/core/Tag.d-ts.txt create mode 100644 docs/design/components/core/Tag.js.txt create mode 100644 docs/design/components/core/Tag.prompt.md create mode 100644 docs/design/components/core/core.card.html create mode 100644 docs/design/components/feedback/Dialog.d-ts.txt create mode 100644 docs/design/components/feedback/Dialog.js.txt create mode 100644 docs/design/components/feedback/Dialog.prompt.md create mode 100644 docs/design/components/feedback/Toast.d-ts.txt create mode 100644 docs/design/components/feedback/Toast.js.txt create mode 100644 docs/design/components/feedback/Toast.prompt.md create mode 100644 docs/design/components/feedback/Tooltip.d-ts.txt create mode 100644 docs/design/components/feedback/Tooltip.js.txt create mode 100644 docs/design/components/feedback/Tooltip.prompt.md create mode 100644 docs/design/components/feedback/feedback.card.html create mode 100644 docs/design/components/forms/Checkbox.d-ts.txt create mode 100644 docs/design/components/forms/Checkbox.js.txt create mode 100644 docs/design/components/forms/Checkbox.prompt.md create mode 100644 docs/design/components/forms/Input.d-ts.txt create mode 100644 docs/design/components/forms/Input.js.txt create mode 100644 docs/design/components/forms/Input.prompt.md create mode 100644 docs/design/components/forms/Radio.d-ts.txt create mode 100644 docs/design/components/forms/Radio.js.txt create mode 100644 docs/design/components/forms/Radio.prompt.md create mode 100644 docs/design/components/forms/Select.d-ts.txt create mode 100644 docs/design/components/forms/Select.js.txt create mode 100644 docs/design/components/forms/Select.prompt.md create mode 100644 docs/design/components/forms/Switch.d-ts.txt create mode 100644 docs/design/components/forms/Switch.js.txt create mode 100644 docs/design/components/forms/Switch.prompt.md create mode 100644 docs/design/components/forms/forms.card.html create mode 100644 docs/design/design_system_readme.md create mode 100644 docs/design/styles.css create mode 100644 docs/design/tokens/base.css create mode 100644 docs/design/tokens/colors.css create mode 100644 docs/design/tokens/fonts.css create mode 100644 docs/design/tokens/spacing.css create mode 100644 docs/design/tokens/typography.css create mode 100644 docs/design/ui_kits/app/BoardScreen.js.txt create mode 100644 docs/design/ui_kits/app/CalibrationScreen.js.txt create mode 100644 docs/design/ui_kits/app/CaptureScreen.js.txt create mode 100644 docs/design/ui_kits/app/Chart.js.txt create mode 100644 docs/design/ui_kits/app/ChatPanel.js.txt create mode 100644 docs/design/ui_kits/app/DepsGraph.js.txt create mode 100644 docs/design/ui_kits/app/DirectivesScreen.js.txt create mode 100644 docs/design/ui_kits/app/FocusScreen.js.txt create mode 100644 docs/design/ui_kits/app/GanttView.js.txt create mode 100644 docs/design/ui_kits/app/InboxScreen.js.txt create mode 100644 docs/design/ui_kits/app/IssueScreen.js.txt create mode 100644 docs/design/ui_kits/app/MilestoneScreen.js.txt create mode 100644 docs/design/ui_kits/app/OnboardingScreen.js.txt create mode 100644 docs/design/ui_kits/app/README.md create mode 100644 docs/design/ui_kits/app/RunwayScreen.js.txt create mode 100644 docs/design/ui_kits/app/SettingsScreen.js.txt create mode 100644 docs/design/ui_kits/app/Shell.js.txt create mode 100644 docs/design/ui_kits/app/StandupScreen.js.txt create mode 100644 docs/design/ui_kits/app/StatesGallery.js.txt create mode 100644 docs/design/ui_kits/app/data.js create mode 100644 docs/design/ui_kits/app/index.html create mode 100644 package.json create mode 100644 packages/core/package.json create mode 100644 packages/core/src/index.ts create mode 100644 packages/core/src/labels/label-schema.test.ts create mode 100644 packages/core/src/labels/label-schema.ts create mode 100644 packages/core/tsconfig.json create mode 100644 tsconfig.base.json create mode 100644 yarn.lock diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5065492 --- /dev/null +++ b/.gitignore @@ -0,0 +1,12 @@ +node_modules/ +dist/ +out/ +*.log +.DS_Store +.env +.yarn/* +!.yarn/patches +!.yarn/plugins +!.yarn/releases +!.yarn/sdks +!.yarn/versions diff --git a/.yarnrc.yml b/.yarnrc.yml new file mode 100644 index 0000000..3186f3f --- /dev/null +++ b/.yarnrc.yml @@ -0,0 +1 @@ +nodeLinker: node-modules diff --git a/README.md b/README.md new file mode 100644 index 0000000..4ef66b1 --- /dev/null +++ b/README.md @@ -0,0 +1,36 @@ +# CommiTea + +AI project manager built on Gitea. A deterministic scheduler does the math +(Monte Carlo forecasts over your own estimate-vs-actual history); the agent — +Reginald — captures work via interview, negotiates priorities, and explains the +consequences. Gitea holds human-authored intent; a `pm-state` repo holds +machine-derived state. The LLM never does math. + +## Structure + +- `apps/desktop` — Electron app (electron-vite, React, Tailwind) +- `packages/core` — pure TypeScript: label schema, scheduler, gitea client (no + Electron imports) +- `docs/PLAN.md` — product plan (goals, phases, not-doing list) +- `docs/design/` — design handoff: tokens, component contracts, interactive + prototype (`docs/design/ui_kits/app/index.html` via a static server), brand + voice rules in `design_system_readme.md` + +## Development + +```sh +yarn # install +yarn dev # electron app, logs tee to apps/desktop/desktop.log +yarn test # unit tests (vitest) +yarn typecheck +``` + +## Conventions + +- Yarn 4 workspaces; ESM everywhere; `.js` extensions on relative imports +- `@commitea/core` stays pure — unit-testable without Electron or network +- Design tokens are the source of truth (`apps/desktop/src/renderer/src/design/`, + mirrored from `docs/design/`); Tailwind maps onto the CSS custom properties, + never redefines them +- Reginald's voice rules live in `docs/design/design_system_readme.md` — no + emoji, no point-date forecasts, wit in sentences never in buttons diff --git a/apps/desktop/electron.vite.config.ts b/apps/desktop/electron.vite.config.ts new file mode 100644 index 0000000..7cc4946 --- /dev/null +++ b/apps/desktop/electron.vite.config.ts @@ -0,0 +1,10 @@ +import react from '@vitejs/plugin-react' +import { defineConfig } from 'electron-vite' + +export default defineConfig({ + main: {}, + preload: {}, + renderer: { + plugins: [react()], + }, +}) diff --git a/apps/desktop/package.json b/apps/desktop/package.json new file mode 100644 index 0000000..5f128b0 --- /dev/null +++ b/apps/desktop/package.json @@ -0,0 +1,30 @@ +{ + "name": "@commitea/desktop", + "private": true, + "type": "module", + "main": "./out/main/index.js", + "scripts": { + "dev": "electron-vite dev 2>&1 | tee desktop.log", + "build": "electron-vite build", + "start": "electron-vite preview", + "typecheck": "tsc --noEmit" + }, + "dependencies": { + "@commitea/core": "workspace:*", + "react": "^18.3.1", + "react-dom": "^18.3.1" + }, + "devDependencies": { + "@types/node": "^22.13.1", + "@types/react": "^18.3.18", + "@types/react-dom": "^18.3.5", + "@vitejs/plugin-react": "^4.3.4", + "autoprefixer": "^10.4.20", + "electron": "^34.0.0", + "electron-vite": "^3.1.0", + "postcss": "^8.5.1", + "tailwindcss": "^3.4.17", + "typescript": "^5.7.3", + "vite": "^6.1.0" + } +} diff --git a/apps/desktop/postcss.config.js b/apps/desktop/postcss.config.js new file mode 100644 index 0000000..2e7af2b --- /dev/null +++ b/apps/desktop/postcss.config.js @@ -0,0 +1,6 @@ +export default { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +} diff --git a/apps/desktop/src/main/index.ts b/apps/desktop/src/main/index.ts new file mode 100644 index 0000000..c8b9573 --- /dev/null +++ b/apps/desktop/src/main/index.ts @@ -0,0 +1,44 @@ +import { join } from 'node:path' + +import { BrowserWindow, app, shell } from 'electron' + +function createWindow(): void { + const win = new BrowserWindow({ + width: 1440, + height: 900, + minWidth: 1080, + minHeight: 700, + show: false, + autoHideMenuBar: true, + backgroundColor: '#F0F4F0', + webPreferences: { + preload: join(import.meta.dirname, '../preload/index.mjs'), + sandbox: false, + }, + }) + + win.on('ready-to-show', () => win.show()) + + win.webContents.setWindowOpenHandler(({ url }) => { + void shell.openExternal(url) + return { action: 'deny' } + }) + + if (process.env.ELECTRON_RENDERER_URL) { + void win.loadURL(process.env.ELECTRON_RENDERER_URL) + } else { + void win.loadFile(join(import.meta.dirname, '../renderer/index.html')) + } +} + +void app.whenReady().then(() => { + createWindow() + + app.on('activate', () => { + if (BrowserWindow.getAllWindows().length === 0) createWindow() + }) +}) + +app.on('window-all-closed', () => { + if (process.platform !== 'darwin') app.quit() +}) diff --git a/apps/desktop/src/preload/index.ts b/apps/desktop/src/preload/index.ts new file mode 100644 index 0000000..cf4a6ed --- /dev/null +++ b/apps/desktop/src/preload/index.ts @@ -0,0 +1,9 @@ +import { contextBridge } from 'electron' + +const api = { + platform: process.platform, +} + +export type CommiteaApi = typeof api + +contextBridge.exposeInMainWorld('commitea', api) diff --git a/apps/desktop/src/renderer/index.html b/apps/desktop/src/renderer/index.html new file mode 100644 index 0000000..e6dcbaa --- /dev/null +++ b/apps/desktop/src/renderer/index.html @@ -0,0 +1,16 @@ + + + + + CommiTea + + + + +
+ + + diff --git a/apps/desktop/src/renderer/src/app.tsx b/apps/desktop/src/renderer/src/app.tsx new file mode 100644 index 0000000..ef35ec2 --- /dev/null +++ b/apps/desktop/src/renderer/src/app.tsx @@ -0,0 +1,26 @@ +import { extractLabelFacts } from '@commitea/core' + +const facts = extractLabelFacts(['est/3d', 'p/2', 'deadline/hard']) + +export function App() { + return ( +
+
+
+

CommiTea

+

+ scaffold · phase 0 · gitea connection pending +

+
+

+ Good morning. The scaffold stands and the kettle is on, but I have nothing to manage + yet. Connect me to gitea and we shall put the pot to work. +

+

+ label parse check: est/{facts.estimateDays}d · p/{facts.priority} · hard{' '} + {String(facts.hardDeadline)} +

+
+
+ ) +} diff --git a/apps/desktop/src/renderer/src/design/assets/fonts/caslon-display-normal-400.woff2 b/apps/desktop/src/renderer/src/design/assets/fonts/caslon-display-normal-400.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..ad36393f98f9991f8dc3ed0e73b9a3294a2a0937 GIT binary patch literal 16124 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 literal 0 HcmV?d00001 diff --git a/apps/desktop/src/renderer/src/design/assets/fonts/caslon-text-normal-400.woff2 b/apps/desktop/src/renderer/src/design/assets/fonts/caslon-text-normal-400.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..3850132e56f4e8e57e609f646d92e9dcede63e97 GIT binary patch literal 16984 zcmV(*K;FN1Pew8T0RR91076&*4gdfE0Ixg%073l#0RR9100000000000000000000 z0000Qd>i609EK+1Rw>4Uug!g zXn}e;4B__k&PA)Rvtwt-8FI$0yoH?+R38eZ@Vnt?ExrcKnkGjBq9s&q+{7uA;2Mcj=lG*C^FXId&5}^ zMN<`xb!La9+U-FO^HGfE}C3#6- zF#eY184qORnFWN9H9+1lb465gw@H<%Owke+MU}2eQKm{Qu!?RG`za~F1&JI>mbBYf zeWTUK+oQojiXd(gB#20m5Q1dRzqMs*gS^No9RrpSNx$bEV`|lsq-&!B2m2TbX8NyM zy0at7njxIh9oBgKDok_3q`xWV%hr%9@?Wxm6#xuD2t0^@2qGbeD1|{Hun?^%h?xcA z5D!U~1<92UDO3unPzkBm0GXf_(yjy2tq0O)GGv-*5CklfsS$qsiN)1m{q}eC0{hbv z@PP~gm}kL&`X~lWx82}h*mC!w1H34)z4ikNhDPmnfP4? z?Tu50m0L17EY2ttzbKZI;<@V*C6*M~K$L2*sTRg+r1dfW&l{c~V3`d9*jQr)ZCl&h)t>gXzXKg?tp7XGu}*ZdQ=RT?=Q`hoE_SKQUFmAq(h4CglK!aSV}uNd z=@<$Tgn}@jFkpB-T@QnY+BAX^xm{}E6zs5R1TFSX3u%amZ%{%ch;%^OXfUw-xL+M1 z8F{!tE{Y0ghbssZkzr0WE);++0Q!nEu0}c@V2xC|%zl>xD?#TL2$pR~AW?l2u;uLt zu=2#^9aIv9f)e3^17>M{+r!pWA!ZrAArh|v11$>GxKHaPvA%^q(PX@cZXpy=OzIPY zstKGS)nQ+t0T+Ikgwh&ASbLu@>($aC+y)jpk|>9_`0hDZfH7<1rfOS?k`yQa zct)LEMe11?6#|?K!1=1NynyP5)T8$r4f9KcGKdi--w*6G;yGl?RPoGoIIx?A?&2Kb1l;WD-ujZSl_^o_FNbd=Es`JuFbiaZ=qkl8!us- zqB_f07I5u{SQHGYQOumJ@u^;hR^Ugfl*cg>jJXpJ1Xl`R6{9Pa`$@8N`(Vji#DBoN z_-lrRB{)vEqGLjIiR+J2 zj;|esP%L@?^KTAkj63SRETv~}TMyT#%l9`L)P*vcsz68pGHUJI{OubAszQQ+RkwRc zfLdMNi!jf(a4gBPfW8Y*>qMl0vOqA$0x7f;FS$oBRnU~2ErLE$H{LEPtZYbEZXMCJ zHBnufoBKlS5TM&+gD2!M`hmih-nb5Mwy+@+a}GFyXZuVQto^2_%CcKt7cP0k)uA1N z$N5lp?st#oyKiE|SiZ)8o_$dkVa&*#OY9ibk>xTzV(~0_Yb`cFCFL2tGO)ZBZp-dh z`u0#-rDRe+HGmNq`c_=f|Ch_`1&^$ZDKSTtZDUv^hb535LhS*QV(O#*h^6!}C2+W4 z1fCFl{JrK83nL(eh$w_nQo;nksqjMFxgudI+`<-we`SWTJ0&=1m}u(atV?ol?!hx7l%Z%bJr&)%n*a(#vrO~$4jkVnlF?LdmJv7E%v~HM+ zNoF+G7}YpTgB+z&$LlJbaGKFs%5{#$IZwGR&^Q-qj7yZ~GUdBMd9G5vYZWo!s(Hd! zvjk(2+9av*Bn9 zW2aVnDfOUIcgOC=l!)wFl+uf1zIVY?vBI4mg&fy`P1QCe!5@TGmch)-6q zlpBlZ69Y96W_{q$aI60sD&?SRS$Vw2lM8|Ql4ByCLXO&g!sK)V2DEVs>9_zqYJoK7p79p7 zZAgW1snp~Rx?Nu^v1)sOfTGmI-Tn~3?kO8mi)82r8H;t_OC1$vmA^5uhpDNZau$$O z2@97oy*84;Y*;bZL%`)2*O7E%oslw3#J?;fczVixJ@wdEbv2Iz zt6x)4)q=m4XWW|IJn$o2@VKx{tH^RM^h=eQ z`gB=3Qt&=Ay?tl(0`J)d5{Ry5W}0oI%6*8L_=&N^^13^omFRS{yJlfAgySl_@H92z zVTaPS$^8>nLhW267LgEicM9anS2W6gI7LAQvX%R{DN;sp_t`&cGmVZIi3|fu0PbS6 z72DN^3NF)Fuq+RK>HG8X&+@Af@jG<^lI2G2Rc~oS3;QAZY)0SMWD5psnahMmAwUDd zwU?NTpu8_h>_sLNC;vik%S~hLJ}iMAQa&cC83Fxa7mOIBL|r60uVmo5fR}N4`GOj zB#~HRiZ>hY8OdINDbi^)UKh>gr99m2T?p@mN4{ zRw`$s3UI;d81QRhzX7j!VL1rL;gYWn0SgiZ=?Y^zI`j#zw`XwgM zWSb0=Y!bZH8DEc8YaD^TU4uS`phq2OTWhMX2x53xinC=%mY}@okwce)rO7;U1>%PL zD_-v-o}myfqIWbc$RlRw;N%h`R-AYV+&tYpvUv)WsW+ZiFTa2p=34v>2Jv8_AN=0J z!+O!Rq!|lYcnSPGX$m9_W7?{ja@X#}@^kC@IR%iALY>w{S0*rG@52g@oEi(hJ#dUCIIhYFLtlX0;HBfEk_!L z8v(b#0mcR+vPTj)4b^;`EdH%N{XywV;6TBJ0K7m*$h`*mjKZPXC~-=UTUMN^LRH5! zuB2+3T5X=V{XBg<){P*Ip&f=g3Ur(ssxC2JsmcpTsZ)IGJO`bRSCg?>?xVwj zOw4NH*2c{5a58jC`iLWlrmJ;aV}F1=MAXy_H4_|3%?8YYxiAmrN7dn$duT%oGO&5q zv(>54y(R^Wu%vVOjHDW4cC?_5M=k4Qc*-EoNQpyLF~X|SsdtEBlXw8&l*5Ys)%{Ro zikugO%7uwDG~lWZ<<4O?DML&>0<0&x*(H)n3f>MtyvapvG*J0+2&Z7U_ux_|`cbp< zxUW;3A1NT}Fvb)_M3rHZ@5&cJR`@*ObmTqtpl=(++OCtMClw`qIex>>PjIfTIk=g-qDC(D!K*5NEJoPR?`Ur>*nm9)(`u zdOUliRa+6Z0I~;wY(FzX%CsPSmktn1z!`L6>V2Jc4If4ghZ9>Ol8Q-Yh+qhoz%a%7 z5H6v0dfMFd5H5;Z0K*b_7KiW&kMIdiNP-AS5TS|C62OSMp|tIU0HX2$4&vIQDWa9UR`FYnwjK!Q02N}Ch5;GJ!^PZ% z!Yh~;6W35$3%Bknyg}G8Uc6Rt_P`WV0f7eujA+nCSf?mTAq}`<3IrzY7}bf3vNUzf z132Ntp!LkiRwS;YZu)K5sf}S`y*M54WooD)>%1>DqA^;B!H%-K;4pBY5F~*lW}sv25?ekaKTih_k_PonV&3-=l!aPSD;H!z`aF+|tj zIk6uCdGi0Qc{uRhnV;^i7VzGgzk~gLXjT7SbHIdf13)lB5FlvjII)#_Sx@%%YO5_Km6%0fBVP3{`0^+_dWC|9^xYg z36KzpkT^`(a-v0#0mE;kJ}KnM73JFvg6G^JA~)P5bK6}Ck0U@;8lpi{Rs`C}Wz!?b zKOqN@X6cm7NDL!H`9+d38%{7JORk??$Cn19r51$er!syXaSiAif+2}QzQffKhL)D5 zP^LsKW<34JhwC%_=rufY;HoOukZZ^_1ViIKLP`t^=fX~L-RWs1GEbLDyqeW1S14O5 zHy0}-)>1?CSrW9tVp?wzt+S9;T0kqzpk<~&>aGGrO|VtjY>A zYjPmyvWZd90?A-JyHen^x3@=Ea%BQ6{2ZXT6`t~^JOhToPQUQe|Njg835a09YXD>2 zGz7p7aA1I_HULqe#3;vuoRHUyAYdg2k2#*^EHb{>_v7F3{|Z*2O^ ze=Orz?$Nv7_}}~r0qh5y>Q~T<0MOG}+SJ!%r~P)j9gSoTsE8WQXViA5>@jAWgW(7v z4E82PUWN|PmBrfhji6)9Gt zR<&_z6nI9fCe7Nl1mHT8`Ajs)6kVpW=y1{rmt1xcg699N26O;mTn)M(Z1*2v_iupd zU1010Faa>;B&;u@6JVZb=xzsn&m@#`llMq}O`KD-?Ki>dV}RR;u}=W{`kClv$+ z=Cd$2w;_KMWIqrBb{DDnIhZlBGBYz$cdTpkIx@MmoMBnW0k9rpgdXE%cmRKl#nG&z>hxU zlj>luKSx?saPkD-o8&YsXJ*pV;+-|Ch-pj)?)Wo>cZ}qO5Mzcc{R;Rg!IaTe+x%A1 z$rujbBO^>quX-0cm@d+gA{rB{XGW?8ONd?C_!brLOD=mCd51)!A*b)x&uBgQNkbIB z!f((49Qpk>4+2Z|^(|+`BvMI^8FvL&+)<>*v4^8L?evsxLHrb7FflEH3*LXZ z829E~7Rk*xi%=fJWi#!KvAn&bo&JFI8(_%H(t zo#TftWg>Z}5<|14=lFfup9jdRfJgg%bUa=rS-+nGTxi=HTdD&3EOI`7^Ak^PpF%3e zdXJ;K@oS;8I_9D_V(-QnaY9pkAQfXQ3LFsAfp&pZZJXNX_kfx(E+F~9$DYj)yq6P~@z^S5-Y`95{`^XI+d|

|1A1jC(|; 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 literal 0 HcmV?d00001 diff --git a/apps/desktop/src/renderer/src/design/assets/fonts/caslon-text-normal-700.woff2 b/apps/desktop/src/renderer/src/design/assets/fonts/caslon-text-normal-700.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..70f4b22390a8b51850445b301a47973d0e2cfa29 GIT binary patch literal 17292 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�QE0kSHV#$x0d_-AekHOd+?C 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 TZR{p6%{kE!*L{*)Bn1EfV__v4 literal 0 HcmV?d00001 diff --git a/apps/desktop/src/renderer/src/design/assets/fonts/plex-mono-normal-400.woff2 b/apps/desktop/src/renderer/src/design/assets/fonts/plex-mono-normal-400.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..52b6c7595dd5e2106676e7c52fcff18539607879 GIT binary patch literal 10052 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 literal 0 HcmV?d00001 diff --git a/apps/desktop/src/renderer/src/design/assets/fonts/plex-mono-normal-500.woff2 b/apps/desktop/src/renderer/src/design/assets/fonts/plex-mono-normal-500.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..3308bce2432c298817ed344eeac33007c83cecd0 GIT binary patch literal 10060 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 literal 0 HcmV?d00001 diff --git a/apps/desktop/src/renderer/src/design/assets/icons/activity.svg b/apps/desktop/src/renderer/src/design/assets/icons/activity.svg new file mode 100644 index 0000000..cf3f8d4 --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/activity.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/arrow-left.svg b/apps/desktop/src/renderer/src/design/assets/icons/arrow-left.svg new file mode 100644 index 0000000..ca61f09 --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/arrow-left.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/arrow-right.svg b/apps/desktop/src/renderer/src/design/assets/icons/arrow-right.svg new file mode 100644 index 0000000..314b2cd --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/arrow-right.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/arrow-up-right.svg b/apps/desktop/src/renderer/src/design/assets/icons/arrow-up-right.svg new file mode 100644 index 0000000..ae714d6 --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/arrow-up-right.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/bell.svg b/apps/desktop/src/renderer/src/design/assets/icons/bell.svg new file mode 100644 index 0000000..8283cf6 --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/bell.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/calendar.svg b/apps/desktop/src/renderer/src/design/assets/icons/calendar.svg new file mode 100644 index 0000000..d7f82e7 --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/calendar.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/chart-line.svg b/apps/desktop/src/renderer/src/design/assets/icons/chart-line.svg new file mode 100644 index 0000000..5f50974 --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/chart-line.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/chart-no-axes-gantt.svg b/apps/desktop/src/renderer/src/design/assets/icons/chart-no-axes-gantt.svg new file mode 100644 index 0000000..118bf50 --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/chart-no-axes-gantt.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/check.svg b/apps/desktop/src/renderer/src/design/assets/icons/check.svg new file mode 100644 index 0000000..92f4df3 --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/check.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/chevron-down.svg b/apps/desktop/src/renderer/src/design/assets/icons/chevron-down.svg new file mode 100644 index 0000000..b627264 --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/chevron-down.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/chevron-left.svg b/apps/desktop/src/renderer/src/design/assets/icons/chevron-left.svg new file mode 100644 index 0000000..c99c66b --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/chevron-left.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/chevron-right.svg b/apps/desktop/src/renderer/src/design/assets/icons/chevron-right.svg new file mode 100644 index 0000000..538a173 --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/chevron-right.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/chevron-up.svg b/apps/desktop/src/renderer/src/design/assets/icons/chevron-up.svg new file mode 100644 index 0000000..efeec90 --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/chevron-up.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/circle-alert.svg b/apps/desktop/src/renderer/src/design/assets/icons/circle-alert.svg new file mode 100644 index 0000000..61e2a97 --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/circle-alert.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/circle-check.svg b/apps/desktop/src/renderer/src/design/assets/icons/circle-check.svg new file mode 100644 index 0000000..2783d3b --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/circle-check.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/circle-dashed.svg b/apps/desktop/src/renderer/src/design/assets/icons/circle-dashed.svg new file mode 100644 index 0000000..eb1e1c9 --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/circle-dashed.svg @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/circle-dot.svg b/apps/desktop/src/renderer/src/design/assets/icons/circle-dot.svg new file mode 100644 index 0000000..70ae1b3 --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/circle-dot.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/circle.svg b/apps/desktop/src/renderer/src/design/assets/icons/circle.svg new file mode 100644 index 0000000..86d05a4 --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/circle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/clock-3.svg b/apps/desktop/src/renderer/src/design/assets/icons/clock-3.svg new file mode 100644 index 0000000..8d752c3 --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/clock-3.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/clock.svg b/apps/desktop/src/renderer/src/design/assets/icons/clock.svg new file mode 100644 index 0000000..5581397 --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/clock.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/coffee.svg b/apps/desktop/src/renderer/src/design/assets/icons/coffee.svg new file mode 100644 index 0000000..83944ea --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/coffee.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/copy.svg b/apps/desktop/src/renderer/src/design/assets/icons/copy.svg new file mode 100644 index 0000000..b0e5a27 --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/copy.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/ellipsis.svg b/apps/desktop/src/renderer/src/design/assets/icons/ellipsis.svg new file mode 100644 index 0000000..a3ca7d4 --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/ellipsis.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/external-link.svg b/apps/desktop/src/renderer/src/design/assets/icons/external-link.svg new file mode 100644 index 0000000..a9bb97d --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/external-link.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/eye.svg b/apps/desktop/src/renderer/src/design/assets/icons/eye.svg new file mode 100644 index 0000000..182cbd4 --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/eye.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/filter.svg b/apps/desktop/src/renderer/src/design/assets/icons/filter.svg new file mode 100644 index 0000000..24dc440 --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/filter.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/flag.svg b/apps/desktop/src/renderer/src/design/assets/icons/flag.svg new file mode 100644 index 0000000..d24c6d1 --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/flag.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/gauge.svg b/apps/desktop/src/renderer/src/design/assets/icons/gauge.svg new file mode 100644 index 0000000..34f5aac --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/gauge.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/git-branch.svg b/apps/desktop/src/renderer/src/design/assets/icons/git-branch.svg new file mode 100644 index 0000000..3b6b9a0 --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/git-branch.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/git-commit-horizontal.svg b/apps/desktop/src/renderer/src/design/assets/icons/git-commit-horizontal.svg new file mode 100644 index 0000000..7cd97cc --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/git-commit-horizontal.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/git-merge.svg b/apps/desktop/src/renderer/src/design/assets/icons/git-merge.svg new file mode 100644 index 0000000..5a656c3 --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/git-merge.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/git-pull-request.svg b/apps/desktop/src/renderer/src/design/assets/icons/git-pull-request.svg new file mode 100644 index 0000000..ce1791a --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/git-pull-request.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/history.svg b/apps/desktop/src/renderer/src/design/assets/icons/history.svg new file mode 100644 index 0000000..965a7b5 --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/history.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/inbox.svg b/apps/desktop/src/renderer/src/design/assets/icons/inbox.svg new file mode 100644 index 0000000..6bbfd52 --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/inbox.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/info.svg b/apps/desktop/src/renderer/src/design/assets/icons/info.svg new file mode 100644 index 0000000..3399cf4 --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/info.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/keyboard.svg b/apps/desktop/src/renderer/src/design/assets/icons/keyboard.svg new file mode 100644 index 0000000..b54d0cb --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/keyboard.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/layers.svg b/apps/desktop/src/renderer/src/design/assets/icons/layers.svg new file mode 100644 index 0000000..e5608f9 --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/layers.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/leaf.svg b/apps/desktop/src/renderer/src/design/assets/icons/leaf.svg new file mode 100644 index 0000000..60b534d --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/leaf.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/link.svg b/apps/desktop/src/renderer/src/design/assets/icons/link.svg new file mode 100644 index 0000000..cddf8de --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/link.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/list-filter.svg b/apps/desktop/src/renderer/src/design/assets/icons/list-filter.svg new file mode 100644 index 0000000..697be73 --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/list-filter.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/list.svg b/apps/desktop/src/renderer/src/design/assets/icons/list.svg new file mode 100644 index 0000000..b6b3e43 --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/list.svg @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/loader-circle.svg b/apps/desktop/src/renderer/src/design/assets/icons/loader-circle.svg new file mode 100644 index 0000000..20279ce --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/loader-circle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/message-square.svg b/apps/desktop/src/renderer/src/design/assets/icons/message-square.svg new file mode 100644 index 0000000..383403f --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/message-square.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/milestone.svg b/apps/desktop/src/renderer/src/design/assets/icons/milestone.svg new file mode 100644 index 0000000..4333f7f --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/milestone.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/minus.svg b/apps/desktop/src/renderer/src/design/assets/icons/minus.svg new file mode 100644 index 0000000..e941e5f --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/minus.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/moon.svg b/apps/desktop/src/renderer/src/design/assets/icons/moon.svg new file mode 100644 index 0000000..3ef47ba --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/moon.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/network.svg b/apps/desktop/src/renderer/src/design/assets/icons/network.svg new file mode 100644 index 0000000..3b3f280 --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/network.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/panel-left.svg b/apps/desktop/src/renderer/src/design/assets/icons/panel-left.svg new file mode 100644 index 0000000..81990ea --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/panel-left.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/pause.svg b/apps/desktop/src/renderer/src/design/assets/icons/pause.svg new file mode 100644 index 0000000..0c830f8 --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/pause.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/pencil.svg b/apps/desktop/src/renderer/src/design/assets/icons/pencil.svg new file mode 100644 index 0000000..f353f82 --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/pencil.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/play.svg b/apps/desktop/src/renderer/src/design/assets/icons/play.svg new file mode 100644 index 0000000..097b7b8 --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/play.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/plus.svg b/apps/desktop/src/renderer/src/design/assets/icons/plus.svg new file mode 100644 index 0000000..e1280bc --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/plus.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/refresh-cw.svg b/apps/desktop/src/renderer/src/design/assets/icons/refresh-cw.svg new file mode 100644 index 0000000..7c321ae --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/refresh-cw.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/search.svg b/apps/desktop/src/renderer/src/design/assets/icons/search.svg new file mode 100644 index 0000000..49ff049 --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/search.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/send.svg b/apps/desktop/src/renderer/src/design/assets/icons/send.svg new file mode 100644 index 0000000..95c2c70 --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/send.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/settings-2.svg b/apps/desktop/src/renderer/src/design/assets/icons/settings-2.svg new file mode 100644 index 0000000..634bb98 --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/settings-2.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/settings.svg b/apps/desktop/src/renderer/src/design/assets/icons/settings.svg new file mode 100644 index 0000000..1bd15d5 --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/settings.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/sparkles.svg b/apps/desktop/src/renderer/src/design/assets/icons/sparkles.svg new file mode 100644 index 0000000..ca74b84 --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/sparkles.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/square-kanban.svg b/apps/desktop/src/renderer/src/design/assets/icons/square-kanban.svg new file mode 100644 index 0000000..bf1a8e3 --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/square-kanban.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/sun.svg b/apps/desktop/src/renderer/src/design/assets/icons/sun.svg new file mode 100644 index 0000000..83fb8bb --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/sun.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/tag.svg b/apps/desktop/src/renderer/src/design/assets/icons/tag.svg new file mode 100644 index 0000000..53b2bb4 --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/tag.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/target.svg b/apps/desktop/src/renderer/src/design/assets/icons/target.svg new file mode 100644 index 0000000..3061a89 --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/target.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/trash-2.svg b/apps/desktop/src/renderer/src/design/assets/icons/trash-2.svg new file mode 100644 index 0000000..4bbb166 --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/trash-2.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/trending-up.svg b/apps/desktop/src/renderer/src/design/assets/icons/trending-up.svg new file mode 100644 index 0000000..0bca7ef --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/trending-up.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/triangle-alert.svg b/apps/desktop/src/renderer/src/design/assets/icons/triangle-alert.svg new file mode 100644 index 0000000..4601160 --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/triangle-alert.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/user.svg b/apps/desktop/src/renderer/src/design/assets/icons/user.svg new file mode 100644 index 0000000..bc66de3 --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/user.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/users.svg b/apps/desktop/src/renderer/src/design/assets/icons/users.svg new file mode 100644 index 0000000..6a708fe --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/users.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/x.svg b/apps/desktop/src/renderer/src/design/assets/icons/x.svg new file mode 100644 index 0000000..4eb59f3 --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/x.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/icons/zap.svg b/apps/desktop/src/renderer/src/design/assets/icons/zap.svg new file mode 100644 index 0000000..f750eb0 --- /dev/null +++ b/apps/desktop/src/renderer/src/design/assets/icons/zap.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/apps/desktop/src/renderer/src/design/assets/logo-icon.png b/apps/desktop/src/renderer/src/design/assets/logo-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..8f91eee860d7600a8795ad6d327a62baeebc3642 GIT binary patch literal 303289 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 z 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%0D^6TM2L0)uuvWkfE7gCSTPIbIE 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 + + , +) diff --git a/apps/desktop/tailwind.config.js b/apps/desktop/tailwind.config.js new file mode 100644 index 0000000..2c91b4b --- /dev/null +++ b/apps/desktop/tailwind.config.js @@ -0,0 +1,67 @@ +/** + * Tailwind maps onto the design-token custom properties (src/renderer/src/design/tokens/) + * and never redefines their values. Preflight is off — tokens/base.css owns the reset. + * @type {import('tailwindcss').Config} + */ +export default { + content: ['./src/renderer/index.html', './src/renderer/src/**/*.{ts,tsx}'], + corePlugins: { preflight: false }, + theme: { + extend: { + colors: { + paper: { + 0: 'var(--paper-0)', + 1: 'var(--paper-1)', + 2: 'var(--paper-2)', + 3: 'var(--paper-3)', + }, + ink: { + 1: 'var(--ink-1)', + 2: 'var(--ink-2)', + 3: 'var(--ink-3)', + inverse: 'var(--ink-inverse)', + }, + line: { + 1: 'var(--line-1)', + 2: 'var(--line-2)', + }, + accent: { + DEFAULT: 'var(--accent)', + hover: 'var(--accent-hover)', + pressed: 'var(--accent-pressed)', + tint: 'var(--accent-tint)', + text: 'var(--accent-text)', + }, + jade: { + DEFAULT: 'var(--jade)', + tint: 'var(--jade-tint)', + }, + ok: { DEFAULT: 'var(--ok)', tint: 'var(--ok-tint)' }, + warn: { DEFAULT: 'var(--warn)', tint: 'var(--warn-tint)' }, + danger: { DEFAULT: 'var(--danger)', tint: 'var(--danger-tint)' }, + info: { DEFAULT: 'var(--info)', tint: 'var(--info-tint)' }, + }, + fontFamily: { + display: ['Libre Caslon Display', 'serif'], + agent: ['Libre Caslon Text', 'serif'], + sans: ['Instrument Sans', 'system-ui', 'sans-serif'], + mono: ['IBM Plex Mono', 'ui-monospace', 'monospace'], + }, + borderRadius: { + 1: 'var(--radius-1)', + 2: 'var(--radius-2)', + 3: 'var(--radius-3)', + }, + boxShadow: { + 1: 'var(--shadow-1)', + 2: 'var(--shadow-2)', + 3: 'var(--shadow-3)', + 'jade-line': 'var(--shadow-jade-line)', + }, + transitionTimingFunction: { + out: 'var(--ease-out)', + }, + }, + }, + plugins: [], +} diff --git a/apps/desktop/tsconfig.json b/apps/desktop/tsconfig.json new file mode 100644 index 0000000..fa4dd57 --- /dev/null +++ b/apps/desktop/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "jsx": "react-jsx", + "lib": ["ES2022", "DOM", "DOM.Iterable"], + "types": ["node"] + }, + "include": ["src", "electron.vite.config.ts"] +} diff --git a/docs/PLAN.md b/docs/PLAN.md new file mode 100644 index 0000000..63d92cb --- /dev/null +++ b/docs/PLAN.md @@ -0,0 +1,124 @@ +# CommiTea — AI-PM on Gitea + +Plan file. Created 2026-07-07 from brainstorm session. Status: **pre-design** — +design session next, phases below get actuals as they complete. + +## Concept + +Lightweight project tracking/management system. Gitea = core engine for +milestones/tickets. Local-ish LLM agent acts as project manager: captures work +via interview, maps capacity, forecasts deadlines, adjusts priorities on +directives. Electron app, one window, "tell me what to do" experience. + +## Goals (numeric where possible) + +1. **Forecast honesty**: milestone forecasts as Monte Carlo cones (e.g. "80% + land Mar 3–12"), never point dates. Calibration curve active after ≥20 + closed issues with estimates. +2. **Capture speed**: braindump → approved ticket set (estimates, deps, + milestone) in < 2 min via agent interview. +3. **Responsiveness**: full gitea reconcile < 5 s @ 500 issues; scheduler + + Monte Carlo run < 1 s @ 200 open issues; webhook-driven updates visible + < 2 s. +4. **Agent economy**: hot context ≤ 2k tokens; works with a 4B local model for + prose/ritual tasks (bigger model only for decomposition/negotiation). +5. **Zero pollution**: managed work repos gain only human-meaningful labels + (`est/*`, `p/*`, `deadline/hard`) — no bot comments, no body frontmatter, + no synthetic issues. + +## Core architecture decisions (settled in brainstorm) + +- **Purity rule**: gitea holds *human-authored intent* (issues, milestones + + due dates, dependencies, assignees, labels, comments). Sidecar holds + *machine-derived state* (forecasts, calibration, inferred lifecycle + timestamps, capacity, agent memory). Test: delete sidecar → resync → no + truth lost. +- **`pm-state` repo in gitea** = shared sidecar store. Versioned files; + directive log is append-only JSONL (merges conflict-free). Local SQLite is + a rebuildable cache/index only. +- **Estimates/priority visible in gitea** as fixed label sets: `est/1d 2d 3d + 5d 8d`, `p/1..4`; `deadline/hard` label on milestones (agent asks hard/soft + at creation). Estimate unit = days. +- **LLM never does math.** Deterministic scheduler (code) computes forecasts, + critical path, next-unit-of-work from estimates + deps + capacity + + priority. Evidence-based scheduling: Monte Carlo over the team's own + estimate-vs-actual history. LLM captures/negotiates inputs and explains + outputs. +- **Lifecycle inference, no manual time tracking**: issue opened → diagnosis; + labeled/milestoned → triage; first branch/commit ref → work start; PR + merged → deploy; closed → complete. Timestamps from gitea events feed + actuals. +- **Directives are first-class**: append-only log entry (who/when/what/why) → + scheduler re-run → agent presents consequence diff ("X today, milestone Y + +6d — accept?"). Directive-giver is a role; v1 = one PM (Stephen). +- **Model layer**: OpenAI-wire-protocol client, base-URL + model per role. + Router: small local (gemma-4b class) for summaries/standup prose; big model + (remote LM Studio box or OpenAI API) for decomposition/estimate + negotiation. Few, fat tools (e.g. one `query_project`) so small models + survive. +- **Agent conduct**: interview > dumping for capture; propose-approve for + destructive ops, direct-act for additive; morning-standup ritual (drift + report, today's plan, stale-blocker nagging). +- **Memory**: hot (charter + active directives + focus snapshot, ≤2k tok) / + warm (append-only event log, weekly digests) / cold (gitea + sidecar via + tools — ticket data never copied into memory). No graph in v1. +- **Sync**: per-instance gitea webhooks while running + full reconcile on + launch + light poll fallback. +- **Multi-contributor v1**: gitea users as identities; per-person capacity = + hours/day × focus factor + standing allocation slices (dev/compliance/ + pilots). Multi-*writer* (concurrent directive-givers) deferred. +- **Repos**: CommiTea source lives in its own repo (`commitea`) on + gitea.stephenmann.io; targets N work repos via config (v1: one). Dogfood: + CommiTea's own backlog is the first managed project. +- **Stack**: Electron + React + Tailwind (novelpad patterns), one window. + +## UI (to be designed — design session) + +- Hero: **Now/Next/Later focus card** — scheduler-picked next unit, agent's + one-line rationale. +- **Burn-up with forecast cone** (ahead/behind as geometry), **runway view** + (capacity vs milestone dates). +- Secondary drill-ins: dependency graph / Gantt, kanban. +- Chat = write-path (mutations via agent), UI = read-path. Exact split to be + settled in design session. + +## Phases + +Deliverables per phase; replace TBD with actuals at phase close. + +- **P0 — Scaffold** — repo, Electron shell, gitea API client + token auth, + `pm-state` repo bootstrap. Actual: TBD +- **P1 — Sync + data model** — read mirror into SQLite cache, webhook + listener + reconcile-on-launch, lifecycle inference from event stream, + label schema applied. Actual: TBD +- **P2 — Scheduler + Monte Carlo** — deterministic forecast engine, capacity + model, calibration store (cold-start: default distributions until n≥20), + directive log + consequence diff. Actual: TBD +- **P3 — UI views** — focus card, burn-up cone, runway, drill-ins. Actual: TBD +- **P4 — Agent** — model router, fat tools, capture interview, propose- + approve loop, standup ritual, memory layers. Actual: TBD +- **P5 — Dogfood + polish** — manage CommiTea with CommiTea; calibrate. + Actual: TBD + +(Order note: P3 before P4 so the agent has something to point at; thin +vertical slices within phases where possible.) + +## Not doing (v1) + +- Google Calendar capacity import (phase 2: free/busy read-only per member) +- Phone/push notifications +- Agent code review / PR content reading (PR *events* are in for lifecycle) +- Graph-structured agent memory +- PTO/meeting calendars +- Concurrent multi-PM directive writing +- Cloud LLM as *requirement* (it's a config option, not a dependency) + +## Open items for design session + +- Chat-as-only-write-path: strict or soft (UI edits allowed but agent + observes/objects)? +- `pm-state` file formats (JSONL event log settled; capacity/calibration + schemas TBD) +- Tool schema for the fat `query_project` tool +- Webhook endpoint mechanics per instance (port allocation, cleanup on quit) +- Cold-start estimate distributions (industry priors vs uniform pessimism) diff --git a/docs/design/README.md b/docs/design/README.md new file mode 100644 index 0000000..57e5eea --- /dev/null +++ b/docs/design/README.md @@ -0,0 +1,74 @@ +# Handoff: CommiTea App + +## Overview +CommiTea is an AI-project-manager built on Gitea: an Electron desktop app (one window) where an LLM agent persona ("Reginald") captures work via interview, forecasts milestones as Monte Carlo ranges, and manages issues through labels only. This package contains the complete design system plus a fully interactive HTML prototype of the app with 11 screens. + +## About the Design Files +**The files in this bundle are design references created in HTML** — prototypes showing intended look and behavior, not production code to copy directly. Your task is to **recreate these designs in the target codebase's environment**. The product plan specifies **Electron + React + Tailwind**; if that scaffold doesn't exist yet, that is the intended stack. Map the CSS custom properties in `tokens/` to Tailwind theme config; reimplement the `components/` primitives as your base component library. + +`ui_kits/app/index.html` opens directly in a browser (via a local static server) — use it as the living spec. Everything is real: navigation, drill-ins, theme toggle, offline simulation. + +## Fidelity +**High-fidelity.** Colors, typography, spacing, radii, shadows, copy, and interactions are final. Recreate pixel-perfectly using the token values (all defined in `tokens/*.css`). The fixture data in `ui_kits/app/data.js` is demo content — replace with real Gitea/scheduler data. + +## Design System (source of truth) +- `design_system_readme.md` — brand context, CONTENT FUNDAMENTALS (Reginald's voice rules: dry wit, no emoji, sentence case, forecasts always ranges), VISUAL FOUNDATIONS, ICONOGRAPHY. +- `styles.css` → imports `tokens/fonts.css` (self-hosted woff2 in `assets/fonts/`), `tokens/colors.css` (light `:root` + dark `[data-theme="dark"]`), `tokens/typography.css`, `tokens/spacing.css`, `tokens/base.css`. +- `components/{core,forms,feedback}/` — 16 React primitives (Button, IconButton, Badge, Tag, Card, Tabs, Icon, Input, Select, Checkbox, Radio, Switch, Dialog, Toast, Tooltip). Each has `.jsx` (reference implementation), `.d.ts` (props contract), `.prompt.md` (usage + rules). Reuse these contracts verbatim. +- `_ds_bundle.js` — compiled bundle the prototype loads; not for production. + +### Type voices (strictly cast — never mix) +- `--text-display/title/hero`: Libre Caslon Display — headlines, hero numerals +- `--text-agent(-lg)`: Libre Caslon Text, **upright** — ONLY for Reginald's speech +- `--text-body/small/caption`: Instrument Sans — all UI +- `--text-data/label`: IBM Plex Mono — machine data verbatim: `est/3d`, `p/1`, `#87`, dates, deltas + +### Key color tokens (light / dark) +- Surfaces: `--paper-0` #F0F4F0/#121C18 (app), `--paper-1` #FAFCF9/#182420 (card), `--paper-2` inset, `--paper-3` pressed +- Ink: `--ink-1` #1D2522/#E4EEE7, `--ink-2`, `--ink-3`; hairlines `--line-1/2` +- Brand: `--accent` (spruce #275546/#3A7260), hover/pressed darker steps; `--jade` #46996F/#6FC694 (small accents + key-card top rule `--shadow-jade-line` only — never large fills) +- Status: `--ok --warn --danger --info` + `*-tint` pairs; label chips `--label-p1..p4`, `--label-est-*`, `--label-hard` +- Forecast: `--cone-fill`, `--cone-line`, `--cone-actual` +- Radii 4/6/10px; spacing 4px scale (`--space-1..10`); motion 120–320ms `--ease-out`, no bounces; focus = 2px `--focus-ring` outline offset 2. + +## Screens (all in `ui_kits/app/`, routed by `Shell.jsx`) +Layout shell: 208px left rail (nav + connection status + theme switch) · main column (max 1120px, 24/28px padding) · 330px right chat panel. Page headers: Caslon display title over a `3px double` rule, mono subtitle. One `jade` (top-ruled) card per view maximum. + +1. **Shell** (`Shell.jsx`) — nav, routing, dark mode (`data-theme` on ``), offline simulation (click connection dot), issue navigation with back-stack of one. +2. **Standup** (`StandupScreen.jsx`) — morning ritual as a typeset letter: drift report (dot + text + mono delta), per-person plan, stale-blocker nag (warn tint, clickable). Sections fade in once, 90ms stagger, reduced-motion-safe. +3. **Morning service / Focus** (`FocusScreen.jsx`) — Now/Next/Later cards (Now = jade + footer actions), burn-up cone card (`Chart.jsx` BurnUpCone SVG). +4. **Inbox** (`InboxScreen.jsx`) — day-grouped notifications, filter Tabs, unread dots, live rail badge; rows navigate to issue/directives; "Mark all read". +5. **Capture** (`CaptureScreen.jsx`) — braindump → chip-answered interview (running mm:ss clock, amber past 2:00) → editable tray review with consequence line → filed. State machine: dump | interview | review | filed. +6. **The pot / Board** (`BoardScreen.jsx`) — 5-column lifecycle kanban (Diagnosis/Triage/Steeping/In review/Done), live search with empty state, Tabs to drill-ins. +7. **Gantt** (`GanttView.jsx`) — scheduler bars by state, critical rows inset-ruled, dotted 80% tails, today rule (jade), milestone band + due diamond. +8. **Dependencies** (`DepsGraph.jsx`) — layered DAG, SVG bezier edges w/ arrowheads, critical path in accent, milestone capsule terminal. +9. **Runway** (`RunwayScreen.jsx`) — milestone range bars (due marker vs 80% band), capacity list, calibration teaser → **Calibration** (`CalibrationScreen.jsx`): scatter + honest diagonal + ×1.18 fit, bias-by-label bars, per-person bias, forecast effect. Milestone rows → **Milestone detail** (`MilestoneScreen.jsx`): stats strip, cone, grouped issue list. +10. **Issue detail** (`IssueScreen.jsx`) — human intent left (description, comments, composer "writes to gitea, as you"), machine-derived right (inferred lifecycle timeline, per-issue forecast, dependency chips, provenance note). +11. **Directives** (`DirectivesScreen.jsx`) — pending consequence diff (before → after mono rows; Make it so / Amend / Withdraw) + append-only ledger (seq, who/when/why, verbatim quote, status badge). +12. **Settings** (`SettingsScreen.jsx`) — connection, sync switches, model router, read-only label schema, rituals, appearance radios, single danger action. +13. **Onboarding** (`OnboardingScreen.jsx`, "First run") — full-window: welcome → connect (test gate) → repo pick → propose-approve bootstrap. +14. **States** (`StatesGallery.jsx`) — EmptyState/OfflineBanner/ModelAwayState components + gallery of all empty & trouble states. + +## Interactions & Behavior +- Hovers: surfaces step one paper darker; buttons darken (`--accent-hover`); never opacity on text. Press: one step darker again, no shrink. +- All fake async (connection test ~1.1s, chat reply ~0.9s, bootstrap ticks 700ms) represent real network calls. +- Offline mode: amber banner (copy in `StatesGallery.jsx`), chat composer disabled + queue note, red rail dot. Reads work from cache; writes queue. +- Issue click anywhere → issue page; Back returns to origin view. +- Chat = the only write path for mutations; destructive ops always propose-approve (Dialog or consequence diff). + +## State Management (suggested) +- `view` routing + `prevView` (back), `dark`, `offline`, `issue` selection, inbox `readIds`, capture state machine, directives pending/ledger. In production: Gitea REST + webhooks fill a local cache (SQLite per plan); scheduler output feeds focus/gantt/runway; all copy rules live in the design-system readme. + +## Assets +- `assets/fonts/` — Libre Caslon Display/Text, Instrument Sans, IBM Plex Mono (woff2, latin, self-hosted; Google Fonts sources) +- `assets/icons/` — 69 Lucide SVGs (lucide-static v0.462.0, ISC). In production use the `lucide-react` package at strokeWidth 1.5. +- `assets/logo.jpeg` (original), `assets/logo-icon.png` (cropped, rounded) — provided brand mark; never redraw. + +## Files +- `ui_kits/app/index.html` — entry; open with a static server from this folder's root +- `ui_kits/app/*.jsx` — one file per screen (see Screens above); `data.js` — all fixture data +- `styles.css`, `tokens/`, `components/`, `assets/` — the design system +- `SKILL.md` — agent-facing skill entry (works with Claude Code as an Agent Skill) + +## Note on file suffixes +Reference source files in this bundle carry a `.txt` suffix (`*.js.txt`, `*.d-ts.txt`) so the design tool's compiler ignores these copies — the originals live in the design project. They are ordinary JSX/TypeScript inside; strip the suffix after copying into your repo. `ui_kits/app/index.html` still runs as-is (Babel loads the .txt files by src). diff --git a/docs/design/SKILL.md b/docs/design/SKILL.md new file mode 100644 index 0000000..a78bd6c --- /dev/null +++ b/docs/design/SKILL.md @@ -0,0 +1,16 @@ +--- +name: commitea-design +description: Use this skill to generate well-branded interfaces and assets for CommiTea, either for production or throwaway prototypes/mocks/etc. Contains essential design guidelines, colors, type, fonts, assets, and UI kit components for prototyping. +user-invocable: true +--- + +Read the README.md file within this skill, and explore the other available files. +If creating visual artifacts (slides, mocks, throwaway prototypes, etc), copy assets out and create static HTML files for the user to view. If working on production code, you can copy assets and read the rules here to become an expert in designing with this brand. +If the user invokes this skill without any other guidance, ask them what they want to build or design, ask some questions, and act as an expert designer who outputs HTML artifacts _or_ production code, depending on the need. + +Key facts: +- Brand: CommiTea — AI project manager on Gitea. The agent persona is **Reginald**: brilliant English gentleman PM, dry wit, numbers sacred. No emoji, sentence case, forecasts are ranges never point dates. Reginald's speech renders in upright Caslon serif; never italic, never "the AI". +- Global CSS entry: `styles.css` (imports `tokens/*.css`). Fonts self-hosted in `assets/fonts/`; icons are local Lucide SVGs in `assets/icons/`. +- Type voices, strictly cast: Libre Caslon Display (headlines/hero numerals), Libre Caslon Text upright (Reginald's speech only — the agent persona), Instrument Sans (UI), IBM Plex Mono (machine data: labels, dates, ids). +- Components live in `components/{core,forms,feedback}/` — each has a `.prompt.md` with usage. +- Full app reference: `ui_kits/app/index.html`. diff --git a/docs/design/_ds_bundle.js b/docs/design/_ds_bundle.js new file mode 100644 index 0000000..e277e10 --- /dev/null +++ b/docs/design/_ds_bundle.js @@ -0,0 +1,6692 @@ +/* @ds-bundle: {"format":4,"namespace":"CommiTeaDesignSystem_20e63b","components":[{"name":"Badge","sourcePath":"components/core/Badge.jsx"},{"name":"Button","sourcePath":"components/core/Button.jsx"},{"name":"Card","sourcePath":"components/core/Card.jsx"},{"name":"Icon","sourcePath":"components/core/Icon.jsx"},{"name":"ICON_NAMES","sourcePath":"components/core/Icon.jsx"},{"name":"IconButton","sourcePath":"components/core/IconButton.jsx"},{"name":"Tabs","sourcePath":"components/core/Tabs.jsx"},{"name":"Tag","sourcePath":"components/core/Tag.jsx"},{"name":"Dialog","sourcePath":"components/feedback/Dialog.jsx"},{"name":"Toast","sourcePath":"components/feedback/Toast.jsx"},{"name":"Tooltip","sourcePath":"components/feedback/Tooltip.jsx"},{"name":"Checkbox","sourcePath":"components/forms/Checkbox.jsx"},{"name":"Input","sourcePath":"components/forms/Input.jsx"},{"name":"Radio","sourcePath":"components/forms/Radio.jsx"},{"name":"Select","sourcePath":"components/forms/Select.jsx"},{"name":"Switch","sourcePath":"components/forms/Switch.jsx"}],"sourceHashes":{"components/core/Badge.jsx":"13c23a483d6d","components/core/Button.jsx":"ffc4f2a60c23","components/core/Card.jsx":"e4f4f0a376af","components/core/Icon.jsx":"1787a3656dc6","components/core/IconButton.jsx":"170d08e66f39","components/core/Tabs.jsx":"0f8158ee544f","components/core/Tag.jsx":"302fa43de0bd","components/feedback/Dialog.jsx":"73351848bd2e","components/feedback/Toast.jsx":"f9a033ad288d","components/feedback/Tooltip.jsx":"56a0f8711a27","components/forms/Checkbox.jsx":"4cb2969560f3","components/forms/Input.jsx":"094796149aa2","components/forms/Radio.jsx":"91f9c6b050f9","components/forms/Select.jsx":"9ff161748dde","components/forms/Switch.jsx":"f06333a8ce87","ui_kits/app/BoardScreen.jsx":"dbc1bd0a53b7","ui_kits/app/CalibrationScreen.jsx":"c91b96dc9bf5","ui_kits/app/CaptureScreen.jsx":"73340a249734","ui_kits/app/Chart.jsx":"15c1e3215058","ui_kits/app/ChatPanel.jsx":"339468410bb2","ui_kits/app/DepsGraph.jsx":"939049a86dda","ui_kits/app/DirectivesScreen.jsx":"e2b00e10749b","ui_kits/app/FocusScreen.jsx":"299cda1464ad","ui_kits/app/GanttView.jsx":"1f80d0b66429","ui_kits/app/InboxScreen.jsx":"e6cb39fc8ffe","ui_kits/app/IssueScreen.jsx":"4a796332482d","ui_kits/app/MilestoneScreen.jsx":"c2079e4d6380","ui_kits/app/OnboardingScreen.jsx":"640268f5031f","ui_kits/app/RunwayScreen.jsx":"038c4bfad5fe","ui_kits/app/SettingsScreen.jsx":"310bf0c6283b","ui_kits/app/Shell.jsx":"9135061e542a","ui_kits/app/StandupScreen.jsx":"70abb71f7c43","ui_kits/app/StatesGallery.jsx":"324b05e164e9","ui_kits/app/data.js":"df66d90a9521"},"inlinedExternals":[],"unexposedExports":[]} */ + +(() => { + +const __ds_ns = (window.CommiTeaDesignSystem_20e63b = window.CommiTeaDesignSystem_20e63b || {}); + +const __ds_scope = {}; + +(__ds_ns.__errors = __ds_ns.__errors || []); + +// components/core/Badge.jsx +try { (() => { +function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } +const CSS = ` +.ct-badge { + display: inline-flex; align-items: center; gap: 6px; + font: 500 12px/1 var(--font-sans); + padding: 4px 9px; + border-radius: var(--radius-round); +} +.ct-badge__dot { width: 6px; height: 6px; border-radius: 50%; background: currentColor; } +.ct-badge--ok { background: var(--ok-tint); color: var(--ok); } +.ct-badge--warn { background: var(--warn-tint); color: var(--warn); } +.ct-badge--danger { background: var(--danger-tint); color: var(--danger); } +.ct-badge--info { background: var(--info-tint); color: var(--info); } +.ct-badge--neutral { background: var(--paper-2); color: var(--ink-2); } +.ct-badge--jade { background: var(--jade-tint); color: var(--jade-7); } +`; +(function inject() { + if (typeof document !== 'undefined' && !document.getElementById('ct-badge-css')) { + const s = document.createElement('style'); + s.id = 'ct-badge-css'; + s.textContent = CSS; + document.head.appendChild(s); + } +})(); +function Badge({ + tone = 'neutral', + dot = false, + children, + style, + ...rest +}) { + return /*#__PURE__*/React.createElement("span", _extends({ + className: `ct-badge ct-badge--${tone}`, + style: style + }, rest), dot ? /*#__PURE__*/React.createElement("span", { + className: "ct-badge__dot" + }) : null, children); +} +Object.assign(__ds_scope, { Badge }); +})(); } catch (e) { __ds_ns.__errors.push({ path: "components/core/Badge.jsx", error: String((e && e.message) || e) }); } + +// components/core/Card.jsx +try { (() => { +function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } +const CSS = ` +.ct-card { + background: var(--surface-card); + border: 1px solid var(--border-hairline); + border-radius: var(--radius-3); + box-shadow: var(--shadow-1); +} +.ct-card--jade { box-shadow: var(--shadow-jade-line), var(--shadow-1); } +.ct-card__header { + display: flex; align-items: baseline; justify-content: space-between; gap: 12px; + padding: 16px 20px 0; +} +.ct-card__title { + font: var(--text-title); + color: var(--ink-1); + margin: 0; +} +.ct-card__overline { + font: var(--text-overline); + letter-spacing: var(--letter-spacing-wide); + text-transform: uppercase; + color: var(--ink-3); + margin: 0 0 6px; +} +.ct-card__body { padding: 14px 20px 18px; } +.ct-card__body--flush { padding: 0; } +.ct-card__footer { + display: flex; align-items: center; gap: 8px; + padding: 12px 20px; + border-top: 1px solid var(--border-hairline); +} +`; +(function inject() { + if (typeof document !== 'undefined' && !document.getElementById('ct-card-css')) { + const s = document.createElement('style'); + s.id = 'ct-card-css'; + s.textContent = CSS; + document.head.appendChild(s); + } +})(); +function Card({ + title, + overline, + actions, + footer, + jade = false, + flush = false, + children, + style, + ...rest +}) { + return /*#__PURE__*/React.createElement("section", _extends({ + className: `ct-card${jade ? ' ct-card--jade' : ''}`, + style: style + }, rest), title || overline || actions ? /*#__PURE__*/React.createElement("header", { + className: "ct-card__header" + }, /*#__PURE__*/React.createElement("div", null, overline ? /*#__PURE__*/React.createElement("p", { + className: "ct-card__overline" + }, overline) : null, title ? /*#__PURE__*/React.createElement("h2", { + className: "ct-card__title" + }, title) : null), actions ? /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + gap: '4px', + flexShrink: 0 + } + }, actions) : null) : null, /*#__PURE__*/React.createElement("div", { + className: `ct-card__body${flush ? ' ct-card__body--flush' : ''}` + }, children), footer ? /*#__PURE__*/React.createElement("footer", { + className: "ct-card__footer" + }, footer) : null); +} +Object.assign(__ds_scope, { Card }); +})(); } catch (e) { __ds_ns.__errors.push({ path: "components/core/Card.jsx", error: String((e && e.message) || e) }); } + +// components/core/Icon.jsx +try { (() => { +function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } +/* Generated from assets/icons/*.svg (lucide-static v0.462.0, ISC). Do not edit paths by hand. */ +const ICONS = { + "activity": "", + "arrow-left": "\n ", + "arrow-right": "\n ", + "arrow-up-right": "\n ", + "bell": "\n ", + "calendar": "\n \n \n ", + "chart-line": "\n ", + "chart-no-axes-gantt": "\n \n ", + "check": "", + "chevron-down": "", + "chevron-left": "", + "chevron-right": "", + "chevron-up": "", + "circle-alert": "\n \n ", + "circle-check": "\n ", + "circle-dashed": "\n \n \n \n \n \n \n ", + "circle-dot": "\n ", + "circle": "", + "clock-3": "\n ", + "clock": "\n ", + "coffee": "\n \n \n ", + "copy": "\n ", + "ellipsis": "\n \n ", + "external-link": "\n \n ", + "eye": "\n ", + "filter": "", + "flag": "\n ", + "gauge": "\n ", + "git-branch": "\n \n \n ", + "git-commit-horizontal": "\n \n ", + "git-merge": "\n \n ", + "git-pull-request": "\n \n \n ", + "history": "\n \n ", + "inbox": "\n ", + "info": "\n \n ", + "keyboard": "\n \n \n \n \n \n \n \n ", + "layers": "\n \n ", + "leaf": "\n ", + "link": "\n ", + "list-filter": "\n \n ", + "list": "\n \n \n \n \n ", + "loader-circle": "", + "message-square": "", + "milestone": "\n \n ", + "minus": "", + "moon": "", + "network": "\n \n \n \n ", + "panel-left": "\n ", + "pause": "\n ", + "pencil": "\n ", + "play": "", + "plus": "\n ", + "refresh-cw": "\n \n \n ", + "search": "\n ", + "send": "\n ", + "settings-2": "\n \n \n ", + "settings": "\n ", + "sparkles": "\n \n \n \n ", + "square-kanban": "\n \n \n ", + "sun": "\n \n \n \n \n \n \n \n ", + "tag": "\n ", + "target": "\n \n ", + "trash-2": "\n \n \n \n ", + "trending-up": "\n ", + "triangle-alert": "\n \n ", + "user": "\n ", + "users": "\n \n \n ", + "x": "\n ", + "zap": "" +}; +function Icon({ + name, + size = 16, + strokeWidth = 1.5, + title, + style, + ...rest +}) { + const inner = ICONS[name]; + if (!inner) { + console.warn('[CommiTea Icon] unknown icon: ' + name); + return null; + } + return /*#__PURE__*/React.createElement("svg", _extends({ + width: size, + height: size, + viewBox: "0 0 24 24", + fill: "none", + stroke: "currentColor", + strokeWidth: strokeWidth, + strokeLinecap: "round", + strokeLinejoin: "round", + "aria-hidden": title ? undefined : true, + role: title ? 'img' : undefined, + "aria-label": title, + style: { + flexShrink: 0, + ...style + }, + dangerouslySetInnerHTML: { + __html: inner + } + }, rest)); +} +const ICON_NAMES = Object.keys(ICONS); +Object.assign(__ds_scope, { Icon, ICON_NAMES }); +})(); } catch (e) { __ds_ns.__errors.push({ path: "components/core/Icon.jsx", error: String((e && e.message) || e) }); } + +// components/core/Button.jsx +try { (() => { +function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } +const CSS = ` +.ct-btn { + display: inline-flex; align-items: center; justify-content: center; gap: 8px; + font: 600 14px/1 var(--font-sans); + border-radius: var(--radius-2); + border: 1px solid transparent; + cursor: pointer; + white-space: nowrap; + transition: background var(--duration-fast) var(--ease-out), + border-color var(--duration-fast) var(--ease-out), + color var(--duration-fast) var(--ease-out); +} +.ct-btn:disabled { opacity: 0.45; cursor: not-allowed; } +.ct-btn--md { height: 34px; padding: 0 14px; } +.ct-btn--sm { height: 28px; padding: 0 10px; font-size: 13px; } +.ct-btn--primary { background: var(--accent); color: var(--text-on-accent); } +.ct-btn--primary:hover:not(:disabled) { background: var(--accent-hover); } +.ct-btn--primary:active:not(:disabled) { background: var(--accent-pressed); } +.ct-btn--secondary { background: var(--surface-card); border-color: var(--line-2); color: var(--ink-1); } +.ct-btn--secondary:hover:not(:disabled) { background: var(--paper-2); } +.ct-btn--secondary:active:not(:disabled) { background: var(--paper-3); } +.ct-btn--ghost { background: transparent; color: var(--ink-2); } +.ct-btn--ghost:hover:not(:disabled) { background: var(--paper-2); color: var(--ink-1); } +.ct-btn--ghost:active:not(:disabled) { background: var(--paper-3); } +.ct-btn--danger { background: var(--danger); color: var(--ink-inverse); } +.ct-btn--danger:hover:not(:disabled) { filter: brightness(0.92); } +`; +(function inject() { + if (typeof document !== 'undefined' && !document.getElementById('ct-button-css')) { + const s = document.createElement('style'); + s.id = 'ct-button-css'; + s.textContent = CSS; + document.head.appendChild(s); + } +})(); +function Button({ + variant = 'primary', + size = 'md', + icon, + iconRight, + disabled = false, + children, + style, + ...rest +}) { + const iconSize = size === 'sm' ? 15 : 17; + return /*#__PURE__*/React.createElement("button", _extends({ + type: "button", + className: `ct-btn ct-btn--${size} ct-btn--${variant}`, + disabled: disabled, + style: style + }, rest), icon ? /*#__PURE__*/React.createElement(__ds_scope.Icon, { + name: icon, + size: iconSize + }) : null, children, iconRight ? /*#__PURE__*/React.createElement(__ds_scope.Icon, { + name: iconRight, + size: iconSize + }) : null); +} +Object.assign(__ds_scope, { Button }); +})(); } catch (e) { __ds_ns.__errors.push({ path: "components/core/Button.jsx", error: String((e && e.message) || e) }); } + +// components/core/IconButton.jsx +try { (() => { +function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } +const CSS = ` +.ct-iconbtn { + display: inline-flex; align-items: center; justify-content: center; + border-radius: var(--radius-2); + border: 1px solid transparent; + background: transparent; + color: var(--ink-2); + cursor: pointer; + transition: background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out); +} +.ct-iconbtn:hover:not(:disabled) { background: var(--paper-2); color: var(--ink-1); } +.ct-iconbtn:active:not(:disabled) { background: var(--paper-3); } +.ct-iconbtn:disabled { opacity: 0.45; cursor: not-allowed; } +.ct-iconbtn--md { width: 34px; height: 34px; } +.ct-iconbtn--sm { width: 28px; height: 28px; } +.ct-iconbtn--outline { border-color: var(--line-2); background: var(--surface-card); } +.ct-iconbtn--outline:hover:not(:disabled) { background: var(--paper-2); } +`; +(function inject() { + if (typeof document !== 'undefined' && !document.getElementById('ct-iconbtn-css')) { + const s = document.createElement('style'); + s.id = 'ct-iconbtn-css'; + s.textContent = CSS; + document.head.appendChild(s); + } +})(); +function IconButton({ + icon, + label, + variant = 'ghost', + size = 'md', + disabled = false, + style, + ...rest +}) { + return /*#__PURE__*/React.createElement("button", _extends({ + type: "button", + className: `ct-iconbtn ct-iconbtn--${size}${variant === 'outline' ? ' ct-iconbtn--outline' : ''}`, + "aria-label": label, + title: label, + disabled: disabled, + style: style + }, rest), /*#__PURE__*/React.createElement(__ds_scope.Icon, { + name: icon, + size: size === 'sm' ? 15 : 17 + })); +} +Object.assign(__ds_scope, { IconButton }); +})(); } catch (e) { __ds_ns.__errors.push({ path: "components/core/IconButton.jsx", error: String((e && e.message) || e) }); } + +// components/core/Tabs.jsx +try { (() => { +function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } +const CSS = ` +.ct-tabs { + display: flex; gap: 2px; + border-bottom: 1px solid var(--border-hairline); +} +.ct-tab { + display: inline-flex; align-items: center; gap: 7px; + font: 500 13.5px/1 var(--font-sans); + color: var(--ink-2); + background: none; border: none; + padding: 10px 12px; + margin-bottom: -1px; + border-bottom: 2px solid transparent; + cursor: pointer; + transition: color var(--duration-fast) var(--ease-out); +} +.ct-tab:hover { color: var(--ink-1); } +.ct-tab--active { + color: var(--ink-1); + font-weight: 600; + border-bottom-color: var(--accent); +} +.ct-tab__count { font: 400 11.5px/1 var(--font-mono); color: var(--ink-3); } +`; +(function inject() { + if (typeof document !== 'undefined' && !document.getElementById('ct-tabs-css')) { + const s = document.createElement('style'); + s.id = 'ct-tabs-css'; + s.textContent = CSS; + document.head.appendChild(s); + } +})(); +function Tabs({ + items, + active, + onChange, + style, + ...rest +}) { + return /*#__PURE__*/React.createElement("div", _extends({ + className: "ct-tabs", + role: "tablist", + style: style + }, rest), items.map(item => /*#__PURE__*/React.createElement("button", { + key: item.id, + type: "button", + role: "tab", + "aria-selected": item.id === active, + className: `ct-tab${item.id === active ? ' ct-tab--active' : ''}`, + onClick: () => onChange && onChange(item.id) + }, item.icon ? /*#__PURE__*/React.createElement(__ds_scope.Icon, { + name: item.icon, + size: 15 + }) : null, item.label, item.count != null ? /*#__PURE__*/React.createElement("span", { + className: "ct-tab__count" + }, item.count) : null))); +} +Object.assign(__ds_scope, { Tabs }); +})(); } catch (e) { __ds_ns.__errors.push({ path: "components/core/Tabs.jsx", error: String((e && e.message) || e) }); } + +// components/core/Tag.jsx +try { (() => { +function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } +const CSS = ` +.ct-tag { + display: inline-flex; align-items: center; gap: 5px; + font: 500 11.5px/1 var(--font-mono); + letter-spacing: var(--letter-spacing-label); + padding: 4px 9px; + border-radius: var(--radius-round); + white-space: nowrap; +} +.ct-tag--est { background: var(--label-est-bg); color: var(--label-est-text); } +.ct-tag--p1 { background: var(--danger-tint); color: var(--label-p1); } +.ct-tag--p2 { background: var(--warn-tint); color: var(--label-p2); } +.ct-tag--p3 { background: var(--info-tint); color: var(--label-p3); } +.ct-tag--p4 { background: var(--paper-2); color: var(--label-p4); } +.ct-tag--hard { background: var(--label-hard); color: var(--ink-inverse); } +.ct-tag--plain { background: var(--paper-2); color: var(--ink-2); } +.ct-tag__x { + display: inline-flex; padding: 0; margin: 0 -3px 0 0; + background: none; border: none; color: inherit; cursor: pointer; opacity: 0.6; +} +.ct-tag__x:hover { opacity: 1; } +`; +(function inject() { + if (typeof document !== 'undefined' && !document.getElementById('ct-tag-css')) { + const s = document.createElement('style'); + s.id = 'ct-tag-css'; + s.textContent = CSS; + document.head.appendChild(s); + } +})(); +function toneFor(label) { + if (label.startsWith('est/')) return 'est'; + if (label === 'p/1') return 'p1'; + if (label === 'p/2') return 'p2'; + if (label === 'p/3') return 'p3'; + if (label === 'p/4') return 'p4'; + if (label === 'deadline/hard') return 'hard'; + return 'plain'; +} +function Tag({ + label, + onRemove, + style, + ...rest +}) { + return /*#__PURE__*/React.createElement("span", _extends({ + className: `ct-tag ct-tag--${toneFor(label)}`, + style: style + }, rest), label, onRemove ? /*#__PURE__*/React.createElement("button", { + type: "button", + className: "ct-tag__x", + "aria-label": `Remove ${label}`, + onClick: onRemove + }, /*#__PURE__*/React.createElement(__ds_scope.Icon, { + name: "x", + size: 11, + strokeWidth: 2 + })) : null); +} +Object.assign(__ds_scope, { Tag }); +})(); } catch (e) { __ds_ns.__errors.push({ path: "components/core/Tag.jsx", error: String((e && e.message) || e) }); } + +// components/feedback/Dialog.jsx +try { (() => { +const CSS = ` +.ct-dialog-scrim { + position: fixed; inset: 0; + background: rgba(32, 38, 29, 0.4); + display: flex; align-items: center; justify-content: center; + z-index: 100; + animation: ct-dialog-fade var(--duration-base) var(--ease-out); +} +.ct-dialog { + background: var(--surface-card); + border: 1px solid var(--border-hairline); + border-radius: var(--radius-3); + box-shadow: var(--shadow-3); + width: min(480px, calc(100vw - 48px)); + max-height: calc(100vh - 96px); + display: flex; flex-direction: column; + animation: ct-dialog-rise var(--duration-base) var(--ease-out); +} +.ct-dialog__header { + display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; + padding: 20px 20px 12px; + border-bottom: 3px double var(--border-strong); + margin: 0 20px; padding-left: 0; padding-right: 0; +} +.ct-dialog__title { font: var(--text-title); color: var(--ink-1); margin: 0; } +.ct-dialog__body { padding: 16px 20px; overflow-y: auto; font: var(--text-body); color: var(--ink-1); } +.ct-dialog__footer { + display: flex; justify-content: flex-end; gap: 8px; + padding: 12px 20px 20px; +} +@keyframes ct-dialog-fade { from { opacity: 0; } } +@keyframes ct-dialog-rise { from { opacity: 0; transform: translateY(8px); } } +@media (prefers-reduced-motion: reduce) { + .ct-dialog-scrim, .ct-dialog { animation: none; } +} +`; +(function inject() { + if (typeof document !== 'undefined' && !document.getElementById('ct-dialog-css')) { + const s = document.createElement('style'); + s.id = 'ct-dialog-css'; + s.textContent = CSS; + document.head.appendChild(s); + } +})(); +function Dialog({ + open, + onClose, + title, + footer, + children, + style +}) { + React.useEffect(() => { + if (!open) return; + const onKey = e => { + if (e.key === 'Escape' && onClose) onClose(); + }; + document.addEventListener('keydown', onKey); + return () => document.removeEventListener('keydown', onKey); + }, [open, onClose]); + if (!open) return null; + return /*#__PURE__*/React.createElement("div", { + className: "ct-dialog-scrim", + onClick: e => { + if (e.target === e.currentTarget && onClose) onClose(); + } + }, /*#__PURE__*/React.createElement("div", { + className: "ct-dialog", + role: "dialog", + "aria-modal": "true", + style: style + }, /*#__PURE__*/React.createElement("header", { + className: "ct-dialog__header" + }, /*#__PURE__*/React.createElement("h2", { + className: "ct-dialog__title" + }, title), onClose ? /*#__PURE__*/React.createElement(__ds_scope.IconButton, { + icon: "x", + label: "Close", + size: "sm", + onClick: onClose + }) : null), /*#__PURE__*/React.createElement("div", { + className: "ct-dialog__body" + }, children), footer ? /*#__PURE__*/React.createElement("footer", { + className: "ct-dialog__footer" + }, footer) : null)); +} +Object.assign(__ds_scope, { Dialog }); +})(); } catch (e) { __ds_ns.__errors.push({ path: "components/feedback/Dialog.jsx", error: String((e && e.message) || e) }); } + +// components/feedback/Toast.jsx +try { (() => { +function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } +const CSS = ` +.ct-toast { + display: flex; align-items: flex-start; gap: 10px; + background: var(--surface-card); + border: 1px solid var(--border-hairline); + border-radius: var(--radius-2); + box-shadow: var(--shadow-2); + padding: 12px 14px; + max-width: 420px; + font: var(--text-body); + color: var(--ink-1); + animation: ct-toast-in var(--duration-slow) var(--ease-out); +} +.ct-toast__icon { display: flex; margin-top: 1px; } +.ct-toast--ok .ct-toast__icon { color: var(--ok); } +.ct-toast--warn .ct-toast__icon { color: var(--warn); } +.ct-toast--danger .ct-toast__icon { color: var(--danger); } +.ct-toast--info .ct-toast__icon { color: var(--info); } +.ct-toast__content { flex: 1; min-width: 0; } +.ct-toast__title { font: var(--text-body-strong); margin: 0 0 2px; } +@keyframes ct-toast-in { from { opacity: 0; transform: translateY(6px); } } +@media (prefers-reduced-motion: reduce) { .ct-toast { animation: none; } } +`; +(function inject() { + if (typeof document !== 'undefined' && !document.getElementById('ct-toast-css')) { + const s = document.createElement('style'); + s.id = 'ct-toast-css'; + s.textContent = CSS; + document.head.appendChild(s); + } +})(); +const TOAST_ICONS = { + ok: 'circle-check', + warn: 'triangle-alert', + danger: 'circle-alert', + info: 'info' +}; +function Toast({ + tone = 'info', + title, + onDismiss, + children, + style, + ...rest +}) { + return /*#__PURE__*/React.createElement("div", _extends({ + className: `ct-toast ct-toast--${tone}`, + role: "status", + style: style + }, rest), /*#__PURE__*/React.createElement("span", { + className: "ct-toast__icon" + }, /*#__PURE__*/React.createElement(__ds_scope.Icon, { + name: TOAST_ICONS[tone], + size: 16 + })), /*#__PURE__*/React.createElement("div", { + className: "ct-toast__content" + }, title ? /*#__PURE__*/React.createElement("p", { + className: "ct-toast__title" + }, title) : null, children), onDismiss ? /*#__PURE__*/React.createElement(__ds_scope.IconButton, { + icon: "x", + label: "Dismiss", + size: "sm", + onClick: onDismiss + }) : null); +} +Object.assign(__ds_scope, { Toast }); +})(); } catch (e) { __ds_ns.__errors.push({ path: "components/feedback/Toast.jsx", error: String((e && e.message) || e) }); } + +// components/feedback/Tooltip.jsx +try { (() => { +const CSS = ` +.ct-tooltip-wrap { position: relative; display: inline-flex; } +.ct-tooltip { + position: absolute; bottom: calc(100% + 7px); left: 50%; + transform: translateX(-50%) translateY(2px); + background: var(--ink-1); + color: var(--ink-inverse); + font: 500 12px/1.4 var(--font-sans); + padding: 5px 9px; + border-radius: var(--radius-1); + white-space: nowrap; + pointer-events: none; + opacity: 0; + transition: opacity var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out); + z-index: 50; +} +.ct-tooltip--bottom { bottom: auto; top: calc(100% + 7px); transform: translateX(-50%) translateY(-2px); } +.ct-tooltip-wrap:hover .ct-tooltip, +.ct-tooltip-wrap:focus-within .ct-tooltip { + opacity: 1; + transform: translateX(-50%) translateY(0); +} +.ct-tooltip code { font: 500 11px var(--font-mono); } +`; +(function inject() { + if (typeof document !== 'undefined' && !document.getElementById('ct-tooltip-css')) { + const s = document.createElement('style'); + s.id = 'ct-tooltip-css'; + s.textContent = CSS; + document.head.appendChild(s); + } +})(); +function Tooltip({ + content, + side = 'top', + children, + style +}) { + return /*#__PURE__*/React.createElement("span", { + className: "ct-tooltip-wrap", + style: style + }, children, /*#__PURE__*/React.createElement("span", { + className: `ct-tooltip${side === 'bottom' ? ' ct-tooltip--bottom' : ''}`, + role: "tooltip" + }, content)); +} +Object.assign(__ds_scope, { Tooltip }); +})(); } catch (e) { __ds_ns.__errors.push({ path: "components/feedback/Tooltip.jsx", error: String((e && e.message) || e) }); } + +// components/forms/Checkbox.jsx +try { (() => { +function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } +const CSS = ` +.ct-check { display: inline-flex; align-items: center; gap: 9px; cursor: pointer; font: var(--text-body); color: var(--ink-1); } +.ct-check--disabled { opacity: 0.5; cursor: not-allowed; } +.ct-check__input { position: absolute; opacity: 0; width: 0; height: 0; } +.ct-check__box { + width: 16px; height: 16px; flex-shrink: 0; + display: inline-flex; align-items: center; justify-content: center; + background: var(--surface-card); + border: 1px solid var(--line-2); + border-radius: var(--radius-1); + color: transparent; + transition: background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out); +} +.ct-check:hover:not(.ct-check--disabled) .ct-check__box { border-color: var(--border-strong); } +.ct-check__input:checked + .ct-check__box { background: var(--accent); border-color: var(--accent); color: var(--ink-inverse); } +.ct-check__input:focus-visible + .ct-check__box { outline: 2px solid var(--focus-ring); outline-offset: 2px; } +`; +(function inject() { + if (typeof document !== 'undefined' && !document.getElementById('ct-check-css')) { + const s = document.createElement('style'); + s.id = 'ct-check-css'; + s.textContent = CSS; + document.head.appendChild(s); + } +})(); +function Checkbox({ + label, + checked, + onChange, + disabled = false, + style, + ...rest +}) { + return /*#__PURE__*/React.createElement("label", { + className: `ct-check${disabled ? ' ct-check--disabled' : ''}`, + style: style + }, /*#__PURE__*/React.createElement("input", _extends({ + type: "checkbox", + className: "ct-check__input", + checked: checked, + onChange: onChange, + disabled: disabled + }, rest)), /*#__PURE__*/React.createElement("span", { + className: "ct-check__box" + }, /*#__PURE__*/React.createElement(__ds_scope.Icon, { + name: "check", + size: 12, + strokeWidth: 2.5 + })), label ? /*#__PURE__*/React.createElement("span", null, label) : null); +} +Object.assign(__ds_scope, { Checkbox }); +})(); } catch (e) { __ds_ns.__errors.push({ path: "components/forms/Checkbox.jsx", error: String((e && e.message) || e) }); } + +// components/forms/Input.jsx +try { (() => { +function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } +const CSS = ` +.ct-field { display: flex; flex-direction: column; gap: 6px; } +.ct-field__label { font: 600 13px/1.2 var(--font-sans); color: var(--ink-1); } +.ct-field__wrap { position: relative; display: flex; align-items: center; } +.ct-field__icon { position: absolute; left: 10px; color: var(--ink-3); pointer-events: none; display: flex; } +.ct-input { + width: 100%; height: 34px; + font: var(--text-body); + color: var(--ink-1); + background: var(--surface-card); + border: 1px solid var(--line-2); + border-radius: var(--radius-2); + padding: 0 12px; + transition: border-color var(--duration-fast) var(--ease-out); +} +.ct-input::placeholder { color: var(--ink-3); } +.ct-input:hover:not(:disabled):not(:focus) { border-color: var(--border-strong); background: var(--paper-1); } +.ct-input:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent); } +.ct-input:disabled { opacity: 0.5; background: var(--paper-2); cursor: not-allowed; } +.ct-input--icon { padding-left: 32px; } +.ct-input--error { border-color: var(--danger); } +.ct-input--error:focus { border-color: var(--danger); box-shadow: 0 0 0 1px var(--danger); } +.ct-input--mono { font: var(--text-data); } +.ct-field__hint { font: var(--text-caption); color: var(--ink-3); margin: 0; } +.ct-field__error { font: var(--text-caption); color: var(--danger); margin: 0; } +`; +(function inject() { + if (typeof document !== 'undefined' && !document.getElementById('ct-input-css')) { + const s = document.createElement('style'); + s.id = 'ct-input-css'; + s.textContent = CSS; + document.head.appendChild(s); + } +})(); +function Input({ + label, + hint, + error, + icon, + mono = false, + style, + ...rest +}) { + const cls = ['ct-input', icon ? 'ct-input--icon' : '', error ? 'ct-input--error' : '', mono ? 'ct-input--mono' : ''].filter(Boolean).join(' '); + return /*#__PURE__*/React.createElement("div", { + className: "ct-field", + style: style + }, label ? /*#__PURE__*/React.createElement("label", { + className: "ct-field__label" + }, label) : null, /*#__PURE__*/React.createElement("div", { + className: "ct-field__wrap" + }, icon ? /*#__PURE__*/React.createElement("span", { + className: "ct-field__icon" + }, /*#__PURE__*/React.createElement(__ds_scope.Icon, { + name: icon, + size: 15 + })) : null, /*#__PURE__*/React.createElement("input", _extends({ + className: cls + }, rest))), error ? /*#__PURE__*/React.createElement("p", { + className: "ct-field__error" + }, error) : hint ? /*#__PURE__*/React.createElement("p", { + className: "ct-field__hint" + }, hint) : null); +} +Object.assign(__ds_scope, { Input }); +})(); } catch (e) { __ds_ns.__errors.push({ path: "components/forms/Input.jsx", error: String((e && e.message) || e) }); } + +// components/forms/Radio.jsx +try { (() => { +function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } +const CSS = ` +.ct-radio { display: inline-flex; align-items: center; gap: 9px; cursor: pointer; font: var(--text-body); color: var(--ink-1); } +.ct-radio--disabled { opacity: 0.5; cursor: not-allowed; } +.ct-radio__input { position: absolute; opacity: 0; width: 0; height: 0; } +.ct-radio__dot { + width: 16px; height: 16px; flex-shrink: 0; + border: 1px solid var(--line-2); + border-radius: 50%; + background: var(--surface-card); + display: inline-flex; align-items: center; justify-content: center; + transition: border-color var(--duration-fast) var(--ease-out); +} +.ct-radio__dot::after { + content: ''; + width: 8px; height: 8px; border-radius: 50%; + background: transparent; + transition: background var(--duration-fast) var(--ease-out); +} +.ct-radio:hover:not(.ct-radio--disabled) .ct-radio__dot { border-color: var(--border-strong); } +.ct-radio__input:checked + .ct-radio__dot { border-color: var(--accent); } +.ct-radio__input:checked + .ct-radio__dot::after { background: var(--accent); } +.ct-radio__input:focus-visible + .ct-radio__dot { outline: 2px solid var(--focus-ring); outline-offset: 2px; } +`; +(function inject() { + if (typeof document !== 'undefined' && !document.getElementById('ct-radio-css')) { + const s = document.createElement('style'); + s.id = 'ct-radio-css'; + s.textContent = CSS; + document.head.appendChild(s); + } +})(); +function Radio({ + label, + checked, + onChange, + name, + value, + disabled = false, + style, + ...rest +}) { + return /*#__PURE__*/React.createElement("label", { + className: `ct-radio${disabled ? ' ct-radio--disabled' : ''}`, + style: style + }, /*#__PURE__*/React.createElement("input", _extends({ + type: "radio", + className: "ct-radio__input", + checked: checked, + onChange: onChange, + name: name, + value: value, + disabled: disabled + }, rest)), /*#__PURE__*/React.createElement("span", { + className: "ct-radio__dot" + }), label ? /*#__PURE__*/React.createElement("span", null, label) : null); +} +Object.assign(__ds_scope, { Radio }); +})(); } catch (e) { __ds_ns.__errors.push({ path: "components/forms/Radio.jsx", error: String((e && e.message) || e) }); } + +// components/forms/Select.jsx +try { (() => { +function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } +const CSS = ` +.ct-select-field { display: flex; flex-direction: column; gap: 6px; } +.ct-select-field__label { font: 600 13px/1.2 var(--font-sans); color: var(--ink-1); } +.ct-select__wrap { position: relative; display: flex; align-items: center; } +.ct-select { + width: 100%; height: 34px; + font: var(--text-body); + color: var(--ink-1); + background: var(--surface-card); + border: 1px solid var(--line-2); + border-radius: var(--radius-2); + padding: 0 30px 0 12px; + appearance: none; + cursor: pointer; + transition: border-color var(--duration-fast) var(--ease-out); +} +.ct-select:hover:not(:disabled):not(:focus) { border-color: var(--border-strong); } +.ct-select:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent); } +.ct-select:disabled { opacity: 0.5; cursor: not-allowed; } +.ct-select__chevron { position: absolute; right: 10px; color: var(--ink-3); pointer-events: none; display: flex; } +`; +(function inject() { + if (typeof document !== 'undefined' && !document.getElementById('ct-select-css')) { + const s = document.createElement('style'); + s.id = 'ct-select-css'; + s.textContent = CSS; + document.head.appendChild(s); + } +})(); +function Select({ + label, + options, + style, + ...rest +}) { + return /*#__PURE__*/React.createElement("div", { + className: "ct-select-field", + style: style + }, label ? /*#__PURE__*/React.createElement("label", { + className: "ct-select-field__label" + }, label) : null, /*#__PURE__*/React.createElement("div", { + className: "ct-select__wrap" + }, /*#__PURE__*/React.createElement("select", _extends({ + className: "ct-select" + }, rest), options.map(o => /*#__PURE__*/React.createElement("option", { + key: o.value, + value: o.value + }, o.label))), /*#__PURE__*/React.createElement("span", { + className: "ct-select__chevron" + }, /*#__PURE__*/React.createElement(__ds_scope.Icon, { + name: "chevron-down", + size: 15 + })))); +} +Object.assign(__ds_scope, { Select }); +})(); } catch (e) { __ds_ns.__errors.push({ path: "components/forms/Select.jsx", error: String((e && e.message) || e) }); } + +// components/forms/Switch.jsx +try { (() => { +function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } +const CSS = ` +.ct-switch { display: inline-flex; align-items: center; gap: 9px; cursor: pointer; font: var(--text-body); color: var(--ink-1); } +.ct-switch--disabled { opacity: 0.5; cursor: not-allowed; } +.ct-switch__input { position: absolute; opacity: 0; width: 0; height: 0; } +.ct-switch__track { + width: 34px; height: 20px; flex-shrink: 0; + border-radius: var(--radius-round); + background: var(--paper-3); + border: 1px solid var(--line-2); + position: relative; + transition: background var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out); +} +.ct-switch__track::after { + content: ''; + position: absolute; top: 2px; left: 2px; + width: 14px; height: 14px; border-radius: 50%; + background: var(--surface-card); + box-shadow: var(--shadow-1); + transition: transform var(--duration-base) var(--ease-out); +} +.ct-switch__input:checked + .ct-switch__track { background: var(--accent); border-color: var(--accent); } +.ct-switch__input:checked + .ct-switch__track::after { transform: translateX(14px); } +.ct-switch__input:focus-visible + .ct-switch__track { outline: 2px solid var(--focus-ring); outline-offset: 2px; } +`; +(function inject() { + if (typeof document !== 'undefined' && !document.getElementById('ct-switch-css')) { + const s = document.createElement('style'); + s.id = 'ct-switch-css'; + s.textContent = CSS; + document.head.appendChild(s); + } +})(); +function Switch({ + label, + checked, + onChange, + disabled = false, + style, + ...rest +}) { + return /*#__PURE__*/React.createElement("label", { + className: `ct-switch${disabled ? ' ct-switch--disabled' : ''}`, + style: style + }, /*#__PURE__*/React.createElement("input", _extends({ + type: "checkbox", + role: "switch", + className: "ct-switch__input", + checked: checked, + onChange: onChange, + disabled: disabled + }, rest)), /*#__PURE__*/React.createElement("span", { + className: "ct-switch__track" + }), label ? /*#__PURE__*/React.createElement("span", null, label) : null); +} +Object.assign(__ds_scope, { Switch }); +})(); } catch (e) { __ds_ns.__errors.push({ path: "components/forms/Switch.jsx", error: String((e && e.message) || e) }); } + +// ui_kits/app/BoardScreen.jsx +try { (() => { +// Board — kanban over inferred lifecycle, with Gantt/Dependencies stubs +function BoardScreen({ + onOpenIssue +}) { + const DS = window.CommiTeaDesignSystem_20e63b; + const { + Card, + Tag, + Badge, + Tabs, + IconButton, + Input, + Icon + } = DS; + const d = window.CT_DATA; + const [tab, setTab] = React.useState('board'); + const [query, setQuery] = React.useState(''); + const q = query.trim().toLowerCase(); + const filtered = d.columns.map(c => ({ + ...c, + issues: q ? c.issues.filter(i => (i.title + ' #' + i.id).toLowerCase().includes(q)) : c.issues + })); + const anyMatch = filtered.some(c => c.issues.length > 0); + const openCount = d.columns.reduce((n, c) => n + (c.id === 'done' ? 0 : c.issues.length), 0); + const IssueCard = ({ + issue + }) => /*#__PURE__*/React.createElement("div", { + onClick: () => onOpenIssue(issue), + style: { + background: 'var(--surface-card)', + border: '1px solid var(--line-1)', + borderRadius: 'var(--radius-2)', + padding: '10px 12px', + cursor: 'pointer', + boxShadow: 'var(--shadow-1)', + display: 'flex', + flexDirection: 'column', + gap: 8 + }, + onMouseEnter: e => { + e.currentTarget.style.borderColor = 'var(--line-2)'; + }, + onMouseLeave: e => { + e.currentTarget.style.borderColor = 'var(--line-1)'; + } + }, /*#__PURE__*/React.createElement("div", { + style: { + font: 'var(--text-small)', + fontWeight: 500, + color: 'var(--ink-1)' + } + }, issue.title), /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + alignItems: 'center', + gap: 6, + flexWrap: 'wrap' + } + }, /*#__PURE__*/React.createElement("span", { + style: { + font: '400 11.5px var(--font-mono)', + color: 'var(--ink-3)' + } + }, "#", issue.id), issue.labels.map(l => /*#__PURE__*/React.createElement(Tag, { + key: l, + label: l, + style: { + transform: 'scale(0.95)', + transformOrigin: 'left center' + } + })), issue.days ? /*#__PURE__*/React.createElement("span", { + style: { + font: '400 11px var(--font-mono)', + color: 'var(--warn)' + } + }, issue.days) : null, issue.pr ? /*#__PURE__*/React.createElement("span", { + style: { + display: 'inline-flex', + alignItems: 'center', + gap: 3, + font: '400 11px var(--font-mono)', + color: 'var(--info)' + } + }, /*#__PURE__*/React.createElement(Icon, { + name: "git-pull-request", + size: 12 + }), issue.pr) : null, /*#__PURE__*/React.createElement("span", { + style: { + marginLeft: 'auto', + width: 20, + height: 20, + borderRadius: '50%', + background: 'var(--spruce-2)', + color: 'var(--accent-text)', + font: '600 9px/20px var(--font-sans)', + textAlign: 'center', + flexShrink: 0 + } + }, issue.who))); + return /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + flexDirection: 'column', + gap: 14, + height: '100%', + minHeight: 0 + } + }, /*#__PURE__*/React.createElement("header", { + style: { + display: 'flex', + alignItems: 'baseline', + justifyContent: 'space-between', + gap: 12 + } + }, /*#__PURE__*/React.createElement("h1", { + style: { + font: 'var(--text-display)', + color: 'var(--ink-1)', + margin: 0, + whiteSpace: 'nowrap' + } + }, "The pot"), /*#__PURE__*/React.createElement("div", { + style: { + width: 240 + } + }, /*#__PURE__*/React.createElement(Input, { + icon: "search", + placeholder: "Search the pot\u2026", + value: query, + onChange: e => setQuery(e.target.value) + }))), /*#__PURE__*/React.createElement(Tabs, { + items: [{ + id: 'board', + label: 'Board', + icon: 'square-kanban', + count: openCount + }, { + id: 'gantt', + label: 'Gantt', + icon: 'chart-no-axes-gantt' + }, { + id: 'deps', + label: 'Dependencies', + icon: 'network' + }], + active: tab, + onChange: setTab + }), tab === 'board' ? anyMatch ? /*#__PURE__*/React.createElement("div", { + style: { + display: 'grid', + gridTemplateColumns: 'repeat(5, 1fr)', + gap: 12, + alignItems: 'start', + flex: 1, + minHeight: 0, + overflow: 'auto' + } + }, filtered.map(col => /*#__PURE__*/React.createElement("div", { + key: col.id, + style: { + display: 'flex', + flexDirection: 'column', + gap: 8 + } + }, /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + alignItems: 'center', + gap: 6, + padding: '2px 2px 4px', + borderBottom: '1px solid var(--line-1)', + whiteSpace: 'nowrap' + } + }, /*#__PURE__*/React.createElement("span", { + style: { + font: 'var(--text-overline)', + letterSpacing: 'var(--letter-spacing-wide)', + textTransform: 'uppercase', + color: 'var(--ink-2)' + } + }, col.label), /*#__PURE__*/React.createElement("span", { + style: { + font: '400 11px var(--font-mono)', + color: 'var(--ink-3)' + } + }, col.issues.length)), col.issues.map(i => /*#__PURE__*/React.createElement(IssueCard, { + key: i.id, + issue: i + }))))) : /*#__PURE__*/React.createElement("div", { + style: { + flex: 1, + border: '1px dashed var(--line-2)', + borderRadius: 'var(--radius-3)' + } + }, /*#__PURE__*/React.createElement(window.EmptyState, { + icon: "search", + title: "Nothing by that name", + line: `The pot holds ${d.columns.reduce((n, c) => n + c.issues.length, 0)} issues; none of them answer to “${query.trim()}”.` + })) : tab === 'deps' ? /*#__PURE__*/React.createElement(window.DepsGraph, { + onOpenIssue: onOpenIssue + }) : /*#__PURE__*/React.createElement(window.GanttView, { + onOpenIssue: onOpenIssue + })); +} +Object.assign(window, { + BoardScreen +}); +})(); } catch (e) { __ds_ns.__errors.push({ path: "ui_kits/app/BoardScreen.jsx", error: String((e && e.message) || e) }); } + +// ui_kits/app/CalibrationScreen.jsx +try { (() => { +// Calibration report — estimate-vs-actual evidence behind the cones +function CalibrationScreen({ + onBack +}) { + const DS = window.CommiTeaDesignSystem_20e63b; + const { + Card, + Badge, + Icon + } = DS; + const c = window.CT_DATA.calibration; + + // scatter chart geometry + const W = 420, + H = 300, + pad = { + l: 36, + r: 16, + t: 14, + b: 30 + }; + const maxD = 9; + const X = d => pad.l + d / maxD * (W - pad.l - pad.r); + const Y = d => H - pad.b - d / maxD * (H - pad.t - pad.b); + const BiasBar = ({ + bias + }) => { + if (bias == null) return /*#__PURE__*/React.createElement("span", { + style: { + font: '400 11px var(--font-mono)', + color: 'var(--ink-3)' + } + }, "n too small"); + return /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + alignItems: 'center', + gap: 8, + flex: 1 + } + }, /*#__PURE__*/React.createElement("div", { + style: { + position: 'relative', + flex: 1, + height: 10, + background: 'var(--paper-2)', + borderRadius: 3 + } + }, /*#__PURE__*/React.createElement("div", { + style: { + position: 'absolute', + left: '30%', + top: -2, + bottom: -2, + width: 1.5, + background: 'var(--line-2)' + } + }), /*#__PURE__*/React.createElement("div", { + style: { + position: 'absolute', + left: '30%', + top: 1.5, + height: 7, + width: `${Math.min(bias * 1.6, 66)}%`, + background: bias > 15 ? 'var(--warn)' : 'var(--ok)', + borderRadius: '0 3px 3px 0', + opacity: 0.75 + } + })), /*#__PURE__*/React.createElement("span", { + style: { + font: '500 11.5px var(--font-mono)', + color: bias > 15 ? 'var(--warn)' : 'var(--ok)', + width: 42, + textAlign: 'right' + } + }, "+", bias, "%")); + }; + return /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + flexDirection: 'column', + gap: 16 + } + }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("button", { + type: "button", + onClick: onBack, + style: { + display: 'inline-flex', + alignItems: 'center', + gap: 6, + background: 'none', + border: 'none', + font: '500 12.5px var(--font-sans)', + color: 'var(--ink-2)', + cursor: 'pointer', + padding: '2px 0', + marginBottom: 10 + } + }, /*#__PURE__*/React.createElement(Icon, { + name: "arrow-left", + size: 14 + }), " Runway"), /*#__PURE__*/React.createElement("header", { + style: { + borderBottom: 'var(--rule-double)', + paddingBottom: 14, + display: 'flex', + alignItems: 'baseline', + justifyContent: 'space-between', + gap: 12 + } + }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("h1", { + style: { + font: 'var(--text-display)', + color: 'var(--ink-1)', + margin: 0 + } + }, "Calibration"), /*#__PURE__*/React.createElement("p", { + style: { + font: 'var(--text-data)', + color: 'var(--ink-3)', + margin: '6px 0 0', + whiteSpace: 'nowrap' + } + }, c.n, " closed issues with estimates \xB7 evidence, not opinion")), /*#__PURE__*/React.createElement(Badge, { + tone: "ok", + dot: true + }, "curve active \xB7 n \u2265 20"))), /*#__PURE__*/React.createElement("div", { + style: { + display: 'grid', + gridTemplateColumns: '1fr 1fr', + gap: 14, + alignItems: 'start' + } + }, /*#__PURE__*/React.createElement(Card, { + overline: "Estimate vs actual", + title: "The shape of hope", + jade: true + }, /*#__PURE__*/React.createElement("svg", { + width: "100%", + viewBox: `0 0 ${W} ${H}`, + style: { + display: 'block' + } + }, [1, 3, 5, 8].map(d => /*#__PURE__*/React.createElement(React.Fragment, { + key: d + }, /*#__PURE__*/React.createElement("line", { + x1: X(d), + x2: X(d), + y1: pad.t, + y2: H - pad.b, + stroke: "var(--line-1)", + strokeWidth: "1" + }), /*#__PURE__*/React.createElement("text", { + x: X(d), + y: H - 12, + textAnchor: "middle", + style: { + font: '400 10px var(--font-mono)', + fill: 'var(--ink-3)' + } + }, d, "d"), /*#__PURE__*/React.createElement("line", { + x1: pad.l, + x2: W - pad.r, + y1: Y(d), + y2: Y(d), + stroke: "var(--line-1)", + strokeWidth: "1" + }), /*#__PURE__*/React.createElement("text", { + x: pad.l - 6, + y: Y(d) + 3, + textAnchor: "end", + style: { + font: '400 10px var(--font-mono)', + fill: 'var(--ink-3)' + } + }, d, "d"))), /*#__PURE__*/React.createElement("line", { + x1: X(0), + y1: Y(0), + x2: X(maxD), + y2: Y(maxD), + stroke: "var(--line-2)", + strokeWidth: "1.2", + strokeDasharray: "4 4" + }), /*#__PURE__*/React.createElement("text", { + x: X(7.6), + y: Y(7.6) + 14, + style: { + font: '400 10px var(--font-mono)', + fill: 'var(--ink-3)' + } + }, "honest"), /*#__PURE__*/React.createElement("line", { + x1: X(0), + y1: Y(0), + x2: X(maxD / c.fit), + y2: Y(maxD), + stroke: "var(--cone-line)", + strokeWidth: "1.6" + }), /*#__PURE__*/React.createElement("text", { + x: X(4.1), + y: Y(4.1 * c.fit) - 8, + style: { + font: '500 10px var(--font-mono)', + fill: 'var(--cone-line)' + } + }, "you \xB7 \xD7", c.fit), c.scatter.map(([e, a], i) => /*#__PURE__*/React.createElement("circle", { + key: i, + cx: X(e) + (i % 5 - 2) * 3, + cy: Y(a), + r: "3", + fill: "var(--accent)", + opacity: "0.55" + }))), /*#__PURE__*/React.createElement("p", { + style: { + font: 'var(--text-caption)', + color: 'var(--ink-3)', + margin: '8px 0 0' + } + }, "estimated (x) vs actual days (y) \xB7 actuals inferred from git events, never tracked")), /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + flexDirection: 'column', + gap: 14 + } + }, /*#__PURE__*/React.createElement(Card, { + overline: "Bias by estimate label", + flush: true + }, /*#__PURE__*/React.createElement("div", null, c.labels.map((r, i) => /*#__PURE__*/React.createElement("div", { + key: r.label, + style: { + display: 'flex', + alignItems: 'center', + gap: 14, + padding: '10px 20px', + borderTop: i === 0 ? 'none' : '1px solid var(--line-1)' + } + }, /*#__PURE__*/React.createElement("span", { + style: { + font: '500 11.5px var(--font-mono)', + color: 'var(--ink-1)', + width: 52 + } + }, r.label), /*#__PURE__*/React.createElement("span", { + style: { + font: '400 11px var(--font-mono)', + color: 'var(--ink-3)', + width: 66 + } + }, "n=", r.n, " \xB7 ", r.median), /*#__PURE__*/React.createElement(BiasBar, { + bias: r.bias + }))))), /*#__PURE__*/React.createElement(Card, { + overline: "By person", + flush: true + }, /*#__PURE__*/React.createElement("div", null, c.people.map((p, i) => /*#__PURE__*/React.createElement("div", { + key: p.who, + style: { + display: 'flex', + alignItems: 'center', + gap: 12, + padding: '11px 20px', + borderTop: i === 0 ? 'none' : '1px solid var(--line-1)' + } + }, /*#__PURE__*/React.createElement("span", { + style: { + width: 24, + height: 24, + borderRadius: '50%', + background: 'var(--spruce-2)', + color: 'var(--accent-text)', + font: '600 9px/24px var(--font-sans)', + textAlign: 'center', + flexShrink: 0 + } + }, p.who.split(' ').map(w => w[0]).join('')), /*#__PURE__*/React.createElement("div", { + style: { + flex: 1, + minWidth: 0 + } + }, /*#__PURE__*/React.createElement("span", { + style: { + font: 'var(--text-body-strong)', + color: 'var(--ink-1)' + } + }, p.who), /*#__PURE__*/React.createElement("span", { + style: { + font: '400 11px var(--font-mono)', + color: 'var(--ink-3)' + } + }, " \xB7 n=", p.n, " \xB7 ", p.note)), /*#__PURE__*/React.createElement("span", { + style: { + font: '500 12px var(--font-mono)', + color: p.bias > 15 ? 'var(--warn)' : 'var(--ok)' + } + }, "+", p.bias, "%"))))), /*#__PURE__*/React.createElement(Card, { + overline: "What this does to your forecasts" + }, /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + alignItems: 'center', + gap: 10, + flexWrap: 'wrap' + } + }, /*#__PURE__*/React.createElement("span", { + style: { + font: '400 12.5px var(--font-mono)', + color: 'var(--ink-2)', + whiteSpace: 'nowrap' + } + }, c.effect.raw), /*#__PURE__*/React.createElement(Icon, { + name: "arrow-right", + size: 14, + style: { + color: 'var(--ink-3)' + } + }), /*#__PURE__*/React.createElement("span", { + style: { + font: '500 12.5px var(--font-mono)', + color: 'var(--ink-1)', + whiteSpace: 'nowrap' + } + }, c.effect.banded)), /*#__PURE__*/React.createElement("p", { + style: { + font: 'var(--text-agent)', + color: 'var(--ink-2)', + margin: '10px 0 0' + } + }, "You are not bad at estimating; you are optimistic in a very stable way. Stable, I can work with."))))); +} +Object.assign(window, { + CalibrationScreen +}); +})(); } catch (e) { __ds_ns.__errors.push({ path: "ui_kits/app/CalibrationScreen.jsx", error: String((e && e.message) || e) }); } + +// ui_kits/app/CaptureScreen.jsx +try { (() => { +// Capture interview — braindump → interview → approved ticket set (< 2 min) +function CaptureScreen({ + onDone +}) { + const DS = window.CommiTeaDesignSystem_20e63b; + const { + Button, + Card, + Tag, + Badge, + Select, + Icon + } = DS; + const [stage, setStage] = React.useState('dump'); // dump | interview | review | filed + const [dump, setDump] = React.useState('auth is flaky \u2014 token refresh dies silently, sometimes session storage goes stale. ' + 'also the webhook debounce thing keeps double-firing. and we owe docs for auth setup'); + const [qi, setQi] = React.useState(0); + const [log, setLog] = React.useState([]); + const [split, setSplit] = React.useState(null); + const [webEst, setWebEst] = React.useState(null); + const [secs, setSecs] = React.useState(0); + const running = stage === 'interview' || stage === 'review'; + React.useEffect(() => { + if (!running) return; + const t = setInterval(() => setSecs(s => s + 1), 1000); + return () => clearInterval(t); + }, [running]); + const clock = `${Math.floor(secs / 60)}:${String(secs % 60).padStart(2, '0')}`; + const QUESTIONS = [{ + q: 'The auth work \u2014 one ticket, or shall I split token refresh from session storage? They fail differently.', + chips: ['One ticket', 'Split them'], + set: a => setSplit(a === 'Split them') + }, { + q: 'The webhook double-fire \u2014 how long? I should mention your "quick" has averaged two days.', + chips: ['est/1d', 'est/2d', 'est/3d'], + set: a => setWebEst(a) + }, { + q: 'Milestone Beta, I presume? It has room, provided the auth work stays under four days.', + chips: ['Beta', 'New milestone'], + set: () => {} + }]; + const answer = a => { + QUESTIONS[qi].set(a); + setLog(l => [...l, { + q: QUESTIONS[qi].q, + a + }]); + if (qi + 1 < QUESTIONS.length) setQi(qi + 1);else setStage('review'); + }; + + // draft tickets build as the interview progresses + const tickets = []; + if (split === true) { + tickets.push({ + title: 'Token refresh: retry with backoff', + est: 'est/2d', + p: 'p/2' + }); + tickets.push({ + title: 'Session storage: stale reads on wake', + est: 'est/1d', + p: 'p/3' + }); + } else if (split === false) { + tickets.push({ + title: 'Auth: token refresh + session storage', + est: 'est/3d', + p: 'p/2' + }); + } + if (webEst) tickets.push({ + title: 'Webhook debounce: double-fire guard', + est: webEst, + p: 'p/1', + dep: 'blocked by auth work' + }); + if (stage === 'review' || stage === 'filed') { + tickets.push({ + title: 'Docs: auth setup guide', + est: 'est/1d', + p: 'p/4', + byReginald: true + }); + } + const totalDays = tickets.reduce((n, t) => n + parseInt(t.est.replace('est/', '')), 0); + const estOptions = ['est/1d', 'est/2d', 'est/3d', 'est/5d', 'est/8d'].map(v => ({ + value: v, + label: v + })); + const pOptions = ['p/1', 'p/2', 'p/3', 'p/4'].map(v => ({ + value: v, + label: v + })); + const Tray = ({ + editable + }) => /*#__PURE__*/React.createElement(Card, { + overline: "The tray", + title: tickets.length ? `${tickets.length} draft${tickets.length > 1 ? 's' : ''}` : 'Empty, for now', + flush: true + }, /*#__PURE__*/React.createElement("div", null, tickets.length === 0 ? /*#__PURE__*/React.createElement("p", { + style: { + font: 'var(--text-agent)', + color: 'var(--ink-3)', + margin: 0, + padding: '14px 20px 18px' + } + }, "Tickets appear here as we talk.") : tickets.map((t, i) => /*#__PURE__*/React.createElement("div", { + key: t.title, + style: { + display: 'flex', + flexDirection: 'column', + gap: 8, + padding: '12px 20px', + borderTop: i === 0 ? 'none' : '1px solid var(--line-1)' + } + }, /*#__PURE__*/React.createElement("div", { + style: { + font: 'var(--text-body-strong)', + color: 'var(--ink-1)' + } + }, t.title), /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + alignItems: 'center', + gap: 8, + flexWrap: 'wrap' + } + }, editable ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Select, { + options: estOptions, + defaultValue: t.est, + style: { + width: 96 + } + }), /*#__PURE__*/React.createElement(Select, { + options: pOptions, + defaultValue: t.p, + style: { + width: 76 + } + })) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Tag, { + label: t.est + }), /*#__PURE__*/React.createElement(Tag, { + label: t.p + })), t.dep ? /*#__PURE__*/React.createElement("span", { + style: { + font: '400 11px var(--font-mono)', + color: 'var(--ink-3)', + display: 'inline-flex', + alignItems: 'center', + gap: 4 + } + }, /*#__PURE__*/React.createElement(Icon, { + name: "network", + size: 11 + }), t.dep) : null, t.byReginald ? /*#__PURE__*/React.createElement(Badge, { + tone: "jade" + }, "added by Reginald") : null))))); + return /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + flexDirection: 'column', + gap: 16 + } + }, /*#__PURE__*/React.createElement("header", { + style: { + borderBottom: 'var(--rule-double)', + paddingBottom: 14, + display: 'flex', + alignItems: 'baseline', + justifyContent: 'space-between', + gap: 12 + } + }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("h1", { + style: { + font: 'var(--text-display)', + color: 'var(--ink-1)', + margin: 0 + } + }, "Capture"), /*#__PURE__*/React.createElement("p", { + style: { + font: 'var(--text-data)', + color: 'var(--ink-3)', + margin: '6px 0 0', + whiteSpace: 'nowrap' + } + }, "braindump \u2192 approved tickets")), stage !== 'dump' ? /*#__PURE__*/React.createElement("div", { + style: { + textAlign: 'right' + } + }, /*#__PURE__*/React.createElement("div", { + style: { + font: '400 24px/1 var(--font-serif-display)', + color: secs > 120 ? 'var(--warn)' : 'var(--ink-1)' + } + }, clock), /*#__PURE__*/React.createElement("div", { + style: { + font: '400 11px var(--font-mono)', + color: 'var(--ink-3)', + marginTop: 4 + } + }, "budget 2:00")) : null), stage === 'dump' ? /*#__PURE__*/React.createElement(Card, { + overline: "Braindump", + title: "Tell me what you're planning", + jade: true + }, /*#__PURE__*/React.createElement("textarea", { + value: dump, + onChange: e => setDump(e.target.value), + rows: 5, + style: { + width: '100%', + resize: 'vertical', + font: 'var(--text-body)', + color: 'var(--ink-1)', + background: 'var(--paper-0)', + border: '1px solid var(--line-2)', + borderRadius: 'var(--radius-2)', + padding: '10px 12px', + outline: 'none', + lineHeight: 1.55 + } + }), /*#__PURE__*/React.createElement("p", { + style: { + font: 'var(--text-agent)', + color: 'var(--ink-2)', + margin: '10px 0 14px' + } + }, "Sentences, fragments, grievances \u2014 all welcome. I'll sort it into tickets and only ask what I can't infer."), /*#__PURE__*/React.createElement(Button, { + icon: "sparkles", + onClick: () => setStage('interview') + }, "Brew tickets")) : null, stage === 'interview' ? /*#__PURE__*/React.createElement("div", { + style: { + display: 'grid', + gridTemplateColumns: '1.3fr 1fr', + gap: 14, + alignItems: 'start' + } + }, /*#__PURE__*/React.createElement(Card, { + overline: `Interview \u00b7 ${qi + 1} of ${QUESTIONS.length}`, + jade: true + }, /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + flexDirection: 'column', + gap: 14 + } + }, log.map((e, i) => /*#__PURE__*/React.createElement("div", { + key: i, + style: { + display: 'flex', + flexDirection: 'column', + gap: 6, + opacity: 0.66 + } + }, /*#__PURE__*/React.createElement("span", { + style: { + font: 'var(--text-agent)', + color: 'var(--ink-2)' + } + }, e.q), /*#__PURE__*/React.createElement("span", { + style: { + alignSelf: 'flex-start', + font: 'var(--text-small)', + background: 'var(--paper-2)', + borderRadius: 'var(--radius-round)', + padding: '4px 11px' + } + }, e.a))), /*#__PURE__*/React.createElement("p", { + style: { + font: 'var(--text-agent-lg)', + color: 'var(--ink-1)', + margin: 0 + } + }, QUESTIONS[qi].q), /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + gap: 8, + flexWrap: 'wrap' + } + }, QUESTIONS[qi].chips.map(c => /*#__PURE__*/React.createElement(Button, { + key: c, + variant: "secondary", + size: "sm", + onClick: () => answer(c) + }, c))))), /*#__PURE__*/React.createElement(Tray, null)) : null, stage === 'review' ? /*#__PURE__*/React.createElement("div", { + style: { + display: 'grid', + gridTemplateColumns: '1fr 1.1fr', + gap: 14, + alignItems: 'start' + } + }, /*#__PURE__*/React.createElement(Card, { + overline: "Consequence", + title: `${tickets.length} tickets \u00b7 ~${totalDays}d of work`, + jade: true, + footer: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Button, { + onClick: () => setStage('filed') + }, "Approve all"), /*#__PURE__*/React.createElement(Button, { + variant: "ghost", + onClick: () => { + setStage('dump'); + setQi(0); + setLog([]); + setSplit(null); + setWebEst(null); + setSecs(0); + } + }, "Discard")) + }, /*#__PURE__*/React.createElement("p", { + style: { + font: 'var(--text-body)', + margin: '0 0 8px' + } + }, "Beta's 80% window moves ", /*#__PURE__*/React.createElement("span", { + style: { + font: 'var(--text-data)' + } + }, "Mar 3\u201312 \u2192 Mar 5\u201314"), ". Capacity absorbs the rest."), /*#__PURE__*/React.createElement("p", { + style: { + font: 'var(--text-agent)', + color: 'var(--ink-2)', + margin: 0 + } + }, "I added the docs ticket you mentioned and wired the dependency. Shall I make it so?")), /*#__PURE__*/React.createElement(Tray, { + editable: true + })) : null, stage === 'filed' ? /*#__PURE__*/React.createElement(Card, { + jade: true, + style: { + maxWidth: 560 + } + }, /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + flexDirection: 'column', + gap: 10, + alignItems: 'flex-start' + } + }, /*#__PURE__*/React.createElement("span", { + style: { + color: 'var(--ok)', + display: 'inline-flex', + alignItems: 'center', + gap: 8, + font: 'var(--text-title)' + } + }, /*#__PURE__*/React.createElement(Icon, { + name: "circle-check", + size: 22 + }), " Filed"), /*#__PURE__*/React.createElement("p", { + style: { + font: 'var(--text-body)', + margin: 0 + } + }, tickets.length, " issues opened in gitea with ", /*#__PURE__*/React.createElement("span", { + style: { + font: 'var(--text-data)' + } + }, "est/*"), " and ", /*#__PURE__*/React.createElement("span", { + style: { + font: 'var(--text-data)' + } + }, "p/*"), " labels \u2014 nothing else touched."), /*#__PURE__*/React.createElement("p", { + style: { + font: 'var(--text-agent)', + color: 'var(--ink-2)', + margin: 0 + } + }, "Elapsed ", clock, " \u2014 under budget. No bot comments, no synthetic issues; your repo remains yours."), /*#__PURE__*/React.createElement(Button, { + iconRight: "arrow-right", + onClick: onDone + }, "To morning service"))) : null); +} +Object.assign(window, { + CaptureScreen +}); +})(); } catch (e) { __ds_ns.__errors.push({ path: "ui_kits/app/CaptureScreen.jsx", error: String((e && e.message) || e) }); } + +// ui_kits/app/Chart.jsx +try { (() => { +// Burn-up chart with Monte Carlo forecast cone — geometry, not decoration. +function BurnUpCone({ + width = 640, + height = 220 +}) { + const pad = { + l: 34, + r: 96, + t: 16, + b: 26 + }; + const W = width - pad.l - pad.r; + const H = height - pad.t - pad.b; + const x = f => pad.l + f * W; + const y = f => pad.t + (1 - f) * H; + + // scope line (total work), actual completed, cone from today + const today = 0.58; + const actual = [[0, 0], [0.08, 0.05], [0.18, 0.13], [0.26, 0.16], [0.36, 0.27], [0.46, 0.38], [0.58, 0.47]]; + const coneHi = [[0.58, 0.47], [0.72, 0.66], [0.86, 0.88], [0.95, 1.0]]; + const coneLo = [[0.58, 0.47], [0.74, 0.58], [0.9, 0.74], [1.0, 0.86]]; + const mid = [[0.58, 0.47], [0.76, 0.63], [0.92, 0.83], [1.0, 0.93]]; + const pts = arr => arr.map(([a, b]) => `${x(a)},${y(b)}`).join(' '); + const cone = [...coneHi, ...[...coneLo].reverse()]; + return /*#__PURE__*/React.createElement("svg", { + width: "100%", + viewBox: `0 0 ${width} ${height}`, + style: { + display: 'block' + } + }, [0, 0.25, 0.5, 0.75, 1].map(f => /*#__PURE__*/React.createElement("line", { + key: f, + x1: pad.l, + x2: width - pad.r, + y1: y(f), + y2: y(f), + stroke: "var(--line-1)", + strokeWidth: "1" + })), /*#__PURE__*/React.createElement("line", { + x1: pad.l, + x2: width - pad.r, + y1: y(1), + y2: y(1), + stroke: "var(--line-2)", + strokeWidth: "1.5" + }), /*#__PURE__*/React.createElement("text", { + x: pad.l, + y: y(1) - 6, + style: { + font: '400 10.5px var(--font-mono)', + fill: 'var(--ink-3)' + } + }, "scope \xB7 42 issues"), /*#__PURE__*/React.createElement("polygon", { + points: pts(cone), + fill: "var(--cone-fill)" + }), /*#__PURE__*/React.createElement("polyline", { + points: pts(coneHi), + fill: "none", + stroke: "var(--cone-line)", + strokeWidth: "1.2", + strokeDasharray: "3 3" + }), /*#__PURE__*/React.createElement("polyline", { + points: pts(coneLo), + fill: "none", + stroke: "var(--cone-line)", + strokeWidth: "1.2", + strokeDasharray: "3 3" + }), /*#__PURE__*/React.createElement("polyline", { + points: pts(mid), + fill: "none", + stroke: "var(--cone-line)", + strokeWidth: "1.4" + }), /*#__PURE__*/React.createElement("polyline", { + points: pts(actual), + fill: "none", + stroke: "var(--cone-actual)", + strokeWidth: "2" + }), /*#__PURE__*/React.createElement("circle", { + cx: x(0.58), + cy: y(0.47), + r: "3.5", + fill: "var(--cone-actual)" + }), /*#__PURE__*/React.createElement("line", { + x1: x(today), + x2: x(today), + y1: pad.t, + y2: height - pad.b, + stroke: "var(--jade)", + strokeWidth: "1" + }), /*#__PURE__*/React.createElement("text", { + x: x(today) + 5, + y: pad.t + 10, + style: { + font: '400 10.5px var(--font-mono)', + fill: 'var(--jade-7)' + } + }, "today"), /*#__PURE__*/React.createElement("line", { + x1: x(0.95) + 4, + x2: x(0.95) + 4, + y1: y(1.0), + y2: y(0.86) + H * 0.14 * 0 + (y(0.86) - y(0.86)), + stroke: "none" + }), /*#__PURE__*/React.createElement("text", { + x: width - pad.r + 10, + y: y(0.95), + style: { + font: '500 11.5px var(--font-mono)', + fill: 'var(--ink-1)' + } + }, "80%"), /*#__PURE__*/React.createElement("text", { + x: width - pad.r + 10, + y: y(0.95) + 14, + style: { + font: '400 11px var(--font-mono)', + fill: 'var(--ink-2)' + } + }, "Mar 3\u201312"), /*#__PURE__*/React.createElement("text", { + x: pad.l, + y: height - 8, + style: { + font: '400 10.5px var(--font-mono)', + fill: 'var(--ink-3)' + } + }, "Jan 6"), /*#__PURE__*/React.createElement("text", { + x: width - pad.r - 34, + y: height - 8, + style: { + font: '400 10.5px var(--font-mono)', + fill: 'var(--ink-3)' + } + }, "Mar 15")); +} + +// Runway bar: milestone due date vs forecast range position +function RunwayBar({ + m +}) { + const toneColor = m.tone === 'warn' ? 'var(--warn)' : 'var(--ok)'; + const left = Math.max(0, (m.pos - m.spread / 2) * 100); + const w = Math.min(100 - left, m.spread * 100); + return /*#__PURE__*/React.createElement("div", { + style: { + position: 'relative', + height: 22, + background: 'var(--paper-2)', + borderRadius: 4, + overflow: 'hidden' + } + }, /*#__PURE__*/React.createElement("div", { + style: { + position: 'absolute', + left: `${left}%`, + width: `${w}%`, + top: 0, + bottom: 0, + background: 'var(--cone-fill)', + borderLeft: `1.5px solid ${toneColor}`, + borderRight: `1.5px solid ${toneColor}` + } + }), /*#__PURE__*/React.createElement("div", { + style: { + position: 'absolute', + left: `${m.pos * 100}%`, + top: 0, + bottom: 0, + width: 2, + background: toneColor + } + }), /*#__PURE__*/React.createElement("div", { + style: { + position: 'absolute', + left: 'calc(88% - 1px)', + top: 0, + bottom: 0, + width: 2, + background: 'var(--ink-1)' + } + })); +} +Object.assign(window, { + BurnUpCone, + RunwayBar +}); +})(); } catch (e) { __ds_ns.__errors.push({ path: "ui_kits/app/Chart.jsx", error: String((e && e.message) || e) }); } + +// ui_kits/app/ChatPanel.jsx +try { (() => { +// Agent panel — chat is the write-path +function ChatPanel({ + onOpenDirectives, + offline +}) { + const DS = window.CommiTeaDesignSystem_20e63b; + const { + Icon, + IconButton + } = DS; + const d = window.CT_DATA; + const [msgs, setMsgs] = React.useState(d.chat); + const [text, setText] = React.useState(''); + const [thinking, setThinking] = React.useState(false); + const scrollRef = React.useRef(null); + React.useEffect(() => { + const el = scrollRef.current; + if (el) el.scrollTop = el.scrollHeight; + }, [msgs, thinking]); + const send = () => { + const t = text.trim(); + if (!t) return; + setMsgs(m => [...m, { + from: 'user', + text: t + }]); + setText(''); + setThinking(true); + setTimeout(() => { + setThinking(false); + setMsgs(m => [...m, { + from: 'agent', + text: d.cannedReply + }]); + }, 900); + }; + return /*#__PURE__*/React.createElement("aside", { + style: { + width: 330, + flexShrink: 0, + display: 'flex', + flexDirection: 'column', + background: 'var(--surface-card)', + borderLeft: '1px solid var(--line-1)', + minHeight: 0 + } + }, /*#__PURE__*/React.createElement("header", { + style: { + display: 'flex', + alignItems: 'center', + gap: 8, + padding: '14px 16px', + borderBottom: '1px solid var(--line-1)', + flexShrink: 0 + } + }, /*#__PURE__*/React.createElement(Icon, { + name: "sparkles", + size: 16, + style: { + color: offline ? 'var(--ink-3)' : 'var(--jade)' + } + }), /*#__PURE__*/React.createElement("span", { + style: { + font: 'var(--text-body-strong)', + color: 'var(--ink-1)' + } + }, "Reginald"), /*#__PURE__*/React.createElement("span", { + style: { + font: '400 11px var(--font-mono)', + color: 'var(--ink-3)', + marginLeft: 'auto' + } + }, offline ? 'offline · queueing' : 'gemma-4b · local'), /*#__PURE__*/React.createElement(IconButton, { + icon: "history", + label: "Directive log", + size: "sm", + onClick: onOpenDirectives + })), /*#__PURE__*/React.createElement("div", { + ref: scrollRef, + style: { + flex: 1, + overflowY: 'auto', + padding: 16, + display: 'flex', + flexDirection: 'column', + gap: 12, + minHeight: 0 + } + }, msgs.map((m, i) => m.from === 'agent' ? /*#__PURE__*/React.createElement("div", { + key: i, + style: { + font: 'var(--text-agent)', + color: 'var(--ink-1)', + lineHeight: 1.55 + } + }, m.text) : /*#__PURE__*/React.createElement("div", { + key: i, + style: { + alignSelf: 'flex-end', + maxWidth: '85%', + background: 'var(--paper-2)', + borderRadius: '10px 10px 2px 10px', + padding: '8px 12px', + font: 'var(--text-small)', + color: 'var(--ink-1)' + } + }, m.text)), offline ? /*#__PURE__*/React.createElement("div", { + style: { + font: 'var(--text-agent)', + color: 'var(--ink-3)' + } + }, "The model is away from its desk. Reads still work; writes will wait their turn.") : null, thinking ? /*#__PURE__*/React.createElement("div", { + style: { + font: 'var(--text-agent)', + color: 'var(--ink-3)' + } + }, "considering\u2026") : null), /*#__PURE__*/React.createElement("div", { + style: { + padding: 14, + borderTop: '1px solid var(--line-1)', + flexShrink: 0 + } + }, /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + alignItems: 'flex-end', + gap: 8, + background: 'var(--paper-0)', + border: '1px solid var(--line-2)', + borderRadius: 'var(--radius-2)', + padding: '8px 8px 8px 12px' + } + }, /*#__PURE__*/React.createElement("textarea", { + value: text, + onChange: e => setText(e.target.value), + onKeyDown: e => { + if (e.key === 'Enter' && !e.shiftKey) { + e.preventDefault(); + send(); + } + }, + placeholder: offline ? 'Writes wait for the connection…' : 'Tell me what to do…', + disabled: offline, + rows: 1, + style: { + flex: 1, + resize: 'none', + border: 'none', + outline: 'none', + background: 'transparent', + font: 'var(--text-body)', + color: 'var(--ink-1)', + lineHeight: 1.45, + maxHeight: 96 + } + }), /*#__PURE__*/React.createElement("button", { + type: "button", + onClick: send, + "aria-label": "Send", + disabled: offline, + style: { + width: 30, + height: 30, + borderRadius: 'var(--radius-2)', + border: 'none', + cursor: offline ? 'not-allowed' : 'pointer', + background: offline ? 'var(--paper-3)' : 'var(--accent)', + color: offline ? 'var(--ink-3)' : 'var(--ink-inverse)', + display: 'inline-flex', + alignItems: 'center', + justifyContent: 'center', + flexShrink: 0 + } + }, /*#__PURE__*/React.createElement(Icon, { + name: "send", + size: 14 + }))), /*#__PURE__*/React.createElement("p", { + style: { + font: 'var(--text-caption)', + color: 'var(--ink-3)', + margin: '8px 2px 0' + } + }, "Chat is the write-path. Destructive changes are proposed, never assumed."))); +} +Object.assign(window, { + ChatPanel +}); +})(); } catch (e) { __ds_ns.__errors.push({ path: "ui_kits/app/ChatPanel.jsx", error: String((e && e.message) || e) }); } + +// ui_kits/app/DepsGraph.jsx +try { (() => { +// Dependency graph drill-in — layered DAG, critical path in spruce +function DepsGraph({ + onOpenIssue +}) { + const DS = window.CommiTeaDesignSystem_20e63b; + const { + Tag, + Icon + } = DS; + const g = window.CT_DATA.deps; + const PAD = 14, + COLW = 206, + ROWH = 106, + NW = 176, + NH = 84; + const X = c => PAD + c * COLW; + const Y = r => PAD + r * ROWH; + const maxCol = g.milestone.col; + const maxRow = Math.max(...g.nodes.map(n => n.row), g.milestone.row); + const W = PAD * 2 + maxCol * COLW + NW; + const H = PAD * 2 + maxRow * ROWH + NH; + const MSW = 158, + MSH = 44; + const pos = {}; + g.nodes.forEach(n => { + pos[n.id] = { + x: X(n.col), + y: Y(n.row), + w: NW, + h: NH + }; + }); + pos['ms'] = { + x: X(g.milestone.col), + y: Y(g.milestone.row) + (NH - MSH) / 2, + w: MSW, + h: MSH + }; + const edgePath = e => { + const a = pos[e.from], + b = pos[e.to]; + const x1 = a.x + a.w, + y1 = a.y + a.h / 2; + const x2 = b.x, + y2 = b.y + b.h / 2; + const dx = Math.max(28, (x2 - x1) / 2); + return `M ${x1} ${y1} C ${x1 + dx} ${y1}, ${x2 - dx} ${y2}, ${x2 - 5} ${y2}`; + }; + const STATES = { + done: { + icon: 'circle-check', + color: 'var(--ok)', + label: 'done' + }, + steeping: { + icon: 'clock', + color: 'var(--warn)', + label: 'steeping' + }, + review: { + icon: 'git-pull-request', + color: 'var(--info)', + label: 'in review' + }, + triage: { + icon: 'circle-dot', + color: 'var(--ink-3)', + label: 'triage' + }, + diagnosis: { + icon: 'circle-dashed', + color: 'var(--ink-3)', + label: 'diagnosis' + } + }; + const Node = ({ + n + }) => { + const st = STATES[n.state]; + const crit = g.critical.includes(n.id); + return /*#__PURE__*/React.createElement("div", { + onClick: () => onOpenIssue({ + id: n.id, + title: n.title, + labels: n.tags, + rationale: n.rationale, + days: n.state === 'steeping' ? n.days : undefined + }), + style: { + position: 'absolute', + left: pos[n.id].x, + top: pos[n.id].y, + width: NW, + height: NH, + background: n.state === 'done' ? 'var(--paper-2)' : 'var(--surface-card)', + border: `1px solid ${crit ? 'var(--spruce-5)' : 'var(--line-1)'}`, + boxShadow: crit ? 'var(--shadow-1), inset 2px 0 0 var(--accent)' : 'var(--shadow-1)', + borderRadius: 'var(--radius-2)', + padding: '9px 11px', + cursor: 'pointer', + display: 'flex', + flexDirection: 'column', + gap: 6, + opacity: n.state === 'done' ? 0.72 : 1, + transition: 'border-color var(--duration-fast) var(--ease-out)' + }, + onMouseEnter: e => { + e.currentTarget.style.borderColor = crit ? 'var(--accent)' : 'var(--line-2)'; + }, + onMouseLeave: e => { + e.currentTarget.style.borderColor = crit ? 'var(--spruce-5)' : 'var(--line-1)'; + } + }, /*#__PURE__*/React.createElement("div", { + style: { + font: '500 12px/1.3 var(--font-sans)', + color: 'var(--ink-1)', + display: '-webkit-box', + WebkitLineClamp: 2, + WebkitBoxOrient: 'vertical', + overflow: 'hidden' + } + }, n.title), /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + alignItems: 'center', + gap: 6, + marginTop: 'auto' + } + }, /*#__PURE__*/React.createElement("span", { + style: { + font: '400 11px var(--font-mono)', + color: 'var(--ink-3)' + } + }, "#", n.id), /*#__PURE__*/React.createElement("span", { + style: { + display: 'inline-flex', + alignItems: 'center', + gap: 4, + font: '400 10.5px var(--font-mono)', + color: st.color, + whiteSpace: 'nowrap' + } + }, /*#__PURE__*/React.createElement(Icon, { + name: st.icon, + size: 11 + }), st.label, n.state === 'steeping' && n.days ? ` ${n.days}` : ''), n.tags.filter(t => t.startsWith('p/')).map(t => /*#__PURE__*/React.createElement("span", { + key: t, + style: { + font: '500 10.5px var(--font-mono)', + color: 'var(--ink-3)', + marginLeft: 'auto' + } + }, t)))); + }; + return /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + flexDirection: 'column', + gap: 12, + flex: 1, + minHeight: 0 + } + }, /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + alignItems: 'center', + gap: 18, + font: '400 11.5px var(--font-mono)', + color: 'var(--ink-2)', + whiteSpace: 'nowrap' + } + }, /*#__PURE__*/React.createElement("span", { + style: { + display: 'inline-flex', + alignItems: 'center', + gap: 7 + } + }, /*#__PURE__*/React.createElement("span", { + style: { + width: 22, + height: 2, + background: 'var(--accent)', + display: 'inline-block' + } + }), "critical path"), /*#__PURE__*/React.createElement("span", { + style: { + display: 'inline-flex', + alignItems: 'center', + gap: 7 + } + }, /*#__PURE__*/React.createElement("span", { + style: { + width: 22, + height: 0, + borderTop: '1.5px solid var(--line-2)', + display: 'inline-block' + } + }), "blocks"), /*#__PURE__*/React.createElement("span", { + style: { + marginLeft: 'auto', + color: 'var(--ink-3)' + } + }, "unattached: ", g.unattached.map(i => `#${i}`).join(' · '))), /*#__PURE__*/React.createElement("div", { + style: { + overflow: 'auto', + flex: 1, + minHeight: 0, + border: '1px solid var(--line-1)', + borderRadius: 'var(--radius-3)', + background: 'var(--surface-app)' + } + }, /*#__PURE__*/React.createElement("div", { + style: { + position: 'relative', + width: W, + height: H + } + }, /*#__PURE__*/React.createElement("svg", { + width: W, + height: H, + style: { + position: 'absolute', + inset: 0, + pointerEvents: 'none' + } + }, /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("marker", { + id: "dg-arrow", + viewBox: "0 0 8 8", + refX: "7", + refY: "4", + markerWidth: "7", + markerHeight: "7", + orient: "auto-start-reverse" + }, /*#__PURE__*/React.createElement("path", { + d: "M 0 0.5 L 7.5 4 L 0 7.5 z", + fill: "var(--line-2)" + })), /*#__PURE__*/React.createElement("marker", { + id: "dg-arrow-crit", + viewBox: "0 0 8 8", + refX: "7", + refY: "4", + markerWidth: "7", + markerHeight: "7", + orient: "auto-start-reverse" + }, /*#__PURE__*/React.createElement("path", { + d: "M 0 0.5 L 7.5 4 L 0 7.5 z", + fill: "var(--accent)" + }))), g.edges.map((e, i) => /*#__PURE__*/React.createElement("path", { + key: i, + d: edgePath(e), + fill: "none", + stroke: e.crit ? 'var(--accent)' : 'var(--line-2)', + strokeWidth: e.crit ? 2 : 1.5, + markerEnd: `url(#${e.crit ? 'dg-arrow-crit' : 'dg-arrow'})` + }))), g.nodes.map(n => /*#__PURE__*/React.createElement(Node, { + key: n.id, + n: n + })), /*#__PURE__*/React.createElement("div", { + style: { + position: 'absolute', + left: pos['ms'].x, + top: pos['ms'].y, + width: MSW, + height: MSH, + display: 'flex', + alignItems: 'center', + gap: 8, + padding: '0 14px', + background: 'var(--accent)', + color: 'var(--ink-inverse)', + borderRadius: 'var(--radius-round)', + boxShadow: 'var(--shadow-2)' + } + }, /*#__PURE__*/React.createElement(Icon, { + name: "milestone", + size: 15 + }), /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + flexDirection: 'column' + } + }, /*#__PURE__*/React.createElement("span", { + style: { + font: '600 12.5px/1.2 var(--font-sans)' + } + }, g.milestone.name), /*#__PURE__*/React.createElement("span", { + style: { + font: '400 10.5px/1.2 var(--font-mono)', + opacity: 0.8 + } + }, "due ", g.milestone.due))))), /*#__PURE__*/React.createElement("p", { + style: { + font: 'var(--text-agent)', + color: 'var(--ink-2)', + margin: 0 + } + }, "Four issues sit on the critical path, and #87 is the cork in the bottle. Remove it and everything pours.")); +} +Object.assign(window, { + DepsGraph +}); +})(); } catch (e) { __ds_ns.__errors.push({ path: "ui_kits/app/DepsGraph.jsx", error: String((e && e.message) || e) }); } + +// ui_kits/app/DirectivesScreen.jsx +try { (() => { +// Directive log — append-only ledger + the consequence diff (propose-approve) +function DirectivesScreen() { + const DS = window.CommiTeaDesignSystem_20e63b; + const { + Card, + Button, + Badge, + Icon + } = DS; + const d = window.CT_DATA.directives; + const [pending, setPending] = React.useState(d.pending); + const [entries, setEntries] = React.useState(d.entries); + const resolve = status => { + setEntries(e => [{ + seq: pending.seq, + who: pending.who, + when: pending.when, + what: pending.what, + why: 'pilot demo on the 14th', + status, + consequence: status === 'applied' ? '#78 +5d · Beta 80% Mar 5–14' : 'withdrawn before apply' + }, ...e]); + setPending(null); + }; + const toneColor = { + ok: 'var(--ok)', + warn: 'var(--warn)', + info: 'var(--info)', + danger: 'var(--danger)' + }; + const statusBadge = { + applied: { + tone: 'ok', + label: 'applied' + }, + withdrawn: { + tone: 'neutral', + label: 'withdrawn' + }, + superseded: { + tone: 'info', + label: 'superseded' + } + }; + return /*#__PURE__*/React.createElement("div", { + style: { + maxWidth: 760, + margin: '0 auto', + display: 'flex', + flexDirection: 'column', + gap: 16 + } + }, /*#__PURE__*/React.createElement("header", { + style: { + borderBottom: 'var(--rule-double)', + paddingBottom: 14 + } + }, /*#__PURE__*/React.createElement("h1", { + style: { + font: 'var(--text-display)', + color: 'var(--ink-1)', + margin: 0 + } + }, "Directives"), /*#__PURE__*/React.createElement("p", { + style: { + font: 'var(--text-data)', + color: 'var(--ink-3)', + margin: '6px 0 0' + } + }, "append-only \xB7 JSONL in pm-state \xB7 who, when, what, why")), pending ? /*#__PURE__*/React.createElement(Card, { + overline: `Awaiting your word · directive #00${pending.seq}`, + title: "Consequence diff", + jade: true, + footer: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Button, { + onClick: () => resolve('applied') + }, "Make it so"), /*#__PURE__*/React.createElement(Button, { + variant: "secondary", + onClick: () => {} + }, "Amend"), /*#__PURE__*/React.createElement(Button, { + variant: "ghost", + onClick: () => resolve('withdrawn') + }, "Withdraw")) + }, /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + flexDirection: 'column', + gap: 12 + } + }, /*#__PURE__*/React.createElement("p", { + style: { + font: 'var(--text-body)', + margin: 0, + color: 'var(--ink-2)' + } + }, /*#__PURE__*/React.createElement("span", { + style: { + font: 'var(--text-body-strong)', + color: 'var(--ink-1)' + } + }, pending.who), /*#__PURE__*/React.createElement("span", { + style: { + font: '400 11.5px var(--font-mono)', + color: 'var(--ink-3)' + } + }, " \xB7 ", pending.when), /*#__PURE__*/React.createElement("br", null), "\u201C", pending.what, "\u201D"), /*#__PURE__*/React.createElement("div", { + style: { + borderTop: '1px solid var(--line-1)' + } + }, pending.diff.map(r => /*#__PURE__*/React.createElement("div", { + key: r.change, + style: { + display: 'flex', + alignItems: 'center', + gap: 10, + padding: '9px 0', + borderBottom: '1px solid var(--line-1)' + } + }, /*#__PURE__*/React.createElement("span", { + style: { + width: 7, + height: 7, + borderRadius: '50%', + background: toneColor[r.tone], + flexShrink: 0 + } + }), /*#__PURE__*/React.createElement("span", { + style: { + font: 'var(--text-small)', + color: 'var(--ink-1)', + flex: 1 + } + }, r.change), /*#__PURE__*/React.createElement("span", { + style: { + font: '400 12px var(--font-mono)', + color: 'var(--ink-3)', + whiteSpace: 'nowrap' + } + }, r.from, " ", /*#__PURE__*/React.createElement("span", { + style: { + color: 'var(--ink-2)' + } + }, "\u2192"), " ", /*#__PURE__*/React.createElement("span", { + style: { + color: r.tone === 'warn' ? 'var(--warn)' : 'var(--ink-1)' + } + }, r.to))))), /*#__PURE__*/React.createElement("p", { + style: { + font: 'var(--text-agent)', + color: 'var(--ink-2)', + margin: 0 + } + }, "Cheap, as consequences go. Shall I make it so?"))) : /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + alignItems: 'center', + gap: 8, + font: 'var(--text-small)', + color: 'var(--ink-3)', + padding: '2px 2px' + } + }, /*#__PURE__*/React.createElement(Icon, { + name: "circle-check", + size: 14, + style: { + color: 'var(--ok)' + } + }), "Nothing awaits your word. Directives are given in chat; consequences appear here first."), /*#__PURE__*/React.createElement(Card, { + overline: "The ledger", + flush: true + }, /*#__PURE__*/React.createElement("div", null, entries.map((e, i) => { + const sb = statusBadge[e.status]; + return /*#__PURE__*/React.createElement("div", { + key: e.seq, + style: { + display: 'flex', + gap: 14, + padding: '14px 20px', + borderTop: i === 0 ? 'none' : '1px solid var(--line-1)' + } + }, /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + flexDirection: 'column', + alignItems: 'center', + gap: 6, + flexShrink: 0 + } + }, /*#__PURE__*/React.createElement("span", { + style: { + font: '500 11px var(--font-mono)', + color: 'var(--ink-3)' + } + }, "#00", e.seq), /*#__PURE__*/React.createElement("span", { + style: { + width: 1, + flex: 1, + background: 'var(--line-1)' + } + })), /*#__PURE__*/React.createElement("div", { + style: { + flex: 1, + minWidth: 0, + display: 'flex', + flexDirection: 'column', + gap: 5 + } + }, /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + alignItems: 'center', + gap: 8, + flexWrap: 'wrap' + } + }, /*#__PURE__*/React.createElement("span", { + style: { + width: 20, + height: 20, + borderRadius: '50%', + background: 'var(--spruce-2)', + color: 'var(--accent-text)', + font: '600 8.5px/20px var(--font-sans)', + textAlign: 'center', + flexShrink: 0 + } + }, e.who.split(' ').map(w => w[0]).join('')), /*#__PURE__*/React.createElement("span", { + style: { + font: 'var(--text-body-strong)', + color: 'var(--ink-1)', + whiteSpace: 'nowrap' + } + }, e.who), /*#__PURE__*/React.createElement("span", { + style: { + font: '400 11px var(--font-mono)', + color: 'var(--ink-3)', + whiteSpace: 'nowrap' + } + }, e.when), e.why ? /*#__PURE__*/React.createElement("span", { + style: { + font: '400 11px var(--font-mono)', + color: 'var(--ink-3)', + whiteSpace: 'nowrap' + } + }, "\xB7 why: ", e.why) : null, /*#__PURE__*/React.createElement("span", { + style: { + marginLeft: 'auto' + } + }, /*#__PURE__*/React.createElement(Badge, { + tone: sb.tone + }, sb.label))), /*#__PURE__*/React.createElement("p", { + style: { + font: 'var(--text-body)', + color: 'var(--ink-1)', + margin: 0 + } + }, "\u201C", e.what, "\u201D"), /*#__PURE__*/React.createElement("p", { + style: { + font: '400 11.5px var(--font-mono)', + color: 'var(--ink-2)', + margin: 0 + } + }, e.consequence))); + }))), /*#__PURE__*/React.createElement("p", { + style: { + font: 'var(--text-caption)', + color: 'var(--ink-3)', + margin: 0 + } + }, "Entries are never edited. Corrections are new entries \u2014 the ledger remembers everything, politely.")); +} +Object.assign(window, { + DirectivesScreen +}); +})(); } catch (e) { __ds_ns.__errors.push({ path: "ui_kits/app/DirectivesScreen.jsx", error: String((e && e.message) || e) }); } + +// ui_kits/app/FocusScreen.jsx +try { (() => { +// Morning service — focus screen +function FocusScreen({ + onOpenIssue +}) { + const DS = window.CommiTeaDesignSystem_20e63b; + const { + Card, + Tag, + Badge, + Button, + IconButton + } = DS; + const d = window.CT_DATA; + const FocusRow = ({ + slot, + issue, + jade + }) => /*#__PURE__*/React.createElement(Card, { + overline: slot, + jade: jade, + title: /*#__PURE__*/React.createElement("a", { + href: "#", + onClick: e => { + e.preventDefault(); + onOpenIssue(issue); + }, + style: { + color: 'inherit', + border: 'none' + } + }, issue.title), + actions: /*#__PURE__*/React.createElement(IconButton, { + icon: "ellipsis", + label: "More", + size: "sm" + }), + footer: jade ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Button, { + size: "sm" + }, "Start"), /*#__PURE__*/React.createElement(Button, { + size: "sm", + variant: "ghost" + }, "Defer"), /*#__PURE__*/React.createElement("span", { + style: { + marginLeft: 'auto', + font: 'var(--text-caption)', + color: 'var(--ink-3)' + } + }, "scheduler pick \xB7 critical path")) : null + }, /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + alignItems: 'center', + gap: 8, + marginBottom: 10, + flexWrap: 'wrap' + } + }, /*#__PURE__*/React.createElement("span", { + style: { + font: 'var(--text-data)', + color: 'var(--ink-3)' + } + }, "#", issue.id), issue.labels.map(l => /*#__PURE__*/React.createElement(Tag, { + key: l, + label: l + })), issue.steeping ? /*#__PURE__*/React.createElement(Badge, { + tone: "warn", + dot: true + }, "steeping ", issue.steeping) : null), /*#__PURE__*/React.createElement("p", { + style: { + font: 'var(--text-agent)', + color: 'var(--ink-2)', + margin: 0 + } + }, issue.rationale)); + return /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + flexDirection: 'column', + gap: 16 + } + }, /*#__PURE__*/React.createElement("header", { + style: { + borderBottom: 'var(--rule-double)', + paddingBottom: 14, + display: 'flex', + alignItems: 'baseline', + justifyContent: 'space-between', + gap: 12 + } + }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("h1", { + style: { + font: 'var(--text-display)', + color: 'var(--ink-1)', + margin: 0 + } + }, "Morning service"), /*#__PURE__*/React.createElement("p", { + style: { + font: 'var(--text-data)', + color: 'var(--ink-3)', + margin: '6px 0 0', + whiteSpace: 'nowrap' + } + }, d.today, " \xB7 reconcile 3.2s")), /*#__PURE__*/React.createElement(Badge, { + tone: "ok", + dot: true + }, "ahead of forecast")), /*#__PURE__*/React.createElement("div", { + style: { + display: 'grid', + gridTemplateColumns: '1.4fr 1fr 1fr', + gap: 14, + alignItems: 'start' + } + }, /*#__PURE__*/React.createElement(FocusRow, { + slot: "Now", + issue: d.focus.now, + jade: true + }), /*#__PURE__*/React.createElement(FocusRow, { + slot: "Next", + issue: d.focus.next + }), /*#__PURE__*/React.createElement(FocusRow, { + slot: "Later", + issue: d.focus.later + })), /*#__PURE__*/React.createElement(Card, { + overline: "Milestone \xB7 Beta", + title: /*#__PURE__*/React.createElement(React.Fragment, null, "80% this lands ", /*#__PURE__*/React.createElement("span", { + style: { + whiteSpace: 'nowrap' + } + }, "Mar 3\u201312")), + actions: /*#__PURE__*/React.createElement(IconButton, { + icon: "chart-line", + label: "Open runway", + size: "sm" + }) + }, /*#__PURE__*/React.createElement(window.BurnUpCone, null), /*#__PURE__*/React.createElement("p", { + style: { + font: 'var(--text-agent)', + color: 'var(--ink-2)', + margin: '10px 0 0' + } + }, "The cone has narrowed since Friday. I'm quietly pleased."))); +} +Object.assign(window, { + FocusScreen +}); +})(); } catch (e) { __ds_ns.__errors.push({ path: "ui_kits/app/FocusScreen.jsx", error: String((e && e.message) || e) }); } + +// ui_kits/app/GanttView.jsx +try { (() => { +// Gantt drill-in — scheduler-derived bars, critical chain, 80% forecast tails +function GanttView({ + onOpenIssue +}) { + const DS = window.CommiTeaDesignSystem_20e63b; + const { + Icon + } = DS; + const g = window.CT_DATA.gantt; + const LABELW = 232, + DAYW = 21, + ROWH = 36, + HEADH = 30; + const chartW = g.days * DAYW; + const W = LABELW + chartW; + const H = HEADH + g.rows.length * ROWH; + const X = d => LABELW + d * DAYW; + const BAR = { + done: { + bg: 'var(--paper-3)', + border: 'transparent', + text: 'var(--ink-3)' + }, + steeping: { + bg: 'var(--accent)', + border: 'transparent', + text: 'var(--ink-inverse)' + }, + review: { + bg: 'var(--info-tint)', + border: 'var(--info)', + text: 'var(--info)' + }, + scheduled: { + bg: 'var(--spruce-2)', + border: 'var(--spruce-3)', + text: 'var(--accent-text)' + } + }; + return /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + flexDirection: 'column', + gap: 12, + flex: 1, + minHeight: 0 + } + }, /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + alignItems: 'center', + gap: 16, + font: '400 11.5px var(--font-mono)', + color: 'var(--ink-2)', + whiteSpace: 'nowrap', + flexWrap: 'wrap' + } + }, [['steeping', 'in work'], ['review', 'in review'], ['scheduled', 'scheduled'], ['done', 'done']].map(([k, label]) => /*#__PURE__*/React.createElement("span", { + key: k, + style: { + display: 'inline-flex', + alignItems: 'center', + gap: 6 + } + }, /*#__PURE__*/React.createElement("span", { + style: { + width: 16, + height: 9, + borderRadius: 3, + background: BAR[k].bg, + border: `1px solid ${BAR[k].border}`, + display: 'inline-block' + } + }), label)), /*#__PURE__*/React.createElement("span", { + style: { + display: 'inline-flex', + alignItems: 'center', + gap: 6 + } + }, /*#__PURE__*/React.createElement("span", { + style: { + width: 18, + height: 0, + borderTop: '2px dotted var(--cone-line)', + display: 'inline-block' + } + }), "80% tail"), /*#__PURE__*/React.createElement("span", { + style: { + display: 'inline-flex', + alignItems: 'center', + gap: 6 + } + }, /*#__PURE__*/React.createElement("span", { + style: { + width: 2, + height: 12, + background: 'var(--jade)', + display: 'inline-block' + } + }), "today")), /*#__PURE__*/React.createElement("div", { + style: { + overflow: 'auto', + flex: 1, + minHeight: 0, + border: '1px solid var(--line-1)', + borderRadius: 'var(--radius-3)', + background: 'var(--surface-card)' + } + }, /*#__PURE__*/React.createElement("div", { + style: { + position: 'relative', + width: W, + height: H + } + }, g.weeks.map(w => /*#__PURE__*/React.createElement(React.Fragment, { + key: w.at + }, /*#__PURE__*/React.createElement("div", { + style: { + position: 'absolute', + left: X(w.at), + top: HEADH, + bottom: 0, + width: 1, + background: 'var(--line-1)' + } + }), /*#__PURE__*/React.createElement("span", { + style: { + position: 'absolute', + left: X(w.at) + 5, + top: 8, + font: '400 10.5px var(--font-mono)', + color: 'var(--ink-3)', + whiteSpace: 'nowrap' + } + }, w.label))), /*#__PURE__*/React.createElement("div", { + style: { + position: 'absolute', + left: X(g.band.from), + width: (g.band.to - g.band.from) * DAYW, + top: HEADH, + bottom: 0, + background: 'var(--cone-fill)' + } + }), /*#__PURE__*/React.createElement("span", { + style: { + position: 'absolute', + left: X(g.band.from) + 5, + bottom: 6, + font: '500 10.5px var(--font-mono)', + color: 'var(--cone-line)', + whiteSpace: 'nowrap' + } + }, g.band.label), /*#__PURE__*/React.createElement("div", { + style: { + position: 'absolute', + left: X(g.due.at) - 1, + top: HEADH, + bottom: 0, + width: 2, + background: 'var(--ink-1)' + } + }), /*#__PURE__*/React.createElement("span", { + style: { + position: 'absolute', + left: X(g.due.at) - 4, + top: HEADH - 12, + width: 8, + height: 8, + background: 'var(--ink-1)', + transform: 'rotate(45deg)' + } + }), /*#__PURE__*/React.createElement("div", { + style: { + position: 'absolute', + left: X(g.today), + top: HEADH, + bottom: 0, + width: 2, + background: 'var(--jade)' + } + }), g.rows.map((r, i) => { + const top = HEADH + i * ROWH; + const st = BAR[r.state]; + return /*#__PURE__*/React.createElement(React.Fragment, { + key: r.id + }, /*#__PURE__*/React.createElement("div", { + style: { + position: 'absolute', + left: 0, + right: 0, + top: top, + height: 1, + background: 'var(--line-1)', + opacity: 0.6 + } + }), /*#__PURE__*/React.createElement("div", { + onClick: () => onOpenIssue({ + id: r.id, + title: r.title, + labels: [], + days: r.state === 'steeping' ? '4d' : undefined + }), + style: { + position: 'absolute', + left: 0, + width: LABELW, + height: ROWH, + top: top, + zIndex: 2, + cursor: 'pointer', + display: 'flex', + alignItems: 'center', + gap: 8, + padding: '0 12px 0 14px', + background: 'var(--surface-card)', + borderRight: '1px solid var(--line-1)', + boxShadow: r.crit ? 'inset 2px 0 0 var(--accent)' : 'none' + } + }, /*#__PURE__*/React.createElement("span", { + style: { + font: '400 11px var(--font-mono)', + color: 'var(--ink-3)', + flexShrink: 0 + } + }, "#", r.id), /*#__PURE__*/React.createElement("span", { + style: { + font: '500 12px/1.3 var(--font-sans)', + color: 'var(--ink-1)', + overflow: 'hidden', + textOverflow: 'ellipsis', + whiteSpace: 'nowrap' + } + }, r.title), /*#__PURE__*/React.createElement("span", { + style: { + font: '600 8.5px/16px var(--font-sans)', + color: 'var(--accent-text)', + background: 'var(--spruce-2)', + width: 16, + height: 16, + borderRadius: '50%', + textAlign: 'center', + flexShrink: 0, + marginLeft: 'auto' + } + }, r.who)), /*#__PURE__*/React.createElement("div", { + style: { + position: 'absolute', + left: X(r.start), + width: (r.end - r.start) * DAYW, + top: top + 9, + height: 18, + background: st.bg, + border: `1px solid ${st.border}`, + borderRadius: 4, + boxShadow: r.crit && r.state !== 'steeping' ? 'inset 0 -2px 0 var(--accent)' : 'none' + } + }), r.p80 ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", { + style: { + position: 'absolute', + left: X(r.end), + width: (r.p80 - r.end) * DAYW, + top: top + 17, + height: 0, + borderTop: '2px dotted var(--cone-line)' + } + }), /*#__PURE__*/React.createElement("div", { + style: { + position: 'absolute', + left: X(r.p80) - 1, + top: top + 13, + width: 2, + height: 10, + background: 'var(--cone-line)' + } + })) : null); + }))), /*#__PURE__*/React.createElement("p", { + style: { + font: 'var(--text-agent)', + color: 'var(--ink-2)', + margin: 0 + } + }, "The path holds if #87 lands by Wednesday. The dotted tails are your own history, wagging.")); +} +Object.assign(window, { + GanttView +}); +})(); } catch (e) { __ds_ns.__errors.push({ path: "ui_kits/app/GanttView.jsx", error: String((e && e.message) || e) }); } + +// ui_kits/app/InboxScreen.jsx +try { (() => { +// Inbox — Reginald only rings the bell when it matters +function InboxScreen({ + onOpenIssue, + onOpenDirectives, + readIds, + setReadIds +}) { + const DS = window.CommiTeaDesignSystem_20e63b; + const { + Card, + Tabs, + Button, + Icon + } = DS; + const all = window.CT_DATA.inbox; + const [tab, setTab] = React.useState('all'); + const isRead = n => !n.unread || readIds.includes(n.id); + const unreadCount = all.filter(n => !isRead(n)).length; + const FILTERS = { + all: () => true, + mentions: n => n.type === 'mention' || n.type === 'assignment', + drift: n => n.type === 'drift' || n.type === 'nag' || n.type === 'milestone', + system: n => n.type === 'system' || n.type === 'review' + }; + const items = all.filter(FILTERS[tab]); + const days = [...new Set(items.map(n => n.day))]; + const toneColor = { + ok: 'var(--ok)', + warn: 'var(--warn)', + info: 'var(--info)', + neutral: 'var(--ink-3)' + }; + const open = n => { + setReadIds(r => r.includes(n.id) ? r : [...r, n.id]); + if (n.issue) onOpenIssue(n.issue);else if (n.to === 'directives') onOpenDirectives(); + }; + return /*#__PURE__*/React.createElement("div", { + style: { + maxWidth: 760, + margin: '0 auto', + display: 'flex', + flexDirection: 'column', + gap: 14 + } + }, /*#__PURE__*/React.createElement("header", { + style: { + borderBottom: 'var(--rule-double)', + paddingBottom: 14, + display: 'flex', + alignItems: 'baseline', + justifyContent: 'space-between', + gap: 12 + } + }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("h1", { + style: { + font: 'var(--text-display)', + color: 'var(--ink-1)', + margin: 0 + } + }, "Inbox"), /*#__PURE__*/React.createElement("p", { + style: { + font: 'var(--text-data)', + color: 'var(--ink-3)', + margin: '6px 0 0', + whiteSpace: 'nowrap' + } + }, unreadCount ? `${unreadCount} unread` : 'all read', " \xB7 nothing here rings twice")), unreadCount ? /*#__PURE__*/React.createElement(Button, { + variant: "ghost", + size: "sm", + onClick: () => setReadIds(all.map(n => n.id)) + }, "Mark all read") : null), /*#__PURE__*/React.createElement(Tabs, { + items: [{ + id: 'all', + label: 'All', + count: all.length + }, { + id: 'mentions', + label: 'Mentions', + icon: 'message-square' + }, { + id: 'drift', + label: 'Drift', + icon: 'chart-line' + }, { + id: 'system', + label: 'System', + icon: 'refresh-cw' + }], + active: tab, + onChange: setTab + }), /*#__PURE__*/React.createElement(Card, { + flush: true + }, /*#__PURE__*/React.createElement("div", null, days.map(day => /*#__PURE__*/React.createElement("div", { + key: day + }, /*#__PURE__*/React.createElement("div", { + style: { + font: 'var(--text-overline)', + letterSpacing: 'var(--letter-spacing-wide)', + textTransform: 'uppercase', + color: 'var(--ink-3)', + padding: '12px 20px 4px' + } + }, day), items.filter(n => n.day === day).map(n => { + const read = isRead(n); + return /*#__PURE__*/React.createElement("div", { + key: n.id, + onClick: () => open(n), + style: { + display: 'flex', + alignItems: 'flex-start', + gap: 12, + padding: '11px 20px', + cursor: n.issue || n.to ? 'pointer' : 'default', + opacity: read ? 0.72 : 1 + }, + onMouseEnter: e => { + e.currentTarget.style.background = 'var(--paper-2)'; + }, + onMouseLeave: e => { + e.currentTarget.style.background = 'transparent'; + } + }, /*#__PURE__*/React.createElement("span", { + style: { + width: 6, + height: 6, + borderRadius: '50%', + background: read ? 'transparent' : 'var(--accent)', + flexShrink: 0, + marginTop: 7 + } + }), /*#__PURE__*/React.createElement("span", { + style: { + color: toneColor[n.tone], + display: 'inline-flex', + marginTop: 1, + flexShrink: 0 + } + }, /*#__PURE__*/React.createElement(Icon, { + name: n.icon, + size: 15 + })), /*#__PURE__*/React.createElement("div", { + style: { + flex: 1, + minWidth: 0 + } + }, /*#__PURE__*/React.createElement("div", { + style: { + font: read ? 'var(--text-body)' : 'var(--text-body-strong)', + color: 'var(--ink-1)' + } + }, n.who ? /*#__PURE__*/React.createElement("span", { + style: { + fontWeight: 600 + } + }, n.who, " ") : null, n.text), /*#__PURE__*/React.createElement("div", { + style: { + font: '400 11.5px var(--font-mono)', + color: 'var(--ink-2)', + marginTop: 2 + } + }, n.detail)), /*#__PURE__*/React.createElement("span", { + style: { + font: '400 11px var(--font-mono)', + color: 'var(--ink-3)', + whiteSpace: 'nowrap', + marginTop: 2 + } + }, n.time)); + }))))), /*#__PURE__*/React.createElement("p", { + style: { + font: 'var(--text-agent)', + color: 'var(--ink-2)', + margin: 0 + } + }, "I only ring the bell when it matters. The rest can wait for morning service.")); +} +Object.assign(window, { + InboxScreen +}); +})(); } catch (e) { __ds_ns.__errors.push({ path: "ui_kits/app/InboxScreen.jsx", error: String((e && e.message) || e) }); } + +// ui_kits/app/IssueScreen.jsx +try { (() => { +// Issue detail — human intent (gitea) on the left, machine-derived (pm-state) on the right +function IssueScreen({ + issue, + onBack, + onOpenIssue +}) { + const DS = window.CommiTeaDesignSystem_20e63b; + const { + Card, + Tag, + Badge, + Button, + Icon + } = DS; + const det = window.CT_DATA.issueDetail[issue.id] || { + state: 'triage', + assignee: 'Stephen', + milestone: 'Beta', + body: '', + comments: [], + lifecycle: [{ + stage: 'Diagnosis', + event: 'issue opened', + when: 'Feb 4 · 10:20', + icon: 'circle-dot', + done: true + }, { + stage: 'Triage', + event: 'labeled · milestoned Beta', + when: 'Feb 5 · 09:12', + icon: 'tag', + done: true + }, { + stage: 'Work start', + event: 'first branch or commit ref', + when: 'pending', + icon: 'git-commit-horizontal', + done: false + }, { + stage: 'Deploy', + event: 'PR merged', + when: 'pending', + icon: 'git-merge', + done: false + }, { + stage: 'Complete', + event: 'issue closed', + when: 'pending', + icon: 'circle-check', + done: false + }], + forecast: { + p80: 'starts wk of Feb 16', + note: 'queue position from scheduler' + }, + blocks: [], + blockedBy: [], + note: null + }; + const stateBadge = { + steeping: { + tone: 'warn', + label: `steeping${issue.days || issue.steeping ? ' ' + (issue.days || issue.steeping) : ''}` + }, + triage: { + tone: 'neutral', + label: 'triage' + }, + review: { + tone: 'info', + label: 'in review' + }, + done: { + tone: 'ok', + label: 'done' + } + }[det.state] || { + tone: 'neutral', + label: det.state + }; + return /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + flexDirection: 'column', + gap: 16 + } + }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("button", { + type: "button", + onClick: onBack, + style: { + display: 'inline-flex', + alignItems: 'center', + gap: 6, + background: 'none', + border: 'none', + font: '500 12.5px var(--font-sans)', + color: 'var(--ink-2)', + cursor: 'pointer', + padding: '2px 0', + marginBottom: 10 + } + }, /*#__PURE__*/React.createElement(Icon, { + name: "arrow-left", + size: 14 + }), " Back"), /*#__PURE__*/React.createElement("header", { + style: { + borderBottom: 'var(--rule-double)', + paddingBottom: 14, + display: 'flex', + alignItems: 'flex-start', + gap: 16 + } + }, /*#__PURE__*/React.createElement("div", { + style: { + flex: 1, + minWidth: 0 + } + }, /*#__PURE__*/React.createElement("p", { + style: { + font: '400 13px var(--font-mono)', + color: 'var(--ink-3)', + margin: '0 0 6px' + } + }, "#", issue.id, " \xB7 stephen/commitea"), /*#__PURE__*/React.createElement("h1", { + style: { + font: 'var(--text-title)', + color: 'var(--ink-1)', + margin: 0 + } + }, issue.title), /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + alignItems: 'center', + gap: 8, + marginTop: 10, + flexWrap: 'wrap' + } + }, /*#__PURE__*/React.createElement(Badge, { + tone: stateBadge.tone, + dot: true + }, stateBadge.label), (issue.labels || []).map(l => /*#__PURE__*/React.createElement(Tag, { + key: l, + label: l + })), /*#__PURE__*/React.createElement("span", { + style: { + font: '400 11.5px var(--font-mono)', + color: 'var(--ink-3)', + display: 'inline-flex', + alignItems: 'center', + gap: 5 + } + }, /*#__PURE__*/React.createElement(Icon, { + name: "milestone", + size: 12 + }), det.milestone), /*#__PURE__*/React.createElement("span", { + style: { + font: '400 11.5px var(--font-mono)', + color: 'var(--ink-3)', + display: 'inline-flex', + alignItems: 'center', + gap: 5 + } + }, /*#__PURE__*/React.createElement(Icon, { + name: "user", + size: 12 + }), det.assignee))), /*#__PURE__*/React.createElement(Button, { + variant: "secondary", + icon: "arrow-up-right" + }, "Open in Gitea"))), /*#__PURE__*/React.createElement("div", { + style: { + display: 'grid', + gridTemplateColumns: '1fr 300px', + gap: 16, + alignItems: 'start' + } + }, /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + flexDirection: 'column', + gap: 16 + } + }, /*#__PURE__*/React.createElement(Card, { + overline: "Description" + }, det.body ? /*#__PURE__*/React.createElement("p", { + style: { + font: 'var(--text-body)', + color: 'var(--ink-1)', + margin: 0, + lineHeight: 1.6 + } + }, det.body) : /*#__PURE__*/React.createElement("p", { + style: { + font: 'var(--text-agent)', + color: 'var(--ink-3)', + margin: 0 + } + }, "No description was written. I have opinions about that, but I'll keep them warm.")), /*#__PURE__*/React.createElement(Card, { + overline: `Comments · ${det.comments.length}`, + flush: true + }, /*#__PURE__*/React.createElement("div", null, det.comments.map((c, i) => /*#__PURE__*/React.createElement("div", { + key: i, + style: { + display: 'flex', + gap: 12, + padding: '14px 20px', + borderBottom: '1px solid var(--line-1)' + } + }, /*#__PURE__*/React.createElement("span", { + style: { + width: 24, + height: 24, + borderRadius: '50%', + background: 'var(--spruce-2)', + color: 'var(--accent-text)', + font: '600 9px/24px var(--font-sans)', + textAlign: 'center', + flexShrink: 0 + } + }, c.who.split(' ').map(w => w[0]).join('')), /*#__PURE__*/React.createElement("div", { + style: { + flex: 1, + minWidth: 0 + } + }, /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + alignItems: 'baseline', + gap: 8 + } + }, /*#__PURE__*/React.createElement("span", { + style: { + font: 'var(--text-body-strong)', + color: 'var(--ink-1)', + whiteSpace: 'nowrap' + } + }, c.who), /*#__PURE__*/React.createElement("span", { + style: { + font: '400 11px var(--font-mono)', + color: 'var(--ink-3)', + whiteSpace: 'nowrap' + } + }, c.when)), /*#__PURE__*/React.createElement("p", { + style: { + font: 'var(--text-body)', + color: 'var(--ink-1)', + margin: '4px 0 0' + } + }, c.text)))), /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + gap: 8, + padding: '14px 20px', + alignItems: 'flex-end' + } + }, /*#__PURE__*/React.createElement("textarea", { + placeholder: "Comment \u2014 this writes to gitea, as you", + rows: 2, + style: { + flex: 1, + resize: 'none', + font: 'var(--text-body)', + color: 'var(--ink-1)', + lineHeight: 1.5, + background: 'var(--paper-0)', + border: '1px solid var(--line-2)', + borderRadius: 'var(--radius-2)', + padding: '8px 11px', + outline: 'none' + } + }), /*#__PURE__*/React.createElement(Button, { + size: "sm", + variant: "secondary" + }, "Comment")))), det.note ? /*#__PURE__*/React.createElement("p", { + style: { + font: 'var(--text-agent)', + color: 'var(--ink-2)', + margin: 0, + padding: '0 2px' + } + }, det.note) : null), /*#__PURE__*/React.createElement(Card, { + overline: "Machine-derived", + flush: true + }, /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + flexDirection: 'column' + } + }, /*#__PURE__*/React.createElement("div", { + style: { + padding: '14px 20px', + display: 'flex', + flexDirection: 'column', + gap: 0 + } + }, det.lifecycle.map((s, i) => /*#__PURE__*/React.createElement("div", { + key: s.stage, + style: { + display: 'flex', + gap: 10 + } + }, /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + flexDirection: 'column', + alignItems: 'center' + } + }, /*#__PURE__*/React.createElement("span", { + style: { + display: 'inline-flex', + color: s.done ? 'var(--ok)' : 'var(--ink-3)', + padding: '2px 0' + } + }, /*#__PURE__*/React.createElement(Icon, { + name: s.icon, + size: 14 + })), i < det.lifecycle.length - 1 ? /*#__PURE__*/React.createElement("span", { + style: { + width: 1, + flex: 1, + minHeight: 14, + background: s.done ? 'var(--spruce-3)' : 'var(--line-1)' + } + }) : null), /*#__PURE__*/React.createElement("div", { + style: { + paddingBottom: i < det.lifecycle.length - 1 ? 12 : 0 + } + }, /*#__PURE__*/React.createElement("div", { + style: { + font: `500 12px var(--font-sans)`, + color: s.done ? 'var(--ink-1)' : 'var(--ink-3)' + } + }, s.stage), /*#__PURE__*/React.createElement("div", { + style: { + font: '400 10.5px var(--font-mono)', + color: 'var(--ink-3)', + marginTop: 2, + whiteSpace: 'nowrap' + } + }, s.event), /*#__PURE__*/React.createElement("div", { + style: { + font: '400 10.5px var(--font-mono)', + color: s.done ? 'var(--ink-2)' : 'var(--ink-3)', + whiteSpace: 'nowrap' + } + }, s.when))))), /*#__PURE__*/React.createElement("div", { + style: { + padding: '12px 20px', + borderTop: '1px solid var(--line-1)' + } + }, /*#__PURE__*/React.createElement("div", { + style: { + font: 'var(--text-overline)', + letterSpacing: 'var(--letter-spacing-wide)', + textTransform: 'uppercase', + color: 'var(--ink-3)', + marginBottom: 6 + } + }, "Forecast"), /*#__PURE__*/React.createElement("div", { + style: { + font: '500 13px var(--font-mono)', + color: 'var(--ink-1)' + } + }, "80% ", det.forecast.p80), /*#__PURE__*/React.createElement("div", { + style: { + font: '400 10.5px var(--font-mono)', + color: 'var(--ink-3)', + marginTop: 3 + } + }, det.forecast.note)), /*#__PURE__*/React.createElement("div", { + style: { + padding: '12px 20px', + borderTop: '1px solid var(--line-1)' + } + }, /*#__PURE__*/React.createElement("div", { + style: { + font: 'var(--text-overline)', + letterSpacing: 'var(--letter-spacing-wide)', + textTransform: 'uppercase', + color: 'var(--ink-3)', + marginBottom: 6 + } + }, "Dependencies"), det.blocks.length === 0 && det.blockedBy.length === 0 ? /*#__PURE__*/React.createElement("div", { + style: { + font: '400 11.5px var(--font-mono)', + color: 'var(--ink-3)' + } + }, "none") : /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + flexDirection: 'column', + gap: 6 + } + }, det.blocks.length ? /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + alignItems: 'center', + gap: 6, + flexWrap: 'wrap' + } + }, /*#__PURE__*/React.createElement("span", { + style: { + font: '400 11px var(--font-mono)', + color: 'var(--ink-3)' + } + }, "blocks"), det.blocks.map(b => /*#__PURE__*/React.createElement("button", { + key: b, + type: "button", + onClick: () => onOpenIssue({ + id: b, + title: b === 91 ? 'Webhook listener: reconcile on reconnect' : 'Monte Carlo engine: percentile bands', + labels: b === 91 ? ['est/3d', 'p/2'] : ['est/5d', 'p/1'] + }), + style: { + font: '500 11px var(--font-mono)', + color: 'var(--accent-text)', + background: 'var(--spruce-1)', + border: '1px solid var(--spruce-2)', + borderRadius: 'var(--radius-1)', + padding: '2px 7px', + cursor: 'pointer' + } + }, "#", b))) : null, det.blockedBy.length ? /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + alignItems: 'center', + gap: 6 + } + }, /*#__PURE__*/React.createElement("span", { + style: { + font: '400 11px var(--font-mono)', + color: 'var(--ink-3)' + } + }, "blocked by"), det.blockedBy.map(b => /*#__PURE__*/React.createElement("span", { + key: b, + style: { + font: '500 11px var(--font-mono)', + color: 'var(--ink-2)' + } + }, "#", b))) : null)), /*#__PURE__*/React.createElement("div", { + style: { + padding: '10px 20px 14px', + borderTop: '1px solid var(--line-1)' + } + }, /*#__PURE__*/React.createElement("p", { + style: { + font: 'var(--text-caption)', + color: 'var(--ink-3)', + margin: 0 + } + }, "Lives in pm-state. Your repo never sees any of it.")))))); +} +Object.assign(window, { + IssueScreen +}); +})(); } catch (e) { __ds_ns.__errors.push({ path: "ui_kits/app/IssueScreen.jsx", error: String((e && e.message) || e) }); } + +// ui_kits/app/MilestoneScreen.jsx +try { (() => { +// Milestone detail — scope, cone, issues; forecasts stay ranges +function MilestoneScreen({ + onBack, + onOpenIssue +}) { + const DS = window.CommiTeaDesignSystem_20e63b; + const { + Card, + Tag, + Badge, + Button, + Icon + } = DS; + const cols = window.CT_DATA.columns; + const byState = ids => cols.flatMap(c => c.issues.map(i => ({ + ...i, + col: c.label + }))).filter(i => ids.includes(i.id)); + const groups = [{ + label: 'Steeping', + issues: byState([87, 84]) + }, { + label: 'In review', + issues: byState([92]) + }, { + label: 'Queued', + issues: byState([102, 103, 99, 96, 78]) + }, { + label: 'Done', + issues: byState([71, 69, 65]), + muted: true + }]; + const Stat = ({ + label, + value, + tone + }) => /*#__PURE__*/React.createElement("div", { + style: { + flex: 1, + padding: '12px 18px', + borderRight: '1px solid var(--line-1)' + } + }, /*#__PURE__*/React.createElement("div", { + style: { + font: 'var(--text-overline)', + letterSpacing: 'var(--letter-spacing-wide)', + textTransform: 'uppercase', + color: 'var(--ink-3)', + marginBottom: 5 + } + }, label), /*#__PURE__*/React.createElement("div", { + style: { + font: `500 14px var(--font-mono)`, + color: tone || 'var(--ink-1)', + whiteSpace: 'nowrap' + } + }, value)); + return /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + flexDirection: 'column', + gap: 16 + } + }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("button", { + type: "button", + onClick: onBack, + style: { + display: 'inline-flex', + alignItems: 'center', + gap: 6, + background: 'none', + border: 'none', + font: '500 12.5px var(--font-sans)', + color: 'var(--ink-2)', + cursor: 'pointer', + padding: '2px 0', + marginBottom: 10 + } + }, /*#__PURE__*/React.createElement(Icon, { + name: "arrow-left", + size: 14 + }), " Runway"), /*#__PURE__*/React.createElement("header", { + style: { + borderBottom: 'var(--rule-double)', + paddingBottom: 14, + display: 'flex', + alignItems: 'flex-start', + gap: 16 + } + }, /*#__PURE__*/React.createElement("div", { + style: { + flex: 1, + minWidth: 0 + } + }, /*#__PURE__*/React.createElement("p", { + style: { + font: '400 12px var(--font-mono)', + color: 'var(--ink-3)', + margin: '0 0 6px', + display: 'inline-flex', + alignItems: 'center', + gap: 6 + } + }, /*#__PURE__*/React.createElement(Icon, { + name: "milestone", + size: 13 + }), " milestone \xB7 due Mar 15 \xB7 soft \u2014 scope may flex"), /*#__PURE__*/React.createElement("h1", { + style: { + font: 'var(--text-display)', + color: 'var(--ink-1)', + margin: 0 + } + }, "Beta"), /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + alignItems: 'center', + gap: 8, + marginTop: 10 + } + }, /*#__PURE__*/React.createElement(Badge, { + tone: "ok", + dot: true + }, "ahead of forecast"), /*#__PURE__*/React.createElement("span", { + style: { + font: '400 12px var(--font-mono)', + color: 'var(--ink-2)', + whiteSpace: 'nowrap' + } + }, "80% Mar 3\u201312"))), /*#__PURE__*/React.createElement(Button, { + variant: "secondary", + icon: "arrow-up-right" + }, "Open in Gitea"))), /*#__PURE__*/React.createElement(Card, { + flush: true + }, /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex' + } + }, /*#__PURE__*/React.createElement(Stat, { + label: "Scope", + value: "42 issues \xB7 est 61d" + }), /*#__PURE__*/React.createElement(Stat, { + label: "Done", + value: "24 \xB7 57%" + }), /*#__PURE__*/React.createElement(Stat, { + label: "Forecast", + value: "80% Mar 3\u201312" + }), /*#__PURE__*/React.createElement("div", { + style: { + flex: 1, + padding: '12px 18px' + } + }, /*#__PURE__*/React.createElement("div", { + style: { + font: 'var(--text-overline)', + letterSpacing: 'var(--letter-spacing-wide)', + textTransform: 'uppercase', + color: 'var(--ink-3)', + marginBottom: 5 + } + }, "Drift \xB7 7d"), /*#__PURE__*/React.createElement("div", { + style: { + font: '500 14px var(--font-mono)', + color: 'var(--ok)', + whiteSpace: 'nowrap' + } + }, "\u22122d \xB7 cone narrowed")))), /*#__PURE__*/React.createElement("div", { + style: { + display: 'grid', + gridTemplateColumns: '1.2fr 1fr', + gap: 14, + alignItems: 'start' + } + }, /*#__PURE__*/React.createElement(Card, { + overline: "Burn-up", + title: /*#__PURE__*/React.createElement(React.Fragment, null, "80% this lands ", /*#__PURE__*/React.createElement("span", { + style: { + whiteSpace: 'nowrap' + } + }, "Mar 3\u201312")), + jade: true + }, /*#__PURE__*/React.createElement(window.BurnUpCone, null), /*#__PURE__*/React.createElement("p", { + style: { + font: 'var(--text-agent)', + color: 'var(--ink-2)', + margin: '10px 0 0' + } + }, "Comfortably ahead. Beta needs #87 more than it needs my commentary.")), /*#__PURE__*/React.createElement(Card, { + overline: "Issues", + flush: true + }, /*#__PURE__*/React.createElement("div", null, groups.map(g => /*#__PURE__*/React.createElement("div", { + key: g.label + }, /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + alignItems: 'center', + gap: 7, + padding: '10px 20px 6px' + } + }, /*#__PURE__*/React.createElement("span", { + style: { + font: 'var(--text-overline)', + letterSpacing: 'var(--letter-spacing-wide)', + textTransform: 'uppercase', + color: 'var(--ink-3)' + } + }, g.label), /*#__PURE__*/React.createElement("span", { + style: { + font: '400 11px var(--font-mono)', + color: 'var(--ink-3)' + } + }, g.issues.length)), g.issues.map(i => /*#__PURE__*/React.createElement("div", { + key: i.id, + onClick: () => onOpenIssue({ + id: i.id, + title: i.title, + labels: i.labels, + days: i.days + }), + style: { + display: 'flex', + alignItems: 'center', + gap: 8, + padding: '7px 20px', + cursor: 'pointer', + opacity: g.muted ? 0.6 : 1 + }, + onMouseEnter: e => { + e.currentTarget.style.background = 'var(--paper-2)'; + }, + onMouseLeave: e => { + e.currentTarget.style.background = 'transparent'; + } + }, /*#__PURE__*/React.createElement("span", { + style: { + font: '400 11px var(--font-mono)', + color: 'var(--ink-3)', + width: 34, + flexShrink: 0 + } + }, "#", i.id), /*#__PURE__*/React.createElement("span", { + style: { + font: 'var(--text-small)', + color: 'var(--ink-1)', + overflow: 'hidden', + textOverflow: 'ellipsis', + whiteSpace: 'nowrap', + flex: 1 + } + }, i.title), (i.labels || []).filter(l => l.startsWith('est/')).map(l => /*#__PURE__*/React.createElement(Tag, { + key: l, + label: l + })))))))))); +} +Object.assign(window, { + MilestoneScreen +}); +})(); } catch (e) { __ds_ns.__errors.push({ path: "ui_kits/app/MilestoneScreen.jsx", error: String((e && e.message) || e) }); } + +// ui_kits/app/OnboardingScreen.jsx +try { (() => { +// Onboarding / first connect — welcome → connect gitea → choose repo → bootstrap +function OnboardingScreen({ + onDone +}) { + const DS = window.CommiTeaDesignSystem_20e63b; + const { + Button, + Input, + Radio, + Tag, + Badge, + Icon + } = DS; + const [step, setStep] = React.useState(0); + const [conn, setConn] = React.useState('idle'); // idle | testing | ok + const [repo, setRepo] = React.useState('stephen/commitea'); + const [boot, setBoot] = React.useState(-1); // -1 idle, 0..2 running, 3 done + + React.useEffect(() => { + if (conn !== 'testing') return; + const t = setTimeout(() => setConn('ok'), 1100); + return () => clearTimeout(t); + }, [conn]); + React.useEffect(() => { + if (boot < 0 || boot >= 3) return; + const t = setTimeout(() => setBoot(boot + 1), 700); + return () => clearTimeout(t); + }, [boot]); + const STEPS = ['Welcome', 'Connect', 'Repo', 'Bootstrap']; + const BOOT_TASKS = ['Create stephen/pm-state (the sidecar)', 'Apply the label schema to stephen/commitea', 'Install a webhook · endpoint :48731']; + const Frame = ({ + children, + footer + }) => /*#__PURE__*/React.createElement("div", { + style: { + background: 'var(--surface-card)', + border: '1px solid var(--line-1)', + borderRadius: 'var(--radius-3)', + boxShadow: 'var(--shadow-jade-line), var(--shadow-2)', + padding: '30px 36px', + display: 'flex', + flexDirection: 'column', + gap: 16, + width: '100%' + } + }, children, footer ? /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + gap: 8, + justifyContent: 'flex-end', + borderTop: '1px solid var(--line-1)', + paddingTop: 16 + } + }, footer) : null); + return /*#__PURE__*/React.createElement("div", { + style: { + minHeight: '100vh', + background: 'var(--surface-app)', + display: 'flex', + flexDirection: 'column', + alignItems: 'center', + justifyContent: 'center', + padding: 32, + gap: 22 + }, + "data-screen-label": "onboarding" + }, /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + alignItems: 'center', + gap: 12 + } + }, /*#__PURE__*/React.createElement("img", { + src: "../../assets/logo-icon.png", + width: "34", + height: "34", + alt: "", + style: { + borderRadius: 8, + display: 'block' + } + }), /*#__PURE__*/React.createElement("span", { + style: { + font: '400 27px/1 var(--font-serif-display)', + color: 'var(--ink-1)' + } + }, "Commi", /*#__PURE__*/React.createElement("span", { + style: { + color: 'var(--accent-text)' + } + }, "Tea"))), /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + alignItems: 'center', + gap: 14 + } + }, STEPS.map((s, i) => /*#__PURE__*/React.createElement("div", { + key: s, + style: { + display: 'flex', + alignItems: 'center', + gap: 14 + } + }, /*#__PURE__*/React.createElement("span", { + style: { + display: 'inline-flex', + alignItems: 'center', + gap: 7 + } + }, /*#__PURE__*/React.createElement("span", { + style: { + width: 20, + height: 20, + borderRadius: '50%', + textAlign: 'center', + font: '500 10.5px/20px var(--font-mono)', + background: i < step ? 'var(--accent)' : i === step ? 'var(--spruce-2)' : 'var(--paper-2)', + color: i < step ? 'var(--ink-inverse)' : i === step ? 'var(--accent-text)' : 'var(--ink-3)' + } + }, i < step ? '\u2713' : i + 1), /*#__PURE__*/React.createElement("span", { + style: { + font: `${i === step ? 600 : 400} 12px/1 var(--font-sans)`, + color: i === step ? 'var(--ink-1)' : 'var(--ink-3)' + } + }, s)), i < STEPS.length - 1 ? /*#__PURE__*/React.createElement("span", { + style: { + width: 24, + height: 1, + background: 'var(--line-2)' + } + }) : null))), /*#__PURE__*/React.createElement("div", { + style: { + width: 'min(540px, 100%)' + } + }, step === 0 ? /*#__PURE__*/React.createElement(Frame, { + footer: /*#__PURE__*/React.createElement(Button, { + iconRight: "arrow-right", + onClick: () => setStep(1) + }, "Begin") + }, /*#__PURE__*/React.createElement("h1", { + style: { + font: 'var(--text-title)', + color: 'var(--ink-1)', + margin: 0 + } + }, "Good morning."), /*#__PURE__*/React.createElement("p", { + style: { + font: 'var(--text-agent-lg)', + color: 'var(--ink-2)', + margin: 0 + } + }, "I'm Reginald, your project manager. I interview you instead of making you fill in forms, I forecast in honest ranges, and I never do the arithmetic myself \u2014 there's a scheduler for that."), /*#__PURE__*/React.createElement("p", { + style: { + font: 'var(--text-body)', + color: 'var(--ink-2)', + margin: 0 + } + }, "Your plans live in your own Gitea as ordinary issues and labels. Delete me and nothing human is lost.")) : null, step === 1 ? /*#__PURE__*/React.createElement(Frame, { + footer: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Button, { + variant: "ghost", + onClick: () => setStep(0) + }, "Back"), /*#__PURE__*/React.createElement(Button, { + iconRight: "arrow-right", + disabled: conn !== 'ok', + onClick: () => setStep(2) + }, "Continue")) + }, /*#__PURE__*/React.createElement("h1", { + style: { + font: 'var(--text-title)', + color: 'var(--ink-1)', + margin: 0 + } + }, "Your Gitea"), /*#__PURE__*/React.createElement(Input, { + label: "Base URL", + icon: "link", + mono: true, + defaultValue: "https://gitea.stephenmann.io" + }), /*#__PURE__*/React.createElement(Input, { + label: "Access token", + icon: "keyboard", + mono: true, + type: "password", + defaultValue: "ct_9f2e81c4a7d6", + hint: "Scopes: repo, issue. Nothing more." + }), /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + alignItems: 'center', + gap: 12 + } + }, /*#__PURE__*/React.createElement(Button, { + variant: "secondary", + icon: conn === 'testing' ? 'loader-circle' : 'zap', + disabled: conn === 'testing', + onClick: () => setConn('testing') + }, conn === 'testing' ? 'Ringing the bell…' : 'Test connection'), conn === 'ok' ? /*#__PURE__*/React.createElement(Badge, { + tone: "ok", + dot: true + }, "connected \xB7 3 repos visible") : null)) : null, step === 2 ? /*#__PURE__*/React.createElement(Frame, { + footer: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Button, { + variant: "ghost", + onClick: () => setStep(1) + }, "Back"), /*#__PURE__*/React.createElement(Button, { + iconRight: "arrow-right", + onClick: () => setStep(3) + }, "Continue")) + }, /*#__PURE__*/React.createElement("h1", { + style: { + font: 'var(--text-title)', + color: 'var(--ink-1)', + margin: 0 + } + }, "Which repo shall I manage?"), /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + flexDirection: 'column', + gap: 8 + } + }, ['stephen/commitea', 'stephen/novelpad', 'stephen/infra'].map(r => /*#__PURE__*/React.createElement("label", { + key: r, + style: { + display: 'flex', + alignItems: 'center', + gap: 10, + padding: '10px 14px', + cursor: 'pointer', + background: repo === r ? 'var(--spruce-1)' : 'var(--paper-0)', + border: `1px solid ${repo === r ? 'var(--spruce-3)' : 'var(--line-1)'}`, + borderRadius: 'var(--radius-2)' + } + }, /*#__PURE__*/React.createElement(Radio, { + name: "repo", + checked: repo === r, + onChange: () => setRepo(r) + }), /*#__PURE__*/React.createElement(Icon, { + name: "git-branch", + size: 14, + style: { + color: 'var(--ink-3)' + } + }), /*#__PURE__*/React.createElement("span", { + style: { + font: 'var(--text-data)', + color: 'var(--ink-1)' + } + }, r)))), /*#__PURE__*/React.createElement("p", { + style: { + font: 'var(--text-caption)', + color: 'var(--ink-3)', + margin: 0 + } + }, "One to start. You can add more later in Settings.")) : null, step === 3 ? /*#__PURE__*/React.createElement(Frame, { + footer: boot === 3 ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Button, { + variant: "ghost", + onClick: () => onDone('focus') + }, "Just look around"), /*#__PURE__*/React.createElement(Button, { + icon: "sparkles", + onClick: () => onDone('capture') + }, "Start a capture")) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Button, { + variant: "ghost", + onClick: () => setStep(2), + disabled: boot >= 0 + }, "Back"), /*#__PURE__*/React.createElement(Button, { + disabled: boot >= 0, + onClick: () => setBoot(0) + }, "Make it so")) + }, /*#__PURE__*/React.createElement("h1", { + style: { + font: 'var(--text-title)', + color: 'var(--ink-1)', + margin: 0 + } + }, boot === 3 ? 'All set.' : 'With your approval'), /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + flexDirection: 'column', + gap: 10 + } + }, BOOT_TASKS.map((t, i) => /*#__PURE__*/React.createElement("div", { + key: t, + style: { + display: 'flex', + alignItems: 'center', + gap: 10 + } + }, /*#__PURE__*/React.createElement("span", { + style: { + display: 'inline-flex', + color: boot > i ? 'var(--ok)' : boot === i ? 'var(--warn)' : 'var(--ink-3)' + } + }, /*#__PURE__*/React.createElement(Icon, { + name: boot > i ? 'circle-check' : boot === i ? 'loader-circle' : 'circle-dashed', + size: 15 + })), /*#__PURE__*/React.createElement("span", { + style: { + font: 'var(--text-body)', + color: boot > i ? 'var(--ink-1)' : 'var(--ink-2)', + whiteSpace: 'nowrap' + } + }, t))), /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + flexWrap: 'wrap', + gap: 5, + paddingLeft: 25 + } + }, ['est/1d', 'est/2d', 'est/3d', 'est/5d', 'est/8d', 'p/1', 'p/2', 'p/3', 'p/4', 'deadline/hard'].map(l => /*#__PURE__*/React.createElement(Tag, { + key: l, + label: l + })))), boot === 3 ? /*#__PURE__*/React.createElement("p", { + style: { + font: 'var(--text-agent)', + color: 'var(--ink-2)', + margin: 0 + } + }, "The pot is empty. Tell me what you're planning and I'll draw up the tickets.") : /*#__PURE__*/React.createElement("p", { + style: { + font: 'var(--text-caption)', + color: 'var(--ink-3)', + margin: 0 + } + }, "No bot comments, no body frontmatter, no synthetic issues \u2014 ever. Labels are the only footprint.")) : null), /*#__PURE__*/React.createElement("span", { + style: { + font: '400 11px var(--font-mono)', + color: 'var(--ink-3)' + } + }, "first run \xB7 everything reversible")); +} +Object.assign(window, { + OnboardingScreen +}); +})(); } catch (e) { __ds_ns.__errors.push({ path: "ui_kits/app/OnboardingScreen.jsx", error: String((e && e.message) || e) }); } + +// ui_kits/app/RunwayScreen.jsx +try { (() => { +// Runway — capacity vs milestone dates; ranges, never points +function RunwayScreen({ + onOpenCalibration, + onOpenMilestone +}) { + const DS = window.CommiTeaDesignSystem_20e63b; + const { + Card, + Badge, + Tag, + Icon + } = DS; + const d = window.CT_DATA; + return /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + flexDirection: 'column', + gap: 16 + } + }, /*#__PURE__*/React.createElement("header", { + style: { + borderBottom: 'var(--rule-double)', + paddingBottom: 14 + } + }, /*#__PURE__*/React.createElement("h1", { + style: { + font: 'var(--text-display)', + color: 'var(--ink-1)', + margin: 0 + } + }, "Runway"), /*#__PURE__*/React.createElement("p", { + style: { + font: 'var(--text-data)', + color: 'var(--ink-3)', + margin: '6px 0 0' + } + }, "capacity vs milestone dates \xB7 calibrated on 27 closed issues")), /*#__PURE__*/React.createElement(Card, { + overline: "Milestones", + flush: true + }, /*#__PURE__*/React.createElement("div", null, d.runway.map((m, i) => /*#__PURE__*/React.createElement("div", { + key: m.name, + onClick: onOpenMilestone, + style: { + display: 'grid', + gridTemplateColumns: '160px 1fr 150px 90px', + gap: 16, + alignItems: 'center', + cursor: 'pointer', + padding: '14px 20px', + borderTop: i === 0 ? 'none' : '1px solid var(--line-1)' + }, + onMouseEnter: e => { + e.currentTarget.style.background = 'var(--paper-2)'; + }, + onMouseLeave: e => { + e.currentTarget.style.background = 'transparent'; + } + }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", { + style: { + font: 'var(--text-body-strong)', + color: 'var(--ink-1)', + display: 'flex', + alignItems: 'center', + gap: 7 + } + }, /*#__PURE__*/React.createElement(Icon, { + name: "milestone", + size: 14, + style: { + color: 'var(--ink-3)' + } + }), m.name), /*#__PURE__*/React.createElement("div", { + style: { + font: '400 11.5px var(--font-mono)', + color: 'var(--ink-3)', + marginTop: 3 + } + }, "due ", m.due, m.hard ? ' ' : ''), m.hard ? /*#__PURE__*/React.createElement(Tag, { + label: "deadline/hard", + style: { + marginTop: 5 + } + }) : null), /*#__PURE__*/React.createElement(window.RunwayBar, { + m: m + }), /*#__PURE__*/React.createElement("span", { + style: { + font: '400 12px var(--font-mono)', + color: 'var(--ink-2)' + } + }, "80% ", m.p80), /*#__PURE__*/React.createElement(Badge, { + tone: m.tone, + dot: true + }, m.note))))), /*#__PURE__*/React.createElement("div", { + style: { + display: 'grid', + gridTemplateColumns: '1fr 1fr', + gap: 14, + alignItems: 'start' + } + }, /*#__PURE__*/React.createElement(Card, { + overline: "Capacity", + flush: true + }, /*#__PURE__*/React.createElement("div", null, d.capacity.map((p, i) => /*#__PURE__*/React.createElement("div", { + key: p.who, + style: { + display: 'flex', + alignItems: 'center', + gap: 12, + padding: '12px 20px', + borderTop: i === 0 ? 'none' : '1px solid var(--line-1)' + } + }, /*#__PURE__*/React.createElement("span", { + style: { + width: 26, + height: 26, + borderRadius: '50%', + background: 'var(--spruce-2)', + color: 'var(--accent-text)', + font: '600 10px/26px var(--font-sans)', + textAlign: 'center', + flexShrink: 0 + } + }, p.who.split(' ').map(w => w[0]).join('')), /*#__PURE__*/React.createElement("div", { + style: { + flex: 1, + minWidth: 0 + } + }, /*#__PURE__*/React.createElement("div", { + style: { + font: 'var(--text-body-strong)' + } + }, p.who), /*#__PURE__*/React.createElement("div", { + style: { + font: '400 11.5px var(--font-mono)', + color: 'var(--ink-3)', + marginTop: 2 + } + }, p.slices)), /*#__PURE__*/React.createElement("span", { + style: { + font: '400 12px var(--font-mono)', + color: 'var(--ink-2)' + } + }, p.hours))))), /*#__PURE__*/React.createElement(Card, { + overline: "Calibration", + actions: /*#__PURE__*/React.createElement(DS.IconButton, { + icon: "arrow-up-right", + label: "Full report", + size: "sm", + onClick: onOpenCalibration + }) + }, /*#__PURE__*/React.createElement("p", { + style: { + font: 'var(--text-body)', + margin: '0 0 8px' + } + }, "Your estimates run ", /*#__PURE__*/React.createElement("strong", null, "18% optimistic"), " on ", /*#__PURE__*/React.createElement("code", null, "est/3d"), " and above. Smaller tickets are honest."), /*#__PURE__*/React.createElement("p", { + style: { + font: 'var(--text-agent)', + color: 'var(--ink-2)', + margin: 0 + } + }, "I widen the cone accordingly. No judgement \u2014 it's the most common shape of hope.")))); +} +Object.assign(window, { + RunwayScreen +}); +})(); } catch (e) { __ds_ns.__errors.push({ path: "ui_kits/app/RunwayScreen.jsx", error: String((e && e.message) || e) }); } + +// ui_kits/app/SettingsScreen.jsx +try { (() => { +// Settings — gitea connection, sync, model roles, labels, rituals, appearance +function SettingsScreen({ + dark, + setDark +}) { + const DS = window.CommiTeaDesignSystem_20e63b; + const { + Card, + Input, + Select, + Switch, + Radio, + Button, + IconButton, + Tag, + Badge, + Icon + } = DS; + const [webhooks, setWebhooks] = React.useState(true); + const [reconcile, setReconcile] = React.useState(true); + const [poll, setPoll] = React.useState(true); + const [nag, setNag] = React.useState(true); + const Row = ({ + children, + style + }) => /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + alignItems: 'center', + gap: 12, + ...style + } + }, children); + const Note = ({ + children + }) => /*#__PURE__*/React.createElement("p", { + style: { + font: 'var(--text-caption)', + color: 'var(--ink-3)', + margin: 0 + } + }, children); + return /*#__PURE__*/React.createElement("div", { + style: { + maxWidth: 720, + margin: '0 auto', + display: 'flex', + flexDirection: 'column', + gap: 16 + } + }, /*#__PURE__*/React.createElement("header", { + style: { + borderBottom: 'var(--rule-double)', + paddingBottom: 14 + } + }, /*#__PURE__*/React.createElement("h1", { + style: { + font: 'var(--text-display)', + color: 'var(--ink-1)', + margin: 0 + } + }, "Settings"), /*#__PURE__*/React.createElement("p", { + style: { + font: 'var(--text-data)', + color: 'var(--ink-3)', + margin: '6px 0 0' + } + }, "config lives in pm-state \xB7 versioned, portable")), /*#__PURE__*/React.createElement(Card, { + overline: "Gitea", + title: "Connection" + }, /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + flexDirection: 'column', + gap: 14 + } + }, /*#__PURE__*/React.createElement(Input, { + label: "Base URL", + icon: "link", + mono: true, + defaultValue: "https://gitea.stephenmann.io" + }), /*#__PURE__*/React.createElement(Input, { + label: "Access token", + icon: "keyboard", + mono: true, + type: "password", + defaultValue: "ct_9f2e81c4a7d6", + hint: "Scopes: repo, issue. Nothing more." + }), /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + flexDirection: 'column', + gap: 8 + } + }, /*#__PURE__*/React.createElement("span", { + style: { + font: '600 13px/1.2 var(--font-sans)', + color: 'var(--ink-1)' + } + }, "Managed repos"), /*#__PURE__*/React.createElement(Row, { + style: { + padding: '8px 12px', + background: 'var(--paper-0)', + border: '1px solid var(--line-1)', + borderRadius: 'var(--radius-2)' + } + }, /*#__PURE__*/React.createElement(Icon, { + name: "git-branch", + size: 14, + style: { + color: 'var(--ink-3)' + } + }), /*#__PURE__*/React.createElement("span", { + style: { + font: 'var(--text-data)', + color: 'var(--ink-1)', + flex: 1 + } + }, "stephen/commitea"), /*#__PURE__*/React.createElement(Badge, { + tone: "ok", + dot: true + }, "syncing"), /*#__PURE__*/React.createElement(IconButton, { + icon: "x", + label: "Stop managing", + size: "sm" + })), /*#__PURE__*/React.createElement(Row, { + style: { + padding: '8px 12px', + background: 'var(--paper-0)', + border: '1px solid var(--line-1)', + borderRadius: 'var(--radius-2)' + } + }, /*#__PURE__*/React.createElement(Icon, { + name: "layers", + size: 14, + style: { + color: 'var(--ink-3)' + } + }), /*#__PURE__*/React.createElement("span", { + style: { + font: 'var(--text-data)', + color: 'var(--ink-1)', + flex: 1 + } + }, "stephen/pm-state"), /*#__PURE__*/React.createElement(Badge, null, "sidecar")), /*#__PURE__*/React.createElement(Note, null, "The sidecar holds machine-derived state only. Delete it and resync \u2014 no truth is lost."), /*#__PURE__*/React.createElement(Button, { + variant: "secondary", + size: "sm", + icon: "plus", + style: { + alignSelf: 'flex-start' + } + }, "Add repo")))), /*#__PURE__*/React.createElement(Card, { + overline: "Sync", + title: "Staying current" + }, /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + flexDirection: 'column', + gap: 12 + } + }, /*#__PURE__*/React.createElement(Row, null, /*#__PURE__*/React.createElement(Switch, { + label: "Webhooks while running", + checked: webhooks, + onChange: e => setWebhooks(e.target.checked) + }), /*#__PURE__*/React.createElement("span", { + style: { + font: '400 11.5px var(--font-mono)', + color: 'var(--ink-3)', + marginLeft: 'auto' + } + }, "endpoint :48731 \xB7 healthy")), /*#__PURE__*/React.createElement(Switch, { + label: "Full reconcile on launch", + checked: reconcile, + onChange: e => setReconcile(e.target.checked) + }), /*#__PURE__*/React.createElement(Row, null, /*#__PURE__*/React.createElement(Switch, { + label: "Poll fallback", + checked: poll, + onChange: e => setPoll(e.target.checked) + }), /*#__PURE__*/React.createElement("div", { + style: { + marginLeft: 'auto', + width: 140 + } + }, /*#__PURE__*/React.createElement(Select, { + options: [{ + value: '2', + label: 'every 2 min' + }, { + value: '5', + label: 'every 5 min' + }, { + value: '15', + label: 'every 15 min' + }], + defaultValue: "5" + }))), /*#__PURE__*/React.createElement(Note, null, "last reconcile 3.2s \xB7 500 issues \xB7 nothing lost"))), /*#__PURE__*/React.createElement(Card, { + overline: "Models", + title: "The router" + }, /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + flexDirection: 'column', + gap: 14 + } + }, /*#__PURE__*/React.createElement("div", { + style: { + display: 'grid', + gridTemplateColumns: '1fr 1fr', + gap: '12px 14px' + } + }, /*#__PURE__*/React.createElement(Select, { + label: "Prose & rituals", + options: [{ + value: 'gemma-4b', + label: 'gemma-4b · local' + }, { + value: 'qwen-7b', + label: 'qwen-7b · local' + }], + defaultValue: "gemma-4b" + }), /*#__PURE__*/React.createElement(Input, { + label: "Base URL", + mono: true, + defaultValue: "http://localhost:1234/v1" + }), /*#__PURE__*/React.createElement(Select, { + label: "Decomposition & negotiation", + options: [{ + value: 'qwen-72b', + label: 'qwen-72b · lm-studio box' + }, { + value: 'gpt-4o', + label: 'gpt-4o · OpenAI API' + }], + defaultValue: "qwen-72b" + }), /*#__PURE__*/React.createElement(Input, { + label: "Base URL", + mono: true, + defaultValue: "http://10.0.0.42:1234/v1" + })), /*#__PURE__*/React.createElement(Row, null, /*#__PURE__*/React.createElement("span", { + style: { + font: '400 11.5px var(--font-mono)', + color: 'var(--ink-3)' + } + }, "hot memory \u2264 2k tokens \xB7 math is never delegated to either")), /*#__PURE__*/React.createElement("p", { + style: { + font: 'var(--text-agent)', + color: 'var(--ink-2)', + margin: 0 + } + }, "The small one writes my standup; the large one argues with your estimates. Neither is allowed near the arithmetic."))), /*#__PURE__*/React.createElement(Card, { + overline: "Labels", + title: "Schema" + }, /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + flexDirection: 'column', + gap: 10 + } + }, /*#__PURE__*/React.createElement(Row, { + style: { + flexWrap: 'wrap', + gap: 6 + } + }, ['est/1d', 'est/2d', 'est/3d', 'est/5d', 'est/8d'].map(l => /*#__PURE__*/React.createElement(Tag, { + key: l, + label: l + }))), /*#__PURE__*/React.createElement(Row, { + style: { + flexWrap: 'wrap', + gap: 6 + } + }, ['p/1', 'p/2', 'p/3', 'p/4'].map(l => /*#__PURE__*/React.createElement(Tag, { + key: l, + label: l + })), /*#__PURE__*/React.createElement(Tag, { + label: "deadline/hard" + })), /*#__PURE__*/React.createElement(Note, null, "Fixed sets, human-meaningful, visible in gitea. Not configurable \u2014 that is rather the point."))), /*#__PURE__*/React.createElement(Card, { + overline: "Rituals", + title: "Reginald's calendar" + }, /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + flexDirection: 'column', + gap: 12 + } + }, /*#__PURE__*/React.createElement(Row, null, /*#__PURE__*/React.createElement("span", { + style: { + font: 'var(--text-body)', + color: 'var(--ink-1)' + } + }, "Morning standup"), /*#__PURE__*/React.createElement("div", { + style: { + marginLeft: 'auto', + width: 120 + } + }, /*#__PURE__*/React.createElement(Select, { + options: [{ + value: '0630', + label: '06:30' + }, { + value: '0700', + label: '07:00' + }, { + value: '0800', + label: '08:00' + }], + defaultValue: "0700" + }))), /*#__PURE__*/React.createElement(Row, null, /*#__PURE__*/React.createElement(Switch, { + label: "Stale-blocker nagging", + checked: nag, + onChange: e => setNag(e.target.checked) + }), /*#__PURE__*/React.createElement("div", { + style: { + marginLeft: 'auto', + width: 140 + } + }, /*#__PURE__*/React.createElement(Select, { + options: [{ + value: '2', + label: 'after 2 days' + }, { + value: '3', + label: 'after 3 days' + }, { + value: '5', + label: 'after 5 days' + }], + defaultValue: "3" + }))))), /*#__PURE__*/React.createElement(Card, { + overline: "Appearance", + title: "Service" + }, /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + gap: 20 + } + }, /*#__PURE__*/React.createElement(Radio, { + name: "theme", + label: "Morning (light)", + checked: !dark, + onChange: () => setDark(false) + }), /*#__PURE__*/React.createElement(Radio, { + name: "theme", + label: "Evening (dark)", + checked: dark, + onChange: () => setDark(true) + }))), /*#__PURE__*/React.createElement(Card, null, /*#__PURE__*/React.createElement(Row, null, /*#__PURE__*/React.createElement("div", { + style: { + flex: 1 + } + }, /*#__PURE__*/React.createElement("div", { + style: { + font: 'var(--text-body-strong)', + color: 'var(--ink-1)' + } + }, "Forget this gitea"), /*#__PURE__*/React.createElement(Note, null, "Removes the connection and the local cache. Gitea itself is untouched.")), /*#__PURE__*/React.createElement(Button, { + variant: "danger" + }, "Forget")))); +} +Object.assign(window, { + SettingsScreen +}); +})(); } catch (e) { __ds_ns.__errors.push({ path: "ui_kits/app/SettingsScreen.jsx", error: String((e && e.message) || e) }); } + +// ui_kits/app/Shell.jsx +try { (() => { +// App shell — left rail + content + agent panel, issue page, theme toggle +function Shell() { + const DS = window.CommiTeaDesignSystem_20e63b; + const { + Icon, + Switch + } = DS; + const [view, setView] = React.useState('focus'); + const [prevView, setPrevView] = React.useState('focus'); + const [dark, setDark] = React.useState(false); + const [issue, setIssue] = React.useState(null); + const [offline, setOffline] = React.useState(false); + const [readIds, setReadIds] = React.useState([]); + const inboxUnread = window.CT_DATA.inbox.filter(n => n.unread && !readIds.includes(n.id)).length; + const openIssue = i => { + setIssue(i); + if (view !== 'issue') setPrevView(view); + setView('issue'); + }; + React.useEffect(() => { + document.documentElement.setAttribute('data-theme', dark ? 'dark' : 'light'); + }, [dark]); + if (view === 'firstrun') { + return /*#__PURE__*/React.createElement(window.OnboardingScreen, { + onDone: dest => setView(dest) + }); + } + const NAV = [{ + id: 'standup', + label: 'Standup', + icon: 'sun' + }, { + id: 'focus', + label: 'Morning service', + icon: 'coffee' + }, { + id: 'inbox', + label: 'Inbox', + icon: 'bell', + count: inboxUnread || null + }, { + id: 'capture', + label: 'Capture', + icon: 'plus' + }, { + id: 'board', + label: 'The pot', + icon: 'square-kanban' + }, { + id: 'runway', + label: 'Runway', + icon: 'chart-line' + }, { + id: 'directives', + label: 'Directives', + icon: 'flag' + }]; + const NavItem = ({ + item + }) => { + const active = view === item.id || view === 'issue' && prevView === item.id || (view === 'calibration' || view === 'milestone') && item.id === 'runway'; + return /*#__PURE__*/React.createElement("button", { + type: "button", + onClick: () => setView(item.id), + style: { + display: 'flex', + alignItems: 'center', + gap: 10, + width: '100%', + font: `${active ? 600 : 500} 13.5px/1 var(--font-sans)`, + color: active ? 'var(--ink-1)' : 'var(--ink-2)', + background: active ? 'var(--paper-2)' : 'transparent', + border: 'none', + borderRadius: 'var(--radius-2)', + padding: '9px 12px', + cursor: 'pointer', + textAlign: 'left', + transition: 'background var(--duration-fast) var(--ease-out)' + } + }, /*#__PURE__*/React.createElement(Icon, { + name: item.icon, + size: 16, + style: { + color: active ? 'var(--accent-text)' : 'var(--ink-3)' + } + }), item.label, item.count ? /*#__PURE__*/React.createElement("span", { + style: { + marginLeft: 'auto', + font: '500 10.5px/16px var(--font-mono)', + color: 'var(--accent-text)', + background: 'var(--spruce-2)', + borderRadius: 'var(--radius-round)', + padding: '0 6px' + } + }, item.count) : null); + }; + return /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + height: '100vh', + minWidth: 1280, + background: 'var(--surface-app)', + overflow: 'hidden' + }, + "data-screen-label": `app-${view}` + }, /*#__PURE__*/React.createElement("nav", { + style: { + width: 208, + flexShrink: 0, + display: 'flex', + flexDirection: 'column', + gap: 4, + padding: '18px 12px 14px', + borderRight: '1px solid var(--line-1)' + } + }, /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + alignItems: 'center', + gap: 9, + padding: '0 12px 16px' + } + }, /*#__PURE__*/React.createElement("img", { + src: "../../assets/logo-icon.png", + width: "24", + height: "24", + alt: "", + style: { + borderRadius: 6, + display: 'block' + } + }), /*#__PURE__*/React.createElement("span", { + style: { + font: '400 21px/1 var(--font-serif-display)', + color: 'var(--ink-1)' + } + }, "Commi", /*#__PURE__*/React.createElement("span", { + style: { + color: 'var(--accent-text)' + } + }, "Tea"))), NAV.map(n => /*#__PURE__*/React.createElement(NavItem, { + key: n.id, + item: n + })), /*#__PURE__*/React.createElement("div", { + style: { + borderTop: '1px solid var(--line-1)', + margin: '10px 8px' + } + }), /*#__PURE__*/React.createElement(NavItem, { + item: { + id: 'settings', + label: 'Settings', + icon: 'settings-2' + } + }), /*#__PURE__*/React.createElement(NavItem, { + item: { + id: 'firstrun', + label: 'First run', + icon: 'play' + } + }), /*#__PURE__*/React.createElement(NavItem, { + item: { + id: 'states', + label: 'States', + icon: 'circle-dashed' + } + }), /*#__PURE__*/React.createElement("div", { + style: { + marginTop: 'auto', + padding: '0 12px', + display: 'flex', + flexDirection: 'column', + gap: 12 + } + }, /*#__PURE__*/React.createElement("button", { + type: "button", + onClick: () => setOffline(!offline), + title: "Toggle the connection (demo)", + style: { + font: '400 11px var(--font-mono)', + color: 'var(--ink-3)', + display: 'flex', + alignItems: 'center', + gap: 6, + background: 'none', + border: 'none', + padding: 0, + cursor: 'pointer', + textAlign: 'left' + } + }, /*#__PURE__*/React.createElement("span", { + style: { + width: 6, + height: 6, + borderRadius: '50%', + background: offline ? 'var(--danger)' : 'var(--ok)', + display: 'inline-block' + } + }), "gitea.stephenmann.io"), /*#__PURE__*/React.createElement(Switch, { + label: /*#__PURE__*/React.createElement("span", { + style: { + font: 'var(--text-caption)' + } + }, "Evening service"), + checked: dark, + onChange: e => setDark(e.target.checked) + }))), /*#__PURE__*/React.createElement("main", { + style: { + flex: 1, + minWidth: 0, + overflowY: 'auto', + padding: '24px 28px' + } + }, /*#__PURE__*/React.createElement("div", { + style: { + maxWidth: 1120, + margin: '0 auto', + height: view === 'board' ? '100%' : 'auto', + display: 'flex', + flexDirection: 'column', + gap: 14 + } + }, offline ? /*#__PURE__*/React.createElement(window.OfflineBanner, null) : null, view === 'focus' ? /*#__PURE__*/React.createElement(window.FocusScreen, { + onOpenIssue: openIssue + }) : null, view === 'board' ? /*#__PURE__*/React.createElement(window.BoardScreen, { + onOpenIssue: openIssue + }) : null, view === 'runway' ? /*#__PURE__*/React.createElement(window.RunwayScreen, { + onOpenCalibration: () => setView('calibration'), + onOpenMilestone: () => setView('milestone') + }) : null, view === 'capture' ? /*#__PURE__*/React.createElement(window.CaptureScreen, { + onDone: () => setView('focus') + }) : null, view === 'standup' ? /*#__PURE__*/React.createElement(window.StandupScreen, { + onBegin: () => setView('focus'), + onOpenIssue: openIssue + }) : null, view === 'settings' ? /*#__PURE__*/React.createElement(window.SettingsScreen, { + dark: dark, + setDark: setDark + }) : null, view === 'directives' ? /*#__PURE__*/React.createElement(window.DirectivesScreen, null) : null, view === 'issue' && issue ? /*#__PURE__*/React.createElement(window.IssueScreen, { + issue: issue, + onBack: () => setView(prevView), + onOpenIssue: openIssue + }) : null, view === 'calibration' ? /*#__PURE__*/React.createElement(window.CalibrationScreen, { + onBack: () => setView('runway') + }) : null, view === 'milestone' ? /*#__PURE__*/React.createElement(window.MilestoneScreen, { + onBack: () => setView('runway'), + onOpenIssue: openIssue + }) : null, view === 'states' ? /*#__PURE__*/React.createElement(window.StatesScreen, { + onCapture: () => setView('capture') + }) : null, view === 'inbox' ? /*#__PURE__*/React.createElement(window.InboxScreen, { + onOpenIssue: openIssue, + onOpenDirectives: () => setView('directives'), + readIds: readIds, + setReadIds: setReadIds + }) : null)), /*#__PURE__*/React.createElement(window.ChatPanel, { + onOpenDirectives: () => setView('directives'), + offline: offline + })); +} +Object.assign(window, { + Shell +}); +})(); } catch (e) { __ds_ns.__errors.push({ path: "ui_kits/app/Shell.jsx", error: String((e && e.message) || e) }); } + +// ui_kits/app/StandupScreen.jsx +try { (() => { +// Morning standup ritual — a typeset letter from Reginald: drift, plan, nag +const standupCSS = ` +@keyframes ct-standup-settle { + from { opacity: 0; transform: translateY(6px); } + to { opacity: 1; transform: none; } +} +.ct-standup-section { opacity: 1; } +@media (prefers-reduced-motion: no-preference) { + .ct-standup-section { animation: ct-standup-settle 320ms var(--ease-out) both; } +} +`; +(function inject() { + if (typeof document !== 'undefined' && !document.getElementById('ct-standup-css')) { + const s = document.createElement('style'); + s.id = 'ct-standup-css'; + s.textContent = standupCSS; + document.head.appendChild(s); + } +})(); +function StandupScreen({ + onBegin, + onOpenIssue +}) { + const DS = window.CommiTeaDesignSystem_20e63b; + const { + Button, + Tag, + Badge, + Icon + } = DS; + const s = window.CT_DATA.standup; + const Section = ({ + overline, + children, + order + }) => /*#__PURE__*/React.createElement("section", { + className: "ct-standup-section", + style: { + animationDelay: `${order * 90}ms`, + display: 'flex', + flexDirection: 'column', + gap: 12 + } + }, /*#__PURE__*/React.createElement("p", { + style: { + font: 'var(--text-overline)', + letterSpacing: 'var(--letter-spacing-wide)', + textTransform: 'uppercase', + color: 'var(--ink-3)', + margin: 0, + borderTop: '1px solid var(--line-1)', + paddingTop: 14 + } + }, overline), children); + const toneColor = { + ok: 'var(--ok)', + warn: 'var(--warn)', + danger: 'var(--danger)' + }; + return /*#__PURE__*/React.createElement("div", { + style: { + maxWidth: 660, + margin: '0 auto' + } + }, /*#__PURE__*/React.createElement("article", { + style: { + background: 'var(--surface-card)', + border: '1px solid var(--line-1)', + borderRadius: 'var(--radius-3)', + boxShadow: 'var(--shadow-jade-line), var(--shadow-1)', + padding: '36px 44px 32px', + display: 'flex', + flexDirection: 'column', + gap: 20 + } + }, /*#__PURE__*/React.createElement("header", { + className: "ct-standup-section", + style: { + borderBottom: 'var(--rule-double)', + paddingBottom: 16 + } + }, /*#__PURE__*/React.createElement("p", { + style: { + font: 'var(--text-data)', + color: 'var(--ink-3)', + margin: '0 0 8px' + } + }, s.date, " \xB7 prepared 07:00"), /*#__PURE__*/React.createElement("h1", { + style: { + font: 'var(--text-display)', + color: 'var(--ink-1)', + margin: 0 + } + }, "Morning standup")), /*#__PURE__*/React.createElement(Section, { + overline: "Overnight drift", + order: 1 + }, /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + flexDirection: 'column', + gap: 10 + } + }, s.drift.map(d => /*#__PURE__*/React.createElement("div", { + key: d.text, + style: { + display: 'flex', + alignItems: 'baseline', + gap: 10 + } + }, /*#__PURE__*/React.createElement("span", { + style: { + width: 7, + height: 7, + borderRadius: '50%', + background: toneColor[d.tone], + flexShrink: 0, + position: 'relative', + top: -1 + } + }), /*#__PURE__*/React.createElement("span", { + style: { + font: 'var(--text-body)', + color: 'var(--ink-1)', + flex: 1 + } + }, d.text), /*#__PURE__*/React.createElement("span", { + style: { + font: '400 11.5px var(--font-mono)', + color: 'var(--ink-3)', + whiteSpace: 'nowrap' + } + }, d.delta))))), /*#__PURE__*/React.createElement(Section, { + overline: "Today's plan", + order: 2 + }, /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + flexDirection: 'column', + gap: 12 + } + }, s.plan.map(p => /*#__PURE__*/React.createElement("div", { + key: p.who, + style: { + display: 'flex', + gap: 12, + alignItems: 'flex-start' + } + }, /*#__PURE__*/React.createElement("span", { + style: { + width: 26, + height: 26, + borderRadius: '50%', + background: 'var(--spruce-2)', + color: 'var(--accent-text)', + font: '600 10px/26px var(--font-sans)', + textAlign: 'center', + flexShrink: 0 + } + }, p.who.split(' ').map(w => w[0]).join('')), /*#__PURE__*/React.createElement("div", { + style: { + flex: 1, + minWidth: 0 + } + }, /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + alignItems: 'center', + gap: 8, + flexWrap: 'wrap' + } + }, /*#__PURE__*/React.createElement("span", { + style: { + font: 'var(--text-body-strong)', + color: 'var(--ink-1)', + whiteSpace: 'nowrap' + } + }, p.who), /*#__PURE__*/React.createElement("span", { + style: { + font: '400 12px var(--font-mono)', + color: 'var(--ink-2)' + } + }, p.pick), /*#__PURE__*/React.createElement("span", { + style: { + font: 'var(--text-small)', + color: 'var(--ink-2)' + } + }, p.title)), /*#__PURE__*/React.createElement("p", { + style: { + font: 'var(--text-agent)', + color: 'var(--ink-2)', + margin: '4px 0 0' + } + }, p.why)))))), /*#__PURE__*/React.createElement(Section, { + overline: "Stale blockers", + order: 3 + }, /*#__PURE__*/React.createElement("div", { + onClick: () => onOpenIssue({ + id: s.nag.id, + title: 'Fix lifecycle inference on merge events', + labels: ['est/2d', 'p/1'], + days: s.nag.days + }), + style: { + display: 'flex', + gap: 10, + alignItems: 'flex-start', + cursor: 'pointer', + background: 'var(--warn-tint)', + borderRadius: 'var(--radius-2)', + padding: '12px 14px' + } + }, /*#__PURE__*/React.createElement("span", { + style: { + color: 'var(--warn)', + display: 'inline-flex', + marginTop: 2 + } + }, /*#__PURE__*/React.createElement(Icon, { + name: "clock", + size: 15 + })), /*#__PURE__*/React.createElement("div", { + style: { + flex: 1 + } + }, /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + alignItems: 'center', + gap: 8, + flexWrap: 'wrap' + } + }, /*#__PURE__*/React.createElement("span", { + style: { + font: '500 12.5px var(--font-mono)', + color: 'var(--ink-1)' + } + }, "#", s.nag.id), /*#__PURE__*/React.createElement(Badge, { + tone: "warn", + dot: true + }, "steeping ", s.nag.days), /*#__PURE__*/React.createElement("span", { + style: { + font: '400 11.5px var(--font-mono)', + color: 'var(--ink-3)' + } + }, "blocks ", s.nag.blocks.join(', '))), /*#__PURE__*/React.createElement("p", { + style: { + font: 'var(--text-agent)', + color: 'var(--ink-2)', + margin: '5px 0 0' + } + }, s.nag.text)))), /*#__PURE__*/React.createElement("footer", { + className: "ct-standup-section", + style: { + animationDelay: '360ms', + borderTop: '1px solid var(--line-1)', + paddingTop: 16, + display: 'flex', + alignItems: 'center', + gap: 10 + } + }, /*#__PURE__*/React.createElement("p", { + style: { + font: 'var(--text-agent-lg)', + color: 'var(--ink-1)', + margin: 0, + flex: 1 + } + }, "The kettle's on. \u2014 R."), /*#__PURE__*/React.createElement(Button, { + variant: "ghost", + onClick: onBegin + }, "Ask about the drift"), /*#__PURE__*/React.createElement(Button, { + iconRight: "arrow-right", + onClick: onBegin + }, "Begin the day")))); +} +Object.assign(window, { + StandupScreen +}); +})(); } catch (e) { __ds_ns.__errors.push({ path: "ui_kits/app/StandupScreen.jsx", error: String((e && e.message) || e) }); } + +// ui_kits/app/StatesGallery.jsx +try { (() => { +// Shared empty/trouble states + the States gallery screen +function EmptyState({ + icon, + title, + line, + action, + onAction, + compact +}) { + const DS = window.CommiTeaDesignSystem_20e63b; + const { + Button, + Icon + } = DS; + return /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + flexDirection: 'column', + alignItems: 'center', + textAlign: 'center', + gap: 10, + padding: compact ? '28px 20px' : '52px 24px' + } + }, /*#__PURE__*/React.createElement("span", { + style: { + width: 44, + height: 44, + borderRadius: '50%', + background: 'var(--paper-2)', + color: 'var(--ink-3)', + display: 'inline-flex', + alignItems: 'center', + justifyContent: 'center' + } + }, /*#__PURE__*/React.createElement(Icon, { + name: icon, + size: 19 + })), /*#__PURE__*/React.createElement("div", { + style: { + font: '400 20px/1.25 var(--font-serif-display)', + color: 'var(--ink-1)' + } + }, title), /*#__PURE__*/React.createElement("p", { + style: { + font: 'var(--text-agent)', + color: 'var(--ink-2)', + margin: 0, + maxWidth: 380 + } + }, line), action ? /*#__PURE__*/React.createElement(Button, { + style: { + marginTop: 6 + }, + onClick: onAction + }, action) : null); +} +function OfflineBanner({ + retryIn +}) { + const DS = window.CommiTeaDesignSystem_20e63b; + const { + Icon + } = DS; + return /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + alignItems: 'center', + gap: 10, + background: 'var(--warn-tint)', + border: '1px solid var(--warn)', + borderRadius: 'var(--radius-2)', + padding: '9px 14px' + } + }, /*#__PURE__*/React.createElement("span", { + style: { + color: 'var(--warn)', + display: 'inline-flex' + } + }, /*#__PURE__*/React.createElement(Icon, { + name: "triangle-alert", + size: 15 + })), /*#__PURE__*/React.createElement("span", { + style: { + font: 'var(--text-small)', + color: 'var(--ink-1)', + flex: 1 + } + }, "Gitea isn't answering. I'll keep trying and say nothing more about it."), /*#__PURE__*/React.createElement("span", { + style: { + font: '400 11.5px var(--font-mono)', + color: 'var(--ink-2)', + whiteSpace: 'nowrap' + } + }, "retry in ", retryIn || '0:12', " \xB7 reads from cache")); +} +function ModelAwayState() { + const DS = window.CommiTeaDesignSystem_20e63b; + const { + Icon, + Badge + } = DS; + return /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + flexDirection: 'column', + gap: 8, + padding: '14px 16px' + } + }, /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + alignItems: 'center', + gap: 8 + } + }, /*#__PURE__*/React.createElement("span", { + style: { + color: 'var(--ink-3)', + display: 'inline-flex' + } + }, /*#__PURE__*/React.createElement(Icon, { + name: "sparkles", + size: 15 + })), /*#__PURE__*/React.createElement("span", { + style: { + font: 'var(--text-body-strong)', + color: 'var(--ink-2)' + } + }, "Reginald"), /*#__PURE__*/React.createElement("span", { + style: { + font: '400 11px var(--font-mono)', + color: 'var(--ink-3)' + } + }, "model offline"), /*#__PURE__*/React.createElement("span", { + style: { + marginLeft: 'auto' + } + }, /*#__PURE__*/React.createElement(Badge, null, "queued: 1 directive"))), /*#__PURE__*/React.createElement("p", { + style: { + font: 'var(--text-agent)', + color: 'var(--ink-2)', + margin: 0 + } + }, "The model is away from its desk. Reads still work; writes will wait their turn.")); +} +function StatesScreen({ + onCapture +}) { + const DS = window.CommiTeaDesignSystem_20e63b; + const { + Button, + Badge, + Icon + } = DS; + const Specimen = ({ + label, + children + }) => /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + flexDirection: 'column', + gap: 8 + } + }, /*#__PURE__*/React.createElement("span", { + style: { + font: '400 11px var(--font-mono)', + color: 'var(--ink-3)' + } + }, label), /*#__PURE__*/React.createElement("div", { + style: { + border: '1px dashed var(--line-2)', + borderRadius: 'var(--radius-3)', + background: 'var(--surface-card)', + overflow: 'hidden' + } + }, children)); + return /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + flexDirection: 'column', + gap: 16 + } + }, /*#__PURE__*/React.createElement("header", { + style: { + borderBottom: 'var(--rule-double)', + paddingBottom: 14 + } + }, /*#__PURE__*/React.createElement("h1", { + style: { + font: 'var(--text-display)', + color: 'var(--ink-1)', + margin: 0 + } + }, "States"), /*#__PURE__*/React.createElement("p", { + style: { + font: 'var(--text-data)', + color: 'var(--ink-3)', + margin: '6px 0 0' + } + }, "empty & trouble \xB7 specimens as wired in the app")), /*#__PURE__*/React.createElement("p", { + style: { + font: 'var(--text-overline)', + letterSpacing: 'var(--letter-spacing-wide)', + textTransform: 'uppercase', + color: 'var(--ink-3)', + margin: '4px 0 0' + } + }, "Empty"), /*#__PURE__*/React.createElement("div", { + style: { + display: 'grid', + gridTemplateColumns: '1fr 1fr', + gap: 14 + } + }, /*#__PURE__*/React.createElement(Specimen, { + label: "the pot \xB7 no issues" + }, /*#__PURE__*/React.createElement(EmptyState, { + compact: true, + icon: "inbox", + title: "The pot is empty", + line: "Tell me what you're planning and I'll draw up the tickets.", + action: "Start a capture", + onAction: onCapture + })), /*#__PURE__*/React.createElement(Specimen, { + label: "morning service \xB7 nothing scheduled" + }, /*#__PURE__*/React.createElement(EmptyState, { + compact: true, + icon: "coffee", + title: "Nothing to pour", + line: "Capture some work, or enjoy the silence \u2014 it never lasts." + })), /*#__PURE__*/React.createElement(Specimen, { + label: "directives \xB7 no entries" + }, /*#__PURE__*/React.createElement(EmptyState, { + compact: true, + icon: "flag", + title: "No directives yet", + line: "When you overrule the scheduler, it goes on the record here \u2014 who, when, what, why." + })), /*#__PURE__*/React.createElement(Specimen, { + label: "board search \xB7 no match" + }, /*#__PURE__*/React.createElement(EmptyState, { + compact: true, + icon: "search", + title: "Nothing by that name", + line: "The pot holds 24 issues; none of them answer to that." + }))), /*#__PURE__*/React.createElement("p", { + style: { + font: 'var(--text-overline)', + letterSpacing: 'var(--letter-spacing-wide)', + textTransform: 'uppercase', + color: 'var(--ink-3)', + margin: '8px 0 0' + } + }, "Trouble"), /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + flexDirection: 'column', + gap: 14 + } + }, /*#__PURE__*/React.createElement(Specimen, { + label: "gitea unreachable \xB7 banner above main content (toggle the rail's connection dot to see it live)" + }, /*#__PURE__*/React.createElement("div", { + style: { + padding: 12 + } + }, /*#__PURE__*/React.createElement(OfflineBanner, null))), /*#__PURE__*/React.createElement("div", { + style: { + display: 'grid', + gridTemplateColumns: '1fr 1fr', + gap: 14 + } + }, /*#__PURE__*/React.createElement(Specimen, { + label: "reginald's panel \xB7 model offline" + }, /*#__PURE__*/React.createElement(ModelAwayState, null)), /*#__PURE__*/React.createElement(Specimen, { + label: "webhooks down \xB7 poll fallback" + }, /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + alignItems: 'center', + gap: 10, + padding: '14px 16px' + } + }, /*#__PURE__*/React.createElement(Badge, { + tone: "warn", + dot: true + }, "webhooks down"), /*#__PURE__*/React.createElement("span", { + style: { + font: '400 11.5px var(--font-mono)', + color: 'var(--ink-2)' + } + }, "polling every 2 min \xB7 updates may lag")))), /*#__PURE__*/React.createElement(Specimen, { + label: "first reconcile failed \xB7 full-screen" + }, /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + flexDirection: 'column', + alignItems: 'center', + padding: '8px 0 20px' + } + }, /*#__PURE__*/React.createElement(EmptyState, { + compact: true, + icon: "refresh-cw", + title: "The reconcile failed", + line: "Gitea answered, then hung up mid-sentence. Your cache is intact; nothing human is lost." + }), /*#__PURE__*/React.createElement("div", { + style: { + display: 'flex', + gap: 8, + marginTop: -6 + } + }, /*#__PURE__*/React.createElement(Button, null, "Try again"), /*#__PURE__*/React.createElement(Button, { + variant: "ghost" + }, "Work from cache")))))); +} +Object.assign(window, { + EmptyState, + OfflineBanner, + ModelAwayState, + StatesScreen +}); +})(); } catch (e) { __ds_ns.__errors.push({ path: "ui_kits/app/StatesGallery.jsx", error: String((e && e.message) || e) }); } + +// ui_kits/app/data.js +try { (() => { +// CommiTea fixture data — human-authored intent (gitea) + machine-derived state (sidecar) +window.CT_DATA = { + today: 'Tuesday 7 July 2026', + milestone: { + name: 'Beta', + due: '2026-03-15', + hard: false, + forecast: { + p80: 'Mar 3–12', + p50: 'Mar 5–8', + drift: '+0d' + } + }, + focus: { + now: { + id: 87, + title: 'Fix lifecycle inference on merge events', + labels: ['est/2d', 'p/1'], + steeping: '4d', + rationale: 'It blocks #91 and #92. I\u2019d take it first \u2014 the critical path agrees with me.' + }, + next: { + id: 91, + title: 'Webhook listener: reconcile on reconnect', + labels: ['est/3d', 'p/2'], + rationale: 'Ready the moment #87 lands. The estimate is yours; history says add a day.' + }, + later: { + id: 78, + title: 'Calibration store cold-start distributions', + labels: ['est/5d', 'p/3'], + rationale: 'Nothing depends on it yet. It can steep.' + } + }, + columns: [{ + id: 'diagnosis', + label: 'Diagnosis', + issues: [{ + id: 102, + title: 'Scheduler ignores standing allocation slices', + labels: ['p/2'], + who: 'SM' + }, { + id: 103, + title: 'Dark theme: cone fill too faint', + labels: ['p/4'], + who: 'SM' + }] + }, { + id: 'triage', + label: 'Triage', + issues: [{ + id: 99, + title: 'Directive log: conflict-free merge test', + labels: ['est/1d', 'p/2'], + who: 'SM' + }, { + id: 96, + title: 'Label schema bootstrap for new repos', + labels: ['est/2d', 'p/3'], + who: 'AK' + }, { + id: 78, + title: 'Calibration store cold-start distributions', + labels: ['est/5d', 'p/3'], + who: 'SM' + }] + }, { + id: 'steeping', + label: 'Steeping', + issues: [{ + id: 87, + title: 'Fix lifecycle inference on merge events', + labels: ['est/2d', 'p/1'], + who: 'SM', + blocked: false, + days: '4d' + }, { + id: 84, + title: 'Capacity model: focus factor per person', + labels: ['est/3d', 'p/2'], + who: 'AK', + days: '1d' + }] + }, { + id: 'review', + label: 'In review', + issues: [{ + id: 92, + title: 'Monte Carlo engine: percentile bands', + labels: ['est/5d', 'p/1'], + who: 'SM', + pr: '#141' + }] + }, { + id: 'done', + label: 'Done', + issues: [{ + id: 71, + title: 'Gitea client: token auth + retries', + labels: ['est/2d', 'p/2'], + who: 'SM' + }, { + id: 69, + title: 'pm-state repo bootstrap', + labels: ['est/1d', 'p/1'], + who: 'SM' + }, { + id: 65, + title: 'Electron shell + window state', + labels: ['est/3d', 'p/2'], + who: 'AK' + }] + }], + runway: [{ + name: 'Beta', + due: 'Mar 15', + hard: false, + p80: 'Mar 3–12', + pos: 0.62, + spread: 0.18, + tone: 'ok', + note: 'ahead' + }, { + name: 'Pilot-ready', + due: 'Apr 30', + hard: true, + p80: 'Apr 21 – May 9', + pos: 0.94, + spread: 0.26, + tone: 'warn', + note: 'drifting' + }, { + name: 'v1.0', + due: 'Jun 12', + hard: false, + p80: 'May 30 – Jun 20', + pos: 0.88, + spread: 0.3, + tone: 'ok', + note: 'on watch' + }], + capacity: [{ + who: 'Stephen', + hours: '5.2h/day', + focus: 0.65, + slices: 'dev 70% · pilots 20% · compliance 10%' + }, { + who: 'Ana K.', + hours: '3.8h/day', + focus: 0.8, + slices: 'dev 100%' + }], + chat: [{ + from: 'agent', + text: 'Morning service. Two things drifted overnight; one needs your opinion.' + }, { + from: 'agent', + text: '#84 grew a dependency on #92 \u2014 I\u2019ve reordered. And #87 has been steeping for four days; it blocks two others. Worth a look.' + }, { + from: 'user', + text: 'Push the calibration work to next week, pilots come first' + }, { + from: 'agent', + text: 'Done \u2014 #78 moves to next week. Milestone Beta is unmoved; the cone doesn\u2019t care for calibration either. Logged as a directive.' + }], + cannedReply: 'Noted and logged as a directive. The scheduler is re-running \u2014 I\u2019ll show you the consequence diff in a moment.', + standup: { + date: 'Tuesday 7 July 2026', + drift: [{ + tone: 'warn', + text: '#84 grew a dependency on #92 overnight.', + delta: 'reordered \u00b7 no date impact' + }, { + tone: 'warn', + text: '#92 has sat in review for two days.', + delta: 'Beta 80% +1d if idle past Thu' + }, { + tone: 'ok', + text: 'Webhook outage 02:14\u201302:31; full reconcile ran.', + delta: 'nothing lost' + }], + plan: [{ + who: 'Stephen', + pick: '#87', + title: 'Fix lifecycle inference on merge events', + why: 'It blocks two others and the critical path runs straight through it.' + }, { + who: 'Ana K.', + pick: '#84', + title: 'Capacity model: focus factor per person', + why: 'Already steeping \u2014 finish it before anything new is poured.' + }], + nag: { + id: 87, + days: '4d', + blocks: ['#91', '#92'], + text: 'Four days is a long steep. It blocks #91 and #92 \u2014 worth a look before it stains.' + } + }, + calibration: { + n: 27, + active: true, + labels: [{ + label: 'est/1d', + n: 8, + median: '1.1d', + bias: 8 + }, { + label: 'est/2d', + n: 9, + median: '2.4d', + bias: 18 + }, { + label: 'est/3d', + n: 6, + median: '3.7d', + bias: 22 + }, { + label: 'est/5d', + n: 3, + median: '6.5d', + bias: 30 + }, { + label: 'est/8d', + n: 1, + median: '8.5d', + bias: null + }], + people: [{ + who: 'Stephen', + n: 19, + bias: 21, + note: 'optimism grows with ticket size' + }, { + who: 'Ana K.', + n: 8, + bias: 9, + note: 'close to honest \u2014 suspicious' + }], + scatter: [[1, 1], [1, 1.2], [1, 0.9], [1, 1.5], [1, 1.1], [1, 0.8], [1, 1.3], [1, 1.2], [2, 2], [2, 2.5], [2, 3.1], [2, 2.2], [2, 2.6], [2, 1.8], [2, 2.4], [2, 2.9], [2, 2.3], [3, 3.5], [3, 4.1], [3, 3.1], [3, 4.6], [3, 3.6], [3, 3.9], [5, 6.1], [5, 7.2], [5, 6.4], [8, 8.5]], + fit: 1.18, + effect: { + raw: '42d of estimates', + banded: '80% band 46\u201353d', + p50: '48d' + } + }, + inbox: [{ + id: 1, + day: 'Today', + type: 'drift', + icon: 'chart-line', + tone: 'warn', + text: 'Beta\u2019s 80% window moved', + detail: 'Mar 3\u201312 \u2192 Mar 5\u201314 \u00b7 directive #007', + time: '09:14', + unread: true, + to: 'directives' + }, { + id: 2, + day: 'Today', + type: 'mention', + icon: 'message-square', + tone: 'info', + who: 'Ana K.', + text: 'mentioned you on #92', + detail: '\u201cpercentile bands ready for a second pair of eyes\u201d', + time: '08:52', + unread: true, + issue: { + id: 92, + title: 'Monte Carlo engine: percentile bands', + labels: ['est/5d', 'p/1'] + } + }, { + id: 3, + day: 'Today', + type: 'nag', + icon: 'clock', + tone: 'warn', + text: '#87 is steeping \u00b7 4d', + detail: 'blocks #91 and #92 \u2014 worth a look before it stains', + time: '07:00', + unread: true, + issue: { + id: 87, + title: 'Fix lifecycle inference on merge events', + labels: ['est/2d', 'p/1'], + days: '4d' + } + }, { + id: 4, + day: 'Yesterday', + type: 'review', + icon: 'git-pull-request', + tone: 'info', + text: 'PR #141 awaits review', + detail: '#92 \u00b7 idle two days', + time: '16:20', + unread: false, + issue: { + id: 92, + title: 'Monte Carlo engine: percentile bands', + labels: ['est/5d', 'p/1'] + } + }, { + id: 5, + day: 'Yesterday', + type: 'assignment', + icon: 'user', + tone: 'neutral', + who: 'Ana K.', + text: 'took #96 from the pot', + detail: 'Label schema bootstrap for new repos', + time: '11:03', + unread: false, + issue: { + id: 96, + title: 'Label schema bootstrap for new repos', + labels: ['est/2d', 'p/3'] + } + }, { + id: 6, + day: 'Yesterday', + type: 'system', + icon: 'refresh-cw', + tone: 'ok', + text: 'Webhook outage 02:14\u201302:31', + detail: 'full reconcile ran \u00b7 nothing lost', + time: '02:31', + unread: false + }, { + id: 7, + day: 'Yesterday', + type: 'milestone', + icon: 'milestone', + tone: 'ok', + text: 'P2 \u2014 Scheduler closed two days early', + detail: 'the calibration noticed. So did I.', + time: '09:40', + unread: false + }], + issueDetail: { + 87: { + state: 'steeping', + assignee: 'Stephen', + milestone: 'Beta', + body: 'Squash-merges emit events out of order when CI runs long: the PR-closed webhook lands before the merge event, so lifecycle inference marks deploy before work-end and the actuals go negative. Regular merges infer correctly.', + comments: [{ + who: 'Ana K.', + when: 'Feb 8 \u00b7 14:12', + text: 'Repro: squash-merge only. Regular merges infer fine.' + }, { + who: 'Stephen', + when: 'Feb 9 \u00b7 09:30', + text: 'Confirmed \u2014 the event order flips whenever CI takes more than ~5 minutes.' + }], + lifecycle: [{ + stage: 'Diagnosis', + event: 'issue opened', + when: 'Feb 2 \u00b7 09:14', + icon: 'circle-dot', + done: true + }, { + stage: 'Triage', + event: 'labeled est/2d \u00b7 milestoned Beta', + when: 'Feb 3 \u00b7 10:02', + icon: 'tag', + done: true + }, { + stage: 'Work start', + event: 'first commit ref a41f09', + when: 'Feb 6 \u00b7 11:47', + icon: 'git-commit-horizontal', + done: true + }, { + stage: 'Deploy', + event: 'PR merged', + when: 'pending', + icon: 'git-merge', + done: false + }, { + stage: 'Complete', + event: 'issue closed', + when: 'pending', + icon: 'circle-check', + done: false + }], + forecast: { + p80: 'done Feb 11\u201313', + note: 'from your est/2d history \u00b7 n=14' + }, + blocks: [91, 92], + blockedBy: [], + note: 'It blocks #91 and #92. I\u2019d take it first \u2014 the critical path agrees with me.' + } + }, + directives: { + pending: { + seq: 7, + who: 'Stephen', + when: 'today 09:12', + what: 'Pilots before calibration \u2014 push #78 to next week.', + diff: [{ + tone: 'info', + change: '#78 Calibration store', + from: 'this week', + to: 'wk of Feb 23' + }, { + tone: 'warn', + change: 'Beta \u00b7 80% window', + from: 'Mar 3\u201312', + to: 'Mar 5\u201314' + }, { + tone: 'ok', + change: "Today's plan", + from: '#87', + to: '#87 \u00b7 unchanged' + }] + }, + entries: [{ + seq: 6, + who: 'Stephen', + when: 'Feb 8 \u00b7 16:40', + what: 'Ana takes nothing new until #84 lands.', + why: 'context thrash', + status: 'applied', + consequence: 'WIP capped \u00b7 v1.0 unmoved' + }, { + seq: 5, + who: 'Stephen', + when: 'Feb 6 \u00b7 09:03', + what: 'Ship Beta a week early.', + why: 'board meeting', + status: 'withdrawn', + consequence: '80% would need scope \u22129d \u2014 withdrawn after diff' + }, { + seq: 4, + who: 'Stephen', + when: 'Feb 3 \u00b7 11:21', + what: 'deadline/hard on Pilot-ready.', + why: 'contract date', + status: 'applied', + consequence: 'label applied \u00b7 runway flag raised' + }, { + seq: 3, + who: 'Stephen', + when: 'Jan 28 \u00b7 08:47', + what: 'Webhook work ahead of UI polish.', + why: '', + status: 'applied', + consequence: '#91 +2 ranks \u00b7 Beta unmoved' + }, { + seq: 2, + who: 'Stephen', + when: 'Jan 20 \u00b7 14:02', + what: 'Estimates in days, never hours.', + why: 'sanity', + status: 'applied', + consequence: 'label schema est/* confirmed' + }, { + seq: 1, + who: 'Stephen', + when: 'Jan 19 \u00b7 09:00', + what: 'CommiTea manages its own backlog.', + why: 'dogfood', + status: 'applied', + consequence: 'stephen/commitea under management' + }] + }, + gantt: { + // day offsets from Feb 2; chart spans 42 days (Feb 2 – Mar 16) + days: 42, + weeks: [{ + at: 0, + label: 'Feb 2' + }, { + at: 7, + label: 'Feb 9' + }, { + at: 14, + label: 'Feb 16' + }, { + at: 21, + label: 'Feb 23' + }, { + at: 28, + label: 'Mar 2' + }, { + at: 35, + label: 'Mar 9' + }, { + at: 41, + label: 'Mar 15' + }], + today: 8, + band: { + from: 29, + to: 38, + label: '80% · Mar 3–12' + }, + due: { + at: 41, + label: 'Beta due' + }, + rows: [{ + id: 71, + title: 'Gitea client: token auth + retries', + who: 'SM', + state: 'done', + start: 0, + end: 4 + }, { + id: 69, + title: 'pm-state repo bootstrap', + who: 'SM', + state: 'done', + start: 0, + end: 1 + }, { + id: 87, + title: 'Fix lifecycle inference on merge events', + who: 'SM', + state: 'steeping', + start: 4, + end: 9, + p80: 11, + crit: true + }, { + id: 92, + title: 'Monte Carlo engine: percentile bands', + who: 'SM', + state: 'review', + start: 9, + end: 18, + p80: 21, + crit: true + }, { + id: 91, + title: 'Webhook listener: reconcile on reconnect', + who: 'AK', + state: 'scheduled', + start: 9, + end: 14, + p80: 16 + }, { + id: 99, + title: 'Directive log: conflict-free merge test', + who: 'SM', + state: 'scheduled', + start: 10, + end: 11 + }, { + id: 96, + title: 'Label schema bootstrap for new repos', + who: 'AK', + state: 'scheduled', + start: 14, + end: 16 + }, { + id: 84, + title: 'Capacity model: focus factor per person', + who: 'AK', + state: 'scheduled', + start: 18, + end: 23, + p80: 26, + crit: true + }, { + id: 102, + title: 'Scheduler ignores standing allocation slices', + who: 'SM', + state: 'scheduled', + start: 23, + end: 25, + p80: 28, + crit: true + }, { + id: 78, + title: 'Calibration store cold-start distributions', + who: 'SM', + state: 'scheduled', + start: 25, + end: 30 + }] + }, + deps: { + nodes: [{ + id: 71, + title: 'Gitea client: token auth + retries', + tags: ['est/2d'], + state: 'done', + col: 0, + row: 0.2 + }, { + id: 69, + title: 'pm-state repo bootstrap', + tags: ['est/1d'], + state: 'done', + col: 0, + row: 1.9 + }, { + id: 87, + title: 'Fix lifecycle inference on merge events', + tags: ['est/2d', 'p/1'], + state: 'steeping', + days: '4d', + col: 1, + row: 0.7, + rationale: 'It blocks #91 and #92. I\u2019d take it first \u2014 the critical path agrees with me.' + }, { + id: 99, + title: 'Directive log: conflict-free merge test', + tags: ['est/1d', 'p/2'], + state: 'triage', + col: 1, + row: 1.9 + }, { + id: 91, + title: 'Webhook listener: reconcile on reconnect', + tags: ['est/3d', 'p/2'], + state: 'triage', + col: 2, + row: 0 + }, { + id: 92, + title: 'Monte Carlo engine: percentile bands', + tags: ['est/5d', 'p/1'], + state: 'review', + col: 2, + row: 1.4 + }, { + id: 84, + title: 'Capacity model: focus factor per person', + tags: ['est/3d', 'p/2'], + state: 'steeping', + days: '1d', + col: 3, + row: 1.4 + }, { + id: 102, + title: 'Scheduler ignores standing allocation slices', + tags: ['p/2'], + state: 'diagnosis', + col: 4, + row: 1.4 + }], + milestone: { + name: 'Beta', + due: 'Mar 15', + col: 5, + row: 1.4 + }, + edges: [{ + from: 71, + to: 87 + }, { + from: 69, + to: 99 + }, { + from: 87, + to: 91 + }, { + from: 87, + to: 92, + crit: true + }, { + from: 92, + to: 84, + crit: true + }, { + from: 84, + to: 102, + crit: true + }, { + from: 102, + to: 'ms', + crit: true + }], + critical: [87, 92, 84, 102], + unattached: [78, 96, 103, 65] + } +}; +})(); } catch (e) { __ds_ns.__errors.push({ path: "ui_kits/app/data.js", error: String((e && e.message) || e) }); } + +__ds_ns.Badge = __ds_scope.Badge; + +__ds_ns.Button = __ds_scope.Button; + +__ds_ns.Card = __ds_scope.Card; + +__ds_ns.Icon = __ds_scope.Icon; + +__ds_ns.ICON_NAMES = __ds_scope.ICON_NAMES; + +__ds_ns.IconButton = __ds_scope.IconButton; + +__ds_ns.Tabs = __ds_scope.Tabs; + +__ds_ns.Tag = __ds_scope.Tag; + +__ds_ns.Dialog = __ds_scope.Dialog; + +__ds_ns.Toast = __ds_scope.Toast; + +__ds_ns.Tooltip = __ds_scope.Tooltip; + +__ds_ns.Checkbox = __ds_scope.Checkbox; + +__ds_ns.Input = __ds_scope.Input; + +__ds_ns.Radio = __ds_scope.Radio; + +__ds_ns.Select = __ds_scope.Select; + +__ds_ns.Switch = __ds_scope.Switch; + +})(); diff --git a/docs/design/assets/fonts/caslon-display-normal-400.woff2 b/docs/design/assets/fonts/caslon-display-normal-400.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..ad36393f98f9991f8dc3ed0e73b9a3294a2a0937 GIT binary patch literal 16124 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 literal 0 HcmV?d00001 diff --git a/docs/design/assets/fonts/caslon-text-normal-400.woff2 b/docs/design/assets/fonts/caslon-text-normal-400.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..3850132e56f4e8e57e609f646d92e9dcede63e97 GIT binary patch literal 16984 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

|1A1jC(|; zB_iWRqRcqP;aji_0ukt4n!G~HD|OvAgmtWcs8pht9~vb?L6pb#gOkPh0w@xYfW8D< zxjg4gixet(J45)88}KBLU-N9Bh8g&Y#O#JFFoSb3Rbzr2gF@;Lrm~Wyn%mCw3RN%;rk4jF-cpefv=j&x8VEeMSi35DRxIHn!QpGsF zNOs%N^j&LNP_G1Me8S_nyhk35N?MjdWS<#T6e5cj%0vm>L`~W~bAfxJ<2o~5=>Fq( z8BNba#f>-LA!hce;*X*_>{0a^X$b;X85j0 zery#{$=FeBkBziBYKO$sI3XoetEwo8@}wdtpc$oLvWF9de`7I#wjrgPgA$ zA}4}yQrfZ5N3^w)l*R9(pgwrFHW@Z!Tp2j6?g6wT2X_m%fc;p?tHMv@ATa1o3M`@en!&Pn^_QNph$L|rUlg6gZ~xl-fx_eA>!9aFGW-R2Z#4$J-=l6A`J1L z!3?hjGhja!RRFFC=*5*7#rs01D5%kny6=Cw+c$3HG1?Wh&L)oCW$$)TrH12FygaNJ^WK1XQu(yxFU^5eyeciZr3b{+|11kKp=2>9THp;1aIOBJA1Z*Cml*{Gk{v-YFmE#yY zuR$&>GHfH=NzNA5btT@trYCgXBWa+WJ6Alg*N6r*Z;^jo2t}bV3N0!Vh*nzT*5=tG zNQkyFq!sO#gqtc)GigujR+`{kawcOr_;E6q7^qJ}lr94-)i^K@!Fz(sV&o)Ji-OW8 zLMceAt|l$ij8AlG$BXsIYQYf+#(1_Nj1fl1j{Ue|dVGYBB7+`2T?D^bX>0!~QKXZK z?XjqoMmA5xdjxucn)Q&sgh;faAY%HJ^$NR^3|)PFQ1v017??iTiNT5w?AsytdI%)j ze-8gfdVcro^XFZ1v8_hocwjCfX}7`l3ArCTTj|Wpj4TYiF>vl*+_T2vECD#5C>8>st1hja`bhH-sXK~Wq4)N-pZvc$+=ZIrlj(ptO0<& zm4=9B;HVJ&jq&Rzj2kS=&^GG)m$Fx@%!~s|*ZRWh*&YFQw9S&w<9jRa9vTrjA$W?C z7{^#IzN1064mYGu81;u}@pOBnCdBHtSY2AMrfT7JXw%a$+5>tv_sY!pqX<@rpBf$2 zqpO*aF?nWTJ=3uG<#Yl@1s|q|&j7Q99at>J-H(hDVw&Aub1T4Au8|mQcbnD|FY8^!qIZqi#qGwiMOd`sq`vlNwKIx$S65CWwkkp0S-45pxwMF&^-SlT>% zGkMzt0S23|XG4~r2^qQ!&Tk_VekZgQ^m}%2)+Iy%2et6W4KpoI<@tdWL+SE7HN8!; z0QSwD-Z$aY+(%h`mlM*m6&zS@%S;%0fbA#q%)Bq@PgAXjBj+vqQ!PVfJi?qTa7JYr^2)iY3m#9MLFv{FZX>LU zZPAqHHRn)9e__INLbxy=K4r`mW#aYhm)h-ix7K`1T|M^YCepkwt&SzQeOvfqOqyT$ z3*4PYc~-Vj{XTKAWyWZ!pZ9uHF|MkB+D-5=v_J&|YpWf1G5(~kYp1*u`ipOz^-Z~j zOMT}-deGbh6B&3KreoUnu~;|_x&K*^OGewF@4nNW3VmadA2q`F6PJNTPF{wK+&dO0 zD*we5uf{u-?h_PuS7`KG7rSr4y*+77Ai&6tZux8uZXM)@$M;}cjSP-s#W zKn-CUAR8fhn014U90or}A*;hno52Jll?1_5>UfU6S7+kZwzI!XCWa^t1$7|&F85O@ z`Oq7{%xxOwuRm4XQ^ysnvjg*g#n%=H;^r-lt4t}}$$hyxT;m>5(@hfUJzEG)n=&%g zbb>i~S*?x;9ci(AZ32bvq<=C8Y27z>E_l^|GDVkG(L*P&p;}(7R2x||dXSQO*ZJ(> zQQb*}gOvPNZP@4Q`#0CWelh)+ykb80*JCrFqI1To$%XR^Z*|=#nbH3Jp9+6M?_KT{ zg~f$4R#e+ZhRBy`>8Ec0d!edl!bUK``*$N<+DI`PQlYOAsZBgL&3Qk6vL!8F*e(0-u0H>3e~pUVjdtkJSiCQ%0O8(Ab` z7QExvLSZdbjNMy|g}D4;`H(tYfrAC)(F5w3(9iP7>xUJWm)AxcqCowmYG6x8qi!Va zEDXc`p7V5BWVO^WVfw(k?=JavrXeo=zZzARokA2^-SsR}v^7 zw#mJlY7)VnPT7e%vcI4;w~DPF#hX_g&7a;^o1hmLbTLoq0ihUcE3g*uMJEf#TgRu1 z8x#LRL8@&KgsPr|G%OsnL<&5Yx*h2c;d!0tvclLz)tCCG-S z0y^;^lmjpm$Fjb4j{Ai&&f-m#yG-zy!`Q`$5$t64V@x7cs2Zz%;^nu6$v4hR zHY6rsAuF>9YhaBoUbD%11^008=ojh1Zm0W{i09rO0{S$>mPB>`$dQ66c1fl@lODd- ztZ9sReGL)K+SW}Ij*Rp*7HL+ufGYSj(F13py1MnMbWWkbl5L&BzidHGWz$Q=yzs!3 zrTqRl0o+#Wy*TsxXIdQ5=tp_yZC!(h9!{dkA+5}U_uSwvABK_HCG<_eV zoi*Pqrb{~}4QzXN&XIONm^P$);nAa^s}1MI7CK#!%S+9#?ly zFPX^inKc(5oX3aCw}sl!*16vD6k>q8Xp@$4)W3sjuX3yM|A=;UaA<$xGbYYO5zY_@ z$4KlwELZ^DS#RkpM{k&x&BhF#>fVLj3)|{_v3Mc&s(G|&{c@{nsKT<>eqD=~JZ_@L zAPyaPpeu@6LDnIJhno2UpLUH5RhL#cv{r+Xf8w9n7yWWYktd!7g!z4qNo!Gj{STcxKP6O82lhp}U(OWYFvJ z+ka1f?fW$t^7T$Gb*rb{pMe3TQ)|C?`=4}9U3j4~i_~C%t+FVoL_K~lyrKf02nKa6pcbr?by4~q@G#Y<`8S2d9 z(v-3?cx5u3Po2;bI^&VdayS+J8^r=Y!uKa1Lf`X{k!vOC36s6dT5DFf`67;4T|wU+ zmoBft)mYT!Wz1Gnw0egW{0jHkjoqOldry};C=1hGvE+GKiq`lORzb=5#zfhuB2kFF zc&{lyv^KfD;2U_OL)q<*SSOEl2Q{XjJlV+AlJuu`6o0WXH70!!<;w~!R$6+FYOG4+ z(&aU|>jLd|aMWLWswrxj+Trm#8V!afheh99XEyL6ROL`>+w&IJxf)C1Zfub3l8vz4 zDAkZVtx9&ap4{RjenB?{n@YpxY86;4PeHeqjEqVn%ypqzqPy9q?<$DcCU?0Cg7*&- z`eZ>_S|yC;Q^&UesMh3@un9W}oJIZ;h&W<_?`Ilt%*J)!dN^=x3UDX zV3}<3)JztU8lwi0Dlb}L=R2Ew+G)DjJwb_H#f{08{3@-I8<8uY7K&%HR5yAp_BVZQ z;@&quz&ITKmCT1U3Tz{VdY+elVTunWdoA;$M!jUzT52_B)$O zRZy}OR4P0Bv(uAd)5LXR_`B@fKu%p%#UFAC#ZI9ps1!L>^QeESOc?=d9ej{eYc@XKa?6obp>h9fUP8xFtk{J+h+^M>q&70*-;8M#W5uHE`Y9)kNzKmIoU^x}q5 z(;iU)><^q1warOFu8_bf4iqFv@SgPM9eAY7wb9o?e2FIq4r>4W|5&z-Hg~#jp*OtQ zvOiYQ?L+wz_WUyy)a}Cr5_ZqE9=A&Zf{0`!>h1P7F}urUpBM@Wrn>ullwMX(D(d$7 zBIBByh^@178Okq$4- z$~eO3CwQO^KG)-%RuWKk)L5*QMtdUtbqUf#KITJ7;kX*q;q!81oxq@3#c)T)j&So@ z{6-1bq+PHD%dImz-37sO$s_1L2LUJfaO02bl;+#LK;daE81lWgV%y z7A4Ef1%cW(e+%2Crh%+%OIqaYEY!pV_dzb@`<0ffwUflYnvy6zkg+>?Gcm<)4r+zr zeA=&{wSQMsA#e@#mw}Dbit4{@XMTN8_FIA)QJ5##)VE#c;^kgAd**nq;)&d1Z%lBa zC@H}CP(PNQ2&7b{maOa^=Li=M^_V#f%Rd8OhJm&4Yv{Y8CM#|JQpuG0{#i9_ljmP1 ze#TuytB1n{3K?RlB(*}KuN2F;C$5h!afo~<+0L-o+B(WkVp&-mCQ_eWgCKHw*1Amm zTiN8#7(}?u59?L-A~W|KmYu;nE#y^w-&=uFhNZOa>YUao*mQmDKCu}uFV9FGo>j{S z>&m|tTmLowKAl7Tp_-M6zBvOA-kBJ7{5zRFmQKGNx^(z70+M1$mEFKYb4PV=oi+B2 zWefga*;n0g-tVEVP~vzMJa{GkJpSFT$&I~zSHZ@;ZD>v)Np=U{+0#7xYaRFVCkM#6 z-{wFMN%&$7W_-H%@B{9|uWw9!_ACC4Z1nPUct^KB8T|QL|Kp!;NhL#VDL?mxs(-k_ z8NI}kv3&vXF>2J?uP`}hX4yDL*jbYUNox8d6Fir^9{o-3Fb>c3(Lj+`-FISbbDKvG ztlCd*#SDqG%e&v_Su#ueEBP{2b9DaMCRuEi`Lk^bF0B9z6bJqUs;4~l^L~1SM-M2w zFS!;>_3!n3i}~G7o;Q6FHw^`O^S%K;g%}GbTGUI{apCXU)A9M#OIs4S z9=wTHqzgZ?*Kqh8@NKnv;RJ7n&iP*GQ|AlV!eCpEHFG0^YWmk|*@auul6|l;e2V<; zKuM1gxyLf3$NBgBlF^|$?GYfSr`L!)TeIpLQDe6~%(0?F166#b+Aho^?jS&ZR|S+s zymetm+@L<#HMO;j+|{J3{4plYl4_q4a-SZ6{K-W#8oC|+A`vehTYNIws|?b(m2sjo zcgZIyT^fb)-9Gs;M-~Ks!&4>__3p%%T-14BM-@}7wx#F?EU4e|fXxr9hGywlRb+B9 zHaR;5tw14xkkInPE}|Ul@rn4e=}S?_8}HBX$^UvJGgU50W5MoAw5*vBKwm+W2nAue zTo4WlB@)X2|GeV0IKbyigARwp#}|nG4nS;2Ol@!;Zf$WK9GmcZIunkAEv=5joedtM z!A0(yx zw9ks)2bim)7UizI zQx&M%Rf>gF&{*uQq>t}vl72UWlmGL*qm8B(chEa&k|!W9qQBEoj*+tGU06ZIQ}}Kf zFQ!xrV_}JsE^EId?;?HitBXDEqu|}(Tlkcv3w@O*cdnSk>smXq-9NKC7N&^IHCk1| z?lF&SGy48>))tp|hntyai3g2wcdH59{j>a%|6*AdNd)y0aZKN9V9eQ{?eiT=V03YC zc3P;(YPKdu>zuYmg}zE>_Sb~CcD|`XtyafsB_@4kz9Jw|T4Ns~#U&b>O{26JZU)O(WP8|e67hY3e6jRz z2HuUv+-dJ{L99z0jy0ct0ZadP3qyixmt+LMM0ipSTSwNH1s5#l>Pk!))n<#>PdCciFx@{YHIw&g%)=b!#U~eNw z+lTI1pwf8!T5EBE<9U`ysGy<0oY#;e*X4lB#Tl^}(Ko~IU1rU$e1(0hB%d3k16$eh z`XQnn#79Fs@5m4*rSA@1sJ7(|#g3sKG>GD%^K6KZ4m$mEboy?HZ~Axix06L^;s;_F z-4LdPGPBGbAp5&B+gTVF z9vx@x{%@g!u&GZ3xzHFFl(}xbRJsV!n=~4Oi(#^Ed%99Coqc_VdmE35;xL<%`i_1T zjhIhZkHxF8*jy}X%6yM?F~DBPU5JI(oxp7<$)U$+)C4W3gaV2;yX;b_%PtoG>Ipo1 znVee6M;#=F(=eHtaGg7gT1TOcW_8y44Zv9PK3@>^`KuR97>`=o$bk>d3{RotT&3cX z6XTeTDU)cDMQm!0f|{+!p|Z2V$>X&7$a8Y`25w&^ESvq;O!5xxjkZ+NwJiE;?#c{v zzFDr`sUvNvrkyzdo9#;*IhLCFv;Z^W7l#e$Dlf8|+nO9E%6wdAQfg$nJTUYd&Q*3~ zp`1!Bnte|e6%0RSv{D=t+NcOu_fz2{qBX z4N-s!UnUyLfMX8e4gS|C_f-T2@&28^9-<_u^f3atvO;M9neB2XV&ioO@KEyvd7v4%tJ7-C&Ilsw`R0>yNV(l9MaDD6F>I&o%wQ$3e#Nw(vN1BE$R??CyAqP0 zH1m;V870|9r`1YBl=UO&SOGQNjjR_anU)~T2agjXN2FIVrGK-sl$C(r*SWuwKKNu1 zAYUj3>DFUK8w9-s(s1E<%jPpXbafkTmz%j~F8&8l8n+qDZPD#G(`J!E!%01t{sYCN z6^0e^mP?E!z>{k(Ha`b=TlVo0HwM#>VTm7z5U*3)8SrbnM)>Wii}I(^i)pVS$n&zu z$1Ks|xG#om(LeMym9_cC;k-U(jS0MbA>XI9+CFqTv)tZxg7rhYv%=~1`n9_4rJled z=FAw&vT^gAJmGgJ%Hh~X@_7Bz8vHh6L{|~ICci2pu9T@~WnUnPQ1;9sZ<3X~z@?NF zYKxoOV(Gs8W>CQTo7wf}fOxUy$#trYV;9RKM)Poy?HFuEj%dGCW|c@JjvJY9_rEdN;l!@O|z_+x_peX<_XxRy-O^Tj)31R|QmaO5ka zE%T^LppLPER{e*`1T;Mp_Zx*Y8yGhYfwGv}1x?AT1?z(A1nai_&vVah+pODy;w!18 zGZUVljz9z`@eG5S-ke4>!^;t}Xg>u04esR&hR*EAGUj)}w?E+m+-!{RD8xQsNP6f8 zb%zFG2Kt@-{W1NAprmP)bQK5<_x5JrRIFOnS+R0uHp9_7!O@&b+T61w+`Xrb9t(nB ztg@~eBUTLZ`V0GDg)40uXyn7X&OoRU-5Ow zq>jpRx=)o25fs5g;tL2ol5dcY86g0x!_JB#{^w&DDq<%I>BEv|L*#l9A-O7TiF9#1 zEU~u0oh&D3k?HdVQM?zr;Nk78hUaYs%*Ap)Ym?ju-l9nw2Utj1dY?EoN#hWIWL&k7>W!>mo-`UtJ8{g$JgU$GBWfuqx zpnTBSKhV?MJkZ$K-_$fTdXZOEtY6a@kFTy)s=BGwRR7bVTIel2R=WmOv|WN+oq|- zrj)Iz7E;vuGWmRM%p-1&3bIf52~p#k4Rxsz9f%h)mLt0tQ5p2(l1X63A8a=XH4H8s zMq<0AACBPGA8J@Tx5B=eE3RKjAp8Unu)f%&K%YF-&CARcSrx=F`8cs;1u--CiHr!+ zuT=UTV6iJOg!uf%&473B%cjSbar$KKB(0<>{@9NJV0(`qDct@z0kZ;&ec)Tp-wddG zrm;CWxbYD*W^{+7RxCcAfE{;5l(!CcLI6`{Pg(sew(oawRtM+P4r23SoA%(94nGq? zr7p29>4w~LNytH$gzRuh$Zw#Uz9{q2Jfq68J=%0+-43YjC+;f9(|3#R_ci5m5vj{XkS-TNxLky%Csrl|lG0OakJV3a_0dL#Tl3WDD=$ct*G)|~ z0LiV?*-Q$1YF)%O^}gPw!Aq4!!&ud9H|?p$F#0va82+WkT>&RFQEBo9Hp=SS((GNk z8l5j-n?@tsFnM_`g>BdSFNYj;^^N7JZ7D@YEVMEdq2pDpbALZX##IPce_p3mWhFYR7>)IeE@?7PX3*c)1zZn|i8{ z9Wjf6SI(zy`6zH63Fw0$&UjO8Nn-gAsg4`cb)69LR(C`sz&G*3A1kQ0>d^}wB zxfr;dg;@5F==KQZcoavHbk#R9j7ESq0@P|Nuc1Ku3rfU{GbcLR3X-I9mE}T+aM!v| zN1;%0km4$9L|{7i|9?j+>LMWe1*e=cC_frZ0js$t7=J{-w7~6lUFA}d4hG9MQRw-C zBtbx1zK;6xGAzE@@LQaNp96ex!@2E%O(%RddD`;%Z{e0Z4J?KM1csPwfrVdsO5f%M zePmO+1IB1Bqgu0fYmFc0bBle*r|y0ry%caKl~2w+pKJZ3(0U`sm2hLn)(J3Slq5FJ zb1xHYTOdz;$#w>Aw?jh6$<5MdT*8)T+OiL^b(ohZ=A3U+C}_himDPdf8$ zhrr$HEwmxQS$d9}TRGuSvM0tl77{(ll?uHSr`!+}VFoLpQQP?n+XlKmBim&9Hsj1rxqQ~S@P>|VAqhRA zSVZCq7+Osli=lBMYNoG?xH@c8hze8HOWY(Hx5;6GrK^bnDlw|bs27;DQsxHBKnb}J z1;vm7)!=?wn2SqnDM~XiTL$I-x#eu4Pb>N=nT~sb6kJgJw69<|D}8sQ)yxrDeyc>I zC@2+DPbD>>nlSRV5vLUTR2khujov7#0!YM4@zx-vV$~kr&2d~VDa%5eu{4SVmD67 zNLFYo`g$=}D!)M$08p!@yTd+}(jLej5 zOQuo`K2R|id=Gi>5R)8&qixE*{SfE?0UTcBPYx$Dv_z*q$O0~aPy1}VF`{kW#u#Dq zHpXRV*qGodePhylYBr|W#VR49;AVlUnIw@Tc0e1yZmI%K?FLle^@5+suZu&OT*ZoY zYvtD=ON#-0Ci1D)VVVG&N*%fk>eIrnMhAa$+#6*%*_(=va1u6x>Xg;sWlrQh)F(ir zOsTPpXEJU24!Sk?!*Qa=kOwX~#%Wz(EFqhRU__q@o#=~!9e}Brr=hN=miE#*vg1Z} zJOI{yIS-fxN|eixbc^g(wm~p!NL-x$sIco1%G(fja(U6)K-L#zmh%s)hmtnTco67) z;5e}Gz99O*SalulGY7T0YSWkA&!JntNm}$>2&2;xqJLY7Z5I>F=C;l6k(tr~pcbp^ zb5d`&omzdY)+ZLoWz;Uxc~Ls-vd3N~W)@cXkVYGuvg#bacViCe@|*Sc*-!5B{Xl{X zU3tgyo}k2J7p2J7T|A5?AR$qE!IQtU4QQ%p6eL@6_~nl^sW z)6F!?44X~#xri%F$ID-?M4dV2nWBfk`Q!1D?^TtA2t*t|dzkg%Kid}AbapJ}+KYoIQi4rGCnk=~=0XG83{k<$U zrQ7ZlpE^xi0%^8dib~`|FmFmBp|wRao^U}j)1}XlF;nI&S+ix=s9CCXe2gz0gwB!E z`*u3+gztQ1z+p#xTW)TP9FuCXWqI=E%U^)dRo8rrP9wrb!@N}xU1#N17ka(EON<~2e=5P6!y6^ zJSN)qK*LLbK-t{_@5x^KTa`UTwq5Vzfq4cr*~Q5hqC`nfWRzU7gKYv%Nui)*r=a99 z1o=Y5q&iH6`XzO~As(V`H9{fYhN#3EL}$LZ2*u3OB9@fx`FtX5(heHCr6o44;gS`} z*UC!NiYlp6ZYki$*7;<{3bx^K7+12qCq$UpQwJ3|DSawQORmTEzp7rU-0#P_Bv6W_ zWs4wD!hsaTDmAv+Dp8)C4b<(|V{bIjJie}k5GsL;mAvbS)uC$vpqhF)o>p^@ zA%RJE58(C6RY;sId1}0cT#tXCIxe5AF0a}@J!88{R9=;P6oA85$qo7YM?97W`s|C~ zdl4xcOSTolv#zWI9G6_2gI~#G@^OV!Z^BtRr literal 0 HcmV?d00001 diff --git a/docs/design/assets/fonts/caslon-text-normal-700.woff2 b/docs/design/assets/fonts/caslon-text-normal-700.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..70f4b22390a8b51850445b301a47973d0e2cfa29 GIT binary patch literal 17292 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�QE0kSHV#$x0d_-AekHOd+?C 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 TZR{p6%{kE!*L{*)Bn1EfV__v4 literal 0 HcmV?d00001 diff --git a/docs/design/assets/fonts/plex-mono-normal-400.woff2 b/docs/design/assets/fonts/plex-mono-normal-400.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..52b6c7595dd5e2106676e7c52fcff18539607879 GIT binary patch literal 10052 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 literal 0 HcmV?d00001 diff --git a/docs/design/assets/fonts/plex-mono-normal-500.woff2 b/docs/design/assets/fonts/plex-mono-normal-500.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..3308bce2432c298817ed344eeac33007c83cecd0 GIT binary patch literal 10060 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 literal 0 HcmV?d00001 diff --git a/docs/design/assets/icons/activity.svg b/docs/design/assets/icons/activity.svg new file mode 100644 index 0000000..cf3f8d4 --- /dev/null +++ b/docs/design/assets/icons/activity.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/docs/design/assets/icons/arrow-left.svg b/docs/design/assets/icons/arrow-left.svg new file mode 100644 index 0000000..ca61f09 --- /dev/null +++ b/docs/design/assets/icons/arrow-left.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/docs/design/assets/icons/arrow-right.svg b/docs/design/assets/icons/arrow-right.svg new file mode 100644 index 0000000..314b2cd --- /dev/null +++ b/docs/design/assets/icons/arrow-right.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/docs/design/assets/icons/arrow-up-right.svg b/docs/design/assets/icons/arrow-up-right.svg new file mode 100644 index 0000000..ae714d6 --- /dev/null +++ b/docs/design/assets/icons/arrow-up-right.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/docs/design/assets/icons/bell.svg b/docs/design/assets/icons/bell.svg new file mode 100644 index 0000000..8283cf6 --- /dev/null +++ b/docs/design/assets/icons/bell.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/docs/design/assets/icons/calendar.svg b/docs/design/assets/icons/calendar.svg new file mode 100644 index 0000000..d7f82e7 --- /dev/null +++ b/docs/design/assets/icons/calendar.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/docs/design/assets/icons/chart-line.svg b/docs/design/assets/icons/chart-line.svg new file mode 100644 index 0000000..5f50974 --- /dev/null +++ b/docs/design/assets/icons/chart-line.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/docs/design/assets/icons/chart-no-axes-gantt.svg b/docs/design/assets/icons/chart-no-axes-gantt.svg new file mode 100644 index 0000000..118bf50 --- /dev/null +++ b/docs/design/assets/icons/chart-no-axes-gantt.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/docs/design/assets/icons/check.svg b/docs/design/assets/icons/check.svg new file mode 100644 index 0000000..92f4df3 --- /dev/null +++ b/docs/design/assets/icons/check.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/docs/design/assets/icons/chevron-down.svg b/docs/design/assets/icons/chevron-down.svg new file mode 100644 index 0000000..b627264 --- /dev/null +++ b/docs/design/assets/icons/chevron-down.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/docs/design/assets/icons/chevron-left.svg b/docs/design/assets/icons/chevron-left.svg new file mode 100644 index 0000000..c99c66b --- /dev/null +++ b/docs/design/assets/icons/chevron-left.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/docs/design/assets/icons/chevron-right.svg b/docs/design/assets/icons/chevron-right.svg new file mode 100644 index 0000000..538a173 --- /dev/null +++ b/docs/design/assets/icons/chevron-right.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/docs/design/assets/icons/chevron-up.svg b/docs/design/assets/icons/chevron-up.svg new file mode 100644 index 0000000..efeec90 --- /dev/null +++ b/docs/design/assets/icons/chevron-up.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/docs/design/assets/icons/circle-alert.svg b/docs/design/assets/icons/circle-alert.svg new file mode 100644 index 0000000..61e2a97 --- /dev/null +++ b/docs/design/assets/icons/circle-alert.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/docs/design/assets/icons/circle-check.svg b/docs/design/assets/icons/circle-check.svg new file mode 100644 index 0000000..2783d3b --- /dev/null +++ b/docs/design/assets/icons/circle-check.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/docs/design/assets/icons/circle-dashed.svg b/docs/design/assets/icons/circle-dashed.svg new file mode 100644 index 0000000..eb1e1c9 --- /dev/null +++ b/docs/design/assets/icons/circle-dashed.svg @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/docs/design/assets/icons/circle-dot.svg b/docs/design/assets/icons/circle-dot.svg new file mode 100644 index 0000000..70ae1b3 --- /dev/null +++ b/docs/design/assets/icons/circle-dot.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/docs/design/assets/icons/circle.svg b/docs/design/assets/icons/circle.svg new file mode 100644 index 0000000..86d05a4 --- /dev/null +++ b/docs/design/assets/icons/circle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/docs/design/assets/icons/clock-3.svg b/docs/design/assets/icons/clock-3.svg new file mode 100644 index 0000000..8d752c3 --- /dev/null +++ b/docs/design/assets/icons/clock-3.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/docs/design/assets/icons/clock.svg b/docs/design/assets/icons/clock.svg new file mode 100644 index 0000000..5581397 --- /dev/null +++ b/docs/design/assets/icons/clock.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/docs/design/assets/icons/coffee.svg b/docs/design/assets/icons/coffee.svg new file mode 100644 index 0000000..83944ea --- /dev/null +++ b/docs/design/assets/icons/coffee.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/docs/design/assets/icons/copy.svg b/docs/design/assets/icons/copy.svg new file mode 100644 index 0000000..b0e5a27 --- /dev/null +++ b/docs/design/assets/icons/copy.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/docs/design/assets/icons/ellipsis.svg b/docs/design/assets/icons/ellipsis.svg new file mode 100644 index 0000000..a3ca7d4 --- /dev/null +++ b/docs/design/assets/icons/ellipsis.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/docs/design/assets/icons/external-link.svg b/docs/design/assets/icons/external-link.svg new file mode 100644 index 0000000..a9bb97d --- /dev/null +++ b/docs/design/assets/icons/external-link.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/docs/design/assets/icons/eye.svg b/docs/design/assets/icons/eye.svg new file mode 100644 index 0000000..182cbd4 --- /dev/null +++ b/docs/design/assets/icons/eye.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/docs/design/assets/icons/filter.svg b/docs/design/assets/icons/filter.svg new file mode 100644 index 0000000..24dc440 --- /dev/null +++ b/docs/design/assets/icons/filter.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/docs/design/assets/icons/flag.svg b/docs/design/assets/icons/flag.svg new file mode 100644 index 0000000..d24c6d1 --- /dev/null +++ b/docs/design/assets/icons/flag.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/docs/design/assets/icons/gauge.svg b/docs/design/assets/icons/gauge.svg new file mode 100644 index 0000000..34f5aac --- /dev/null +++ b/docs/design/assets/icons/gauge.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/docs/design/assets/icons/git-branch.svg b/docs/design/assets/icons/git-branch.svg new file mode 100644 index 0000000..3b6b9a0 --- /dev/null +++ b/docs/design/assets/icons/git-branch.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/docs/design/assets/icons/git-commit-horizontal.svg b/docs/design/assets/icons/git-commit-horizontal.svg new file mode 100644 index 0000000..7cd97cc --- /dev/null +++ b/docs/design/assets/icons/git-commit-horizontal.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/docs/design/assets/icons/git-merge.svg b/docs/design/assets/icons/git-merge.svg new file mode 100644 index 0000000..5a656c3 --- /dev/null +++ b/docs/design/assets/icons/git-merge.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/docs/design/assets/icons/git-pull-request.svg b/docs/design/assets/icons/git-pull-request.svg new file mode 100644 index 0000000..ce1791a --- /dev/null +++ b/docs/design/assets/icons/git-pull-request.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/docs/design/assets/icons/history.svg b/docs/design/assets/icons/history.svg new file mode 100644 index 0000000..965a7b5 --- /dev/null +++ b/docs/design/assets/icons/history.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/docs/design/assets/icons/inbox.svg b/docs/design/assets/icons/inbox.svg new file mode 100644 index 0000000..6bbfd52 --- /dev/null +++ b/docs/design/assets/icons/inbox.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/docs/design/assets/icons/info.svg b/docs/design/assets/icons/info.svg new file mode 100644 index 0000000..3399cf4 --- /dev/null +++ b/docs/design/assets/icons/info.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/docs/design/assets/icons/keyboard.svg b/docs/design/assets/icons/keyboard.svg new file mode 100644 index 0000000..b54d0cb --- /dev/null +++ b/docs/design/assets/icons/keyboard.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/design/assets/icons/layers.svg b/docs/design/assets/icons/layers.svg new file mode 100644 index 0000000..e5608f9 --- /dev/null +++ b/docs/design/assets/icons/layers.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/docs/design/assets/icons/leaf.svg b/docs/design/assets/icons/leaf.svg new file mode 100644 index 0000000..60b534d --- /dev/null +++ b/docs/design/assets/icons/leaf.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/docs/design/assets/icons/link.svg b/docs/design/assets/icons/link.svg new file mode 100644 index 0000000..cddf8de --- /dev/null +++ b/docs/design/assets/icons/link.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/docs/design/assets/icons/list-filter.svg b/docs/design/assets/icons/list-filter.svg new file mode 100644 index 0000000..697be73 --- /dev/null +++ b/docs/design/assets/icons/list-filter.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/docs/design/assets/icons/list.svg b/docs/design/assets/icons/list.svg new file mode 100644 index 0000000..b6b3e43 --- /dev/null +++ b/docs/design/assets/icons/list.svg @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/docs/design/assets/icons/loader-circle.svg b/docs/design/assets/icons/loader-circle.svg new file mode 100644 index 0000000..20279ce --- /dev/null +++ b/docs/design/assets/icons/loader-circle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/docs/design/assets/icons/message-square.svg b/docs/design/assets/icons/message-square.svg new file mode 100644 index 0000000..383403f --- /dev/null +++ b/docs/design/assets/icons/message-square.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/docs/design/assets/icons/milestone.svg b/docs/design/assets/icons/milestone.svg new file mode 100644 index 0000000..4333f7f --- /dev/null +++ b/docs/design/assets/icons/milestone.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/docs/design/assets/icons/minus.svg b/docs/design/assets/icons/minus.svg new file mode 100644 index 0000000..e941e5f --- /dev/null +++ b/docs/design/assets/icons/minus.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/docs/design/assets/icons/moon.svg b/docs/design/assets/icons/moon.svg new file mode 100644 index 0000000..3ef47ba --- /dev/null +++ b/docs/design/assets/icons/moon.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/docs/design/assets/icons/network.svg b/docs/design/assets/icons/network.svg new file mode 100644 index 0000000..3b3f280 --- /dev/null +++ b/docs/design/assets/icons/network.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/docs/design/assets/icons/panel-left.svg b/docs/design/assets/icons/panel-left.svg new file mode 100644 index 0000000..81990ea --- /dev/null +++ b/docs/design/assets/icons/panel-left.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/docs/design/assets/icons/pause.svg b/docs/design/assets/icons/pause.svg new file mode 100644 index 0000000..0c830f8 --- /dev/null +++ b/docs/design/assets/icons/pause.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/docs/design/assets/icons/pencil.svg b/docs/design/assets/icons/pencil.svg new file mode 100644 index 0000000..f353f82 --- /dev/null +++ b/docs/design/assets/icons/pencil.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/docs/design/assets/icons/play.svg b/docs/design/assets/icons/play.svg new file mode 100644 index 0000000..097b7b8 --- /dev/null +++ b/docs/design/assets/icons/play.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/docs/design/assets/icons/plus.svg b/docs/design/assets/icons/plus.svg new file mode 100644 index 0000000..e1280bc --- /dev/null +++ b/docs/design/assets/icons/plus.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/docs/design/assets/icons/refresh-cw.svg b/docs/design/assets/icons/refresh-cw.svg new file mode 100644 index 0000000..7c321ae --- /dev/null +++ b/docs/design/assets/icons/refresh-cw.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/docs/design/assets/icons/search.svg b/docs/design/assets/icons/search.svg new file mode 100644 index 0000000..49ff049 --- /dev/null +++ b/docs/design/assets/icons/search.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/docs/design/assets/icons/send.svg b/docs/design/assets/icons/send.svg new file mode 100644 index 0000000..95c2c70 --- /dev/null +++ b/docs/design/assets/icons/send.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/docs/design/assets/icons/settings-2.svg b/docs/design/assets/icons/settings-2.svg new file mode 100644 index 0000000..634bb98 --- /dev/null +++ b/docs/design/assets/icons/settings-2.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/docs/design/assets/icons/settings.svg b/docs/design/assets/icons/settings.svg new file mode 100644 index 0000000..1bd15d5 --- /dev/null +++ b/docs/design/assets/icons/settings.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/docs/design/assets/icons/sparkles.svg b/docs/design/assets/icons/sparkles.svg new file mode 100644 index 0000000..ca74b84 --- /dev/null +++ b/docs/design/assets/icons/sparkles.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/docs/design/assets/icons/square-kanban.svg b/docs/design/assets/icons/square-kanban.svg new file mode 100644 index 0000000..bf1a8e3 --- /dev/null +++ b/docs/design/assets/icons/square-kanban.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/docs/design/assets/icons/sun.svg b/docs/design/assets/icons/sun.svg new file mode 100644 index 0000000..83fb8bb --- /dev/null +++ b/docs/design/assets/icons/sun.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/design/assets/icons/tag.svg b/docs/design/assets/icons/tag.svg new file mode 100644 index 0000000..53b2bb4 --- /dev/null +++ b/docs/design/assets/icons/tag.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/docs/design/assets/icons/target.svg b/docs/design/assets/icons/target.svg new file mode 100644 index 0000000..3061a89 --- /dev/null +++ b/docs/design/assets/icons/target.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/docs/design/assets/icons/trash-2.svg b/docs/design/assets/icons/trash-2.svg new file mode 100644 index 0000000..4bbb166 --- /dev/null +++ b/docs/design/assets/icons/trash-2.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/docs/design/assets/icons/trending-up.svg b/docs/design/assets/icons/trending-up.svg new file mode 100644 index 0000000..0bca7ef --- /dev/null +++ b/docs/design/assets/icons/trending-up.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/docs/design/assets/icons/triangle-alert.svg b/docs/design/assets/icons/triangle-alert.svg new file mode 100644 index 0000000..4601160 --- /dev/null +++ b/docs/design/assets/icons/triangle-alert.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/docs/design/assets/icons/user.svg b/docs/design/assets/icons/user.svg new file mode 100644 index 0000000..bc66de3 --- /dev/null +++ b/docs/design/assets/icons/user.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/docs/design/assets/icons/users.svg b/docs/design/assets/icons/users.svg new file mode 100644 index 0000000..6a708fe --- /dev/null +++ b/docs/design/assets/icons/users.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/docs/design/assets/icons/x.svg b/docs/design/assets/icons/x.svg new file mode 100644 index 0000000..4eb59f3 --- /dev/null +++ b/docs/design/assets/icons/x.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/docs/design/assets/icons/zap.svg b/docs/design/assets/icons/zap.svg new file mode 100644 index 0000000..f750eb0 --- /dev/null +++ b/docs/design/assets/icons/zap.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/docs/design/assets/logo-icon.png b/docs/design/assets/logo-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..8f91eee860d7600a8795ad6d327a62baeebc3642 GIT binary patch literal 303289 zcmV)rK$*XZP)256`8L+|NvEkV)V-LnQ-r8U@_ISnMeZJ@U%{R~EH}84IGvD*` zjE&v$ZonYKCb5G+0)*HN1_U%9vF}1?Ul0fht-ai(mR#cd|065vX63D_TX*S}1Z3yG zPQ-~5Cr(73h&<x7y*`$GtWJK1~k_d77S;3PpA}B?dk_+#|XH#o;xdd!b93W|_~^ zdk;mH`&rn^wpn#mwpIO;RbFt6Ct<7h)rVQws{V;Am+$n7%y)g}`=n`}`8>f<>U*B&K9d~L%Ljff?fR9$DzOr9ynozRu`*a0%U8={dZl;VS0Vnf-Z6i)chn#4 zAN5BFQRR=3w+U?XD0Lj|9`i@mN*wF1__e{h?`H$g`9tJBW#3ZvEg(%f%`%@3Qoq~r zEwX&3|8G^k+xEArKeK&~Ns*_%;I-TtR5$Z8+sI~&PoDdX*JS5V`@+B%JMP17>Zaba z4?Zuv&vK$T?2F=XL9kDUg|LomEzi@l`UE}i;JtQ(`F6wjc7St&oq!I1P{`B%Sw)r} z_Gu>gBF(&q9WKlcd$U6z$T%1QkAv`b(8C`z7$A7?P@3f1=Ls8uEk{@aJH>9T-f6q6 z#}ke|loWvANRAYi%IWnpfbQ(q`RI8CK&o4ni z3pN}3VMw@qHC+QOLNsv>DmV7QDC+>q5tK`)Au(}`+;5+IIRfDt^4g2;rQUmA*JcYm zy;S|Ad%>GOSa_l+xK87sHynhsLxP7La^?R5k-@_JklhXr3Tj$O6HTIFNhp)~jujk@H9~TZ^^EcYczD{qQ*abG z7Jf(YpkcHHyMayiT|eZ{w2!_i3q0H38Q3<6T3fMg(Ye|m)|dQtz@~>M6|fJO0Ctgn zOB?-UOsX?KPdfd^wP#~-%?cK=O&cQk9Mi4>2Hp&SaHw!NM0Y%tS$;U|FlO0d-Z#Q7 zKE8eI=?J(z)%Go>tn1T*Lh94QDKUrv4WoJpmGRI7P*OgTRRh03a^%T&vDlm-o<%Qyq3z#A8V`!Ey)cy?nFLfO#vg0v3xO+3+Q zn6<#?yvWryrsTgwE$QE9H4g&%z*MP}zni*R`2~S!K!L+A87DG@K zhG5`hhroy6L7sWOWn#D_K6W(%oUOa6|1DRUfy_a^=|9{n28WU7hb_ww7kP2e z7yh7=V>^dD%>o*nkOJS=hCJ^Z+?@fE+=qZA;S6yESDbQdofDwo%ArXhwot%x;VuF) zK1pZHXXX*o$`d(xLSXH9}3zM!A&w$QSXz=qHLtqer(5%*mkU6uj_TAmVHE&5sfy<79r**QOOH+-679_ zplBHSiD5vxW(BFkagM-R;?W!ObK23%Qxx)-JcFZOMljmp>Bm4<*!Ee_|EP9Uk1ieV z)@%}v{qJWfeT?&@*+du@+LThd%OE979DJ*Zg29dQtJwhSMTWk4q|T60HfuNtdD9`H zXeNBs<~eu9kyEcw&@V)*5N{HyGD>H>X$fgjOw}*BNxH;SSsmir63slW9(~0Slhja4kL-ZH1X&=#(BZHcCevWTt#sxP5VAC20qXG zXEA-2>U|sYkATK^e(7&fNp2q=%(#sx_}nwF@dp!c2OE4^Xe5pBT>$ze3eGH{-R_`G z)Ru#H|YU*tJPK@5!ZotJS)VdJ z-T=B>z`MLj3A#B6tFFKrXNRD472*l&Y_7{2*?I!%-$3B8tXfBD)rnZ;4RMwFXJLgh z5v!cR5o^>ftn&s`g?Lp=(jE0}MUPt!VWncjq;$27b&f@sV;Zr}{3cXvUSprCSYdEb zMYXJ+)>x>ovHiMjALsjx#)n*s!m_QND8OQT8}* zbp!hD-CVMJqiWg*F{3#Y_NUjJ^h@9o!~Vf z`_={WL%v44(plq0xvu!MWtB2(HHas4hu3$VG$QgQ(I^x3t<$%%_Xtn_ zH=;p*Zcw*_gXR8Ek!FYTEcLt}G1y7J{r#Oe)*?5D%(tWnooE!)nAu?t!a)NLHoSun zzQa%$9DUOmr6+X4gbwNH$bLe8|~0t|B~%%BB3X|-TnsP$CpIZ0D0?eeB{gg2FM z^p4}&yKlo6Z@md0zu_ue^5xIsZJ)gq7ku;*yyAoJ#Ch+1GoJUh*WsME6QXZ<9iI2* z*W#RuOFZvQ=i_-74{;G`6)F?nOui81A{9@N%n;H$(ii21WudJJ>9a3-4Fr{+{U)X> zkgn%k^ePDd^u||0c+MMNg@1Yj(-E&{dWdIV_zKkVtP5U_NqFY#UWRAAj%CC%m7XG3 zulvjkUWR90$hxm*UExB~DyS#OQ0^azXE7fU+F^UoBA)qL>LLE&{Fh)RUiVTwllBS! z_}Z63sLCID`8g2Idd2e*@mH^W0fe(i|N50Lgz#6dAg_YIeg*l$%U_7UdKt@JS^@Ka z^NJVYZ&>!%=TZMl&cWZk^2PXzmp&JNb?({ZpM$?R_gOgm6)(lJ&wU~O{<+V_9rxUW zrG;g5yIp{O?6VvhgLU)R)xoI(Au6H!Gt7@UpuqqE&d}#Bs5M$x&ob`L6!5Nv*S`5; zJolyN;o0ZC2+ut41^9>ao{xWg$qVqzm%K30e_;B#uXqWb^U9YX(3hWw=Tz|QSDc4K z?E6_SJqHnoUh+H~Vm{(8nV*JduLd=)zJO@c%jgF$e*w-S4iU29FV1@|glC-l90-5@;(x+3Ui=*V z`HTK3;Ll$4Y>2lRlz;KrlzrY*{KdKF&==0ZUvg|W;~YHW+~*NzQ|4?ua`3w4(@C?#Fd*MIff4<<^_+LZ(&*wi2^WsmRuX@kHpS|F@tUnI%g#Y!zvmyK$ z=?E`+9{y~IKY#H#9Gi1C^5R!ztGdNkIqUpc!1M5ruRIsedG$;2{0m-%mtFjNT=*~V zz*|3b3Eut5%W%o(K7}vbbUm)Q{Z`zvwt^!Hv=gAmV71#c3>f(2i3|4v?E>kZ0Nxvn z_YG0UbR%gZAvHq54pQD=1{ur}wD`~r&Ob9dL>%S=_qT%`%s$-g;%}|eNkI)qU?Wnd za}`|ZgX3}0*S4Z(bRIxKZ-#_h=Z>&;6OO@*=YpNe$r;4-NcB{Gluy^Uc8}q6H(!Uh zUG@P^lne3V*S`iYdE@H>Uh$SU;{1Pp3*L0ezu=vh9>yh~`8Ym&`DgL5FMknNef?%! z{k0O;eEqAq_SUcAy4!9Exc(bo5A?cQZ^0yVxzcETjUZhnWvZb0=y3VWDQ@J49WS9CcC?9Yu$5i0>g*@r?#0}rL z6*sC69Ba`!zIyi^m<8#G`b5>XsG#&$@3|Ax@HLi2+;ZeDOv0_l?tyUI@gt~0ysxwD zNZ!Zoy;a;j=;E&aI*#T89ASEeuX*lXJ&q$QEBKYCJ{6~)ej1LiAIIY2BKrM4baXl$ zk-Y`ylosu%wBVDg7W|C!DrG^QBq;cr>RAkEzI4O&?DO6D+L62QmAmc;xarQ@5ut0W zYk18qUqzstA9eZ_`qWKBNM32t2>H%5=vtT8pMH6Ji5tFg8-yE&`Ri}H6%pbKF@HUM zrm9={h{%ujUVY2Wp%0=}lyYqI_RYBQj&I%X-tc%Og7#?dv9dfG~C4cLM&H0 zqO5-_q(dn4w1Ya;NAc>Y%G^k~oA168(T6oplopM+`L5eB4PRl|4Yd9G8RHn|k>--p zLN%?t=HLy~Au1>xp?t)3TwAY|59wMESAXrR_~eyW;IhlVfWx2p6y9~&hjGz+-;ML% z{uaFKqSxca7o3m3ec?IytLHrjfALSx4D_7Wz6x*p;QR22Yp=w0^t*NXbdOPe$^a&J z40agY6oejhd)&P&UvY+K3V`K;hauc^xVrF>n#IE5jHY11`+HBF9QPK;H}lIIJ*`IffMXWPRLl*EjIdtGjSmPhX15zi~5eUOj@ZuH1vwCc-NzEVYp=FQB!53GIDLSlqu4 z`%XE4X3{{5Xg8YZG+S68L?agX)VqmC8Sw&C-fD-sv5x4%1fKYt!McsYgk;^j{*sfF#Vhty%4wDeHZ$PL(y)9fG6kt8%Kh? zksw)IfLrXqYQRDpuG2*hGjo3muM26$|o(3aVvowo}b3-Ddp=`B4?( zFL#y^A%76$8xgWia#d7yOiN3Cfxf#?nUj;|UDFyIn-VQ2U*1T!nU@aDfj0G25qT|* z?^HC==K3RBS{$1yt*4b2Bv(bJ$+d?FdZddGFXmgxunqF-=?-~q_Cfs;+O)F{^-t)q ze?lyme3NVL!hr*5pLPmbLo~T2+x}(v<;8%4Yqnl--IexmEg#lC@}$&;*SqK1Aq5|bMS_DzZ0Lh`U-sI=-oKxGYshWMWYdXIBO&rI18^_J$WXd=iJRa zXH1wRoJ12&W3cn>U7hiPapT#T`_`Zn0-M<#r*ma#imac8S5SR!*(>5M=#UnIo+iM_ zx6Y;c>+47GscXNCi{AGxyy(K$;H4K`$n?AM*&D9L*BHnY`#M;9&;vM8_QNl>karqk zQSNi$PuY$FCr>BO893#P>;*mD>SmL$J;Au(8>4&yW;_l2;AvxEhNqQf!#XZW;F1kU zhd{v~HC|4M0J; z>X)hY$`{QB>v?2UTt`m-(}M_D4{XuQ0WcV86$x)7g5$NCgsSYMbiGbpre0ppSA9$A zoKNjl$mWQ;Zsn``louiop|6|!ESWk~r^<_MM*pjp#dNif(!yAo;|*LcM~BZnAQZ4b zV_Nx$%{%~RklqM02P2dh)wQcad_g?pHI+;iDyt%vRe4IQzDp9mF)EPhny?QZ2CdT| zKlmekEE^){8f^-wIcHi2_MvmiezZY-E~*3bxSQMlUp;mw-uJ1G;1zGa5YK)2xwzn;--^#%e-&;YtfIfz zK;yK1Xfo1IT2171)n3XQ36U{?(UUTr5(y`3gAi?!2Ed_7uvOLr7x4-V7*JOL?_gTk z6(A`uDugtEP&TAW&x4e@$59|X?*Py-EB!FWM%)`Wm6U{I?-LVqmktCv|jF z=(m-yHo*6M$3yVTPksuDw2x)S9S{aSj*)4TyMGz4-69w0b(WDu51M|;kEfxaA7F%1 z2QO=21xnT+&5*bzZu;6+@a(hCMs5bTdVU4DIuy4PtU zUFx8}(83-4F1~ov4fy8|AI7WRd=dWF-~TOM{My&x1E2XMZo2ahtO3X!cXLd^PL6_< zthr7r1D!*BNb$Vqoi$gbZ!#hGP1c{8-O2O(EMDxxyzuc=)FydP&NOJE_8W$71JGYM z9rY=0JbDK{@`X?1{I|Uc&wbg8@t(^*#CO!Upjc?4bzm8wGiQlGK~R^`d!GRf?O-cF z!U@~pWKSGJ7c($U;^NHKxmbBd?w(Hy;c=gNZ4-D#@&(fcJanTGg2QtHfb~J@hX5DH z2xB_%DHH0jbxqbu@Il6?zXTjzWQb74y54B!9FRQ`vO($k?u`0Ug>*|!RH&8}DEPFO z6H0mJ=0|K-QekEj3QFXMroeQ2?A#znWo z9ZC7A#%+*id}_^Uo%9e?6>K4;JIp+zoM;qOH9-nJ?eemV$jqU&un%9l@j9IQ>Q~_b z4|y=UY`d4GaJ zul6gDt}0LC9TD4CKBU<<*;qxiHS%J9I`z=+8|@6`xXI>esP;v^SIx^N1m8Gc*H6Urv$+oa5RKHOloA2FGAsfu8<4FlSkVJChCW@}$mTWzffQK16)_ z%U9s#7hZtBJLhb?`21Jn!j3?V#0 z6Aq<$>WQ=PEp%w)zv;WH=rzqaWjqe~B0osK0Q~~x!pN{29>yRI(R1J*qRMGhGF3=Uc2-fh16-7Z$d9rK6OQIpp?+@{Ro!ZXYUA*-|31Le1_3gd z@VtP6>WUx1D@KcafW}^kWs|7t*T;kE;n-?~^3$NY;To~UczRx|Dhl54l~=i$!Hk+o zl`kmkxXnG_JAeI_W z8)G15OoKaQo&d{?GFi0bxta1S8NYM`>QmTO{A=w z00@0#+G?otl^=t#@{Be$KGk-W7b1^)DjdFIgb|;5CFhI@UK`Cbf$jw%rdbhYtR*H5 zqYFbp5}XA-KOhwBm*%11nFbG4fzm1G6a77*8IE%boDW`VLI7$gR_&_PP7EyaR* z1;EOGY|tivGX$VS35*WU)FhC-qciH-QDs)rL^Ua4+6axC=rnK;N4*-8p$_TUF2W+i zc1vBJy0;I2b+pKkDm@8a3+Rk;)uG4isQuD*u-X`CKmYUa+$90a9LL8f>^TMsg2DpMv=PoDw1wf}DLYICzA+QQWZ;QLs7!w2 z7}$u%DThY8gC?J1*Vy*Wci)b)&pQ`KdR!7-+dSjXBy@GJPcRzmhKF^(J z`zEmSbJwZJGCBLC?%4wJD9#Kvt|`ToF5?JW)in;C=1_$4R28l_=%jv#j2Z{>V+Qu^ z{dx<~!dJd=8$S5)kKu35ehyxF(Hro&o32BT4d$F0#|Iho3fHyyz~IQBo^+66&>x`D zXh3b`MMmRk08dsE@6dpOPRh3$%73$hqw&qxH3c?VmW5YQRzSaBqYDbpE8XYQUwEet z&uw>x(L5V`=Wj^Dd)18F^$nMBi3d{FN|Oezx$_oW@cwt=oY%er@BQ!xanI2s*ni*v znynUk{T_5A+&*WUO5UsRb4=1{22QJ6=bPCy6@g!u56s$!WP}=fVs>7+iIpo%>DdYu z@%v0tHb-MTudnhEW(KnjM7deiSXl5?Rod<0M}PPU_^tyFf_7E(B&qdJC@3UK(T#Y5 z87;~rn@-6J^#aLP;TWvw$u?uKG9XsD^$u%t7bnAu&N~lBjvmEnr=14PC++qmmLMGr zkaGveaW0y((BIhqI<2=K^JZnenBOTivrSd2Hf$=aGFVk(B!KB^Q8g`n)%^WAy`8>n zNA_fmN!_M;ey{D2e#an1l=m^l^Bx`U=qxNO0QCJ;2K|?Q_S5)#20H)m-yXu-FZ~dD zEeGFj;LctT`jOZ^U)eSnJ7_dp04H+OCupS9!~0x=&X;fv(SwY@1`d5Qzqb0O3vlQZ zXW8(F`RdN6g|@*3Q_jO{3@xGwx8HkwVjM6~v33(lrwx5yW}O>)m*0F1UUJcEaNdQl z!Dp|(3M)QEb7=vVIHcSz7hIB{*>1rl2~Ko?BfIN;ig}d@%8Lq0&jZN{lVt0BGn*tf z;??Cx1;d2Og<*C}vK`rJ%A`YxO?e>Cf3$_SXw*)$9dy9|Bj?|5)KjS1qt6G8CU;X4m%z-y@kw-$ z@hKEh(@v<&Q9aSg@LU*Xp!~j_EC;I>%xqN zn-`F>dKkc5^4RjAy3zd6J;clqc3w#JFreUGN_4O4>|5qNXc4Ug`*7F#Dqj7jH{$>P zpMQc2-t*5W7zlMKm^TuvaXx3PpJh2bgB-^o$M-TgKG16}3+&0T2X<(XXMAmyp2h0l zROdHMfWyE>zdY<6-!X=Tm|jz-x~PNoE*RUQHsq~vshH{|g3000mGNklfOF1&1zvIS8^VvSHMmV!a3R)$Om{(_+v&M4;1UKkjFwkcSD_z6 zTcDm3;T?Xs=uXnTRavdhrmX63V%`f3*&*z8(^Z|C(7V+?Nr&1Hq+4_rBvVC{t@2J( zdeoMDmjTYddCX&RdV4>X8ZBr?hjRxCY`7khdX)bV7D4q}^M}y~#tsz>p}GMTfngC; z*I3x+w)w*1GFAs&4CvR4a`3YAUxTmQ_I0$mc=s8^q}*L{H*^Kc);8M{ z%R~jqMXEHQI^z&;1Eti)XK0$)SSLx6phJO;nZe9Lp7%GtEf`>ReH}f{kpUkt^2DLZ zd(-he#oONhUi_Co`;+kJ=Enhq-;82;p$7xXg0Fh5%^e+y5J@Ol|(1e2pvyv5EUGA^eeD?9r=NnXnP9-1fzk1Ls>emyF+w)h<$8^T4y5fv@z&P#M}4E__9P+4 z-xEbUP_o^&x00V!E}k&SylMPNvh(uf1M`9_3+l47&8GhEaZojB%CZp6;vJau`t$E-i%8Q=S~KL z=MK&JZ+Qc*x%o!4mY2|H;FYvmXm=LS(5?j*1qz?8C*k4=Zh zWfOA-L-G+b#HJRR8O%yd6=H$fAfXFtWR<%ALVbyt)(e$SD;wvVTzKagS61o)bq0Q< zA+za2Hp<5YggUe3G3QZ~3d5WU_Z8+9;0RJ-W@t8>(0!)OUDqaGJ$bg@PxEkZ@_hKt zTMcyiL~!xHybFK)m;VcI|G*{SzAW_rcVVH4E`yv^J}hWXGqPb@9$pg@(li9yRq*5B z52fKh_e`h$;H~VsKY**vHq5+_iT3mKESMcOAbih;*9uIddQ|hejM~9z(MbwAO~J*s zxv-2&ul)j^eg1iP$HzZ}>yO=u^-hAc)5Mz38TJ4fxA_V>leY953~2Ofs?T?!8G|Hk z9}cnJgo`0RU@-xc3L*6%~`r6zfrC$VqCZp0F?PUf$ zu>{)bbV-AujVm7z78h{G$}zm@-S5O7pY<1b&&NN?zy}yK3~s4|f%Ckl`S3?H3ar$Y zXYiw)StDh!;veZhkW)iJwD@kb-E5<`-b2a-IN>7Q zU_@<3rOpr?ah=Nn?{)(B;2~YSBd-O_bBp_lKl~%~z!)MK9OGPUxY1u`kzOE`vnD}lja5Nc{(Y6r*6Msrc~(O4RS6IEm%%r$ri z16rKVzSRtY&iQY?2!H;(f5Np#?!pS?`@CQ2FMY%Pjp;ZyjrE;3L>SW`&&+W*C%xYW zIS%);qnmaQa>wK_JPwAa6M+6Q!$`fhwD~GYi>-E7jIWY13ikMp(kBinFQ|S=^2XzL z;Wh7i3tsu=H{$l=N73204=L+583{{=gYh3=M#?})y7Xk3@CG1X%K4;QP%j&X4lTTz z014YxUN8wNF$I#Z7fs?#l98NHFEg_`Yii!iLjR(G^hJml(~*id4Q8b-vkh96HM43q zv}iNhwvzVMo&1}?H3D)&h^GZu*r!Xr6gQ_0+ zr}QPxh1XE~xB&jE@BVHq(BCaDkaD*~|L;`Bz$dz`{5L=qiLl;@5;IS>ul9`dZIGr= zJv|U~`#lsa%gkZbXL#|;Uxwz=BB1Sc;{yjD92_4UB*T~s&Lt?AXf<2#v{66dAbSeV zQ$hWUsM@14L1m&swOsrvs%0l5t?{j5Qk&5}l{t)-p&IL;6#vnE2I zL$4|v=NTty!r%zGC&xh)9sv3JYsbtNhx$JAeSiN8bl4kq7k%U9P2iC5;<_PhI5y1cdJl86i5B8b5>g~=DkvGA_Lr&hvz{-xJOA9S zJ~M;a2Da03y{&qF9$h=BGmqYBGPBweLP{iZ+z=paL?)r3bxne>tb^WpH@=_G(}ME*}4y@jSuM-HaN3Wr5&?n?pvj_ zMxEXY6pQDH?Bh;#@3da*(}}0@qAE7GcyISX59qQgxI*|~PLxD{;0GD8GrY;`21I{VciBF_#O1XQE+|Ge07ax z&}N*M#x=prkZ^r)yoY)ia_$#uUzDSd#pEVBt89~Sg(3YB751JaquxlP(t2Ke&w1mx1M)+Uehl>88-&Hs zz_kn+9|rW@8_5YVxG`mju%I#%DD&}@zmFjnh*B}95%d(O9aPtD;d9qriAz8ANzT&_ zz`5JwHoS8Q+;9$;c5{E!INyR|aF!FCIKwQqdr0SY>zp`wcC73Xn=q~^C7^*F^37Z* z18TAy0|+>AhsH|SZ3|oJP`R+%cD7qzZEl59XB_)7xAo_|@=SQ!IUP2XvkA$(rJDYx8$ivP%h|FVu)(KnjRMKIZ+!Cb>(K$ zduX<~Y?_{^SLHDssd!aHzNq-3CkvC>Gc%akL=z+*F;QTfOzGNA75UI4M4q1hVmeTD zLwymr2rhDNe9yxk2Cjer7cZ~Zt>l9auQ{Y3hf66JM?haX1cM^*&|(_EbkIv0&(H)j zfwEA$K?xUC&Rv-1rZe=o%i8B0d*}P!gQAt7wY&&xG%)C=(7b6X$bmEfA_eCpRiQjQ zSsu=YuwP zrj_rOFWs}S9sNpwECNX*F@|=ut+heJm_=kSQqQ;+t@>4f^OX(k(CcuN(-|Ltd}b<%&K!=D3guCeZiKh4f4rqepXs@B$k__ zC-YRF9&+Y);Isuk&2iCcC5<5B>BM@in=_~ogQC!{oN94UumjE}1vh$X)WSM~gbB%0 zg~Xt=&~^cLsogJgv1TE$N=a!Kn4Ed)o+Q5zN8c z{5r2%uC&Spr3Ix0r6)mU5tGUzPckvR7j%-oNj$YBzM%A8VW;|ZwdO&=)jG;4&5MWc z{;uyr0}k4mamL_-4+bieoG7#evtB4ClWQnBTt?~anrDK1Ig9~$fl^M?xDZku5(YGy zTMf>ultGDi#(h)Z{U81i&~8FMC2yRsDPNH#&T-N7w8$X)olWu`000mGNkl$QKn~Q2JX2y1c>; zI;=UMzkJjKNW52Rj%Z#AIp>MyR?fMT@xdSTCF2}x@$JOI!Xl2Zt|Q?t?)o4_V{rld z9{51K>x1vdGoSxF+;H2i=yAe(zSTgp!8amB_%0ovRM3Q>L1-@OdPT4c_vu$wjt1W6 z&b<5&zz$6^OczcItWfY`f{Uk162`E=deO%{-D7z3JKly5f8wJ^7TRd-Tf(tH7hNu~ z`o4|hgyOu{gDF+(f{NydU6%yK%Pd$GBrODRT-vbE6J`- zIn+)SY`3oDh1j0bLd;L1Dvy{{K8>e3)5@y+dF85gW~H~%r}8Rh>DsDnuk@&$s7vW- zFdKR3n26_=$%D9q~?gdL)fjJN%gCGl@=z+ok*VAoQ2)AZKkU!ju$NDZ^ z_+yxG0|GRMb&txeKrbIa-_>a`fU!mb{YYk?JElU5uc=bLj#}Ke4`?)SWNiiQ{rhm+ z(R=VW|MV<;@{6Cx9jmJ_=g?YMpwAh=-5W+b@PiC`@QHRsN}KPqL5`zwyFT|)0e5Kh zO6t&LogNKy+&%{iZfWPd&;>6<%FA#p?S+f<(hJVVjo-MHyEP3Q>vz#(6x&{0gs0qk zmw^tkZ+V%!HZABs@l%k~Y&4lpxi(jq)Nu<`B8+plm$Mxzs5sL08l-f+F5Q)*g~^b8 z98=jj2~n5Cs?bfWny;qoW!S+H+ucFciB)FlQ<*TaVqnf3K}yUjXE8K7qMI?h-EsLz zvSwDhu6~#o^#Gsh4$$|(Inm^NC>Y=*4D1EYJBVUf1H*&0#w<4R8N7(fN0ddVgK$KC ziw_T3Ish0*ft%c4y6zfSy9KaawbSkP(4dTCUKROH9~*trj*(iX$+TJg2+3|2yQ#aW zE!{~1SW=qE#Eeri0Y)K#B#dZaDpNz`d+>6y%vZqVlv912R5Xo0N%my%?u$0XzRR|V z$g5J7RrA|T2M-ut(vaSUf*{Yj2L6)|sxGOC4$*A27=!Q;hOeYFr-UYVZx(qElt|89 z(-!l3$Y0~VP`^J_G!nk9T7l>MJo~(J@&1oqio5$g=#O-AI-w_EyziQ^We}X7oR{E1 zbAmTRudA|5_il3UJLi2W!0~Bz*x(OxS!2+cBjbBP&_cai^c>K{C9pvOV|bca!hxkU z2foko{KQpP;Jk}2#N9=T)dbM*-I(4*Hk!!O0xfHxO*E-v&>tYD10-DBb1v3;%?0PU z3&aa&Y@MLWaB30P(=5#hft8qEAA;m6U~NEoPzRyYQ$IZpLP(1_L_I%bkBG{J$S`An zsZYFl5$lQ$O#=rmKu`37@}klyxmhq9X$fNWI%ebLL5Lrc6GFgK=>v;S$f>rbVdo9T zzKKo-yT%(ehnG$g(+Ex>d8WuOx0XH1q4J9zL<5W!C|>x5y`(j=Z%6Fv0L0V zdEn`%!SvdQ{_kKYNadR$&EVEkN4Q3u58lyc!ptZMO-0D|Fdt-gLCd+V!)oy60LnQ~ zCwE61D(91;Y)Ij8`3=`0Yc;^P$7mD|4F)}ABd2}dsE6%imx(tC zb-8JI)ty!*zRDv2jn8E862i;^z$4ZXWp;Ebzk!1DJxl~TM*-v23ecr2!8yaK^b^f9 zUQ&7i0+gNwdP}GqWvE3SK#wpK^e10xVVjP#sf5>@Bfr6N&C`UXp7UJ~^NDk4sDFIG z5pA`a81PlqfNMZ&c?mt*-Z}kLyy2a1$BSP5D%{NgsAxB_#-Iociu8v9IUkCeylCQ6;9`8RNHZ>V(ElqHEJ_jw0pxmKfPxn#=fdf@#jOQf zgB@Nsp}<=|_#S-l;~z!N1$2-Ygp7-&qEGMw8?Qh@=z=@td6B_`{)ZAqS^{(on9>yB zX=cn45@bG}%2uI8v6_!^)2JrMw6baZoz&T+i$L@o!F%~spYK%@ z!az7XoEyiB0561`$qJ^1QLm!W7PqsFLC=6sGTns3*lFROw2N1B*XGlge*tJDSXo~~ zTm(@$q*fPGh-@=)V{S7w8!tCAnAv7Qa%3;brgOXes)A{Ct1>%DORrF^ThCX^s%gp9 zQ7xa9Hk&+lv+A6TvTA>}YOg9gExn}<4g2453#f#V6u#5P^xAl(9Jqv}-==T0n=oDgL~nuXeJRek9-Gng6H*Vb_S`0=tm zRwxY6JPlwzQYJS}Dx}yb&nyCD_=vlaFtgCs24^EBTVhV>S%`9zsVq=Qq)N|^vR%m= zKLn1$m@4u@o)iQJ#>`Qca>|NF8W_V5=^Q3^O!h*@P8wIc!nC?76LwlYtzMm9ZKIl= zC08%IzvSgU0rWFb*&QiaNEoQ}7|a-VcaE;F;;*0e5BTg=SE1nj_Bi<|{V}6oX1Pbk z-Jk6zXlfZ(1oin%&|<=OcF|M zM%~es7wVFec#_#JUv(m;)s5wQN#|)xGQxJ--ASEl8}rteTorX4Dy#Cgn^t{cyY;5Y zOP3JKl@?-N)azpir6Y!{KvX9pFoqxEnHh>%mpC0(|V47E?k_Y9@ zaX#=2Z4IgF3e0NVQZj&hD1quD$TOj*I{_3Hbqul`^`?9!oDq#Af#$e^Ac0ntdDbmY zgPFk@=R6GYDD|sF&nHa}*&7jMA{9TTPY4YQN@>wd{S;9wCRF8QpLh|~vXEx~5&Ayt zKL^a<5C#fcAJRWfN@c>d@)ONh+f~flUbRj&y;Xh5?uE=&I!;viJofLjZF!f$b547z zhycQ0HgcV4FD-`e;2iCB@yzF+gAab{6L5<|Y*0}%$q(-boUI7rSI$vD2V=PFn*pR-I~ zdKz%DUwzLlc)@F4jyu2dt9(|O>I$=DV%aRYS!JrfRr$O!lA9OxHtTum z(L4|ps%hn?L3)H*`6w8Oe9a3%`8Y3>7sOM05y}ga3t%RcMPcSgCwW@b1O+!{WDE-x z3}I9NqOU+T0aR=v|L@OrJQ^P1Aerb(P!G0h?2qf*a4*QXJn< zBhrvzFylB_WtxMeL2ok9;nSafsP8j3UV&G=>GfDgjt1WiD!Az}z-cWox*QBB9cqRT zj&GpTKBhU0_(HXw@JRSRcaQdQaImCiUUACSNLMQoSk`2CMLp5Dt&rC+0qGsiI$Mk^nqu>m2E`fp$@kPyy3ml-p zL~WKgS3p#aNlOWpio>#!j6P$DnFT#;Ae0qc>=xQ>>|0zcpYY)MkM(T`N~x~EWSIHJ zPh;bvU>Z7%@}#nvWb70#VyxgqWsKHFgx>6|p=h&c)Sz?~2>oa0hcuR9j$@)MO%EpT zga#YtXt*LG8!Fj}Ny$vYB;l&uwDL*(Nj&MAmp@H*QvJQ))!VD*ciM(7d$n%ROQt*w znseMe@J59{2O@!Zi_I{g87;VWK&x4rKY*uo+PRFYFxK@R8_mNcR7%1WR2 z1=oOrYYOK&196HSzPExLhkM~Lv+(C+8dT%p>dR3P#?cj@qXYfQa7GI?n76LpgHK%X z1zhy5x5F)UILIxmrhV`g7ut*}kMbSh((*Eg8pEeQj2&!dJkNn2V^lJ<4?=|%@>QOn zQNLPm-gI4GJ-?wxqq7@qXxb{}=jfyCtYRyjC$e02%+jy&h*@&6OtLY3GN=NK*iPMF zBY!I@o8_kpEF51EDK99kF9Y`Z9$n?eRYx+STG$G{5(Z4k5-0--lHnOG;-W>4a$FC= zDu_qmF;j4Xb51@=*&@gOefw}KUmu4pY?j9}$V*I&NR?)RvRWG~G(fw^S9`LZ$+=GT zdoICk3DLMs@{@R*gvJX#^|cbNv}q2M7ol07(M zf2XP1ZTU34;!C$^9n<)dn^mUr`#gB*G=~C)#*$TDdHROZMV6z(*G(De%KAF2(Lj&s zf^`2GXW;ycFUDKn`(D1PvJm7f@SfY_>*wyu3X&w@ZJTpmjwPohl}^tz@9*KBKWz4- z5rz*Zt*y{dmSu-Ez#*eSCD?gHfKPnTBz6{pm%NeSIEVA|g5Q>^000mGNklOJiKn(rIQ+;)y_nDGTAihD0E#bW%YcNr^sCAcI}!=X+@~6 zznYh=716Pz*=Bzn6BuTs&#aVHS^)qk(h`b^wE!L5JE8^F^5< zMkSPyz9D;zggO+IZYm39#_O_d3pl`c^$l_~&rOX6kTKz;iVd!e3AvIx$_C!a{)nxM zR#CA-Y?QV}uEr~(>>d?_8&jjJ3M?375^PBDL*p4WbU>60gUU$rZa zz;5hQ-D!wxqJn14)!0Y}5^o%DLzZS>D9AwrvW8=5;;0~6|5R^`wv3C^oIlG?)INo6dUL}_C_QNs`4m`(4ND@bt9=e`Ni;@ve&+#;4 zO?hmD&3Q0%*t^wE9oQ|@yrZnC6up2(<^`lnyVx*e$WNOeAe6q{VsSM z*N?=xa^5pd&qPN5U4G!{c+S1BG^k>E_0Hpobh$ z6#ihErYAMXQ9szd6MwQ}XR(!oolXZiCw-o!(60!ahF6230p!zVgRh$kZpQYIW5A)k z;N2I89|=p_jqv+6x;REf5ll+MCWtRczKS5If+?8hU{l05vA0`)yYibF+$BTpSFx44 zIPP0f$4MsC<+jomfNWp7z*U=;B z`T@Y3=74ifH%kRWO$J2ifP7V`AlfAz0$}09l*7X#;jXI0R#uKfzg>0O(kVET@9-b~ zT@QtR0C2Fjj#Id`t^Xz^W1D6Mt`Dr&q*m$=pOG?ipFL%xKm)@-8CtCt`;x&q1G|NU z=Z>tTEa7^G2Ufz-7I?RkX(|`&<0*U@Y?0tyB)&N((n ztqf9hO|py+h2$hj0_6o}C!Vv)>J{ddomZ}|e^P#yu32T1bX9q~saw^vcj@hEiuOmk zz1ri_a@B(KR9w@?5cD<(VaJ8OMRyEAkGxH3uv9xWEBzkMeAsv5qIbNNJ2`K|{?qnj zm2Xx0tkdO#i@5}g3yaWSPlkF7ayNiBl>m<0Tm^%h)qH@$HF5F#--$0?e+`Zf){(aoWE?H&APEC63Jz+x zRw^L81~c$Hi#AY@C+FA-m~zB=Q;MguRc~tH76m)0JFCvDvMo&6aj}`fYy&%16e?Qy zL^WcalIBAQ?*NpqmV^0SqcmYRpY`iNw;idgrbo;P3F#2(MP@eg`)Zk)L4P4}`Bh&= zVGdvrlJKUQYt{4N1Q<{@+eTEs#9s>hd?qsJ#;fq5{Cxcpdw^>ANx9s zc+yY)6ne*3nC>9$_MoS_um&*Da!CUHs&T<~I8|BAgNUK;8XCA{pb_$8&7{Ke&@G;15f{r zr{dS2_N(~$U-&s3{F$G^qaXb!cm+TVcorAh=&rA!pf0YZa13zNH#6h1N!_GohJrT{ z?9n0p^Qf9vZXR7HN@kXgv&v4CJ(Kjx4q;l^B>ql#a#hVS)m2(hdIU1$)q>+(q}xJ& z85ODKc8mVl<30TJ2R{gJeb2w(jqiCcj6Q$7-$#S9EDH;Hqcq#QynY~iAEa(WJC!BNzIis_qeyzL|J z#V5b?Md&}sY%Fx3#aObe6_%1nqux5@b*i&=l{Yh(*{*cdE2}?s-mLsikW2(n${FX~ zwKv{~E;0-l0cN}*hMOgW8tnqK8qHEt9Rv?nQ?j6CYIkI-m}PO0XEAf-X=c31r<~u8 zH}f_eC37k>f2`5V8EAN<#k z#r}Ou#3CMW`YG7Ie+iFx#KZ8I$9zA2;wPSnr#R24QBQ4e-!- zX-v!vX2$ZI-0h#zQOEYRlr`#l>iJUY|2flKh= zFMSFh_~gg*Db-rYUI)73=`qiYeSv=_< zVJH~#6VgN03}O?@f<6WUD)bCkxE8_qPc-IX4(n+jS6qEHymMS|a!Az3H&&DmQ6?d( zyr6uXOK}WTF5N;%ONemP+h{c489ep5OQQxB+Z`mV*l|t#&eNWbCMWdi`}Sk7-bIu1 zU2DQXf8E8pvPa!eP(^k3xl^_Uun&Qq&5>(c1HE`N#2k_*d{Tck)Q-37{KdI{Q#**{F z(9EFqGvm{-+Gn$H96zOJL2?mMF6OsORe!s6wj(e7!glIxNA^VOp4X0(Z3EqMbPo;b zk)iTk!aS#RiLeMTN5>pVwG#(A9(QF^bh$%moi_BvtUc0ne(;Vx!M?!ha)2O^%G;>xA*O)Fhpbz4Up(F-SNNeB$Gzb*(mh(!^y~ zd!fDGKaK<#k>?A1dzhLoPHA zRkN}u@|5RPKnxy~SNU{ELXany;Mzf-s_=rcvJ6yi<^T-yyaDEB_{hgUij+@c z?S%yv8S8s+3i1^QcK}#l(ik39+r?6u02YV}kuNGZwxd4i2CVW1Uq2O`y9M9RKkUqh z;P-#$cd>Tl7#3PB^txSiiGBO_VZiNds+DS~A!UvoG!p3%Gg77RHE@i|wq;F3$?+UW z4lxvX2nC;ZPdn{Y{O<4m4g(ghX(32qU`f7qW_tZ~UY!C7cYKWR_zG(BsQQUx};KxXVP7edORpcQ&Mcjecv!+S6L5V97dKfbQ=%_J#S0TQjHUy3+B0L`t#hVvutS&3wiH6#&wo%Vl%j)S_vMP(H*E>=9*j}V3 zs+~!C)#fCAv;w!61qQ!AlKx1ZXBY~qbt)qL zOw*EMI~IgWkV z^OKY9EO7T`G&sW+j6;>c;5do}01e=Pb3Stoe0}|Hy!l_=g}g}y0~>Z48FzU?q{xVI zb#)bOPI6YG7L1_0purNY!el^|5z-bu%a3Zh5s14dyzm2ukV;g?_=l}o^07*na zR50X7`+NH z`U#wQ<^!QVrrhz$88{jocxmA*2~=q|jQ|V}nFAYUCKIo*Vo{__-Y?Ht_D?G_GnmHf0ue%Rvl_HcwPL0xqG{-$kiDt8f zj6RoePCMtYxVXf(EGbeto&GDO#wScGzZ-u>Yv&S z>jT^78gcMMed*Y-4|{rYVxGmBb|?%A7l0~d7Umi#G7cA`z&?laI9Jo7?DZ?(dJ&Ez z3%_$yaHpls_w`BcQE=fi4y1N-`g}*NfdL0amm=unxQjaK5|oaZ)G@PAlSQH=bDU-d zvkla%=z>L9evOW$d7?iQWq-W%_LEy^i|!ED8ZXn!P}Up7kdOfG(vwFl`Y%`$~>$ku{wmr&>x*rN}cj5tPA2Xo}`EZBx;J>>=2 z(&u8+SYE<0-Z)=!;p@=V!-V7+WEfj)TN5pHzL%n9eArkKAEol8^ECyYl+<_F3*%|vR|Kx!1^xy~E4OWvfUnb}N zq?xRT5vY)vvOm%mt_kgvO#$pJ*oidjGY-o-Ec{F7OhB2gjRHn2|6V*nh?T%dqa9|9hm8KnyPm-pln`cHJ*ttK?@@}{B7`}vh${|e53`^Cr?TJT&~ za^COr^$Z;};Tat1H*yL(z1r5gT5xSBoIlh}yLSa?YLW8SnQ~744zyQIDn$6$T5dNwyseL6>JN1Gp`E9k1Cj*^OPga z5>o!AV|8;2mr;8muZ_)U-ox)i(; zM5Lf3!ohafmiQ5Y9X`lmv7_HI6}~T`zm`!^r_%`mil>ij;_AkvKqkDFaS4|Abl&FO z$@d3X(b|_mdE(p{iJ!GjXfw0*!?J=~JiO>trylzqjB%pqa zP6yDUEqbcT6Nj(dej8qL{;P5K`WgnjS!# z#z-qg+f2@C1;JnFI2gx9mM+Wy2xAB?h-wYBVWkZDs#9=o>;9Z22Di|`hd=poeBiQ6 zk#Rm`oQv(&0tWpQ6r-OO!(iJ(^ILrm01jb~k39`=!tMuQ?WX=t>dtCYWmW7%zv`HA6o*iLuOS=vTIV!< zd)1biO>1H%pB{*MkRwe2EHoCDfF8s-iH&}0OdEX|&}0SQDK{6}(EowPsfy!#)v(T> zrNQ7wyBNArcg&$f8xsZ##o9VN1DQ7Ur$>%spKD<`Y2lvR?!ajWPN9ClST|#krT||H zg+Nm{Z9HuN_+UgE5NzOQIE|liJe6j4bVmM&F-+WZ_uXhQ$XZ(72XMY!ed7&y>1$t& zV`(2nyM+OF8Ek0*$N4&?%U31}D)hv4U~wPP^&V}o(%$eXr546hb_?NY%zWSl`;9Ul ztVhb7nI3Qc8Z(MuF=?X1jy~>ReINeofBHWFzRyoM1_>9*)%8_a)1jXa7+AI8IGziw zPSB&ejygq+jX1)Fc{ikNZFm~U0!83QHV=y?5Ho|Bjg@FD1u;dd5HDVoSW5x!qaO7r zoPPT0;rc1)O&Hk~T;odl@z1DloLlBpR;D&SW!_^R^JpwBEd~8?cdIH}rlUowTTLr} z@1V46Z`z(m*E}+NW6g9evLRxUl*&f@T4GjNP4whtHQ6|uqTj1wv1F?m1AIQ17$1z@ z@{YITy03f%IemY1(1&(&G6p+kRnO`~!P+F^@j2jNZ;!u^!%%|_?7^wv#<+V!&~SuB z*|@40jW_Tg)8LUZ%qh5VWlUf3m8)^d2S0!XZkac^xJo2~#b7nW!!^Mekw1-=Pug@*Iul*96k{Uz>5w`) zp`-If9$gjzEYEoZ9`Mytj}tcIYlB9!fewAQ)o^HV@^(0x8{Bb7cq32vWGyuL>g6=< zemv{}XW&O3{jYKG2~WgRe(GoNyHEek@I_ng1T|Yt47j7A*DMMYa?W@?-GB#84fDwj z(3G76c~P z3&ZRtvboGdfl`*GVO$=<9U=uy;^}urEEu$*rmW8ZPo{0K_bgTF-!paFQgm;&J+Gm% zQJ5vaRr##CJ1PslAV-OQQKm8U;@K3?#N*=&q8}UAJZT_<8ax;WptG>Rb)(JK^oG~H z@eMe#wuTi3J^GGL&W9YHDELZNefNA-6*fS`q!OPOd-_YqS}Uk_cPBe_(98}=i#j_3 z2U81=Y0)7(hhTsLg-dW}_bA@-&+ov22b>1oFf2)+Z(VySA?lQ@iKhl>V!<3t)fKi9 zm5fl8Q(ma@>S>M%s;HOWU-If_#BObldPHaGs+Y%ctk$W^RLdr%72JqlPEe-gs3ba- z44~tcl%GsP6Ic|?6S_e+8H~UT3QSVoj2&;@2`8vAs3|y^o4l!=*6!dj4}S!n_HTay z|DCU3{_MZ~G5*IN{Ga%P-~8Y4%TNBd_;)|{Bs}qPPrxG{_T5-y5TRhk7#!ui0ScTh z5M&$JerTOkd8I|w|Cm;O5+oz2OtRheE*GH;i+cKZhQ-rPLB?Ixb6M^I;b!hjINeEG;Y}PYbSZM$S;10kTmj$P)D|EkOp)*fx{lTwd6R)#Gc>Ur-&O z4JpT~#W5BR{?L!$zy9YxKvO}Ec5~pda_lGugC6!V*aFAg!64|m&@hAtX;iRuRAto}MzybCLG6LG9-Z)*g8J18`v9e&~0ARL?o5 zs)Rg`puc#6l>=`Qt(Pk=a0pOvdeVjP+*zB&(kufx` z94_`(Lnp0~dd|**!Hr%|z4hJy485w#*vq8d#PQV?v^s5g3bX2ns=lBFi$xp_<#rC) z7cq|($yVi*7plB@(`KOuBk`T+F*BIiNJmUamk{&w(0SzNk(sBh?a0j2<~%Z!+mv_F zjpR@@0gb8vij?}56G}nPNysM*WPI(!Z3Qg0+vsq|Bk%W7bh}t)`f=a)Nc`3>|1$o6 zfB0YUpMK}}@RN`KVLbfIGqJzX;to&2n=`Ov&7knJU;GTNxcp0eGt=cwd;nfpHBCzU zFn-922-zkmKQ6_3*>VoomE-{Gqs-RRePJ>>GGb_*$YpqBWs@%Hz> z7k~Xv&&CxuT#ux^$T@1z?^>*@&z7Lz?n}X5co?e zb`2B|^2ThuVHXTyyzk?Czwrw?bqMqXu^?Uk3taD$YvP(FTHc7v5!rJiEyahbh3QC1@ znk|#~;t8SR9(_n(#9pY>6jS%h6~LoP69zRIcd+@Y2?c%AxVBt=?KOD!hYmwQ&VW9e z(KibkqTL*?og8Muc#$tV3qCNg_z{7X~J3FHzMY^F)9Qj|MWP2Dm|AKEa3CD$NLEjy535s4H+1ffzTUy4G zf8rA^ez&S!o= z+bLQfD2fi-Qh>Oy$l!^u_?inXj&F`4PtnlLn`8PtXM6|F`X7G+aNW4re*gdw07*na zRBXXlW9eEKO+Fbm7(kA`FwJMg}39#-OroKsF0gsyONvVzF8b{Zt)7i}NWA z%Jj;}ahzxra*j8Qe#G((d!q(Qh)-;AHd5oh?qSkt9@4$A&_Tk$lp3U-W^gxYiXK3g z3b;=kPC;5^1-J+x1UnosjZNYG!M)hUaWZaK zU~mI2Gcw9_9hn~KW4?SRZ(%{yH>$sW^bQ>U*kwSgfs~^%;G!0GZdfVH^vxV5sDsa+ z(4q)%L`G0q3AI1-QO8cH`WUfO9n<4qP6^B* z2T(YN79Td6%Zpr)Zp3rXeGy*#>Q~}x_uL6%{|1Sn400&XIv%pv=!=d)jUnN{308nS z0vOrOBIr-%U6NpReGPDiobz8}zRa6-!7*B5AmbPmKJ0;K;P0RDmlzyh#VHGm&|jU| zP}3;LF+e)C#;CjABtfPW2C#9S;y?mS@8mQK8rWE+_E6vG`tUj`T`)*pTv&ja@l_!A zs#&$q{nvx?KER!pqaFVgaOacNM-JW z*lyqNgI$=N9N$Y6_pj@rf|w zlS`jLi{8cQ%Zy#}Uw83EfPNQ(-3lvBXDgtN0?-+TZw)aPqpc88}QjUF{K zt$akm3lh_j?y#Au)y(1uZ5C0R;zk^9jRvBQawEPkIae zGY_w$k^x_;@-@qofAop?e;L?3`3X-1Z)Zr5L1oRnK#MNh^ae+t(r$&?ZE&*dmF)H3 z_!@Uc&V?;;$EKMeH^7{OGbXZ}0fIvVf7O~aVqAQTftW*!yE%=0%lOolSKv7>Jr~b^&CBq$yYJ%btc2Uo zO(e|@Qua~$5|_YdKG>fz0Bm!I2pkJ1ofMGmK5^ip#gX!G%?7|e(;R@~o$`j=VBUE1 zHU@+(AOw*Ac-CJ5)Ys%wp1$Km5fuEFaV<&oki^9^C6ZP%j1h;OePCstHbh|12F)Gu z$li2{FKj9xV>GVAbTv;_IL(aRG3Yw3udl;7$GlV5(BOjKXa8K1kY}hKX5;x-rZ$9_ zk5qw-^r=j1)&hem1v^S7)Gxkd>r}idR9=U4RAu%$t@ff$Gut#4v1}4mU13t$Uh>q& zENsvCo`#**9^qn0tVaGlIVOMebs&_sik(wxLf z3G(~kN0e8P<24V$+Gn`!t~>GW_rDJbeO3=rT|Q(vu0slnKwTNvKYjU_OEls`_)52X z7ItyCUDSmQzgWx_3hJD6c`jC(XuW=)3l7j|w;8p8i=x9j-uE8p&rjF6fDO1X=B%J? zsxV;GkT?hGB)4)76^jU!l5Hh@*+{5UO$P=)HnmIMi8|H3P}Q&Yg~+Ry2RSGk2);E=h`Wi<i0&lpS;NO%J*IJpzmqwyiIDS%*~M`;^2D3fESrw@!6 zlpm!hB#d(mYy;FT{p@lXNU@%guYklQ3Foe%#{dP~dFY&a0ILirzI^kIc;@rZ!7E>X zAzv}y3jJ!SK`08qrh-&Dd_~jd?#~LxR}WNbi`@vi zLz*^F9U_>We#Q#ZXwVX?OC!@2S!3GZu+CR&3LyCah!)4MV4rl2*hL87QRY4KtW?XZ zjI0T#QC@6=){2660{wMagZ?8Z&{1iuU#BXY1?jApOGg#;@_F;pQI)Odt7Y}{yt4Dk z)%AZXxCg4f+<6y% z=c&JrKm7gQ#{-x5quV`>rKE`_C!u4&-gXHx`h8*!UA}&4@}{3OTR6s>9olU)mzVLn zi!a8VtH*K5cbtI%@9KJGn{!HYI-{WPw^=9LB$*DB2C?a2q9-GOb7ksy4dr8ya>UU|}t4QVIK8^Du0J_sN?slz;TgujRe#Y{XIG*`nqjHgf`S)x`}pHO_(S~2V;_em zcQq8$EVo-|Gf+s^xr@L$i+WP$Q%NInd?nGu%Gw%V#TdeNtTpkzk6a4=YLF zAAsX7&49LMoa0yBcq9Jd?6dKzH(rQi`YWhb6Yb@F&|gmUITm_7ohw)~gQrd>O8a<= zg*P>hFyBMcQwD~1X8}3KbB(WgnhcWoZV>69iw+$A=s*1*IKc8Y11e+Sp#Q_FMH^eZ z*=yHrg*#+ag92=UN|hGCdF(sV=L9d`!o@XccDa%Lb<^zro#JYAYQopM~wUHlMWFct2H3Hi+&P(o=<*!E6IN z)xTA}*ydJp)5=wUTABDN7XbE!5Df@!W=s;O9-$yGRAQWnp7j>?@5l9D{VFc|)F-)? zw6WUjq1kR@z1xH5IB8nsoF`m1Mn3C(vEwfsyI{fgKMqZ+;%TAdWbW}vE~Su1g2N1M z?pQsBoB>YQqGkue#OESt9$dN%TKp0YfbxdThx7`YOYU9Hyf#Tr*b8f=N7xHp(ji?D z%73$iE*HA!>1cwU_5pD{78rE2c=OKqbkU~NsjUwFpFjLBc=SUbjwK4W=%c*DAmhYL zSiZQ>;mtcopIfa>`u%{fW;zV)3(EC*W6PZ38>>g~&mVX{7Ee751KyA%)8?ekc#}?f zV}d!jBpKZR+04)yHZadg)7cfaxV3O8=hY;IJz^y@l`zYjvUVQ?$8@97fEj}i_C?<# z>C)cT@)CDqxl=_eJp;Q-KmS=g;~)PXqN@z+^hM;p6#&Ph!62nza5Lx)&`O%zCGv2r zXIv*V=ClBw`U`-8i9x$RNE|v0WH=ybGCg3hv&bOk!4G&K{;&V||HY~81uQq($hmvb zUtOb4HI<-ETRh5t1*xE12rRg;D9xUXf-17G)uB<@fKsX1I+J+g6>XR`&Y=>ZKdN5zS*5|l z0zCA6NAn1Clq_Th*g_lce*Y!7?XElE6T=GUw@VV}$mz>G5%h5mOP|29L&UaEx7`}r zy{Xrs&Fm%uv@i<#-$S*;#y)s1_~0R<W4DUqf@#cQXM?M0*+UYZ}Z*vEv!<$~4yF(d+1v5j&KtJV<=K^1| zclk-iwfO(em7-P1)aOqXoyh`xcim zSnHy}wiB*kP7M(XE;CZSpU*jvNu!CBY5MMWrH2&IhpXw*UYT07*na zRK}-;aZ><$_0`w#@;B&C9<5dj{r&)rW()EUUN(Szji~1%KT?%P7{{_j|GDFiJMr~f zZiV9*2??)P!Ewd#h<@RD4FC@>1uTn{$#7Ql)6zkZA7<(|6LX$beOpzLY!&m!ZzVIW zT@9Xs5=#NKv?MoUw7U5f3?R4m;$-8_?*W^rCroSH0 zD=5cFdyK)-WuN>cJa61N>!+N=Id?M#+>&jP*Wm4t;4ERghJyXpW=z{P(QdTDR`SBqGJ4#hUDa#0rA6rX zahj(rW8w5uaMSI#;V=K;?{MV}*P+u|#*vj{NL+$GgQ8{b$~1G21{>2CifKZ4qDwjG znPXdoqin+xc(w}$hee)|Uuf^BD{&fa6edas5d?*hiG1`d{z|R59ynyy5xkq zta!q_{JPw<{3M-G)=bwX=4R8Xo@#n_t-UQh>Fv^gjLsjhMOPes+HpLMF6amaIT~F( zJQWUT^MUZnYp%v;KmU2IpNm{qx}4_)LU6-&BJ~P(xb}I$d{4pt8Tg;H{Wp^^jfOTt$a<$j0>Zl3e{ONeFEXB z27sCJ0@Il1C}r!CTU~gw&GqVaBq4D1fM`T)t1ch;CxV{Lwn9JUkQ1;Mee)bm`YJ?s zg6TE{%UNtAUz9(NgT-v05=__-B(lZ>+F8if*72zCemMT%|MUCYtx4g#edvqEo&mai zzu8DoaK}Y1lrY`xccCwp>Ke8AI!nH6yy>*L8)InVgCF@Y5GagsX}5U8>Lbi4nFJaXC_gyijYJ^fsnk56=(JPShh?FqVcyKRgOc(s9D|A^ z;j>8-32jxMGmb%v0bI)6nq|JG>NCLcly}V*)|l=w04Z8c9PRh;($~HgmtOv9bhyKk zbIcbOm(b%_s+q9hu~DVL!?WB63XTC^WpTVTo@&c+EWxoTs9Wt9+#S;wx=&eH!2kT? z{~o@Z;~3~91t7gt!zn9mN|~ybP?ji5^f^DY+6iNdsB6;6O9kV29Y4N;&wu`lFiX%~ zAE47&Vz86ZHhPhSSXq7a++h)WcGJSz>)=8f zm7|ZJSH5{If2cE#gCwNLc0|~GlQ80PWj0sub-jvPvvZU zS{tk}Iw{8Xlr?^oh`cHV^_M_6q`Qt#Fy*5zyWM!R`YS0#=Uak`CCySX@JEgCxgit0hV<9Qe$O3f*kOxp6 z1Evac-iY;kI!6nB?jzQUwX;QXp_c9*TZv%rbXE%d7eRvUNspT)(_*khJ*f(I#z>o zY?p~O|@BfPaJ=`VYq9|RBMiX6*wM!_=g|^5Fv}l*8^su`K zL8P%~6==)>Hc~?|90N*+64f^jqOk)OIAxtMR^*8`IWCU=aQ$^R;q#xn0(s^z=z2J` zdHp3XE!0Te1p_y5d`;0A*HjRm>!o-FcfhkOWB-%jL!QA+cRj<~-}Y`ak`Av&lllto z5b>chPvMNZsS^R7qiO^I+NG2+sng70wgK^W3Qyg2%+j^Btg-qAs9xq19Bqy}uu(QC zZ7es+neIb@k~5<8BY+Z@$4M>roKQvuBdA(HPUxf}98@HQ%)6um&2uE(O2RFc<0d5Tre+fKh2N1PdBe*{Il?cPjH@3a%KjX zB;or5`tAW&e!zG$;DYDPaOtN$iB(Rz0Vi+h9G_Ap!|p@C@CYU|T~gz4l|Yb^WC_o_ zQ0JF<%zb#N8%kHxL)HfIV2k6RaoFjxwe##$^B&e?pQTMhGz}`B2OIt6wC1GRsH5vk z9vNzGJ3zQ1m~zNs1PP@k0leV4$>qGUI+p}ly((I2cc9lM-+9KF_?@Rd4G-uXK*8OH zCjGg|8>MzCQckcYCnR`;c}7}2)gGuZpT|MJXB93 z5>bu}OUnY33nTO46jKS&c@SkqON92zE@E6km=9DWqIPD->M)BPFIoEYa)XDLQf%`1YbXT z4?g|H&x3IuST8{GN{j9k_wK|5?(O#L<92V@qc&%uYGahE^6t&Fr~k?)6>v8hsOxuY zbjxX50>_)k(|`5XuzztGYrRzzoJ__^X3il0)(^L34Bq9#5f~nv0;8#JoCoT+nZtG0 zUyqzO=z^s#NdW2^RymuD%6zV2RVwD6-p`~)2Q@gK)vb&Wea+|}sw>5tcw z7m>Rs8JjY0&={O0FibzH?JF&eOY_!6zu-zR&aUKCM?sE)V);#*uO>hH+0WvVOD+l9 z^G3g*OYpT)hF))gR6d1-wl%2M!I%c0ay^|?Sx-f$6axZy?)WrMH0 zIxsUhj)mG3ZE`0OwL@h!R>+Dkgv<^ z1I5se@`8BV(6s~6$z!quMc;%~!q{-)YHiSE(Zi#@wsQA9_u#{qT?SJy?|?2}LmT~C zL!gHs$r_AV<2{%p$02^sbyD5da&h-2xCm#Qaj|x6FwZkMPO^lHm)=ed=v)J;`_Lyp zhLwI7uE7O`{)B>eDN& zo?ch64adAd6`M}!7E~ZAC_NeF7}d+nWF4U0!NeuJo9rOnwohzvG2x+=76Bxl$j=4>z`YLQH*n%;;jJf zsj&`4{$%Rew7{qq;{d=i%s9-(1**AfdWMRzqS^f#6P=ln9w7=<(~)-~so73?Us@zv zg<+0!gSzMpdO*>fJaFo%_~@rTfv??u8w#!oJ+9CCgA4FtIk<2Mb@@GG59#3=bZ}*5 zzFi!LZ60d4(QL74z&L3fQyJeQ_xWB<#$9#m&G_t9SD?AH0PhSm1~O^{Z10HmwyHI+ zob(vyi=gx*u()LNI>`PqGvBA|m``$NQqnK%toD7gmii-{XzO%cyJ;Wog*Gw!AE^R2K^N*Fd)(ElAM7~PQPyQ-LRSQ>ATN~=_)4DIq3TpMo8wI6Y~3& z-a2l->n=cZfF;_=5hhe&>G-L!5XQON%T20Z|bNVs-@<5_5&h7Z&^cVz_WnFJ$Ky1AG@fs1jWE2y`{ zT{zFzPL7M^DV;_9_OCt_2U;C0z@Z64!zDIXc)Nm(M~;~F6s;C?DLgZUWM1a_Cj2C8MowbzmvfbP~=8m^tRzQ+W-I%07*na zR7hM4ON$4vZ~0WPYq;m`WBAmkK8rWL@nU@RvX7(JP0?(2DAx%6Q5#9pfSH4H3Cmgx zkTRNLBXC$oX@LBA(XjbYe}v5?;~dEd<6PyaUu`HkLdlaI0z!GoE7Rb;0XsZ`7qad+ zRgTPEoo2FeLxpm}24{0hVb>iKHfylLqWs`8b5l|3`9I>JmL7S56}+iDc30N6k$ zzo2%G>+|8^ronk@bcg|WFc%k=&>sw-KT>$_hdzLm6J0+sG2m;duqNn&7T_GoP;fp; zpFmeSRBLKt)=lJAm}#0GG`*f8&zteJ6BJBA3rmX=tic6D@5qXV!+&#wx88m`j<2n9zIb>F2*!C3{D^g? zoqI7J({%5i&yMia5STfD{WUW&C@QJG-|ZJAzMr;qx2| zjwja*uzmrK4Hr5Lj|S^08FeXLg__p7lfZam47IuYkwDkWxF9~_j5G0TKmYHbKOKjH zjG=Dh^-xmvtNP|i>v{;2WGC?(jb;!X3{tRrXmQ(Ja`GoF=4J`L@cA#{g4ewPuRZ?) zyysso!ACywQGDP7AHu)<%lq*9*I$H-FMca7yx@(vYz4i*=~H3e}H!r6VG5L}lDAp|RPnitX0fuKafF@mxexK3pnpXmY-1oVOVRm)7zk zKJ%r^aodr*VO*ngDlK$f_yA*^yc$yn$9WG7uisp|I9#QuY4$nxg&tmWn&{zalo_kj z0GBxO9B#Pl7F>7B&1fz!fUl5IP{zTK5Qg%Iw9M`P^F&?@4P>xTMhncS|0MUz^F)qS zeL$*hRnv93lbP4G8w~nbUS5LNV=`}ozx(S?hyJH(#{lP4K23CZgIeMfcY~A9=-2u$ z1F|9yHx%*Imx!?N(YHY;fDynt!Y#Mmij?)llOFk!+0cn_Vh`CjtA%=bJwK~1)FEMl zkb0M=8Fvy=?BBm1U5<6(3^{Ma?F0LuFB9qqzC7#drmXcrsvOHfIWxnSws5fnJhbNM zi@8b<`aQIHz1A6=KIzAvh{rtgQSe+iWseq6qkgsJl7ua9oU__enXn-}UrK?DOw{ii zHRwxyz9KU-2Gk2dL9^Lr(6fLfX<>c6kDG741z-Ham+|?}U5+chbQNy?$}M~qbvxHi z!_w0JK;^0(zOqtXGp?xACuJ#jAk{xX-}wpSsDe45zIhoshwR>o=!$HhY`&%vy>?Nx`qD}U9wJGUV4-YM2NTIs&J)2#4jD zo2#ZHZ}(I^_q>*T@bLv&++A4VSS~FsGsr8TFAX+29o%~79k`3*GSKb@1DbL;Ip9po zE-ierMQPDZ@L*t&kZmZ~4!C+1d^O%`HPPd4*+R2{L9dJ7|J~m~o575+fo7wL0T)b{ zIJz4Zu(nRGRZ@uwm{nGaOHV|}iJuB^8Vt5F2G1FTtWJjydtCe0*Veh))Z|usj>I)N zMjbe71hkqRboh#`MSp9z7tm%fRAz*Jjr1K*6Hg zYV)Z4~p*X_P5i8 ziMH}m$Yp9FMa{~4>^0BI~nI_#<@enwX+~{`isB7)h_0Z~DNQAd=GRC3c0WkjdR)cKMX>il`~swaD^vh{qm zET&a2Lh?c^o0rD=lW5d2N$(_Hl;18@+o}_((h-3tPmPQn(n($<-4Rl&J_$-kzVePw z@}4&yeNnXu!!JJNDRA^t({H7)EKvpeYa?;I$+Y=yxGxSR%bR1+MGj*fNM8W+He4OW zSJJrzH+}VHv=%yWNrE-rbam5{JjM6)3^s9GBdse}n?jwh{IohM+X~+MFjosc%!FWr z3zQkaTNf9i44V6WKKvNRLSMA*a?RkK7}wu$BbK={G2qR*$@L-U6Pj+=s_UE~fKjIO z82d$)7#++oW?_pS6eJ965XK9tYv%cIW!&yKbNK*%_cwn7>nq1u?2$MZYyyvJpUn(r zM()O`@{L?A6-3!K`^qJDSg8CkNs{n-n_18+KT!Vwqd#>}(0K9Kt&j#B%u2wMB0-TG zRXc!Xo(?4d1{=!BKF9v39nn%hpt0n74Kv9a;vsn<<|8$;k*rynmcCdXsp?h{`O~Om z3(hG~$LndvE9rgk73nwjqu@9QWW$(uE`gCMANfiH1_W?O$dFF6s=frOD;X98lr?hz zB%?ahP}&0?9AZ!$@lYEPkr%0%?1{PE)7Xw^UE3s{+1Bl=UKMq{)AD8pGaD64$0);u znU&?drXVzKRTP{PRaDDHY3h;Qg8rfPu)+DShn<8m1RSp$9}Mn3ehi=Z%xB;m3Hn?c za@NtVjbpj|JJ!#sqrB!gM3Jc{wN5QlhsG;&F6Uf85_1UO*iT&e?-*pnm#@7VT}E96 z2SOb(sx`_7I!u$Cv{M5ysj-ngEL56gPtMq0q`OhN7dqx`f3Mn#dLo_HzQ%kvn5MVN zmkmOl2QI8FP88$K^~e6r<8kWpKIluUklzxC({!NIRx3i*iV>;O2n%+Z(x<^wP7_YP z-^&MB=Tk}Ui*Pe`)EmmYWbZpL8}HLjEDK$d8X}Il<5)ypg*wjugYd*%M~)!nu1n5q z;VGxFku0l23m*p-o@L@imIzy6Iua{`RIomVhwK%GSp+qnxmi$q5upO*M^tIROad4l#=K)%vd zGXMr7&&*Ii%r^7tGV|ug#$w(|HMwx(;>}5B6-CZ#n!|G*XmEA!5YIV7gEFGZXIaWA zmnV+S}mm%z+Mki4MFEjkU- z8BvuHubSUZdaJr-rJdW+x!1B)8iL# zeke^ULzFw2nAWCD3wF@1xF(Hwp-NMIMoo#k1a)C(q2#>-DhKT@Nm%8+@XL znG@5DN+`44)68I2V!L(sR9+pdDAa0x+0yY=|e_4J_{w#_YpYjPyo8`Dar^-VIRY;e)5Xl!RPs7ZIW`42l521x=G;26Mgsk5 zxV}L6rR%Q7J*&sz=*W_xsWKO`UL6S#Q-u}m_25aLP-$XwlE%msLH0=?q?OnqwrsPa zS8eG+?F1Dydy?Fa-P0P}3mwyR@04G)$vFqX%#aYi*T)Y$;$Pt*r=A%WOmG6pSzY3| zAZjm?4iX(hNyI}}E~Y0@l^e_@&^u)xq- zHV-qkHGd^XdBLo#$2BQbt`1dMLUx5|W-!{mw%&zf@WBs`cfs)iZ)qN8EQi2)6Hbkb z7P;J0o*AAnF$7*iYND<}Y8f!)$Oc_Jc>e?N?|$~@aM!K3VUdev!6!iqQM>IBtX4mz zN*5;ZefZReStw8vW@TFACPtZ+tY?`xn_*@wGZy#>Ad9D&$}yC~j*e+Qvt7O#SDjot z{G3beb_)&OBQ)k|+GpUC(oWA;X%30=un@Fx*QQ93r9E`lSFm#Y2t4!f85H11PE@=+ z>tn!c+8?YlP#JKZr?@8O*HC9?Pp#;KkDktsRBx zm}6Z>S>yF=qNDHPeBpEG(U-csh67%^f)k!6^e_}CFGXn+c&x5VJ7Hn;jR%gg2x?Zxz4vb5Fqo_8&lRZ4J~~N`(Lb z5CBO;K~xFLC>GklULNd@+AmcGW6I=&Pg;i!Af#nhPL0Fl@{tU8+kTPt1$v9hlk?>g#wFSuZuJtFwdJ-Gl9M*l@|kac})iCItoAFE=vPv zoOv34;L(r7lb-xjclFxdE>5~a1sy|sfT$d-22VfotW#mnl~f&JF5x{8 zQd`1qRhg;RyVWwizFaW0z>k7Hq&W*xFyY`Bz<4YyF5#AM+=i=exDNXDbG@n>q$#wf zs*iOr{=u|kVt|vT>BQX|DN!Ryk|2ZJA;C3Yxe>SBa~D7-&gejrVUbKOlc6I(2yU1T zOn%5nlF?buj|#R(Y^R=N>j0fMI12?&f|^`T zn>du$xV%tSv8Lnz9^yu92#6DMTu2A{axE2`IkF6eZt9*%`WioZN_sM49bi&9+aKw` zro&8iHnHbsm>JBr0JYf=91NW$#3Wy1PC`Qgv9zE`z?c)9<4zg4w1sxKq`3qM*OOv+ zBQc|t0I&u&9iCi)QkCF_&9Na}N3LC5il~$N+8qCVu8m**`Jcy;JMToox>4cC&dAs; zH7W4=2$-&4G9K(=KoI5tjq<#{QYC~r&xFd@LokVu4hg{MYnYIZyiF8#TwgEg5adNoAYvTC%kcb<^u(2ooj4 z%*Mv7UN7b)F4Xhl%?s6?SGFp*xn8yOK9tsY4$WZ_T5CNlP$S=%)&o$Q+94&8JyTdec9ZC1(unC zC)2XShqUq|FbFV{48b&4&oLQR45yg|st>b`wDR{Rbo0@}M8Dr-u+c}7I6UMb55kk4 z^fL@-{sVsTmwo|HV1RSxcRUaoug#I8cjNfV5u{lUNdx5d8KCrr=#qAku`JK~DERtn zy}JVK*yP*|>U5ex_v3%~hw#h4@{9OA2220?2Oo>Yr3I|49!Ji=ro~;Hg27G7*JMe9 zbC6!LlkqV#UI&|6b@DZzD!!>8))%c}lVFV@*&1tCSu+d$G@DF!quf~8pnvpg8-hHY zajh^eoSM!_vx%>K^=tUrt+(=u8Ntw$1@bTTSyWJ3$a8;4dg{;>uk&CNUQc;S34kHv z6KPI*=gLuhTu55_t3=lrPO;8pTN6o})&iNK8K4YlwavW_=U zeRr%$`Nu!*abeMHl4pDp;9VDuBndvvD%4LMltTc9hbI-vcE*ZSqKc$C)oPdv%xIj< z$|>f|P;lOmeG*SyX*DM*C@rWjJBRvMjzpfjm3p1JRIJpM6{ zLAKt7(Ki6GHlrjaB!hlQT_fpntbThuFP-!*3&Gl@$tF zGVatc&}lRc%gY^{cG`aY)KC35cZYtJ0o6}odEWw#9X|rFZl}{isoztVNAy!)@l~Uw znZe8`qYS|AZh)+y@Lga!c96Skp|OOjJ%YgPEZ;mNmwV z-^iQUsFs<9IwQth38U0F3`Ubn=z(4UJ8hF7S%T)#R#x*RK;Ag8?L&Q^Rf$c(%mS)% zTh*(|(psL>H0r>3sf}mHa%x8yV{Va={05>EvVF`4&x;Wur>602k$%EY!03AfCq?i> z_DTL{a}|y$7jzW7{%E-H zy{g_|1;6yb(1){o6s&7V%=r4{`>n|586m$^zkH8F@Hn>noSr6I= z9yEZhg3vgKVtAOT3@|gIr0Sbl0vo{rFn}=Wrd|vW1OJg{1i&^48o;E|Y#$}Ub)aHV zRgVDMjflL0158oc?nj^+7(b*{{>cI=E`~f*sN;|}!Oc!2uE86WYI!KALHN?bfWE(q z$3E^+c-qr{1wVc8i8$qyC9HRkGq_lVb2$p`suUb&Prne&=@)sPvq|bPgPEZ`3=|mw zyuN~`@d6E`too2KnB^|d|DU}-ftPH#$~)0-#m>w#RMoAzvvf6H&B7WG8W0j71|fvS zBqkYX8-uaIGZ<_)n8Dq~e(l%oe((3|er~&eZTviAo1qQucGCvhfUyB%CR=DiLekZ6 zr90PjhRodY{$K2jbN0!TnJ3Swsw=_kUHjV+v0|+iD^`pdJM+|ZS6O5F+>S0>*wCw9 z^>V%S%fDE!f8A@ewKdRHK8$-~G@-npZ#10NPI~2LK752i)@|5^%%dQrDcTLEAuqfw z7ZHl+u!sqZ(Zq9B56krVB96fgJ^o1Ghy5 z=2L$aq#z`}@FF8F_o@t26G?+?1oN>O(VRlM@6zo&)U!v?Rar}G!V5ST%Cd-W=7*y`u#Q8+2FwRuusjzuO~bs9|(TNf59cnwYFolStdP z5*&G$%ci?My&0;rHj?US$d#(`fH|X&pyW;QH%*`ckMpCEKIM7O*Ur^z+87R52)$e( z>(ajt-c|RK#Y`bW_cn7rImkBPj78bQXB1s3 z*0;y{>li6c!q$Vdoi{_Fkym)2l{BHp6RjqqrEk$KirKqApZ?5qm59D5iPnaY@ZPe-aK_Pi?z>Cnb1)TaA;$kZNscwNWK3<59nhLKUA}v zO>B_45{Rx7V}T`iigk3f+0NMJW%b z4Wg&ME!Rg?VA}QT*NdG^ljwI-CEE0A`^ z+0MFLCbfuAK%eqjNGzga5_|SDo~f;7gJ{;eHZ0<^UR0Oc_gi7sBesC(|d3lf_P?64L@%I!^1iOe2ks}!N*S6{B=7UmLDM060ng3X!e3R?gG z5CBO;K~!uaojKYT#=r3SFVOASu(z|zW^2YrekV!Qh**_<8^p_PLW!(?SY|axrysLq zmCGR81LpHh_k>?U@*{$194j&+j?w3Bn@?MbY3{SQ2}A8W#)Q^ZvJf4g>wb?Hl9Ji_Ae&Ef0Y8V&vhYV)wZbA@6N7Wh8 zr6U|>?O@~1&UN`e*nPqCpUY{^oAuPE-a{Kqk!$7Sg9z%2P2C2}a++QJ_>6QyU^|up z2gw>MPEb{{&5N_U3Um z(LP+6ln<|2?pOA+eOdwS*lVgI8=UcU`j=gZ9a;<^(GQu+!|5|ywYm8NVew9hvqfr=}wz&I6e>4S0N%4(RKJme0_b+@2A&| zTh1_l4IMuX&MGH`bOc&)nb+A4jT#qyDi@e?GvRtwEYf?BN4Il+5Ejcknm|NJQNt*o z)G<N{m~p>kynIK8>ftD)yS>)G1c+>*bK6cLJuj)Qh{Bq9#X zkjTqGM=w+QP~kDfs0kY_T%zG{puorD@t*t|?an(d>TBNimHK_3^1^bG zpdgf;$U%kwrUOsW03KSy)?DD zHaW`Ir80ZUywq}+$woz@(aO)oM?*b!`Lf>g{`W~uqX~1l^Sd(K?*JQd|A52L+(pwL zQk?LZ3rGgR;XSj7J+I#P;ScID{|wJeO_IM16mo^gub&MAhYG)+SpW+7)=bk zh>*uccIPLqxocUub8I&)>GHZN*%#}hFB8R&fpY+Lq{{Ral1vV%8I(`&Q$A@mO)8u% zZ4mIi5*F1{eIucJvWKiDTw8s(4F=u=<%GM=JO zbQQu0 z58K{{*`0RShiNTsI-c-~k5^Nl{@PdRGe7fn@^@Xfx9RUqq7O_ty{RWSldi3?C(#bp zz!be1VX#0(K{+6cfzn4(LuYtF_3VMNx2t`2S6IbR{;ZyFuTQB1D#PJB|_}%t4DWQhV2B8*SK_h|r zJT@Ux@Xyafpse`Yx+4NvbQ2QOgj0tXJ^%T-^Wr5<_Q&w4T$xRdBN>~_XK1F`@lszR zC6rax7>QeSM}#6e^oxi%PV49Q;}OwMu8zkHrf1yZz{kbi~OZY{fY_uq<4 zpXlIr*OPL&W(=k$rL6fvT-SNp%}>|yQ^Ug&B0_FI+YvNgizAxRP#^g4hxO5i{GH#B zhil8cKV@z)S~fc>eStjxo?M4lI*by_`Pk2_pmsN2&%`c|uj_pu`kmD%Lj03YqS z5Cb;2y4yyUm<5US^GKHafTyH>k3VpL>uYzM1=Tx&@L5phSBG>G2DM6u(OQ@5v=-wM zrqjve#F-w)3h)Qxpitch-5;$p)A8-6d+)wW+cDB~fB#6W3J-O4ScF$RDv$N`*?L76 zvhz21Mb)HqWJdIaS$HY0Fy7=xweKdYJwaU@^XG&QJ&}S>%tI!kR^DJXXnFcmo}#Cm zyR*;|lUP6#zK9@3=t<3_r6|rLw}wPl-&qk+K76@Pn0LZE{d+FmsXH!SR6Cx?ZIwM+ zIH$IRNC690Cr&#W@EU6io3CHLs^>iC*?QgUK0_Ou!;;USRp}TZIkfHy z_gCHG%f-6S)nZ(BjsM;X-4k4+EN^ffGdwp;Iq`M9eHzychoW=oaW63Iy zvAEw^>ALSgDXDz8b7N5qjjnSL5r$0Af6 zH4jG=e@Gz}@JxO&m{OjiNiN#QFL-Sf-FFL zhk|%_dw!{yqL*yutQPY!s;3eg7Q%PFu3cnpXcm$k7J za99#5N~RPM2hbU=h$vDKU04z;9@Xa#BjTX!h@3Kj_p83%6MR5KqSY|$7 z!e&>8cEfB^NfFSb651vwr<~F>*gRpw6ZFPJBTuJe{l1sHnAdHuFLi8L?_4kQx*RkK zHu_7$I@{GvD=y3Qv4ZtjR$s2hk1?H*aFV{0@@ugXQG6P)IIMij!dgxjw)DbGpCF`P z6q@H%(K_@eHz_%4LrR?Dy!(B>Eq@1ipAAr?M*Dn7X@-MtzE4U1FLK=HIO#dqUOz7nO>rve&17>t6Gh`xuI>UKF?(c9^6&ia>7B*@0rNhZH6BQEF4?gn=Bf8 zEFk-O{p&wN&wkFcl-b;{B&ma!A6LEl+VMkFY7H44hnY7$=GLmP@-FV!Av#N_o{W^> zp*{_pw5L7&DQt2+Lv0?jL1rTk&G~~tQ#LmK0_%hYH57;H)`-=d@4EbM2^}IPHy3bzY zcDdFbXtSXNH|4hevnsj~+0&GHtID}mdXLx5t!8Qs9bX3XJh>>{k4`UxqF4DP$ZzSV z61|zY)BYPcUffErhO9GQwOrJ$)G%s>x_H}d%8WjbrMhqy`31tJSFBV_X6188^4M*< z(a-3oUHpxpuh((wva208T-PQgO*lE*91XR1{kmTJs#oe#+LBlx5=;T+Z_g)2i!#GD z_aQog)0XQuVZs0LYWgEhlXi}WgR}5hzLbQDKa8TJR(YZ zorfFzB&?(7MtN+*A{~q9i)fZzMt5EX%{+^)=Oef2jbK(-3D&dEr4{z_sQt1e7CcH{ zr7t=wvnbKsb>ZB3WhSyf)q1tG^b(+BNlqar`r1H^?zrO)mDf|Goe>O5IwN-!nD%5K zA2#sKEiMk#9YpP$QeKw*All(6cip8|z2X(xom|rp#whs`QJv*-5tchkyX~f9NA0M)5>!tu!f%hZGSK+pLUSlM*{GXcE#qZt%9TXHhXPH=mx@>HLcM zypz(FJBeqVeCz3Bm5ljL%0G#xlc()Uq=qH2^pTh5te@fjWZR7OrRF$KFt?NekIQIM z(&om9ewoGo9z_|P{f-Dlbg+ISqDx0~VW#)redk?jIc`13Pf-eW+9-)LJS=N05{)=o z#xlM|vM153s{qD%51P)5#Gub=nk4@$JW=0Wj*~z4vp-vxHqWcw+hv0j3gqkEk5}4h z!@4fahl}*M{aaqaZ1PF`j!U;|yyx$cB&CGS%wG-I0qr{V#Z zavY_Y75OT8x}nQ9titZz4kr}@4F*ZqcdqIyzM}g(H>1&ja&d^wCbsBymNB2#mDfT> zp69K-ZNVzAMnwlE1?t&=#E4~uW21BN()sdNkNqWN*c3sp!R*0csJ*>?Ob>9jyYqwl zljW@k&~XDu#7_ct=q6sa=O(IS3OKESmH#jdqAi;i?NYf8 z<7mo0WIUOuVbe32&9|;s{T@!5Rq$YgbLeA~bF*z#8Z;dGXZ_9xKA-`++9{Jke-W`l z8BQW zA>1#Pp(}5dMMv|N@w@z^oL$QNC6C25!V^fHYMAm+|UVY~IbU&{jH(y1c{$#~Rqmg!Yu4{jPPp{(D;(hl$g>@xqZ-2LJ z1hm8#Zk=jlKkm9z`mGCH;(BQ5d!jEzL|Krhyz0m-l1&q(etUb@b=Tdu>oY&=b$ayC zN7(EQbD~fsZ(>CJp@$#QqmMtXRQ4qF#!%UtM3dAqzm$0v zU$W=-V})?&tk(i=VbG=Fe2pA%R36c03|9sl8n%UlEL$li3P~%PSE?YCIw|<&(rc z_uM0Y**G(yMs$;@?J4{#9_Cqvh@fh*Lc`6?vMon7x~7MqW-{187Pgjo!V&)@_YI%@ zSvtS5t&Be!h>3}(T3$C0kk`MIR4idRAX7?lmFr(2`iN1}OTz;#HzQIkIi|?-c+)hxc zm?^KSe4^t`&oO}$32qUiW2}BUYbZBZL8tHNv({;On3TkdNEhgAnoP!;Ovh+!)lyIY zXPkSSV!iaGFVTJXJr&xt6yZ6&#pMDozS^nqol(9Nf zLp-p*uV+8yKE3u+KMns+6>M-4{;`i>DtA9#2)E*nq70r8I>R(LoPPX(_yPOx+3{uo8TkrtlaCzPMh2Z zt~UA1=xUd#VTY>7WjO9H4v$&z$CG`1-sgWF8}+fawl_uh)gG@H&uwoNS@Rl2jz=c3 z7^af>Np#c1^7g>}34upM85{838X7 zctmKAHhA!%kC&k^=2Wc+L*M1~p=E?zf#MC$^Q<5>@dkJ90tyJ28iX>Rd>eN2Fz6j0 ze4qB1ulMQ&TU9_@=Ek?BM4zTpu6CC*f?XJUenGqWJLfI zOFbM`+DT!yoDMru)4I%Luv@aZfb)S=7m zo?ZR|U0wDG&svz}TX?%LAK1utp%)i%EGc~bu+QJ8FNz2LUqm;p>T!G?HP3y?z=(1O z&x14x#sNp_0|nI?B{3*#L=T#`f}GdU2p1&ElzhSl`GHuToOF0?!trq%z_vc zlFH_(vvLaGgpY;OJXM2_8ph3S!wubY=N+0bAos`n+9aJPEv<(Vo)n{_z#bFOb<$mJ ztl={Lh)_h7?8=MjOy*h&MZzm?r4IAy7Ka%rHRzx|_*8??E_D>n+917wL%#Y=Z_#bJ z(O_?^h7AOU$bVj<&JV?(#j@^!sKpP^Q4gQy$7%?zlqa%vMDQUw_|5eb)Bp|@l|$w7 z+-Bu_yn5M;jq>Wj6KF(ez(Pl}p{uYeL(8&!bOfH+I84Ip_VV~BInFJ}R-~geGK5NC zotd7J%Y50wm#x$AhG&K#G{5V21a^{@tpj|5k+N!sMuyf{H|4gT$2sP2BFV4nnn9A8 zC%jI4*0Z0X`<`~M2E)Vxe_gg^$Y$NIu0;I;c_R}y>{t8OXsMmi)zW^@+E>QDlbKy3 zV-aUAw%Xpl-}21P5@H`!F2d7ERxS-Nphk@%4YbdqIojCZmE4}5_Kc_MInR4GZ8cVE z{2^(q@D`qVB><|VHVY-t^AZSp2hA?~$tZrJO&y;HO5x52z|s;A>|F(z4(^Fi6d{T2#(wV(eQ@_`^3DJ!EtXOr_7ypmw{P!8|Z9wzWvb(MJe$4REhqXQj&EJ z2&c@eX>+7^zyEz|QL-@{a&j|aBhG|_3?zAOZkQr!5206!Li9Oq1&UIFQFI6~DK#l! zYt~p(eeAJESRj({uY9>OMv6`qW|chWJ8qsnOsnYA9k&A<-fS$=TWrAOV&`eYnSqP+ z&a#dLr{R^2Ljz`&MsawEpoxOqn{yx9HHf5^32S#}kGUx5#qQx9UwPtA^SdvU^y~ropqv>=eV(KFcmqP0pVc7H zy^3k|)O+t?0PbtRK=t5ku!n4J1WE}tgmjDU?3v`4?pp5guwy??SI^$W=EgqG(EO>^ zudVR{ujG>UuU^v|Ui%rk|GuXw@9xQy&E{~VYuB%9w7H=y6%d@_?xg&*bT{Q>NT1$2<%B33sM5 zSDe6l)3R%M4sTQ`o}t!$9%{1RiaQ`>`r#8-ujneTswT|sE;FKVC=nJu+?i*;q$(R6 z|Wm2hd=TWHB8h8j5jG_18u;a5oap$p@xJ@+)BX3~k2`WH!}$?GJdkml66Nlf<9G#G z$L_P{9a99M>T*c(#Cr+ff!skp)eWdYLuUGfeIerh9?o-~bAS2bwbO=W4A^HklE_Ph z>aOZ%RCENMxon`(&}Bkda+7b~qh&1Ny@ljO<(oE-z6lY1AFxrOE;T;_?~=BBrJW|U zi=#=peC3KBe)N&zTI(|0Pwg|$vqo)-)c=WiEi3{TE2T;k#&SVTJ3LAqm)va zpfmK;H2R4D4-*)sAcOvGal^E-*>R)?_DlyU%Q{`QNwdw0Wi7`J#xqyp^}ke z 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%0D^6TM2L0)uuvWkfE7gCSTPIbIE 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 + {dot ? : null} + {children} + + ); +} diff --git a/docs/design/components/core/Badge.prompt.md b/docs/design/components/core/Badge.prompt.md new file mode 100644 index 0000000..cc21320 --- /dev/null +++ b/docs/design/components/core/Badge.prompt.md @@ -0,0 +1,9 @@ +Status pill for state words (ahead / behind / steeping / blocked); sans text on a muted tint. + +```jsx +ahead +drifting +blocked +``` + +Tones: ok, warn, danger, info, neutral, jade (jade = agent/forecast flavor). Use `Tag` instead for verbatim gitea labels like `est/3d`. diff --git a/docs/design/components/core/Button.d-ts.txt b/docs/design/components/core/Button.d-ts.txt new file mode 100644 index 0000000..4f75749 --- /dev/null +++ b/docs/design/components/core/Button.d-ts.txt @@ -0,0 +1,18 @@ +/** + * CommiTea button. Plain verbs only ("Approve", "Brew plan", "Defer") — never witty. + */ +export interface ButtonProps { + /** @default 'primary' */ + variant?: 'primary' | 'secondary' | 'ghost' | 'danger'; + /** @default 'md' */ + size?: 'sm' | 'md'; + /** Lucide icon name rendered before the label */ + icon?: string; + /** Lucide icon name rendered after the label */ + iconRight?: string; + disabled?: boolean; + onClick?: (e: React.MouseEvent) => void; + children?: React.ReactNode; + style?: React.CSSProperties; +} +export declare function Button(props: ButtonProps): JSX.Element; diff --git a/docs/design/components/core/Button.js.txt b/docs/design/components/core/Button.js.txt new file mode 100644 index 0000000..0ce3545 --- /dev/null +++ b/docs/design/components/core/Button.js.txt @@ -0,0 +1,63 @@ +import React from 'react'; + +const CSS = ` +.ct-btn { + display: inline-flex; align-items: center; justify-content: center; gap: 8px; + font: 600 14px/1 var(--font-sans); + border-radius: var(--radius-2); + border: 1px solid transparent; + cursor: pointer; + white-space: nowrap; + transition: background var(--duration-fast) var(--ease-out), + border-color var(--duration-fast) var(--ease-out), + color var(--duration-fast) var(--ease-out); +} +.ct-btn:disabled { opacity: 0.45; cursor: not-allowed; } +.ct-btn--md { height: 34px; padding: 0 14px; } +.ct-btn--sm { height: 28px; padding: 0 10px; font-size: 13px; } +.ct-btn--primary { background: var(--accent); color: var(--text-on-accent); } +.ct-btn--primary:hover:not(:disabled) { background: var(--accent-hover); } +.ct-btn--primary:active:not(:disabled) { background: var(--accent-pressed); } +.ct-btn--secondary { background: var(--surface-card); border-color: var(--line-2); color: var(--ink-1); } +.ct-btn--secondary:hover:not(:disabled) { background: var(--paper-2); } +.ct-btn--secondary:active:not(:disabled) { background: var(--paper-3); } +.ct-btn--ghost { background: transparent; color: var(--ink-2); } +.ct-btn--ghost:hover:not(:disabled) { background: var(--paper-2); color: var(--ink-1); } +.ct-btn--ghost:active:not(:disabled) { background: var(--paper-3); } +.ct-btn--danger { background: var(--danger); color: var(--ink-inverse); } +.ct-btn--danger:hover:not(:disabled) { filter: brightness(0.92); } +`; +(function inject() { + if (typeof document !== 'undefined' && !document.getElementById('ct-button-css')) { + const s = document.createElement('style'); s.id = 'ct-button-css'; s.textContent = CSS; + document.head.appendChild(s); + } +})(); + +import { Icon } from './Icon'; + +export function Button({ + variant = 'primary', + size = 'md', + icon, + iconRight, + disabled = false, + children, + style, + ...rest +}) { + const iconSize = size === 'sm' ? 15 : 17; + return ( + + ); +} diff --git a/docs/design/components/core/Button.prompt.md b/docs/design/components/core/Button.prompt.md new file mode 100644 index 0000000..7ab2ce9 --- /dev/null +++ b/docs/design/components/core/Button.prompt.md @@ -0,0 +1,10 @@ +Button for all actions; labels are plain sentence-case verbs — the wit lives elsewhere. + +```jsx + + + + +``` + +Variants: `primary` (spruce fill — one per view), `secondary` (hairline outline), `ghost` (bare), `danger` (madder red, destructive confirms only). Sizes `md` 34px / `sm` 28px. `icon`/`iconRight` take Lucide names. diff --git a/docs/design/components/core/Card.d-ts.txt b/docs/design/components/core/Card.d-ts.txt new file mode 100644 index 0000000..c396cff --- /dev/null +++ b/docs/design/components/core/Card.d-ts.txt @@ -0,0 +1,21 @@ +/** + * Paper card — hairline border, 10px radius, whispered shadow. `jade` adds the jade top rule + * reserved for the view's key card (e.g. the Focus card). + */ +export interface CardProps { + /** Caslon title */ + title?: React.ReactNode; + /** Small uppercase label above the title */ + overline?: string; + /** Right-aligned header actions (IconButtons) */ + actions?: React.ReactNode; + /** Footer row below a hairline */ + footer?: React.ReactNode; + /** Jade top rule — one per view @default false */ + jade?: boolean; + /** Remove body padding (tables, charts) @default false */ + flush?: boolean; + children?: React.ReactNode; + style?: React.CSSProperties; +} +export declare function Card(props: CardProps): JSX.Element; diff --git a/docs/design/components/core/Card.js.txt b/docs/design/components/core/Card.js.txt new file mode 100644 index 0000000..383cac3 --- /dev/null +++ b/docs/design/components/core/Card.js.txt @@ -0,0 +1,58 @@ +import React from 'react'; + +const CSS = ` +.ct-card { + background: var(--surface-card); + border: 1px solid var(--border-hairline); + border-radius: var(--radius-3); + box-shadow: var(--shadow-1); +} +.ct-card--jade { box-shadow: var(--shadow-jade-line), var(--shadow-1); } +.ct-card__header { + display: flex; align-items: baseline; justify-content: space-between; gap: 12px; + padding: 16px 20px 0; +} +.ct-card__title { + font: var(--text-title); + color: var(--ink-1); + margin: 0; +} +.ct-card__overline { + font: var(--text-overline); + letter-spacing: var(--letter-spacing-wide); + text-transform: uppercase; + color: var(--ink-3); + margin: 0 0 6px; +} +.ct-card__body { padding: 14px 20px 18px; } +.ct-card__body--flush { padding: 0; } +.ct-card__footer { + display: flex; align-items: center; gap: 8px; + padding: 12px 20px; + border-top: 1px solid var(--border-hairline); +} +`; +(function inject() { + if (typeof document !== 'undefined' && !document.getElementById('ct-card-css')) { + const s = document.createElement('style'); s.id = 'ct-card-css'; s.textContent = CSS; + document.head.appendChild(s); + } +})(); + +export function Card({ title, overline, actions, footer, jade = false, flush = false, children, style, ...rest }) { + return ( +

+ {(title || overline || actions) ? ( +
+
+ {overline ?

{overline}

: null} + {title ?

{title}

: null} +
+ {actions ?
{actions}
: null} +
+ ) : null} +
{children}
+ {footer ?
{footer}
: null} +
+ ); +} diff --git a/docs/design/components/core/Card.prompt.md b/docs/design/components/core/Card.prompt.md new file mode 100644 index 0000000..dd3e602 --- /dev/null +++ b/docs/design/components/core/Card.prompt.md @@ -0,0 +1,11 @@ +Paper card container; title is set in Caslon, elevation is whispered. + +```jsx +} + footer={}> + Body content. + +``` + +`jade` (jade top rule) marks the single most important card in a view. `flush` removes body padding for tables/charts. diff --git a/docs/design/components/core/Icon.d-ts.txt b/docs/design/components/core/Icon.d-ts.txt new file mode 100644 index 0000000..aab00c0 --- /dev/null +++ b/docs/design/components/core/Icon.d-ts.txt @@ -0,0 +1,15 @@ +/** + * Inline Lucide icon (1.5px stroke), tinted by currentColor. + */ +export interface IconProps { + /** Lucide icon name, e.g. "circle-dot", "sparkles", "git-branch" */ + name: string; + /** Square size in px. 16 inline, 18–20 in buttons/nav. @default 16 */ + size?: number; + /** @default 1.5 */ + strokeWidth?: number; + /** Accessible label; omit for decorative icons */ + title?: string; + style?: React.CSSProperties; +} +export declare function Icon(props: IconProps): JSX.Element; diff --git a/docs/design/components/core/Icon.js.txt b/docs/design/components/core/Icon.js.txt new file mode 100644 index 0000000..daf8ed7 --- /dev/null +++ b/docs/design/components/core/Icon.js.txt @@ -0,0 +1,32 @@ +import React from 'react'; + +/* Generated from assets/icons/*.svg (lucide-static v0.462.0, ISC). Do not edit paths by hand. */ +const ICONS = {"activity":"","arrow-left":"\n ","arrow-right":"\n ","arrow-up-right":"\n ","bell":"\n ","calendar":"\n \n \n ","chart-line":"\n ","chart-no-axes-gantt":"\n \n ","check":"","chevron-down":"","chevron-left":"","chevron-right":"","chevron-up":"","circle-alert":"\n \n ","circle-check":"\n ","circle-dashed":"\n \n \n \n \n \n \n ","circle-dot":"\n ","circle":"","clock-3":"\n ","clock":"\n ","coffee":"\n \n \n ","copy":"\n ","ellipsis":"\n \n ","external-link":"\n \n ","eye":"\n ","filter":"","flag":"\n ","gauge":"\n ","git-branch":"\n \n \n ","git-commit-horizontal":"\n \n ","git-merge":"\n \n ","git-pull-request":"\n \n \n ","history":"\n \n ","inbox":"\n ","info":"\n \n ","keyboard":"\n \n \n \n \n \n \n \n ","layers":"\n \n ","leaf":"\n ","link":"\n ","list-filter":"\n \n ","list":"\n \n \n \n \n ","loader-circle":"","message-square":"","milestone":"\n \n ","minus":"","moon":"","network":"\n \n \n \n ","panel-left":"\n ","pause":"\n ","pencil":"\n ","play":"","plus":"\n ","refresh-cw":"\n \n \n ","search":"\n ","send":"\n ","settings-2":"\n \n \n ","settings":"\n ","sparkles":"\n \n \n \n ","square-kanban":"\n \n \n ","sun":"\n \n \n \n \n \n \n \n ","tag":"\n ","target":"\n \n ","trash-2":"\n \n \n \n ","trending-up":"\n ","triangle-alert":"\n \n ","user":"\n ","users":"\n \n \n ","x":"\n ","zap":""}; + +export function Icon({ name, size = 16, strokeWidth = 1.5, title, style, ...rest }) { + const inner = ICONS[name]; + if (!inner) { + console.warn('[CommiTea Icon] unknown icon: ' + name); + return null; + } + return ( + + ); +} + +export const ICON_NAMES = Object.keys(ICONS); diff --git a/docs/design/components/core/Icon.prompt.md b/docs/design/components/core/Icon.prompt.md new file mode 100644 index 0000000..c862015 --- /dev/null +++ b/docs/design/components/core/Icon.prompt.md @@ -0,0 +1,8 @@ +Inline SVG icon from the local Lucide set (69 icons, 1.5px stroke); color inherits currentColor. + +```jsx + + +``` + +Domain mapping: issues circle-dot · milestones milestone · board square-kanban · forecast chart-line · deps network · agent sparkles · standup coffee · capacity gauge · directives flag. ICON_NAMES export lists all available names. Icons are decorative by default (aria-hidden); pass title for meaningful ones. diff --git a/docs/design/components/core/IconButton.d-ts.txt b/docs/design/components/core/IconButton.d-ts.txt new file mode 100644 index 0000000..d2f3545 --- /dev/null +++ b/docs/design/components/core/IconButton.d-ts.txt @@ -0,0 +1,17 @@ +/** + * Square icon-only button; label is mandatory (becomes aria-label + title). + */ +export interface IconButtonProps { + /** Lucide icon name */ + icon: string; + /** Required accessible label (also the tooltip) */ + label: string; + /** @default 'ghost' */ + variant?: 'ghost' | 'outline'; + /** @default 'md' */ + size?: 'sm' | 'md'; + disabled?: boolean; + onClick?: (e: React.MouseEvent) => void; + style?: React.CSSProperties; +} +export declare function IconButton(props: IconButtonProps): JSX.Element; diff --git a/docs/design/components/core/IconButton.js.txt b/docs/design/components/core/IconButton.js.txt new file mode 100644 index 0000000..ca7fa60 --- /dev/null +++ b/docs/design/components/core/IconButton.js.txt @@ -0,0 +1,51 @@ +import React from 'react'; +import { Icon } from './Icon'; + +const CSS = ` +.ct-iconbtn { + display: inline-flex; align-items: center; justify-content: center; + border-radius: var(--radius-2); + border: 1px solid transparent; + background: transparent; + color: var(--ink-2); + cursor: pointer; + transition: background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out); +} +.ct-iconbtn:hover:not(:disabled) { background: var(--paper-2); color: var(--ink-1); } +.ct-iconbtn:active:not(:disabled) { background: var(--paper-3); } +.ct-iconbtn:disabled { opacity: 0.45; cursor: not-allowed; } +.ct-iconbtn--md { width: 34px; height: 34px; } +.ct-iconbtn--sm { width: 28px; height: 28px; } +.ct-iconbtn--outline { border-color: var(--line-2); background: var(--surface-card); } +.ct-iconbtn--outline:hover:not(:disabled) { background: var(--paper-2); } +`; +(function inject() { + if (typeof document !== 'undefined' && !document.getElementById('ct-iconbtn-css')) { + const s = document.createElement('style'); s.id = 'ct-iconbtn-css'; s.textContent = CSS; + document.head.appendChild(s); + } +})(); + +export function IconButton({ + icon, + label, + variant = 'ghost', + size = 'md', + disabled = false, + style, + ...rest +}) { + return ( + + ); +} diff --git a/docs/design/components/core/IconButton.prompt.md b/docs/design/components/core/IconButton.prompt.md new file mode 100644 index 0000000..34c3c67 --- /dev/null +++ b/docs/design/components/core/IconButton.prompt.md @@ -0,0 +1,8 @@ +Icon-only square button for toolbars and row actions; `label` is required and doubles as the tooltip. + +```jsx + + +``` + +Variants: `ghost` (default), `outline`. Sizes `md` 34px / `sm` 28px. diff --git a/docs/design/components/core/Tabs.d-ts.txt b/docs/design/components/core/Tabs.d-ts.txt new file mode 100644 index 0000000..6718f1f --- /dev/null +++ b/docs/design/components/core/Tabs.d-ts.txt @@ -0,0 +1,19 @@ +/** + * Underline tabs for view switching (Board / Gantt / Dependencies). + */ +export interface TabItem { + id: string; + label: string; + /** Lucide icon name */ + icon?: string; + /** Mono count rendered after the label */ + count?: number; +} +export interface TabsProps { + items: TabItem[]; + /** id of the active tab */ + active: string; + onChange?: (id: string) => void; + style?: React.CSSProperties; +} +export declare function Tabs(props: TabsProps): JSX.Element; diff --git a/docs/design/components/core/Tabs.js.txt b/docs/design/components/core/Tabs.js.txt new file mode 100644 index 0000000..69d77d2 --- /dev/null +++ b/docs/design/components/core/Tabs.js.txt @@ -0,0 +1,54 @@ +import React from 'react'; +import { Icon } from './Icon'; + +const CSS = ` +.ct-tabs { + display: flex; gap: 2px; + border-bottom: 1px solid var(--border-hairline); +} +.ct-tab { + display: inline-flex; align-items: center; gap: 7px; + font: 500 13.5px/1 var(--font-sans); + color: var(--ink-2); + background: none; border: none; + padding: 10px 12px; + margin-bottom: -1px; + border-bottom: 2px solid transparent; + cursor: pointer; + transition: color var(--duration-fast) var(--ease-out); +} +.ct-tab:hover { color: var(--ink-1); } +.ct-tab--active { + color: var(--ink-1); + font-weight: 600; + border-bottom-color: var(--accent); +} +.ct-tab__count { font: 400 11.5px/1 var(--font-mono); color: var(--ink-3); } +`; +(function inject() { + if (typeof document !== 'undefined' && !document.getElementById('ct-tabs-css')) { + const s = document.createElement('style'); s.id = 'ct-tabs-css'; s.textContent = CSS; + document.head.appendChild(s); + } +})(); + +export function Tabs({ items, active, onChange, style, ...rest }) { + return ( +
+ {items.map((item) => ( + + ))} +
+ ); +} diff --git a/docs/design/components/core/Tabs.prompt.md b/docs/design/components/core/Tabs.prompt.md new file mode 100644 index 0000000..292aa2f --- /dev/null +++ b/docs/design/components/core/Tabs.prompt.md @@ -0,0 +1,13 @@ +Underline tab strip for switching sibling views; active tab gets a 2px spruce underline. + +```jsx + +``` diff --git a/docs/design/components/core/Tag.d-ts.txt b/docs/design/components/core/Tag.d-ts.txt new file mode 100644 index 0000000..5a931f2 --- /dev/null +++ b/docs/design/components/core/Tag.d-ts.txt @@ -0,0 +1,12 @@ +/** + * Gitea label chip — renders label text verbatim in mono; tone derives from the label itself + * (est/[1d 2d 3d 5d 8d], p/1..4, deadline/hard). + */ +export interface TagProps { + /** Verbatim gitea label, e.g. "est/3d", "p/1", "deadline/hard" */ + label: string; + /** Renders a small remove button when provided */ + onRemove?: (e: React.MouseEvent) => void; + style?: React.CSSProperties; +} +export declare function Tag(props: TagProps): JSX.Element; diff --git a/docs/design/components/core/Tag.js.txt b/docs/design/components/core/Tag.js.txt new file mode 100644 index 0000000..194d4df --- /dev/null +++ b/docs/design/components/core/Tag.js.txt @@ -0,0 +1,54 @@ +import React from 'react'; +import { Icon } from './Icon'; + +const CSS = ` +.ct-tag { + display: inline-flex; align-items: center; gap: 5px; + font: 500 11.5px/1 var(--font-mono); + letter-spacing: var(--letter-spacing-label); + padding: 4px 9px; + border-radius: var(--radius-round); + white-space: nowrap; +} +.ct-tag--est { background: var(--label-est-bg); color: var(--label-est-text); } +.ct-tag--p1 { background: var(--danger-tint); color: var(--label-p1); } +.ct-tag--p2 { background: var(--warn-tint); color: var(--label-p2); } +.ct-tag--p3 { background: var(--info-tint); color: var(--label-p3); } +.ct-tag--p4 { background: var(--paper-2); color: var(--label-p4); } +.ct-tag--hard { background: var(--label-hard); color: var(--ink-inverse); } +.ct-tag--plain { background: var(--paper-2); color: var(--ink-2); } +.ct-tag__x { + display: inline-flex; padding: 0; margin: 0 -3px 0 0; + background: none; border: none; color: inherit; cursor: pointer; opacity: 0.6; +} +.ct-tag__x:hover { opacity: 1; } +`; +(function inject() { + if (typeof document !== 'undefined' && !document.getElementById('ct-tag-css')) { + const s = document.createElement('style'); s.id = 'ct-tag-css'; s.textContent = CSS; + document.head.appendChild(s); + } +})(); + +function toneFor(label) { + if (label.startsWith('est/')) return 'est'; + if (label === 'p/1') return 'p1'; + if (label === 'p/2') return 'p2'; + if (label === 'p/3') return 'p3'; + if (label === 'p/4') return 'p4'; + if (label === 'deadline/hard') return 'hard'; + return 'plain'; +} + +export function Tag({ label, onRemove, style, ...rest }) { + return ( + + {label} + {onRemove ? ( + + ) : null} + + ); +} diff --git a/docs/design/components/core/Tag.prompt.md b/docs/design/components/core/Tag.prompt.md new file mode 100644 index 0000000..d268d96 --- /dev/null +++ b/docs/design/components/core/Tag.prompt.md @@ -0,0 +1,10 @@ +Gitea label chip; pass the label verbatim and the tone is derived (est/* neutral, p/1 red → p/4 gray, deadline/hard filled red). + +```jsx + + + + +``` + +Machine data stays mono and verbatim — never paraphrase a label. Use `Badge` for human state words. diff --git a/docs/design/components/core/core.card.html b/docs/design/components/core/core.card.html new file mode 100644 index 0000000..9e50fd6 --- /dev/null +++ b/docs/design/components/core/core.card.html @@ -0,0 +1,75 @@ + + + + + + + + + + + + + +
+ + + diff --git a/docs/design/components/feedback/Dialog.d-ts.txt b/docs/design/components/feedback/Dialog.d-ts.txt new file mode 100644 index 0000000..4282d06 --- /dev/null +++ b/docs/design/components/feedback/Dialog.d-ts.txt @@ -0,0 +1,14 @@ +/** + * Modal dialog — Caslon title over a double stationery rule; used for propose-approve + * moments and destructive confirms. + */ +export interface DialogProps { + open: boolean; + onClose?: () => void; + title: React.ReactNode; + /** Right-aligned action row (Buttons) */ + footer?: React.ReactNode; + children?: React.ReactNode; + style?: React.CSSProperties; +} +export declare function Dialog(props: DialogProps): JSX.Element | null; diff --git a/docs/design/components/feedback/Dialog.js.txt b/docs/design/components/feedback/Dialog.js.txt new file mode 100644 index 0000000..5060fec --- /dev/null +++ b/docs/design/components/feedback/Dialog.js.txt @@ -0,0 +1,68 @@ +import React from 'react'; +import { IconButton } from '../core/IconButton'; + +const CSS = ` +.ct-dialog-scrim { + position: fixed; inset: 0; + background: rgba(32, 38, 29, 0.4); + display: flex; align-items: center; justify-content: center; + z-index: 100; + animation: ct-dialog-fade var(--duration-base) var(--ease-out); +} +.ct-dialog { + background: var(--surface-card); + border: 1px solid var(--border-hairline); + border-radius: var(--radius-3); + box-shadow: var(--shadow-3); + width: min(480px, calc(100vw - 48px)); + max-height: calc(100vh - 96px); + display: flex; flex-direction: column; + animation: ct-dialog-rise var(--duration-base) var(--ease-out); +} +.ct-dialog__header { + display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; + padding: 20px 20px 12px; + border-bottom: 3px double var(--border-strong); + margin: 0 20px; padding-left: 0; padding-right: 0; +} +.ct-dialog__title { font: var(--text-title); color: var(--ink-1); margin: 0; } +.ct-dialog__body { padding: 16px 20px; overflow-y: auto; font: var(--text-body); color: var(--ink-1); } +.ct-dialog__footer { + display: flex; justify-content: flex-end; gap: 8px; + padding: 12px 20px 20px; +} +@keyframes ct-dialog-fade { from { opacity: 0; } } +@keyframes ct-dialog-rise { from { opacity: 0; transform: translateY(8px); } } +@media (prefers-reduced-motion: reduce) { + .ct-dialog-scrim, .ct-dialog { animation: none; } +} +`; +(function inject() { + if (typeof document !== 'undefined' && !document.getElementById('ct-dialog-css')) { + const s = document.createElement('style'); s.id = 'ct-dialog-css'; s.textContent = CSS; + document.head.appendChild(s); + } +})(); + +export function Dialog({ open, onClose, title, footer, children, style }) { + React.useEffect(() => { + if (!open) return; + const onKey = (e) => { if (e.key === 'Escape' && onClose) onClose(); }; + document.addEventListener('keydown', onKey); + return () => document.removeEventListener('keydown', onKey); + }, [open, onClose]); + + if (!open) return null; + return ( +
{ if (e.target === e.currentTarget && onClose) onClose(); }}> +
+
+

{title}

+ {onClose ? : null} +
+
{children}
+ {footer ?
{footer}
: null} +
+
+ ); +} diff --git a/docs/design/components/feedback/Dialog.prompt.md b/docs/design/components/feedback/Dialog.prompt.md new file mode 100644 index 0000000..8c095fe --- /dev/null +++ b/docs/design/components/feedback/Dialog.prompt.md @@ -0,0 +1,17 @@ +Modal for propose-approve and destructive confirms; the title sits over a double stationery rule. + +```jsx + + + + } +> + This deletes the milestone and unhouses 12 issues. I'd like to hear you say yes. + +``` + +Body copy may be Reginald's (serif if quoted). Escape and scrim-click close it. diff --git a/docs/design/components/feedback/Toast.d-ts.txt b/docs/design/components/feedback/Toast.d-ts.txt new file mode 100644 index 0000000..60b96e5 --- /dev/null +++ b/docs/design/components/feedback/Toast.d-ts.txt @@ -0,0 +1,12 @@ +/** + * Transient notification card. Presentational — the consumer owns positioning/stacking. + */ +export interface ToastProps { + /** @default 'info' */ + tone?: 'ok' | 'warn' | 'danger' | 'info'; + title?: React.ReactNode; + onDismiss?: () => void; + children?: React.ReactNode; + style?: React.CSSProperties; +} +export declare function Toast(props: ToastProps): JSX.Element; diff --git a/docs/design/components/feedback/Toast.js.txt b/docs/design/components/feedback/Toast.js.txt new file mode 100644 index 0000000..11d6d29 --- /dev/null +++ b/docs/design/components/feedback/Toast.js.txt @@ -0,0 +1,53 @@ +import React from 'react'; +import { Icon } from '../core/Icon'; +import { IconButton } from '../core/IconButton'; + +const CSS = ` +.ct-toast { + display: flex; align-items: flex-start; gap: 10px; + background: var(--surface-card); + border: 1px solid var(--border-hairline); + border-radius: var(--radius-2); + box-shadow: var(--shadow-2); + padding: 12px 14px; + max-width: 420px; + font: var(--text-body); + color: var(--ink-1); + animation: ct-toast-in var(--duration-slow) var(--ease-out); +} +.ct-toast__icon { display: flex; margin-top: 1px; } +.ct-toast--ok .ct-toast__icon { color: var(--ok); } +.ct-toast--warn .ct-toast__icon { color: var(--warn); } +.ct-toast--danger .ct-toast__icon { color: var(--danger); } +.ct-toast--info .ct-toast__icon { color: var(--info); } +.ct-toast__content { flex: 1; min-width: 0; } +.ct-toast__title { font: var(--text-body-strong); margin: 0 0 2px; } +@keyframes ct-toast-in { from { opacity: 0; transform: translateY(6px); } } +@media (prefers-reduced-motion: reduce) { .ct-toast { animation: none; } } +`; +(function inject() { + if (typeof document !== 'undefined' && !document.getElementById('ct-toast-css')) { + const s = document.createElement('style'); s.id = 'ct-toast-css'; s.textContent = CSS; + document.head.appendChild(s); + } +})(); + +const TOAST_ICONS = { + ok: 'circle-check', + warn: 'triangle-alert', + danger: 'circle-alert', + info: 'info', +}; + +export function Toast({ tone = 'info', title, onDismiss, children, style, ...rest }) { + return ( +
+ +
+ {title ?

{title}

: null} + {children} +
+ {onDismiss ? : null} +
+ ); +} diff --git a/docs/design/components/feedback/Toast.prompt.md b/docs/design/components/feedback/Toast.prompt.md new file mode 100644 index 0000000..d7fd343 --- /dev/null +++ b/docs/design/components/feedback/Toast.prompt.md @@ -0,0 +1,10 @@ +Notification card for sync events and quiet agent asides; position/stacking is the consumer's job (fixed bottom-right, 12px gap). + +```jsx + + 500 issues in 3.2s. Nothing drifted. + + + I'll keep trying and say nothing more about it. + +``` diff --git a/docs/design/components/feedback/Tooltip.d-ts.txt b/docs/design/components/feedback/Tooltip.d-ts.txt new file mode 100644 index 0000000..70271d7 --- /dev/null +++ b/docs/design/components/feedback/Tooltip.d-ts.txt @@ -0,0 +1,11 @@ +/** + * Hover/focus tooltip — ink capsule, plain facts only. + */ +export interface TooltipProps { + content: React.ReactNode; + /** @default 'top' */ + side?: 'top' | 'bottom'; + children?: React.ReactNode; + style?: React.CSSProperties; +} +export declare function Tooltip(props: TooltipProps): JSX.Element; diff --git a/docs/design/components/feedback/Tooltip.js.txt b/docs/design/components/feedback/Tooltip.js.txt new file mode 100644 index 0000000..3a9a34f --- /dev/null +++ b/docs/design/components/feedback/Tooltip.js.txt @@ -0,0 +1,43 @@ +import React from 'react'; + +const CSS = ` +.ct-tooltip-wrap { position: relative; display: inline-flex; } +.ct-tooltip { + position: absolute; bottom: calc(100% + 7px); left: 50%; + transform: translateX(-50%) translateY(2px); + background: var(--ink-1); + color: var(--ink-inverse); + font: 500 12px/1.4 var(--font-sans); + padding: 5px 9px; + border-radius: var(--radius-1); + white-space: nowrap; + pointer-events: none; + opacity: 0; + transition: opacity var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out); + z-index: 50; +} +.ct-tooltip--bottom { bottom: auto; top: calc(100% + 7px); transform: translateX(-50%) translateY(-2px); } +.ct-tooltip-wrap:hover .ct-tooltip, +.ct-tooltip-wrap:focus-within .ct-tooltip { + opacity: 1; + transform: translateX(-50%) translateY(0); +} +.ct-tooltip code { font: 500 11px var(--font-mono); } +`; +(function inject() { + if (typeof document !== 'undefined' && !document.getElementById('ct-tooltip-css')) { + const s = document.createElement('style'); s.id = 'ct-tooltip-css'; s.textContent = CSS; + document.head.appendChild(s); + } +})(); + +export function Tooltip({ content, side = 'top', children, style }) { + return ( + + {children} + + {content} + + + ); +} diff --git a/docs/design/components/feedback/Tooltip.prompt.md b/docs/design/components/feedback/Tooltip.prompt.md new file mode 100644 index 0000000..9e44d22 --- /dev/null +++ b/docs/design/components/feedback/Tooltip.prompt.md @@ -0,0 +1,8 @@ +Tooltip for icon buttons and truncated data; content is plain facts, never wit. + +```jsx + + + +opened 2026-07-01} side="bottom">… +``` diff --git a/docs/design/components/feedback/feedback.card.html b/docs/design/components/feedback/feedback.card.html new file mode 100644 index 0000000..7ce1bf1 --- /dev/null +++ b/docs/design/components/feedback/feedback.card.html @@ -0,0 +1,52 @@ + + + + + + + + + + + + + +
+ + + diff --git a/docs/design/components/forms/Checkbox.d-ts.txt b/docs/design/components/forms/Checkbox.d-ts.txt new file mode 100644 index 0000000..3127075 --- /dev/null +++ b/docs/design/components/forms/Checkbox.d-ts.txt @@ -0,0 +1,11 @@ +/** + * Checkbox with label; 16px box, spruce when checked. + */ +export interface CheckboxProps { + label?: React.ReactNode; + checked?: boolean; + onChange?: (e: React.ChangeEvent) => void; + disabled?: boolean; + style?: React.CSSProperties; +} +export declare function Checkbox(props: CheckboxProps): JSX.Element; diff --git a/docs/design/components/forms/Checkbox.js.txt b/docs/design/components/forms/Checkbox.js.txt new file mode 100644 index 0000000..b7e2da3 --- /dev/null +++ b/docs/design/components/forms/Checkbox.js.txt @@ -0,0 +1,43 @@ +import React from 'react'; +import { Icon } from '../core/Icon'; + +const CSS = ` +.ct-check { display: inline-flex; align-items: center; gap: 9px; cursor: pointer; font: var(--text-body); color: var(--ink-1); } +.ct-check--disabled { opacity: 0.5; cursor: not-allowed; } +.ct-check__input { position: absolute; opacity: 0; width: 0; height: 0; } +.ct-check__box { + width: 16px; height: 16px; flex-shrink: 0; + display: inline-flex; align-items: center; justify-content: center; + background: var(--surface-card); + border: 1px solid var(--line-2); + border-radius: var(--radius-1); + color: transparent; + transition: background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out); +} +.ct-check:hover:not(.ct-check--disabled) .ct-check__box { border-color: var(--border-strong); } +.ct-check__input:checked + .ct-check__box { background: var(--accent); border-color: var(--accent); color: var(--ink-inverse); } +.ct-check__input:focus-visible + .ct-check__box { outline: 2px solid var(--focus-ring); outline-offset: 2px; } +`; +(function inject() { + if (typeof document !== 'undefined' && !document.getElementById('ct-check-css')) { + const s = document.createElement('style'); s.id = 'ct-check-css'; s.textContent = CSS; + document.head.appendChild(s); + } +})(); + +export function Checkbox({ label, checked, onChange, disabled = false, style, ...rest }) { + return ( + + ); +} diff --git a/docs/design/components/forms/Checkbox.prompt.md b/docs/design/components/forms/Checkbox.prompt.md new file mode 100644 index 0000000..dabef5d --- /dev/null +++ b/docs/design/components/forms/Checkbox.prompt.md @@ -0,0 +1,5 @@ +Checkbox for multi-selects and settings toggles that read as options (use `Switch` for live on/off state). + +```jsx + setInc(e.target.checked)} /> +``` diff --git a/docs/design/components/forms/Input.d-ts.txt b/docs/design/components/forms/Input.d-ts.txt new file mode 100644 index 0000000..71c3c5c --- /dev/null +++ b/docs/design/components/forms/Input.d-ts.txt @@ -0,0 +1,21 @@ +/** + * Single-line text input with optional label, hint/error and leading icon. + */ +export interface InputProps { + label?: string; + /** Small gray helper under the field */ + hint?: string; + /** Replaces hint; turns the border madder red */ + error?: string; + /** Lucide icon name, leading */ + icon?: string; + /** Mono text for machine values (urls, tokens) @default false */ + mono?: boolean; + placeholder?: string; + value?: string; + onChange?: (e: React.ChangeEvent) => void; + disabled?: boolean; + type?: string; + style?: React.CSSProperties; +} +export declare function Input(props: InputProps): JSX.Element; diff --git a/docs/design/components/forms/Input.js.txt b/docs/design/components/forms/Input.js.txt new file mode 100644 index 0000000..9543feb --- /dev/null +++ b/docs/design/components/forms/Input.js.txt @@ -0,0 +1,54 @@ +import React from 'react'; +import { Icon } from '../core/Icon'; + +const CSS = ` +.ct-field { display: flex; flex-direction: column; gap: 6px; } +.ct-field__label { font: 600 13px/1.2 var(--font-sans); color: var(--ink-1); } +.ct-field__wrap { position: relative; display: flex; align-items: center; } +.ct-field__icon { position: absolute; left: 10px; color: var(--ink-3); pointer-events: none; display: flex; } +.ct-input { + width: 100%; height: 34px; + font: var(--text-body); + color: var(--ink-1); + background: var(--surface-card); + border: 1px solid var(--line-2); + border-radius: var(--radius-2); + padding: 0 12px; + transition: border-color var(--duration-fast) var(--ease-out); +} +.ct-input::placeholder { color: var(--ink-3); } +.ct-input:hover:not(:disabled):not(:focus) { border-color: var(--border-strong); background: var(--paper-1); } +.ct-input:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent); } +.ct-input:disabled { opacity: 0.5; background: var(--paper-2); cursor: not-allowed; } +.ct-input--icon { padding-left: 32px; } +.ct-input--error { border-color: var(--danger); } +.ct-input--error:focus { border-color: var(--danger); box-shadow: 0 0 0 1px var(--danger); } +.ct-input--mono { font: var(--text-data); } +.ct-field__hint { font: var(--text-caption); color: var(--ink-3); margin: 0; } +.ct-field__error { font: var(--text-caption); color: var(--danger); margin: 0; } +`; +(function inject() { + if (typeof document !== 'undefined' && !document.getElementById('ct-input-css')) { + const s = document.createElement('style'); s.id = 'ct-input-css'; s.textContent = CSS; + document.head.appendChild(s); + } +})(); + +export function Input({ label, hint, error, icon, mono = false, style, ...rest }) { + const cls = [ + 'ct-input', + icon ? 'ct-input--icon' : '', + error ? 'ct-input--error' : '', + mono ? 'ct-input--mono' : '', + ].filter(Boolean).join(' '); + return ( +
+ {label ? : null} +
+ {icon ? : null} + +
+ {error ?

{error}

: hint ?

{hint}

: null} +
+ ); +} diff --git a/docs/design/components/forms/Input.prompt.md b/docs/design/components/forms/Input.prompt.md new file mode 100644 index 0000000..b5c05e7 --- /dev/null +++ b/docs/design/components/forms/Input.prompt.md @@ -0,0 +1,8 @@ +Text input; focus is a spruce border, errors are stated plainly. + +```jsx + + +``` + +`mono` for machine values (URLs, tokens, label strings). Error copy may carry the wit; the field itself stays sober. diff --git a/docs/design/components/forms/Radio.d-ts.txt b/docs/design/components/forms/Radio.d-ts.txt new file mode 100644 index 0000000..b9e9244 --- /dev/null +++ b/docs/design/components/forms/Radio.d-ts.txt @@ -0,0 +1,13 @@ +/** + * Radio button with label; group by `name`. + */ +export interface RadioProps { + label?: React.ReactNode; + checked?: boolean; + onChange?: (e: React.ChangeEvent) => void; + name?: string; + value?: string; + disabled?: boolean; + style?: React.CSSProperties; +} +export declare function Radio(props: RadioProps): JSX.Element; diff --git a/docs/design/components/forms/Radio.js.txt b/docs/design/components/forms/Radio.js.txt new file mode 100644 index 0000000..6f7c037 --- /dev/null +++ b/docs/design/components/forms/Radio.js.txt @@ -0,0 +1,50 @@ +import React from 'react'; + +const CSS = ` +.ct-radio { display: inline-flex; align-items: center; gap: 9px; cursor: pointer; font: var(--text-body); color: var(--ink-1); } +.ct-radio--disabled { opacity: 0.5; cursor: not-allowed; } +.ct-radio__input { position: absolute; opacity: 0; width: 0; height: 0; } +.ct-radio__dot { + width: 16px; height: 16px; flex-shrink: 0; + border: 1px solid var(--line-2); + border-radius: 50%; + background: var(--surface-card); + display: inline-flex; align-items: center; justify-content: center; + transition: border-color var(--duration-fast) var(--ease-out); +} +.ct-radio__dot::after { + content: ''; + width: 8px; height: 8px; border-radius: 50%; + background: transparent; + transition: background var(--duration-fast) var(--ease-out); +} +.ct-radio:hover:not(.ct-radio--disabled) .ct-radio__dot { border-color: var(--border-strong); } +.ct-radio__input:checked + .ct-radio__dot { border-color: var(--accent); } +.ct-radio__input:checked + .ct-radio__dot::after { background: var(--accent); } +.ct-radio__input:focus-visible + .ct-radio__dot { outline: 2px solid var(--focus-ring); outline-offset: 2px; } +`; +(function inject() { + if (typeof document !== 'undefined' && !document.getElementById('ct-radio-css')) { + const s = document.createElement('style'); s.id = 'ct-radio-css'; s.textContent = CSS; + document.head.appendChild(s); + } +})(); + +export function Radio({ label, checked, onChange, name, value, disabled = false, style, ...rest }) { + return ( + + ); +} diff --git a/docs/design/components/forms/Radio.prompt.md b/docs/design/components/forms/Radio.prompt.md new file mode 100644 index 0000000..faba890 --- /dev/null +++ b/docs/design/components/forms/Radio.prompt.md @@ -0,0 +1,6 @@ +Radio for one-of choices ("deadline: hard or soft?" — Reginald asks at milestone creation). + +```jsx + + +``` diff --git a/docs/design/components/forms/Select.d-ts.txt b/docs/design/components/forms/Select.d-ts.txt new file mode 100644 index 0000000..3ec263b --- /dev/null +++ b/docs/design/components/forms/Select.d-ts.txt @@ -0,0 +1,16 @@ +/** + * Styled native select with Lucide chevron. + */ +export interface SelectOption { + value: string; + label: string; +} +export interface SelectProps { + label?: string; + options: SelectOption[]; + value?: string; + onChange?: (e: React.ChangeEvent) => void; + disabled?: boolean; + style?: React.CSSProperties; +} +export declare function Select(props: SelectProps): JSX.Element; diff --git a/docs/design/components/forms/Select.js.txt b/docs/design/components/forms/Select.js.txt new file mode 100644 index 0000000..bd4644a --- /dev/null +++ b/docs/design/components/forms/Select.js.txt @@ -0,0 +1,46 @@ +import React from 'react'; +import { Icon } from '../core/Icon'; + +const CSS = ` +.ct-select-field { display: flex; flex-direction: column; gap: 6px; } +.ct-select-field__label { font: 600 13px/1.2 var(--font-sans); color: var(--ink-1); } +.ct-select__wrap { position: relative; display: flex; align-items: center; } +.ct-select { + width: 100%; height: 34px; + font: var(--text-body); + color: var(--ink-1); + background: var(--surface-card); + border: 1px solid var(--line-2); + border-radius: var(--radius-2); + padding: 0 30px 0 12px; + appearance: none; + cursor: pointer; + transition: border-color var(--duration-fast) var(--ease-out); +} +.ct-select:hover:not(:disabled):not(:focus) { border-color: var(--border-strong); } +.ct-select:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent); } +.ct-select:disabled { opacity: 0.5; cursor: not-allowed; } +.ct-select__chevron { position: absolute; right: 10px; color: var(--ink-3); pointer-events: none; display: flex; } +`; +(function inject() { + if (typeof document !== 'undefined' && !document.getElementById('ct-select-css')) { + const s = document.createElement('style'); s.id = 'ct-select-css'; s.textContent = CSS; + document.head.appendChild(s); + } +})(); + +export function Select({ label, options, style, ...rest }) { + return ( +
+ {label ? : null} +
+ + +
+
+ ); +} diff --git a/docs/design/components/forms/Select.prompt.md b/docs/design/components/forms/Select.prompt.md new file mode 100644 index 0000000..4440062 --- /dev/null +++ b/docs/design/components/forms/Select.prompt.md @@ -0,0 +1,14 @@ +Native select, restyled; use for small closed sets (estimate labels, priority, model role). + +```jsx + + + {label ? {label} : null} + + ); +} diff --git a/docs/design/components/forms/Switch.prompt.md b/docs/design/components/forms/Switch.prompt.md new file mode 100644 index 0000000..be381a1 --- /dev/null +++ b/docs/design/components/forms/Switch.prompt.md @@ -0,0 +1,5 @@ +Switch for live on/off state (webhooks, morning service, theme). Motion is settled — 200ms ease-out slide. + +```jsx + setOn(e.target.checked)} /> +``` diff --git a/docs/design/components/forms/forms.card.html b/docs/design/components/forms/forms.card.html new file mode 100644 index 0000000..e5cec78 --- /dev/null +++ b/docs/design/components/forms/forms.card.html @@ -0,0 +1,48 @@ + + + + + + + + + + + + + +
+ + + diff --git a/docs/design/design_system_readme.md b/docs/design/design_system_readme.md new file mode 100644 index 0000000..704ff24 --- /dev/null +++ b/docs/design/design_system_readme.md @@ -0,0 +1,84 @@ +# CommiTea Design System + +**CommiTea** is an AI-project-manager built on Gitea: a lightweight Electron app (one window, React + Tailwind) where a local-ish LLM agent captures work via interview, maps capacity, and forecasts deadlines with Monte Carlo honesty. Gitea holds human-authored intent (issues, milestones, labels); a sidecar holds machine-derived state (forecasts, calibration). The agent talks; a deterministic scheduler does the math. + +**Sources:** `uploads/commitea.md` — the product plan (concept, architecture decisions, UI intents, phases) — and `uploads/commitea.jpeg`, the app-icon logo (green tea cup on slate-teal). No Figma or codebase was provided; this system was designed from scratch against the brand brief: *"High-class British tea drinking experience, with intelligent professionalism — a 140-IQ assistant. The wit in the copy is what reminds you you're working professionally and playfully."* + +**Product surfaces** (from the plan): Focus card (Now/Next/Later), burn-up chart with forecast cone, runway view, kanban + dependency drill-ins, and agent chat (chat = write-path, UI = read-path). + +**Logo:** the provided app icon lives at `assets/logo.jpeg` (original, white margin) and `assets/logo-icon.png` (cropped, rounded). In UI chrome, pair the icon at 24px with the typographic wordmark — "CommiTea" in Libre Caslon Display. Never redraw the mark. + +--- + +## CONTENT FUNDAMENTALS + +The agent is **Reginald** — a brilliant, unflappable English gentleman of a project manager. Dry wit, never silly. Wit level ~7/10: almost every surface has one line with a raised eyebrow, and everything else is crisp and factual. He is "Reginald" in the UI and in copy — never "the AI", never "the assistant". + +**Rules** + +- **Reginald speaks in first person, addresses you as "you".** He has opinions and states them: "I'd take the parser bug first; it blocks three others." +- **Numbers are sacred, phrasing is warm.** Forecasts are always ranges, never point dates: "80% chance this lands Mar 3–12." Reginald never hedges the math, only decorates it: "The cone has narrowed. I'm quietly pleased." +- **Wit lives in complete sentences,** usually the last one. Never in buttons, labels, or data. Buttons are plain verbs: "Approve", "Brew plan", "Defer". +- **Tea vocabulary is a seasoning, not a theme park.** Sanctioned terms: *brew* (generate/plan), *steep* (work in progress), *service* (the daily standup — "Morning service"), *the pot* (backlog). Use at most one per screen. Never "tea-rrific", never puns on "oolong". +- **Sentence case everywhere** — titles, buttons, headers. No Title Case, no ALL CAPS except tiny overline labels. +- **No emoji. Ever.** +- **No exclamation marks** except in genuine celebration (milestone closed early). +- Machine data renders in mono, verbatim: `est/3d`, `p/2`, `deadline/hard`, `#142`. + +**Specimen copy** + +- Empty backlog: "The pot is empty. Tell me what you're planning and I'll draw up the tickets." +- Morning standup: "Morning service. Two things drifted overnight; one needs your opinion." +- Consequence diff: "Done — X ships today. Milestone Beta moves +6 days. Shall I make it so?" +- Blocked nag: "#87 has been steeping for four days. It blocks #91 and #92. Worth a look." +- Forecast: "80% this lands Mar 3–12. The estimate history says you're optimists — I've adjusted." +- Error: "Gitea isn't answering. I'll keep trying and say nothing more about it." +- Destructive confirm: "This deletes the milestone and unhouses 12 issues. I'd like to hear you say yes." + +--- + +## VISUAL FOUNDATIONS + +The aesthetic: **fine stationery meets instrument panel, poured as green tea.** Cool porcelain, slate-green ink, a hairline of jade. The interface should feel like a beautifully typeset letter that happens to compute Monte Carlo forecasts. + +- **Color.** Cool porcelain surfaces (`--paper-0/1/2`, green-tinted whites), slate-green ink scale (`--ink-1/2/3`), one brand green (spruce — the logo's slate-teal, `--accent`), one gem (jade `--jade`, the tea's mint — used only in hairlines and small accents, never large fills). Status colors are muted (moss, oolong amber, madder red, wedgwood blue). Two themes: light "morning service" (default) and dark "evening service" via `[data-theme="dark"]`. +- **Type.** Four voices, strictly cast: **Libre Caslon Display** for headlines and hero numerals; **Libre Caslon Text (upright)** exclusively for Reginald's speech (if it's serif body text, Reginald said it — italics are reserved for occasional emphasis inside his sentences); **Instrument Sans** for all UI; **IBM Plex Mono** for machine data — labels, estimates, dates, issue ids, counts. Never let voices bleed: no serif UI copy, no sans forecasts. +- **Backgrounds.** Flat paper colors. No gradients, no textures, no imagery. Depth comes from paper-on-paper (card on app bg) plus hairlines. +- **Borders & rules.** 1px hairlines (`--line-1`) everywhere; a `3px double` rule (`--rule-double`) tops major sections like fine stationery. Key cards take a 2px inset jade top rule (`--shadow-jade-line`). +- **Cards.** `--surface-card` on `--surface-app`, 1px hairline border, `--radius-3` (10px), `--shadow-1`. Elevation is whispered, not shouted; `--shadow-3` is reserved for dialogs/popovers. +- **Corner radii.** Crisp: 4/6/10px. Pills only for chips and status dots. Nothing bubbly. +- **Hover states.** Surfaces: one porcelain step darker (`--paper-2`). Buttons: darker fill (`--accent-hover`). Links: jade underline appears. Never opacity fades on text. +- **Press states.** One step darker again (`--accent-pressed`); no shrink transforms. +- **Focus.** 2px `--focus-ring` outline, 2px offset, everywhere. +- **Motion.** Settled and gentlemanly: 120–320ms, `--ease-out`, fades and small translates (4–8px). No bounces, no springs, no infinite loops. The forecast cone may draw itself in once (~320ms). +- **Transparency & blur.** Almost never. Only dialog scrims (`rgba` ink at 40%). No glassmorphism. +- **Data visualization.** The cone is geometry, not decoration: filled band `--cone-fill`, edge `--cone-line`, actuals in ink. Ahead/behind reads as position, not color alone. +- **Layout.** Generous headers (Caslon breathes), compact data rows (dev-tool density in tables/boards, 32–36px rows). Fixed left rail navigation in-app; content column max ~1120px on wide screens. +- **Imagery.** None beyond the logo. No stock photos, no illustrations. The typography is the decoration. + +--- + +## ICONOGRAPHY + +- **System:** [Lucide](https://lucide.dev) at 1.5px stroke — copied locally into `assets/icons/*.svg` (69 icons, lucide-static v0.462.0). Use these files; do not hand-draw SVGs. +- **Usage:** 16px inline with text, 18–20px in buttons/nav. Stroke inherits `currentColor`. Icons always accompany a label except in `IconButton` (which requires a tooltip/aria-label). +- **Domain mapping:** issues `circle-dot`, milestones `milestone`, board `square-kanban`, forecast `chart-line`, gantt `chart-no-axes-gantt`, deps `network`, agent `sparkles`, standup `coffee`, capacity `gauge`, directives `flag`, git events `git-branch/git-commit-horizontal/git-pull-request/git-merge`. +- **No emoji, no unicode-chars-as-icons.** The only glyph liberty: mono `·` as a list separator and `—` in agent prose. +- **No icon font.** Inline the SVG or reference the file. + +--- + +## INDEX + +- `styles.css` — global entry; imports everything under `tokens/` +- `tokens/` — `colors.css`, `typography.css`, `spacing.css`, `fonts.css`, `base.css` +- `assets/fonts/` — self-hosted woff2 (Libre Caslon Display/Text, Instrument Sans, IBM Plex Mono) +- `assets/icons/` — Lucide SVGs (local copies); `assets/logo.jpeg` + `assets/logo-icon.png` — brand mark +- `guidelines/` — foundation specimen cards (Design System tab) +- `components/core/` — Button, IconButton, Badge, Tag, Card, Tabs +- `components/forms/` — Input, Select, Checkbox, Radio, Switch +- `components/feedback/` — Dialog, Toast, Tooltip +- `ui_kits/app/` — CommiTea Electron app recreation (Focus, Board, Agent chat, Runway) +- `SKILL.md` — agent-facing entry point + +**Intentional additions:** `Icon` (wrapper that inlines local Lucide SVGs — needed because icons ship as files); `Tag` doubles as the gitea label chip (`est/*`, `p/*`, `deadline/hard`). diff --git a/docs/design/styles.css b/docs/design/styles.css new file mode 100644 index 0000000..bb57c82 --- /dev/null +++ b/docs/design/styles.css @@ -0,0 +1,5 @@ +@import "tokens/fonts.css"; +@import "tokens/colors.css"; +@import "tokens/typography.css"; +@import "tokens/spacing.css"; +@import "tokens/base.css"; diff --git a/docs/design/tokens/base.css b/docs/design/tokens/base.css new file mode 100644 index 0000000..e491680 --- /dev/null +++ b/docs/design/tokens/base.css @@ -0,0 +1,37 @@ +/* CommiTea base element styles. */ + +* { box-sizing: border-box; } + +body { + margin: 0; + font: var(--text-body); + color: var(--text-body); + background: var(--surface-app); + -webkit-font-smoothing: antialiased; + text-rendering: optimizeLegibility; +} + +a { + color: var(--accent-text); + text-decoration: none; + border-bottom: 1px solid var(--line-2); + transition: border-color var(--duration-fast) var(--ease-out); +} +a:hover { + color: var(--accent-hover); + border-bottom-color: var(--jade); +} + +::selection { + background: var(--spruce-2); + color: var(--ink-1); +} + +code, kbd { + font: var(--text-data); +} + +:focus-visible { + outline: 2px solid var(--focus-ring); + outline-offset: 2px; +} diff --git a/docs/design/tokens/colors.css b/docs/design/tokens/colors.css new file mode 100644 index 0000000..1d237cf --- /dev/null +++ b/docs/design/tokens/colors.css @@ -0,0 +1,137 @@ +/* CommiTea color system — "Green tea service" + Cool porcelain surfaces, slate-green ink, jade accent (from the cup itself). + Light is default (morning service). Dark scope: [data-theme="dark"] (evening service). */ + +:root { + /* ---- base: porcelain (cool green-white surfaces) ---- */ + --paper-0: #F0F4F0; /* app background */ + --paper-1: #FAFCF9; /* raised card */ + --paper-2: #E4EBE4; /* inset wells, rails */ + --paper-3: #D7E1D8; /* pressed / deep inset */ + + /* ---- base: ink (slate-green text scale) ---- */ + --ink-1: #1D2522; /* primary text */ + --ink-2: #51605A; /* secondary text */ + --ink-3: #84928B; /* muted / placeholder */ + --ink-inverse: #EFF5F0; + + /* ---- base: lines ---- */ + --line-1: #D7DFD7; /* hairline */ + --line-2: #BACBBE; /* strong rule */ + + /* ---- base: spruce (brand green — the logo's slate-teal) ---- */ + --spruce-9: #16322A; + --spruce-8: #1D4238; + --spruce-7: #275546; /* brand anchor */ + --spruce-6: #3A7260; + --spruce-5: #57937C; + --spruce-3: #A3CFBB; + --spruce-2: #CDE5D7; + --spruce-1: #E3F0E8; + + /* ---- base: jade (mint accent — the tea itself) ---- */ + --jade-7: #2E7A57; + --jade-6: #46996F; + --jade-5: #66B389; + --jade-3: #A8DDBE; + --jade-1: #E0F4E7; + + /* ---- semantic: surfaces & text ---- */ + --surface-app: var(--paper-0); + --surface-card: var(--paper-1); + --surface-inset: var(--paper-2); + --surface-raised: var(--paper-1); + --text-body: var(--ink-1); + --text-secondary: var(--ink-2); + --text-muted: var(--ink-3); + --text-on-accent: var(--ink-inverse); + --border-hairline: var(--line-1); + --border-strong: var(--line-2); + + /* ---- semantic: interactive ---- */ + --accent: var(--spruce-7); + --accent-hover: #1F4A3C; + --accent-pressed: #173B30; + --accent-tint: var(--spruce-1); + --accent-text: var(--spruce-7); + --jade: var(--jade-6); + --jade-tint: var(--jade-1); + --focus-ring: #57937C; + + /* ---- semantic: status ---- */ + --ok: #2F7D53; + --ok-tint: #DFEEE3; + --warn: #96772A; + --warn-tint: #EFE9D2; + --danger: #A84632; + --danger-tint: #F2E0DA; + --info: #43758F; + --info-tint: #DFE9EC; + + /* ---- domain: label chips (gitea label sets) ---- */ + --label-est-bg: var(--paper-2); + --label-est-text: var(--ink-2); + --label-p1: #A84632; + --label-p2: #96772A; + --label-p3: #43758F; + --label-p4: #84928B; + --label-hard: #A84632; + + /* ---- domain: forecast ---- */ + --cone-fill: rgba(102, 179, 137, 0.18); + --cone-line: #46996F; + --cone-actual: var(--ink-1); +} + +[data-theme="dark"] { + /* evening service */ + --paper-0: #121C18; + --paper-1: #182420; + --paper-2: #1F2E28; + --paper-3: #283A32; + + --ink-1: #E4EEE7; + --ink-2: #9FB2A8; + --ink-3: #66796F; + --ink-inverse: #EFF5F0; + + --line-1: #263630; + --line-2: #35493F; + + --spruce-1: #1E332B; + --spruce-2: #27443A; + --spruce-3: #3A6353; + + --jade-1: #1F3A2E; + --jade-3: #35624A; + + --accent: #3A7260; + --accent-hover: #448069; + --accent-pressed: #315F51; + --accent-tint: #1E332B; + --accent-text: #8CC7AC; + --jade: #6FC694; + --jade-tint: #1F3A2E; + --focus-ring: #57937C; + + --ok: #74B992; + --ok-tint: #1F3529; + --warn: #C0A45B; + --warn-tint: #33301F; + --danger: #C77B62; + --danger-tint: #392823; + --info: #7FA6BC; + --info-tint: #223038; + + --label-est-bg: var(--paper-3); + --label-est-text: var(--ink-2); + --label-p1: #C77B62; + --label-p2: #C0A45B; + --label-p3: #7FA6BC; + --label-p4: #66796F; + --label-hard: #C77B62; + + --cone-fill: rgba(111, 198, 148, 0.14); + --cone-line: #6FC694; + --cone-actual: #E4EEE7; +} diff --git a/docs/design/tokens/fonts.css b/docs/design/tokens/fonts.css new file mode 100644 index 0000000..56074d5 --- /dev/null +++ b/docs/design/tokens/fonts.css @@ -0,0 +1,65 @@ +/* CommiTea webfonts — self-hosted, latin subsets */ + +@font-face { + font-family: 'Libre Caslon Display'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(../assets/fonts/caslon-display-normal-400.woff2) format('woff2'); +} +@font-face { + font-family: 'Libre Caslon Text'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(../assets/fonts/caslon-text-normal-400.woff2) format('woff2'); +} +@font-face { + font-family: 'Libre Caslon Text'; + font-style: italic; + font-weight: 400; + font-display: swap; + src: url(../assets/fonts/caslon-text-italic-400.woff2) format('woff2'); +} +@font-face { + font-family: 'Libre Caslon Text'; + font-style: normal; + font-weight: 700; + font-display: swap; + src: url(../assets/fonts/caslon-text-normal-700.woff2) format('woff2'); +} +@font-face { + font-family: 'Instrument Sans'; + font-style: normal; + font-weight: 400 700; + font-display: swap; + src: url(../assets/fonts/instrument-sans-normal-400-700.woff2) format('woff2'); +} +@font-face { + font-family: 'Instrument Sans'; + font-style: italic; + font-weight: 400 700; + font-display: swap; + src: url(../assets/fonts/instrument-sans-italic-400-700.woff2) format('woff2'); +} +@font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 400; + font-display: swap; + src: url(../assets/fonts/plex-mono-normal-400.woff2) format('woff2'); +} +@font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 500; + font-display: swap; + src: url(../assets/fonts/plex-mono-normal-500.woff2) format('woff2'); +} +@font-face { + font-family: 'IBM Plex Mono'; + font-style: normal; + font-weight: 600; + font-display: swap; + src: url(../assets/fonts/plex-mono-normal-600.woff2) format('woff2'); +} diff --git a/docs/design/tokens/spacing.css b/docs/design/tokens/spacing.css new file mode 100644 index 0000000..0bc88ca --- /dev/null +++ b/docs/design/tokens/spacing.css @@ -0,0 +1,44 @@ +/* CommiTea spacing, radius, shadow, border & motion tokens. */ + +:root { + /* spacing — 4px base */ + --space-1: 4px; + --space-2: 8px; + --space-3: 12px; + --space-4: 16px; + --space-5: 20px; + --space-6: 24px; + --space-7: 32px; + --space-8: 40px; + --space-9: 48px; + --space-10: 64px; + + /* radii — crisp, not bubbly */ + --radius-1: 4px; /* chips, inputs' inner elements */ + --radius-2: 6px; /* buttons, inputs */ + --radius-3: 10px; /* cards, dialogs */ + --radius-round: 999px; + + /* borders */ + --border-w: 1px; + --rule-double: 3px double var(--border-strong); /* fine-stationery section rule */ + + /* shadows — cool, restrained */ + --shadow-1: 0 1px 2px rgba(20, 34, 28, 0.06); + --shadow-2: 0 2px 8px rgba(20, 34, 28, 0.08), 0 1px 2px rgba(20, 34, 28, 0.05); + --shadow-3: 0 12px 32px rgba(20, 34, 28, 0.14), 0 2px 8px rgba(20, 34, 28, 0.07); + --shadow-jade-line: inset 0 2px 0 var(--jade); /* jade top rule on key cards */ + + /* motion — settled, never bouncy */ + --ease-out: cubic-bezier(0.25, 0.6, 0.3, 1); /* @kind other */ + --ease-in-out: cubic-bezier(0.6, 0, 0.3, 1); /* @kind other */ + --duration-fast: 120ms; /* @kind other */ + --duration-base: 200ms; /* @kind other */ + --duration-slow: 320ms; /* @kind other */ +} + +[data-theme="dark"] { + --shadow-1: 0 1px 2px rgba(0, 0, 0, 0.25); + --shadow-2: 0 2px 8px rgba(0, 0, 0, 0.3), 0 1px 2px rgba(0, 0, 0, 0.2); + --shadow-3: 0 12px 32px rgba(0, 0, 0, 0.45), 0 2px 8px rgba(0, 0, 0, 0.25); +} diff --git a/docs/design/tokens/typography.css b/docs/design/tokens/typography.css new file mode 100644 index 0000000..2556118 --- /dev/null +++ b/docs/design/tokens/typography.css @@ -0,0 +1,34 @@ +/* CommiTea typography tokens. + Voices: Display serif (headlines, big numerals) · Reginald's voice (Caslon Text, upright) + · Body sans (UI) · Mono (data: labels, estimates, dates, ids). */ + +:root { + --font-serif-display: 'Libre Caslon Display', 'Libre Caslon Text', Georgia, serif; + --font-serif-text: 'Libre Caslon Text', Georgia, serif; + --font-sans: 'Instrument Sans', -apple-system, 'Segoe UI', sans-serif; + --font-mono: 'IBM Plex Mono', ui-monospace, 'SF Mono', monospace; + + /* type scale */ + --text-hero: 400 48px/1.08 var(--font-serif-display); /* big forecast numerals */ + --text-display: 400 34px/1.15 var(--font-serif-display); /* page titles */ + --text-title: 400 24px/1.2 var(--font-serif-display); /* card titles */ + --text-agent: 400 16px/1.55 var(--font-serif-text); /* Reginald speaks — serif, upright */ + --text-agent-lg: 400 20px/1.5 var(--font-serif-text); + --text-body: 400 14px/1.5 var(--font-sans); + --text-body-strong: 600 14px/1.5 var(--font-sans); + --text-small: 400 13px/1.45 var(--font-sans); + --text-caption: 400 12px/1.4 var(--font-sans); + --text-data: 400 13px/1.4 var(--font-mono); /* dates, counts */ + --text-label: 500 11.5px/1 var(--font-mono); /* chips: est/2d, p/1 */ + --text-overline: 600 11px/1.2 var(--font-sans); /* + letter-spacing-wide */ + + /* tracking */ + --letter-spacing-wide: 0.08em; /* overlines, uppercase */ + --letter-spacing-label: 0.02em; /* mono chips */ + + /* weights (sans is variable 400–700) */ + --weight-regular: 400; + --weight-medium: 500; + --weight-semibold: 600; + --weight-bold: 700; +} diff --git a/docs/design/ui_kits/app/BoardScreen.js.txt b/docs/design/ui_kits/app/BoardScreen.js.txt new file mode 100644 index 0000000..06fbfde --- /dev/null +++ b/docs/design/ui_kits/app/BoardScreen.js.txt @@ -0,0 +1,80 @@ +// Board — kanban over inferred lifecycle, with Gantt/Dependencies stubs +function BoardScreen({ onOpenIssue }) { + const DS = window.CommiTeaDesignSystem_20e63b; + const { Card, Tag, Badge, Tabs, IconButton, Input, Icon } = DS; + const d = window.CT_DATA; + const [tab, setTab] = React.useState('board'); + const [query, setQuery] = React.useState(''); + const q = query.trim().toLowerCase(); + const filtered = d.columns.map((c) => ({ ...c, issues: q ? c.issues.filter((i) => (i.title + ' #' + i.id).toLowerCase().includes(q)) : c.issues })); + const anyMatch = filtered.some((c) => c.issues.length > 0); + const openCount = d.columns.reduce((n, c) => n + (c.id === 'done' ? 0 : c.issues.length), 0); + + const IssueCard = ({ issue }) => ( +
onOpenIssue(issue)} + style={{ + background: 'var(--surface-card)', border: '1px solid var(--line-1)', + borderRadius: 'var(--radius-2)', padding: '10px 12px', cursor: 'pointer', + boxShadow: 'var(--shadow-1)', display: 'flex', flexDirection: 'column', gap: 8, + }} + onMouseEnter={(e) => { e.currentTarget.style.borderColor = 'var(--line-2)'; }} + onMouseLeave={(e) => { e.currentTarget.style.borderColor = 'var(--line-1)'; }} + > +
{issue.title}
+
+ #{issue.id} + {issue.labels.map((l) => )} + {issue.days ? {issue.days} : null} + {issue.pr ? {issue.pr} : null} + {issue.who} +
+
+ ); + + return ( +
+
+

The pot

+
setQuery(e.target.value)} />
+
+ + {tab === 'board' ? ( + anyMatch ? ( +
+ {filtered.map((col) => ( +
+
+ {col.label} + {col.issues.length} +
+ {col.issues.map((i) => )} +
+ ))} +
+ ) : ( +
+ n + c.issues.length, 0)} issues; none of them answer to “${query.trim()}”.`} /> +
+ ) + ) : tab === 'deps' ? ( + + ) : ( + + )} +
+ ); +} +Object.assign(window, { BoardScreen }); diff --git a/docs/design/ui_kits/app/CalibrationScreen.js.txt b/docs/design/ui_kits/app/CalibrationScreen.js.txt new file mode 100644 index 0000000..9b6afd5 --- /dev/null +++ b/docs/design/ui_kits/app/CalibrationScreen.js.txt @@ -0,0 +1,128 @@ +// Calibration report — estimate-vs-actual evidence behind the cones +function CalibrationScreen({ onBack }) { + const DS = window.CommiTeaDesignSystem_20e63b; + const { Card, Badge, Icon } = DS; + const c = window.CT_DATA.calibration; + + // scatter chart geometry + const W = 420, H = 300, pad = { l: 36, r: 16, t: 14, b: 30 }; + const maxD = 9; + const X = (d) => pad.l + (d / maxD) * (W - pad.l - pad.r); + const Y = (d) => H - pad.b - (d / maxD) * (H - pad.t - pad.b); + + const BiasBar = ({ bias }) => { + if (bias == null) return n too small; + return ( +
+
+
+
15 ? 'var(--warn)' : 'var(--ok)', borderRadius: '0 3px 3px 0', opacity: 0.75, + }}>
+
+ 15 ? 'var(--warn)' : 'var(--ok)', width: 42, textAlign: 'right' }}>+{bias}% +
+ ); + }; + + return ( +
+
+ +
+
+

Calibration

+

{c.n} closed issues with estimates · evidence, not opinion

+
+ curve active · n ≥ 20 +
+
+ +
+ {/* scatter */} + + + {[1, 3, 5, 8].map((d) => ( + + + {d}d + + {d}d + + ))} + {/* perfect line */} + + honest + {/* fit */} + + you · ×{c.fit} + {/* points */} + {c.scatter.map(([e, a], i) => ( + + ))} + +

estimated (x) vs actual days (y) · actuals inferred from git events, never tracked

+
+ +
+ {/* per-label bias */} + +
+ {c.labels.map((r, i) => ( +
+ {r.label} + n={r.n} · {r.median} + +
+ ))} +
+
+ + {/* per-person */} + +
+ {c.people.map((p, i) => ( +
+ {p.who.split(' ').map((w) => w[0]).join('')} +
+ {p.who} + · n={p.n} · {p.note} +
+ 15 ? 'var(--warn)' : 'var(--ok)' }}>+{p.bias}% +
+ ))} +
+
+ + {/* effect on forecasts */} + +
+ {c.effect.raw} + + {c.effect.banded} +
+

+ You are not bad at estimating; you are optimistic in a very stable way. Stable, I can work with. +

+
+
+
+
+ ); +} +Object.assign(window, { CalibrationScreen }); diff --git a/docs/design/ui_kits/app/CaptureScreen.js.txt b/docs/design/ui_kits/app/CaptureScreen.js.txt new file mode 100644 index 0000000..436de46 --- /dev/null +++ b/docs/design/ui_kits/app/CaptureScreen.js.txt @@ -0,0 +1,185 @@ +// Capture interview — braindump → interview → approved ticket set (< 2 min) +function CaptureScreen({ onDone }) { + const DS = window.CommiTeaDesignSystem_20e63b; + const { Button, Card, Tag, Badge, Select, Icon } = DS; + + const [stage, setStage] = React.useState('dump'); // dump | interview | review | filed + const [dump, setDump] = React.useState( + 'auth is flaky \u2014 token refresh dies silently, sometimes session storage goes stale. ' + + 'also the webhook debounce thing keeps double-firing. and we owe docs for auth setup' + ); + const [qi, setQi] = React.useState(0); + const [log, setLog] = React.useState([]); + const [split, setSplit] = React.useState(null); + const [webEst, setWebEst] = React.useState(null); + const [secs, setSecs] = React.useState(0); + + const running = stage === 'interview' || stage === 'review'; + React.useEffect(() => { + if (!running) return; + const t = setInterval(() => setSecs((s) => s + 1), 1000); + return () => clearInterval(t); + }, [running]); + const clock = `${Math.floor(secs / 60)}:${String(secs % 60).padStart(2, '0')}`; + + const QUESTIONS = [ + { q: 'The auth work \u2014 one ticket, or shall I split token refresh from session storage? They fail differently.', + chips: ['One ticket', 'Split them'], set: (a) => setSplit(a === 'Split them') }, + { q: 'The webhook double-fire \u2014 how long? I should mention your "quick" has averaged two days.', + chips: ['est/1d', 'est/2d', 'est/3d'], set: (a) => setWebEst(a) }, + { q: 'Milestone Beta, I presume? It has room, provided the auth work stays under four days.', + chips: ['Beta', 'New milestone'], set: () => {} }, + ]; + + const answer = (a) => { + QUESTIONS[qi].set(a); + setLog((l) => [...l, { q: QUESTIONS[qi].q, a }]); + if (qi + 1 < QUESTIONS.length) setQi(qi + 1); + else setStage('review'); + }; + + // draft tickets build as the interview progresses + const tickets = []; + if (split === true) { + tickets.push({ title: 'Token refresh: retry with backoff', est: 'est/2d', p: 'p/2' }); + tickets.push({ title: 'Session storage: stale reads on wake', est: 'est/1d', p: 'p/3' }); + } else if (split === false) { + tickets.push({ title: 'Auth: token refresh + session storage', est: 'est/3d', p: 'p/2' }); + } + if (webEst) tickets.push({ title: 'Webhook debounce: double-fire guard', est: webEst, p: 'p/1', dep: 'blocked by auth work' }); + if (stage === 'review' || stage === 'filed') { + tickets.push({ title: 'Docs: auth setup guide', est: 'est/1d', p: 'p/4', byReginald: true }); + } + const totalDays = tickets.reduce((n, t) => n + parseInt(t.est.replace('est/', '')), 0); + + const estOptions = ['est/1d', 'est/2d', 'est/3d', 'est/5d', 'est/8d'].map((v) => ({ value: v, label: v })); + const pOptions = ['p/1', 'p/2', 'p/3', 'p/4'].map((v) => ({ value: v, label: v })); + + const Tray = ({ editable }) => ( + 1 ? 's' : ''}` : 'Empty, for now'} flush> +
+ {tickets.length === 0 ? ( +

+ Tickets appear here as we talk. +

+ ) : tickets.map((t, i) => ( +
+
{t.title}
+
+ {editable ? ( + <> + + + ) : ( + <> + + + + )} + {t.dep ? {t.dep} : null} + {t.byReginald ? added by Reginald : null} +
+
+ ))} +
+
+ ); + + return ( +
+
+
+

Capture

+

braindump → approved tickets

+
+ {stage !== 'dump' ? ( +
+
120 ? 'var(--warn)' : 'var(--ink-1)' }}>{clock}
+
budget 2:00
+
+ ) : null} +
+ + {stage === 'dump' ? ( + + +

+ Sentences, fragments, grievances — all welcome. I'll sort it into tickets and only ask what I can't infer. +

+ +
+ ) : null} + + {stage === 'interview' ? ( +
+ +
+ {log.map((e, i) => ( +
+ {e.q} + {e.a} +
+ ))} +

{QUESTIONS[qi].q}

+
+ {QUESTIONS[qi].chips.map((c) => ( + + ))} +
+
+
+ +
+ ) : null} + + {stage === 'review' ? ( +
+ + + + }> +

+ Beta's 80% window moves Mar 3–12 → Mar 5–14. Capacity absorbs the rest. +

+

+ I added the docs ticket you mentioned and wired the dependency. Shall I make it so? +

+
+ +
+ ) : null} + + {stage === 'filed' ? ( + +
+ + Filed + +

+ {tickets.length} issues opened in gitea with est/* and p/* labels — nothing else touched. +

+

+ Elapsed {clock} — under budget. No bot comments, no synthetic issues; your repo remains yours. +

+ +
+
+ ) : null} +
+ ); +} +Object.assign(window, { CaptureScreen }); diff --git a/docs/design/ui_kits/app/Chart.js.txt b/docs/design/ui_kits/app/Chart.js.txt new file mode 100644 index 0000000..35b3f6a --- /dev/null +++ b/docs/design/ui_kits/app/Chart.js.txt @@ -0,0 +1,70 @@ +// Burn-up chart with Monte Carlo forecast cone — geometry, not decoration. +function BurnUpCone({ width = 640, height = 220 }) { + const pad = { l: 34, r: 96, t: 16, b: 26 }; + const W = width - pad.l - pad.r; + const H = height - pad.t - pad.b; + const x = (f) => pad.l + f * W; + const y = (f) => pad.t + (1 - f) * H; + + // scope line (total work), actual completed, cone from today + const today = 0.58; + const actual = [[0, 0], [0.08, 0.05], [0.18, 0.13], [0.26, 0.16], [0.36, 0.27], [0.46, 0.38], [0.58, 0.47]]; + const coneHi = [[0.58, 0.47], [0.72, 0.66], [0.86, 0.88], [0.95, 1.0]]; + const coneLo = [[0.58, 0.47], [0.74, 0.58], [0.9, 0.74], [1.0, 0.86]]; + const mid = [[0.58, 0.47], [0.76, 0.63], [0.92, 0.83], [1.0, 0.93]]; + const pts = (arr) => arr.map(([a, b]) => `${x(a)},${y(b)}`).join(' '); + const cone = [...coneHi, ...[...coneLo].reverse()]; + + return ( + + {/* gridlines */} + {[0, 0.25, 0.5, 0.75, 1].map((f) => ( + + ))} + {/* scope */} + + scope · 42 issues + {/* cone */} + + + + + {/* actual */} + + + {/* today rule */} + + today + {/* 80% band bracket */} + + 80% + Mar 3–12 + {/* x labels */} + Jan 6 + Mar 15 + + ); +} + +// Runway bar: milestone due date vs forecast range position +function RunwayBar({ m }) { + const toneColor = m.tone === 'warn' ? 'var(--warn)' : 'var(--ok)'; + const left = Math.max(0, (m.pos - m.spread / 2) * 100); + const w = Math.min(100 - left, m.spread * 100); + return ( +
+
+
+ {/* due marker */} +
+
+ ); +} + +Object.assign(window, { BurnUpCone, RunwayBar }); diff --git a/docs/design/ui_kits/app/ChatPanel.js.txt b/docs/design/ui_kits/app/ChatPanel.js.txt new file mode 100644 index 0000000..028ca6a --- /dev/null +++ b/docs/design/ui_kits/app/ChatPanel.js.txt @@ -0,0 +1,98 @@ +// Agent panel — chat is the write-path +function ChatPanel({ onOpenDirectives, offline }) { + const DS = window.CommiTeaDesignSystem_20e63b; + const { Icon, IconButton } = DS; + const d = window.CT_DATA; + const [msgs, setMsgs] = React.useState(d.chat); + const [text, setText] = React.useState(''); + const [thinking, setThinking] = React.useState(false); + const scrollRef = React.useRef(null); + + React.useEffect(() => { + const el = scrollRef.current; + if (el) el.scrollTop = el.scrollHeight; + }, [msgs, thinking]); + + const send = () => { + const t = text.trim(); + if (!t) return; + setMsgs((m) => [...m, { from: 'user', text: t }]); + setText(''); + setThinking(true); + setTimeout(() => { + setThinking(false); + setMsgs((m) => [...m, { from: 'agent', text: d.cannedReply }]); + }, 900); + }; + + return ( + + ); +} +Object.assign(window, { ChatPanel }); diff --git a/docs/design/ui_kits/app/DepsGraph.js.txt b/docs/design/ui_kits/app/DepsGraph.js.txt new file mode 100644 index 0000000..aa248e0 --- /dev/null +++ b/docs/design/ui_kits/app/DepsGraph.js.txt @@ -0,0 +1,128 @@ +// Dependency graph drill-in — layered DAG, critical path in spruce +function DepsGraph({ onOpenIssue }) { + const DS = window.CommiTeaDesignSystem_20e63b; + const { Tag, Icon } = DS; + const g = window.CT_DATA.deps; + + const PAD = 14, COLW = 206, ROWH = 106, NW = 176, NH = 84; + const X = (c) => PAD + c * COLW; + const Y = (r) => PAD + r * ROWH; + const maxCol = g.milestone.col; + const maxRow = Math.max(...g.nodes.map((n) => n.row), g.milestone.row); + const W = PAD * 2 + maxCol * COLW + NW; + const H = PAD * 2 + maxRow * ROWH + NH; + const MSW = 158, MSH = 44; + + const pos = {}; + g.nodes.forEach((n) => { pos[n.id] = { x: X(n.col), y: Y(n.row), w: NW, h: NH }; }); + pos['ms'] = { x: X(g.milestone.col), y: Y(g.milestone.row) + (NH - MSH) / 2, w: MSW, h: MSH }; + + const edgePath = (e) => { + const a = pos[e.from], b = pos[e.to]; + const x1 = a.x + a.w, y1 = a.y + a.h / 2; + const x2 = b.x, y2 = b.y + b.h / 2; + const dx = Math.max(28, (x2 - x1) / 2); + return `M ${x1} ${y1} C ${x1 + dx} ${y1}, ${x2 - dx} ${y2}, ${x2 - 5} ${y2}`; + }; + + const STATES = { + done: { icon: 'circle-check', color: 'var(--ok)', label: 'done' }, + steeping: { icon: 'clock', color: 'var(--warn)', label: 'steeping' }, + review: { icon: 'git-pull-request', color: 'var(--info)', label: 'in review' }, + triage: { icon: 'circle-dot', color: 'var(--ink-3)', label: 'triage' }, + diagnosis: { icon: 'circle-dashed', color: 'var(--ink-3)', label: 'diagnosis' }, + }; + + const Node = ({ n }) => { + const st = STATES[n.state]; + const crit = g.critical.includes(n.id); + return ( +
onOpenIssue({ id: n.id, title: n.title, labels: n.tags, rationale: n.rationale, days: n.state === 'steeping' ? n.days : undefined })} + style={{ + position: 'absolute', left: pos[n.id].x, top: pos[n.id].y, width: NW, height: NH, + background: n.state === 'done' ? 'var(--paper-2)' : 'var(--surface-card)', + border: `1px solid ${crit ? 'var(--spruce-5)' : 'var(--line-1)'}`, + boxShadow: crit ? 'var(--shadow-1), inset 2px 0 0 var(--accent)' : 'var(--shadow-1)', + borderRadius: 'var(--radius-2)', padding: '9px 11px', cursor: 'pointer', + display: 'flex', flexDirection: 'column', gap: 6, + opacity: n.state === 'done' ? 0.72 : 1, + transition: 'border-color var(--duration-fast) var(--ease-out)', + }} + onMouseEnter={(e) => { e.currentTarget.style.borderColor = crit ? 'var(--accent)' : 'var(--line-2)'; }} + onMouseLeave={(e) => { e.currentTarget.style.borderColor = crit ? 'var(--spruce-5)' : 'var(--line-1)'; }} + > +
{n.title}
+
+ #{n.id} + + + {st.label}{n.state === 'steeping' && n.days ? ` ${n.days}` : ''} + + {n.tags.filter((t) => t.startsWith('p/')).map((t) => ( + {t} + ))} +
+
+ ); + }; + + return ( +
+ {/* legend */} +
+ + critical path + + + blocks + + unattached: {g.unattached.map((i) => `#${i}`).join(' · ')} +
+ + {/* graph canvas */} +
+
+ + + + + + + + + + {g.edges.map((e, i) => ( + + ))} + + {g.nodes.map((n) => )} + {/* milestone terminal */} +
+ +
+ {g.milestone.name} + due {g.milestone.due} +
+
+
+
+ +

+ Four issues sit on the critical path, and #87 is the cork in the bottle. Remove it and everything pours. +

+
+ ); +} +Object.assign(window, { DepsGraph }); diff --git a/docs/design/ui_kits/app/DirectivesScreen.js.txt b/docs/design/ui_kits/app/DirectivesScreen.js.txt new file mode 100644 index 0000000..8698e5b --- /dev/null +++ b/docs/design/ui_kits/app/DirectivesScreen.js.txt @@ -0,0 +1,103 @@ +// Directive log — append-only ledger + the consequence diff (propose-approve) +function DirectivesScreen() { + const DS = window.CommiTeaDesignSystem_20e63b; + const { Card, Button, Badge, Icon } = DS; + const d = window.CT_DATA.directives; + const [pending, setPending] = React.useState(d.pending); + const [entries, setEntries] = React.useState(d.entries); + + const resolve = (status) => { + setEntries((e) => [{ + seq: pending.seq, who: pending.who, when: pending.when, what: pending.what, why: 'pilot demo on the 14th', + status, consequence: status === 'applied' ? '#78 +5d · Beta 80% Mar 5–14' : 'withdrawn before apply', + }, ...e]); + setPending(null); + }; + + const toneColor = { ok: 'var(--ok)', warn: 'var(--warn)', info: 'var(--info)', danger: 'var(--danger)' }; + const statusBadge = { + applied: { tone: 'ok', label: 'applied' }, + withdrawn: { tone: 'neutral', label: 'withdrawn' }, + superseded: { tone: 'info', label: 'superseded' }, + }; + + return ( +
+
+

Directives

+

append-only · JSONL in pm-state · who, when, what, why

+
+ + {pending ? ( + + + + + }> +
+

+ {pending.who} + · {pending.when} +
“{pending.what}” +

+
+ {pending.diff.map((r) => ( +
+ + {r.change} + + {r.from} {r.to} + +
+ ))} +
+

+ Cheap, as consequences go. Shall I make it so? +

+
+
+ ) : ( +
+ + Nothing awaits your word. Directives are given in chat; consequences appear here first. +
+ )} + + +
+ {entries.map((e, i) => { + const sb = statusBadge[e.status]; + return ( +
+
+ #00{e.seq} + +
+
+
+ {e.who.split(' ').map((w) => w[0]).join('')} + {e.who} + {e.when} + {e.why ? · why: {e.why} : null} + {sb.label} +
+

“{e.what}”

+

{e.consequence}

+
+
+ ); + })} +
+
+ +

+ Entries are never edited. Corrections are new entries — the ledger remembers everything, politely. +

+
+ ); +} +Object.assign(window, { DirectivesScreen }); diff --git a/docs/design/ui_kits/app/FocusScreen.js.txt b/docs/design/ui_kits/app/FocusScreen.js.txt new file mode 100644 index 0000000..79978c0 --- /dev/null +++ b/docs/design/ui_kits/app/FocusScreen.js.txt @@ -0,0 +1,52 @@ +// Morning service — focus screen +function FocusScreen({ onOpenIssue }) { + const DS = window.CommiTeaDesignSystem_20e63b; + const { Card, Tag, Badge, Button, IconButton } = DS; + const d = window.CT_DATA; + + const FocusRow = ({ slot, issue, jade }) => ( + { e.preventDefault(); onOpenIssue(issue); }} + style={{ color: 'inherit', border: 'none' }}>{issue.title}
} + actions={} + footer={jade ? <> + + + scheduler pick · critical path + : null}> +
+ #{issue.id} + {issue.labels.map((l) => )} + {issue.steeping ? steeping {issue.steeping} : null} +
+

{issue.rationale}

+ + ); + + return ( +
+
+
+

Morning service

+

{d.today} · reconcile 3.2s

+
+ ahead of forecast +
+ +
+ + + +
+ + 80% this lands Mar 3–12} + actions={}> + +

+ The cone has narrowed since Friday. I'm quietly pleased. +

+
+
+ ); +} +Object.assign(window, { FocusScreen }); diff --git a/docs/design/ui_kits/app/GanttView.js.txt b/docs/design/ui_kits/app/GanttView.js.txt new file mode 100644 index 0000000..99a512f --- /dev/null +++ b/docs/design/ui_kits/app/GanttView.js.txt @@ -0,0 +1,103 @@ +// Gantt drill-in — scheduler-derived bars, critical chain, 80% forecast tails +function GanttView({ onOpenIssue }) { + const DS = window.CommiTeaDesignSystem_20e63b; + const { Icon } = DS; + const g = window.CT_DATA.gantt; + + const LABELW = 232, DAYW = 21, ROWH = 36, HEADH = 30; + const chartW = g.days * DAYW; + const W = LABELW + chartW; + const H = HEADH + g.rows.length * ROWH; + const X = (d) => LABELW + d * DAYW; + + const BAR = { + done: { bg: 'var(--paper-3)', border: 'transparent', text: 'var(--ink-3)' }, + steeping: { bg: 'var(--accent)', border: 'transparent', text: 'var(--ink-inverse)' }, + review: { bg: 'var(--info-tint)', border: 'var(--info)', text: 'var(--info)' }, + scheduled: { bg: 'var(--spruce-2)', border: 'var(--spruce-3)', text: 'var(--accent-text)' }, + }; + + return ( +
+ {/* legend */} +
+ {[['steeping', 'in work'], ['review', 'in review'], ['scheduled', 'scheduled'], ['done', 'done']].map(([k, label]) => ( + + {label} + + ))} + + 80% tail + + + today + +
+ + {/* chart */} +
+
+ {/* week gridlines + labels */} + {g.weeks.map((w) => ( + +
+ {w.label} +
+ ))} + {/* milestone 80% band */} +
+ {g.band.label} + {/* due marker */} +
+ + {/* today rule */} +
+ + {/* rows */} + {g.rows.map((r, i) => { + const top = HEADH + i * ROWH; + const st = BAR[r.state]; + return ( + + {/* row hairline */} +
+ {/* label cell (sticky) */} +
onOpenIssue({ id: r.id, title: r.title, labels: [], days: r.state === 'steeping' ? '4d' : undefined })} + style={{ + position: 'absolute', left: 0, width: LABELW, height: ROWH, top: top, zIndex: 2, cursor: 'pointer', + display: 'flex', alignItems: 'center', gap: 8, padding: '0 12px 0 14px', background: 'var(--surface-card)', + borderRight: '1px solid var(--line-1)', + boxShadow: r.crit ? 'inset 2px 0 0 var(--accent)' : 'none', + }} + > + #{r.id} + {r.title} + {r.who} +
+ {/* bar */} +
+ {/* 80% tail */} + {r.p80 ? ( + <> +
+
+ + ) : null} +
+ ); + })} +
+
+ +

+ The path holds if #87 lands by Wednesday. The dotted tails are your own history, wagging. +

+
+ ); +} +Object.assign(window, { GanttView }); diff --git a/docs/design/ui_kits/app/InboxScreen.js.txt b/docs/design/ui_kits/app/InboxScreen.js.txt new file mode 100644 index 0000000..3ba2487 --- /dev/null +++ b/docs/design/ui_kits/app/InboxScreen.js.txt @@ -0,0 +1,95 @@ +// Inbox — Reginald only rings the bell when it matters +function InboxScreen({ onOpenIssue, onOpenDirectives, readIds, setReadIds }) { + const DS = window.CommiTeaDesignSystem_20e63b; + const { Card, Tabs, Button, Icon } = DS; + const all = window.CT_DATA.inbox; + const [tab, setTab] = React.useState('all'); + + const isRead = (n) => !n.unread || readIds.includes(n.id); + const unreadCount = all.filter((n) => !isRead(n)).length; + + const FILTERS = { + all: () => true, + mentions: (n) => n.type === 'mention' || n.type === 'assignment', + drift: (n) => n.type === 'drift' || n.type === 'nag' || n.type === 'milestone', + system: (n) => n.type === 'system' || n.type === 'review', + }; + const items = all.filter(FILTERS[tab]); + const days = [...new Set(items.map((n) => n.day))]; + + const toneColor = { ok: 'var(--ok)', warn: 'var(--warn)', info: 'var(--info)', neutral: 'var(--ink-3)' }; + + const open = (n) => { + setReadIds((r) => (r.includes(n.id) ? r : [...r, n.id])); + if (n.issue) onOpenIssue(n.issue); + else if (n.to === 'directives') onOpenDirectives(); + }; + + return ( +
+
+
+

Inbox

+

+ {unreadCount ? `${unreadCount} unread` : 'all read'} · nothing here rings twice +

+
+ {unreadCount ? ( + + ) : null} +
+ + + + +
+ {days.map((day) => ( +
+
{day}
+ {items.filter((n) => n.day === day).map((n) => { + const read = isRead(n); + return ( +
open(n)} + style={{ + display: 'flex', alignItems: 'flex-start', gap: 12, padding: '11px 20px', + cursor: n.issue || n.to ? 'pointer' : 'default', + opacity: read ? 0.72 : 1, + }} + onMouseEnter={(e) => { e.currentTarget.style.background = 'var(--paper-2)'; }} + onMouseLeave={(e) => { e.currentTarget.style.background = 'transparent'; }} + > + + + + +
+
+ {n.who ? {n.who} : null}{n.text} +
+
{n.detail}
+
+ {n.time} +
+ ); + })} +
+ ))} +
+
+ +

+ I only ring the bell when it matters. The rest can wait for morning service. +

+
+ ); +} +Object.assign(window, { InboxScreen }); diff --git a/docs/design/ui_kits/app/IssueScreen.js.txt b/docs/design/ui_kits/app/IssueScreen.js.txt new file mode 100644 index 0000000..0433ef1 --- /dev/null +++ b/docs/design/ui_kits/app/IssueScreen.js.txt @@ -0,0 +1,172 @@ +// Issue detail — human intent (gitea) on the left, machine-derived (pm-state) on the right +function IssueScreen({ issue, onBack, onOpenIssue }) { + const DS = window.CommiTeaDesignSystem_20e63b; + const { Card, Tag, Badge, Button, Icon } = DS; + const det = window.CT_DATA.issueDetail[issue.id] || { + state: 'triage', + assignee: 'Stephen', + milestone: 'Beta', + body: '', + comments: [], + lifecycle: [ + { stage: 'Diagnosis', event: 'issue opened', when: 'Feb 4 · 10:20', icon: 'circle-dot', done: true }, + { stage: 'Triage', event: 'labeled · milestoned Beta', when: 'Feb 5 · 09:12', icon: 'tag', done: true }, + { stage: 'Work start', event: 'first branch or commit ref', when: 'pending', icon: 'git-commit-horizontal', done: false }, + { stage: 'Deploy', event: 'PR merged', when: 'pending', icon: 'git-merge', done: false }, + { stage: 'Complete', event: 'issue closed', when: 'pending', icon: 'circle-check', done: false }, + ], + forecast: { p80: 'starts wk of Feb 16', note: 'queue position from scheduler' }, + blocks: [], + blockedBy: [], + note: null, + }; + const stateBadge = { + steeping: { tone: 'warn', label: `steeping${issue.days || issue.steeping ? ' ' + (issue.days || issue.steeping) : ''}` }, + triage: { tone: 'neutral', label: 'triage' }, + review: { tone: 'info', label: 'in review' }, + done: { tone: 'ok', label: 'done' }, + }[det.state] || { tone: 'neutral', label: det.state }; + + return ( +
+ {/* breadcrumb + header */} +
+ +
+
+

#{issue.id} · stephen/commitea

+

{issue.title}

+
+ {stateBadge.label} + {(issue.labels || []).map((l) => )} + + {det.milestone} + + + {det.assignee} + +
+
+ +
+
+ +
+ {/* left: human intent */} +
+ + {det.body ? ( +

{det.body}

+ ) : ( +

+ No description was written. I have opinions about that, but I'll keep them warm. +

+ )} +
+ + +
+ {det.comments.map((c, i) => ( +
+ {c.who.split(' ').map((w) => w[0]).join('')} +
+
+ {c.who} + {c.when} +
+

{c.text}

+
+
+ ))} +
+ + +
+
+
+ + {det.note ? ( +

{det.note}

+ ) : null} +
+ + {/* right: machine-derived sidecar */} + +
+ {/* lifecycle */} +
+ {det.lifecycle.map((s, i) => ( +
+
+ + + + {i < det.lifecycle.length - 1 ? : null} +
+
+
{s.stage}
+
{s.event}
+
{s.when}
+
+
+ ))} +
+ {/* forecast */} +
+
Forecast
+
80% {det.forecast.p80}
+
{det.forecast.note}
+
+ {/* dependencies */} +
+
Dependencies
+ {det.blocks.length === 0 && det.blockedBy.length === 0 ? ( +
none
+ ) : ( +
+ {det.blocks.length ? ( +
+ blocks + {det.blocks.map((b) => ( + + ))} +
+ ) : null} + {det.blockedBy.length ? ( +
+ blocked by + {det.blockedBy.map((b) => #{b})} +
+ ) : null} +
+ )} +
+ {/* provenance note */} +
+

+ Lives in pm-state. Your repo never sees any of it. +

+
+
+
+
+
+ ); +} +Object.assign(window, { IssueScreen }); diff --git a/docs/design/ui_kits/app/MilestoneScreen.js.txt b/docs/design/ui_kits/app/MilestoneScreen.js.txt new file mode 100644 index 0000000..eecd1af --- /dev/null +++ b/docs/design/ui_kits/app/MilestoneScreen.js.txt @@ -0,0 +1,98 @@ +// Milestone detail — scope, cone, issues; forecasts stay ranges +function MilestoneScreen({ onBack, onOpenIssue }) { + const DS = window.CommiTeaDesignSystem_20e63b; + const { Card, Tag, Badge, Button, Icon } = DS; + const cols = window.CT_DATA.columns; + const byState = (ids) => cols.flatMap((c) => c.issues.map((i) => ({ ...i, col: c.label }))).filter((i) => ids.includes(i.id)); + + const groups = [ + { label: 'Steeping', issues: byState([87, 84]) }, + { label: 'In review', issues: byState([92]) }, + { label: 'Queued', issues: byState([102, 103, 99, 96, 78]) }, + { label: 'Done', issues: byState([71, 69, 65]), muted: true }, + ]; + + const Stat = ({ label, value, tone }) => ( +
+
{label}
+
{value}
+
+ ); + + return ( +
+
+ +
+
+

+ milestone · due Mar 15 · soft — scope may flex +

+

Beta

+
+ ahead of forecast + 80% Mar 3–12 +
+
+ +
+
+ + {/* stats strip */} + +
+ + + +
+
Drift · 7d
+
−2d · cone narrowed
+
+
+
+ +
+ 80% this lands Mar 3–12} jade> + +

+ Comfortably ahead. Beta needs #87 more than it needs my commentary. +

+
+ + +
+ {groups.map((g) => ( +
+
+ {g.label} + {g.issues.length} +
+ {g.issues.map((i) => ( +
onOpenIssue({ id: i.id, title: i.title, labels: i.labels, days: i.days })} + style={{ + display: 'flex', alignItems: 'center', gap: 8, padding: '7px 20px', cursor: 'pointer', + opacity: g.muted ? 0.6 : 1, + }} + onMouseEnter={(e) => { e.currentTarget.style.background = 'var(--paper-2)'; }} + onMouseLeave={(e) => { e.currentTarget.style.background = 'transparent'; }} + > + #{i.id} + {i.title} + {(i.labels || []).filter((l) => l.startsWith('est/')).map((l) => )} +
+ ))} +
+ ))} +
+
+
+
+ ); +} +Object.assign(window, { MilestoneScreen }); diff --git a/docs/design/ui_kits/app/OnboardingScreen.js.txt b/docs/design/ui_kits/app/OnboardingScreen.js.txt new file mode 100644 index 0000000..13c2db7 --- /dev/null +++ b/docs/design/ui_kits/app/OnboardingScreen.js.txt @@ -0,0 +1,167 @@ +// Onboarding / first connect — welcome → connect gitea → choose repo → bootstrap +function OnboardingScreen({ onDone }) { + const DS = window.CommiTeaDesignSystem_20e63b; + const { Button, Input, Radio, Tag, Badge, Icon } = DS; + const [step, setStep] = React.useState(0); + const [conn, setConn] = React.useState('idle'); // idle | testing | ok + const [repo, setRepo] = React.useState('stephen/commitea'); + const [boot, setBoot] = React.useState(-1); // -1 idle, 0..2 running, 3 done + + React.useEffect(() => { + if (conn !== 'testing') return; + const t = setTimeout(() => setConn('ok'), 1100); + return () => clearTimeout(t); + }, [conn]); + + React.useEffect(() => { + if (boot < 0 || boot >= 3) return; + const t = setTimeout(() => setBoot(boot + 1), 700); + return () => clearTimeout(t); + }, [boot]); + + const STEPS = ['Welcome', 'Connect', 'Repo', 'Bootstrap']; + const BOOT_TASKS = [ + 'Create stephen/pm-state (the sidecar)', + 'Apply the label schema to stephen/commitea', + 'Install a webhook · endpoint :48731', + ]; + + const Frame = ({ children, footer }) => ( +
+ {children} + {footer ?
{footer}
: null} +
+ ); + + return ( +
+ {/* brand */} +
+ + + CommiTea + +
+ + {/* stepper */} +
+ {STEPS.map((s, i) => ( +
+ + {i < step ? '\u2713' : i + 1} + {s} + + {i < STEPS.length - 1 ? : null} +
+ ))} +
+ +
+ {step === 0 ? ( + setStep(1)}>Begin}> +

Good morning.

+

+ I'm Reginald, your project manager. I interview you instead of making you fill in forms, + I forecast in honest ranges, and I never do the arithmetic myself — there's a scheduler for that. +

+

+ Your plans live in your own Gitea as ordinary issues and labels. Delete me and nothing human is lost. +

+ + ) : null} + + {step === 1 ? ( + + + + }> +

Your Gitea

+ + +
+ + {conn === 'ok' ? connected · 3 repos visible : null} +
+ + ) : null} + + {step === 2 ? ( + + + + }> +

Which repo shall I manage?

+
+ {['stephen/commitea', 'stephen/novelpad', 'stephen/infra'].map((r) => ( + + ))} +
+

One to start. You can add more later in Settings.

+ + ) : null} + + {step === 3 ? ( + + + + : <> + + + }> +

+ {boot === 3 ? 'All set.' : 'With your approval'} +

+
+ {BOOT_TASKS.map((t, i) => ( +
+ i ? 'var(--ok)' : boot === i ? 'var(--warn)' : 'var(--ink-3)' }}> + i ? 'circle-check' : boot === i ? 'loader-circle' : 'circle-dashed'} size={15} /> + + i ? 'var(--ink-1)' : 'var(--ink-2)', whiteSpace: 'nowrap' }}>{t} +
+ ))} +
+ {['est/1d', 'est/2d', 'est/3d', 'est/5d', 'est/8d', 'p/1', 'p/2', 'p/3', 'p/4', 'deadline/hard'].map((l) => )} +
+
+ {boot === 3 ? ( +

+ The pot is empty. Tell me what you're planning and I'll draw up the tickets. +

+ ) : ( +

+ No bot comments, no body frontmatter, no synthetic issues — ever. Labels are the only footprint. +

+ )} + + ) : null} +
+ + first run · everything reversible +
+ ); +} +Object.assign(window, { OnboardingScreen }); diff --git a/docs/design/ui_kits/app/README.md b/docs/design/ui_kits/app/README.md new file mode 100644 index 0000000..d48df7a --- /dev/null +++ b/docs/design/ui_kits/app/README.md @@ -0,0 +1,22 @@ +# CommiTea app — UI kit + +High-fidelity recreation of the CommiTea Electron app (one window). Built from the product plan (`uploads/commitea.md`); no production UI existed yet, so this kit **is** the reference design. + +Surfaces (per the plan's UI section): + +- **Onboarding / first run** ("First run" in the nav) — full-window takeover, no rail or chat: Reginald introduces himself → connect Gitea (test connection) → choose the managed repo → propose-approve bootstrap (pm-state sidecar, label schema, webhook) ending at "Start a capture". +- **Standup** — the morning ritual as a typeset letter from Reginald: overnight drift report (with mono consequence deltas), today's plan per person, and the stale-blocker nag. Sections settle in once, 320ms, reduced-motion-safe. +- **Morning service (Focus)** — Now/Next/Later focus cards with the scheduler's pick and Reginald's one-line rationale; burn-up chart with Monte Carlo forecast cone. +- **Board** — kanban over the inferred lifecycle (diagnosis → triage → steeping → review → done), with Gantt and Dependencies drill-in tabs: the Gantt shows scheduler-derived bars with 80% forecast tails and Beta's landing band; Dependencies is a layered DAG with the critical path in spruce. +- **Issue detail** (click any issue anywhere) — the purity rule made visible: human intent from gitea on the left (description, comments, composer that "writes to gitea, as you"), machine-derived sidecar on the right (inferred lifecycle timeline from git events, per-issue forecast, dependencies) with the provenance note "Lives in pm-state. Your repo never sees any of it." +- **Inbox** — the bell Reginald only rings when it matters: drift, mentions, nags, reviews, system events — day-grouped, filter tabs, unread dots with a live count in the rail; rows navigate to the issue or directive concerned. "Nothing here rings twice." +- **Directives** — the append-only ledger (who/when/what/why) plus the consequence diff: scheduler re-runs after a directive and Reginald presents before → after deltas for approval ("Make it so" / Amend / Withdraw). Also reachable from the history icon in Reginald's panel. +- **Runway** — capacity vs milestone dates; forecast ranges, never point dates. Its calibration card drills into the **Calibration report**: estimate-vs-actual scatter ("the shape of hope") with honest-diagonal and fitted ×1.18 line, bias by estimate label, per-person bias, and the effect on forecast bands. Milestone rows drill into **Milestone detail**: stats strip (scope / done / forecast / drift), burn-up cone, and the issue list grouped by lifecycle state. +- **Capture** — the plan's headline goal: braindump → interview → approved ticket set in under 2:00, with a running clock. Reginald asks only what he can't infer; drafts build in "the tray" as you answer; review shows the consequence (cone shift) before "Approve all"; filing touches labels only. +- **Reginald's panel** (right side, always present) — chat is the write-path; UI is the read-path. Reginald speaks in upright Caslon serif. + +- **States** (nav, bottom) — gallery of empty & trouble states as wired in the app: empty pot / nothing scheduled / no directives / search miss; gitea-unreachable banner, model-offline chat state, webhook poll-fallback, failed first reconcile. Two are live: board search shows the real empty state, and clicking the rail's connection dot toggles offline mode (banner app-wide, Reginald queues writes, composer disabled). + +Interactive: nav switching, issue click → detail page, chat replies (canned), light/dark theme toggle, offline simulation. + +Files: `index.html` (entry), `Shell.jsx` (rail + layout), `OnboardingScreen.jsx`, `StandupScreen.jsx`, `FocusScreen.jsx`, `InboxScreen.jsx`, `BoardScreen.jsx`, `DepsGraph.jsx`, `GanttView.jsx`, `RunwayScreen.jsx`, `CalibrationScreen.jsx`, `MilestoneScreen.jsx`, `CaptureScreen.jsx`, `DirectivesScreen.jsx`, `IssueScreen.jsx`, `SettingsScreen.jsx`, `StatesGallery.jsx`, `ChatPanel.jsx`, `Chart.jsx` (burn-up cone SVG), `data.js` (fixture data). diff --git a/docs/design/ui_kits/app/RunwayScreen.js.txt b/docs/design/ui_kits/app/RunwayScreen.js.txt new file mode 100644 index 0000000..5060ebf --- /dev/null +++ b/docs/design/ui_kits/app/RunwayScreen.js.txt @@ -0,0 +1,73 @@ +// Runway — capacity vs milestone dates; ranges, never points +function RunwayScreen({ onOpenCalibration, onOpenMilestone }) { + const DS = window.CommiTeaDesignSystem_20e63b; + const { Card, Badge, Tag, Icon } = DS; + const d = window.CT_DATA; + + return ( +
+
+

Runway

+

capacity vs milestone dates · calibrated on 27 closed issues

+
+ + +
+ {d.runway.map((m, i) => ( +
{ e.currentTarget.style.background = 'var(--paper-2)'; }} + onMouseLeave={(e) => { e.currentTarget.style.background = 'transparent'; }}> +
+
+ {m.name} +
+
+ due {m.due}{m.hard ? ' ' : ''} +
+ {m.hard ? : null} +
+ + 80% {m.p80} + {m.note} +
+ ))} +
+
+ +
+ +
+ {d.capacity.map((p, i) => ( +
+ {p.who.split(' ').map(w => w[0]).join('')} +
+
{p.who}
+
{p.slices}
+
+ {p.hours} +
+ ))} +
+
+ }> +

+ Your estimates run 18% optimistic on est/3d and above. Smaller tickets are honest. +

+

+ I widen the cone accordingly. No judgement — it's the most common shape of hope. +

+
+
+
+ ); +} +Object.assign(window, { RunwayScreen }); diff --git a/docs/design/ui_kits/app/SettingsScreen.js.txt b/docs/design/ui_kits/app/SettingsScreen.js.txt new file mode 100644 index 0000000..565bbb7 --- /dev/null +++ b/docs/design/ui_kits/app/SettingsScreen.js.txt @@ -0,0 +1,136 @@ +// Settings — gitea connection, sync, model roles, labels, rituals, appearance +function SettingsScreen({ dark, setDark }) { + const DS = window.CommiTeaDesignSystem_20e63b; + const { Card, Input, Select, Switch, Radio, Button, IconButton, Tag, Badge, Icon } = DS; + const [webhooks, setWebhooks] = React.useState(true); + const [reconcile, setReconcile] = React.useState(true); + const [poll, setPoll] = React.useState(true); + const [nag, setNag] = React.useState(true); + + const Row = ({ children, style }) => ( +
{children}
+ ); + const Note = ({ children }) => ( +

{children}

+ ); + + return ( +
+
+

Settings

+

config lives in pm-state · versioned, portable

+
+ + +
+ + +
+ Managed repos + + + stephen/commitea + syncing + + + + + stephen/pm-state + sidecar + + The sidecar holds machine-derived state only. Delete it and resync — no truth is lost. + +
+
+
+ + +
+ + setWebhooks(e.target.checked)} /> + endpoint :48731 · healthy + + setReconcile(e.target.checked)} /> + + setPoll(e.target.checked)} /> +
+ + + +
+ + hot memory ≤ 2k tokens · math is never delegated to either + +

+ The small one writes my standup; the large one argues with your estimates. Neither is allowed near the arithmetic. +

+
+
+ + +
+ + {['est/1d', 'est/2d', 'est/3d', 'est/5d', 'est/8d'].map((l) => )} + + + {['p/1', 'p/2', 'p/3', 'p/4'].map((l) => )} + + + Fixed sets, human-meaningful, visible in gitea. Not configurable — that is rather the point. +
+
+ + +
+ + Morning standup +
+ +
+
+
+
+ + +
+ setDark(false)} /> + setDark(true)} /> +
+
+ + + +
+
Forget this gitea
+ Removes the connection and the local cache. Gitea itself is untouched. +
+ +
+
+
+ ); +} +Object.assign(window, { SettingsScreen }); diff --git a/docs/design/ui_kits/app/Shell.js.txt b/docs/design/ui_kits/app/Shell.js.txt new file mode 100644 index 0000000..4c8ac38 --- /dev/null +++ b/docs/design/ui_kits/app/Shell.js.txt @@ -0,0 +1,113 @@ +// App shell — left rail + content + agent panel, issue page, theme toggle +function Shell() { + const DS = window.CommiTeaDesignSystem_20e63b; + const { Icon, Switch } = DS; + const [view, setView] = React.useState('focus'); + const [prevView, setPrevView] = React.useState('focus'); + const [dark, setDark] = React.useState(false); + const [issue, setIssue] = React.useState(null); + const [offline, setOffline] = React.useState(false); + const [readIds, setReadIds] = React.useState([]); + const inboxUnread = window.CT_DATA.inbox.filter((n) => n.unread && !readIds.includes(n.id)).length; + + const openIssue = (i) => { + setIssue(i); + if (view !== 'issue') setPrevView(view); + setView('issue'); + }; + + React.useEffect(() => { + document.documentElement.setAttribute('data-theme', dark ? 'dark' : 'light'); + }, [dark]); + + if (view === 'firstrun') { + return setView(dest)} />; + } + + const NAV = [ + { id: 'standup', label: 'Standup', icon: 'sun' }, + { id: 'focus', label: 'Morning service', icon: 'coffee' }, + { id: 'inbox', label: 'Inbox', icon: 'bell', count: inboxUnread || null }, + { id: 'capture', label: 'Capture', icon: 'plus' }, + { id: 'board', label: 'The pot', icon: 'square-kanban' }, + { id: 'runway', label: 'Runway', icon: 'chart-line' }, + { id: 'directives', label: 'Directives', icon: 'flag' }, + ]; + + const NavItem = ({ item }) => { + const active = view === item.id || (view === 'issue' && prevView === item.id) || ((view === 'calibration' || view === 'milestone') && item.id === 'runway'); + return ( + + ); + }; + + return ( +
+ {/* left rail */} + + + {/* main */} +
+
+ {offline ? : null} + {view === 'focus' ? : null} + {view === 'board' ? : null} + {view === 'runway' ? setView('calibration')} onOpenMilestone={() => setView('milestone')} /> : null} + {view === 'capture' ? setView('focus')} /> : null} + {view === 'standup' ? setView('focus')} onOpenIssue={openIssue} /> : null} + {view === 'settings' ? : null} + {view === 'directives' ? : null} + {view === 'issue' && issue ? setView(prevView)} onOpenIssue={openIssue} /> : null} + {view === 'calibration' ? setView('runway')} /> : null} + {view === 'milestone' ? setView('runway')} onOpenIssue={openIssue} /> : null} + {view === 'states' ? setView('capture')} /> : null} + {view === 'inbox' ? setView('directives')} readIds={readIds} setReadIds={setReadIds} /> : null} +
+
+ + setView('directives')} offline={offline} /> +
+ ); +} +Object.assign(window, { Shell }); diff --git a/docs/design/ui_kits/app/StandupScreen.js.txt b/docs/design/ui_kits/app/StandupScreen.js.txt new file mode 100644 index 0000000..da2641c --- /dev/null +++ b/docs/design/ui_kits/app/StandupScreen.js.txt @@ -0,0 +1,112 @@ +// Morning standup ritual — a typeset letter from Reginald: drift, plan, nag +const standupCSS = ` +@keyframes ct-standup-settle { + from { opacity: 0; transform: translateY(6px); } + to { opacity: 1; transform: none; } +} +.ct-standup-section { opacity: 1; } +@media (prefers-reduced-motion: no-preference) { + .ct-standup-section { animation: ct-standup-settle 320ms var(--ease-out) both; } +} +`; +(function inject() { + if (typeof document !== 'undefined' && !document.getElementById('ct-standup-css')) { + const s = document.createElement('style'); s.id = 'ct-standup-css'; s.textContent = standupCSS; + document.head.appendChild(s); + } +})(); + +function StandupScreen({ onBegin, onOpenIssue }) { + const DS = window.CommiTeaDesignSystem_20e63b; + const { Button, Tag, Badge, Icon } = DS; + const s = window.CT_DATA.standup; + + const Section = ({ overline, children, order }) => ( +
+

{overline}

+ {children} +
+ ); + + const toneColor = { ok: 'var(--ok)', warn: 'var(--warn)', danger: 'var(--danger)' }; + + return ( +
+
+ {/* letterhead */} +
+

{s.date} · prepared 07:00

+

Morning standup

+
+ +
+
+ {s.drift.map((d) => ( +
+ + {d.text} + {d.delta} +
+ ))} +
+
+ +
+
+ {s.plan.map((p) => ( +
+ {p.who.split(' ').map((w) => w[0]).join('')} +
+
+ {p.who} + {p.pick} + {p.title} +
+

{p.why}

+
+
+ ))} +
+
+ +
+
onOpenIssue({ id: s.nag.id, title: 'Fix lifecycle inference on merge events', labels: ['est/2d', 'p/1'], days: s.nag.days })} + style={{ + display: 'flex', gap: 10, alignItems: 'flex-start', cursor: 'pointer', + background: 'var(--warn-tint)', borderRadius: 'var(--radius-2)', padding: '12px 14px', + }} + > + +
+
+ #{s.nag.id} + steeping {s.nag.days} + blocks {s.nag.blocks.join(', ')} +
+

{s.nag.text}

+
+
+
+ + {/* sign-off */} +
+

The kettle's on. — R.

+ + +
+
+
+ ); +} +Object.assign(window, { StandupScreen }); diff --git a/docs/design/ui_kits/app/StatesGallery.js.txt b/docs/design/ui_kits/app/StatesGallery.js.txt new file mode 100644 index 0000000..5c6a129 --- /dev/null +++ b/docs/design/ui_kits/app/StatesGallery.js.txt @@ -0,0 +1,130 @@ +// Shared empty/trouble states + the States gallery screen +function EmptyState({ icon, title, line, action, onAction, compact }) { + const DS = window.CommiTeaDesignSystem_20e63b; + const { Button, Icon } = DS; + return ( +
+ +
{title}
+

{line}

+ {action ? : null} +
+ ); +} + +function OfflineBanner({ retryIn }) { + const DS = window.CommiTeaDesignSystem_20e63b; + const { Icon } = DS; + return ( +
+ + + Gitea isn't answering. I'll keep trying and say nothing more about it. + + + retry in {retryIn || '0:12'} · reads from cache + +
+ ); +} + +function ModelAwayState() { + const DS = window.CommiTeaDesignSystem_20e63b; + const { Icon, Badge } = DS; + return ( +
+
+ + Reginald + model offline + queued: 1 directive +
+

+ The model is away from its desk. Reads still work; writes will wait their turn. +

+
+ ); +} + +function StatesScreen({ onCapture }) { + const DS = window.CommiTeaDesignSystem_20e63b; + const { Button, Badge, Icon } = DS; + + const Specimen = ({ label, children }) => ( +
+ {label} +
+ {children} +
+
+ ); + + return ( +
+
+

States

+

empty & trouble · specimens as wired in the app

+
+ +

Empty

+
+ + + + + + + + + + + + +
+ +

Trouble

+
+ +
+
+
+ + + + +
+ webhooks down + polling every 2 min · updates may lag +
+
+
+ +
+ +
+ + +
+
+
+
+
+ ); +} +Object.assign(window, { EmptyState, OfflineBanner, ModelAwayState, StatesScreen }); diff --git a/docs/design/ui_kits/app/data.js b/docs/design/ui_kits/app/data.js new file mode 100644 index 0000000..1116331 --- /dev/null +++ b/docs/design/ui_kits/app/data.js @@ -0,0 +1,203 @@ +// CommiTea fixture data — human-authored intent (gitea) + machine-derived state (sidecar) +window.CT_DATA = { + today: 'Tuesday 7 July 2026', + milestone: { + name: 'Beta', + due: '2026-03-15', + hard: false, + forecast: { p80: 'Mar 3–12', p50: 'Mar 5–8', drift: '+0d' }, + }, + focus: { + now: { + id: 87, title: 'Fix lifecycle inference on merge events', + labels: ['est/2d', 'p/1'], steeping: '4d', + rationale: 'It blocks #91 and #92. I\u2019d take it first \u2014 the critical path agrees with me.', + }, + next: { + id: 91, title: 'Webhook listener: reconcile on reconnect', + labels: ['est/3d', 'p/2'], + rationale: 'Ready the moment #87 lands. The estimate is yours; history says add a day.', + }, + later: { + id: 78, title: 'Calibration store cold-start distributions', + labels: ['est/5d', 'p/3'], + rationale: 'Nothing depends on it yet. It can steep.', + }, + }, + columns: [ + { id: 'diagnosis', label: 'Diagnosis', issues: [ + { id: 102, title: 'Scheduler ignores standing allocation slices', labels: ['p/2'], who: 'SM' }, + { id: 103, title: 'Dark theme: cone fill too faint', labels: ['p/4'], who: 'SM' }, + ]}, + { id: 'triage', label: 'Triage', issues: [ + { id: 99, title: 'Directive log: conflict-free merge test', labels: ['est/1d', 'p/2'], who: 'SM' }, + { id: 96, title: 'Label schema bootstrap for new repos', labels: ['est/2d', 'p/3'], who: 'AK' }, + { id: 78, title: 'Calibration store cold-start distributions', labels: ['est/5d', 'p/3'], who: 'SM' }, + ]}, + { id: 'steeping', label: 'Steeping', issues: [ + { id: 87, title: 'Fix lifecycle inference on merge events', labels: ['est/2d', 'p/1'], who: 'SM', blocked: false, days: '4d' }, + { id: 84, title: 'Capacity model: focus factor per person', labels: ['est/3d', 'p/2'], who: 'AK', days: '1d' }, + ]}, + { id: 'review', label: 'In review', issues: [ + { id: 92, title: 'Monte Carlo engine: percentile bands', labels: ['est/5d', 'p/1'], who: 'SM', pr: '#141' }, + ]}, + { id: 'done', label: 'Done', issues: [ + { id: 71, title: 'Gitea client: token auth + retries', labels: ['est/2d', 'p/2'], who: 'SM' }, + { id: 69, title: 'pm-state repo bootstrap', labels: ['est/1d', 'p/1'], who: 'SM' }, + { id: 65, title: 'Electron shell + window state', labels: ['est/3d', 'p/2'], who: 'AK' }, + ]}, + ], + runway: [ + { name: 'Beta', due: 'Mar 15', hard: false, p80: 'Mar 3–12', pos: 0.62, spread: 0.18, tone: 'ok', note: 'ahead' }, + { name: 'Pilot-ready', due: 'Apr 30', hard: true, p80: 'Apr 21 – May 9', pos: 0.94, spread: 0.26, tone: 'warn', note: 'drifting' }, + { name: 'v1.0', due: 'Jun 12', hard: false, p80: 'May 30 – Jun 20', pos: 0.88, spread: 0.3, tone: 'ok', note: 'on watch' }, + ], + capacity: [ + { who: 'Stephen', hours: '5.2h/day', focus: 0.65, slices: 'dev 70% · pilots 20% · compliance 10%' }, + { who: 'Ana K.', hours: '3.8h/day', focus: 0.8, slices: 'dev 100%' }, + ], + chat: [ + { from: 'agent', text: 'Morning service. Two things drifted overnight; one needs your opinion.' }, + { from: 'agent', text: '#84 grew a dependency on #92 \u2014 I\u2019ve reordered. And #87 has been steeping for four days; it blocks two others. Worth a look.' }, + { from: 'user', text: 'Push the calibration work to next week, pilots come first' }, + { from: 'agent', text: 'Done \u2014 #78 moves to next week. Milestone Beta is unmoved; the cone doesn\u2019t care for calibration either. Logged as a directive.' }, + ], + cannedReply: 'Noted and logged as a directive. The scheduler is re-running \u2014 I\u2019ll show you the consequence diff in a moment.', + standup: { + date: 'Tuesday 7 July 2026', + drift: [ + { tone: 'warn', text: '#84 grew a dependency on #92 overnight.', delta: 'reordered \u00b7 no date impact' }, + { tone: 'warn', text: '#92 has sat in review for two days.', delta: 'Beta 80% +1d if idle past Thu' }, + { tone: 'ok', text: 'Webhook outage 02:14\u201302:31; full reconcile ran.', delta: 'nothing lost' }, + ], + plan: [ + { who: 'Stephen', pick: '#87', title: 'Fix lifecycle inference on merge events', why: 'It blocks two others and the critical path runs straight through it.' }, + { who: 'Ana K.', pick: '#84', title: 'Capacity model: focus factor per person', why: 'Already steeping \u2014 finish it before anything new is poured.' }, + ], + nag: { id: 87, days: '4d', blocks: ['#91', '#92'], text: 'Four days is a long steep. It blocks #91 and #92 \u2014 worth a look before it stains.' }, + }, + calibration: { + n: 27, + active: true, + labels: [ + { label: 'est/1d', n: 8, median: '1.1d', bias: 8 }, + { label: 'est/2d', n: 9, median: '2.4d', bias: 18 }, + { label: 'est/3d', n: 6, median: '3.7d', bias: 22 }, + { label: 'est/5d', n: 3, median: '6.5d', bias: 30 }, + { label: 'est/8d', n: 1, median: '8.5d', bias: null }, + ], + people: [ + { who: 'Stephen', n: 19, bias: 21, note: 'optimism grows with ticket size' }, + { who: 'Ana K.', n: 8, bias: 9, note: 'close to honest \u2014 suspicious' }, + ], + scatter: [ + [1, 1], [1, 1.2], [1, 0.9], [1, 1.5], [1, 1.1], [1, 0.8], [1, 1.3], [1, 1.2], + [2, 2], [2, 2.5], [2, 3.1], [2, 2.2], [2, 2.6], [2, 1.8], [2, 2.4], [2, 2.9], [2, 2.3], + [3, 3.5], [3, 4.1], [3, 3.1], [3, 4.6], [3, 3.6], [3, 3.9], + [5, 6.1], [5, 7.2], [5, 6.4], + [8, 8.5], + ], + fit: 1.18, + effect: { raw: '42d of estimates', banded: '80% band 46\u201353d', p50: '48d' }, + }, + inbox: [ + { id: 1, day: 'Today', type: 'drift', icon: 'chart-line', tone: 'warn', text: 'Beta\u2019s 80% window moved', detail: 'Mar 3\u201312 \u2192 Mar 5\u201314 \u00b7 directive #007', time: '09:14', unread: true, to: 'directives' }, + { id: 2, day: 'Today', type: 'mention', icon: 'message-square', tone: 'info', who: 'Ana K.', text: 'mentioned you on #92', detail: '\u201cpercentile bands ready for a second pair of eyes\u201d', time: '08:52', unread: true, issue: { id: 92, title: 'Monte Carlo engine: percentile bands', labels: ['est/5d', 'p/1'] } }, + { id: 3, day: 'Today', type: 'nag', icon: 'clock', tone: 'warn', text: '#87 is steeping \u00b7 4d', detail: 'blocks #91 and #92 \u2014 worth a look before it stains', time: '07:00', unread: true, issue: { id: 87, title: 'Fix lifecycle inference on merge events', labels: ['est/2d', 'p/1'], days: '4d' } }, + { id: 4, day: 'Yesterday', type: 'review', icon: 'git-pull-request', tone: 'info', text: 'PR #141 awaits review', detail: '#92 \u00b7 idle two days', time: '16:20', unread: false, issue: { id: 92, title: 'Monte Carlo engine: percentile bands', labels: ['est/5d', 'p/1'] } }, + { id: 5, day: 'Yesterday', type: 'assignment', icon: 'user', tone: 'neutral', who: 'Ana K.', text: 'took #96 from the pot', detail: 'Label schema bootstrap for new repos', time: '11:03', unread: false, issue: { id: 96, title: 'Label schema bootstrap for new repos', labels: ['est/2d', 'p/3'] } }, + { id: 6, day: 'Yesterday', type: 'system', icon: 'refresh-cw', tone: 'ok', text: 'Webhook outage 02:14\u201302:31', detail: 'full reconcile ran \u00b7 nothing lost', time: '02:31', unread: false }, + { id: 7, day: 'Yesterday', type: 'milestone', icon: 'milestone', tone: 'ok', text: 'P2 \u2014 Scheduler closed two days early', detail: 'the calibration noticed. So did I.', time: '09:40', unread: false }, + ], + issueDetail: { + 87: { + state: 'steeping', + assignee: 'Stephen', + milestone: 'Beta', + body: 'Squash-merges emit events out of order when CI runs long: the PR-closed webhook lands before the merge event, so lifecycle inference marks deploy before work-end and the actuals go negative. Regular merges infer correctly.', + comments: [ + { who: 'Ana K.', when: 'Feb 8 \u00b7 14:12', text: 'Repro: squash-merge only. Regular merges infer fine.' }, + { who: 'Stephen', when: 'Feb 9 \u00b7 09:30', text: 'Confirmed \u2014 the event order flips whenever CI takes more than ~5 minutes.' }, + ], + lifecycle: [ + { stage: 'Diagnosis', event: 'issue opened', when: 'Feb 2 \u00b7 09:14', icon: 'circle-dot', done: true }, + { stage: 'Triage', event: 'labeled est/2d \u00b7 milestoned Beta', when: 'Feb 3 \u00b7 10:02', icon: 'tag', done: true }, + { stage: 'Work start', event: 'first commit ref a41f09', when: 'Feb 6 \u00b7 11:47', icon: 'git-commit-horizontal', done: true }, + { stage: 'Deploy', event: 'PR merged', when: 'pending', icon: 'git-merge', done: false }, + { stage: 'Complete', event: 'issue closed', when: 'pending', icon: 'circle-check', done: false }, + ], + forecast: { p80: 'done Feb 11\u201313', note: 'from your est/2d history \u00b7 n=14' }, + blocks: [91, 92], + blockedBy: [], + note: 'It blocks #91 and #92. I\u2019d take it first \u2014 the critical path agrees with me.', + }, + }, + directives: { + pending: { + seq: 7, + who: 'Stephen', + when: 'today 09:12', + what: 'Pilots before calibration \u2014 push #78 to next week.', + diff: [ + { tone: 'info', change: '#78 Calibration store', from: 'this week', to: 'wk of Feb 23' }, + { tone: 'warn', change: 'Beta \u00b7 80% window', from: 'Mar 3\u201312', to: 'Mar 5\u201314' }, + { tone: 'ok', change: "Today's plan", from: '#87', to: '#87 \u00b7 unchanged' }, + ], + }, + entries: [ + { seq: 6, who: 'Stephen', when: 'Feb 8 \u00b7 16:40', what: 'Ana takes nothing new until #84 lands.', why: 'context thrash', status: 'applied', consequence: 'WIP capped \u00b7 v1.0 unmoved' }, + { seq: 5, who: 'Stephen', when: 'Feb 6 \u00b7 09:03', what: 'Ship Beta a week early.', why: 'board meeting', status: 'withdrawn', consequence: '80% would need scope \u22129d \u2014 withdrawn after diff' }, + { seq: 4, who: 'Stephen', when: 'Feb 3 \u00b7 11:21', what: 'deadline/hard on Pilot-ready.', why: 'contract date', status: 'applied', consequence: 'label applied \u00b7 runway flag raised' }, + { seq: 3, who: 'Stephen', when: 'Jan 28 \u00b7 08:47', what: 'Webhook work ahead of UI polish.', why: '', status: 'applied', consequence: '#91 +2 ranks \u00b7 Beta unmoved' }, + { seq: 2, who: 'Stephen', when: 'Jan 20 \u00b7 14:02', what: 'Estimates in days, never hours.', why: 'sanity', status: 'applied', consequence: 'label schema est/* confirmed' }, + { seq: 1, who: 'Stephen', when: 'Jan 19 \u00b7 09:00', what: 'CommiTea manages its own backlog.', why: 'dogfood', status: 'applied', consequence: 'stephen/commitea under management' }, + ], + }, + gantt: { + // day offsets from Feb 2; chart spans 42 days (Feb 2 – Mar 16) + days: 42, + weeks: [ + { at: 0, label: 'Feb 2' }, { at: 7, label: 'Feb 9' }, { at: 14, label: 'Feb 16' }, + { at: 21, label: 'Feb 23' }, { at: 28, label: 'Mar 2' }, { at: 35, label: 'Mar 9' }, { at: 41, label: 'Mar 15' }, + ], + today: 8, + band: { from: 29, to: 38, label: '80% · Mar 3–12' }, + due: { at: 41, label: 'Beta due' }, + rows: [ + { id: 71, title: 'Gitea client: token auth + retries', who: 'SM', state: 'done', start: 0, end: 4 }, + { id: 69, title: 'pm-state repo bootstrap', who: 'SM', state: 'done', start: 0, end: 1 }, + { id: 87, title: 'Fix lifecycle inference on merge events', who: 'SM', state: 'steeping', start: 4, end: 9, p80: 11, crit: true }, + { id: 92, title: 'Monte Carlo engine: percentile bands', who: 'SM', state: 'review', start: 9, end: 18, p80: 21, crit: true }, + { id: 91, title: 'Webhook listener: reconcile on reconnect', who: 'AK', state: 'scheduled', start: 9, end: 14, p80: 16 }, + { id: 99, title: 'Directive log: conflict-free merge test', who: 'SM', state: 'scheduled', start: 10, end: 11 }, + { id: 96, title: 'Label schema bootstrap for new repos', who: 'AK', state: 'scheduled', start: 14, end: 16 }, + { id: 84, title: 'Capacity model: focus factor per person', who: 'AK', state: 'scheduled', start: 18, end: 23, p80: 26, crit: true }, + { id: 102, title: 'Scheduler ignores standing allocation slices', who: 'SM', state: 'scheduled', start: 23, end: 25, p80: 28, crit: true }, + { id: 78, title: 'Calibration store cold-start distributions', who: 'SM', state: 'scheduled', start: 25, end: 30 }, + ], + }, + deps: { + nodes: [ + { id: 71, title: 'Gitea client: token auth + retries', tags: ['est/2d'], state: 'done', col: 0, row: 0.2 }, + { id: 69, title: 'pm-state repo bootstrap', tags: ['est/1d'], state: 'done', col: 0, row: 1.9 }, + { id: 87, title: 'Fix lifecycle inference on merge events', tags: ['est/2d', 'p/1'], state: 'steeping', days: '4d', col: 1, row: 0.7, rationale: 'It blocks #91 and #92. I\u2019d take it first \u2014 the critical path agrees with me.' }, + { id: 99, title: 'Directive log: conflict-free merge test', tags: ['est/1d', 'p/2'], state: 'triage', col: 1, row: 1.9 }, + { id: 91, title: 'Webhook listener: reconcile on reconnect', tags: ['est/3d', 'p/2'], state: 'triage', col: 2, row: 0 }, + { id: 92, title: 'Monte Carlo engine: percentile bands', tags: ['est/5d', 'p/1'], state: 'review', col: 2, row: 1.4 }, + { id: 84, title: 'Capacity model: focus factor per person', tags: ['est/3d', 'p/2'], state: 'steeping', days: '1d', col: 3, row: 1.4 }, + { id: 102, title: 'Scheduler ignores standing allocation slices', tags: ['p/2'], state: 'diagnosis', col: 4, row: 1.4 }, + ], + milestone: { name: 'Beta', due: 'Mar 15', col: 5, row: 1.4 }, + edges: [ + { from: 71, to: 87 }, + { from: 69, to: 99 }, + { from: 87, to: 91 }, + { from: 87, to: 92, crit: true }, + { from: 92, to: 84, crit: true }, + { from: 84, to: 102, crit: true }, + { from: 102, to: 'ms', crit: true }, + ], + critical: [87, 92, 84, 102], + unattached: [78, 96, 103, 65], + }, +}; diff --git a/docs/design/ui_kits/app/index.html b/docs/design/ui_kits/app/index.html new file mode 100644 index 0000000..f6ce6e6 --- /dev/null +++ b/docs/design/ui_kits/app/index.html @@ -0,0 +1,43 @@ + + + + + + +CommiTea + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + diff --git a/package.json b/package.json new file mode 100644 index 0000000..ce7676c --- /dev/null +++ b/package.json @@ -0,0 +1,15 @@ +{ + "name": "commitea", + "private": true, + "packageManager": "yarn@4.5.0", + "workspaces": [ + "apps/*", + "packages/*" + ], + "scripts": { + "dev": "yarn workspace @commitea/desktop dev", + "build": "yarn workspaces foreach -A run build", + "test": "yarn workspaces foreach -A run test", + "typecheck": "yarn workspaces foreach -A run typecheck" + } +} diff --git a/packages/core/package.json b/packages/core/package.json new file mode 100644 index 0000000..424285f --- /dev/null +++ b/packages/core/package.json @@ -0,0 +1,16 @@ +{ + "name": "@commitea/core", + "private": true, + "type": "module", + "exports": { + ".": "./src/index.ts" + }, + "scripts": { + "test": "vitest run", + "typecheck": "tsc --noEmit" + }, + "devDependencies": { + "typescript": "^5.7.3", + "vitest": "^3.0.5" + } +} diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts new file mode 100644 index 0000000..82f0f7a --- /dev/null +++ b/packages/core/src/index.ts @@ -0,0 +1,10 @@ +export { + ESTIMATE_LABELS, + PRIORITY_LABELS, + HARD_DEADLINE_LABEL, + extractLabelFacts, + isCommiteaLabel, + parseEstimateLabel, + parsePriorityLabel, +} from './labels/label-schema.js' +export type { EstimateLabel, LabelFacts, PriorityLabel } from './labels/label-schema.js' diff --git a/packages/core/src/labels/label-schema.test.ts b/packages/core/src/labels/label-schema.test.ts new file mode 100644 index 0000000..a596eb5 --- /dev/null +++ b/packages/core/src/labels/label-schema.test.ts @@ -0,0 +1,97 @@ +import { describe, expect, it } from 'vitest' + +import { + ESTIMATE_LABELS, + extractLabelFacts, + parseEstimateLabel, + parsePriorityLabel, +} from './label-schema.js' + +describe('parseEstimateLabel', () => { + it.each([ + ['est/1d', 1], + ['est/2d', 2], + ['est/3d', 3], + ['est/5d', 5], + ['est/8d', 8], + ])('parses %s → %i days', (label, days) => { + expect(parseEstimateLabel(label)).toBe(days) + }) + + it('rejects estimates outside the fixed set', () => { + expect(parseEstimateLabel('est/4d')).toBeNull() + expect(parseEstimateLabel('est/13d')).toBeNull() + expect(parseEstimateLabel('est/3h')).toBeNull() + expect(parseEstimateLabel('EST/3d')).toBeNull() + }) +}) + +describe('parsePriorityLabel', () => { + it('parses p/1 through p/4', () => { + expect(parsePriorityLabel('p/1')).toBe(1) + expect(parsePriorityLabel('p/4')).toBe(4) + }) + + it('rejects out-of-range and malformed priorities', () => { + expect(parsePriorityLabel('p/0')).toBeNull() + expect(parsePriorityLabel('p/5')).toBeNull() + expect(parsePriorityLabel('P/1')).toBeNull() + expect(parsePriorityLabel('priority/1')).toBeNull() + }) +}) + +describe('extractLabelFacts', () => { + it('extracts all three axes from a full label set', () => { + const facts = extractLabelFacts(['est/3d', 'p/2', 'deadline/hard', 'bug']) + expect(facts).toEqual({ + estimateDays: 3, + priority: 2, + hardDeadline: true, + malformed: [], + conflicts: [], + }) + }) + + it('ignores labels outside CommiTea namespaces entirely', () => { + const facts = extractLabelFacts(['bug', 'enhancement', 'wontfix']) + expect(facts.estimateDays).toBeNull() + expect(facts.priority).toBeNull() + expect(facts.malformed).toEqual([]) + }) + + it('reports in-namespace labels that fail to parse as malformed', () => { + const facts = extractLabelFacts(['est/4d', 'p/9', 'deadline/soft']) + expect(facts.malformed).toEqual(['est/4d', 'p/9', 'deadline/soft']) + expect(facts.estimateDays).toBeNull() + expect(facts.priority).toBeNull() + expect(facts.hardDeadline).toBe(false) + }) + + it('resolves estimate conflicts pessimistically and reports them', () => { + const facts = extractLabelFacts(['est/2d', 'est/8d']) + expect(facts.estimateDays).toBe(8) + expect(facts.conflicts).toEqual(['est/8d']) + }) + + it('resolves priority conflicts toward urgency and reports them', () => { + const facts = extractLabelFacts(['p/3', 'p/1']) + expect(facts.priority).toBe(1) + expect(facts.conflicts).toEqual(['p/1']) + }) + + it('handles the empty label list', () => { + expect(extractLabelFacts([])).toEqual({ + estimateDays: null, + priority: null, + hardDeadline: false, + malformed: [], + conflicts: [], + }) + }) + + it('keeps the fixed estimate set in sync with its parser', () => { + for (const label of ESTIMATE_LABELS) { + expect(parseEstimateLabel(label)).not.toBeNull() + } + }) +}) diff --git a/packages/core/src/labels/label-schema.ts b/packages/core/src/labels/label-schema.ts new file mode 100644 index 0000000..6e8f585 --- /dev/null +++ b/packages/core/src/labels/label-schema.ts @@ -0,0 +1,91 @@ +/** + * The gitea label schema — CommiTea's only footprint in managed work repos. + * Fixed sets by design (docs/PLAN.md): estimates are coarse on purpose, the + * scheduler's calibration layer refines them; anything outside these sets is + * someone else's label and none of our business. + */ + +export const ESTIMATE_LABELS = ['est/1d', 'est/2d', 'est/3d', 'est/5d', 'est/8d'] as const +export const PRIORITY_LABELS = ['p/1', 'p/2', 'p/3', 'p/4'] as const +export const HARD_DEADLINE_LABEL = 'deadline/hard' + +export type EstimateLabel = (typeof ESTIMATE_LABELS)[number] +export type PriorityLabel = (typeof PRIORITY_LABELS)[number] + +const COMMITEA_NAMESPACES = ['est/', 'p/', 'deadline/'] as const + +export interface LabelFacts { + /** Days from an `est/*` label; null when absent. Largest wins on conflict. */ + estimateDays: number | null + /** 1 (most urgent) … 4 from a `p/*` label; null when absent. Most urgent wins on conflict. */ + priority: number | null + hardDeadline: boolean + /** Labels inside CommiTea namespaces that don't match the fixed sets. */ + malformed: string[] + /** Valid CommiTea labels that duplicated an axis (e.g. two `est/*` labels). */ + conflicts: string[] +} + +export function parseEstimateLabel(label: string): number | null { + if (!(ESTIMATE_LABELS as readonly string[]).includes(label)) return null + return Number(/^est\/(\d+)d$/.exec(label)![1]) +} + +export function parsePriorityLabel(label: string): number | null { + if (!(PRIORITY_LABELS as readonly string[]).includes(label)) return null + return Number(label.slice(2)) +} + +export function isCommiteaLabel(label: string): boolean { + return COMMITEA_NAMESPACES.some((ns) => label.startsWith(ns)) +} + +/** + * Reduce an issue's label list to scheduler inputs. Conflicting labels on one + * axis resolve pessimistically (largest estimate) / urgently (lowest priority + * number) and are reported in `conflicts` so the agent can nag about them. + */ +export function extractLabelFacts(labels: readonly string[]): LabelFacts { + const facts: LabelFacts = { + estimateDays: null, + priority: null, + hardDeadline: false, + malformed: [], + conflicts: [], + } + + for (const label of labels) { + if (!isCommiteaLabel(label)) continue + + if (label === HARD_DEADLINE_LABEL) { + facts.hardDeadline = true + continue + } + + const estimate = parseEstimateLabel(label) + if (estimate !== null) { + if (facts.estimateDays !== null) { + facts.conflicts.push(label) + facts.estimateDays = Math.max(facts.estimateDays, estimate) + } else { + facts.estimateDays = estimate + } + continue + } + + const priority = parsePriorityLabel(label) + if (priority !== null) { + if (facts.priority !== null) { + facts.conflicts.push(label) + facts.priority = Math.min(facts.priority, priority) + } else { + facts.priority = priority + } + continue + } + + facts.malformed.push(label) + } + + return facts +} diff --git a/packages/core/tsconfig.json b/packages/core/tsconfig.json new file mode 100644 index 0000000..48633a9 --- /dev/null +++ b/packages/core/tsconfig.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "lib": ["ES2022"] + }, + "include": ["src"] +} diff --git a/tsconfig.base.json b/tsconfig.base.json new file mode 100644 index 0000000..4104ddc --- /dev/null +++ b/tsconfig.base.json @@ -0,0 +1,14 @@ +{ + "compilerOptions": { + "target": "ES2022", + "module": "ESNext", + "moduleResolution": "Bundler", + "strict": true, + "skipLibCheck": true, + "esModuleInterop": true, + "resolveJsonModule": true, + "isolatedModules": true, + "forceConsistentCasingInFileNames": true, + "noEmit": true + } +} diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..67e76e1 --- /dev/null +++ b/yarn.lock @@ -0,0 +1,3350 @@ +# This file is generated by running "yarn install" inside your project. +# Manual changes might be lost - proceed with caution! + +__metadata: + version: 8 + cacheKey: 10c0 + +"@alloc/quick-lru@npm:^5.2.0": + version: 5.2.0 + resolution: "@alloc/quick-lru@npm:5.2.0" + checksum: 10c0/7b878c48b9d25277d0e1a9b8b2f2312a314af806b4129dc902f2bc29ab09b58236e53964689feec187b28c80d2203aff03829754773a707a8a5987f1b7682d92 + languageName: node + linkType: hard + +"@babel/code-frame@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/code-frame@npm:7.29.7" + dependencies: + "@babel/helper-validator-identifier": "npm:^7.29.7" + js-tokens: "npm:^4.0.0" + picocolors: "npm:^1.1.1" + checksum: 10c0/169fc2080169a40c1760155eaaaf739bcb882df0bec76a83adbda5493645bc17270a3434b8848c494b1933e96fe1d147370001e3cda09a39f43ae30f08ef2069 + languageName: node + linkType: hard + +"@babel/compat-data@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/compat-data@npm:7.29.7" + checksum: 10c0/47913f05e08a45a1c9df38c02b4b49e391005085b489432647a1abe112e5d9c75e3be8ea5972b7f6da4ec5d1339922ceb9ea02b8a25d4ed1cb8636e5261f344e + languageName: node + linkType: hard + +"@babel/core@npm:^7.26.10, @babel/core@npm:^7.28.0": + version: 7.29.7 + resolution: "@babel/core@npm:7.29.7" + dependencies: + "@babel/code-frame": "npm:^7.29.7" + "@babel/generator": "npm:^7.29.7" + "@babel/helper-compilation-targets": "npm:^7.29.7" + "@babel/helper-module-transforms": "npm:^7.29.7" + "@babel/helpers": "npm:^7.29.7" + "@babel/parser": "npm:^7.29.7" + "@babel/template": "npm:^7.29.7" + "@babel/traverse": "npm:^7.29.7" + "@babel/types": "npm:^7.29.7" + "@jridgewell/remapping": "npm:^2.3.5" + convert-source-map: "npm:^2.0.0" + debug: "npm:^4.1.0" + gensync: "npm:^1.0.0-beta.2" + json5: "npm:^2.2.3" + semver: "npm:^6.3.1" + checksum: 10c0/112fb09c24de7a1de64d1de2c31fe65c4e6af4cb2fb6e6d99ea5373e6fc51e75b88581c0efae4c4c68f119a02a988c7106e95011a41530a2fb8ed793c7eaa07b + languageName: node + linkType: hard + +"@babel/generator@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/generator@npm:7.29.7" + dependencies: + "@babel/parser": "npm:^7.29.7" + "@babel/types": "npm:^7.29.7" + "@jridgewell/gen-mapping": "npm:^0.3.12" + "@jridgewell/trace-mapping": "npm:^0.3.28" + jsesc: "npm:^3.0.2" + checksum: 10c0/9bf72b01b5bd0ea5b1288a0e37dbd360bff2f2b1ce73342c0d40fb3db2ec3dc004ada5ffa925c5e12939a416eed59e600d562b8ecd938ce0d27dfd0eb6c6c2b7 + languageName: node + linkType: hard + +"@babel/helper-compilation-targets@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-compilation-targets@npm:7.29.7" + dependencies: + "@babel/compat-data": "npm:^7.29.7" + "@babel/helper-validator-option": "npm:^7.29.7" + browserslist: "npm:^4.24.0" + lru-cache: "npm:^5.1.1" + semver: "npm:^6.3.1" + checksum: 10c0/4c15fd4c69a0a7047799a28a88460c19cede0a0ee8af994ea169114986f4af48b92c7393a4a3fee0456c11a656eece3448a6ed06354453d6c27cccf17195453b + languageName: node + linkType: hard + +"@babel/helper-globals@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-globals@npm:7.29.7" + checksum: 10c0/f38417c40b1129a1b2b519ca961b9040c8827d1444fd74068702286b91b77089431dc76b6b9d5c1496e5da2a4f3ad329c6946e688ba3fa0d1d0b3d2b4f34f36a + languageName: node + linkType: hard + +"@babel/helper-module-imports@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-module-imports@npm:7.29.7" + dependencies: + "@babel/traverse": "npm:^7.29.7" + "@babel/types": "npm:^7.29.7" + checksum: 10c0/6adf60d97356027413342a092f818d9678c4f5caff716a33e3284b5ae14e47a9e88059d421dde4ee4894691260039a12602c0e7becadc175602194b40dfa345d + languageName: node + linkType: hard + +"@babel/helper-module-transforms@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-module-transforms@npm:7.29.7" + dependencies: + "@babel/helper-module-imports": "npm:^7.29.7" + "@babel/helper-validator-identifier": "npm:^7.29.7" + "@babel/traverse": "npm:^7.29.7" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/ee5a2172c24a42be696836f4b0d947489c9729d8adf5821885cf77d1ad5333e3c447368e9a71f67df1099570490553dccf9f888ef0a92a48aa63cb086bd8c7e1 + languageName: node + linkType: hard + +"@babel/helper-plugin-utils@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-plugin-utils@npm:7.29.7" + checksum: 10c0/380477a06133274a2759f9355929cb60a95e8b8fee624a1ae1fa349e1d1645b89daca456f72833f6d1062bffa12ee4271c5bf0cc5a61c0166cdc24c7591e2408 + languageName: node + linkType: hard + +"@babel/helper-string-parser@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-string-parser@npm:7.29.7" + checksum: 10c0/194bc0f1716e396d5ffde56ad6119745fb9557662c98611590e5e454906783a4ccb21ce93056b8eb69a4909044834e45d96e50ac695bbe9e3221648fe033c06c + languageName: node + linkType: hard + +"@babel/helper-validator-identifier@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-validator-identifier@npm:7.29.7" + checksum: 10c0/4795354e7ae0dcafa72de1cd04ec51252dc1498517170beaf019e03effc5b7bf13c6b21a3949a77e07b8125be7f106ed1131350d8ebd4566ae874094a726d62b + languageName: node + linkType: hard + +"@babel/helper-validator-option@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-validator-option@npm:7.29.7" + checksum: 10c0/d2a06c6d0ac40ba4a2f219fc2cab249c7a94bacdb2686273b7f9598571c908809b48468ff588915a346e6cc7296f60b581023d1d498b747fed06f779d335c2cc + languageName: node + linkType: hard + +"@babel/helpers@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helpers@npm:7.29.7" + dependencies: + "@babel/template": "npm:^7.29.7" + "@babel/types": "npm:^7.29.7" + checksum: 10c0/218e8d10953647c9f44775f5a022b227a182674853b5ea8631889deb7e1a3e4bc870388aaecf59bb8bd92a87f9a96220ed3f70a35bffec6bcf9169ecb67891ac + languageName: node + linkType: hard + +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/parser@npm:7.29.7" + dependencies: + "@babel/types": "npm:^7.29.7" + bin: + parser: ./bin/babel-parser.js + checksum: 10c0/65133038f80b54a714d6027cb77cee3f9a6b5c4c6842ce674301e13947cbcbfa8055e63acaf1b84c085d34226a14425b2c2b97b829e0e226d2e8f1299942a51d + languageName: node + linkType: hard + +"@babel/plugin-transform-arrow-functions@npm:^7.25.9": + version: 7.29.7 + resolution: "@babel/plugin-transform-arrow-functions@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.29.7" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/03405abac83122b760c4d688a256c7a67961fd5a4396dfd119cf89a118984d31add38eeace38a158c63c3a4257a644e15da8836ee9e50876bf6876e988060be2 + languageName: node + linkType: hard + +"@babel/plugin-transform-react-jsx-self@npm:^7.27.1": + version: 7.29.7 + resolution: "@babel/plugin-transform-react-jsx-self@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.29.7" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/288995f0fd0d61ab740a315fb56c8255eb87dd4a4ac2ac7d0fdd4ce173c3878200141e80da2db0e598c7b2a71e74e604afdbb4c8e14ae6e0527ce0b6294c03da + languageName: node + linkType: hard + +"@babel/plugin-transform-react-jsx-source@npm:^7.27.1": + version: 7.29.7 + resolution: "@babel/plugin-transform-react-jsx-source@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.29.7" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/a121899631e6d99b9e1b276acf736dbb77948a31f8eeeae67b89c8a4ab0f05e51ba64544baa06c286a2b9944f227244e15aac464e2313d286d0511fe51e27975 + languageName: node + linkType: hard + +"@babel/template@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/template@npm:7.29.7" + dependencies: + "@babel/code-frame": "npm:^7.29.7" + "@babel/parser": "npm:^7.29.7" + "@babel/types": "npm:^7.29.7" + checksum: 10c0/8bb7f900dcab0e9e1c5ffbc33ca10e0d26b7b2e2ca804becb73ee771b9c4ed6e2908a4ae4a14c08560febb45d2b6b9a173955e42ad404d05f8b04840a14d9c58 + languageName: node + linkType: hard + +"@babel/traverse@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/traverse@npm:7.29.7" + dependencies: + "@babel/code-frame": "npm:^7.29.7" + "@babel/generator": "npm:^7.29.7" + "@babel/helper-globals": "npm:^7.29.7" + "@babel/parser": "npm:^7.29.7" + "@babel/template": "npm:^7.29.7" + "@babel/types": "npm:^7.29.7" + debug: "npm:^4.3.1" + checksum: 10c0/e256a1fbdb956555b76f3c285b1e453f6bedec8b3afb61751d99d933efd11c7d79caf5ddf2493570058a9f7deaa1b48324380d7c1aa1443fd9508becbf56331a + languageName: node + linkType: hard + +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.28.2, @babel/types@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/types@npm:7.29.7" + dependencies: + "@babel/helper-string-parser": "npm:^7.29.7" + "@babel/helper-validator-identifier": "npm:^7.29.7" + checksum: 10c0/b6623994c69717fa27294f5fa46d59140338e2d86c6c1c13085c84ef7d53086ee357fbf4fe9abe3dd3da75734dc77c4c0df2f90fb29e667558bb3b3fb705e88f + languageName: node + linkType: hard + +"@commitea/core@workspace:*, @commitea/core@workspace:packages/core": + version: 0.0.0-use.local + resolution: "@commitea/core@workspace:packages/core" + dependencies: + typescript: "npm:^5.7.3" + vitest: "npm:^3.0.5" + languageName: unknown + linkType: soft + +"@commitea/desktop@workspace:apps/desktop": + version: 0.0.0-use.local + resolution: "@commitea/desktop@workspace:apps/desktop" + dependencies: + "@commitea/core": "workspace:*" + "@types/node": "npm:^22.13.1" + "@types/react": "npm:^18.3.18" + "@types/react-dom": "npm:^18.3.5" + "@vitejs/plugin-react": "npm:^4.3.4" + autoprefixer: "npm:^10.4.20" + electron: "npm:^34.0.0" + electron-vite: "npm:^3.1.0" + postcss: "npm:^8.5.1" + react: "npm:^18.3.1" + react-dom: "npm:^18.3.1" + tailwindcss: "npm:^3.4.17" + typescript: "npm:^5.7.3" + vite: "npm:^6.1.0" + languageName: unknown + linkType: soft + +"@electron/get@npm:^2.0.0": + version: 2.0.3 + resolution: "@electron/get@npm:2.0.3" + dependencies: + debug: "npm:^4.1.1" + env-paths: "npm:^2.2.0" + fs-extra: "npm:^8.1.0" + global-agent: "npm:^3.0.0" + got: "npm:^11.8.5" + progress: "npm:^2.0.3" + semver: "npm:^6.2.0" + sumchecker: "npm:^3.0.1" + dependenciesMeta: + global-agent: + optional: true + checksum: 10c0/148957d531bac50c29541515f2483c3e5c9c6ba9f0269a5d536540d2b8d849188a89588f18901f3a84c2b4fd376d1e0c5ea2159eb2d17bda68558f57df19015e + languageName: node + linkType: hard + +"@esbuild/aix-ppc64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/aix-ppc64@npm:0.25.12" + conditions: os=aix & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/aix-ppc64@npm:0.28.1": + version: 0.28.1 + resolution: "@esbuild/aix-ppc64@npm:0.28.1" + conditions: os=aix & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/android-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/android-arm64@npm:0.25.12" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/android-arm64@npm:0.28.1": + version: 0.28.1 + resolution: "@esbuild/android-arm64@npm:0.28.1" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/android-arm@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/android-arm@npm:0.25.12" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@esbuild/android-arm@npm:0.28.1": + version: 0.28.1 + resolution: "@esbuild/android-arm@npm:0.28.1" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@esbuild/android-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/android-x64@npm:0.25.12" + conditions: os=android & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/android-x64@npm:0.28.1": + version: 0.28.1 + resolution: "@esbuild/android-x64@npm:0.28.1" + conditions: os=android & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/darwin-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/darwin-arm64@npm:0.25.12" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/darwin-arm64@npm:0.28.1": + version: 0.28.1 + resolution: "@esbuild/darwin-arm64@npm:0.28.1" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/darwin-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/darwin-x64@npm:0.25.12" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/darwin-x64@npm:0.28.1": + version: 0.28.1 + resolution: "@esbuild/darwin-x64@npm:0.28.1" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/freebsd-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/freebsd-arm64@npm:0.25.12" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/freebsd-arm64@npm:0.28.1": + version: 0.28.1 + resolution: "@esbuild/freebsd-arm64@npm:0.28.1" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/freebsd-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/freebsd-x64@npm:0.25.12" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/freebsd-x64@npm:0.28.1": + version: 0.28.1 + resolution: "@esbuild/freebsd-x64@npm:0.28.1" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/linux-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-arm64@npm:0.25.12" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/linux-arm64@npm:0.28.1": + version: 0.28.1 + resolution: "@esbuild/linux-arm64@npm:0.28.1" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/linux-arm@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-arm@npm:0.25.12" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@esbuild/linux-arm@npm:0.28.1": + version: 0.28.1 + resolution: "@esbuild/linux-arm@npm:0.28.1" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@esbuild/linux-ia32@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-ia32@npm:0.25.12" + conditions: os=linux & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/linux-ia32@npm:0.28.1": + version: 0.28.1 + resolution: "@esbuild/linux-ia32@npm:0.28.1" + conditions: os=linux & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/linux-loong64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-loong64@npm:0.25.12" + conditions: os=linux & cpu=loong64 + languageName: node + linkType: hard + +"@esbuild/linux-loong64@npm:0.28.1": + version: 0.28.1 + resolution: "@esbuild/linux-loong64@npm:0.28.1" + conditions: os=linux & cpu=loong64 + languageName: node + linkType: hard + +"@esbuild/linux-mips64el@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-mips64el@npm:0.25.12" + conditions: os=linux & cpu=mips64el + languageName: node + linkType: hard + +"@esbuild/linux-mips64el@npm:0.28.1": + version: 0.28.1 + resolution: "@esbuild/linux-mips64el@npm:0.28.1" + conditions: os=linux & cpu=mips64el + languageName: node + linkType: hard + +"@esbuild/linux-ppc64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-ppc64@npm:0.25.12" + conditions: os=linux & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/linux-ppc64@npm:0.28.1": + version: 0.28.1 + resolution: "@esbuild/linux-ppc64@npm:0.28.1" + conditions: os=linux & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/linux-riscv64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-riscv64@npm:0.25.12" + conditions: os=linux & cpu=riscv64 + languageName: node + linkType: hard + +"@esbuild/linux-riscv64@npm:0.28.1": + version: 0.28.1 + resolution: "@esbuild/linux-riscv64@npm:0.28.1" + conditions: os=linux & cpu=riscv64 + languageName: node + linkType: hard + +"@esbuild/linux-s390x@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-s390x@npm:0.25.12" + conditions: os=linux & cpu=s390x + languageName: node + linkType: hard + +"@esbuild/linux-s390x@npm:0.28.1": + version: 0.28.1 + resolution: "@esbuild/linux-s390x@npm:0.28.1" + conditions: os=linux & cpu=s390x + languageName: node + linkType: hard + +"@esbuild/linux-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/linux-x64@npm:0.25.12" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/linux-x64@npm:0.28.1": + version: 0.28.1 + resolution: "@esbuild/linux-x64@npm:0.28.1" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/netbsd-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/netbsd-arm64@npm:0.25.12" + conditions: os=netbsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/netbsd-arm64@npm:0.28.1": + version: 0.28.1 + resolution: "@esbuild/netbsd-arm64@npm:0.28.1" + conditions: os=netbsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/netbsd-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/netbsd-x64@npm:0.25.12" + conditions: os=netbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/netbsd-x64@npm:0.28.1": + version: 0.28.1 + resolution: "@esbuild/netbsd-x64@npm:0.28.1" + conditions: os=netbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/openbsd-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/openbsd-arm64@npm:0.25.12" + conditions: os=openbsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/openbsd-arm64@npm:0.28.1": + version: 0.28.1 + resolution: "@esbuild/openbsd-arm64@npm:0.28.1" + conditions: os=openbsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/openbsd-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/openbsd-x64@npm:0.25.12" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/openbsd-x64@npm:0.28.1": + version: 0.28.1 + resolution: "@esbuild/openbsd-x64@npm:0.28.1" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/openharmony-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/openharmony-arm64@npm:0.25.12" + conditions: os=openharmony & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/openharmony-arm64@npm:0.28.1": + version: 0.28.1 + resolution: "@esbuild/openharmony-arm64@npm:0.28.1" + conditions: os=openharmony & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/sunos-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/sunos-x64@npm:0.25.12" + conditions: os=sunos & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/sunos-x64@npm:0.28.1": + version: 0.28.1 + resolution: "@esbuild/sunos-x64@npm:0.28.1" + conditions: os=sunos & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/win32-arm64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/win32-arm64@npm:0.25.12" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/win32-arm64@npm:0.28.1": + version: 0.28.1 + resolution: "@esbuild/win32-arm64@npm:0.28.1" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/win32-ia32@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/win32-ia32@npm:0.25.12" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/win32-ia32@npm:0.28.1": + version: 0.28.1 + resolution: "@esbuild/win32-ia32@npm:0.28.1" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/win32-x64@npm:0.25.12": + version: 0.25.12 + resolution: "@esbuild/win32-x64@npm:0.25.12" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/win32-x64@npm:0.28.1": + version: 0.28.1 + resolution: "@esbuild/win32-x64@npm:0.28.1" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@isaacs/fs-minipass@npm:^4.0.0": + version: 4.0.1 + resolution: "@isaacs/fs-minipass@npm:4.0.1" + dependencies: + minipass: "npm:^7.0.4" + checksum: 10c0/c25b6dc1598790d5b55c0947a9b7d111cfa92594db5296c3b907e2f533c033666f692a3939eadac17b1c7c40d362d0b0635dc874cbfe3e70db7c2b07cc97a5d2 + languageName: node + linkType: hard + +"@jridgewell/gen-mapping@npm:^0.3.12, @jridgewell/gen-mapping@npm:^0.3.2, @jridgewell/gen-mapping@npm:^0.3.5": + version: 0.3.13 + resolution: "@jridgewell/gen-mapping@npm:0.3.13" + dependencies: + "@jridgewell/sourcemap-codec": "npm:^1.5.0" + "@jridgewell/trace-mapping": "npm:^0.3.24" + checksum: 10c0/9a7d65fb13bd9aec1fbab74cda08496839b7e2ceb31f5ab922b323e94d7c481ce0fc4fd7e12e2610915ed8af51178bdc61e168e92a8c8b8303b030b03489b13b + languageName: node + linkType: hard + +"@jridgewell/remapping@npm:^2.3.5": + version: 2.3.5 + resolution: "@jridgewell/remapping@npm:2.3.5" + dependencies: + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.24" + checksum: 10c0/3de494219ffeb2c5c38711d0d7bb128097edf91893090a2dbc8ee0b55d092bb7347b1fd0f478486c5eab010e855c73927b1666f2107516d472d24a73017d1194 + languageName: node + linkType: hard + +"@jridgewell/resolve-uri@npm:^3.1.0": + version: 3.1.2 + resolution: "@jridgewell/resolve-uri@npm:3.1.2" + checksum: 10c0/d502e6fb516b35032331406d4e962c21fe77cdf1cbdb49c6142bcbd9e30507094b18972778a6e27cbad756209cfe34b1a27729e6fa08a2eb92b33943f680cf1e + languageName: node + linkType: hard + +"@jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.5.0, @jridgewell/sourcemap-codec@npm:^1.5.5": + version: 1.5.5 + resolution: "@jridgewell/sourcemap-codec@npm:1.5.5" + checksum: 10c0/f9e538f302b63c0ebc06eecb1dd9918dd4289ed36147a0ddce35d6ea4d7ebbda243cda7b2213b6a5e1d8087a298d5cf630fb2bd39329cdecb82017023f6081a0 + languageName: node + linkType: hard + +"@jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.28": + version: 0.3.31 + resolution: "@jridgewell/trace-mapping@npm:0.3.31" + dependencies: + "@jridgewell/resolve-uri": "npm:^3.1.0" + "@jridgewell/sourcemap-codec": "npm:^1.4.14" + checksum: 10c0/4b30ec8cd56c5fd9a661f088230af01e0c1a3888d11ffb6b47639700f71225be21d1f7e168048d6d4f9449207b978a235c07c8f15c07705685d16dc06280e9d9 + languageName: node + linkType: hard + +"@nodelib/fs.scandir@npm:2.1.5": + version: 2.1.5 + resolution: "@nodelib/fs.scandir@npm:2.1.5" + dependencies: + "@nodelib/fs.stat": "npm:2.0.5" + run-parallel: "npm:^1.1.9" + checksum: 10c0/732c3b6d1b1e967440e65f284bd06e5821fedf10a1bea9ed2bb75956ea1f30e08c44d3def9d6a230666574edbaf136f8cfd319c14fd1f87c66e6a44449afb2eb + languageName: node + linkType: hard + +"@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2": + version: 2.0.5 + resolution: "@nodelib/fs.stat@npm:2.0.5" + checksum: 10c0/88dafe5e3e29a388b07264680dc996c17f4bda48d163a9d4f5c1112979f0ce8ec72aa7116122c350b4e7976bc5566dc3ddb579be1ceaacc727872eb4ed93926d + languageName: node + linkType: hard + +"@nodelib/fs.walk@npm:^1.2.3": + version: 1.2.8 + resolution: "@nodelib/fs.walk@npm:1.2.8" + dependencies: + "@nodelib/fs.scandir": "npm:2.1.5" + fastq: "npm:^1.6.0" + checksum: 10c0/db9de047c3bb9b51f9335a7bb46f4fcfb6829fb628318c12115fbaf7d369bfce71c15b103d1fc3b464812d936220ee9bc1c8f762d032c9f6be9acc99249095b1 + languageName: node + linkType: hard + +"@rolldown/pluginutils@npm:1.0.0-beta.27": + version: 1.0.0-beta.27 + resolution: "@rolldown/pluginutils@npm:1.0.0-beta.27" + checksum: 10c0/9658f235b345201d4f6bfb1f32da9754ca164f892d1cb68154fe5f53c1df42bd675ecd409836dff46884a7847d6c00bdc38af870f7c81e05bba5c2645eb4ab9c + languageName: node + linkType: hard + +"@rollup/rollup-android-arm-eabi@npm:4.62.2": + version: 4.62.2 + resolution: "@rollup/rollup-android-arm-eabi@npm:4.62.2" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@rollup/rollup-android-arm64@npm:4.62.2": + version: 4.62.2 + resolution: "@rollup/rollup-android-arm64@npm:4.62.2" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-darwin-arm64@npm:4.62.2": + version: 4.62.2 + resolution: "@rollup/rollup-darwin-arm64@npm:4.62.2" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-darwin-x64@npm:4.62.2": + version: 4.62.2 + resolution: "@rollup/rollup-darwin-x64@npm:4.62.2" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-freebsd-arm64@npm:4.62.2": + version: 4.62.2 + resolution: "@rollup/rollup-freebsd-arm64@npm:4.62.2" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-freebsd-x64@npm:4.62.2": + version: 4.62.2 + resolution: "@rollup/rollup-freebsd-x64@npm:4.62.2" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm-gnueabihf@npm:4.62.2": + version: 4.62.2 + resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.62.2" + conditions: os=linux & cpu=arm & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm-musleabihf@npm:4.62.2": + version: 4.62.2 + resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.62.2" + conditions: os=linux & cpu=arm & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm64-gnu@npm:4.62.2": + version: 4.62.2 + resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.62.2" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm64-musl@npm:4.62.2": + version: 4.62.2 + resolution: "@rollup/rollup-linux-arm64-musl@npm:4.62.2" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-loong64-gnu@npm:4.62.2": + version: 4.62.2 + resolution: "@rollup/rollup-linux-loong64-gnu@npm:4.62.2" + conditions: os=linux & cpu=loong64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-loong64-musl@npm:4.62.2": + version: 4.62.2 + resolution: "@rollup/rollup-linux-loong64-musl@npm:4.62.2" + conditions: os=linux & cpu=loong64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-ppc64-gnu@npm:4.62.2": + version: 4.62.2 + resolution: "@rollup/rollup-linux-ppc64-gnu@npm:4.62.2" + conditions: os=linux & cpu=ppc64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-ppc64-musl@npm:4.62.2": + version: 4.62.2 + resolution: "@rollup/rollup-linux-ppc64-musl@npm:4.62.2" + conditions: os=linux & cpu=ppc64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-riscv64-gnu@npm:4.62.2": + version: 4.62.2 + resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.62.2" + conditions: os=linux & cpu=riscv64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-riscv64-musl@npm:4.62.2": + version: 4.62.2 + resolution: "@rollup/rollup-linux-riscv64-musl@npm:4.62.2" + conditions: os=linux & cpu=riscv64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-s390x-gnu@npm:4.62.2": + version: 4.62.2 + resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.62.2" + conditions: os=linux & cpu=s390x & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-x64-gnu@npm:4.62.2": + version: 4.62.2 + resolution: "@rollup/rollup-linux-x64-gnu@npm:4.62.2" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-x64-musl@npm:4.62.2": + version: 4.62.2 + resolution: "@rollup/rollup-linux-x64-musl@npm:4.62.2" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-openbsd-x64@npm:4.62.2": + version: 4.62.2 + resolution: "@rollup/rollup-openbsd-x64@npm:4.62.2" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-openharmony-arm64@npm:4.62.2": + version: 4.62.2 + resolution: "@rollup/rollup-openharmony-arm64@npm:4.62.2" + conditions: os=openharmony & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-win32-arm64-msvc@npm:4.62.2": + version: 4.62.2 + resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.62.2" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-win32-ia32-msvc@npm:4.62.2": + version: 4.62.2 + resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.62.2" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@rollup/rollup-win32-x64-gnu@npm:4.62.2": + version: 4.62.2 + resolution: "@rollup/rollup-win32-x64-gnu@npm:4.62.2" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-win32-x64-msvc@npm:4.62.2": + version: 4.62.2 + resolution: "@rollup/rollup-win32-x64-msvc@npm:4.62.2" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@sindresorhus/is@npm:^4.0.0": + version: 4.6.0 + resolution: "@sindresorhus/is@npm:4.6.0" + checksum: 10c0/33b6fb1d0834ec8dd7689ddc0e2781c2bfd8b9c4e4bacbcb14111e0ae00621f2c264b8a7d36541799d74888b5dccdf422a891a5cb5a709ace26325eedc81e22e + languageName: node + linkType: hard + +"@szmarczak/http-timer@npm:^4.0.5": + version: 4.0.6 + resolution: "@szmarczak/http-timer@npm:4.0.6" + dependencies: + defer-to-connect: "npm:^2.0.0" + checksum: 10c0/73946918c025339db68b09abd91fa3001e87fc749c619d2e9c2003a663039d4c3cb89836c98a96598b3d47dec2481284ba85355392644911f5ecd2336536697f + languageName: node + linkType: hard + +"@types/babel__core@npm:^7.20.5": + version: 7.20.5 + resolution: "@types/babel__core@npm:7.20.5" + dependencies: + "@babel/parser": "npm:^7.20.7" + "@babel/types": "npm:^7.20.7" + "@types/babel__generator": "npm:*" + "@types/babel__template": "npm:*" + "@types/babel__traverse": "npm:*" + checksum: 10c0/bdee3bb69951e833a4b811b8ee9356b69a61ed5b7a23e1a081ec9249769117fa83aaaf023bb06562a038eb5845155ff663e2d5c75dd95c1d5ccc91db012868ff + languageName: node + linkType: hard + +"@types/babel__generator@npm:*": + version: 7.27.0 + resolution: "@types/babel__generator@npm:7.27.0" + dependencies: + "@babel/types": "npm:^7.0.0" + checksum: 10c0/9f9e959a8792df208a9d048092fda7e1858bddc95c6314857a8211a99e20e6830bdeb572e3587ae8be5429e37f2a96fcf222a9f53ad232f5537764c9e13a2bbd + languageName: node + linkType: hard + +"@types/babel__template@npm:*": + version: 7.4.4 + resolution: "@types/babel__template@npm:7.4.4" + dependencies: + "@babel/parser": "npm:^7.1.0" + "@babel/types": "npm:^7.0.0" + checksum: 10c0/cc84f6c6ab1eab1427e90dd2b76ccee65ce940b778a9a67be2c8c39e1994e6f5bbc8efa309f6cea8dc6754994524cd4d2896558df76d92e7a1f46ecffee7112b + languageName: node + linkType: hard + +"@types/babel__traverse@npm:*": + version: 7.28.0 + resolution: "@types/babel__traverse@npm:7.28.0" + dependencies: + "@babel/types": "npm:^7.28.2" + checksum: 10c0/b52d7d4e8fc6a9018fe7361c4062c1c190f5778cf2466817cb9ed19d69fbbb54f9a85ffedeb748ed8062d2cf7d4cc088ee739848f47c57740de1c48cbf0d0994 + languageName: node + linkType: hard + +"@types/cacheable-request@npm:^6.0.1": + version: 6.0.3 + resolution: "@types/cacheable-request@npm:6.0.3" + dependencies: + "@types/http-cache-semantics": "npm:*" + "@types/keyv": "npm:^3.1.4" + "@types/node": "npm:*" + "@types/responselike": "npm:^1.0.0" + checksum: 10c0/10816a88e4e5b144d43c1d15a81003f86d649776c7f410c9b5e6579d0ad9d4ca71c541962fb403077388b446e41af7ae38d313e46692144985f006ac5e11fa03 + languageName: node + linkType: hard + +"@types/chai@npm:^5.2.2": + version: 5.2.3 + resolution: "@types/chai@npm:5.2.3" + dependencies: + "@types/deep-eql": "npm:*" + assertion-error: "npm:^2.0.1" + checksum: 10c0/e0ef1de3b6f8045a5e473e867c8565788c444271409d155588504840ad1a53611011f85072188c2833941189400228c1745d78323dac13fcede9c2b28bacfb2f + languageName: node + linkType: hard + +"@types/deep-eql@npm:*": + version: 4.0.2 + resolution: "@types/deep-eql@npm:4.0.2" + checksum: 10c0/bf3f811843117900d7084b9d0c852da9a044d12eb40e6de73b552598a6843c21291a8a381b0532644574beecd5e3491c5ff3a0365ab86b15d59862c025384844 + languageName: node + linkType: hard + +"@types/estree@npm:1.0.9, @types/estree@npm:^1.0.0": + version: 1.0.9 + resolution: "@types/estree@npm:1.0.9" + checksum: 10c0/3ad3286ca2988cd550dafb8f2ad599c8474868e954fa601a36655bdfefd8039f7c714b8c1c7f2ae219ffbd58bd4660e66fa7479a0120fc02d4777057d4865387 + languageName: node + linkType: hard + +"@types/http-cache-semantics@npm:*": + version: 4.2.0 + resolution: "@types/http-cache-semantics@npm:4.2.0" + checksum: 10c0/82dd33cbe7d4843f1e884a251c6a12d385b62274353b9db167462e7fbffdbb3a83606f9952203017c5b8cabbd7b9eef0cf240a3a9dedd20f69875c9701939415 + languageName: node + linkType: hard + +"@types/keyv@npm:^3.1.4": + version: 3.1.4 + resolution: "@types/keyv@npm:3.1.4" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/ff8f54fc49621210291f815fe5b15d809fd7d032941b3180743440bd507ecdf08b9e844625fa346af568c84bf34114eb378dcdc3e921a08ba1e2a08d7e3c809c + languageName: node + linkType: hard + +"@types/node@npm:*": + version: 26.1.0 + resolution: "@types/node@npm:26.1.0" + dependencies: + undici-types: "npm:~8.3.0" + checksum: 10c0/61c22ad1ef215e24138cb8b7368fb68bab9de4c123b3f23d411749b015ba1b7d22f878ad54add26a0b69068d7e07c04af665069d8571b6c6c3b9b2fb73b7bd91 + languageName: node + linkType: hard + +"@types/node@npm:^20.9.0": + version: 20.19.43 + resolution: "@types/node@npm:20.19.43" + dependencies: + undici-types: "npm:~6.21.0" + checksum: 10c0/9bcec3b5295bdd77ff0b44a528a69f7e22028c347507ba2c69be47ec84e30299f45043b222e9c86c510e138c9c53b2419dd5cd34920602a4a5a381c288075318 + languageName: node + linkType: hard + +"@types/node@npm:^22.13.1": + version: 22.20.0 + resolution: "@types/node@npm:22.20.0" + dependencies: + undici-types: "npm:~6.21.0" + checksum: 10c0/55d78223205bd5f81f043d71b7a5c8d8854b9ef44ef81291680943adb27fa5ba1f092658c87183d5bc8cf6baf6a57b81dad966eb3afa452cc301a615b6d9b20e + languageName: node + linkType: hard + +"@types/prop-types@npm:*": + version: 15.7.15 + resolution: "@types/prop-types@npm:15.7.15" + checksum: 10c0/b59aad1ad19bf1733cf524fd4e618196c6c7690f48ee70a327eb450a42aab8e8a063fbe59ca0a5701aebe2d92d582292c0fb845ea57474f6a15f6994b0e260b2 + languageName: node + linkType: hard + +"@types/react-dom@npm:^18.3.5": + version: 18.3.7 + resolution: "@types/react-dom@npm:18.3.7" + peerDependencies: + "@types/react": ^18.0.0 + checksum: 10c0/8bd309e2c3d1604a28a736a24f96cbadf6c05d5288cfef8883b74f4054c961b6b3a5e997fd5686e492be903c8f3380dba5ec017eff3906b1256529cd2d39603e + languageName: node + linkType: hard + +"@types/react@npm:^18.3.18": + version: 18.3.31 + resolution: "@types/react@npm:18.3.31" + dependencies: + "@types/prop-types": "npm:*" + csstype: "npm:^3.2.2" + checksum: 10c0/44180549dd045f536ececd39e39aacdf828e76adc1c4a90b132f453e23cc370c4648d9102ae401172ebd8fd8b1977a901a39e214e53ec77171b27514b588c179 + languageName: node + linkType: hard + +"@types/responselike@npm:^1.0.0": + version: 1.0.3 + resolution: "@types/responselike@npm:1.0.3" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/a58ba341cb9e7d74f71810a88862da7b2a6fa42e2a1fc0ce40498f6ea1d44382f0640117057da779f74c47039f7166bf48fad02dc876f94e005c7afa50f5e129 + languageName: node + linkType: hard + +"@types/yauzl@npm:^2.9.1": + version: 2.10.3 + resolution: "@types/yauzl@npm:2.10.3" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/f1b7c1b99fef9f2fe7f1985ef7426d0cebe48cd031f1780fcdc7451eec7e31ac97028f16f50121a59bcf53086a1fc8c856fd5b7d3e00970e43d92ae27d6b43dc + languageName: node + linkType: hard + +"@vitejs/plugin-react@npm:^4.3.4": + version: 4.7.0 + resolution: "@vitejs/plugin-react@npm:4.7.0" + dependencies: + "@babel/core": "npm:^7.28.0" + "@babel/plugin-transform-react-jsx-self": "npm:^7.27.1" + "@babel/plugin-transform-react-jsx-source": "npm:^7.27.1" + "@rolldown/pluginutils": "npm:1.0.0-beta.27" + "@types/babel__core": "npm:^7.20.5" + react-refresh: "npm:^0.17.0" + peerDependencies: + vite: ^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 + checksum: 10c0/692f23960972879485d647713663ec299c478222c96567d60285acf7c7dc5c178e71abfe9d2eefddef1eeb01514dacbc2ed68aad84628debf9c7116134734253 + languageName: node + linkType: hard + +"@vitest/expect@npm:3.2.7": + version: 3.2.7 + resolution: "@vitest/expect@npm:3.2.7" + dependencies: + "@types/chai": "npm:^5.2.2" + "@vitest/spy": "npm:3.2.7" + "@vitest/utils": "npm:3.2.7" + chai: "npm:^5.2.0" + tinyrainbow: "npm:^2.0.0" + checksum: 10c0/5a13fee261d1020d47a3517f4d9a2cb209d7475399c815f6ebe22be116ddb0c6c401592f07d24f9a8b1c192155d11f651397ee28061f886ea61f1f9181a8fd48 + languageName: node + linkType: hard + +"@vitest/mocker@npm:3.2.7": + version: 3.2.7 + resolution: "@vitest/mocker@npm:3.2.7" + dependencies: + "@vitest/spy": "npm:3.2.7" + estree-walker: "npm:^3.0.3" + magic-string: "npm:^0.30.17" + peerDependencies: + msw: ^2.4.9 + vite: ^5.0.0 || ^6.0.0 || ^7.0.0-0 + peerDependenciesMeta: + msw: + optional: true + vite: + optional: true + checksum: 10c0/e8d9a155723e77b3e14c5a1eba35d8966b94420ebc733ffd7119b7bede22006580c468eec2aec6612fb77852cbcdfa94c6f49218f3ca1427aa9363d545c624fd + languageName: node + linkType: hard + +"@vitest/pretty-format@npm:3.2.7, @vitest/pretty-format@npm:^3.2.7": + version: 3.2.7 + resolution: "@vitest/pretty-format@npm:3.2.7" + dependencies: + tinyrainbow: "npm:^2.0.0" + checksum: 10c0/f556dd5f9e5240c7ab054d795622292c1b23f6aad3332d1e250f33d801783efbb7883387640b76d22cc91b81f30cb735b40371ec3e4f5293e735495f45d624df + languageName: node + linkType: hard + +"@vitest/runner@npm:3.2.7": + version: 3.2.7 + resolution: "@vitest/runner@npm:3.2.7" + dependencies: + "@vitest/utils": "npm:3.2.7" + pathe: "npm:^2.0.3" + strip-literal: "npm:^3.0.0" + checksum: 10c0/d73ba6df95175ea2b545d37fde3e743d113ecd608693b444af1d4dc27956abe4d5b500e25e09ffe46ce720de6b7cec68c264fca20366fc6da0d9ce75c52047cc + languageName: node + linkType: hard + +"@vitest/snapshot@npm:3.2.7": + version: 3.2.7 + resolution: "@vitest/snapshot@npm:3.2.7" + dependencies: + "@vitest/pretty-format": "npm:3.2.7" + magic-string: "npm:^0.30.17" + pathe: "npm:^2.0.3" + checksum: 10c0/c58a17a2c98788e77d30d39837c024852eca91618efe9b53ec399cf76332365b8cc592a69617e0f7d696df716dcc341dac61c6cbea86ae98cdb49a4a84f48d19 + languageName: node + linkType: hard + +"@vitest/spy@npm:3.2.7": + version: 3.2.7 + resolution: "@vitest/spy@npm:3.2.7" + dependencies: + tinyspy: "npm:^4.0.3" + checksum: 10c0/cf2728b4ddc6137e0ca749215c7714845e8221a5f799e933bc623216a9958fd8b032cdd7f033ed8375df9e6ed84a18b64687ca2530f50e8a76bc3b1d16d88c42 + languageName: node + linkType: hard + +"@vitest/utils@npm:3.2.7": + version: 3.2.7 + resolution: "@vitest/utils@npm:3.2.7" + dependencies: + "@vitest/pretty-format": "npm:3.2.7" + loupe: "npm:^3.1.4" + tinyrainbow: "npm:^2.0.0" + checksum: 10c0/fea57d6cf66853926f54ea6e9bd249b707120b0abba565d96a3880c7f04d5c5cd4778546879b9074cc73c0b81b475c1873791d4b3b3e5a324115b5bcfd3a46bb + languageName: node + linkType: hard + +"abbrev@npm:^5.0.0": + version: 5.0.0 + resolution: "abbrev@npm:5.0.0" + checksum: 10c0/8e88f5c798ea4562d28c5a3e9ad69e3879890bc5d695d8f2dffb8609be4c890aacc8f80ef4553fdd2c6a62d70c2ce8bc57b38074e383beb7487bdafa9ed42ea5 + languageName: node + linkType: hard + +"any-promise@npm:^1.0.0": + version: 1.3.0 + resolution: "any-promise@npm:1.3.0" + checksum: 10c0/60f0298ed34c74fef50daab88e8dab786036ed5a7fad02e012ab57e376e0a0b4b29e83b95ea9b5e7d89df762f5f25119b83e00706ecaccb22cfbacee98d74889 + languageName: node + linkType: hard + +"anymatch@npm:~3.1.2": + version: 3.1.3 + resolution: "anymatch@npm:3.1.3" + dependencies: + normalize-path: "npm:^3.0.0" + picomatch: "npm:^2.0.4" + checksum: 10c0/57b06ae984bc32a0d22592c87384cd88fe4511b1dd7581497831c56d41939c8a001b28e7b853e1450f2bf61992dfcaa8ae2d0d161a0a90c4fb631ef07098fbac + languageName: node + linkType: hard + +"arg@npm:^5.0.2": + version: 5.0.2 + resolution: "arg@npm:5.0.2" + checksum: 10c0/ccaf86f4e05d342af6666c569f844bec426595c567d32a8289715087825c2ca7edd8a3d204e4d2fb2aa4602e09a57d0c13ea8c9eea75aac3dbb4af5514e6800e + languageName: node + linkType: hard + +"assertion-error@npm:^2.0.1": + version: 2.0.1 + resolution: "assertion-error@npm:2.0.1" + checksum: 10c0/bbbcb117ac6480138f8c93cf7f535614282dea9dc828f540cdece85e3c665e8f78958b96afac52f29ff883c72638e6a87d469ecc9fe5bc902df03ed24a55dba8 + languageName: node + linkType: hard + +"autoprefixer@npm:^10.4.20": + version: 10.5.2 + resolution: "autoprefixer@npm:10.5.2" + dependencies: + browserslist: "npm:^4.28.4" + caniuse-lite: "npm:^1.0.30001799" + fraction.js: "npm:^5.3.4" + picocolors: "npm:^1.1.1" + postcss-value-parser: "npm:^4.2.0" + peerDependencies: + postcss: ^8.1.0 + bin: + autoprefixer: bin/autoprefixer + checksum: 10c0/588fec73c061da8a95f6a7f4f0cde811a581087852325564d2d8f15c9356b204db50c1566c57e06dc0b1bcdf2b8ff10f85e89ef08d94c10f0e5ba187a4c52690 + languageName: node + linkType: hard + +"baseline-browser-mapping@npm:^2.10.42": + version: 2.10.42 + resolution: "baseline-browser-mapping@npm:2.10.42" + bin: + baseline-browser-mapping: dist/cli.cjs + checksum: 10c0/4a9f54818d17d8dbee69096563b2cd5e2175f66752c479f1c10d31e072c1c2b7241a9bdaee78d5236178c581ca2735e75fbb0d0877d6492958eed9f6e46e03f3 + languageName: node + linkType: hard + +"binary-extensions@npm:^2.0.0": + version: 2.3.0 + resolution: "binary-extensions@npm:2.3.0" + checksum: 10c0/75a59cafc10fb12a11d510e77110c6c7ae3f4ca22463d52487709ca7f18f69d886aa387557cc9864fbdb10153d0bdb4caacabf11541f55e89ed6e18d12ece2b5 + languageName: node + linkType: hard + +"boolean@npm:^3.0.1": + version: 3.2.0 + resolution: "boolean@npm:3.2.0" + checksum: 10c0/6a0dc9668f6f3dda42a53c181fcbdad223169c8d87b6c4011b87a8b14a21770efb2934a778f063d7ece17280f8c06d313c87f7b834bb1dd526a867ffcd00febf + languageName: node + linkType: hard + +"braces@npm:^3.0.3, braces@npm:~3.0.2": + version: 3.0.3 + resolution: "braces@npm:3.0.3" + dependencies: + fill-range: "npm:^7.1.1" + checksum: 10c0/7c6dfd30c338d2997ba77500539227b9d1f85e388a5f43220865201e407e076783d0881f2d297b9f80951b4c957fcf0b51c1d2d24227631643c3f7c284b0aa04 + languageName: node + linkType: hard + +"browserslist@npm:^4.24.0, browserslist@npm:^4.28.4": + version: 4.28.5 + resolution: "browserslist@npm:4.28.5" + dependencies: + baseline-browser-mapping: "npm:^2.10.42" + caniuse-lite: "npm:^1.0.30001800" + electron-to-chromium: "npm:^1.5.387" + node-releases: "npm:^2.0.50" + update-browserslist-db: "npm:^1.2.3" + bin: + browserslist: cli.js + checksum: 10c0/d6bb4ab286a7071db52cbeabd46ff816e09c9171d7e5da246f0b9489601ad3d4adb9fc3d14fa934a8646078f8a717507c0518a364128735a3b5a7875900b5a19 + languageName: node + linkType: hard + +"buffer-crc32@npm:~0.2.3": + version: 0.2.13 + resolution: "buffer-crc32@npm:0.2.13" + checksum: 10c0/cb0a8ddf5cf4f766466db63279e47761eb825693eeba6a5a95ee4ec8cb8f81ede70aa7f9d8aeec083e781d47154290eb5d4d26b3f7a465ec57fb9e7d59c47150 + languageName: node + linkType: hard + +"cac@npm:^6.7.14": + version: 6.7.14 + resolution: "cac@npm:6.7.14" + checksum: 10c0/4ee06aaa7bab8981f0d54e5f5f9d4adcd64058e9697563ce336d8a3878ed018ee18ebe5359b2430eceae87e0758e62ea2019c3f52ae6e211b1bd2e133856cd10 + languageName: node + linkType: hard + +"cacheable-lookup@npm:^5.0.3": + version: 5.0.4 + resolution: "cacheable-lookup@npm:5.0.4" + checksum: 10c0/a6547fb4954b318aa831cbdd2f7b376824bc784fb1fa67610e4147099e3074726072d9af89f12efb69121415a0e1f2918a8ddd4aafcbcf4e91fbeef4a59cd42c + languageName: node + linkType: hard + +"cacheable-request@npm:^7.0.2": + version: 7.0.4 + resolution: "cacheable-request@npm:7.0.4" + dependencies: + clone-response: "npm:^1.0.2" + get-stream: "npm:^5.1.0" + http-cache-semantics: "npm:^4.0.0" + keyv: "npm:^4.0.0" + lowercase-keys: "npm:^2.0.0" + normalize-url: "npm:^6.0.1" + responselike: "npm:^2.0.0" + checksum: 10c0/0834a7d17ae71a177bc34eab06de112a43f9b5ad05ebe929bec983d890a7d9f2bc5f1aa8bb67ea2b65e07a3bc74bea35fa62dd36dbac52876afe36fdcf83da41 + languageName: node + linkType: hard + +"camelcase-css@npm:^2.0.1": + version: 2.0.1 + resolution: "camelcase-css@npm:2.0.1" + checksum: 10c0/1a1a3137e8a781e6cbeaeab75634c60ffd8e27850de410c162cce222ea331cd1ba5364e8fb21c95e5ca76f52ac34b81a090925ca00a87221355746d049c6e273 + languageName: node + linkType: hard + +"caniuse-lite@npm:^1.0.30001799, caniuse-lite@npm:^1.0.30001800": + version: 1.0.30001803 + resolution: "caniuse-lite@npm:1.0.30001803" + checksum: 10c0/71586e9c84633cf766b208448eb76f860ec6e3befffc626d1f004e1902da063a7ab96cc94d1f4b36c0324e12997b3325a726de3287edfec91d0df495627a1d43 + languageName: node + linkType: hard + +"chai@npm:^5.2.0": + version: 5.3.3 + resolution: "chai@npm:5.3.3" + dependencies: + assertion-error: "npm:^2.0.1" + check-error: "npm:^2.1.1" + deep-eql: "npm:^5.0.1" + loupe: "npm:^3.1.0" + pathval: "npm:^2.0.0" + checksum: 10c0/b360fd4d38861622e5010c2f709736988b05c7f31042305fa3f4e9911f6adb80ccfb4e302068bf8ed10e835c2e2520cba0f5edc13d878b886987e5aa62483f53 + languageName: node + linkType: hard + +"check-error@npm:^2.1.1": + version: 2.1.3 + resolution: "check-error@npm:2.1.3" + checksum: 10c0/878e99038fb6476316b74668cd6a498c7e66df3efe48158fa40db80a06ba4258742ac3ee2229c4a2a98c5e73f5dff84eb3e50ceb6b65bbd8f831eafc8338607d + languageName: node + linkType: hard + +"chokidar@npm:^3.6.0": + version: 3.6.0 + resolution: "chokidar@npm:3.6.0" + dependencies: + anymatch: "npm:~3.1.2" + braces: "npm:~3.0.2" + fsevents: "npm:~2.3.2" + glob-parent: "npm:~5.1.2" + is-binary-path: "npm:~2.1.0" + is-glob: "npm:~4.0.1" + normalize-path: "npm:~3.0.0" + readdirp: "npm:~3.6.0" + dependenciesMeta: + fsevents: + optional: true + checksum: 10c0/8361dcd013f2ddbe260eacb1f3cb2f2c6f2b0ad118708a343a5ed8158941a39cb8fb1d272e0f389712e74ee90ce8ba864eece9e0e62b9705cb468a2f6d917462 + languageName: node + linkType: hard + +"chownr@npm:^3.0.0": + version: 3.0.0 + resolution: "chownr@npm:3.0.0" + checksum: 10c0/43925b87700f7e3893296c8e9c56cc58f926411cce3a6e5898136daaf08f08b9a8eb76d37d3267e707d0dcc17aed2e2ebdf5848c0c3ce95cf910a919935c1b10 + languageName: node + linkType: hard + +"clone-response@npm:^1.0.2": + version: 1.0.3 + resolution: "clone-response@npm:1.0.3" + dependencies: + mimic-response: "npm:^1.0.0" + checksum: 10c0/06a2b611824efb128810708baee3bd169ec9a1bf5976a5258cd7eb3f7db25f00166c6eee5961f075c7e38e194f373d4fdf86b8166ad5b9c7e82bbd2e333a6087 + languageName: node + linkType: hard + +"commander@npm:^4.0.0": + version: 4.1.1 + resolution: "commander@npm:4.1.1" + checksum: 10c0/84a76c08fe6cc08c9c93f62ac573d2907d8e79138999312c92d4155bc2325d487d64d13f669b2000c9f8caf70493c1be2dac74fec3c51d5a04f8bc3ae1830bab + languageName: node + linkType: hard + +"commitea@workspace:.": + version: 0.0.0-use.local + resolution: "commitea@workspace:." + languageName: unknown + linkType: soft + +"convert-source-map@npm:^2.0.0": + version: 2.0.0 + resolution: "convert-source-map@npm:2.0.0" + checksum: 10c0/8f2f7a27a1a011cc6cc88cc4da2d7d0cfa5ee0369508baae3d98c260bb3ac520691464e5bbe4ae7cdf09860c1d69ecc6f70c63c6e7c7f7e3f18ec08484dc7d9b + languageName: node + linkType: hard + +"cssesc@npm:^3.0.0": + version: 3.0.0 + resolution: "cssesc@npm:3.0.0" + bin: + cssesc: bin/cssesc + checksum: 10c0/6bcfd898662671be15ae7827120472c5667afb3d7429f1f917737f3bf84c4176003228131b643ae74543f17a394446247df090c597bb9a728cce298606ed0aa7 + languageName: node + linkType: hard + +"csstype@npm:^3.2.2": + version: 3.2.3 + resolution: "csstype@npm:3.2.3" + checksum: 10c0/cd29c51e70fa822f1cecd8641a1445bed7063697469d35633b516e60fe8c1bde04b08f6c5b6022136bb669b64c63d4173af54864510fbb4ee23281801841a3ce + languageName: node + linkType: hard + +"debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.4.1": + version: 4.4.3 + resolution: "debug@npm:4.4.3" + dependencies: + ms: "npm:^2.1.3" + peerDependenciesMeta: + supports-color: + optional: true + checksum: 10c0/d79136ec6c83ecbefd0f6a5593da6a9c91ec4d7ddc4b54c883d6e71ec9accb5f67a1a5e96d00a328196b5b5c86d365e98d8a3a70856aaf16b4e7b1985e67f5a6 + languageName: node + linkType: hard + +"decompress-response@npm:^6.0.0": + version: 6.0.0 + resolution: "decompress-response@npm:6.0.0" + dependencies: + mimic-response: "npm:^3.1.0" + checksum: 10c0/bd89d23141b96d80577e70c54fb226b2f40e74a6817652b80a116d7befb8758261ad073a8895648a29cc0a5947021ab66705cb542fa9c143c82022b27c5b175e + languageName: node + linkType: hard + +"deep-eql@npm:^5.0.1": + version: 5.0.2 + resolution: "deep-eql@npm:5.0.2" + checksum: 10c0/7102cf3b7bb719c6b9c0db2e19bf0aa9318d141581befe8c7ce8ccd39af9eaa4346e5e05adef7f9bd7015da0f13a3a25dcfe306ef79dc8668aedbecb658dd247 + languageName: node + linkType: hard + +"defer-to-connect@npm:^2.0.0": + version: 2.0.1 + resolution: "defer-to-connect@npm:2.0.1" + checksum: 10c0/625ce28e1b5ad10cf77057b9a6a727bf84780c17660f6644dab61dd34c23de3001f03cedc401f7d30a4ed9965c2e8a7336e220a329146f2cf85d4eddea429782 + languageName: node + linkType: hard + +"define-data-property@npm:^1.0.1": + version: 1.1.4 + resolution: "define-data-property@npm:1.1.4" + dependencies: + es-define-property: "npm:^1.0.0" + es-errors: "npm:^1.3.0" + gopd: "npm:^1.0.1" + checksum: 10c0/dea0606d1483eb9db8d930d4eac62ca0fa16738b0b3e07046cddfacf7d8c868bbe13fa0cb263eb91c7d0d527960dc3f2f2471a69ed7816210307f6744fe62e37 + languageName: node + linkType: hard + +"define-properties@npm:^1.2.1": + version: 1.2.1 + resolution: "define-properties@npm:1.2.1" + dependencies: + define-data-property: "npm:^1.0.1" + has-property-descriptors: "npm:^1.0.0" + object-keys: "npm:^1.1.1" + checksum: 10c0/88a152319ffe1396ccc6ded510a3896e77efac7a1bfbaa174a7b00414a1747377e0bb525d303794a47cf30e805c2ec84e575758512c6e44a993076d29fd4e6c3 + languageName: node + linkType: hard + +"detect-node@npm:^2.0.4": + version: 2.1.0 + resolution: "detect-node@npm:2.1.0" + checksum: 10c0/f039f601790f2e9d4654e499913259a798b1f5246ae24f86ab5e8bd4aaf3bce50484234c494f11fb00aecb0c6e2733aa7b1cf3f530865640b65fbbd65b2c4e09 + languageName: node + linkType: hard + +"didyoumean@npm:^1.2.2": + version: 1.2.2 + resolution: "didyoumean@npm:1.2.2" + checksum: 10c0/95d0b53d23b851aacff56dfadb7ecfedce49da4232233baecfeecb7710248c4aa03f0aa8995062f0acafaf925adf8536bd7044a2e68316fd7d411477599bc27b + languageName: node + linkType: hard + +"dlv@npm:^1.1.3": + version: 1.1.3 + resolution: "dlv@npm:1.1.3" + checksum: 10c0/03eb4e769f19a027fd5b43b59e8a05e3fd2100ac239ebb0bf9a745de35d449e2f25cfaf3aa3934664551d72856f4ae8b7822016ce5c42c2d27c18ae79429ec42 + languageName: node + linkType: hard + +"electron-to-chromium@npm:^1.5.387": + version: 1.5.389 + resolution: "electron-to-chromium@npm:1.5.389" + checksum: 10c0/3681a3245fef5dfc8d9cdee231e80f8fe4fd7a87713d3a29a21ae2ec0cb6995cf14f3b3fd9e3fa8b483256e28ba2fa1daa9f23e93911a3a7241cd8f5daee9665 + languageName: node + linkType: hard + +"electron-vite@npm:^3.1.0": + version: 3.1.0 + resolution: "electron-vite@npm:3.1.0" + dependencies: + "@babel/core": "npm:^7.26.10" + "@babel/plugin-transform-arrow-functions": "npm:^7.25.9" + cac: "npm:^6.7.14" + esbuild: "npm:^0.25.1" + magic-string: "npm:^0.30.17" + picocolors: "npm:^1.1.1" + peerDependencies: + "@swc/core": ^1.0.0 + vite: ^4.0.0 || ^5.0.0 || ^6.0.0 + peerDependenciesMeta: + "@swc/core": + optional: true + bin: + electron-vite: bin/electron-vite.js + checksum: 10c0/c5efacf83c869a933d7da390b3312beb47c145339e630f9d3ebbedbe3301ec2b070e4d05668dad28088284bad25c8044736b2339a341b1d89242a4489b0807c8 + languageName: node + linkType: hard + +"electron@npm:^34.0.0": + version: 34.5.8 + resolution: "electron@npm:34.5.8" + dependencies: + "@electron/get": "npm:^2.0.0" + "@types/node": "npm:^20.9.0" + extract-zip: "npm:^2.0.1" + bin: + electron: cli.js + checksum: 10c0/1fd2975d41f3ef29e165f5677137c6ce6f69ec8e7f5db9db14cfd6859c8b28ea4bc91a83cc646551918f634034ffd2cde417a5ff7631e401ca5bcb711db1aa9f + languageName: node + linkType: hard + +"end-of-stream@npm:^1.1.0": + version: 1.4.5 + resolution: "end-of-stream@npm:1.4.5" + dependencies: + once: "npm:^1.4.0" + checksum: 10c0/b0701c92a10b89afb1cb45bf54a5292c6f008d744eb4382fa559d54775ff31617d1d7bc3ef617575f552e24fad2c7c1a1835948c66b3f3a4be0a6c1f35c883d8 + languageName: node + linkType: hard + +"env-paths@npm:^2.2.0": + version: 2.2.1 + resolution: "env-paths@npm:2.2.1" + checksum: 10c0/285325677bf00e30845e330eec32894f5105529db97496ee3f598478e50f008c5352a41a30e5e72ec9de8a542b5a570b85699cd63bd2bc646dbcb9f311d83bc4 + languageName: node + linkType: hard + +"es-define-property@npm:^1.0.0": + version: 1.0.1 + resolution: "es-define-property@npm:1.0.1" + checksum: 10c0/3f54eb49c16c18707949ff25a1456728c883e81259f045003499efba399c08bad00deebf65cccde8c0e07908c1a225c9d472b7107e558f2a48e28d530e34527c + languageName: node + linkType: hard + +"es-errors@npm:^1.3.0": + version: 1.3.0 + resolution: "es-errors@npm:1.3.0" + checksum: 10c0/0a61325670072f98d8ae3b914edab3559b6caa980f08054a3b872052640d91da01d38df55df797fcc916389d77fc92b8d5906cf028f4db46d7e3003abecbca85 + languageName: node + linkType: hard + +"es-module-lexer@npm:^1.7.0": + version: 1.7.0 + resolution: "es-module-lexer@npm:1.7.0" + checksum: 10c0/4c935affcbfeba7fb4533e1da10fa8568043df1e3574b869385980de9e2d475ddc36769891936dbb07036edb3c3786a8b78ccf44964cd130dedc1f2c984b6c7b + languageName: node + linkType: hard + +"es6-error@npm:^4.1.1": + version: 4.1.1 + resolution: "es6-error@npm:4.1.1" + checksum: 10c0/357663fb1e845c047d548c3d30f86e005db71e122678f4184ced0693f634688c3f3ef2d7de7d4af732f734de01f528b05954e270f06aa7d133679fb9fe6600ef + languageName: node + linkType: hard + +"esbuild@npm:^0.25.0, esbuild@npm:^0.25.1": + version: 0.25.12 + resolution: "esbuild@npm:0.25.12" + dependencies: + "@esbuild/aix-ppc64": "npm:0.25.12" + "@esbuild/android-arm": "npm:0.25.12" + "@esbuild/android-arm64": "npm:0.25.12" + "@esbuild/android-x64": "npm:0.25.12" + "@esbuild/darwin-arm64": "npm:0.25.12" + "@esbuild/darwin-x64": "npm:0.25.12" + "@esbuild/freebsd-arm64": "npm:0.25.12" + "@esbuild/freebsd-x64": "npm:0.25.12" + "@esbuild/linux-arm": "npm:0.25.12" + "@esbuild/linux-arm64": "npm:0.25.12" + "@esbuild/linux-ia32": "npm:0.25.12" + "@esbuild/linux-loong64": "npm:0.25.12" + "@esbuild/linux-mips64el": "npm:0.25.12" + "@esbuild/linux-ppc64": "npm:0.25.12" + "@esbuild/linux-riscv64": "npm:0.25.12" + "@esbuild/linux-s390x": "npm:0.25.12" + "@esbuild/linux-x64": "npm:0.25.12" + "@esbuild/netbsd-arm64": "npm:0.25.12" + "@esbuild/netbsd-x64": "npm:0.25.12" + "@esbuild/openbsd-arm64": "npm:0.25.12" + "@esbuild/openbsd-x64": "npm:0.25.12" + "@esbuild/openharmony-arm64": "npm:0.25.12" + "@esbuild/sunos-x64": "npm:0.25.12" + "@esbuild/win32-arm64": "npm:0.25.12" + "@esbuild/win32-ia32": "npm:0.25.12" + "@esbuild/win32-x64": "npm:0.25.12" + dependenciesMeta: + "@esbuild/aix-ppc64": + optional: true + "@esbuild/android-arm": + optional: true + "@esbuild/android-arm64": + optional: true + "@esbuild/android-x64": + optional: true + "@esbuild/darwin-arm64": + optional: true + "@esbuild/darwin-x64": + optional: true + "@esbuild/freebsd-arm64": + optional: true + "@esbuild/freebsd-x64": + optional: true + "@esbuild/linux-arm": + optional: true + "@esbuild/linux-arm64": + optional: true + "@esbuild/linux-ia32": + optional: true + "@esbuild/linux-loong64": + optional: true + "@esbuild/linux-mips64el": + optional: true + "@esbuild/linux-ppc64": + optional: true + "@esbuild/linux-riscv64": + optional: true + "@esbuild/linux-s390x": + optional: true + "@esbuild/linux-x64": + optional: true + "@esbuild/netbsd-arm64": + optional: true + "@esbuild/netbsd-x64": + optional: true + "@esbuild/openbsd-arm64": + optional: true + "@esbuild/openbsd-x64": + optional: true + "@esbuild/openharmony-arm64": + optional: true + "@esbuild/sunos-x64": + optional: true + "@esbuild/win32-arm64": + optional: true + "@esbuild/win32-ia32": + optional: true + "@esbuild/win32-x64": + optional: true + bin: + esbuild: bin/esbuild + checksum: 10c0/c205357531423220a9de8e1e6c6514242bc9b1666e762cd67ccdf8fdfdc3f1d0bd76f8d9383958b97ad4c953efdb7b6e8c1f9ca5951cd2b7c5235e8755b34a6b + languageName: node + linkType: hard + +"esbuild@npm:^0.27.0 || ^0.28.0": + version: 0.28.1 + resolution: "esbuild@npm:0.28.1" + dependencies: + "@esbuild/aix-ppc64": "npm:0.28.1" + "@esbuild/android-arm": "npm:0.28.1" + "@esbuild/android-arm64": "npm:0.28.1" + "@esbuild/android-x64": "npm:0.28.1" + "@esbuild/darwin-arm64": "npm:0.28.1" + "@esbuild/darwin-x64": "npm:0.28.1" + "@esbuild/freebsd-arm64": "npm:0.28.1" + "@esbuild/freebsd-x64": "npm:0.28.1" + "@esbuild/linux-arm": "npm:0.28.1" + "@esbuild/linux-arm64": "npm:0.28.1" + "@esbuild/linux-ia32": "npm:0.28.1" + "@esbuild/linux-loong64": "npm:0.28.1" + "@esbuild/linux-mips64el": "npm:0.28.1" + "@esbuild/linux-ppc64": "npm:0.28.1" + "@esbuild/linux-riscv64": "npm:0.28.1" + "@esbuild/linux-s390x": "npm:0.28.1" + "@esbuild/linux-x64": "npm:0.28.1" + "@esbuild/netbsd-arm64": "npm:0.28.1" + "@esbuild/netbsd-x64": "npm:0.28.1" + "@esbuild/openbsd-arm64": "npm:0.28.1" + "@esbuild/openbsd-x64": "npm:0.28.1" + "@esbuild/openharmony-arm64": "npm:0.28.1" + "@esbuild/sunos-x64": "npm:0.28.1" + "@esbuild/win32-arm64": "npm:0.28.1" + "@esbuild/win32-ia32": "npm:0.28.1" + "@esbuild/win32-x64": "npm:0.28.1" + dependenciesMeta: + "@esbuild/aix-ppc64": + optional: true + "@esbuild/android-arm": + optional: true + "@esbuild/android-arm64": + optional: true + "@esbuild/android-x64": + optional: true + "@esbuild/darwin-arm64": + optional: true + "@esbuild/darwin-x64": + optional: true + "@esbuild/freebsd-arm64": + optional: true + "@esbuild/freebsd-x64": + optional: true + "@esbuild/linux-arm": + optional: true + "@esbuild/linux-arm64": + optional: true + "@esbuild/linux-ia32": + optional: true + "@esbuild/linux-loong64": + optional: true + "@esbuild/linux-mips64el": + optional: true + "@esbuild/linux-ppc64": + optional: true + "@esbuild/linux-riscv64": + optional: true + "@esbuild/linux-s390x": + optional: true + "@esbuild/linux-x64": + optional: true + "@esbuild/netbsd-arm64": + optional: true + "@esbuild/netbsd-x64": + optional: true + "@esbuild/openbsd-arm64": + optional: true + "@esbuild/openbsd-x64": + optional: true + "@esbuild/openharmony-arm64": + optional: true + "@esbuild/sunos-x64": + optional: true + "@esbuild/win32-arm64": + optional: true + "@esbuild/win32-ia32": + optional: true + "@esbuild/win32-x64": + optional: true + bin: + esbuild: bin/esbuild + checksum: 10c0/29cd456a79ce35ac2c7e05fe871330416b2c395c045d849653f843e51378d6e0d6e774d6dcd01b35f4e83238a29bf8decd04fcd34b3780c589a250b21e5f92bb + languageName: node + linkType: hard + +"escalade@npm:^3.2.0": + version: 3.2.0 + resolution: "escalade@npm:3.2.0" + checksum: 10c0/ced4dd3a78e15897ed3be74e635110bbf3b08877b0a41be50dcb325ee0e0b5f65fc2d50e9845194d7c4633f327e2e1c6cce00a71b617c5673df0374201d67f65 + languageName: node + linkType: hard + +"escape-string-regexp@npm:^4.0.0": + version: 4.0.0 + resolution: "escape-string-regexp@npm:4.0.0" + checksum: 10c0/9497d4dd307d845bd7f75180d8188bb17ea8c151c1edbf6b6717c100e104d629dc2dfb687686181b0f4b7d732c7dfdc4d5e7a8ff72de1b0ca283a75bbb3a9cd9 + languageName: node + linkType: hard + +"estree-walker@npm:^3.0.3": + version: 3.0.3 + resolution: "estree-walker@npm:3.0.3" + dependencies: + "@types/estree": "npm:^1.0.0" + checksum: 10c0/c12e3c2b2642d2bcae7d5aa495c60fa2f299160946535763969a1c83fc74518ffa9c2cd3a8b69ac56aea547df6a8aac25f729a342992ef0bbac5f1c73e78995d + languageName: node + linkType: hard + +"expect-type@npm:^1.2.1": + version: 1.4.0 + resolution: "expect-type@npm:1.4.0" + checksum: 10c0/d40d76b8570695d36587beb3cc28494da2ca3ec8f04e67f5622ed2d372d850e401a9adef19c6835e1a8173903f157c79540b34c7b3fbd7cd8ce726cc903c57b7 + languageName: node + linkType: hard + +"exponential-backoff@npm:^3.1.1": + version: 3.1.3 + resolution: "exponential-backoff@npm:3.1.3" + checksum: 10c0/77e3ae682b7b1f4972f563c6dbcd2b0d54ac679e62d5d32f3e5085feba20483cf28bd505543f520e287a56d4d55a28d7874299941faf637e779a1aa5994d1267 + languageName: node + linkType: hard + +"extract-zip@npm:^2.0.1": + version: 2.0.1 + resolution: "extract-zip@npm:2.0.1" + dependencies: + "@types/yauzl": "npm:^2.9.1" + debug: "npm:^4.1.1" + get-stream: "npm:^5.1.0" + yauzl: "npm:^2.10.0" + dependenciesMeta: + "@types/yauzl": + optional: true + bin: + extract-zip: cli.js + checksum: 10c0/9afbd46854aa15a857ae0341a63a92743a7b89c8779102c3b4ffc207516b2019337353962309f85c66ee3d9092202a83cdc26dbf449a11981272038443974aee + languageName: node + linkType: hard + +"fast-glob@npm:^3.3.2": + version: 3.3.3 + resolution: "fast-glob@npm:3.3.3" + dependencies: + "@nodelib/fs.stat": "npm:^2.0.2" + "@nodelib/fs.walk": "npm:^1.2.3" + glob-parent: "npm:^5.1.2" + merge2: "npm:^1.3.0" + micromatch: "npm:^4.0.8" + checksum: 10c0/f6aaa141d0d3384cf73cbcdfc52f475ed293f6d5b65bfc5def368b09163a9f7e5ec2b3014d80f733c405f58e470ee0cc451c2937685045cddcdeaa24199c43fe + languageName: node + linkType: hard + +"fastq@npm:^1.6.0": + version: 1.20.1 + resolution: "fastq@npm:1.20.1" + dependencies: + reusify: "npm:^1.0.4" + checksum: 10c0/e5dd725884decb1f11e5c822221d76136f239d0236f176fab80b7b8f9e7619ae57e6b4e5b73defc21e6b9ef99437ee7b545cff8e6c2c337819633712fa9d352e + languageName: node + linkType: hard + +"fd-slicer@npm:~1.1.0": + version: 1.1.0 + resolution: "fd-slicer@npm:1.1.0" + dependencies: + pend: "npm:~1.2.0" + checksum: 10c0/304dd70270298e3ffe3bcc05e6f7ade2511acc278bc52d025f8918b48b6aa3b77f10361bddfadfe2a28163f7af7adbdce96f4d22c31b2f648ba2901f0c5fc20e + languageName: node + linkType: hard + +"fdir@npm:^6.4.4, fdir@npm:^6.5.0": + version: 6.5.0 + resolution: "fdir@npm:6.5.0" + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + checksum: 10c0/e345083c4306b3aed6cb8ec551e26c36bab5c511e99ea4576a16750ddc8d3240e63826cc624f5ae17ad4dc82e68a253213b60d556c11bfad064b7607847ed07f + languageName: node + linkType: hard + +"fill-range@npm:^7.1.1": + version: 7.1.1 + resolution: "fill-range@npm:7.1.1" + dependencies: + to-regex-range: "npm:^5.0.1" + checksum: 10c0/b75b691bbe065472f38824f694c2f7449d7f5004aa950426a2c28f0306c60db9b880c0b0e4ed819997ffb882d1da02cfcfc819bddc94d71627f5269682edf018 + languageName: node + linkType: hard + +"fraction.js@npm:^5.3.4": + version: 5.3.4 + resolution: "fraction.js@npm:5.3.4" + checksum: 10c0/f90079fe9bfc665e0a07079938e8ff71115bce9462f17b32fc283f163b0540ec34dc33df8ed41bb56f028316b04361b9a9995b9ee9258617f8338e0b05c5f95a + languageName: node + linkType: hard + +"fs-extra@npm:^8.1.0": + version: 8.1.0 + resolution: "fs-extra@npm:8.1.0" + dependencies: + graceful-fs: "npm:^4.2.0" + jsonfile: "npm:^4.0.0" + universalify: "npm:^0.1.0" + checksum: 10c0/259f7b814d9e50d686899550c4f9ded85c46c643f7fe19be69504888e007fcbc08f306fae8ec495b8b998635e997c9e3e175ff2eeed230524ef1c1684cc96423 + languageName: node + linkType: hard + +"fsevents@npm:~2.3.2, fsevents@npm:~2.3.3": + version: 2.3.3 + resolution: "fsevents@npm:2.3.3" + dependencies: + node-gyp: "npm:latest" + checksum: 10c0/a1f0c44595123ed717febbc478aa952e47adfc28e2092be66b8ab1635147254ca6cfe1df792a8997f22716d4cbafc73309899ff7bfac2ac3ad8cf2e4ecc3ec60 + conditions: os=darwin + languageName: node + linkType: hard + +"fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin, fsevents@patch:fsevents@npm%3A~2.3.3#optional!builtin": + version: 2.3.3 + resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1" + dependencies: + node-gyp: "npm:latest" + conditions: os=darwin + languageName: node + linkType: hard + +"function-bind@npm:^1.1.2": + version: 1.1.2 + resolution: "function-bind@npm:1.1.2" + checksum: 10c0/d8680ee1e5fcd4c197e4ac33b2b4dce03c71f4d91717292785703db200f5c21f977c568d28061226f9b5900cbcd2c84463646134fd5337e7925e0942bc3f46d5 + languageName: node + linkType: hard + +"gensync@npm:^1.0.0-beta.2": + version: 1.0.0-beta.2 + resolution: "gensync@npm:1.0.0-beta.2" + checksum: 10c0/782aba6cba65b1bb5af3b095d96249d20edbe8df32dbf4696fd49be2583faf676173bf4809386588828e4dd76a3354fcbeb577bab1c833ccd9fc4577f26103f8 + languageName: node + linkType: hard + +"get-stream@npm:^5.1.0": + version: 5.2.0 + resolution: "get-stream@npm:5.2.0" + dependencies: + pump: "npm:^3.0.0" + checksum: 10c0/43797ffd815fbb26685bf188c8cfebecb8af87b3925091dd7b9a9c915993293d78e3c9e1bce125928ff92f2d0796f3889b92b5ec6d58d1041b574682132e0a80 + languageName: node + linkType: hard + +"glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.2": + version: 5.1.2 + resolution: "glob-parent@npm:5.1.2" + dependencies: + is-glob: "npm:^4.0.1" + checksum: 10c0/cab87638e2112bee3f839ef5f6e0765057163d39c66be8ec1602f3823da4692297ad4e972de876ea17c44d652978638d2fd583c6713d0eb6591706825020c9ee + languageName: node + linkType: hard + +"glob-parent@npm:^6.0.2": + version: 6.0.2 + resolution: "glob-parent@npm:6.0.2" + dependencies: + is-glob: "npm:^4.0.3" + checksum: 10c0/317034d88654730230b3f43bb7ad4f7c90257a426e872ea0bf157473ac61c99bf5d205fad8f0185f989be8d2fa6d3c7dce1645d99d545b6ea9089c39f838e7f8 + languageName: node + linkType: hard + +"global-agent@npm:^3.0.0": + version: 3.0.0 + resolution: "global-agent@npm:3.0.0" + dependencies: + boolean: "npm:^3.0.1" + es6-error: "npm:^4.1.1" + matcher: "npm:^3.0.0" + roarr: "npm:^2.15.3" + semver: "npm:^7.3.2" + serialize-error: "npm:^7.0.1" + checksum: 10c0/bb8750d026b25da437072762fd739098bad92ff72f66483c3929db4579e072f5523960f7e7fd70ee0d75db48898067b5dc1c9c1d17888128cff008fcc34d1bd3 + languageName: node + linkType: hard + +"globalthis@npm:^1.0.1": + version: 1.0.4 + resolution: "globalthis@npm:1.0.4" + dependencies: + define-properties: "npm:^1.2.1" + gopd: "npm:^1.0.1" + checksum: 10c0/9d156f313af79d80b1566b93e19285f481c591ad6d0d319b4be5e03750d004dde40a39a0f26f7e635f9007a3600802f53ecd85a759b86f109e80a5f705e01846 + languageName: node + linkType: hard + +"gopd@npm:^1.0.1": + version: 1.2.0 + resolution: "gopd@npm:1.2.0" + checksum: 10c0/50fff1e04ba2b7737c097358534eacadad1e68d24cccee3272e04e007bed008e68d2614f3987788428fd192a5ae3889d08fb2331417e4fc4a9ab366b2043cead + languageName: node + linkType: hard + +"got@npm:^11.8.5": + version: 11.8.6 + resolution: "got@npm:11.8.6" + dependencies: + "@sindresorhus/is": "npm:^4.0.0" + "@szmarczak/http-timer": "npm:^4.0.5" + "@types/cacheable-request": "npm:^6.0.1" + "@types/responselike": "npm:^1.0.0" + cacheable-lookup: "npm:^5.0.3" + cacheable-request: "npm:^7.0.2" + decompress-response: "npm:^6.0.0" + http2-wrapper: "npm:^1.0.0-beta.5.2" + lowercase-keys: "npm:^2.0.0" + p-cancelable: "npm:^2.0.0" + responselike: "npm:^2.0.0" + checksum: 10c0/754dd44877e5cf6183f1e989ff01c648d9a4719e357457bd4c78943911168881f1cfb7b2cb15d885e2105b3ad313adb8f017a67265dd7ade771afdb261ee8cb1 + languageName: node + linkType: hard + +"graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.6": + version: 4.2.11 + resolution: "graceful-fs@npm:4.2.11" + checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 + languageName: node + linkType: hard + +"has-property-descriptors@npm:^1.0.0": + version: 1.0.2 + resolution: "has-property-descriptors@npm:1.0.2" + dependencies: + es-define-property: "npm:^1.0.0" + checksum: 10c0/253c1f59e80bb476cf0dde8ff5284505d90c3bdb762983c3514d36414290475fe3fd6f574929d84de2a8eec00d35cf07cb6776205ff32efd7c50719125f00236 + languageName: node + linkType: hard + +"hasown@npm:^2.0.3": + version: 2.0.4 + resolution: "hasown@npm:2.0.4" + dependencies: + function-bind: "npm:^1.1.2" + checksum: 10c0/2d8de939e270b70618f8cebb69746620db10617dbb495bc66ddad326955ea24d3ca4af133aff3eb7c1853e0218f867bc2b050ec26fe02e3aea58f880ffc5e506 + languageName: node + linkType: hard + +"http-cache-semantics@npm:^4.0.0": + version: 4.2.0 + resolution: "http-cache-semantics@npm:4.2.0" + checksum: 10c0/45b66a945cf13ec2d1f29432277201313babf4a01d9e52f44b31ca923434083afeca03f18417f599c9ab3d0e7b618ceb21257542338b57c54b710463b4a53e37 + languageName: node + linkType: hard + +"http2-wrapper@npm:^1.0.0-beta.5.2": + version: 1.0.3 + resolution: "http2-wrapper@npm:1.0.3" + dependencies: + quick-lru: "npm:^5.1.1" + resolve-alpn: "npm:^1.0.0" + checksum: 10c0/6a9b72a033e9812e1476b9d776ce2f387bc94bc46c88aea0d5dab6bd47d0a539b8178830e77054dd26d1142c866d515a28a4dc7c3ff4232c88ff2ebe4f5d12d1 + languageName: node + linkType: hard + +"is-binary-path@npm:~2.1.0": + version: 2.1.0 + resolution: "is-binary-path@npm:2.1.0" + dependencies: + binary-extensions: "npm:^2.0.0" + checksum: 10c0/a16eaee59ae2b315ba36fad5c5dcaf8e49c3e27318f8ab8fa3cdb8772bf559c8d1ba750a589c2ccb096113bb64497084361a25960899cb6172a6925ab6123d38 + languageName: node + linkType: hard + +"is-core-module@npm:^2.16.1": + version: 2.16.2 + resolution: "is-core-module@npm:2.16.2" + dependencies: + hasown: "npm:^2.0.3" + checksum: 10c0/14b4258390283709c15476d023ec173e27458d5d014ccdb8ed39d576e551c3fa45498b7c9fe178f1529c4cb2648ddd58852a6a62107a019f6e349529f277518a + languageName: node + linkType: hard + +"is-extglob@npm:^2.1.1": + version: 2.1.1 + resolution: "is-extglob@npm:2.1.1" + checksum: 10c0/5487da35691fbc339700bbb2730430b07777a3c21b9ebaecb3072512dfd7b4ba78ac2381a87e8d78d20ea08affb3f1971b4af629173a6bf435ff8a4c47747912 + languageName: node + linkType: hard + +"is-glob@npm:^4.0.1, is-glob@npm:^4.0.3, is-glob@npm:~4.0.1": + version: 4.0.3 + resolution: "is-glob@npm:4.0.3" + dependencies: + is-extglob: "npm:^2.1.1" + checksum: 10c0/17fb4014e22be3bbecea9b2e3a76e9e34ff645466be702f1693e8f1ee1adac84710d0be0bd9f967d6354036fd51ab7c2741d954d6e91dae6bb69714de92c197a + languageName: node + linkType: hard + +"is-number@npm:^7.0.0": + version: 7.0.0 + resolution: "is-number@npm:7.0.0" + checksum: 10c0/b4686d0d3053146095ccd45346461bc8e53b80aeb7671cc52a4de02dbbf7dc0d1d2a986e2fe4ae206984b4d34ef37e8b795ebc4f4295c978373e6575e295d811 + languageName: node + linkType: hard + +"isexe@npm:^4.0.0": + version: 4.0.0 + resolution: "isexe@npm:4.0.0" + checksum: 10c0/5884815115bceac452877659a9c7726382531592f43dc29e5d48b7c4100661aed54018cb90bd36cb2eaeba521092570769167acbb95c18d39afdccbcca06c5ce + languageName: node + linkType: hard + +"jiti@npm:^1.21.7": + version: 1.21.7 + resolution: "jiti@npm:1.21.7" + bin: + jiti: bin/jiti.js + checksum: 10c0/77b61989c758ff32407cdae8ddc77f85e18e1a13fc4977110dbd2e05fc761842f5f71bce684d9a01316e1c4263971315a111385759951080bbfe17cbb5de8f7a + languageName: node + linkType: hard + +"js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0": + version: 4.0.0 + resolution: "js-tokens@npm:4.0.0" + checksum: 10c0/e248708d377aa058eacf2037b07ded847790e6de892bbad3dac0abba2e759cb9f121b00099a65195616badcb6eca8d14d975cb3e89eb1cfda644756402c8aeed + languageName: node + linkType: hard + +"js-tokens@npm:^9.0.1": + version: 9.0.1 + resolution: "js-tokens@npm:9.0.1" + checksum: 10c0/68dcab8f233dde211a6b5fd98079783cbcd04b53617c1250e3553ee16ab3e6134f5e65478e41d82f6d351a052a63d71024553933808570f04dbf828d7921e80e + languageName: node + linkType: hard + +"jsesc@npm:^3.0.2": + version: 3.1.0 + resolution: "jsesc@npm:3.1.0" + bin: + jsesc: bin/jsesc + checksum: 10c0/531779df5ec94f47e462da26b4cbf05eb88a83d9f08aac2ba04206508fc598527a153d08bd462bae82fc78b3eaa1a908e1a4a79f886e9238641c4cdefaf118b1 + languageName: node + linkType: hard + +"json-buffer@npm:3.0.1": + version: 3.0.1 + resolution: "json-buffer@npm:3.0.1" + checksum: 10c0/0d1c91569d9588e7eef2b49b59851f297f3ab93c7b35c7c221e288099322be6b562767d11e4821da500f3219542b9afd2e54c5dc573107c1126ed1080f8e96d7 + languageName: node + linkType: hard + +"json-stringify-safe@npm:^5.0.1": + version: 5.0.1 + resolution: "json-stringify-safe@npm:5.0.1" + checksum: 10c0/7dbf35cd0411d1d648dceb6d59ce5857ec939e52e4afc37601aa3da611f0987d5cee5b38d58329ceddf3ed48bd7215229c8d52059ab01f2444a338bf24ed0f37 + languageName: node + linkType: hard + +"json5@npm:^2.2.3": + version: 2.2.3 + resolution: "json5@npm:2.2.3" + bin: + json5: lib/cli.js + checksum: 10c0/5a04eed94810fa55c5ea138b2f7a5c12b97c3750bc63d11e511dcecbfef758003861522a070c2272764ee0f4e3e323862f386945aeb5b85b87ee43f084ba586c + languageName: node + linkType: hard + +"jsonfile@npm:^4.0.0": + version: 4.0.0 + resolution: "jsonfile@npm:4.0.0" + dependencies: + graceful-fs: "npm:^4.1.6" + dependenciesMeta: + graceful-fs: + optional: true + checksum: 10c0/7dc94b628d57a66b71fb1b79510d460d662eb975b5f876d723f81549c2e9cd316d58a2ddf742b2b93a4fa6b17b2accaf1a738a0e2ea114bdfb13a32e5377e480 + languageName: node + linkType: hard + +"keyv@npm:^4.0.0": + version: 4.5.4 + resolution: "keyv@npm:4.5.4" + dependencies: + json-buffer: "npm:3.0.1" + checksum: 10c0/aa52f3c5e18e16bb6324876bb8b59dd02acf782a4b789c7b2ae21107fab95fab3890ed448d4f8dba80ce05391eeac4bfabb4f02a20221342982f806fa2cf271e + languageName: node + linkType: hard + +"lilconfig@npm:^3.1.1, lilconfig@npm:^3.1.3": + version: 3.1.3 + resolution: "lilconfig@npm:3.1.3" + checksum: 10c0/f5604e7240c5c275743561442fbc5abf2a84ad94da0f5adc71d25e31fa8483048de3dcedcb7a44112a942fed305fd75841cdf6c9681c7f640c63f1049e9a5dcc + languageName: node + linkType: hard + +"lines-and-columns@npm:^1.1.6": + version: 1.2.4 + resolution: "lines-and-columns@npm:1.2.4" + checksum: 10c0/3da6ee62d4cd9f03f5dc90b4df2540fb85b352081bee77fe4bbcd12c9000ead7f35e0a38b8d09a9bb99b13223446dd8689ff3c4959807620726d788701a83d2d + languageName: node + linkType: hard + +"loose-envify@npm:^1.1.0": + version: 1.4.0 + resolution: "loose-envify@npm:1.4.0" + dependencies: + js-tokens: "npm:^3.0.0 || ^4.0.0" + bin: + loose-envify: cli.js + checksum: 10c0/655d110220983c1a4b9c0c679a2e8016d4b67f6e9c7b5435ff5979ecdb20d0813f4dec0a08674fcbdd4846a3f07edbb50a36811fd37930b94aaa0d9daceb017e + languageName: node + linkType: hard + +"loupe@npm:^3.1.0, loupe@npm:^3.1.4": + version: 3.2.1 + resolution: "loupe@npm:3.2.1" + checksum: 10c0/910c872cba291309664c2d094368d31a68907b6f5913e989d301b5c25f30e97d76d77f23ab3bf3b46d0f601ff0b6af8810c10c31b91d2c6b2f132809ca2cc705 + languageName: node + linkType: hard + +"lowercase-keys@npm:^2.0.0": + version: 2.0.0 + resolution: "lowercase-keys@npm:2.0.0" + checksum: 10c0/f82a2b3568910509da4b7906362efa40f5b54ea14c2584778ddb313226f9cbf21020a5db35f9b9a0e95847a9b781d548601f31793d736b22a2b8ae8eb9ab1082 + languageName: node + linkType: hard + +"lru-cache@npm:^5.1.1": + version: 5.1.1 + resolution: "lru-cache@npm:5.1.1" + dependencies: + yallist: "npm:^3.0.2" + checksum: 10c0/89b2ef2ef45f543011e38737b8a8622a2f8998cddf0e5437174ef8f1f70a8b9d14a918ab3e232cb3ba343b7abddffa667f0b59075b2b80e6b4d63c3de6127482 + languageName: node + linkType: hard + +"magic-string@npm:^0.30.17": + version: 0.30.21 + resolution: "magic-string@npm:0.30.21" + dependencies: + "@jridgewell/sourcemap-codec": "npm:^1.5.5" + checksum: 10c0/299378e38f9a270069fc62358522ddfb44e94244baa0d6a8980ab2a9b2490a1d03b236b447eee309e17eb3bddfa482c61259d47960eb018a904f0ded52780c4a + languageName: node + linkType: hard + +"matcher@npm:^3.0.0": + version: 3.0.0 + resolution: "matcher@npm:3.0.0" + dependencies: + escape-string-regexp: "npm:^4.0.0" + checksum: 10c0/2edf24194a2879690bcdb29985fc6bc0d003df44e04df21ebcac721fa6ce2f6201c579866bb92f9380bffe946f11ecd8cd31f34117fb67ebf8aca604918e127e + languageName: node + linkType: hard + +"merge2@npm:^1.3.0": + version: 1.4.1 + resolution: "merge2@npm:1.4.1" + checksum: 10c0/254a8a4605b58f450308fc474c82ac9a094848081bf4c06778200207820e5193726dc563a0d2c16468810516a5c97d9d3ea0ca6585d23c58ccfff2403e8dbbeb + languageName: node + linkType: hard + +"micromatch@npm:^4.0.8": + version: 4.0.8 + resolution: "micromatch@npm:4.0.8" + dependencies: + braces: "npm:^3.0.3" + picomatch: "npm:^2.3.1" + checksum: 10c0/166fa6eb926b9553f32ef81f5f531d27b4ce7da60e5baf8c021d043b27a388fb95e46a8038d5045877881e673f8134122b59624d5cecbd16eb50a42e7a6b5ca8 + languageName: node + linkType: hard + +"mimic-response@npm:^1.0.0": + version: 1.0.1 + resolution: "mimic-response@npm:1.0.1" + checksum: 10c0/c5381a5eae997f1c3b5e90ca7f209ed58c3615caeee850e85329c598f0c000ae7bec40196580eef1781c60c709f47258131dab237cad8786f8f56750594f27fa + languageName: node + linkType: hard + +"mimic-response@npm:^3.1.0": + version: 3.1.0 + resolution: "mimic-response@npm:3.1.0" + checksum: 10c0/0d6f07ce6e03e9e4445bee655202153bdb8a98d67ee8dc965ac140900d7a2688343e6b4c9a72cfc9ef2f7944dfd76eef4ab2482eb7b293a68b84916bac735362 + languageName: node + linkType: hard + +"minipass@npm:^7.0.4, minipass@npm:^7.1.2": + version: 7.1.3 + resolution: "minipass@npm:7.1.3" + checksum: 10c0/539da88daca16533211ea5a9ee98dc62ff5742f531f54640dd34429e621955e91cc280a91a776026264b7f9f6735947629f920944e9c1558369e8bf22eb33fbb + languageName: node + linkType: hard + +"minizlib@npm:^3.1.0": + version: 3.1.0 + resolution: "minizlib@npm:3.1.0" + dependencies: + minipass: "npm:^7.1.2" + checksum: 10c0/5aad75ab0090b8266069c9aabe582c021ae53eb33c6c691054a13a45db3b4f91a7fb1bd79151e6b4e9e9a86727b522527c0a06ec7d45206b745d54cd3097bcec + languageName: node + linkType: hard + +"ms@npm:^2.1.3": + version: 2.1.3 + resolution: "ms@npm:2.1.3" + checksum: 10c0/d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48 + languageName: node + linkType: hard + +"mz@npm:^2.7.0": + version: 2.7.0 + resolution: "mz@npm:2.7.0" + dependencies: + any-promise: "npm:^1.0.0" + object-assign: "npm:^4.0.1" + thenify-all: "npm:^1.0.0" + checksum: 10c0/103114e93f87362f0b56ab5b2e7245051ad0276b646e3902c98397d18bb8f4a77f2ea4a2c9d3ad516034ea3a56553b60d3f5f78220001ca4c404bd711bd0af39 + languageName: node + linkType: hard + +"nanoid@npm:^3.3.12": + version: 3.3.15 + resolution: "nanoid@npm:3.3.15" + bin: + nanoid: bin/nanoid.cjs + checksum: 10c0/e0b12e3a1d361f74150fa4b25631d0ae29f7162dab01a12f0f1be1f53b7a2a219f9b729504e474d4821207d0fe349bd3c97569ab5cf7ec2fff6aa94711956c93 + languageName: node + linkType: hard + +"node-gyp@npm:latest": + version: 13.0.1 + resolution: "node-gyp@npm:13.0.1" + dependencies: + env-paths: "npm:^2.2.0" + exponential-backoff: "npm:^3.1.1" + graceful-fs: "npm:^4.2.6" + nopt: "npm:^10.0.0" + proc-log: "npm:^7.0.0" + semver: "npm:^7.3.5" + tar: "npm:^7.5.4" + tinyglobby: "npm:^0.2.12" + undici: "npm:^8.4.1" + which: "npm:^7.0.0" + bin: + node-gyp: bin/node-gyp.js + checksum: 10c0/424077bc9e9bbe953a8e86db473ba818cbc6a121714008c977fd589e21e5f0c811fbf22faac730dc7182450b5e52df301811d01ae3373898658d999b7710f4e6 + languageName: node + linkType: hard + +"node-releases@npm:^2.0.50": + version: 2.0.50 + resolution: "node-releases@npm:2.0.50" + checksum: 10c0/ac75ed433864114cfd9862034960bb4f49838343dc9fc31dc7d5be8189ce5f39510ad0bb3a697efe3193d50ab6921e7a3a6ce3aae2a6f8abe62719ffd40a4cac + languageName: node + linkType: hard + +"nopt@npm:^10.0.0": + version: 10.0.1 + resolution: "nopt@npm:10.0.1" + dependencies: + abbrev: "npm:^5.0.0" + bin: + nopt: bin/nopt.js + checksum: 10c0/980d89257f9587f3e1f77877ddbf905d6aa3b738ec33e49a4fa1a059a0dd82eb28063982b150654a7ae9de386f2ead60e56172db7d37cf56de545f7392a2a26a + languageName: node + linkType: hard + +"normalize-path@npm:^3.0.0, normalize-path@npm:~3.0.0": + version: 3.0.0 + resolution: "normalize-path@npm:3.0.0" + checksum: 10c0/e008c8142bcc335b5e38cf0d63cfd39d6cf2d97480af9abdbe9a439221fd4d749763bab492a8ee708ce7a194bb00c9da6d0a115018672310850489137b3da046 + languageName: node + linkType: hard + +"normalize-url@npm:^6.0.1": + version: 6.1.0 + resolution: "normalize-url@npm:6.1.0" + checksum: 10c0/95d948f9bdd2cfde91aa786d1816ae40f8262946e13700bf6628105994fe0ff361662c20af3961161c38a119dc977adeb41fc0b41b1745eb77edaaf9cb22db23 + languageName: node + linkType: hard + +"object-assign@npm:^4.0.1": + version: 4.1.1 + resolution: "object-assign@npm:4.1.1" + checksum: 10c0/1f4df9945120325d041ccf7b86f31e8bcc14e73d29171e37a7903050e96b81323784ec59f93f102ec635bcf6fa8034ba3ea0a8c7e69fa202b87ae3b6cec5a414 + languageName: node + linkType: hard + +"object-hash@npm:^3.0.0": + version: 3.0.0 + resolution: "object-hash@npm:3.0.0" + checksum: 10c0/a06844537107b960c1c8b96cd2ac8592a265186bfa0f6ccafe0d34eabdb526f6fa81da1f37c43df7ed13b12a4ae3457a16071603bcd39d8beddb5f08c37b0f47 + languageName: node + linkType: hard + +"object-keys@npm:^1.1.1": + version: 1.1.1 + resolution: "object-keys@npm:1.1.1" + checksum: 10c0/b11f7ccdbc6d406d1f186cdadb9d54738e347b2692a14439ca5ac70c225fa6db46db809711b78589866d47b25fc3e8dee0b4c722ac751e11180f9380e3d8601d + languageName: node + linkType: hard + +"once@npm:^1.3.1, once@npm:^1.4.0": + version: 1.4.0 + resolution: "once@npm:1.4.0" + dependencies: + wrappy: "npm:1" + checksum: 10c0/5d48aca287dfefabd756621c5dfce5c91a549a93e9fdb7b8246bc4c4790aa2ec17b34a260530474635147aeb631a2dcc8b32c613df0675f96041cbb8244517d0 + languageName: node + linkType: hard + +"p-cancelable@npm:^2.0.0": + version: 2.1.1 + resolution: "p-cancelable@npm:2.1.1" + checksum: 10c0/8c6dc1f8dd4154fd8b96a10e55a3a832684c4365fb9108056d89e79fbf21a2465027c04a59d0d797b5ffe10b54a61a32043af287d5c4860f1e996cbdbc847f01 + languageName: node + linkType: hard + +"path-parse@npm:^1.0.7": + version: 1.0.7 + resolution: "path-parse@npm:1.0.7" + checksum: 10c0/11ce261f9d294cc7a58d6a574b7f1b935842355ec66fba3c3fd79e0f036462eaf07d0aa95bb74ff432f9afef97ce1926c720988c6a7451d8a584930ae7de86e1 + languageName: node + linkType: hard + +"pathe@npm:^2.0.3": + version: 2.0.3 + resolution: "pathe@npm:2.0.3" + checksum: 10c0/c118dc5a8b5c4166011b2b70608762e260085180bb9e33e80a50dcdb1e78c010b1624f4280c492c92b05fc276715a4c357d1f9edc570f8f1b3d90b6839ebaca1 + languageName: node + linkType: hard + +"pathval@npm:^2.0.0": + version: 2.0.1 + resolution: "pathval@npm:2.0.1" + checksum: 10c0/460f4709479fbf2c45903a65655fc8f0a5f6d808f989173aeef5fdea4ff4f303dc13f7870303999add60ec49d4c14733895c0a869392e9866f1091fa64fd7581 + languageName: node + linkType: hard + +"pend@npm:~1.2.0": + version: 1.2.0 + resolution: "pend@npm:1.2.0" + checksum: 10c0/8a87e63f7a4afcfb0f9f77b39bb92374afc723418b9cb716ee4257689224171002e07768eeade4ecd0e86f1fa3d8f022994219fb45634f2dbd78c6803e452458 + languageName: node + linkType: hard + +"picocolors@npm:^1.1.1": + version: 1.1.1 + resolution: "picocolors@npm:1.1.1" + checksum: 10c0/e2e3e8170ab9d7c7421969adaa7e1b31434f789afb9b3f115f6b96d91945041ac3ceb02e9ec6fe6510ff036bcc0bf91e69a1772edc0b707e12b19c0f2d6bcf58 + languageName: node + linkType: hard + +"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.3.1": + version: 2.3.2 + resolution: "picomatch@npm:2.3.2" + checksum: 10c0/a554d1709e59be97d1acb9eaedbbc700a5c03dbd4579807baed95100b00420bc729335440ef15004ae2378984e2487a7c1cebd743cfdb72b6fa9ab69223c0d61 + languageName: node + linkType: hard + +"picomatch@npm:^4.0.2, picomatch@npm:^4.0.3, picomatch@npm:^4.0.4": + version: 4.0.5 + resolution: "picomatch@npm:4.0.5" + checksum: 10c0/947bc6b6e1ff1e6c5aaf95b107a0839d12802f4f7b867663f67d47accba939ca1cb582cf99dfc30438efa1c4648ac5990967e783e8929c36b03e8440704ef1bd + languageName: node + linkType: hard + +"pify@npm:^2.3.0": + version: 2.3.0 + resolution: "pify@npm:2.3.0" + checksum: 10c0/551ff8ab830b1052633f59cb8adc9ae8407a436e06b4a9718bcb27dc5844b83d535c3a8512b388b6062af65a98c49bdc0dd523d8b2617b188f7c8fee457158dc + languageName: node + linkType: hard + +"pirates@npm:^4.0.1": + version: 4.0.7 + resolution: "pirates@npm:4.0.7" + checksum: 10c0/a51f108dd811beb779d58a76864bbd49e239fa40c7984cd11596c75a121a8cc789f1c8971d8bb15f0dbf9d48b76c05bb62fcbce840f89b688c0fa64b37e8478a + languageName: node + linkType: hard + +"postcss-import@npm:^15.1.0": + version: 15.1.0 + resolution: "postcss-import@npm:15.1.0" + dependencies: + postcss-value-parser: "npm:^4.0.0" + read-cache: "npm:^1.0.0" + resolve: "npm:^1.1.7" + peerDependencies: + postcss: ^8.0.0 + checksum: 10c0/518aee5c83ea6940e890b0be675a2588db68b2582319f48c3b4e06535a50ea6ee45f7e63e4309f8754473245c47a0372632378d1d73d901310f295a92f26f17b + languageName: node + linkType: hard + +"postcss-js@npm:^4.0.1": + version: 4.1.0 + resolution: "postcss-js@npm:4.1.0" + dependencies: + camelcase-css: "npm:^2.0.1" + peerDependencies: + postcss: ^8.4.21 + checksum: 10c0/a3cf6e725f3e9ecd7209732f8844a0063a1380b718ccbcf93832b6ec2cd7e63ff70dd2fed49eb2483c7482296860a0f7badd3115b5d0fa05ea648eb6d9dfc9c6 + languageName: node + linkType: hard + +"postcss-load-config@npm:^4.0.2 || ^5.0 || ^6.0": + version: 6.0.1 + resolution: "postcss-load-config@npm:6.0.1" + dependencies: + lilconfig: "npm:^3.1.1" + peerDependencies: + jiti: ">=1.21.0" + postcss: ">=8.0.9" + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + jiti: + optional: true + postcss: + optional: true + tsx: + optional: true + yaml: + optional: true + checksum: 10c0/74173a58816dac84e44853f7afbd283f4ef13ca0b6baeba27701214beec33f9e309b128f8102e2b173e8d45ecba45d279a9be94b46bf48d219626aa9b5730848 + languageName: node + linkType: hard + +"postcss-nested@npm:^6.2.0": + version: 6.2.0 + resolution: "postcss-nested@npm:6.2.0" + dependencies: + postcss-selector-parser: "npm:^6.1.1" + peerDependencies: + postcss: ^8.2.14 + checksum: 10c0/7f9c3f2d764191a39364cbdcec350f26a312431a569c9ef17408021424726b0d67995ff5288405e3724bb7152a4c92f73c027e580ec91e798800ed3c52e2bc6e + languageName: node + linkType: hard + +"postcss-selector-parser@npm:^6.1.1, postcss-selector-parser@npm:^6.1.2": + version: 6.1.4 + resolution: "postcss-selector-parser@npm:6.1.4" + dependencies: + cssesc: "npm:^3.0.0" + util-deprecate: "npm:^1.0.2" + checksum: 10c0/996f3290dee08ecb073d5f396d1134e619494cfd83140aec07a29618ee1e76d370769a8959d4c0cfefb24aa96dcffa4e7c4937dd881e03b735d50cba959ceb19 + languageName: node + linkType: hard + +"postcss-value-parser@npm:^4.0.0, postcss-value-parser@npm:^4.2.0": + version: 4.2.0 + resolution: "postcss-value-parser@npm:4.2.0" + checksum: 10c0/f4142a4f56565f77c1831168e04e3effd9ffcc5aebaf0f538eee4b2d465adfd4b85a44257bb48418202a63806a7da7fe9f56c330aebb3cac898e46b4cbf49161 + languageName: node + linkType: hard + +"postcss@npm:^8.4.47, postcss@npm:^8.5.1, postcss@npm:^8.5.3, postcss@npm:^8.5.6": + version: 8.5.16 + resolution: "postcss@npm:8.5.16" + dependencies: + nanoid: "npm:^3.3.12" + picocolors: "npm:^1.1.1" + source-map-js: "npm:^1.2.1" + checksum: 10c0/625de7a02f662f3a340964d14b487bd5097adf16f5f171e257d19005ba37aea8768ee446557500e88e91ca46b4d14d6cb4a0bf033c6ec0c8c0b660d85719f1ef + languageName: node + linkType: hard + +"proc-log@npm:^7.0.0": + version: 7.0.0 + resolution: "proc-log@npm:7.0.0" + checksum: 10c0/b89c2d862604f35fec795477b0c7e376feab3ba0d4f4d291c4e959567442697cf451ac557d0623c1cc38af45a78128b983410f397a10c5d3a67f76c33de4754b + languageName: node + linkType: hard + +"progress@npm:^2.0.3": + version: 2.0.3 + resolution: "progress@npm:2.0.3" + checksum: 10c0/1697e07cb1068055dbe9fe858d242368ff5d2073639e652b75a7eb1f2a1a8d4afd404d719de23c7b48481a6aa0040686310e2dac2f53d776daa2176d3f96369c + languageName: node + linkType: hard + +"pump@npm:^3.0.0": + version: 3.0.4 + resolution: "pump@npm:3.0.4" + dependencies: + end-of-stream: "npm:^1.1.0" + once: "npm:^1.3.1" + checksum: 10c0/2780e66b5471c19e3e3e1063b84f3f6a3a08367f24c5ed552f98cd5901e6ada27c7ad6495d4244f553fd03b01884a4561933064f053f47c8994d84fd352768ea + languageName: node + linkType: hard + +"queue-microtask@npm:^1.2.2": + version: 1.2.3 + resolution: "queue-microtask@npm:1.2.3" + checksum: 10c0/900a93d3cdae3acd7d16f642c29a642aea32c2026446151f0778c62ac089d4b8e6c986811076e1ae180a694cedf077d453a11b58ff0a865629a4f82ab558e102 + languageName: node + linkType: hard + +"quick-lru@npm:^5.1.1": + version: 5.1.1 + resolution: "quick-lru@npm:5.1.1" + checksum: 10c0/a24cba5da8cec30d70d2484be37622580f64765fb6390a928b17f60cd69e8dbd32a954b3ff9176fa1b86d86ff2ba05252fae55dc4d40d0291c60412b0ad096da + languageName: node + linkType: hard + +"react-dom@npm:^18.3.1": + version: 18.3.1 + resolution: "react-dom@npm:18.3.1" + dependencies: + loose-envify: "npm:^1.1.0" + scheduler: "npm:^0.23.2" + peerDependencies: + react: ^18.3.1 + checksum: 10c0/a752496c1941f958f2e8ac56239172296fcddce1365ce45222d04a1947e0cc5547df3e8447f855a81d6d39f008d7c32eab43db3712077f09e3f67c4874973e85 + languageName: node + linkType: hard + +"react-refresh@npm:^0.17.0": + version: 0.17.0 + resolution: "react-refresh@npm:0.17.0" + checksum: 10c0/002cba940384c9930008c0bce26cac97a9d5682bc623112c2268ba0c155127d9c178a9a5cc2212d560088d60dfd503edd808669a25f9b377f316a32361d0b23c + languageName: node + linkType: hard + +"react@npm:^18.3.1": + version: 18.3.1 + resolution: "react@npm:18.3.1" + dependencies: + loose-envify: "npm:^1.1.0" + checksum: 10c0/283e8c5efcf37802c9d1ce767f302dd569dd97a70d9bb8c7be79a789b9902451e0d16334b05d73299b20f048cbc3c7d288bbbde10b701fa194e2089c237dbea3 + languageName: node + linkType: hard + +"read-cache@npm:^1.0.0": + version: 1.0.0 + resolution: "read-cache@npm:1.0.0" + dependencies: + pify: "npm:^2.3.0" + checksum: 10c0/90cb2750213c7dd7c80cb420654344a311fdec12944e81eb912cd82f1bc92aea21885fa6ce442e3336d9fccd663b8a7a19c46d9698e6ca55620848ab932da814 + languageName: node + linkType: hard + +"readdirp@npm:~3.6.0": + version: 3.6.0 + resolution: "readdirp@npm:3.6.0" + dependencies: + picomatch: "npm:^2.2.1" + checksum: 10c0/6fa848cf63d1b82ab4e985f4cf72bd55b7dcfd8e0a376905804e48c3634b7e749170940ba77b32804d5fe93b3cc521aa95a8d7e7d725f830da6d93f3669ce66b + languageName: node + linkType: hard + +"resolve-alpn@npm:^1.0.0": + version: 1.2.1 + resolution: "resolve-alpn@npm:1.2.1" + checksum: 10c0/b70b29c1843bc39781ef946c8cd4482e6d425976599c0f9c138cec8209e4e0736161bf39319b01676a847000085dfdaf63583c6fb4427bf751a10635bd2aa0c4 + languageName: node + linkType: hard + +"resolve@npm:^1.1.7, resolve@npm:^1.22.8": + version: 1.22.12 + resolution: "resolve@npm:1.22.12" + dependencies: + es-errors: "npm:^1.3.0" + is-core-module: "npm:^2.16.1" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 10c0/b16dc9b537c02e8c3388f7d3dcff9741d3071625f9a97ac1c885f2b0ca51e78df22328fb6d6ef214dd9101fb7cfc19aa2836fe3410402a94f3f7b8639c7149bf + languageName: node + linkType: hard + +"resolve@patch:resolve@npm%3A^1.1.7#optional!builtin, resolve@patch:resolve@npm%3A^1.22.8#optional!builtin": + version: 1.22.12 + resolution: "resolve@patch:resolve@npm%3A1.22.12#optional!builtin::version=1.22.12&hash=c3c19d" + dependencies: + es-errors: "npm:^1.3.0" + is-core-module: "npm:^2.16.1" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 10c0/fc6519984ae1f894d877c0060ba8b1f5ba3bc0e85a02f74e141929c118c23d74d9735619a9cc2965397387e514884245c65d72a40731dcb6cfc84c7bcdc8321e + languageName: node + linkType: hard + +"responselike@npm:^2.0.0": + version: 2.0.1 + resolution: "responselike@npm:2.0.1" + dependencies: + lowercase-keys: "npm:^2.0.0" + checksum: 10c0/360b6deb5f101a9f8a4174f7837c523c3ec78b7ca8a7c1d45a1062b303659308a23757e318b1e91ed8684ad1205721142dd664d94771cd63499353fd4ee732b5 + languageName: node + linkType: hard + +"reusify@npm:^1.0.4": + version: 1.1.0 + resolution: "reusify@npm:1.1.0" + checksum: 10c0/4eff0d4a5f9383566c7d7ec437b671cc51b25963bd61bf127c3f3d3f68e44a026d99b8d2f1ad344afff8d278a8fe70a8ea092650a716d22287e8bef7126bb2fa + languageName: node + linkType: hard + +"roarr@npm:^2.15.3": + version: 2.15.4 + resolution: "roarr@npm:2.15.4" + dependencies: + boolean: "npm:^3.0.1" + detect-node: "npm:^2.0.4" + globalthis: "npm:^1.0.1" + json-stringify-safe: "npm:^5.0.1" + semver-compare: "npm:^1.0.0" + sprintf-js: "npm:^1.1.2" + checksum: 10c0/7d01d4c14513c461778dd673a8f9e53255221f8d04173aafeb8e11b23d8b659bb83f1c90cfe81af7f9c213b8084b404b918108fd792bda76678f555340cc64ec + languageName: node + linkType: hard + +"rollup@npm:^4.34.9, rollup@npm:^4.43.0": + version: 4.62.2 + resolution: "rollup@npm:4.62.2" + dependencies: + "@rollup/rollup-android-arm-eabi": "npm:4.62.2" + "@rollup/rollup-android-arm64": "npm:4.62.2" + "@rollup/rollup-darwin-arm64": "npm:4.62.2" + "@rollup/rollup-darwin-x64": "npm:4.62.2" + "@rollup/rollup-freebsd-arm64": "npm:4.62.2" + "@rollup/rollup-freebsd-x64": "npm:4.62.2" + "@rollup/rollup-linux-arm-gnueabihf": "npm:4.62.2" + "@rollup/rollup-linux-arm-musleabihf": "npm:4.62.2" + "@rollup/rollup-linux-arm64-gnu": "npm:4.62.2" + "@rollup/rollup-linux-arm64-musl": "npm:4.62.2" + "@rollup/rollup-linux-loong64-gnu": "npm:4.62.2" + "@rollup/rollup-linux-loong64-musl": "npm:4.62.2" + "@rollup/rollup-linux-ppc64-gnu": "npm:4.62.2" + "@rollup/rollup-linux-ppc64-musl": "npm:4.62.2" + "@rollup/rollup-linux-riscv64-gnu": "npm:4.62.2" + "@rollup/rollup-linux-riscv64-musl": "npm:4.62.2" + "@rollup/rollup-linux-s390x-gnu": "npm:4.62.2" + "@rollup/rollup-linux-x64-gnu": "npm:4.62.2" + "@rollup/rollup-linux-x64-musl": "npm:4.62.2" + "@rollup/rollup-openbsd-x64": "npm:4.62.2" + "@rollup/rollup-openharmony-arm64": "npm:4.62.2" + "@rollup/rollup-win32-arm64-msvc": "npm:4.62.2" + "@rollup/rollup-win32-ia32-msvc": "npm:4.62.2" + "@rollup/rollup-win32-x64-gnu": "npm:4.62.2" + "@rollup/rollup-win32-x64-msvc": "npm:4.62.2" + "@types/estree": "npm:1.0.9" + fsevents: "npm:~2.3.2" + dependenciesMeta: + "@rollup/rollup-android-arm-eabi": + optional: true + "@rollup/rollup-android-arm64": + optional: true + "@rollup/rollup-darwin-arm64": + optional: true + "@rollup/rollup-darwin-x64": + optional: true + "@rollup/rollup-freebsd-arm64": + optional: true + "@rollup/rollup-freebsd-x64": + optional: true + "@rollup/rollup-linux-arm-gnueabihf": + optional: true + "@rollup/rollup-linux-arm-musleabihf": + optional: true + "@rollup/rollup-linux-arm64-gnu": + optional: true + "@rollup/rollup-linux-arm64-musl": + optional: true + "@rollup/rollup-linux-loong64-gnu": + optional: true + "@rollup/rollup-linux-loong64-musl": + optional: true + "@rollup/rollup-linux-ppc64-gnu": + optional: true + "@rollup/rollup-linux-ppc64-musl": + optional: true + "@rollup/rollup-linux-riscv64-gnu": + optional: true + "@rollup/rollup-linux-riscv64-musl": + optional: true + "@rollup/rollup-linux-s390x-gnu": + optional: true + "@rollup/rollup-linux-x64-gnu": + optional: true + "@rollup/rollup-linux-x64-musl": + optional: true + "@rollup/rollup-openbsd-x64": + optional: true + "@rollup/rollup-openharmony-arm64": + optional: true + "@rollup/rollup-win32-arm64-msvc": + optional: true + "@rollup/rollup-win32-ia32-msvc": + optional: true + "@rollup/rollup-win32-x64-gnu": + optional: true + "@rollup/rollup-win32-x64-msvc": + optional: true + fsevents: + optional: true + bin: + rollup: dist/bin/rollup + checksum: 10c0/83ff5f4a1fea3fa05db2ef56beceee8c33d4a72b818e19c562f1e85c41076fe5b12aadc44048bb73e60b83336df82154b017fa6bf0186f3141643e6f215fbdcb + languageName: node + linkType: hard + +"run-parallel@npm:^1.1.9": + version: 1.2.0 + resolution: "run-parallel@npm:1.2.0" + dependencies: + queue-microtask: "npm:^1.2.2" + checksum: 10c0/200b5ab25b5b8b7113f9901bfe3afc347e19bb7475b267d55ad0eb86a62a46d77510cb0f232507c9e5d497ebda569a08a9867d0d14f57a82ad5564d991588b39 + languageName: node + linkType: hard + +"scheduler@npm:^0.23.2": + version: 0.23.2 + resolution: "scheduler@npm:0.23.2" + dependencies: + loose-envify: "npm:^1.1.0" + checksum: 10c0/26383305e249651d4c58e6705d5f8425f153211aef95f15161c151f7b8de885f24751b377e4a0b3dd42cce09aad3f87a61dab7636859c0d89b7daf1a1e2a5c78 + languageName: node + linkType: hard + +"semver-compare@npm:^1.0.0": + version: 1.0.0 + resolution: "semver-compare@npm:1.0.0" + checksum: 10c0/9ef4d8b81847556f0865f46ddc4d276bace118c7cb46811867af82e837b7fc473911981d5a0abc561fa2db487065572217e5b06e18701c4281bcdd2a1affaff1 + languageName: node + linkType: hard + +"semver@npm:^6.2.0, semver@npm:^6.3.1": + version: 6.3.1 + resolution: "semver@npm:6.3.1" + bin: + semver: bin/semver.js + checksum: 10c0/e3d79b609071caa78bcb6ce2ad81c7966a46a7431d9d58b8800cfa9cb6a63699b3899a0e4bcce36167a284578212d9ae6942b6929ba4aa5015c079a67751d42d + languageName: node + linkType: hard + +"semver@npm:^7.3.2, semver@npm:^7.3.5": + version: 7.8.5 + resolution: "semver@npm:7.8.5" + bin: + semver: bin/semver.js + checksum: 10c0/b1f3127a5be8125a94f37188b361c212466c292c6910adce3ec106cff5dc211ccaedc4739c11bb70fda59d6fc1f040a9bca289f4e093451521a2372e5231fe0c + languageName: node + linkType: hard + +"serialize-error@npm:^7.0.1": + version: 7.0.1 + resolution: "serialize-error@npm:7.0.1" + dependencies: + type-fest: "npm:^0.13.1" + checksum: 10c0/7982937d578cd901276c8ab3e2c6ed8a4c174137730f1fb0402d005af209a0e84d04acc874e317c936724c7b5b26c7a96ff7e4b8d11a469f4924a4b0ea814c05 + languageName: node + linkType: hard + +"siginfo@npm:^2.0.0": + version: 2.0.0 + resolution: "siginfo@npm:2.0.0" + checksum: 10c0/3def8f8e516fbb34cb6ae415b07ccc5d9c018d85b4b8611e3dc6f8be6d1899f693a4382913c9ed51a06babb5201639d76453ab297d1c54a456544acf5c892e34 + languageName: node + linkType: hard + +"source-map-js@npm:^1.2.1": + version: 1.2.1 + resolution: "source-map-js@npm:1.2.1" + checksum: 10c0/7bda1fc4c197e3c6ff17de1b8b2c20e60af81b63a52cb32ec5a5d67a20a7d42651e2cb34ebe93833c5a2a084377e17455854fee3e21e7925c64a51b6a52b0faf + languageName: node + linkType: hard + +"sprintf-js@npm:^1.1.2": + version: 1.1.3 + resolution: "sprintf-js@npm:1.1.3" + checksum: 10c0/09270dc4f30d479e666aee820eacd9e464215cdff53848b443964202bf4051490538e5dd1b42e1a65cf7296916ca17640aebf63dae9812749c7542ee5f288dec + languageName: node + linkType: hard + +"stackback@npm:0.0.2": + version: 0.0.2 + resolution: "stackback@npm:0.0.2" + checksum: 10c0/89a1416668f950236dd5ac9f9a6b2588e1b9b62b1b6ad8dff1bfc5d1a15dbf0aafc9b52d2226d00c28dffff212da464eaeebfc6b7578b9d180cef3e3782c5983 + languageName: node + linkType: hard + +"std-env@npm:^3.9.0": + version: 3.10.0 + resolution: "std-env@npm:3.10.0" + checksum: 10c0/1814927a45004d36dde6707eaf17552a546769bc79a6421be2c16ce77d238158dfe5de30910b78ec30d95135cc1c59ea73ee22d2ca170f8b9753f84da34c427f + languageName: node + linkType: hard + +"strip-literal@npm:^3.0.0": + version: 3.1.0 + resolution: "strip-literal@npm:3.1.0" + dependencies: + js-tokens: "npm:^9.0.1" + checksum: 10c0/50918f669915d9ad0fe4b7599902b735f853f2201c97791ead00104a654259c0c61bc2bc8fa3db05109339b61f4cf09e47b94ecc874ffbd0e013965223893af8 + languageName: node + linkType: hard + +"sucrase@npm:^3.35.0": + version: 3.35.1 + resolution: "sucrase@npm:3.35.1" + dependencies: + "@jridgewell/gen-mapping": "npm:^0.3.2" + commander: "npm:^4.0.0" + lines-and-columns: "npm:^1.1.6" + mz: "npm:^2.7.0" + pirates: "npm:^4.0.1" + tinyglobby: "npm:^0.2.11" + ts-interface-checker: "npm:^0.1.9" + bin: + sucrase: bin/sucrase + sucrase-node: bin/sucrase-node + checksum: 10c0/6fa22329c261371feb9560630d961ad0d0b9c87dce21ea74557c5f3ffbe5c1ee970ea8bcce9962ae9c90c3c47165ffa7dd41865c7414f5d8ea7a40755d612c5c + languageName: node + linkType: hard + +"sumchecker@npm:^3.0.1": + version: 3.0.1 + resolution: "sumchecker@npm:3.0.1" + dependencies: + debug: "npm:^4.1.0" + checksum: 10c0/43c387be9dfe22dbeaf39dfa4ffb279847aeb37a42a8988c0b066f548bbd209aa8c65e03da29f2b29be1a66b577801bf89fff0007df4183db2f286263a9569e5 + languageName: node + linkType: hard + +"supports-preserve-symlinks-flag@npm:^1.0.0": + version: 1.0.0 + resolution: "supports-preserve-symlinks-flag@npm:1.0.0" + checksum: 10c0/6c4032340701a9950865f7ae8ef38578d8d7053f5e10518076e6554a9381fa91bd9c6850193695c141f32b21f979c985db07265a758867bac95de05f7d8aeb39 + languageName: node + linkType: hard + +"tailwindcss@npm:^3.4.17": + version: 3.4.19 + resolution: "tailwindcss@npm:3.4.19" + dependencies: + "@alloc/quick-lru": "npm:^5.2.0" + arg: "npm:^5.0.2" + chokidar: "npm:^3.6.0" + didyoumean: "npm:^1.2.2" + dlv: "npm:^1.1.3" + fast-glob: "npm:^3.3.2" + glob-parent: "npm:^6.0.2" + is-glob: "npm:^4.0.3" + jiti: "npm:^1.21.7" + lilconfig: "npm:^3.1.3" + micromatch: "npm:^4.0.8" + normalize-path: "npm:^3.0.0" + object-hash: "npm:^3.0.0" + picocolors: "npm:^1.1.1" + postcss: "npm:^8.4.47" + postcss-import: "npm:^15.1.0" + postcss-js: "npm:^4.0.1" + postcss-load-config: "npm:^4.0.2 || ^5.0 || ^6.0" + postcss-nested: "npm:^6.2.0" + postcss-selector-parser: "npm:^6.1.2" + resolve: "npm:^1.22.8" + sucrase: "npm:^3.35.0" + bin: + tailwind: lib/cli.js + tailwindcss: lib/cli.js + checksum: 10c0/e1063daccb9e5a508b357ec73b0011354204b2366b56496d6f0cc822733a55a0551502cb85856a2257ef9b676d0026616daaaa176d391f3216df57fbd693c581 + languageName: node + linkType: hard + +"tar@npm:^7.5.4": + version: 7.5.19 + resolution: "tar@npm:7.5.19" + dependencies: + "@isaacs/fs-minipass": "npm:^4.0.0" + chownr: "npm:^3.0.0" + minipass: "npm:^7.1.2" + minizlib: "npm:^3.1.0" + yallist: "npm:^5.0.0" + checksum: 10c0/7022e8cb04a8ceccc0689f2c731743fa2aab2e3c3f559f7dbc37b65ef7d5913049b427284eded2ec0765c5db5ff72dd7939fe2ae15785ff422cef2116c95d798 + languageName: node + linkType: hard + +"thenify-all@npm:^1.0.0": + version: 1.6.0 + resolution: "thenify-all@npm:1.6.0" + dependencies: + thenify: "npm:>= 3.1.0 < 4" + checksum: 10c0/9b896a22735e8122754fe70f1d65f7ee691c1d70b1f116fda04fea103d0f9b356e3676cb789506e3909ae0486a79a476e4914b0f92472c2e093d206aed4b7d6b + languageName: node + linkType: hard + +"thenify@npm:>= 3.1.0 < 4": + version: 3.3.1 + resolution: "thenify@npm:3.3.1" + dependencies: + any-promise: "npm:^1.0.0" + checksum: 10c0/f375aeb2b05c100a456a30bc3ed07ef03a39cbdefe02e0403fb714b8c7e57eeaad1a2f5c4ecfb9ce554ce3db9c2b024eba144843cd9e344566d9fcee73b04767 + languageName: node + linkType: hard + +"tinybench@npm:^2.9.0": + version: 2.9.0 + resolution: "tinybench@npm:2.9.0" + checksum: 10c0/c3500b0f60d2eb8db65250afe750b66d51623057ee88720b7f064894a6cb7eb93360ca824a60a31ab16dab30c7b1f06efe0795b352e37914a9d4bad86386a20c + languageName: node + linkType: hard + +"tinyexec@npm:^0.3.2": + version: 0.3.2 + resolution: "tinyexec@npm:0.3.2" + checksum: 10c0/3efbf791a911be0bf0821eab37a3445c2ba07acc1522b1fa84ae1e55f10425076f1290f680286345ed919549ad67527d07281f1c19d584df3b74326909eb1f90 + languageName: node + linkType: hard + +"tinyglobby@npm:^0.2.11, tinyglobby@npm:^0.2.12, tinyglobby@npm:^0.2.13, tinyglobby@npm:^0.2.14, tinyglobby@npm:^0.2.15": + version: 0.2.17 + resolution: "tinyglobby@npm:0.2.17" + dependencies: + fdir: "npm:^6.5.0" + picomatch: "npm:^4.0.4" + checksum: 10c0/7f7bb0f197c88bc4b20c231e0deca4240ca3bf313a88f5a7fee93a872b84966a4d50220947c0455ad07a60b3b360961c5b7fd979222aeb716a9f99b412002e4c + languageName: node + linkType: hard + +"tinypool@npm:^1.1.1": + version: 1.1.1 + resolution: "tinypool@npm:1.1.1" + checksum: 10c0/bf26727d01443061b04fa863f571016950888ea994ba0cd8cba3a1c51e2458d84574341ab8dbc3664f1c3ab20885c8cf9ff1cc4b18201f04c2cde7d317fff69b + languageName: node + linkType: hard + +"tinyrainbow@npm:^2.0.0": + version: 2.0.0 + resolution: "tinyrainbow@npm:2.0.0" + checksum: 10c0/c83c52bef4e0ae7fb8ec6a722f70b5b6fa8d8be1c85792e829f56c0e1be94ab70b293c032dc5048d4d37cfe678f1f5babb04bdc65fd123098800148ca989184f + languageName: node + linkType: hard + +"tinyspy@npm:^4.0.3": + version: 4.0.4 + resolution: "tinyspy@npm:4.0.4" + checksum: 10c0/a8020fc17799251e06a8398dcc352601d2770aa91c556b9531ecd7a12581161fd1c14e81cbdaff0c1306c93bfdde8ff6d1c1a3f9bbe6d91604f0fd4e01e2f1eb + languageName: node + linkType: hard + +"to-regex-range@npm:^5.0.1": + version: 5.0.1 + resolution: "to-regex-range@npm:5.0.1" + dependencies: + is-number: "npm:^7.0.0" + checksum: 10c0/487988b0a19c654ff3e1961b87f471702e708fa8a8dd02a298ef16da7206692e8552a0250e8b3e8759270f62e9d8314616f6da274734d3b558b1fc7b7724e892 + languageName: node + linkType: hard + +"ts-interface-checker@npm:^0.1.9": + version: 0.1.13 + resolution: "ts-interface-checker@npm:0.1.13" + checksum: 10c0/232509f1b84192d07b81d1e9b9677088e590ac1303436da1e92b296e9be8e31ea042e3e1fd3d29b1742ad2c959e95afe30f63117b8f1bc3a3850070a5142fea7 + languageName: node + linkType: hard + +"type-fest@npm:^0.13.1": + version: 0.13.1 + resolution: "type-fest@npm:0.13.1" + checksum: 10c0/0c0fa07ae53d4e776cf4dac30d25ad799443e9eef9226f9fddbb69242db86b08584084a99885cfa5a9dfe4c063ebdc9aa7b69da348e735baede8d43f1aeae93b + languageName: node + linkType: hard + +"typescript@npm:^5.7.3": + version: 5.9.3 + resolution: "typescript@npm:5.9.3" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/6bd7552ce39f97e711db5aa048f6f9995b53f1c52f7d8667c1abdc1700c68a76a308f579cd309ce6b53646deb4e9a1be7c813a93baaf0a28ccd536a30270e1c5 + languageName: node + linkType: hard + +"typescript@patch:typescript@npm%3A^5.7.3#optional!builtin": + version: 5.9.3 + resolution: "typescript@patch:typescript@npm%3A5.9.3#optional!builtin::version=5.9.3&hash=8c6c40" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/6f7e53bf0d9702350deeb6f35e08b69cbc8b958c33e0ec77bdc0ad6a6c8e280f3959dcbfde6f5b0848bece57810696489deaaa53d75de3578ff255d168c1efbd + languageName: node + linkType: hard + +"undici-types@npm:~6.21.0": + version: 6.21.0 + resolution: "undici-types@npm:6.21.0" + checksum: 10c0/c01ed51829b10aa72fc3ce64b747f8e74ae9b60eafa19a7b46ef624403508a54c526ffab06a14a26b3120d055e1104d7abe7c9017e83ced038ea5cf52f8d5e04 + languageName: node + linkType: hard + +"undici-types@npm:~8.3.0": + version: 8.3.0 + resolution: "undici-types@npm:8.3.0" + checksum: 10c0/c8aa7e2fbebfce519654dafadc0ece59be888d2ccaf180fb4495da875e7b536d2456345c384069c7e6f3e9c9ab7435f074957da306f142343eee86ff8048855a + languageName: node + linkType: hard + +"undici@npm:^8.4.1": + version: 8.7.0 + resolution: "undici@npm:8.7.0" + checksum: 10c0/b7e5ecb4de82fa4f905011a77544fe7ba4da06f27167ff99313a7ae2869f3cb233d676dcd085533bc69f36989bc40871f5ae6ea6e4c9b91db92616b9e91b579d + languageName: node + linkType: hard + +"universalify@npm:^0.1.0": + version: 0.1.2 + resolution: "universalify@npm:0.1.2" + checksum: 10c0/e70e0339f6b36f34c9816f6bf9662372bd241714dc77508d231d08386d94f2c4aa1ba1318614f92015f40d45aae1b9075cd30bd490efbe39387b60a76ca3f045 + languageName: node + linkType: hard + +"update-browserslist-db@npm:^1.2.3": + version: 1.2.3 + resolution: "update-browserslist-db@npm:1.2.3" + dependencies: + escalade: "npm:^3.2.0" + picocolors: "npm:^1.1.1" + peerDependencies: + browserslist: ">= 4.21.0" + bin: + update-browserslist-db: cli.js + checksum: 10c0/13a00355ea822388f68af57410ce3255941d5fb9b7c49342c4709a07c9f230bbef7f7499ae0ca7e0de532e79a82cc0c4edbd125f1a323a1845bf914efddf8bec + languageName: node + linkType: hard + +"util-deprecate@npm:^1.0.2": + version: 1.0.2 + resolution: "util-deprecate@npm:1.0.2" + checksum: 10c0/41a5bdd214df2f6c3ecf8622745e4a366c4adced864bc3c833739791aeeeb1838119af7daed4ba36428114b5c67dcda034a79c882e97e43c03e66a4dd7389942 + languageName: node + linkType: hard + +"vite-node@npm:3.2.4": + version: 3.2.4 + resolution: "vite-node@npm:3.2.4" + dependencies: + cac: "npm:^6.7.14" + debug: "npm:^4.4.1" + es-module-lexer: "npm:^1.7.0" + pathe: "npm:^2.0.3" + vite: "npm:^5.0.0 || ^6.0.0 || ^7.0.0-0" + bin: + vite-node: vite-node.mjs + checksum: 10c0/6ceca67c002f8ef6397d58b9539f80f2b5d79e103a18367288b3f00a8ab55affa3d711d86d9112fce5a7fa658a212a087a005a045eb8f4758947dd99af2a6c6b + languageName: node + linkType: hard + +"vite@npm:^5.0.0 || ^6.0.0 || ^7.0.0-0": + version: 7.3.6 + resolution: "vite@npm:7.3.6" + dependencies: + esbuild: "npm:^0.27.0 || ^0.28.0" + fdir: "npm:^6.5.0" + fsevents: "npm:~2.3.3" + picomatch: "npm:^4.0.3" + postcss: "npm:^8.5.6" + rollup: "npm:^4.43.0" + tinyglobby: "npm:^0.2.15" + peerDependencies: + "@types/node": ^20.19.0 || >=22.12.0 + jiti: ">=1.21.0" + less: ^4.0.0 + lightningcss: ^1.21.0 + sass: ^1.70.0 + sass-embedded: ^1.70.0 + stylus: ">=0.54.8" + sugarss: ^5.0.0 + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + dependenciesMeta: + fsevents: + optional: true + peerDependenciesMeta: + "@types/node": + optional: true + jiti: + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true + bin: + vite: bin/vite.js + checksum: 10c0/c6d359f84ad362f5c97ff7988b77c90add04162c60cdf6059375a7d9e3217848c53a8cb6b6c48517bef84b6bba4c9bc85319a889b5236acb7d5a2bc8cb7b9a8d + languageName: node + linkType: hard + +"vite@npm:^6.1.0": + version: 6.4.3 + resolution: "vite@npm:6.4.3" + dependencies: + esbuild: "npm:^0.25.0" + fdir: "npm:^6.4.4" + fsevents: "npm:~2.3.3" + picomatch: "npm:^4.0.2" + postcss: "npm:^8.5.3" + rollup: "npm:^4.34.9" + tinyglobby: "npm:^0.2.13" + peerDependencies: + "@types/node": ^18.0.0 || ^20.0.0 || >=22.0.0 + jiti: ">=1.21.0" + less: "*" + lightningcss: ^1.21.0 + sass: "*" + sass-embedded: "*" + stylus: "*" + sugarss: "*" + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + dependenciesMeta: + fsevents: + optional: true + peerDependenciesMeta: + "@types/node": + optional: true + jiti: + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true + bin: + vite: bin/vite.js + checksum: 10c0/23ce22e50d5c7a87321f04b155c5bc3cf915e34e6c40918975741ed5e8b0c257039a643f1bc1cd829ee814ad92a138704e82084b7ebe40b399a62d8effea630c + languageName: node + linkType: hard + +"vitest@npm:^3.0.5": + version: 3.2.7 + resolution: "vitest@npm:3.2.7" + dependencies: + "@types/chai": "npm:^5.2.2" + "@vitest/expect": "npm:3.2.7" + "@vitest/mocker": "npm:3.2.7" + "@vitest/pretty-format": "npm:^3.2.7" + "@vitest/runner": "npm:3.2.7" + "@vitest/snapshot": "npm:3.2.7" + "@vitest/spy": "npm:3.2.7" + "@vitest/utils": "npm:3.2.7" + chai: "npm:^5.2.0" + debug: "npm:^4.4.1" + expect-type: "npm:^1.2.1" + magic-string: "npm:^0.30.17" + pathe: "npm:^2.0.3" + picomatch: "npm:^4.0.2" + std-env: "npm:^3.9.0" + tinybench: "npm:^2.9.0" + tinyexec: "npm:^0.3.2" + tinyglobby: "npm:^0.2.14" + tinypool: "npm:^1.1.1" + tinyrainbow: "npm:^2.0.0" + vite: "npm:^5.0.0 || ^6.0.0 || ^7.0.0-0" + vite-node: "npm:3.2.4" + why-is-node-running: "npm:^2.3.0" + peerDependencies: + "@edge-runtime/vm": "*" + "@types/debug": ^4.1.12 + "@types/node": ^18.0.0 || ^20.0.0 || >=22.0.0 + "@vitest/browser": 3.2.7 + "@vitest/ui": 3.2.7 + happy-dom: "*" + jsdom: "*" + peerDependenciesMeta: + "@edge-runtime/vm": + optional: true + "@types/debug": + optional: true + "@types/node": + optional: true + "@vitest/browser": + optional: true + "@vitest/ui": + optional: true + happy-dom: + optional: true + jsdom: + optional: true + bin: + vitest: ./vitest.mjs + checksum: 10c0/4eb7a63a1d62b88c425bcbc609835055a5644a1994d6f47605fe396dddf732e3c0277c9ec89a028fe81557dc4051dd15fc15b9eba6a51d1466cd5c682ddc1261 + languageName: node + linkType: hard + +"which@npm:^7.0.0": + version: 7.0.0 + resolution: "which@npm:7.0.0" + dependencies: + isexe: "npm:^4.0.0" + bin: + node-which: bin/which.js + checksum: 10c0/ca0b54f198f78bbc4b7c02e34bda8d335cb352e0adb4cbca1c37b1a957af3a879a82c4c27ca6525bc942f548d8b64f816ef6528360af9f3de55ffb9b979b620d + languageName: node + linkType: hard + +"why-is-node-running@npm:^2.3.0": + version: 2.3.0 + resolution: "why-is-node-running@npm:2.3.0" + dependencies: + siginfo: "npm:^2.0.0" + stackback: "npm:0.0.2" + bin: + why-is-node-running: cli.js + checksum: 10c0/1cde0b01b827d2cf4cb11db962f3958b9175d5d9e7ac7361d1a7b0e2dc6069a263e69118bd974c4f6d0a890ef4eedfe34cf3d5167ec14203dbc9a18620537054 + languageName: node + linkType: hard + +"wrappy@npm:1": + version: 1.0.2 + resolution: "wrappy@npm:1.0.2" + checksum: 10c0/56fece1a4018c6a6c8e28fbc88c87e0fbf4ea8fd64fc6c63b18f4acc4bd13e0ad2515189786dd2c30d3eec9663d70f4ecf699330002f8ccb547e4a18231fc9f0 + languageName: node + linkType: hard + +"yallist@npm:^3.0.2": + version: 3.1.1 + resolution: "yallist@npm:3.1.1" + checksum: 10c0/c66a5c46bc89af1625476f7f0f2ec3653c1a1791d2f9407cfb4c2ba812a1e1c9941416d71ba9719876530e3340a99925f697142989371b72d93b9ee628afd8c1 + languageName: node + linkType: hard + +"yallist@npm:^5.0.0": + version: 5.0.0 + resolution: "yallist@npm:5.0.0" + checksum: 10c0/a499c81ce6d4a1d260d4ea0f6d49ab4da09681e32c3f0472dee16667ed69d01dae63a3b81745a24bd78476ec4fcf856114cb4896ace738e01da34b2c42235416 + languageName: node + linkType: hard + +"yauzl@npm:^2.10.0": + version: 2.10.0 + resolution: "yauzl@npm:2.10.0" + dependencies: + buffer-crc32: "npm:~0.2.3" + fd-slicer: "npm:~1.1.0" + checksum: 10c0/f265002af7541b9ec3589a27f5fb8f11cf348b53cc15e2751272e3c062cd73f3e715bc72d43257de71bbaecae446c3f1b14af7559e8ab0261625375541816422 + languageName: node + linkType: hard