@cjhyy/code-shell-core 0.7.0 → 0.8.0
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/README.md +36 -23
- package/dist/agent/agent-definition-registry.d.ts +2 -2
- package/dist/agent/agent-definition-registry.js +47 -10
- package/dist/agent/agent-definition.d.ts +5 -0
- package/dist/agent/agent-definition.js +14 -0
- package/dist/automation/index.d.ts +7 -4
- package/dist/automation/index.js +4 -2
- package/dist/automation/runner.js +3 -1
- package/dist/automation/scheduler.d.ts +57 -1
- package/dist/automation/scheduler.js +123 -23
- package/dist/automation/store.d.ts +6 -2
- package/dist/automation/store.js +7 -3
- package/dist/capabilities/index.d.ts +109 -0
- package/dist/capabilities/index.js +80 -0
- package/dist/capability-control/disabled-lists.d.ts +2 -1
- package/dist/capability-control/disabled-lists.js +3 -5
- package/dist/capability-control/overlay.d.ts +14 -1
- package/dist/capability-control/overlay.js +40 -0
- package/dist/capability-control/service.js +6 -4
- package/dist/cli/agent-server-stdio.d.ts +1 -1
- package/dist/cli/agent-server-stdio.js +66 -6
- package/dist/cli/agent-server-tcp.js +20 -5
- package/dist/context/compaction.d.ts +39 -3
- package/dist/context/compaction.js +151 -39
- package/dist/context/manager.d.ts +20 -4
- package/dist/context/manager.js +42 -7
- package/dist/context/token-counter.js +5 -3
- package/dist/context/tool-result-storage.d.ts +6 -0
- package/dist/context/tool-result-storage.js +25 -4
- package/dist/credentials/access.d.ts +13 -2
- package/dist/credentials/access.js +99 -4
- package/dist/credentials/index.d.ts +3 -2
- package/dist/credentials/index.js +2 -1
- package/dist/credentials/oauth.d.ts +9 -1
- package/dist/credentials/oauth.js +80 -1
- package/dist/credentials/store.d.ts +16 -2
- package/dist/credentials/store.js +33 -11
- package/dist/credentials/types.d.ts +62 -1
- package/dist/credentials/types.js +16 -1
- package/dist/credentials/use-credential-tool.js +15 -1
- package/dist/engine/auxiliary-pipeline.d.ts +40 -0
- package/dist/engine/auxiliary-pipeline.js +181 -0
- package/dist/{settings → engine}/disk-defaults.d.ts +2 -2
- package/dist/{settings → engine}/disk-defaults.js +5 -2
- package/dist/engine/dynamic-tool-defs.d.ts +4 -0
- package/dist/engine/dynamic-tool-defs.js +4 -0
- package/dist/engine/engine.d.ts +272 -184
- package/dist/engine/engine.js +1869 -1864
- package/dist/engine/file-history-hook.d.ts +11 -0
- package/dist/engine/file-history-hook.js +31 -0
- package/dist/engine/goal-judge-context.d.ts +9 -0
- package/dist/engine/goal-judge-context.js +234 -0
- package/dist/engine/injected-context-cache.d.ts +6 -0
- package/dist/engine/injected-context-cache.js +13 -0
- package/dist/engine/input-attachments.d.ts +1 -1
- package/dist/engine/model-facade.d.ts +3 -3
- package/dist/engine/model-facade.js +15 -14
- package/dist/engine/permission-controller.d.ts +55 -0
- package/dist/engine/permission-controller.js +148 -0
- package/dist/engine/prompt-cache-diagnostics.d.ts +58 -0
- package/dist/engine/prompt-cache-diagnostics.js +178 -0
- package/dist/engine/run-accounting.d.ts +41 -0
- package/dist/engine/run-accounting.js +126 -0
- package/dist/engine/run-context.d.ts +44 -0
- package/dist/engine/run-context.js +88 -0
- package/dist/engine/run-environment.d.ts +30 -0
- package/dist/engine/run-environment.js +77 -0
- package/dist/engine/run-finalize.d.ts +58 -0
- package/dist/engine/run-finalize.js +245 -0
- package/dist/engine/run-goal.d.ts +58 -0
- package/dist/engine/run-goal.js +188 -0
- package/dist/engine/run-image-input.d.ts +1 -1
- package/dist/engine/run-image-input.js +5 -3
- package/dist/engine/run-session-open.d.ts +41 -0
- package/dist/engine/run-session-open.js +186 -0
- package/dist/engine/run-setup.d.ts +42 -0
- package/dist/engine/run-setup.js +58 -0
- package/dist/engine/run-tooling.d.ts +125 -0
- package/dist/engine/run-tooling.js +283 -0
- package/dist/engine/run-types.d.ts +139 -0
- package/dist/engine/run-types.js +12 -0
- package/dist/engine/run-workspace.d.ts +50 -0
- package/dist/engine/run-workspace.js +114 -0
- package/dist/engine/session-title.d.ts +2 -1
- package/dist/engine/session-title.js +4 -1
- package/dist/engine/steer-queue.d.ts +1 -1
- package/dist/engine/subagent-spawner.d.ts +32 -0
- package/dist/engine/subagent-spawner.js +287 -0
- package/dist/engine/tool-summary.d.ts +2 -2
- package/dist/engine/tool-summary.js +2 -2
- package/dist/engine/turn-loop.d.ts +67 -10
- package/dist/engine/turn-loop.js +538 -97
- package/dist/engine/types.d.ts +35 -4
- package/dist/engine/types.js +1 -1
- package/dist/{engine/goal.d.ts → goal/lifecycle.d.ts} +80 -6
- package/dist/goal/lifecycle.js +482 -0
- package/dist/hooks/events.d.ts +26 -9
- package/dist/hooks/events.js +0 -3
- package/dist/hooks/goal-stop-hook.d.ts +28 -29
- package/dist/hooks/goal-stop-hook.js +344 -144
- package/dist/hooks/registry.js +4 -1
- package/dist/hooks/shell-runner.d.ts +12 -1
- package/dist/hooks/shell-runner.js +160 -9
- package/dist/index.d.ts +51 -110
- package/dist/index.extension.d.ts +51 -0
- package/dist/index.extension.js +39 -0
- package/dist/index.internal.d.ts +86 -0
- package/dist/index.internal.js +92 -0
- package/dist/index.js +37 -125
- package/dist/links/cli.d.ts +48 -0
- package/dist/links/cli.js +617 -0
- package/dist/links/http.d.ts +40 -0
- package/dist/links/http.js +166 -0
- package/dist/links/index.d.ts +4 -0
- package/dist/links/index.js +3 -0
- package/dist/links/link-action-tool.d.ts +5 -0
- package/dist/links/link-action-tool.js +241 -0
- package/dist/links/providers.d.ts +8 -0
- package/dist/links/providers.js +665 -0
- package/dist/links/types.d.ts +44 -0
- package/dist/llm/client-base.d.ts +7 -0
- package/dist/llm/client-base.js +72 -10
- package/dist/llm/model-pool.d.ts +1 -1
- package/dist/llm/model-pool.js +1 -1
- package/dist/llm/providers/anthropic.d.ts +1 -0
- package/dist/llm/providers/anthropic.js +9 -0
- package/dist/llm/providers/openai.d.ts +1 -0
- package/dist/llm/providers/openai.js +17 -0
- package/dist/llm/types.d.ts +12 -5
- package/dist/model-catalog/index.js +15 -2
- package/dist/model-catalog/resolve.d.ts +13 -1
- package/dist/model-catalog/resolve.js +37 -2
- package/dist/model-catalog/types.d.ts +74 -48
- package/dist/model-catalog/types.js +16 -5
- package/dist/model-catalog/upsert.d.ts +3 -1
- package/dist/model-catalog/upsert.js +9 -0
- package/dist/onboarding.d.ts +0 -1
- package/dist/onboarding.js +1 -22
- package/dist/panel-apps/bindings.d.ts +24 -0
- package/dist/panel-apps/bindings.js +69 -0
- package/dist/panel-apps/github-archive.d.ts +21 -0
- package/dist/panel-apps/github-archive.js +98 -0
- package/dist/panel-apps/index.d.ts +4 -0
- package/dist/panel-apps/index.js +4 -0
- package/dist/panel-apps/installer.d.ts +68 -0
- package/dist/panel-apps/installer.js +622 -0
- package/dist/panel-apps/manifest.d.ts +364 -0
- package/dist/panel-apps/manifest.js +189 -0
- package/dist/panel-apps/paths.d.ts +13 -0
- package/dist/panel-apps/paths.js +38 -0
- package/dist/panel-apps/registry.d.ts +51 -0
- package/dist/panel-apps/registry.js +99 -0
- package/dist/panel-apps/runtime.d.ts +80 -0
- package/dist/panel-apps/runtime.js +154 -0
- package/dist/plugins/gitOps.js +8 -1
- package/dist/plugins/installedPlugins.d.ts +2 -1
- package/dist/plugins/installedPlugins.js +146 -8
- package/dist/plugins/installer/codex/convertAgents.d.ts +4 -1
- package/dist/plugins/installer/codex/convertAgents.js +62 -8
- package/dist/plugins/installer/codex/convertCommands.d.ts +5 -5
- package/dist/plugins/installer/codex/convertCommands.js +35 -12
- package/dist/plugins/installer/codex/convertHooks.d.ts +10 -0
- package/dist/plugins/installer/codex/convertHooks.js +82 -0
- package/dist/plugins/installer/codex/convertSkills.js +41 -6
- package/dist/plugins/installer/install.d.ts +7 -1
- package/dist/plugins/installer/install.js +21 -87
- package/dist/plugins/installer/installFromArchive.d.ts +26 -4
- package/dist/plugins/installer/installFromArchive.js +44 -27
- package/dist/plugins/installer/installFromNpm.d.ts +31 -0
- package/dist/plugins/installer/installFromNpm.js +273 -0
- package/dist/plugins/installer/loadPluginAgents.js +17 -4
- package/dist/plugins/installer/loadPluginMcp.d.ts +14 -0
- package/dist/plugins/installer/loadPluginMcp.js +245 -35
- package/dist/plugins/installer/normalizeManifest.d.ts +13 -0
- package/dist/plugins/installer/normalizeManifest.js +306 -0
- package/dist/plugins/installer/npmTar.d.ts +13 -0
- package/dist/plugins/installer/npmTar.js +321 -0
- package/dist/plugins/installer/parseSource.d.ts +11 -0
- package/dist/plugins/installer/parseSource.js +48 -0
- package/dist/plugins/installer/preview.d.ts +101 -0
- package/dist/plugins/installer/preview.js +336 -0
- package/dist/plugins/installer/projectPluginSource.d.ts +14 -0
- package/dist/plugins/installer/projectPluginSource.js +140 -0
- package/dist/plugins/installer/types.d.ts +775 -0
- package/dist/plugins/installer/types.js +100 -0
- package/dist/plugins/installer/unzip.d.ts +11 -0
- package/dist/plugins/installer/unzip.js +123 -9
- package/dist/plugins/installer/update.d.ts +2 -2
- package/dist/plugins/installer/update.js +43 -4
- package/dist/plugins/loadPluginHooks.d.ts +19 -2
- package/dist/plugins/loadPluginHooks.js +97 -86
- package/dist/plugins/pluginAutomationTemplates.d.ts +18 -0
- package/dist/plugins/pluginAutomationTemplates.js +50 -0
- package/dist/plugins/pluginCatalog.d.ts +45 -0
- package/dist/plugins/pluginCatalog.js +87 -0
- package/dist/plugins/pluginCommandHook.d.ts +10 -4
- package/dist/plugins/pluginCommandHook.js +133 -18
- package/dist/plugins/pluginCommandsLoader.d.ts +19 -0
- package/dist/plugins/pluginCommandsLoader.js +181 -7
- package/dist/plugins/pluginContent.d.ts +10 -1
- package/dist/plugins/pluginContent.js +87 -30
- package/dist/plugins/pluginHookApproval.d.ts +30 -0
- package/dist/plugins/pluginHookApproval.js +160 -0
- package/dist/plugins/pluginHookIntegrity.d.ts +69 -0
- package/dist/plugins/pluginHookIntegrity.js +361 -0
- package/dist/plugins/pluginInstaller.js +71 -12
- package/dist/plugins/pluginMcpApproval.d.ts +19 -0
- package/dist/plugins/pluginMcpApproval.js +110 -0
- package/dist/plugins/pluginMcpIntegrity.d.ts +21 -0
- package/dist/plugins/pluginMcpIntegrity.js +74 -0
- package/dist/plugins/types.d.ts +30 -0
- package/dist/plugins/varRewrite.d.ts +9 -5
- package/dist/plugins/varRewrite.js +26 -17
- package/dist/preset/index.d.ts +11 -8
- package/dist/preset/index.js +62 -203
- package/dist/product/define.js +9 -3
- package/dist/product/types.d.ts +0 -2
- package/dist/profile/activation.d.ts +36 -0
- package/dist/profile/activation.js +57 -0
- package/dist/profile/catalog-store.d.ts +77 -0
- package/dist/profile/catalog-store.js +346 -0
- package/dist/profile/catalog.d.ts +54 -0
- package/dist/profile/catalog.js +152 -0
- package/dist/profile/index.d.ts +7 -0
- package/dist/profile/index.js +7 -0
- package/dist/profile/requirements.d.ts +76 -0
- package/dist/profile/requirements.js +117 -0
- package/dist/profile/resolve.d.ts +11 -0
- package/dist/profile/resolve.js +41 -0
- package/dist/profile/store.d.ts +17 -0
- package/dist/profile/store.js +167 -0
- package/dist/profile/types.d.ts +321 -0
- package/dist/profile/types.js +104 -0
- package/dist/prompt/composer.d.ts +46 -7
- package/dist/prompt/composer.js +78 -48
- package/dist/prompt/instruction-scanner.d.ts +6 -5
- package/dist/prompt/instruction-scanner.js +8 -23
- package/dist/prompt/section-loader.d.ts +2 -2
- package/dist/prompt/section-loader.js +7 -4
- package/dist/prompt/sections/browser.md +10 -9
- package/dist/prompt/sections/harness-base.md +9 -0
- package/dist/protocol/chat-session-manager.d.ts +77 -3
- package/dist/protocol/chat-session-manager.js +194 -18
- package/dist/protocol/chat-session.d.ts +72 -9
- package/dist/protocol/chat-session.js +151 -16
- package/dist/protocol/client.d.ts +37 -4
- package/dist/protocol/client.js +118 -6
- package/dist/protocol/index.d.ts +2 -2
- package/dist/protocol/index.js +2 -2
- package/dist/protocol/mobile-remote-types.d.ts +406 -0
- package/dist/protocol/mobile-remote-types.js +1 -0
- package/dist/protocol/server.d.ts +152 -14
- package/dist/protocol/server.js +1574 -229
- package/dist/protocol/types.d.ts +182 -32
- package/dist/protocol/types.js +18 -0
- package/dist/run/ArtifactTracker.d.ts +6 -1
- package/dist/run/ArtifactTracker.js +29 -21
- package/dist/run/EngineRunner.d.ts +2 -0
- package/dist/run/EngineRunner.js +1 -0
- package/dist/run/RunManager.d.ts +26 -0
- package/dist/run/RunManager.js +82 -11
- package/dist/run/factory.d.ts +3 -0
- package/dist/run/factory.js +2 -0
- package/dist/runtime/safe-spawn.d.ts +6 -0
- package/dist/runtime/safe-spawn.js +8 -13
- package/dist/services/auto-dream.d.ts +13 -1
- package/dist/services/auto-dream.js +56 -8
- package/dist/services/dream-consolidation.d.ts +3 -0
- package/dist/services/dream-consolidation.js +14 -2
- package/dist/services/index.d.ts +1 -1
- package/dist/services/index.js +1 -1
- package/dist/services/memory-orchestrator.js +6 -2
- package/dist/services/oauth.d.ts +34 -10
- package/dist/services/oauth.js +236 -98
- package/dist/services/session-memory.d.ts +4 -4
- package/dist/services/session-memory.js +13 -10
- package/dist/session/memory.d.ts +26 -7
- package/dist/session/memory.js +79 -21
- package/dist/session/session-manager.d.ts +208 -25
- package/dist/session/session-manager.js +1232 -116
- package/dist/session/session-message.d.ts +22 -0
- package/dist/session/session-message.js +1 -0
- package/dist/session/transcript.d.ts +76 -6
- package/dist/session/transcript.js +278 -7
- package/dist/settings/feature-flags.d.ts +40 -0
- package/dist/settings/feature-flags.js +40 -0
- package/dist/settings/manager.d.ts +39 -1
- package/dist/settings/manager.js +102 -41
- package/dist/settings/migrate-config.js +4 -2
- package/dist/settings/schema.d.ts +511 -177
- package/dist/settings/schema.js +98 -25
- package/dist/skills/scanner.d.ts +6 -2
- package/dist/skills/scanner.js +160 -9
- package/dist/sources/adapter.d.ts +14 -0
- package/dist/sources/adapter.js +7 -0
- package/dist/sources/adapters/local-files.d.ts +10 -0
- package/dist/sources/adapters/local-files.js +127 -0
- package/dist/sources/adapters/mcp-resource.d.ts +17 -0
- package/dist/sources/adapters/mcp-resource.js +41 -0
- package/dist/sources/adapters/mock.d.ts +3 -0
- package/dist/sources/adapters/mock.js +29 -0
- package/dist/sources/binding.d.ts +6 -0
- package/dist/sources/binding.js +24 -0
- package/dist/sources/catalog.d.ts +6 -0
- package/dist/sources/catalog.js +64 -0
- package/dist/sources/context-summary.d.ts +8 -0
- package/dist/sources/context-summary.js +13 -0
- package/dist/sources/credential-status.d.ts +2 -0
- package/dist/sources/credential-status.js +13 -0
- package/dist/sources/index.d.ts +10 -0
- package/dist/sources/index.js +10 -0
- package/dist/sources/resolve.d.ts +28 -0
- package/dist/sources/resolve.js +47 -0
- package/dist/sources/truncate-utf8.d.ts +7 -0
- package/dist/sources/truncate-utf8.js +18 -0
- package/dist/sources/types.d.ts +71 -0
- package/dist/sources/types.js +26 -0
- package/dist/testing/fetch-stub.d.ts +32 -0
- package/dist/testing/fetch-stub.js +24 -0
- package/dist/themes/image.d.ts +18 -0
- package/dist/themes/image.js +117 -0
- package/dist/themes/index.d.ts +4 -0
- package/dist/themes/index.js +4 -0
- package/dist/themes/installer.d.ts +50 -0
- package/dist/themes/installer.js +290 -0
- package/dist/themes/manifest.d.ts +102 -0
- package/dist/themes/manifest.js +86 -0
- package/dist/themes/paths.d.ts +14 -0
- package/dist/themes/paths.js +33 -0
- package/dist/tool-system/browser-bridge.d.ts +53 -11
- package/dist/tool-system/browser-bridge.js +8 -9
- package/dist/tool-system/builtin/agent-heartbeat.d.ts +2 -2
- package/dist/tool-system/builtin/agent-heartbeat.js +20 -6
- package/dist/tool-system/builtin/agent-notifications.d.ts +127 -72
- package/dist/tool-system/builtin/agent-notifications.js +291 -101
- package/dist/tool-system/builtin/agent-output-file.js +1 -3
- package/dist/tool-system/builtin/agent-progress.d.ts +6 -0
- package/dist/tool-system/builtin/agent-progress.js +83 -0
- package/dist/tool-system/builtin/agent-registry.d.ts +38 -2
- package/dist/tool-system/builtin/agent-registry.js +178 -9
- package/dist/tool-system/builtin/agent-transcript-translator.js +1 -1
- package/dist/tool-system/builtin/agent.d.ts +2 -0
- package/dist/tool-system/builtin/agent.js +279 -34
- package/dist/tool-system/builtin/background-jobs.d.ts +63 -7
- package/dist/tool-system/builtin/background-jobs.js +111 -15
- package/dist/tool-system/builtin/background-work.d.ts +12 -1
- package/dist/tool-system/builtin/background-work.js +12 -1
- package/dist/tool-system/builtin/bash.d.ts +3 -5
- package/dist/tool-system/builtin/bash.js +14 -6
- package/dist/tool-system/builtin/browser-tools.d.ts +8 -5
- package/dist/tool-system/builtin/browser-tools.js +89 -23
- package/dist/tool-system/builtin/edit-model-catalog.d.ts +6 -0
- package/dist/tool-system/builtin/edit-model-catalog.js +172 -12
- package/dist/tool-system/builtin/edit.d.ts +2 -1
- package/dist/tool-system/builtin/edit.js +14 -10
- package/dist/tool-system/builtin/file-cache.d.ts +2 -0
- package/dist/tool-system/builtin/file-cache.js +4 -0
- package/dist/tool-system/builtin/generate-image.js +17 -10
- package/dist/tool-system/builtin/generate-video.d.ts +4 -0
- package/dist/tool-system/builtin/generate-video.js +164 -28
- package/dist/tool-system/builtin/glob.d.ts +2 -1
- package/dist/tool-system/builtin/glob.js +28 -3
- package/dist/tool-system/builtin/grep.d.ts +1 -0
- package/dist/tool-system/builtin/grep.js +82 -17
- package/dist/tool-system/builtin/image-uploader.js +7 -1
- package/dist/tool-system/builtin/index.d.ts +57 -18
- package/dist/tool-system/builtin/index.js +280 -167
- package/dist/tool-system/builtin/memory.d.ts +6 -0
- package/dist/tool-system/builtin/memory.js +36 -15
- package/dist/tool-system/builtin/panel.d.ts +9 -0
- package/dist/tool-system/builtin/panel.js +314 -0
- package/dist/tool-system/builtin/read.js +5 -1
- package/dist/tool-system/builtin/send-message-to-session.d.ts +6 -0
- package/dist/tool-system/builtin/send-message-to-session.js +67 -0
- package/dist/tool-system/builtin/sources.d.ts +8 -0
- package/dist/tool-system/builtin/sources.js +137 -0
- package/dist/tool-system/builtin/tool-search.js +7 -2
- package/dist/tool-system/builtin/update-automation-memory.js +2 -0
- package/dist/tool-system/builtin/video-providers.d.ts +12 -15
- package/dist/tool-system/builtin/video-providers.js +1 -0
- package/dist/tool-system/builtin/view-image.d.ts +2 -2
- package/dist/tool-system/builtin/web-fetch.js +60 -15
- package/dist/tool-system/builtin/web-search.js +1 -3
- package/dist/tool-system/builtin/write.d.ts +2 -1
- package/dist/tool-system/builtin/write.js +14 -4
- package/dist/tool-system/capability-module.d.ts +93 -0
- package/dist/tool-system/capability-module.js +53 -0
- package/dist/tool-system/context.d.ts +94 -24
- package/dist/tool-system/executor.js +99 -58
- package/dist/tool-system/external-tool-exposure.d.ts +60 -0
- package/dist/tool-system/external-tool-exposure.js +304 -0
- package/dist/tool-system/mcp-manager.d.ts +17 -1
- package/dist/tool-system/mcp-manager.js +72 -7
- package/dist/tool-system/mcp-tool-policy.d.ts +9 -0
- package/dist/tool-system/mcp-tool-policy.js +34 -0
- package/dist/tool-system/panel-bridge.d.ts +53 -0
- package/dist/tool-system/panel-bridge.js +1 -0
- package/dist/tool-system/path-policy.d.ts +19 -0
- package/dist/tool-system/path-policy.js +62 -1
- package/dist/tool-system/permission.d.ts +69 -3
- package/dist/tool-system/permission.js +429 -30
- package/dist/tool-system/registry.d.ts +15 -3
- package/dist/tool-system/registry.js +82 -40
- package/dist/tool-system/sandbox/index.js +3 -8
- package/dist/tool-system/sandbox/seatbelt.js +2 -6
- package/dist/tool-system/session-tool-host.d.ts +139 -0
- package/dist/tool-system/session-tool-host.js +167 -0
- package/dist/tool-system/testing/tool-registry-harness.d.ts +31 -0
- package/dist/tool-system/testing/tool-registry-harness.js +51 -0
- package/dist/tool-system/validation.d.ts +14 -7
- package/dist/tool-system/validation.js +701 -7
- package/dist/types.d.ts +201 -20
- package/dist/{cc-orchestrator → utils}/cwd-normalize.d.ts +1 -0
- package/dist/{cc-orchestrator → utils}/cwd-normalize.js +1 -0
- package/dist/utils/file-mutex.d.ts +65 -0
- package/dist/utils/file-mutex.js +145 -0
- package/dist/utils/json.d.ts +2 -4
- package/dist/utils/json.js +2 -4
- package/dist/utils/lockfile.d.ts +30 -1
- package/dist/utils/lockfile.js +2 -2
- package/dist/utils/secret-scrubber.d.ts +8 -0
- package/dist/utils/secret-scrubber.js +227 -0
- package/dist/utils/toolDisplay.js +1 -1
- package/package.json +20 -5
- package/THIRD_PARTY_NOTICES.md +0 -206
- package/dist/arena/arena.d.ts +0 -43
- package/dist/arena/arena.js +0 -333
- package/dist/arena/context/context-tools.d.ts +0 -16
- package/dist/arena/context/context-tools.js +0 -272
- package/dist/arena/context/within-root.d.ts +0 -7
- package/dist/arena/context/within-root.js +0 -15
- package/dist/arena/detect-mode.d.ts +0 -20
- package/dist/arena/detect-mode.js +0 -78
- package/dist/arena/digest-builder.d.ts +0 -25
- package/dist/arena/digest-builder.js +0 -120
- package/dist/arena/index.d.ts +0 -29
- package/dist/arena/index.js +0 -29
- package/dist/arena/iterate/convergence.d.ts +0 -25
- package/dist/arena/iterate/convergence.js +0 -103
- package/dist/arena/iterate/formats/index.d.ts +0 -22
- package/dist/arena/iterate/formats/index.js +0 -283
- package/dist/arena/iterate/index.d.ts +0 -11
- package/dist/arena/iterate/index.js +0 -9
- package/dist/arena/iterate/iterative-arena.d.ts +0 -23
- package/dist/arena/iterate/iterative-arena.js +0 -237
- package/dist/arena/iterate/parse.d.ts +0 -42
- package/dist/arena/iterate/parse.js +0 -123
- package/dist/arena/iterate/phases/argue.d.ts +0 -22
- package/dist/arena/iterate/phases/argue.js +0 -165
- package/dist/arena/iterate/phases/revise.d.ts +0 -16
- package/dist/arena/iterate/phases/revise.js +0 -62
- package/dist/arena/iterate/phases/tournament.d.ts +0 -34
- package/dist/arena/iterate/phases/tournament.js +0 -113
- package/dist/arena/iterate/tools/web-tools.d.ts +0 -13
- package/dist/arena/iterate/tools/web-tools.js +0 -54
- package/dist/arena/iterate/types.d.ts +0 -152
- package/dist/arena/iterate/types.js +0 -8
- package/dist/arena/ledger.d.ts +0 -47
- package/dist/arena/ledger.js +0 -159
- package/dist/arena/lenses/architecture.d.ts +0 -5
- package/dist/arena/lenses/architecture.js +0 -22
- package/dist/arena/lenses/engineering.d.ts +0 -5
- package/dist/arena/lenses/engineering.js +0 -22
- package/dist/arena/lenses/general.d.ts +0 -5
- package/dist/arena/lenses/general.js +0 -20
- package/dist/arena/lenses/index.d.ts +0 -16
- package/dist/arena/lenses/index.js +0 -47
- package/dist/arena/lenses/product.d.ts +0 -5
- package/dist/arena/lenses/product.js +0 -22
- package/dist/arena/model-presets.d.ts +0 -23
- package/dist/arena/model-presets.js +0 -44
- package/dist/arena/phases/adjudication.d.ts +0 -24
- package/dist/arena/phases/adjudication.js +0 -141
- package/dist/arena/phases/build-consensus.d.ts +0 -29
- package/dist/arena/phases/build-consensus.js +0 -83
- package/dist/arena/phases/claim-registry.d.ts +0 -26
- package/dist/arena/phases/claim-registry.js +0 -60
- package/dist/arena/phases/cross-review.d.ts +0 -45
- package/dist/arena/phases/cross-review.js +0 -218
- package/dist/arena/phases/debate-rounds.d.ts +0 -27
- package/dist/arena/phases/debate-rounds.js +0 -159
- package/dist/arena/phases/participant-research.d.ts +0 -38
- package/dist/arena/phases/participant-research.js +0 -314
- package/dist/arena/phases/planning-detail-expansion.d.ts +0 -38
- package/dist/arena/phases/planning-detail-expansion.js +0 -119
- package/dist/arena/planner.d.ts +0 -27
- package/dist/arena/planner.js +0 -311
- package/dist/arena/providers/docs.d.ts +0 -7
- package/dist/arena/providers/docs.js +0 -111
- package/dist/arena/providers/git.d.ts +0 -8
- package/dist/arena/providers/git.js +0 -174
- package/dist/arena/providers/index.d.ts +0 -32
- package/dist/arena/providers/index.js +0 -132
- package/dist/arena/providers/none.d.ts +0 -7
- package/dist/arena/providers/none.js +0 -11
- package/dist/arena/providers/repo.d.ts +0 -7
- package/dist/arena/providers/repo.js +0 -258
- package/dist/arena/render/session.d.ts +0 -17
- package/dist/arena/render/session.js +0 -190
- package/dist/arena/render/terminal.d.ts +0 -34
- package/dist/arena/render/terminal.js +0 -286
- package/dist/arena/strategies/discussion.d.ts +0 -25
- package/dist/arena/strategies/discussion.js +0 -143
- package/dist/arena/strategies/index.d.ts +0 -15
- package/dist/arena/strategies/index.js +0 -28
- package/dist/arena/strategies/language-wrapper.d.ts +0 -17
- package/dist/arena/strategies/language-wrapper.js +0 -102
- package/dist/arena/strategies/lens-wrapper.d.ts +0 -16
- package/dist/arena/strategies/lens-wrapper.js +0 -236
- package/dist/arena/strategies/planning.d.ts +0 -30
- package/dist/arena/strategies/planning.js +0 -225
- package/dist/arena/strategies/review.d.ts +0 -26
- package/dist/arena/strategies/review.js +0 -168
- package/dist/arena/strategies/utils.d.ts +0 -36
- package/dist/arena/strategies/utils.js +0 -603
- package/dist/arena/tools/selector.d.ts +0 -17
- package/dist/arena/tools/selector.js +0 -61
- package/dist/arena/transitions.d.ts +0 -53
- package/dist/arena/transitions.js +0 -97
- package/dist/arena/types.d.ts +0 -514
- package/dist/arena/types.js +0 -27
- package/dist/cc-orchestrator/agent-adapter.d.ts +0 -54
- package/dist/cc-orchestrator/agent-adapter.js +0 -143
- package/dist/cc-orchestrator/cc-capability.d.ts +0 -19
- package/dist/cc-orchestrator/cc-capability.js +0 -53
- package/dist/cc-orchestrator/codex-session-discovery.d.ts +0 -24
- package/dist/cc-orchestrator/codex-session-discovery.js +0 -191
- package/dist/cc-orchestrator/codex-session-history.d.ts +0 -38
- package/dist/cc-orchestrator/codex-session-history.js +0 -247
- package/dist/cc-orchestrator/external-agent-bindings.d.ts +0 -27
- package/dist/cc-orchestrator/external-agent-bindings.js +0 -150
- package/dist/cc-orchestrator/external-agent-changes.d.ts +0 -19
- package/dist/cc-orchestrator/external-agent-changes.js +0 -231
- package/dist/cc-orchestrator/external-agent-driver.d.ts +0 -19
- package/dist/cc-orchestrator/external-agent-driver.js +0 -284
- package/dist/cc-orchestrator/external-agent-session-store.d.ts +0 -23
- package/dist/cc-orchestrator/external-agent-session-store.js +0 -146
- package/dist/cc-orchestrator/index.d.ts +0 -8
- package/dist/cc-orchestrator/index.js +0 -8
- package/dist/cc-orchestrator/relevance-judge.d.ts +0 -15
- package/dist/cc-orchestrator/relevance-judge.js +0 -29
- package/dist/cc-orchestrator/session-discovery.d.ts +0 -46
- package/dist/cc-orchestrator/session-discovery.js +0 -125
- package/dist/cc-orchestrator/session-history.d.ts +0 -54
- package/dist/cc-orchestrator/session-history.js +0 -150
- package/dist/cron/cron-runtime.d.ts +0 -2
- package/dist/cron/cron-runtime.js +0 -2
- package/dist/cron/cron-store.d.ts +0 -2
- package/dist/cron/cron-store.js +0 -2
- package/dist/cron/scheduler.d.ts +0 -7
- package/dist/cron/scheduler.js +0 -7
- package/dist/engine/goal.js +0 -206
- package/dist/external-agents/config.d.ts +0 -2
- package/dist/external-agents/config.js +0 -15
- package/dist/external-agents/types.d.ts +0 -31
- package/dist/git/parse-log.d.ts +0 -13
- package/dist/git/parse-log.js +0 -21
- package/dist/git/utils.d.ts +0 -49
- package/dist/git/utils.js +0 -161
- package/dist/git/worktree/crud.d.ts +0 -69
- package/dist/git/worktree/crud.js +0 -206
- package/dist/git/worktree/diff.d.ts +0 -14
- package/dist/git/worktree/diff.js +0 -82
- package/dist/git/worktree/git-exec.d.ts +0 -7
- package/dist/git/worktree/git-exec.js +0 -51
- package/dist/git/worktree/index.d.ts +0 -5
- package/dist/git/worktree/index.js +0 -5
- package/dist/git/worktree/query.d.ts +0 -42
- package/dist/git/worktree/query.js +0 -121
- package/dist/git/worktree/slug.d.ts +0 -11
- package/dist/git/worktree/slug.js +0 -58
- package/dist/git/worktree.d.ts +0 -1
- package/dist/git/worktree.js +0 -5
- package/dist/lsp/client.d.ts +0 -41
- package/dist/lsp/client.js +0 -186
- package/dist/lsp/manager.d.ts +0 -40
- package/dist/lsp/manager.js +0 -155
- package/dist/lsp/root-path.d.ts +0 -9
- package/dist/lsp/root-path.js +0 -12
- package/dist/lsp/servers.d.ts +0 -16
- package/dist/lsp/servers.js +0 -60
- package/dist/prompt/sections/coding.md +0 -35
- package/dist/quota/credentials.d.ts +0 -3
- package/dist/quota/credentials.js +0 -80
- package/dist/quota/index.d.ts +0 -36
- package/dist/quota/index.js +0 -155
- package/dist/quota/types.d.ts +0 -48
- package/dist/quota/types.js +0 -13
- package/dist/review/review-prompt.d.ts +0 -28
- package/dist/review/review-prompt.js +0 -81
- package/dist/state.d.ts +0 -160
- package/dist/state.js +0 -267
- package/dist/tool-system/builtin/apply-patch/applier.d.ts +0 -26
- package/dist/tool-system/builtin/apply-patch/applier.js +0 -308
- package/dist/tool-system/builtin/apply-patch/backup-targets.d.ts +0 -10
- package/dist/tool-system/builtin/apply-patch/backup-targets.js +0 -30
- package/dist/tool-system/builtin/apply-patch/index.d.ts +0 -20
- package/dist/tool-system/builtin/apply-patch/index.js +0 -105
- package/dist/tool-system/builtin/apply-patch/parser.d.ts +0 -17
- package/dist/tool-system/builtin/apply-patch/parser.js +0 -212
- package/dist/tool-system/builtin/apply-patch/seek-sequence.d.ts +0 -18
- package/dist/tool-system/builtin/apply-patch/seek-sequence.js +0 -123
- package/dist/tool-system/builtin/apply-patch/types.d.ts +0 -49
- package/dist/tool-system/builtin/apply-patch/types.js +0 -13
- package/dist/tool-system/builtin/arena.d.ts +0 -31
- package/dist/tool-system/builtin/arena.js +0 -415
- package/dist/tool-system/builtin/brief.d.ts +0 -6
- package/dist/tool-system/builtin/brief.js +0 -41
- package/dist/tool-system/builtin/check-quota.d.ts +0 -15
- package/dist/tool-system/builtin/check-quota.js +0 -34
- package/dist/tool-system/builtin/drive-claude-code.d.ts +0 -51
- package/dist/tool-system/builtin/drive-claude-code.js +0 -698
- package/dist/tool-system/builtin/lsp.d.ts +0 -7
- package/dist/tool-system/builtin/lsp.js +0 -144
- package/dist/tool-system/builtin/notebook-edit.d.ts +0 -7
- package/dist/tool-system/builtin/notebook-edit.js +0 -127
- package/dist/tool-system/builtin/worktree.d.ts +0 -11
- package/dist/tool-system/builtin/worktree.js +0 -345
- /package/dist/{external-agents → links}/types.js +0 -0
- /package/dist/{engine/session-usage.d.ts → session/usage.d.ts} +0 -0
- /package/dist/{engine/session-usage.js → session/usage.js} +0 -0
|
@@ -0,0 +1,321 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WorkspaceProfile(数字人)— harness 元机制的数据定义。
|
|
3
|
+
* 引用现有窄 AgentPreset,不修改它;plugins/skills/mcp/agents 在激活时
|
|
4
|
+
* 展开为 capabilityOverrides 形状的 force-enable 快照(见 activation.ts)。
|
|
5
|
+
* 设计稿:docs/superpowers/specs/2026-07-15-workspace-profile-design.md
|
|
6
|
+
*/
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
/** 目录名即机器标识:小写字母/数字开头,可含 - _,防路径逃逸。 */
|
|
9
|
+
export declare const WORKSPACE_PROFILE_NAME_RE: RegExp;
|
|
10
|
+
/**
|
|
11
|
+
* `owner/repo`。收紧到 GitHub 允许的字符集,且两段都不能以 `-`/`.` 开头 ——
|
|
12
|
+
* 这个值会作为参数传给 `npx skills add`,必须挡住 `--flag`、`../` 一类注入。
|
|
13
|
+
*/
|
|
14
|
+
export declare const SKILL_REPO_RE: RegExp;
|
|
15
|
+
/** 纯数字点分版本,避免把任意字符串塞进版本比较。 */
|
|
16
|
+
export declare const TOOL_VERSION_RE: RegExp;
|
|
17
|
+
/** 持久化与提示注入的防滥用边界;Desktop 编辑器应保持相同上限。 */
|
|
18
|
+
export declare const WORKSPACE_PROFILE_LIMITS: {
|
|
19
|
+
readonly label: 120;
|
|
20
|
+
readonly description: 4096;
|
|
21
|
+
readonly basePreset: 128;
|
|
22
|
+
readonly mainInstruction: 32768;
|
|
23
|
+
readonly version: 128;
|
|
24
|
+
readonly capabilityCount: 128;
|
|
25
|
+
readonly capabilityName: 256;
|
|
26
|
+
/** requires.skills / requires.tools 各自的条目上限。 */
|
|
27
|
+
readonly requirementCount: 16;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* 依赖来源:数字人自带的「怎么把能力弄来」声明。
|
|
31
|
+
*
|
|
32
|
+
* 与 plugins/skills/mcp/agents 的分工:那四个是 force-enable 开关(只能打开
|
|
33
|
+
* 磁盘上已存在的东西),`requires` 才是获取步骤。没有 `requires` 的旧 profile
|
|
34
|
+
* 行为完全不变。
|
|
35
|
+
*
|
|
36
|
+
* 解析、冲突预检与安装见 requirements.ts —— 安装涉及克隆远程仓库与执行
|
|
37
|
+
* `npx skills add`,必须先经用户确认,绝不静默执行。
|
|
38
|
+
*/
|
|
39
|
+
declare const skillRequirementSchema: z.ZodObject<{
|
|
40
|
+
/** 目前只支持 github;保留判别字段以便后续扩展。 */
|
|
41
|
+
source: z.ZodLiteral<"github">;
|
|
42
|
+
/** `owner/repo` 形式。 */
|
|
43
|
+
repo: z.ZodString;
|
|
44
|
+
/** 只装这些 skill;省略表示装全部(`--all`)。 */
|
|
45
|
+
skills: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodString, "many">, string[], string[]>>;
|
|
46
|
+
/**
|
|
47
|
+
* project → `<cwd>/.agents/skills`(scanner 认)。
|
|
48
|
+
* user 级 `npx skills add -g` 落在 `~/.claude/skills`,**不在 scanner 的三个根里**,
|
|
49
|
+
* 装了会扫不到,故不开放该 scope。
|
|
50
|
+
*/
|
|
51
|
+
scope: z.ZodDefault<z.ZodLiteral<"project">>;
|
|
52
|
+
/** 仓库根有 SKILL.md 时也继续深搜子目录。 */
|
|
53
|
+
fullDepth: z.ZodDefault<z.ZodBoolean>;
|
|
54
|
+
}, "strip", z.ZodTypeAny, {
|
|
55
|
+
source: "github";
|
|
56
|
+
scope: "project";
|
|
57
|
+
repo: string;
|
|
58
|
+
fullDepth: boolean;
|
|
59
|
+
skills?: string[] | undefined;
|
|
60
|
+
}, {
|
|
61
|
+
source: "github";
|
|
62
|
+
repo: string;
|
|
63
|
+
scope?: "project" | undefined;
|
|
64
|
+
skills?: string[] | undefined;
|
|
65
|
+
fullDepth?: boolean | undefined;
|
|
66
|
+
}>;
|
|
67
|
+
/** 装不了、只能检测的外部命令(ffmpeg / node …)。缺失时提前失败,而不是渲染到一半才炸。 */
|
|
68
|
+
declare const toolRequirementSchema: z.ZodObject<{
|
|
69
|
+
bin: z.ZodString;
|
|
70
|
+
/** 形如 "22"、"22.1"、"22.1.0",与 `--version` 输出的首个版本号比较。 */
|
|
71
|
+
minVersion: z.ZodOptional<z.ZodString>;
|
|
72
|
+
/** 缺失时展示给用户的安装建议,例如 "brew install ffmpeg"。 */
|
|
73
|
+
hint: z.ZodOptional<z.ZodString>;
|
|
74
|
+
}, "strip", z.ZodTypeAny, {
|
|
75
|
+
bin: string;
|
|
76
|
+
minVersion?: string | undefined;
|
|
77
|
+
hint?: string | undefined;
|
|
78
|
+
}, {
|
|
79
|
+
bin: string;
|
|
80
|
+
minVersion?: string | undefined;
|
|
81
|
+
hint?: string | undefined;
|
|
82
|
+
}>;
|
|
83
|
+
export declare const WorkspaceProfileRequirementsSchema: z.ZodObject<{
|
|
84
|
+
skills: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
85
|
+
/** 目前只支持 github;保留判别字段以便后续扩展。 */
|
|
86
|
+
source: z.ZodLiteral<"github">;
|
|
87
|
+
/** `owner/repo` 形式。 */
|
|
88
|
+
repo: z.ZodString;
|
|
89
|
+
/** 只装这些 skill;省略表示装全部(`--all`)。 */
|
|
90
|
+
skills: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodString, "many">, string[], string[]>>;
|
|
91
|
+
/**
|
|
92
|
+
* project → `<cwd>/.agents/skills`(scanner 认)。
|
|
93
|
+
* user 级 `npx skills add -g` 落在 `~/.claude/skills`,**不在 scanner 的三个根里**,
|
|
94
|
+
* 装了会扫不到,故不开放该 scope。
|
|
95
|
+
*/
|
|
96
|
+
scope: z.ZodDefault<z.ZodLiteral<"project">>;
|
|
97
|
+
/** 仓库根有 SKILL.md 时也继续深搜子目录。 */
|
|
98
|
+
fullDepth: z.ZodDefault<z.ZodBoolean>;
|
|
99
|
+
}, "strip", z.ZodTypeAny, {
|
|
100
|
+
source: "github";
|
|
101
|
+
scope: "project";
|
|
102
|
+
repo: string;
|
|
103
|
+
fullDepth: boolean;
|
|
104
|
+
skills?: string[] | undefined;
|
|
105
|
+
}, {
|
|
106
|
+
source: "github";
|
|
107
|
+
repo: string;
|
|
108
|
+
scope?: "project" | undefined;
|
|
109
|
+
skills?: string[] | undefined;
|
|
110
|
+
fullDepth?: boolean | undefined;
|
|
111
|
+
}>, "many">>;
|
|
112
|
+
tools: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
113
|
+
bin: z.ZodString;
|
|
114
|
+
/** 形如 "22"、"22.1"、"22.1.0",与 `--version` 输出的首个版本号比较。 */
|
|
115
|
+
minVersion: z.ZodOptional<z.ZodString>;
|
|
116
|
+
/** 缺失时展示给用户的安装建议,例如 "brew install ffmpeg"。 */
|
|
117
|
+
hint: z.ZodOptional<z.ZodString>;
|
|
118
|
+
}, "strip", z.ZodTypeAny, {
|
|
119
|
+
bin: string;
|
|
120
|
+
minVersion?: string | undefined;
|
|
121
|
+
hint?: string | undefined;
|
|
122
|
+
}, {
|
|
123
|
+
bin: string;
|
|
124
|
+
minVersion?: string | undefined;
|
|
125
|
+
hint?: string | undefined;
|
|
126
|
+
}>, "many">>;
|
|
127
|
+
}, "strip", z.ZodTypeAny, {
|
|
128
|
+
skills: {
|
|
129
|
+
source: "github";
|
|
130
|
+
scope: "project";
|
|
131
|
+
repo: string;
|
|
132
|
+
fullDepth: boolean;
|
|
133
|
+
skills?: string[] | undefined;
|
|
134
|
+
}[];
|
|
135
|
+
tools: {
|
|
136
|
+
bin: string;
|
|
137
|
+
minVersion?: string | undefined;
|
|
138
|
+
hint?: string | undefined;
|
|
139
|
+
}[];
|
|
140
|
+
}, {
|
|
141
|
+
skills?: {
|
|
142
|
+
source: "github";
|
|
143
|
+
repo: string;
|
|
144
|
+
scope?: "project" | undefined;
|
|
145
|
+
skills?: string[] | undefined;
|
|
146
|
+
fullDepth?: boolean | undefined;
|
|
147
|
+
}[] | undefined;
|
|
148
|
+
tools?: {
|
|
149
|
+
bin: string;
|
|
150
|
+
minVersion?: string | undefined;
|
|
151
|
+
hint?: string | undefined;
|
|
152
|
+
}[] | undefined;
|
|
153
|
+
}>;
|
|
154
|
+
export type SkillRequirement = z.infer<typeof skillRequirementSchema>;
|
|
155
|
+
export type ToolRequirement = z.infer<typeof toolRequirementSchema>;
|
|
156
|
+
export type WorkspaceProfileRequirements = z.infer<typeof WorkspaceProfileRequirementsSchema>;
|
|
157
|
+
export declare const WorkspaceProfileSchema: z.ZodObject<{
|
|
158
|
+
name: z.ZodString;
|
|
159
|
+
label: z.ZodString;
|
|
160
|
+
description: z.ZodOptional<z.ZodString>;
|
|
161
|
+
/** 引用现有 AgentPreset 名(如 "general");不在 schema 层校验存在性,解析时才校验。 */
|
|
162
|
+
basePreset: z.ZodString;
|
|
163
|
+
/** 可选:省略即旧行为(只 enable,不获取)。 */
|
|
164
|
+
requires: z.ZodOptional<z.ZodObject<{
|
|
165
|
+
skills: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
166
|
+
/** 目前只支持 github;保留判别字段以便后续扩展。 */
|
|
167
|
+
source: z.ZodLiteral<"github">;
|
|
168
|
+
/** `owner/repo` 形式。 */
|
|
169
|
+
repo: z.ZodString;
|
|
170
|
+
/** 只装这些 skill;省略表示装全部(`--all`)。 */
|
|
171
|
+
skills: z.ZodOptional<z.ZodEffects<z.ZodArray<z.ZodString, "many">, string[], string[]>>;
|
|
172
|
+
/**
|
|
173
|
+
* project → `<cwd>/.agents/skills`(scanner 认)。
|
|
174
|
+
* user 级 `npx skills add -g` 落在 `~/.claude/skills`,**不在 scanner 的三个根里**,
|
|
175
|
+
* 装了会扫不到,故不开放该 scope。
|
|
176
|
+
*/
|
|
177
|
+
scope: z.ZodDefault<z.ZodLiteral<"project">>;
|
|
178
|
+
/** 仓库根有 SKILL.md 时也继续深搜子目录。 */
|
|
179
|
+
fullDepth: z.ZodDefault<z.ZodBoolean>;
|
|
180
|
+
}, "strip", z.ZodTypeAny, {
|
|
181
|
+
source: "github";
|
|
182
|
+
scope: "project";
|
|
183
|
+
repo: string;
|
|
184
|
+
fullDepth: boolean;
|
|
185
|
+
skills?: string[] | undefined;
|
|
186
|
+
}, {
|
|
187
|
+
source: "github";
|
|
188
|
+
repo: string;
|
|
189
|
+
scope?: "project" | undefined;
|
|
190
|
+
skills?: string[] | undefined;
|
|
191
|
+
fullDepth?: boolean | undefined;
|
|
192
|
+
}>, "many">>;
|
|
193
|
+
tools: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
194
|
+
bin: z.ZodString;
|
|
195
|
+
/** 形如 "22"、"22.1"、"22.1.0",与 `--version` 输出的首个版本号比较。 */
|
|
196
|
+
minVersion: z.ZodOptional<z.ZodString>;
|
|
197
|
+
/** 缺失时展示给用户的安装建议,例如 "brew install ffmpeg"。 */
|
|
198
|
+
hint: z.ZodOptional<z.ZodString>;
|
|
199
|
+
}, "strip", z.ZodTypeAny, {
|
|
200
|
+
bin: string;
|
|
201
|
+
minVersion?: string | undefined;
|
|
202
|
+
hint?: string | undefined;
|
|
203
|
+
}, {
|
|
204
|
+
bin: string;
|
|
205
|
+
minVersion?: string | undefined;
|
|
206
|
+
hint?: string | undefined;
|
|
207
|
+
}>, "many">>;
|
|
208
|
+
}, "strip", z.ZodTypeAny, {
|
|
209
|
+
skills: {
|
|
210
|
+
source: "github";
|
|
211
|
+
scope: "project";
|
|
212
|
+
repo: string;
|
|
213
|
+
fullDepth: boolean;
|
|
214
|
+
skills?: string[] | undefined;
|
|
215
|
+
}[];
|
|
216
|
+
tools: {
|
|
217
|
+
bin: string;
|
|
218
|
+
minVersion?: string | undefined;
|
|
219
|
+
hint?: string | undefined;
|
|
220
|
+
}[];
|
|
221
|
+
}, {
|
|
222
|
+
skills?: {
|
|
223
|
+
source: "github";
|
|
224
|
+
repo: string;
|
|
225
|
+
scope?: "project" | undefined;
|
|
226
|
+
skills?: string[] | undefined;
|
|
227
|
+
fullDepth?: boolean | undefined;
|
|
228
|
+
}[] | undefined;
|
|
229
|
+
tools?: {
|
|
230
|
+
bin: string;
|
|
231
|
+
minVersion?: string | undefined;
|
|
232
|
+
hint?: string | undefined;
|
|
233
|
+
}[] | undefined;
|
|
234
|
+
}>>;
|
|
235
|
+
/**
|
|
236
|
+
* true → 独占工作面:激活时把**未声明**的 skill/plugin/mcp/agent 显式关掉,
|
|
237
|
+
* 而不是与用户已开启的取并集。
|
|
238
|
+
*
|
|
239
|
+
* 默认 false(并集)是安全的:数字人只保证「该有的能力一定在」,绝不静默
|
|
240
|
+
* 关掉用户手动开的东西。独占是更强的意图——「切到这个数字人就只用这套工具」
|
|
241
|
+
* ——上下文更干净,但代价是用户会发现自己开的东西不见了,所以必须显式声明。
|
|
242
|
+
* 注意:用户在项目 settings 里手写的 override 优先级仍然最高(见 overlay.ts)。
|
|
243
|
+
*/
|
|
244
|
+
exclusiveCapabilities: z.ZodDefault<z.ZodBoolean>;
|
|
245
|
+
plugins: z.ZodDefault<z.ZodEffects<z.ZodArray<z.ZodString, "many">, string[], string[]>>;
|
|
246
|
+
skills: z.ZodDefault<z.ZodEffects<z.ZodArray<z.ZodString, "many">, string[], string[]>>;
|
|
247
|
+
mcp: z.ZodDefault<z.ZodEffects<z.ZodArray<z.ZodString, "many">, string[], string[]>>;
|
|
248
|
+
agents: z.ZodDefault<z.ZodEffects<z.ZodArray<z.ZodString, "many">, string[], string[]>>;
|
|
249
|
+
/** 数字人主指令,注入系统提示(优先级低于本地 CLAUDE.md,高于 preset sections)。 */
|
|
250
|
+
mainInstruction: z.ZodOptional<z.ZodString>;
|
|
251
|
+
/** true → 挂载 profiles/<name>/ 为第二记忆层(跟数字人走)。 */
|
|
252
|
+
portableMemory: z.ZodDefault<z.ZodBoolean>;
|
|
253
|
+
version: z.ZodOptional<z.ZodString>;
|
|
254
|
+
}, "strip", z.ZodTypeAny, {
|
|
255
|
+
mcp: string[];
|
|
256
|
+
name: string;
|
|
257
|
+
label: string;
|
|
258
|
+
skills: string[];
|
|
259
|
+
plugins: string[];
|
|
260
|
+
agents: string[];
|
|
261
|
+
basePreset: string;
|
|
262
|
+
exclusiveCapabilities: boolean;
|
|
263
|
+
portableMemory: boolean;
|
|
264
|
+
version?: string | undefined;
|
|
265
|
+
description?: string | undefined;
|
|
266
|
+
requires?: {
|
|
267
|
+
skills: {
|
|
268
|
+
source: "github";
|
|
269
|
+
scope: "project";
|
|
270
|
+
repo: string;
|
|
271
|
+
fullDepth: boolean;
|
|
272
|
+
skills?: string[] | undefined;
|
|
273
|
+
}[];
|
|
274
|
+
tools: {
|
|
275
|
+
bin: string;
|
|
276
|
+
minVersion?: string | undefined;
|
|
277
|
+
hint?: string | undefined;
|
|
278
|
+
}[];
|
|
279
|
+
} | undefined;
|
|
280
|
+
mainInstruction?: string | undefined;
|
|
281
|
+
}, {
|
|
282
|
+
name: string;
|
|
283
|
+
label: string;
|
|
284
|
+
basePreset: string;
|
|
285
|
+
version?: string | undefined;
|
|
286
|
+
mcp?: string[] | undefined;
|
|
287
|
+
description?: string | undefined;
|
|
288
|
+
skills?: string[] | undefined;
|
|
289
|
+
plugins?: string[] | undefined;
|
|
290
|
+
agents?: string[] | undefined;
|
|
291
|
+
requires?: {
|
|
292
|
+
skills?: {
|
|
293
|
+
source: "github";
|
|
294
|
+
repo: string;
|
|
295
|
+
scope?: "project" | undefined;
|
|
296
|
+
skills?: string[] | undefined;
|
|
297
|
+
fullDepth?: boolean | undefined;
|
|
298
|
+
}[] | undefined;
|
|
299
|
+
tools?: {
|
|
300
|
+
bin: string;
|
|
301
|
+
minVersion?: string | undefined;
|
|
302
|
+
hint?: string | undefined;
|
|
303
|
+
}[] | undefined;
|
|
304
|
+
} | undefined;
|
|
305
|
+
exclusiveCapabilities?: boolean | undefined;
|
|
306
|
+
mainInstruction?: string | undefined;
|
|
307
|
+
portableMemory?: boolean | undefined;
|
|
308
|
+
}>;
|
|
309
|
+
export type WorkspaceProfile = z.infer<typeof WorkspaceProfileSchema>;
|
|
310
|
+
/**
|
|
311
|
+
* 写入侧类型:带 `.default()` 的字段(`exclusiveCapabilities`、`portableMemory`、
|
|
312
|
+
* 四个 capability 列表)在这里是可选的。
|
|
313
|
+
*
|
|
314
|
+
* 为什么需要它:`WorkspaceProfile` 是 schema 的**输出**类型,defaults 已解析,
|
|
315
|
+
* 所以每个字段都是必填。但接受「未解析的 profile 再 parse」的函数
|
|
316
|
+
* (如 `saveWorkspaceProfile`)实际契约是**输入**类型——用输出类型标注会强迫每个
|
|
317
|
+
* 调用方手写它本来就想让 schema 填的默认值。schema 新增一个带 default 的字段时,
|
|
318
|
+
* 这个错配会让所有既有调用方一起报错(`exclusiveCapabilities` 就是这么发生的)。
|
|
319
|
+
*/
|
|
320
|
+
export type WorkspaceProfileInput = z.input<typeof WorkspaceProfileSchema>;
|
|
321
|
+
export {};
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WorkspaceProfile(数字人)— harness 元机制的数据定义。
|
|
3
|
+
* 引用现有窄 AgentPreset,不修改它;plugins/skills/mcp/agents 在激活时
|
|
4
|
+
* 展开为 capabilityOverrides 形状的 force-enable 快照(见 activation.ts)。
|
|
5
|
+
* 设计稿:docs/superpowers/specs/2026-07-15-workspace-profile-design.md
|
|
6
|
+
*/
|
|
7
|
+
import { z } from "zod";
|
|
8
|
+
/** 目录名即机器标识:小写字母/数字开头,可含 - _,防路径逃逸。 */
|
|
9
|
+
export const WORKSPACE_PROFILE_NAME_RE = /^[a-z0-9][a-z0-9_-]{0,63}$/;
|
|
10
|
+
/**
|
|
11
|
+
* `owner/repo`。收紧到 GitHub 允许的字符集,且两段都不能以 `-`/`.` 开头 ——
|
|
12
|
+
* 这个值会作为参数传给 `npx skills add`,必须挡住 `--flag`、`../` 一类注入。
|
|
13
|
+
*/
|
|
14
|
+
export const SKILL_REPO_RE = /^[A-Za-z0-9][A-Za-z0-9-]{0,38}\/[A-Za-z0-9][A-Za-z0-9._-]{0,99}$/;
|
|
15
|
+
/** 纯数字点分版本,避免把任意字符串塞进版本比较。 */
|
|
16
|
+
export const TOOL_VERSION_RE = /^\d+(\.\d+){0,2}$/;
|
|
17
|
+
/** 持久化与提示注入的防滥用边界;Desktop 编辑器应保持相同上限。 */
|
|
18
|
+
export const WORKSPACE_PROFILE_LIMITS = {
|
|
19
|
+
label: 120,
|
|
20
|
+
description: 4_096,
|
|
21
|
+
basePreset: 128,
|
|
22
|
+
mainInstruction: 32_768,
|
|
23
|
+
version: 128,
|
|
24
|
+
capabilityCount: 128,
|
|
25
|
+
capabilityName: 256,
|
|
26
|
+
/** requires.skills / requires.tools 各自的条目上限。 */
|
|
27
|
+
requirementCount: 16,
|
|
28
|
+
};
|
|
29
|
+
const capabilityNameSchema = z.string().min(1).max(WORKSPACE_PROFILE_LIMITS.capabilityName);
|
|
30
|
+
const capabilityListSchema = z
|
|
31
|
+
.array(capabilityNameSchema)
|
|
32
|
+
.max(WORKSPACE_PROFILE_LIMITS.capabilityCount)
|
|
33
|
+
.refine((items) => new Set(items).size === items.length, {
|
|
34
|
+
message: "capability entries must be unique",
|
|
35
|
+
});
|
|
36
|
+
/**
|
|
37
|
+
* 依赖来源:数字人自带的「怎么把能力弄来」声明。
|
|
38
|
+
*
|
|
39
|
+
* 与 plugins/skills/mcp/agents 的分工:那四个是 force-enable 开关(只能打开
|
|
40
|
+
* 磁盘上已存在的东西),`requires` 才是获取步骤。没有 `requires` 的旧 profile
|
|
41
|
+
* 行为完全不变。
|
|
42
|
+
*
|
|
43
|
+
* 解析、冲突预检与安装见 requirements.ts —— 安装涉及克隆远程仓库与执行
|
|
44
|
+
* `npx skills add`,必须先经用户确认,绝不静默执行。
|
|
45
|
+
*/
|
|
46
|
+
const skillRequirementSchema = z.object({
|
|
47
|
+
/** 目前只支持 github;保留判别字段以便后续扩展。 */
|
|
48
|
+
source: z.literal("github"),
|
|
49
|
+
/** `owner/repo` 形式。 */
|
|
50
|
+
repo: z.string().regex(SKILL_REPO_RE),
|
|
51
|
+
/** 只装这些 skill;省略表示装全部(`--all`)。 */
|
|
52
|
+
skills: capabilityListSchema.optional(),
|
|
53
|
+
/**
|
|
54
|
+
* project → `<cwd>/.agents/skills`(scanner 认)。
|
|
55
|
+
* user 级 `npx skills add -g` 落在 `~/.claude/skills`,**不在 scanner 的三个根里**,
|
|
56
|
+
* 装了会扫不到,故不开放该 scope。
|
|
57
|
+
*/
|
|
58
|
+
scope: z.literal("project").default("project"),
|
|
59
|
+
/** 仓库根有 SKILL.md 时也继续深搜子目录。 */
|
|
60
|
+
fullDepth: z.boolean().default(false),
|
|
61
|
+
});
|
|
62
|
+
/** 装不了、只能检测的外部命令(ffmpeg / node …)。缺失时提前失败,而不是渲染到一半才炸。 */
|
|
63
|
+
const toolRequirementSchema = z.object({
|
|
64
|
+
bin: z.string().min(1).max(WORKSPACE_PROFILE_LIMITS.capabilityName),
|
|
65
|
+
/** 形如 "22"、"22.1"、"22.1.0",与 `--version` 输出的首个版本号比较。 */
|
|
66
|
+
minVersion: z.string().regex(TOOL_VERSION_RE).optional(),
|
|
67
|
+
/** 缺失时展示给用户的安装建议,例如 "brew install ffmpeg"。 */
|
|
68
|
+
hint: z.string().max(WORKSPACE_PROFILE_LIMITS.capabilityName).optional(),
|
|
69
|
+
});
|
|
70
|
+
export const WorkspaceProfileRequirementsSchema = z.object({
|
|
71
|
+
skills: z
|
|
72
|
+
.array(skillRequirementSchema)
|
|
73
|
+
.max(WORKSPACE_PROFILE_LIMITS.requirementCount)
|
|
74
|
+
.default([]),
|
|
75
|
+
tools: z.array(toolRequirementSchema).max(WORKSPACE_PROFILE_LIMITS.requirementCount).default([]),
|
|
76
|
+
});
|
|
77
|
+
export const WorkspaceProfileSchema = z.object({
|
|
78
|
+
name: z.string().regex(WORKSPACE_PROFILE_NAME_RE),
|
|
79
|
+
label: z.string().min(1).max(WORKSPACE_PROFILE_LIMITS.label),
|
|
80
|
+
description: z.string().max(WORKSPACE_PROFILE_LIMITS.description).optional(),
|
|
81
|
+
/** 引用现有 AgentPreset 名(如 "general");不在 schema 层校验存在性,解析时才校验。 */
|
|
82
|
+
basePreset: z.string().min(1).max(WORKSPACE_PROFILE_LIMITS.basePreset),
|
|
83
|
+
/** 可选:省略即旧行为(只 enable,不获取)。 */
|
|
84
|
+
requires: WorkspaceProfileRequirementsSchema.optional(),
|
|
85
|
+
/**
|
|
86
|
+
* true → 独占工作面:激活时把**未声明**的 skill/plugin/mcp/agent 显式关掉,
|
|
87
|
+
* 而不是与用户已开启的取并集。
|
|
88
|
+
*
|
|
89
|
+
* 默认 false(并集)是安全的:数字人只保证「该有的能力一定在」,绝不静默
|
|
90
|
+
* 关掉用户手动开的东西。独占是更强的意图——「切到这个数字人就只用这套工具」
|
|
91
|
+
* ——上下文更干净,但代价是用户会发现自己开的东西不见了,所以必须显式声明。
|
|
92
|
+
* 注意:用户在项目 settings 里手写的 override 优先级仍然最高(见 overlay.ts)。
|
|
93
|
+
*/
|
|
94
|
+
exclusiveCapabilities: z.boolean().default(false),
|
|
95
|
+
plugins: capabilityListSchema.default([]),
|
|
96
|
+
skills: capabilityListSchema.default([]),
|
|
97
|
+
mcp: capabilityListSchema.default([]),
|
|
98
|
+
agents: capabilityListSchema.default([]),
|
|
99
|
+
/** 数字人主指令,注入系统提示(优先级低于本地 CLAUDE.md,高于 preset sections)。 */
|
|
100
|
+
mainInstruction: z.string().max(WORKSPACE_PROFILE_LIMITS.mainInstruction).optional(),
|
|
101
|
+
/** true → 挂载 profiles/<name>/ 为第二记忆层(跟数字人走)。 */
|
|
102
|
+
portableMemory: z.boolean().default(false),
|
|
103
|
+
version: z.string().max(WORKSPACE_PROFILE_LIMITS.version).optional(),
|
|
104
|
+
});
|
|
@@ -8,6 +8,8 @@
|
|
|
8
8
|
import type { ToolDefinition, Message } from "../types.js";
|
|
9
9
|
import { type ScanOptions } from "./instruction-scanner.js";
|
|
10
10
|
import { type AgentPreset } from "../preset/index.js";
|
|
11
|
+
import type { BuiltinTool } from "../tool-system/builtin/index.js";
|
|
12
|
+
import type { CapabilityDynamicContextProvider } from "../capabilities/index.js";
|
|
11
13
|
export interface ComposerOptions {
|
|
12
14
|
cwd: string;
|
|
13
15
|
model: string;
|
|
@@ -16,10 +18,46 @@ export interface ComposerOptions {
|
|
|
16
18
|
preset?: AgentPreset;
|
|
17
19
|
customSystemPrompt?: string;
|
|
18
20
|
appendSystemPrompt?: string;
|
|
21
|
+
/** Prompt text and tool metadata supplied by this Engine's capability modules. */
|
|
22
|
+
capabilityPromptSections?: Readonly<Record<string, string>>;
|
|
23
|
+
/** Per-turn context owned by installed capability modules. */
|
|
24
|
+
dynamicContextProviders?: readonly CapabilityDynamicContextProvider[];
|
|
25
|
+
/**
|
|
26
|
+
* 已绑定数据源的 metadata 摘要(名称/scope/状态;无源返回 "")。只走动态
|
|
27
|
+
* 上下文(不进可缓存 system 前缀),资源内容与 secret 永不注入(ADR §5/§7)。
|
|
28
|
+
*/
|
|
29
|
+
sourcesContextProvider?: () => string | Promise<string>;
|
|
30
|
+
toolCatalog?: readonly BuiltinTool[];
|
|
19
31
|
/** User's preferred response language (free text), injected as a stable system section. */
|
|
20
32
|
responseLanguage?: string;
|
|
21
33
|
/** How to address the user / short profile (free text). */
|
|
22
34
|
userProfile?: string;
|
|
35
|
+
/**
|
|
36
|
+
* 激活数字人(WorkspaceProfile)的主指令。排序在 preset behavior 之后、
|
|
37
|
+
* appendSystemPrompt 之前 —— 本地 CLAUDE.md(user-context 消息)与用户
|
|
38
|
+
* append 都比它更“具体/优先”。来源:engine 经 resolveActiveWorkspaceProfile
|
|
39
|
+
* 解析后传入;composer 不自行读盘。
|
|
40
|
+
*/
|
|
41
|
+
profileMainInstruction?: string;
|
|
42
|
+
/**
|
|
43
|
+
* Standing brief for this Session (see SessionState.sessionBrief) — team role,
|
|
44
|
+
* teammate Session ids, the lead's playbook. Part of the cached system prefix
|
|
45
|
+
* because it is fixed for the Session's lifetime, unlike the skills listing.
|
|
46
|
+
*/
|
|
47
|
+
sessionBrief?: string;
|
|
48
|
+
/**
|
|
49
|
+
* Skills the active digital human declares (`WorkspaceProfile.skills`).
|
|
50
|
+
*
|
|
51
|
+
* Used only to warn when a declared skill is not actually installed here.
|
|
52
|
+
* `requires` installs per project, so a digital human summoned in a project
|
|
53
|
+
* that never got the install has an instruction telling it to use `/x` while
|
|
54
|
+
* `/x` does not exist — a real session then called `/hyperframes`, got
|
|
55
|
+
* "Skill not found", searched with Glob, and gave up. Stating the gap costs a
|
|
56
|
+
* line and stops the flailing.
|
|
57
|
+
*/
|
|
58
|
+
profileDeclaredSkills?: readonly string[];
|
|
59
|
+
/** 激活数字人的可移植记忆层根目录(portableMemory=true 时由 engine 传入)。 */
|
|
60
|
+
profileMemoryDir?: string;
|
|
23
61
|
/**
|
|
24
62
|
* Skill names (full names including any "<plugin>:" prefix) the user
|
|
25
63
|
* has disabled in settings. Filtered out of the LLM's skills listing
|
|
@@ -65,23 +103,24 @@ export declare class PromptComposer {
|
|
|
65
103
|
* Build the userContext prefix message (CLAUDE.md content as <system-reminder>).
|
|
66
104
|
*/
|
|
67
105
|
buildUserContextMessage(): Message | null;
|
|
68
|
-
/**
|
|
69
|
-
* Build the systemContext (gitStatus etc.) to append to system prompt.
|
|
70
|
-
* Only injects git status if the resolved preset opts in.
|
|
71
|
-
*/
|
|
106
|
+
/** Build volatile context contributed by installed capability modules. */
|
|
72
107
|
buildSystemContext(): Promise<string>;
|
|
73
108
|
/**
|
|
74
109
|
* Per-turn dynamic context, delivered as a trailing <system-reminder> user
|
|
75
110
|
* message rather than baked into the system prefix.
|
|
76
111
|
*
|
|
77
|
-
* Holds
|
|
78
|
-
*
|
|
79
|
-
* (changes whenever the working tree changes). Keeping them out of the
|
|
112
|
+
* Holds things that change *within* a session — the skills listing plus
|
|
113
|
+
* capability-owned volatile context. Keeping them out of the
|
|
80
114
|
* system prompt means installing a skill or editing a file no longer
|
|
81
115
|
* invalidates the cached system prefix. Placed at the END of the messages
|
|
82
116
|
* array (after the user task) so it sits past the conversation's cache
|
|
83
117
|
* breakpoint — a change here never re-bills the history prefix.
|
|
84
118
|
*/
|
|
119
|
+
/**
|
|
120
|
+
* Declared-but-absent skills, stated plainly. Rides the dynamic context (not
|
|
121
|
+
* the cached system prefix) because it depends on what is installed right now.
|
|
122
|
+
*/
|
|
123
|
+
private buildDeclaredSkillGap;
|
|
85
124
|
buildDynamicContextMessage(): Promise<Message | null>;
|
|
86
125
|
private buildGoalToolContext;
|
|
87
126
|
invalidateCache(sectionName?: string): void;
|