The open source coding agent.
288 matches across 11 categories. Click a row to expand file-level details.
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | script/upgrade-opentui.ts | 184 | function findStaleLockfileEntriesInText(txt: string) { |
| LOW | script/github/close-prs.ts | 369 | function requireNonNegativeInteger(name: string, value: string | undefined) { |
| LOW | …es/effect-drizzle-sqlite/src/internal/drizzle-utils.ts | 25 | export function getViewSelectedFieldsRuntime(view: SQLiteViewBase) { |
| LOW | …ages/effect-drizzle-sqlite/src/up-migrations/sqlite.ts | 39 | export function prepareSQLiteMigrationBackfill( |
| LOW | …ages/effect-drizzle-sqlite/src/up-migrations/sqlite.ts | 96 | export function buildSQLiteMigrationBackfillStatements( |
| LOW | packages/ui/src/pierre/selection-bridge.ts | 67 | export function restoreShadowTextSelection(root: ShadowRoot | undefined, range: Range | undefined) { |
| LOW | packages/ui/src/pierre/selection-bridge.ts | 82 | export function createLineNumberSelectionBridge() { |
| LOW | packages/ui/src/pierre/comment-hover.ts | 6 | export function createHoverCommentUtility(props: { |
| LOW | packages/ui/src/v2/components/segmented-control-v2.tsx | 27 | function useSegmentedControlContext() { |
| LOW | packages/ui/src/components/line-comment-annotations.tsx | 572 | export function createLineCommentHoverRenderer(props: { |
| LOW | packages/ui/src/components/file.tsx | 545 | function createLocalVirtualStrategy(host: () => HTMLDivElement | undefined, enabled: () => boolean): VirtualStrategy { |
| LOW | packages/ui/src/components/file.tsx | 579 | function createSharedVirtualStrategy(host: () => HTMLDivElement | undefined, enabled: () => boolean): VirtualStrategy { |
| LOW | packages/ui/src/components/dropdown-menu.tsx | 173 | function DropdownMenuItemDescription(props: ParentProps<DropdownMenuItemDescriptionProps>) { |
| LOW | packages/ui/src/components/dropdown-menu.tsx | 189 | function DropdownMenuItemIndicator(props: ParentProps<DropdownMenuItemIndicatorProps>) { |
| LOW | packages/ui/src/components/context-menu.tsx | 173 | function ContextMenuItemDescription(props: ParentProps<ContextMenuItemDescriptionProps>) { |
| LOW | packages/ui/src/theme/resolve.ts | 516 | function generateNeutralAlphaScale(neutralScale: HexColor[], isDark: boolean): HexColor[] { |
| LOW | …ub-copilot/chat/map-openai-compatible-finish-reason.ts | 3 | export function mapOpenAICompatibleFinishReason( |
| LOW | …lot/chat/convert-to-openai-compatible-chat-messages.ts | 13 | export function convertToOpenAICompatibleChatMessages(prompt: LanguageModelV3Prompt): OpenAICompatibleChatPrompt { |
| LOW | …opilot/responses/map-openai-responses-finish-reason.ts | 3 | export function mapOpenAIResponseFinishReason({ |
| LOW | …copilot/responses/convert-to-openai-responses-input.ts | 21 | export async function convertToOpenAIResponsesInput({ |
| LOW | …b-copilot/responses/openai-responses-language-model.ts | 1580 | function isResponseOutputItemDoneChunk( |
| LOW | …b-copilot/responses/openai-responses-language-model.ts | 1586 | function isResponseOutputItemDoneReasoningChunk(chunk: z.infer<typeof openaiResponsesChunkSchema>): chunk is z.infer< |
| LOW | …b-copilot/responses/openai-responses-language-model.ts | 1606 | function isResponseFunctionCallArgumentsDeltaChunk( |
| LOW | …b-copilot/responses/openai-responses-language-model.ts | 1611 | function isResponseImageGenerationCallPartialImageChunk( |
| LOW | …b-copilot/responses/openai-responses-language-model.ts | 1617 | function isResponseCodeInterpreterCallCodeDeltaChunk( |
| LOW | …b-copilot/responses/openai-responses-language-model.ts | 1623 | function isResponseCodeInterpreterCallCodeDoneChunk( |
| LOW | …b-copilot/responses/openai-responses-language-model.ts | 1629 | function isResponseOutputItemAddedChunk( |
| LOW | …b-copilot/responses/openai-responses-language-model.ts | 1635 | function isResponseOutputItemAddedReasoningChunk(chunk: z.infer<typeof openaiResponsesChunkSchema>): chunk is z.infer< |
| LOW | …b-copilot/responses/openai-responses-language-model.ts | 1643 | function isResponseAnnotationAddedChunk( |
| LOW | …b-copilot/responses/openai-responses-language-model.ts | 1649 | function isResponseReasoningSummaryPartAddedChunk( |
| LOW | …b-copilot/responses/openai-responses-language-model.ts | 1655 | function isResponseReasoningSummaryTextDeltaChunk( |
| LOW | packages/app/e2e/smoke/session-timeline.spec.ts | 374 | async function expectSessionTimelineReady( |
| LOW | packages/app/src/context/comments.tsx | 78 | function createCommentSessionState(store: Store<CommentStore>, setStore: SetStoreFunction<CommentStore>) { |
| LOW | packages/app/src/context/comments.tsx | 164 | export function createCommentSessionForTest(comments: Record<string, LineComment[]> = {}) { |
| LOW | packages/app/src/context/terminal.tsx | 86 | export function getWorkspaceTerminalCacheKey(dir: string, scope?: string) { |
| LOW | packages/app/src/context/terminal.tsx | 111 | export function getLegacyTerminalStorageKeys(dir: string, legacySessionID?: string) { |
| LOW | packages/app/src/context/terminal.tsx | 156 | function createWorkspaceTerminalSession( |
| LOW | packages/app/src/context/model-variant.ts | 21 | export function getConfiguredAgentVariant(input: { agent: Agent | undefined; model: Model | undefined }) { |
| LOW | packages/app/src/context/command.tsx | 105 | export function upsertCommandRegistration(registrations: CommandRegistration[], entry: CommandRegistration) { |
| LOW | …ckages/app/src/context/global-sync/session-prefetch.ts | 12 | export function shouldSkipSessionPrefetch(input: { message: boolean; info?: Meta; chunk: number; now?: number }) { |
| LOW | …ckages/app/src/context/global-sync/session-prefetch.ts | 34 | export function getSessionPrefetchPromise(directory: string, sessionID: string) { |
| LOW | …ckages/app/src/context/global-sync/session-prefetch.ts | 38 | export function clearSessionPrefetchInflight() { |
| LOW | …ckages/app/src/context/global-sync/session-prefetch.ts | 91 | export function clearSessionPrefetchDirectory(directory: string) { |
| LOW | packages/app/src/context/global-sync/event-reducer.ts | 64 | export function cleanupDroppedSessionCaches( |
| LOW | packages/app/src/context/global-sync/session-load.ts | 3 | export async function loadRootSessionsWithFallback(input: RootLoadArgs) { |
| LOW | packages/app/src/context/global-sync/session-cache.ts | 47 | export function pickSessionCacheEvictions(input: { |
| LOW | packages/app/src/utils/server-errors.ts | 51 | function isProviderModelNotFoundErrorLike(error: unknown): error is ProviderModelNotFoundError { |
| LOW | packages/app/src/utils/server-errors.ts | 57 | export function parseReadableConfigInvalidError(errorInput: ConfigInvalidError, translator?: Translator) { |
| LOW | packages/app/src/utils/server-errors.ts | 75 | function parseReadableProviderModelNotFoundError(errorInput: ProviderModelNotFoundError, translator?: Translator) { |
| LOW | packages/app/src/components/titlebar-session-events.ts | 12 | export function readSessionTabsRemovedDetail(event: Event): SessionTabsRemovedDetail | undefined { |
| LOW | packages/app/src/components/prompt-input/history.ts | 25 | export function canNavigateHistoryAtCursor(direction: "up" | "down", text: string, cursor: number, inHistory = false) { |
| LOW | packages/app/src/components/prompt-input/history.ts | 55 | export function clonePromptHistoryComments(comments: PromptHistoryComment[]) { |
| LOW | packages/app/src/components/prompt-input/history.ts | 62 | export function normalizePromptHistoryEntry(entry: PromptHistoryStoredEntry): PromptHistoryEntry { |
| LOW | …s/app/src/components/session/session-context-format.ts | 3 | export function createSessionContextFormatter(locale: string) { |
| LOW | …pp/src/components/session/session-context-breakdown.ts | 70 | export function estimateSessionContextBreakdown(args: { |
| LOW | packages/app/src/pages/session.tsx | 90 | function createSessionHistoryLoader(input: SessionHistoryWindowInput) { |
| LOW | packages/app/src/pages/layout/inline-editor.tsx | 5 | export function createInlineEditorController() { |
| LOW | packages/app/src/pages/session/message-timeline.tsx | 596 | function scheduleMeasuredBottomAnchor() { |
| LOW | …p/src/pages/session/composer/session-composer-state.ts | 26 | export function createSessionComposerState(options?: { closeMs?: number | (() => number) }) { |
| LOW | packages/web/src/components/icons/index.tsx | 18 | export function IconAdjustmentsHorizontal(props: JSX.SvgSVGAttributes<SVGSVGElement>) { |
| 102 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | patches/install-korean-ime-fix.sh | 1 | #!/usr/bin/env bash |
| LOW | packages/ui/src/context/marked.tsx | 21 | // "terminal.titleForeground": "#adadb1", |
| LOW | packages/ui/src/components/thinking-heading.stories.tsx | 41 | // Custom properties driven by sliders: |
| LOW | packages/llm/test/provider/bedrock-converse.test.ts | 561 | }) |
| LOW | packages/llm/example/tutorial.ts | 21 | const model = OpenAI.configure({ |
| LOW | packages/llm/src/cache-policy.ts | 1 | // Apply an `LLMRequest.cache` policy by injecting `CacheHint`s onto the parts |
| LOW | packages/llm/src/protocols/openai-responses.ts | 581 | |
| LOW | packages/llm/src/protocols/gemini.ts | 141 | const mediaData = ProviderShared.mediaBytes |
| LOW | packages/llm/src/protocols/gemini.ts | 281 | // ============================================================================= |
| LOW | packages/llm/src/protocols/openai-chat.ts | 281 | // ============================================================================= |
| LOW | packages/web/src/components/share/content-diff.tsx | 201 | // @@ -1,21 +1,25 @@ |
| LOW | packages/web/src/components/share/content-diff.tsx | 221 | // +normalized content with consistent spacing |
| LOW | packages/opencode/test/provider/gitlab-duo.test.ts | 1 | export {} |
| LOW | packages/opencode/test/provider/gitlab-duo.test.ts | 21 | // JSON.stringify({ |
| LOW | packages/opencode/test/provider/gitlab-duo.test.ts | 41 | // await using tmp = await tmpdir({ |
| LOW | packages/opencode/test/provider/gitlab-duo.test.ts | 61 | // Env.set("GITLAB_TOKEN", "test-token") |
| LOW | packages/opencode/test/provider/gitlab-duo.test.ts | 81 | // }, |
| LOW | packages/opencode/test/provider/gitlab-duo.test.ts | 101 | // }, |
| LOW | packages/opencode/test/provider/gitlab-duo.test.ts | 121 | // const authPath2 = path.join(Global.Path.data, "auth.json") |
| LOW | packages/opencode/test/provider/gitlab-duo.test.ts | 141 | // }, |
| LOW | packages/opencode/test/provider/gitlab-duo.test.ts | 161 | // ) |
| LOW | packages/opencode/test/provider/gitlab-duo.test.ts | 181 | // path.join(dir, "opencode.json"), |
| LOW | packages/opencode/test/provider/gitlab-duo.test.ts | 201 | // const providers = await list() |
| LOW | packages/opencode/test/provider/gitlab-duo.test.ts | 221 | // Env.set("GITLAB_TOKEN", "test-token") |
| LOW | packages/opencode/test/provider/gitlab-duo.test.ts | 241 | // gitlab: { |
| LOW | packages/opencode/test/provider/gitlab-duo.test.ts | 261 | // expect(providers[ProviderID.gitlab]).toBeDefined() |
| LOW | packages/opencode/test/provider/gitlab-duo.test.ts | 281 | // init: async () => { |
| LOW | packages/opencode/test/provider/gitlab-duo.test.ts | 301 | // }, |
| LOW | packages/opencode/test/provider/gitlab-duo.test.ts | 321 | // cost: { input: 0, output: 0, cache: { read: 0, write: 0 } }, |
| LOW | packages/opencode/test/provider/gitlab-duo.test.ts | 341 | // }, |
| LOW | packages/opencode/test/provider/gitlab-duo.test.ts | 361 | // const language = await getLanguage(model) |
| LOW | packages/opencode/test/provider/gitlab-duo.test.ts | 381 | // const gitlab = providers[ProviderID.gitlab] |
| LOW | packages/opencode/test/provider/gitlab-duo.test.ts | 401 | // Env.set("GITLAB_TOKEN", "test-token") |
| LOW | …opencode/test/server/httpapi-event-diagnostics.test.ts | 1 | // Diagnostic suite for /event SSE delivery. |
| LOW | …kages/opencode/test/cli/tui/prompt-submit-race.test.ts | 1 | import { describe, expect, test } from "bun:test" |
| LOW | packages/opencode/test/cli/smokes/read-only.test.ts | 1 | // Tier-A smoke tests for read-only commands. Each test asserts only that the |
| LOW | …kages/opencode/test/cli/run/scrollback.surface.test.ts | 401 | } finally { |
| LOW | …kages/opencode/test/cli/run/scrollback.surface.test.ts | 421 | // is false, and a filetype is set — it relies on the next |
| LOW | packages/opencode/test/cli/help/help-snapshots.test.ts | 1 | // Help-text snapshots for every CLI command + key subcommand. Catches |
| LOW | packages/opencode/test/cli/help/help-snapshots.test.ts | 21 | // |
| LOW | packages/opencode/test/lib/snapshot.ts | 1 | // Shared normalization helpers for cross-OS-stable snapshot tests. |
| LOW | packages/opencode/test/lib/cli-process.ts | 1 | // Subprocess test harness for the opencode CLI. Spawns the real binary against |
| LOW | packages/opencode/test/lib/cli-process.ts | 141 | // Closes stdin. ACP exits cleanly on stdin EOF; the scope finalizer also |
| LOW | packages/opencode/test/lib/cli-process.ts | 201 | // ignore; ChildProcess.make defaults to pipe, so we set it explicitly. |
| LOW | packages/opencode/test/tool/question.test.ts | 101 | // header: "This Header is Definitely More Than Thirty Characters Long", |
| LOW | packages/opencode/test/tool/question.test.ts | 121 | // options: [ |
| LOW | packages/opencode/test/session/compaction.test.ts | 441 | Effect.gen(function* () { |
| LOW | packages/opencode/src/plugin/xai.ts | 581 | let refreshPromise: Promise<RefreshResult> | undefined |
| LOW | packages/opencode/src/cli/cmd/run.ts | 1 | // CLI entry point for `opencode run`. |
| LOW | packages/opencode/src/cli/cmd/run/question.shared.ts | 1 | // Pure state machine for the question UI. |
| LOW | packages/opencode/src/cli/cmd/run/tool.ts | 1 | // Per-tool display rules shared across `opencode run` output paths. |
| LOW | packages/opencode/src/cli/cmd/run/demo.ts | 1 | // Demo mode for testing direct interactive mode without a real SDK. |
| LOW | packages/opencode/src/cli/cmd/run/footer.ts | 1 | // RunFooter -- the mutable control surface for direct interactive mode. |
| LOW | packages/opencode/src/cli/cmd/run/footer.permission.tsx | 1 | // Permission UI body for the direct-mode footer. |
| LOW | packages/opencode/src/cli/cmd/run/stream.transport.ts | 1 | // Global event subscription and prompt turn coordination. |
| LOW | packages/opencode/src/cli/cmd/run/footer.question.tsx | 1 | // Question UI body for the direct-mode footer. |
| LOW | packages/opencode/src/cli/cmd/run/runtime.ts | 1 | // Top-level orchestrator for `run --interactive`. |
| LOW | packages/opencode/src/cli/cmd/run/types.ts | 1 | // Shared type vocabulary for the direct interactive mode (`run --interactive`). |
| LOW | packages/opencode/src/cli/cmd/run/permission.shared.ts | 1 | // Pure state machine for the permission UI. |
| LOW | packages/opencode/src/cli/cmd/run/footer.view.tsx | 1 | // Top-level footer layout for direct interactive mode. |
| 16 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | …ages/ui/src/components/timeline-playground.stories.tsx | 26 | // Lorem ipsum content |
| LOW | …ages/ui/src/components/timeline-playground.stories.tsx | 29 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna a |
| LOW | …ages/ui/src/components/timeline-playground.stories.tsx | 29 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna a |
| LOW | packages/opencode/test/config/config.test.ts | 561 | email: "user@example.com", |
| LOW | packages/opencode/test/config/config.test.ts | 571 | email: "user@example.com", |
| LOW | packages/opencode/test/cli/run/prompt.shared.test.ts | 140 | expect(mentionTriggerIndex("foo@bar.com")).toBeUndefined() |
| LOW | packages/opencode/test/account/service.test.ts | 179 | email: "user@example.com", |
| LOW | packages/opencode/test/account/service.test.ts | 220 | email: "user@example.com", |
| LOW | packages/opencode/test/account/service.test.ts | 264 | email: "user@example.com", |
| LOW | packages/opencode/test/account/service.test.ts | 328 | email: "user@example.com", |
| LOW | packages/opencode/test/account/service.test.ts | 373 | ? json(req, { id: "user-1", email: "user@example.com" }) |
| LOW | packages/opencode/test/account/service.test.ts | 384 | expect(res.email).toBe("user@example.com") |
| LOW | packages/opencode/test/account/service.test.ts | 391 | email: "user@example.com", |
| LOW | packages/opencode/test/share/share-next.test.ts | 79 | email: "user@example.com", |
| LOW | packages/console/app/src/i18n/da.ts | 746 | "enterprise.form.company.placeholder": "Acme Inc", |
| LOW | packages/console/app/src/i18n/de.ts | 753 | "enterprise.form.company.placeholder": "Acme Inc", |
| LOW | packages/console/app/src/i18n/ar.ts | 740 | "enterprise.form.company.placeholder": "Acme Inc", |
| LOW | packages/console/app/src/i18n/it.ts | 749 | "enterprise.form.company.placeholder": "Acme Inc", |
| LOW | packages/console/app/src/i18n/es.ts | 752 | "enterprise.form.company.placeholder": "Acme Inc", |
| LOW | packages/console/app/src/i18n/br.ts | 753 | "enterprise.form.company.placeholder": "Acme Inc", |
| LOW | packages/console/app/src/i18n/tr.ts | 753 | "enterprise.form.company.placeholder": "Acme Inc", |
| LOW | packages/console/app/src/i18n/en.ts | 742 | "enterprise.form.company.placeholder": "Acme Inc", |
| LOW | packages/console/app/src/i18n/uk.ts | 711 | "enterprise.form.company.placeholder": "Acme Inc", |
| LOW | packages/console/app/src/i18n/zh.ts | 723 | "enterprise.form.company.placeholder": "Acme Inc", |
| LOW | packages/console/app/src/i18n/zht.ts | 722 | "enterprise.form.company.placeholder": "Acme Inc", |
| LOW | packages/console/app/src/i18n/fr.ts | 760 | "enterprise.form.company.placeholder": "Acme Inc", |
| LOW | packages/console/app/src/i18n/th.ts | 743 | "enterprise.form.company.placeholder": "Acme Inc", |
| LOW | packages/console/app/src/i18n/ru.ts | 757 | "enterprise.form.company.placeholder": "Acme Inc", |
| LOW | packages/console/app/src/i18n/no.ts | 747 | "enterprise.form.company.placeholder": "Acme Inc", |
| LOW | packages/console/app/src/i18n/pl.ts | 750 | "enterprise.form.company.placeholder": "Acme Inc", |
| LOW | packages/console/app/src/i18n/ko.ts | 740 | "enterprise.form.company.placeholder": "Acme Inc", |
| LOW | packages/console/app/src/i18n/ja.ts | 749 | "enterprise.form.company.placeholder": "Acme Inc", |
| Severity | File | Line | Snippet |
|---|---|---|---|
| CRITICAL | packages/core/src/session-message.ts | 150 | error: SessionEvent.Step.Failed.data.fields.error.pipe(Schema.optional), |
| CRITICAL | …/src/cli/cmd/tui/component/dialog-workspace-create.tsx | 86 | await input.sdk.client.experimental.workspace.syncList().catch(() => undefined) |
| CRITICAL | …/src/cli/cmd/tui/component/dialog-workspace-create.tsx | 107 | result = await input.sdk.client.experimental.workspace.warp({ |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | patches/install-korean-ime-fix.sh | 41 | # ── 1. Clone or update fork ──────────────────────────────────────────── |
| MEDIUM | patches/install-korean-ime-fix.sh | 52 | # ── 2. Verify the IME fix is present in source ──────────────────────── |
| MEDIUM | patches/install-korean-ime-fix.sh | 73 | # ── 3. Install dependencies ──────────────────────────────────────────── |
| MEDIUM | patches/install-korean-ime-fix.sh | 78 | # ── 4. Build (current platform only) ────────────────────────────────── |
| MEDIUM | patches/install-korean-ime-fix.sh | 83 | # ── 5. Install binary ────────────────────────────────────────────────── |
| MEDIUM | packages/opencode/test/session/compaction.test.ts | 450 | // ─── Bug reproduction tests ─────────────────────────────────────────── |
| MEDIUM | packages/opencode/src/session/message-v2.ts | 389 | // ── Prompt input schemas ───────────────────────────────────────────────────── |
| Severity | File | Line | Snippet |
|---|---|---|---|
| HIGH | packages/opencode/src/cli/ui.ts | 32 | print(...message) |
| HIGH | packages/opencode/src/cli/cmd/models.ts | 52 | print(providerID, args.verbose) |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | packages/opencode/test/tool/question.test.ts | 101 | // header: "This Header is Definitely More Than Thirty Characters Long", |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | .github/publish-python-sdk.yml | 2 | # This file is intentionally in the wrong dir, will move and add later.... |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | .github/workflows/pr-standards.yml | 86 | // Step 1: Check title format |
| LOW | .github/workflows/pr-standards.yml | 111 | // Step 2: Check for linked issue (skip for docs/refactor/feat PRs) |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | patches/install-korean-ime-fix.sh | 10 | # Usage: |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | packages/opencode/src/mcp/oauth-callback.ts | 76 | function handleRequest(req: import("http").IncomingMessage, res: import("http").ServerResponse) { |