@cjhyy/code-shell-core 0.7.1 → 0.8.1
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 +7 -3
- package/dist/context/compaction.d.ts +39 -3
- package/dist/context/compaction.js +151 -39
- package/dist/context/manager.d.ts +17 -1
- package/dist/context/manager.js +36 -1
- package/dist/credentials/access.d.ts +3 -1
- package/dist/credentials/access.js +24 -3
- package/dist/credentials/index.d.ts +1 -1
- package/dist/credentials/index.js +1 -1
- package/dist/credentials/oauth.d.ts +4 -1
- package/dist/credentials/oauth.js +14 -0
- package/dist/credentials/store.d.ts +15 -1
- package/dist/credentials/store.js +17 -4
- package/dist/credentials/types.d.ts +24 -0
- 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 +254 -195
- package/dist/engine/engine.js +1812 -2041
- 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/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 +49 -10
- package/dist/engine/turn-loop.js +370 -104
- package/dist/engine/types.d.ts +30 -3
- package/dist/engine/types.js +1 -1
- package/dist/{engine/goal.d.ts → goal/lifecycle.d.ts} +76 -4
- package/dist/goal/lifecycle.js +482 -0
- package/dist/hooks/events.d.ts +24 -10
- package/dist/hooks/goal-stop-hook.d.ts +17 -28
- package/dist/hooks/goal-stop-hook.js +110 -465
- package/dist/hooks/registry.js +1 -1
- package/dist/index.d.ts +48 -108
- 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 +34 -123
- 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 +60 -0
- 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/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 +6 -0
- package/dist/plugins/pluginCommandHook.js +25 -8
- 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 +64 -1
- package/dist/protocol/chat-session-manager.js +104 -0
- package/dist/protocol/chat-session.d.ts +61 -10
- package/dist/protocol/chat-session.js +135 -25
- package/dist/protocol/client.d.ts +33 -3
- package/dist/protocol/client.js +96 -5
- 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 +127 -3
- package/dist/protocol/server.js +1309 -182
- package/dist/protocol/types.d.ts +152 -34
- package/dist/protocol/types.js +16 -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.js +10 -1
- package/dist/services/memory-orchestrator.js +6 -2
- package/dist/services/oauth.js +4 -1
- 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 +182 -28
- package/dist/session/session-manager.js +910 -130
- package/dist/session/session-message.d.ts +22 -0
- package/dist/session/session-message.js +1 -0
- package/dist/session/transcript.d.ts +46 -5
- package/dist/session/transcript.js +159 -3
- 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 +274 -33
- package/dist/tool-system/builtin/background-jobs.d.ts +55 -2
- package/dist/tool-system/builtin/background-jobs.js +96 -4
- package/dist/tool-system/builtin/background-work.d.ts +6 -0
- package/dist/tool-system/builtin/background-work.js +8 -1
- package/dist/tool-system/builtin/bash.js +5 -2
- package/dist/tool-system/builtin/browser-tools.d.ts +6 -3
- 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.js +2 -6
- 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.js +26 -7
- package/dist/tool-system/builtin/grep.js +2 -2
- package/dist/tool-system/builtin/image-uploader.js +7 -1
- package/dist/tool-system/builtin/index.d.ts +32 -7
- package/dist/tool-system/builtin/index.js +237 -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/web-fetch.js +17 -13
- package/dist/tool-system/builtin/web-search.js +1 -3
- 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 +77 -19
- package/dist/tool-system/executor.js +75 -50
- 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 +11 -1
- package/dist/tool-system/mcp-manager.js +19 -4
- 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.js +99 -2
- package/dist/tool-system/permission.d.ts +26 -0
- package/dist/tool-system/permission.js +46 -0
- package/dist/tool-system/registry.d.ts +12 -1
- package/dist/tool-system/registry.js +31 -7
- 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 +186 -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 -45
- package/dist/arena/arena.js +0 -362
- 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 -25
- package/dist/arena/phases/adjudication.js +0 -142
- package/dist/arena/phases/build-consensus.d.ts +0 -30
- package/dist/arena/phases/build-consensus.js +0 -85
- 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 -47
- package/dist/arena/phases/cross-review.js +0 -224
- package/dist/arena/phases/debate-rounds.d.ts +0 -28
- package/dist/arena/phases/debate-rounds.js +0 -161
- package/dist/arena/phases/participant-research.d.ts +0 -39
- package/dist/arena/phases/participant-research.js +0 -316
- package/dist/arena/phases/planning-detail-expansion.d.ts +0 -39
- package/dist/arena/phases/planning-detail-expansion.js +0 -120
- package/dist/arena/planner.d.ts +0 -28
- package/dist/arena/planner.js +0 -312
- 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 -518
- 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 -72
- package/dist/git/worktree/crud.js +0 -235
- 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 -87
- 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 -43
- package/dist/git/worktree/query.js +0 -128
- 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 -416
- 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 -363
- /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
|
@@ -1,152 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Iterate mode — multi-model authoring loop.
|
|
3
|
-
*
|
|
4
|
-
* Author writes → critics argue → author revises → ... → final draft.
|
|
5
|
-
* v1 uses a tournament: every participant writes a candidate, then the
|
|
6
|
-
* author merges (anonymized inputs) into a single v1.
|
|
7
|
-
*/
|
|
8
|
-
import type { ArenaParticipant } from "../types.js";
|
|
9
|
-
export type IterateFormat = "code" | "document";
|
|
10
|
-
export interface IterateSubject {
|
|
11
|
-
/** What the author is producing — short descriptive label. */
|
|
12
|
-
label: string;
|
|
13
|
-
/** Full instruction to the author / critics. */
|
|
14
|
-
description: string;
|
|
15
|
-
/** Optional source artifacts (file paths, urls) to ground the work. */
|
|
16
|
-
sources?: string[];
|
|
17
|
-
}
|
|
18
|
-
/** A v1 candidate produced by one participant during the tournament. */
|
|
19
|
-
export interface DraftCandidate {
|
|
20
|
-
author: string;
|
|
21
|
-
anonymousLabel: string;
|
|
22
|
-
content: string;
|
|
23
|
-
}
|
|
24
|
-
export interface Draft {
|
|
25
|
-
version: number;
|
|
26
|
-
author: string;
|
|
27
|
-
format: IterateFormat;
|
|
28
|
-
content: string;
|
|
29
|
-
/**
|
|
30
|
-
* For v1 with tournament strategy: the candidates that were merged.
|
|
31
|
-
* For v2+: undefined.
|
|
32
|
-
*/
|
|
33
|
-
draftCandidates?: DraftCandidate[];
|
|
34
|
-
/** Author's explanation of how candidates were merged into v1. */
|
|
35
|
-
mergeRationale?: string;
|
|
36
|
-
/**
|
|
37
|
-
* For v2+: which critique IDs were addressed and how.
|
|
38
|
-
*/
|
|
39
|
-
acceptedCritiques?: string[];
|
|
40
|
-
rejectedCritiques?: Array<{
|
|
41
|
-
id: string;
|
|
42
|
-
reason: string;
|
|
43
|
-
}>;
|
|
44
|
-
/** Free-form note from author: what changed and why. */
|
|
45
|
-
changelog?: string;
|
|
46
|
-
}
|
|
47
|
-
export type CritiqueSeverity = "blocker" | "major" | "minor" | "nit" | "praise";
|
|
48
|
-
export type CritiqueCategory = "correctness" | "completeness" | "clarity" | "evidence" | "structure" | "style" | "fabrication" | "other";
|
|
49
|
-
export interface CritiqueEvidence {
|
|
50
|
-
url: string;
|
|
51
|
-
snippet?: string;
|
|
52
|
-
}
|
|
53
|
-
export interface Critique {
|
|
54
|
-
id: string;
|
|
55
|
-
critic: string;
|
|
56
|
-
/** 5-15 word quote from the draft for precise location. */
|
|
57
|
-
anchor: string;
|
|
58
|
-
severity: CritiqueSeverity;
|
|
59
|
-
category: CritiqueCategory;
|
|
60
|
-
comment: string;
|
|
61
|
-
/** Optional concrete suggestion. */
|
|
62
|
-
suggestion?: string;
|
|
63
|
-
/** Optional URLs the critic consulted to back up the critique. */
|
|
64
|
-
evidence?: CritiqueEvidence[];
|
|
65
|
-
}
|
|
66
|
-
export interface ConvergenceSignal {
|
|
67
|
-
blockerCount: number;
|
|
68
|
-
majorCount: number;
|
|
69
|
-
totalCritiques: number;
|
|
70
|
-
/** Levenshtein-ratio-like 0..1, where 0 = identical, 1 = totally different. */
|
|
71
|
-
diffFromPrevious: number;
|
|
72
|
-
shouldStop: boolean;
|
|
73
|
-
reason: "blockers_zero_and_stable" | "all_minor_or_praise" | "max_rounds" | "user_stop" | "user_force_continue" | "diff_below_threshold" | "running";
|
|
74
|
-
}
|
|
75
|
-
export interface Round {
|
|
76
|
-
round: number;
|
|
77
|
-
draft: Draft;
|
|
78
|
-
critiques: Critique[];
|
|
79
|
-
convergence: ConvergenceSignal;
|
|
80
|
-
}
|
|
81
|
-
export type AuthorRotation = "fixed" | "round-robin" | "best-critic";
|
|
82
|
-
export interface CheckpointContext {
|
|
83
|
-
round: number;
|
|
84
|
-
draft: Draft;
|
|
85
|
-
critiques: Critique[];
|
|
86
|
-
convergence: ConvergenceSignal;
|
|
87
|
-
}
|
|
88
|
-
export type CheckpointAction = "continue" | "stop" | "force-continue";
|
|
89
|
-
export type CheckpointFn = (ctx: CheckpointContext) => Promise<CheckpointAction>;
|
|
90
|
-
export interface IterateProgressEvent {
|
|
91
|
-
type: "v1_tournament_start" | "v1_candidate_done" | "v1_merge_start" | "v1_merge_done" | "round_start" | "argue_start" | "argue_done" | "revise_start" | "revise_done" | "round_done" | "checkpoint_pause" | "iterate_complete";
|
|
92
|
-
round?: number;
|
|
93
|
-
participant?: string;
|
|
94
|
-
data?: Record<string, unknown>;
|
|
95
|
-
}
|
|
96
|
-
export interface IterateConfig {
|
|
97
|
-
subject: IterateSubject;
|
|
98
|
-
format: IterateFormat;
|
|
99
|
-
/** The participant who merges v1 and main-authors v2+. Required. */
|
|
100
|
-
author: ArenaParticipant;
|
|
101
|
-
/** Critic participants. Each must have unique `name`. */
|
|
102
|
-
critics: ArenaParticipant[];
|
|
103
|
-
/** Default 5. */
|
|
104
|
-
maxRounds?: number;
|
|
105
|
-
/**
|
|
106
|
-
* v1 strategy.
|
|
107
|
-
* - "tournament" (default): author + all critics each write a candidate,
|
|
108
|
-
* author merges anonymized candidates into v1.
|
|
109
|
-
* - "single": author writes v1 alone (no tournament).
|
|
110
|
-
*/
|
|
111
|
-
v1Strategy?: "tournament" | "single";
|
|
112
|
-
/** Default "fixed". */
|
|
113
|
-
authorRotation?: AuthorRotation;
|
|
114
|
-
/**
|
|
115
|
-
* If provided, called after each round; arena pauses for the response.
|
|
116
|
-
* Default: undefined (no checkpoints).
|
|
117
|
-
*/
|
|
118
|
-
humanCheckpoint?: CheckpointFn;
|
|
119
|
-
/**
|
|
120
|
-
* Convergence rules. "default" applies built-in heuristics.
|
|
121
|
-
* Custom function returns true → stop after this round.
|
|
122
|
-
*/
|
|
123
|
-
convergenceStrategy?: "default" | ((ctx: {
|
|
124
|
-
round: number;
|
|
125
|
-
critiques: Critique[];
|
|
126
|
-
draft: Draft;
|
|
127
|
-
previousDraft?: Draft;
|
|
128
|
-
}) => boolean);
|
|
129
|
-
/** Minimum content length per draft (chars). Used both as length budget hint and to retry-on-shrinkage. Default 800 for document, 200 for code. */
|
|
130
|
-
minDraftLength?: number;
|
|
131
|
-
/**
|
|
132
|
-
* Whether critics get web_search/web_fetch tools during the argue phase.
|
|
133
|
-
* Requires SERPER_API_KEY / TAVILY_API_KEY / SEARXNG_URL in env. Default false.
|
|
134
|
-
* When true, each argue call becomes a tool-use loop (critics may search
|
|
135
|
-
* before producing critiques) — significantly more tokens and time, but
|
|
136
|
-
* dramatically reduces fabrication.
|
|
137
|
-
*/
|
|
138
|
-
enableWebSearch?: boolean;
|
|
139
|
-
/** Cap tool-use rounds per critic per argue phase. Default 8. */
|
|
140
|
-
maxArgueToolRounds?: number;
|
|
141
|
-
signal?: AbortSignal;
|
|
142
|
-
onProgress?: (event: IterateProgressEvent) => void;
|
|
143
|
-
}
|
|
144
|
-
export type StoppedReason = "converged" | "max_rounds" | "user_stop" | "errored" | "aborted";
|
|
145
|
-
export interface IterateResult {
|
|
146
|
-
subject: IterateSubject;
|
|
147
|
-
format: IterateFormat;
|
|
148
|
-
rounds: Round[];
|
|
149
|
-
finalDraft: Draft;
|
|
150
|
-
stoppedAt: StoppedReason;
|
|
151
|
-
durationMs: number;
|
|
152
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Iterate mode — multi-model authoring loop.
|
|
3
|
-
*
|
|
4
|
-
* Author writes → critics argue → author revises → ... → final draft.
|
|
5
|
-
* v1 uses a tournament: every participant writes a candidate, then the
|
|
6
|
-
* author merges (anonymized inputs) into a single v1.
|
|
7
|
-
*/
|
|
8
|
-
export {};
|
package/dist/arena/ledger.d.ts
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SharedResearchLedger — append-only shared state across all arena rounds.
|
|
3
|
-
*
|
|
4
|
-
* Design constraints (from architecture doc):
|
|
5
|
-
* - All objects have stable IDs
|
|
6
|
-
* - Append-only: history preserved, never overwritten
|
|
7
|
-
* - Query layer supports latest-view aggregation
|
|
8
|
-
* - Supports by-id, by-claim, by-participant, by-round filtering
|
|
9
|
-
*/
|
|
10
|
-
import type { SharedResearchLedger, ResearchDossier, EvidencePacket, ClaimRecord, ClaimChallenge, RequestedCheck, ClaimAdjudication } from "./types.js";
|
|
11
|
-
/**
|
|
12
|
-
* Manages the shared research ledger — the single source of truth
|
|
13
|
-
* for all evidence, claims, challenges, and adjudications in an arena session.
|
|
14
|
-
*/
|
|
15
|
-
export declare class ArenaLedger {
|
|
16
|
-
private ledger;
|
|
17
|
-
private index;
|
|
18
|
-
constructor();
|
|
19
|
-
/** Check if ledger is approaching memory limits and log warnings */
|
|
20
|
-
private checkGrowth;
|
|
21
|
-
appendDossier(dossier: ResearchDossier): void;
|
|
22
|
-
appendEvidencePacket(packet: EvidencePacket): void;
|
|
23
|
-
appendClaim(claim: ClaimRecord): void;
|
|
24
|
-
appendChallenge(challenge: ClaimChallenge): void;
|
|
25
|
-
appendRequestedCheck(check: RequestedCheck): void;
|
|
26
|
-
appendAdjudication(adjudication: ClaimAdjudication): void;
|
|
27
|
-
/**
|
|
28
|
-
* Return a read-only reference to the full ledger.
|
|
29
|
-
*
|
|
30
|
-
* Note: `Readonly<>` is shallow — inner arrays are still mutable at the
|
|
31
|
-
* type level. Callers MUST NOT mutate the returned object; use the
|
|
32
|
-
* append* methods instead. A deep-freeze or structural clone can be
|
|
33
|
-
* added later if external consumers need a truly immutable snapshot.
|
|
34
|
-
*/
|
|
35
|
-
getSnapshot(): Readonly<SharedResearchLedger>;
|
|
36
|
-
getClaimById(claimId: string): ClaimRecord | undefined;
|
|
37
|
-
getPacketById(packetId: string): EvidencePacket | undefined;
|
|
38
|
-
getAllClaims(): ClaimRecord[];
|
|
39
|
-
getClaimsByStatus(...statuses: ClaimRecord["status"][]): ClaimRecord[];
|
|
40
|
-
getClaimsByOwner(owner: string): ClaimRecord[];
|
|
41
|
-
getChallengesForClaim(claimId: string): ClaimChallenge[];
|
|
42
|
-
getPendingChecks(): RequestedCheck[];
|
|
43
|
-
getPendingChecksForClaim(claimId: string): RequestedCheck[];
|
|
44
|
-
getPacketsForClaim(claimId: string): EvidencePacket[];
|
|
45
|
-
getDossiers(): ResearchDossier[];
|
|
46
|
-
getDossierByParticipant(participant: string): ResearchDossier | undefined;
|
|
47
|
-
}
|
package/dist/arena/ledger.js
DELETED
|
@@ -1,159 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SharedResearchLedger — append-only shared state across all arena rounds.
|
|
3
|
-
*
|
|
4
|
-
* Design constraints (from architecture doc):
|
|
5
|
-
* - All objects have stable IDs
|
|
6
|
-
* - Append-only: history preserved, never overwritten
|
|
7
|
-
* - Query layer supports latest-view aggregation
|
|
8
|
-
* - Supports by-id, by-claim, by-participant, by-round filtering
|
|
9
|
-
*/
|
|
10
|
-
import { logger } from "../logging/logger.js";
|
|
11
|
-
/** Thresholds for memory warnings */
|
|
12
|
-
const WARN_CLAIMS = 50;
|
|
13
|
-
const WARN_PACKETS = 200;
|
|
14
|
-
const WARN_CHALLENGES = 100;
|
|
15
|
-
/**
|
|
16
|
-
* Manages the shared research ledger — the single source of truth
|
|
17
|
-
* for all evidence, claims, challenges, and adjudications in an arena session.
|
|
18
|
-
*/
|
|
19
|
-
export class ArenaLedger {
|
|
20
|
-
ledger;
|
|
21
|
-
index;
|
|
22
|
-
constructor() {
|
|
23
|
-
this.ledger = {
|
|
24
|
-
dossiers: [],
|
|
25
|
-
evidencePackets: [],
|
|
26
|
-
toolTraces: [],
|
|
27
|
-
claims: [],
|
|
28
|
-
challenges: [],
|
|
29
|
-
requestedChecks: [],
|
|
30
|
-
adjudications: [],
|
|
31
|
-
};
|
|
32
|
-
this.index = {
|
|
33
|
-
claimsById: new Map(),
|
|
34
|
-
packetsById: new Map(),
|
|
35
|
-
requestsById: new Map(),
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
// ─── Append operations ──────────────────────────────────────
|
|
39
|
-
/** Check if ledger is approaching memory limits and log warnings */
|
|
40
|
-
checkGrowth() {
|
|
41
|
-
const claims = this.ledger.claims.length;
|
|
42
|
-
const packets = this.ledger.evidencePackets.length;
|
|
43
|
-
const challenges = this.ledger.challenges.length;
|
|
44
|
-
if (claims === WARN_CLAIMS || packets === WARN_PACKETS || challenges === WARN_CHALLENGES) {
|
|
45
|
-
logger.warn("arena.ledger_growth", { claims, packets, challenges, toolTraces: this.ledger.toolTraces.length });
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
appendDossier(dossier) {
|
|
49
|
-
this.ledger.dossiers.push(dossier);
|
|
50
|
-
for (const packet of dossier.evidencePackets) {
|
|
51
|
-
this.appendEvidencePacket(packet);
|
|
52
|
-
}
|
|
53
|
-
for (const trace of dossier.toolTrace) {
|
|
54
|
-
this.ledger.toolTraces.push(trace);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
appendEvidencePacket(packet) {
|
|
58
|
-
// Deduplicate by packetId — reuse existing if same ID
|
|
59
|
-
if (!this.index.packetsById.has(packet.packetId)) {
|
|
60
|
-
this.ledger.evidencePackets.push(packet);
|
|
61
|
-
this.index.packetsById.set(packet.packetId, packet);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
appendClaim(claim) {
|
|
65
|
-
this.ledger.claims.push(claim);
|
|
66
|
-
this.index.claimsById.set(claim.claimId, claim);
|
|
67
|
-
this.checkGrowth();
|
|
68
|
-
}
|
|
69
|
-
appendChallenge(challenge) {
|
|
70
|
-
this.ledger.challenges.push(challenge);
|
|
71
|
-
// Also add to the claim's challenges array. If the claimId doesn't resolve
|
|
72
|
-
// the challenge still lives in ledger.challenges but is invisible to any
|
|
73
|
-
// code reading claim.challenges directly — surface that inconsistency.
|
|
74
|
-
const claim = this.index.claimsById.get(challenge.claimId);
|
|
75
|
-
if (claim) {
|
|
76
|
-
claim.challenges.push(challenge);
|
|
77
|
-
}
|
|
78
|
-
else {
|
|
79
|
-
logger.warn("arena.challenge_for_unknown_claim", { claimId: challenge.claimId });
|
|
80
|
-
}
|
|
81
|
-
this.checkGrowth();
|
|
82
|
-
// Register any requested checks
|
|
83
|
-
if (challenge.requestedChecks) {
|
|
84
|
-
for (const check of challenge.requestedChecks) {
|
|
85
|
-
this.appendRequestedCheck(check);
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
appendRequestedCheck(check) {
|
|
90
|
-
if (!this.index.requestsById.has(check.requestId)) {
|
|
91
|
-
this.ledger.requestedChecks.push(check);
|
|
92
|
-
this.index.requestsById.set(check.requestId, check);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
appendAdjudication(adjudication) {
|
|
96
|
-
this.ledger.adjudications.push(adjudication);
|
|
97
|
-
// Also attach to the claim
|
|
98
|
-
const claim = this.index.claimsById.get(adjudication.claimId);
|
|
99
|
-
if (claim) {
|
|
100
|
-
claim.adjudication = adjudication;
|
|
101
|
-
}
|
|
102
|
-
else {
|
|
103
|
-
logger.warn("arena.adjudication_for_unknown_claim", { claimId: adjudication.claimId });
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
// ─── Query operations ───────────────────────────────────────
|
|
107
|
-
/**
|
|
108
|
-
* Return a read-only reference to the full ledger.
|
|
109
|
-
*
|
|
110
|
-
* Note: `Readonly<>` is shallow — inner arrays are still mutable at the
|
|
111
|
-
* type level. Callers MUST NOT mutate the returned object; use the
|
|
112
|
-
* append* methods instead. A deep-freeze or structural clone can be
|
|
113
|
-
* added later if external consumers need a truly immutable snapshot.
|
|
114
|
-
*/
|
|
115
|
-
getSnapshot() {
|
|
116
|
-
return this.ledger;
|
|
117
|
-
}
|
|
118
|
-
getClaimById(claimId) {
|
|
119
|
-
return this.index.claimsById.get(claimId);
|
|
120
|
-
}
|
|
121
|
-
getPacketById(packetId) {
|
|
122
|
-
return this.index.packetsById.get(packetId);
|
|
123
|
-
}
|
|
124
|
-
getAllClaims() {
|
|
125
|
-
return this.ledger.claims;
|
|
126
|
-
}
|
|
127
|
-
getClaimsByStatus(...statuses) {
|
|
128
|
-
const set = new Set(statuses);
|
|
129
|
-
return this.ledger.claims.filter((c) => set.has(c.status));
|
|
130
|
-
}
|
|
131
|
-
getClaimsByOwner(owner) {
|
|
132
|
-
return this.ledger.claims.filter((c) => c.owner === owner);
|
|
133
|
-
}
|
|
134
|
-
getChallengesForClaim(claimId) {
|
|
135
|
-
return this.ledger.challenges.filter((c) => c.claimId === claimId);
|
|
136
|
-
}
|
|
137
|
-
getPendingChecks() {
|
|
138
|
-
return this.ledger.requestedChecks;
|
|
139
|
-
}
|
|
140
|
-
getPendingChecksForClaim(claimId) {
|
|
141
|
-
return this.ledger.requestedChecks.filter((c) => c.claimId === claimId);
|
|
142
|
-
}
|
|
143
|
-
getPacketsForClaim(claimId) {
|
|
144
|
-
const claim = this.index.claimsById.get(claimId);
|
|
145
|
-
if (!claim)
|
|
146
|
-
return [];
|
|
147
|
-
return claim.evidencePacketIds
|
|
148
|
-
.map((id) => this.index.packetsById.get(id))
|
|
149
|
-
.filter((p) => p !== undefined);
|
|
150
|
-
}
|
|
151
|
-
getDossiers() {
|
|
152
|
-
return this.ledger.dossiers;
|
|
153
|
-
}
|
|
154
|
-
getDossierByParticipant(participant) {
|
|
155
|
-
// Return the latest dossier for this participant (supports multi-round)
|
|
156
|
-
const dossiers = this.ledger.dossiers.filter((d) => d.participant === participant);
|
|
157
|
-
return dossiers[dossiers.length - 1];
|
|
158
|
-
}
|
|
159
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Architecture lens — system boundaries, modularity, evolution path.
|
|
3
|
-
*/
|
|
4
|
-
export const architectureLens = {
|
|
5
|
-
name: "architecture",
|
|
6
|
-
label: "Architecture",
|
|
7
|
-
participantRole: "a system architect focused on boundaries, modularity, and evolution paths",
|
|
8
|
-
reviewerRole: "an architecture reviewer evaluating structural decisions and trade-offs",
|
|
9
|
-
moderatorRole: "a chief architect synthesizing architectural perspectives into design guidance",
|
|
10
|
-
summaryLabel: "Architecture Assessment",
|
|
11
|
-
criteria: [
|
|
12
|
-
"Module boundaries and responsibility separation",
|
|
13
|
-
"Coupling and cohesion",
|
|
14
|
-
"Extensibility and evolution path",
|
|
15
|
-
"Dependency management",
|
|
16
|
-
"Data flow and state management",
|
|
17
|
-
"API surface area and abstraction levels",
|
|
18
|
-
"Migration and backward compatibility strategy",
|
|
19
|
-
"Operational concerns (monitoring, debugging, deployment)",
|
|
20
|
-
],
|
|
21
|
-
preferredFindingKinds: ["improvement", "risk", "question", "strength"],
|
|
22
|
-
};
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Engineering lens — code quality, correctness, performance, maintainability.
|
|
3
|
-
*/
|
|
4
|
-
export const engineeringLens = {
|
|
5
|
-
name: "engineering",
|
|
6
|
-
label: "Engineering",
|
|
7
|
-
participantRole: "a software engineer focused on code quality, correctness, and maintainability",
|
|
8
|
-
reviewerRole: "an engineering peer reviewer evaluating technical rigor and code health",
|
|
9
|
-
moderatorRole: "a tech lead synthesizing engineering perspectives into actionable conclusions",
|
|
10
|
-
summaryLabel: "Engineering Assessment",
|
|
11
|
-
criteria: [
|
|
12
|
-
"Code correctness and edge case handling",
|
|
13
|
-
"Error handling and resilience",
|
|
14
|
-
"Performance and scalability implications",
|
|
15
|
-
"API design and interface clarity",
|
|
16
|
-
"Test coverage and testability",
|
|
17
|
-
"Maintainability and readability",
|
|
18
|
-
"Security considerations",
|
|
19
|
-
"Backward compatibility",
|
|
20
|
-
],
|
|
21
|
-
preferredFindingKinds: ["risk", "improvement", "strength", "question"],
|
|
22
|
-
};
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* General lens — broad analysis without a specific domain focus.
|
|
3
|
-
*/
|
|
4
|
-
export const generalLens = {
|
|
5
|
-
name: "general",
|
|
6
|
-
label: "General",
|
|
7
|
-
participantRole: "an analyst providing a broad, balanced perspective",
|
|
8
|
-
reviewerRole: "a peer reviewer evaluating clarity, logic, and completeness",
|
|
9
|
-
moderatorRole: "a neutral moderator synthesizing diverse perspectives into balanced conclusions",
|
|
10
|
-
summaryLabel: "General Assessment",
|
|
11
|
-
criteria: [
|
|
12
|
-
"Logical coherence and consistency",
|
|
13
|
-
"Completeness of analysis",
|
|
14
|
-
"Trade-off identification",
|
|
15
|
-
"Assumption clarity",
|
|
16
|
-
"Evidence quality",
|
|
17
|
-
"Actionability of recommendations",
|
|
18
|
-
],
|
|
19
|
-
preferredFindingKinds: ["strength", "risk", "question", "improvement"],
|
|
20
|
-
};
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Lens registry — analysis perspectives for Arena sessions.
|
|
3
|
-
*/
|
|
4
|
-
import type { ArenaLens, ArenaLensName, ArenaLensRef } from "../types.js";
|
|
5
|
-
export { engineeringLens } from "./engineering.js";
|
|
6
|
-
export { productLens } from "./product.js";
|
|
7
|
-
export { architectureLens } from "./architecture.js";
|
|
8
|
-
export { generalLens } from "./general.js";
|
|
9
|
-
/** Get a lens by name. */
|
|
10
|
-
export declare function getLens(name: ArenaLensName): ArenaLens;
|
|
11
|
-
/** Resolve lens refs into full ArenaLens objects. */
|
|
12
|
-
export declare function resolveLenses(refs: ArenaLensRef[]): ArenaLens[];
|
|
13
|
-
/** Build a combined lens prompt fragment for participant system prompts. */
|
|
14
|
-
export declare function buildLensPrompt(lenses: ArenaLens[], phase: "participant" | "reviewer" | "moderator"): string;
|
|
15
|
-
/** All available lens names */
|
|
16
|
-
export declare const LENS_NAMES: ArenaLensName[];
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Lens registry — analysis perspectives for Arena sessions.
|
|
3
|
-
*/
|
|
4
|
-
import { engineeringLens } from "./engineering.js";
|
|
5
|
-
import { productLens } from "./product.js";
|
|
6
|
-
import { architectureLens } from "./architecture.js";
|
|
7
|
-
import { generalLens } from "./general.js";
|
|
8
|
-
export { engineeringLens } from "./engineering.js";
|
|
9
|
-
export { productLens } from "./product.js";
|
|
10
|
-
export { architectureLens } from "./architecture.js";
|
|
11
|
-
export { generalLens } from "./general.js";
|
|
12
|
-
const LENS_MAP = {
|
|
13
|
-
engineering: engineeringLens,
|
|
14
|
-
product: productLens,
|
|
15
|
-
architecture: architectureLens,
|
|
16
|
-
general: generalLens,
|
|
17
|
-
};
|
|
18
|
-
/** Get a lens by name. */
|
|
19
|
-
export function getLens(name) {
|
|
20
|
-
return LENS_MAP[name];
|
|
21
|
-
}
|
|
22
|
-
/** Resolve lens refs into full ArenaLens objects. */
|
|
23
|
-
export function resolveLenses(refs) {
|
|
24
|
-
return refs.map((ref) => LENS_MAP[ref.name]);
|
|
25
|
-
}
|
|
26
|
-
/** Build a combined lens prompt fragment for participant system prompts. */
|
|
27
|
-
export function buildLensPrompt(lenses, phase) {
|
|
28
|
-
if (lenses.length === 0)
|
|
29
|
-
return "";
|
|
30
|
-
const roleKey = phase === "participant" ? "participantRole"
|
|
31
|
-
: phase === "reviewer" ? "reviewerRole"
|
|
32
|
-
: "moderatorRole";
|
|
33
|
-
const roles = lenses.map((l) => l[roleKey]);
|
|
34
|
-
const allCriteria = lenses.flatMap((l) => l.criteria);
|
|
35
|
-
const uniqueCriteria = [...new Set(allCriteria)];
|
|
36
|
-
const roleDesc = lenses.length === 1
|
|
37
|
-
? `You are ${roles[0]}.`
|
|
38
|
-
: `You combine multiple perspectives: ${roles.join("; ")}.`;
|
|
39
|
-
return [
|
|
40
|
-
roleDesc,
|
|
41
|
-
"",
|
|
42
|
-
"Evaluation criteria (prioritized):",
|
|
43
|
-
...uniqueCriteria.map((c) => `- ${c}`),
|
|
44
|
-
].join("\n");
|
|
45
|
-
}
|
|
46
|
-
/** All available lens names */
|
|
47
|
-
export const LENS_NAMES = ["engineering", "product", "architecture", "general"];
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Product lens — user value, completeness, edge cases, acceptance criteria.
|
|
3
|
-
*/
|
|
4
|
-
export const productLens = {
|
|
5
|
-
name: "product",
|
|
6
|
-
label: "Product",
|
|
7
|
-
participantRole: "a product analyst focused on user value, completeness, and edge cases",
|
|
8
|
-
reviewerRole: "a product reviewer evaluating requirements coverage and user impact",
|
|
9
|
-
moderatorRole: "a product lead synthesizing product perspectives into prioritized insights",
|
|
10
|
-
summaryLabel: "Product Assessment",
|
|
11
|
-
criteria: [
|
|
12
|
-
"Requirements completeness and coverage",
|
|
13
|
-
"User experience and usability",
|
|
14
|
-
"Edge cases and boundary conditions",
|
|
15
|
-
"Acceptance criteria clarity",
|
|
16
|
-
"Feature scope — too broad or too narrow",
|
|
17
|
-
"User journey coherence",
|
|
18
|
-
"Metric and success criteria definition",
|
|
19
|
-
"Stakeholder alignment",
|
|
20
|
-
],
|
|
21
|
-
preferredFindingKinds: ["question", "improvement", "risk", "strength"],
|
|
22
|
-
};
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Arena model presets — known models with their max output token limits.
|
|
3
|
-
*
|
|
4
|
-
* Used by arena participant resolution to set appropriate maxTokens
|
|
5
|
-
* so that LLM output is not prematurely truncated.
|
|
6
|
-
*/
|
|
7
|
-
export interface ModelPreset {
|
|
8
|
-
provider: string;
|
|
9
|
-
model: string;
|
|
10
|
-
maxOutputTokens: number;
|
|
11
|
-
}
|
|
12
|
-
export declare const MODEL_PRESETS: Record<string, ModelPreset>;
|
|
13
|
-
/**
|
|
14
|
-
* Look up max output tokens for a model string, falling back to a safe default.
|
|
15
|
-
*
|
|
16
|
-
* Lookup order:
|
|
17
|
-
* 1. Arena preset key (e.g. "claude", "gpt") — short aliases used in arena UX
|
|
18
|
-
* 2. Arena preset model path (e.g. "anthropic/claude-opus-4.6")
|
|
19
|
-
* 3. resolveMaxOutput — the canonical table in onboarding.ts that also covers
|
|
20
|
-
* direct-provider IDs (deepseek-v4-pro, …) and OpenRouter snapshot
|
|
21
|
-
* 4. 8192 — final safe fallback
|
|
22
|
-
*/
|
|
23
|
-
export declare function getMaxOutputTokens(model: string): number;
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Arena model presets — known models with their max output token limits.
|
|
3
|
-
*
|
|
4
|
-
* Used by arena participant resolution to set appropriate maxTokens
|
|
5
|
-
* so that LLM output is not prematurely truncated.
|
|
6
|
-
*/
|
|
7
|
-
import { resolveMaxOutput } from "../onboarding.js";
|
|
8
|
-
export const MODEL_PRESETS = {
|
|
9
|
-
claude: { provider: "openai", model: "anthropic/claude-opus-4.6", maxOutputTokens: 32000 },
|
|
10
|
-
"claude-sonnet": { provider: "openai", model: "anthropic/claude-sonnet-4.6", maxOutputTokens: 16000 },
|
|
11
|
-
"claude-haiku": { provider: "openai", model: "anthropic/claude-haiku-4.5", maxOutputTokens: 8192 },
|
|
12
|
-
gpt: { provider: "openai", model: "openai/gpt-5.5", maxOutputTokens: 32000 },
|
|
13
|
-
"gpt4o": { provider: "openai", model: "openai/gpt-4o", maxOutputTokens: 16384 },
|
|
14
|
-
o4: { provider: "openai", model: "openai/o4-mini", maxOutputTokens: 100000 },
|
|
15
|
-
o3: { provider: "openai", model: "openai/o3", maxOutputTokens: 100000 },
|
|
16
|
-
deepseek: { provider: "openai", model: "deepseek/deepseek-v3.2", maxOutputTokens: 8192 },
|
|
17
|
-
"deepseek-r1": { provider: "openai", model: "deepseek/deepseek-r1", maxOutputTokens: 8192 },
|
|
18
|
-
gemini: { provider: "openai", model: "google/gemini-3.1-pro-preview", maxOutputTokens: 65536 },
|
|
19
|
-
"gemini-2.5": { provider: "openai", model: "google/gemini-2.5-pro", maxOutputTokens: 65536 },
|
|
20
|
-
"gemini-flash": { provider: "openai", model: "google/gemini-3-flash-preview", maxOutputTokens: 65536 },
|
|
21
|
-
qwen: { provider: "openai", model: "qwen/qwen3-235b-a22b", maxOutputTokens: 8192 },
|
|
22
|
-
"qwen-coder": { provider: "openai", model: "qwen/qwen3-coder", maxOutputTokens: 16384 },
|
|
23
|
-
llama: { provider: "openai", model: "meta-llama/llama-4-maverick", maxOutputTokens: 32000 },
|
|
24
|
-
devstral: { provider: "openai", model: "mistralai/devstral-medium", maxOutputTokens: 24000 },
|
|
25
|
-
};
|
|
26
|
-
/**
|
|
27
|
-
* Look up max output tokens for a model string, falling back to a safe default.
|
|
28
|
-
*
|
|
29
|
-
* Lookup order:
|
|
30
|
-
* 1. Arena preset key (e.g. "claude", "gpt") — short aliases used in arena UX
|
|
31
|
-
* 2. Arena preset model path (e.g. "anthropic/claude-opus-4.6")
|
|
32
|
-
* 3. resolveMaxOutput — the canonical table in onboarding.ts that also covers
|
|
33
|
-
* direct-provider IDs (deepseek-v4-pro, …) and OpenRouter snapshot
|
|
34
|
-
* 4. 8192 — final safe fallback
|
|
35
|
-
*/
|
|
36
|
-
export function getMaxOutputTokens(model) {
|
|
37
|
-
const byKey = MODEL_PRESETS[model];
|
|
38
|
-
if (byKey)
|
|
39
|
-
return byKey.maxOutputTokens;
|
|
40
|
-
const byModel = Object.values(MODEL_PRESETS).find((p) => p.model === model);
|
|
41
|
-
if (byModel)
|
|
42
|
-
return byModel.maxOutputTokens;
|
|
43
|
-
return resolveMaxOutput(model) ?? 8192;
|
|
44
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Adjudication — the moderator makes evidence-based rulings on contested claims.
|
|
3
|
-
*
|
|
4
|
-
* For each contested/debated claim, the moderator sees the full claim context
|
|
5
|
-
* (evidence, challenges, debate rounds) and produces a ClaimAdjudication.
|
|
6
|
-
*
|
|
7
|
-
* Claims that were verified without contest get synthetic adjudication records.
|
|
8
|
-
*/
|
|
9
|
-
import type { ArenaParticipant, ArenaStrategy, ClaimAdjudication, ArenaProgressEvent, ArenaUsageRecorder } from "../types.js";
|
|
10
|
-
import type { ArenaLedger } from "../ledger.js";
|
|
11
|
-
interface AdjudicationOptions {
|
|
12
|
-
concluder: ArenaParticipant;
|
|
13
|
-
strategy: ArenaStrategy;
|
|
14
|
-
topic: string;
|
|
15
|
-
ledger: ArenaLedger;
|
|
16
|
-
signal?: AbortSignal;
|
|
17
|
-
onProgress?: (event: ArenaProgressEvent) => void;
|
|
18
|
-
onUsage?: ArenaUsageRecorder;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Run adjudication phase. The moderator rules on contested claims.
|
|
22
|
-
* Verified claims get synthetic adjudications.
|
|
23
|
-
*/
|
|
24
|
-
export declare function runAdjudication(options: AdjudicationOptions): Promise<ClaimAdjudication[]>;
|
|
25
|
-
export {};
|