monoco-toolkit 0.1.1__tar.gz → 0.1.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/.github/workflows/publish-npm.yml +8 -8
- monoco_toolkit-0.1.3/.github/workflows/publish-vscode-extension.yml +67 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/.gitignore +1 -1
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Epics/open/EPIC-0009-cicd-/345/237/272/345/273/272.md +2 -2
- monoco_toolkit-0.1.3/Issues/Epics/open/EPIC-0010-agent-terminal-integration.md +68 -0
- monoco_toolkit-0.1.3/Issues/Epics/open/EPIC-0011-vscode-extension-integration.md +67 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Features/closed/FEAT-0019-/345/205/250/345/261/200/344/273/252/350/241/250/347/233/230.md +1 -1
- monoco_toolkit-0.1.3/Issues/Features/closed/FEAT-0056-toolkit-pty-service.md +73 -0
- monoco_toolkit-0.1.3/Issues/Features/closed/FEAT-0058-kanban-/345/210/206/345/217/221-npm.md +27 -0
- monoco_toolkit-0.1.3/Issues/Features/closed/FEAT-0063-optimize-vs-code-extension-ui.md +37 -0
- monoco_toolkit-0.1.3/Issues/Features/closed/FEAT-0064-smart-parent-selection.md +27 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Features/open/FEAT-0043-toolkit-/345/210/206/345/217/221/346/270/240/351/201/223/345/273/272/350/256/276.md +2 -2
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Features/open/FEAT-0052-kanban-/345/210/206/345/217/221-npm-npx.md +2 -2
- monoco_toolkit-0.1.3/Issues/Features/open/FEAT-0053-kanban-ui-/351/207/215/346/236/204/344/270/216/344/276/235/350/265/226/347/216/260/344/273/243/345/214/226.md +42 -0
- monoco_toolkit-0.1.3/Issues/Features/open/FEAT-0057-kanban-terminal-ui.md +73 -0
- monoco_toolkit-0.1.3/Issues/Features/open/FEAT-0059-vscode-extension-bridge.md +42 -0
- monoco_toolkit-0.1.3/Issues/Features/open/FEAT-0060-kanban-sidebar-ux.md +43 -0
- monoco_toolkit-0.1.3/Issues/Features/open/FEAT-0061-interactive-goto-definition.md +39 -0
- monoco_toolkit-0.1.3/Issues/Features/open/FEAT-0062-drag-and-drop-text.md +40 -0
- monoco_toolkit-0.1.3/Issues/Fixes/closed/FIX-0005-/344/277/256/345/244/215CLI/350/277/220/350/241/214/346/227/266/347/274/272/345/244/261httpx/344/276/235/350/265/226.md +50 -0
- monoco_toolkit-0.1.3/Issues/Fixes/closed/FIX-0006-polish-icons-and-layout.md +27 -0
- monoco_toolkit-0.1.3/Issues/Fixes/closed/FIX-0007-fix-add-button-event-propagation.md +27 -0
- monoco_toolkit-0.1.3/Issues/Fixes/closed/FIX-0008-enable-issue-creation-for-orphans.md +27 -0
- monoco_toolkit-0.1.3/Kanban/apps/webui/components.json +17 -0
- monoco_toolkit-0.1.3/Kanban/apps/webui/eslint.config.mjs +14 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/next-env.d.ts +1 -1
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/next.config.js +8 -2
- monoco_toolkit-0.1.3/Kanban/apps/webui/package.json +50 -0
- monoco_toolkit-0.1.3/Kanban/apps/webui/public/logo.svg +10 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/src/app/components/ActivityDrawer.tsx +1 -1
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/src/app/components/ActivityList.tsx +1 -1
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/src/app/components/AppNavbar.tsx +3 -3
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/src/app/components/CreateIssueDialog.tsx +1 -1
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/src/app/components/DaemonStatus.tsx +1 -1
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/src/app/components/IssueDetailModal.tsx +88 -78
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/src/app/components/IssueList.tsx +1 -1
- monoco_toolkit-0.1.3/Kanban/apps/webui/src/app/components/IssueMarkdown.tsx +121 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/src/app/components/KanbanCard.tsx +22 -7
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/src/app/components/KanbanColumn.tsx +6 -3
- monoco_toolkit-0.1.3/Kanban/apps/webui/src/app/components/LayoutShell.tsx +189 -0
- monoco_toolkit-0.1.3/Kanban/apps/webui/src/app/components/MergedPageHeader.tsx +64 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/src/app/components/ProjectEndpointBadge.tsx +2 -2
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/src/app/components/ProjectTreeSelector.tsx +2 -7
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/src/app/components/StatsBoard.tsx +40 -21
- monoco_toolkit-0.1.3/Kanban/apps/webui/src/app/components/StatusBar.tsx +155 -0
- monoco_toolkit-0.1.3/Kanban/apps/webui/src/app/contexts/BridgeContext.tsx +51 -0
- monoco_toolkit-0.1.3/Kanban/apps/webui/src/app/contexts/LayoutContext.tsx +42 -0
- monoco_toolkit-0.1.3/Kanban/apps/webui/src/app/contexts/TermContext.tsx +56 -0
- monoco_toolkit-0.1.3/Kanban/apps/webui/src/app/contexts/TerminalContext.tsx +104 -0
- monoco_toolkit-0.1.3/Kanban/apps/webui/src/app/dashboard/page.tsx +49 -0
- monoco_toolkit-0.1.3/Kanban/apps/webui/src/app/globals.css +123 -0
- monoco_toolkit-0.1.3/Kanban/apps/webui/src/app/issues/page.tsx +300 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/src/app/layout.tsx +13 -5
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/src/app/overview/page.tsx +62 -73
- monoco_toolkit-0.1.3/Kanban/apps/webui/src/app/providers.tsx +53 -0
- monoco_toolkit-0.1.3/Kanban/apps/webui/src/app/settings/page.tsx +150 -0
- monoco_toolkit-0.1.3/Kanban/apps/webui/src/app/vscode-theme.css +46 -0
- monoco_toolkit-0.1.3/Kanban/apps/webui/src/components/terminal/TerminalPanel.tsx +170 -0
- monoco_toolkit-0.1.3/Kanban/apps/webui/src/components/terminal/XTermView.tsx +277 -0
- monoco_toolkit-0.1.3/Kanban/apps/webui/src/components/theme-provider.tsx +114 -0
- monoco_toolkit-0.1.3/Kanban/apps/webui/src/components/ui/avatar.tsx +50 -0
- monoco_toolkit-0.1.3/Kanban/apps/webui/src/components/ui/button.tsx +56 -0
- monoco_toolkit-0.1.3/Kanban/apps/webui/src/components/ui/popover.tsx +31 -0
- monoco_toolkit-0.1.3/Kanban/apps/webui/src/components/ui/tooltip.tsx +30 -0
- monoco_toolkit-0.1.3/Kanban/apps/webui/src/lib/utils.ts +6 -0
- monoco_toolkit-0.1.3/Kanban/apps/webui/tailwind.config.js +91 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/tsconfig.json +1 -1
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/package-lock.json +2623 -464
- monoco_toolkit-0.1.3/Kanban/package.json +17 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/packages/core/package.json +2 -2
- monoco_toolkit-0.1.3/Kanban/packages/core/src/bridge.ts +69 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/packages/core/src/daemon.ts +110 -27
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/packages/core/src/dashboard.ts +3 -1
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/packages/core/src/index.ts +66 -15
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/packages/core/src/sse.ts +30 -1
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/packages/core/src/types.ts +18 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/packages/monoco-kanban/package.json +4 -1
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/PKG-INFO +2 -2
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/README.md +1 -1
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/README_ZH.md +1 -1
- monoco_toolkit-0.1.3/extensions/vscode/.eslintrc.json +32 -0
- monoco_toolkit-0.1.3/extensions/vscode/.gitignore +14 -0
- monoco_toolkit-0.1.3/extensions/vscode/.vscodeignore +11 -0
- monoco_toolkit-0.1.3/extensions/vscode/LICENSE +21 -0
- monoco_toolkit-0.1.3/extensions/vscode/README.md +36 -0
- monoco_toolkit-0.1.3/extensions/vscode/media/icon.png +0 -0
- monoco_toolkit-0.1.3/extensions/vscode/media/icon.svg +6 -0
- monoco_toolkit-0.1.3/extensions/vscode/media/main.css +18 -0
- monoco_toolkit-0.1.3/extensions/vscode/media/main.js +77 -0
- monoco_toolkit-0.1.3/extensions/vscode/media/reset.css +35 -0
- monoco_toolkit-0.1.3/extensions/vscode/media/vscode.css +60 -0
- monoco_toolkit-0.1.3/extensions/vscode/package-lock.json +5539 -0
- monoco_toolkit-0.1.3/extensions/vscode/package.json +107 -0
- monoco_toolkit-0.1.3/extensions/vscode/src/bootstrap.ts +103 -0
- monoco_toolkit-0.1.3/extensions/vscode/src/commands/issueCommands.ts +210 -0
- monoco_toolkit-0.1.3/extensions/vscode/src/extension.ts +313 -0
- monoco_toolkit-0.1.3/extensions/vscode/src/providers/IssueLensProvider.ts +100 -0
- monoco_toolkit-0.1.3/extensions/vscode/src/providers/IssueParser.ts +168 -0
- monoco_toolkit-0.1.3/extensions/vscode/src/test/runTest.ts +22 -0
- monoco_toolkit-0.1.3/extensions/vscode/src/test/suite/bootstrap.test.ts +121 -0
- monoco_toolkit-0.1.3/extensions/vscode/src/test/suite/index.ts +35 -0
- monoco_toolkit-0.1.3/extensions/vscode/src/webview/index.html +101 -0
- monoco_toolkit-0.1.3/extensions/vscode/src/webview/main.js +907 -0
- monoco_toolkit-0.1.3/extensions/vscode/src/webview/style.css +533 -0
- monoco_toolkit-0.1.3/extensions/vscode/tsconfig.json +16 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/monoco/core/telemetry.py +4 -1
- monoco_toolkit-0.1.3/monoco/features/i18n/__init__.py +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/monoco/features/issue/core.py +10 -1
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/monoco/features/issue/models.py +3 -0
- monoco_toolkit-0.1.3/monoco/features/pty/core.py +185 -0
- monoco_toolkit-0.1.3/monoco/features/pty/router.py +138 -0
- monoco_toolkit-0.1.3/monoco/features/pty/server.py +56 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/monoco/main.py +39 -2
- monoco_toolkit-0.1.3/package-lock.json +6 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/pyproject.toml +1 -1
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/uv.lock +1 -1
- monoco_toolkit-0.1.1/Kanban/apps/webui/package.json +0 -36
- monoco_toolkit-0.1.1/Kanban/apps/webui/public/favicon.ico +0 -0
- monoco_toolkit-0.1.1/Kanban/apps/webui/src/app/components/LayoutShell.tsx +0 -137
- monoco_toolkit-0.1.1/Kanban/apps/webui/src/app/components/StatusBar.tsx +0 -65
- monoco_toolkit-0.1.1/Kanban/apps/webui/src/app/contexts/TermContext.tsx +0 -54
- monoco_toolkit-0.1.1/Kanban/apps/webui/src/app/dashboard/page.tsx +0 -55
- monoco_toolkit-0.1.1/Kanban/apps/webui/src/app/globals.css +0 -106
- monoco_toolkit-0.1.1/Kanban/apps/webui/src/app/issues/page.tsx +0 -271
- monoco_toolkit-0.1.1/Kanban/apps/webui/src/app/providers.tsx +0 -56
- monoco_toolkit-0.1.1/Kanban/apps/webui/src/app/settings/page.tsx +0 -57
- monoco_toolkit-0.1.1/Kanban/apps/webui/tailwind.config.js +0 -37
- monoco_toolkit-0.1.1/Kanban/package.json +0 -13
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/.github/workflows/ci.yml +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/.github/workflows/docs.yml +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/.github/workflows/publish-pypi.yml +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/CODE_OF_CONDUCT.md +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/CONTRIBUTING.md +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Chores/closed/CHORE-0001-/346/233/264/346/226/260Issue/346/226/207/346/241/243/345/222/214I18n.md" +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Chores/closed/CHORE-0002-/345/256/214/346/210/220I18n/346/226/207/346/241/243.md" +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Epics/closed/EPIC-0008-github-/345/217/221/345/270/203/345/207/206/345/244/207.md" +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Epics/open/EPIC-0001-Monoco/345/267/245/345/205/267/347/256/261.md" +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Epics/open/EPIC-0002-/346/231/272/350/203/275/344/273/273/345/212/241/345/206/205/346/240/270/344/270/216/347/212/266/346/200/201/346/234/272.md" +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Epics/open/EPIC-0003-/345/217/257/346/216/247/345/244/226/351/203/250/347/237/245/350/257/206/346/221/204/345/205/245.md" +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Epics/open/EPIC-0004-/345/212/250/346/200/201/346/226/207/346/241/243/345/233/275/351/231/205/345/214/226/344/275/223/347/263/273.md" +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Epics/open/EPIC-0005-Monoco/346/234/215/345/212/241/350/277/220/350/241/214/346/227/266.md" +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Epics/open/EPIC-0006-Monoco/347/234/213/346/235/277Web/345/272/224/347/224/250.md" +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Epics/open/EPIC-0007-Toolkit/351/241/271/347/233/256/347/213/254/347/253/213.md" +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Features/closed/FEAT-0001-/351/207/215/346/236/204Issue/346/234/257/350/257/255.md" +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Features/closed/FEAT-0002-Toolkit/346/240/270/345/277/203.md" +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Features/closed/FEAT-0003-Issue/347/256/241/347/220/206.md" +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Features/closed/FEAT-0004-Spike/347/256/241/347/220/206.md" +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Features/closed/FEAT-0005-/345/256/236/347/216/260DocI18n.md" +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Features/closed/FEAT-0006-/346/224/257/346/214/201/345/261/202/347/272/247Issue/347/273/204/347/273/207.md" +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Features/closed/FEAT-0007-/346/224/257/346/214/201/345/244/226/351/203/250/346/210/226/345/255/220/351/241/271/347/233/256.md" +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Features/closed/FEAT-0008-/345/273/272/347/253/213Issue/346/226/207/346/241/243/344/275/223/347/263/273.md" +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Features/closed/FEAT-0009-/345/273/272/347/253/213Spike/346/226/207/346/241/243/344/275/223/347/263/273.md" +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Features/closed/FEAT-0010-/345/242/236/345/274/272Init.md" +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Features/closed/FEAT-0011-/345/242/236/345/274/272I18n/346/212/245/345/221/212.md" +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Features/closed/FEAT-0012-/345/244/232/345/267/245/344/275/234/345/214/272/346/224/257/346/214/201.md" +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Features/closed/FEAT-0013-/345/256/236/347/216/260List/345/221/275/344/273/244.md" +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Features/closed/FEAT-0014-/345/256/236/347/216/260IssueAPI.md" +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Features/closed/FEAT-0015-/347/234/213/346/235/277UI/345/242/236/345/274/272.md" +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Features/closed/FEAT-0016-/345/256/211/345/205/250Issue/347/274/226/350/276/221.md" +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Features/closed/FEAT-0020-/345/267/245/347/250/213/350/247/206/345/233/276.md" +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Features/closed/FEAT-0029-Web/347/234/213/346/235/277/345/256/236/347/216/260.md" +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Features/closed/FEAT-0030-/346/217/220/344/272/244/345/217/257/350/277/275/346/272/257/346/200/247.md" +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Features/closed/FEAT-0031-/351/200/222/345/275/222/347/212/266/346/200/201/350/201/232/345/220/210.md" +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Features/closed/FEAT-0032-/345/217/257/351/200/211/345/210/206/346/224/257/351/232/224/347/246/273.md" +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Features/closed/FEAT-0033-/344/272/244/344/272/222/345/274/217/347/212/266/346/200/201/346/265/201/350/275/254/344/270/216/345/220/210/346/263/225/346/200/247/346/240/241/351/252/214.md" +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Features/closed/FEAT-0034-ui/346/234/257/350/257/255/345/217/257/351/205/215/347/275/256/345/214/226.md" +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Features/closed/FEAT-0036-advanced-kanban-filter.md +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Features/closed/FEAT-0037-cli-advanced-issue-query.md +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Features/closed/FEAT-0038-workspace-/345/206/205/350/267/250/351/241/271/347/233/256/345/274/225/347/224/250/344/272/222/346/223/215/344/275/234/346/200/247.md" +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Features/closed/FEAT-0046-github-page-/347/273/264/346/212/244.md" +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Features/closed/FEAT-0047-community-health-files.md +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Features/closed/FEAT-0048-toolkit-readme-polish.md +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Features/closed/FEAT-0049-security-cleanup.md +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Features/closed/FEAT-0050-one-click-install-script.md +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Features/closed/FEAT-0051-cli-/345/267/245/345/205/267/345/210/206/345/217/221-pypi.md" +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Features/open/FEAT-0017-/350/264/250/351/207/217/346/216/247/345/210/266/346/243/200/346/237/245.md" +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Features/open/FEAT-0018-/350/277/220/350/241/214/346/227/266/350/277/234/347/250/213/344/272/244/344/272/222.md" +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Features/open/FEAT-0021-/346/236/266/346/236/204/347/273/204/344/273/266/350/247/206/345/233/276.md" +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Features/open/FEAT-0022-/345/242/236/345/274/272/344/270/212/344/270/213/346/226/207/347/256/241/347/220/206.md" +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Features/open/FEAT-0023-/351/253/230/347/272/247UX/346/211/223/347/243/250.md" +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Features/open/FEAT-0025-/346/230/276/345/274/217Todo/346/265/213/350/257/225.md" +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Features/open/FEAT-0026-/351/230/266/346/256/265/346/243/200/346/237/245.md" +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Features/open/FEAT-0027-/351/273/230/350/256/244/351/230/266/346/256/265/346/265/213/350/257/225.md" +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Features/open/FEAT-0028-/344/270/264/346/227/266/347/212/266/346/200/201/351/252/214/350/257/201/346/265/213/350/257/225.md" +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Features/open/FEAT-0039-kanban-observability-support.md +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Features/open/FEAT-0040-toolkit-observability-hooks.md +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Features/open/FEAT-0044-universal-webview-/345/211/215/347/253/257/346/236/266/346/236/204.md" +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Features/open/FEAT-0045-channel-observability.md +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Fixes/closed/FIX-0001-/344/277/256/345/244/215Issue/346/240/274/345/274/217/351/224/231/350/257/257.md" +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Fixes/closed/FIX-0002-/345/274/272/345/210/266/344/270/245/346/240/274/347/224/237/345/221/275/345/221/250/346/234/237.md" +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Fixes/closed/FIX-0003-/345/242/236/345/274/272MonocoIssueCreate/345/217/202/346/225/260.md" +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Issues/Fixes/closed/FIX-0004-/344/277/256/345/244/215Issue/346/226/207/344/273/266/345/220/215/347/224/237/346/210/220/344/270/215/346/224/257/346/214/201/344/270/255/346/226/207/347/232/204/351/227/256/351/242/230.md" +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/README.md +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/README_ZH.md +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/postcss.config.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/_commonjsHelpers-CT9FvmAN.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/abap-D-t0cyap.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/apex-CcIm7xu6.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/assets/css.worker-HnVq6Ewq.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/assets/editor.worker-Be8ye1pW.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/assets/html.worker-B51mlPHg.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/assets/json.worker-DKiEKt88.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/assets/ts.worker-CMbG-7ft.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/azcli-BA0tQDCg.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/basic-languages/monaco.contribution.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/bat-C397hTD6.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/bicep-DF5aW17k.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/cameligo-plsz8qhj.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/clojure-Y2auQMzK.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/coffee-Bu45yuWE.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/cpp-CkKPQIni.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/csharp-CX28MZyh.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/csp-D8uWnyxW.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/css-CaeNmE3S.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/css.worker.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/cssMode-CjiAH6dQ.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/cypher-DVThT8BS.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/dart-CmGfCvrO.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/dockerfile-CZqqYdch.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/ecl-30fUercY.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/editor/editor.main.css +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/editor/editor.main.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/editor.api-CalNCsUg.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/editor.worker.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/elixir-xjPaIfzF.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/flow9-DqtmStfK.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/freemarker2-Cz_sV6Md.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/fsharp-BOMdg4U1.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/go-D_hbi-Jt.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/graphql-CKUU4kLG.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/handlebars-OwglfO-1.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/hcl-DTaboeZW.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/html-Pa1xEWsY.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/html.worker.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/htmlMode-Bz67EXwp.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/ini-CsNwO04R.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/java-CI4ZMsH9.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/javascript-PczUCGdz.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/json.worker.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/jsonMode-DULH5oaX.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/julia-BwzEvaQw.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/kotlin-IUYPiTV8.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/language/css/monaco.contribution.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/language/html/monaco.contribution.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/language/json/monaco.contribution.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/language/typescript/monaco.contribution.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/less-C0eDYdqa.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/lexon-iON-Kj97.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/liquid-DqKjdPGy.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/loader.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/lspLanguageFeatures-kM9O9rjY.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/lua-DtygF91M.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/m3-CsR4AuFi.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/markdown-C_rD0bIw.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/mdx-DEWtB1K5.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/mips-CiYP61RB.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/monaco.contribution-D2OdxNBt.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/monaco.contribution-DO3azKX8.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/monaco.contribution-EcChJV6a.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/monaco.contribution-qLAYrEOP.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/msdax-C38-sJlp.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/mysql-CdtbpvbG.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/nls.messages-loader.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/nls.messages.cs.js.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/nls.messages.de.js.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/nls.messages.es.js.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/nls.messages.fr.js.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/nls.messages.it.js.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/nls.messages.ja.js.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/nls.messages.js.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/nls.messages.ko.js.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/nls.messages.pl.js.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/nls.messages.pt-br.js.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/nls.messages.ru.js.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/nls.messages.tr.js.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/nls.messages.zh-cn.js.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/nls.messages.zh-tw.js.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/objective-c-CntZFaHX.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/pascal-r6kuqfl_.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/pascaligo-BiXoTmXh.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/perl-DABw_TcH.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/pgsql-me_jFXeX.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/php-D_kh-9LK.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/pla-VfZjczW0.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/postiats-BBSzz8Pk.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/powerquery-Dt-g_2cc.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/powershell-B-7ap1zc.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/protobuf-BmtuEB1A.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/pug-BRpRNeEb.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/python-Cr0UkIbn.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/qsharp-BzsFaUU9.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/r-f8dDdrp4.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/razor-BYAHOTkz.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/redis-fvZQY4PI.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/redshift-45Et0LQi.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/restructuredtext-C7UUFKFD.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/ruby-CZO8zYTz.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/rust-Bfetafyc.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/sb-3GYllVck.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/scala-foMgrKo1.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/scheme-CHdMtr7p.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/scss-C1cmLt9V.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/shell-ClXCKCEW.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/solidity-MZ6ExpPy.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/sophia-DWkuSsPQ.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/sparql-AUGFYSyk.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/sql-32GpJSV2.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/st-CuDFIVZ_.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/swift-n-2HociN.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/systemverilog-Ch4vA8Yt.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/tcl-D74tq1nH.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/ts.worker.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/tsMode-CZz1Umrk.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/twig-C6taOxMV.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/typescript-DfOrAzoV.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/typespec-D-PIh9Xw.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/vb-Dyb2648j.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/wgsl-BhLXMOR0.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/workers-DcJshg-q.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/xml-CdsdnY8S.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/public/monaco-editor/min/vs/yaml-DYGvmE88.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/src/app/components/page.tsx +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/src/app/page.tsx +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/apps/webui/src/app/types.ts +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/design/UI_OPTIMIZATION_PLAN.md +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/docs/zh/00-vision.md +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/docs/zh/01-architecture.md +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/docs/zh/02-identity.md +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/docs/zh/03-lifecycle.md +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/docs/zh/README.md +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/docs/zh/issue_lifecycle.md +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/packages/core/tsconfig.json +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/Kanban/packages/monoco-kanban/bin/monoco-kanban.js +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/LICENSE +0 -0
- /monoco_toolkit-0.1.1/monoco/core/__init__.py → /monoco_toolkit-0.1.3/assets/logo.svg +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/debug_issue.py +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/docs/en/agent-native-design-pattern.md +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/docs/en/architecture.md +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/docs/en/i18n/manual.md +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/docs/en/index.md +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/docs/en/issue/manual.md +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/docs/en/release_audit.md +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/docs/en/setup/manual.md +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/docs/en/spike/manual.md +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/docs/pypi-implementation-summary.md +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/docs/pypi-trusted-publishing.md +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/docs/zh/agent-native-design-pattern.md +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/docs/zh/architecture.md +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/docs/zh/i18n/manual.md +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/docs/zh/issue/concepts.md +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/docs/zh/issue/manual.md +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/docs/zh/issue/query_syntax.md +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/docs/zh/setup/manual.md +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/docs/zh/spike/manual.md +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/mkdocs.yml +0 -0
- {monoco_toolkit-0.1.1/monoco/daemon → monoco_toolkit-0.1.3/monoco/core}/__init__.py +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/monoco/core/config.py +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/monoco/core/git.py +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/monoco/core/output.py +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/monoco/core/setup.py +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/monoco/core/workspace.py +0 -0
- {monoco_toolkit-0.1.1/monoco/features → monoco_toolkit-0.1.3/monoco/daemon}/__init__.py +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/monoco/daemon/app.py +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/monoco/daemon/commands.py +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/monoco/daemon/models.py +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/monoco/daemon/reproduce_stats.py +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/monoco/daemon/services.py +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/monoco/daemon/stats.py +0 -0
- {monoco_toolkit-0.1.1/monoco/features/i18n → monoco_toolkit-0.1.3/monoco/features}/__init__.py +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/monoco/features/config/commands.py +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/monoco/features/i18n/commands.py +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/monoco/features/i18n/core.py +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/monoco/features/issue/commands.py +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/monoco/features/issue/linter.py +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/monoco/features/skills/__init__.py +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/monoco/features/skills/core.py +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/monoco/features/spike/commands.py +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/monoco/features/spike/core.py +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/monoco.yaml +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/scripts/install.sh +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/scripts/migrate_issues.py +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/skills/git-repo-spike/SKILL.md +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/skills/git-repo-spike/zh/SKILL.md +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/skills/i18n/SKILL.md +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/skills/i18n/zh/SKILL.md +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/skills/issues-management/SKILL.md +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/skills/issues-management/zh/SKILL.md +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/skills/toolkit-core/SKILL.md +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/skills/toolkit-core/zh/SKILL.md +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/tests/conftest.py +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/tests/daemon/test_issue_api.py +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/tests/daemon/test_stats_api.py +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/tests/features/issue/test_lifecycle_guard.py +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/tests/features/issue/test_search.py +0 -0
- {monoco_toolkit-0.1.1 → monoco_toolkit-0.1.3}/tests/features/issue/test_workflow_cli.py +0 -0
|
@@ -20,25 +20,25 @@ jobs:
|
|
|
20
20
|
|
|
21
21
|
- name: Install dependencies
|
|
22
22
|
run: |
|
|
23
|
-
cd
|
|
23
|
+
cd Kanban
|
|
24
24
|
npm install
|
|
25
25
|
|
|
26
|
-
- name: Build
|
|
26
|
+
- name: Build All Workspaces
|
|
27
27
|
run: |
|
|
28
|
-
cd
|
|
29
|
-
npm run build --
|
|
28
|
+
cd Kanban
|
|
29
|
+
npm run build --workspaces
|
|
30
30
|
|
|
31
31
|
- name: Prepare Package
|
|
32
32
|
run: |
|
|
33
|
-
mkdir -p
|
|
34
|
-
cp -r
|
|
33
|
+
mkdir -p Kanban/packages/monoco-kanban/dist
|
|
34
|
+
cp -r Kanban/apps/webui/out/* Kanban/packages/monoco-kanban/dist/
|
|
35
35
|
# Sync version from tag
|
|
36
36
|
VERSION=${GITHUB_REF#refs/tags/v}
|
|
37
|
-
sed -i "s/\"version\": \"0.1.0\"/\"version\": \"$VERSION\"/g"
|
|
37
|
+
sed -i "s/\"version\": \"0.1.0\"/\"version\": \"$VERSION\"/g" Kanban/packages/monoco-kanban/package.json
|
|
38
38
|
|
|
39
39
|
- name: Publish to NPM
|
|
40
40
|
run: |
|
|
41
|
-
cd
|
|
41
|
+
cd Kanban/packages/monoco-kanban
|
|
42
42
|
npm publish --access public
|
|
43
43
|
env:
|
|
44
44
|
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
name: Publish Toolkit VS Code Extension
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
tags:
|
|
8
|
+
- "toolkit-v*"
|
|
9
|
+
paths:
|
|
10
|
+
- "extensions/vscode/**"
|
|
11
|
+
- ".github/workflows/publish-vscode-extension.yml"
|
|
12
|
+
pull_request:
|
|
13
|
+
paths:
|
|
14
|
+
- "extensions/vscode/**"
|
|
15
|
+
- ".github/workflows/publish-vscode-extension.yml"
|
|
16
|
+
workflow_dispatch:
|
|
17
|
+
|
|
18
|
+
jobs:
|
|
19
|
+
build-and-publish:
|
|
20
|
+
name: Build, Package and Publish
|
|
21
|
+
runs-on: ubuntu-latest
|
|
22
|
+
defaults:
|
|
23
|
+
run:
|
|
24
|
+
working-directory: extensions/vscode
|
|
25
|
+
|
|
26
|
+
steps:
|
|
27
|
+
- name: Checkout Code
|
|
28
|
+
uses: actions/checkout@v4
|
|
29
|
+
|
|
30
|
+
- name: Setup Node.js
|
|
31
|
+
uses: actions/setup-node@v4
|
|
32
|
+
with:
|
|
33
|
+
node-version: 20
|
|
34
|
+
cache: "npm"
|
|
35
|
+
cache-dependency-path: extensions/vscode/package-lock.json
|
|
36
|
+
|
|
37
|
+
- name: Install Dependencies
|
|
38
|
+
run: npm ci
|
|
39
|
+
|
|
40
|
+
- name: Compile
|
|
41
|
+
run: npm run compile
|
|
42
|
+
|
|
43
|
+
- name: Lint
|
|
44
|
+
run: npm run lint
|
|
45
|
+
|
|
46
|
+
- name: Package Extension
|
|
47
|
+
run: npx @vscode/vsce package
|
|
48
|
+
# vsce package will generate a .vsix file in the current directory (extensions/vscode)
|
|
49
|
+
|
|
50
|
+
- name: Upload Artifact
|
|
51
|
+
uses: actions/upload-artifact@v4
|
|
52
|
+
with:
|
|
53
|
+
name: monoco-vscode-extension
|
|
54
|
+
path: extensions/vscode/*.vsix
|
|
55
|
+
if-no-files-found: error
|
|
56
|
+
|
|
57
|
+
- name: Publish to VS Code Marketplace
|
|
58
|
+
if: startsWith(github.ref, 'refs/tags/toolkit-v')
|
|
59
|
+
env:
|
|
60
|
+
VSCE_PAT: ${{ secrets.VSCE_PAT }}
|
|
61
|
+
run: npx @vscode/vsce publish --pat ${{ secrets.VSCE_PAT }}
|
|
62
|
+
|
|
63
|
+
- name: Publish to Open VSX
|
|
64
|
+
if: startsWith(github.ref, 'refs/tags/toolkit-v')
|
|
65
|
+
env:
|
|
66
|
+
OVSX_PAT: ${{ secrets.OVSX_PAT }}
|
|
67
|
+
run: npx ovsx publish ./*.vsix --pat ${{ secrets.OVSX_PAT }}
|
|
@@ -11,7 +11,7 @@ updated_at: '2026-01-13T13:21:48'
|
|
|
11
11
|
dependencies: []
|
|
12
12
|
related: []
|
|
13
13
|
tags: []
|
|
14
|
-
progress:
|
|
14
|
+
progress: 2/2
|
|
15
15
|
files_count: 0
|
|
16
16
|
---
|
|
17
17
|
|
|
@@ -32,6 +32,6 @@ files_count: 0
|
|
|
32
32
|
|
|
33
33
|
- [ ] 配置 GitHub Pages 自动部署流程 (Next.js SSG)。
|
|
34
34
|
- [x] 构建 Toolkit 的 GitHub Action 发布流水线 (FEAT-0051)。
|
|
35
|
-
- [
|
|
35
|
+
- [x] 构建 Kanban 的 GitHub Action 发布流水线 (FEAT-0058)。
|
|
36
36
|
- [ ] 集成代码质量检查 (Lint, Type Check, Pytest) 到 CI。
|
|
37
37
|
- [ ] 优化缓存策略,减少 CI 运行时间。
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: EPIC-0010
|
|
3
|
+
type: Epic
|
|
4
|
+
title: Agent Terminal Integration (PTY & Console)
|
|
5
|
+
status: Open
|
|
6
|
+
owner: Product Owner
|
|
7
|
+
parent: null
|
|
8
|
+
dependencies:
|
|
9
|
+
- EPIC-0005
|
|
10
|
+
- EPIC-0006
|
|
11
|
+
tags:
|
|
12
|
+
- agent-native
|
|
13
|
+
- terminal
|
|
14
|
+
- cli
|
|
15
|
+
- websocket
|
|
16
|
+
created_at: 2026-01-14
|
|
17
|
+
progress: 1/2
|
|
18
|
+
files_count: 0
|
|
19
|
+
stage: doing
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
# Agent Terminal Integration (PTY & Console)
|
|
23
|
+
|
|
24
|
+
## Executive Summary
|
|
25
|
+
|
|
26
|
+
为了实现 Monoco "Agent Cockpit" 的愿景,我们需要在 Kanban 界面中引入原生的终端控制台 (Terminal Console)。这将允许用户直接在一个界面中进行 "战略指挥" (Kanban) 和 "战术执行" (CLI Agents)。
|
|
27
|
+
|
|
28
|
+
通过引入 PTY (Pseudo-Terminal) 和 WebSocket 支持,用户将能够直接在 Web 界面中运行 `gemini`、`claude` 或 `git` 命令,并享受完整的终端交互体验。
|
|
29
|
+
|
|
30
|
+
## Outcome & Value
|
|
31
|
+
|
|
32
|
+
- **God Mode + God Hand**: 用户在查看全局进度的同时,拥有直接操作底层的能力。
|
|
33
|
+
- **Agent Native Interaction**: 不再依赖受限的 Chatbot UI,而是拥抱功能最全、生态最丰富的 CLI Agents。
|
|
34
|
+
- **Context Awareness**: 终端 session 将能够感知 Kanban 当前的上下文(如选中的 Issue),实现无缝的人机协作。
|
|
35
|
+
|
|
36
|
+
## Key Results (KRs)
|
|
37
|
+
|
|
38
|
+
- **KR1**: Toolkit Daemon 实现支持多会话 (Multi-Session) 的 PTY 管理器 (`monoco.daemon.terminal`)。
|
|
39
|
+
- **KR2**: Kanban UI 实现带有 Tab 页签切换功能的原生终端面板。
|
|
40
|
+
- **KR3**: 实现 "Context Injection" 与 "Auto-Startup",支持自动运行预设命令 (e.g. `claude`, `gemini`) 并注入上下文,减少冷启动等待。
|
|
41
|
+
- **KR4**: 验证主流 CLI Agent 在 Web 终端中的交互流畅性。
|
|
42
|
+
|
|
43
|
+
## Scope
|
|
44
|
+
|
|
45
|
+
### Infrastructure (Toolkit)
|
|
46
|
+
|
|
47
|
+
- **WebSocket & PTY Manager**: 引入 `fastapi-websockets`,实现基于 Session ID 的多路复用 PTY 管理。
|
|
48
|
+
- **Auto-Startup Configuration**:
|
|
49
|
+
- 支持配置 "Default Command" (如 `claude` 或 `monoco agent`),在 Session 建立时自动执行。
|
|
50
|
+
- 实现 "Pre-warming" 机制,让 Agent 进程提前就绪,通过 PTY 保持活跃,避免每次交互都重新握手/加载模型。
|
|
51
|
+
- **Security**: Localhost restrictive access.
|
|
52
|
+
|
|
53
|
+
### User Interface (Kanban)
|
|
54
|
+
|
|
55
|
+
- **Terminal Emulator**: `xterm.js` + `xterm-addon-fit` 集成.
|
|
56
|
+
- **Multi-Tab Interface**:
|
|
57
|
+
- 支持并发管理多个 Terminal Session。
|
|
58
|
+
- 区分 "Global Shell" (主控台) 和 "Task Shell" (任务专用)。
|
|
59
|
+
- Tab 状态指示器 (Idle/Running/Error)。
|
|
60
|
+
- **Interaction**:
|
|
61
|
+
- 底部状态栏 Toggle (HUD 风格)。
|
|
62
|
+
- 全局快捷键 (`Cmd+J`) 唤出并聚焦。
|
|
63
|
+
- Theme 自动同步 (Glassmorphism 背景)。
|
|
64
|
+
|
|
65
|
+
### Experience
|
|
66
|
+
|
|
67
|
+
- **Context Awareness**: 点击 Issue 上的 "Run" 时,自动创建新 Tab 并注入环境变量 (`export CURRENT_ISSUE=...`)。
|
|
68
|
+
- **Seamless Auth**: 确保 CLI Agent 的认证状态(如 OAuth Token)能持久化并在 PTY 中复用,避免重复登录。
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: EPIC-0011
|
|
3
|
+
type: Epic
|
|
4
|
+
title: VS Code Cockpit Integration (VS Code 驾驶舱集成)
|
|
5
|
+
status: Open
|
|
6
|
+
owner: Product Owner
|
|
7
|
+
parent: null
|
|
8
|
+
dependencies:
|
|
9
|
+
- EPIC-0006
|
|
10
|
+
- EPIC-0010
|
|
11
|
+
tags:
|
|
12
|
+
- vscode
|
|
13
|
+
- extension
|
|
14
|
+
- webview
|
|
15
|
+
- cockpit
|
|
16
|
+
created_at: 2026-01-14
|
|
17
|
+
progress: 0/4
|
|
18
|
+
files_count: 0
|
|
19
|
+
stage: todo
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
# EPIC-0011: VS Code Cockpit Integration (VS Code 驾驶舱集成)
|
|
23
|
+
|
|
24
|
+
## 执行摘要 (Executive Summary)
|
|
25
|
+
|
|
26
|
+
为了将 Monoco 打造为开发者的“第二大脑”,我们需要将其深度嵌入到开发者最核心的工作场域——VS Code。本项目旨在通过 VS Code Extension 将 Kanban (战略管理) 与 Agent Terminal (战术执行) 集成为一套无缝的“驾驶舱”体验。
|
|
27
|
+
|
|
28
|
+
这不仅是 UI 的迁移,更是上下文 (Context) 的横向贯通。
|
|
29
|
+
|
|
30
|
+
## 目标与价值 (Outcome & Value)
|
|
31
|
+
|
|
32
|
+
- **全链路闭环**: 实现从 Issue 阅读、代码定位、Agent 调度到代码提交的完全闭环,无需离开 IDE。
|
|
33
|
+
- **上下文增强**: 利用 VS Code API 提供的实时代码上下文(当前文件、选中行、诊断信息),大幅提升 Agent 的决策准确率。
|
|
34
|
+
- **极致体验**: 利用 VS Code 原生界面元素(Sidebar, Activity Bar, QuickPick)提供流畅的操作体验。
|
|
35
|
+
|
|
36
|
+
## 关键结果 (Key Results)
|
|
37
|
+
|
|
38
|
+
- **KR1**: 支持在 VS Code Sidebar/Webview 完整加载并运行 Monoco Kanban (Next.js 导出版)。
|
|
39
|
+
- **KR2**: 建立一套基于消息总线 (Message Bus) 的跨环境通信协议,支持 Webview、插件进程与 Monoco CLI/Daemon 之间的协同。
|
|
40
|
+
- **KR3**: 提供一键“由代码创建 Issue”和“一键定位 Issue 关联代码”的功能。
|
|
41
|
+
- **KR4**: 在右侧 Agent Bar 实现与 EPIC-0010 PTY 对接的实时执行流展示。
|
|
42
|
+
|
|
43
|
+
## 范围 (Scope)
|
|
44
|
+
|
|
45
|
+
### VS Code Extension (桥接层)
|
|
46
|
+
|
|
47
|
+
- **Activity Bar & Sidebar**: 挂载任务导航。
|
|
48
|
+
- **Status Bar**: 显示 Agent 状态与任务进度。
|
|
49
|
+
- **Command Palette Integration**: 快速调用 `monoco issue` 等命令。
|
|
50
|
+
- **Webview Adapter**: 实现 `acquireVsCodeApi` 到 Monoco Protocol 的适配。
|
|
51
|
+
|
|
52
|
+
### Toolkit/Kanban (展现层)
|
|
53
|
+
|
|
54
|
+
- **Universal Adpater**: 适配 Web 环境与 VS Code 环境的通信差异。
|
|
55
|
+
- **UX Tuning**: 针对小尺寸侧边栏设计的高密压缩视图。
|
|
56
|
+
|
|
57
|
+
### Experience (体验层)
|
|
58
|
+
|
|
59
|
+
- **Code Link**: Issue 详情页中的文件路径可点击,直接在 VS Code 中打开对应位置。
|
|
60
|
+
- **Agent Cockpit**: 类似 Cursor 的侧边交互栏,用于触发和监控 Agent 行为。
|
|
61
|
+
|
|
62
|
+
## 路线图 (Roadmap)
|
|
63
|
+
|
|
64
|
+
1. **原型验证 (P0)**: 验证 Webview 通信与样式适配。
|
|
65
|
+
2. **核心链接 (P1)**: 实现看板与 IDE 代码定位的联动。
|
|
66
|
+
3. **Agent 协同 (P2)**: 实现右侧 Agent Bar 与 PTY 的集成。
|
|
67
|
+
4. **生态扩展 (P3)**: 发布至 VS Code Marketplace。
|
|
@@ -44,7 +44,7 @@ tags: []
|
|
|
44
44
|
- **实现方案**: 新增 `GET /api/v1/stats/dashboard`。
|
|
45
45
|
- **Blocked 定义**: 暂定为 "存在未 Close 的前置依赖 (dependencies)" 的 Issue。
|
|
46
46
|
- [x] **前端状态管理**: 重构前端状态管理 (Zustand)。
|
|
47
|
-
- **Store 设计**: 在 `@monoco/kanban-core` 中扩展或新增 Store,统一管理 Project Stats 与 Issues。
|
|
47
|
+
- **Store 设计**: 在 `@monoco-io/kanban-core` 中扩展或新增 Store,统一管理 Project Stats 与 Issues。
|
|
48
48
|
- `useDashboardStore`: 管理聚合指标 (Stats) 和动态 (Activity)。
|
|
49
49
|
- `useKanbanStore`: 继续管理 Issue 列表数据。
|
|
50
50
|
- **数据同步**: 升级 `useKanbanSync` Hook。
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: FEAT-0056
|
|
3
|
+
type: feature
|
|
4
|
+
status: closed
|
|
5
|
+
stage: done
|
|
6
|
+
title: Implement monoco-pty Service via WebSockets
|
|
7
|
+
created_at: '2026-01-14T00:00:00'
|
|
8
|
+
updated_at: '2026-01-14T08:24:53'
|
|
9
|
+
closed_at: '2026-01-14T08:24:53'
|
|
10
|
+
parent: EPIC-0010
|
|
11
|
+
solution: implemented
|
|
12
|
+
dependencies: []
|
|
13
|
+
related: []
|
|
14
|
+
tags:
|
|
15
|
+
- pty
|
|
16
|
+
- websocket
|
|
17
|
+
- cli
|
|
18
|
+
- daemon
|
|
19
|
+
owner: Backend Engineer
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
# Feature: Implement monoco-pty Service
|
|
23
|
+
|
|
24
|
+
## Context
|
|
25
|
+
|
|
26
|
+
为了支持 EPIC-0010 "Agent Terminal Integration",我们需要一个专门负责终端会话管理的服务。
|
|
27
|
+
根据架构决策,该服务将独立于 `monoco serve` 运行,通过独立的命令 `monoco pty` 启动,以保证系统的解耦与稳定性。
|
|
28
|
+
|
|
29
|
+
## Goals
|
|
30
|
+
|
|
31
|
+
1. 实现 `monoco.features.pty` 模块与 `monoco pty` CLI 命令。
|
|
32
|
+
2. 提供基于 WebSocket 的 PTY 流式接口。
|
|
33
|
+
3. 支持多 Session 管理与自动环境注入。
|
|
34
|
+
|
|
35
|
+
## Technical Design
|
|
36
|
+
|
|
37
|
+
### 1. Service Architecture
|
|
38
|
+
|
|
39
|
+
- **Entry Point**: `monoco pty` (Uvicorn running FastAPI/Starlette).
|
|
40
|
+
- **Port**: Default to `3124` (Distinct from main daemon).
|
|
41
|
+
- **State Sharing**: 启动时读取 `.monoco/state.json` (或通过参数) 确定 Workspace Root。
|
|
42
|
+
|
|
43
|
+
### 2. WebSocket Protocol
|
|
44
|
+
|
|
45
|
+
- **Endpoint**: `ws://localhost:3124/ws/{session_id}`
|
|
46
|
+
- **Handshake Params**:
|
|
47
|
+
- `cols`, `rows`: Terminal dimensions.
|
|
48
|
+
- `env`: JSON string identifying context (e.g., `{"CURRENT_ISSUE": "FEAT-123"}`).
|
|
49
|
+
- `command`: (Optional) Auto-run command (e.g., `claude`).
|
|
50
|
+
|
|
51
|
+
### 3. PTY Manager Logic
|
|
52
|
+
|
|
53
|
+
- 使用 Python `pty` (Unix) 或 `pywinpty` (Windows) 库。
|
|
54
|
+
- **Session Lifecycle**:
|
|
55
|
+
- Connection Open -> Spawn Process.
|
|
56
|
+
- Process Exit -> Close Connection.
|
|
57
|
+
- Connection Drop -> Kill Process (or configurable keep-alive).
|
|
58
|
+
|
|
59
|
+
## Tasks
|
|
60
|
+
|
|
61
|
+
- [ ] **Core**: 创建 `monoco/features/pty/` 目录结构。
|
|
62
|
+
- [ ] **Server**: 实现 `monoco pty` CLI 命令与 FastAPI App 初始化。
|
|
63
|
+
- [ ] **Logic**: 实现 `PTYManager` 类,负责 spawn shell 和 IO forwarding。
|
|
64
|
+
- [ ] **API**: 实现 WebSocket 路由与双向数据管道 (Input -> Stdin, Stdout -> Output)。
|
|
65
|
+
- [ ] **Context**: 实现环境变量注入逻辑 (`env` param -> `subprocess.Popen(env=...)`)。
|
|
66
|
+
- [ ] **Test**: 编写简单的 HTML/JS Client 验证连通性。
|
|
67
|
+
|
|
68
|
+
## Acceptance Criteria
|
|
69
|
+
|
|
70
|
+
- [ ] 运行 `monoco pty` 后,可以通过 WebSocket 客户端连接并获得交互式 Shell。
|
|
71
|
+
- [ ] 支持同时打开多个独立的 Shell Session。
|
|
72
|
+
- [ ] 传递 `env={"TEST": "1"}` 时,在该 Shell 中执行 `echo $TEST` 输出 `1`。
|
|
73
|
+
- [ ] 进程崩溃或退出时,WebSocket 连接正常关闭。
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: FEAT-0058
|
|
3
|
+
uid: 679ef5
|
|
4
|
+
type: feature
|
|
5
|
+
status: closed
|
|
6
|
+
stage: done
|
|
7
|
+
title: Kanban 分发 - npm
|
|
8
|
+
created_at: '2026-01-14T11:34:18'
|
|
9
|
+
opened_at: '2026-01-14T11:34:18'
|
|
10
|
+
updated_at: '2026-01-14T11:35:25'
|
|
11
|
+
closed_at: '2026-01-14T11:35:25'
|
|
12
|
+
parent: EPIC-0009
|
|
13
|
+
solution: implemented
|
|
14
|
+
dependencies: []
|
|
15
|
+
related: []
|
|
16
|
+
tags: []
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## FEAT-0058: Kanban 分发 - npm
|
|
20
|
+
|
|
21
|
+
## Objective
|
|
22
|
+
|
|
23
|
+
## Acceptance Criteria
|
|
24
|
+
|
|
25
|
+
## Technical Tasks
|
|
26
|
+
|
|
27
|
+
- [ ]
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: FEAT-0063
|
|
3
|
+
uid: b2cc31
|
|
4
|
+
type: feature
|
|
5
|
+
status: closed
|
|
6
|
+
stage: done
|
|
7
|
+
title: Optimize VS Code Extension UI
|
|
8
|
+
created_at: '2026-01-14T16:42:55'
|
|
9
|
+
opened_at: '2026-01-14T16:42:55'
|
|
10
|
+
updated_at: '2026-01-14T16:43:38'
|
|
11
|
+
closed_at: '2026-01-14T16:43:38'
|
|
12
|
+
solution: implemented
|
|
13
|
+
dependencies: []
|
|
14
|
+
related: []
|
|
15
|
+
tags: []
|
|
16
|
+
progress: 4/4
|
|
17
|
+
files_count: 0
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## FEAT-0063: Optimize VS Code Extension UI
|
|
21
|
+
|
|
22
|
+
## Objective
|
|
23
|
+
|
|
24
|
+
Optimize the toolkit extension UI for a better user experience, focusing on aesthetics and usability.
|
|
25
|
+
|
|
26
|
+
## Acceptance Criteria
|
|
27
|
+
|
|
28
|
+
1. Toolbar icons are abstract, monoline, and theme-consistent.
|
|
29
|
+
2. "Create Issue" and "Settings" use full forms in dedicated views (cards) instead of input boxes.
|
|
30
|
+
3. Support dynamic configuration of API URLs.
|
|
31
|
+
|
|
32
|
+
## Technical Tasks
|
|
33
|
+
|
|
34
|
+
- [x] Replace emojis with abstract monoline SVGs in webview.
|
|
35
|
+
- [x] Implement multi-view architecture (Home, Create, Settings) in `index.html` and `main.js`.
|
|
36
|
+
- [x] Implement native HTML forms for Issue Creation and Settings.
|
|
37
|
+
- [x] Update extension host (`extension.ts`) to support `OPEN_URL` message.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: FEAT-0064
|
|
3
|
+
uid: d856b0
|
|
4
|
+
type: feature
|
|
5
|
+
status: closed
|
|
6
|
+
stage: done
|
|
7
|
+
title: Smart Parent Selection
|
|
8
|
+
created_at: '2026-01-14T16:51:26'
|
|
9
|
+
opened_at: '2026-01-14T16:51:26'
|
|
10
|
+
updated_at: '2026-01-14T16:51:31'
|
|
11
|
+
closed_at: '2026-01-14T16:51:31'
|
|
12
|
+
parent: FEAT-0063
|
|
13
|
+
solution: implemented
|
|
14
|
+
dependencies: []
|
|
15
|
+
related: []
|
|
16
|
+
tags: []
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## FEAT-0064: Smart Parent Selection
|
|
20
|
+
|
|
21
|
+
## Objective
|
|
22
|
+
|
|
23
|
+
## Acceptance Criteria
|
|
24
|
+
|
|
25
|
+
## Technical Tasks
|
|
26
|
+
|
|
27
|
+
- [ ]
|
|
@@ -29,8 +29,8 @@ tags: []
|
|
|
29
29
|
- [ ] `monoco serve` 成功启动并对外暴露开发者 API。
|
|
30
30
|
- [ ] **Tier 2 (Package Managers)**:
|
|
31
31
|
- [ ] Homebrew Formula 验证通过。
|
|
32
|
-
- [ ] NPM Shim (`npm i -g @monoco/kanban`) 发布。
|
|
33
|
-
- [ ] 用户可以通过 `npx @monoco/kanban` 快速打开本地 Kanban 界面。
|
|
32
|
+
- [ ] NPM Shim (`npm i -g @monoco-io/kanban`) 发布。
|
|
33
|
+
- [ ] 用户可以通过 `npx @monoco-io/kanban` 快速打开本地 Kanban 界面。
|
|
34
34
|
- [ ] **Tier 3 (Consumer Native)**:
|
|
35
35
|
- [ ] MacOS App (.dmg) 打包验证 (PyInstaller)。
|
|
36
36
|
- [ ] Windows App (.exe) 打包验证 (PyInstaller)。
|
|
@@ -16,11 +16,11 @@ tags: []
|
|
|
16
16
|
|
|
17
17
|
## Objective
|
|
18
18
|
|
|
19
|
-
建立 Monoco Kanban 的 NPM 自动发布流水线,使用户能够通过 `npx @monoco/kanban` 或 `npm install -g @monoco/kanban` 一键启动看板界面。该工具应能自动发现并连接本地运行的 Monoco Toolkit 后端。
|
|
19
|
+
建立 Monoco Kanban 的 NPM 自动发布流水线,使用户能够通过 `npx @monoco-io/kanban` 或 `npm install -g @monoco-io/kanban` 一键启动看板界面。该工具应能自动发现并连接本地运行的 Monoco Toolkit 后端。
|
|
20
20
|
|
|
21
21
|
## Acceptance Criteria
|
|
22
22
|
|
|
23
|
-
- [ ] **npx 启动**:运行 `npx @monoco/kanban` 能够启动一个轻量级 Web 服务并自动打开浏览器。
|
|
23
|
+
- [ ] **npx 启动**:运行 `npx @monoco-io/kanban` 能够启动一个轻量级 Web 服务并自动打开浏览器。
|
|
24
24
|
- [ ] **静态分发**:NPM 包应包含 `webui` 的预构建静态资源,无需用户本地进行 `next build`。
|
|
25
25
|
- [ ] **后端发现**:能够默认连接到 `http://localhost:3213` (Monoco 默认端口),并支持通过参数修改。
|
|
26
26
|
- [ ] **自动化发布**:Git Tag (`v*`) 触发自动发布至 NPM Registry。
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: FEAT-0053
|
|
3
|
+
uid: e1a2b3
|
|
4
|
+
type: feature
|
|
5
|
+
status: in_progress
|
|
6
|
+
stage: todo
|
|
7
|
+
title: Kanban UI 重构与依赖现代化
|
|
8
|
+
created_at: "2026-01-13T16:33:00"
|
|
9
|
+
opened_at: "2026-01-13T16:33:00"
|
|
10
|
+
updated_at: "2026-01-13T16:33:00"
|
|
11
|
+
parent: EPIC-0003
|
|
12
|
+
dependencies: []
|
|
13
|
+
related: []
|
|
14
|
+
tags:
|
|
15
|
+
- tech-debt
|
|
16
|
+
- ui
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## FEAT-0053: Kanban UI 重构与依赖现代化
|
|
20
|
+
|
|
21
|
+
## Objective
|
|
22
|
+
|
|
23
|
+
重写 Kanban WebUI 以彻底解决 React 19、Next.js 16+ 与旧版组件库(Blueprint.js)之间的依赖冲突问题,并提升 UI 现代化程度。目前的临时方案(依赖锁定降级)不可持续,阻碍了技术栈的升级。
|
|
24
|
+
|
|
25
|
+
## Acceptance Criteria
|
|
26
|
+
|
|
27
|
+
- [ ] **现代化组件库**:迁移至 Shadcn/UI 或 Mantine 等现代 React 组件库,全面支持 React 19。
|
|
28
|
+
- [ ] **技术栈升级**:
|
|
29
|
+
- Next.js: 升级至 `16.1.1` 或更新。
|
|
30
|
+
- React: 升级至 `19.2.x` (最新稳定版)。
|
|
31
|
+
- Node.js: 升级至 `v24` (Current/LTS Candidate)。
|
|
32
|
+
- [ ] **React 19 支持**:确保所有依赖与 React 19 兼容,无 Peer Dependency 警告。
|
|
33
|
+
- [ ] **ESLint 9 兼容**:升级构建和 lint 工具链至最新标准。
|
|
34
|
+
- [ ] **功能对齐**:确保现有的看板、列表、详情页等功能在重构后完整保留。
|
|
35
|
+
|
|
36
|
+
## Technical Tasks
|
|
37
|
+
|
|
38
|
+
- [x] 评估并选型新的 UI 组件库(推荐 Shadcn/UI)。
|
|
39
|
+
- [x] 初始化新的 UI 框架配置。
|
|
40
|
+
- [ ] 逐步迁移 `apps/webui` 中的组件。
|
|
41
|
+
- [x] 移除 `Toolkit/Kanban/package.json` 中的 `overrides` 配置。
|
|
42
|
+
- [ ] 验证全链路构建通过。
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: FEAT-0057
|
|
3
|
+
type: feature
|
|
4
|
+
status: open
|
|
5
|
+
stage: todo
|
|
6
|
+
title: Kanban Terminal Integration (xterm.js)
|
|
7
|
+
created_at: '2026-01-14T00:00:00'
|
|
8
|
+
updated_at: '2026-01-14T11:47:28'
|
|
9
|
+
parent: EPIC-0010
|
|
10
|
+
dependencies:
|
|
11
|
+
- FEAT-0056
|
|
12
|
+
related: []
|
|
13
|
+
tags:
|
|
14
|
+
- kanban
|
|
15
|
+
- ui
|
|
16
|
+
- pty
|
|
17
|
+
- xterm
|
|
18
|
+
owner: Frontend Engineer
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
# Feature: Kanban Terminal Integration
|
|
22
|
+
|
|
23
|
+
## Context
|
|
24
|
+
|
|
25
|
+
Backend PTY Service (`monoco pty`) has been implemented via FEAT-0056.
|
|
26
|
+
Now we need to integrate the Terminal interface into the Kanban Web UI to achieve the "Cockpit" experience.
|
|
27
|
+
|
|
28
|
+
## Goals
|
|
29
|
+
|
|
30
|
+
1. Integrate `xterm.js` into the Next.js application.
|
|
31
|
+
2. Implement a collapsable Bottom Panel for the terminal.
|
|
32
|
+
3. Connect to `ws://localhost:3124` to stream PTY data.
|
|
33
|
+
|
|
34
|
+
## Technical Design
|
|
35
|
+
|
|
36
|
+
### 1. Dependencies
|
|
37
|
+
|
|
38
|
+
- `xterm`: Core terminal emulator.
|
|
39
|
+
- `xterm-addon-fit`: Auto-resize support.
|
|
40
|
+
- `xterm-addon-web-links`: Clickable links.
|
|
41
|
+
|
|
42
|
+
### 2. Components
|
|
43
|
+
|
|
44
|
+
- **`TerminalPanel`**:
|
|
45
|
+
- Position: Fixed at bottom (`z-50`).
|
|
46
|
+
- Layout: Header (Tabs + Actions) + Body (Xterm Container).
|
|
47
|
+
- State: `isOpen`, `activeSessionId`.
|
|
48
|
+
|
|
49
|
+
### 3. State Management
|
|
50
|
+
|
|
51
|
+
- Use `React Context` (`TerminalContext`) to manage the WebSocket connection and global visibility.
|
|
52
|
+
- **Shortcuts**: Listen for `Cmd+J` locally to toggle visibility.
|
|
53
|
+
|
|
54
|
+
### 4. Connection Logic
|
|
55
|
+
|
|
56
|
+
- Connect to `ws://localhost:3124/ws/{session_id}`.
|
|
57
|
+
- Handshake: Send initial resize event on connect.
|
|
58
|
+
- Reconnect: Implement simple backoff retry strategy.
|
|
59
|
+
|
|
60
|
+
## Tasks
|
|
61
|
+
|
|
62
|
+
- [x] **Setup**: Install `xterm`, `xterm-addon-fit`.
|
|
63
|
+
- [x] **Component**: Create `src/components/terminal/XTermView.tsx`.
|
|
64
|
+
- [x] **Layout**: Create global `TerminalPanel` in `providers.tsx` or layout root.
|
|
65
|
+
- [x] **Logic**: Implement WebSocket hook to pipe data to/from xterm instance.
|
|
66
|
+
- [x] **Style**: Apply Monoco theme (colors, fonts) to xterm.
|
|
67
|
+
|
|
68
|
+
## Acceptance Criteria
|
|
69
|
+
|
|
70
|
+
- [x] Kanban 底部出现 Terminal 条。
|
|
71
|
+
- [x] 点击或按快捷键可展开/折叠面板。
|
|
72
|
+
- [x] 终端能成功连接后端,显示 prompt,并能执行 `ls` 命令。
|
|
73
|
+
- [x] 调整浏览器窗口大小时,终端内容自适应重排 (resize)。
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: FEAT-0059
|
|
3
|
+
uid: vsc001
|
|
4
|
+
type: feature
|
|
5
|
+
status: open
|
|
6
|
+
stage: review
|
|
7
|
+
title: VS Code Extension Scaffold & Webview Bridge
|
|
8
|
+
created_at: '2026-01-14T13:40:00'
|
|
9
|
+
opened_at: '2026-01-14T13:40:00'
|
|
10
|
+
updated_at: '2026-01-14T14:08:05'
|
|
11
|
+
parent: EPIC-0011
|
|
12
|
+
dependencies:
|
|
13
|
+
- FEAT-0044
|
|
14
|
+
related: []
|
|
15
|
+
tags:
|
|
16
|
+
- vscode
|
|
17
|
+
- infrastructure
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## FEAT-0059: VS Code Extension Scaffold & Webview Bridge
|
|
21
|
+
|
|
22
|
+
## Objective
|
|
23
|
+
|
|
24
|
+
搭建 VS Code 插件的基础脚手架,并建立 Webview 与插件进程、插件进程与 Monoco CLI 之间的双向通信桥梁。
|
|
25
|
+
|
|
26
|
+
## Acceptance Criteria
|
|
27
|
+
|
|
28
|
+
- [x] **插件脚手架**:
|
|
29
|
+
- [x] 初始化 VS Code Extension 项目 (TypeScript)。
|
|
30
|
+
- [x] 配置 Activity Bar 图标与 Sidebar View 容器。
|
|
31
|
+
- [x] **Webview 桥接**:
|
|
32
|
+
- [x] 实现基础的 `VsCodeMessenger` 类,封装 `postMessage` 调用。
|
|
33
|
+
- [x] 在前端 Kanban 中集成消息监听器,能够响应来自插件的指令。
|
|
34
|
+
- [x] **CLI 唤起**:
|
|
35
|
+
- [x] 插件能够自动探测并启动 `monoco serve`(如果尚未启动)。
|
|
36
|
+
- [x] 插件能够通过 HTTP/WebSocket 与 Monoco Daemon 交互。
|
|
37
|
+
|
|
38
|
+
## Technical Tasks
|
|
39
|
+
|
|
40
|
+
- [x] 创建 `extensions/vscode` 目录。
|
|
41
|
+
- [x] 实现 VS Code 端的 `WebviewProvider`。
|
|
42
|
+
- [x] 制定 Webview 指令集定义 (e.g., `OPEN_FILE`, `GET_CONFIG`)。
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: FEAT-0060
|
|
3
|
+
uid: vsc002
|
|
4
|
+
type: feature
|
|
5
|
+
status: open
|
|
6
|
+
stage: todo
|
|
7
|
+
title: Kanban Sidebar UX Optimization
|
|
8
|
+
created_at: "2026-01-14T13:42:00"
|
|
9
|
+
opened_at: "2026-01-14T13:42:00"
|
|
10
|
+
updated_at: "2026-01-14T13:42:00"
|
|
11
|
+
parent: EPIC-0011
|
|
12
|
+
dependencies:
|
|
13
|
+
- FEAT-0044
|
|
14
|
+
- FEAT-0059
|
|
15
|
+
related: []
|
|
16
|
+
tags:
|
|
17
|
+
- vscode
|
|
18
|
+
- ui
|
|
19
|
+
- ux
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## FEAT-0060: Kanban Sidebar UX Optimization
|
|
23
|
+
|
|
24
|
+
## Objective
|
|
25
|
+
|
|
26
|
+
针对 VS Code 侧边栏 (Sidebar) 的狭窄宽度进行 UI/UX 专项优化,确保看板在小尺寸下依然可用且美观。
|
|
27
|
+
|
|
28
|
+
## Acceptance Criteria
|
|
29
|
+
|
|
30
|
+
- [ ] **自适应布局**:
|
|
31
|
+
- [ ] 实现 "Sidebar Mode" 媒体查询,在宽度极小时自动隐藏非核心列。
|
|
32
|
+
- [ ] 优化侧边栏下的导航栏(转为底部 Tab 或 汉堡菜单)。
|
|
33
|
+
- [ ] **高密度视图**:
|
|
34
|
+
- [ ] Issue 列表支持“紧凑模式”。
|
|
35
|
+
- [ ] 优化字体大小与间距,确保 VS Code 风格的视觉一致性。
|
|
36
|
+
- [ ] **主题同步**:
|
|
37
|
+
- [ ] 自动检测并匹配 VS Code 的当前主题颜色(背景、前景、Accent Color)。
|
|
38
|
+
|
|
39
|
+
## Technical Tasks
|
|
40
|
+
|
|
41
|
+
- [ ] 在 `PageHeader` 中集成侧边栏探测逻辑。
|
|
42
|
+
- [ ] 为 `IssueCard` 增加 `compact` 变体。
|
|
43
|
+
- [ ] 编写 CSS 变量映射层,对接 VS Code 的 `--vscode-*` CSS 变量。
|