xtep-workspace 1.10.10
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 +525 -0
- package/README.md +188 -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 +89 -0
- package/plugin/README.md +141 -0
- package/plugin/agents/xtep-executor.md +114 -0
- package/plugin/agents/xtep-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//351/205/215/347/275/256/346/226/271/345/274/217.md +330 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MarkdownStorage.js","sourceRoot":"","sources":["../../src/storage/MarkdownStorage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import type { FileSystemAdapter } from "./FileSystemAdapter.js";
|
|
2
|
+
/**
|
|
3
|
+
* 会话绑定数据结构
|
|
4
|
+
*/
|
|
5
|
+
export interface SessionBinding {
|
|
6
|
+
sessionId: string;
|
|
7
|
+
workspaceId: string;
|
|
8
|
+
focusedNodeId?: string;
|
|
9
|
+
boundAt: number;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* 会话绑定索引结构
|
|
13
|
+
*/
|
|
14
|
+
export interface SessionBindingIndex {
|
|
15
|
+
version: "1.0";
|
|
16
|
+
bindings: Record<string, SessionBinding>;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* 会话绑定存储
|
|
20
|
+
* 管理 Claude Code 会话与工作区的绑定关系
|
|
21
|
+
*
|
|
22
|
+
* 存储位置:~/.xtep-workspace[-dev]/session-bindings.json
|
|
23
|
+
*/
|
|
24
|
+
export declare class SessionBindingStorage {
|
|
25
|
+
private fs;
|
|
26
|
+
constructor(fs: FileSystemAdapter);
|
|
27
|
+
/**
|
|
28
|
+
* 获取会话绑定文件路径
|
|
29
|
+
*/
|
|
30
|
+
private getBindingsPath;
|
|
31
|
+
/**
|
|
32
|
+
* 读取所有会话绑定
|
|
33
|
+
*/
|
|
34
|
+
readBindings(): Promise<SessionBindingIndex>;
|
|
35
|
+
/**
|
|
36
|
+
* 写入会话绑定
|
|
37
|
+
*/
|
|
38
|
+
writeBindings(index: SessionBindingIndex): Promise<void>;
|
|
39
|
+
/**
|
|
40
|
+
* 获取特定会话的绑定信息
|
|
41
|
+
*/
|
|
42
|
+
getBinding(sessionId: string): Promise<SessionBinding | null>;
|
|
43
|
+
/**
|
|
44
|
+
* 绑定会话到工作区
|
|
45
|
+
*/
|
|
46
|
+
bind(sessionId: string, workspaceId: string, nodeId?: string): Promise<SessionBinding>;
|
|
47
|
+
/**
|
|
48
|
+
* 解除会话绑定
|
|
49
|
+
*/
|
|
50
|
+
unbind(sessionId: string): Promise<boolean>;
|
|
51
|
+
/**
|
|
52
|
+
* 更新聚焦节点
|
|
53
|
+
*/
|
|
54
|
+
updateFocus(sessionId: string, nodeId: string): Promise<boolean>;
|
|
55
|
+
/**
|
|
56
|
+
* 清理过期的会话绑定
|
|
57
|
+
* @param maxAgeMs 最大保留时间(毫秒),默认 7 天
|
|
58
|
+
*/
|
|
59
|
+
cleanup(maxAgeMs?: number): Promise<string[]>;
|
|
60
|
+
/**
|
|
61
|
+
* 获取绑定到特定工作区的所有会话
|
|
62
|
+
*/
|
|
63
|
+
getSessionsByWorkspace(workspaceId: string): Promise<SessionBinding[]>;
|
|
64
|
+
/**
|
|
65
|
+
* 清理绑定到已删除工作区的会话
|
|
66
|
+
*/
|
|
67
|
+
cleanupByWorkspace(workspaceId: string): Promise<string[]>;
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=SessionBindingStorage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionBindingStorage.d.ts","sourceRoot":"","sources":["../../src/storage/SessionBindingStorage.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAGhE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,KAAK,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CAC1C;AAED;;;;;GAKG;AACH,qBAAa,qBAAqB;IACpB,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,iBAAiB;IAEzC;;OAEG;IACH,OAAO,CAAC,eAAe;IAIvB;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAYlD;;OAEG;IACG,aAAa,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9D;;OAEG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAKnE;;OAEG;IACG,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAgB5F;;OAEG;IACG,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAajD;;OAEG;IACG,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAatE;;;OAGG;IACG,OAAO,CAAC,QAAQ,GAAE,MAAgC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAmB5E;;OAEG;IACG,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAK5E;;OAEG;IACG,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAiBjE"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
// src/storage/SessionBindingStorage.ts
|
|
2
|
+
import * as path from "node:path";
|
|
3
|
+
/**
|
|
4
|
+
* 会话绑定存储
|
|
5
|
+
* 管理 Claude Code 会话与工作区的绑定关系
|
|
6
|
+
*
|
|
7
|
+
* 存储位置:~/.xtep-workspace[-dev]/session-bindings.json
|
|
8
|
+
*/
|
|
9
|
+
export class SessionBindingStorage {
|
|
10
|
+
fs;
|
|
11
|
+
constructor(fs) {
|
|
12
|
+
this.fs = fs;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* 获取会话绑定文件路径
|
|
16
|
+
*/
|
|
17
|
+
getBindingsPath() {
|
|
18
|
+
return path.join(this.fs.getGlobalBasePath(), "session-bindings.json");
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* 读取所有会话绑定
|
|
22
|
+
*/
|
|
23
|
+
async readBindings() {
|
|
24
|
+
const bindingsPath = this.getBindingsPath();
|
|
25
|
+
if (!(await this.fs.exists(bindingsPath))) {
|
|
26
|
+
return {
|
|
27
|
+
version: "1.0",
|
|
28
|
+
bindings: {}
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
const content = await this.fs.readFile(bindingsPath);
|
|
32
|
+
return JSON.parse(content);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* 写入会话绑定
|
|
36
|
+
*/
|
|
37
|
+
async writeBindings(index) {
|
|
38
|
+
const bindingsPath = this.getBindingsPath();
|
|
39
|
+
await this.fs.writeFile(bindingsPath, JSON.stringify(index, null, 2));
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* 获取特定会话的绑定信息
|
|
43
|
+
*/
|
|
44
|
+
async getBinding(sessionId) {
|
|
45
|
+
const index = await this.readBindings();
|
|
46
|
+
return index.bindings[sessionId] || null;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* 绑定会话到工作区
|
|
50
|
+
*/
|
|
51
|
+
async bind(sessionId, workspaceId, nodeId) {
|
|
52
|
+
const index = await this.readBindings();
|
|
53
|
+
const binding = {
|
|
54
|
+
sessionId,
|
|
55
|
+
workspaceId,
|
|
56
|
+
focusedNodeId: nodeId,
|
|
57
|
+
boundAt: Date.now()
|
|
58
|
+
};
|
|
59
|
+
index.bindings[sessionId] = binding;
|
|
60
|
+
await this.writeBindings(index);
|
|
61
|
+
return binding;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* 解除会话绑定
|
|
65
|
+
*/
|
|
66
|
+
async unbind(sessionId) {
|
|
67
|
+
const index = await this.readBindings();
|
|
68
|
+
if (!index.bindings[sessionId]) {
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
delete index.bindings[sessionId];
|
|
72
|
+
await this.writeBindings(index);
|
|
73
|
+
return true;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* 更新聚焦节点
|
|
77
|
+
*/
|
|
78
|
+
async updateFocus(sessionId, nodeId) {
|
|
79
|
+
const index = await this.readBindings();
|
|
80
|
+
if (!index.bindings[sessionId]) {
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
index.bindings[sessionId].focusedNodeId = nodeId;
|
|
84
|
+
await this.writeBindings(index);
|
|
85
|
+
return true;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* 清理过期的会话绑定
|
|
89
|
+
* @param maxAgeMs 最大保留时间(毫秒),默认 7 天
|
|
90
|
+
*/
|
|
91
|
+
async cleanup(maxAgeMs = 7 * 24 * 60 * 60 * 1000) {
|
|
92
|
+
const index = await this.readBindings();
|
|
93
|
+
const now = Date.now();
|
|
94
|
+
const expiredSessionIds = [];
|
|
95
|
+
for (const [sessionId, binding] of Object.entries(index.bindings)) {
|
|
96
|
+
if (now - binding.boundAt > maxAgeMs) {
|
|
97
|
+
expiredSessionIds.push(sessionId);
|
|
98
|
+
delete index.bindings[sessionId];
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
if (expiredSessionIds.length > 0) {
|
|
102
|
+
await this.writeBindings(index);
|
|
103
|
+
}
|
|
104
|
+
return expiredSessionIds;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* 获取绑定到特定工作区的所有会话
|
|
108
|
+
*/
|
|
109
|
+
async getSessionsByWorkspace(workspaceId) {
|
|
110
|
+
const index = await this.readBindings();
|
|
111
|
+
return Object.values(index.bindings).filter(b => b.workspaceId === workspaceId);
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* 清理绑定到已删除工作区的会话
|
|
115
|
+
*/
|
|
116
|
+
async cleanupByWorkspace(workspaceId) {
|
|
117
|
+
const index = await this.readBindings();
|
|
118
|
+
const removedSessionIds = [];
|
|
119
|
+
for (const [sessionId, binding] of Object.entries(index.bindings)) {
|
|
120
|
+
if (binding.workspaceId === workspaceId) {
|
|
121
|
+
removedSessionIds.push(sessionId);
|
|
122
|
+
delete index.bindings[sessionId];
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
if (removedSessionIds.length > 0) {
|
|
126
|
+
await this.writeBindings(index);
|
|
127
|
+
}
|
|
128
|
+
return removedSessionIds;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
//# sourceMappingURL=SessionBindingStorage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionBindingStorage.js","sourceRoot":"","sources":["../../src/storage/SessionBindingStorage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { FileSystemAdapter } from "./FileSystemAdapter.js";
|
|
2
|
+
export { JsonStorage } from "./JsonStorage.js";
|
|
3
|
+
export { MarkdownStorage } from "./MarkdownStorage.js";
|
|
4
|
+
export { SessionBindingStorage } from "./SessionBindingStorage.js";
|
|
5
|
+
export type { SessionBinding, SessionBindingIndex } from "./SessionBindingStorage.js";
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
// src/storage/index.ts
|
|
2
|
+
export { FileSystemAdapter } from "./FileSystemAdapter.js";
|
|
3
|
+
export { JsonStorage } from "./JsonStorage.js";
|
|
4
|
+
export { MarkdownStorage } from "./MarkdownStorage.js";
|
|
5
|
+
export { SessionBindingStorage } from "./SessionBindingStorage.js";
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AAAA,uBAAuB;AAEvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { Tool } from "@modelcontextprotocol/sdk/types.js";
|
|
2
|
+
/**
|
|
3
|
+
* capability_list 工具定义
|
|
4
|
+
*/
|
|
5
|
+
export declare const capabilityListTool: Tool;
|
|
6
|
+
/**
|
|
7
|
+
* capability_select 工具定义
|
|
8
|
+
*/
|
|
9
|
+
export declare const capabilitySelectTool: Tool;
|
|
10
|
+
/**
|
|
11
|
+
* plugin_path 工具定义
|
|
12
|
+
*/
|
|
13
|
+
export declare const pluginPathTool: Tool;
|
|
14
|
+
/**
|
|
15
|
+
* 所有能力包工具
|
|
16
|
+
*/
|
|
17
|
+
export declare const capabilityTools: Tool[];
|
|
18
|
+
//# sourceMappingURL=capability.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capability.d.ts","sourceRoot":"","sources":["../../src/tools/capability.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,IAiBhC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,IA2BlC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,IAO5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,IAAI,EAIjC,CAAC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
// src/tools/capability.ts
|
|
2
|
+
/**
|
|
3
|
+
* capability_list 工具定义
|
|
4
|
+
*/
|
|
5
|
+
export const capabilityListTool = {
|
|
6
|
+
name: "capability_list",
|
|
7
|
+
description: "获取指定场景的能力包列表。返回基础包(默认选中)和选装包(用户可选)供选择。如果已绑定工作区且未传入 scenario,会自动从工作区配置获取。",
|
|
8
|
+
inputSchema: {
|
|
9
|
+
type: "object",
|
|
10
|
+
properties: {
|
|
11
|
+
scenario: {
|
|
12
|
+
type: "string",
|
|
13
|
+
enum: ["feature", "debug", "optimize", "summary", "misc"],
|
|
14
|
+
description: "任务场景类型:feature(新功能开发)、debug(查错修复)、optimize(优化重构)、summary(总结分析)、misc(其他)。可选 - 如果已绑定工作区会自动获取。",
|
|
15
|
+
},
|
|
16
|
+
sessionId: {
|
|
17
|
+
type: "string",
|
|
18
|
+
description: "会话 ID(用于自动从绑定的工作区获取 scenario)",
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* capability_select 工具定义
|
|
25
|
+
*/
|
|
26
|
+
export const capabilitySelectTool = {
|
|
27
|
+
name: "capability_select",
|
|
28
|
+
description: "确认选择的能力包,创建对应节点并返回执行指南。首次调用创建 info 节点+子节点;追加调用在指定节点下追加子节点。",
|
|
29
|
+
inputSchema: {
|
|
30
|
+
type: "object",
|
|
31
|
+
properties: {
|
|
32
|
+
workspaceId: {
|
|
33
|
+
type: "string",
|
|
34
|
+
description: "工作区 ID",
|
|
35
|
+
},
|
|
36
|
+
infoType: {
|
|
37
|
+
type: "string",
|
|
38
|
+
enum: ["info_collection", "info_summary"],
|
|
39
|
+
description: "信息节点类型(首次调用时必填)",
|
|
40
|
+
},
|
|
41
|
+
nodeId: {
|
|
42
|
+
type: "string",
|
|
43
|
+
description: "现有 info 节点 ID(追加能力时使用,首次调用时不需要)",
|
|
44
|
+
},
|
|
45
|
+
selected: {
|
|
46
|
+
type: "array",
|
|
47
|
+
items: { type: "string" },
|
|
48
|
+
description: "选择的能力 ID 列表",
|
|
49
|
+
},
|
|
50
|
+
},
|
|
51
|
+
required: ["workspaceId", "selected"],
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* plugin_path 工具定义
|
|
56
|
+
*/
|
|
57
|
+
export const pluginPathTool = {
|
|
58
|
+
name: "plugin_path",
|
|
59
|
+
description: "获取 XtepWorkspace 插件目录的绝对路径。当需要读取插件资源(如 Skill、Agent 模板)但找不到时使用。",
|
|
60
|
+
inputSchema: {
|
|
61
|
+
type: "object",
|
|
62
|
+
properties: {},
|
|
63
|
+
},
|
|
64
|
+
};
|
|
65
|
+
/**
|
|
66
|
+
* 所有能力包工具
|
|
67
|
+
*/
|
|
68
|
+
export const capabilityTools = [
|
|
69
|
+
capabilityListTool,
|
|
70
|
+
capabilitySelectTool,
|
|
71
|
+
pluginPathTool,
|
|
72
|
+
];
|
|
73
|
+
//# sourceMappingURL=capability.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capability.js","sourceRoot":"","sources":["../../src/tools/capability.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAI1B;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAS;IACtC,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,0EAA0E;IACvF,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC;gBACzD,WAAW,EAAE,6FAA6F;aAC3G;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,+BAA+B;aAC7C;SACF;KACF;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAS;IACxC,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,4DAA4D;IACzE,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,IAAI,EAAE,CAAC,iBAAiB,EAAE,cAAc,CAAC;gBACzC,WAAW,EAAE,iBAAiB;aAC/B;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,iCAAiC;aAC/C;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,WAAW,EAAE,aAAa;aAC3B;SACF;QACD,QAAQ,EAAE,CAAC,aAAa,EAAE,UAAU,CAAC;KACtC;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAS;IAClC,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,gEAAgE;IAC7E,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE;KACf;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAW;IACrC,kBAAkB;IAClB,oBAAoB;IACpB,cAAc;CACf,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Tool } from "@modelcontextprotocol/sdk/types.js";
|
|
2
|
+
/**
|
|
3
|
+
* config_get 工具定义
|
|
4
|
+
*/
|
|
5
|
+
export declare const configGetTool: Tool;
|
|
6
|
+
/**
|
|
7
|
+
* config_set 工具定义
|
|
8
|
+
*/
|
|
9
|
+
export declare const configSetTool: Tool;
|
|
10
|
+
/**
|
|
11
|
+
* 所有 config 工具
|
|
12
|
+
*/
|
|
13
|
+
export declare const configTools: Tool[];
|
|
14
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/tools/config.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,IAgB3B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,IA4B3B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,IAAI,EAG7B,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
// src/tools/config.ts
|
|
2
|
+
/**
|
|
3
|
+
* config_get 工具定义
|
|
4
|
+
*/
|
|
5
|
+
export const configGetTool = {
|
|
6
|
+
name: "config_get",
|
|
7
|
+
description: `获取全局配置。
|
|
8
|
+
|
|
9
|
+
返回:
|
|
10
|
+
- version: 配置版本
|
|
11
|
+
- defaultDispatchMode: 默认派发模式 ("none" | "git" | "no-git")
|
|
12
|
+
|
|
13
|
+
**使用场景**:
|
|
14
|
+
- 查看当前全局配置
|
|
15
|
+
- 检查默认派发模式设置`,
|
|
16
|
+
inputSchema: {
|
|
17
|
+
type: "object",
|
|
18
|
+
properties: {},
|
|
19
|
+
required: [],
|
|
20
|
+
},
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* config_set 工具定义
|
|
24
|
+
*/
|
|
25
|
+
export const configSetTool = {
|
|
26
|
+
name: "config_set",
|
|
27
|
+
description: `设置全局配置。
|
|
28
|
+
|
|
29
|
+
可配置项:
|
|
30
|
+
- defaultDispatchMode: 默认派发模式
|
|
31
|
+
- "none": 不启用派发(默认)
|
|
32
|
+
- "git": Git 模式(实验功能,自动分支管理)
|
|
33
|
+
- "no-git": 无 Git 模式(仅元数据管理)
|
|
34
|
+
|
|
35
|
+
**使用场景**:
|
|
36
|
+
- 修改默认派发模式
|
|
37
|
+
- 配置全局偏好设置
|
|
38
|
+
|
|
39
|
+
**注意**:
|
|
40
|
+
- 仅影响新启用派发的工作区
|
|
41
|
+
- 已启用的工作区不受影响`,
|
|
42
|
+
inputSchema: {
|
|
43
|
+
type: "object",
|
|
44
|
+
properties: {
|
|
45
|
+
defaultDispatchMode: {
|
|
46
|
+
type: "string",
|
|
47
|
+
enum: ["none", "git", "no-git"],
|
|
48
|
+
description: '默认派发模式 ("none" | "git" | "no-git")',
|
|
49
|
+
},
|
|
50
|
+
},
|
|
51
|
+
required: [],
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* 所有 config 工具
|
|
56
|
+
*/
|
|
57
|
+
export const configTools = [
|
|
58
|
+
configGetTool,
|
|
59
|
+
configSetTool,
|
|
60
|
+
];
|
|
61
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/tools/config.ts"],"names":[],"mappings":"AAAA,sBAAsB;AAItB;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAS;IACjC,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE;;;;;;;;aAQF;IACX,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,EAAE;QACd,QAAQ,EAAE,EAAE;KACb;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAS;IACjC,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE;;;;;;;;;;;;;;cAcD;IACZ,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,mBAAmB,EAAE;gBACnB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC;gBAC/B,WAAW,EAAE,oCAAoC;aAClD;SACF;QACD,QAAQ,EAAE,EAAE;KACb;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAW;IACjC,aAAa;IACb,aAAa;CACd,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { Tool } from "@modelcontextprotocol/sdk/types.js";
|
|
2
|
+
/**
|
|
3
|
+
* context_get 工具定义
|
|
4
|
+
*/
|
|
5
|
+
export declare const contextGetTool: Tool;
|
|
6
|
+
/**
|
|
7
|
+
* context_focus 工具定义
|
|
8
|
+
*/
|
|
9
|
+
export declare const contextFocusTool: Tool;
|
|
10
|
+
/**
|
|
11
|
+
* node_isolate 工具定义
|
|
12
|
+
*/
|
|
13
|
+
export declare const nodeIsolateTool: Tool;
|
|
14
|
+
/**
|
|
15
|
+
* node_reference 工具定义
|
|
16
|
+
*/
|
|
17
|
+
export declare const nodeReferenceTool: Tool;
|
|
18
|
+
/**
|
|
19
|
+
* 所有上下文工具
|
|
20
|
+
*/
|
|
21
|
+
export declare const contextTools: Tool[];
|
|
22
|
+
//# sourceMappingURL=context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/tools/context.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,IAsC5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,IAmB9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,IAuB7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,IAgC/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,IAAI,EAK9B,CAAC"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
// src/tools/context.ts
|
|
2
|
+
/**
|
|
3
|
+
* context_get 工具定义
|
|
4
|
+
*/
|
|
5
|
+
export const contextGetTool = {
|
|
6
|
+
name: "context_get",
|
|
7
|
+
description: `获取节点的聚焦上下文,包含:
|
|
8
|
+
- 工作区信息(目标、规则、活跃文档引用)
|
|
9
|
+
- 上下文链(从根到当前节点的祖先路径,支持 isolate 截断)
|
|
10
|
+
- 跨节点引用(显式引用的其他节点)
|
|
11
|
+
- 子节点结论(已完成/失败的直接子节点结论冒泡)
|
|
12
|
+
- conclusionsHash(子节点结论的哈希值,用于 node_transition/node_update 验证)`,
|
|
13
|
+
inputSchema: {
|
|
14
|
+
type: "object",
|
|
15
|
+
properties: {
|
|
16
|
+
workspaceId: {
|
|
17
|
+
type: "string",
|
|
18
|
+
description: "工作区 ID",
|
|
19
|
+
},
|
|
20
|
+
nodeId: {
|
|
21
|
+
type: "string",
|
|
22
|
+
description: "节点 ID",
|
|
23
|
+
},
|
|
24
|
+
includeLog: {
|
|
25
|
+
type: "boolean",
|
|
26
|
+
description: "是否包含日志(默认 true)",
|
|
27
|
+
},
|
|
28
|
+
maxLogEntries: {
|
|
29
|
+
type: "number",
|
|
30
|
+
description: "最大日志条数(默认 20,Tail-First 截断)",
|
|
31
|
+
},
|
|
32
|
+
reverseLog: {
|
|
33
|
+
type: "boolean",
|
|
34
|
+
description: "是否倒序日志(默认 false)",
|
|
35
|
+
},
|
|
36
|
+
includeProblem: {
|
|
37
|
+
type: "boolean",
|
|
38
|
+
description: "是否包含问题(默认 true)",
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
required: ["workspaceId", "nodeId"],
|
|
42
|
+
},
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* context_focus 工具定义
|
|
46
|
+
*/
|
|
47
|
+
export const contextFocusTool = {
|
|
48
|
+
name: "context_focus",
|
|
49
|
+
description: `设置当前聚焦节点,切换 AI 的工作上下文。
|
|
50
|
+
|
|
51
|
+
**阻断机制**:当祖先链中存在 conclusionStale=true 的节点时,切换到该节点子树外会被阻断,需先更新过期结论。`,
|
|
52
|
+
inputSchema: {
|
|
53
|
+
type: "object",
|
|
54
|
+
properties: {
|
|
55
|
+
workspaceId: {
|
|
56
|
+
type: "string",
|
|
57
|
+
description: "工作区 ID",
|
|
58
|
+
},
|
|
59
|
+
nodeId: {
|
|
60
|
+
type: "string",
|
|
61
|
+
description: "要聚焦的节点 ID",
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
required: ["workspaceId", "nodeId"],
|
|
65
|
+
},
|
|
66
|
+
};
|
|
67
|
+
/**
|
|
68
|
+
* node_isolate 工具定义
|
|
69
|
+
*/
|
|
70
|
+
export const nodeIsolateTool = {
|
|
71
|
+
name: "node_isolate",
|
|
72
|
+
description: `设置节点的隔离状态。
|
|
73
|
+
- isolate=true: 切断上下文继承,不从父节点获取信息
|
|
74
|
+
- isolate=false: 恢复上下文继承`,
|
|
75
|
+
inputSchema: {
|
|
76
|
+
type: "object",
|
|
77
|
+
properties: {
|
|
78
|
+
workspaceId: {
|
|
79
|
+
type: "string",
|
|
80
|
+
description: "工作区 ID",
|
|
81
|
+
},
|
|
82
|
+
nodeId: {
|
|
83
|
+
type: "string",
|
|
84
|
+
description: "节点 ID",
|
|
85
|
+
},
|
|
86
|
+
isolate: {
|
|
87
|
+
type: "boolean",
|
|
88
|
+
description: "是否隔离",
|
|
89
|
+
},
|
|
90
|
+
},
|
|
91
|
+
required: ["workspaceId", "nodeId", "isolate"],
|
|
92
|
+
},
|
|
93
|
+
};
|
|
94
|
+
/**
|
|
95
|
+
* node_reference 工具定义
|
|
96
|
+
*/
|
|
97
|
+
export const nodeReferenceTool = {
|
|
98
|
+
name: "node_reference",
|
|
99
|
+
description: `管理节点的文档/节点引用:
|
|
100
|
+
- add: 添加新引用
|
|
101
|
+
- remove: 删除引用`,
|
|
102
|
+
inputSchema: {
|
|
103
|
+
type: "object",
|
|
104
|
+
properties: {
|
|
105
|
+
workspaceId: {
|
|
106
|
+
type: "string",
|
|
107
|
+
description: "工作区 ID",
|
|
108
|
+
},
|
|
109
|
+
nodeId: {
|
|
110
|
+
type: "string",
|
|
111
|
+
description: "节点 ID",
|
|
112
|
+
},
|
|
113
|
+
targetIdOrPath: {
|
|
114
|
+
type: "string",
|
|
115
|
+
description: "目标节点 ID 或文档路径",
|
|
116
|
+
},
|
|
117
|
+
action: {
|
|
118
|
+
type: "string",
|
|
119
|
+
enum: ["add", "remove"],
|
|
120
|
+
description: "操作类型",
|
|
121
|
+
},
|
|
122
|
+
description: {
|
|
123
|
+
type: "string",
|
|
124
|
+
description: "引用说明(add 时建议填写)",
|
|
125
|
+
},
|
|
126
|
+
},
|
|
127
|
+
required: ["workspaceId", "nodeId", "targetIdOrPath", "action"],
|
|
128
|
+
},
|
|
129
|
+
};
|
|
130
|
+
/**
|
|
131
|
+
* 所有上下文工具
|
|
132
|
+
*/
|
|
133
|
+
export const contextTools = [
|
|
134
|
+
contextGetTool,
|
|
135
|
+
contextFocusTool,
|
|
136
|
+
nodeIsolateTool,
|
|
137
|
+
nodeReferenceTool,
|
|
138
|
+
];
|
|
139
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/tools/context.ts"],"names":[],"mappings":"AAAA,uBAAuB;AAIvB;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAS;IAClC,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE;;;;;+DAKgD;IAC7D,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,UAAU,EAAE;gBACV,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,iBAAiB;aAC/B;YACD,aAAa,EAAE;gBACb,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,6BAA6B;aAC3C;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,kBAAkB;aAChC;YACD,cAAc,EAAE;gBACd,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,iBAAiB;aAC/B;SACF;QACD,QAAQ,EAAE,CAAC,aAAa,EAAE,QAAQ,CAAC;KACpC;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAS;IACpC,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE;;mEAEoD;IACjE,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;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAS;IACnC,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE;;yBAEU;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,OAAO;aACrB;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,MAAM;aACpB;SACF;QACD,QAAQ,EAAE,CAAC,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC;KAC/C;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAS;IACrC,IAAI,EAAE,gBAAgB;IACtB,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,OAAO;aACrB;YACD,cAAc,EAAE;gBACd,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,eAAe;aAC7B;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC;gBACvB,WAAW,EAAE,MAAM;aACpB;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,iBAAiB;aAC/B;SACF;QACD,QAAQ,EAAE,CAAC,aAAa,EAAE,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,CAAC;KAChE;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAW;IAClC,cAAc;IACd,gBAAgB;IAChB,eAAe;IACf,iBAAiB;CAClB,CAAC"}
|