Z ZPI 文档 v0.3.8
介绍页

源码

licenses/third-party-notices.txt

text1207 行查看原文
# ZCode file manager and draft workspaces
 
The review pane in `packages/desktop/src/renderer/ReviewPane.tsx`, `review-pane.css`, and the virtual review file list adapt ZCode commit `3c5b227649371507ddc4eb46ac5133afe6db1cab`: `GitPane.tsx`, `GitPaneChangeCard.tsx`, `components/ui/select.tsx`, and Chinese Git review labels. Code preview preferences in `packages/ui/src/code-preview.ts` adapt its `lib/codePreviewSettings.ts` and `lib/codePreviewPreferences.ts`. Git source comparisons follow its `services/src/git/repo/gitCliRepo.ts`. Apache-2.0 applies. ZPI reuses its own IPC and persisted turn snapshots.
 
The tab overview, search ranking, recently closed tabs, tab context menus and full-view conversation host in `packages/desktop/src/renderer/{PaneTabOverview,PaneFullViewControls,RightPane}.tsx`, `pane-full-view.ts`, `pane-tabs.css` and `pane-store.ts` adapt that revision's `app-shell/{SidePaneTabOverview,sidePaneTabSearch,AnimatedSidePanePanel}` and `side-pane-full-view/{ConversationHost,ConversationTab,ToggleButton,model}`. Modified to retain ZPI's existing task ownership, composer and conversation instances, native guest lifecycle, shortcuts and preference storage. Existing Lucide artwork is reused; no additional assets or dependencies are bundled. Apache-2.0 applies.
 
The full-content review renderer, highlighter worker setup, preview fallback rules, lightweight layout, and Git watch debounce in `packages/ui/src/components/ReviewDiffViewer.tsx`, `packages/ui/src/review-diff.ts`, `packages/ui/src/patch-preview.ts`, `packages/desktop/src/renderer/DiffsWorkerPool.tsx`, and the review pane follow the same ZCode revision's `components/ui/diff-viewer.tsx`, `components/ui/lightweight-diff-preview.tsx`, `GitPane/helpers.ts`, `lib/patchDiffPreview.ts`, `root/DiffsWorkerPoolProvider.tsx`, and `hooks/useGitAutoRefresh.ts`. The review's virtual file list now lives in the desktop review pane; generic chat Diff rendering remains separate. Existing Material SVG and Lucide attribution applies.
 
The file launcher, file-manager split layout, directory row styling, lazy loading, compact folders, Git decorations, virtualized rows, sticky folders, watcher lifecycle and refresh request guards in `packages/desktop/src/renderer/{PaneLauncher,FileManagerPane}.tsx`, `workspace-file-tree/`, related pane state and styles adapt ZCode commit `3c5b227649371507ddc4eb46ac5133afe6db1cab`: `packages/ui/src/WorkspaceFileTree.tsx`, `workspace-file-tree/`, `plugin-ui/components/PluginUiLauncherItems.tsx`, `app-shell/{AnimatedSidePanePanel,animatedSidePanePanelModel}` and `lib/workspaceSidePane.ts`. Draft workspace allocation follows `packages/services/src/project/index.ts`. Adapted to ZPI's local session IDs, existing previews and mention index, `.zpi/workspace` storage, and Electron preload IPC; remote projects, additional roots and plugins are excluded. Compacted expanded directories additionally hold a watch on their represented leaf directory. The existing Material icons and Lucide artwork are reused. The desktop uses the same `react-resizable-panels` 4.10.0 layout primitives (MIT). Apache-2.0 and the existing Lucide licenses below apply.
 
Ordinary chat file previews and single-file diffs use that same file-manager container, following ZCode's `app-shell/AnimatedSidePanePanel.tsx`, `WorkspaceFileTree.tsx`, `PreviewPane.tsx` and `lib/workspaceSidePane.ts`. The shared toolbar, workspace navigation preferences, in-tab source replacement, source reopening and editor preference snapshot follow those implementations. The file-tree menu uses ZCode's Lucide `FolderOpen` artwork rather than an operating-system Finder image; existing conversation-menu Finder artwork remains the attributed ZCode asset.
 
## react-resizable-panels 4.10.0
 
The MIT License (MIT)
 
Copyright (c) 2018 Brian Vaughn
 
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
 
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
 
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
 
# Codex memory pipeline reference
 
The two-stage memory design and adapted evidence, consolidation and retrieval instructions in `packages/builtin-plugins/src/memory/` reference OpenAI Codex commit `2839ed763bd3f404398e1f0c95bf4e2d172213c0`, specifically `codex-rs/memories/write`, `codex-rs/state/src/runtime/memories.rs` and `codex-rs/ext/memories`. Copyright OpenAI. Apache-2.0 (the license is reproduced below). Modified for ZPI's existing file tools, desktop owners, SQLite state and configurable models: no skills generation, telemetry, vendor-specific selection, Codex rollout parser, or version dual-write. ZPI now uses the Codex v2 summary/rollout contract, adapts the v2 extraction and consolidation templates, and uses a fixed Git-baseline workspace with a multi-turn SDK worker. The ad-hoc note instructions are copied from `codex-rs/memories/write/templates/extensions/ad_hoc/instructions.md`; note creation and consolidation follow `codex-rs/ext/memories/templates/memories/read_path_v2.md` and the memory extension prompt blocks. ZPI adds summary rollback protection and keeps its own source-cutoff semantics. See `docs/internals/memory.md` for the reference/default distinction and implementation differences.
 
# Codex subagent delegation prompt
 
The opt-in delegation instructions in `packages/builtin-plugins/src/collaboration/prompts.ts` adapt the default spawn-agent description in OpenAI Codex commit `2839ed763bd3f404398e1f0c95bf4e2d172213c0`, `codex-rs/core/src/tools/handlers/multi_agents_spec.rs`. Copyright OpenAI. Apache-2.0 (the license is reproduced below). Adapted for ZPI's Agent/subagent_type schema, system-reminder type catalog, run_in_background notifications, SendMessage and TaskOutput tools, shared workspace, and .zpi/agents configuration. The original ZPI prompt remains the default.
 
# ZCode image request pipeline
 
The image budgets, compression candidate sequence and WebP passthrough in `packages/coding-agent/src/core/tools/pi/utils`, request media projection and compact error predicates in `packages/ai/src/utils`, cache breakpoints and text-only microcompact follow ZCode commit `aac4755666d09fdcd70272fcf063c077a639015f`, `apps/zcode-cli/packages/{contracts/src/tools/read.ts,adapters/src/image,core/src/runtime/helpers/media-budget.ts,core/src/compact/microcompact.ts}`. Adapted to ZPI's transcript and provider interfaces under the Apache-2.0 license reproduced below. Historical media selection deliberately uses `break` instead of the upstream `continue`. Image processing uses Sharp with the existing guarded BMP decoder; compression candidate order and budgets are retained, but encoded bytes may differ from the upstream encoders. Read's WebP passthrough intentionally performs budget checks without decoding.
 
# ZCode custom commands
 
Custom-command settings, forms, explicit import dialog, slash grouping/search/keyboard/chips and template expansion in `packages/desktop/src/{main,renderer,shared}/*command*`, `packages/ui/src/components/{Conversation,MentionEditor,Reference,command-suggestions}.tsx/ts` and related styles adapt ZCode commit `aac4755666d09fdcd70272fcf063c077a639015f`: `packages/ui/src/settings/{CommandsSection,CommandCard,CommandForm,ExternalAgentImportDialog,SettingsResourceHeaderActions,SettingsResourceGroup}.tsx`, `SlashCommandPlugin.tsx`, `slashCommandPanelSections.tsx`, `mentions/components/MentionPanel.tsx`, `lib/{promptInputTriggers,slashApplyMentionPayload}.ts`, `packages/services/src/{commands,settings-sync}` and `apps/zcode-cli/packages/{bootstrap,contracts}/src/custom-command*`. Modified for ZPI's existing local IPC, user/project `.zpi/commands` roots, session ownership, enabled skill loader and Bash process backend. Explicitly registered import links preserve source-edit semantics with a displayed source confirmation; atomic publication, path validation, bounded scans and conflict checks harden the reference behavior. Apache-2.0 and the existing Lucide licenses reproduced below apply. No new artwork or dependency is bundled.
 
# ZCode file and change previews
 
Single-file change-summary preview scoping and tab source identity in `ChangesPane.tsx` and `pane-store.ts` follow ZCode commit `aac4755666d09fdcd70272fcf063c077a639015f`, `MessageChangeSummaryPanel.tsx`, `messageChangeSummaryPreview.ts`, `previewPaneContent.tsx`, and `lib/workspaceSidePane.ts`. Adapted to ZPI's session/run/tool-operation identities and existing aggregate changes entry point; existing preview layout, Lucide icons and Material assets are reused. Apache-2.0 applies.
 
The breadcrumb toolbar, overflow menu, Markdown/SVG view controls, text line-comment interaction, comment cards, Diff tab badge, lightweight addition/deletion colors, image checkerboard/Retina sizing and media layout in `packages/desktop/src/renderer/{PreviewHeader,FilePane,FileCommentEditor,RightPane}.tsx`, `file-comments.ts`, `file-gutter.ts`, `preview-breadcrumb.ts`, `workbench.css`, and `packages/ui/src/components/DiffView.tsx` adapt ZCode commit `aac4755666d09fdcd70272fcf063c077a639015f`: `packages/ui/src/{PreviewPane,previewPaneImageContent,previewPaneMediaContent,previewPaneMarkdownContent}.tsx`, `components/ui/{code-viewer,diff-viewer,lightweight-diff-preview}.tsx` and `app-shell/SidePaneTabTrigger.tsx`. Modified to reuse ZPI's existing composer selection attachments, task ownership, file actions, search and Electron IPC; file comments remain draft context and do not modify files or submit a model request. Apache-2.0 and the Lucide licenses reproduced below apply.
 
Preferred-editor discovery, launch commands, workspace split button and preference handling in `packages/desktop/src/main/{editor-definitions,editors}.ts` and `packages/desktop/src/renderer/{PreviewEditorButton,WorkspaceEditorButton}.tsx`, `editor-preference*.ts` adapt that revision's `packages/desktop/src/main/{editors,openInEditor}.ts` and `packages/ui/src/{WorkspaceEditorButtonGroup.tsx,lib/openWithEditors.ts,lib/editorPreference.ts}`. Modified for ZPI's validated local IPC, existing session roots and isolated test services. Editor icons are obtained from the installed host applications; no new editor artwork is bundled. Apache-2.0 applies.
 
Office/PDF rendering in `packages/desktop/src/renderer/{OfficePreview,DocxPreview,LegacyDocPreview,PdfPreview}.tsx`, `{office-preview-model,pdf-zoom,pdf-assets}.ts` adapts the same ZCode revision's `previewPaneOffice{Docx,LegacyDoc,Xlsx}Content.tsx`, `components/ui/{pdf-viewer,usePdfZoomOverlay}.tsx`, and `lib/{officeFilePreview,pdfJsAssets}.ts`. Modified for ZPI's local buffers, bounded PDF range IPC, safe links, application tokens and isolated tests. Apache-2.0 applies.
 
The PPTX PDF export host in `packages/desktop/src/main/preview-pdf-export.ts` adapts ZCode `desktopPrintToPdf.ts` (CSS page size, background, zero margins, per-window concurrency) and `desktopSaveFile.ts` (explicit save dialog). Modified to accept only PDF bytes just generated by that renderer window, with a 50 MiB limit; no general download or arbitrary file-write interface is imported. Apache-2.0 applies.
 
New preview runtime dependencies: `@extend-ai/react-docx` 0.8.1 and `react-pdf` 10.4.1 (MIT); `pdfjs-dist` 5.4.296 and `@aiden0z/pptx-renderer` 1.2.4 (Apache-2.0). PDF.js worker/CMap/standard-font resources remain local and retain their upstream licenses. Existing `docx-preview` 0.4.0 and `@extend-ai/react-xlsx` 0.16.0 are unchanged.
 
PPTX preview in `packages/desktop/src/renderer/PptxPreview.tsx`, `PptxPreview.css`, and `presentation/{types,controls,element-model,pptx-engine,print-export}.ts` adapts the same ZCode revision's presentation preview controls, element model, renderer engine and print-export pipeline. `presentation/{export,reference}.ts` integrates these with ZPI's draft context and bounded host IPC. The test fixture `packages/desktop/test/fixtures/presentation-preview.pptx` comes from the reference's `sample.pptx`, under the same Apache-2.0 license. Preview language inference in `packages/ui/src/code-language.ts` adapts `packages/ui/src/lib/codeViewer.ts`. Test-only XML parsing uses `@xmldom/xmldom` 0.8.15 (MIT).
 
# ZCode shortcut settings
 
The four-column layout, compact keycaps, search/recording controls and reset confirmation in `packages/desktop/src/renderer/ShortcutSettings.tsx`, `shortcut-settings-model.ts` and `workbench.css` adapt ZCode commit `aac4755666d09fdcd70272fcf063c077a639015f`, `packages/ui/src/settings/{ShortcutSettingsSection,ShortcutBindingRow,ShortcutSearchBar,useShortcutKeySearch,useShortcutRecording}.tsx/ts`, `SettingsPage.tsx` and `components/ui/{kbd,input,button}.tsx`. ZPI retains its own single-binding commands, explicit save, master switch and registration transaction. The Apache-2.0 and Lucide licenses reproduced below apply.
 
# ZCode task search
 
The sidebar search entry, top-positioned Command Center, scope tabs/prefixes, keyboard navigation, result rows, snippets, highlights and workspace search history in `packages/desktop/src/renderer/{TaskSearchDialog,HighlightedMatchText}.tsx`, `task-search-{model,history,icons}.ts`, and `workbench.css` follow ZCode commit `aac4755666d09fdcd70272fcf063c077a639015f`, `packages/ui/src/{WorkspaceSidebar.tsx,command-center/{CommandCenterDialog,commandCenterSearchHistory}.ts*,quickpick/{quickPickStyles,HighlightedMatchText}.ts*,components/ui/command.tsx}`. The bounded 200000-character text index and four 20/72-character context snippets adapt `packages/services/src/session/taskIndexRepo.ts`. Adapted to ZPI's JSONL history index and Electron IPC. The original Lucide and Material Icon Theme assets are reused; no new bitmap artwork or remote services are imported. Apache-2.0 and the icon licenses reproduced below apply.
 
# ZCode subagent plugin
 
The background result title, subtle divider and always-visible work layout in `packages/ui/src/components/Conversation.tsx` and `packages/ui/src/styles.css` follow `packages/ui/src/v4/ConversationTurnGroup.tsx` at ZCode commit `3c5b227649371507ddc4eb46ac5133afe6db1cab`. Adapted to ZPI's existing run projection, tools and error display; background result turns omit the ordinary work-duration fold. Apache-2.0 applies.
 
The task status UI directly adapts `v4/ConversationStatusPanel.tsx`, `v4/conversationLayout.ts`, `BackgroundTaskElapsedLabel.tsx`, `components/ui/{button,collapsible,dropdown-menu}.tsx` and `i18n/locales/zh-CN.ts` at ZCode commit `aac4755666d09fdcd70272fcf063c077a639015f`: content-sized capsule, hover icon swap, independently collapsible terminal/agent sections, elapsed labels, inline Stop, automatic 1280px container layout, and matching spacing, colors, shadows and Lucide assets. Completed-command history remains a ZPI extension; task execution uses the existing Electron IPC.
 
TaskOutput's bounded wait/result contract, the coordinator response tool's independence from profile allowlists, task output/stop summaries, and the floating status panel placement also follow ZCode commit `aac4755666d09fdcd70272fcf063c077a639015f`: `apps/zcode-cli/packages/contracts/src/tools/task-output.ts`, `apps/zcode-cli/packages/core/src/{tool/handlers/task-output.ts,runtime/methods/subagent.ts}`, and `packages/ui/src/{ToolCallBlocks/renderers/{task-output,task-stop}.tsx,v4/ConversationStatusPanel.tsx}`. ZPI uses event-driven waits and its existing local subagent records.
 
The built-in background command implementation in `packages/builtin-plugins/src/background/{tasks,processes}.ts` and combined `TaskActivity`/`BackgroundTaskPane` follow that same ZCode revision's `apps/zcode-cli/packages/core/src/tool/{bash-timeout-policy.ts,handlers/{bash,task-output-bash,task-stop}.ts}`, `runtime/helpers/runtime-tools.ts`, and `apps/zcode-cli/packages/adapters/src/exec/{node-execution-adapter-lifecycle,process-tree,execution-utils}.ts`: explicit/timeout background handoff, detachment from foreground cancellation, merged disk output, bounded output retrieval, process-tree termination, and child command lifetime limits. Adapted to local Electron IPC and ZPI session persistence; no remote-task runtime or telemetry is imported.
 
The built-in general-purpose and Explore prompts and descriptions, Agent and SendMessage contracts, profile scopes and model inheritance, single-row Agent summaries, grouped settings rows, Bot icons and color palette, and read-only child session tabs in `packages/builtin-plugins/src/collaboration`, `packages/desktop/src/renderer/{SubagentSettings,SubagentPane}.tsx`, and `packages/ui/src/components/SubagentToolBlock.tsx` follow the local ZCode reference: `apps/zcode-cli/packages/core/src/subagent/{general-purpose,explore,profile}.ts`, `packages/contracts/src/tools/{agent,send-message}.ts`, and `packages/ui/src/{settings/SubagentsSection.tsx,ToolCallBlocks/renderers/agent.tsx,lib/subagentColors.ts,app-shell/SubagentSessionSidePane.tsx}`. Adapted to ZPI's existing custom-tool and Electron IPC boundaries under the Apache-2.0 license reproduced below. The original uses Lucide Bot and CSS identity colors; no additional bitmap artwork is used. The four-tool coding core remains independent of the built-in collaboration plugin. Follow-up corrections at ZCode commit `aac4755666d09fdcd70272fcf063c077a639015f` also adapt `settings/{PluginScopeMenu,SettingsResourceHeaderActions,PluginInstallEmptyState,SettingsSearchInput}.tsx`, `v4/{ConversationHeader,ConversationStatusPanel}.tsx`, `app-shell/SubagentDirectorySidePane.tsx`, `ToolCallBlocks/renderers/{send-message,respond-to-coordinator}.tsx`, the shared Markdown model-selection codec, and the subagent runtime refresh/RespondToCoordinator contracts. Generic SDK steering supplies the completed model/tool boundary; subagent routing is owned by the built-in collaboration plugin.
 
# ZCode conversation interaction refinements
 
The 120px user-message collapse, fade and expand/collapse button in packages/ui/src/components/UserMessageBody.tsx and styles.css follow ZCode packages/ui/src/v4/ConversationUserInputBody.tsx. Auxiliary chat numbering follows lib/workspaceSidePane.ts; task interaction capture follows v4/WorkbenchPane.tsx; pending write previews follow ToolCallBlocks/renderers/edit.tsx and its parameter/change snapshots. Adapted to ZPI's existing React components and Electron interfaces under the Apache-2.0 license reproduced below.
 
# ZCode model stream idle recovery
 
The event-iterator watchdog, 600-second default, 30-second retry increments, linked attempt cancellation, timeout error identity, and one-second bounded iterator cleanup in `packages/ai/src/utils/{stream-idle-timeout,guard-model-stream}.ts` follow ZCode commit `872ad960de7ec172591f7e1952f7849229f94521`, `apps/zcode-cli/packages/adapters/src/model/{stream-idle-timeout,runner-stream}.ts` and `packages/contracts/src/config/index.ts`. The ten-retry recovery default follows `packages/core/src/runtime/methods/streaming-recovery.ts`. Adapted to ZPI's native model event streams, existing safe tool-result recovery, JSONL error records and retry UI; no telemetry or orchestration is imported. Explicit Pi HTTP timeout overrides remain available, while model-event idle detection is now the default. The Apache-2.0 license reproduced below applies.
 
# ZCode questions and side conversations
 
AskUserQuestion's schema, choice card layout, keyboard navigation, answer/skip semantics, and selection side-chat context boundary in packages/desktop/src/{main,renderer} follow ZCode's contracts/tools/ask-user-question.ts, ElicitationDialog.tsx, v4/SessionPane.tsx, and runtime/methods/session-fork.ts. Adapted to ZPI's existing custom-tool, session and Electron IPC interfaces under the Apache-2.0 license reproduced below.
 
# ZCode streaming tool parameter previews
 
The partial JSON string decoding and empty-input visibility in packages/ui/src/components/tool-input-preview.ts follow ZCode commit 872ad960de7ec172591f7e1952f7849229f94521, packages/shared/src/streaming-tool-input-preview.ts and packages/ui/src/v4/toolCallRowAdapter.ts. The write content-versus-Parameters switch and preview surfaces follow ToolCallBody.tsx, lib/toolDisplay.ts and components/ai-elements/tool.tsx. Adapted to ZPI's Pi argument fields and existing Markdown/code/diff components under the Apache-2.0 license reproduced below. No new artwork is included.
 
# ZCode visual interactions
 
Workspace sidebar spacing, input drag feedback, menu/dialog surfaces and motion, side-pane toggle animation and content width locking, and live tool entrances in packages/desktop/src/renderer and packages/ui/src follow ZCode packages/ui/src/{WorkspaceSidebar,ToolCallBlocks}.tsx, app-shell/{useAnimatedResizablePanel.ts,AnimatedSidePanePanel.tsx}, prompt-editor/ChatPromptEditor.tsx, components/ui/{button,dialog,dropdown-menu,popover}.tsx and styles.css. Adapted to ZPI’s four-tool interface and existing React/Radix components under the Apache-2.0 license reproduced below. No new artwork is included.
 
# Model protocol selector
 
The model connection form layout, protocol labels, field spacing, input/select sizing, credential visibility control and empty model state in packages/desktop/src/renderer/{SettingsPage,ProviderApiFormatSelect}.tsx and workbench.css follow ZCode packages/ui/src/settings/model-provider-section/{InlineEditableProviderCard,ProviderApiFormatSelect,ProviderCardSections,ApiKeyInput}.tsx and components/ui/{input,select}.tsx, under the Apache-2.0 license already reproduced below. Existing ZPI provider logos and Lucide icons remain in use.
 
# ChatGPT provider icon
 
The ChatGPT provider image in packages/desktop/src/renderer/assets/providers/chatgpt.png is the user-supplied OpenAI ChatGPT application icon, provided through icon-chatgpt.png. The ChatGPT name and icon belong to OpenAI; the asset is used to identify the provider.
 
# Pi implementation
 
Anthropic Messages transport in packages/ai/src/api/anthropic-messages.ts and its JSON repair, Unicode, thinking-budget, cost, strict-schema and transcript helpers are adapted from Pi commit cd34e17ff039502f3664d8363b3c0a23f93a2ca3. The corresponding SSE, eager-tool-input, managed-effort and cache-cost regression tests use the same reference. Adaptations connect ZPI's event, reasoning-editor, usage and retry interfaces; no telemetry or orchestration modules are included. The MIT license below applies.
 
Parallel tool scheduling and ordered preparation in packages/agent/src/{agent-loop,tool-execution}.ts follow Pi commit cd34e17ff039502f3664d8363b3c0a23f93a2ca3, packages/agent/src/agent-loop.ts. Adapted to ZPI's transcript and event interfaces. The MIT license below applies.
 
The system prompt and adapted tool modules in packages/coding-agent/src/core/tools/pi originate from Pi commit c20cb09772bf4e2590a316cb54514cef76df4293.
 
Assistant history replay rules in packages/ai/src/api/openai-completions.ts also follow that Pi commit's src/api/transform-messages.ts and src/api/openai-completions.ts: exclude errored/aborted and empty assistant messages from requests, convert non-redacted thinking to text across models, and preserve valid tool calls/results. Adapted to ZPI's existing supported Chat Completions fields; stored history is unchanged.
 
The provider model data in packages/ai/src/providers/catalog.json are selected from the same Pi commit, src/providers/data/{deepseek,zai,zai-coding-cn,minimax-cn,xiaomi,xiaomi-token-plan-cn}.json. Cost and unrelated transport fields are omitted; thinking compatibility is adapted to ZPI's existing OpenAI transport. MiniMax OpenAI thinking toggles and reasoning_split are based on the official CN OpenAI SDK documentation; fixed-depth models expose only their default enabled level.
 
GPT-6.1 Sol, GPT-6 Astra and GPT-6 Luna capability presets use the current OpenAI model documentation and the reference Pi OpenAI catalog. ChatGPT context limits are taken from account discovery when present; presets use Pi's conservative 272K plan context. Preset capabilities do not establish account availability.
 
ChatGPT OAuth in packages/ai/src/auth/openai-chatgpt.ts and Responses history conversion in packages/ai/src/api/{openai-responses,transform-messages}.ts are adapted from the reference Pi implementation in src/auth/oauth/openai-chatgpt.ts and src/api/{openai-responses-shared,transform-messages}.ts, with OIDC validation and the current public ChatGPT plan API requirements.
 
Context estimation, compaction preparation/cuts/prompts, summary budgets and file tracking in packages/coding-agent/src/core/{compaction,compaction-utils}.ts, assistant retry and overflow detection in packages/ai/src/utils/{retry,overflow,error-body}.ts, and the settings/default-thinking/history/automatic-compaction lifecycle follow Pi commit cd34e17ff039502f3664d8363b3c0a23f93a2ca3. Adapted to ZPI's four-tool core, system-message transcript and Electron fetch boundary. Provider request retry in packages/ai/src/utils/provider-retry.ts originates from Pi commit c20cb09772bf4e2590a316cb54514cef76df4293; both OpenAI adapters now use it with the SDK's two-retry default. The MIT license below applies.
 
MIT License
 
Copyright (c) 2025 Mario Zechner
 
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
 
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
 
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
 
 
# node-pty
 
Copyright (c) 2012-2015, Christopher Jeffrey (https://github.com/chjj/)
 
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
 
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
 
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
 
 
 
The MIT License (MIT)
 
Copyright (c) 2016, Daniel Imms (http://www.growingwiththeweb.com)
 
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
 
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
 
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
 
 
 
MIT License
 
Copyright (c) 2018 - present Microsoft Corporation
 
All rights reserved.
 
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
 
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
 
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
 
 
 
# @xterm/xterm
 
Copyright (c) 2017-2019, The xterm.js authors (https://github.com/xtermjs/xterm.js)
Copyright (c) 2014-2016, SourceLair Private Company (https://www.sourcelair.com)
Copyright (c) 2012-2013, Christopher Jeffrey (https://github.com/chjj/)
 
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
 
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
 
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
 
 
 
# @xterm/addon-fit
 
Copyright (c) 2019, The xterm.js authors (https://github.com/xtermjs/xterm.js)
 
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
 
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
 
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
 
 
 
# @xterm/addon-web-links
 
Copyright (c) 2017, The xterm.js authors (https://github.com/xtermjs/xterm.js)
 
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
 
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
 
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
 
 
 
# @pierre/diffs
 
                                 Apache License
                           Version 2.0, January 2004
                        http://www.apache.org/licenses/
 
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
 
1.  Definitions.
 
    "License" shall mean the terms and conditions for use, reproduction, and
    distribution as defined by Sections 1 through 9 of this document.
 
    "Licensor" shall mean the copyright owner or entity authorized by the
    copyright owner that is granting the License.
 
    "Legal Entity" shall mean the union of the acting entity and all other
    entities that control, are controlled by, or are under common control with
    that entity. For the purposes of this definition, "control" means (i) the
    power, direct or indirect, to cause the direction or management of such
    entity, whether by contract or otherwise, or (ii) ownership of fifty percent
    (50%) or more of the outstanding shares, or (iii) beneficial ownership of
    such entity.
 
    "You" (or "Your") shall mean an individual or Legal Entity exercising
    permissions granted by this License.
 
    "Source" form shall mean the preferred form for making modifications,
    including but not limited to software source code, documentation source, and
    configuration files.
 
    "Object" form shall mean any form resulting from mechanical transformation
    or translation of a Source form, including but not limited to compiled
    object code, generated documentation, and conversions to other media types.
 
    "Work" shall mean the work of authorship, whether in Source or Object form,
    made available under the License, as indicated by a copyright notice that is
    included in or attached to the work (an example is provided in the Appendix
    below).
 
    "Derivative Works" shall mean any work, whether in Source or Object form,
    that is based on (or derived from) the Work and for which the editorial
    revisions, annotations, elaborations, or other modifications represent, as a
    whole, an original work of authorship. For the purposes of this License,
    Derivative Works shall not include works that remain separable from, or
    merely link (or bind by name) to the interfaces of, the Work and Derivative
    Works thereof.
 
    "Contribution" shall mean any work of authorship, including the original
    version of the Work and any modifications or additions to that Work or
    Derivative Works thereof, that is intentionally submitted to Licensor for
    inclusion in the Work by the copyright owner or by an individual or Legal
    Entity authorized to submit on behalf of the copyright owner. For the
    purposes of this definition, "submitted" means any form of electronic,
    verbal, or written communication sent to the Licensor or its
    representatives, including but not limited to communication on electronic
    mailing lists, source code control systems, and issue tracking systems that
    are managed by, or on behalf of, the Licensor for the purpose of discussing
    and improving the Work, but excluding communication that is conspicuously
    marked or otherwise designated in writing by the copyright owner as "Not a
    Contribution."
 
    "Contributor" shall mean Licensor and any individual or Legal Entity on
    behalf of whom a Contribution has been received by Licensor and subsequently
    incorporated within the Work.
 
2.  Grant of Copyright License. Subject to the terms and conditions of this
    License, each Contributor hereby grants to You a perpetual, worldwide,
    non-exclusive, no-charge, royalty-free, irrevocable copyright license to
    reproduce, prepare Derivative Works of, publicly display, publicly perform,
    sublicense, and distribute the Work and such Derivative Works in Source or
    Object form.
 
3.  Grant of Patent License. Subject to the terms and conditions of this
    License, each Contributor hereby grants to You a perpetual, worldwide,
    non-exclusive, no-charge, royalty-free, irrevocable (except as stated in
    this section) patent license to make, have made, use, offer to sell, sell,
    import, and otherwise transfer the Work, where such license applies only to
    those patent claims licensable by such Contributor that are necessarily
    infringed by their Contribution(s) alone or by combination of their
    Contribution(s) with the Work to which such Contribution(s) was submitted.
    If You institute patent litigation against any entity (including a
    cross-claim or counterclaim in a lawsuit) alleging that the Work or a
    Contribution incorporated within the Work constitutes direct or contributory
    patent infringement, then any patent licenses granted to You under this
    License for that Work shall terminate as of the date such litigation is
    filed.
 
4.  Redistribution. You may reproduce and distribute copies of the Work or
    Derivative Works thereof in any medium, with or without modifications, and
    in Source or Object form, provided that You meet the following conditions:
 
    (a) You must give any other recipients of the Work or Derivative Works a
    copy of this License; and
 
    (b) You must cause any modified files to carry prominent notices stating
    that You changed the files; and
 
    (c) You must retain, in the Source form of any Derivative Works that You
    distribute, all copyright, patent, trademark, and attribution notices from
    the Source form of the Work, excluding those notices that do not pertain to
    any part of the Derivative Works; and
 
    (d) If the Work includes a "NOTICE" text file as part of its distribution,
    then any Derivative Works that You distribute must include a readable copy
    of the attribution notices contained within such NOTICE file, excluding
    those notices that do not pertain to any part of the Derivative Works, in at
    least one of the following places: within a NOTICE text file distributed as
    part of the Derivative Works; within the Source form or documentation, if
    provided along with the Derivative Works; or, within a display generated by
    the Derivative Works, if and wherever such third-party notices normally
    appear. The contents of the NOTICE file are for informational purposes only
    and do not modify the License. You may add Your own attribution notices
    within Derivative Works that You distribute, alongside or as an addendum to
    the NOTICE text from the Work, provided that such additional attribution
    notices cannot be construed as modifying the License.
 
    You may add Your own copyright statement to Your modifications and may
    provide additional or different license terms and conditions for use,
    reproduction, or distribution of Your modifications, or for any such
    Derivative Works as a whole, provided Your use, reproduction, and
    distribution of the Work otherwise complies with the conditions stated in
    this License.
 
5.  Submission of Contributions. Unless You explicitly state otherwise, any
    Contribution intentionally submitted for inclusion in the Work by You to the
    Licensor shall be under the terms and conditions of this License, without
    any additional terms or conditions. Notwithstanding the above, nothing
    herein shall supersede or modify the terms of any separate license agreement
    you may have executed with Licensor regarding such Contributions.
 
6.  Trademarks. This License does not grant permission to use the trade names,
    trademarks, service marks, or product names of the Licensor, except as
    required for reasonable and customary use in describing the origin of the
    Work and reproducing the content of the NOTICE file.
 
7.  Disclaimer of Warranty. Unless required by applicable law or agreed to in
    writing, Licensor provides the Work (and each Contributor provides its
    Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    KIND, either express or implied, including, without limitation, any
    warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or
    FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining
    the appropriateness of using or redistributing the Work and assume any risks
    associated with Your exercise of permissions under this License.
 
8.  Limitation of Liability. In no event and under no legal theory, whether in
    tort (including negligence), contract, or otherwise, unless required by
    applicable law (such as deliberate and grossly negligent acts) or agreed to
    in writing, shall any Contributor be liable to You for damages, including
    any direct, indirect, special, incidental, or consequential damages of any
    character arising as a result of this License or out of the use or inability
    to use the Work (including but not limited to damages for loss of goodwill,
    work stoppage, computer failure or malfunction, or any and all other
    commercial damages or losses), even if such Contributor has been advised of
    the possibility of such damages.
 
9.  Accepting Warranty or Additional Liability. While redistributing the Work or
    Derivative Works thereof, You may choose to offer, and charge a fee for,
    acceptance of support, warranty, indemnity, or other liability obligations
    and/or rights consistent with this License. However, in accepting such
    obligations, You may act only on Your own behalf and on Your sole
    responsibility, not on behalf of any other Contributor, and only if You
    agree to indemnify, defend, and hold each Contributor harmless for any
    liability incurred by, or claims asserted against, such Contributor by
    reason of your accepting any such warranty or additional liability.
 
END OF TERMS AND CONDITIONS
 
APPENDIX: How to apply the Apache License to your work.
 
      To apply the Apache License to your work, attach the following
      boilerplate notice, with the fields enclosed by brackets "[]"
      replaced with your own identifying information. (Don't include
      the brackets!)  The text should be enclosed in the appropriate
      comment syntax for the file format. We also recommend that a
      file or class name and description of purpose be included on the
      same "printed page" as the copyright notice for easier
      identification within third-party archives.
 
Copyright 2025 Pierre Computer Company
 
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
this file except in compliance with the License. You may obtain a copy of the
License at
 
       http://www.apache.org/licenses/LICENSE-2.0
 
Unless required by applicable law or agreed to in writing, software distributed
under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
CONDITIONS OF ANY KIND, either express or implied. See the License for the
specific language governing permissions and limitations under the License.
 
 
 
# ZCode desktop presentation
 
Read-only execution during model streaming, safety admission, result reuse, 250 ms cancellation drain, durable pending/result journaling and interrupted-call recovery in packages/agent/src/streaming-tool-coordinator.ts and packages/coding-agent/src/core/streaming-tool-journal.ts follow ZCode commit 872ad960de7ec172591f7e1952f7849229f94521, apps/zcode-cli/packages/core/src/runtime/methods/{streaming-tool-coordinator,streaming-tool-synthetic-result,tool-part-persistence}.ts. Adapted to ZPI's four-tool runtime, append-only JSONL and existing transcript/retry events. The Apache-2.0 license below applies.
 
Task notifications follow ZCode commit 872ad960de7ec172591f7e1952f7849229f94521: desktopNotifications.ts, taskNotificationOrchestrator.ts, taskNotificationPreferences.ts, taskNotificationSound.ts, settingsPageHelpers.tsx and zh-CN notification labels. The original task-notification-pop.mp3 is copied into packages/desktop/src/renderer/assets/notification-sounds. Notification delivery, preference persistence and task navigation are adapted to ZPI's live run events and Electron bridge. Apache-2.0 attribution and license below apply.
 
MermaidBlock rendering queue, CSS color normalization and base theme, mermaid-budget.ts and mermaid-language.ts are adapted from ZCode commit 872ad960de7ec172591f7e1952f7849229f94521. UI labels, theme-token names, preview shell, desktop SVG sizing and queued cancellation are adapted for ZPI.
 
The process layout and icon selection in packages/ui/src/components/Conversation.tsx, process-specific CSS tokens/styles, and work-duration/latest-reasoning-line helpers in process-presentation.ts follow the same ZCode commit. References: packages/ui/src/v4/ConversationTurnGroup.tsx, packages/ui/src/ToolCallBlocks/ToolLayout.tsx, ToolSummaryRow.tsx and renderers, packages/ui/src/lib/workDuration.ts, packages/ui/src/components/ai-elements/reasoning.tsx, and styles.css. Adapted to ZPI's existing Pi tool names, desktop events and expansion state.
 
WindowChrome, macOS window-button placement, sidebar typography/icons/pinned section, the empty side-pane launcher, and skills/model-provider settings layouts also follow this commit. References: DesktopTopOverlay.tsx, WorkspaceSidePaneToggleButton.tsx, WorkspaceSidebarItem.tsx, WorkspacePinnedTasksSection.tsx, TaskListItem.tsx, app-shell/AnimatedSidePanePanel.tsx, settings/SkillsSection.tsx, SettingsResourceGroup.tsx, model-provider-section/SectionLayout.tsx, Navigation.tsx, ApiKeyInput.tsx and desktopWindowButtonPosition.ts. Adapted to ZPI's existing session, settings and pane APIs; capabilities not present in ZPI were not added.
 
Pixel-based interface font settings, rounded settings/workspace frames, transparent 4px resize gutters and side-pane launcher fills follow the same ZCode commit. References: lib/uiFontSize.ts, settingsCodePreview.tsx, SettingsPage.tsx, app-shell/WorkspaceShellLayout.tsx, app-shell/AnimatedSidePanePanel.tsx, WorkspaceHeader.tsx, v4/ConversationTimeline.tsx, v4/ConversationDraftEmptyState.tsx, v4/ConversationComposer.tsx, desktopWindowSize.ts and theme-zai tokens in styles.css. Adapted to ZPI's preference storage and existing panes. Workspace surfaces, translucent macOS backdrop and native overlay scrollbar styling follow ZCode styles.css and DesktopWindowFrame.tsx; native under-window vibrancy and active visual effects follow desktopWindowChrome.ts. Colors retain the reference alpha compositing instead of hardcoding sampled display RGB values.
 
Copyright 2026 Z.AI Co., Ltd
 
ZCode's reasoning.tsx is derived from vercel/ai-elements packages/elements/src/reasoning.tsx.
Copyright 2023 Vercel, Inc.
 
Licensed under the Apache License, Version 2.0. The complete Apache-2.0 license text is included above under @pierre/diffs.
 
Provider logos in packages/desktop/src/renderer/assets/providers are copied from the same ZCode commit (deepseek.png, minimax.png, mimo.png and logo-bigmodel.svg). Provider picker and ModelConfigDialog follow ProviderTemplatePicker.tsx, ProviderModelMetadataDialog.tsx and ModalityOptions.tsx, adapted to ZPI's existing configuration fields. The composer stop button, draft greeting, neutral color tokens, no-drag overlay parent and equal-width pane tabs follow ConversationComposer.tsx, ConversationDraftEmptyState.tsx, DesktopTopOverlay.tsx, SidePaneTabTrigger.tsx and styles.css. Modified layouts, labels, metadata source indicators and supported capabilities remain specific to ZPI. Apache-2.0 attribution and license above apply.
 
Composer spacing and controls, suggestion menus and the circular back-to-bottom control are adapted from ZCode ChatPromptEditor.tsx, ChatPromptActionMenu.tsx, MentionPanel.tsx, ModelConfigSelect.tsx, ThoughtLevelCycleControl.tsx and ConversationTimeline.tsx at the same commit. The back-to-bottom hover treatment is omitted as requested. Existing ZPI draft/reference editing, file lookup and model-selection storage remain in use.
 
The skills suggestion row, 14px WandSparkles icon, complete skill names, secondary descriptions and source labels follow mentions/MentionPlugin.tsx, MentionPanel.tsx, providers/skillsMentionProvider.ts and lib/builtinSkillI18n.ts at the same commit. Skill search ranking, the 1000-result cap, contiguous Chinese matching and yen-sign trigger aliases follow mentions/mentionSearch.ts and lib/promptInputTriggers.ts. Adapted to ZPI's existing skill catalog and canonical Markdown references. Apache-2.0 attribution above applies.
 
The desktop follow-up queue layout, labels, icons, drag activation distance and reorder-anchor logic in ConversationQueuePanel.tsx follow ZCode packages/ui/src/v4/ConversationQueuePanel.tsx, ConversationComposer.tsx, SessionPane.tsx, components/ui/button.tsx and i18n/locales/zh-CN.ts at the same commit. The GripVertical, ArrowUpFromLine, Pencil and Trash2 icons use the same Lucide assets. Queue persistence and delivery are adapted to ZPI's existing Electron IPC, JSONL, draft/attachment storage and Pi session runtime. Apache-2.0 attribution and license above apply.
 
The model-provider navigation groups, provider heading/actions, connection fields, compact model rows and enable switches follow model-provider-section/ProviderCardSections.tsx, ProviderFormControls.tsx, ProviderStatusIndicator.tsx, Navigation.tsx, SettingsResourceHeaderActions.tsx, components/ui/switch.tsx and lib/tokenNumberFormat.ts at the same ZCode commit. New-task control dimensions and typography follow NewTaskButtonGroup.tsx. Draft storage/promotion and runtime model-field projection remain ZPI-specific.
 
The task-row 16px leading slot, Lucide LoaderIcon/Pin, hover/focus replacement, spinner timing, 6px unread/error dots and indicator precedence follow TaskListItem.tsx, lib/taskListItemPresentation.ts, lib/taskStatusUnreadSync.ts and app-shell/useWorkspaceTaskNavigation.ts at the same ZCode commit. Unread storage/acknowledgement are adapted to ZPI's existing main-owned JSONL and Electron IPC. Apache-2.0 attribution and license above apply.
 
ToolFailure.tsx error tooltip, dashed failure label and copy action follow ZCode ToolCallBlocks/ToolLayout.tsx at the same commit, using ZPI's existing restricted clipboard bridge. Apache-2.0 attribution and license above apply.
 
File reference name/extension aliases, original Material SVG assets in renderer/public/material-icons, command/skill Lucide paths in renderer/public/mention-icons, inline pseudo-element decoration, reference colors and file-link presentation follow ZCode lib/fileDisplayHelpers.ts, lib/fileDisplay.tsx, mentions/mentionChip.ts, mentions/nodes/mentionIconDom.ts, promptMentionDecoration.ts and components/ai-elements/message.tsx at the same commit. File preview and read-only Excel sheet tabs follow PreviewPane.tsx, previewPaneCodeContent.tsx and previewPaneOfficeXlsxContent.tsx. Adapted to ZPI's canonical text editor, local Electron bridge and pane store. Apache-2.0 attribution above applies.
 
SettingsSelect follows ZCode components/ui/select.tsx and interface-settings-section.tsx at the same commit, including Radix Select 2.2.6, item-aligned menus, spacing and Lucide theme/check icons. Composer history follows lib/promptHistory.ts, lib/promptHistoryStorage.ts and LexicalChatInput.tsx: 30 workspace-scoped entries, consecutive duplicate suppression, arrow navigation and manual-edit reset. Storage keys and draft integration are adapted to ZPI. Apache-2.0 attribution above applies.
 
# Additional document preview dependencies
 
@extend-ai/react-xlsx, @dukelib/sheets-wasm and docx-preview are used for local read-only document previews. Available MIT license texts are included below; @dukelib/sheets-wasm declares MIT in its package metadata.
 
## @extend-ai/react-xlsx
 
```text
MIT License
 
Copyright (c) 2026 CrowdView Inc, dba Extend
 
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
 
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
 
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
 
```
 
## docx-preview
 
```text
                                 Apache License
                           Version 2.0, January 2004
                        http://www.apache.org/licenses/
 
   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
 
   1. Definitions.
 
      "License" shall mean the terms and conditions for use, reproduction,
      and distribution as defined by Sections 1 through 9 of this document.
 
      "Licensor" shall mean the copyright owner or entity authorized by
      the copyright owner that is granting the License.
 
      "Legal Entity" shall mean the union of the acting entity and all
      other entities that control, are controlled by, or are under common
      control with that entity. For the purposes of this definition,
      "control" means (i) the power, direct or indirect, to cause the
      direction or management of such entity, whether by contract or
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
      outstanding shares, or (iii) beneficial ownership of such entity.
 
      "You" (or "Your") shall mean an individual or Legal Entity
      exercising permissions granted by this License.
 
      "Source" form shall mean the preferred form for making modifications,
      including but not limited to software source code, documentation
      source, and configuration files.
 
      "Object" form shall mean any form resulting from mechanical
      transformation or translation of a Source form, including but
      not limited to compiled object code, generated documentation,
      and conversions to other media types.
 
      "Work" shall mean the work of authorship, whether in Source or
      Object form, made available under the License, as indicated by a
      copyright notice that is included in or attached to the work
      (an example is provided in the Appendix below).
 
      "Derivative Works" shall mean any work, whether in Source or Object
      form, that is based on (or derived from) the Work and for which the
      editorial revisions, annotations, elaborations, or other modifications
      represent, as a whole, an original work of authorship. For the purposes
      of this License, Derivative Works shall not include works that remain
      separable from, or merely link (or bind by name) to the interfaces of,
      the Work and Derivative Works thereof.
 
      "Contribution" shall mean any work of authorship, including
      the original version of the Work and any modifications or additions
      to that Work or Derivative Works thereof, that is intentionally
      submitted to Licensor for inclusion in the Work by the copyright owner
      or by an individual or Legal Entity authorized to submit on behalf of
      the copyright owner. For the purposes of this definition, "submitted"
      means any form of electronic, verbal, or written communication sent
      to the Licensor or its representatives, including but not limited to
      communication on electronic mailing lists, source code control systems,
      and issue tracking systems that are managed by, or on behalf of, the
      Licensor for the purpose of discussing and improving the Work, but
      excluding communication that is conspicuously marked or otherwise
      designated in writing by the copyright owner as "Not a Contribution."
 
      "Contributor" shall mean Licensor and any individual or Legal Entity
      on behalf of whom a Contribution has been received by Licensor and
      subsequently incorporated within the Work.
 
   2. Grant of Copyright License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      copyright license to reproduce, prepare Derivative Works of,
      publicly display, publicly perform, sublicense, and distribute the
      Work and such Derivative Works in Source or Object form.
 
   3. Grant of Patent License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      (except as stated in this section) patent license to make, have made,
      use, offer to sell, sell, import, and otherwise transfer the Work,
      where such license applies only to those patent claims licensable
      by such Contributor that are necessarily infringed by their
      Contribution(s) alone or by combination of their Contribution(s)
      with the Work to which such Contribution(s) was submitted. If You
      institute patent litigation against any entity (including a
      cross-claim or counterclaim in a lawsuit) alleging that the Work
      or a Contribution incorporated within the Work constitutes direct
      or contributory patent infringement, then any patent licenses
      granted to You under this License for that Work shall terminate
      as of the date such litigation is filed.
 
   4. Redistribution. You may reproduce and distribute copies of the
      Work or Derivative Works thereof in any medium, with or without
      modifications, and in Source or Object form, provided that You
      meet the following conditions:
 
      (a) You must give any other recipients of the Work or
          Derivative Works a copy of this License; and
 
      (b) You must cause any modified files to carry prominent notices
          stating that You changed the files; and
 
      (c) You must retain, in the Source form of any Derivative Works
          that You distribute, all copyright, patent, trademark, and
          attribution notices from the Source form of the Work,
          excluding those notices that do not pertain to any part of
          the Derivative Works; and
 
      (d) If the Work includes a "NOTICE" text file as part of its
          distribution, then any Derivative Works that You distribute must
          include a readable copy of the attribution notices contained
          within such NOTICE file, excluding those notices that do not
          pertain to any part of the Derivative Works, in at least one
          of the following places: within a NOTICE text file distributed
          as part of the Derivative Works; within the Source form or
          documentation, if provided along with the Derivative Works; or,
          within a display generated by the Derivative Works, if and
          wherever such third-party notices normally appear. The contents
          of the NOTICE file are for informational purposes only and
          do not modify the License. You may add Your own attribution
          notices within Derivative Works that You distribute, alongside
          or as an addendum to the NOTICE text from the Work, provided
          that such additional attribution notices cannot be construed
          as modifying the License.
 
      You may add Your own copyright statement to Your modifications and
      may provide additional or different license terms and conditions
      for use, reproduction, or distribution of Your modifications, or
      for any such Derivative Works as a whole, provided Your use,
      reproduction, and distribution of the Work otherwise complies with
      the conditions stated in this License.
 
   5. Submission of Contributions. Unless You explicitly state otherwise,
      any Contribution intentionally submitted for inclusion in the Work
      by You to the Licensor shall be under the terms and conditions of
      this License, without any additional terms or conditions.
      Notwithstanding the above, nothing herein shall supersede or modify
      the terms of any separate license agreement you may have executed
      with Licensor regarding such Contributions.
 
   6. Trademarks. This License does not grant permission to use the trade
      names, trademarks, service marks, or product names of the Licensor,
      except as required for reasonable and customary use in describing the
      origin of the Work and reproducing the content of the NOTICE file.
 
   7. Disclaimer of Warranty. Unless required by applicable law or
      agreed to in writing, Licensor provides the Work (and each
      Contributor provides its Contributions) on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
      implied, including, without limitation, any warranties or conditions
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
      PARTICULAR PURPOSE. You are solely responsible for determining the
      appropriateness of using or redistributing the Work and assume any
      risks associated with Your exercise of permissions under this License.
 
   8. Limitation of Liability. In no event and under no legal theory,
      whether in tort (including negligence), contract, or otherwise,
      unless required by applicable law (such as deliberate and grossly
      negligent acts) or agreed to in writing, shall any Contributor be
      liable to You for damages, including any direct, indirect, special,
      incidental, or consequential damages of any character arising as a
      result of this License or out of the use or inability to use the
      Work (including but not limited to damages for loss of goodwill,
      work stoppage, computer failure or malfunction, or any and all
      other commercial damages or losses), even if such Contributor
      has been advised of the possibility of such damages.
 
   9. Accepting Warranty or Additional Liability. While redistributing
      the Work or Derivative Works thereof, You may choose to offer,
      and charge a fee for, acceptance of support, warranty, indemnity,
      or other liability obligations and/or rights consistent with this
      License. However, in accepting such obligations, You may act only
      on Your own behalf and on Your sole responsibility, not on behalf
      of any other Contributor, and only if You agree to indemnify,
      defend, and hold each Contributor harmless for any liability
      incurred by, or claims asserted against, such Contributor by reason
      of your accepting any such warranty or additional liability.
 
   END OF TERMS AND CONDITIONS
 
   APPENDIX: How to apply the Apache License to your work.
 
      To apply the Apache License to your work, attach the following
      boilerplate notice, with the fields enclosed by brackets "{}"
      replaced with your own identifying information. (Don't include
      the brackets!)  The text should be enclosed in the appropriate
      comment syntax for the file format. We also recommend that a
      file or class name and description of purpose be included on the
      same "printed page" as the copyright notice for easier
      identification within third-party archives.
 
   Copyright (c) 2016-2023 Volodymyr Baydalka
 
   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at
 
       http://www.apache.org/licenses/LICENSE-2.0
 
   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
 
```
 
## Material Icon Theme
 
```text
The MIT License (MIT)
Copyright (c) 2025 Material Extensions
 
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
 
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
 
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
```
 
Markdown table layout/actions, code highlighting controls, image galleries/previews, prose styles and single-dollar math normalization follow ZCode components/ai-elements/message.tsx, markdown-table.tsx, code-block.tsx, markdown-image.tsx at the same commit. Adapted to ZPI's Streamdown version, shared desktop theme and restricted local file/clipboard bridge. Apache-2.0 attribution above applies.
 
The Markdown link routing, Windows destination recovery and basic file citation parsing adapt ZCode UI source (`markdownFileLink.ts`, `embeddedBrowserHelpers.ts`, `windowsFileLinkEscapeRemarkPlugin.ts`, `assistantDirectiveParser.ts`, `zcodeFileCitation.ts`, `zcodeFileCitationRemarkPlugin.ts`, and `message.tsx`) under the ZCode license stated above.
 
The desktop task menu order, compact trigger and separated directory actions follow ZCode packages/ui/src/WorkspaceHeaderSections.tsx and TaskActionMenuContent.tsx. The archived-task delete control uses the same Lucide Trash2 asset as ZCode WorkspaceArchivedTasksFlatSection.tsx. The archive settings layout follows the user-provided Codex screenshot. The existing ZCode Apache-2.0 and Lucide ISC attributions above apply.
 
The model provider action menu, delete confirmation and editable reasoning level chips adapt ZCode `ProviderCardSections.tsx`, `dropdown-menu.tsx`, `ConfirmDialog.tsx`, `ProviderModelReasoningLevelEditor.tsx`, and model metadata dialog components. The restricted CEL compiler, tokenizer, parser, and evaluator in `packages/ai/src/utils/option-map` adapt ZCode `packages/model-option-map/src` (Apache-2.0), with its logic retained and TypeScript imports adapted. Existing ZCode and Lucide license attributions above apply.
 
The changed-file summary, inline file rows, review/open buttons and dropdown spacing follow ZCode packages/ui/src/v4/ConversationFileSummaryPanel.tsx, OpenSplitButton.tsx, lib/fileDisplay.tsx and components/ui/button.tsx and dropdown-menu.tsx. The Finder image in renderer/public/file-actions/finder.png is copied from ZCode packages/ui/src/onboarding/assets/finder.png. File icons reuse the Material assets attributed above; dropdown icons use the same Lucide ChevronDown and Copy assets. System-default opening, Finder reveal and path copying are adapted to ZPI's local Electron bridge. The existing ZCode Apache-2.0 and Lucide ISC attributions above apply.
 
Conversation file and folder context menus follow ZCode `components/ai-elements/message.tsx` and `components/ui/context-menu.tsx`, including item order, separators, spacing and the Lucide Copy icon. They reuse the Finder image attributed above, with local file actions handled by ZPI's Electron bridge and folders opened in Finder. The existing ZCode Apache-2.0 and Lucide ISC attributions above apply.
 
Message hover actions, the 1.2-second copy feedback, Lucide Copy/Pencil/TrendingUpDown/Quote/Trash2/FileClock/GitBranch assets, inline message editor, file reset conflict dialog, time labels, conversation selection guards, userselect wire format and reference pills follow ZCode ConversationRowView.tsx, ConversationFileRewindDialog.tsx, messageTimeLabel.ts, SelectionActionMenu.tsx, conversationSelectionReference.ts, ConversationSelectionReferenceChip.tsx and ContextAttachmentPill.tsx at commit 872ad96. Adapted to ZPI's four-tool runtime, main-owned JSONL history and restricted Electron IPC. The existing ZCode Apache-2.0 and Lucide ISC attributions above apply.
 
Assistant prose placement, running and abnormal history visibility, final-segment folding, empty reasoning filtering, status chevrons and 20px/16px conversation spacing follow ZCode `v4/conversationTurnWorkSegments.ts`, `conversationTurnRenderUnits.ts`, `ConversationTurnGroup.tsx` and `ConversationRowView.tsx` at commit 872ad96. Adapted to ZPI's existing ordered blocks and four-tool runtime; Markdown and Lucide assets reuse the components attributed above. The existing ZCode Apache-2.0 and Lucide ISC attributions apply.
 
Sidebar purpose headings, their hover/focus and touch behavior, Lucide ChevronDown/ChevronRight/GripVertical/Plus/MessageCirclePlus assets, pinned heading, and vertical section sorting follow ZCode WorkspaceSidebar/WorkspacePurposeSection.tsx, WorkspacePinnedTasksSection.tsx, sidebarPurposeSectionPreferences.ts, restrictVerticalDragWithinContainer.ts and zh-CN.ts at commit 872ad96. Adapted to ZPI's existing SortableList, collapsed preferences and local sidebar order storage. The existing ZCode Apache-2.0 and Lucide ISC attributions above apply.
 
Sidebar project and task name typography and row geometry follow ZCode WorkspaceSidebarItem.tsx, TaskListItem.tsx and components/ui/button.tsx at commit 872ad96: shared UI font size, normal-weight names, 1.5 line height and 24px task text slots with 4px vertical padding. Adapted to ZPI's existing project and session buttons.
 
Application-wide Lucide stroke width follows ZCode Root.tsx's LucideProvider default of 1.5. Sidebar project folder icons follow the rendered 14px size of WorkspaceSidebarItem.tsx and components/ui/button.tsx, centered in their 16px slots. Existing ZCode Apache-2.0 and Lucide ISC attributions apply.
 
The composer stop button hover colors and the top-positioned shortcut hint follow ZCode `v4/ConversationComposer.tsx`, `components/ui/button.tsx`, `ControlHintTooltip.tsx`, `components/ui/tooltip.tsx` and theme-zai tooltip tokens in `styles.css`. Adapted to ZPI's existing ActionHint component and stop handler. Existing ZCode Apache-2.0 and Lucide ISC attributions apply.
 
Task find bar geometry, labels, Lucide Search/ArrowUp/ArrowDown/MessageCircle/FileDiff/X assets, keyboard navigation, scope switching, history loading, stable selection and highlight colors follow ZCode `quickpick/TaskFindDialog.tsx`, `conversationFindSearch.ts`, `taskFindNavigationState.ts`, `v4/useConversationTimelineFind.ts`, `conversationFindIndex.ts`, `conversationFindHighlightDom.ts`, `GitPane/fileChangeFindSearch.ts` and theme-zai tokens. Adapted to ZPI's message rendering, local history paging and existing diff/IPC components. The existing ZCode Apache-2.0, Lucide ISC and @pierre/diffs attributions above apply.
 
Structured provider error details, streamed-tool recovery, and the retry/loading presentation follow ZCode `retry-policy.ts`, `runner-retry.ts`, `failure-classifier.ts`, `failure-provider-business-codes.ts`, `stream-retry-boundary.ts`, `streaming-recovery.ts`, `ConversationTurnGroup.tsx`, `chat-input-toolbar/display.tsx`, `chat-loading.tsx` and `styles.css`. The loading indicator uses the same Lucide Loader asset; retry text reuses the existing four-second gradient animation with the secondary text peak. Adapted to ZPI's four-tool execution loop and existing session/IPC projection. Existing ZCode Apache-2.0 and Lucide ISC attributions apply.
 
Tool summaries, phase grouping, file chips, per-operation patch previews, terminal output following/freezing, scroll fades, failure tooltips, 300ms collapsibles, queued summary transitions and flipping diff counts adapt ZCode `ToolCallBlocks/{ToolLayout,ToolSummaryRow,QueuedSummaryContent}.tsx`, `renderers/{read,execute,ExecuteOutput,explore,execute-group,edit,EditInlineDiffContent}.tsx`, `v4/conversationAssistantWorkItems.ts`, `lib/{exploreToolCall,patchDiffPreview}.ts`, and `components/ui/{collapsible,scroll-fade-viewport,lightweight-diff-preview,flip-metric-value}` at commit 872ad96. Adapted to ZPI’s four-tool runtime and existing file/patch IPC. The 1,146 Material SVG assets are byte-identical to the reference set. Existing ZCode Apache-2.0, Lucide ISC, and Material MIT attributions above apply.
 
Hash conversation references follow ZCode commit aac47556: `mentions/providers/sessionsMentionProvider.ts`, `mentionMarkdown.ts`, `mentionSearch.ts`, `MentionPlugin.tsx`, `components/ContextMentionOptionContent.tsx`, `nodes/mentionIconDom.ts`, and CLI `session-context/{references,parts}.ts`. Current-workspace priority, per-workspace result limits, canonical Markdown, MessagesSquare icon, session colors and search labels are retained. Session identities, IPC and bounded transcript snapshots are adapted to ZPI's JSONL storage and existing `read` tool instead of introducing ReadSessionContext or a secondary extraction model. The existing ZCode Apache-2.0 and Lucide ISC attributions above apply.
 
# Radix Collapsible
 
MIT License
 
Copyright (c) 2022 WorkOS
 
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
 
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
 
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
 
 
# Motion
 
The MIT License (MIT)
 
Copyright (c) 2024 [Motion](https://motion.dev) B.V.
 
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
 
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
 
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
 
 
# Framer Motion
 
The MIT License (MIT)
 
Copyright (c) 2018 Framer B.V.
 
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
 
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
 
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
 
 
# Shiki
 
MIT License
 
Copyright (c) 2021 Pine Wu
Copyright (c) 2023 Anthony Fu <https://github.com/antfu>
 
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
 
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
 
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
 
Conversation column widths, turn padding, composer dock insets, footer action spacing and the shared turn hover scope follow ZCode `v4/conversationLayout.ts`, `v4/ConversationTurnGroup.tsx`, `v4/ConversationTimeline.tsx`, `v4/ConversationRowView.tsx` and `components/ai-elements/message.tsx` from commit 872ad960de7ec172591f7e1952f7849229f94521. Adapted to ZPI's existing copy, fork and local session controls. Existing ZCode Apache-2.0 and Lucide ISC attributions apply.
 
Window viewport containment and file/folder mentions follow ZCode `styles.css`, `shared/workspaceFileSearch.ts`, `mentions/MentionPlugin.tsx`, `mentions/mentionMarkdown.ts`, `mentions/components/{MentionPanel,ContextMentionOptionContent}.tsx`, `mentions/components/scrollMask.ts` and `lib/fileDisplay.tsx` from the same commit. Search ranking, parent-directory labels, 34px rows, 24px scroll fades and folder SVG presentation are adapted to ZPI's existing Git-aware lookup, Markdown draft storage and four-tool runtime. `material-icons/folder.svg` is byte-identical to the reference asset already included above. Existing ZCode Apache-2.0 and Material MIT attributions apply.
 
The composer add panel follows ZCode `ConversationComposerActionMenu.tsx`, `mentions/components/{MentionPanel,ContextMentionOptionContent}.tsx`, `LexicalChatInput.tsx`, and `zh-CN.ts`: full-width positioning, attachment and file sections, 34px rows, rounded surface, keyboard selection and shortcut footer. Paperclip, Plus and Info use the same Lucide assets; file icons reuse the Material SVG assets attributed above. Adapted to ZPI’s attachment picker, Git-aware file search and canonical Markdown editor. Existing ZCode Apache-2.0, Lucide ISC and Material MIT attributions apply.
 
Generic attachment selection, native path references, text-file classification, 48px media thumbnails, file cards and prompt mention line-box alignment follow ZCode `desktopMainIpcPlatform.ts`, `chatAttachments.ts`, `chatAttachmentMetadata.ts`, runtime `helpers/{attachments,attachment-path-reference}.ts`, `v4/ConversationComposer.tsx` and `mentions/mentionChip.ts`. Adapted to ZPI's existing text/image model API, bounded Pi read output, Electron IPC and attachment storage. Existing ZCode Apache-2.0, Lucide ISC and Material MIT attributions apply.
 
Automatic assistant preview parsing, change gates, candidate limits, stat validation, cards, open menus and PPTX completion consumption adapt ZCode `AssistantPreviewCards.tsx`, `OpenSplitButton.tsx`, `lib/{assistantPreviewCards,assistantFileReferences,assistantPreviewCardValidation,assistantPathQuotes,markdownFileLink,path}.ts`, `shared/conversation-preview-artifacts.ts`, `shared/media-preview.ts`, `v4/useAssistantPreviewCardsForRow.ts` and `v4/assistantPreviewPptxAutoOpen.ts` at commit 872ad960de7ec172591f7e1952f7849229f94521. Sidebar view/sort controls, time formatting, running-first ordering, project/task pagination, timeline grouping and title overflow adapt `WorkspaceSidebar.tsx`, `WorkspaceTimelineTasksSection.tsx`, `TaskListItem.tsx`, `components/TaskTitleOverflowText.tsx` and their ordering, pagination, preferences and presentation helpers at the same commit. Local application discovery follows `desktop/src/main/editors.ts` and `lib/openWithEditors.ts`. Adapted to ZPI's existing session host, four-tool changes, local Electron IPC and pane store. Lucide and byte-identical Material SVGs reuse the assets attributed above; no new icon set is introduced. Existing ZCode Apache-2.0, Lucide ISC and Material MIT attributions apply.
 
Context compaction timeline dividers in packages/ui/src/components/CompactionDivider.tsx follow ZCode `v4/ConversationRowView.tsx` (`MarkerDividerRow`, compact status labels) and `styles.css` at commit 872ad960de7ec172591f7e1952f7849229f94521: 14px Lucide Archive, centered label, 1px border at 50% opacity, 12px outer gap, 6px icon gap, 8px/16px padding and the existing four-second gradient text animation. Adapted to ZPI's Pi compaction lifecycle and local session history. Existing ZCode Apache-2.0 and Lucide ISC attributions above apply; the compaction prompt is unchanged.
 
Question transcript presentation in `AskQuestionToolBlock.tsx` and `user-question-presentation.ts` adapts ZCode `ToolCallBlocks/renderers/ask-question.tsx` and `lib/askUserQuestion.ts`. `UserQuestionCard.tsx` and its styles follow `ElicitationDialog.tsx` and the Badge, Button and Textarea primitives, including option descriptions, paging, focus restoration, keyboard/IME handling, responsive collapse and scroll bounds. Adapted to ZPI’s optional question tool, Pi text results and local IPC. CircleHelp, Check, Chevron and Info reuse the Lucide assets attributed above. Existing ZCode Apache-2.0 and Lucide ISC attributions apply.
 
# cmdk
 
The search palette uses cmdk 1.1.1 for the same keyboard and selection behavior as ZCode.
 
MIT License
 
Copyright (c) 2022 Paco Coursey
 
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
 
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
 
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
 
 
## ZCode task groups
 
The task grouping state transitions, drag/drop semantics, group and task row layout,
seven-color palette, view switcher, sticky headers, and virtualized lists are adapted
from [ZCode](https://github.com/zai-org/ZCode), commit
`aac4755666d09fdcd70272fcf063c077a639015f`. Reference sources:
`packages/ui/src/WorkspaceSidebar.tsx`, `WorkspaceGroupedTasksSection.tsx`,
`workspace-grouped-tasks/`, `lib/buildGroupedTaskViewFromSessions.ts`,
`lib/groupedTaskExpansionPreference.ts`, and `packages/services/src/session/taskIndexRepo.ts`.
 
Copyright 2026 Z.AI Co., Ltd. Licensed under Apache-2.0 (full license reproduced above).
ZPI adapts persistence to its existing Electron IPC / local JSON architecture and
reuses its existing Lucide icon package; no new bitmap artwork is copied.
 
## Lucide and Feather icons
 
The following license text is reproduced from the installed `lucide-react` 1.51.0
package, including the Feather-derived icons such as Hash, ChevronDown and X:
 
ISC License
 
Copyright (c) 2026 Lucide Icons and Contributors
 
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
 
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 
---
 
The following Lucide icons are derived from the Feather project:
 
airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out
 
The MIT License (MIT) (for the icons listed above)
 
Copyright (c) 2013-present Cole Bemis
 
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
 
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
 
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
 
 
## DeepSeek Harness performance and usage presentation
 
The model-performance dock layout, labels and numeric presentation are adapted from [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness), revision 571902028a75c64c1d767f4ae5fd099485f0ddf0.
 
MIT License
 
Copyright (c) 2026 DeepSeek
 
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
 
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
 
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
 
 
## @extend-ai/react-docx
 
MIT License
 
Copyright (c) 2026 CrowdView Inc, dba Extend
 
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
 
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
 
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
 
 
## react-pdf
 
MIT License
 
Copyright (c) 2017–2024 Wojciech Maj
 
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
 
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
 
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
 
 
## @xmldom/xmldom (test dependency)
 
Copyright 2019 - present Christopher J. Brody and other contributors, as listed in: https://github.com/xmldom/xmldom/graphs/contributors
Copyright 2012 - 2017 @jindw <jindw@xidea.org> and other contributors, as listed in: https://github.com/jindw/xmldom/graphs/contributors
 
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
 
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
 
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
## File icon parity and load fallback
 
The complete file icon alias regression fixture in `packages/ui/test/fixtures/file-icons-reference.json`
is derived from ZCode `packages/ui/src/lib/fileDisplayHelpers.ts` at
`aac4755666d09fdcd70272fcf063c077a639015f` (Apache-2.0). It records all 27 filename aliases,
50 extension aliases, and the combined checksum of the existing 1,146 byte-identical
Material Icon Theme SVGs. Filename overrides, including `README.txt` → `readme`, are
preserved before extension lookup; no theme-specific substitution is introduced.
The two-stage image-load fallback in `packages/ui/src/file-icons.ts` and
`components/Reference.tsx` adapts that revision's `lib/fileDisplay.tsx`, with a valid
inline SVG stroke color and source-keyed image reset. Existing Apache-2.0 and Material
Icon Theme MIT notices above apply. No additional icon artwork or ZCode brand assets
are imported.
 
# ZCode task list header and project sorting update
 
`TaskListHeader.tsx`, `TaskViewMenu.tsx`, `SortableProjects.tsx`, `sidebar-task-model.ts`, and the corresponding workbench styles adapt ZCode commit `3c5b227649371507ddc4eb46ac5133afe6db1cab`, `packages/ui/src/project-sidebar/{ProjectSidebarListHeader,SortableProjects,ProjectNode,PurposeSections,view,timelineDates}.tsx/ts` and `WorkspaceSidebar/WorkspacePurposeSection.tsx` and `components/ui/dropdown-menu.tsx`. Folder, Hash, Clock, ListFilter, Search and expand/collapse icons reuse Lucide. The Apache-2.0 and Lucide licenses reproduced above apply. Project and task-group writes retain ZPI's desktop state owner and SQLite storage. The grouped drag lifecycle and final-position commands also adapt `project-sidebar/grouped/{useGroupedDrag,drag,model}.ts` at the same commit.
 
Conversation history content windowing in `ConversationHistory.tsx` and reading anchors in `Conversation.tsx` follow the measured-height, stable live-tail and scroll-anchor principles of ZCode `packages/ui/src/v4/ConversationTimeline.tsx` at commit `3c5b227649371507ddc4eb46ac5133afe6db1cab`. Adapted to ZPI's existing pagination with normal-flow placeholders and IntersectionObserver, without copying its virtualizer or adding dependencies. The ZCode Apache-2.0 notice above applies.
 
Per-target search caching in `find.ts` and `use-text-find.ts` follows the stable-unit match cache in ZCode `packages/ui/src/v4/useConversationTimelineFind.ts` at the same commit. Adapted to ZPI's rendered-text matching, mutation-based DOM invalidation and reusable CSS Highlight ranges, preserving existing Unicode offsets and diff search. The ZCode Apache-2.0 notice above applies.
 
First-search text projection in `conversation-find.ts` and `markdown-find.ts` follows ZCode `v4/useConversationTimelineFind.ts`'s separation of a full text index from mounted-row highlights at commit `3c5b227649371507ddc4eb46ac5133afe6db1cab`. Adapted to ZPI's shared Markdown pipeline, short indexing tasks, existing history placeholders and a mounted fallback for dynamic content. The ZCode Apache-2.0 notice above applies.
 
## remark-parse
 
Used by the existing Streamdown parser and directly by the lightweight conversation search projection.
 
```text
(The MIT License)
 
Copyright (c) 2014 Titus Wormer <tituswormer@gmail.com>
 
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
 
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
 
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
```
 
## remark-rehype
 
Used by the existing Streamdown parser and directly by the lightweight conversation search projection.
 
```text
(The MIT License)
 
Copyright (c) Titus Wormer <tituswormer@gmail.com>
 
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
'Software'), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
 
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
 
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
```
 
 
# Source icon regression fixture provenance
 
# DeepSeek source-icon regression fixtures
 
These small public icons reproduce the user-reported missing source icons. Downloaded anonymously on 2026-10-17 from the exact `site_icon` URLs shown in the supplied screenshot; every request returned HTTP 200 without redirects. No DeepSeek API or credential was used.
 
`sources.json` records the original URL, actual Content-Type, byte length and SHA-256. The first four are rejected by the former MIME/format gate; the JPEG was already shown correctly. Two additional screenshot samples cover a multi-frame ICO and WebP served as binary/octet-stream. Tests replay these response bytes through mock transport and the real bounded decoder, with no live requests.
 
The logos and marks belong to their respective publishers. These files are regression test inputs only, not application UI assets.