zero-workspace 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -0
- package/README.md +187 -0
- package/config/component-versions.json +16 -0
- package/config/scenarioCapabilities.json +29 -0
- package/config/version-notes.yaml +244 -0
- package/dist/adapters/OutputAdapter.d.ts +79 -0
- package/dist/adapters/OutputAdapter.d.ts.map +1 -0
- package/dist/adapters/OutputAdapter.js +124 -0
- package/dist/adapters/OutputAdapter.js.map +1 -0
- package/dist/cli/check-node-version.d.ts +3 -0
- package/dist/cli/check-node-version.d.ts.map +1 -0
- package/dist/cli/check-node-version.js +153 -0
- package/dist/cli/check-node-version.js.map +1 -0
- package/dist/cli/plugins.d.ts +41 -0
- package/dist/cli/plugins.d.ts.map +1 -0
- package/dist/cli/plugins.js +742 -0
- package/dist/cli/plugins.js.map +1 -0
- package/dist/cli/rebuild.d.ts +63 -0
- package/dist/cli/rebuild.d.ts.map +1 -0
- package/dist/cli/rebuild.js +989 -0
- package/dist/cli/rebuild.js.map +1 -0
- package/dist/cli/repair.d.ts +7 -0
- package/dist/cli/repair.d.ts.map +1 -0
- package/dist/cli/repair.js +925 -0
- package/dist/cli/repair.js.map +1 -0
- package/dist/cli/setup.d.ts +7 -0
- package/dist/cli/setup.d.ts.map +1 -0
- package/dist/cli/setup.js +452 -0
- package/dist/cli/setup.js.map +1 -0
- package/dist/cli/update.d.ts +10 -0
- package/dist/cli/update.d.ts.map +1 -0
- package/dist/cli/update.js +426 -0
- package/dist/cli/update.js.map +1 -0
- package/dist/cli/webui.d.ts +6 -0
- package/dist/cli/webui.d.ts.map +1 -0
- package/dist/cli/webui.js +210 -0
- package/dist/cli/webui.js.map +1 -0
- package/dist/http/index.d.ts +3 -0
- package/dist/http/index.d.ts.map +1 -0
- package/dist/http/index.js +15 -0
- package/dist/http/index.js.map +1 -0
- package/dist/http/middleware/errorHandler.d.ts +16 -0
- package/dist/http/middleware/errorHandler.d.ts.map +1 -0
- package/dist/http/middleware/errorHandler.js +79 -0
- package/dist/http/middleware/errorHandler.js.map +1 -0
- package/dist/http/routes/admin.d.ts +3 -0
- package/dist/http/routes/admin.d.ts.map +1 -0
- package/dist/http/routes/admin.js +730 -0
- package/dist/http/routes/admin.js.map +1 -0
- package/dist/http/routes/backup.d.ts +3 -0
- package/dist/http/routes/backup.d.ts.map +1 -0
- package/dist/http/routes/backup.js +172 -0
- package/dist/http/routes/backup.js.map +1 -0
- package/dist/http/routes/config.d.ts +3 -0
- package/dist/http/routes/config.d.ts.map +1 -0
- package/dist/http/routes/config.js +157 -0
- package/dist/http/routes/config.js.map +1 -0
- package/dist/http/routes/context.d.ts +3 -0
- package/dist/http/routes/context.d.ts.map +1 -0
- package/dist/http/routes/context.js +82 -0
- package/dist/http/routes/context.js.map +1 -0
- package/dist/http/routes/log.d.ts +3 -0
- package/dist/http/routes/log.d.ts.map +1 -0
- package/dist/http/routes/log.js +105 -0
- package/dist/http/routes/log.js.map +1 -0
- package/dist/http/routes/memo.d.ts +6 -0
- package/dist/http/routes/memo.d.ts.map +1 -0
- package/dist/http/routes/memo.js +29 -0
- package/dist/http/routes/memo.js.map +1 -0
- package/dist/http/routes/node.d.ts +3 -0
- package/dist/http/routes/node.d.ts.map +1 -0
- package/dist/http/routes/node.js +251 -0
- package/dist/http/routes/node.js.map +1 -0
- package/dist/http/routes/state.d.ts +3 -0
- package/dist/http/routes/state.d.ts.map +1 -0
- package/dist/http/routes/state.js +48 -0
- package/dist/http/routes/state.js.map +1 -0
- package/dist/http/routes/workspace.d.ts +3 -0
- package/dist/http/routes/workspace.d.ts.map +1 -0
- package/dist/http/routes/workspace.js +249 -0
- package/dist/http/routes/workspace.js.map +1 -0
- package/dist/http/server.d.ts +10 -0
- package/dist/http/server.d.ts.map +1 -0
- package/dist/http/server.js +284 -0
- package/dist/http/server.js.map +1 -0
- package/dist/http/services.d.ts +93 -0
- package/dist/http/services.d.ts.map +1 -0
- package/dist/http/services.js +297 -0
- package/dist/http/services.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1073 -0
- package/dist/index.js.map +1 -0
- package/dist/prompts/guidanceContent.d.ts +18 -0
- package/dist/prompts/guidanceContent.d.ts.map +1 -0
- package/dist/prompts/guidanceContent.js +814 -0
- package/dist/prompts/guidanceContent.js.map +1 -0
- package/dist/prompts/index.d.ts +2 -0
- package/dist/prompts/index.d.ts.map +1 -0
- package/dist/prompts/index.js +4 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/prompts/instructions.d.ts +56 -0
- package/dist/prompts/instructions.d.ts.map +1 -0
- package/dist/prompts/instructions.js +1343 -0
- package/dist/prompts/instructions.js.map +1 -0
- package/dist/services/BackupService.d.ts +104 -0
- package/dist/services/BackupService.d.ts.map +1 -0
- package/dist/services/BackupService.js +549 -0
- package/dist/services/BackupService.js.map +1 -0
- package/dist/services/CapabilityService.d.ts +38 -0
- package/dist/services/CapabilityService.d.ts.map +1 -0
- package/dist/services/CapabilityService.js +256 -0
- package/dist/services/CapabilityService.js.map +1 -0
- package/dist/services/ConfigService.d.ts +35 -0
- package/dist/services/ConfigService.d.ts.map +1 -0
- package/dist/services/ConfigService.js +105 -0
- package/dist/services/ConfigService.js.map +1 -0
- package/dist/services/ContextService.d.ts +65 -0
- package/dist/services/ContextService.d.ts.map +1 -0
- package/dist/services/ContextService.js +503 -0
- package/dist/services/ContextService.js.map +1 -0
- package/dist/services/DetectionService.d.ts +76 -0
- package/dist/services/DetectionService.d.ts.map +1 -0
- package/dist/services/DetectionService.js +262 -0
- package/dist/services/DetectionService.js.map +1 -0
- package/dist/services/DispatchService.d.ts +267 -0
- package/dist/services/DispatchService.d.ts.map +1 -0
- package/dist/services/DispatchService.js +1357 -0
- package/dist/services/DispatchService.js.map +1 -0
- package/dist/services/EventService.d.ts +81 -0
- package/dist/services/EventService.d.ts.map +1 -0
- package/dist/services/EventService.js +187 -0
- package/dist/services/EventService.js.map +1 -0
- package/dist/services/GuidanceService.d.ts +64 -0
- package/dist/services/GuidanceService.d.ts.map +1 -0
- package/dist/services/GuidanceService.js +259 -0
- package/dist/services/GuidanceService.js.map +1 -0
- package/dist/services/HealthService.d.ts +43 -0
- package/dist/services/HealthService.d.ts.map +1 -0
- package/dist/services/HealthService.js +276 -0
- package/dist/services/HealthService.js.map +1 -0
- package/dist/services/InstallationService.d.ts +62 -0
- package/dist/services/InstallationService.d.ts.map +1 -0
- package/dist/services/InstallationService.js +204 -0
- package/dist/services/InstallationService.js.map +1 -0
- package/dist/services/LogService.d.ts +35 -0
- package/dist/services/LogService.d.ts.map +1 -0
- package/dist/services/LogService.js +189 -0
- package/dist/services/LogService.js.map +1 -0
- package/dist/services/MemoService.d.ts +39 -0
- package/dist/services/MemoService.d.ts.map +1 -0
- package/dist/services/MemoService.js +288 -0
- package/dist/services/MemoService.js.map +1 -0
- package/dist/services/NodeService.d.ts +90 -0
- package/dist/services/NodeService.d.ts.map +1 -0
- package/dist/services/NodeService.js +958 -0
- package/dist/services/NodeService.js.map +1 -0
- package/dist/services/OpenSpecParser.d.ts +43 -0
- package/dist/services/OpenSpecParser.d.ts.map +1 -0
- package/dist/services/OpenSpecParser.js +191 -0
- package/dist/services/OpenSpecParser.js.map +1 -0
- package/dist/services/ReferenceService.d.ts +35 -0
- package/dist/services/ReferenceService.d.ts.map +1 -0
- package/dist/services/ReferenceService.js +195 -0
- package/dist/services/ReferenceService.js.map +1 -0
- package/dist/services/RepairService.d.ts +36 -0
- package/dist/services/RepairService.d.ts.map +1 -0
- package/dist/services/RepairService.js +429 -0
- package/dist/services/RepairService.js.map +1 -0
- package/dist/services/SearchService.d.ts +34 -0
- package/dist/services/SearchService.d.ts.map +1 -0
- package/dist/services/SearchService.js +293 -0
- package/dist/services/SearchService.js.map +1 -0
- package/dist/services/SessionService.d.ts +136 -0
- package/dist/services/SessionService.d.ts.map +1 -0
- package/dist/services/SessionService.js +297 -0
- package/dist/services/SessionService.js.map +1 -0
- package/dist/services/StateService.d.ts +97 -0
- package/dist/services/StateService.d.ts.map +1 -0
- package/dist/services/StateService.js +846 -0
- package/dist/services/StateService.js.map +1 -0
- package/dist/services/TutorialService.d.ts +114 -0
- package/dist/services/TutorialService.d.ts.map +1 -0
- package/dist/services/TutorialService.js +1262 -0
- package/dist/services/TutorialService.js.map +1 -0
- package/dist/services/WorkspaceService.d.ts +273 -0
- package/dist/services/WorkspaceService.d.ts.map +1 -0
- package/dist/services/WorkspaceService.js +1764 -0
- package/dist/services/WorkspaceService.js.map +1 -0
- package/dist/services/index.d.ts +15 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/index.js +14 -0
- package/dist/services/index.js.map +1 -0
- package/dist/storage/FileSystemAdapter.d.ts +223 -0
- package/dist/storage/FileSystemAdapter.d.ts.map +1 -0
- package/dist/storage/FileSystemAdapter.js +384 -0
- package/dist/storage/FileSystemAdapter.js.map +1 -0
- package/dist/storage/JsonStorage.d.ts +158 -0
- package/dist/storage/JsonStorage.d.ts.map +1 -0
- package/dist/storage/JsonStorage.js +613 -0
- package/dist/storage/JsonStorage.js.map +1 -0
- package/dist/storage/MarkdownStorage.d.ts +178 -0
- package/dist/storage/MarkdownStorage.d.ts.map +1 -0
- package/dist/storage/MarkdownStorage.js +918 -0
- package/dist/storage/MarkdownStorage.js.map +1 -0
- package/dist/storage/SessionBindingStorage.d.ts +69 -0
- package/dist/storage/SessionBindingStorage.d.ts.map +1 -0
- package/dist/storage/SessionBindingStorage.js +131 -0
- package/dist/storage/SessionBindingStorage.js.map +1 -0
- package/dist/storage/index.d.ts +6 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +6 -0
- package/dist/storage/index.js.map +1 -0
- package/dist/tools/capability.d.ts +18 -0
- package/dist/tools/capability.d.ts.map +1 -0
- package/dist/tools/capability.js +73 -0
- package/dist/tools/capability.js.map +1 -0
- package/dist/tools/config.d.ts +14 -0
- package/dist/tools/config.d.ts.map +1 -0
- package/dist/tools/config.js +61 -0
- package/dist/tools/config.js.map +1 -0
- package/dist/tools/context.d.ts +22 -0
- package/dist/tools/context.d.ts.map +1 -0
- package/dist/tools/context.js +139 -0
- package/dist/tools/context.js.map +1 -0
- package/dist/tools/dispatch.d.ts +41 -0
- package/dist/tools/dispatch.d.ts.map +1 -0
- package/dist/tools/dispatch.js +380 -0
- package/dist/tools/dispatch.js.map +1 -0
- package/dist/tools/help.d.ts +44 -0
- package/dist/tools/help.d.ts.map +1 -0
- package/dist/tools/help.js +227 -0
- package/dist/tools/help.js.map +1 -0
- package/dist/tools/import.d.ts +17 -0
- package/dist/tools/import.d.ts.map +1 -0
- package/dist/tools/import.js +96 -0
- package/dist/tools/import.js.map +1 -0
- package/dist/tools/index.d.ts +12 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +13 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/log.d.ts +21 -0
- package/dist/tools/log.d.ts.map +1 -0
- package/dist/tools/log.js +93 -0
- package/dist/tools/log.js.map +1 -0
- package/dist/tools/memo.d.ts +26 -0
- package/dist/tools/memo.d.ts.map +1 -0
- package/dist/tools/memo.js +188 -0
- package/dist/tools/memo.js.map +1 -0
- package/dist/tools/node.d.ts +34 -0
- package/dist/tools/node.d.ts.map +1 -0
- package/dist/tools/node.js +328 -0
- package/dist/tools/node.js.map +1 -0
- package/dist/tools/search.d.ts +14 -0
- package/dist/tools/search.d.ts.map +1 -0
- package/dist/tools/search.js +95 -0
- package/dist/tools/search.js.map +1 -0
- package/dist/tools/session.d.ts +22 -0
- package/dist/tools/session.d.ts.map +1 -0
- package/dist/tools/session.js +127 -0
- package/dist/tools/session.js.map +1 -0
- package/dist/tools/state.d.ts +10 -0
- package/dist/tools/state.d.ts.map +1 -0
- package/dist/tools/state.js +79 -0
- package/dist/tools/state.js.map +1 -0
- package/dist/tools/workspace.d.ts +38 -0
- package/dist/tools/workspace.d.ts.map +1 -0
- package/dist/tools/workspace.js +240 -0
- package/dist/tools/workspace.js.map +1 -0
- package/dist/types/capability.d.ts +36 -0
- package/dist/types/capability.d.ts.map +1 -0
- package/dist/types/capability.js +3 -0
- package/dist/types/capability.js.map +1 -0
- package/dist/types/confirmation.d.ts +35 -0
- package/dist/types/confirmation.d.ts.map +1 -0
- package/dist/types/confirmation.js +3 -0
- package/dist/types/confirmation.js.map +1 -0
- package/dist/types/context.d.ts +174 -0
- package/dist/types/context.d.ts.map +1 -0
- package/dist/types/context.js +3 -0
- package/dist/types/context.js.map +1 -0
- package/dist/types/errors.d.ts +81 -0
- package/dist/types/errors.d.ts.map +1 -0
- package/dist/types/errors.js +154 -0
- package/dist/types/errors.js.map +1 -0
- package/dist/types/guidance.d.ts +162 -0
- package/dist/types/guidance.d.ts.map +1 -0
- package/dist/types/guidance.js +4 -0
- package/dist/types/guidance.js.map +1 -0
- package/dist/types/health.d.ts +61 -0
- package/dist/types/health.d.ts.map +1 -0
- package/dist/types/health.js +3 -0
- package/dist/types/health.js.map +1 -0
- package/dist/types/index.d.ts +10 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +11 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/memo.d.ts +132 -0
- package/dist/types/memo.d.ts.map +1 -0
- package/dist/types/memo.js +3 -0
- package/dist/types/memo.js.map +1 -0
- package/dist/types/node.d.ts +316 -0
- package/dist/types/node.d.ts.map +1 -0
- package/dist/types/node.js +3 -0
- package/dist/types/node.js.map +1 -0
- package/dist/types/repair.d.ts +62 -0
- package/dist/types/repair.d.ts.map +1 -0
- package/dist/types/repair.js +4 -0
- package/dist/types/repair.js.map +1 -0
- package/dist/types/search.d.ts +58 -0
- package/dist/types/search.d.ts.map +1 -0
- package/dist/types/search.js +3 -0
- package/dist/types/search.js.map +1 -0
- package/dist/types/settings.d.ts +109 -0
- package/dist/types/settings.d.ts.map +1 -0
- package/dist/types/settings.js +30 -0
- package/dist/types/settings.js.map +1 -0
- package/dist/types/workspace.d.ts +357 -0
- package/dist/types/workspace.d.ts.map +1 -0
- package/dist/types/workspace.js +3 -0
- package/dist/types/workspace.js.map +1 -0
- package/dist/utils/contentValidation.d.ts +47 -0
- package/dist/utils/contentValidation.d.ts.map +1 -0
- package/dist/utils/contentValidation.js +93 -0
- package/dist/utils/contentValidation.js.map +1 -0
- package/dist/utils/devLog.d.ts +43 -0
- package/dist/utils/devLog.d.ts.map +1 -0
- package/dist/utils/devLog.js +94 -0
- package/dist/utils/devLog.js.map +1 -0
- package/dist/utils/errorLogger.d.ts +27 -0
- package/dist/utils/errorLogger.d.ts.map +1 -0
- package/dist/utils/errorLogger.js +105 -0
- package/dist/utils/errorLogger.js.map +1 -0
- package/dist/utils/git.d.ts +123 -0
- package/dist/utils/git.d.ts.map +1 -0
- package/dist/utils/git.js +400 -0
- package/dist/utils/git.js.map +1 -0
- package/dist/utils/hash.d.ts +32 -0
- package/dist/utils/hash.d.ts.map +1 -0
- package/dist/utils/hash.js +37 -0
- package/dist/utils/hash.js.map +1 -0
- package/dist/utils/id.d.ts +54 -0
- package/dist/utils/id.d.ts.map +1 -0
- package/dist/utils/id.js +96 -0
- package/dist/utils/id.js.map +1 -0
- package/dist/utils/index.d.ts +8 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +9 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/logger.d.ts +42 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +228 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/manualChangeFormatter.d.ts +8 -0
- package/dist/utils/manualChangeFormatter.d.ts.map +1 -0
- package/dist/utils/manualChangeFormatter.js +21 -0
- package/dist/utils/manualChangeFormatter.js.map +1 -0
- package/dist/utils/paramValidator.d.ts +35 -0
- package/dist/utils/paramValidator.d.ts.map +1 -0
- package/dist/utils/paramValidator.js +214 -0
- package/dist/utils/paramValidator.js.map +1 -0
- package/dist/utils/port.d.ts +7 -0
- package/dist/utils/port.d.ts.map +1 -0
- package/dist/utils/port.js +28 -0
- package/dist/utils/port.js.map +1 -0
- package/dist/utils/processManager.d.ts +53 -0
- package/dist/utils/processManager.d.ts.map +1 -0
- package/dist/utils/processManager.js +267 -0
- package/dist/utils/processManager.js.map +1 -0
- package/dist/utils/sessionLogger.d.ts +28 -0
- package/dist/utils/sessionLogger.d.ts.map +1 -0
- package/dist/utils/sessionLogger.js +142 -0
- package/dist/utils/sessionLogger.js.map +1 -0
- package/dist/utils/time.d.ts +15 -0
- package/dist/utils/time.d.ts.map +1 -0
- package/dist/utils/time.js +32 -0
- package/dist/utils/time.js.map +1 -0
- package/dist/utils/validation.d.ts +23 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +88 -0
- package/dist/utils/validation.js.map +1 -0
- package/docs//346/227/245/345/277/227/347/263/273/347/273/237.md +389 -0
- package/docs//347/224/250/346/210/267/346/211/213/345/206/214.md +1446 -0
- package/docs//347/224/250/346/210/267/346/211/213/345/206/214/344/270/216/346/212/200/346/234/257/346/214/207/345/215/227.md +873 -0
- package/package.json +94 -0
- package/plugin/README.md +141 -0
- package/plugin/agents/zero-executor.md +114 -0
- package/plugin/agents/zero-reviewer.md +133 -0
- package/plugin/docs/diagnostic-guide.md +128 -0
- package/plugin/hooks/hooks.json.deprecated +70 -0
- package/plugin/scripts/cursor-hook-entry.cjs +217 -0
- package/plugin/scripts/hook-entry.cjs +663 -0
- package/plugin/scripts/openspec-import.cjs +714 -0
- package/plugin/scripts/shared/binding.cjs +98 -0
- package/plugin/scripts/shared/config.cjs +65 -0
- package/plugin/scripts/shared/context.cjs +120 -0
- package/plugin/scripts/shared/index.cjs +34 -0
- package/plugin/scripts/shared/logger.cjs +196 -0
- package/plugin/scripts/shared/reminder.cjs +261 -0
- package/plugin/scripts/shared/utils.cjs +62 -0
- package/plugin/scripts/shared/workspace.cjs +322 -0
- package/plugin/skills/aligning-intent/SKILL.md +275 -0
- package/plugin/skills/analyzing-measurements/SKILL.md +223 -0
- package/plugin/skills/bootstrapping-workspace/SKILL.md +260 -0
- package/plugin/skills/designing-solutions/SKILL.md +363 -0
- package/plugin/skills/diagnosing-issues/SKILL.md +219 -0
- package/plugin/skills/discovering-context/SKILL.md +283 -0
- package/plugin/skills/dispatching-parent/SKILL.md +399 -0
- package/plugin/skills/executing-task/SKILL.md +340 -0
- package/plugin/skills/memo-create/SKILL.md +222 -0
- package/plugin/skills/planning-verification/SKILL.md +245 -0
- package/plugin/skills/preparing-dispatch/SKILL.md +299 -0
- package/plugin/skills/researching-tech/SKILL.md +223 -0
- package/plugin/skills/reviewing-quality/SKILL.md +354 -0
- package/plugin/skills/reviewing-spec/SKILL.md +333 -0
- package/plugin/skills/starting-info-flow/SKILL.md +196 -0
- package/web/README.md +5 -0
- package/web/dist/assets/DocsView-Bls_Vjsr.css +1 -0
- package/web/dist/assets/DocsView-Cxc0B63r.js +1447 -0
- package/web/dist/assets/HomeView-C7df9thb.js +9 -0
- package/web/dist/assets/HomeView-ufUdnfHk.css +1 -0
- package/web/dist/assets/MarkdownContent-DXp6CtSP.js +308 -0
- package/web/dist/assets/MarkdownContent-NFqiOBLH.css +1 -0
- package/web/dist/assets/NotFoundView-BYX1oZAn.css +1 -0
- package/web/dist/assets/NotFoundView-zrc0lT9q.js +1 -0
- package/web/dist/assets/WorkspaceView-BckqgNcX.js +27 -0
- package/web/dist/assets/WorkspaceView-J1dgpYMx.css +1 -0
- package/web/dist/assets/WsConfirmDialog-C1CvL4my.css +1 -0
- package/web/dist/assets/WsConfirmDialog-gLEP7uBD.js +4 -0
- package/web/dist/assets/arc-DPkKTkUT.js +1 -0
- package/web/dist/assets/architectureDiagram-VXUJARFQ-CEGpqUlZ.js +36 -0
- package/web/dist/assets/blockDiagram-VD42YOAC-Bv-mqdQH.js +122 -0
- package/web/dist/assets/c4Diagram-YG6GDRKO-DRyPatZ_.js +10 -0
- package/web/dist/assets/channel-B84mKLDZ.js +1 -0
- package/web/dist/assets/chunk-4BX2VUAB-c7DivX0u.js +1 -0
- package/web/dist/assets/chunk-55IACEB6-CGKTaLlo.js +1 -0
- package/web/dist/assets/chunk-B4BG7PRW-Czhx5Q_P.js +165 -0
- package/web/dist/assets/chunk-DI55MBZ5-CQVA7hcZ.js +220 -0
- package/web/dist/assets/chunk-FMBD7UC4-hEiPmi7V.js +15 -0
- package/web/dist/assets/chunk-QN33PNHL-rL6yYI-E.js +1 -0
- package/web/dist/assets/chunk-QZHKN3VN-BRyHBBzq.js +1 -0
- package/web/dist/assets/chunk-TZMSLE5B-D4PXmTz9.js +1 -0
- package/web/dist/assets/classDiagram-2ON5EDUG-CNn53ohi.js +1 -0
- package/web/dist/assets/classDiagram-v2-WZHVMYZB-CNn53ohi.js +1 -0
- package/web/dist/assets/cose-bilkent-S5V4N54A-BAREnRga.js +1 -0
- package/web/dist/assets/cytoscape.esm-BnkdMOzK.js +321 -0
- package/web/dist/assets/dagre-6UL2VRFP-DaYzb3MT.js +4 -0
- package/web/dist/assets/defaultLocale-C4B-KCzX.js +1 -0
- package/web/dist/assets/diagram-PSM6KHXK-BFltDqvd.js +24 -0
- package/web/dist/assets/diagram-QEK2KX5R-CR4VU2La.js +43 -0
- package/web/dist/assets/diagram-S2PKOQOG-0UfIeT-1.js +24 -0
- package/web/dist/assets/erDiagram-Q2GNP2WA-Bo17Xmng.js +60 -0
- package/web/dist/assets/flowDiagram-NV44I4VS-CzqhQp8s.js +162 -0
- package/web/dist/assets/ganttDiagram-JELNMOA3-TXwXtUcq.js +267 -0
- package/web/dist/assets/gitGraphDiagram-NY62KEGX-CoFQTy9O.js +65 -0
- package/web/dist/assets/graph-CIQcRIVd.js +1 -0
- package/web/dist/assets/index-BgLd_o_M.css +1 -0
- package/web/dist/assets/index-Cd_J3fZn.js +30 -0
- package/web/dist/assets/infoDiagram-WHAUD3N6-Dq0xXfVu.js +2 -0
- package/web/dist/assets/init-Gi6I4Gst.js +1 -0
- package/web/dist/assets/journeyDiagram-XKPGCS4Q-jIg5BOfC.js +139 -0
- package/web/dist/assets/kanban-definition-3W4ZIXB7-D2giu6aZ.js +89 -0
- package/web/dist/assets/katex-XbL3y5x-.js +261 -0
- package/web/dist/assets/layout-Bm-XCM-8.js +1 -0
- package/web/dist/assets/linear-FbekP9OZ.js +1 -0
- package/web/dist/assets/min-BrRCpYmF.js +1 -0
- package/web/dist/assets/mindmap-definition-VGOIOE7T-o-4ubbY9.js +68 -0
- package/web/dist/assets/noto-emoji-0-400-normal-BTQbhB77.woff +0 -0
- package/web/dist/assets/noto-emoji-0-400-normal-DHdy6Uhy.woff2 +0 -0
- package/web/dist/assets/noto-emoji-1-400-normal-0IvkdXBB.woff +0 -0
- package/web/dist/assets/noto-emoji-1-400-normal-BY9OovbM.woff2 +0 -0
- package/web/dist/assets/noto-emoji-10-400-normal-D9w4QCof.woff2 +0 -0
- package/web/dist/assets/noto-emoji-10-400-normal-DtCumcZR.woff +0 -0
- package/web/dist/assets/noto-emoji-11-400-normal-BboTlyvx.woff +0 -0
- package/web/dist/assets/noto-emoji-12-400-normal-BB5pgBKj.woff2 +0 -0
- package/web/dist/assets/noto-emoji-12-400-normal-g186qhiA.woff +0 -0
- package/web/dist/assets/noto-emoji-2-400-normal-BKCR1azW.woff2 +0 -0
- package/web/dist/assets/noto-emoji-2-400-normal-BYH0KhDr.woff +0 -0
- package/web/dist/assets/noto-emoji-3-400-normal-CnPTUeEK.woff +0 -0
- package/web/dist/assets/noto-emoji-3-400-normal-TrTb2VQM.woff2 +0 -0
- package/web/dist/assets/noto-emoji-4-400-normal-BxD0KVdj.woff +0 -0
- package/web/dist/assets/noto-emoji-4-400-normal-s_n9EyG1.woff2 +0 -0
- package/web/dist/assets/noto-emoji-5-400-normal-C190AIxR.woff +0 -0
- package/web/dist/assets/noto-emoji-5-400-normal-Ctfx4xc6.woff2 +0 -0
- package/web/dist/assets/noto-emoji-6-400-normal-DlXlXWt7.woff +0 -0
- package/web/dist/assets/noto-emoji-6-400-normal-NzsjD754.woff2 +0 -0
- package/web/dist/assets/noto-emoji-7-400-normal-BHP8KeA6.woff2 +0 -0
- package/web/dist/assets/noto-emoji-7-400-normal-CtuKhtAZ.woff +0 -0
- package/web/dist/assets/noto-emoji-8-400-normal-DR49ZFe7.woff +0 -0
- package/web/dist/assets/noto-emoji-8-400-normal-Dvmkf6b2.woff2 +0 -0
- package/web/dist/assets/noto-emoji-9-400-normal-BeHJQ2iK.woff2 +0 -0
- package/web/dist/assets/noto-emoji-9-400-normal-BlXmCgeQ.woff +0 -0
- package/web/dist/assets/ordinal-Cboi1Yqb.js +1 -0
- package/web/dist/assets/pieDiagram-ADFJNKIX-C45wSpld.js +30 -0
- package/web/dist/assets/quadrantDiagram-AYHSOK5B-tv-_fe-W.js +7 -0
- package/web/dist/assets/reduce-CoLNNlNb.js +1 -0
- package/web/dist/assets/requirementDiagram-UZGBJVZJ-Dn6PDfkL.js +64 -0
- package/web/dist/assets/sankeyDiagram-TZEHDZUN-CbXTZAsG.js +10 -0
- package/web/dist/assets/sequenceDiagram-WL72ISMW-B-o1CUJ5.js +145 -0
- package/web/dist/assets/stateDiagram-FKZM4ZOC-hzrupXQi.js +1 -0
- package/web/dist/assets/stateDiagram-v2-4FDKWEC3-DN-c2M96.js +1 -0
- package/web/dist/assets/timeline-definition-IT6M3QCI-R5SP9GDo.js +61 -0
- package/web/dist/assets/treemap-KMMF4GRG-Pg9KlUOt.js +128 -0
- package/web/dist/assets/xychartDiagram-PRI3JC2R-C3vbJhd1.js +7 -0
- package/web/dist/favicon.svg +13 -0
- package/web/dist/index.html +17 -0
- package//351/205/215/347/275/256/346/226/271/345/274/217.md +330 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.node-exec[data-v-0a165cd6]{width:20px;height:20px;box-sizing:border-box;position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.node-exec.pending[data-v-0a165cd6]{border:2px solid var(--border-heavy);background:var(--card-bg)}.node-exec.implementing[data-v-0a165cd6]{border:2px solid var(--accent-blue);background:repeating-linear-gradient(45deg,var(--accent-blue),var(--accent-blue) 3px,#fff 3px,#fff 6px)}.node-exec.validating[data-v-0a165cd6]{border:2px solid var(--accent-orange);background:var(--accent-orange)}.node-exec.validating[data-v-0a165cd6]:after{content:"";width:6px;height:6px;background:#fff}.node-exec.completed[data-v-0a165cd6]{border:2px solid var(--border-heavy);background:var(--border-heavy)}.node-exec.failed[data-v-0a165cd6]{border:2px solid var(--accent-red);background:var(--accent-red)}.node-exec.failed[data-v-0a165cd6]:before,.node-exec.failed[data-v-0a165cd6]:after{content:"";position:absolute;top:50%;left:50%;width:12px;height:2px;background:#fff}.node-exec.failed[data-v-0a165cd6]:before{transform:translate(-50%,-50%) rotate(45deg)}.node-exec.failed[data-v-0a165cd6]:after{transform:translate(-50%,-50%) rotate(-45deg)}.node-plan-wrapper[data-v-0a165cd6]{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.node-plan[data-v-0a165cd6]{width:14px;height:14px;transform:rotate(45deg);box-sizing:border-box;position:relative;display:flex;align-items:center;justify-content:center}.node-plan.pending[data-v-0a165cd6]{border:2px solid var(--border-heavy);background:var(--card-bg)}.node-plan.planning[data-v-0a165cd6]{border:2px solid var(--accent-purple);background:repeating-linear-gradient(0deg,var(--accent-purple),var(--accent-purple) 2px,#fff 2px,#fff 4px)}.node-plan.monitoring[data-v-0a165cd6]{border:2px solid var(--accent-blue);background:#fff}.node-plan.monitoring[data-v-0a165cd6]:after{content:"";width:4px;height:4px;background:var(--accent-blue)}.node-plan.completed[data-v-0a165cd6]{border:2px solid var(--border-heavy);background:var(--border-heavy)}.node-plan.cancelled[data-v-0a165cd6]{border:2px dashed #9CA3AF;background:transparent}[data-theme=dark] .node-exec.implementing[data-v-0a165cd6]{background:repeating-linear-gradient(45deg,var(--accent-blue),var(--accent-blue) 3px,#1a1a1a 3px,#1a1a1a 6px)}[data-theme=dark] .node-plan.planning[data-v-0a165cd6]{background:repeating-linear-gradient(0deg,var(--accent-purple),var(--accent-purple) 2px,#1a1a1a 2px,#1a1a1a 4px)}[data-theme=dark] .node-plan.monitoring[data-v-0a165cd6]{background:#1a1a1a}[data-theme=dark] .node-exec.validating[data-v-0a165cd6]:after{background:#181818}[data-theme=dark] .node-exec.failed[data-v-0a165cd6]:before,[data-theme=dark] .node-exec.failed[data-v-0a165cd6]:after{background:#181818}.node-memo[data-v-0a165cd6]{width:20px;height:20px;position:relative;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;gap:1px}.node-memo[data-v-0a165cd6]:before{content:"";position:absolute;top:50%;left:50%;width:20px;height:17px;transform:translate(-50%,-50%);background:var(--accent-green);clip-path:polygon(25% 0%,75% 0%,100% 50%,75% 100%,25% 100%,0% 50%)}.node-memo[data-v-0a165cd6]:after{content:"";position:absolute;top:50%;left:50%;width:16px;height:14px;transform:translate(-50%,-50%);background:var(--card-bg);clip-path:polygon(25% 0%,75% 0%,100% 50%,75% 100%,25% 100%,0% 50%)}.memo-line[data-v-0a165cd6]{width:8px;height:2px;background:var(--accent-green);flex-shrink:0;position:relative;z-index:1}.node-memo.lines-1[data-v-0a165cd6]{justify-content:center}.node-memo.lines-2[data-v-0a165cd6],.node-memo.lines-3[data-v-0a165cd6]{justify-content:center;gap:2px}.node-memo.lines-3 .memo-line[data-v-0a165cd6]{height:1.5px}.focus-wrapper[data-v-e0c1e480]{position:relative;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0}.focus-crosshair[data-v-e0c1e480]{position:absolute;inset:-3px;pointer-events:none}.focus-crosshair[data-v-e0c1e480]:before,.focus-crosshair[data-v-e0c1e480]:after,.focus-crosshair span[data-v-e0c1e480]:before,.focus-crosshair span[data-v-e0c1e480]:after{content:"";position:absolute;width:5px;height:5px;border-color:var(--accent-red);border-style:solid;border-width:0}.focus-crosshair[data-v-e0c1e480]:before{top:0;left:0;border-top-width:2px;border-left-width:2px}.focus-crosshair[data-v-e0c1e480]:after{top:0;right:0;border-top-width:2px;border-right-width:2px}.focus-crosshair span[data-v-e0c1e480]{display:block;position:absolute;inset:0}.focus-crosshair span[data-v-e0c1e480]:before{bottom:0;left:0;border-bottom-width:2px;border-left-width:2px}.focus-crosshair span[data-v-e0c1e480]:after{bottom:0;right:0;border-bottom-width:2px;border-right-width:2px}.focus-wrapper-diamond[data-v-e0c1e480]{position:relative;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0}.node-plan-wrapper[data-v-e0c1e480]{display:flex;align-items:center;justify-content:center}.focus-diamond[data-v-e0c1e480]{position:absolute;top:50%;left:50%;width:22px;height:22px;transform:translate(-50%,-50%) rotate(45deg);pointer-events:none}.focus-diamond[data-v-e0c1e480]:before,.focus-diamond[data-v-e0c1e480]:after,.focus-diamond span[data-v-e0c1e480]:before,.focus-diamond span[data-v-e0c1e480]:after{content:"";position:absolute;width:5px;height:5px;border-color:var(--accent-red);border-style:solid;border-width:0}.focus-diamond[data-v-e0c1e480]:before{top:0;left:0;border-top-width:2px;border-left-width:2px}.focus-diamond[data-v-e0c1e480]:after{top:0;right:0;border-top-width:2px;border-right-width:2px}.focus-diamond span[data-v-e0c1e480]{display:block;position:absolute;inset:0}.focus-diamond span[data-v-e0c1e480]:before{bottom:0;left:0;border-bottom-width:2px;border-left-width:2px}.focus-diamond span[data-v-e0c1e480]:after{bottom:0;right:0;border-bottom-width:2px;border-right-width:2px}.role-badge[data-v-c567ac5e]{font-family:var(--mono-font),monospace;font-size:10px;font-weight:700;padding:2px 6px;line-height:1;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.dispatch-badge[data-v-0ef054ee]{display:inline-block;padding:2px 5px;font-family:var(--mono-font);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;line-height:1;flex-shrink:0}.dispatch-badge.pending[data-v-0ef054ee]{background:#eee;color:#666;border:1px solid #ddd}.dispatch-badge.executing[data-v-0ef054ee]{background:var(--accent-blue);color:#fff}.dispatch-badge.executing[data-v-0ef054ee]:after{content:"_";animation:blink-0ef054ee 1s infinite}@keyframes blink-0ef054ee{50%{opacity:0}}.dispatch-badge.testing[data-v-0ef054ee]{background:var(--accent-orange);color:#000}.dispatch-badge.passed[data-v-0ef054ee]{background:var(--border-heavy);color:#fff}.dispatch-badge.failed[data-v-0ef054ee]{background:var(--accent-red);color:#fff}[data-theme=dark] .dispatch-badge.pending[data-v-0ef054ee]{background:#374151;color:#9ca3af;border-color:#4b5563}[data-theme=dark] .dispatch-badge.passed[data-v-0ef054ee]{color:#111}.tree-node-item[data-v-13ec9572]{display:flex;align-items:center;gap:8px;padding:6px 8px;background:var(--card-bg);border:1px solid transparent;border-left:3px solid transparent;cursor:pointer;transition:all .1s}.tree-node-item[data-v-13ec9572]:hover{background:var(--card-bg);border-color:var(--border-color);border-left-color:transparent}.tree-node-item.selected[data-v-13ec9572]{background:#d92b2b08;border-color:var(--border-heavy);border-left-color:var(--accent-red)}[data-theme=dark] .tree-node-item.selected[data-v-13ec9572]{background:#d92b2b14}.depth-dots[data-v-13ec9572]{display:flex;align-items:center;flex-shrink:0;margin-right:-8px}.dot[data-v-13ec9572]{width:28px;height:20px;display:flex;align-items:center;justify-content:flex-start;padding-left:8px}.dot[data-v-13ec9572]:before{content:"";width:4px;height:4px;background:var(--text-muted)}.tree-node-item.active-path .dot[data-v-13ec9572]:before{background:var(--accent-red)}.expand-btn[data-v-13ec9572]{width:20px;height:20px;padding:0;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text-muted);transition:all .15s}.expand-btn[data-v-13ec9572]:hover{color:var(--text-main)}.expand-icon[data-v-13ec9572]{font-size:10px;transition:transform .15s}.expand-btn.expanded .expand-icon[data-v-13ec9572]{transform:rotate(90deg)}.tree-node-item.active-path .expand-btn[data-v-13ec9572]{color:var(--accent-red)}.node-title[data-v-13ec9572]{flex:1;font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-main)}.tree-node-item.is-memo[data-v-13ec9572]{background:#5a9a7a0f}.tree-node-item.is-memo[data-v-13ec9572]:hover{background:#5a9a7a1a;border-color:#5a9a7a4d}.tree-node-item.is-memo.selected[data-v-13ec9572]{background:#5a9a7a1f;border-color:#5a9a7a80;border-left-color:var(--accent-green)}[data-theme=dark] .tree-node-item.active-path .dot[data-v-13ec9572]:before{background:var(--accent-red)}[data-theme=dark] .tree-node-item.is-memo[data-v-13ec9572]{background:#6aaa8a1a}[data-theme=dark] .tree-node-item.is-memo[data-v-13ec9572]:hover{background:#6aaa8a24}[data-theme=dark] .tree-node-item.is-memo.selected[data-v-13ec9572]{background:#6aaa8a2e}.tree-node-wrapper[data-v-899ad2a2]{position:relative}.empty-state[data-v-841069d4]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.empty-icon[data-v-841069d4]{color:var(--text-muted);margin-bottom:16px;opacity:.6}.empty-title[data-v-841069d4]{font-size:16px;font-weight:600;color:var(--text-main);margin-bottom:8px}.empty-description[data-v-841069d4]{font-size:14px;color:var(--text-secondary);margin-bottom:24px;max-width:400px;line-height:1.6}.empty-action[data-v-841069d4]{margin-top:8px}.node-tree[data-v-0f71ff3f]{min-height:200px}.tree-container[data-v-0f71ff3f]{position:relative}.vue-flow{position:relative;width:100%;height:100%;overflow:hidden;z-index:0;direction:ltr}.vue-flow__container{position:absolute;height:100%;width:100%;left:0;top:0}.vue-flow__pane{z-index:1}.vue-flow__pane.draggable{cursor:grab}.vue-flow__pane.selection{cursor:pointer}.vue-flow__pane.dragging{cursor:grabbing}.vue-flow__transformationpane{transform-origin:0 0;z-index:2;pointer-events:none}.vue-flow__viewport{z-index:4;overflow:clip}.vue-flow__selection{z-index:6}.vue-flow__edge-labels{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vue-flow__nodesselection-rect:focus,.vue-flow__nodesselection-rect:focus-visible{outline:none}.vue-flow .vue-flow__edges{pointer-events:none;overflow:visible}.vue-flow__edge-path,.vue-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.vue-flow__edge{pointer-events:visibleStroke;cursor:pointer}.vue-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.vue-flow__edge.animated path.vue-flow__edge-interaction{stroke-dasharray:none;animation:none}.vue-flow__edge.inactive{pointer-events:none}.vue-flow__edge.selected,.vue-flow__edge:focus,.vue-flow__edge:focus-visible{outline:none}.vue-flow__edge.selected .vue-flow__edge-path,.vue-flow__edge:focus .vue-flow__edge-path,.vue-flow__edge:focus-visible .vue-flow__edge-path{stroke:#555}.vue-flow__edge-textwrapper{pointer-events:all}.vue-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vue-flow__connection{pointer-events:none}.vue-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.vue-flow__connectionline{z-index:1001}.vue-flow__nodes{pointer-events:none;transform-origin:0 0}.vue-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.vue-flow__node.draggable{cursor:grab;pointer-events:all}.vue-flow__node.draggable.dragging{cursor:grabbing}.vue-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.vue-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.vue-flow__nodesselection-rect.dragging{cursor:grabbing}.vue-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px}.vue-flow__handle.connectable{pointer-events:all;cursor:crosshair}.vue-flow__handle-bottom{left:50%;bottom:0;transform:translate(-50%,50%)}.vue-flow__handle-top{left:50%;top:0;transform:translate(-50%,-50%)}.vue-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.vue-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.vue-flow__edgeupdater{cursor:move;pointer-events:all}.vue-flow__panel{position:absolute;z-index:5;margin:15px}.vue-flow__panel.top{top:0}.vue-flow__panel.bottom{bottom:0}.vue-flow__panel.left{left:0}.vue-flow__panel.right{right:0}.vue-flow__panel.center{left:50%;transform:translate(-50%)}@keyframes dashdraw{0%{stroke-dashoffset:10}}:root{--vf-node-bg: #fff;--vf-node-text: #222;--vf-connection-path: #b1b1b7;--vf-handle: #555}.vue-flow__edge.updating .vue-flow__edge-path{stroke:#777}.vue-flow__edge-text{font-size:10px}.vue-flow__edge-textbg{fill:#fff}.vue-flow__connection-path{stroke:var(--vf-connection-path)}.vue-flow__node{cursor:grab}.vue-flow__node.selectable:focus,.vue-flow__node.selectable:focus-visible{outline:none}.vue-flow__node-default,.vue-flow__node-input,.vue-flow__node-output{padding:10px;border-radius:3px;width:150px;font-size:12px;text-align:center;border-width:1px;border-style:solid;color:var(--vf-node-text);background-color:var(--vf-node-bg);border-color:var(--vf-node-color)}.vue-flow__node-default.selected,.vue-flow__node-default.selected:hover,.vue-flow__node-input.selected,.vue-flow__node-input.selected:hover,.vue-flow__node-output.selected,.vue-flow__node-output.selected:hover{box-shadow:0 0 0 .5px var(--vf-box-shadow)}.vue-flow__node-default.selected,.vue-flow__node-default:focus,.vue-flow__node-default:focus-visible,.vue-flow__node-input.selected,.vue-flow__node-input:focus,.vue-flow__node-input:focus-visible,.vue-flow__node-output.selected,.vue-flow__node-output:focus,.vue-flow__node-output:focus-visible{outline:none;border:1px solid #555}.vue-flow__node-default .vue-flow__handle,.vue-flow__node-input .vue-flow__handle,.vue-flow__node-output .vue-flow__handle{background:var(--vf-handle)}.vue-flow__node-default.selectable:hover,.vue-flow__node-input.selectable:hover,.vue-flow__node-output.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.vue-flow__node-input{--vf-node-color: var(--vf-node-color, #0041d0);--vf-handle: var(--vf-node-color, #0041d0);--vf-box-shadow: var(--vf-node-color, #0041d0);background:var(--vf-node-bg);border-color:var(--vf-node-color, #0041d0)}.vue-flow__node-input.selected,.vue-flow__node-input:focus,.vue-flow__node-input:focus-visible{outline:none;border:1px solid var(--vf-node-color, #0041d0)}.vue-flow__node-default{--vf-handle: var(--vf-node-color, #1a192b);--vf-box-shadow: var(--vf-node-color, #1a192b);background:var(--vf-node-bg);border-color:var(--vf-node-color, #1a192b)}.vue-flow__node-default.selected,.vue-flow__node-default:focus,.vue-flow__node-default:focus-visible{outline:none;border:1px solid var(--vf-node-color, #1a192b)}.vue-flow__node-output{--vf-handle: var(--vf-node-color, #ff0072);--vf-box-shadow: var(--vf-node-color, #ff0072);background:var(--vf-node-bg);border-color:var(--vf-node-color, #ff0072)}.vue-flow__node-output.selected,.vue-flow__node-output:focus,.vue-flow__node-output:focus-visible{outline:none;border:1px solid var(--vf-node-color, #ff0072)}.vue-flow__nodesselection-rect,.vue-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.vue-flow__nodesselection-rect:focus,.vue-flow__nodesselection-rect:focus-visible,.vue-flow__selection:focus,.vue-flow__selection:focus-visible{outline:none}.vue-flow__handle{width:6px;height:6px;background:var(--vf-handle);border:1px solid #fff;border-radius:100%}.graph-node[data-v-fa58a73c]{display:flex;align-items:center;padding:6px 10px;background:var(--card-bg);border:1px solid var(--border-color);cursor:pointer;transition:box-shadow .15s,border-color .15s;min-width:80px;max-width:200px}.graph-node[data-v-fa58a73c]:hover{border-color:var(--border-heavy);box-shadow:2px 2px 0 var(--border-color)}.graph-node.selected[data-v-fa58a73c]{border-left-width:3px;border-left-style:solid;border-left-color:var(--accent-red)}.graph-node.selected[data-v-fa58a73c]:hover{box-shadow:2px 2px 0 var(--border-color)}.node-content[data-v-fa58a73c]{display:flex;align-items:center;gap:6px;width:100%}.node-label[data-v-fa58a73c]{font-size:11px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.graph-node.selected .node-label[data-v-fa58a73c],.graph-node:has(.focus-crosshair) .node-label[data-v-fa58a73c]{color:var(--text-main);font-weight:600}.handle[data-v-fa58a73c]{width:1px!important;height:1px!important;min-width:1px!important;min-height:1px!important;background:transparent!important;border:none!important}.node-tree-graph[data-v-22555542]{width:100%;height:100%;min-height:400px;background-color:var(--bg-color);position:relative}.flow-container[data-v-22555542]{width:100%;height:100%}[data-v-22555542] .vue-flow__edge-path{stroke:#999;stroke-width:1.5px}.custom-controls[data-v-22555542]{position:absolute;left:10px;bottom:10px;display:flex;flex-direction:column;gap:1px;background:var(--card-bg);border:1px solid var(--border-color);box-shadow:2px 2px 0 var(--border-color);z-index:4}.control-btn[data-v-22555542]{width:28px;height:28px;padding:0;border:none;background:var(--card-bg);color:var(--text-main);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .1s}.control-btn[data-v-22555542]:not(:last-child){border-bottom:1px solid var(--border-color)}.control-btn[data-v-22555542]:hover:not(:disabled){background:var(--path-bg);color:var(--accent-red)}.control-btn[data-v-22555542]:disabled{opacity:.4;cursor:not-allowed}.empty-state[data-v-22555542]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:200px;color:var(--text-muted)}.empty-icon[data-v-22555542]{font-size:32px;font-family:var(--mono-font);margin-bottom:8px}.empty-text[data-v-22555542]{font-size:13px}.compact-markdown[data-v-0d033bc1]{font-size:12px;color:var(--text-secondary);line-height:1.5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif,"Noto Emoji"}.compact-markdown[data-v-0d033bc1] .sep{color:var(--text-muted);margin:0 .3em;opacity:.6}.compact-markdown[data-v-0d033bc1] .list-marker{color:var(--accent-red);font-size:.7em;margin-right:.3em}.compact-markdown[data-v-0d033bc1] strong{font-weight:700;color:var(--text-main)}.compact-markdown[data-v-0d033bc1] em{font-style:italic}.compact-markdown[data-v-0d033bc1] del{text-decoration:line-through;opacity:.7}.compact-markdown[data-v-0d033bc1] code{font-family:var(--mono-font);font-size:11px;background:var(--path-bg);padding:1px 4px;border:1px solid var(--border-color);color:var(--accent-red)}.compact-markdown[data-v-0d033bc1] code.placeholder{color:var(--text-muted);font-style:italic}.compact-markdown[data-v-0d033bc1] code.quote{color:var(--text-secondary);border-left:2px solid var(--accent-red);background:var(--path-bg);padding-left:6px}.dialog-overlay[data-v-6aca7f3d]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px}.dialog[data-v-6aca7f3d]{background:var(--card-bg);border:2px solid var(--border-heavy);box-shadow:8px 8px #00000026;width:480px;max-width:90vw}.dialog-header[data-v-6aca7f3d]{padding:16px 20px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between}.dialog-title[data-v-6aca7f3d]{font-size:16px;font-weight:700;color:var(--text-main)}.dialog-close[data-v-6aca7f3d]{background:transparent;border:none;cursor:pointer;padding:4px;color:var(--text-muted);display:flex;align-items:center;justify-content:center}.dialog-close[data-v-6aca7f3d]:hover{color:var(--accent-red)}.dialog-body[data-v-6aca7f3d]{padding:20px}.dialog-message[data-v-6aca7f3d]{font-size:14px;color:var(--text-secondary);margin-bottom:12px}.dialog-input[data-v-6aca7f3d]{width:100%;height:36px;padding:0 12px;font-size:14px;border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-main);transition:border-color .15s}.dialog-input[data-v-6aca7f3d]:focus{outline:none;border-color:var(--border-heavy)}.dialog-textarea[data-v-6aca7f3d]{width:100%;min-height:100px;padding:12px;font-size:14px;font-family:inherit;border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-main);resize:vertical;transition:border-color .15s}.dialog-textarea[data-v-6aca7f3d]:focus{outline:none;border-color:var(--border-heavy)}.dialog-hint[data-v-6aca7f3d]{font-size:11px;color:var(--text-muted);margin-top:8px;font-family:var(--mono-font),monospace}.dialog-footer[data-v-6aca7f3d]{padding:16px 20px;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:8px;background:var(--card-footer)}.modal-fade-enter-active[data-v-6aca7f3d],.modal-fade-leave-active[data-v-6aca7f3d]{transition:opacity .2s ease}.modal-fade-enter-active .dialog[data-v-6aca7f3d],.modal-fade-leave-active .dialog[data-v-6aca7f3d]{transition:transform .2s ease}.modal-fade-enter-from[data-v-6aca7f3d],.modal-fade-leave-to[data-v-6aca7f3d]{opacity:0}.modal-fade-enter-from .dialog[data-v-6aca7f3d],.modal-fade-leave-to .dialog[data-v-6aca7f3d]{transform:scale(.95)}.node-detail-wrapper[data-v-587ff23a]{display:flex;flex-direction:column;height:100%;background:var(--card-bg)}.node-detail-panel[data-v-587ff23a]{flex:1;overflow-y:auto;width:100%}.detail-header[data-v-587ff23a]{padding:20px;border-bottom:1px solid var(--border-color)}.header-main[data-v-587ff23a]{display:flex;align-items:center;gap:12px;margin-bottom:8px}.node-status[data-v-587ff23a]{font-size:13px;font-weight:600;flex-shrink:0}.node-status[data-status=pending][data-v-587ff23a]{color:var(--border-heavy)}.node-status[data-status=implementing][data-v-587ff23a]{color:var(--accent-blue)}.node-status[data-status=validating][data-v-587ff23a]{color:var(--accent-orange)}.node-status[data-status=planning][data-v-587ff23a]{color:var(--accent-purple)}.node-status[data-status=monitoring][data-v-587ff23a]{color:var(--accent-blue)}.node-status[data-status=completed][data-v-587ff23a]{color:var(--border-heavy)}.node-status[data-status=failed][data-v-587ff23a]{color:var(--accent-red)}.node-status[data-status=cancelled][data-v-587ff23a]{color:var(--text-muted)}.header-sep[data-v-587ff23a]{color:var(--text-muted);font-size:13px;flex-shrink:0}.header-title[data-v-587ff23a]{font-size:16px;font-weight:700;color:var(--text-main);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-badges[data-v-587ff23a]{display:flex;gap:8px;flex-shrink:0}.header-meta[data-v-587ff23a]{font-family:var(--mono-font),monospace;font-size:11px;color:var(--text-muted)}.type-badge[data-v-587ff23a]{font-family:var(--mono-font),monospace;font-size:10px;font-weight:700;padding:2px 6px;line-height:1;display:inline-block;text-transform:uppercase;letter-spacing:.5px}.type-badge[data-type=execution][data-v-587ff23a]{background:var(--border-heavy);color:#fff}[data-theme=dark] .type-badge[data-type=execution][data-v-587ff23a]{color:#181818}.type-badge[data-type=planning][data-v-587ff23a]{background:var(--accent-purple);color:#fff}.role-badge[data-v-587ff23a]{font-family:var(--mono-font),monospace;font-size:10px;font-weight:700;padding:2px 6px;line-height:1;display:inline-block;text-transform:uppercase;letter-spacing:.5px}.isolate-tag[data-v-587ff23a]{font-family:var(--mono-font),monospace;font-size:10px;font-weight:700;padding:2px 6px;line-height:1;display:inline-block;text-transform:uppercase;letter-spacing:.5px;background:var(--accent-orange);color:#000;border:1px dashed #000}.detail-section[data-v-587ff23a]{padding:16px 20px;border-bottom:1px solid var(--border-color)}.detail-section[data-v-587ff23a]:last-child{border-bottom:none}.section-title[data-v-587ff23a]{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:12px;display:flex;align-items:center;gap:8px}.section-title[data-v-587ff23a]:before{content:"";width:3px;height:12px;background:var(--accent-red);flex-shrink:0}.count-badge[data-v-587ff23a]{font-size:10px;padding:2px 6px;background:var(--border-color);color:var(--text-secondary);font-weight:600;font-family:var(--mono-font)}.node-id[data-v-587ff23a]{display:flex;align-items:center;gap:8px;font-size:13px}.id-label[data-v-587ff23a]{color:var(--text-muted);font-weight:600}.id-value[data-v-587ff23a]{font-family:var(--mono-font),monospace;color:var(--text-secondary)}.panel-section[data-v-587ff23a]{background:var(--card-bg);border:2px solid var(--border-heavy);box-shadow:8px 8px #00000026}.panel-header[data-v-587ff23a]{padding:16px 20px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;background:#fafafa}[data-theme=dark] .panel-header[data-v-587ff23a]{background:#1a1a1a}.panel-title[data-v-587ff23a]{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;gap:8px;color:var(--text-main)}.panel-title[data-v-587ff23a]:before{content:"";width:3px;height:14px;background:var(--accent-red)}.panel-body[data-v-587ff23a]{padding:0}.dispatch-info[data-v-587ff23a]{padding:16px}.dispatch-row[data-v-587ff23a]{display:flex;align-items:center;gap:8px;margin-bottom:10px}.dispatch-row[data-v-587ff23a]:last-child{margin-bottom:0}.dispatch-label[data-v-587ff23a]{color:var(--text-muted);font-size:13px;min-width:80px}.dispatch-value[data-v-587ff23a]{color:var(--text-secondary);font-size:13px}.dispatch-marker[data-v-587ff23a]{font-family:var(--mono-font),monospace;background:var(--path-bg);padding:2px 8px;font-size:12px;color:var(--text-main)}[data-theme=dark] .dispatch-marker[data-v-587ff23a]{background:#333}.note-box[data-v-587ff23a]{background:var(--path-bg);border-left:4px solid var(--border-heavy);padding:16px;font-size:13px;line-height:1.6;color:var(--text-secondary)}[data-theme=dark] .note-box[data-v-587ff23a]{background:#1a1a1a}.acceptance-table[data-v-587ff23a]{background:#fafafa;border:1px solid var(--border-color);border-left:4px solid var(--accent-green);overflow:hidden}[data-theme=dark] .acceptance-table[data-v-587ff23a]{background:#1a1a1a}.acceptance-header[data-v-587ff23a]{display:flex;background:#f0f0f0;border-bottom:2px solid var(--border-heavy);font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-main)}[data-theme=dark] .acceptance-header[data-v-587ff23a]{background:#2a2a2a}.acceptance-body[data-v-587ff23a]{display:flex;flex-direction:column}.acceptance-row[data-v-587ff23a]{display:flex;border-bottom:1px solid var(--border-color)}.acceptance-row[data-v-587ff23a]:last-child{border-bottom:none}.acceptance-col[data-v-587ff23a]{flex:1;padding:12px 16px;font-size:13px;line-height:1.6;color:var(--text-secondary);border-right:1px solid var(--border-color)}.acceptance-col[data-v-587ff23a]:last-child{border-right:none}.acceptance-col[data-v-587ff23a]:first-child{background:#fcfcfc}[data-theme=dark] .acceptance-col[data-v-587ff23a]:first-child{background:#1e1e1e}.acceptance-header .acceptance-col[data-v-587ff23a]{padding:10px 16px;color:var(--text-main);background:transparent}.docs-list[data-v-587ff23a]{background:#fafafa;border:1px solid var(--border-color);border-left:4px solid var(--accent-blue)}[data-theme=dark] .docs-list[data-v-587ff23a]{background:#1a1a1a}.docs-item[data-v-587ff23a]{display:flex;flex-direction:column;gap:4px;padding:10px 16px;border-bottom:1px solid #eee}[data-theme=dark] .docs-item[data-v-587ff23a]{border-bottom:1px solid #333}.docs-item[data-v-587ff23a]:last-child{border-bottom:none}.docs-main[data-v-587ff23a]{display:flex;align-items:center;gap:8px;min-width:0}.docs-path[data-v-587ff23a]{font-family:var(--mono-font),monospace;font-size:12px;color:var(--accent-blue);word-break:break-all;line-height:1.4}.docs-desc[data-v-587ff23a]{font-size:12px;color:var(--text-muted);padding-left:0}.docs-expired[data-v-587ff23a]{font-size:10px;color:#000;background:var(--accent-orange);padding:2px 6px;flex-shrink:0}.memo-ref-card[data-v-587ff23a]{padding:12px;background:var(--path-bg);border:1px solid var(--border-color);cursor:pointer;transition:border-color .15s,box-shadow .15s}.memo-ref-card[data-v-587ff23a]:hover{border-color:var(--border-heavy);box-shadow:2px 2px 0 var(--border-color)}[data-theme=dark] .memo-ref-card[data-v-587ff23a]{background:#1a1a1a}.memo-ref-header[data-v-587ff23a]{display:flex;align-items:center;gap:8px;margin-bottom:6px}.memo-ref-title[data-v-587ff23a]{font-size:13px;font-weight:600;color:var(--text-main);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.memo-ref-meta[data-v-587ff23a]{padding-left:28px}.memo-ref-summary[data-v-587ff23a]{font-size:12px;color:var(--text-secondary);line-height:1.5;margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.memo-ref-tags[data-v-587ff23a]{display:flex;flex-wrap:wrap;gap:4px}.memo-mini-tag[data-v-587ff23a]{font-family:var(--mono-font),monospace;font-size:10px;padding:2px 6px;background:var(--card-bg);border:1px solid var(--border-color);color:var(--text-muted)}.problem-box[data-v-587ff23a]{background:#fff8f0;border:1px solid var(--accent-orange);border-left:4px solid var(--accent-orange);padding:16px}[data-theme=dark] .problem-box[data-v-587ff23a]{background:#332a0a}.problem-title[data-v-587ff23a]{font-family:var(--mono-font),monospace;font-size:12px;font-weight:700;color:#d35400;text-transform:uppercase;margin-bottom:8px}.conclusion-box[data-v-587ff23a]{background:#f4f4f4;border-left:4px solid var(--border-heavy);padding:16px}[data-theme=dark] .conclusion-box[data-v-587ff23a]{background:#1a1a1a}.conclusion-badge[data-v-587ff23a]{font-family:var(--mono-font),monospace;font-size:10px;font-weight:700;padding:2px 6px;background:var(--accent-green);color:#fff;margin-bottom:8px;display:inline-block}.conclusion-content[data-v-587ff23a]{font-size:13px;line-height:1.6;color:var(--text-main)}.log-container[data-v-587ff23a]{background:#fafafa;border:1px solid var(--border-color);max-height:200px;overflow-y:auto}[data-theme=dark] .log-container[data-v-587ff23a]{background:#1a1a1a}.log-item[data-v-587ff23a]{display:flex;align-items:flex-start;gap:12px;padding:8px 12px;font-size:11px;border-bottom:1px solid var(--border-color)}[data-theme=dark] .log-item[data-v-587ff23a]{border-bottom:1px solid #333}.log-item[data-v-587ff23a]:last-child{border-bottom:none}.log-time[data-v-587ff23a]{font-family:var(--mono-font),monospace;color:var(--text-muted);white-space:nowrap;flex-shrink:0}.log-operator[data-v-587ff23a]{font-family:var(--mono-font),monospace;width:32px;text-align:center;padding:2px 0;font-size:10px;font-weight:700;flex-shrink:0}.log-operator.ai[data-v-587ff23a]{background:#111;color:#fff}[data-theme=dark] .log-operator.ai[data-v-587ff23a]{background:#e0e0e0;color:#181818}.log-operator.usr[data-v-587ff23a]{background:var(--accent-green);color:#fff}.log-operator.sys[data-v-587ff23a]{background:#999;color:#fff}.log-content[data-v-587ff23a]{color:var(--text-main);flex:1;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif,"Noto Emoji"}.log-empty[data-v-587ff23a]{padding:20px;text-align:center;color:var(--text-muted);font-size:13px}.child-conclusions[data-v-587ff23a]{display:flex;flex-direction:column;gap:12px}.child-conclusion-item[data-v-587ff23a]{padding-bottom:12px;border-bottom:1px solid var(--border-color)}.child-conclusion-item[data-v-587ff23a]:last-child{padding-bottom:0;border-bottom:none}.child-conclusion-title[data-v-587ff23a]{font-size:12px;font-weight:700;margin-bottom:4px;display:flex;align-items:center;gap:8px;color:var(--text-main);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif,"Noto Emoji"}.child-node-icon[data-v-587ff23a]{width:12px;height:12px;border:2px solid var(--border-heavy);background:var(--border-heavy);flex-shrink:0}.child-node-icon[data-incomplete=true][data-v-587ff23a]{background:transparent;border-style:solid;border-color:#999}.child-node-icon[data-status=pending][data-v-587ff23a]{background:transparent;border-style:dashed;border-color:#999}.child-node-icon[data-status=implementing][data-v-587ff23a]{background:var(--accent-blue);border-color:var(--accent-blue)}.child-node-icon[data-status=implementing][data-incomplete=true][data-v-587ff23a]{background:transparent;border-color:var(--accent-blue)}.child-node-icon[data-status=validating][data-v-587ff23a]{background:var(--accent-orange);border-color:var(--accent-orange)}.child-node-icon[data-status=validating][data-incomplete=true][data-v-587ff23a]{background:transparent;border-color:var(--accent-orange)}.child-node-icon[data-status=failed][data-v-587ff23a]{background:var(--accent-red);border-color:var(--accent-red)}.child-node-icon[data-status=failed][data-incomplete=true][data-v-587ff23a]{background:transparent;border-color:var(--accent-red)}.child-conclusion-content[data-v-587ff23a]{padding-left:20px}.child-conclusion-pending[data-v-587ff23a]{font-size:11px;font-family:var(--mono-font);color:var(--text-muted);font-style:italic;padding-left:20px}.child-conclusion-item.is-incomplete[data-v-587ff23a]{opacity:.7}.action-bar[data-v-587ff23a]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#fafafa;flex-wrap:wrap;gap:12px;flex-shrink:0;border-top:1px solid var(--border-color)}[data-theme=dark] .action-bar[data-v-587ff23a]{background:#1a1a1a}.action-group[data-v-587ff23a]{display:flex;gap:8px}.memo-detail-wrapper[data-v-75815f8d]{display:flex;flex-direction:column;height:100%;background:var(--card-bg)}.memo-detail-panel[data-v-75815f8d]{flex:1;overflow-y:auto;width:100%}.detail-header[data-v-75815f8d]{padding:20px;border-bottom:1px solid var(--border-color)}.header-main[data-v-75815f8d]{display:flex;align-items:center;gap:12px;margin-bottom:8px}.memo-type[data-v-75815f8d]{font-size:13px;font-weight:600;color:var(--accent-green);flex-shrink:0}.header-sep[data-v-75815f8d]{color:var(--text-muted);font-size:13px;flex-shrink:0}.header-title[data-v-75815f8d]{font-size:16px;font-weight:700;color:var(--text-main);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-meta[data-v-75815f8d]{font-family:var(--mono-font),monospace;font-size:11px;color:var(--text-muted)}.detail-section[data-v-75815f8d]{padding:16px 20px;border-bottom:1px solid var(--border-color)}.detail-section[data-v-75815f8d]:last-child{border-bottom:none}.section-title[data-v-75815f8d]{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:12px;display:flex;align-items:center;gap:8px}.section-title[data-v-75815f8d]:before{content:"";width:3px;height:12px;background:var(--accent-red);flex-shrink:0}.summary-box[data-v-75815f8d]{background:var(--path-bg);border-left:4px solid var(--accent-green);padding:16px;font-size:13px;line-height:1.6;color:var(--text-secondary)}[data-theme=dark] .summary-box[data-v-75815f8d]{background:#1a1a1a}.tags-container[data-v-75815f8d]{display:flex;flex-wrap:wrap;gap:8px}.tag-item[data-v-75815f8d]{font-family:var(--mono-font),monospace;font-size:11px;padding:4px 8px;background:var(--path-bg);border:1px solid var(--border-color);color:var(--text-main);font-weight:600}[data-theme=dark] .tag-item[data-v-75815f8d]{background:#2a2a2a}.content-box[data-v-75815f8d]{background:var(--path-bg);border-left:4px solid var(--border-heavy);padding:16px;font-size:13px;line-height:1.6;color:var(--text-secondary)}[data-theme=dark] .content-box[data-v-75815f8d]{background:#1a1a1a}.meta-info[data-v-75815f8d]{background:#fafafa;border:1px solid var(--border-color);padding:12px 16px}[data-theme=dark] .meta-info[data-v-75815f8d]{background:#1a1a1a}.meta-row[data-v-75815f8d]{display:flex;align-items:center;gap:8px;margin-bottom:8px}.meta-row[data-v-75815f8d]:last-child{margin-bottom:0}.meta-label[data-v-75815f8d]{color:var(--text-muted);font-size:13px;min-width:80px}.meta-value[data-v-75815f8d]{font-family:var(--mono-font),monospace;color:var(--text-secondary);font-size:12px}.memo-loading[data-v-75815f8d],.memo-empty[data-v-75815f8d]{padding:40px;text-align:center;color:var(--text-muted);font-size:14px}.action-bar[data-v-75815f8d]{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#fafafa;flex-wrap:wrap;gap:12px;flex-shrink:0;border-top:1px solid var(--border-color)}[data-theme=dark] .action-bar[data-v-75815f8d]{background:#1a1a1a}.action-group[data-v-75815f8d]{display:flex;gap:8px}.memo-drawer-detail[data-v-c5456da1]{display:flex;flex-direction:column;height:100%;background:var(--card-bg)}.drawer-panel[data-v-c5456da1]{flex:1;overflow-y:auto;width:100%}.detail-header[data-v-c5456da1]{padding:20px;border-bottom:1px solid var(--border-color)}.header-main[data-v-c5456da1]{display:flex;align-items:center;gap:12px;margin-bottom:8px}.drawer-type[data-v-c5456da1]{font-size:13px;font-weight:600;color:var(--accent-green);flex-shrink:0}.header-sep[data-v-c5456da1]{color:var(--text-muted);font-size:13px;flex-shrink:0}.header-title[data-v-c5456da1]{font-size:16px;font-weight:700;color:var(--text-main);flex:1}.header-meta[data-v-c5456da1]{font-family:var(--mono-font),monospace;font-size:11px;color:var(--text-muted)}.detail-section[data-v-c5456da1]{padding:16px 20px;border-bottom:1px solid var(--border-color)}.detail-section[data-v-c5456da1]:last-child{border-bottom:none}.section-title[data-v-c5456da1]{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:12px;display:flex;align-items:center;gap:8px}.section-title[data-v-c5456da1]:before{content:"";width:3px;height:12px;background:var(--accent-red);flex-shrink:0}.tags-container[data-v-c5456da1]{display:flex;flex-wrap:wrap;gap:8px}.tag-item[data-v-c5456da1]{font-family:var(--mono-font),monospace;font-size:11px;padding:4px 8px;background:var(--path-bg);border:1px solid var(--border-color);color:var(--text-main);font-weight:600;cursor:pointer;transition:color .15s,border-color .15s}.tag-item[data-v-c5456da1]:hover,.tag-item.tag-hovered[data-v-c5456da1]{color:var(--accent-red);border-color:var(--border-heavy)}[data-theme=dark] .tag-item[data-v-c5456da1]{background:#2a2a2a}.memo-list[data-v-c5456da1]{display:flex;flex-direction:column;gap:8px}.memo-item[data-v-c5456da1]{padding:12px;background:var(--path-bg);border:1px solid var(--border-color);cursor:pointer;transition:border-color .15s,box-shadow .15s}.memo-item[data-v-c5456da1]:hover{border-color:var(--border-heavy);box-shadow:2px 2px 0 var(--border-color)}[data-theme=dark] .memo-item[data-v-c5456da1]{background:#1a1a1a}.memo-item-header[data-v-c5456da1]{display:flex;align-items:center;gap:8px;margin-bottom:6px}.memo-title[data-v-c5456da1]{font-size:13px;font-weight:600;color:var(--text-main);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.memo-item-meta[data-v-c5456da1]{padding-left:28px}.memo-summary[data-v-c5456da1]{font-size:12px;color:var(--text-secondary);line-height:1.5;margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.memo-tags[data-v-c5456da1]{display:flex;flex-wrap:wrap;gap:4px}.mini-tag[data-v-c5456da1]{font-family:var(--mono-font),monospace;font-size:10px;padding:2px 6px;background:var(--card-bg);border:1px solid var(--border-color);color:var(--text-muted);transition:color .15s,border-color .15s}.mini-tag.mini-tag-highlight[data-v-c5456da1]{color:var(--accent-red);border-color:var(--border-heavy)}.empty-state[data-v-c5456da1]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:var(--text-muted)}.empty-icon[data-v-c5456da1]{font-size:32px;font-family:var(--mono-font);margin-bottom:8px}.empty-text[data-v-c5456da1]{font-size:13px}.enable-dispatch-content[data-v-0ce35816]{padding:0}.section-label[data-v-0ce35816]{font-size:13px;font-weight:600;color:var(--text-main);margin-bottom:12px}.mode-options[data-v-0ce35816]{display:flex;flex-direction:column;gap:10px}.card-option[data-v-0ce35816]{border:1px solid var(--border-color);padding:12px;cursor:pointer;transition:all .1s;background:var(--card-bg)}.card-option[data-v-0ce35816]:hover{border-color:var(--border-heavy);background:#f9fafb}[data-theme=dark] .card-option[data-v-0ce35816]:hover{background:#1a1a1a}.card-option.selected[data-v-0ce35816]{border-color:var(--accent-blue);background:#2563eb0d;position:relative}[data-theme=dark] .card-option.selected[data-v-0ce35816]{background:#2563eb26}.card-option-title[data-v-0ce35816]{font-size:13px;font-weight:700;margin-bottom:4px;display:flex;justify-content:space-between;align-items:center;color:var(--text-main)}.card-option-desc[data-v-0ce35816]{font-size:12px;color:var(--text-secondary);line-height:1.4}.tag-experimental[data-v-0ce35816]{font-family:var(--mono-font);font-size:10px;font-weight:600;padding:2px 6px;background:#f59e0b1a;color:#d97706;border:1px solid rgba(245,158,11,.2);text-transform:uppercase}[data-theme=dark] .tag-experimental[data-v-0ce35816]{background:#f59e0b33;color:#fbbf24}.disable-dispatch-content[data-v-fc0c6906]{padding:0;min-height:100px}.loading-state[data-v-fc0c6906]{padding:40px 0;text-align:center;color:var(--text-muted);font-family:var(--mono-font);font-size:12px}.simple-confirm[data-v-fc0c6906]{padding:40px 0;text-align:center;font-size:14px;color:var(--text-secondary)}.git-options[data-v-fc0c6906]{display:flex;flex-direction:column;gap:16px}.info-box[data-v-fc0c6906]{background:#f5f7fa;padding:12px;font-size:12px;font-family:var(--mono-font);color:var(--text-secondary)}[data-theme=dark] .info-box[data-v-fc0c6906]{background:#1a1a1a}.info-box strong[data-v-fc0c6906]{color:var(--text-main)}.form-section[data-v-fc0c6906]{margin-bottom:8px}.section-label[data-v-fc0c6906]{font-size:13px;font-weight:600;color:var(--text-main);margin-bottom:8px}.strategy-options[data-v-fc0c6906]{display:flex;flex-direction:column;gap:6px}.card-option[data-v-fc0c6906]{border:1px solid var(--border-color);padding:8px 12px;cursor:pointer;transition:all .1s;background:var(--card-bg)}.card-option[data-v-fc0c6906]:hover{border-color:var(--border-heavy);background:#f9fafb}[data-theme=dark] .card-option[data-v-fc0c6906]:hover{background:#1a1a1a}.card-option.selected[data-v-fc0c6906]{border-color:var(--accent-blue);background:#2563eb0d}[data-theme=dark] .card-option.selected[data-v-fc0c6906]{background:#2563eb26}.card-option-title[data-v-fc0c6906]{font-size:12px;font-weight:600;color:var(--text-main)}.commit-input[data-v-fc0c6906]{width:100%;padding:8px;font-size:13px;font-family:var(--mono-font);border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-main);resize:none;outline:none;transition:border-color .15s}.commit-input[data-v-fc0c6906]:focus{border-color:var(--border-heavy)}.commit-input[data-v-fc0c6906]::placeholder{color:var(--text-muted)}.checkbox-custom[data-v-fc0c6906]{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:12px;-webkit-user-select:none;user-select:none;margin-bottom:8px}.checkbox-custom.disabled[data-v-fc0c6906]{opacity:.5;cursor:not-allowed}.checkbox-custom input[data-v-fc0c6906]{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.checkbox-box[data-v-fc0c6906]{width:16px;height:16px;border:2px solid var(--border-heavy);background:var(--card-bg);position:relative;flex-shrink:0;transition:all .1s}.checkbox-custom:hover .checkbox-box[data-v-fc0c6906]{border-color:var(--accent-blue)}.checkbox-custom input:checked+.checkbox-box[data-v-fc0c6906]{background:var(--border-heavy);border-color:var(--border-heavy)}.checkbox-custom input:checked+.checkbox-box[data-v-fc0c6906]:after{content:"";position:absolute;top:50%;left:50%;width:8px;height:4px;border:2px solid #fff;border-top:none;border-right:none;transform:translate(-50%,-60%) rotate(-45deg)}.checkbox-text[data-v-fc0c6906]{color:var(--text-main)}.branch-name[data-v-fc0c6906]{margin-left:24px;margin-bottom:8px}.code-inline[data-v-fc0c6906]{font-family:var(--mono-font);font-size:11px;background:#f5f7fa;padding:2px 6px;display:inline-block;color:var(--text-secondary)}[data-theme=dark] .code-inline[data-v-fc0c6906]{background:#1a1a1a}.switch-mode-content[data-v-35e07359]{padding:0}.warning-box[data-v-35e07359]{border:1px solid var(--accent-orange);background:#fffcf0;padding:12px;font-size:12px;color:#b45309;margin-bottom:16px;border-left-width:4px;line-height:1.6}[data-theme=dark] .warning-box[data-v-35e07359]{background:#2a2010;color:#fbbf24;border-color:#b8860b}.mode-switch-viz[data-v-35e07359]{display:flex;align-items:center;justify-content:center;gap:20px;background:#f5f7fa;padding:20px;margin-bottom:20px}[data-theme=dark] .mode-switch-viz[data-v-35e07359]{background:#1a1a1a}.mode-tag[data-v-35e07359]{padding:6px 12px;background:var(--card-bg);border:1px solid var(--border-color);font-family:var(--mono-font);font-size:12px;font-weight:700;text-transform:uppercase}.mode-tag.git[data-v-35e07359]{border-color:var(--accent-orange);color:#d97706}.mode-tag.no-git[data-v-35e07359]{border-color:var(--accent-green);color:var(--accent-green)}.mode-arrow[data-v-35e07359]{font-size:18px;color:var(--text-muted)}.switch-desc[data-v-35e07359]{font-size:12px;color:var(--text-secondary);line-height:1.5}.switch-desc strong[data-v-35e07359]{color:var(--text-main)}.workspace-view[data-v-28d52b97]{height:100vh;display:flex;flex-direction:column;background:var(--bg-color)}.layout-header[data-v-28d52b97]{height:64px;display:flex;justify-content:space-between;align-items:center;padding:0 32px;background:var(--card-bg);border-bottom:1px solid var(--border-color)}.header-left[data-v-28d52b97],.header-right[data-v-28d52b97]{display:flex;align-items:center;gap:12px}.workspace-title[data-v-28d52b97]{margin:0;font-size:18px;font-weight:700;color:var(--text-main)}.header-sep[data-v-28d52b97]{color:var(--text-muted);font-size:14px;margin:0 4px 0 -4px}.details-link[data-v-28d52b97]{color:var(--accent-red)!important;font-size:14px!important;font-weight:700!important;margin-left:-4px}.details-link[data-v-28d52b97]:hover:not(:disabled){background:#d92b2b14!important}.blink-cursor[data-v-28d52b97]{animation:blink-28d52b97 1s step-end infinite}@keyframes blink-28d52b97{0%,to{opacity:1}50%{opacity:0}}.theme-toggle[data-v-28d52b97]{width:36px;height:36px;padding:0;background:var(--card-bg);border:1px solid var(--border-heavy);color:var(--text-main);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.theme-toggle[data-v-28d52b97]:hover{border-color:var(--border-heavy);color:var(--accent-red);background:var(--path-bg);transform:translateY(-1px);box-shadow:2px 2px 0 var(--border-heavy)}.theme-toggle .icon-sun[data-v-28d52b97],.theme-toggle .icon-moon[data-v-28d52b97]{width:18px;height:18px}.ws-btn[data-v-28d52b97]{height:36px;padding:0 16px;font-size:14px;font-weight:600;border:1px solid var(--border-heavy);background:var(--card-bg);color:var(--text-main);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .15s}.ws-btn[data-v-28d52b97]:hover:not(:disabled){border-color:var(--border-heavy);transform:translate(-1px,-1px);box-shadow:2px 2px 0 var(--border-heavy)}.ws-btn[data-v-28d52b97]:active:not(:disabled){transform:translate(0);box-shadow:none}.ws-btn[data-v-28d52b97]:disabled{opacity:.5;cursor:not-allowed}.ws-btn.text[data-v-28d52b97]{border:none;background:transparent;padding:0 8px;font-size:14px}.ws-btn.text[data-v-28d52b97]:hover:not(:disabled){box-shadow:none;background:#0000000d;transform:none}.ws-btn.text.active[data-v-28d52b97]{background:#0000001a}[data-theme=dark] .ws-btn.text[data-v-28d52b97]:hover:not(:disabled){background:#ffffff0d}[data-theme=dark] .ws-btn.text.active[data-v-28d52b97]{background:#ffffff1a}.ws-btn.primary[data-v-28d52b97]{background:var(--accent-red);border-color:var(--accent-red);color:#fff}.ws-btn.primary[data-v-28d52b97]:hover:not(:disabled){background:#b82424;border-color:#b82424;box-shadow:2px 2px #0000004d}.layout-infobar[data-v-28d52b97]{display:flex;align-items:center;gap:40px;padding:16px 32px;background:var(--card-bg);border-bottom:1px solid var(--border-color)}.info-item[data-v-28d52b97]{display:flex;align-items:center;gap:8px}.info-item[data-v-28d52b97]:first-child{flex:1;min-width:0}.info-label[data-v-28d52b97]{font-size:10px;font-weight:600;text-transform:uppercase;color:var(--text-secondary);letter-spacing:.5px;white-space:nowrap;flex-shrink:0}.info-value[data-v-28d52b97]{font-size:13px;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.progress-display[data-v-28d52b97]{display:flex;flex-direction:column;align-items:center;position:relative;min-width:64px;padding-bottom:6px}.progress-number[data-v-28d52b97]{display:flex;align-items:baseline;font-family:var(--mono-font);font-weight:700;line-height:1}.progress-current[data-v-28d52b97]{font-size:18px;color:var(--accent-red)}.progress-sep[data-v-28d52b97]{font-size:12px;color:var(--text-muted);margin:0 1px}.progress-total[data-v-28d52b97]{font-size:12px;color:var(--text-secondary)}.progress-bar-wrapper[data-v-28d52b97]{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:center}.progress-track[data-v-28d52b97]{width:48px;height:3px;background:var(--border-color);overflow:hidden}.progress-fill[data-v-28d52b97]{height:100%;background:var(--accent-red);transition:width .3s ease}.badge-status[data-v-28d52b97]{font-family:var(--mono-font);font-size:10px;font-weight:700;padding:0 8px;min-width:32px;height:20px;line-height:20px;text-align:center;text-transform:uppercase;letter-spacing:.5px;display:inline-block;box-sizing:border-box}.badge-status.disabled[data-v-28d52b97]{background:#eee;color:#666;border:1px solid #ddd}.badge-status.enabled[data-v-28d52b97]{background:var(--accent-green);color:#fff}.badge-status.git[data-v-28d52b97]{background:var(--accent-orange);color:#000}[data-theme=dark] .badge-status.disabled[data-v-28d52b97]{background:#333;color:#aaa;border-color:#444}[data-theme=dark] .badge-status.enabled[data-v-28d52b97]{background:var(--accent-green);color:#fff}[data-theme=dark] .badge-status.git[data-v-28d52b97]{background:var(--accent-orange);color:#000}.dispatch-controls[data-v-28d52b97]{display:flex;align-items:center;gap:8px}.dispatch-actions[data-v-28d52b97]{display:flex;gap:8px}.config-btn[data-v-28d52b97]{height:20px;padding:0 6px;font-size:10px}.tag-outline[data-v-28d52b97]{font-family:var(--mono-font);font-size:11px;padding:2px 6px;border:1px solid var(--border-color);color:var(--text-secondary);background:var(--card-bg);cursor:pointer;text-transform:uppercase;font-weight:600;transition:all .15s}.tag-outline[data-v-28d52b97]:hover{border-color:var(--border-heavy);color:var(--text-main)}.info-tags[data-v-28d52b97]{display:flex;gap:8px}.info-tag[data-v-28d52b97]{font-size:12px;padding:4px 10px;cursor:pointer;transition:opacity .2s}.info-tag[data-v-28d52b97]:hover{opacity:.8}.info-tag.rules[data-v-28d52b97]{background:#fff3cd;color:#856404}.info-tag.docs[data-v-28d52b97]{background:#d1ecf1;color:#0c5460}[data-theme=dark] .info-tag.rules[data-v-28d52b97]{background:#4a3c1a;color:#ffc107}[data-theme=dark] .info-tag.docs[data-v-28d52b97]{background:#1a3a42;color:#5bc0de}.main-content[data-v-28d52b97]{flex:1;display:flex;overflow:hidden;position:relative}.layout-sidebar[data-v-28d52b97]{flex-shrink:0;width:260px;display:flex;flex-direction:column;background:var(--card-bg);border-right:2px solid var(--border-heavy)}.sidebar-header[data-v-28d52b97]{padding:12px 16px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.sidebar-header h3[data-v-28d52b97]{margin:0;font-size:12px;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.view-toggle[data-v-28d52b97]{display:inline-flex}.view-toggle .ws-btn.view-btn[data-v-28d52b97]{width:28px;height:28px;padding:0;font-size:14px;line-height:1;display:inline-flex;align-items:center;justify-content:center}.view-toggle .ws-btn.view-btn[data-v-28d52b97]:first-child{border-right:none}.view-toggle .ws-btn.view-btn.active[data-v-28d52b97]{background:var(--border-heavy);border-color:var(--border-heavy);color:#fff}[data-theme=dark] .view-toggle .ws-btn.view-btn.active[data-v-28d52b97]{color:#181818}.sidebar-content[data-v-28d52b97]{flex:1;overflow:auto;padding:8px}.resizer[data-v-28d52b97]{width:4px;cursor:col-resize;background:transparent;transition:background .2s;flex-shrink:0}.resizer[data-v-28d52b97]:hover,.resizer.is-resizing[data-v-28d52b97]{background:var(--accent-red)}.layout-content[data-v-28d52b97]{flex:1;overflow:hidden}.empty-state[data-v-28d52b97]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;background:var(--card-bg)}.empty-icon[data-v-28d52b97]{width:48px;height:48px;border:3px dashed var(--border-color);margin-bottom:20px}.empty-text[data-v-28d52b97]{font-family:var(--mono-font),monospace;font-size:12px;font-weight:700;letter-spacing:2px;color:var(--text-muted);margin:0 0 8px}.empty-hint[data-v-28d52b97]{font-size:13px;color:var(--text-muted);margin:0}.drawer-overlay[data-v-28d52b97]{position:fixed;inset:0;background:#00000080;display:flex;justify-content:flex-end;z-index:1000}.drawer-panel[data-v-28d52b97]{background:var(--card-bg);border-left:4px solid var(--border-heavy);display:flex;flex-direction:column;overflow:hidden;position:relative}.drawer-resizer[data-v-28d52b97]{position:absolute;left:0;top:0;bottom:0;width:6px;cursor:ew-resize;background:transparent;z-index:10;transition:background .2s}.drawer-resizer[data-v-28d52b97]:hover{background:var(--accent-red)}.modal-header[data-v-28d52b97]{padding:20px 24px;background:var(--bg-color);border-bottom:1px solid var(--border-color);font-size:16px;font-weight:600;color:var(--text-main);display:flex;justify-content:space-between;align-items:center}.modal-close[data-v-28d52b97]{background:transparent;border:none;font-size:24px;cursor:pointer;color:var(--text-secondary);line-height:1;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:color .2s}.modal-close[data-v-28d52b97]:hover{color:var(--text-main)}.modal-body[data-v-28d52b97]{flex:1;overflow-y:auto;padding:24px}.detail-section[data-v-28d52b97]{margin-bottom:24px}.detail-section[data-v-28d52b97]:last-child{margin-bottom:0}.drawer-panel .section-title[data-v-28d52b97]{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:12px;display:flex;align-items:center;gap:8px}.drawer-panel .section-title[data-v-28d52b97]:before{content:"";width:3px;height:12px;background:var(--accent-red);flex-shrink:0}.count-badge[data-v-28d52b97]{font-size:10px;padding:2px 6px;background:var(--border-color);color:var(--text-secondary);font-weight:600;font-family:var(--mono-font)}.goal-content[data-v-28d52b97]{padding:12px;background:var(--bg-color);font-size:14px;color:var(--text-main);line-height:1.6;border-left:4px solid var(--border-color)}.rules-list[data-v-28d52b97]{margin:0;padding:0;list-style:none}.rules-list li[data-v-28d52b97]{padding:10px 12px;background:var(--bg-color);border-left:3px solid #e6a23c;margin-bottom:8px;font-size:13px;color:var(--text-main);line-height:1.5}.docs-list[data-v-28d52b97]{margin:0;padding:0;list-style:none}.docs-list li[data-v-28d52b97]{padding:10px 12px;background:var(--bg-color);border-left:4px solid #3b82f6;margin-bottom:8px;display:flex;flex-direction:column;gap:4px}.doc-path[data-v-28d52b97]{font-family:var(--mono-font);font-size:12px;color:#3b82f6;word-break:break-all;line-height:1.4}.doc-desc[data-v-28d52b97]{font-size:12px;color:var(--text-secondary)}.log-container[data-v-28d52b97]{background:#fafafa;border:1px solid var(--border-color);max-height:400px;overflow-y:auto}[data-theme=dark] .log-container[data-v-28d52b97]{background:#1a1a1a}.log-item[data-v-28d52b97]{padding:10px 12px;border-bottom:1px solid var(--border-color)}[data-theme=dark] .log-item[data-v-28d52b97]{border-bottom-color:#333}.log-item[data-v-28d52b97]:last-child{border-bottom:none}.log-header[data-v-28d52b97]{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.log-time[data-v-28d52b97]{font-family:var(--mono-font);font-size:11px;color:var(--text-muted)}.log-operator[data-v-28d52b97]{font-family:var(--mono-font);font-size:10px;font-weight:700;padding:2px 6px;text-align:center}.log-operator.ai[data-v-28d52b97]{background:#111;color:#fff}[data-theme=dark] .log-operator.ai[data-v-28d52b97]{background:#e0e0e0;color:#181818}.log-operator.usr[data-v-28d52b97]{background:var(--accent-green);color:#fff}.log-operator.sys[data-v-28d52b97]{background:#999;color:#fff}.log-content[data-v-28d52b97]{font-size:13px;color:var(--text-main);line-height:1.5}.empty-tip[data-v-28d52b97]{color:var(--text-muted);text-align:center;padding:40px 20px;font-size:13px}.drawer-fade-enter-active[data-v-28d52b97],.drawer-fade-leave-active[data-v-28d52b97]{transition:opacity .3s ease}.drawer-fade-enter-active .drawer-panel[data-v-28d52b97],.drawer-fade-leave-active .drawer-panel[data-v-28d52b97]{transition:transform .3s ease}.drawer-fade-enter-from[data-v-28d52b97],.drawer-fade-leave-to[data-v-28d52b97]{opacity:0}.drawer-fade-enter-from .drawer-panel[data-v-28d52b97],.drawer-fade-leave-to .drawer-panel[data-v-28d52b97]{transform:translate(100%)}.create-form[data-v-28d52b97]{display:flex;flex-direction:column;gap:20px}.form-group[data-v-28d52b97]{display:flex;flex-direction:column;gap:8px}.form-label[data-v-28d52b97]{font-size:13px;font-weight:600;color:var(--text-main)}.radio-group[data-v-28d52b97]{display:flex;gap:12px}.radio-option[data-v-28d52b97]{flex:1;position:relative;cursor:pointer}.radio-option input[type=radio][data-v-28d52b97]{position:absolute;opacity:0}.radio-option .radio-label[data-v-28d52b97]{display:block;padding:10px 16px;border:2px solid var(--border-color);text-align:center;font-size:13px;font-weight:600;transition:all .2s}.radio-option.selected .radio-label[data-v-28d52b97]{border-color:var(--border-heavy);background:var(--bg-color)}.radio-option .radio-label.exec[data-v-28d52b97]{color:#3498db}.radio-option .radio-label.plan[data-v-28d52b97]{color:#9b59b6}.type-hint[data-v-28d52b97]{font-size:12px;color:var(--text-muted);margin-top:-4px}.form-input[data-v-28d52b97]{width:100%;padding:10px 12px;border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-main);font-size:14px;font-family:inherit;outline:none;transition:border-color .2s}.form-input[data-v-28d52b97]:focus{border-color:var(--border-heavy)}.form-input[data-v-28d52b97]::placeholder{color:var(--text-muted)}.form-textarea[data-v-28d52b97]{width:100%;padding:10px 12px;border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-main);font-size:14px;font-family:inherit;outline:none;resize:vertical;transition:border-color .2s;line-height:1.5}.form-textarea[data-v-28d52b97]:focus{border-color:var(--border-heavy)}.form-textarea[data-v-28d52b97]::placeholder{color:var(--text-muted)}@keyframes slideIn-28d52b97{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOut-28d52b97{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.export-warning-content[data-v-28d52b97]{padding:8px 0}.warning-intro[data-v-28d52b97]{margin:0 0 16px;font-size:14px;color:var(--text-main)}.warning-list[data-v-28d52b97]{margin:0 0 16px;padding:0;list-style:none}.warning-list li[data-v-28d52b97]{padding:10px 12px;background:#fff8e6;border-left:3px solid #e6a23c;margin-bottom:8px;font-size:13px;color:var(--text-main);line-height:1.5}[data-theme=dark] .warning-list li[data-v-28d52b97]{background:#4a3c1a;border-left-color:#e6a23c}.warning-note[data-v-28d52b97]{margin:0;font-size:12px;color:var(--text-muted)}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.ws-button[data-v-cb8b1d12]{border:none;cursor:pointer;font-family:inherit;font-weight:500;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px}.ws-button[data-v-cb8b1d12]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-cb8b1d12]{background:var(--border-heavy);color:#fff;border:1px solid var(--border-heavy);padding:8px 20px}.btn-primary[data-v-cb8b1d12]:hover:not(:disabled){background:var(--accent-red);border-color:var(--accent-red);transform:translateY(-1px);box-shadow:2px 2px #111}.btn-primary[data-v-cb8b1d12]:active:not(:disabled){transform:translateY(0);box-shadow:none}.btn-secondary[data-v-cb8b1d12]{background:var(--card-bg);color:var(--text-main);border:1px solid var(--border-heavy);padding:8px 20px}.btn-secondary[data-v-cb8b1d12]:hover:not(:disabled){background:var(--path-bg);transform:translateY(-1px);box-shadow:2px 2px 0 var(--border-heavy)}.btn-secondary[data-v-cb8b1d12]:active:not(:disabled){transform:translateY(0);box-shadow:none}.btn-ghost[data-v-cb8b1d12]{background:transparent;color:var(--text-secondary);border:1px solid transparent;padding:8px 20px}.btn-ghost[data-v-cb8b1d12]:hover:not(:disabled){color:var(--text-main);background:var(--path-bg)}.btn-ghost[data-v-cb8b1d12]:active:not(:disabled){transform:translateY(0)}.btn-accent[data-v-cb8b1d12]{background:transparent;color:var(--accent-red);border:1px solid transparent;padding:8px 20px}.btn-accent[data-v-cb8b1d12]:hover:not(:disabled){background:#fff5f5}[data-theme=dark] .btn-accent[data-v-cb8b1d12]:hover:not(:disabled){background:#d92b2b33}.btn-accent[data-v-cb8b1d12]:active:not(:disabled){transform:translateY(0)}.btn-danger[data-v-cb8b1d12]{background:transparent;color:var(--text-secondary);border:1px solid transparent;padding:8px 20px}.btn-danger[data-v-cb8b1d12]:hover:not(:disabled){color:var(--accent-red);background:#fff5f5}[data-theme=dark] .btn-danger[data-v-cb8b1d12]:hover:not(:disabled){background:#d92b2b33}.btn-danger[data-v-cb8b1d12]:active:not(:disabled){transform:translateY(0)}.btn-icon[data-v-cb8b1d12]{background:var(--card-bg);color:var(--text-main);border:1px solid var(--border-color);width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center}.btn-icon[data-v-cb8b1d12]:hover:not(:disabled){border-color:var(--border-heavy);color:var(--accent-red)}.btn-icon[data-v-cb8b1d12]:active:not(:disabled){transform:scale(.95)}.btn-cancel[data-v-cb8b1d12]{background:var(--card-bg);color:var(--text-secondary);border:1px solid var(--border-color);padding:8px 20px}.btn-cancel[data-v-cb8b1d12]:hover:not(:disabled){border-color:var(--text-secondary);color:var(--text-main)}.btn-cancel[data-v-cb8b1d12]:active:not(:disabled){transform:translateY(0)}.is-loading[data-v-cb8b1d12]{pointer-events:none;opacity:.7}.loading-spinner[data-v-cb8b1d12]{width:14px;height:14px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin-cb8b1d12 .8s linear infinite}@keyframes spin-cb8b1d12{to{transform:rotate(360deg)}}[data-theme=dark] .btn-primary[data-v-cb8b1d12]{background:#fff;border-color:#fff;color:#111}[data-theme=dark] .btn-primary[data-v-cb8b1d12]:hover:not(:disabled){background:var(--accent-red);border-color:var(--accent-red);color:#fff;box-shadow:2px 2px #fff}.btn-sm[data-v-cb8b1d12]{font-size:13px}.btn-sm[data-v-cb8b1d12]:not(.btn-icon){padding:6px 16px}.btn-md[data-v-cb8b1d12]{font-size:14px}.btn-lg[data-v-cb8b1d12]{font-size:15px}.btn-lg[data-v-cb8b1d12]:not(.btn-icon){padding:10px 24px}.dialog-overlay[data-v-9b0cb320]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px}.dialog[data-v-9b0cb320]{background:var(--card-bg);border:2px solid var(--border-heavy);box-shadow:8px 8px #00000026;width:400px;max-width:90vw}.dialog-header[data-v-9b0cb320]{padding:16px 20px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between}.dialog-title[data-v-9b0cb320]{font-size:16px;font-weight:700;color:var(--text-main)}.dialog-close[data-v-9b0cb320]{background:transparent;border:none;cursor:pointer;padding:4px;color:var(--text-muted);display:flex;align-items:center;justify-content:center}.dialog-close[data-v-9b0cb320]:hover{color:var(--accent-red)}.dialog-body[data-v-9b0cb320]{padding:20px;font-size:14px;line-height:1.6;color:var(--text-secondary)}.dialog-footer[data-v-9b0cb320]{padding:16px 20px;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:8px;background:var(--card-footer)}.modal-fade-enter-active[data-v-9b0cb320],.modal-fade-leave-active[data-v-9b0cb320]{transition:opacity .2s ease}.modal-fade-enter-active .dialog[data-v-9b0cb320],.modal-fade-leave-active .dialog[data-v-9b0cb320]{transition:transform .2s ease}.modal-fade-enter-from[data-v-9b0cb320],.modal-fade-leave-to[data-v-9b0cb320]{opacity:0}.modal-fade-enter-from .dialog[data-v-9b0cb320],.modal-fade-leave-to .dialog[data-v-9b0cb320]{transform:scale(.95)}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{G as u,H as J,r as v,j as y,d as B,e as M,v as F,I,J as q,o as C,_ as T,K,L as X,s as x,T as Q,M as D,N as Y,f as w,w as E,O as _,P as Z}from"./index-Cd_J3fZn.js";const f={create(e){return u.post("/workspaces",e)},list(e){return u.get("/workspaces",{params:e})},get(e){return u.get(`/workspaces/${e}`)},status(e,a){return u.get(`/workspaces/${e}/status`,{params:{format:a}})},delete(e,a){return u.delete(`/workspaces/${e}`,{params:{force:a?"true":void 0}})},archive(e){return u.post(`/workspaces/${e}/archive`)},restore(e){return u.post(`/workspaces/${e}/restore`)},togglePin(e){return u.post(`/workspaces/${e}/pin`)},getDevInfo(){return u.get("/dev-info")},enableDispatch(e,a){return u.post(`/workspaces/${e}/dispatch/enable`,{useGit:a})},queryDisableDispatch(e){return u.post(`/workspaces/${e}/dispatch/disable`)},executeDisableDispatch(e,a){return u.post(`/workspaces/${e}/dispatch/disable/execute`,a)},switchDispatchMode(e,a){return u.post(`/workspaces/${e}/dispatch/switch`,{useGit:a})},reload(e){return u.post(`/workspaces/${e}/reload`)},diagnose(e){return u.post(`/workspaces/${e}/diagnose`)},repair(e,a){return u.post(`/workspaces/${e}/repair`,{issueIds:a})},markError(e,a,c){return u.post(`/workspaces/${e}/mark-error`,{message:a,errorType:c})}};function ee(e){const a=[],c=[],i=e.match(/## 规则[\s\S]*?(?=##|$)/);if(i){const n=i[0].split(`
|
|
2
|
+
`);for(const r of n){const s=r.trim();s.startsWith("- ")&&a.push(s.slice(2))}}const d=e.match(/## 文档[\s\S]*?(?=##|$)/);if(d){const n=d[0].split(`
|
|
3
|
+
`);for(const r of n){const s=r.trim();if(s.startsWith("- ")){const l=s.match(/^- \[(.+?)\]\((.+?)\)(?: - (.+))?$/);l&&l[1]&&l[2]&&c.push({path:l[2],description:l[3]||l[1]})}}}return{rules:a,docs:c}}function te(e){const a=[];if(!e)return a;const c=e.split(`
|
|
4
|
+
`);for(const i of c){const d=i.trim();if(!d.startsWith("|")||d.includes("---")||d.includes("时间"))continue;const p=d.split("|").map(n=>n.trim()).filter(n=>n);if(p.length>=3){const n=p[0],r=p[1],s=p[2];n&&s&&(r==="AI"||r==="Human"||r==="system")&&a.push({timestamp:n,operator:r,event:s})}}return a}const pe=J("workspace",()=>{const e=v([]),a=v(null),c=v(null),i=v(null),d=v([]),p=v([]),n=v([]),r=v(!1),s=v(null),l=y(()=>e.value.filter(o=>o.status==="active")),h=y(()=>e.value.filter(o=>o.status==="archived")),b=y(()=>c.value?.currentFocus||null),g=y(()=>{const o=a.value?.dispatch;return o?.enabled?o.useGit?"enabled-git":"enabled":"disabled"});async function k(o){r.value=!0,s.value=null;try{const t=await f.list({status:o});e.value=t.workspaces}catch(t){throw s.value=t instanceof Error?t.message:"获取工作区列表失败",t}finally{r.value=!1}}async function S(o){r.value=!0,s.value=null;try{const t=await f.get(o);a.value=t.config,c.value=t.graph;const{rules:m,docs:$}=ee(t.workspaceMd||"");d.value=m,p.value=$,n.value=te(t.logMd||"");const H=await f.status(o);i.value=H.summary}catch(t){throw s.value=t instanceof Error?t.message:"获取工作区详情失败",t}finally{r.value=!1}}async function L(o){try{const t=await f.status(o);i.value=t.summary}catch(t){throw s.value=t instanceof Error?t.message:"获取工作区状态失败",t}}async function N(o){r.value=!0,s.value=null;try{const t=await f.create(o);return await k("all"),t}catch(t){throw s.value=t instanceof Error?t.message:"创建工作区失败",t}finally{r.value=!1}}async function R(o,t){r.value=!0,s.value=null;try{await f.delete(o,t),await k("all"),a.value?.id===o&&(a.value=null,c.value=null)}catch(m){throw s.value=m instanceof Error?m.message:"删除工作区失败",m}finally{r.value=!1}}async function O(o){r.value=!0,s.value=null;try{await f.archive(o),await k("all")}catch(t){throw s.value=t instanceof Error?t.message:"归档工作区失败",t}finally{r.value=!1}}async function P(o){r.value=!0,s.value=null;try{await f.restore(o),await k("all")}catch(t){throw s.value=t instanceof Error?t.message:"恢复工作区失败",t}finally{r.value=!1}}async function j(o){try{const t=await f.togglePin(o),m=e.value.find($=>$.id===o);return m&&(m.pinned=t.pinned),t}catch(t){throw s.value=t instanceof Error?t.message:"切换置顶状态失败",t}}function z(){a.value=null,c.value=null,i.value=null,d.value=[],p.value=[],n.value=[]}async function U(o){if(!a.value)throw new Error("当前没有选中的工作区");r.value=!0,s.value=null;try{const t=await f.enableDispatch(a.value.id,o);return await S(a.value.id),t}catch(t){throw s.value=t instanceof Error?t.message:"启用派发失败",t}finally{r.value=!1}}async function G(o){if(!a.value)throw new Error("当前没有选中的工作区");r.value=!0,s.value=null;try{const t=await f.executeDisableDispatch(a.value.id,o);return await S(a.value.id),t}catch(t){throw s.value=t instanceof Error?t.message:"禁用派发失败",t}finally{r.value=!1}}async function A(o){if(!a.value)throw new Error("当前没有选中的工作区");r.value=!0,s.value=null;try{const t=await f.switchDispatchMode(a.value.id,o);return await S(a.value.id),t}catch(t){throw s.value=t instanceof Error?t.message:"切换派发模式失败",t}finally{r.value=!1}}return{workspaces:e,currentWorkspace:a,currentGraph:c,currentStatus:i,currentRules:d,currentDocs:p,currentLogs:n,loading:r,error:s,activeWorkspaces:l,archivedWorkspaces:h,currentFocus:b,dispatchStatus:g,fetchWorkspaces:k,fetchWorkspace:S,fetchStatus:L,createWorkspace:N,deleteWorkspace:R,archiveWorkspace:O,restoreWorkspace:P,togglePin:j,clearCurrent:z,enableDispatch:U,disableDispatch:G,switchDispatchMode:A}});function ae(){const e=v(!1),a=v(null);let c=null;const i=new Map;function d(){c||(c=new EventSource("/api/events"),c.onopen=()=>{e.value=!0,console.log("[SSE] 连接已建立")},c.onmessage=s=>{try{const l=JSON.parse(s.data);l.type==="connected"&&(a.value=l.clientId||null,console.log("[SSE] 客户端ID:",a.value));const h=i.get(l.type);h&&h.forEach(g=>g(l));const b=i.get("*");b&&b.forEach(g=>g(l))}catch(l){console.error("[SSE] 解析消息失败:",l)}},c.onerror=()=>{e.value=!1,console.log("[SSE] 连接断开,将自动重连...")})}function p(){c&&(c.close(),c=null,e.value=!1,a.value=null,console.log("[SSE] 连接已关闭"))}function n(s,l){return i.has(s)||i.set(s,new Set),i.get(s).add(l),()=>{i.get(s)?.delete(l)}}function r(s,l){i.get(s)?.delete(l)}return{connected:e,clientId:a,connect:d,disconnect:p,on:n,off:r}}let W=null;function fe(){return W||(W=ae()),W}const ve={pickDirectory(){return u.post("/admin/pick-directory",{},{timeout:3e5})},async exportWorkspace(e){const a=await fetch(`/api/admin/export-workspace/${e}`);if(!a.ok){const h=await a.json().catch(()=>({error:"导出失败"}));throw new Error(h.error||"导出失败")}const i=a.headers.get("Content-Disposition")?.match(/filename="(.+)"/),d=i?.[1]?decodeURIComponent(i[1]):"workspace.twsp",p=a.headers.get("X-Export-Warnings"),n=p?JSON.parse(atob(p)):[],r=await a.blob(),s=URL.createObjectURL(r),l=document.createElement("a");return l.href=s,l.download=d,l.click(),URL.revokeObjectURL(s),{filename:d,warnings:n}},async checkExportWorkspace(e){return u.get(`/admin/export-workspace/${e}/check`)},import(e,a){return u.post("/admin/import",{path:e,targetDir:a})},importPreview(e){return u.post("/admin/import-preview",{path:e})},syncCleanPreview(){return u.post("/admin/sync-clean-preview")},syncCleanExecute(){return u.post("/admin/sync-clean-execute")},getIndexStats(){return u.get("/admin/index-stats")},async importTwsp(e){return u.post("/admin/import-twsp",e,{headers:{"Content-Type":"multipart/form-data"},timeout:12e4})}},se=["disabled"],ne={key:0,class:"loading-spinner"},re=B({__name:"WsButton",props:{variant:{default:"primary"},size:{default:"md"},disabled:{type:Boolean,default:!1},loading:{type:Boolean,default:!1}},emits:["click"],setup(e,{emit:a}){const c=e,i=a,d=y(()=>{const n=["ws-button"];switch(c.variant){case"primary":n.push("btn-primary");break;case"secondary":n.push("btn-secondary");break;case"ghost":n.push("btn-ghost");break;case"accent":n.push("btn-accent");break;case"danger":n.push("btn-danger");break;case"icon":n.push("btn-icon");break;case"cancel":n.push("btn-cancel");break}return c.loading&&n.push("is-loading"),n.push(`btn-${c.size}`),n.join(" ")}),p=n=>{c.disabled||i("click",n)};return(n,r)=>(C(),M("button",{class:F(d.value),disabled:e.disabled||e.loading,onClick:p},[e.loading?(C(),M("span",ne)):I("",!0),q(n.$slots,"default",{},void 0,!0)],10,se))}}),V=T(re,[["__scopeId","data-v-cb8b1d12"]]),oe={class:"dialog-header"},ce={class:"dialog-title"},le={class:"dialog-body"},ie={class:"dialog-footer"},ue=B({__name:"WsConfirmDialog",props:{modelValue:{type:Boolean},title:{default:"确认"},message:{},confirmText:{default:"确定"},cancelText:{default:"取消"},type:{default:"info"}},emits:["update:modelValue","confirm","cancel"],setup(e,{emit:a}){const c=e,i=a,d=v(c.modelValue);K(()=>c.modelValue,l=>{d.value=l});function p(){i("update:modelValue",!1),i("confirm")}function n(){i("update:modelValue",!1),i("cancel")}function r(){n()}const s={info:"primary",warning:"accent",danger:"danger"};return(l,h)=>(C(),X(Y,{to:"body"},[x(Q,{name:"modal-fade"},{default:D(()=>[d.value?(C(),M("div",{key:0,class:"dialog-overlay",onClick:r},[w("div",{class:"dialog",onClick:h[0]||(h[0]=Z(()=>{},["stop"]))},[w("div",oe,[w("span",ce,E(e.title),1),w("button",{class:"dialog-close",onClick:n},[...h[1]||(h[1]=[w("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none"},[w("path",{d:"M12 4L4 12M4 4L12 12",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round"})],-1)])])]),w("div",le,E(e.message),1),w("div",ie,[x(V,{variant:"secondary",size:"sm",onClick:n},{default:D(()=>[_(E(e.cancelText),1)]),_:1}),x(V,{variant:s[e.type],size:"sm",onClick:p},{default:D(()=>[_(E(e.confirmText),1)]),_:1},8,["variant"])])])])):I("",!0)]),_:1})]))}}),he=T(ue,[["__scopeId","data-v-9b0cb320"]]);export{V as W,ve as a,he as b,fe as g,pe as u,f as w};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a0 as ln,a1 as an,a2 as H,a3 as q,a4 as B,a5 as un,a6 as y,a7 as tn,a8 as L,a9 as _,aa as rn,ab as o,ac as sn,ad as on,ae as fn}from"./MarkdownContent-DXp6CtSP.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function dn(l){return l.endAngle}function mn(l){return l&&l.padAngle}function pn(l,h,I,D,v,A,C,a){var O=I-l,i=D-h,n=C-v,d=a-A,u=d*O-n*i;if(!(u*u<y))return u=(n*(h-A)-d*(l-v))/u,[l+u*O,h+u*i]}function W(l,h,I,D,v,A,C){var a=l-I,O=h-D,i=(C?A:-A)/L(a*a+O*O),n=i*O,d=-i*a,u=l+n,s=h+d,f=I+n,c=D+d,F=(u+f)/2,t=(s+c)/2,m=f-u,g=c-s,R=m*m+g*g,T=v-A,P=u*c-f*s,S=(g<0?-1:1)*L(on(0,T*T*R-P*P)),j=(P*g-m*S)/R,z=(-P*m-g*S)/R,w=(P*g+m*S)/R,p=(-P*m+g*S)/R,x=j-F,e=z-t,r=w-F,G=p-t;return x*x+e*e>r*r+G*G&&(j=w,z=p),{cx:j,cy:z,x01:-n,y01:-d,x11:j*(v/T-1),y11:z*(v/T-1)}}function hn(){var l=cn,h=yn,I=B(0),D=null,v=gn,A=dn,C=mn,a=null,O=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-un,c=A.apply(this,arguments)-un,F=rn(c-f),t=c>f;if(a||(a=n=O()),s<u&&(d=s,s=u,u=d),!(s>y))a.moveTo(0,0);else if(F>tn-y)a.moveTo(s*H(f),s*q(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*H(c),u*q(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,R=f,T=c,P=F,S=F,j=C.apply(this,arguments)/2,z=j>y&&(D?+D.apply(this,arguments):L(u*u+s*s)),w=_(rn(s-u)/2,+I.apply(this,arguments)),p=w,x=w,e,r;if(z>y){var G=sn(z/u*q(j)),M=sn(z/s*q(j));(P-=G*2)>y?(G*=t?1:-1,R+=G,T-=G):(P=0,R=T=(f+c)/2),(S-=M*2)>y?(M*=t?1:-1,m+=M,g-=M):(S=0,m=g=(f+c)/2)}var J=s*H(m),K=s*q(m),N=u*H(T),Q=u*q(T);if(w>y){var U=s*H(g),V=s*q(g),X=u*H(R),Y=u*q(R),E;if(F<an)if(E=pn(J,K,X,Y,U,V,N,Q)){var Z=J-E[0],$=K-E[1],b=U-E[0],k=V-E[1],nn=1/q(fn((Z*b+$*k)/(L(Z*Z+$*$)*L(b*b+k*k)))/2),en=L(E[0]*E[0]+E[1]*E[1]);p=_(w,(u-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else p=x=0}S>y?x>y?(e=W(X,Y,J,K,s,x,t),r=W(U,V,N,Q,s,x,t),a.moveTo(e.cx+e.x01,e.cy+e.y01),x<w?a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,s,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),!t),a.arc(r.cx,r.cy,x,o(r.y11,r.x11),o(r.y01,r.x01),!t))):(a.moveTo(J,K),a.arc(0,0,s,m,g,!t)):a.moveTo(J,K),!(u>y)||!(P>y)?a.lineTo(N,Q):p>y?(e=W(N,Q,U,V,u,-p,t),r=W(J,K,X,Y,u,-p,t),a.lineTo(e.cx+e.x01,e.cy+e.y01),p<w?a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,u,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),t),a.arc(r.cx,r.cy,p,o(r.y11,r.x11),o(r.y01,r.x01),!t))):a.arc(0,0,u,T,R,t)}if(a.closePath(),n)return a=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,d=(+v.apply(this,arguments)+ +A.apply(this,arguments))/2-an/2;return[H(d)*n,q(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:B(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:B(+n),i):h},i.cornerRadius=function(n){return arguments.length?(I=typeof n=="function"?n:B(+n),i):I},i.padRadius=function(n){return arguments.length?(D=n==null?null:typeof n=="function"?n:B(+n),i):D},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:B(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:B(+n),i):A},i.padAngle=function(n){return arguments.length?(C=typeof n=="function"?n:B(+n),i):C},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};
|