@ai-sdk/vue 0.0.44 → 0.0.46
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/CHANGELOG.md +15 -0
- package/package.json +7 -3
- package/.eslintrc.js +0 -4
- package/.turbo/turbo-build.log +0 -21
- package/.turbo/turbo-clean.log +0 -4
- package/src/TestChatAssistantStreamComponent.vue +0 -18
- package/src/TestChatAssistantThreadChangeComponent.vue +0 -22
- package/src/TestChatComponent.vue +0 -44
- package/src/TestChatCustomMetadataComponent.vue +0 -32
- package/src/TestChatFormComponent.vue +0 -22
- package/src/TestChatFormOptionsComponent.vue +0 -29
- package/src/TestChatReloadComponent.vue +0 -34
- package/src/TestChatTextStreamComponent.vue +0 -42
- package/src/TestCompletionComponent.vue +0 -17
- package/src/TestCompletionTextStreamComponent.vue +0 -19
- package/src/index.ts +0 -3
- package/src/package.json +0 -10
- package/src/shims-vue.d.ts +0 -5
- package/src/use-assistant.ts +0 -305
- package/src/use-assistant.ui.test.tsx +0 -272
- package/src/use-chat.ts +0 -321
- package/src/use-chat.ui.test.tsx +0 -446
- package/src/use-completion.ts +0 -177
- package/src/use-completion.ui.test.ts +0 -93
- package/tsconfig.json +0 -9
- package/tsup.config.ts +0 -13
- package/turbo.json +0 -8
- package/vitest.config.js +0 -12
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# @ai-sdk/vue
|
|
2
2
|
|
|
3
|
+
## 0.0.46
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [03313cd]
|
|
8
|
+
- @ai-sdk/provider-utils@1.0.18
|
|
9
|
+
- @ai-sdk/ui-utils@0.0.41
|
|
10
|
+
|
|
11
|
+
## 0.0.45
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- Updated dependencies [aa2dc58]
|
|
16
|
+
- @ai-sdk/ui-utils@0.0.40
|
|
17
|
+
|
|
3
18
|
## 0.0.44
|
|
4
19
|
|
|
5
20
|
### Patch Changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ai-sdk/vue",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.46",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -14,9 +14,13 @@
|
|
|
14
14
|
"require": "./dist/index.js"
|
|
15
15
|
}
|
|
16
16
|
},
|
|
17
|
+
"files": [
|
|
18
|
+
"dist/**/*",
|
|
19
|
+
"CHANGELOG.md"
|
|
20
|
+
],
|
|
17
21
|
"dependencies": {
|
|
18
|
-
"@ai-sdk/provider-utils": "1.0.
|
|
19
|
-
"@ai-sdk/ui-utils": "0.0.
|
|
22
|
+
"@ai-sdk/provider-utils": "1.0.18",
|
|
23
|
+
"@ai-sdk/ui-utils": "0.0.41",
|
|
20
24
|
"swrv": "1.0.4"
|
|
21
25
|
},
|
|
22
26
|
"devDependencies": {
|
package/.eslintrc.js
DELETED
package/.turbo/turbo-build.log
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
> @ai-sdk/vue@0.0.44 build /home/runner/work/ai/ai/packages/vue
|
|
3
|
-
> tsup
|
|
4
|
-
|
|
5
|
-
[34mCLI[39m Building entry: src/index.ts
|
|
6
|
-
[34mCLI[39m Using tsconfig: tsconfig.json
|
|
7
|
-
[34mCLI[39m tsup v7.2.0
|
|
8
|
-
[34mCLI[39m Using tsup config: /home/runner/work/ai/ai/packages/vue/tsup.config.ts
|
|
9
|
-
[34mCLI[39m Target: es2018
|
|
10
|
-
[34mCJS[39m Build start
|
|
11
|
-
[34mESM[39m Build start
|
|
12
|
-
[32mCJS[39m [1mdist/index.js [22m[32m16.21 KB[39m
|
|
13
|
-
[32mCJS[39m [1mdist/index.js.map [22m[32m31.11 KB[39m
|
|
14
|
-
[32mCJS[39m ⚡️ Build success in 46ms
|
|
15
|
-
[32mESM[39m [1mdist/index.mjs [22m[32m14.09 KB[39m
|
|
16
|
-
[32mESM[39m [1mdist/index.mjs.map [22m[32m30.89 KB[39m
|
|
17
|
-
[32mESM[39m ⚡️ Build success in 51ms
|
|
18
|
-
[34mDTS[39m Build start
|
|
19
|
-
[32mDTS[39m ⚡️ Build success in 5350ms
|
|
20
|
-
[32mDTS[39m [1mdist/index.d.ts [22m[32m5.94 KB[39m
|
|
21
|
-
[32mDTS[39m [1mdist/index.d.mts [22m[32m5.94 KB[39m
|
package/.turbo/turbo-clean.log
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
<script lang="ts" setup>
|
|
2
|
-
import { useAssistant } from './use-assistant';
|
|
3
|
-
|
|
4
|
-
const { status, messages, append } = useAssistant({
|
|
5
|
-
api: '/api/assistant'
|
|
6
|
-
});
|
|
7
|
-
</script>
|
|
8
|
-
|
|
9
|
-
<template>
|
|
10
|
-
<div>
|
|
11
|
-
<div data-testid="status">{{ status }}</div>
|
|
12
|
-
<div v-for="(message, index) in messages" :data-testid="`message-${index}`" :key="index">
|
|
13
|
-
{{ message.role === 'user' ? 'User: ' : 'AI: ' }}
|
|
14
|
-
{{ message.content }}
|
|
15
|
-
</div>
|
|
16
|
-
<button data-testid="do-append" @click="append({ role: 'user', content: 'hi' })" />
|
|
17
|
-
</div>
|
|
18
|
-
</template>
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import { useAssistant } from './use-assistant';
|
|
3
|
-
|
|
4
|
-
const { status, messages, error, append, setThreadId, threadId } = useAssistant({
|
|
5
|
-
api: '/api/assistant'
|
|
6
|
-
});
|
|
7
|
-
</script>
|
|
8
|
-
|
|
9
|
-
<template>
|
|
10
|
-
<div>
|
|
11
|
-
<div data-testid="status">{{ status }}</div>
|
|
12
|
-
<div data-testid="thread-id">{{ threadId || 'undefined' }}</div>
|
|
13
|
-
<div data-testid="error">{{ error?.toString() }}</div>
|
|
14
|
-
<div v-for="(message, index) in messages" :data-testid="`message-${index}`" :key="index">
|
|
15
|
-
{{ message.role === 'user' ? 'User: ' : 'AI: ' }}
|
|
16
|
-
{{ message.content }}
|
|
17
|
-
</div>
|
|
18
|
-
<button data-testid="do-append" @click="append({ role: 'user', content: 'hi' })" />
|
|
19
|
-
<button data-testid="do-new-thread" @click="setThreadId(undefined)" />
|
|
20
|
-
<button data-testid="do-thread-3" @click="setThreadId('t3')" />
|
|
21
|
-
</div>
|
|
22
|
-
</template>
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import { useChat } from './use-chat';
|
|
3
|
-
|
|
4
|
-
const onFinishCalls: Array<{
|
|
5
|
-
message: Message;
|
|
6
|
-
options: {
|
|
7
|
-
finishReason: string;
|
|
8
|
-
usage: {
|
|
9
|
-
completionTokens: number;
|
|
10
|
-
promptTokens: number;
|
|
11
|
-
totalTokens: number;
|
|
12
|
-
};
|
|
13
|
-
};
|
|
14
|
-
}> = [];
|
|
15
|
-
|
|
16
|
-
const { messages, append, data, error, isLoading } = useChat({
|
|
17
|
-
onFinish: (message, options) => {
|
|
18
|
-
onFinishCalls.push({ message, options });
|
|
19
|
-
},
|
|
20
|
-
});
|
|
21
|
-
</script>
|
|
22
|
-
|
|
23
|
-
<template>
|
|
24
|
-
<div>
|
|
25
|
-
<div data-testid="loading">{{ isLoading?.toString() }}</div>
|
|
26
|
-
<div data-testid="error">{{ error?.toString() }}</div>
|
|
27
|
-
<div data-testid="data">{{ JSON.stringify(data) }}</div>
|
|
28
|
-
<div
|
|
29
|
-
v-for="(m, idx) in messages"
|
|
30
|
-
key="m.id"
|
|
31
|
-
:data-testid="`message-${idx}`"
|
|
32
|
-
>
|
|
33
|
-
{{ m.role === 'user' ? 'User: ' : 'AI: ' }}
|
|
34
|
-
{{ m.content }}
|
|
35
|
-
</div>
|
|
36
|
-
|
|
37
|
-
<button
|
|
38
|
-
data-testid="do-append"
|
|
39
|
-
@click="append({ role: 'user', content: 'hi' })"
|
|
40
|
-
/>
|
|
41
|
-
|
|
42
|
-
<div data-testid="on-finish-calls">{{ JSON.stringify(onFinishCalls) }}</div>
|
|
43
|
-
</div>
|
|
44
|
-
</template>
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import { useChat } from './use-chat';
|
|
3
|
-
|
|
4
|
-
const { messages, append } = useChat({
|
|
5
|
-
body: {
|
|
6
|
-
body1: 'value1',
|
|
7
|
-
body2: 'value2',
|
|
8
|
-
},
|
|
9
|
-
headers: {
|
|
10
|
-
header1: 'value1',
|
|
11
|
-
header2: 'value2',
|
|
12
|
-
},
|
|
13
|
-
});
|
|
14
|
-
</script>
|
|
15
|
-
|
|
16
|
-
<template>
|
|
17
|
-
<div>
|
|
18
|
-
<div
|
|
19
|
-
v-for="(m, idx) in messages"
|
|
20
|
-
key="m.id"
|
|
21
|
-
:data-testid="`message-${idx}`"
|
|
22
|
-
>
|
|
23
|
-
{{ m.role === 'user' ? 'User: ' : 'AI: ' }}
|
|
24
|
-
{{ m.content }}
|
|
25
|
-
</div>
|
|
26
|
-
|
|
27
|
-
<button
|
|
28
|
-
data-testid="do-append"
|
|
29
|
-
@click="append({ role: 'user', content: 'custom metadata component' })"
|
|
30
|
-
/>
|
|
31
|
-
</div>
|
|
32
|
-
</template>
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import { useChat } from './use-chat';
|
|
3
|
-
|
|
4
|
-
const { messages, handleSubmit, input } = useChat();
|
|
5
|
-
</script>
|
|
6
|
-
|
|
7
|
-
<template>
|
|
8
|
-
<div>
|
|
9
|
-
<div
|
|
10
|
-
v-for="(m, idx) in messages"
|
|
11
|
-
key="m.id"
|
|
12
|
-
:data-testid="`message-${idx}`"
|
|
13
|
-
>
|
|
14
|
-
{{ m.role === 'user' ? 'User: ' : 'AI: ' }}
|
|
15
|
-
{{ m.content }}
|
|
16
|
-
</div>
|
|
17
|
-
|
|
18
|
-
<form @submit.prevent="handleSubmit">
|
|
19
|
-
<input :data-testid="`do-input`" v-model="input" type="text" />
|
|
20
|
-
</form>
|
|
21
|
-
</div>
|
|
22
|
-
</template>
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import { useChat } from './use-chat';
|
|
3
|
-
|
|
4
|
-
const { messages, handleSubmit, input } = useChat();
|
|
5
|
-
</script>
|
|
6
|
-
|
|
7
|
-
<template>
|
|
8
|
-
<div>
|
|
9
|
-
<div
|
|
10
|
-
v-for="(m, idx) in messages"
|
|
11
|
-
key="m.id"
|
|
12
|
-
:data-testid="`message-${idx}`"
|
|
13
|
-
>
|
|
14
|
-
{{ m.role === 'user' ? 'User: ' : 'AI: ' }}
|
|
15
|
-
{{ m.content }}
|
|
16
|
-
</div>
|
|
17
|
-
|
|
18
|
-
<form
|
|
19
|
-
@submit.prevent="
|
|
20
|
-
event =>
|
|
21
|
-
handleSubmit(event, {
|
|
22
|
-
allowEmptySubmit: true,
|
|
23
|
-
})
|
|
24
|
-
"
|
|
25
|
-
>
|
|
26
|
-
<input :data-testid="`do-input`" v-model="input" type="text" />
|
|
27
|
-
</form>
|
|
28
|
-
</div>
|
|
29
|
-
</template>
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import { useChat } from './use-chat';
|
|
3
|
-
|
|
4
|
-
const { messages, append, reload } = useChat();
|
|
5
|
-
</script>
|
|
6
|
-
|
|
7
|
-
<template>
|
|
8
|
-
<div>
|
|
9
|
-
<div
|
|
10
|
-
v-for="(m, idx) in messages"
|
|
11
|
-
key="m.id"
|
|
12
|
-
:data-testid="`message-${idx}`"
|
|
13
|
-
>
|
|
14
|
-
{{ m.role === 'user' ? 'User: ' : 'AI: ' }}
|
|
15
|
-
{{ m.content }}
|
|
16
|
-
</div>
|
|
17
|
-
|
|
18
|
-
<button
|
|
19
|
-
data-testid="do-append"
|
|
20
|
-
@click="append({ role: 'user', content: 'hi' })"
|
|
21
|
-
/>
|
|
22
|
-
|
|
23
|
-
<button
|
|
24
|
-
data-testid="do-reload"
|
|
25
|
-
@click="
|
|
26
|
-
reload({
|
|
27
|
-
data: { 'test-data-key': 'test-data-value' },
|
|
28
|
-
body: { 'request-body-key': 'request-body-value' },
|
|
29
|
-
headers: { 'header-key': 'header-value' },
|
|
30
|
-
})
|
|
31
|
-
"
|
|
32
|
-
/>
|
|
33
|
-
</div>
|
|
34
|
-
</template>
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import { useChat } from './use-chat';
|
|
3
|
-
|
|
4
|
-
const onFinishCalls: Array<{
|
|
5
|
-
message: Message;
|
|
6
|
-
options: {
|
|
7
|
-
finishReason: string;
|
|
8
|
-
usage: {
|
|
9
|
-
completionTokens: number;
|
|
10
|
-
promptTokens: number;
|
|
11
|
-
totalTokens: number;
|
|
12
|
-
};
|
|
13
|
-
};
|
|
14
|
-
}> = [];
|
|
15
|
-
|
|
16
|
-
const { messages, append } = useChat({
|
|
17
|
-
streamProtocol: 'text',
|
|
18
|
-
onFinish: (message, options) => {
|
|
19
|
-
onFinishCalls.push({ message, options });
|
|
20
|
-
},
|
|
21
|
-
});
|
|
22
|
-
</script>
|
|
23
|
-
|
|
24
|
-
<template>
|
|
25
|
-
<div>
|
|
26
|
-
<div
|
|
27
|
-
v-for="(m, idx) in messages"
|
|
28
|
-
key="m.id"
|
|
29
|
-
:data-testid="`message-${idx}`"
|
|
30
|
-
>
|
|
31
|
-
{{ m.role === 'user' ? 'User: ' : 'AI: ' }}
|
|
32
|
-
{{ m.content }}
|
|
33
|
-
</div>
|
|
34
|
-
|
|
35
|
-
<button
|
|
36
|
-
data-testid="do-append"
|
|
37
|
-
@click="append({ role: 'user', content: 'hi' })"
|
|
38
|
-
/>
|
|
39
|
-
|
|
40
|
-
<div data-testid="on-finish-calls">{{ JSON.stringify(onFinishCalls) }}</div>
|
|
41
|
-
</div>
|
|
42
|
-
</template>
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import { useCompletion } from './use-completion';
|
|
3
|
-
|
|
4
|
-
const { completion, handleSubmit, input, isLoading, error } = useCompletion();
|
|
5
|
-
</script>
|
|
6
|
-
|
|
7
|
-
<template>
|
|
8
|
-
<div>
|
|
9
|
-
<div data-testid="loading">{{ isLoading?.toString() }}</div>
|
|
10
|
-
<div data-testid="error">{{ error?.toString() }}</div>
|
|
11
|
-
<div data-testid="completion">{{ completion }}</div>
|
|
12
|
-
|
|
13
|
-
<form @submit="handleSubmit">
|
|
14
|
-
<input data-testid="input" v-model="input" />
|
|
15
|
-
</form>
|
|
16
|
-
</div>
|
|
17
|
-
</template>
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import { useCompletion } from './use-completion';
|
|
3
|
-
|
|
4
|
-
const { completion, handleSubmit, input, isLoading, error } = useCompletion({
|
|
5
|
-
streamProtocol: 'text',
|
|
6
|
-
});
|
|
7
|
-
</script>
|
|
8
|
-
|
|
9
|
-
<template>
|
|
10
|
-
<div>
|
|
11
|
-
<div data-testid="loading">{{ isLoading?.toString() }}</div>
|
|
12
|
-
<div data-testid="error">{{ error?.toString() }}</div>
|
|
13
|
-
<div data-testid="completion">{{ completion }}</div>
|
|
14
|
-
|
|
15
|
-
<form @submit="handleSubmit">
|
|
16
|
-
<input data-testid="input" v-model="input" />
|
|
17
|
-
</form>
|
|
18
|
-
</div>
|
|
19
|
-
</template>
|
package/src/index.ts
DELETED
package/src/package.json
DELETED