@kitnai/chat 0.6.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -9
- package/dist/custom-elements.json +1676 -881
- package/dist/kitn-chat.es.js +36 -36
- package/dist/llms/llms-full.txt +316 -155
- package/dist/llms/llms.txt +18 -18
- package/dist/schemas/card-envelope.schema.json +14 -0
- package/dist/schemas/card-event.schema.json +12 -0
- package/dist/schemas/confirm.schema.json +65 -0
- package/dist/schemas/embed.schema.json +65 -0
- package/dist/schemas/form.result.schema.json +7 -0
- package/dist/schemas/form.schema.json +33 -0
- package/dist/schemas/link.schema.json +56 -0
- package/dist/schemas/task-list.result.schema.json +16 -0
- package/dist/schemas/task-list.schema.json +78 -0
- package/dist/theme.tokens.css +65 -65
- package/dist/tsx-B8rCNbgL.js +1 -0
- package/dist/typescript-RycA9KXf.js +1 -0
- package/frameworks/react/index.tsx +382 -193
- package/frameworks/react/runtime.tsx +2 -2
- package/llms-full.txt +316 -155
- package/llms.txt +18 -18
- package/package.json +5 -2
- package/src/components/artifact.stories.tsx +138 -0
- package/src/components/artifact.tsx +581 -0
- package/src/components/attachments.stories.tsx +7 -8
- package/src/components/attachments.tsx +2 -2
- package/src/components/card.tsx +110 -0
- package/src/components/chain-of-thought.stories.tsx +7 -8
- package/src/components/chat-container.stories.tsx +7 -8
- package/src/components/chat-container.tsx +4 -0
- package/src/components/checkpoint.stories.tsx +7 -8
- package/src/components/code-block.stories.tsx +8 -9
- package/src/components/component-meta.json +3411 -0
- package/src/components/confirm-card.stories.tsx +74 -0
- package/src/components/confirm-card.tsx +299 -0
- package/src/components/context.stories.tsx +7 -8
- package/src/components/conversation-item.stories.tsx +7 -8
- package/src/components/conversation-item.tsx +2 -2
- package/src/components/conversation-list.stories.tsx +7 -8
- package/src/components/conversation-list.tsx +1 -1
- package/src/components/embed.tsx +196 -0
- package/src/components/empty.stories.tsx +8 -9
- package/src/components/feedback-bar.stories.tsx +7 -8
- package/src/components/file-tree.stories.tsx +73 -0
- package/src/components/file-tree.tsx +383 -0
- package/src/components/file-upload.stories.tsx +7 -8
- package/src/components/form-widgets.tsx +461 -0
- package/src/components/form.tsx +796 -0
- package/src/components/image.stories.tsx +7 -8
- package/src/components/link-card.tsx +194 -0
- package/src/components/loader.stories.tsx +7 -8
- package/src/components/markdown.stories.tsx +7 -8
- package/src/components/message-narrow.stories.tsx +12 -13
- package/src/components/message-skills.stories.tsx +16 -17
- package/src/components/message.stories.tsx +17 -18
- package/src/components/model-switcher.stories.tsx +7 -8
- package/src/components/prompt-input.stories.tsx +8 -9
- package/src/components/prompt-suggestion.stories.tsx +7 -8
- package/src/components/prompt-suggestion.tsx +3 -3
- package/src/components/reasoning.stories.tsx +7 -8
- package/src/components/scroll-button.stories.tsx +7 -8
- package/src/components/slash-command.stories.tsx +8 -9
- package/src/components/slash-command.tsx +2 -2
- package/src/components/source.stories.tsx +7 -8
- package/src/components/source.tsx +1 -1
- package/src/components/task-list-card.stories.tsx +78 -0
- package/src/components/task-list-card.tsx +388 -0
- package/src/components/text-shimmer.stories.tsx +7 -8
- package/src/components/thinking-bar.stories.tsx +7 -8
- package/src/components/tool.stories.tsx +7 -8
- package/src/components/tool.tsx +2 -2
- package/src/components/voice-input.stories.tsx +7 -8
- package/src/elements/artifact.stories.tsx +291 -0
- package/src/elements/artifact.tsx +72 -0
- package/src/elements/{kitn-attachments.stories.tsx → attachments.stories.tsx} +11 -11
- package/src/elements/attachments.tsx +4 -4
- package/src/elements/card.stories.tsx +118 -0
- package/src/elements/card.tsx +40 -0
- package/src/elements/catalog.stories.tsx +491 -0
- package/src/elements/{kitn-chain-of-thought.stories.tsx → chain-of-thought.stories.tsx} +13 -13
- package/src/elements/chain-of-thought.tsx +3 -3
- package/src/elements/{kitn-chat-scope-picker.stories.tsx → chat-scope-picker.stories.tsx} +10 -10
- package/src/elements/chat-scope-picker.tsx +4 -4
- package/src/elements/{kitn-chat-workspace.stories.tsx → chat-workspace.stories.tsx} +71 -29
- package/src/elements/chat-workspace.tsx +29 -3
- package/src/elements/{kitn-chat.stories.tsx → chat.stories.tsx} +61 -16
- package/src/elements/chat.tsx +23 -2
- package/src/elements/{kitn-checkpoint.stories.tsx → checkpoint.stories.tsx} +11 -11
- package/src/elements/checkpoint.tsx +4 -4
- package/src/elements/{kitn-code-block.stories.tsx → code-block.stories.tsx} +10 -10
- package/src/elements/code-block.tsx +3 -3
- package/src/elements/compiled.css +1 -1
- package/src/elements/composed-shell.stories.tsx +316 -0
- package/src/elements/confirm-card.stories.tsx +186 -0
- package/src/elements/confirm-card.tsx +45 -0
- package/src/elements/{kitn-context-meter.stories.tsx → context-meter.stories.tsx} +10 -10
- package/src/elements/context-meter.tsx +3 -3
- package/src/elements/{kitn-conversation-list.stories.tsx → conversation-list.stories.tsx} +35 -22
- package/src/elements/conversation-list.tsx +11 -2
- package/src/elements/css.ts +1 -1
- package/src/elements/define.tsx +10 -10
- package/src/elements/element-meta.json +2649 -0
- package/src/elements/element-types.d.ts +251 -125
- package/src/elements/embed.stories.tsx +197 -0
- package/src/elements/embed.tsx +35 -0
- package/src/elements/{kitn-empty.stories.tsx → empty.stories.tsx} +12 -12
- package/src/elements/empty.tsx +3 -3
- package/src/elements/{kitn-feedback-bar.stories.tsx → feedback-bar.stories.tsx} +11 -11
- package/src/elements/feedback-bar.tsx +4 -4
- package/src/elements/file-tree.stories.tsx +133 -0
- package/src/elements/file-tree.tsx +52 -0
- package/src/elements/{kitn-file-upload.stories.tsx → file-upload.stories.tsx} +12 -12
- package/src/elements/file-upload.tsx +4 -4
- package/src/elements/form.stories.tsx +204 -0
- package/src/elements/form.tsx +37 -0
- package/src/elements/{kitn-image.stories.tsx → image.stories.tsx} +10 -10
- package/src/elements/image.tsx +3 -3
- package/src/elements/link-card.stories.tsx +193 -0
- package/src/elements/link-card.tsx +34 -0
- package/src/elements/{kitn-loader.stories.tsx → loader.stories.tsx} +11 -11
- package/src/elements/loader.tsx +3 -3
- package/src/elements/{kitn-markdown.stories.tsx → markdown.stories.tsx} +10 -10
- package/src/elements/markdown.tsx +3 -3
- package/src/elements/{kitn-message-skills.stories.tsx → message-skills.stories.tsx} +10 -10
- package/src/elements/message-skills.tsx +3 -3
- package/src/elements/{kitn-message.stories.tsx → message.stories.tsx} +12 -12
- package/src/elements/message.tsx +5 -5
- package/src/elements/{kitn-model-switcher.stories.tsx → model-switcher.stories.tsx} +10 -10
- package/src/elements/model-switcher.tsx +5 -5
- package/src/elements/{kitn-prompt-input.stories.tsx → prompt-input.stories.tsx} +41 -19
- package/src/elements/prompt-input.tsx +5 -5
- package/src/elements/{kitn-prompt-suggestions.stories.tsx → prompt-suggestions.stories.tsx} +13 -13
- package/src/elements/prompt-suggestions.tsx +4 -4
- package/src/elements/{kitn-reasoning.stories.tsx → reasoning.stories.tsx} +10 -10
- package/src/elements/reasoning.tsx +4 -4
- package/src/elements/register.ts +11 -1
- package/src/elements/resizable.stories.tsx +200 -0
- package/src/elements/resizable.tsx +264 -0
- package/src/elements/{kitn-response-stream.stories.tsx → response-stream.stories.tsx} +10 -10
- package/src/elements/response-stream.tsx +4 -4
- package/src/elements/{kitn-source-list.stories.tsx → source-list.stories.tsx} +11 -11
- package/src/elements/{kitn-source.stories.tsx → source.stories.tsx} +12 -12
- package/src/elements/source.tsx +5 -5
- package/src/elements/styles.css +140 -1
- package/src/elements/task-list-card.stories.tsx +194 -0
- package/src/elements/task-list-card.tsx +40 -0
- package/src/elements/{kitn-text-shimmer.stories.tsx → text-shimmer.stories.tsx} +10 -10
- package/src/elements/text-shimmer.tsx +3 -3
- package/src/elements/{kitn-thinking-bar.stories.tsx → thinking-bar.stories.tsx} +11 -11
- package/src/elements/thinking-bar.tsx +5 -5
- package/src/elements/{kitn-tool.stories.tsx → tool.stories.tsx} +10 -10
- package/src/elements/tool.tsx +3 -3
- package/src/elements/{kitn-voice-input.stories.tsx → voice-input.stories.tsx} +10 -10
- package/src/elements/voice-input.tsx +4 -4
- package/src/index.ts +94 -2
- package/src/primitives/card-contract.ts +60 -0
- package/src/primitives/card-host.tsx +35 -0
- package/src/primitives/card-routing.ts +79 -0
- package/src/primitives/card-schemas/card-envelope.schema.json +14 -0
- package/src/primitives/card-schemas/card-event.schema.json +12 -0
- package/src/primitives/card-schemas/confirm.schema.json +65 -0
- package/src/primitives/card-schemas/embed.schema.json +65 -0
- package/src/primitives/card-schemas/form.result.schema.json +7 -0
- package/src/primitives/card-schemas/form.schema.json +33 -0
- package/src/primitives/card-schemas/link.schema.json +56 -0
- package/src/primitives/card-schemas/task-list.result.schema.json +16 -0
- package/src/primitives/card-schemas/task-list.schema.json +78 -0
- package/src/primitives/card-validate.ts +95 -0
- package/src/primitives/embed-providers.ts +254 -0
- package/src/primitives/highlighter.ts +4 -0
- package/src/primitives/link-preview.ts +87 -0
- package/src/primitives/pdf-preview.ts +121 -0
- package/src/stories/chat-panel-layout.stories.tsx +2 -1
- package/src/stories/chat-scene.tsx +22 -21
- package/src/stories/checkpoint-restore.stories.tsx +10 -10
- package/src/stories/conversation-with-reasoning.stories.tsx +4 -4
- package/src/stories/conversation-with-sources.stories.tsx +7 -7
- package/src/stories/docs/Accessibility.mdx +2 -2
- package/src/stories/docs/ForAIAgents.mdx +3 -3
- package/src/stories/docs/GettingStarted.mdx +2 -2
- package/src/stories/docs/Installation.mdx +2 -2
- package/src/stories/docs/Integrations.mdx +29 -29
- package/src/stories/docs/Introduction.mdx +3 -3
- package/src/stories/docs/Theming.mdx +2 -2
- package/src/stories/docs/element-controls.ts +60 -0
- package/src/stories/docs/theme-editor/theme-editor.tsx +1 -0
- package/src/stories/examples/ChoosingComponents.mdx +94 -0
- package/src/stories/examples/sample-data.ts +79 -0
- package/src/stories/message-actions.stories.tsx +13 -13
- package/src/stories/pattern-centered-conversation.stories.tsx +3 -3
- package/src/stories/pattern-docked-widget.stories.tsx +1 -1
- package/src/stories/pattern-empty-state.stories.tsx +3 -3
- package/src/stories/prompt-input-variants.stories.tsx +13 -13
- package/src/stories/streaming-response.stories.tsx +3 -3
- package/src/stories/typography.stories.tsx +4 -4
- package/src/ui/avatar.stories.tsx +7 -8
- package/src/ui/badge.stories.tsx +7 -8
- package/src/ui/button.stories.tsx +8 -9
- package/src/ui/button.tsx +1 -0
- package/src/ui/collapsible.stories.tsx +6 -7
- package/src/ui/dropdown.stories.tsx +6 -7
- package/src/ui/hover-card.stories.tsx +6 -7
- package/src/ui/resizable.stories.tsx +74 -9
- package/src/ui/resizable.tsx +351 -71
- package/src/ui/scroll-area.stories.tsx +6 -7
- package/src/ui/scroll-area.tsx +3 -1
- package/src/ui/separator.stories.tsx +7 -8
- package/src/ui/skeleton.stories.tsx +7 -8
- package/src/ui/textarea.stories.tsx +6 -7
- package/src/ui/tooltip.stories.tsx +8 -9
- package/theme.css +65 -65
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// AUTO-GENERATED by scripts/gen-element-api.mjs — do not edit by hand.
|
|
2
2
|
// Typed custom-element interfaces + HTMLElementTagNameMap augmentation, so
|
|
3
|
-
// `document.querySelector('
|
|
3
|
+
// `document.querySelector('kc-message')` is typed and gets prop autocomplete.
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
// Re-exports for `import { … } from '@kitnai/chat/elements'`.
|
|
@@ -8,7 +8,24 @@ export type { ChatMessage, ChatMessageAction } from './chat-types';
|
|
|
8
8
|
export { configureCodeHighlighting, isCodeHighlightingEnabled } from '../primitives/highlighter';
|
|
9
9
|
export type { CodeHighlightingOptions } from '../primitives/highlighter';
|
|
10
10
|
|
|
11
|
-
export interface
|
|
11
|
+
export interface KcArtifactElement extends HTMLElement {
|
|
12
|
+
/** Color mode (`auto` follows prefers-color-scheme). */
|
|
13
|
+
theme?: 'light' | 'dark' | 'auto';
|
|
14
|
+
/** URL the preview iframe frames. Consumer-controlled. */
|
|
15
|
+
src?: string;
|
|
16
|
+
/** Files for the Code tab tree + each file's preview `url`. Set as a JS property (array). */
|
|
17
|
+
files: { path: string; url?: undefined | string; code?: undefined | string; language?: undefined | string; type?: undefined | "html" | "pdf" | "image" | "other" }[];
|
|
18
|
+
/** Active tab: `preview` (default) or `code`. */
|
|
19
|
+
tab?: "preview" | "code";
|
|
20
|
+
/** Selected file path — syncs the tree highlight, Code source, and preview. */
|
|
21
|
+
activeFile?: string;
|
|
22
|
+
/** iframe `sandbox` override. Secure default `allow-scripts allow-forms` (NOT `allow-same-origin`). */
|
|
23
|
+
sandbox?: string;
|
|
24
|
+
/** Accessible title for the preview iframe. */
|
|
25
|
+
iframeTitle?: string;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export interface KcAttachmentsElement extends HTMLElement {
|
|
12
29
|
/** Color mode (`auto` follows prefers-color-scheme). */
|
|
13
30
|
theme?: 'light' | 'dark' | 'auto';
|
|
14
31
|
/** The attachments to render. Set as a JS property (array). */
|
|
@@ -25,14 +42,27 @@ export interface KitnAttachmentsElement extends HTMLElement {
|
|
|
25
42
|
emptyText?: string;
|
|
26
43
|
}
|
|
27
44
|
|
|
28
|
-
export interface
|
|
45
|
+
export interface KcCardElement extends HTMLElement {
|
|
46
|
+
/** Color mode (`auto` follows prefers-color-scheme). */
|
|
47
|
+
theme?: 'light' | 'dark' | 'auto';
|
|
48
|
+
/** Heading rendered in the card chrome (= CardEnvelope.title). Attribute: `heading`. */
|
|
49
|
+
heading?: string;
|
|
50
|
+
/** Supporting text under the heading. Attribute: `description`. */
|
|
51
|
+
description?: string;
|
|
52
|
+
/** When set, the card renders its inline error state instead of the body. Attribute: `error-message`. */
|
|
53
|
+
errorMessage?: string;
|
|
54
|
+
/** Compact spacing for dense lists. Attribute: `dense`. */
|
|
55
|
+
dense?: boolean;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export interface KcChainOfThoughtElement extends HTMLElement {
|
|
29
59
|
/** Color mode (`auto` follows prefers-color-scheme). */
|
|
30
60
|
theme?: 'light' | 'dark' | 'auto';
|
|
31
61
|
/** The reasoning steps. Set as a JS property. Compound sub-parts collapse to this one data model (Route 1). */
|
|
32
62
|
steps: { label: string; content?: undefined | string }[];
|
|
33
63
|
}
|
|
34
64
|
|
|
35
|
-
export interface
|
|
65
|
+
export interface KcChatElement extends HTMLElement {
|
|
36
66
|
/** Color mode (`auto` follows prefers-color-scheme). */
|
|
37
67
|
theme?: 'light' | 'dark' | 'auto';
|
|
38
68
|
/** The full message thread to render, newest last. Each entry carries its role, content, and optional reasoning/tools/attachments/actions. Set as a JS property (`el.messages = [...]`). */
|
|
@@ -75,57 +105,7 @@ export interface KitnChatElement extends HTMLElement {
|
|
|
75
105
|
slashCompact?: boolean;
|
|
76
106
|
}
|
|
77
107
|
|
|
78
|
-
export interface
|
|
79
|
-
/** Color mode (`auto` follows prefers-color-scheme). */
|
|
80
|
-
theme?: 'light' | 'dark' | 'auto';
|
|
81
|
-
/** Authors to offer as scope filters. Set as a JS property. */
|
|
82
|
-
availableAuthors: string[];
|
|
83
|
-
/** Tags to offer as scope filters. Set as a JS property. */
|
|
84
|
-
availableTags: string[];
|
|
85
|
-
/** The label shown on the trigger for the active scope. */
|
|
86
|
-
currentLabel?: string;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
export interface KitnChatWorkspaceElement extends HTMLElement {
|
|
90
|
-
/** Color mode (`auto` follows prefers-color-scheme). */
|
|
91
|
-
theme?: 'light' | 'dark' | 'auto';
|
|
92
|
-
/** Pre-bucketed conversation groups for the sidebar. Set as a JS property. */
|
|
93
|
-
groups: { id: string; userId?: undefined | string; teamId?: undefined | string; name: string; sortOrder: number; createdAt: string }[];
|
|
94
|
-
/** Flat conversation list (auto-bucketed if `groups` is empty). Set as a JS property. */
|
|
95
|
-
conversations: { id: string; title: string; groupId?: undefined | string; scope: { type: "document" | "collection"; documentId?: undefined | string; filters?: undefined | { tags?: undefined | string[]; authors?: undefined | string[]; contentType?: undefined | "transcript" | "markdown"; dateRange?: undefined | { from: string; to: string } } }; messageCount: number; lastMessageAt: string; updatedAt: string }[];
|
|
96
|
-
/** Id of the open conversation, highlighted in the sidebar. */
|
|
97
|
-
activeId?: string;
|
|
98
|
-
/** The active conversation's message thread, newest last. Set as a JS property. */
|
|
99
|
-
messages: { id: string; role: "user" | "assistant"; content: string; reasoning?: undefined | { text: string; label?: undefined | string }; tools?: undefined | { type: string; state: "input-streaming" | "input-available" | "output-available" | "output-error"; input?: undefined | Record<string, unknown>; output?: undefined | Record<string, unknown>; toolCallId?: undefined | string; errorText?: undefined | string }[]; attachments?: undefined | { id: string; type: "file" | "source-document"; filename?: undefined | string; mediaType?: undefined | string; url?: undefined | string; title?: undefined | string }[]; actions?: undefined | ("copy" | "like" | "dislike" | "regenerate" | "edit")[] }[];
|
|
100
|
-
value?: string;
|
|
101
|
-
placeholder?: string;
|
|
102
|
-
loading?: boolean;
|
|
103
|
-
suggestions?: string[];
|
|
104
|
-
suggestionMode?: "submit" | "fill";
|
|
105
|
-
proseSize?: "xs" | "sm" | "base" | "lg";
|
|
106
|
-
codeTheme?: string;
|
|
107
|
-
codeHighlight?: boolean;
|
|
108
|
-
chatTitle?: string;
|
|
109
|
-
models?: { id: string; name: string; provider?: string }[];
|
|
110
|
-
currentModel?: string;
|
|
111
|
-
context?: { usedTokens: number; maxTokens: number; inputTokens?: number; outputTokens?: number; estimatedCost?: number };
|
|
112
|
-
scrollButton?: boolean;
|
|
113
|
-
search?: boolean;
|
|
114
|
-
voice?: boolean;
|
|
115
|
-
slashCommands?: { id: string; label: string; description?: string; category?: string }[];
|
|
116
|
-
slashActiveIds?: string[];
|
|
117
|
-
slashCompact?: boolean;
|
|
118
|
-
/** Sidebar default width as a percent of the workspace (default 22). */
|
|
119
|
-
sidebarWidth?: number;
|
|
120
|
-
/** Sidebar min width in px (default 200). */
|
|
121
|
-
sidebarMinWidth?: number;
|
|
122
|
-
/** Sidebar max width in px (default 420). */
|
|
123
|
-
sidebarMaxWidth?: number;
|
|
124
|
-
/** Initial collapsed state of the sidebar (default false). */
|
|
125
|
-
sidebarCollapsed?: boolean;
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
export interface KitnCheckpointElement extends HTMLElement {
|
|
108
|
+
export interface KcCheckpointElement extends HTMLElement {
|
|
129
109
|
/** Color mode (`auto` follows prefers-color-scheme). */
|
|
130
110
|
theme?: 'light' | 'dark' | 'auto';
|
|
131
111
|
/** Optional text beside the icon. */
|
|
@@ -138,7 +118,7 @@ export interface KitnCheckpointElement extends HTMLElement {
|
|
|
138
118
|
size?: "sm" | "lg" | "md" | "icon" | "icon-sm";
|
|
139
119
|
}
|
|
140
120
|
|
|
141
|
-
export interface
|
|
121
|
+
export interface KcCodeBlockElement extends HTMLElement {
|
|
142
122
|
/** Color mode (`auto` follows prefers-color-scheme). */
|
|
143
123
|
theme?: 'light' | 'dark' | 'auto';
|
|
144
124
|
/** The source code to render. */
|
|
@@ -153,14 +133,27 @@ export interface KitnCodeBlockElement extends HTMLElement {
|
|
|
153
133
|
proseSize?: "xs" | "sm" | "base" | "lg";
|
|
154
134
|
}
|
|
155
135
|
|
|
156
|
-
export interface
|
|
136
|
+
export interface KcConfirmElement extends HTMLElement {
|
|
137
|
+
/** Color mode (`auto` follows prefers-color-scheme). */
|
|
138
|
+
theme?: 'light' | 'dark' | 'auto';
|
|
139
|
+
/** The confirm definition (the CardEnvelope.data). Set as a JS PROPERTY: `el.data = { body, tone, actions:[…] }`. Import `ConfirmCardData` from `@kitnai/chat` for the full shape. */
|
|
140
|
+
data?: Record<string, unknown>;
|
|
141
|
+
/** Stable card id correlating every emitted CardEvent. Attribute: `card-id`. */
|
|
142
|
+
cardId?: string;
|
|
143
|
+
/** Heading rendered in the card chrome (= CardEnvelope.title). Attribute: `heading`. */
|
|
144
|
+
heading?: string;
|
|
145
|
+
/** Focus the default action on mount (off by default — no focus-stealing). Attribute: `autofocus`. */
|
|
146
|
+
autofocus?: boolean;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
export interface KcContextElement extends HTMLElement {
|
|
157
150
|
/** Color mode (`auto` follows prefers-color-scheme). */
|
|
158
151
|
theme?: 'light' | 'dark' | 'auto';
|
|
159
152
|
/** Token-usage data. Set as a JS property. */
|
|
160
153
|
context?: { usedTokens: number; maxTokens: number; inputTokens?: number; outputTokens?: number; reasoningTokens?: number; cacheTokens?: number; estimatedCost?: number };
|
|
161
154
|
}
|
|
162
155
|
|
|
163
|
-
export interface
|
|
156
|
+
export interface KcConversationsElement extends HTMLElement {
|
|
164
157
|
/** Color mode (`auto` follows prefers-color-scheme). */
|
|
165
158
|
theme?: 'light' | 'dark' | 'auto';
|
|
166
159
|
/** Pre-bucketed conversation groups (e.g. "Today", "Yesterday"), each with its own conversations. Use this when you want to control the grouping/headers yourself; otherwise pass a flat `conversations` array. Set as a JS property. */
|
|
@@ -171,7 +164,16 @@ export interface KitnConversationListElement extends HTMLElement {
|
|
|
171
164
|
activeId?: string;
|
|
172
165
|
}
|
|
173
166
|
|
|
174
|
-
export interface
|
|
167
|
+
export interface KcEmbedElement extends HTMLElement {
|
|
168
|
+
/** Color mode (`auto` follows prefers-color-scheme). */
|
|
169
|
+
theme?: 'light' | 'dark' | 'auto';
|
|
170
|
+
/** Stable card id correlating every emitted event. Set as an attribute or property. */
|
|
171
|
+
cardId?: string;
|
|
172
|
+
/** The embed payload (provider + id/url + options). Set as a JS **property** (object). */
|
|
173
|
+
data?: { provider: "youtube" | "vimeo" | "generic"; id?: string; url?: string; title?: string; poster?: string; start?: number; aspectRatio?: "16:9" | "4:3" | "1:1" | "9:16" };
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
export interface KcEmptyElement extends HTMLElement {
|
|
175
177
|
/** Color mode (`auto` follows prefers-color-scheme). */
|
|
176
178
|
theme?: 'light' | 'dark' | 'auto';
|
|
177
179
|
/** Title text. Attribute: `empty-title` (`title` is a global HTML attribute). */
|
|
@@ -180,14 +182,25 @@ export interface KitnEmptyElement extends HTMLElement {
|
|
|
180
182
|
description?: string;
|
|
181
183
|
}
|
|
182
184
|
|
|
183
|
-
export interface
|
|
185
|
+
export interface KcFeedbackBarElement extends HTMLElement {
|
|
184
186
|
/** Color mode (`auto` follows prefers-color-scheme). */
|
|
185
187
|
theme?: 'light' | 'dark' | 'auto';
|
|
186
188
|
/** The banner label (e.g. "Was this helpful?"). Attribute: `bar-title` (`title` is avoided — it's a global HTML attribute). */
|
|
187
189
|
barTitle?: string;
|
|
188
190
|
}
|
|
189
191
|
|
|
190
|
-
export interface
|
|
192
|
+
export interface KcFileTreeElement extends HTMLElement {
|
|
193
|
+
/** Color mode (`auto` follows prefers-color-scheme). */
|
|
194
|
+
theme?: 'light' | 'dark' | 'auto';
|
|
195
|
+
/** The files to render. Set as a JS property (array of `{ path, url?, code?, language?, type? }`). */
|
|
196
|
+
files: { path: string; url?: undefined | string; code?: undefined | string; language?: undefined | string; type?: undefined | "html" | "pdf" | "image" | "other" }[];
|
|
197
|
+
/** Selected file path — highlighted in the tree. */
|
|
198
|
+
activeFile?: string;
|
|
199
|
+
/** Folder paths expanded initially. Omit to start with all folders open. */
|
|
200
|
+
defaultExpanded?: string[];
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
export interface KcFileUploadElement extends HTMLElement {
|
|
191
204
|
/** Color mode (`auto` follows prefers-color-scheme). */
|
|
192
205
|
theme?: 'light' | 'dark' | 'auto';
|
|
193
206
|
/** Allow selecting multiple files (default true). */
|
|
@@ -200,7 +213,18 @@ export interface KitnFileUploadElement extends HTMLElement {
|
|
|
200
213
|
label?: string;
|
|
201
214
|
}
|
|
202
215
|
|
|
203
|
-
export interface
|
|
216
|
+
export interface KcFormElement extends HTMLElement {
|
|
217
|
+
/** Color mode (`auto` follows prefers-color-scheme). */
|
|
218
|
+
theme?: 'light' | 'dark' | 'auto';
|
|
219
|
+
/** The form definition — a JSON Schema (`type:'object'`) + `x-kc-*` UI hints (the CardEnvelope.data). Set as a JS PROPERTY: `el.data = { type:'object', properties:{…} }`. Import the `FormDefinition` type from `@kitnai/chat` for the full shape (it is self-referential, so the element types it loosely). */
|
|
220
|
+
data?: Record<string, unknown>;
|
|
221
|
+
/** Stable card id correlating every emitted CardEvent. Attribute: `card-id`. */
|
|
222
|
+
cardId?: string;
|
|
223
|
+
/** Heading rendered in the card chrome (= CardEnvelope.title). Attribute: `heading`. */
|
|
224
|
+
heading?: string;
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
export interface KcImageElement extends HTMLElement {
|
|
204
228
|
/** Color mode (`auto` follows prefers-color-scheme). */
|
|
205
229
|
theme?: 'light' | 'dark' | 'auto';
|
|
206
230
|
/** Base64-encoded image data (pair with `media-type`). */
|
|
@@ -213,7 +237,16 @@ export interface KitnImageElement extends HTMLElement {
|
|
|
213
237
|
mediaType?: string;
|
|
214
238
|
}
|
|
215
239
|
|
|
216
|
-
export interface
|
|
240
|
+
export interface KcLinkCardElement extends HTMLElement {
|
|
241
|
+
/** Color mode (`auto` follows prefers-color-scheme). */
|
|
242
|
+
theme?: 'light' | 'dark' | 'auto';
|
|
243
|
+
/** Stable card id correlating every emitted event. Set as an attribute or property. */
|
|
244
|
+
cardId?: string;
|
|
245
|
+
/** The link payload (OG metadata). Set as a JS **property** (object). */
|
|
246
|
+
data?: { url: string; title?: string; description?: string; image?: string; imageAlt?: string; favicon?: string; domain?: string; siteName?: string };
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
export interface KcLoaderElement extends HTMLElement {
|
|
217
250
|
/** Color mode (`auto` follows prefers-color-scheme). */
|
|
218
251
|
theme?: 'light' | 'dark' | 'auto';
|
|
219
252
|
/** The animation style: `'circular' | 'classic' | 'pulse' | 'pulse-dot' | 'dots' | 'typing' | 'wave' | 'bars' | 'terminal' | 'text-blink' | 'text-shimmer' | 'loading-dots'`. Defaults to `'circular'`. */
|
|
@@ -224,7 +257,7 @@ export interface KitnLoaderElement extends HTMLElement {
|
|
|
224
257
|
text?: string;
|
|
225
258
|
}
|
|
226
259
|
|
|
227
|
-
export interface
|
|
260
|
+
export interface KcMarkdownElement extends HTMLElement {
|
|
228
261
|
/** Color mode (`auto` follows prefers-color-scheme). */
|
|
229
262
|
theme?: 'light' | 'dark' | 'auto';
|
|
230
263
|
/** The markdown source to render. */
|
|
@@ -237,7 +270,7 @@ export interface KitnMarkdownElement extends HTMLElement {
|
|
|
237
270
|
codeHighlight?: boolean;
|
|
238
271
|
}
|
|
239
272
|
|
|
240
|
-
export interface
|
|
273
|
+
export interface KcMessageElement extends HTMLElement {
|
|
241
274
|
/** Color mode (`auto` follows prefers-color-scheme). */
|
|
242
275
|
theme?: 'light' | 'dark' | 'auto';
|
|
243
276
|
/** The full message object. Set as a JS property. */
|
|
@@ -256,14 +289,7 @@ export interface KitnMessageElement extends HTMLElement {
|
|
|
256
289
|
codeHighlight?: boolean;
|
|
257
290
|
}
|
|
258
291
|
|
|
259
|
-
export interface
|
|
260
|
-
/** Color mode (`auto` follows prefers-color-scheme). */
|
|
261
|
-
theme?: 'light' | 'dark' | 'auto';
|
|
262
|
-
/** The active skills to badge. Set as a JS property. */
|
|
263
|
-
skills: { id: string; name: string }[];
|
|
264
|
-
}
|
|
265
|
-
|
|
266
|
-
export interface KitnModelSwitcherElement extends HTMLElement {
|
|
292
|
+
export interface KcModelSwitcherElement extends HTMLElement {
|
|
267
293
|
/** Color mode (`auto` follows prefers-color-scheme). */
|
|
268
294
|
theme?: 'light' | 'dark' | 'auto';
|
|
269
295
|
/** The selectable models. Set as a JS property (array). */
|
|
@@ -272,7 +298,7 @@ export interface KitnModelSwitcherElement extends HTMLElement {
|
|
|
272
298
|
currentModel?: string;
|
|
273
299
|
}
|
|
274
300
|
|
|
275
|
-
export interface
|
|
301
|
+
export interface KcPromptInputElement extends HTMLElement {
|
|
276
302
|
/** Color mode (`auto` follows prefers-color-scheme). */
|
|
277
303
|
theme?: 'light' | 'dark' | 'auto';
|
|
278
304
|
/** Controlled value of the input. When set, the host owns the text and must update it on `valuechange`; leave unset for uncontrolled behavior. */
|
|
@@ -301,22 +327,7 @@ export interface KitnPromptInputElement extends HTMLElement {
|
|
|
301
327
|
attachments?: { id: string; type: "file" | "source-document"; filename?: string; mediaType?: string; url?: string; title?: string }[];
|
|
302
328
|
}
|
|
303
329
|
|
|
304
|
-
export interface
|
|
305
|
-
/** Color mode (`auto` follows prefers-color-scheme). */
|
|
306
|
-
theme?: 'light' | 'dark' | 'auto';
|
|
307
|
-
/** The suggestions. Strings, or `{ label, value }` when the displayed text and the emitted value differ. Set as a JS property. */
|
|
308
|
-
suggestions: (string | { label: string; value?: undefined | string })[];
|
|
309
|
-
/** Chip style: `'outline'` (default), `'ghost'`, or `'default'` (filled). */
|
|
310
|
-
variant?: "ghost" | "default" | "outline";
|
|
311
|
-
/** Size preset for each chip. Defaults to the pill default (`'lg'`); pass `'sm'` for smaller pills (or `'md'`). */
|
|
312
|
-
size?: "sm" | "lg" | "md" | "icon" | "icon-sm";
|
|
313
|
-
/** Full-width left-aligned rows instead of pills. */
|
|
314
|
-
block?: boolean;
|
|
315
|
-
/** Substring to highlight within each suggestion. */
|
|
316
|
-
highlight?: string;
|
|
317
|
-
}
|
|
318
|
-
|
|
319
|
-
export interface KitnReasoningElement extends HTMLElement {
|
|
330
|
+
export interface KcReasoningElement extends HTMLElement {
|
|
320
331
|
/** Color mode (`auto` follows prefers-color-scheme). */
|
|
321
332
|
theme?: 'light' | 'dark' | 'auto';
|
|
322
333
|
/** The reasoning text to display. */
|
|
@@ -331,7 +342,29 @@ export interface KitnReasoningElement extends HTMLElement {
|
|
|
331
342
|
markdown?: boolean;
|
|
332
343
|
}
|
|
333
344
|
|
|
334
|
-
export interface
|
|
345
|
+
export interface KcResizableElement extends HTMLElement {
|
|
346
|
+
/** Color mode (`auto` follows prefers-color-scheme). */
|
|
347
|
+
theme?: 'light' | 'dark' | 'auto';
|
|
348
|
+
/** Layout axis: `horizontal` (row, default) or `vertical` (column). */
|
|
349
|
+
orientation?: "horizontal" | "vertical";
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
export interface KcResizableItemElement extends HTMLElement {
|
|
353
|
+
/** Color mode (`auto` follows prefers-color-scheme). */
|
|
354
|
+
theme?: 'light' | 'dark' | 'auto';
|
|
355
|
+
/** Initial main-axis size: `"280px"` (fixed) or `"25%"`/`25` (percent). Omitted → flexible. */
|
|
356
|
+
size?: string;
|
|
357
|
+
/** Minimum size during resize (px or %). */
|
|
358
|
+
min?: string;
|
|
359
|
+
/** Maximum size during resize (px or %). */
|
|
360
|
+
max?: string;
|
|
361
|
+
/** Fix this panel's size; adjacent dividers become non-draggable. */
|
|
362
|
+
locked?: boolean;
|
|
363
|
+
/** Hide this panel; its divider is dropped and the rest reflow. */
|
|
364
|
+
hidden?: boolean;
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
export interface KcResponseStreamElement extends HTMLElement {
|
|
335
368
|
/** Color mode (`auto` follows prefers-color-scheme). */
|
|
336
369
|
theme?: 'light' | 'dark' | 'auto';
|
|
337
370
|
/** Text to stream. A string, or an `AsyncIterable<string>` (set as a JS property — async iterables can't be HTML attributes). */
|
|
@@ -344,7 +377,25 @@ export interface KitnResponseStreamElement extends HTMLElement {
|
|
|
344
377
|
as?: string;
|
|
345
378
|
}
|
|
346
379
|
|
|
347
|
-
export interface
|
|
380
|
+
export interface KcScopePickerElement extends HTMLElement {
|
|
381
|
+
/** Color mode (`auto` follows prefers-color-scheme). */
|
|
382
|
+
theme?: 'light' | 'dark' | 'auto';
|
|
383
|
+
/** Authors to offer as scope filters. Set as a JS property. */
|
|
384
|
+
availableAuthors: string[];
|
|
385
|
+
/** Tags to offer as scope filters. Set as a JS property. */
|
|
386
|
+
availableTags: string[];
|
|
387
|
+
/** The label shown on the trigger for the active scope. */
|
|
388
|
+
currentLabel?: string;
|
|
389
|
+
}
|
|
390
|
+
|
|
391
|
+
export interface KcSkillsElement extends HTMLElement {
|
|
392
|
+
/** Color mode (`auto` follows prefers-color-scheme). */
|
|
393
|
+
theme?: 'light' | 'dark' | 'auto';
|
|
394
|
+
/** The active skills to badge. Set as a JS property. */
|
|
395
|
+
skills: { id: string; name: string }[];
|
|
396
|
+
}
|
|
397
|
+
|
|
398
|
+
export interface KcSourceElement extends HTMLElement {
|
|
348
399
|
/** Color mode (`auto` follows prefers-color-scheme). */
|
|
349
400
|
theme?: 'light' | 'dark' | 'auto';
|
|
350
401
|
/** The URL this citation links to (the domain also seeds the default label/favicon). */
|
|
@@ -359,7 +410,7 @@ export interface KitnSourceElement extends HTMLElement {
|
|
|
359
410
|
showFavicon?: boolean;
|
|
360
411
|
}
|
|
361
412
|
|
|
362
|
-
export interface
|
|
413
|
+
export interface KcSourcesElement extends HTMLElement {
|
|
363
414
|
/** Color mode (`auto` follows prefers-color-scheme). */
|
|
364
415
|
theme?: 'light' | 'dark' | 'auto';
|
|
365
416
|
/** The sources to render. Set as a JS property. */
|
|
@@ -368,7 +419,33 @@ export interface KitnSourceListElement extends HTMLElement {
|
|
|
368
419
|
showFavicon?: boolean;
|
|
369
420
|
}
|
|
370
421
|
|
|
371
|
-
export interface
|
|
422
|
+
export interface KcSuggestionsElement extends HTMLElement {
|
|
423
|
+
/** Color mode (`auto` follows prefers-color-scheme). */
|
|
424
|
+
theme?: 'light' | 'dark' | 'auto';
|
|
425
|
+
/** The suggestions. Strings, or `{ label, value }` when the displayed text and the emitted value differ. Set as a JS property. */
|
|
426
|
+
suggestions: (string | { label: string; value?: undefined | string })[];
|
|
427
|
+
/** Chip style: `'outline'` (default), `'ghost'`, or `'default'` (filled). */
|
|
428
|
+
variant?: "ghost" | "default" | "outline";
|
|
429
|
+
/** Size preset for each chip. Defaults to the pill default (`'lg'`); pass `'sm'` for smaller pills (or `'md'`). */
|
|
430
|
+
size?: "sm" | "lg" | "md" | "icon" | "icon-sm";
|
|
431
|
+
/** Full-width left-aligned rows instead of pills. */
|
|
432
|
+
block?: boolean;
|
|
433
|
+
/** Substring to highlight within each suggestion. */
|
|
434
|
+
highlight?: string;
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
export interface KcTaskListElement extends HTMLElement {
|
|
438
|
+
/** Color mode (`auto` follows prefers-color-scheme). */
|
|
439
|
+
theme?: 'light' | 'dark' | 'auto';
|
|
440
|
+
/** The task-list definition (the CardEnvelope.data). Set as a JS PROPERTY: `el.data = { tasks:[…], selectAll, confirmLabel, … }`. Import `TaskListCardData` from `@kitnai/chat` for the full shape. */
|
|
441
|
+
data?: Record<string, unknown>;
|
|
442
|
+
/** Stable card id correlating every emitted CardEvent. Attribute: `card-id`. */
|
|
443
|
+
cardId?: string;
|
|
444
|
+
/** Heading rendered in the card chrome (= CardEnvelope.title). Attribute: `heading`. */
|
|
445
|
+
heading?: string;
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
export interface KcTextShimmerElement extends HTMLElement {
|
|
372
449
|
/** Color mode (`auto` follows prefers-color-scheme). */
|
|
373
450
|
theme?: 'light' | 'dark' | 'auto';
|
|
374
451
|
/** The text to shimmer. */
|
|
@@ -381,7 +458,7 @@ export interface KitnTextShimmerElement extends HTMLElement {
|
|
|
381
458
|
spread?: number;
|
|
382
459
|
}
|
|
383
460
|
|
|
384
|
-
export interface
|
|
461
|
+
export interface KcThinkingBarElement extends HTMLElement {
|
|
385
462
|
/** Color mode (`auto` follows prefers-color-scheme). */
|
|
386
463
|
theme?: 'light' | 'dark' | 'auto';
|
|
387
464
|
/** The shimmering label, e.g. "Thinking…". */
|
|
@@ -392,7 +469,7 @@ export interface KitnThinkingBarElement extends HTMLElement {
|
|
|
392
469
|
stopLabel?: string;
|
|
393
470
|
}
|
|
394
471
|
|
|
395
|
-
export interface
|
|
472
|
+
export interface KcToolElement extends HTMLElement {
|
|
396
473
|
/** Color mode (`auto` follows prefers-color-scheme). */
|
|
397
474
|
theme?: 'light' | 'dark' | 'auto';
|
|
398
475
|
/** The tool-call to display. Set as a JS property. */
|
|
@@ -401,7 +478,7 @@ export interface KitnToolElement extends HTMLElement {
|
|
|
401
478
|
open?: boolean;
|
|
402
479
|
}
|
|
403
480
|
|
|
404
|
-
export interface
|
|
481
|
+
export interface KcVoiceInputElement extends HTMLElement {
|
|
405
482
|
/** Color mode (`auto` follows prefers-color-scheme). */
|
|
406
483
|
theme?: 'light' | 'dark' | 'auto';
|
|
407
484
|
/** Transcriber the host supplies — records audio, returns the text. This is a **function-valued property** (`el.transcribe = async blob => '...'`) because a value-returning callback can't be modelled as a fire-and-forget event. */
|
|
@@ -410,35 +487,84 @@ export interface KitnVoiceInputElement extends HTMLElement {
|
|
|
410
487
|
disabled?: boolean;
|
|
411
488
|
}
|
|
412
489
|
|
|
490
|
+
export interface KcWorkspaceElement extends HTMLElement {
|
|
491
|
+
/** Color mode (`auto` follows prefers-color-scheme). */
|
|
492
|
+
theme?: 'light' | 'dark' | 'auto';
|
|
493
|
+
/** Pre-bucketed conversation groups for the sidebar. Set as a JS property. */
|
|
494
|
+
groups: { id: string; userId?: undefined | string; teamId?: undefined | string; name: string; sortOrder: number; createdAt: string }[];
|
|
495
|
+
/** Flat conversation list (auto-bucketed if `groups` is empty). Set as a JS property. */
|
|
496
|
+
conversations: { id: string; title: string; groupId?: undefined | string; scope: { type: "document" | "collection"; documentId?: undefined | string; filters?: undefined | { tags?: undefined | string[]; authors?: undefined | string[]; contentType?: undefined | "transcript" | "markdown"; dateRange?: undefined | { from: string; to: string } } }; messageCount: number; lastMessageAt: string; updatedAt: string }[];
|
|
497
|
+
/** Id of the open conversation, highlighted in the sidebar. */
|
|
498
|
+
activeId?: string;
|
|
499
|
+
/** The active conversation's message thread, newest last. Set as a JS property. */
|
|
500
|
+
messages: { id: string; role: "user" | "assistant"; content: string; reasoning?: undefined | { text: string; label?: undefined | string }; tools?: undefined | { type: string; state: "input-streaming" | "input-available" | "output-available" | "output-error"; input?: undefined | Record<string, unknown>; output?: undefined | Record<string, unknown>; toolCallId?: undefined | string; errorText?: undefined | string }[]; attachments?: undefined | { id: string; type: "file" | "source-document"; filename?: undefined | string; mediaType?: undefined | string; url?: undefined | string; title?: undefined | string }[]; actions?: undefined | ("copy" | "like" | "dislike" | "regenerate" | "edit")[] }[];
|
|
501
|
+
value?: string;
|
|
502
|
+
placeholder?: string;
|
|
503
|
+
loading?: boolean;
|
|
504
|
+
suggestions?: string[];
|
|
505
|
+
suggestionMode?: "submit" | "fill";
|
|
506
|
+
proseSize?: "xs" | "sm" | "base" | "lg";
|
|
507
|
+
codeTheme?: string;
|
|
508
|
+
codeHighlight?: boolean;
|
|
509
|
+
chatTitle?: string;
|
|
510
|
+
models?: { id: string; name: string; provider?: string }[];
|
|
511
|
+
currentModel?: string;
|
|
512
|
+
context?: { usedTokens: number; maxTokens: number; inputTokens?: number; outputTokens?: number; estimatedCost?: number };
|
|
513
|
+
scrollButton?: boolean;
|
|
514
|
+
search?: boolean;
|
|
515
|
+
voice?: boolean;
|
|
516
|
+
slashCommands?: { id: string; label: string; description?: string; category?: string }[];
|
|
517
|
+
slashActiveIds?: string[];
|
|
518
|
+
slashCompact?: boolean;
|
|
519
|
+
/** Sidebar default width as a percent of the workspace (default 22). */
|
|
520
|
+
sidebarWidth?: number;
|
|
521
|
+
/** Sidebar min width in px (default 200). */
|
|
522
|
+
sidebarMinWidth?: number;
|
|
523
|
+
/** Sidebar max width in px (default 420). */
|
|
524
|
+
sidebarMaxWidth?: number;
|
|
525
|
+
/** Initial collapsed state of the sidebar (default false). */
|
|
526
|
+
sidebarCollapsed?: boolean;
|
|
527
|
+
}
|
|
528
|
+
|
|
413
529
|
declare global {
|
|
414
530
|
interface HTMLElementTagNameMap {
|
|
415
|
-
'
|
|
416
|
-
'
|
|
417
|
-
'
|
|
418
|
-
'
|
|
419
|
-
'
|
|
420
|
-
'
|
|
421
|
-
'
|
|
422
|
-
'
|
|
423
|
-
'
|
|
424
|
-
'
|
|
425
|
-
'
|
|
426
|
-
'
|
|
427
|
-
'
|
|
428
|
-
'
|
|
429
|
-
'
|
|
430
|
-
'
|
|
431
|
-
'
|
|
432
|
-
'
|
|
433
|
-
'
|
|
434
|
-
'
|
|
435
|
-
'
|
|
436
|
-
'
|
|
437
|
-
'
|
|
438
|
-
'
|
|
439
|
-
'
|
|
440
|
-
'
|
|
441
|
-
'
|
|
442
|
-
'
|
|
531
|
+
'kc-artifact': KcArtifactElement;
|
|
532
|
+
'kc-attachments': KcAttachmentsElement;
|
|
533
|
+
'kc-card': KcCardElement;
|
|
534
|
+
'kc-chain-of-thought': KcChainOfThoughtElement;
|
|
535
|
+
'kc-chat': KcChatElement;
|
|
536
|
+
'kc-checkpoint': KcCheckpointElement;
|
|
537
|
+
'kc-code-block': KcCodeBlockElement;
|
|
538
|
+
'kc-confirm': KcConfirmElement;
|
|
539
|
+
'kc-context': KcContextElement;
|
|
540
|
+
'kc-conversations': KcConversationsElement;
|
|
541
|
+
'kc-embed': KcEmbedElement;
|
|
542
|
+
'kc-empty': KcEmptyElement;
|
|
543
|
+
'kc-feedback-bar': KcFeedbackBarElement;
|
|
544
|
+
'kc-file-tree': KcFileTreeElement;
|
|
545
|
+
'kc-file-upload': KcFileUploadElement;
|
|
546
|
+
'kc-form': KcFormElement;
|
|
547
|
+
'kc-image': KcImageElement;
|
|
548
|
+
'kc-link-card': KcLinkCardElement;
|
|
549
|
+
'kc-loader': KcLoaderElement;
|
|
550
|
+
'kc-markdown': KcMarkdownElement;
|
|
551
|
+
'kc-message': KcMessageElement;
|
|
552
|
+
'kc-model-switcher': KcModelSwitcherElement;
|
|
553
|
+
'kc-prompt-input': KcPromptInputElement;
|
|
554
|
+
'kc-reasoning': KcReasoningElement;
|
|
555
|
+
'kc-resizable': KcResizableElement;
|
|
556
|
+
'kc-resizable-item': KcResizableItemElement;
|
|
557
|
+
'kc-response-stream': KcResponseStreamElement;
|
|
558
|
+
'kc-scope-picker': KcScopePickerElement;
|
|
559
|
+
'kc-skills': KcSkillsElement;
|
|
560
|
+
'kc-source': KcSourceElement;
|
|
561
|
+
'kc-sources': KcSourcesElement;
|
|
562
|
+
'kc-suggestions': KcSuggestionsElement;
|
|
563
|
+
'kc-task-list': KcTaskListElement;
|
|
564
|
+
'kc-text-shimmer': KcTextShimmerElement;
|
|
565
|
+
'kc-thinking-bar': KcThinkingBarElement;
|
|
566
|
+
'kc-tool': KcToolElement;
|
|
567
|
+
'kc-voice-input': KcVoiceInputElement;
|
|
568
|
+
'kc-workspace': KcWorkspaceElement;
|
|
443
569
|
}
|
|
444
570
|
}
|