savant-code 0.0.17 → 0.0.19
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/.agents/skills/coding-csharp/SKILL.md +82 -0
- package/.agents/skills/coding-go/SKILL.md +76 -0
- package/.agents/skills/coding-java/SKILL.md +79 -0
- package/.agents/skills/coding-python/SKILL.md +87 -0
- package/.agents/skills/coding-rust/SKILL.md +83 -0
- package/.agents/skills/coding-typescript/SKILL.md +90 -0
- package/.agents/skills/release-workflow/SKILL.md +69 -0
- package/.bun-version +1 -0
- package/.commandcode/settings.json +11 -0
- package/.commandcode/taste/workflow/taste.md +6 -0
- package/.env.example +95 -0
- package/.gitattributes +43 -0
- package/.githooks/pre-push +35 -0
- package/.github/workflows/build-release-binaries.yml +163 -0
- package/.markdownlint.json +42 -0
- package/.markdownlintignore +21 -0
- package/.prettierignore +9 -0
- package/.prettierrc +23 -0
- package/.savantignore +3 -0
- package/AGENTS.md +97 -0
- package/ARCHITECTURE.md +241 -0
- package/CHANGELOG.md +2631 -0
- package/CONTRIBUTING.md +88 -0
- package/ECHO-freebuff.md +22 -0
- package/ECHO.md +722 -0
- package/FREEREADME.md +35 -0
- package/LEARNINGS.md +345 -0
- package/NOTICE +15 -0
- package/README.md +550 -348
- package/README.zh-CN.md +479 -0
- package/SECURITY.md +8 -0
- package/VERSION +1 -0
- package/WINDOWS.md +238 -0
- package/agents/README.md +41 -0
- package/agents/base-chat.ts +44 -0
- package/agents/basher.ts +107 -0
- package/agents/browser-use/browser-use.test.ts +211 -0
- package/agents/browser-use/browser-use.ts +259 -0
- package/agents/constants.ts +1 -0
- package/agents/context-pruner.ts +1076 -0
- package/agents/detective/detective.ts +168 -0
- package/agents/editor/best-of-n/best-of-n-selector2.ts +148 -0
- package/agents/editor/best-of-n/editor-implementor-gpt-5.ts +7 -0
- package/agents/editor/best-of-n/editor-implementor-opus.ts +7 -0
- package/agents/editor/best-of-n/editor-implementor.ts +196 -0
- package/agents/editor/best-of-n/editor-multi-prompt.ts +265 -0
- package/agents/file-explorer/directory-lister.ts +92 -0
- package/agents/file-explorer/glob-matcher.ts +96 -0
- package/agents/forge/forge.ts +146 -0
- package/agents/librarian/librarian.test.ts +289 -0
- package/agents/librarian/librarian.ts +158 -0
- package/agents/package.json +11 -0
- package/agents/recorder/recorder.ts +104 -0
- package/agents/researcher/researcher-docs.ts +32 -0
- package/agents/researcher/researcher-web.ts +40 -0
- package/agents/savant/savant-analyze.ts +11 -0
- package/agents/savant/savant-free-deepseek-flash.ts +13 -0
- package/agents/savant/savant-free-deepseek.ts +13 -0
- package/agents/savant/savant-free-evals.ts +9 -0
- package/agents/savant/savant-free-glm.ts +13 -0
- package/agents/savant/savant-free-kimi.ts +13 -0
- package/agents/savant/savant-free-mimo-pro.ts +13 -0
- package/agents/savant/savant-free-mimo.ts +13 -0
- package/agents/savant/savant-free-minimax-m3.ts +13 -0
- package/agents/savant/savant-free.ts +9 -0
- package/agents/savant/savant-scaffold.ts +15 -0
- package/agents/savant/savant.ts +706 -0
- package/agents/scout/scout.ts +305 -0
- package/agents/scribe/scribe.ts +54 -0
- package/agents/thinker/thinker-gemini.ts +26 -0
- package/agents/thinker/thinker-gpt.ts +21 -0
- package/agents/thinker/thinker-with-files-gemini.ts +66 -0
- package/agents/thinker/thinker.ts +99 -0
- package/agents/tmux-cli.ts +724 -0
- package/agents/tsconfig.json +12 -0
- package/agents/types/agent-definition.ts +1 -0
- package/agents/types/secret-agent-definition.ts +103 -0
- package/agents/types/tools.ts +465 -0
- package/agents/types/util-types.ts +167 -0
- package/agents/verifier/verifier.ts +80 -0
- package/art/savant-redesign.md +7 -0
- package/art/savant-text-graf.md +5 -0
- package/art/savant_ascii.md +88 -0
- package/assets/banner.png +0 -0
- package/bun.lock +1979 -0
- package/bunfig.toml +7 -0
- package/cli/README.md +111 -0
- package/cli/bunfig.toml +2 -0
- package/cli/cli_exit +1 -0
- package/cli/package.json +66 -0
- package/cli/release/README.md +348 -0
- package/{index.js → cli/release/index.js} +0 -0
- package/cli/release/package.json +56 -0
- package/cli/release-core/README.md +20 -0
- package/cli/release-core/package.json +4 -0
- package/cli/release-core/prepare-package.js +31 -0
- package/cli/release-staging/README.md +70 -0
- package/cli/release-staging/index.js +42 -0
- package/cli/release-staging/package.json +43 -0
- package/cli/scripts/build-binary.ts +469 -0
- package/cli/scripts/clean.ts +16 -0
- package/cli/scripts/prebuild-agents.ts +250 -0
- package/cli/scripts/release.ts +103 -0
- package/cli/scripts/smoke-binary.ts +280 -0
- package/cli/scripts/test-sdk-file-hooks.sh +87 -0
- package/cli/scripts/validate-cli-with-tmux.sh +43 -0
- package/cli/src/__tests__/README.md +256 -0
- package/cli/src/__tests__/bash-mode.test.ts +442 -0
- package/cli/src/__tests__/cli-args.test.ts +241 -0
- package/cli/src/__tests__/e2e/first-time-login.test.ts +173 -0
- package/cli/src/__tests__/e2e/logout-relogin-flow.test.ts +110 -0
- package/cli/src/__tests__/e2e/returning-user-auth.test.ts +111 -0
- package/cli/src/__tests__/e2e-cli.test.ts +185 -0
- package/cli/src/__tests__/helpers/mock-api-client.ts +64 -0
- package/cli/src/__tests__/helpers/terminal-watchdog-fixture.ts +50 -0
- package/cli/src/__tests__/home-directory-detection.test.ts +213 -0
- package/cli/src/__tests__/integration/agent-toolnames-validation.test.ts +63 -0
- package/cli/src/__tests__/integration/api-integration.test.ts +289 -0
- package/cli/src/__tests__/integration/credentials-storage.test.ts +453 -0
- package/cli/src/__tests__/integration/local-agents.test.ts +1187 -0
- package/cli/src/__tests__/integration/login-flow-instrumentation.test.ts +146 -0
- package/cli/src/__tests__/integration/login-polling-working.test.ts +287 -0
- package/cli/src/__tests__/integration/usage-refresh-on-completion.test.ts +177 -0
- package/cli/src/__tests__/integration-tmux.test.ts +186 -0
- package/cli/src/__tests__/mocks/hover-toggle-controller.ts +71 -0
- package/cli/src/__tests__/path-completion.test.ts +243 -0
- package/cli/src/__tests__/project-files-chat-id.test.ts +34 -0
- package/cli/src/__tests__/release/proxy-http-get.test.ts +670 -0
- package/cli/src/__tests__/release/wrapper-safety.test.ts +177 -0
- package/cli/src/__tests__/rerender-perf.integration.test.ts +283 -0
- package/cli/src/__tests__/terminal-reset-sequences.test.ts +36 -0
- package/cli/src/__tests__/terminal-watchdog.test.ts +114 -0
- package/cli/src/__tests__/test-utils.ts +266 -0
- package/cli/src/__tests__/tmux-poc.ts +150 -0
- package/cli/src/__tests__/unit/agent-mode-toggle.test.ts +138 -0
- package/cli/src/__tests__/unit/copy-button.test.tsx +188 -0
- package/cli/src/__tests__/unit/create-run-config.test.ts +77 -0
- package/cli/src/__tests__/unit/publish-confirmation.test.ts +70 -0
- package/cli/src/__tests__/unit/segmented-control.test.ts +167 -0
- package/cli/src/__tests__/utils/env.test.ts +210 -0
- package/cli/src/__tests__/utils/project-picker.test.ts +39 -0
- package/cli/src/agents/bundled-agents.generated.d.ts +14 -0
- package/cli/src/agents/bundled-agents.generated.ts +1962 -0
- package/cli/src/app.tsx +383 -0
- package/cli/src/chat.tsx +2008 -0
- package/cli/src/cli-args.ts +183 -0
- package/cli/src/commands/__tests__/bash-command.test.ts +449 -0
- package/cli/src/commands/__tests__/command-args.test.ts +325 -0
- package/cli/src/commands/__tests__/copy-conversation.test.ts +240 -0
- package/cli/src/commands/__tests__/dev-command.test.ts +128 -0
- package/cli/src/commands/__tests__/diagnostics-command.test.ts +35 -0
- package/cli/src/commands/__tests__/image.test.ts +99 -0
- package/cli/src/commands/__tests__/init.test.ts +479 -0
- package/cli/src/commands/__tests__/loop-command.test.ts +89 -0
- package/cli/src/commands/__tests__/new-command-rotates-chat.test.ts +87 -0
- package/cli/src/commands/__tests__/permissions-command.test.ts +93 -0
- package/cli/src/commands/__tests__/process-diagnostics.test.ts +54 -0
- package/cli/src/commands/__tests__/prompt-builders.test.ts +69 -0
- package/cli/src/commands/__tests__/registry-gating.test.ts +125 -0
- package/cli/src/commands/__tests__/rewind-command.test.ts +227 -0
- package/cli/src/commands/__tests__/router-connect-chatgpt.test.ts +72 -0
- package/cli/src/commands/__tests__/router-input.test.ts +302 -0
- package/cli/src/commands/__tests__/router-provider-setup.test.ts +180 -0
- package/cli/src/commands/__tests__/savant-free-command-aliases.test.ts +56 -0
- package/cli/src/commands/ads.ts +45 -0
- package/cli/src/commands/command-registry.ts +1112 -0
- package/cli/src/commands/copy-conversation.ts +386 -0
- package/cli/src/commands/goal.ts +87 -0
- package/cli/src/commands/health-command.ts +61 -0
- package/cli/src/commands/help.ts +13 -0
- package/cli/src/commands/image.ts +20 -0
- package/cli/src/commands/init.ts +121 -0
- package/cli/src/commands/loop.ts +182 -0
- package/cli/src/commands/process-diagnostics.ts +120 -0
- package/cli/src/commands/prompt-builders.ts +140 -0
- package/cli/src/commands/publish.ts +261 -0
- package/cli/src/commands/rewind.ts +130 -0
- package/cli/src/commands/router-utils.ts +80 -0
- package/cli/src/commands/router.ts +589 -0
- package/cli/src/commands/telemetry.ts +68 -0
- package/cli/src/commands/usage.ts +26 -0
- package/cli/src/components/__tests__/ad-banner.test.tsx +84 -0
- package/cli/src/components/__tests__/block-helpers.test.tsx +139 -0
- package/cli/src/components/__tests__/clickable.test.tsx +39 -0
- package/cli/src/components/__tests__/grid-layout.integration.test.tsx +365 -0
- package/cli/src/components/__tests__/grid-layout.test.tsx +1033 -0
- package/cli/src/components/__tests__/markdown-content.test.tsx +163 -0
- package/cli/src/components/__tests__/message-block.completion.test.tsx +104 -0
- package/cli/src/components/__tests__/message-block.streaming.test.tsx +78 -0
- package/cli/src/components/__tests__/message-with-agents.test.tsx +571 -0
- package/cli/src/components/__tests__/multiline-input.test.tsx +1129 -0
- package/cli/src/components/__tests__/selectable-list.test.ts +232 -0
- package/cli/src/components/__tests__/shimmer-text.test.tsx +32 -0
- package/cli/src/components/__tests__/status-indicator.test.tsx +184 -0
- package/cli/src/components/__tests__/user-error-banner.test.tsx +100 -0
- package/cli/src/components/ad-banner.tsx +351 -0
- package/cli/src/components/agent-checklist.tsx +385 -0
- package/cli/src/components/agent-mode-toggle.tsx +294 -0
- package/cli/src/components/ask-user/__tests__/multiple-choice-form.test.ts +432 -0
- package/cli/src/components/ask-user/__tests__/validation.test.ts +213 -0
- package/cli/src/components/ask-user/components/accordion-question.tsx +153 -0
- package/cli/src/components/ask-user/components/custom-answer-input.tsx +66 -0
- package/cli/src/components/ask-user/components/options-list.tsx +139 -0
- package/cli/src/components/ask-user/components/question-header.tsx +80 -0
- package/cli/src/components/ask-user/components/question-option.tsx +94 -0
- package/cli/src/components/ask-user/constants.ts +35 -0
- package/cli/src/components/ask-user/index.tsx +660 -0
- package/cli/src/components/ask-user/utils/validation.ts +85 -0
- package/cli/src/components/attachment-card.tsx +67 -0
- package/cli/src/components/blocks/agent-block-grid.tsx +58 -0
- package/cli/src/components/blocks/agent-branch-item.tsx +230 -0
- package/cli/src/components/blocks/agent-branch-wrapper.tsx +524 -0
- package/cli/src/components/blocks/agent-list-branch.tsx +77 -0
- package/cli/src/components/blocks/ask-user-branch.tsx +98 -0
- package/cli/src/components/blocks/block-helpers.tsx +257 -0
- package/cli/src/components/blocks/blocks-renderer.tsx +296 -0
- package/cli/src/components/blocks/content-with-markdown.tsx +34 -0
- package/cli/src/components/blocks/copy-button.tsx +106 -0
- package/cli/src/components/blocks/copyable-block.tsx +47 -0
- package/cli/src/components/blocks/image-block.tsx +128 -0
- package/cli/src/components/blocks/implementor-row.tsx +453 -0
- package/cli/src/components/blocks/markdown-content.tsx +360 -0
- package/cli/src/components/blocks/markdown-renderables.tsx +347 -0
- package/cli/src/components/blocks/single-block.tsx +210 -0
- package/cli/src/components/blocks/thinking-block.tsx +77 -0
- package/cli/src/components/blocks/tool-block-group.tsx +72 -0
- package/cli/src/components/blocks/tool-branch.tsx +196 -0
- package/cli/src/components/blocks/user-content-copy.tsx +171 -0
- package/cli/src/components/bottom-banner.tsx +145 -0
- package/cli/src/components/build-mode-buttons.tsx +110 -0
- package/cli/src/components/button.tsx +75 -0
- package/cli/src/components/chat-header.tsx +11 -0
- package/cli/src/components/chat-history-screen.tsx +417 -0
- package/cli/src/components/chat-input-bar.tsx +535 -0
- package/cli/src/components/chatgpt-connect-banner.tsx +234 -0
- package/cli/src/components/clickable.tsx +149 -0
- package/cli/src/components/collapse-button.tsx +36 -0
- package/cli/src/components/command-palette.tsx +166 -0
- package/cli/src/components/copy-button.tsx +219 -0
- package/cli/src/components/dialog.tsx +111 -0
- package/cli/src/components/elapsed-timer.tsx +56 -0
- package/cli/src/components/error-boundary.tsx +63 -0
- package/cli/src/components/feedback-container.tsx +206 -0
- package/cli/src/components/feedback-icon-button.tsx +89 -0
- package/cli/src/components/feedback-input-mode.tsx +352 -0
- package/cli/src/components/file-attachment-card.tsx +89 -0
- package/cli/src/components/grid-layout.tsx +83 -0
- package/cli/src/components/help-banner.tsx +136 -0
- package/cli/src/components/highlighted-text.tsx +52 -0
- package/cli/src/components/image-card.tsx +167 -0
- package/cli/src/components/image-thumbnail.tsx +112 -0
- package/cli/src/components/input-cursor.tsx +77 -0
- package/cli/src/components/input-mode-banner.tsx +70 -0
- package/cli/src/components/load-previous-button.tsx +48 -0
- package/cli/src/components/login-modal.tsx +450 -0
- package/cli/src/components/message-block.tsx +337 -0
- package/cli/src/components/message-footer.tsx +269 -0
- package/cli/src/components/message-with-agents.tsx +594 -0
- package/cli/src/components/mode-divider.tsx +43 -0
- package/cli/src/components/model-picker.tsx +371 -0
- package/cli/src/components/multiline-input.tsx +1276 -0
- package/cli/src/components/out-of-credits-banner.tsx +155 -0
- package/cli/src/components/pending-attachments-banner.tsx +125 -0
- package/cli/src/components/pending-bash-message.tsx +57 -0
- package/cli/src/components/progress-bar.tsx +81 -0
- package/cli/src/components/project-picker-screen.tsx +469 -0
- package/cli/src/components/provider-picker.tsx +139 -0
- package/cli/src/components/publish-confirmation.tsx +514 -0
- package/cli/src/components/publish-container.tsx +737 -0
- package/cli/src/components/raised-pill.tsx +89 -0
- package/cli/src/components/renderers/plan-box.tsx +70 -0
- package/cli/src/components/review-screen.tsx +114 -0
- package/cli/src/components/rewind-picker.tsx +276 -0
- package/cli/src/components/right-sidebar.tsx +296 -0
- package/cli/src/components/savant-free-active-session-summary.tsx +63 -0
- package/cli/src/components/savant-free-landing-screen.tsx +756 -0
- package/cli/src/components/savant-free-model-selector.tsx +815 -0
- package/cli/src/components/savant-free-referral-banner.tsx +423 -0
- package/cli/src/components/savant-free-superseded-screen.tsx +62 -0
- package/cli/src/components/savant-ui/animation/pulse.tsx +26 -0
- package/cli/src/components/savant-ui/animation/typewriter.tsx +40 -0
- package/cli/src/components/savant-ui/branding.tsx +59 -0
- package/cli/src/components/savant-ui/data-display/badge.tsx +52 -0
- package/cli/src/components/savant-ui/data-display/code-block.tsx +55 -0
- package/cli/src/components/savant-ui/data-display/key-value.tsx +34 -0
- package/cli/src/components/savant-ui/data-display/sparkline.tsx +42 -0
- package/cli/src/components/savant-ui/data-display/timeline.tsx +44 -0
- package/cli/src/components/savant-ui/data-display/tree-view.tsx +55 -0
- package/cli/src/components/savant-ui/echo/__tests__/sidebar-collapse.test.tsx +90 -0
- package/cli/src/components/savant-ui/echo/agent-stack.tsx +72 -0
- package/cli/src/components/savant-ui/echo/agent-status.tsx +66 -0
- package/cli/src/components/savant-ui/echo/fid-card.tsx +89 -0
- package/cli/src/components/savant-ui/echo/fid-list.tsx +68 -0
- package/cli/src/components/savant-ui/echo/loop-status-panel.tsx +64 -0
- package/cli/src/components/savant-ui/echo/perfection-loop.tsx +118 -0
- package/cli/src/components/savant-ui/echo/phase-indicator.tsx +68 -0
- package/cli/src/components/savant-ui/echo/phase-info.ts +72 -0
- package/cli/src/components/savant-ui/echo/token-meter.tsx +39 -0
- package/cli/src/components/savant-ui/feedback/alert.tsx +45 -0
- package/cli/src/components/savant-ui/feedback/cost-tracker.tsx +54 -0
- package/cli/src/components/savant-ui/feedback/progress-bar.tsx +71 -0
- package/cli/src/components/savant-ui/feedback/spinner.tsx +40 -0
- package/cli/src/components/savant-ui/icon-theme-keys.ts +67 -0
- package/cli/src/components/savant-ui/icon.tsx +53 -0
- package/cli/src/components/savant-ui/index.ts +75 -0
- package/cli/src/components/savant-ui/input/select.tsx +26 -0
- package/cli/src/components/savant-ui/input/toggle.tsx +28 -0
- package/cli/src/components/savant-ui/layout/grid.tsx +52 -0
- package/cli/src/components/savant-ui/layout/header.tsx +28 -0
- package/cli/src/components/savant-ui/navigation/stepper.tsx +41 -0
- package/cli/src/components/savant-ui/primitives/key-hint.tsx +45 -0
- package/cli/src/components/savant-ui/primitives/key-value-row.tsx +41 -0
- package/cli/src/components/savant-ui/primitives/panel.tsx +42 -0
- package/cli/src/components/savant-ui/primitives/separator.tsx +34 -0
- package/cli/src/components/savant-ui/primitives/sidebar-section.tsx +64 -0
- package/cli/src/components/savant-ui/primitives/spacer.tsx +13 -0
- package/cli/src/components/savant-ui/primitives/stack.tsx +35 -0
- package/cli/src/components/savant-ui/theme.ts +45 -0
- package/cli/src/components/scroll-to-bottom-button.tsx +34 -0
- package/cli/src/components/segmented-control.tsx +199 -0
- package/cli/src/components/selectable-list.tsx +249 -0
- package/cli/src/components/selected-chips.tsx +86 -0
- package/cli/src/components/separator.tsx +40 -0
- package/cli/src/components/session-ended-banner.tsx +183 -0
- package/cli/src/components/shimmer-text.tsx +254 -0
- package/cli/src/components/status-bar.tsx +279 -0
- package/cli/src/components/subscription-limit-banner.tsx +269 -0
- package/cli/src/components/suggested-prompts.tsx +184 -0
- package/cli/src/components/suggestion-menu.tsx +219 -0
- package/cli/src/components/terminal-command-display.tsx +152 -0
- package/cli/src/components/terminal-link.tsx +97 -0
- package/cli/src/components/text-attachment-card.tsx +77 -0
- package/cli/src/components/thinking.tsx +108 -0
- package/cli/src/components/toast.tsx +109 -0
- package/cli/src/components/tools/__tests__/apply-patch.test.tsx +97 -0
- package/cli/src/components/tools/__tests__/code-search.test.tsx +45 -0
- package/cli/src/components/tools/__tests__/gravity-index.test.ts +76 -0
- package/cli/src/components/tools/__tests__/render-ui.test.tsx +556 -0
- package/cli/src/components/tools/__tests__/run-terminal-command.test.ts +274 -0
- package/cli/src/components/tools/__tests__/tool-call-item.test.tsx +73 -0
- package/cli/src/components/tools/apply-patch.tsx +101 -0
- package/cli/src/components/tools/code-search.tsx +50 -0
- package/cli/src/components/tools/composio.tsx +140 -0
- package/cli/src/components/tools/diff-viewer.tsx +21 -0
- package/cli/src/components/tools/glob.tsx +66 -0
- package/cli/src/components/tools/gravity-index.tsx +80 -0
- package/cli/src/components/tools/list-directory.tsx +66 -0
- package/cli/src/components/tools/read-docs.tsx +36 -0
- package/cli/src/components/tools/read-files.tsx +97 -0
- package/cli/src/components/tools/read-subtree.tsx +40 -0
- package/cli/src/components/tools/read-url.tsx +32 -0
- package/cli/src/components/tools/registry.ts +131 -0
- package/cli/src/components/tools/render-ui.tsx +466 -0
- package/cli/src/components/tools/run-terminal-command.tsx +86 -0
- package/cli/src/components/tools/skill.tsx +26 -0
- package/cli/src/components/tools/str-replace.tsx +77 -0
- package/cli/src/components/tools/suggest-followups.tsx +373 -0
- package/cli/src/components/tools/task-completed.tsx +16 -0
- package/cli/src/components/tools/tool-call-item.tsx +163 -0
- package/cli/src/components/tools/types.ts +100 -0
- package/cli/src/components/tools/web-search.tsx +32 -0
- package/cli/src/components/tools/write-file.tsx +20 -0
- package/cli/src/components/tools/write-todos.tsx +105 -0
- package/cli/src/components/top-banner.tsx +187 -0
- package/cli/src/components/usage-banner.tsx +296 -0
- package/cli/src/components/user-error-banner.tsx +54 -0
- package/cli/src/components/validation-error-popover.tsx +191 -0
- package/cli/src/data/slash-commands.ts +306 -0
- package/cli/src/hooks/__tests__/holds-live-savant-free-slot.test.ts +49 -0
- package/cli/src/hooks/__tests__/run-outcome.test.ts +178 -0
- package/cli/src/hooks/__tests__/session-fetch-signal.test.ts +45 -0
- package/cli/src/hooks/__tests__/use-activity-query.test.ts +810 -0
- package/cli/src/hooks/__tests__/use-ask-user-bridge.test.ts +175 -0
- package/cli/src/hooks/__tests__/use-auth-query.test.ts +21 -0
- package/cli/src/hooks/__tests__/use-chat-messages-collapse.test.ts +96 -0
- package/cli/src/hooks/__tests__/use-connection-status.test.ts +112 -0
- package/cli/src/hooks/__tests__/use-directory-browser.test.ts +215 -0
- package/cli/src/hooks/__tests__/use-gravity-ad.test.ts +73 -0
- package/cli/src/hooks/__tests__/use-grid-layout.test.ts +346 -0
- package/cli/src/hooks/__tests__/use-input-history.test.ts +704 -0
- package/cli/src/hooks/__tests__/use-loop-scheduler.test.ts +247 -0
- package/cli/src/hooks/__tests__/use-path-tab-completion.test.ts +324 -0
- package/cli/src/hooks/__tests__/use-queue-controls.test.ts +68 -0
- package/cli/src/hooks/__tests__/use-searchable-list.test.ts +364 -0
- package/cli/src/hooks/__tests__/use-send-message-timer.test.ts +146 -0
- package/cli/src/hooks/__tests__/use-suggestion-engine-mention.test.ts +364 -0
- package/cli/src/hooks/__tests__/use-suggestion-engine.test.ts +485 -0
- package/cli/src/hooks/__tests__/use-terminal-focus.test.ts +66 -0
- package/cli/src/hooks/__tests__/use-terminal-layout.test.ts +675 -0
- package/cli/src/hooks/__tests__/use-timeout.test.ts +330 -0
- package/cli/src/hooks/__tests__/use-usage-query.test.ts +526 -0
- package/cli/src/hooks/__tests__/use-user-details-query.test.ts +225 -0
- package/cli/src/hooks/helpers/__tests__/send-message.test.ts +1851 -0
- package/cli/src/hooks/helpers/send-message.ts +553 -0
- package/cli/src/hooks/run-outcome.ts +64 -0
- package/cli/src/hooks/stream-state.ts +106 -0
- package/cli/src/hooks/use-activity-query.ts +696 -0
- package/cli/src/hooks/use-agent-validation.ts +80 -0
- package/cli/src/hooks/use-ask-user-bridge.ts +102 -0
- package/cli/src/hooks/use-auth-query.ts +261 -0
- package/cli/src/hooks/use-auth-state.ts +155 -0
- package/cli/src/hooks/use-chat-input.ts +87 -0
- package/cli/src/hooks/use-chat-keyboard.ts +325 -0
- package/cli/src/hooks/use-chat-messages.ts +273 -0
- package/cli/src/hooks/use-chat-state.ts +219 -0
- package/cli/src/hooks/use-chat-streaming.ts +270 -0
- package/cli/src/hooks/use-chat-ui.ts +136 -0
- package/cli/src/hooks/use-clipboard.ts +154 -0
- package/cli/src/hooks/use-connection-status.ts +156 -0
- package/cli/src/hooks/use-directory-browser.ts +88 -0
- package/cli/src/hooks/use-elapsed-time.ts +116 -0
- package/cli/src/hooks/use-event.ts +36 -0
- package/cli/src/hooks/use-exit-handler.ts +108 -0
- package/cli/src/hooks/use-fetch-login-url.ts +65 -0
- package/cli/src/hooks/use-fids.ts +48 -0
- package/cli/src/hooks/use-fingerprint.ts +64 -0
- package/cli/src/hooks/use-gravity-ad.ts +688 -0
- package/cli/src/hooks/use-grid-layout.ts +78 -0
- package/cli/src/hooks/use-input-history.ts +173 -0
- package/cli/src/hooks/use-login-keyboard-handlers.ts +74 -0
- package/cli/src/hooks/use-login-polling.ts +120 -0
- package/cli/src/hooks/use-logo.tsx +178 -0
- package/cli/src/hooks/use-loop-scheduler.ts +481 -0
- package/cli/src/hooks/use-message-queue.ts +301 -0
- package/cli/src/hooks/use-now.ts +20 -0
- package/cli/src/hooks/use-path-tab-completion.ts +88 -0
- package/cli/src/hooks/use-publish-mutation.ts +60 -0
- package/cli/src/hooks/use-queue-controls.ts +70 -0
- package/cli/src/hooks/use-queue-ui.ts +55 -0
- package/cli/src/hooks/use-savant-free-ctrl-c-exit.ts +23 -0
- package/cli/src/hooks/use-savant-free-session-progress.ts +34 -0
- package/cli/src/hooks/use-savant-free-session.ts +679 -0
- package/cli/src/hooks/use-savant-free-streak-query.ts +72 -0
- package/cli/src/hooks/use-scaffold-confirm.ts +62 -0
- package/cli/src/hooks/use-scaffold-revert-subscriber.ts +66 -0
- package/cli/src/hooks/use-scroll-management.ts +182 -0
- package/cli/src/hooks/use-searchable-list.ts +99 -0
- package/cli/src/hooks/use-send-message.ts +1038 -0
- package/cli/src/hooks/use-sheen-animation.tsx +88 -0
- package/cli/src/hooks/use-subscription-query.ts +106 -0
- package/cli/src/hooks/use-suggestion-engine.ts +793 -0
- package/cli/src/hooks/use-terminal-breakpoints.ts +77 -0
- package/cli/src/hooks/use-terminal-dimensions.ts +50 -0
- package/cli/src/hooks/use-terminal-focus.ts +146 -0
- package/cli/src/hooks/use-terminal-layout.ts +189 -0
- package/cli/src/hooks/use-theme.tsx +140 -0
- package/cli/src/hooks/use-timeout.ts +88 -0
- package/cli/src/hooks/use-toast.ts +114 -0
- package/cli/src/hooks/use-update-preference.ts +77 -0
- package/cli/src/hooks/use-usage-monitor.ts +59 -0
- package/cli/src/hooks/use-usage-query.ts +138 -0
- package/cli/src/hooks/use-user-details-query.ts +104 -0
- package/cli/src/hooks/use-why-did-you-update.ts +178 -0
- package/cli/src/index.tsx +484 -0
- package/cli/src/init/__tests__/init-direnv.test.ts +597 -0
- package/cli/src/init/init-app.ts +54 -0
- package/cli/src/init/init-direnv.ts +133 -0
- package/cli/src/login/constants.ts +71 -0
- package/cli/src/login/login-flow.ts +224 -0
- package/cli/src/login/plain-login.ts +107 -0
- package/cli/src/login/utils.ts +183 -0
- package/cli/src/native/ripgrep.ts +82 -0
- package/cli/src/polyfills/bun-strip-ansi.ts +12 -0
- package/cli/src/pre-init/load-dev-env.ts +98 -0
- package/cli/src/pre-init/tree-sitter-wasm.ts +98 -0
- package/cli/src/project-files.ts +102 -0
- package/cli/src/state/__tests__/chat-store-focus.test.ts +22 -0
- package/cli/src/state/__tests__/feedback-store.test.ts +260 -0
- package/cli/src/state/chat-history-store.ts +27 -0
- package/cli/src/state/chat-store.ts +791 -0
- package/cli/src/state/feedback-store.ts +162 -0
- package/cli/src/state/gateway-catalog-store.ts +45 -0
- package/cli/src/state/login-store.ts +150 -0
- package/cli/src/state/message-block-store.ts +143 -0
- package/cli/src/state/model-picker-store.ts +67 -0
- package/cli/src/state/provider-picker-store.ts +53 -0
- package/cli/src/state/publish-store.ts +141 -0
- package/cli/src/state/review-store.ts +24 -0
- package/cli/src/state/rewind-picker-store.ts +74 -0
- package/cli/src/state/savant-free-model-store.ts +59 -0
- package/cli/src/state/savant-free-session-store.ts +32 -0
- package/cli/src/test-setup.ts +20 -0
- package/cli/src/testing/env.ts +46 -0
- package/cli/src/types/chat-state.ts +15 -0
- package/cli/src/types/chat.ts +242 -0
- package/cli/src/types/contracts/send-message.ts +16 -0
- package/cli/src/types/env.ts +107 -0
- package/cli/src/types/function-params.ts +35 -0
- package/cli/src/types/opentui-augmentation.d.ts +11 -0
- package/cli/src/types/react19-compat.d.ts +19 -0
- package/cli/src/types/savant-free-session.ts +17 -0
- package/cli/src/types/store.ts +112 -0
- package/cli/src/types/theme-system.ts +194 -0
- package/cli/src/types/utils.ts +3 -0
- package/cli/src/utils/__tests__/activity-tracker.test.ts +440 -0
- package/cli/src/utils/__tests__/agent-display.test.ts +139 -0
- package/cli/src/utils/__tests__/analytics-client.test.ts +311 -0
- package/cli/src/utils/__tests__/anonymous-id.test.ts +74 -0
- package/cli/src/utils/__tests__/arrays.test.ts +264 -0
- package/cli/src/utils/__tests__/bash-context-processor.test.ts +38 -0
- package/cli/src/utils/__tests__/block-processor.test.ts +690 -0
- package/cli/src/utils/__tests__/chat-history.test.ts +247 -0
- package/cli/src/utils/__tests__/chat-input-key-intercept.test.ts +40 -0
- package/cli/src/utils/__tests__/chat-layout.test.ts +32 -0
- package/cli/src/utils/__tests__/chat-meta.test.ts +160 -0
- package/cli/src/utils/__tests__/chatgpt-oauth.test.ts +50 -0
- package/cli/src/utils/__tests__/clipboard.test.ts +998 -0
- package/cli/src/utils/__tests__/code-search-summary.test.ts +84 -0
- package/cli/src/utils/__tests__/collapse-helpers.test.ts +1272 -0
- package/cli/src/utils/__tests__/error-handling.test.ts +611 -0
- package/cli/src/utils/__tests__/feedback-helpers.test.ts +452 -0
- package/cli/src/utils/__tests__/feedback-submission.test.ts +26 -0
- package/cli/src/utils/__tests__/fetch-usage.test.ts +355 -0
- package/cli/src/utils/__tests__/fingerprint.test.ts +147 -0
- package/cli/src/utils/__tests__/format-elapsed-time.test.ts +103 -0
- package/cli/src/utils/__tests__/format-timeout.test.ts +87 -0
- package/cli/src/utils/__tests__/image-dimensions.test.ts +243 -0
- package/cli/src/utils/__tests__/image-processor.test.ts +250 -0
- package/cli/src/utils/__tests__/implementor-helpers.test.ts +1457 -0
- package/cli/src/utils/__tests__/keyboard-actions.test.ts +686 -0
- package/cli/src/utils/__tests__/layout-helpers.test.ts +36 -0
- package/cli/src/utils/__tests__/lazy-response-ads.test.ts +167 -0
- package/cli/src/utils/__tests__/logger-sanitize-secrets.test.ts +80 -0
- package/cli/src/utils/__tests__/markdown-renderer.test.tsx +518 -0
- package/cli/src/utils/__tests__/markdown-streaming.test.ts +64 -0
- package/cli/src/utils/__tests__/message-block-helpers.test.ts +1197 -0
- package/cli/src/utils/__tests__/message-updater.test.ts +659 -0
- package/cli/src/utils/__tests__/ollama-onboarding.test.ts +239 -0
- package/cli/src/utils/__tests__/openrouter-models.test.ts +295 -0
- package/cli/src/utils/__tests__/osc-timeout-scenarios.test.ts +172 -0
- package/cli/src/utils/__tests__/pending-attachments.test.ts +278 -0
- package/cli/src/utils/__tests__/provider-setup.test.ts +183 -0
- package/cli/src/utils/__tests__/run-state-storage.test.ts +741 -0
- package/cli/src/utils/__tests__/savant-code-api.test.ts +634 -0
- package/cli/src/utils/__tests__/savant-free-instance-owner.test.ts +69 -0
- package/cli/src/utils/__tests__/savant-free-model-navigation.test.ts +104 -0
- package/cli/src/utils/__tests__/savant-free-premium-reset.test.ts +81 -0
- package/cli/src/utils/__tests__/savant-free-referral-cache.test.ts +67 -0
- package/cli/src/utils/__tests__/savant-free-session-display.test.ts +23 -0
- package/cli/src/utils/__tests__/savant-free-streak-line.test.ts +76 -0
- package/cli/src/utils/__tests__/sdk-event-handlers.test.ts +615 -0
- package/cli/src/utils/__tests__/send-message-helpers.test.ts +1875 -0
- package/cli/src/utils/__tests__/send-message-timer.test.ts +68 -0
- package/cli/src/utils/__tests__/settings.test.ts +138 -0
- package/cli/src/utils/__tests__/strings.test.ts +210 -0
- package/cli/src/utils/__tests__/syntax-theme.test.ts +91 -0
- package/cli/src/utils/__tests__/terminal-color-detection.test.ts +425 -0
- package/cli/src/utils/__tests__/terminal-enter-detection.test.ts +77 -0
- package/cli/src/utils/__tests__/text-layout.test.ts +82 -0
- package/cli/src/utils/__tests__/think-tag-parser.test.ts +159 -0
- package/cli/src/utils/__tests__/trace-writer.test.ts +193 -0
- package/cli/src/utils/__tests__/trim-chat-logs.test.ts +79 -0
- package/cli/src/utils/__tests__/usage-banner-state.test.ts +298 -0
- package/cli/src/utils/__tests__/validation-error-formatting.test.ts +126 -0
- package/cli/src/utils/__tests__/write-file-atomic.test.ts +130 -0
- package/cli/src/utils/active-run.ts +22 -0
- package/cli/src/utils/activity-tracker.ts +66 -0
- package/cli/src/utils/agent-display.ts +87 -0
- package/cli/src/utils/agent-helpers.ts +47 -0
- package/cli/src/utils/ai-message-id.ts +12 -0
- package/cli/src/utils/analytics.ts +407 -0
- package/cli/src/utils/anonymous-id.ts +87 -0
- package/cli/src/utils/arrays.ts +117 -0
- package/cli/src/utils/auth.ts +258 -0
- package/cli/src/utils/bash-context-processor.ts +47 -0
- package/cli/src/utils/bash-messages.ts +108 -0
- package/cli/src/utils/block-margins.ts +35 -0
- package/cli/src/utils/block-operations.ts +548 -0
- package/cli/src/utils/block-processor.ts +212 -0
- package/cli/src/utils/chat-history.ts +265 -0
- package/cli/src/utils/chat-input-key-intercept.ts +52 -0
- package/cli/src/utils/chat-layout.ts +44 -0
- package/cli/src/utils/chat-meta.ts +101 -0
- package/cli/src/utils/chat-scroll-accel.ts +151 -0
- package/cli/src/utils/chatgpt-oauth.ts +350 -0
- package/cli/src/utils/clipboard-image.ts +610 -0
- package/cli/src/utils/clipboard.ts +307 -0
- package/cli/src/utils/code-search-summary.ts +69 -0
- package/cli/src/utils/collapse-helpers.ts +265 -0
- package/cli/src/utils/config-dir.ts +30 -0
- package/cli/src/utils/constants.ts +159 -0
- package/cli/src/utils/create-event-handler-state.ts +79 -0
- package/cli/src/utils/create-run-config.ts +160 -0
- package/cli/src/utils/db-storage.ts +254 -0
- package/cli/src/utils/detect-shell.ts +112 -0
- package/cli/src/utils/directory-browser.ts +74 -0
- package/cli/src/utils/engagement.ts +55 -0
- package/cli/src/utils/env.ts +109 -0
- package/cli/src/utils/error-handling.ts +246 -0
- package/cli/src/utils/error-messages.ts +84 -0
- package/cli/src/utils/feedback-helpers.ts +115 -0
- package/cli/src/utils/feedback-submission.ts +24 -0
- package/cli/src/utils/fetch-usage.ts +75 -0
- package/cli/src/utils/fid-loader.ts +135 -0
- package/cli/src/utils/fingerprint.ts +263 -0
- package/cli/src/utils/finish-logic.ts +154 -0
- package/cli/src/utils/format-elapsed-time.ts +33 -0
- package/cli/src/utils/format-session-units.ts +6 -0
- package/cli/src/utils/format-timeout.ts +28 -0
- package/cli/src/utils/format-validation-errors-for-message.ts +85 -0
- package/cli/src/utils/git.ts +17 -0
- package/cli/src/utils/glyphs.ts +188 -0
- package/cli/src/utils/helpers.ts +47 -0
- package/cli/src/utils/image-display.ts +73 -0
- package/cli/src/utils/image-handler.ts +336 -0
- package/cli/src/utils/image-processor.ts +133 -0
- package/cli/src/utils/image-thumbnail.ts +83 -0
- package/cli/src/utils/implementor-helpers.ts +817 -0
- package/cli/src/utils/input-modes.ts +196 -0
- package/cli/src/utils/keyboard-actions.ts +394 -0
- package/cli/src/utils/keypad-keys.ts +47 -0
- package/cli/src/utils/layout-helpers.ts +36 -0
- package/cli/src/utils/lazy-response-ads.ts +1 -0
- package/cli/src/utils/loading-phrases.ts +68 -0
- package/cli/src/utils/local-agent-registry.ts +611 -0
- package/cli/src/utils/log-shipper.ts +116 -0
- package/cli/src/utils/logger.ts +435 -0
- package/cli/src/utils/markdown-renderer.tsx +1315 -0
- package/cli/src/utils/math.ts +3 -0
- package/cli/src/utils/message-block-helpers.ts +667 -0
- package/cli/src/utils/message-history.ts +153 -0
- package/cli/src/utils/message-tree-utils.ts +67 -0
- package/cli/src/utils/message-updater.ts +279 -0
- package/cli/src/utils/ollama-onboarding.ts +215 -0
- package/cli/src/utils/open-file.ts +144 -0
- package/cli/src/utils/open-url.ts +63 -0
- package/cli/src/utils/openrouter-models.ts +945 -0
- package/cli/src/utils/path-completion.ts +111 -0
- package/cli/src/utils/path-helpers.ts +38 -0
- package/cli/src/utils/pending-attachments.ts +363 -0
- package/cli/src/utils/post-processing.ts +99 -0
- package/cli/src/utils/project-picker.ts +12 -0
- package/cli/src/utils/provider-setup.ts +259 -0
- package/cli/src/utils/recent-projects.ts +156 -0
- package/cli/src/utils/renderer-cleanup.ts +142 -0
- package/cli/src/utils/response-ad-positions.ts +1 -0
- package/cli/src/utils/rewind.ts +175 -0
- package/cli/src/utils/run-state-storage.ts +480 -0
- package/cli/src/utils/savant-code-api.ts +686 -0
- package/cli/src/utils/savant-code-client.ts +217 -0
- package/cli/src/utils/savant-free-agent-selection.ts +12 -0
- package/cli/src/utils/savant-free-exit.ts +24 -0
- package/cli/src/utils/savant-free-instance-owner.ts +66 -0
- package/cli/src/utils/savant-free-model-navigation.ts +46 -0
- package/cli/src/utils/savant-free-premium-reset.ts +52 -0
- package/cli/src/utils/savant-free-referral-cache.ts +35 -0
- package/cli/src/utils/savant-free-session-display.ts +21 -0
- package/cli/src/utils/savant-free-streak-line.ts +67 -0
- package/cli/src/utils/sdk-event-handlers.ts +587 -0
- package/cli/src/utils/send-message-helpers.ts +199 -0
- package/cli/src/utils/send-message-timer.ts +110 -0
- package/cli/src/utils/settings.ts +388 -0
- package/cli/src/utils/skill-registry.ts +100 -0
- package/cli/src/utils/spawn-agent-matcher.ts +56 -0
- package/cli/src/utils/status-indicator-state.ts +100 -0
- package/cli/src/utils/stream-chunk-processor.ts +65 -0
- package/cli/src/utils/strings.ts +272 -0
- package/cli/src/utils/subscription.ts +31 -0
- package/cli/src/utils/syntax-highlighter.tsx +19 -0
- package/cli/src/utils/syntax-theme.ts +131 -0
- package/cli/src/utils/terminal-color-detection.ts +472 -0
- package/cli/src/utils/terminal-enter-detection.ts +63 -0
- package/cli/src/utils/terminal-images.ts +223 -0
- package/cli/src/utils/terminal-reset-sequences.ts +33 -0
- package/cli/src/utils/terminal-title.ts +113 -0
- package/cli/src/utils/terminal-watchdog.ts +246 -0
- package/cli/src/utils/text-layout.ts +153 -0
- package/cli/src/utils/theme-config.ts +143 -0
- package/cli/src/utils/theme-system.ts +1265 -0
- package/cli/src/utils/think-tag-parser.ts +105 -0
- package/cli/src/utils/trace-writer.ts +147 -0
- package/cli/src/utils/ui-constants.ts +69 -0
- package/cli/src/utils/usage-banner-state.ts +146 -0
- package/cli/src/utils/validation-error-formatting.ts +92 -0
- package/cli/src/utils/validation-error-helpers.ts +19 -0
- package/cli/src/utils/version.ts +23 -0
- package/cli/src/utils/word-wrap-utils.ts +53 -0
- package/cli/src/utils/write-file-atomic.ts +82 -0
- package/cli/src/utils/yield-to-event-loop.ts +9 -0
- package/cli/tsconfig.json +26 -0
- package/coding-standards/csharp.md +77 -0
- package/coding-standards/go.md +71 -0
- package/coding-standards/java.md +74 -0
- package/coding-standards/python.md +82 -0
- package/coding-standards/rust.md +78 -0
- package/coding-standards/typescript.md +85 -0
- package/coding-standards/x402.md +227 -0
- package/common/README.md +41 -0
- package/common/common_exit +1 -0
- package/common/package.json +45 -0
- package/common/src/__tests__/agent-validation.test.ts +861 -0
- package/common/src/__tests__/agents.test.ts +16 -0
- package/common/src/__tests__/dynamic-agent-template-schema.test.ts +420 -0
- package/common/src/__tests__/env-ci.test.ts +167 -0
- package/common/src/__tests__/env-process.test.ts +145 -0
- package/common/src/__tests__/free-agents.test.ts +269 -0
- package/common/src/__tests__/handlesteps-parsing.test.ts +247 -0
- package/common/src/__tests__/model-config.test.ts +41 -0
- package/common/src/__tests__/project-file-tree.test.ts +82 -0
- package/common/src/__tests__/response-ad-positions.test.ts +78 -0
- package/common/src/__tests__/savant-free-models.test.ts +460 -0
- package/common/src/__tests__/savant-free-referral-tiers.test.ts +122 -0
- package/common/src/__tests__/user-state.test.ts +30 -0
- package/common/src/actions.ts +215 -0
- package/common/src/analytics-core.ts +73 -0
- package/common/src/analytics.ts +96 -0
- package/common/src/api-keys/constants.ts +26 -0
- package/common/src/browser-actions.ts +414 -0
- package/common/src/constants/agents.ts +250 -0
- package/common/src/constants/analytics-events.ts +318 -0
- package/common/src/constants/anthropic.ts +72 -0
- package/common/src/constants/byok.ts +2 -0
- package/common/src/constants/chatgpt-oauth.ts +85 -0
- package/common/src/constants/composio.ts +34 -0
- package/common/src/constants/feedback.ts +18 -0
- package/common/src/constants/free-agents.ts +347 -0
- package/common/src/constants/gemini.ts +6 -0
- package/common/src/constants/grant-priorities.ts +13 -0
- package/common/src/constants/hosts.ts +6 -0
- package/common/src/constants/images.ts +53 -0
- package/common/src/constants/index.ts +8 -0
- package/common/src/constants/knowledge.ts +46 -0
- package/common/src/constants/limits.ts +23 -0
- package/common/src/constants/model-config.ts +469 -0
- package/common/src/constants/paths.ts +69 -0
- package/common/src/constants/savant-code-config.ts +12 -0
- package/common/src/constants/savant-free-gemini-thinker.ts +30 -0
- package/common/src/constants/savant-free-models.ts +855 -0
- package/common/src/constants/savant-free-referral-tiers.ts +169 -0
- package/common/src/constants/skills.ts +60 -0
- package/common/src/constants/subscription-plans.ts +54 -0
- package/common/src/constants/ui.ts +25 -0
- package/common/src/env-ci.ts +36 -0
- package/common/src/env-process.ts +95 -0
- package/common/src/env-schema.ts +42 -0
- package/common/src/env.ts +69 -0
- package/common/src/mcp/client.ts +308 -0
- package/common/src/old-constants.ts +10 -0
- package/common/src/project-file-tree.ts +361 -0
- package/common/src/reddit-capi.ts +175 -0
- package/common/src/schemas/feedback.ts +57 -0
- package/common/src/schemas/logs.ts +66 -0
- package/common/src/templates/agent-validation.ts +436 -0
- package/common/src/templates/initial-agents-dir/LICENSE +202 -0
- package/common/src/templates/initial-agents-dir/README.md +314 -0
- package/common/src/templates/initial-agents-dir/examples/01-basic-diff-reviewer.ts +17 -0
- package/common/src/templates/initial-agents-dir/examples/02-intermediate-git-committer.ts +78 -0
- package/common/src/templates/initial-agents-dir/examples/03-advanced-file-explorer.ts +76 -0
- package/common/src/templates/initial-agents-dir/my-custom-agent.ts +40 -0
- package/common/src/templates/initial-agents-dir/package.json +6 -0
- package/common/src/templates/initial-agents-dir/skills/README.md +66 -0
- package/common/src/templates/initial-agents-dir/skills/example-skill/SKILL.md +29 -0
- package/common/src/templates/initial-agents-dir/types/agent-definition.ts +484 -0
- package/common/src/templates/initial-agents-dir/types/tools.ts +452 -0
- package/common/src/templates/initial-agents-dir/types/util-types.ts +167 -0
- package/common/src/testing/TESTING_PATTERNS.md +353 -0
- package/common/src/testing/errors.ts +33 -0
- package/common/src/testing/fixtures/agent-runtime.ts +325 -0
- package/common/src/testing/impl/agent-runtime.ts +6 -0
- package/common/src/testing/index.ts +84 -0
- package/common/src/testing/mock-modules.ts +54 -0
- package/common/src/testing/mock-types.ts +123 -0
- package/common/src/testing/mocks/analytics.ts +262 -0
- package/common/src/testing/mocks/child-process.ts +93 -0
- package/common/src/testing/mocks/crypto.ts +218 -0
- package/common/src/testing/mocks/database.ts +337 -0
- package/common/src/testing/mocks/filesystem.ts +166 -0
- package/common/src/testing/mocks/index.ts +83 -0
- package/common/src/testing/mocks/logger.ts +136 -0
- package/common/src/testing/mocks/stream.ts +314 -0
- package/common/src/testing/mocks/timers.ts +132 -0
- package/common/src/testing/mocks/tree-sitter.ts +127 -0
- package/common/src/testing/setup.ts +282 -0
- package/common/src/testing-env-ci.ts +15 -0
- package/common/src/testing-env-process.ts +78 -0
- package/common/src/tools/__tests__/compile-tool-definitions.test.ts +34 -0
- package/common/src/tools/__tests__/thought-session.test.ts +256 -0
- package/common/src/tools/compile-tool-definitions.ts +194 -0
- package/common/src/tools/constants.ts +132 -0
- package/common/src/tools/list.ts +193 -0
- package/common/src/tools/params/__tests__/coerce-to-array.test.ts +237 -0
- package/common/src/tools/params/__tests__/sequential-thinking-coercion.test.ts +98 -0
- package/common/src/tools/params/tool/add-message.ts +36 -0
- package/common/src/tools/params/tool/add-subgoal.ts +57 -0
- package/common/src/tools/params/tool/apply-patch.ts +110 -0
- package/common/src/tools/params/tool/ask-user.ts +181 -0
- package/common/src/tools/params/tool/browser-logs.ts +85 -0
- package/common/src/tools/params/tool/code-search.ts +144 -0
- package/common/src/tools/params/tool/composio.ts +131 -0
- package/common/src/tools/params/tool/create-plan.ts +80 -0
- package/common/src/tools/params/tool/end-turn.ts +54 -0
- package/common/src/tools/params/tool/find-files.ts +60 -0
- package/common/src/tools/params/tool/glob.ts +74 -0
- package/common/src/tools/params/tool/gravity-index.ts +92 -0
- package/common/src/tools/params/tool/list-directory.ts +58 -0
- package/common/src/tools/params/tool/lookup-agent-info.ts +37 -0
- package/common/src/tools/params/tool/propose-str-replace.ts +103 -0
- package/common/src/tools/params/tool/propose-write-file.ts +71 -0
- package/common/src/tools/params/tool/read-docs.ts +85 -0
- package/common/src/tools/params/tool/read-files.ts +61 -0
- package/common/src/tools/params/tool/read-subtree.ts +83 -0
- package/common/src/tools/params/tool/read-url.ts +81 -0
- package/common/src/tools/params/tool/render-ui.ts +203 -0
- package/common/src/tools/params/tool/run-file-change-hooks.ts +57 -0
- package/common/src/tools/params/tool/run-readonly-command.ts +76 -0
- package/common/src/tools/params/tool/run-terminal-command.ts +185 -0
- package/common/src/tools/params/tool/sequential-thinking.ts +110 -0
- package/common/src/tools/params/tool/set-messages.ts +42 -0
- package/common/src/tools/params/tool/set-output.ts +62 -0
- package/common/src/tools/params/tool/set-scaffold-complete.ts +51 -0
- package/common/src/tools/params/tool/skill.ts +56 -0
- package/common/src/tools/params/tool/spawn-agent-inline.ts +57 -0
- package/common/src/tools/params/tool/spawn-agents.ts +154 -0
- package/common/src/tools/params/tool/str-replace.ts +107 -0
- package/common/src/tools/params/tool/suggest-followups.ts +94 -0
- package/common/src/tools/params/tool/task-completed.ts +58 -0
- package/common/src/tools/params/tool/think-deeply.ts +53 -0
- package/common/src/tools/params/tool/transition-phase.ts +57 -0
- package/common/src/tools/params/tool/update-subgoal.ts +89 -0
- package/common/src/tools/params/tool/web-search.ts +73 -0
- package/common/src/tools/params/tool/write-file.ts +71 -0
- package/common/src/tools/params/tool/write-todos.ts +67 -0
- package/common/src/tools/params/utils.ts +152 -0
- package/common/src/tools/safety-registry.ts +274 -0
- package/common/src/tools/safety.ts +42 -0
- package/common/src/tools/sequential-thinking.ts +340 -0
- package/common/src/tools/utils.ts +25 -0
- package/common/src/types/__tests__/dynamic-agent-template.test.ts +20 -0
- package/common/src/types/agent-template.ts +223 -0
- package/common/src/types/api/agents/publish.ts +63 -0
- package/common/src/types/contracts/agent-runtime.ts +84 -0
- package/common/src/types/contracts/analytics.ts +12 -0
- package/common/src/types/contracts/bigquery.ts +55 -0
- package/common/src/types/contracts/billing.ts +46 -0
- package/common/src/types/contracts/client.ts +52 -0
- package/common/src/types/contracts/database.ts +104 -0
- package/common/src/types/contracts/env.ts +203 -0
- package/common/src/types/contracts/llm.ts +183 -0
- package/common/src/types/contracts/logger.ts +29 -0
- package/common/src/types/contracts/logs.ts +34 -0
- package/common/src/types/contracts/trace.ts +21 -0
- package/common/src/types/dynamic-agent-template.ts +290 -0
- package/common/src/types/filesystem.ts +10 -0
- package/common/src/types/function-params.ts +35 -0
- package/common/src/types/grant.ts +20 -0
- package/common/src/types/gravity-index.ts +170 -0
- package/common/src/types/json.ts +26 -0
- package/common/src/types/mcp.ts +26 -0
- package/common/src/types/messages/content-part.ts +59 -0
- package/common/src/types/messages/data-content.ts +14 -0
- package/common/src/types/messages/provider-metadata.ts +10 -0
- package/common/src/types/messages/savant-code-message.ts +55 -0
- package/common/src/types/organization.ts +118 -0
- package/common/src/types/print-mode.ts +167 -0
- package/common/src/types/publisher.ts +67 -0
- package/common/src/types/savant-free-session.ts +295 -0
- package/common/src/types/savant-free-streak.ts +6 -0
- package/common/src/types/session-state.ts +237 -0
- package/common/src/types/skill.ts +56 -0
- package/common/src/types/source.ts +11 -0
- package/common/src/types/spawn.ts +13 -0
- package/common/src/types/subscription.ts +68 -0
- package/common/src/types/usage.ts +16 -0
- package/common/src/types/util.ts +3 -0
- package/common/src/util/__tests__/analytics-dispatcher.test.ts +145 -0
- package/common/src/util/__tests__/analytics-log.test.ts +110 -0
- package/common/src/util/__tests__/analytics-sampling.test.ts +131 -0
- package/common/src/util/__tests__/axiom-only-log.test.ts +64 -0
- package/common/src/util/__tests__/engagement-tracker.test.ts +115 -0
- package/common/src/util/__tests__/error-abort.test.ts +822 -0
- package/common/src/util/__tests__/error-api-details.test.ts +190 -0
- package/common/src/util/__tests__/format-code-search.test.ts +60 -0
- package/common/src/util/__tests__/log-mirror.test.ts +31 -0
- package/common/src/util/__tests__/messages.test.ts +1118 -0
- package/common/src/util/__tests__/partial-json-delta.test.ts +505 -0
- package/common/src/util/__tests__/paths.test.ts +289 -0
- package/common/src/util/__tests__/promise.test.ts +334 -0
- package/common/src/util/__tests__/protocol-config.test.ts +119 -0
- package/common/src/util/__tests__/rate-limit.test.ts +28 -0
- package/common/src/util/__tests__/reddit-savant-free-retention.test.ts +120 -0
- package/common/src/util/__tests__/savant-free-streak.test.ts +142 -0
- package/common/src/util/__tests__/saxy.test.ts +1008 -0
- package/common/src/util/__tests__/string.test.ts +238 -0
- package/common/src/util/__tests__/zoned-time.test.ts +88 -0
- package/common/src/util/agent-file-utils.ts +110 -0
- package/common/src/util/agent-id-parsing.ts +147 -0
- package/common/src/util/agent-name-normalization.ts +39 -0
- package/common/src/util/analytics-dispatcher.ts +81 -0
- package/common/src/util/analytics-log.ts +84 -0
- package/common/src/util/analytics-sampling.ts +225 -0
- package/common/src/util/array.ts +63 -0
- package/common/src/util/axiom-only-log.ts +79 -0
- package/common/src/util/cache-debug.ts +191 -0
- package/common/src/util/credentials.ts +12 -0
- package/common/src/util/currency.ts +25 -0
- package/common/src/util/dates.ts +81 -0
- package/common/src/util/engagement-tracker.ts +133 -0
- package/common/src/util/error.ts +580 -0
- package/common/src/util/file.ts +363 -0
- package/common/src/util/format-code-search.ts +115 -0
- package/common/src/util/lazy-response-ads.ts +93 -0
- package/common/src/util/log-data.ts +57 -0
- package/common/src/util/log-mirror.ts +34 -0
- package/common/src/util/lru-cache.ts +67 -0
- package/common/src/util/messages.ts +600 -0
- package/common/src/util/model-utils.ts +25 -0
- package/common/src/util/object.ts +137 -0
- package/common/src/util/param-helpers.ts +49 -0
- package/common/src/util/partial-json-delta.ts +100 -0
- package/common/src/util/paths.ts +194 -0
- package/common/src/util/promise.ts +87 -0
- package/common/src/util/protocol-config.ts +141 -0
- package/common/src/util/random.ts +15 -0
- package/common/src/util/rate-limit.ts +56 -0
- package/common/src/util/reddit-capi-events.ts +40 -0
- package/common/src/util/reddit-savant-free-retention.ts +69 -0
- package/common/src/util/response-ad-positions.ts +54 -0
- package/common/src/util/savant-free-privacy.ts +78 -0
- package/common/src/util/savant-free-streak.ts +153 -0
- package/common/src/util/saxy.ts +739 -0
- package/common/src/util/skills.ts +32 -0
- package/common/src/util/stop-sequence.ts +60 -0
- package/common/src/util/string.ts +419 -0
- package/common/src/util/system-info.ts +51 -0
- package/common/src/util/type-narrowing.ts +125 -0
- package/common/src/util/xml.ts +17 -0
- package/common/src/util/zod-schema.ts +80 -0
- package/common/src/util/zoned-time.ts +136 -0
- package/common/src/utils/ask-user-bridge.ts +47 -0
- package/common/tsconfig.json +8 -0
- package/database.db +0 -0
- package/dev/LEARNINGS.md +309 -0
- package/dev/fids/.gitkeep +0 -0
- package/dev/fids/archive/.gitkeep +0 -0
- package/dev/fids/archive/FID-2026-0802-008-sdk-package-audit-client-run-run-state.md +238 -0
- package/dev/fids/archive/FID-2026-0803-001-echo-enforcement-layer-drift.md +404 -0
- package/dev/fids/archive/FID-2026-0803-002-llm-providers-database-audit.md +348 -0
- package/dev/fids/archive/FID-2026-0803-003-sdk-impl-common-util-audit.md +277 -0
- package/dev/fids/archive/FID-2026-0803-004-checkpoint-rewind.md +181 -0
- package/dev/fids/archive/FID-2026-0803-005-quality-scan-hygiene-fixes.md +265 -0
- package/dev/fids/archive/FID-2026-0803-006-code-map-audit-hygiene.md +243 -0
- package/dev/fids/archive/FID-2026-0803-007-evals-benchmark-audit-hygiene.md +296 -0
- package/dev/fids/archive/FID-2026-0803-009-echo-enforcement-doc-drift.md +112 -0
- package/dev/fids/archive/FID-2026-0803-010-database-llm-providers-low-fixes.md +255 -0
- package/dev/fids/archive/FID-2026-0803-011-build-artifact-hygiene.md +169 -0
- package/dev/fids/archive/FID-2026-0803-012-release-readiness-audit.md +162 -0
- package/dev/fids/archive/FID-2026-0803-013-agent-roster-over-reporting.md +146 -0
- package/dev/fids/archive/FID-2026-0803-014-freebuff-to-savant-rebrand-sweep.md +185 -0
- package/dev/nova/reports/2026-08-02-top-25-ai-inference-providers-competitive-intel.md +213 -0
- package/dev/nova/specs/echo-v0.1.2-freebuff.md +391 -0
- package/dev/nova/specs/goal-loop-feature-spec.md +245 -0
- package/dev/nova/specs/launch-strategy-research-prompt.md +88 -0
- package/dev/releases/README.md +50 -0
- package/dev/scratchpad/.gitkeep +0 -0
- package/dev/session-summaries/.gitkeep +0 -0
- package/dev/session-summaries/2026-07-16-1255.md +128 -0
- package/dev/session-summaries/2026-07-17-1000.md +64 -0
- package/dev/session-summaries/2026-07-19-eslint-zero-tolerance-cleanup.md +145 -0
- package/dev/session-summaries/2026-07-19-fid-026-debugging-and-rename.md +79 -0
- package/dev/session-summaries/2026-07-19-fid-026-phase-b-rebrand.md +76 -0
- package/dev/session-summaries/2026-07-19-fid-027-clean-break.md +47 -0
- package/dev/session-summaries/2026-07-19-pre-push-house-cleaning.md +100 -0
- package/dev/session-summaries/2026-07-19-v0.0.2-release-session.md +229 -0
- package/dev/session-summaries/2026-07-20-1805-fid-loop-closure.md +95 -0
- package/dev/session-summaries/2026-07-22-1800.md +52 -0
- package/dev/session-summaries/2026-07-23-fsm-optimization.md +88 -0
- package/dev/session-summaries/2026-07-25-0000.md +80 -0
- package/dev/session-summaries/2026-07-25-1200-context-compaction.md +154 -0
- package/dev/session-summaries/2026-07-25-1600-layer4-reactive-compact.md +96 -0
- package/dev/session-summaries/2026-07-25-1700-dev-folder-audit.md +161 -0
- package/dev/session-summaries/2026-07-25-2000-benchmark-v2-filters.md +147 -0
- package/dev/session-summaries/2026-07-25-2000.md +77 -0
- package/dev/session-summaries/2026-07-27-0000.md +63 -0
- package/dev/session-summaries/2026-07-28-history-capture-handoff.md +206 -0
- package/dev/session-summaries/2026-07-31-freebuff-echo-compliance-remediation.md +156 -0
- package/dev/session-summaries/2026-07-31-pre-launch-optimization-execution.md +46 -0
- package/dev/session-summaries/2026-0721-1800.md +44 -0
- package/dev/session-summaries/2026-08-01-sidebar-folded-startup.md +159 -0
- package/dev/session-summaries/2026-08-02-0.0.15-release-closeout.md +32 -0
- package/dev/session-summaries/2026-08-02-repository-hygiene.md +51 -0
- package/dev/session-summaries/2026-08-03-agent-roster-fix-and-ready-check-closeout.md +73 -0
- package/dev/session-summaries/2026-08-03-build-artifact-hygiene-closeout.md +40 -0
- package/dev/session-summaries/2026-08-03-code-map-audit-closeout.md +44 -0
- package/dev/session-summaries/2026-08-03-database-llm-providers-low-fixes-closeout.md +47 -0
- package/dev/session-summaries/2026-08-03-echo-enforcement-doc-drift-closeout.md +43 -0
- package/dev/session-summaries/2026-08-03-evals-benchmark-audit-closeout.md +50 -0
- package/dev/session-summaries/2026-08-03-quality-scan-hygiene-fixes-closeout.md +57 -0
- package/dev/session-summaries/2026-08-03-quality-session-checkpoint-rewind-closeout.md +56 -0
- package/dev/session-summaries/2026-08-03-release-readiness-audit-closeout.md +60 -0
- package/dev/test-prompts/archive/0.0.2-final-pass.md +209 -0
- package/dev/test-prompts/archive/agent-capabilities-full-test.md +361 -0
- package/dev/test-prompts/archive/agent-capabilities-test.md +471 -0
- package/dev/test-prompts/archive/comprehensive-az-system-test-v1.md +441 -0
- package/dev/test-prompts/archive/comprehensive-az-system-test-v2-report.md +377 -0
- package/dev/test-prompts/archive/comprehensive-az-system-test-v2.md +544 -0
- package/dev/test-prompts/archive/comprehensive-az-system-test.md +396 -0
- package/dev/test-prompts/archive/comprehensive-az-test-final.md +900 -0
- package/dev/test-prompts/archive/comprehensive-az-test-v11.md +141 -0
- package/dev/test-prompts/archive/comprehensive-az-test-v12.md +29 -0
- package/dev/test-prompts/archive/comprehensive-az-test-v6.md +631 -0
- package/dev/test-prompts/archive/comprehensive-az-test-v7.md +625 -0
- package/dev/test-prompts/archive/fid-007-ability-confirmation.md +248 -0
- package/dev/test-prompts/archive/fid-2026-0801-006-thinker-tool-call-boundary.md +86 -0
- package/dev/test-prompts/archive/fid-2026-0801-007-child-tool-set-fallback-cli.md +101 -0
- package/dev/test-prompts/archive/fid-2026-0801-008-provider-tool-call-accumulation-cli.md +111 -0
- package/dev/test-prompts/archive/fid-2026-0801-012-thinker-state-output-cli.md +134 -0
- package/dev/test-prompts/archive/gemini-deep-research-sidebar-highlight.md +598 -0
- package/dev/test-prompts/archive/goal-loop-cli-test.md +142 -0
- package/dev/test-prompts/archive/rebrand-qa.md +258 -0
- package/dev/test-prompts/archive/release-az-test-fid-085.md +306 -0
- package/dev/test-prompts/archive/release-az-test-fid-087.md +219 -0
- package/dev/test-prompts/archive/release-az-test-fid-2026-0726-001.md +270 -0
- package/dev/test-prompts/archive/release-az-test-fid-2026-0728-008.md +213 -0
- package/dev/test-prompts/archive/release-az-test-fid-2026-0728-launch-tracks.md +253 -0
- package/dev/test-prompts/archive/release-az-test-fid-2026-0731-pre-launch.md +102 -0
- package/docs/AI Coding Agents Market Research.md +516 -0
- package/docs/Agent Harness Feature Pairing Research.md +166 -0
- package/docs/CLI Agent Inference Backend Research.md +446 -0
- package/docs/Codebuff Rebranding And Migration Plan.md +418 -0
- package/docs/ECHO-EVOLUTION-ARCH.md +77 -0
- package/docs/Harness Engineering for Coding Agents Research.md +196 -0
- package/docs/Launch Plan Review and Optimization.md +178 -0
- package/docs/OpenTUI Sidebar Bug Fix.md +245 -0
- package/docs/SAVANT-VERSIONING.md +31 -0
- package/docs/Savant Code Launch Strategy.md +270 -0
- package/docs/Savant-Code Business And Backend Research.md +222 -0
- package/docs/agents-and-tools.md +217 -0
- package/docs/cloudflare-llms-full.md +9623 -0
- package/docs/design/OpenTUI Terminal Visualization Guide.md +471 -0
- package/docs/design/database-architecture.md +217 -0
- package/docs/design/deep-research-report.md +295 -0
- package/docs/design/thinker-sequentialthinking-regression-diagnostic.md +366 -0
- package/docs/discord-server-design.md +167 -0
- package/docs/gravity-integration-starter.md +202 -0
- package/docs/launch/hn-first-comment.md +44 -0
- package/docs/launch/hn-post.md +35 -0
- package/docs/launch/incident-response.md +88 -0
- package/docs/launch/landing/index.html +233 -0
- package/docs/launch/mastodon-thread.md +52 -0
- package/docs/launch/newsletter-pitch.md +49 -0
- package/docs/launch/twitter-thread.md +62 -0
- package/docs/privacy.md +186 -0
- package/docs/reports/Savant-Code Benchmark Specification.md +206 -0
- package/docs/reports/Thinker Agent Architecture Research.md +284 -0
- package/docs/reports/adoptable-features-2026-07-25.md +604 -0
- package/docs/reports/adoptable-features-master.md +480 -0
- package/docs/reports/codebuff-discord-feedback.md +43 -0
- package/docs/reports/feature-parity-report.md +810 -0
- package/docs/reports/repos/AionUi.md +75 -0
- package/docs/reports/repos/OpenHands.md +76 -0
- package/docs/reports/repos/SWE-agent.md +82 -0
- package/docs/reports/repos/agno.md +89 -0
- package/docs/reports/repos/aider.md +74 -0
- package/docs/reports/repos/cline.md +83 -0
- package/docs/reports/repos/codex.md +83 -0
- package/docs/reports/repos/gemini-cli.md +92 -0
- package/docs/reports/repos/goose.md +65 -0
- package/docs/reports/repos/gpt-pilot.md +52 -0
- package/docs/reports/repos/hermes-agent.md +101 -0
- package/docs/reports/repos/kilocode.md +79 -0
- package/docs/reports/repos/openclaude.md +99 -0
- package/docs/reports/repos/openclaw.md +100 -0
- package/docs/reports/repos/opencode-dev.md +78 -0
- package/docs/reports/repos/zero.md +123 -0
- package/docs/reports/savant-code-benchmark-v2-2026-08-03.md +76 -0
- package/docs/savant-code-modes.md +338 -0
- package/docs/testing.md +51 -0
- package/docs/visual-mockup-neon-slate.txt +41 -0
- package/eslint.config.js +211 -0
- package/evals/README.md +45 -0
- package/evals/benchmark/README.md +449 -0
- package/evals/benchmark/agent-runner.ts +217 -0
- package/evals/benchmark/analyze-task-scores.ts +496 -0
- package/evals/benchmark/eval-codebuff-hard.json +3343 -0
- package/evals/benchmark/eval-codebuff.json +3193 -0
- package/evals/benchmark/eval-codebuff2.json +2494 -0
- package/evals/benchmark/eval-manifold-hard.json +2525 -0
- package/evals/benchmark/eval-manifold.json +1675 -0
- package/evals/benchmark/eval-manifold2.json +1945 -0
- package/evals/benchmark/eval-plane-hard.json +4372 -0
- package/evals/benchmark/eval-plane.json +2028 -0
- package/evals/benchmark/eval-plane2.json +3517 -0
- package/evals/benchmark/eval-saleor-hard.json +6081 -0
- package/evals/benchmark/eval-saleor.json +1829 -0
- package/evals/benchmark/eval-saleor2.json +3273 -0
- package/evals/benchmark/eval-task-generator.ts +158 -0
- package/evals/benchmark/filter-supplemental-files.ts +225 -0
- package/evals/benchmark/format-output.ts +215 -0
- package/evals/benchmark/gen-evals.ts +294 -0
- package/evals/benchmark/gen-repo-eval.ts +71 -0
- package/evals/benchmark/judge.ts +308 -0
- package/evals/benchmark/lessons-extractor.ts +247 -0
- package/evals/benchmark/main-hard-tasks.ts +49 -0
- package/evals/benchmark/main-single-eval.ts +23 -0
- package/evals/benchmark/main.ts +29 -0
- package/evals/benchmark/meta-analyzer.ts +329 -0
- package/evals/benchmark/pick-commits.ts +627 -0
- package/evals/benchmark/run-benchmark.ts +657 -0
- package/evals/benchmark/runners/claude.ts +176 -0
- package/evals/benchmark/runners/codex.ts +143 -0
- package/evals/benchmark/runners/index.ts +4 -0
- package/evals/benchmark/runners/opencode.ts +253 -0
- package/evals/benchmark/runners/runner.ts +13 -0
- package/evals/benchmark/runners/savant.ts +148 -0
- package/evals/benchmark/setup-test-repo.ts +314 -0
- package/evals/benchmark/trace-analyzer.ts +257 -0
- package/evals/benchmark/trace-utils.ts +80 -0
- package/evals/benchmark/types.ts +83 -0
- package/evals/bunfig.toml +4 -0
- package/evals/logger.ts +87 -0
- package/evals/package.json +31 -0
- package/evals/subagents/test-repo-utils.ts +131 -0
- package/evals/tsconfig.json +13 -0
- package/evals/v2/README.md +149 -0
- package/evals/v2/reports/report.json +261 -0
- package/evals/v2/reports/report.md +15 -0
- package/evals/v2/schema/task.schema.json +172 -0
- package/evals/v2/src/cli.ts +216 -0
- package/evals/v2/src/golden.ts +73 -0
- package/evals/v2/src/harness.ts +293 -0
- package/evals/v2/src/metrics.ts +326 -0
- package/evals/v2/src/registry.ts +179 -0
- package/evals/v2/src/reports.ts +126 -0
- package/evals/v2/src/runner.ts +143 -0
- package/evals/v2/src/runners/savant.ts +105 -0
- package/evals/v2/src/sandbox.ts +42 -0
- package/evals/v2/src/sandboxes/docker.ts +49 -0
- package/evals/v2/src/sandboxes/tempdir.ts +120 -0
- package/evals/v2/src/schema.ts +83 -0
- package/evals/v2/src/trace.ts +186 -0
- package/evals/v2/src/verify.ts +199 -0
- package/evals/v2/tasks/error_recovery/env-fault/calculator.js +11 -0
- package/evals/v2/tasks/error_recovery/env-fault/calculator.test.js +15 -0
- package/evals/v2/tasks/error_recovery/env-fault/golden.patch +15 -0
- package/evals/v2/tasks/error_recovery/env-fault/task.yaml +20 -0
- package/evals/v2/tasks/multi_agent_orchestration/options-contract/app.js +5 -0
- package/evals/v2/tasks/multi_agent_orchestration/options-contract/app.test.js +7 -0
- package/evals/v2/tasks/multi_agent_orchestration/options-contract/golden.patch +19 -0
- package/evals/v2/tasks/multi_agent_orchestration/options-contract/greet.js +3 -0
- package/evals/v2/tasks/multi_agent_orchestration/options-contract/orchestration.test.js +30 -0
- package/evals/v2/tasks/multi_agent_orchestration/options-contract/task.yaml +29 -0
- package/evals/v2/tasks/pure_coding/add-fix/add.js +3 -0
- package/evals/v2/tasks/pure_coding/add-fix/add.test.js +11 -0
- package/evals/v2/tasks/pure_coding/add-fix/golden.patch +7 -0
- package/evals/v2/tasks/pure_coding/add-fix/task.yaml +20 -0
- package/evals/v2/tasks/pure_coding/rename-greet/app.js +5 -0
- package/evals/v2/tasks/pure_coding/rename-greet/app.test.js +32 -0
- package/evals/v2/tasks/pure_coding/rename-greet/golden.patch +19 -0
- package/evals/v2/tasks/pure_coding/rename-greet/greet.js +5 -0
- package/evals/v2/tasks/pure_coding/rename-greet/task.yaml +21 -0
- package/evals/v2/tests/golden.test.ts +104 -0
- package/evals/v2/tests/harness.test.ts +204 -0
- package/evals/v2/tests/metrics.test.ts +353 -0
- package/evals/v2/tests/registry.test.ts +210 -0
- package/evals/v2/tests/reports.test.ts +218 -0
- package/evals/v2/tests/savant-runner.test.ts +218 -0
- package/evals/v2/tests/schema.test.ts +127 -0
- package/evals/v2/tests/tempdir-sandbox.test.ts +49 -0
- package/evals/v2/tests/trace.test.ts +76 -0
- package/evals/v2/tests/verify.test.ts +224 -0
- package/license +202 -0
- package/package.json +71 -44
- package/packages/agent-runtime/README.md +46 -0
- package/packages/agent-runtime/agent_exit +1 -0
- package/packages/agent-runtime/bunfig.toml +2 -0
- package/packages/agent-runtime/package.json +34 -0
- package/packages/agent-runtime/src/__tests__/apply-patch-tool.test.ts +202 -0
- package/packages/agent-runtime/src/__tests__/cost-aggregation.test.ts +397 -0
- package/packages/agent-runtime/src/__tests__/generate-diffs-prompt.test.ts +107 -0
- package/packages/agent-runtime/src/__tests__/get-file-reading-updates.test.ts +59 -0
- package/packages/agent-runtime/src/__tests__/gravity-index-tool.test.ts +501 -0
- package/packages/agent-runtime/src/__tests__/loop-agent-steps.test.ts +1512 -0
- package/packages/agent-runtime/src/__tests__/main-prompt.test.ts +452 -0
- package/packages/agent-runtime/src/__tests__/n-parameter.test.ts +984 -0
- package/packages/agent-runtime/src/__tests__/process-file-block.test.ts +196 -0
- package/packages/agent-runtime/src/__tests__/process-str-replace.test.ts +512 -0
- package/packages/agent-runtime/src/__tests__/programmatic-tool-authorization.test.ts +219 -0
- package/packages/agent-runtime/src/__tests__/prompt-caching-subagents.test.ts +749 -0
- package/packages/agent-runtime/src/__tests__/prompts-schema-handling.test.ts +454 -0
- package/packages/agent-runtime/src/__tests__/propose-tools.test.ts +824 -0
- package/packages/agent-runtime/src/__tests__/read-docs-tool.test.ts +394 -0
- package/packages/agent-runtime/src/__tests__/run-agent-step-prefill.test.ts +161 -0
- package/packages/agent-runtime/src/__tests__/run-agent-step-tools.test.ts +612 -0
- package/packages/agent-runtime/src/__tests__/run-programmatic-step.test.ts +1743 -0
- package/packages/agent-runtime/src/__tests__/sandbox-generator.test.ts +154 -0
- package/packages/agent-runtime/src/__tests__/spawn-agents-image-content.test.ts +354 -0
- package/packages/agent-runtime/src/__tests__/spawn-agents-message-history.test.ts +280 -0
- package/packages/agent-runtime/src/__tests__/spawn-agents-permissions.test.ts +664 -0
- package/packages/agent-runtime/src/__tests__/stream-parser-abort.test.ts +250 -0
- package/packages/agent-runtime/src/__tests__/stream-parser-reasoning.test.ts +194 -0
- package/packages/agent-runtime/src/__tests__/subagent-streaming.test.ts +230 -0
- package/packages/agent-runtime/src/__tests__/test-utils.ts +96 -0
- package/packages/agent-runtime/src/__tests__/thinker-convergence-gate.test.ts +242 -0
- package/packages/agent-runtime/src/__tests__/to-token-count-input-schema.test.ts +81 -0
- package/packages/agent-runtime/src/__tests__/tool-executor-sandbox.test.ts +167 -0
- package/packages/agent-runtime/src/__tests__/tool-stream-parser.test.ts +682 -0
- package/packages/agent-runtime/src/__tests__/tool-validation-error.test.ts +1380 -0
- package/packages/agent-runtime/src/__tests__/web-search-tool.test.ts +402 -0
- package/packages/agent-runtime/src/__tests__/xml-tool-result-ordering.test.ts +264 -0
- package/packages/agent-runtime/src/constants.ts +12 -0
- package/packages/agent-runtime/src/context-compactor.ts +425 -0
- package/packages/agent-runtime/src/find-files/__tests__/request-files-prompt.test.ts +190 -0
- package/packages/agent-runtime/src/find-files/custom-file-picker-config.ts +61 -0
- package/packages/agent-runtime/src/find-files/request-files-prompt.ts +462 -0
- package/packages/agent-runtime/src/generate-diffs-prompt.ts +38 -0
- package/packages/agent-runtime/src/get-file-reading-updates.ts +27 -0
- package/packages/agent-runtime/src/llm-api/__tests__/gemini-with-fallbacks.test.ts +267 -0
- package/packages/agent-runtime/src/llm-api/__tests__/serper-api.test.ts +297 -0
- package/packages/agent-runtime/src/llm-api/claude.ts +7 -0
- package/packages/agent-runtime/src/llm-api/context7-api.ts +290 -0
- package/packages/agent-runtime/src/llm-api/gemini-with-fallbacks.ts +104 -0
- package/packages/agent-runtime/src/llm-api/savant-code-web-api.ts +370 -0
- package/packages/agent-runtime/src/llm-api/serper-api.ts +193 -0
- package/packages/agent-runtime/src/main-prompt.ts +251 -0
- package/packages/agent-runtime/src/mcp-constants.ts +12 -0
- package/packages/agent-runtime/src/mcp.ts +83 -0
- package/packages/agent-runtime/src/process-file-block.ts +118 -0
- package/packages/agent-runtime/src/process-str-replace.ts +213 -0
- package/packages/agent-runtime/src/prompt-agent-stream.ts +119 -0
- package/packages/agent-runtime/src/run-agent-step.ts +1632 -0
- package/packages/agent-runtime/src/run-programmatic-step.ts +633 -0
- package/packages/agent-runtime/src/system-prompt/prompts.ts +215 -0
- package/packages/agent-runtime/src/system-prompt/search-system-prompt.ts +89 -0
- package/packages/agent-runtime/src/system-prompt/truncate-file-tree.ts +414 -0
- package/packages/agent-runtime/src/templates/README.md +160 -0
- package/packages/agent-runtime/src/templates/__tests__/agent-registry.test.ts +489 -0
- package/packages/agent-runtime/src/templates/__tests__/strings.test.ts +465 -0
- package/packages/agent-runtime/src/templates/agent-registry.ts +122 -0
- package/packages/agent-runtime/src/templates/prompts.ts +189 -0
- package/packages/agent-runtime/src/templates/strings.ts +292 -0
- package/packages/agent-runtime/src/templates/types.ts +61 -0
- package/packages/agent-runtime/src/tool-stream-parser.ts +260 -0
- package/packages/agent-runtime/src/tools/filter-tool-set.ts +18 -0
- package/packages/agent-runtime/src/tools/handlers/__tests__/glob.test.ts +331 -0
- package/packages/agent-runtime/src/tools/handlers/__tests__/read-subtree.test.ts +346 -0
- package/packages/agent-runtime/src/tools/handlers/__tests__/run-readonly-command.test.ts +284 -0
- package/packages/agent-runtime/src/tools/handlers/handler-function-type.ts +77 -0
- package/packages/agent-runtime/src/tools/handlers/list.ts +105 -0
- package/packages/agent-runtime/src/tools/handlers/tool/__tests__/checkpoint-store.test.ts +394 -0
- package/packages/agent-runtime/src/tools/handlers/tool/__tests__/skill.test.ts +98 -0
- package/packages/agent-runtime/src/tools/handlers/tool/__tests__/write-file.test.ts +24 -0
- package/packages/agent-runtime/src/tools/handlers/tool/add-message.ts +37 -0
- package/packages/agent-runtime/src/tools/handlers/tool/add-subgoal.ts +30 -0
- package/packages/agent-runtime/src/tools/handlers/tool/apply-patch.ts +120 -0
- package/packages/agent-runtime/src/tools/handlers/tool/ask-user.ts +25 -0
- package/packages/agent-runtime/src/tools/handlers/tool/browser-logs.ts +21 -0
- package/packages/agent-runtime/src/tools/handlers/tool/checkpoint-store.ts +378 -0
- package/packages/agent-runtime/src/tools/handlers/tool/code-search.ts +21 -0
- package/packages/agent-runtime/src/tools/handlers/tool/composio.ts +52 -0
- package/packages/agent-runtime/src/tools/handlers/tool/create-plan.ts +63 -0
- package/packages/agent-runtime/src/tools/handlers/tool/end-turn.ts +15 -0
- package/packages/agent-runtime/src/tools/handlers/tool/find-files.ts +161 -0
- package/packages/agent-runtime/src/tools/handlers/tool/glob.ts +22 -0
- package/packages/agent-runtime/src/tools/handlers/tool/gravity-index.ts +230 -0
- package/packages/agent-runtime/src/tools/handlers/tool/list-directory.ts +22 -0
- package/packages/agent-runtime/src/tools/handlers/tool/lookup-agent-info.ts +105 -0
- package/packages/agent-runtime/src/tools/handlers/tool/propose-str-replace.ts +111 -0
- package/packages/agent-runtime/src/tools/handlers/tool/propose-write-file.ts +89 -0
- package/packages/agent-runtime/src/tools/handlers/tool/proposed-content-store.ts +64 -0
- package/packages/agent-runtime/src/tools/handlers/tool/read-docs.ts +160 -0
- package/packages/agent-runtime/src/tools/handlers/tool/read-files.ts +43 -0
- package/packages/agent-runtime/src/tools/handlers/tool/read-subtree.ts +198 -0
- package/packages/agent-runtime/src/tools/handlers/tool/read-url.ts +21 -0
- package/packages/agent-runtime/src/tools/handlers/tool/render-ui.ts +15 -0
- package/packages/agent-runtime/src/tools/handlers/tool/run-file-change-hooks.ts +20 -0
- package/packages/agent-runtime/src/tools/handlers/tool/run-readonly-command.ts +215 -0
- package/packages/agent-runtime/src/tools/handlers/tool/run-terminal-command.ts +33 -0
- package/packages/agent-runtime/src/tools/handlers/tool/sequential-thinking.ts +53 -0
- package/packages/agent-runtime/src/tools/handlers/tool/set-messages.ts +19 -0
- package/packages/agent-runtime/src/tools/handlers/tool/set-output.ts +104 -0
- package/packages/agent-runtime/src/tools/handlers/tool/set-scaffold-complete.ts +32 -0
- package/packages/agent-runtime/src/tools/handlers/tool/skill.ts +146 -0
- package/packages/agent-runtime/src/tools/handlers/tool/spawn-agent-inline.ts +149 -0
- package/packages/agent-runtime/src/tools/handlers/tool/spawn-agent-utils.ts +436 -0
- package/packages/agent-runtime/src/tools/handlers/tool/spawn-agents.ts +286 -0
- package/packages/agent-runtime/src/tools/handlers/tool/str-replace.ts +135 -0
- package/packages/agent-runtime/src/tools/handlers/tool/suggest-followups.ts +20 -0
- package/packages/agent-runtime/src/tools/handlers/tool/task-completed.ts +15 -0
- package/packages/agent-runtime/src/tools/handlers/tool/think-deeply.ts +25 -0
- package/packages/agent-runtime/src/tools/handlers/tool/transition-phase.ts +160 -0
- package/packages/agent-runtime/src/tools/handlers/tool/update-subgoal.ts +48 -0
- package/packages/agent-runtime/src/tools/handlers/tool/web-search.ts +151 -0
- package/packages/agent-runtime/src/tools/handlers/tool/write-file.ts +281 -0
- package/packages/agent-runtime/src/tools/handlers/tool/write-todos.ts +19 -0
- package/packages/agent-runtime/src/tools/prompts.ts +233 -0
- package/packages/agent-runtime/src/tools/sandbox/__tests__/engine.test.ts +169 -0
- package/packages/agent-runtime/src/tools/sandbox/__tests__/shell-denylist.test.ts +104 -0
- package/packages/agent-runtime/src/tools/sandbox/engine.ts +109 -0
- package/packages/agent-runtime/src/tools/sandbox/index.ts +14 -0
- package/packages/agent-runtime/src/tools/sandbox/shell-denylist.ts +119 -0
- package/packages/agent-runtime/src/tools/stream-parser.ts +407 -0
- package/packages/agent-runtime/src/tools/thinker-convergence-gate.ts +162 -0
- package/packages/agent-runtime/src/tools/thought-session-store.ts +43 -0
- package/packages/agent-runtime/src/tools/tool-executor.ts +1098 -0
- package/packages/agent-runtime/src/util/__tests__/messages.test.ts +995 -0
- package/packages/agent-runtime/src/util/__tests__/parse-tool-calls-from-text.test.ts +363 -0
- package/packages/agent-runtime/src/util/__tests__/simplify-tool-results.test.ts +382 -0
- package/packages/agent-runtime/src/util/__tests__/stream-xml-parser.test.ts +285 -0
- package/packages/agent-runtime/src/util/__tests__/think-tags.test.ts +49 -0
- package/packages/agent-runtime/src/util/__tests__/token-counter.test.ts +121 -0
- package/packages/agent-runtime/src/util/activity-tracking.ts +252 -0
- package/packages/agent-runtime/src/util/agent-output.ts +102 -0
- package/packages/agent-runtime/src/util/cache-debug.ts +330 -0
- package/packages/agent-runtime/src/util/format-value.ts +16 -0
- package/packages/agent-runtime/src/util/messages.ts +461 -0
- package/packages/agent-runtime/src/util/parse-tool-calls-from-text.ts +122 -0
- package/packages/agent-runtime/src/util/render-read-files-result.ts +18 -0
- package/packages/agent-runtime/src/util/simplify-tool-results.ts +61 -0
- package/packages/agent-runtime/src/util/stream-xml-parser.ts +259 -0
- package/packages/agent-runtime/src/util/think-tags.ts +33 -0
- package/packages/agent-runtime/src/util/token-counter.ts +136 -0
- package/packages/agent-runtime/tsconfig.json +8 -0
- package/packages/code-map/README.md +43 -0
- package/packages/code-map/__tests__/integration.test.ts +278 -0
- package/packages/code-map/__tests__/languages.test.ts +240 -0
- package/packages/code-map/__tests__/parse.test.ts +640 -0
- package/packages/code-map/__tests__/test-langs/test.c +42 -0
- package/packages/code-map/__tests__/test-langs/test.cpp +34 -0
- package/packages/code-map/__tests__/test-langs/test.cs +34 -0
- package/packages/code-map/__tests__/test-langs/test.go +27 -0
- package/packages/code-map/__tests__/test-langs/test.java +31 -0
- package/packages/code-map/__tests__/test-langs/test.js +50 -0
- package/packages/code-map/__tests__/test-langs/test.php +34 -0
- package/packages/code-map/__tests__/test-langs/test.py +25 -0
- package/packages/code-map/__tests__/test-langs/test.rb +28 -0
- package/packages/code-map/__tests__/test-langs/test.rs +28 -0
- package/packages/code-map/__tests__/test-langs/test.ts +31 -0
- package/packages/code-map/package.json +33 -0
- package/packages/code-map/src/index.ts +4 -0
- package/packages/code-map/src/init-node.ts +185 -0
- package/packages/code-map/src/languages.ts +344 -0
- package/packages/code-map/src/parse.ts +410 -0
- package/packages/code-map/src/tree-sitter-queries/readme.md +24 -0
- package/packages/code-map/src/tree-sitter-queries/tree-sitter-c-tags.scm +16 -0
- package/packages/code-map/src/tree-sitter-queries/tree-sitter-c_sharp-tags.scm +23 -0
- package/packages/code-map/src/tree-sitter-queries/tree-sitter-cpp-tags.scm +29 -0
- package/packages/code-map/src/tree-sitter-queries/tree-sitter-go-tags.scm +26 -0
- package/packages/code-map/src/tree-sitter-queries/tree-sitter-java-tags.scm +19 -0
- package/packages/code-map/src/tree-sitter-queries/tree-sitter-javascript-tags.scm +16 -0
- package/packages/code-map/src/tree-sitter-queries/tree-sitter-php-tags.scm +23 -0
- package/packages/code-map/src/tree-sitter-queries/tree-sitter-python-tags.scm +12 -0
- package/packages/code-map/src/tree-sitter-queries/tree-sitter-ruby-tags.scm +58 -0
- package/packages/code-map/src/tree-sitter-queries/tree-sitter-rust-tags.scm +26 -0
- package/packages/code-map/src/tree-sitter-queries/tree-sitter-typescript-tags.scm +22 -0
- package/packages/code-map/src/types.ts +11 -0
- package/packages/code-map/src/utils.ts +12 -0
- package/packages/code-map/tsconfig.json +10 -0
- package/packages/database/README.md +43 -0
- package/packages/database/package.json +28 -0
- package/packages/database/src/__tests__/service.test.ts +167 -0
- package/packages/database/src/index.ts +146 -0
- package/packages/database/src/service.ts +342 -0
- package/packages/database/tsconfig.json +9 -0
- package/packages/llm-providers/README.md +42 -0
- package/packages/llm-providers/package.json +42 -0
- package/packages/llm-providers/src/ollama/__tests__/detect.test.ts +59 -0
- package/packages/llm-providers/src/ollama/detect.ts +113 -0
- package/packages/llm-providers/src/ollama/index.ts +2 -0
- package/packages/llm-providers/src/openai-compatible/chat/convert-to-openai-compatible-chat-messages.test.ts +855 -0
- package/packages/llm-providers/src/openai-compatible/chat/convert-to-openai-compatible-chat-messages.ts +177 -0
- package/packages/llm-providers/src/openai-compatible/chat/get-response-metadata.ts +15 -0
- package/packages/llm-providers/src/openai-compatible/chat/map-openai-compatible-finish-reason.ts +19 -0
- package/packages/llm-providers/src/openai-compatible/chat/openai-compatible-api-types.ts +60 -0
- package/packages/llm-providers/src/openai-compatible/chat/openai-compatible-chat-language-model.test.ts +549 -0
- package/packages/llm-providers/src/openai-compatible/chat/openai-compatible-chat-language-model.ts +474 -0
- package/packages/llm-providers/src/openai-compatible/chat/openai-compatible-chat-options.ts +25 -0
- package/packages/llm-providers/src/openai-compatible/chat/openai-compatible-metadata-extractor.ts +49 -0
- package/packages/llm-providers/src/openai-compatible/chat/openai-compatible-prepare-tools.ts +162 -0
- package/packages/llm-providers/src/openai-compatible/chat/stream-transform.test.ts +106 -0
- package/packages/llm-providers/src/openai-compatible/chat/stream-transform.ts +585 -0
- package/packages/llm-providers/src/openai-compatible/completion/convert-to-openai-compatible-completion-prompt.ts +98 -0
- package/packages/llm-providers/src/openai-compatible/completion/openai-compatible-completion-language-model.test.ts +173 -0
- package/packages/llm-providers/src/openai-compatible/completion/openai-compatible-completion-language-model.ts +414 -0
- package/packages/llm-providers/src/openai-compatible/completion/openai-compatible-completion-options.ts +33 -0
- package/packages/llm-providers/src/openai-compatible/embedding/openai-compatible-embedding-model.ts +143 -0
- package/packages/llm-providers/src/openai-compatible/embedding/openai-compatible-embedding-options.ts +21 -0
- package/packages/llm-providers/src/openai-compatible/image/openai-compatible-image-model.ts +129 -0
- package/packages/llm-providers/src/openai-compatible/image/openai-compatible-image-settings.ts +1 -0
- package/packages/llm-providers/src/openai-compatible/index.ts +27 -0
- package/packages/llm-providers/src/openai-compatible/openai-compatible-error.ts +34 -0
- package/packages/llm-providers/src/openai-compatible/openai-compatible-provider.ts +174 -0
- package/packages/llm-providers/src/openai-compatible/version.ts +5 -0
- package/packages/llm-providers/tsconfig.json +9 -0
- package/protocol.config.yaml +113 -0
- package/savant-free/README.md +73 -0
- package/savant-free/SPEC.md +385 -0
- package/savant-free/cli/build.ts +49 -0
- package/savant-free/cli/release/README.md +55 -0
- package/savant-free/cli/release/index.js +37 -0
- package/savant-free/cli/release/package.json +43 -0
- package/savant-free/cli/release.ts +128 -0
- package/savant-free/cli/smoke-test.test.ts +257 -0
- package/savant-free/e2e/README.md +173 -0
- package/savant-free/e2e/agent/savant-free-tester.ts +52 -0
- package/savant-free/e2e/tests/ads-behavior.e2e.test.ts +51 -0
- package/savant-free/e2e/tests/agent-startup.e2e.test.ts +61 -0
- package/savant-free/e2e/tests/code-edit.e2e.test.ts +78 -0
- package/savant-free/e2e/tests/help-command.e2e.test.ts +97 -0
- package/savant-free/e2e/tests/knowledge-file.e2e.test.ts +66 -0
- package/savant-free/e2e/tests/slash-commands.e2e.test.ts +119 -0
- package/savant-free/e2e/tests/startup.e2e.test.ts +56 -0
- package/savant-free/e2e/tests/terminal-command.e2e.test.ts +71 -0
- package/savant-free/e2e/tests/version.e2e.test.ts +50 -0
- package/savant-free/e2e/utils/binary-helpers.ts +24 -0
- package/savant-free/e2e/utils/index.ts +17 -0
- package/savant-free/e2e/utils/savant-free-session.ts +229 -0
- package/savant-free/e2e/utils/tmux-custom-tools.ts +156 -0
- package/savant-free/e2e/utils/tmux-helpers.ts +79 -0
- package/savant-free/package.json +20 -0
- package/scripts/eslint-rules/__fixtures__/debug-ast.mjs +20 -0
- package/scripts/eslint-rules/__fixtures__/probe.mjs +41 -0
- package/scripts/eslint-rules/__fixtures__/probe2.mjs +43 -0
- package/scripts/eslint-rules/__fixtures__/rule-test.mjs +44 -0
- package/scripts/eslint-rules/__fixtures__/rule-test2.mjs +27 -0
- package/scripts/eslint-rules/__fixtures__/unknown-bad.ts +21 -0
- package/scripts/eslint-rules/__fixtures__/unknown-good.ts +35 -0
- package/scripts/eslint-rules/no-unknown-in-signatures.js +141 -0
- package/scripts/release.py +360 -0
- package/scripts/run-az-test.sh +1150 -0
- package/scripts/sync-agents.py +337 -0
- package/scripts/tmux/README.md +359 -0
- package/scripts/tmux/package.json +9 -0
- package/scripts/tmux/tmux-capture.sh +231 -0
- package/scripts/tmux/tmux-cli.sh +160 -0
- package/scripts/tmux/tmux-env.sh +34 -0
- package/scripts/tmux/tmux-send.sh +339 -0
- package/scripts/tmux/tmux-start.sh +264 -0
- package/scripts/tmux/tmux-stop.sh +157 -0
- package/scripts/tmux/tmux-viewer/README.md +254 -0
- package/scripts/tmux/tmux-viewer/components/session-viewer.tsx +556 -0
- package/scripts/tmux/tmux-viewer/components/theme.ts +54 -0
- package/scripts/tmux/tmux-viewer/gif-encoder-2.d.ts +28 -0
- package/scripts/tmux/tmux-viewer/gif-exporter.ts +278 -0
- package/scripts/tmux/tmux-viewer/index.tsx +237 -0
- package/scripts/tmux/tmux-viewer/package.json +9 -0
- package/scripts/tmux/tmux-viewer/session-loader.ts +234 -0
- package/scripts/tmux/tmux-viewer/tsconfig.json +9 -0
- package/scripts/tmux/tmux-viewer/types.ts +76 -0
- package/sdk/CHANGELOG.md +126 -0
- package/sdk/PUBLISHING.md +55 -0
- package/sdk/README.md +334 -0
- package/sdk/bunfig.toml +6 -0
- package/sdk/e2e/README.md +158 -0
- package/sdk/e2e/custom-agents/api-integration-agent.e2e.test.ts +145 -0
- package/sdk/e2e/custom-agents/apply-patch-tool.e2e.test.ts +62 -0
- package/sdk/e2e/custom-agents/database-query-agent.e2e.test.ts +135 -0
- package/sdk/e2e/custom-agents/weather-agent.e2e.test.ts +120 -0
- package/sdk/e2e/examples/code-explainer.example.ts +62 -0
- package/sdk/e2e/examples/code-reviewer.example.ts +52 -0
- package/sdk/e2e/examples/commit-message-generator.example.ts +61 -0
- package/sdk/e2e/examples/sdk-lint.example.ts +65 -0
- package/sdk/e2e/examples/sdk-refactor.example.ts +63 -0
- package/sdk/e2e/examples/sdk-test-gen.example.ts +62 -0
- package/sdk/e2e/features/knowledge-files.e2e.test.ts +82 -0
- package/sdk/e2e/features/max-agent-steps.e2e.test.ts +65 -0
- package/sdk/e2e/features/project-files.e2e.test.ts +80 -0
- package/sdk/e2e/integration/connection-check.integration.test.ts +33 -0
- package/sdk/e2e/integration/event-ordering.integration.test.ts +186 -0
- package/sdk/e2e/integration/event-types.integration.test.ts +183 -0
- package/sdk/e2e/integration/stream-chunks.integration.test.ts +191 -0
- package/sdk/e2e/streaming/concurrent-streams.e2e.test.ts +164 -0
- package/sdk/e2e/streaming/subagent-streaming.e2e.test.ts +158 -0
- package/sdk/e2e/utils/__tests__/event-collector.test.ts +297 -0
- package/sdk/e2e/utils/e2e-mocks.ts +458 -0
- package/sdk/e2e/utils/event-collector.ts +145 -0
- package/sdk/e2e/utils/get-api-key.ts +76 -0
- package/sdk/e2e/utils/index.ts +3 -0
- package/sdk/e2e/utils/test-fixtures.ts +196 -0
- package/sdk/e2e/workflows/error-recovery.e2e.test.ts +112 -0
- package/sdk/e2e/workflows/multi-turn-conversation.e2e.test.ts +132 -0
- package/sdk/examples/readme-example-1.ts +34 -0
- package/sdk/examples/readme-example-2.ts +76 -0
- package/sdk/package.json +82 -0
- package/sdk/scripts/build.ts +349 -0
- package/sdk/scripts/fetch-ripgrep.ts +172 -0
- package/sdk/scripts/publish.ts +51 -0
- package/sdk/scripts/release.js +100 -0
- package/sdk/scripts/verify.ts +204 -0
- package/sdk/sdk_exit +1 -0
- package/sdk/smoke-test-dist.ts +248 -0
- package/sdk/src/__tests__/apply-overrides-resume.test.ts +83 -0
- package/sdk/src/__tests__/apply-patch.test.ts +438 -0
- package/sdk/src/__tests__/build-file-tree.test.ts +31 -0
- package/sdk/src/__tests__/change-file.test.ts +212 -0
- package/sdk/src/__tests__/client.test.ts +142 -0
- package/sdk/src/__tests__/clone-session-state.test.ts +158 -0
- package/sdk/src/__tests__/code-search.test.ts +896 -0
- package/sdk/src/__tests__/composio.test.ts +86 -0
- package/sdk/src/__tests__/credentials.test.ts +344 -0
- package/sdk/src/__tests__/database.test.ts +153 -0
- package/sdk/src/__tests__/env.test.ts +137 -0
- package/sdk/src/__tests__/error-utils.test.ts +253 -0
- package/sdk/src/__tests__/fixtures/windows-stubborn-grandchild.ts +26 -0
- package/sdk/src/__tests__/initial-session-state.test.ts +447 -0
- package/sdk/src/__tests__/knowledge-file-selection.test.ts +335 -0
- package/sdk/src/__tests__/load-agents.test.ts +935 -0
- package/sdk/src/__tests__/load-mcp-config.test.ts +285 -0
- package/sdk/src/__tests__/load-skills.test.ts +325 -0
- package/sdk/src/__tests__/model-provider.test.ts +44 -0
- package/sdk/src/__tests__/path-utils.test.ts +66 -0
- package/sdk/src/__tests__/read-files.test.ts +573 -0
- package/sdk/src/__tests__/read-url.test.ts +371 -0
- package/sdk/src/__tests__/researcher-web.integration.test.ts +130 -0
- package/sdk/src/__tests__/run-cancellation.test.ts +1321 -0
- package/sdk/src/__tests__/run-error-preserves-history.test.ts +335 -0
- package/sdk/src/__tests__/run-event-dispatch.test.ts +80 -0
- package/sdk/src/__tests__/run-file-filter.test.ts +530 -0
- package/sdk/src/__tests__/run-handle-event.test.ts +142 -0
- package/sdk/src/__tests__/run-mcp-tool-filter.test.ts +124 -0
- package/sdk/src/__tests__/run-state-child-process.test.ts +72 -0
- package/sdk/src/__tests__/run-terminal-command.test.ts +236 -0
- package/sdk/src/__tests__/run.integration.test.ts +170 -0
- package/sdk/src/__tests__/user-knowledge-files.test.ts +361 -0
- package/sdk/src/__tests__/validate-agents.test.ts +943 -0
- package/sdk/src/agents/load-agents.ts +339 -0
- package/sdk/src/agents/load-mcp-config.ts +275 -0
- package/sdk/src/client.ts +87 -0
- package/sdk/src/composio.ts +78 -0
- package/sdk/src/constants.ts +29 -0
- package/sdk/src/credentials.ts +303 -0
- package/sdk/src/custom-tool.ts +66 -0
- package/sdk/src/env.ts +116 -0
- package/sdk/src/error-utils.ts +127 -0
- package/sdk/src/impl/__tests__/llm-chatgpt-oauth-policy.test.ts +67 -0
- package/sdk/src/impl/__tests__/llm-native-tool-call.test.ts +38 -0
- package/sdk/src/impl/__tests__/llm-stream-yielded-content.test.ts +118 -0
- package/sdk/src/impl/__tests__/model-provider-free-mode.test.ts +166 -0
- package/sdk/src/impl/__tests__/prompt-result.test.ts +210 -0
- package/sdk/src/impl/__tests__/provider-options-metadata.test.ts +67 -0
- package/sdk/src/impl/agent-runtime.ts +159 -0
- package/sdk/src/impl/chatgpt-backend-fetch.ts +588 -0
- package/sdk/src/impl/database.ts +516 -0
- package/sdk/src/impl/llm.ts +852 -0
- package/sdk/src/impl/model-provider.ts +638 -0
- package/sdk/src/impl/openrouter-key-resolver.ts +78 -0
- package/sdk/src/index.ts +133 -0
- package/sdk/src/native/ripgrep.ts +141 -0
- package/sdk/src/retry-config.ts +51 -0
- package/sdk/src/run-state.ts +897 -0
- package/sdk/src/run.ts +1222 -0
- package/sdk/src/skills/load-skills.ts +253 -0
- package/sdk/src/testing/env.ts +19 -0
- package/sdk/src/tools/apply-patch.ts +690 -0
- package/sdk/src/tools/change-file.ts +155 -0
- package/sdk/src/tools/code-search.ts +547 -0
- package/sdk/src/tools/glob.ts +58 -0
- package/sdk/src/tools/index.ts +19 -0
- package/sdk/src/tools/list-directory.ts +52 -0
- package/sdk/src/tools/path-utils.ts +101 -0
- package/sdk/src/tools/read-files.ts +110 -0
- package/sdk/src/tools/read-url.ts +469 -0
- package/sdk/src/tools/run-file-change-hooks.ts +22 -0
- package/sdk/src/tools/run-terminal-command.ts +483 -0
- package/sdk/src/tools/ssrf.ts +120 -0
- package/sdk/src/types/env.ts +40 -0
- package/sdk/src/utils/logger.ts +15 -0
- package/sdk/src/validate-agents.ts +157 -0
- package/sdk/test/cjs-compatibility/package-lock.json +423 -0
- package/sdk/test/cjs-compatibility/package.json +21 -0
- package/sdk/test/cjs-compatibility/test-imports.js +77 -0
- package/sdk/test/cjs-compatibility/test-types.ts +54 -0
- package/sdk/test/cjs-compatibility/tsconfig.json +17 -0
- package/sdk/test/esm-compatibility/package-lock.json +423 -0
- package/sdk/test/esm-compatibility/package.json +21 -0
- package/sdk/test/esm-compatibility/test-imports.js +83 -0
- package/sdk/test/esm-compatibility/test-types.ts +59 -0
- package/sdk/test/esm-compatibility/tsconfig.json +17 -0
- package/sdk/test/ripgrep-bundling/package-lock.json +423 -0
- package/sdk/test/ripgrep-bundling/package.json +21 -0
- package/sdk/test/ripgrep-bundling/test-ripgrep-types.ts +132 -0
- package/sdk/test/ripgrep-bundling/test-ripgrep.js +257 -0
- package/sdk/test/ripgrep-bundling/tsconfig.json +15 -0
- package/sdk/test/setup-env.ts +54 -0
- package/sdk/test/test-sdk.ts +25 -0
- package/sdk/test/tree-sitter-queries/package-lock.json +47 -0
- package/sdk/test/tree-sitter-queries/package.json +12 -0
- package/sdk/test/tree-sitter-queries/test-query-files.js +256 -0
- package/sdk/tsconfig.build.json +32 -0
- package/sdk/tsconfig.json +27 -0
- package/sdk/vendor/ripgrep/arm64-darwin/rg +0 -0
- package/sdk/vendor/ripgrep/arm64-linux/rg +0 -0
- package/sdk/vendor/ripgrep/x64-darwin/rg +0 -0
- package/sdk/vendor/ripgrep/x64-linux/rg +0 -0
- package/sdk/vendor/ripgrep/x64-win32/rg.exe +0 -0
- package/templates/FID-TEMPLATE.md +125 -0
- package/templates/README-TEMPLATE.md +87 -0
- package/templates/SESSION-SUMMARY.md +135 -0
- package/tsconfig.base.json +18 -0
- package/tsconfig.json +27 -0
- /package/{http.js → cli/release-core/http.js} +0 -0
- /package/{launcher.js → cli/release-core/launcher.js} +0 -0
|
@@ -0,0 +1,516 @@
|
|
|
1
|
+
# **Comprehensive Market Research and Sentiment Analysis: Major AI Coding Agent Harnesses**
|
|
2
|
+
|
|
3
|
+
The landscape of software engineering is undergoing a foundational architectural shift, transitioning from localized,
|
|
4
|
+
single-file autocomplete utilities to autonomous, multi-agent coding harnesses. These advanced systems are designed to
|
|
5
|
+
orchestrate complex, repository-wide refactoring, execute arbitrary terminal commands, interact with language server
|
|
6
|
+
protocols (LSPs), and interface with remote continuous integration (CI) pipelines. As engineering teams deploy these
|
|
7
|
+
agents to automate high-stakes development workflows, the tools themselves are subjected to intense scrutiny regarding
|
|
8
|
+
their token economics, operational security, context window fidelity, and behavioral determinism.
|
|
9
|
+
An exhaustive analysis of developer sentiment, repository issue trackers, security disclosures, and architectural
|
|
10
|
+
changelogs reveals a sharply competitive market dominated by four primary harnesses: Anthropic’s Claude Code, OpenAI’s
|
|
11
|
+
Codex, Cursor’s Composer Mode, and the open-source OpenCode platform. This report provides a deep, developer-centric
|
|
12
|
+
evaluation of these four ecosystems, detailing their dominant use cases, critical architectural limitations, and the
|
|
13
|
+
most aggressively requested community features driving their respective development backlogs.
|
|
14
|
+
|
|
15
|
+
## **Claude Code (Anthropic)**
|
|
16
|
+
|
|
17
|
+
### **Top Developer Demands & Use Cases**
|
|
18
|
+
|
|
19
|
+
Claude Code has rapidly established itself as a premier terminal-native agent, highly favored by engineering teams whose
|
|
20
|
+
workflows demand deep, autonomous interactions with local file systems and command-line interfaces. A primary catalyst
|
|
21
|
+
for its widespread adoption is its robust integration with the Model Context Protocol (MCP), which enables developers to
|
|
22
|
+
connect the agent to external enterprise infrastructure, such as Jira, Confluence, GitHub, and internal databases,
|
|
23
|
+
seamlessly1. This connectivity allows Claude Code to operate not just as a code generator, but as a holistic workflow
|
|
24
|
+
automation engine capable of reading issue tickets, analyzing the relevant codebase, and generating corresponding
|
|
25
|
+
patches in a single terminal session.
|
|
26
|
+
Security-focused CI/CD workflows represent one of the most heavily relied-upon enterprise use cases for the Claude
|
|
27
|
+
harness. Organizations are increasingly deploying Claude directly into pull request pipelines via the
|
|
28
|
+
claude-code-security-review GitHub Action. This integration performs diff-aware semantic security scanning,
|
|
29
|
+
automatically analyzing changed files and posting contextual review comments on pull requests2. Development teams are
|
|
30
|
+
choosing this AI-driven approach over traditional Static Application Security Testing (SAST) tools because Claude's
|
|
31
|
+
advanced reasoning capabilities drastically reduce false positives. Specifically, the agent can be configured to filter
|
|
32
|
+
out low-impact denial-of-service warnings, rate-limiting concerns, or generic input validation noise, focusing its
|
|
33
|
+
computational effort on critical cryptographic flaws, hardcoded secrets, and complex injection vulnerabilities2.
|
|
34
|
+
Furthermore, developers leverage Claude Code to automate routine Git operations and generate complex terminal scripts. A
|
|
35
|
+
significant architectural advantage driving this adoption is the agent's dual-mode capability. The system operates in
|
|
36
|
+
"Agent Mode" for prompt-driven tasks and "Tag Mode" via @claude mentions on GitHub, effectively bridging the gap between
|
|
37
|
+
local terminal operations and asynchronous cloud-based team collaboration4. Advanced power users frequently augment this
|
|
38
|
+
baseline functionality by building custom slash commands (e.g., /security-review) by placing targeted Markdown
|
|
39
|
+
instruction files in a local .claude/commands/ directory, tailoring the agent’s analytical behavior to strict internal
|
|
40
|
+
organizational standards and compliance requirements2.
|
|
41
|
+
|
|
42
|
+
### **Critical Pain Points & Limitations**
|
|
43
|
+
|
|
44
|
+
Despite its formidable semantic analysis capabilities, the Claude Code ecosystem suffers from severe architectural
|
|
45
|
+
friction points regarding operational security, token economics, and environment fragmentation. The most critical
|
|
46
|
+
vulnerability involves sophisticated supply-chain attacks exploiting the Model Context Protocol implementation. Threat
|
|
47
|
+
intelligence researchers have demonstrated that malicious npm postinstall hooks can silently rewrite the \~/.claude.json
|
|
48
|
+
configuration file upon package installation. By covertly altering MCP server endpoints, attackers can redirect
|
|
49
|
+
authenticated requests to localhost proxies, intercepting OAuth bearer tokens in transit. This creates a persistent
|
|
50
|
+
Man-in-the-Middle (MitM) attack that grants adversaries long-lived access to the developer's connected SaaS platforms
|
|
51
|
+
without requiring elevated system privileges1.
|
|
52
|
+
This attack surface extends beyond network interception into persistent skill poisoning. Threat actors have published
|
|
53
|
+
npm packages (such as openmatrix and skillvault) that utilize postinstall hooks to silently inject malicious Markdown
|
|
54
|
+
files into the \~/.claude/commands/ directory. Because these files are flagged with always\_load: true and priority:
|
|
55
|
+
critical, they force the Claude Code agent to auto-approve destructive bash commands or exfiltrate codebase context in
|
|
56
|
+
all future sessions. Crucially, executing npm uninstall does not remove these injected Markdown files, leaving the agent
|
|
57
|
+
permanently compromised until the developer manually audits their hidden configuration directories7. Historically, the
|
|
58
|
+
platform also struggled with prompt injection vulnerabilities within its CI/CD integrations. Earlier versions of the
|
|
59
|
+
GitHub Action could be manipulated by malicious pull request comments into utilizing the "Read" tool to access
|
|
60
|
+
/proc/self/environ, successfully exfiltrating the ANTHROPIC\_API\_KEY and other workflow credentials to external
|
|
61
|
+
repositories before Anthropic mitigated the flaw in version 2.1.1284.
|
|
62
|
+
Token burn and context window drift represent another major source of friction, directly impacting the financial
|
|
63
|
+
viability of deploying the agent at scale. Claude Code’s reliance on static instructional files, specifically CLAUDE.md,
|
|
64
|
+
creates exponential token bloat. The harness loads the CLAUDE.md file into the context prefix for every session and
|
|
65
|
+
every conversational turn, meaning that a bloated 5,000-token instruction file severely reduces the effective working
|
|
66
|
+
context and incurs compounding financial costs12. Furthermore, developers have reported that Claude Code automatically
|
|
67
|
+
loads cloud-synced MCP connectors (such as Google Drive or Canva) when authenticated via a claude.ai account, injecting
|
|
68
|
+
roughly 2,000 tokens of tool schema per turn, with no documented CLI flag to disable them13. To combat this waste,
|
|
69
|
+
community developers have had to engineer custom wrappers that utilize tree-sitter to build structural Abstract Syntax
|
|
70
|
+
Tree (AST) dependency graphs, feeding the agent a token-budgeted capsule of 2,400 relevant tokens rather than forcing it
|
|
71
|
+
to linearly read 18,000 tokens of raw file text14.
|
|
72
|
+
Environment setup speed and IDE integration friction are exacerbated by fragmented product surfaces. Developers complain
|
|
73
|
+
that Anthropic maintains completely disconnected memory silos between the local Claude Code CLI, the Claude Desktop
|
|
74
|
+
application, and the claude.ai web interface15. This lack of persistent session memory means that complex architectural
|
|
75
|
+
context established in the web interface is entirely invisible to the terminal agent, forcing developers to manually
|
|
76
|
+
copy-paste hundreds of lines of context16. Compounding this friction is the "Cowork" virtual machine architecture
|
|
77
|
+
utilized by Claude Desktop on macOS, which bakes the CLAUDE.md file into a persistent sessiondata.img disk image,
|
|
78
|
+
causing severe configuration drift when the developer updates their local repository instructions18. Furthermore, the
|
|
79
|
+
lack of an official Linux release for the Claude Desktop application severely bottlenecks developers attempting to build
|
|
80
|
+
and test Claude Code plugins, forcing an estimated 27% of professional developers to rely on community-maintained,
|
|
81
|
+
reverse-engineered Debian and Arch packages19.
|
|
82
|
+
|
|
83
|
+
### **Most Wanted & Highly Requested Features**
|
|
84
|
+
|
|
85
|
+
The developer community is aggressively requesting the unification of agent instructions through the tool-agnostic
|
|
86
|
+
AGENTS.md standard. Currently, Claude Code exclusively reads CLAUDE.md. However, as engineering teams increasingly adopt
|
|
87
|
+
multi-agent workflows utilizing OpenAI Codex and Cursor alongside Claude, maintaining separate, tool-specific
|
|
88
|
+
instruction files creates critical synchronization drift20. Developers are demanding that Claude Code natively parse
|
|
89
|
+
AGENTS.md either as a fallback or as a merged context, allowing a single set of repository constraints to govern all
|
|
90
|
+
active agents simultaneously without requiring duplicate maintenance20.
|
|
91
|
+
Persistent session memory and context synchronization rank among the most critical backlog requests. Developers require
|
|
92
|
+
a mechanism—such as a claude project link command—to authenticate a local workspace with a claude.ai cloud project. This
|
|
93
|
+
would enable a read-only sync that pulls long-running conversation history, design decisions, and uploaded files
|
|
94
|
+
directly into the local CLI environment16. Without this feature, the agent suffers from chronic "session amnesia,"
|
|
95
|
+
requiring users to repeatedly explain the codebase architecture at the start of every terminal session14.
|
|
96
|
+
Finally, developers are requesting syntax support for developer-only comments within CLAUDE.md instruction files. As
|
|
97
|
+
these Markdown files grow to accommodate complex build commands, Git hooks, and test parameters, engineers need a way to
|
|
98
|
+
leave annotations for human collaborators that the AI agent will explicitly ignore. This feature would reduce
|
|
99
|
+
unnecessary token consumption and prevent the model from hallucinating or misinterpreting internal team notes as
|
|
100
|
+
executable directives22.
|
|
101
|
+
|
|
102
|
+
## **OpenAI Codex**
|
|
103
|
+
|
|
104
|
+
### **Top Developer Demands & Use Cases**
|
|
105
|
+
|
|
106
|
+
OpenAI Codex is heavily relied upon by enterprise engineering teams for its unparalleled capacity to handle multi-agent
|
|
107
|
+
orchestration and always-on background automation. Built to drive real engineering work, Codex is actively deployed for
|
|
108
|
+
autonomous issue triage, continuous integration alert monitoring, and massive, repository-wide refactoring campaigns24.
|
|
109
|
+
The platform's core architectural strength lies in its "Multi-Agent V2" capability, which allows a sophisticated
|
|
110
|
+
coordinator agent to spawn specialized subagents in parallel across built-in cloud worktrees, enabling the system to
|
|
111
|
+
tackle distinct segments of a codebase simultaneously24.
|
|
112
|
+
A unique, premium hardware ecosystem is also driving Codex adoption among power users. The introduction of the Codex
|
|
113
|
+
Micro keypad—a physical, mechanical desktop interface developed in partnership with Work Louder—provides developers with
|
|
114
|
+
dedicated tactile controls to manage parallel AI workflows28. Priced at $230, the device features illuminated keys that
|
|
115
|
+
display the real-time status of various subagents (e.g., thinking, waiting for approval, error states), a rotary encoder
|
|
116
|
+
dial to adjust the agent's reasoning effort on the fly, and a physical joystick to navigate workflows28. This hardware
|
|
117
|
+
integration addresses the intense cognitive load of monitoring parallel AI swarms, making Codex a premium choice for
|
|
118
|
+
developers who treat AI as a fleet of asynchronous digital workers rather than a simple in-editor autocomplete tool.
|
|
119
|
+
Furthermore, the performance of Codex within highly constrained, headless terminal environments remains a significant
|
|
120
|
+
draw. Benchmark tracking on the Terminal Bench 2.0 leaderboard reveals that customized, non-interactive harnesses built
|
|
121
|
+
on top of the Codex CLI—such as the undocumented "Simple Codex" configuration—consistently achieve top-tier resolution
|
|
122
|
+
rates (approaching 75.1% to 82.2% accuracy) on complex software engineering tasks, significantly outperforming standard
|
|
123
|
+
interactive agents31.
|
|
124
|
+
|
|
125
|
+
### **Critical Pain Points & Limitations**
|
|
126
|
+
|
|
127
|
+
The architectural friction points within Codex are severe, primarily centering around catastrophic resource exhaustion,
|
|
128
|
+
undocumented context window degradation, and the loss of observability in multi-agent communications. Memory leaks and
|
|
129
|
+
application crashes are rampant when operating massive subagent swarms. On macOS environments, the Codex Desktop
|
|
130
|
+
application has been documented triggering system-wide application memory exhaustion, consuming upwards of 130.58
|
|
131
|
+
gigabytes of RAM during "Ultra" multi-agent fan-out workloads36. This exhaustion is driven by unbounded local thread
|
|
132
|
+
spawning and extreme log volume generation, with diagnostics recording over 386 distinct thread IDs and nearly 3
|
|
133
|
+
gigabytes of SQLite logs generated in under 30 minutes36. Conversely, on Windows environments, the CLI frequently
|
|
134
|
+
crashes with an 0xC0000017 NT status, indicating virtual memory exhaustion. Because the underlying Rust architecture
|
|
135
|
+
spawns a new process for each subagent, the 32-bit address space limit is rapidly consumed, and unbounded event channels
|
|
136
|
+
(tx\_event) buffer thousands of turn events until the process fatally terminates37.
|
|
137
|
+
|
|
138
|
+
| Memory Exhaustion Vector | Environment | Mechanism of Failure | Observed Impact |
|
|
139
|
+
| :---- | :---- | :---- | :---- |
|
|
140
|
+
| **Thread Proliferation** | macOS (Apple Silicon) | Unbounded subagent spawning during "Ultra" workloads | 130.58 GB RAM consumption; global OS memory exhaustion36 |
|
|
141
|
+
| **Virtual Address Space** | Windows (32-bit process) | 2GB user-mode cap exceeded by Rust process generation | 0xC0000017 crash; 126-byte allocation failure37 |
|
|
142
|
+
| **Unbounded Channels** | Cross-Platform (CLI) | tx\_event channels buffering turn/tool events without limits | Gradual memory leak ending in terminal OOM crashes38 |
|
|
143
|
+
|
|
144
|
+
Context window drift and aggressive, unpredictable token burn are arguably the most frequent developer complaints.
|
|
145
|
+
Despite OpenAI advertising a 1.05-million token context window for the flagship GPT-5.6 Sol model, developers discovered
|
|
146
|
+
that Codex artificially capped the effective raw window at 353,400 tokens, which was recently and silently reduced
|
|
147
|
+
further to 258,000 tokens without public changelog documentation39. This reduction is financially punitive because
|
|
148
|
+
requests exceeding the 272,000-token boundary incur a massive pricing multiplier (2x input, 1.5x output) applied to the
|
|
149
|
+
*entire* request39. Because Codex auto-compacts context unpredictably, developers report their rolling five-hour usage
|
|
150
|
+
budgets being drained by just two or three prompts, with the system autonomously consuming reset opportunities without
|
|
151
|
+
requiring explicit user confirmation41. Furthermore, statistical metadata analysis has identified severe anomalies in
|
|
152
|
+
the GPT-5.5 model, where reasoning tokens consistently short-circuit at exactly 516, 1034, or 1552 tokens. This
|
|
153
|
+
artificial capping of reasoning effort directly correlates with degraded logic and incorrect final answers on
|
|
154
|
+
high-stakes coding tasks43.
|
|
155
|
+
Finally, the introduction of encrypted payloads in the Multi-Agent V2 architecture has created a massive observability
|
|
156
|
+
and orchestration blocker. To enhance data privacy, Codex now encrypts the instructional payloads sent from a root agent
|
|
157
|
+
to its spawned subagents (spawn\_agent, send\_message, followup\_task). While this prevents sensitive data from
|
|
158
|
+
appearing in plaintext rollout histories, it entirely blinds the human operator. When a subagent fails a task, the
|
|
159
|
+
developer cannot inspect the initial instruction, making it impossible to determine if the parent agent hallucinated the
|
|
160
|
+
directive or if the subagent simply failed to execute a correct prompt44. This encryption also causes catastrophic API
|
|
161
|
+
request validation failures (HTTP 400 Bad Request) when developers attempt to route subagent tasks to external provider
|
|
162
|
+
models (e.g., Ollama or local LLMs) that cannot decrypt the proprietary OpenAI agent\_message schema, entirely breaking
|
|
163
|
+
headless multi-agent orchestration27.
|
|
164
|
+
|
|
165
|
+
### **Most Wanted & Highly Requested Features**
|
|
166
|
+
|
|
167
|
+
The demand for transparent observability in multi-agent workflows dominates the Codex feature backlog. Developers are
|
|
168
|
+
aggressively requesting a plaintext audit trail for Multi-Agent V2 communications. The community requires a mechanism
|
|
169
|
+
that preserves the encrypted delivery pipeline for the recipient model while simultaneously writing a human-readable
|
|
170
|
+
task\_message companion field to the local trace logs, allowing operators to deterministically debug inter-agent
|
|
171
|
+
miscommunications without needing to rely on the AI to accurately summarize its own past actions44.
|
|
172
|
+
Another highly requested architectural shift is the implementation of tiered, persistent session memory. Currently,
|
|
173
|
+
Codex suffers from memory contamination where architectural conventions from one project leak into unrelated
|
|
174
|
+
repositories. Developers are pushing for a configurable memory scope system divided strictly into Global (cross-project
|
|
175
|
+
preferences like timezone and coding style), Project (repository-specific architecture rules stored in
|
|
176
|
+
memory/project/{hash}/), and Session (ephemeral task context) tiers50. This structured decay rate would allow the AI to
|
|
177
|
+
retain long-term contextual knowledge without burning massive amounts of tokens on every prompt or cross-contaminating
|
|
178
|
+
subagent workflows50.
|
|
179
|
+
Finally, there is a strong demand for native integration with hardened execution harnesses, specifically frameworks like
|
|
180
|
+
the open-source "Ralph Harness." Developers want built-in support for generator-evaluator loops that force the agent to
|
|
181
|
+
achieve verifiable, deterministic states. Rather than letting a subagent drift through an endless chat context, a
|
|
182
|
+
Ralph-style harness iterates a fresh-context session per step, blocking progress until a receipt-based gate (such as
|
|
183
|
+
passing a CI/CD test or multi-model review) is strictly satisfied51.
|
|
184
|
+
|
|
185
|
+
## **Cursor (Composer Mode)**
|
|
186
|
+
|
|
187
|
+
### **Top Developer Demands & Use Cases**
|
|
188
|
+
|
|
189
|
+
Cursor's Composer Mode has achieved massive market penetration by offering the most frictionless, native IDE integration
|
|
190
|
+
among all modern AI coding tools. Developers overwhelmingly choose Composer due to its seamless ability to execute
|
|
191
|
+
multi-file, repository-wide refactoring without requiring the user to leave the editor environment to monitor a separate
|
|
192
|
+
terminal instance56. The release of Composer 2.5, built upon the highly capable Kimi K2.5 base model and extensively
|
|
193
|
+
trained on multi-step synthetic reinforcement learning tasks, introduced a premium "Fast Mode" variant56. This tier
|
|
194
|
+
delivers frontier-level intelligence at exceptional speeds, allowing the agent to sustain long-horizon coding work that
|
|
195
|
+
requires hundreds of internal tool calls57.
|
|
196
|
+
This specific environment is heavily relied upon for rapid prototyping workflows. Developers utilize Composer 2.5 to
|
|
197
|
+
translate Figma design specifications directly into functional frontend components, resolve complex linting and type
|
|
198
|
+
errors across dozens of files simultaneously, and aggressively iterate on application features56. The tactile user
|
|
199
|
+
experience of Composer—allowing developers to review visual diffs instantly and accept or reject AI mutations inline
|
|
200
|
+
using native IDE keybindings—eliminates the severe context-switching penalty inherent to pure terminal-based agents59.
|
|
201
|
+
*Note regarding ecosystem overlap:* Due to the name "Composer," workflows in this IDE frequently intersect with the PHP
|
|
202
|
+
dependency manager of the same name (hosted at github.com/composer/composer). While structurally distinct, AI agents
|
|
203
|
+
operating within Cursor are routinely tasked with managing composer.json manifests, resolving complex PHP version
|
|
204
|
+
constraints, and updating composer.lock files to ensure reproducible builds60. Agents must carefully navigate these
|
|
205
|
+
package management tasks, as parsing mangled terminal output from untrusted remote Packagist sources has historically
|
|
206
|
+
exposed systems to ANSI control character injection vulnerabilities (e.g., CVE-2025-67746)63.
|
|
207
|
+
|
|
208
|
+
### **Critical Pain Points & Limitations**
|
|
209
|
+
|
|
210
|
+
The unprecedented speed and autonomy of Composer Mode come at a dangerous cost, with "Auto-Run" permissions leading to
|
|
211
|
+
catastrophic filesystem destruction. The most critical developer blocker involves quoting and escaping failures during
|
|
212
|
+
background terminal executions on Windows. In multiple highly documented incidents, Composer 2.5 attempted to clean up
|
|
213
|
+
standard local directories (e.g., executing an rmdir /s /q command to clear a Gradle build folder), but due to broken
|
|
214
|
+
string escaping between PowerShell and the underlying cmd.exe executable, the target path collapsed to the root
|
|
215
|
+
directory64. Because the agent was operating in "Run Everything" mode, it autonomously initiated recursive, silent
|
|
216
|
+
deletions from the C:\\ or D:\\ drives, bypassing the Windows Recycle Bin entirely. This failure resulted in the
|
|
217
|
+
permanent destruction of operating system files, personal desktops, and active Git repositories64. This terrifying
|
|
218
|
+
failure mode highlights the severe architectural danger of granting an LLM unsupervised, programmatic access to
|
|
219
|
+
destructive shell utilities.
|
|
220
|
+
Token economics and backend stability form the second layer of community frustration. Users experience intense friction
|
|
221
|
+
regarding usage limits, frequently reporting that their accounts seamlessly jump from included monthly allowances to
|
|
222
|
+
expensive on-demand billing without adequate UI warnings, draining financial budgets in a matter of days58. The cost is
|
|
223
|
+
severely compounded when Composer 2.5 Fast is utilized, as it carries a significantly higher per-token price multiplier
|
|
224
|
+
($3.00/M input tokens vs $0.50/M for the standard variant)57. Compounding this confusion, the "Fast" variant is not
|
|
225
|
+
displayed as a separate model in the dropdown menu; users must discover a hidden edit button on hover to toggle it off,
|
|
226
|
+
leading to unintentional token burn69. Furthermore, during peak usage periods, the highly-touted Fast Mode frequently
|
|
227
|
+
suffers from severe backend degradation, hanging on prompts for several minutes and returning "Taking longer than
|
|
228
|
+
expected" timeout errors, entirely defeating the purpose of paying for the premium speed tier68.
|
|
229
|
+
|
|
230
|
+
### **Most Wanted & Highly Requested Features**
|
|
231
|
+
|
|
232
|
+
To mitigate the existential risk of Auto-Run data loss, the Cursor community is desperately requesting the
|
|
233
|
+
implementation of a pre-execution snapshot and hook layer. Developers want the IDE to automatically snapshot target
|
|
234
|
+
directories before executing any destructive shell commands, creating a deterministic, one-command "undo" state that
|
|
235
|
+
does not rely on third-party file recovery software64. Concurrently, there is an aggressive demand for a hard-coded
|
|
236
|
+
safety gate that strictly denies irreversible infrastructure commands (e.g., root-level recursive deletes, rm \-rf, or
|
|
237
|
+
Git force-pushes) regardless of the user's permission settings, forcing a manual human review66.
|
|
238
|
+
On the orchestration front, users are highly requesting the ability to enforce granular model routing for subagents.
|
|
239
|
+
Currently, complex tasks spawned in Composer automatically inherit the premium parent model. Developers want
|
|
240
|
+
configuration files to restrict background "Explore" or "Plan" subagents to cheaper, standard models (e.g., standard
|
|
241
|
+
Composer 2.5 rather than Fast), drastically reducing the token burn associated with deep, recursive codebase analysis58.
|
|
242
|
+
Finally, developers are asking for integrated prompt analysis tools that can automatically audit past conversations and
|
|
243
|
+
suggest configuration changes to reduce context bloat, streamlining the IDE's token efficiency over long-running
|
|
244
|
+
projects58.
|
|
245
|
+
|
|
246
|
+
## **OpenCode (by Anomaly)**
|
|
247
|
+
|
|
248
|
+
### **Top Developer Demands & Use Cases**
|
|
249
|
+
|
|
250
|
+
OpenCode serves a distinct demographic of power users and systems engineers who demand absolute control over their AI
|
|
251
|
+
coding environment. As a fully open-source, terminal-first harness boasting over 160,000 GitHub stars, its primary
|
|
252
|
+
appeal is its provider-agnostic architecture73. Developers choose OpenCode because it refuses to lock them into a single
|
|
253
|
+
ecosystem; they can route tasks to Anthropic, OpenAI, local models, or utilize the native "OpenCode Zen" and Manifest
|
|
254
|
+
routing engines74. These advanced routers automatically evaluate the prompt and send the request to the cheapest, most
|
|
255
|
+
capable model available, drastically optimizing API costs for independent developers77.
|
|
256
|
+
The platform is heavily relied upon for deep GitHub Actions integration and offline, self-hosted environments.
|
|
257
|
+
Engineering teams deploy OpenCode directly into their CI/CD runners using custom workflow YAML files, allowing the agent
|
|
258
|
+
to autonomously triage issues, write patches on distinct Git branches, and submit pull requests entirely in the
|
|
259
|
+
background based on simple /oc fix this issue comments78. Furthermore, OpenCode’s native ability to switch between
|
|
260
|
+
specialized roles—such as a read-only "Plan" agent for codebase exploration and a full-access "Build" agent for
|
|
261
|
+
execution—provides developers with a structured methodology for tackling unfamiliar, legacy codebases safely79.
|
|
262
|
+
Advanced engineering teams also rely on OpenCode for the mathematical rigor of its benchmarking and orchestration
|
|
263
|
+
extensions. The OpenCode Bench framework provides a vital use case: evaluating AI coding agents on real-world
|
|
264
|
+
repositories using a weighted, variance-penalized mathematical model that scores outputs across API signature
|
|
265
|
+
compliance, logic equivalence, and test coverage80. Additionally, power users frequently augment OpenCode with the
|
|
266
|
+
Intent workspace architecture, which relies on an Augment Context Engine MCP to split complex tasks into highly
|
|
267
|
+
organized Coordinator, Implementor, and Verifier roles, ensuring agents work in parallel without conflicting over stale
|
|
268
|
+
prompts81.
|
|
269
|
+
|
|
270
|
+
### **Critical Pain Points & Limitations**
|
|
271
|
+
|
|
272
|
+
OpenCode's extreme architectural flexibility introduces severe vulnerabilities, most notably regarding subagent
|
|
273
|
+
permission bypassing and infinite recursion loops. The agent relies heavily on an opencode.json configuration file to
|
|
274
|
+
define rigid safety gates. However, parsing bugs within the tool registry cause relative and absolute file paths to be
|
|
275
|
+
interpreted inconsistently. Consequently, when a parent agent delegates work to a "Task" subagent, the subagent
|
|
276
|
+
completely ignores explicit deny rules, successfully editing restricted files (such as root manifests or .opencode/
|
|
277
|
+
configurations) outside the designated workspace82.
|
|
278
|
+
Even more critically, the platform lacks an architectural depth limit for subagent spawning. If a developer globally
|
|
279
|
+
configures the task permission to allow in their root configuration, the internal nesting guard is entirely overridden.
|
|
280
|
+
Subagents will infinitely spawn subagents across thousands of unique sessions, resulting in an exponential, unstoppable
|
|
281
|
+
surge of API calls that rapidly drains financial accounts and quota limits before the user can terminate the process84.
|
|
282
|
+
Performance constraints and basic operational bugs severely hinder the developer experience. Despite being a Terminal
|
|
283
|
+
User Interface (TUI), OpenCode is an enormously heavy TypeScript application that routinely consumes over a gigabyte of
|
|
284
|
+
RAM, frequently resulting in Bun runtime segmentation faults on Windows environments85. Furthermore, basic configuration
|
|
285
|
+
overrides break the UI; if a user adds a subagent to opencode.json merely to assign it a cheaper model, the system
|
|
286
|
+
incorrectly reclassifies it as a primary agent, flooding the bottom-bar navigation interface and rendering it
|
|
287
|
+
unusable87. Finally, users relying on enterprise OAuth subscriptions (like Claude Pro/Max) experience constant
|
|
288
|
+
authentication drops. OpenCode improperly interprets HTTP 429 rate-limit or quota-exceeded responses as total
|
|
289
|
+
authentication failures, discarding the OAuth refresh token and forcing the developer to perform a full manual browser
|
|
290
|
+
re-login multiple times a day88. Privacy concerns also plague the default routing configurations, as users discovered
|
|
291
|
+
the free tier of the Grok model (which trains on user prompts) was being silently utilized as a fallback model without
|
|
292
|
+
explicit user consent86.
|
|
293
|
+
|
|
294
|
+
### **Most Wanted & Highly Requested Features**
|
|
295
|
+
|
|
296
|
+
The OpenCode community is aggressively pushing for dynamic, runtime permission toggling. Drawing inspiration from
|
|
297
|
+
competitor interfaces, developers want to use a hotkey (e.g., Shift+Tab) to instantly cycle the active agent between
|
|
298
|
+
"Normal" (ask for confirmation), "Plan" (read-only), and "Auto" (yolo execution) modes without needing to restart the
|
|
299
|
+
session or swap to a completely different agent profile90.
|
|
300
|
+
Additionally, there is a highly requested overhaul for custom subagent orchestration. Currently, developers who define
|
|
301
|
+
bespoke, heavily-instructed subagents in Markdown files are entirely unable to invoke them. The community demands that
|
|
302
|
+
OpenCode properly expose these custom agents to the internal Task tool schema and allow developers to invoke them
|
|
303
|
+
directly in the chat using @name routing (e.g., @gap-scout find leads), seamlessly bridging the gap between custom
|
|
304
|
+
instructional prompts and the core execution engine91. Finally, developers are requesting a hard-coded maxDepth
|
|
305
|
+
configuration option to track session depth via a parentID chain, providing an absolute defense-in-depth mechanism
|
|
306
|
+
against runaway subagent recursion84.
|
|
307
|
+
|
|
308
|
+
## **Competitive Synthesis**
|
|
309
|
+
|
|
310
|
+
| Agent Harness | Primary Environment | Core Strength | Biggest Community Complaint | Top Backlog / Community-Requested Feature |
|
|
311
|
+
| :---- | :---- | :---- | :---- | :---- |
|
|
312
|
+
| **Claude Code** | CLI / PR Pipelines | Diff-aware semantic security reviews and autonomous GitHub PR integration via Tag Mode. | Supply chain vulnerabilities (MitM via postinstall hooks) and disjointed cloud/local memory silos. | Native AGENTS.md parsing support and local-to-cloud session memory synchronization. |
|
|
313
|
+
| **OpenAI Codex** | CLI / Native Desktop | Massively parallel Multi-Agent V2 workflows and physical hardware (Codex Micro) integration. | Extreme token burn at the 272K boundary and silent application memory exhaustion (130GB+ leaks). | Plaintext audit trails for encrypted Multi-Agent V2 instructions and tiered memory scoping. |
|
|
314
|
+
| **Cursor (Composer)** | Native IDE | Frictionless UI/UX for rapid multi-file refactoring and design-to-code iteration using Kimi K2.5. | Catastrophic data loss from Auto-Run shell escaping errors (e.g., rmdir /s /q from root). | Pre-execution snapshot hooks for one-command undo and hard-stops on destructive commands. |
|
|
315
|
+
| **OpenCode** | CLI / Cloud Runners | Provider-agnostic routing, open-source extensibility, and rigorous variance-penalized benchmarking. | Infinite subagent recursion loops and critical file-permission bypasses in the Task tool. | Runtime permission toggling (Shift+Tab mode cycling) and proper @name routing for custom subagents. |
|
|
316
|
+
|
|
317
|
+
### **Works cited**
|
|
318
|
+
|
|
319
|
+
1. MCP Token Theft in Claude Code: A Man-in-the-Middle Attack Chain \- Mitiga,
|
|
320
|
+
[https://www.mitiga.io/blog/claude-code-mcp-token-theft-mitm](https://www.mitiga.io/blog/claude-code-mcp-token-theft-mitm)
|
|
321
|
+
2. anthropics/claude-code-security-review \- GitHub,
|
|
322
|
+
[https://github.com/anthropics/claude-code-security-review](https://github.com/anthropics/claude-code-security-review)
|
|
323
|
+
3. claude-code-security-review/README.md at main \- GitHub,
|
|
324
|
+
[https://github.com/anthropics/claude-code-security-review/blob/main/README.md?plain=1](https://github.com/anthropics/claude-code-security-review/blob/main/README.md?plain=1)
|
|
325
|
+
4. Claude Code GitHub Action Flaw Let One Malicious Issue Hijack Repositories,
|
|
326
|
+
[https://thehackernews.com/2026/06/claude-code-github-action-flaw-let-one.html](https://thehackernews.com/2026/06/claude-code-github-action-flaw-let-one.html)
|
|
327
|
+
5. claude-code-action/CLAUDE.md at main · anthropics/claude-code-action \- GitHub,
|
|
328
|
+
[https://github.com/anthropics/claude-code-action/blob/main/CLAUDE.md](https://github.com/anthropics/claude-code-action/blob/main/CLAUDE.md)
|
|
329
|
+
6. Claude Code has an MCP security problem — and your developers are already using it,
|
|
330
|
+
[https://www.csoonline.com/article/4181230/claude-code-has-an-mcp-security-problem-and-your-developers-are-already-using-it.html](https://www.csoonline.com/article/4181230/claude-code-has-an-mcp-security-problem-and-your-developers-are-already-using-it.html)
|
|
331
|
+
7. \[AskJS\] Has anyone seen npm packages using postinstall to inject prompt injection files into AI coding assistants?
|
|
332
|
+
: r/javascript \- Reddit,
|
|
333
|
+
[https://www.reddit.com/r/javascript/comments/1sapj8c/askjs\_has\_anyone\_seen\_npm\_packages\_using/](https://www.reddit.com/r/javascript/comments/1sapj8c/askjs_has_anyone_seen_npm_packages_using/)
|
|
334
|
+
8. PSA: npm package using postinstall to inject prompt injection files into Claude Code \- Reddit,
|
|
335
|
+
[https://www.reddit.com/r/node/comments/1sapgun/psa\_npm\_package\_using\_postinstall\_to\_inject/](https://www.reddit.com/r/node/comments/1sapgun/psa_npm_package_using_postinstall_to_inject/)
|
|
336
|
+
9. I built an npm scanner and found 21 malicious packages in 24 hours, including 4 new attack vectors targeting AI
|
|
337
|
+
coding tools \- Reddit,
|
|
338
|
+
[https://www.reddit.com/r/node/comments/1sbf6j8/i\_built\_an\_npm\_scanner\_and\_found\_21\_malicious/](https://www.reddit.com/r/node/comments/1sbf6j8/i_built_an_npm_scanner_and_found_21_malicious/)
|
|
339
|
+
10. \[AskJS\] Has anyone else noticed malicious npm packages targeting AI coding tools? My scanner found 21 in 24 hours
|
|
340
|
+
with 4 undocumented attack vectors : r/javascript \- Reddit,
|
|
341
|
+
[https://www.reddit.com/r/javascript/comments/1sbfcbd/askjs\_has\_anyone\_else\_noticed\_malicious\_npm/](https://www.reddit.com/r/javascript/comments/1sbfcbd/askjs_has_anyone_else_noticed_malicious_npm/)
|
|
342
|
+
11. Securing CI/CD in an agentic world: Claude Code Github action case \- Microsoft,
|
|
343
|
+
[https://www.microsoft.com/en-us/security/blog/2026/06/05/securing-ci-cd-in-agentic-world-claude-code-github-action-case/](https://www.microsoft.com/en-us/security/blog/2026/06/05/securing-ci-cd-in-agentic-world-claude-code-github-action-case/)
|
|
344
|
+
12. 10 Tips to Stop Burning Your Tokens in Claude Code | by Habib Mohammed | Medium,
|
|
345
|
+
[https://medium.com/@habib23me/10-tip-to-stop-burning-your-tokens-in-claude-code-4776d4ac8956](https://medium.com/@habib23me/10-tip-to-stop-burning-your-tokens-in-claude-code-4776d4ac8956)
|
|
346
|
+
13. Allow disabling claude.ai connectors from Claude Code settings · Issue \#58453 \- GitHub,
|
|
347
|
+
[https://github.com/anthropics/claude-code/issues/58453](https://github.com/anthropics/claude-code/issues/58453)
|
|
348
|
+
14. I cut Claude Code's token usage by 65% with a local dependency graph and it remembers what it learned across
|
|
349
|
+
sessions \- Reddit,
|
|
350
|
+
[https://www.reddit.com/r/ClaudeCode/comments/1rdo5ul/i\_cut\_claude\_codes\_token\_usage\_by\_65\_with\_a\_local/](https://www.reddit.com/r/ClaudeCode/comments/1rdo5ul/i_cut_claude_codes_token_usage_by_65_with_a_local/)
|
|
351
|
+
15. Claude Code surfaces are invisible, undocumented, and unreliable — users waste significant effort on workarounds ·
|
|
352
|
+
Issue \#46770 \- GitHub,
|
|
353
|
+
[https://github.com/anthropics/claude-code/issues/46770](https://github.com/anthropics/claude-code/issues/46770)
|
|
354
|
+
16. Connect claude.ai Projects to Claude Code (VS Code / CLI) · Issue \#64779 \- GitHub,
|
|
355
|
+
[https://github.com/anthropics/claude-code/issues/64779](https://github.com/anthropics/claude-code/issues/64779)
|
|
356
|
+
17. Feature Request: Sync memory between Claude Code and claude.ai \#47299 \- GitHub,
|
|
357
|
+
[https://github.com/anthropics/claude-code/issues/47299](https://github.com/anthropics/claude-code/issues/47299)
|
|
358
|
+
18. Claude Desktop to support project-level CLAUDE.md reading · Issue \#30530 \- GitHub,
|
|
359
|
+
[https://github.com/anthropics/claude-code/issues/30530](https://github.com/anthropics/claude-code/issues/30530)
|
|
360
|
+
19. \[FEATURE\] Official Claude Desktop build for Linux (Ubuntu LTS / Debian) \#65697 \- GitHub,
|
|
361
|
+
[https://github.com/anthropics/claude-code/issues/65697](https://github.com/anthropics/claude-code/issues/65697)
|
|
362
|
+
20. support AGENTS.md as a native context file alongside CLAUDE.md · Issue \#34235 \- GitHub,
|
|
363
|
+
[https://github.com/anthropics/claude-code/issues/34235](https://github.com/anthropics/claude-code/issues/34235)
|
|
364
|
+
21. Agent does not read AGENTS.override.md · Issue \#11838 · openai/codex \- GitHub,
|
|
365
|
+
[https://github.com/openai/codex/issues/11838](https://github.com/openai/codex/issues/11838)
|
|
366
|
+
22. \[FEATURE\] Add "comment" syntax to claude.md file format · Issue \#18119 \- GitHub,
|
|
367
|
+
[https://github.com/anthropics/claude-code/issues/18119](https://github.com/anthropics/claude-code/issues/18119)
|
|
368
|
+
23. \[BUG\] Claude not following Claude.md / memory instructions · Issue \#668 \- GitHub,
|
|
369
|
+
[https://github.com/anthropics/claude-code/issues/668](https://github.com/anthropics/claude-code/issues/668)
|
|
370
|
+
24. Codex in ChatGPT | AI Coding Agents for Software Engineering \- OpenAI,
|
|
371
|
+
[https://openai.com/codex/](https://openai.com/codex/)
|
|
372
|
+
25. What Codex Is Missing: It's the Harness, Not the Model \#18940 \- GitHub,
|
|
373
|
+
[https://github.com/openai/codex/issues/18940](https://github.com/openai/codex/issues/18940)
|
|
374
|
+
26. openai-codex · GitHub Topics, [https://github.com/topics/openai-codex](https://github.com/topics/openai-codex)
|
|
375
|
+
27. Multi-Agent V2 sends OpenAI-specific agent\_message items to external Responses providers · Issue \#33551 \- GitHub,
|
|
376
|
+
[https://github.com/openai/codex/issues/33551](https://github.com/openai/codex/issues/33551)
|
|
377
|
+
28. Sam Altman’s OpenAI launched Codex Micro, a limited-edition desktop keypad for AI agents,
|
|
378
|
+
[https://timesofindia.indiatimes.com/technology/tech-news/sam-altmans-openai-launched-codex-micro-a-limited-edition-desktop-keypad-for-ai-agents/articleshow/132431390.cms](https://timesofindia.indiatimes.com/technology/tech-news/sam-altmans-openai-launched-codex-micro-a-limited-edition-desktop-keypad-for-ai-agents/articleshow/132431390.cms)
|
|
379
|
+
29. OpenAI’s Codex Micro Keyboard launches at $230: A quiet debut for the AI coding companion,
|
|
380
|
+
[https://m.economictimes.com/magazines/panache/openais-codex-micro-keyboard-launches-at-230-a-quiet-debut-for-the-ai-coding-companion/articleshow/132447599.cms](https://m.economictimes.com/magazines/panache/openais-codex-micro-keyboard-launches-at-230-a-quiet-debut-for-the-ai-coding-companion/articleshow/132447599.cms)
|
|
381
|
+
30. Tech Wrap Today: What’s AI appreciation day, Perplexity’s SPACE sandbox, OpenAI’s Codex keyboard and more,
|
|
382
|
+
[https://www.financialexpress.com/life/technology-tech-wrap-today-whats-ai-appreciation-day-perplexitys-space-sandbox-openais-codex-keyboard-and-more-4293767/](https://www.financialexpress.com/life/technology-tech-wrap-today-whats-ai-appreciation-day-perplexitys-space-sandbox-openais-codex-keyboard-and-more-4293767/)
|
|
383
|
+
31. Clarity on the "Simple Codex" harness in Terminal Bench 2.0? \#12219 \- GitHub,
|
|
384
|
+
[https://github.com/openai/codex/discussions/12219](https://github.com/openai/codex/discussions/12219)
|
|
385
|
+
32. OpenSage: Self-programming Agent Generation Engine \- arXiv,
|
|
386
|
+
[https://arxiv.org/html/2602.16891v2](https://arxiv.org/html/2602.16891v2)
|
|
387
|
+
33. Simple Codex \- Terminal-Bench,
|
|
388
|
+
[https://www.tbench.ai/leaderboard/terminal-bench/2.0/simple\_codex/unknown/gpt-5.3-codex%40openai](https://www.tbench.ai/leaderboard/terminal-bench/2.0/simple_codex/unknown/gpt-5.3-codex%40openai)
|
|
389
|
+
34. Terminal-Bench 2.0 leaderboard,
|
|
390
|
+
[https://www.tbench.ai/leaderboard/terminal-bench/2.0](https://www.tbench.ai/leaderboard/terminal-bench/2.0)
|
|
391
|
+
35. Clarity on the "Simple Codex" harness in Terminal Bench 2.0? · Issue \#12199 \- GitHub,
|
|
392
|
+
[https://github.com/openai/codex/issues/12199](https://github.com/openai/codex/issues/12199)
|
|
393
|
+
36. Codex Desktop reaches 130 GB memory during Ultra multi-agent swarm (24 GB Mac) \#33390 \- GitHub,
|
|
394
|
+
[https://github.com/openai/codex/issues/33390](https://github.com/openai/codex/issues/33390)
|
|
395
|
+
37. (code=3221226505, signal=null). Most recent error: memory allocation of 126 bytes failed note: run with
|
|
396
|
+
\`RUST\_BACKTRACE=1\` environment variable to display a backtrace · Issue \#24216 · openai/codex \- GitHub,
|
|
397
|
+
[https://github.com/openai/codex/issues/24216](https://github.com/openai/codex/issues/24216)
|
|
398
|
+
38. Memory leak when running multiple agents · Issue \#23749 · openai/codex \- GitHub,
|
|
399
|
+
[https://github.com/openai/codex/issues/23749](https://github.com/openai/codex/issues/23749)
|
|
400
|
+
39. \[SEVERE REGRESSION\] GPT-5.6 Sol context cut again: 353K → 258K despite advertised 1.05M · Issue \#32806 ·
|
|
401
|
+
openai/codex \- GitHub, [https://github.com/openai/codex/issues/32806](https://github.com/openai/codex/issues/32806)
|
|
402
|
+
40. GPT-5.6 context can cross the 272K higher-usage threshold · Issue \#32486 · openai/codex,
|
|
403
|
+
[https://github.com/openai/codex/issues/32486](https://github.com/openai/codex/issues/32486)
|
|
404
|
+
41. Codex (gpt-5.5, Plus plan) — rate-limit cost per token jumped \~10-20x since June 16, draining the 5h budget in 2-3
|
|
405
|
+
prompts · Issue \#28879 \- GitHub,
|
|
406
|
+
[https://github.com/openai/codex/issues/28879](https://github.com/openai/codex/issues/28879)
|
|
407
|
+
42. Codex automatically consumed my token reset opportunity during long-running task \#28525,
|
|
408
|
+
[https://github.com/openai/codex/issues/28525](https://github.com/openai/codex/issues/28525)
|
|
409
|
+
43. GPT-5.5 Codex reasoning-token clustering at 516/1034/1552 may be leading to degraded performance on complex tasks
|
|
410
|
+
\#30364 \- GitHub, [https://github.com/openai/codex/issues/30364](https://github.com/openai/codex/issues/30364)
|
|
411
|
+
44. Multi-agent V2 regression: subagent instructions are no longer observable \#32753 \- GitHub,
|
|
412
|
+
[https://github.com/openai/codex/issues/32753](https://github.com/openai/codex/issues/32753)
|
|
413
|
+
45. Regression: encrypted MultiAgentV2 messages remove readable task audit trail · Issue \#28058 · openai/codex \-
|
|
414
|
+
GitHub, [https://github.com/openai/codex/issues/28058](https://github.com/openai/codex/issues/28058)
|
|
415
|
+
46. 0.137.0 (ChatGPT account): multi\_agent\_v2 enabled in config.toml breaks every turn with spawn\_agent
|
|
416
|
+
encrypted-tools 400 · Issue \#27331 · openai/codex \- GitHub,
|
|
417
|
+
[https://github.com/openai/codex/issues/27331](https://github.com/openai/codex/issues/27331)
|
|
418
|
+
47. MultiAgentV2 encrypted spawn\_agent schema returns 400: model not configured for encrypted tool use · Issue \#26753
|
|
419
|
+
· openai/codex \- GitHub,
|
|
420
|
+
[https://github.com/openai/codex/issues/26753](https://github.com/openai/codex/issues/26753)
|
|
421
|
+
48. multi\_agent\_v2 subagent results unusable — parent turn fails with "Encrypted function output content could not be
|
|
422
|
+
decrypted or decoded" · Issue \#33267 · openai/codex \- GitHub,
|
|
423
|
+
[https://github.com/openai/codex/issues/33267](https://github.com/openai/codex/issues/33267)
|
|
424
|
+
49. \[CLI\] GPT-5.5 forces MultiAgentV2 despite disable and hides documented custom-agent controls · Issue \#31097 ·
|
|
425
|
+
openai/codex \- GitHub, [https://github.com/openai/codex/issues/31097](https://github.com/openai/codex/issues/31097)
|
|
426
|
+
50. Scoped memory management for Codex (global, project, hybrid, and per-thread options) \#18343 \- GitHub,
|
|
427
|
+
[https://github.com/openai/codex/issues/18343](https://github.com/openai/codex/issues/18343)
|
|
428
|
+
51. Ralph Harness: a tiny guarded loop scaffold for Codex CLI \#29756 \- GitHub,
|
|
429
|
+
[https://github.com/openai/codex/discussions/29756](https://github.com/openai/codex/discussions/29756)
|
|
430
|
+
52. Tool suggestion: Ralph Harness guarded loop scaffold · Issue \#1146 · ComposioHQ/awesome-claude-skills \- GitHub,
|
|
431
|
+
[https://github.com/ComposioHQ/awesome-claude-skills/issues/1146](https://github.com/ComposioHQ/awesome-claude-skills/issues/1146)
|
|
432
|
+
53. ralph-loop · GitHub Topics,
|
|
433
|
+
[https://github.com/topics/ralph-loop?l=typescript\&o=desc\&s=forks](https://github.com/topics/ralph-loop?l=typescript&o=desc&s=forks)
|
|
434
|
+
54. ralph.md \- gmickel/flow-next \- GitHub,
|
|
435
|
+
[https://github.com/gmickel/gmickel-claude-marketplace/blob/main/plugins/flow-next/docs/ralph.md](https://github.com/gmickel/gmickel-claude-marketplace/blob/main/plugins/flow-next/docs/ralph.md)
|
|
436
|
+
55. lukas-grigis/ralphctl: A ralph harness for long-running AI coding tasks — a generator-evaluator loop that
|
|
437
|
+
orchestrates Claude Code, OpenAI Codex & GitHub Copilot across repositories,
|
|
438
|
+
[https://github.com/lukas-grigis/ralphctl](https://github.com/lukas-grigis/ralphctl)
|
|
439
|
+
56. Share your Thoughts on Composer 2.5\! \- Release Discussions \- Cursor \- Community Forum,
|
|
440
|
+
[https://forum.cursor.com/t/share-your-thoughts-on-composer-2-5/160935](https://forum.cursor.com/t/share-your-thoughts-on-composer-2-5/160935)
|
|
441
|
+
57. Composer 2.5 is now live\! \- Announcements \- Cursor \- Community Forum,
|
|
442
|
+
[https://forum.cursor.com/t/composer-2-5-is-now-live/160934](https://forum.cursor.com/t/composer-2-5-is-now-live/160934)
|
|
443
|
+
58. Compose 2.5 fast \- Discussions \- Cursor \- Community Forum,
|
|
444
|
+
[https://forum.cursor.com/t/compose-2-5-fast/163036](https://forum.cursor.com/t/compose-2-5-fast/163036)
|
|
445
|
+
59. Composer and Agent Mode \- Help \- Cursor \- Community Forum,
|
|
446
|
+
[https://forum.cursor.com/t/composer-and-agent-mode/51443](https://forum.cursor.com/t/composer-and-agent-mode/51443)
|
|
447
|
+
60. Composer \- Dependency Manager for PHP · GitHub,
|
|
448
|
+
[https://github.com/composer/composer](https://github.com/composer/composer)
|
|
449
|
+
61. Understanding Composer: composer.json, composer.lock, install, update, and the Rest of the Basics | by Chinmay Purav
|
|
450
|
+
| The Artisan's Journal | Jul, 2026 | Medium,
|
|
451
|
+
[https://medium.com/the-artisans-journal/understanding-composer-composer-json-composer-lock-install-update-and-the-rest-of-the-basics-a5b67d627ed5](https://medium.com/the-artisans-journal/understanding-composer-composer-json-composer-lock-install-update-and-the-rest-of-the-basics-a5b67d627ed5)
|
|
452
|
+
62. composer/composer \- Packagist.org,
|
|
453
|
+
[https://packagist.org/packages/composer/composer](https://packagist.org/packages/composer/composer)
|
|
454
|
+
63. CVE-2025-67746 Detail \- NVD,
|
|
455
|
+
[https://nvd.nist.gov/vuln/detail/CVE-2025-67746](https://nvd.nist.gov/vuln/detail/CVE-2025-67746)
|
|
456
|
+
64. Cursor Agent Completely Wiped My C: Drive and Deleted Everything \- Bug Reports,
|
|
457
|
+
[https://forum.cursor.com/t/cursor-agent-completely-wiped-my-c-drive-and-deleted-everything/164675](https://forum.cursor.com/t/cursor-agent-completely-wiped-my-c-drive-and-deleted-everything/164675)
|
|
458
|
+
65. An AI coding agent Composer 2.5 (Cursor) accidentally wiped most of my Desktop and nearly my project by running a
|
|
459
|
+
misquoted \`rmdir /s /q\` command. One quoting mistake turned a Gradle \`build\` cleanup into a recursive delete
|
|
460
|
+
from \`C:\\\`. Full incident report,
|
|
461
|
+
[https://forum.cursor.com/t/an-ai-coding-agent-composer-2-5-cursor-accidentally-wiped-most-of-my-desktop-and-nearly-my-project-by-running-a-misquoted-rmdir-s-q-command-one-quoting-mistake-turned-a-gradle-build-cleanup-into-a-recursive-delete-from-c-full-incident-report/164773](https://forum.cursor.com/t/an-ai-coding-agent-composer-2-5-cursor-accidentally-wiped-most-of-my-desktop-and-nearly-my-project-by-running-a-misquoted-rmdir-s-q-command-one-quoting-mistake-turned-a-gradle-build-cleanup-into-a-recursive-delete-from-c-full-incident-report/164773)
|
|
462
|
+
66. Serious data loss after Cursor Agent mis-executed rmdir /s /q on Windows — seeking awareness and support \- Bug
|
|
463
|
+
Reports,
|
|
464
|
+
[https://forum.cursor.com/t/serious-data-loss-after-cursor-agent-mis-executed-rmdir-s-q-on-windows-seeking-awareness-and-support/164051](https://forum.cursor.com/t/serious-data-loss-after-cursor-agent-mis-executed-rmdir-s-q-on-windows-seeking-awareness-and-support/164051)
|
|
465
|
+
67. Disk D wipe out \- Bug Reports \- Cursor \- Community Forum,
|
|
466
|
+
[https://forum.cursor.com/t/disk-d-wipe-out/165070](https://forum.cursor.com/t/disk-d-wipe-out/165070)
|
|
467
|
+
68. Has something changed with composer 2.5? \- Bug Reports \- Cursor \- Community Forum,
|
|
468
|
+
[https://forum.cursor.com/t/has-something-changed-with-composer-2-5/163473](https://forum.cursor.com/t/has-something-changed-with-composer-2-5/163473)
|
|
469
|
+
69. Only fast variant of Composer 2.5 is available \- Cursor \- Community Forum,
|
|
470
|
+
[https://forum.cursor.com/t/only-fast-variant-of-composer-2-5-is-available/160976](https://forum.cursor.com/t/only-fast-variant-of-composer-2-5-is-available/160976)
|
|
471
|
+
70. Serious data loss after Cursor Agent mis-executed rmdir /s /q on Windows — seeking awareness and support \- \#10 by
|
|
472
|
+
Abderrahmane\_B \- Bug Reports,
|
|
473
|
+
[https://forum.cursor.com/t/serious-data-loss-after-cursor-agent-mis-executed-rmdir-s-q-on-windows-seeking-awareness-and-support/164051/10](https://forum.cursor.com/t/serious-data-loss-after-cursor-agent-mis-executed-rmdir-s-q-on-windows-seeking-awareness-and-support/164051/10)
|
|
474
|
+
71. Serious data loss after Cursor Agent mis-executed rmdir /s /q on Windows — seeking awareness and support \- \#12 by
|
|
475
|
+
deanrie \- Bug Reports,
|
|
476
|
+
[https://forum.cursor.com/t/serious-data-loss-after-cursor-agent-mis-executed-rmdir-s-q-on-windows-seeking-awareness-and-support/164051/12](https://forum.cursor.com/t/serious-data-loss-after-cursor-agent-mis-executed-rmdir-s-q-on-windows-seeking-awareness-and-support/164051/12)
|
|
477
|
+
72. Composer 2.5 availability on Pro \- Cursor \- Community Forum,
|
|
478
|
+
[https://forum.cursor.com/t/composer-2-5-availability-on-pro/163088](https://forum.cursor.com/t/composer-2-5-availability-on-pro/163088)
|
|
479
|
+
73. Classic confinement for OpenCode \- Snapcraft Forum,
|
|
480
|
+
[https://forum.snapcraft.io/t/classic-confinement-for-opencode/51322](https://forum.snapcraft.io/t/classic-confinement-for-opencode/51322)
|
|
481
|
+
74. OpenCode | The open source AI coding agent, [https://opencode.ai/](https://opencode.ai/)
|
|
482
|
+
75. Intro | AI coding agent built for the terminal \- OpenCode, [https://opencode.ai/docs/](https://opencode.ai/docs/)
|
|
483
|
+
76. Why is opencode so popular? : r/vibecoding \- Reddit,
|
|
484
|
+
[https://www.reddit.com/r/vibecoding/comments/1qf0u10/why\_is\_opencode\_so\_popular/](https://www.reddit.com/r/vibecoding/comments/1qf0u10/why_is_opencode_so_popular/)
|
|
485
|
+
77. Manifest now supports OpenCode Go subscriptions : r/opencodeCLI \- Reddit,
|
|
486
|
+
[https://www.reddit.com/r/opencodeCLI/comments/1sof10t/manifest\_now\_supports\_opencode\_go\_subscriptions/](https://www.reddit.com/r/opencodeCLI/comments/1sof10t/manifest_now_supports_opencode_go_subscriptions/)
|
|
487
|
+
78. GitHub \- OpenCode, [https://opencode.ai/docs/github/](https://opencode.ai/docs/github/)
|
|
488
|
+
79. anomalyco/opencode: The open source coding agent. \- GitHub,
|
|
489
|
+
[https://github.com/anomalyco/opencode](https://github.com/anomalyco/opencode)
|
|
490
|
+
80. anomalyco/opencode-bench \- GitHub,
|
|
491
|
+
[https://github.com/anomalyco/opencode-bench](https://github.com/anomalyco/opencode-bench)
|
|
492
|
+
81. OpenCode \+ Augment Code \= Intent : r/opencodeCLI \- Reddit,
|
|
493
|
+
[https://www.reddit.com/r/opencodeCLI/comments/1r1enqx/opencode\_augment\_code\_intent/](https://www.reddit.com/r/opencodeCLI/comments/1r1enqx/opencode_augment_code_intent/)
|
|
494
|
+
82. \[Security Bug\] Subagent permissions not enforced \- configured restrictions ignored · Issue \#7474 ·
|
|
495
|
+
anomalyco/opencode \- GitHub,
|
|
496
|
+
[https://github.com/anomalyco/opencode/issues/7474](https://github.com/anomalyco/opencode/issues/7474)
|
|
497
|
+
83. Permission rules not enforced for "edit" operation performed by Task subagents · Issue \#23519 · anomalyco/opencode
|
|
498
|
+
\- GitHub, [https://github.com/anomalyco/opencode/issues/23519](https://github.com/anomalyco/opencode/issues/23519)
|
|
499
|
+
84. docs: warn about infinite subagent recursion when permission.task is configured globally · Issue \#17721 ·
|
|
500
|
+
anomalyco/opencode \- GitHub,
|
|
501
|
+
[https://github.com/anomalyco/opencode/issues/17721](https://github.com/anomalyco/opencode/issues/17721)
|
|
502
|
+
85. Workflow runs · anomalyco/opencode \- GitHub,
|
|
503
|
+
[https://github.com/sst/opencode/actions/workflows/opencode.yml](https://github.com/sst/opencode/actions/workflows/opencode.yml)
|
|
504
|
+
86. OpenCode was the first open source agent I used, and my main workhorse after exp... | Hacker News,
|
|
505
|
+
[https://news.ycombinator.com/item?id=47462013](https://news.ycombinator.com/item?id=47462013)
|
|
506
|
+
87. \[Bug\]: Subagents listed in \`opencode.json\` are incorrectly treated as primary agents (ignoring \`mode:
|
|
507
|
+
subagent\` from agent files) · Issue \#22130 \- GitHub,
|
|
508
|
+
[https://github.com/anomalyco/opencode/issues/22130](https://github.com/anomalyco/opencode/issues/22130)
|
|
509
|
+
88. Claude OAuth token requires re-authentication after every usage limit reset · Issue \#15562 · anomalyco/opencode \-
|
|
510
|
+
GitHub, [https://github.com/anomalyco/opencode/issues/15562](https://github.com/anomalyco/opencode/issues/15562)
|
|
511
|
+
89. OpenCode – Open source AI coding agent \- Hacker News,
|
|
512
|
+
[https://news.ycombinator.com/item?id=47460525](https://news.ycombinator.com/item?id=47460525)
|
|
513
|
+
90. \[Feature\]: Runtime Permission Mode Toggle (like Claude Code's Shift+Tab) · Issue \#7928 · anomalyco/opencode \-
|
|
514
|
+
GitHub, [https://github.com/anomalyco/opencode/issues/7928](https://github.com/anomalyco/opencode/issues/7928)
|
|
515
|
+
91. Custom mode: "subagent" agents not invocable via @name or task tool · Issue \#29616 · anomalyco/opencode \- GitHub,
|
|
516
|
+
[https://github.com/anomalyco/opencode/issues/29616](https://github.com/anomalyco/opencode/issues/29616)
|