# Conflicts: # docs/capability-seams.i18n.yaml # docs/persistence-catalog.i18n.yaml # docs/persistence-schema.json
1.3 KiB
kind, description
| kind | description |
|---|---|
| upgrade-guide | Auxiliary LLM request purposes require producer-owned type declarations instead of a shared fixed union. |
Declare auxiliary LLM request purposes
English | 中文
Change
GenerateOptions.purpose derives from the declaration-mergeable LlmRequestPurposeMap exported by @deepseek-ai/dsh-llm/types. The shared package no longer declares compaction or session-title. Plugins that construct auxiliary requests must load the producer's declarations or declare their own purpose. Existing runtime purpose strings keep their meaning.
Migration
-
Import
@deepseek-ai/dsh-compaction-basicfor direct compaction requests, or@deepseek-ai/dsh-session-title-llmfor title requests, using a type-only import when only the declaration is needed. -
For a plugin-owned purpose, augment
LlmRequestPurposeMapfrom the plugin's public type entry. Map the purpose key totrue:import type {} from '@deepseek-ai/dsh-llm/types' declare module '@deepseek-ai/dsh-llm/types' { interface LlmRequestPurposeMap { 'my-plugin-purpose': true } } -
Compile the plugin against the new package declarations. Confirm that its request accepts the declared purpose and rejects an undeclared key.