Typescript/React Library for AI Chat 💬🚀
This report summarizes scanner evidence for assistant-ui/assistant-ui, a TypeScript project with 12,871 GitHub stars. SynthScan examined 1,182,166 lines of code across 6626 source files, recording 975 pattern matches distributed across 20 syntactic categories. The legacy adjusted pattern signal is 1.1 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 758 finding(s).
Are imports declared and package/API names verified? 162 finding(s).
Are wrappers, guards, and repeated structures necessary? 690 finding(s).
Which changes need focused human review? 975 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 975 distinct pattern matches across 20 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/assistant-transport-backend-langgraph/main.py | 346 | def should_continue_after_tools(state: GraphState) -> str: | CODE |
| LOW | python/assistant-transport-backend-langgraph/main.py | 420 | async def configure_checkpointer_from_env() -> None: | CODE |
| LOW | …hon/assistant-transport-backend-langgraph/test_main.py | 16 | async def test_chat_preserves_user_message_id( | CODE |
| LOW | …hon/assistant-transport-backend-langgraph/test_main.py | 58 | def test_should_call_tools_routes_only_frontend_calls_to_client() -> None: | CODE |
| LOW | …hon/assistant-transport-backend-langgraph/test_main.py | 77 | def test_should_call_tools_routes_unknown_calls_to_error_handling() -> None: | CODE |
| LOW | …hon/assistant-transport-backend-langgraph/test_main.py | 84 | async def test_tool_executor_defers_frontend_calls() -> None: | CODE |
| LOW | …hon/assistant-transport-backend-langgraph/test_main.py | 102 | async def test_tool_executor_keeps_unknown_tool_error() -> None: | CODE |
| LOW | …hon/assistant-transport-backend-langgraph/test_main.py | 114 | async def test_tool_executor_errors_disabled_and_malformed_request_tools() -> None: | CODE |
| LOW | …hon/assistant-transport-backend-langgraph/test_main.py | 143 | async def test_tool_executor_defers_frontend_and_errors_unknown_calls() -> None: | CODE |
| LOW | …hon/assistant-transport-backend-langgraph/test_main.py | 160 | def test_should_continue_after_tools_stops_for_deferred_calls() -> None: | CODE |
| LOW | …hon/assistant-transport-backend-langgraph/test_main.py | 179 | def test_should_continue_after_tools_resumes_server_calls() -> None: | CODE |
| LOW | …hon/assistant-transport-backend-langgraph/test_main.py | 189 | async def test_mixed_graph_turn_does_not_reenter_agent(monkeypatch: pytest.MonkeyPatch) -> None: | CODE |
| LOW⚡ | …hon/assistant-transport-backend-langgraph/test_main.py | 240 | def test_cors_allows_listed_origins_with_credentials(load_main) -> None: | CODE |
| LOW⚡ | …hon/assistant-transport-backend-langgraph/test_main.py | 248 | def test_cors_rejects_unlisted_origins(load_main) -> None: | CODE |
| LOW⚡ | …hon/assistant-transport-backend-langgraph/test_main.py | 255 | def test_cors_wildcard_turns_off_credentials(load_main) -> None: | CODE |
| LOW⚡ | …hon/assistant-transport-backend-langgraph/test_main.py | 263 | def test_example_configuration_binds_loopback(monkeypatch: pytest.MonkeyPatch) -> None: | CODE |
| LOW | python/assistant-stream/tests/test_reasoning.py | 31 | async def test_mixed_text_and_reasoning(): | CODE |
| LOW | …on/assistant-stream/tests/test_resumable_redis_unit.py | 112 | async def test_custom_client_without_fencing_capabilities_uses_legacy_mutations() -> None: | CODE |
| LOW | …on/assistant-stream/tests/test_resumable_redis_unit.py | 136 | async def test_stale_finalizer_cannot_finalize_reacquired_stream() -> None: | CODE |
| LOW | …on/assistant-stream/tests/test_resumable_redis_unit.py | 168 | async def test_in_flight_append_cannot_mutate_reacquired_stream() -> None: | CODE |
| LOW | …on/assistant-stream/tests/test_resumable_redis_unit.py | 204 | async def test_in_flight_delete_cannot_remove_reacquired_stream() -> None: | CODE |
| LOW | …on/assistant-stream/tests/test_resumable_redis_unit.py | 238 | async def test_delete_does_not_clear_same_store_reacquisition() -> None: | CODE |
| LOW | …on/assistant-stream/tests/test_resumable_redis_unit.py | 274 | async def test_stale_lease_cannot_mutate_reacquired_stream_on_one_store() -> None: | CODE |
| LOW | …on/assistant-stream/tests/test_resumable_redis_unit.py | 303 | async def test_leased_in_flight_append_on_reacquiring_store_is_superseded() -> None: | CODE |
| LOW | …on/assistant-stream/tests/test_resumable_redis_unit.py | 340 | async def test_finalize_keeps_the_fence_of_a_reacquisition_on_the_same_store() -> None: | CODE |
| LOW | …on/assistant-stream/tests/test_resumable_redis_unit.py | 375 | async def test_new_acquisition_preserves_legacy_data_without_replaying_it() -> None: | CODE |
| LOW | …on/assistant-stream/tests/test_resumable_redis_unit.py | 393 | async def test_legacy_metadata_and_data_remain_readable() -> None: | CODE |
| LOW | …on/assistant-stream/tests/test_resumable_redis_unit.py | 410 | async def test_redis_adapter_uses_registered_finalize_script() -> None: | CODE |
| LOW | python/assistant-stream/tests/test_interop_fixture.py | 8 | async def test_encoder_matches_committed_fixture(): | CODE |
| LOW | python/assistant-stream/tests/test_tool_args_settle.py | 30 | def test_tool_call_args_settler_tracks_begin_append_and_finish() -> None: | CODE |
| LOW | python/assistant-stream/tests/test_tool_args_settle.py | 43 | def test_tool_call_args_settler_configures_empty_args_completion() -> None: | CODE |
| LOW | python/assistant-stream/tests/test_tool_args_settle.py | 58 | def test_tool_call_args_settler_drops_settled_ids_and_warns_once() -> None: | CODE |
| LOW | python/assistant-stream/tests/test_tool_args_settle.py | 72 | def test_tool_call_args_settler_flushes_open_calls() -> None: | CODE |
| LOW | python/assistant-stream/tests/test_with_parent_id.py | 9 | async def test_with_parent_id_shares_everything_but_the_parent_id(): | CODE |
| LOW | python/assistant-stream/tests/test_with_parent_id.py | 47 | async def test_with_parent_id_sets_every_field_init_sets(): | CODE |
| LOW | python/assistant-stream/tests/test_with_parent_id.py | 60 | async def test_with_parent_id_works_outside_a_running_loop(): | CODE |
| LOW⚡ | python/assistant-stream/tests/test_resumable_context.py | 127 | async def test_resume_returns_none_for_missing() -> None: | CODE |
| LOW⚡ | python/assistant-stream/tests/test_resumable_context.py | 135 | async def test_require_resume_raises_missing() -> None: | CODE |
| LOW⚡ | python/assistant-stream/tests/test_resumable_context.py | 145 | async def test_require_resume_returns_replay_when_exists() -> None: | CODE |
| LOW | python/assistant-stream/tests/test_resumable_context.py | 76 | async def test_producer_receives_full_byte_stream() -> None: | CODE |
| LOW | python/assistant-stream/tests/test_resumable_context.py | 85 | async def test_second_caller_is_consumer_with_identical_bytes() -> None: | CODE |
| LOW | python/assistant-stream/tests/test_resumable_context.py | 112 | async def test_late_consumer_after_done_replays_via_resume() -> None: | CODE |
| LOW | python/assistant-stream/tests/test_resumable_context.py | 157 | async def test_status_tracks_lifecycle() -> None: | CODE |
| LOW | python/assistant-stream/tests/test_resumable_context.py | 168 | async def test_delete_removes_stream_state() -> None: | CODE |
| LOW | python/assistant-stream/tests/test_resumable_context.py | 180 | async def test_producer_keeps_writing_after_consumer_closes_early() -> None: | CODE |
| LOW | python/assistant-stream/tests/test_resumable_context.py | 209 | async def test_runs_a_producer_through_acquire_when_acquire_lease_is_absent() -> None: | CODE |
| LOW | python/assistant-stream/tests/test_resumable_context.py | 225 | async def _run_fenced_stale_producer( | CODE |
| LOW | python/assistant-stream/tests/test_resumable_context.py | 284 | async def test_stale_chunk_reports_store_supersession_without_finalizing() -> None: | CODE |
| LOW | python/assistant-stream/tests/test_resumable_context.py | 295 | async def test_stale_completion_reports_lost_ownership_without_finalizing() -> None: | CODE |
| LOW | python/assistant-stream/tests/test_resumable_context.py | 306 | async def test_stale_error_does_not_finalize_reacquired_stream() -> None: | CODE |
| LOW | python/assistant-stream/tests/test_resumable_context.py | 316 | async def test_propagates_producer_errors_to_consumers() -> None: | CODE |
| LOW | python/assistant-stream/tests/test_resumable_context.py | 332 | async def test_wait_until_receives_the_task() -> None: | CODE |
| LOW | python/assistant-stream/tests/test_resumable_context.py | 345 | async def test_on_acquire_fires_for_producer_and_consumer() -> None: | CODE |
| LOW | python/assistant-stream/tests/test_resumable_context.py | 361 | async def test_on_append_fires_per_chunk_with_byte_length() -> None: | CODE |
| LOW | python/assistant-stream/tests/test_resumable_context.py | 376 | async def test_on_finalize_fires_on_success() -> None: | CODE |
| LOW | python/assistant-stream/tests/test_resumable_context.py | 390 | async def test_on_finalize_and_on_error_fire_on_failure() -> None: | CODE |
| LOW | python/assistant-stream/tests/test_resumable_context.py | 415 | async def test_raising_on_acquire_does_not_break_producer_pipeline() -> None: | CODE |
| LOW | python/assistant-stream/tests/test_resumable_context.py | 429 | async def test_raising_on_error_still_finalizes_error_status() -> None: | CODE |
| LOW | …n/assistant-stream/tests/test_response_cancellation.py | 31 | async def test_closing_response_body_cancels_and_awaits_run(response_type, heartbeat): | CODE |
| LOW | …n/assistant-stream/tests/test_response_cancellation.py | 59 | async def test_disconnect_during_send_cancels_and_awaits_run( | CODE |
| 575 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | packages/cli/src/lib/cloud-auth.ts | 204 | print(`Confirm code ${authorization.userCode} at ${approvalUrl}`); | CODE |
| HIGH⚡ | packages/cli/src/lib/cloud-auth.ts | 212 | print("Signed in locally. The setup connection could not be updated."); | CODE |
| HIGH⚡ | packages/cli/src/lib/cloud-auth.ts | 214 | print(`Signed in as ${credentials.user.email || credentials.user.id}.`); | CODE |
| HIGH⚡ | packages/cli/src/lib/cloud-auth.ts | 219 | print( | CODE |
| HIGH | packages/react-streamdown/src/__tests__/remend.test.ts | 28 | print(f"total: $\{cost}") | CODE |
| HIGH | …amdown/src/__tests__/code-adapter.integration.test.tsx | 84 | print("hi") | CODE |
| HIGH | …amdown/src/__tests__/code-adapter.integration.test.tsx | 494 | print("hi") | CODE |
| HIGH | packages/setup-agent/src/cli.ts | 406 | print(pending); | CODE |
| HIGH | packages/setup-agent/src/cli.ts | 875 | print(summary(requireState(client))); | CODE |
| HIGH | packages/setup-agent/src/cli.ts | 879 | print(summary(requireState(client))); | CODE |
| HIGH | packages/setup-agent/src/cli.ts | 898 | print({ ok: true, stepId, status }); | CODE |
| HIGH | packages/setup-agent/src/cli.ts | 911 | print({ ok: true, ...result }); | CODE |
| HIGH | packages/setup-agent/src/cli.ts | 924 | print({ ok: true, revision }); | CODE |
| HIGH | packages/setup-agent/src/cli.ts | 928 | print(decided(plan, requireState(client))); | CODE |
| HIGH⚡ | packages/setup-agent/src/cli.ts | 959 | print({ ok: true, inputId }); | CODE |
| HIGH⚡ | packages/setup-agent/src/cli.ts | 962 | print(await waitForInput(client, inputId).then(answered)); | CODE |
| HIGH⚡ | packages/setup-agent/src/cli.ts | 971 | print({ | CODE |
| HIGH⚡ | packages/setup-agent/src/cli.ts | 979 | print( | CODE |
| HIGH | packages/setup-agent/src/cli.ts | 990 | print(await waitForInput(client, target).then(answered)); | CODE |
| HIGH⚡ | packages/setup-agent/src/cli.ts | 1052 | print({ ok: true, envKey, file }); | CODE |
| HIGH⚡ | packages/setup-agent/src/cli.ts | 1058 | print({ ok: true }); | CODE |
| HIGH⚡ | packages/setup-agent/src/cli.ts | 1064 | print({ ok: true }); | CODE |
| HIGH⚡ | packages/setup-agent/src/cli.ts | 1074 | print({ | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | scripts/sync-templates.sh | 33 | # Base UI (base-nova) scaffold, so its copies mirror the base install shape: | COMMENT |
| MEDIUM | scripts/sync-templates.sh | 37 | # `ui/base` stand-ins. Base sources already use the scaffold import shape. | COMMENT |
| MEDIUM | scripts/sync-templates.sh | 386 | # diverges by definition) or as a scaffold copy the checks above keep in sync. | COMMENT |
| MEDIUM | scripts/sync-templates.sh | 569 | annotate "templates/cloud-harness/${pair#*:}" "out of sync with its canonical scaffold source; run 'pnpm sync-te | CODE |
| MEDIUM | packages/react-native/CHANGELOG.md | 7 | - [#10137](https://github.com/assistant-ui/assistant-ui/pull/10137) [`aa59585`](https://github.com/assistant-ui/assistan | CODE |
| MEDIUM | packages/react-native/CHANGELOG.md | 21 | - [#9866](https://github.com/assistant-ui/assistant-ui/pull/9866) [`736c07f`](https://github.com/assistant-ui/assistant- | CODE |
| MEDIUM | packages/react-native/CHANGELOG.md | 467 | - [#4514](https://github.com/assistant-ui/assistant-ui/pull/4514) [`19c0b86`](https://github.com/assistant-ui/assistant- | CODE |
| MEDIUM | packages/vue/CHANGELOG.md | 7 | - [#10137](https://github.com/assistant-ui/assistant-ui/pull/10137) [`aa59585`](https://github.com/assistant-ui/assistan | CODE |
| MEDIUM | packages/cli/CHANGELOG.md | 101 | - [#7492](https://github.com/assistant-ui/assistant-ui/pull/7492) [`de54fb0`](https://github.com/assistant-ui/assistant- | CODE |
| MEDIUM | packages/cli/CHANGELOG.md | 101 | - [#7492](https://github.com/assistant-ui/assistant-ui/pull/7492) [`de54fb0`](https://github.com/assistant-ui/assistant- | CODE |
| MEDIUM | packages/cli/CHANGELOG.md | 141 | - [#7348](https://github.com/assistant-ui/assistant-ui/pull/7348) [`1a1865c`](https://github.com/assistant-ui/assistant- | CODE |
| MEDIUM | packages/cli/CHANGELOG.md | 141 | - [#7348](https://github.com/assistant-ui/assistant-ui/pull/7348) [`1a1865c`](https://github.com/assistant-ui/assistant- | CODE |
| MEDIUM | packages/cli/CHANGELOG.md | 171 | - [#6802](https://github.com/assistant-ui/assistant-ui/pull/6802) [`0a2a599`](https://github.com/assistant-ui/assistant- | CODE |
| MEDIUM | packages/cli/CHANGELOG.md | 171 | - [#6802](https://github.com/assistant-ui/assistant-ui/pull/6802) [`0a2a599`](https://github.com/assistant-ui/assistant- | CODE |
| MEDIUM⚡ | packages/cli/CHANGELOG.md | 259 | - [#5021](https://github.com/assistant-ui/assistant-ui/pull/5021) [`00fea57`](https://github.com/assistant-ui/assistant- | CODE |
| MEDIUM⚡ | packages/cli/CHANGELOG.md | 261 | - [#5013](https://github.com/assistant-ui/assistant-ui/pull/5013) [`fec32b1`](https://github.com/assistant-ui/assistant- | CODE |
| MEDIUM⚡ | packages/cli/CHANGELOG.md | 261 | - [#5013](https://github.com/assistant-ui/assistant-ui/pull/5013) [`fec32b1`](https://github.com/assistant-ui/assistant- | CODE |
| MEDIUM | packages/cli/CHANGELOG.md | 292 | - [#4979](https://github.com/assistant-ui/assistant-ui/pull/4979) [`4c6fc26`](https://github.com/assistant-ui/assistant- | CODE |
| MEDIUM | packages/cli/CHANGELOG.md | 292 | - [#4979](https://github.com/assistant-ui/assistant-ui/pull/4979) [`4c6fc26`](https://github.com/assistant-ui/assistant- | CODE |
| MEDIUM | packages/cli/CHANGELOG.md | 405 | - [#4115](https://github.com/assistant-ui/assistant-ui/pull/4115) [`107d6bd`](https://github.com/assistant-ui/assistant- | CODE |
| MEDIUM | packages/cli/CHANGELOG.md | 420 | - [#4044](https://github.com/assistant-ui/assistant-ui/pull/4044) [`b8fa682`](https://github.com/assistant-ui/assistant- | CODE |
| MEDIUM | packages/cli/CHANGELOG.md | 420 | - [#4044](https://github.com/assistant-ui/assistant-ui/pull/4044) [`b8fa682`](https://github.com/assistant-ui/assistant- | CODE |
| MEDIUM⚡ | packages/cli/README.md | 23 | # scaffold a new Next.js project | COMMENT |
| MEDIUM⚡ | packages/cli/README.md | 26 | # scaffold a minimal project | COMMENT |
| MEDIUM⚡ | packages/cli/README.md | 29 | # scaffold from a feature example | COMMENT |
| MEDIUM⚡ | packages/cli/README.md | 32 | # scaffold an Expo / React Native project | COMMENT |
| MEDIUM⚡ | packages/cli/README.md | 35 | # scaffold a React Ink terminal project | COMMENT |
| MEDIUM | packages/cli/test/lib/create-project.test.ts | 519 | // Paths inherited from the monorepo scaffold | COMMENT |
| MEDIUM | packages/cli/src/commands/create.ts | 635 | // 2. Resolve scaffold target | COMMENT |
| MEDIUM | packages/create-assistant-ui/CHANGELOG.md | 108 | - [#6354](https://github.com/assistant-ui/assistant-ui/pull/6354) [`8ee4660`](https://github.com/assistant-ui/assistant- | CODE |
| MEDIUM | packages/create-assistant-ui/CHANGELOG.md | 108 | - [#6354](https://github.com/assistant-ui/assistant-ui/pull/6354) [`8ee4660`](https://github.com/assistant-ui/assistant- | CODE |
| MEDIUM | packages/create-assistant-ui/README.md | 18 | This wraps the `assistant-ui create` command from the [`assistant-ui` CLI](https://www.npmjs.com/package/assistant-ui). | CODE |
| MEDIUM | packages/assistant-stream/CHANGELOG.md | 257 | - [#6414](https://github.com/assistant-ui/assistant-ui/pull/6414) [`bfc8bef`](https://github.com/assistant-ui/assistant- | CODE |
| MEDIUM | packages/ai-sdk/CHANGELOG.md | 386 | - [#5932](https://github.com/assistant-ui/assistant-ui/pull/5932) [`d68918e`](https://github.com/assistant-ui/assistant- | CODE |
| MEDIUM | packages/ai-sdk/src/runtime/useExternalHistory.ts | 532 | // Debounce: wait one macrotask so agentic step flickers are absorbed | COMMENT |
| MEDIUM | packages/react/CHANGELOG.md | 7 | - [#10137](https://github.com/assistant-ui/assistant-ui/pull/10137) [`aa59585`](https://github.com/assistant-ui/assistan | CODE |
| MEDIUM | apps/docs/components/shared/setup-prompt.ts | 3 | // to scaffold and wire up assistant-ui inside the user's project. | COMMENT |
| MEDIUM⚡ | apps/docs/lib/agent-skills.generated.json | 34 | "content": "# assistant-ui Elements\n\n**Always consult [assistant-ui.com/llms.txt](https://www.assistant-ui.com/l | CODE |
| MEDIUM⚡ | apps/docs/lib/agent-skills.generated.json | 34 | "content": "# assistant-ui Elements\n\n**Always consult [assistant-ui.com/llms.txt](https://www.assistant-ui.com/l | CODE |
| MEDIUM⚡ | apps/docs/lib/agent-skills.generated.json | 42 | "content": "# assistant-ui Generative UI\n\n**Always consult [assistant-ui.com/llms.txt](https://www.assistant-ui. | CODE |
| MEDIUM⚡ | apps/docs/lib/agent-skills.generated.json | 50 | "content": "# assistant-ui Ink\n\n**Always consult [assistant-ui.com/llms.txt](https://www.assistant-ui.com/llms.t | CODE |
| MEDIUM⚡ | apps/docs/lib/agent-skills.generated.json | 50 | "content": "# assistant-ui Ink\n\n**Always consult [assistant-ui.com/llms.txt](https://www.assistant-ui.com/llms.t | CODE |
| MEDIUM⚡ | apps/docs/lib/agent-skills.generated.json | 74 | "content": "# assistant-ui Primitives\n\n**Always consult [assistant-ui.com/llms.txt](https://www.assistant-ui.com | CODE |
| MEDIUM⚡ | apps/docs/lib/agent-skills.generated.json | 74 | "content": "# assistant-ui Primitives\n\n**Always consult [assistant-ui.com/llms.txt](https://www.assistant-ui.com | CODE |
| MEDIUM⚡ | apps/docs/lib/agent-skills.generated.json | 74 | "content": "# assistant-ui Primitives\n\n**Always consult [assistant-ui.com/llms.txt](https://www.assistant-ui.com | CODE |
| MEDIUM⚡ | apps/docs/lib/agent-skills.generated.json | 106 | "content": "# assistant-ui Setup\n\n**Always consult [assistant-ui.com/llms.txt](https://www.assistant-ui.com/llms | CODE |
| MEDIUM⚡ | apps/docs/lib/agent-skills.generated.json | 106 | "content": "# assistant-ui Setup\n\n**Always consult [assistant-ui.com/llms.txt](https://www.assistant-ui.com/llms | CODE |
| MEDIUM⚡ | apps/docs/lib/agent-skills.generated.json | 106 | "content": "# assistant-ui Setup\n\n**Always consult [assistant-ui.com/llms.txt](https://www.assistant-ui.com/llms | CODE |
| MEDIUM⚡ | apps/docs/lib/agent-skills.generated.json | 114 | "content": "# assistant-ui Streaming\n\n**Always consult [assistant-ui.com/llms.txt](https://www.assistant-ui.com/ | CODE |
| MEDIUM | apps/docs/lib/agent-skills.generated.json | 130 | "content": "# assistant-ui Tools\n\n**Always consult [assistant-ui.com/llms.txt](https://www.assistant-ui.com/llms | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | examples/with-mcp/server/server.ts | 31 | // ─────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | examples/with-mcp/server/server.ts | 33 | // ─────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | examples/with-mcp/server/server.ts | 164 | // ─────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | examples/with-mcp/server/server.ts | 166 | // ─────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | examples/with-mcp/server/server.ts | 203 | // ─────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | examples/with-mcp/server/server.ts | 205 | // ─────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …with-opencode/components/tools/tool-ui-apply-patch.tsx | 21 | // ── Patch format conversion ────────────────────────────────────────────── | COMMENT |
| MEDIUM | …with-opencode/components/tools/tool-ui-apply-patch.tsx | 142 | // ── Component ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ples/with-opencode/components/tools/tool-ui-inline.tsx | 17 | // ── Helpers ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ples/with-opencode/components/tools/tool-ui-inline.tsx | 25 | // ── ToolCallShell ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ples/with-opencode/components/tools/tool-ui-inline.tsx | 54 | // ── Factory for simple inline tools ──────────────────────────────────── | COMMENT |
| MEDIUM | …ples/with-opencode/components/tools/tool-ui-inline.tsx | 77 | // ── Per-tool inline components ───────────────────────────────────────── | COMMENT |
| MEDIUM | …ples/with-opencode/components/tools/tool-ui-inline.tsx | 134 | // ── Fallback — generic, for unknown/MCP tools ───────────────────────── | COMMENT |
| MEDIUM | …src/runtimes/tool-invocations/ToolInvocationTracker.ts | 245 | // ───────────────────────── public API ───────────────────────── | COMMENT |
| MEDIUM | …src/runtimes/tool-invocations/ToolInvocationTracker.ts | 458 | // ───────────────────── internal: tool wrapping ───────────────────── | COMMENT |
| MEDIUM | …src/runtimes/tool-invocations/ToolInvocationTracker.ts | 517 | // ──────────────── internal: execution lifecycle callbacks ──────────────── | COMMENT |
| MEDIUM | …src/runtimes/tool-invocations/ToolInvocationTracker.ts | 626 | // ──────────────── internal: callback invocation (AF1/AF2) ──────────────── | COMMENT |
| MEDIUM | …src/runtimes/tool-invocations/ToolInvocationTracker.ts | 650 | // ──────────────── internal: status map mutations ──────────────── | COMMENT |
| MEDIUM | …src/runtimes/tool-invocations/ToolInvocationTracker.ts | 678 | // ──────────────── internal: snapshot processing ──────────────── | COMMENT |
| MEDIUM | …odemods/v0-12/__tests__/primitive-if-to-aui-if.test.ts | 24 | // ── ThreadPrimitive.If ───────────────────────────────────────────── | COMMENT |
| MEDIUM | …odemods/v0-12/__tests__/primitive-if-to-aui-if.test.ts | 188 | // ── MessagePrimitive.If ──────────────────────────────────────────── | COMMENT |
| MEDIUM | …odemods/v0-12/__tests__/primitive-if-to-aui-if.test.ts | 531 | // ── ComposerPrimitive.If ────────────────────────────────────────── | COMMENT |
| MEDIUM | …odemods/v0-12/__tests__/primitive-if-to-aui-if.test.ts | 619 | // ── ThreadPrimitive.Empty ─────────────────────────────────────────── | COMMENT |
| MEDIUM | …odemods/v0-12/__tests__/primitive-if-to-aui-if.test.ts | 709 | // ── Edge cases ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | apps/docs/lib/agent-skills.generated.json | 10 | "content": "# assistant-ui\n\n**Always consult [assistant-ui.com/llms.txt](https://www.assistant-ui.com/llms.txt) | CODE |
| MEDIUM⚡ | apps/docs/lib/agent-skills.generated.json | 10 | "content": "# assistant-ui\n\n**Always consult [assistant-ui.com/llms.txt](https://www.assistant-ui.com/llms.txt) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/assistant-stream/tests/test_reasoning.py | 1 | CODE | |
| LOW | …on/assistant-stream/tests/test_resumable_redis_unit.py | 1 | CODE | |
| LOW | python/assistant-stream/tests/test_resumable_context.py | 1 | CODE | |
| LOW | python/assistant-stream/tests/test_resumable_redis.py | 1 | CODE | |
| LOW | …hon/assistant-stream/tests/test_resumable_in_memory.py | 1 | CODE | |
| LOW | …thon/assistant-stream/tests/test_resumable_response.py | 1 | CODE | |
| LOW | …thon/assistant-stream/src/assistant_stream/__init__.py | 1 | CODE | |
| LOW | …thon/assistant-stream/src/assistant_stream/__init__.py | 4 | CODE | |
| LOW | …thon/assistant-stream/src/assistant_stream/__init__.py | 4 | CODE | |
| LOW | …thon/assistant-stream/src/assistant_stream/__init__.py | 10 | CODE | |
| LOW | …thon/assistant-stream/src/assistant_stream/__init__.py | 10 | CODE | |
| LOW | …-stream/src/assistant_stream/assistant_stream_chunk.py | 2 | CODE | |
| LOW | …on/assistant-stream/src/assistant_stream/create_run.py | 5 | CODE | |
| LOW | …-stream/src/assistant_stream/serialization/__init__.py | 1 | CODE | |
| LOW | …-stream/src/assistant_stream/serialization/__init__.py | 1 | CODE | |
| LOW | …-stream/src/assistant_stream/serialization/__init__.py | 5 | CODE | |
| LOW | …-stream/src/assistant_stream/serialization/__init__.py | 5 | CODE | |
| LOW | …-stream/src/assistant_stream/serialization/__init__.py | 9 | CODE | |
| LOW | …-stream/src/assistant_stream/serialization/__init__.py | 9 | CODE | |
| LOW | …ream/src/assistant_stream/serialization/data_stream.py | 1 | CODE | |
| LOW | …/assistant_stream/serialization/assistant_transport.py | 1 | CODE | |
| LOW | …/assistant_stream/serialization/assistant_transport.py | 1 | CODE | |
| LOW | …/assistant_stream/serialization/assistant_transport.py | 1 | CODE | |
| LOW | …tant-stream/src/assistant_stream/resumable/__init__.py | 3 | CODE | |
| LOW | …tant-stream/src/assistant_stream/resumable/__init__.py | 3 | CODE | |
| LOW | …tant-stream/src/assistant_stream/resumable/__init__.py | 7 | CODE | |
| LOW | …tant-stream/src/assistant_stream/resumable/__init__.py | 7 | CODE | |
| LOW | …tant-stream/src/assistant_stream/resumable/__init__.py | 7 | CODE | |
| LOW | …tant-stream/src/assistant_stream/resumable/__init__.py | 7 | CODE | |
| LOW | …tant-stream/src/assistant_stream/resumable/__init__.py | 13 | CODE | |
| LOW | …tant-stream/src/assistant_stream/resumable/__init__.py | 13 | CODE | |
| LOW | …tant-stream/src/assistant_stream/resumable/__init__.py | 13 | CODE | |
| LOW | …tant-stream/src/assistant_stream/resumable/__init__.py | 18 | CODE | |
| LOW | …tant-stream/src/assistant_stream/resumable/__init__.py | 21 | CODE | |
| LOW | …tant-stream/src/assistant_stream/resumable/__init__.py | 21 | CODE | |
| LOW | …tant-stream/src/assistant_stream/resumable/__init__.py | 21 | CODE | |
| LOW | …tant-stream/src/assistant_stream/resumable/__init__.py | 21 | CODE | |
| LOW | …tant-stream/src/assistant_stream/resumable/__init__.py | 21 | CODE | |
| LOW | …tant-stream/src/assistant_stream/resumable/__init__.py | 21 | CODE | |
| LOW | …tant-stream/src/assistant_stream/resumable/__init__.py | 21 | CODE | |
| LOW | …tant-stream/src/assistant_stream/resumable/__init__.py | 52 | CODE | |
| LOW | …tant-stream/src/assistant_stream/resumable/__init__.py | 52 | CODE | |
| LOW | …tant-stream/src/assistant_stream/resumable/__init__.py | 52 | CODE | |
| LOW | …tant-stream/src/assistant_stream/resumable/response.py | 1 | CODE | |
| LOW | …sistant-stream/src/assistant_stream/resumable/types.py | 1 | CODE | |
| LOW | …stant-stream/src/assistant_stream/resumable/context.py | 1 | CODE | |
| LOW | …istant-stream/src/assistant_stream/resumable/errors.py | 1 | CODE | |
| LOW | …ream/src/assistant_stream/resumable/stores/__init__.py | 3 | CODE | |
| LOW | …ream/src/assistant_stream/resumable/stores/__init__.py | 12 | CODE | |
| LOW | …-stream/src/assistant_stream/resumable/stores/redis.py | 1 | CODE | |
| LOW | …-stream/src/assistant_stream/resumable/stores/redis.py | 587 | CODE | |
| LOW | …eam/src/assistant_stream/resumable/stores/in_memory.py | 1 | CODE | |
| LOW | …/src/assistant_stream/modules/langgraph_chunk_merge.py | 1 | CODE | |
| LOW | …/src/assistant_stream/modules/langgraph_chunk_merge.py | 1 | CODE | |
| LOW | …/src/assistant_stream/modules/langgraph_chunk_merge.py | 1 | CODE | |
| LOW | …/src/assistant_stream/modules/langgraph_chunk_merge.py | 1 | CODE | |
| LOW | …/src/assistant_stream/modules/langgraph_chunk_merge.py | 1 | CODE | |
| LOW | …/src/assistant_stream/modules/langgraph_chunk_merge.py | 3 | CODE | |
| LOW | …/src/assistant_stream/modules/langgraph_chunk_merge.py | 4 | CODE | |
| LOW | …/src/assistant_stream/modules/langgraph_chunk_merge.py | 4 | CODE | |
| 16 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | examples/with-resumable-stream/app/api/chat/route.ts | 120 | `lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod ` + | CODE |
| LOW | examples/with-resumable-stream/app/api/chat/route.ts | 120 | `lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod ` + | CODE |
| LOW | …components/react/assistant-ui/elements/empty-state.tsx | 77 | }: Omit<ComponentProps<"div">, "children" | "placeholder"> & { | CODE |
| LOW | …/components/react/assistant-ui/elements/chat-panel.tsx | 101 | }: Omit<ComponentProps<"div">, "children" | "placeholder"> & { | CODE |
| LOW | …ages/core/src/runtime/utils/message-repository.test.ts | 354 | ...assistantMessage("placeholder", true), | CODE |
| LOW | …ages/core/src/runtime/utils/message-repository.test.ts | 358 | expect(repository.headId).toBe("placeholder"); | CODE |
| LOW⚡ | …ages/core/src/runtime/utils/message-repository.test.ts | 371 | ...assistantMessage("placeholder", true), | CODE |
| LOW⚡ | …ages/core/src/runtime/utils/message-repository.test.ts | 374 | repository.switchToBranch("placeholder"); | CODE |
| LOW⚡ | …ages/core/src/runtime/utils/message-repository.test.ts | 376 | expect(repository.headId).toBe("placeholder"); | CODE |
| LOW⚡ | …ages/core/src/runtime/utils/message-repository.test.ts | 386 | repository.addOrUpdateMessage("u", assistantMessage("placeholder", true)); | CODE |
| LOW⚡ | …ages/core/src/runtime/utils/message-repository.test.ts | 388 | expect(repository.headId).toBe("placeholder"); | CODE |
| LOW | …ages/core/src/runtime/utils/message-repository.test.ts | 400 | repository.addOrUpdateMessage(null, assistantMessage("placeholder", true)); | CODE |
| LOW | …ages/core/src/runtime/utils/message-repository.test.ts | 401 | repository.switchToBranch("placeholder"); | CODE |
| LOW | …ages/core/src/runtime/utils/message-repository.test.ts | 416 | repository.addOrUpdateMessage("u", assistantMessage("placeholder", true)); | CODE |
| LOW | …ages/core/src/runtime/utils/message-repository.test.ts | 417 | repository.switchToBranch("placeholder"); | CODE |
| LOW | …ages/core/src/runtime/utils/message-repository.test.ts | 434 | repository.addOrUpdateMessage("u", assistantMessage("placeholder", true)); | CODE |
| LOW | …ages/core/src/runtime/utils/message-repository.test.ts | 435 | repository.switchToBranch("placeholder"); | CODE |
| LOW | …ages/core/src/runtime/utils/message-repository.test.ts | 478 | repository.addOrUpdateMessage("u", assistantMessage("placeholder", true)); | CODE |
| LOW | …ages/core/src/runtime/utils/message-repository.test.ts | 479 | expect(repository.headId).toBe("placeholder"); | CODE |
| LOW⚡ | packages/core/src/tests/MessageRepository.test.ts | 429 | repository.addOrUpdateMessage("u", optimistic({ id: "placeholder" })); | CODE |
| LOW⚡ | packages/core/src/tests/MessageRepository.test.ts | 430 | repository.resetHead("placeholder"); | CODE |
| LOW⚡ | packages/core/src/tests/MessageRepository.test.ts | 435 | expect(repository.headId).toBe("placeholder"); | CODE |
| LOW | packages/markdown/src/tokenizer/markdown-it.test.ts | 314 | url: "mailto:me@example.org", | CODE |
| LOW | packages/markdown/src/tokenizer/markdown-it.test.ts | 315 | children: [{ type: "text", value: "me@example.org" }], | CODE |
| LOW | packages/cli/src/lib/cloud-auth.test.ts | 83 | user: { id: "user-1", email: "user@example.com", name: "User", image: null }, | CODE |
| LOW | packages/react-pi/src/node/extensionUi.test.ts | 75 | const typed = bridge.ui.input("Name?", "placeholder"); | CODE |
| LOW | packages/react-pi/src/node/extensionUi.test.ts | 78 | placeholder: "placeholder", | CODE |
| LOW | packages/setup-agent/src/cli.ts | 533 | "placeholder", | CODE |
| LOW | packages/setup-agent/src/cli.ts | 639 | const placeholder = flagText(flags, "placeholder"); | CODE |
| LOW | …ages/assistant-stream/src/core/gorp/GorpStream.test.ts | 374 | { type: "set", path: ["user", "email"], value: "user@example.com" }, | CODE |
| LOW | …ages/assistant-stream/src/core/gorp/GorpStream.test.ts | 391 | email: "user@example.com", | CODE |
| LOW | …ages/assistant-stream/src/core/gorp/GorpStream.test.ts | 407 | email: "user@example.com", | CODE |
| LOW | …nt-stream/src/core/gorp/GorpStreamDeltaTracker.test.ts | 190 | { type: "set", path: ["user", "email"], value: "user@example.com" }, | CODE |
| LOW | …nt-stream/src/core/gorp/GorpStreamDeltaTracker.test.ts | 208 | user: { name: "Updated", email: "user@example.com" }, | CODE |
| LOW | …es/react-langchain/src/useSubagentTranscripts.test.tsx | 345 | message("placeholder-ai", "ai", "placeholder"), | CODE |
| LOW | …es/react-langchain/src/useSubagentTranscripts.test.tsx | 364 | ).toMatchObject([{ type: "text", text: "placeholder" }]), | CODE |
| LOW | …kages/generative-ui/src/buildPresentParameters.test.ts | 47 | "placeholder", | CODE |
| LOW | …ckages/generative-ui/src/vue/vocabulary/interactive.ts | 153 | "placeholder", | CODE |
| LOW | …ckages/generative-ui/src/vue/vocabulary/interactive.ts | 266 | "placeholder", | CODE |
| LOW | …s/generative-ui/src/vue/vocabulary/interactive.test.ts | 1230 | "placeholder", | CODE |
| LOW | …s/generative-ui/src/vue/vocabulary/interactive.test.ts | 1238 | "placeholder", | CODE |
| LOW | packages/generative-ui/src/a2ui/convert.ts | 784 | const placeholder = stringProp(props, ["placeholder"]); | CODE |
| LOW | packages/generative-ui/src/teams/toAdaptiveCard.ts | 565 | const placeholder = asTextValue(props["placeholder"]); | CODE |
| LOW | packages/generative-ui/src/teams/toAdaptiveCard.ts | 649 | const placeholder = asString(props["placeholder"]); | CODE |
| LOW | packages/generative-ui/src/slack/toSlackBlocks.ts | 578 | asTextValue(props["placeholder"]), | CODE |
| LOW | packages/generative-ui/src/slack/toSlackBlocks.ts | 581 | "placeholder", | CODE |
| LOW | packages/generative-ui/src/slack/toSlackBlocks.ts | 1784 | asString(props["placeholder"]), | CODE |
| LOW | packages/generative-ui/src/slack/toSlackBlocks.ts | 1787 | "placeholder", | CODE |
| LOW | packages/generative-ui/src/slack/fromSlackBlocks.ts | 232 | const placeholder = element["placeholder"]; | CODE |
| LOW | packages/generative-ui/src/slack/fromSlackBlocks.ts | 422 | const placeholder = element["placeholder"]; | CODE |
| LOW | …s/docs/components/pages/shop/model-input-card.test.tsx | 130 | "placeholder", | CODE |
| LOW | …docs/components/pages/shop/component-viewer-entries.ts | 780 | { kind: "text", key: "placeholder", label: "Placeholder" }, | CODE |
| LOW | …docs/components/pages/shop/component-viewer-entries.ts | 795 | ...(str(values, "placeholder") && { | CODE |
| LOW | …docs/components/pages/shop/component-viewer-entries.ts | 796 | placeholder: str(values, "placeholder"), | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …assistant-ui-sync-server-api/examples/basic_example.py | 18 | headers={"Authorization": "Bearer your-api-key"} | CODE |
| HIGH | …assistant-ui-sync-server-api/examples/basic_example.py | 50 | headers={"Authorization": "Bearer your-api-key"} | CODE |
| HIGH | examples/with-resumable-stream/README.md | 52 | OPENAI_API_KEY=your-api-key-here | CODE |
| HIGH | examples/with-webmcp/README.md | 18 | OPENAI_API_KEY=your-api-key-here | CODE |
| HIGH | examples/with-ai-sdk-v7/README.md | 19 | OPENAI_API_KEY=your-api-key-here | CODE |
| HIGH | examples/with-openui/README.md | 21 | OPENAI_API_KEY=your-api-key-here | CODE |
| HIGH | templates/eve/README.md | 10 | AI_GATEWAY_API_KEY=your-api-key | CODE |
| HIGH⚡ | apps/docs/lib/agent-skills.generated.json | 18 | "content": "# assistant-ui Cloud\n\n**Always consult [assistant-ui.com/llms.txt](https://www.assistant-ui.com/llms | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | python/assistant-transport-backend-langgraph/main.py | 173 | # Create the Task tool | COMMENT |
| MEDIUM | python/assistant-transport-backend-langgraph/main.py | 232 | # Create a prompt for the subagent | COMMENT |
| MEDIUM | python/assistant-transport-backend-langgraph/main.py | 440 | # Create the main workflow | COMMENT |
| MEDIUM | python/assistant-stream/tests/test_reasoning.py | 20 | # Create the run and collect chunks | COMMENT |
| MEDIUM | python/assistant-stream/tests/test_reasoning.py | 46 | # Create the run and collect chunks | COMMENT |
| MEDIUM | …hon/assistant-stream/tests/test_assistant_transport.py | 75 | # Create the run and encode it | COMMENT |
| MEDIUM | …hon/assistant-stream/tests/test_assistant_transport.py | 108 | # Create the run and encode it | COMMENT |
| MEDIUM | …hon/assistant-stream/tests/test_assistant_transport.py | 135 | # Create the run and encode it | COMMENT |
| MEDIUM | …hon/assistant-stream/tests/test_assistant_transport.py | 170 | # Create the run and encode it | COMMENT |
| MEDIUM | …-stream/src/assistant_stream/assistant_stream_chunk.py | 5 | # Define the data classes for different chunk types | COMMENT |
| MEDIUM | …-stream/src/assistant_stream/assistant_stream_chunk.py | 135 | # Define the union type for AssistantStreamChunk | COMMENT |
| MEDIUM | …/src/assistant_stream/modules/langgraph_chunk_merge.py | 13 | # This function is designed to work with proxy objects that send updates | COMMENT |
| MEDIUM | …stant-stream/src/assistant_stream/modules/langgraph.py | 248 | # Create a new tool message for this tool call | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …/src/assistant_stream/modules/langgraph_chunk_merge.py | 1 | from typing import Any, Dict, List, Optional, Union | COMMENT |
| LOW | …/src/assistant_stream/modules/langgraph_chunk_merge.py | 21 | # None (modifies chunk1_dict in-place) | COMMENT |
| LOW | …/src/assistant_stream/modules/langgraph_chunk_merge.py | 41 | # # Ensure type is set | COMMENT |
| LOW | …/src/assistant_stream/modules/langgraph_chunk_merge.py | 61 | # # First is string, second is list - prepend string to list | COMMENT |
| LOW | …/src/assistant_stream/modules/langgraph_chunk_merge.py | 81 | # def _merge_dict_field_inplace( | COMMENT |
| LOW | …/src/assistant_stream/modules/langgraph_chunk_merge.py | 101 | # elif type(dict1[key]) is not type(value): | COMMENT |
| LOW | …/src/assistant_stream/modules/langgraph_chunk_merge.py | 121 | COMMENT | |
| LOW | …/src/assistant_stream/modules/langgraph_chunk_merge.py | 141 | # usage2 = chunk2_dict.get("usage_metadata") | COMMENT |
| LOW | …/src/assistant_stream/modules/langgraph_chunk_merge.py | 161 | # # For numeric values, add them | COMMENT |
| LOW | …/src/assistant_stream/modules/langgraph_chunk_merge.py | 181 | # merged_usage[key] = value | COMMENT |
| LOW | …/src/assistant_stream/modules/langgraph_chunk_merge.py | 201 | # # No ID in chunk1, use chunk2's ID | COMMENT |
| LOW | …/src/assistant_stream/modules/langgraph_chunk_merge.py | 221 | # def _merge_dicts_inplace(dict1: Dict[str, Any], dict2: Dict[str, Any]) -> None: | COMMENT |
| LOW | …/src/assistant_stream/modules/langgraph_chunk_merge.py | 241 | # elif isinstance(dict1[key], dict): | COMMENT |
| LOW | …/src/assistant_stream/modules/langgraph_chunk_merge.py | 261 | COMMENT | |
| LOW | …/src/assistant_stream/modules/langgraph_chunk_merge.py | 281 | # for i, e_left in enumerate(merged) | COMMENT |
| LOW | …/src/assistant_stream/modules/langgraph_chunk_merge.py | 301 | # merged.append(e) | COMMENT |
| LOW | python/assistant-ui-sync-server-api/tests/__init__.py | 1 | # Tests for assistant-ui package | COMMENT |
| LOW | examples/with-expo/tsconfig.typecheck.json | 1 | { | COMMENT |
| LOW | …with-opencode/components/tools/tool-ui-apply-patch.tsx | 21 | // ── Patch format conversion ────────────────────────────────────────────── | COMMENT |
| LOW | scripts/update-deps.sh | 41 | ' examples/with-expo "$expo_matrix_backup" | COMMENT |
| LOW | …s/external-store/external-store-thread-runtime-core.ts | 241 | // repository once the host's array no longer carries them; an id the host | COMMENT |
| LOW | …s/external-store/external-store-thread-runtime-core.ts | 1201 | // Buffering does not start a run, so the tool-abort below must wait | COMMENT |
| LOW | …src/runtimes/remote-thread-list/remote-thread-state.ts | 221 | // initialized while the request was running) omits that thread, and the | COMMENT |
| LOW | …untimes/tool-invocations/ToolInvocationTracker.test.ts | 2501 | ); | COMMENT |
| LOW | packages/react-pi/src/types.ts | 461 | }; | COMMENT |
| LOW | …ckages/assistant-stream/src/core/utils/stream/merge.ts | 361 | COMMENT | |
| LOW | …ckages/assistant-stream/src/core/utils/stream/merge.ts | 381 | // this.mergeStream.addStream( | COMMENT |
| LOW | …ckages/assistant-stream/src/core/utils/stream/merge.ts | 401 | // number, | COMMENT |
| LOW | …ckages/assistant-stream/src/core/utils/stream/merge.ts | 421 | // writer.write(chunk); | COMMENT |
| LOW | …ckages/assistant-stream/src/core/utils/stream/merge.ts | 441 | // if (this.writers.size > 0) throw new Error("Not all writers closed"); | COMMENT |
| LOW | …ckages/assistant-stream/src/core/utils/stream/merge.ts | 461 | // } | COMMENT |
| LOW | packages/assistant-stream/src/utils/json/fix-json.ts | 1 | // LICENSE for this file only | COMMENT |
| LOW | packages/assistant-stream/src/utils/json/fix-json.ts | 41 | | "INSIDE_ARRAY_AFTER_VALUE" | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/assistant-transport-backend/main.py | 140 | except Exception as e: | CODE |
| LOW | …on/assistant-stream/src/assistant_stream/create_run.py | 37 | except Exception: | CODE |
| LOW | …stant-stream/src/assistant_stream/resumable/context.py | 33 | except Exception: | CODE |
| LOW | …stant-stream/src/assistant_stream/resumable/context.py | 150 | except Exception as err: | CODE |
| LOW | …stant-stream/src/assistant_stream/resumable/context.py | 160 | except Exception as finalize_err: | CODE |
| MEDIUM | …stant-stream/src/assistant_stream/resumable/context.py | 133 | def _pump() -> None: | CODE |
| LOW | …assistant-ui-sync-server-api/examples/basic_example.py | 37 | except Exception as e: | CODE |
| MEDIUM | …assistant-ui-sync-server-api/examples/basic_example.py | 38 | print(f"Error: {e}") | CODE |
| LOW | …assistant-ui-sync-server-api/examples/basic_example.py | 68 | except Exception as e: | CODE |
| MEDIUM | …assistant-ui-sync-server-api/examples/basic_example.py | 69 | print(f"Error: {e}") | CODE |
| LOW | …assistant-ui-sync-server-api/examples/basic_example.py | 128 | except Exception as e: | CODE |
| MEDIUM | …assistant-ui-sync-server-api/examples/basic_example.py | 129 | print(f"Error: {e}") | CODE |
| LOW | …assistant-ui-sync-server-api/examples/basic_example.py | 162 | except Exception as e: | CODE |
| MEDIUM | …assistant-ui-sync-server-api/examples/basic_example.py | 163 | print(f"Error: {e}") | CODE |
| LOW | …assistant-ui-sync-server-api/examples/basic_example.py | 199 | except Exception as e: | CODE |
| MEDIUM | …assistant-ui-sync-server-api/examples/basic_example.py | 200 | print(f"Error: {e}") | CODE |
| LOW | examples/with-ag-ui/server/agent.py | 119 | except Exception as e: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …assistant-transport-backend-langgraph/subgraph_demo.py | 10 | CODE | |
| LOW | …n/assistant-transport-backend-langgraph/client_demo.py | 10 | CODE | |
| LOW | python/assistant-transport-backend-langgraph/main.py | 270 | CODE | |
| LOW | …on/assistant-stream/src/assistant_stream/create_run.py | 303 | CODE | |
| LOW | …on/assistant-stream/src/assistant_stream/create_run.py | 311 | CODE | |
| LOW | …ream/src/assistant_stream/serialization/data_stream.py | 24 | CODE | |
| LOW | …ream/src/assistant_stream/serialization/data_stream.py | 116 | CODE | |
| LOW | …stream/src/assistant_stream/serialization/heartbeat.py | 40 | CODE | |
| LOW | …stant-stream/src/assistant_stream/modules/langgraph.py | 111 | CODE | |
| LOW | …stant-stream/src/assistant_stream/modules/langgraph.py | 169 | CODE | |
| LOW | …ssistant-ui-sync-server-api/src/assistant_ui/client.py | 13 | CODE | |
| LOW | examples/with-ag-ui/server/agent.py | 43 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/assistant-transport-backend-langgraph/main.py | 275 | # Check if OpenAI API key is set | COMMENT |
| LOW | …on/assistant-stream/src/assistant_stream/create_run.py | 251 | # Add the chunk to the queue | COMMENT |
| LOW | …stant-stream/src/assistant_stream/modules/langgraph.py | 131 | # Check if this is an AIMessageChunk | COMMENT |
| LOW | …stant-stream/src/assistant_stream/modules/langgraph.py | 221 | # Check if this node is a subgraph node | COMMENT |
| LOW | …stant-stream/src/assistant_stream/modules/langgraph.py | 234 | # Check if it's an AI message | COMMENT |
| LOW | …stant-stream/src/assistant_stream/modules/langgraph.py | 236 | # Check if the AI message has tool calls | COMMENT |
| LOW | …stant-stream/src/assistant_stream/modules/langgraph.py | 262 | # Check if last message is already a ToolMessage | COMMENT |
| LOW | packages/react/scripts/test-integration.sh | 6 | # Check if required environment variables are set | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | …es/react-opencode/src/OpenCodeThreadController.test.ts | 2975 | client.session.messages.mock.calls.map(([request]) => request.sessionID), | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …on/assistant-stream/src/assistant_stream/create_run.py | 28 | logger = logging.getLogger(__name__) | CODE |
| LOW | …-stream/src/assistant_stream/serialization/__init__.py | 14 | __all__ = [ | CODE |
| LOW | …ream/src/assistant_stream/serialization/data_stream.py | 20 | logger = logging.getLogger(__name__) | CODE |
| LOW | …/assistant_stream/serialization/assistant_transport.py | 29 | logger = logging.getLogger(__name__) | CODE |
| LOW | …tant-stream/src/assistant_stream/resumable/__init__.py | 31 | __all__ = [ | CODE |
| LOW | …stant-stream/src/assistant_stream/resumable/context.py | 17 | logger = logging.getLogger(__name__) | CODE |
| LOW | …ream/src/assistant_stream/resumable/stores/__init__.py | 7 | __all__ = [ | CODE |
| LOW | …stant-stream/src/assistant_stream/modules/tool_call.py | 41 | def set_result(self, result: Any) -> None: | CODE |
| LOW | …istant-ui-sync-server-api/src/assistant_ui/__init__.py | 17 | __all__ = [ | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | packages/diagrammatic/README.md | 107 | ## AI-generated charts | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | scripts/sync-templates.sh | 566 | echo "✗ drift detected in ${#cloud_harness_drift[@]} cloud-harness kit file(s):" | CODE |
| MEDIUM | apps/docs/app/(catalog)/harness-sdk.md/route.ts | 5 | const markdown = `# Build a shared AI chat with harness-sdk | CODE |
| MEDIUM | apps/docs/app/(catalog)/install.md/route.test.ts | 41 | expect(markdown).toContain("## 1. harness-sdk"); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …on/assistant-stream/src/assistant_stream/create_run.py | 361 | except asyncio.CancelledError: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | python/assistant-stream/tests/test_resumable_context.py | 403 | CODE | |
| MEDIUM | python/assistant-stream/tests/test_cancellation.py | 126 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | examples/with-langgraph/app/api/[..._path]/route.ts | 39 | async function handleRequest(req: NextRequest, method: string) { | CODE |
| LOW | templates/langchain/app/api/[..._path]/route.ts | 41 | async function handleRequest(req: NextRequest, method: string) { | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/sync-templates.sh | 5 | # Usage: | COMMENT |