Merge origin/master into worktree/web-plugin-config

Three seams: the tsconfig path map gained a mapping on each side and keeps
both; the event-producer matrix is generated, so it was regenerated rather
than hand-merged row by row.
This commit is contained in:
Yichen Jiang
2026-08-11 18:27:53 +08:00
1460 changed files with 20030 additions and 19474 deletions

View File

@@ -27,7 +27,7 @@ import type {
export const DEEPSEEK_PROVIDER_ID = 'deepseek-official'
/**
* Default endpoint: DeepSeek's Anthropic-compatible surface, `/v1` included
* Default endpoint: DeepSeek's Anthropic-compatible API, `/v1` included
* (`/messages` is appended). This is NOT the chat-completions base
* (`https://api.deepseek.com`) `@deepseek-ai/dsh-llm-deepseek` uses, so this
* provider does NOT reuse `$DEEPSEEK_BASE_URL` — only the API key is shared.
@@ -111,7 +111,7 @@ export interface DeepSeekSearchProviderOptions {
/**
* Build a `url → cited_text` map from every `text` block's `citations[]`. This
* is the snippet surface: Anthropic `web_search_result` items carry
* is the snippet source: Anthropic `web_search_result` items carry
* `url`/`title`/`page_age` but typically NO inline snippet — the excerpt lives
* in a separate `text` block's citation, keyed by `url` (first occurrence wins).
*

View File

@@ -14,13 +14,13 @@ export interface WebSearchResultItem {
page_age?: string | null
}
/** A `web_search_tool_result` content block: the citeable result surface. */
/** A `web_search_tool_result` content block: the citeable result shape. */
export interface WebSearchToolResultBlock {
type: 'web_search_tool_result'
content?: WebSearchResultItem[]
}
/** One citation location inside a `text` block (the snippet surface). */
/** One citation location inside a `text` block (the snippet source). */
export interface CitationLocation {
type?: string
url?: string | null