Refactor permission and question services to use Effect#354
Refactor permission and question services to use Effect#354anandgupta42 wants to merge 10000 commits intomainfrom
Conversation
When the sidebar was collapsed (not on mobile), the background color was showing as the stronger variant instead of matching the base background. This fixes the hover state detection so users see a consistent lighter background when the sidebar is in collapsed mode.
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> Co-authored-by: Shoubhit Dash <shoubhit2005@gmail.com>
…nt text area (#15374)
…s to prevent content overflow issues
…text window (#16153) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com>
The gh CLI requires authentication which may not be available in all environments. Use curl for public GitHub API endpoints instead. https://claude.ai/code/session_01FVE7bSfST5rpzbEmUhNiBU
The fork was created with separate history from upstream, so git merge needs --allow-unrelated-histories to proceed. https://claude.ai/code/session_01FVE7bSfST5rpzbEmUhNiBU
# Conflicts: # .github/TEAM_MEMBERS # .github/actions/setup-git-committer/action.yml # .github/pull_request_template.md # .github/workflows/opencode.yml # .github/workflows/pr-management.yml # .github/workflows/pr-standards.yml # .gitignore # .opencode/command/issues.md # .opencode/opencode.jsonc # CONTRIBUTING.md # LICENSE # README.md # SECURITY.md # bun.lock # github/README.md # github/action.yml # github/index.ts # github/script/release # install # package.json # packages/opencode/Dockerfile # packages/opencode/package.json # packages/opencode/parsers-config.ts # packages/opencode/script/build.ts # packages/opencode/script/postinstall.mjs # packages/opencode/script/publish.ts # packages/opencode/src/acp/README.md # packages/opencode/src/acp/agent.ts # packages/opencode/src/agent/agent.ts # packages/opencode/src/cli/cmd/debug/agent.ts # packages/opencode/src/cli/cmd/github.ts # packages/opencode/src/cli/cmd/import.ts # packages/opencode/src/cli/cmd/mcp.ts # packages/opencode/src/cli/cmd/providers.ts # packages/opencode/src/cli/cmd/run.ts # packages/opencode/src/cli/cmd/serve.ts # packages/opencode/src/cli/cmd/tui/app.tsx # packages/opencode/src/cli/cmd/tui/attach.ts # packages/opencode/src/cli/cmd/tui/component/dialog-mcp.tsx # packages/opencode/src/cli/cmd/tui/component/dialog-provider.tsx # packages/opencode/src/cli/cmd/tui/component/dialog-status.tsx # packages/opencode/src/cli/cmd/tui/component/dialog-workspace-list.tsx # packages/opencode/src/cli/cmd/tui/component/logo.tsx # packages/opencode/src/cli/cmd/tui/component/prompt/index.tsx # packages/opencode/src/cli/cmd/tui/component/tips.tsx # packages/opencode/src/cli/cmd/tui/context/route.tsx # packages/opencode/src/cli/cmd/tui/context/sdk.tsx # packages/opencode/src/cli/cmd/tui/context/sync.tsx # packages/opencode/src/cli/cmd/tui/context/theme.tsx # packages/opencode/src/cli/cmd/tui/context/theme/aura.json # packages/opencode/src/cli/cmd/tui/context/theme/ayu.json # packages/opencode/src/cli/cmd/tui/context/theme/carbonfox.json # packages/opencode/src/cli/cmd/tui/context/theme/catppuccin-frappe.json # packages/opencode/src/cli/cmd/tui/context/theme/catppuccin-macchiato.json # packages/opencode/src/cli/cmd/tui/context/theme/catppuccin.json # packages/opencode/src/cli/cmd/tui/context/theme/cobalt2.json # packages/opencode/src/cli/cmd/tui/context/theme/cursor.json # packages/opencode/src/cli/cmd/tui/context/theme/dracula.json # packages/opencode/src/cli/cmd/tui/context/theme/everforest.json # packages/opencode/src/cli/cmd/tui/context/theme/flexoki.json # packages/opencode/src/cli/cmd/tui/context/theme/github.json # packages/opencode/src/cli/cmd/tui/context/theme/gruvbox.json # packages/opencode/src/cli/cmd/tui/context/theme/kanagawa.json # packages/opencode/src/cli/cmd/tui/context/theme/lucent-orng.json # packages/opencode/src/cli/cmd/tui/context/theme/material.json # packages/opencode/src/cli/cmd/tui/context/theme/matrix.json # packages/opencode/src/cli/cmd/tui/context/theme/mercury.json # packages/opencode/src/cli/cmd/tui/context/theme/monokai.json # packages/opencode/src/cli/cmd/tui/context/theme/nightowl.json # packages/opencode/src/cli/cmd/tui/context/theme/nord.json # packages/opencode/src/cli/cmd/tui/context/theme/one-dark.json # packages/opencode/src/cli/cmd/tui/context/theme/opencode.json # packages/opencode/src/cli/cmd/tui/context/theme/orng.json # packages/opencode/src/cli/cmd/tui/context/theme/osaka-jade.json # packages/opencode/src/cli/cmd/tui/context/theme/palenight.json # packages/opencode/src/cli/cmd/tui/context/theme/rosepine.json # packages/opencode/src/cli/cmd/tui/context/theme/solarized.json # packages/opencode/src/cli/cmd/tui/context/theme/synthwave84.json # packages/opencode/src/cli/cmd/tui/context/theme/tokyonight.json # packages/opencode/src/cli/cmd/tui/context/theme/vercel.json # packages/opencode/src/cli/cmd/tui/context/theme/vesper.json # packages/opencode/src/cli/cmd/tui/context/theme/zenburn.json # packages/opencode/src/cli/cmd/tui/routes/home.tsx # packages/opencode/src/cli/cmd/tui/routes/session/footer.tsx # packages/opencode/src/cli/cmd/tui/routes/session/index.tsx # packages/opencode/src/cli/cmd/tui/routes/session/permission.tsx # packages/opencode/src/cli/cmd/tui/routes/session/sidebar.tsx # packages/opencode/src/cli/cmd/tui/thread.ts # packages/opencode/src/cli/cmd/tui/util/clipboard.ts # packages/opencode/src/cli/cmd/tui/worker.ts # packages/opencode/src/cli/cmd/uninstall.ts # packages/opencode/src/cli/cmd/upgrade.ts # packages/opencode/src/cli/cmd/web.ts # packages/opencode/src/cli/error.ts # packages/opencode/src/cli/logo.ts # packages/opencode/src/command/index.ts # packages/opencode/src/config/config.ts # packages/opencode/src/config/migrate-tui-config.ts # packages/opencode/src/config/paths.ts # packages/opencode/src/control-plane/adaptors/worktree.ts # packages/opencode/src/effect/runtime.ts # packages/opencode/src/file/index.ts # packages/opencode/src/file/protected.ts # packages/opencode/src/flag/flag.ts # packages/opencode/src/global/index.ts # packages/opencode/src/index.ts # packages/opencode/src/installation/index.ts # packages/opencode/src/mcp/index.ts # packages/opencode/src/mcp/oauth-callback.ts # packages/opencode/src/mcp/oauth-provider.ts # packages/opencode/src/permission/next.ts # packages/opencode/src/permission/schema.ts # packages/opencode/src/plugin/codex.ts # packages/opencode/src/plugin/copilot.ts # packages/opencode/src/plugin/index.ts # packages/opencode/src/project/instance.ts # packages/opencode/src/project/project.ts # packages/opencode/src/project/vcs.ts # packages/opencode/src/provider/auth-service.ts # packages/opencode/src/provider/error.ts # packages/opencode/src/provider/models.ts # packages/opencode/src/provider/provider.ts # packages/opencode/src/question/index.ts # packages/opencode/src/question/schema.ts # packages/opencode/src/server/routes/config.ts # packages/opencode/src/server/routes/experimental.ts # packages/opencode/src/server/routes/global.ts # packages/opencode/src/server/routes/project.ts # packages/opencode/src/server/routes/pty.ts # packages/opencode/src/server/routes/session.ts # packages/opencode/src/server/server.ts # packages/opencode/src/session/compaction.ts # packages/opencode/src/session/index.ts # packages/opencode/src/session/message-v2.ts # packages/opencode/src/session/processor.ts # packages/opencode/src/session/prompt.ts # packages/opencode/src/session/prompt/anthropic.txt # packages/opencode/src/session/prompt/codex_header.txt # packages/opencode/src/session/prompt/qwen.txt # packages/opencode/src/session/retry.ts # packages/opencode/src/session/schema.ts # packages/opencode/src/session/system.ts # packages/opencode/src/share/share-next.ts # packages/opencode/src/skill/skill.ts # packages/opencode/src/storage/db.ts # packages/opencode/src/tool/apply_patch.ts # packages/opencode/src/tool/bash.ts # packages/opencode/src/tool/edit.ts # packages/opencode/src/tool/external-directory.ts # packages/opencode/src/tool/registry.ts # packages/opencode/src/tool/skill.ts # packages/opencode/src/tool/tool.ts # packages/opencode/src/tool/webfetch.ts # packages/opencode/src/tool/write.ts # packages/opencode/src/util/filesystem.ts # packages/opencode/src/util/instance-state.ts # packages/opencode/src/util/schema.ts # packages/opencode/src/util/token.ts # packages/opencode/test/agent/agent.test.ts # packages/opencode/test/cli/import.test.ts # packages/opencode/test/config/agent-color.test.ts # packages/opencode/test/config/config.test.ts # packages/opencode/test/file/path-traversal.test.ts # packages/opencode/test/fixture/fixture.ts # packages/opencode/test/mcp/headers.test.ts # packages/opencode/test/mcp/oauth-auto-connect.test.ts # packages/opencode/test/mcp/oauth-browser.test.ts # packages/opencode/test/permission/next.test.ts # packages/opencode/test/project/project.test.ts # packages/opencode/test/provider/amazon-bedrock.test.ts # packages/opencode/test/provider/gitlab-duo.test.ts # packages/opencode/test/provider/provider.test.ts # packages/opencode/test/provider/transform.test.ts # packages/opencode/test/pty/pty-session.test.ts # packages/opencode/test/question/question.test.ts # packages/opencode/test/session/compaction.test.ts # packages/opencode/test/session/llm.test.ts # packages/opencode/test/session/retry.test.ts # packages/opencode/test/skill/skill.test.ts # packages/opencode/test/tool/fixtures/models-api.json # packages/opencode/test/tool/read.test.ts # packages/opencode/test/tool/registry.test.ts # packages/opencode/test/tool/skill.test.ts # packages/opencode/test/tool/truncation.test.ts # packages/opencode/test/tool/webfetch.test.ts # packages/opencode/test/util/instance-state.test.ts # packages/plugin/package.json # packages/script/src/index.ts # packages/sdk/js/package.json # packages/sdk/js/src/gen/types.gen.ts # packages/sdk/js/src/v2/gen/sdk.gen.ts # packages/sdk/js/src/v2/gen/types.gen.ts # packages/sdk/openapi.json # packages/util/package.json # packages/util/src/error.ts # script/changelog.ts # script/publish.ts # sdks/vscode/README.md # sdks/vscode/package.json # sdks/vscode/script/release # turbo.json
Re-applied 155 altimate_change marker blocks across 40 files that were overwritten during the v1.2.27 upstream merge with unrelated histories. https://claude.ai/code/session_01FVE7bSfST5rpzbEmUhNiBU
- Remove duplicate wasm URL in parsers-config.ts (upstream line after our marker) - Rebrand brew tap references from anomalyco/tap to AltimateAI/tap https://claude.ai/code/session_01FVE7bSfST5rpzbEmUhNiBU
…lication Remove original upstream lines that were left behind when altimate_change blocks were re-applied. Fix workspace configuration in root package.json to use explicit package list instead of glob patterns. Note: Some typecheck errors remain in 23 files due to upstream API changes and complex multi-line block re-application issues that need manual review. https://claude.ai/code/session_01FVE7bSfST5rpzbEmUhNiBU
- Fix duplicate code after altimate_change block re-application - Update altimate code to adapt to upstream API changes (permission, MCP, sync, SDK, skill, tool, session, config) - Add missing imports (Telemetry, MemoryPrompt, Tracer, etc.) - Fix test files to use updated upstream APIs - Restore removed upstream functions needed by our code https://claude.ai/code/session_01FVE7bSfST5rpzbEmUhNiBU
- Add @altimateai/altimate-core and @altimateai/drivers as dev deps - Add yaml and @types/js-yaml for dbt-profiles module resolution - Fix unused @ts-expect-error directive in dbt-profiles.ts https://claude.ai/code/session_01FVE7bSfST5rpzbEmUhNiBU
|
Important Review skippedToo many files! This PR contains 160 files, which is 10 over the limit of 150. ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (2)
📒 Files selected for processing (160)
You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
| GitGuardian id | GitGuardian status | Secret | Commit | Filename | |
|---|---|---|---|---|---|
| 29070703 | Triggered | Generic High Entropy Secret | 0843964 | packages/console/app/src/routes/feishu.ts | View secret |
🛠 Guidelines to remediate hardcoded secrets
- Understand the implications of revoking this secret by investigating where it is used in your code.
- Replace and store your secret safely. Learn here the best practices.
- Revoke and rotate this secret.
- If possible, rewrite git history. Rewriting git history is not a trivial act. You might completely break other contributing developers' workflow and you risk accidentally deleting legitimate data.
To avoid such incidents in the future consider
- following these best practices for managing and storing secrets including API keys and other credentials
- install secret detection on pre-commit to catch secret before it leaves your machine and ease remediation.
🦉 GitGuardian detects secrets in your source code to help developers and security teams secure the modern development process. You are seeing this because you or someone else with access to this repository has authorized GitGuardian to scan your pull request.
Summary
This PR refactors the permission and question request handling to use the Effect library for better composability and testability. The main changes include:
packages/opencode/src/permission/service.tsandpackages/opencode/src/question/service.tsthat implement permission and question request handling using Effect'sServiceMappatternpackages/opencode/src/permission/next.tsandpackages/opencode/src/question/index.tsto use the new service layer via theruntimeeffectPermissionRequesttype definition to the SDK's OpenAPI schema with proper validation patternsPermissionRequest,EventPermissionAsked, andEventPermissionRepliedtypesThe refactoring maintains backward compatibility while improving the internal architecture for better separation of concerns and testability.
Test Plan
Checklist
https://claude.ai/code/session_01FVE7bSfST5rpzbEmUhNiBU