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,188 @@
|
|
|
1
|
+
// src/tools/memo.ts
|
|
2
|
+
/**
|
|
3
|
+
* memo_create 工具定义
|
|
4
|
+
*/
|
|
5
|
+
export const memoCreateTool = {
|
|
6
|
+
name: "memo_create",
|
|
7
|
+
description: "创建工作区备忘。备忘是独立于节点树的草稿区,用于记录灵感、讨论、调研结果。创建后可使用 node_reference 关联到节点。",
|
|
8
|
+
inputSchema: {
|
|
9
|
+
type: "object",
|
|
10
|
+
properties: {
|
|
11
|
+
workspaceId: {
|
|
12
|
+
type: "string",
|
|
13
|
+
description: "工作区 ID",
|
|
14
|
+
},
|
|
15
|
+
title: {
|
|
16
|
+
type: "string",
|
|
17
|
+
description: "备忘标题",
|
|
18
|
+
},
|
|
19
|
+
summary: {
|
|
20
|
+
type: "string",
|
|
21
|
+
description: "备忘摘要(用于列表显示)",
|
|
22
|
+
},
|
|
23
|
+
content: {
|
|
24
|
+
type: "string",
|
|
25
|
+
description: "完整内容(Markdown 格式)",
|
|
26
|
+
},
|
|
27
|
+
tags: {
|
|
28
|
+
type: "array",
|
|
29
|
+
items: { type: "string" },
|
|
30
|
+
minItems: 2,
|
|
31
|
+
description: "标签列表(必填,至少2个有效标签,用于分类和过滤)",
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
required: ["workspaceId", "title", "summary", "content", "tags"],
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* memo_list 工具定义
|
|
39
|
+
*/
|
|
40
|
+
export const memoListTool = {
|
|
41
|
+
name: "memo_list",
|
|
42
|
+
description: "列出工作区的所有备忘(精简信息:title+summary+tags),支持按标签过滤。返回所有已使用的标签列表。",
|
|
43
|
+
inputSchema: {
|
|
44
|
+
type: "object",
|
|
45
|
+
properties: {
|
|
46
|
+
workspaceId: {
|
|
47
|
+
type: "string",
|
|
48
|
+
description: "工作区 ID",
|
|
49
|
+
},
|
|
50
|
+
tags: {
|
|
51
|
+
type: "array",
|
|
52
|
+
items: { type: "string" },
|
|
53
|
+
description: "标签列表(可选)。如果指定,仅返回包含任一指定标签的备忘",
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
required: ["workspaceId"],
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* memo_get 工具定义
|
|
61
|
+
*/
|
|
62
|
+
export const memoGetTool = {
|
|
63
|
+
name: "memo_get",
|
|
64
|
+
description: `获取备忘内容(支持按行分页)。返回 contentHash 用于 memo_update 校验。
|
|
65
|
+
|
|
66
|
+
**分页参数**:
|
|
67
|
+
- lineOffset: 起始行号(从 1 开始,默认 1)
|
|
68
|
+
- lineLimit: 返回行数(默认 500)
|
|
69
|
+
|
|
70
|
+
**返回**:
|
|
71
|
+
- memo: 备忘数据(content 可能被截取)
|
|
72
|
+
- totalLines: 总行数
|
|
73
|
+
- contentHash: 用于 memo_update 校验
|
|
74
|
+
- contentTruncated: 是否被截取
|
|
75
|
+
|
|
76
|
+
**使用示例**:
|
|
77
|
+
- 读取: memo_get({ workspaceId, memoId })
|
|
78
|
+
- 继续: memo_get({ workspaceId, memoId, lineOffset: 501 })`,
|
|
79
|
+
inputSchema: {
|
|
80
|
+
type: "object",
|
|
81
|
+
properties: {
|
|
82
|
+
workspaceId: {
|
|
83
|
+
type: "string",
|
|
84
|
+
description: "工作区 ID",
|
|
85
|
+
},
|
|
86
|
+
memoId: {
|
|
87
|
+
type: "string",
|
|
88
|
+
description: "备忘 ID",
|
|
89
|
+
},
|
|
90
|
+
lineOffset: {
|
|
91
|
+
type: "number",
|
|
92
|
+
description: "起始行号(从 1 开始,默认 1)",
|
|
93
|
+
},
|
|
94
|
+
lineLimit: {
|
|
95
|
+
type: "number",
|
|
96
|
+
description: "返回行数(默认 500)",
|
|
97
|
+
},
|
|
98
|
+
},
|
|
99
|
+
required: ["workspaceId", "memoId"],
|
|
100
|
+
},
|
|
101
|
+
};
|
|
102
|
+
/**
|
|
103
|
+
* memo_update 工具定义
|
|
104
|
+
*/
|
|
105
|
+
export const memoUpdateTool = {
|
|
106
|
+
name: "memo_update",
|
|
107
|
+
description: "更新备忘。支持两种编辑模式:1) 全量替换:直接提供 content/summary/title/tags 替换整个字段;2) 精确替换:指定 field + old_str + new_str 进行字符串替换。更新前需提供 contentHash(从 memo_get 获取)进行校验。",
|
|
108
|
+
inputSchema: {
|
|
109
|
+
type: "object",
|
|
110
|
+
properties: {
|
|
111
|
+
workspaceId: {
|
|
112
|
+
type: "string",
|
|
113
|
+
description: "工作区 ID",
|
|
114
|
+
},
|
|
115
|
+
memoId: {
|
|
116
|
+
type: "string",
|
|
117
|
+
description: "备忘 ID",
|
|
118
|
+
},
|
|
119
|
+
contentHash: {
|
|
120
|
+
type: "string",
|
|
121
|
+
description: "内容 hash(必填,从 memo_get 获取)",
|
|
122
|
+
},
|
|
123
|
+
title: {
|
|
124
|
+
type: "string",
|
|
125
|
+
description: "新标题(可选)",
|
|
126
|
+
},
|
|
127
|
+
summary: {
|
|
128
|
+
type: "string",
|
|
129
|
+
description: "新摘要(可选)",
|
|
130
|
+
},
|
|
131
|
+
content: {
|
|
132
|
+
type: "string",
|
|
133
|
+
description: "新内容(可选,替换全部内容)",
|
|
134
|
+
},
|
|
135
|
+
field: {
|
|
136
|
+
type: "string",
|
|
137
|
+
enum: ["content", "summary"],
|
|
138
|
+
description: "要精确替换的字段",
|
|
139
|
+
},
|
|
140
|
+
old_str: {
|
|
141
|
+
type: "string",
|
|
142
|
+
description: "要替换的原文本",
|
|
143
|
+
},
|
|
144
|
+
new_str: {
|
|
145
|
+
type: "string",
|
|
146
|
+
description: "替换后的文本",
|
|
147
|
+
},
|
|
148
|
+
tags: {
|
|
149
|
+
type: "array",
|
|
150
|
+
items: { type: "string" },
|
|
151
|
+
description: "新标签列表(可选,会完全替换现有标签)",
|
|
152
|
+
},
|
|
153
|
+
},
|
|
154
|
+
required: ["workspaceId", "memoId", "contentHash"],
|
|
155
|
+
},
|
|
156
|
+
};
|
|
157
|
+
/**
|
|
158
|
+
* memo_delete 工具定义
|
|
159
|
+
*/
|
|
160
|
+
export const memoDeleteTool = {
|
|
161
|
+
name: "memo_delete",
|
|
162
|
+
description: "删除备忘。会同时删除备忘文件和索引。",
|
|
163
|
+
inputSchema: {
|
|
164
|
+
type: "object",
|
|
165
|
+
properties: {
|
|
166
|
+
workspaceId: {
|
|
167
|
+
type: "string",
|
|
168
|
+
description: "工作区 ID",
|
|
169
|
+
},
|
|
170
|
+
memoId: {
|
|
171
|
+
type: "string",
|
|
172
|
+
description: "备忘 ID",
|
|
173
|
+
},
|
|
174
|
+
},
|
|
175
|
+
required: ["workspaceId", "memoId"],
|
|
176
|
+
},
|
|
177
|
+
};
|
|
178
|
+
/**
|
|
179
|
+
* 导出所有 memo 工具
|
|
180
|
+
*/
|
|
181
|
+
export const memoTools = [
|
|
182
|
+
memoCreateTool,
|
|
183
|
+
memoListTool,
|
|
184
|
+
memoGetTool,
|
|
185
|
+
memoUpdateTool,
|
|
186
|
+
memoDeleteTool,
|
|
187
|
+
];
|
|
188
|
+
//# sourceMappingURL=memo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memo.js","sourceRoot":"","sources":["../../src/tools/memo.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { Tool } from "@modelcontextprotocol/sdk/types.js";
|
|
2
|
+
/**
|
|
3
|
+
* node_create 工具定义
|
|
4
|
+
*/
|
|
5
|
+
export declare const nodeCreateTool: Tool;
|
|
6
|
+
/**
|
|
7
|
+
* node_get 工具定义
|
|
8
|
+
*/
|
|
9
|
+
export declare const nodeGetTool: Tool;
|
|
10
|
+
/**
|
|
11
|
+
* node_list 工具定义
|
|
12
|
+
*/
|
|
13
|
+
export declare const nodeListTool: Tool;
|
|
14
|
+
/**
|
|
15
|
+
* node_delete 工具定义
|
|
16
|
+
*/
|
|
17
|
+
export declare const nodeDeleteTool: Tool;
|
|
18
|
+
/**
|
|
19
|
+
* node_update 工具定义
|
|
20
|
+
*/
|
|
21
|
+
export declare const nodeUpdateTool: Tool;
|
|
22
|
+
/**
|
|
23
|
+
* node_move 工具定义
|
|
24
|
+
*/
|
|
25
|
+
export declare const nodeMoveTool: Tool;
|
|
26
|
+
/**
|
|
27
|
+
* node_reorder 工具定义
|
|
28
|
+
*/
|
|
29
|
+
export declare const nodeReorderTool: Tool;
|
|
30
|
+
/**
|
|
31
|
+
* 所有节点工具
|
|
32
|
+
*/
|
|
33
|
+
export declare const nodeTools: Tool[];
|
|
34
|
+
//# sourceMappingURL=node.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/tools/node.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,IA6G5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,IAiBzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,IAqB1B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,IAiB5B,CAAC;AAIF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,IAwE5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,IAyB1B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,IAwB7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,EAAE,IAAI,EAQ3B,CAAC"}
|
|
@@ -0,0 +1,328 @@
|
|
|
1
|
+
// src/tools/node.ts
|
|
2
|
+
/**
|
|
3
|
+
* node_create 工具定义
|
|
4
|
+
*/
|
|
5
|
+
export const nodeCreateTool = {
|
|
6
|
+
name: "node_create",
|
|
7
|
+
description: `在指定父节点下创建新的子节点。
|
|
8
|
+
|
|
9
|
+
**节点类型选择指南**(重要!):
|
|
10
|
+
| 场景 | 选择类型 | 原因 |
|
|
11
|
+
|------|----------|------|
|
|
12
|
+
| 具体的代码修改、bug修复 | execution | 有明确的产出,不需要再分解 |
|
|
13
|
+
| 简单的文件操作、配置更改 | execution | 单步完成,不需要分解 |
|
|
14
|
+
| 需要分析后再决定具体步骤 | planning | 先分析,再创建子节点执行 |
|
|
15
|
+
| 涉及多个模块或多步操作 | planning | 需要分解为多个执行节点 |
|
|
16
|
+
| 不确定具体做法 | planning | 先规划,再决定如何执行 |
|
|
17
|
+
|
|
18
|
+
**节点类型说明**:
|
|
19
|
+
- planning(规划节点):负责分析、分解任务、派发子节点、汇总结论。可以有子节点。
|
|
20
|
+
- execution(执行节点):负责具体执行任务、产出结论。不能有子节点,执行中遇到问题需 fail 回退到父节点。
|
|
21
|
+
|
|
22
|
+
**节点角色(role)说明**:
|
|
23
|
+
- info_collection:信息收集节点。用于调研、分析项目信息。完成时在 conclusion 中使用特定格式,系统会自动归档到工作区:
|
|
24
|
+
\`\`\`
|
|
25
|
+
## 规则
|
|
26
|
+
- 规则1
|
|
27
|
+
- 规则2
|
|
28
|
+
|
|
29
|
+
## 文档
|
|
30
|
+
- /path/to/doc1: 文档1描述
|
|
31
|
+
- /path/to/doc2: 文档2描述
|
|
32
|
+
\`\`\`
|
|
33
|
+
- info_summary:信息总结,从已有信息中提取结构化内容
|
|
34
|
+
- validation:预留,暂不使用
|
|
35
|
+
|
|
36
|
+
**重要约束**:
|
|
37
|
+
- 只有规划节点可以创建子节点
|
|
38
|
+
- 父节点必须处于 pending、planning 或 monitoring 状态
|
|
39
|
+
- 创建第一个子节点时,父节点自动转为 monitoring 状态
|
|
40
|
+
- 执行节点发现任务过于复杂时,应 fail 回退让父规划节点重新分解
|
|
41
|
+
- **如果工作区有规则,必须传入正确的 rulesHash**(通过 workspace_get 或 context_get 获取)
|
|
42
|
+
- **根节点 start 前必须先完成一个 role='info_collection' 的信息收集节点**`,
|
|
43
|
+
inputSchema: {
|
|
44
|
+
type: "object",
|
|
45
|
+
properties: {
|
|
46
|
+
workspaceId: {
|
|
47
|
+
type: "string",
|
|
48
|
+
description: "工作区 ID",
|
|
49
|
+
},
|
|
50
|
+
parentId: {
|
|
51
|
+
type: "string",
|
|
52
|
+
description: "父节点 ID(必须是规划节点)",
|
|
53
|
+
},
|
|
54
|
+
type: {
|
|
55
|
+
type: "string",
|
|
56
|
+
enum: ["planning", "execution"],
|
|
57
|
+
description: "节点类型:planning(规划)或 execution(执行)",
|
|
58
|
+
},
|
|
59
|
+
title: {
|
|
60
|
+
type: "string",
|
|
61
|
+
description: "节点标题(不能包含特殊字符: / \\ : * ? \" < > |)",
|
|
62
|
+
},
|
|
63
|
+
requirement: {
|
|
64
|
+
type: "string",
|
|
65
|
+
description: "节点需求描述,详细说明该节点要完成的任务(必填)",
|
|
66
|
+
},
|
|
67
|
+
docs: {
|
|
68
|
+
type: "array",
|
|
69
|
+
items: {
|
|
70
|
+
type: "object",
|
|
71
|
+
properties: {
|
|
72
|
+
path: { type: "string" },
|
|
73
|
+
description: { type: "string" },
|
|
74
|
+
},
|
|
75
|
+
required: ["path", "description"],
|
|
76
|
+
},
|
|
77
|
+
description: "派发给子节点的文档引用(可选)",
|
|
78
|
+
},
|
|
79
|
+
rulesHash: {
|
|
80
|
+
type: "string",
|
|
81
|
+
description: "规则哈希(如果工作区有规则则必填,通过 workspace_get 或 context_get 获取)",
|
|
82
|
+
},
|
|
83
|
+
role: {
|
|
84
|
+
type: "string",
|
|
85
|
+
enum: ["info_collection", "info_summary", "dispatch_exec", "dispatch_spec", "dispatch_quality", "spec_review", "quality_review"],
|
|
86
|
+
description: "节点角色(可选):info_collection=信息收集,info_summary=信息总结,dispatch_exec=派发执行,dispatch_spec=派发规格审查,dispatch_quality=派发质量审查",
|
|
87
|
+
},
|
|
88
|
+
acceptanceCriteria: {
|
|
89
|
+
type: "array",
|
|
90
|
+
items: {
|
|
91
|
+
type: "object",
|
|
92
|
+
properties: {
|
|
93
|
+
when: { type: "string", description: "触发条件" },
|
|
94
|
+
then: { type: "string", description: "期望结果" },
|
|
95
|
+
},
|
|
96
|
+
required: ["when", "then"],
|
|
97
|
+
},
|
|
98
|
+
description: "验收标准(WHEN/THEN 格式)",
|
|
99
|
+
},
|
|
100
|
+
isNeedTest: {
|
|
101
|
+
type: "boolean",
|
|
102
|
+
description: `是否需要测试(可选,仅执行节点或规划节点有效)。设为 true 时系统会自动处理:
|
|
103
|
+
- **执行节点 + isNeedTest=true**:自动升级为 [管理] 规划节点,并创建 [执行] 和 [测试] 两个子节点
|
|
104
|
+
- **规划节点 + isNeedTest=true**:自动创建 [集成测试] 子节点
|
|
105
|
+
这样可以确保重要任务都有配对的测试验收。`,
|
|
106
|
+
},
|
|
107
|
+
testRequirement: {
|
|
108
|
+
type: "string",
|
|
109
|
+
description: "测试验收标准(isNeedTest=true 时使用,可选)",
|
|
110
|
+
},
|
|
111
|
+
},
|
|
112
|
+
required: ["workspaceId", "parentId", "type", "title", "requirement"],
|
|
113
|
+
},
|
|
114
|
+
};
|
|
115
|
+
/**
|
|
116
|
+
* node_get 工具定义
|
|
117
|
+
*/
|
|
118
|
+
export const nodeGetTool = {
|
|
119
|
+
name: "node_get",
|
|
120
|
+
description: "获取节点详情,包含元数据和所有 Markdown 内容。返回的 nodeHash 用于后续 node_update 的乐观锁校验。",
|
|
121
|
+
inputSchema: {
|
|
122
|
+
type: "object",
|
|
123
|
+
properties: {
|
|
124
|
+
workspaceId: {
|
|
125
|
+
type: "string",
|
|
126
|
+
description: "工作区 ID",
|
|
127
|
+
},
|
|
128
|
+
nodeId: {
|
|
129
|
+
type: "string",
|
|
130
|
+
description: "节点 ID",
|
|
131
|
+
},
|
|
132
|
+
},
|
|
133
|
+
required: ["workspaceId", "nodeId"],
|
|
134
|
+
},
|
|
135
|
+
};
|
|
136
|
+
/**
|
|
137
|
+
* node_list 工具定义
|
|
138
|
+
*/
|
|
139
|
+
export const nodeListTool = {
|
|
140
|
+
name: "node_list",
|
|
141
|
+
description: "获取节点树结构,支持指定起始节点和深度。",
|
|
142
|
+
inputSchema: {
|
|
143
|
+
type: "object",
|
|
144
|
+
properties: {
|
|
145
|
+
workspaceId: {
|
|
146
|
+
type: "string",
|
|
147
|
+
description: "工作区 ID",
|
|
148
|
+
},
|
|
149
|
+
rootId: {
|
|
150
|
+
type: "string",
|
|
151
|
+
description: "起始节点 ID(默认为工作区根节点)",
|
|
152
|
+
},
|
|
153
|
+
depth: {
|
|
154
|
+
type: "number",
|
|
155
|
+
description: "最大深度(默认无限)",
|
|
156
|
+
},
|
|
157
|
+
},
|
|
158
|
+
required: ["workspaceId"],
|
|
159
|
+
},
|
|
160
|
+
};
|
|
161
|
+
/**
|
|
162
|
+
* node_delete 工具定义
|
|
163
|
+
*/
|
|
164
|
+
export const nodeDeleteTool = {
|
|
165
|
+
name: "node_delete",
|
|
166
|
+
description: "删除节点及其所有子节点。根节点无法删除。",
|
|
167
|
+
inputSchema: {
|
|
168
|
+
type: "object",
|
|
169
|
+
properties: {
|
|
170
|
+
workspaceId: {
|
|
171
|
+
type: "string",
|
|
172
|
+
description: "工作区 ID",
|
|
173
|
+
},
|
|
174
|
+
nodeId: {
|
|
175
|
+
type: "string",
|
|
176
|
+
description: "要删除的节点 ID",
|
|
177
|
+
},
|
|
178
|
+
},
|
|
179
|
+
required: ["workspaceId", "nodeId"],
|
|
180
|
+
},
|
|
181
|
+
};
|
|
182
|
+
// ========== Phase 3: 节点更新 ==========
|
|
183
|
+
/**
|
|
184
|
+
* node_update 工具定义
|
|
185
|
+
*/
|
|
186
|
+
export const nodeUpdateTool = {
|
|
187
|
+
name: "node_update",
|
|
188
|
+
description: `更新节点信息,支持两种编辑模式:
|
|
189
|
+
|
|
190
|
+
**模式一:全量替换**
|
|
191
|
+
直接传入 title/requirement/note/conclusion 的完整新值进行覆盖。
|
|
192
|
+
|
|
193
|
+
**模式二:精确替换(推荐)**
|
|
194
|
+
传入 field + old_str + new_str 进行字符串级别精确替换,避免并发冲突。
|
|
195
|
+
|
|
196
|
+
**必填参数**:
|
|
197
|
+
- nodeHash:从 node_get 获取,用于乐观锁校验,防止并发覆盖
|
|
198
|
+
|
|
199
|
+
**使用建议**:
|
|
200
|
+
- 更新 conclusion 时优先使用精确替换模式,保留历史信息
|
|
201
|
+
- 小修改使用模式二(精确替换),减少冲突风险
|
|
202
|
+
- 大范围重写使用模式一(全量替换)
|
|
203
|
+
|
|
204
|
+
**过期结论处理**:
|
|
205
|
+
- 当节点 conclusionStale=true 时,更新 conclusion 需要提供 conclusionsHash 参数
|
|
206
|
+
- conclusionsHash 通过 context_get 获取,用于验证子节点结论未变化`,
|
|
207
|
+
inputSchema: {
|
|
208
|
+
type: "object",
|
|
209
|
+
properties: {
|
|
210
|
+
workspaceId: {
|
|
211
|
+
type: "string",
|
|
212
|
+
description: "工作区 ID",
|
|
213
|
+
},
|
|
214
|
+
nodeId: {
|
|
215
|
+
type: "string",
|
|
216
|
+
description: "节点 ID",
|
|
217
|
+
},
|
|
218
|
+
nodeHash: {
|
|
219
|
+
type: "string",
|
|
220
|
+
description: "节点 hash(必填,从 node_get 获取)",
|
|
221
|
+
},
|
|
222
|
+
title: {
|
|
223
|
+
type: "string",
|
|
224
|
+
description: "新标题(可选,全量替换模式)",
|
|
225
|
+
},
|
|
226
|
+
requirement: {
|
|
227
|
+
type: "string",
|
|
228
|
+
description: "新需求描述(可选,全量替换模式)",
|
|
229
|
+
},
|
|
230
|
+
note: {
|
|
231
|
+
type: "string",
|
|
232
|
+
description: "新备注(可选,全量替换模式)",
|
|
233
|
+
},
|
|
234
|
+
conclusion: {
|
|
235
|
+
type: "string",
|
|
236
|
+
description: "新结论(可选,全量替换模式,用于修正已完成节点的结论)",
|
|
237
|
+
},
|
|
238
|
+
field: {
|
|
239
|
+
type: "string",
|
|
240
|
+
enum: ["requirement", "note", "conclusion"],
|
|
241
|
+
description: "要精确替换的字段(精确替换模式)",
|
|
242
|
+
},
|
|
243
|
+
old_str: {
|
|
244
|
+
type: "string",
|
|
245
|
+
description: "要替换的原文本(精确替换模式)",
|
|
246
|
+
},
|
|
247
|
+
new_str: {
|
|
248
|
+
type: "string",
|
|
249
|
+
description: "替换后的文本(精确替换模式)",
|
|
250
|
+
},
|
|
251
|
+
conclusionsHash: {
|
|
252
|
+
type: "string",
|
|
253
|
+
description: "上下文 hash(stale=true 时更新 conclusion 必填,从 context_get 获取)",
|
|
254
|
+
},
|
|
255
|
+
},
|
|
256
|
+
required: ["workspaceId", "nodeId", "nodeHash"],
|
|
257
|
+
},
|
|
258
|
+
};
|
|
259
|
+
/**
|
|
260
|
+
* node_move 工具定义
|
|
261
|
+
*/
|
|
262
|
+
export const nodeMoveTool = {
|
|
263
|
+
name: "node_move",
|
|
264
|
+
description: `移动节点到新的父节点下,用于重组节点层级结构。
|
|
265
|
+
- 根节点无法移动
|
|
266
|
+
- 不能将节点移动到其自身的子节点下(防止循环依赖)
|
|
267
|
+
- 目标父节点必须是规划节点(执行节点不能有子节点)
|
|
268
|
+
- 节点本身的数据(标题、需求、状态等)保持不变`,
|
|
269
|
+
inputSchema: {
|
|
270
|
+
type: "object",
|
|
271
|
+
properties: {
|
|
272
|
+
workspaceId: {
|
|
273
|
+
type: "string",
|
|
274
|
+
description: "工作区 ID",
|
|
275
|
+
},
|
|
276
|
+
nodeId: {
|
|
277
|
+
type: "string",
|
|
278
|
+
description: "要移动的节点 ID",
|
|
279
|
+
},
|
|
280
|
+
newParentId: {
|
|
281
|
+
type: "string",
|
|
282
|
+
description: "目标父节点 ID(必须是规划节点)",
|
|
283
|
+
},
|
|
284
|
+
},
|
|
285
|
+
required: ["workspaceId", "nodeId", "newParentId"],
|
|
286
|
+
},
|
|
287
|
+
};
|
|
288
|
+
/**
|
|
289
|
+
* node_reorder 工具定义
|
|
290
|
+
*/
|
|
291
|
+
export const nodeReorderTool = {
|
|
292
|
+
name: "node_reorder",
|
|
293
|
+
description: `重新排序节点的子节点顺序。
|
|
294
|
+
- 必须提供所有子节点的 ID,不能增减
|
|
295
|
+
- 用于调整子节点的显示顺序`,
|
|
296
|
+
inputSchema: {
|
|
297
|
+
type: "object",
|
|
298
|
+
properties: {
|
|
299
|
+
workspaceId: {
|
|
300
|
+
type: "string",
|
|
301
|
+
description: "工作区 ID",
|
|
302
|
+
},
|
|
303
|
+
nodeId: {
|
|
304
|
+
type: "string",
|
|
305
|
+
description: "父节点 ID(要重排其子节点)",
|
|
306
|
+
},
|
|
307
|
+
orderedChildIds: {
|
|
308
|
+
type: "array",
|
|
309
|
+
items: { type: "string" },
|
|
310
|
+
description: "按新顺序排列的所有子节点 ID 数组",
|
|
311
|
+
},
|
|
312
|
+
},
|
|
313
|
+
required: ["workspaceId", "nodeId", "orderedChildIds"],
|
|
314
|
+
},
|
|
315
|
+
};
|
|
316
|
+
/**
|
|
317
|
+
* 所有节点工具
|
|
318
|
+
*/
|
|
319
|
+
export const nodeTools = [
|
|
320
|
+
nodeCreateTool,
|
|
321
|
+
nodeGetTool,
|
|
322
|
+
nodeListTool,
|
|
323
|
+
nodeDeleteTool,
|
|
324
|
+
nodeUpdateTool,
|
|
325
|
+
nodeMoveTool,
|
|
326
|
+
nodeReorderTool,
|
|
327
|
+
];
|
|
328
|
+
//# sourceMappingURL=node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/tools/node.ts"],"names":[],"mappings":"AAAA,oBAAoB;AAIpB;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAS;IAClC,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wDAmCyC;IACtD,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,QAAQ;aACtB;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,iBAAiB;aAC/B;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC;gBAC/B,WAAW,EAAE,kCAAkC;aAChD;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,qCAAqC;aACnD;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,0BAA0B;aACxC;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACxB,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;qBAChC;oBACD,QAAQ,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC;iBAClC;gBACD,WAAW,EAAE,iBAAiB;aAC/B;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,qDAAqD;aACnE;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,iBAAiB,EAAE,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,kBAAkB,EAAE,aAAa,EAAE,gBAAgB,CAAC;gBAChI,WAAW,EAAE,iHAAiH;aAC/H;YACD,kBAAkB,EAAE;gBAClB,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE;wBAC7C,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE;qBAC9C;oBACD,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;iBAC3B;gBACD,WAAW,EAAE,oBAAoB;aAClC;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE;;;qBAGA;aACd;YACD,eAAe,EAAE;gBACf,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,gCAAgC;aAC9C;SACF;QACD,QAAQ,EAAE,CAAC,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC;KACtE;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAS;IAC/B,IAAI,EAAE,UAAU;IAChB,WAAW,EAAE,mEAAmE;IAChF,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,QAAQ;aACtB;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,OAAO;aACrB;SACF;QACD,QAAQ,EAAE,CAAC,aAAa,EAAE,QAAQ,CAAC;KACpC;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAS;IAChC,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,sBAAsB;IACnC,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,QAAQ;aACtB;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,oBAAoB;aAClC;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,YAAY;aAC1B;SACF;QACD,QAAQ,EAAE,CAAC,aAAa,CAAC;KAC1B;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAS;IAClC,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,sBAAsB;IACnC,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,QAAQ;aACtB;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,WAAW;aACzB;SACF;QACD,QAAQ,EAAE,CAAC,aAAa,EAAE,QAAQ,CAAC;KACpC;CACF,CAAC;AAEF,sCAAsC;AAEtC;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAS;IAClC,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE;;;;;;;;;;;;;;;;;;iDAkBkC;IAC/C,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,QAAQ;aACtB;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,OAAO;aACrB;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,2BAA2B;aACzC;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,gBAAgB;aAC9B;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kBAAkB;aAChC;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,gBAAgB;aAC9B;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,6BAA6B;aAC3C;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,YAAY,CAAC;gBAC3C,WAAW,EAAE,kBAAkB;aAChC;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,iBAAiB;aAC/B;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,gBAAgB;aAC9B;YACD,eAAe,EAAE;gBACf,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,yDAAyD;aACvE;SACF;QACD,QAAQ,EAAE,CAAC,aAAa,EAAE,QAAQ,EAAE,UAAU,CAAC;KAChD;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAS;IAChC,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE;;;;yBAIU;IACvB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,QAAQ;aACtB;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,WAAW;aACzB;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,mBAAmB;aACjC;SACF;QACD,QAAQ,EAAE,CAAC,aAAa,EAAE,QAAQ,EAAE,aAAa,CAAC;KACnD;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAS;IACnC,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE;;eAEA;IACb,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,QAAQ;aACtB;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,iBAAiB;aAC/B;YACD,eAAe,EAAE;gBACf,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,WAAW,EAAE,oBAAoB;aAClC;SACF;QACD,QAAQ,EAAE,CAAC,aAAa,EAAE,QAAQ,EAAE,iBAAiB,CAAC;KACvD;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAW;IAC/B,cAAc;IACd,WAAW;IACX,YAAY;IACZ,cAAc;IACd,cAAc;IACd,YAAY;IACZ,eAAe;CAChB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Tool } from "@modelcontextprotocol/sdk/types.js";
|
|
2
|
+
/**
|
|
3
|
+
* workspace_search 工具定义
|
|
4
|
+
*/
|
|
5
|
+
export declare const workspaceSearchTool: Tool;
|
|
6
|
+
/**
|
|
7
|
+
* content_search 工具定义
|
|
8
|
+
*/
|
|
9
|
+
export declare const contentSearchTool: Tool;
|
|
10
|
+
/**
|
|
11
|
+
* 搜索相关工具列表
|
|
12
|
+
*/
|
|
13
|
+
export declare const searchTools: Tool[];
|
|
14
|
+
//# sourceMappingURL=search.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,IA0BjC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,IAoD/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,IAAI,EAG7B,CAAC"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
// src/tools/search.ts
|
|
2
|
+
/**
|
|
3
|
+
* workspace_search 工具定义
|
|
4
|
+
*/
|
|
5
|
+
export const workspaceSearchTool = {
|
|
6
|
+
name: "workspace_search",
|
|
7
|
+
description: `在所有工作区中搜索关键词,返回匹配的工作区列表。
|
|
8
|
+
|
|
9
|
+
**搜索范围**:
|
|
10
|
+
- 工作区名称
|
|
11
|
+
- 工作区目标
|
|
12
|
+
- 工作区规则
|
|
13
|
+
|
|
14
|
+
**返回**:
|
|
15
|
+
- workspaces: 匹配的工作区列表(id, name, goal, matchedIn)
|
|
16
|
+
- hasMore: 是否有更多结果`,
|
|
17
|
+
inputSchema: {
|
|
18
|
+
type: "object",
|
|
19
|
+
properties: {
|
|
20
|
+
query: {
|
|
21
|
+
type: "string",
|
|
22
|
+
description: "搜索关键词",
|
|
23
|
+
},
|
|
24
|
+
limit: {
|
|
25
|
+
type: "number",
|
|
26
|
+
description: "最大结果数(默认 10)",
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
required: ["query"],
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* content_search 工具定义
|
|
34
|
+
*/
|
|
35
|
+
export const contentSearchTool = {
|
|
36
|
+
name: "content_search",
|
|
37
|
+
description: `在指定工作区中搜索节点和 memo 内容。
|
|
38
|
+
|
|
39
|
+
**参数**:
|
|
40
|
+
- workspaceId: 工作区 ID(必填)
|
|
41
|
+
- query: 搜索关键词(必填)
|
|
42
|
+
- id: 限定范围(可选)
|
|
43
|
+
- 节点 ID: 仅搜索该节点子树
|
|
44
|
+
- memo ID: 仅搜索该 memo
|
|
45
|
+
- target: 搜索目标 all/node/memo(默认 all)
|
|
46
|
+
- context: 上下文行数(默认 1)
|
|
47
|
+
|
|
48
|
+
**返回**:
|
|
49
|
+
- matches: 匹配列表
|
|
50
|
+
- type: node/memo
|
|
51
|
+
- nodeId/nodeTitle 或 memoId/memoTitle
|
|
52
|
+
- source: 匹配字段(title/requirement/conclusion/content 等)
|
|
53
|
+
- line: 行号(仅 memo content)
|
|
54
|
+
- snippet: 匹配片段
|
|
55
|
+
- hasMore: 是否有更多结果`,
|
|
56
|
+
inputSchema: {
|
|
57
|
+
type: "object",
|
|
58
|
+
properties: {
|
|
59
|
+
workspaceId: {
|
|
60
|
+
type: "string",
|
|
61
|
+
description: "工作区 ID",
|
|
62
|
+
},
|
|
63
|
+
query: {
|
|
64
|
+
type: "string",
|
|
65
|
+
description: "搜索关键词",
|
|
66
|
+
},
|
|
67
|
+
id: {
|
|
68
|
+
type: "string",
|
|
69
|
+
description: "限定范围:节点 ID(搜索子树)或 memo ID(搜索该 memo)",
|
|
70
|
+
},
|
|
71
|
+
target: {
|
|
72
|
+
type: "string",
|
|
73
|
+
enum: ["all", "node", "memo"],
|
|
74
|
+
description: "搜索目标(默认 all)",
|
|
75
|
+
},
|
|
76
|
+
limit: {
|
|
77
|
+
type: "number",
|
|
78
|
+
description: "最大结果数(默认 20)",
|
|
79
|
+
},
|
|
80
|
+
context: {
|
|
81
|
+
type: "number",
|
|
82
|
+
description: "上下文行数(默认 1)",
|
|
83
|
+
},
|
|
84
|
+
},
|
|
85
|
+
required: ["workspaceId", "query"],
|
|
86
|
+
},
|
|
87
|
+
};
|
|
88
|
+
/**
|
|
89
|
+
* 搜索相关工具列表
|
|
90
|
+
*/
|
|
91
|
+
export const searchTools = [
|
|
92
|
+
workspaceSearchTool,
|
|
93
|
+
contentSearchTool,
|
|
94
|
+
];
|
|
95
|
+
//# sourceMappingURL=search.js.map
|