@meistrari/chat-nuxt 1.4.0 → 1.5.1
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 +51 -16
- package/dist/module.json +1 -1
- package/dist/module.mjs +24 -9
- package/dist/runtime/components/MeistrariChatEmbed.d.vue.ts +2 -18
- package/dist/runtime/components/MeistrariChatEmbed.vue +22 -4
- package/dist/runtime/components/MeistrariChatEmbed.vue.d.ts +2 -18
- package/dist/runtime/components/chat/message-input.d.vue.ts +30 -4
- package/dist/runtime/components/chat/message-input.vue +268 -24
- package/dist/runtime/components/chat/message-input.vue.d.ts +30 -4
- package/dist/runtime/composables/useChat.d.ts +3 -5
- package/dist/runtime/composables/useChat.js +18 -4
- package/dist/runtime/composables/useChatApi.js +4 -0
- package/dist/runtime/composables/useConversations.js +8 -2
- package/dist/runtime/composables/useEmbedConfig.d.ts +7 -1
- package/dist/runtime/composables/useEmbedConfig.js +8 -0
- package/dist/runtime/composables/useFeatureFlags.d.ts +1 -2
- package/dist/runtime/composables/useTelaAgentMetadata.d.ts +8 -0
- package/dist/runtime/composables/useTelaAgentMetadata.js +65 -0
- package/dist/runtime/composables/useWorkspaceSettings.d.ts +1 -19
- package/dist/runtime/composables/useWorkspaceSettings.js +24 -5
- package/dist/runtime/embed/components/ChatConfigurationModal.d.vue.ts +1 -1
- package/dist/runtime/embed/components/ChatConfigurationModal.vue.d.ts +1 -1
- package/dist/runtime/embed/components/ChatEmbed.d.vue.ts +3 -23
- package/dist/runtime/embed/components/ChatEmbed.vue +34 -9
- package/dist/runtime/embed/components/ChatEmbed.vue.d.ts +3 -23
- package/dist/runtime/embed/components/ChatEmbedInner.vue +50 -12
- package/dist/runtime/plugins/markstream.d.ts +1 -1
- package/dist/runtime/plugins/markstream.js +1 -1
- package/dist/runtime/server/api/chat/workspace/settings.patch.d.ts +2 -0
- package/dist/runtime/server/api/chat/workspace/settings.patch.js +8 -0
- package/dist/runtime/server/api/conversations/[id]/cancel.post.d.ts +1 -1
- package/dist/runtime/server/api/conversations/[id]/cancel.post.js +37 -17
- package/dist/runtime/server/api/conversations/[id]/clear.post.js +28 -13
- package/dist/runtime/server/api/conversations/[id]/duplicate.post.js +11 -13
- package/dist/runtime/server/api/conversations/[id]/files.get.js +5 -7
- package/dist/runtime/server/api/conversations/[id]/index.delete.js +13 -12
- package/dist/runtime/server/api/conversations/[id]/index.get.js +6 -13
- package/dist/runtime/server/api/conversations/[id]/index.patch.js +11 -10
- package/dist/runtime/server/api/conversations/[id]/messages/[messageId]/retry.post.js +46 -80
- package/dist/runtime/server/api/conversations/[id]/messages/index.get.d.ts +1 -14
- package/dist/runtime/server/api/conversations/[id]/messages/index.get.js +81 -187
- package/dist/runtime/server/api/conversations/[id]/messages/index.post.js +68 -86
- package/dist/runtime/server/api/conversations/[id]/usage.get.js +4 -8
- package/dist/runtime/server/api/conversations/generate-title.post.js +4 -3
- package/dist/runtime/server/api/conversations/index.get.js +5 -4
- package/dist/runtime/server/api/conversations/index.post.js +5 -4
- package/dist/runtime/server/api/tela/agents/[id].get.d.ts +6 -0
- package/dist/runtime/server/api/tela/agents/[id].get.js +25 -0
- package/dist/runtime/server/api/workspace/settings.patch.js +3 -82
- package/dist/runtime/server/db/schema/conversations.d.ts +17 -0
- package/dist/runtime/server/db/schema/conversations.js +3 -1
- package/dist/runtime/server/db/schema/workspace-settings.d.ts +1 -1
- package/dist/runtime/server/utils/chat-context.d.ts +5 -0
- package/dist/runtime/server/utils/chat-context.js +20 -0
- package/dist/runtime/server/utils/conversation-agent-turn.d.ts +39 -0
- package/dist/runtime/server/utils/conversation-agent-turn.js +170 -0
- package/dist/runtime/server/utils/conversation-message-files.d.ts +10 -0
- package/dist/runtime/server/utils/conversation-message-files.js +77 -0
- package/dist/runtime/server/utils/conversation-message-sync.d.ts +31 -0
- package/dist/runtime/server/utils/conversation-message-sync.js +132 -0
- package/dist/runtime/server/utils/conversation-scope.d.ts +2 -0
- package/dist/runtime/server/utils/conversation-scope.js +12 -0
- package/dist/runtime/server/utils/tela-agent-api.d.ts +29 -0
- package/dist/runtime/server/utils/tela-agent-api.js +107 -0
- package/dist/runtime/server/utils/tela-agent-session.d.ts +48 -0
- package/dist/runtime/server/utils/tela-agent-session.js +350 -0
- package/dist/runtime/server/utils/workspace-settings-update.d.ts +16 -0
- package/dist/runtime/server/utils/workspace-settings-update.js +84 -0
- package/dist/runtime/types/embed.d.ts +29 -0
- package/dist/runtime/types/embed.js +0 -0
- package/dist/runtime/types/tela-agent.d.ts +243 -0
- package/dist/runtime/types/tela-agent.js +98 -0
- package/dist/runtime/types/workspace-settings-data.d.ts +19 -0
- package/dist/runtime/types/workspace-settings-data.js +0 -0
- package/dist/runtime/types/workspace-settings.d.ts +1 -1
- package/dist/runtime/utils/agent-input-readiness.d.ts +14 -0
- package/dist/runtime/utils/agent-input-readiness.js +15 -0
- package/dist/runtime/utils/features.d.ts +9 -0
- package/dist/runtime/utils/features.js +5 -4
- package/dist/runtime/utils/file.js +46 -7
- package/dist/runtime/utils/markdown-nodes.d.ts +1 -0
- package/dist/runtime/utils/markdown-nodes.js +6 -0
- package/dist/runtime/utils/tela-chat.d.ts +6 -0
- package/dist/runtime/utils/tela-chat.js +12 -1
- package/drizzle/0014_faulty_lake.sql +2 -0
- package/drizzle/meta/0014_snapshot.json +732 -0
- package/drizzle/meta/_journal.json +7 -0
- package/package.json +1 -1
- package/dist/runtime/types/feature-flags.d.ts +0 -7
- package/dist/runtime/types/feature-flags.js +0 -6
package/README.md
CHANGED
|
@@ -141,6 +141,30 @@ To explicitly opt into pglite at a custom path: `databaseUrl: 'pglite:/var/data/
|
|
|
141
141
|
|
|
142
142
|
The chat workspace is resolved from the authenticated `activeOrganization` provided by `@meistrari/auth-nuxt`.
|
|
143
143
|
|
|
144
|
+
### Chat runtime modes
|
|
145
|
+
|
|
146
|
+
`<MeistrariChatEmbed />` has two mutually exclusive runtimes:
|
|
147
|
+
|
|
148
|
+
- **Default chat mode** uses the Agent API, workspace settings, model selection, optional feature flags, and the authenticated workspace.
|
|
149
|
+
- **Tela agent mode** uses a configured Tela agent directly. Pass `telaAgentId`; the embed sends user messages to `POST /agent/:id/run`, polls `GET /agent/sessions/:sessionId`, and ends sessions with `DELETE /agent/sessions/:sessionId`.
|
|
150
|
+
|
|
151
|
+
```vue
|
|
152
|
+
<MeistrariChatEmbed tela-agent-id="agent_123" />
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
Host apps can also provide Tela agent inputs directly. When `telaAgentInputs` is non-null, the chat sends those inputs with each agent run and does not render the agent variables panel.
|
|
156
|
+
|
|
157
|
+
```vue
|
|
158
|
+
<MeistrariChatEmbed
|
|
159
|
+
tela-agent-id="agent_123"
|
|
160
|
+
:tela-agent-inputs="[
|
|
161
|
+
{ type: 'text', name: 'customer_id', content: customerId },
|
|
162
|
+
]"
|
|
163
|
+
/>
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
In Tela agent mode, `workspaceSettings`, `features`, and `user` are not accepted by the public prop contract. The Tela agent owns runtime configuration and identity for execution. Model selection and the usage/debug UI surfaces are also hidden.
|
|
167
|
+
|
|
144
168
|
## Embedding in Your Layout
|
|
145
169
|
|
|
146
170
|
The main use case: drop the chat inside your existing app UI.
|
|
@@ -178,6 +202,8 @@ Key props for embedding:
|
|
|
178
202
|
| `hideSidebar` | `boolean` | `false` | Hide conversation list sidebar |
|
|
179
203
|
| `conversationId` | `string \| null` | `null` | Controlled conversation (supports v-model) |
|
|
180
204
|
| `initialConversationId` | `string \| null` | `null` | Open this conversation on mount |
|
|
205
|
+
| `telaAgentId` | `string` | — | Use Tela agent mode for this embed |
|
|
206
|
+
| `telaAgentInputs` | `TelaAgentExecutionInput[] \| null` | `undefined` | Inputs sent with each Tela agent run; hides the variables panel when non-null |
|
|
181
207
|
| `workspaceSettings` | `WorkspaceSettings \| null` | `null` | Override settings from host app |
|
|
182
208
|
| `user` | `ChatActor \| null` | `null` | Override current user display info |
|
|
183
209
|
| `features` | `Partial<ChatFeatureConfig>` | `{}` | Toggle optional features |
|
|
@@ -192,11 +218,28 @@ Key props for embedding:
|
|
|
192
218
|
|-------|---------|-------------|
|
|
193
219
|
| `update:conversationId` | `string \| null` | Active conversation changed |
|
|
194
220
|
|
|
195
|
-
## Optional: Feature Flags
|
|
221
|
+
## Optional: Feature Flags
|
|
196
222
|
|
|
197
|
-
|
|
223
|
+
`<MeistrariChatEmbed>` accepts a `:features` prop with four optional toggles. All default to `false`. The host owns the policy — hardcode them, gate by user role, or wire them through a feature-flag provider of your choice.
|
|
198
224
|
|
|
199
|
-
|
|
225
|
+
| Flag | Effect |
|
|
226
|
+
|------|--------|
|
|
227
|
+
| `showUsageTab` | Usage tab in the chat topbar (per-conversation token/cost stats) |
|
|
228
|
+
| `showDebugOption` | Debug entry in the topbar overflow menu |
|
|
229
|
+
| `showModelSelector` | Model picker inside the message input |
|
|
230
|
+
| `showCancelButton` | "Stop generation" button while a response streams |
|
|
231
|
+
|
|
232
|
+
Static example:
|
|
233
|
+
|
|
234
|
+
```vue
|
|
235
|
+
<MeistrariChatEmbed :features="{ showUsageTab: true, showCancelButton: true }" />
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
### With PostHog
|
|
239
|
+
|
|
240
|
+
`chat-nuxt` ships a small PostHog helper for hosts that want to gate flags dynamically. The flag names live in your app — `chat-nuxt` has no opinion about them.
|
|
241
|
+
|
|
242
|
+
1. Add to `nuxt.config.ts`:
|
|
200
243
|
|
|
201
244
|
```typescript
|
|
202
245
|
runtimeConfig: {
|
|
@@ -212,8 +255,6 @@ runtimeConfig: {
|
|
|
212
255
|
|
|
213
256
|
```vue
|
|
214
257
|
<script setup lang="ts">
|
|
215
|
-
// ... existing imports ...
|
|
216
|
-
|
|
217
258
|
const { posthogPublicKey, posthogHost, posthogDefaults } = useRuntimeConfig().public
|
|
218
259
|
const { user, activeOrganization } = useTelaApplicationAuth()
|
|
219
260
|
|
|
@@ -226,17 +267,17 @@ onMounted(async () => {
|
|
|
226
267
|
</script>
|
|
227
268
|
```
|
|
228
269
|
|
|
229
|
-
3.
|
|
270
|
+
3. Thread the flags into the embed:
|
|
230
271
|
|
|
231
272
|
```vue
|
|
232
273
|
<script setup lang="ts">
|
|
233
|
-
import { FEATURE_FLAGS } from '@meistrari/chat-nuxt/types/feature-flags'
|
|
234
|
-
|
|
235
274
|
const { isFeatureEnabled } = useFeatureFlags()
|
|
236
275
|
|
|
237
276
|
const features = computed(() => ({
|
|
238
|
-
showUsageTab: isFeatureEnabled(
|
|
239
|
-
showDebugOption: isFeatureEnabled(
|
|
277
|
+
showUsageTab: isFeatureEnabled('enable-usage-tab'),
|
|
278
|
+
showDebugOption: isFeatureEnabled('enable-debug-mode'),
|
|
279
|
+
showModelSelector: isFeatureEnabled('enable-model-selector'),
|
|
280
|
+
showCancelButton: isFeatureEnabled('enable-cancel-generation'),
|
|
240
281
|
}))
|
|
241
282
|
</script>
|
|
242
283
|
|
|
@@ -245,12 +286,6 @@ const features = computed(() => ({
|
|
|
245
286
|
</template>
|
|
246
287
|
```
|
|
247
288
|
|
|
248
|
-
Without PostHog, you can pass features statically:
|
|
249
|
-
|
|
250
|
-
```vue
|
|
251
|
-
<MeistrariChatEmbed :features="{ showUsageTab: true }" />
|
|
252
|
-
```
|
|
253
|
-
|
|
254
289
|
## Optional: Custom Workspace Settings
|
|
255
290
|
|
|
256
291
|
By default, workspace settings (system prompt, context files, tools) are managed via the module's built-in UI and stored in PostgreSQL.
|
package/dist/module.json
CHANGED
package/dist/module.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { existsSync, readFileSync, mkdirSync, symlinkSync } from 'node:fs';
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
3
|
import { join, dirname } from 'node:path';
|
|
4
|
-
import { defineNuxtModule, createResolver, addImportsDir, addComponent, addComponentsDir } from 'nuxt/kit';
|
|
4
|
+
import { defineNuxtModule, createResolver, addPlugin, addImportsDir, addComponent, addComponentsDir } from 'nuxt/kit';
|
|
5
5
|
|
|
6
6
|
const localRequire = createRequire(import.meta.url);
|
|
7
7
|
const runtimeAliasPackages = [
|
|
@@ -249,12 +249,14 @@ const module$1 = defineNuxtModule({
|
|
|
249
249
|
"#chat-runtime": runtimeDir,
|
|
250
250
|
"@iconify-json/ph": resolvePackageRoot("@iconify-json/ph")
|
|
251
251
|
};
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
nuxt.options.imports
|
|
252
|
+
const importsOptions = nuxt.options.imports;
|
|
253
|
+
if (importsOptions !== false) {
|
|
254
|
+
const normalizedImports = importsOptions || {};
|
|
255
|
+
nuxt.options.imports = normalizedImports;
|
|
256
|
+
normalizedImports.transform = normalizedImports.transform || {};
|
|
257
|
+
normalizedImports.transform.include = normalizedImports.transform.include || [];
|
|
256
258
|
const runtimeDirRegExp = new RegExp(runtimeDir.replace(/\\/g, "/").replace(/[.*+?^${}()|[\]\\]/g, "\\$&"));
|
|
257
|
-
|
|
259
|
+
normalizedImports.transform.include.push(runtimeDirRegExp);
|
|
258
260
|
}
|
|
259
261
|
const features = { ...DEFAULT_FEATURES, ...options.features ?? {} };
|
|
260
262
|
const migrationsDir = resolver.resolve("../drizzle");
|
|
@@ -269,10 +271,23 @@ const module$1 = defineNuxtModule({
|
|
|
269
271
|
rc.public = rc.public || {};
|
|
270
272
|
rc.public.agentApiUrl = rc.agentApiUrl || rc.public.agentApiUrl || process.env.AGENT_API_URL || "";
|
|
271
273
|
rc.public.chatNuxtFeatures = features;
|
|
272
|
-
|
|
273
|
-
rc.chatNuxt
|
|
274
|
-
|
|
274
|
+
const existingChatNuxtRuntimeConfig = rc.chatNuxt;
|
|
275
|
+
rc.chatNuxt = {
|
|
276
|
+
migrationsDir: existingChatNuxtRuntimeConfig?.migrationsDir || migrationsDir,
|
|
277
|
+
features
|
|
278
|
+
};
|
|
275
279
|
validateRuntimeConfig(rc, options.validateConfig ?? false, features);
|
|
280
|
+
nuxt.options.css = nuxt.options.css || [];
|
|
281
|
+
for (const css of [
|
|
282
|
+
"markstream-vue/index.css",
|
|
283
|
+
join(runtimeDir, "assets/css/markstream.css"),
|
|
284
|
+
join(runtimeDir, "assets/css/code-theme.css")
|
|
285
|
+
]) {
|
|
286
|
+
if (!nuxt.options.css.includes(css)) {
|
|
287
|
+
nuxt.options.css.push(css);
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
addPlugin(join(runtimeDir, "plugins/markstream"));
|
|
276
291
|
addImportsDir(join(runtimeDir, "composables"));
|
|
277
292
|
addImportsDir(join(runtimeDir, "utils"));
|
|
278
293
|
addComponent({
|
|
@@ -1,24 +1,8 @@
|
|
|
1
|
-
import type { Component, DeepReadonly } from 'vue';
|
|
2
|
-
import type { WorkspaceSettings } from '../composables/useWorkspaceSettings.js';
|
|
3
1
|
import type { ChatActionPayload } from '../composables/useChatAction.js';
|
|
4
|
-
import
|
|
5
|
-
import type { ChatActor, ChatFeatureConfig } from '../utils/tela-chat.js';
|
|
6
|
-
type __VLS_Props = {
|
|
7
|
-
workspaceSettings?: DeepReadonly<WorkspaceSettings> | WorkspaceSettings | null;
|
|
8
|
-
user?: ChatActor | null;
|
|
9
|
-
conversationId?: string | null;
|
|
10
|
-
initialConversationId?: string | null;
|
|
11
|
-
hideSidebar?: boolean;
|
|
12
|
-
features?: Partial<ChatFeatureConfig>;
|
|
13
|
-
loadingMessages?: readonly string[] | null;
|
|
14
|
-
loadingMessagesMode?: ChatLoadingMessageMode | null;
|
|
15
|
-
customComponents?: Record<string, Component>;
|
|
16
|
-
customHtmlTags?: readonly string[];
|
|
17
|
-
};
|
|
18
|
-
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
2
|
+
declare const __VLS_export: import("vue").DefineComponent<import("../types/embed.js").DefaultChatEmbedProps | import("../types/embed.js").TelaAgentChatEmbedProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
19
3
|
"update:conversationId": (value: string | null) => any;
|
|
20
4
|
action: (payload: ChatActionPayload) => any;
|
|
21
|
-
}, string, import("vue").PublicProps, Readonly<
|
|
5
|
+
}, string, import("vue").PublicProps, Readonly<import("../types/embed.js").DefaultChatEmbedProps | import("../types/embed.js").TelaAgentChatEmbedProps> & Readonly<{
|
|
22
6
|
"onUpdate:conversationId"?: ((value: string | null) => any) | undefined;
|
|
23
7
|
onAction?: ((payload: ChatActionPayload) => any) | undefined;
|
|
24
8
|
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
@@ -1,21 +1,39 @@
|
|
|
1
1
|
<script setup>
|
|
2
2
|
defineProps({
|
|
3
|
-
workspaceSettings: { type: null, required: false },
|
|
4
|
-
user: { type: [Object, null], required: false },
|
|
5
3
|
conversationId: { type: [String, null], required: false },
|
|
6
4
|
initialConversationId: { type: [String, null], required: false },
|
|
7
5
|
hideSidebar: { type: Boolean, required: false },
|
|
8
|
-
features: { type: Object, required: false },
|
|
9
6
|
loadingMessages: { type: [Array, null], required: false },
|
|
10
7
|
loadingMessagesMode: { type: [String, null], required: false },
|
|
11
8
|
customComponents: { type: Object, required: false },
|
|
12
|
-
customHtmlTags: { type: Array, required: false }
|
|
9
|
+
customHtmlTags: { type: Array, required: false },
|
|
10
|
+
telaAgentId: { type: null, required: false },
|
|
11
|
+
telaAgentInputs: { type: null, required: false },
|
|
12
|
+
workspaceSettings: { type: null, required: false },
|
|
13
|
+
user: { type: null, required: false },
|
|
14
|
+
features: { type: Object, required: false }
|
|
13
15
|
});
|
|
14
16
|
defineEmits(["update:conversationId", "action"]);
|
|
15
17
|
</script>
|
|
16
18
|
|
|
17
19
|
<template>
|
|
18
20
|
<ChatEmbed
|
|
21
|
+
v-if="telaAgentId"
|
|
22
|
+
:tela-agent-id="telaAgentId"
|
|
23
|
+
:tela-agent-inputs="telaAgentInputs"
|
|
24
|
+
:conversation-id="conversationId"
|
|
25
|
+
:initial-conversation-id="initialConversationId"
|
|
26
|
+
:hide-sidebar="hideSidebar"
|
|
27
|
+
:features="features"
|
|
28
|
+
:loading-messages="loadingMessages"
|
|
29
|
+
:loading-messages-mode="loadingMessagesMode"
|
|
30
|
+
:custom-components="customComponents"
|
|
31
|
+
:custom-html-tags="customHtmlTags"
|
|
32
|
+
@update:conversation-id="$emit('update:conversationId', $event)"
|
|
33
|
+
@action="$emit('action', $event)"
|
|
34
|
+
/>
|
|
35
|
+
<ChatEmbed
|
|
36
|
+
v-else
|
|
19
37
|
:workspace-settings="workspaceSettings"
|
|
20
38
|
:user="user"
|
|
21
39
|
:conversation-id="conversationId"
|
|
@@ -1,24 +1,8 @@
|
|
|
1
|
-
import type { Component, DeepReadonly } from 'vue';
|
|
2
|
-
import type { WorkspaceSettings } from '../composables/useWorkspaceSettings.js';
|
|
3
1
|
import type { ChatActionPayload } from '../composables/useChatAction.js';
|
|
4
|
-
import
|
|
5
|
-
import type { ChatActor, ChatFeatureConfig } from '../utils/tela-chat.js';
|
|
6
|
-
type __VLS_Props = {
|
|
7
|
-
workspaceSettings?: DeepReadonly<WorkspaceSettings> | WorkspaceSettings | null;
|
|
8
|
-
user?: ChatActor | null;
|
|
9
|
-
conversationId?: string | null;
|
|
10
|
-
initialConversationId?: string | null;
|
|
11
|
-
hideSidebar?: boolean;
|
|
12
|
-
features?: Partial<ChatFeatureConfig>;
|
|
13
|
-
loadingMessages?: readonly string[] | null;
|
|
14
|
-
loadingMessagesMode?: ChatLoadingMessageMode | null;
|
|
15
|
-
customComponents?: Record<string, Component>;
|
|
16
|
-
customHtmlTags?: readonly string[];
|
|
17
|
-
};
|
|
18
|
-
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
2
|
+
declare const __VLS_export: import("vue").DefineComponent<import("../types/embed.js").DefaultChatEmbedProps | import("../types/embed.js").TelaAgentChatEmbedProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
19
3
|
"update:conversationId": (value: string | null) => any;
|
|
20
4
|
action: (payload: ChatActionPayload) => any;
|
|
21
|
-
}, string, import("vue").PublicProps, Readonly<
|
|
5
|
+
}, string, import("vue").PublicProps, Readonly<import("../types/embed.js").DefaultChatEmbedProps | import("../types/embed.js").TelaAgentChatEmbedProps> & Readonly<{
|
|
22
6
|
"onUpdate:conversationId"?: ((value: string | null) => any) | undefined;
|
|
23
7
|
onAction?: ((payload: ChatActionPayload) => any) | undefined;
|
|
24
8
|
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { ConversationFile, FileUploadInput, Message, ModelOption } from '../../types/chat.js';
|
|
2
2
|
import type { DeepReadonly } from 'vue';
|
|
3
|
-
import type { WorkspaceSettings } from '../../
|
|
3
|
+
import type { WorkspaceSettings } from '../../types/workspace-settings-data.js';
|
|
4
|
+
import type { TelaAgentInputVariable } from '../../types/tela-agent.js';
|
|
4
5
|
type __VLS_Props = {
|
|
5
6
|
disabled?: boolean;
|
|
6
7
|
loading?: boolean;
|
|
@@ -12,8 +13,13 @@ type __VLS_Props = {
|
|
|
12
13
|
messages?: Message[];
|
|
13
14
|
conversationFiles?: ConversationFile[];
|
|
14
15
|
workspaceSettings?: DeepReadonly<WorkspaceSettings> | null;
|
|
16
|
+
allowModelSelection?: boolean;
|
|
17
|
+
agentInputSchema?: readonly TelaAgentInputVariable[] | null;
|
|
18
|
+
agentInputSchemaLoading?: boolean;
|
|
19
|
+
showModelSelector?: boolean;
|
|
20
|
+
showCancelButton?: boolean;
|
|
15
21
|
};
|
|
16
|
-
declare function addFiles(files: File[]): void;
|
|
22
|
+
declare function addFiles(files: File[], inputName?: string): void;
|
|
17
23
|
type __VLS_ModelProps = {
|
|
18
24
|
'model'?: ModelOption;
|
|
19
25
|
};
|
|
@@ -24,10 +30,30 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {
|
|
|
24
30
|
"update:model": (value: "claude-sonnet-4-5" | "claude-sonnet-4-6" | "claude-haiku-4-5" | "claude-opus-4-5" | "claude-opus-4-6") => any;
|
|
25
31
|
} & {
|
|
26
32
|
cancel: () => any;
|
|
27
|
-
send: (content: string, files: FileUploadInput[], model
|
|
33
|
+
send: (content: string, files: FileUploadInput[], model?: "claude-sonnet-4-5" | "claude-sonnet-4-6" | "claude-haiku-4-5" | "claude-opus-4-5" | "claude-opus-4-6" | undefined, agentInputs?: ({
|
|
34
|
+
type: "file";
|
|
35
|
+
name: string;
|
|
36
|
+
vaultRef: string;
|
|
37
|
+
filename: string;
|
|
38
|
+
metadata?: string | undefined;
|
|
39
|
+
} | {
|
|
40
|
+
type: "text";
|
|
41
|
+
name: string;
|
|
42
|
+
content: string;
|
|
43
|
+
})[] | undefined) => any;
|
|
28
44
|
}, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
29
45
|
onCancel?: (() => any) | undefined;
|
|
30
|
-
onSend?: ((content: string, files: FileUploadInput[], model
|
|
46
|
+
onSend?: ((content: string, files: FileUploadInput[], model?: "claude-sonnet-4-5" | "claude-sonnet-4-6" | "claude-haiku-4-5" | "claude-opus-4-5" | "claude-opus-4-6" | undefined, agentInputs?: ({
|
|
47
|
+
type: "file";
|
|
48
|
+
name: string;
|
|
49
|
+
vaultRef: string;
|
|
50
|
+
filename: string;
|
|
51
|
+
metadata?: string | undefined;
|
|
52
|
+
} | {
|
|
53
|
+
type: "text";
|
|
54
|
+
name: string;
|
|
55
|
+
content: string;
|
|
56
|
+
})[] | undefined) => any) | undefined;
|
|
31
57
|
"onUpdate:model"?: ((value: "claude-sonnet-4-5" | "claude-sonnet-4-6" | "claude-haiku-4-5" | "claude-opus-4-5" | "claude-opus-4-6") => any) | undefined;
|
|
32
58
|
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
33
59
|
declare const _default: typeof __VLS_export;
|