Migrating from 0.1.2 to 0.1.3
Nothing required. v0.1.3 is additive — every v0.1.2 host config keeps working unchanged.
1. Update the package
npm install @perhapxin/dddk@0.1.3
Minimum upgrade ends there.
2. Optional — adopt layout: 'toolbar' for InlineAgent
If you're shipping an editor-style host (Notion / AFFiNE / Lexical / Tiptap on top of dddk), the new toolbar layout is probably what you want:
new InlineAgent({
- layout: 'two-column',
+ layout: 'toolbar',
actions: [
- { id: 'translate', label: 'Translate', row: 2, ... },
+ { id: 'bold', label: 'Bold', icon: 'B', group: 'format', handler: applyBold },
+ { id: 'italic', label: 'Italic', icon: 'I', group: 'format', handler: applyItalic },
+ { id: 'turn-into', label: 'Turn into', icon: '¶', group: 'block', kind: 'dropdown', items: [
+ { id: 'h1', label: 'H1', icon: 'H1', handler: turnToH1 },
+ { id: 'h2', label: 'H2', icon: 'H2', handler: turnToH2 },
+ ]},
+ { id: 'ai', label: 'AI', icon: '✨', group: 'ai', kind: 'dropdown', items: [
+ { id: 'rewrite', label: 'Rewrite', instruction: 'Improve writing' },
+ { id: 'translate', label: 'Translate', instruction: 'Translate to English' },
+ ]},
],
})
single-column / two-column are still supported and behave identically — no need to migrate unless you specifically want the toolbar.
3. Optional — let the SDK default labels through
If you were overriding VoiceModule.listeningLabel / unsupportedLabel only because the originals were too long, the new defaults ('Listening' / 'Voice input not supported') are fine to use as-is. Drop the overrides and the SDK fallback shows the short copy.
Keep your overrides if you have localised copy — the SDK still ships English-only fallbacks by design.
4. Coming from 0.1.1 or earlier
If you're skipping straight from 0.1.1, read the 0.1.1 → 0.1.2 migration guide and the 0.1.0 → 0.1.1 migration guide first. Each step is small but they're cumulative.