@cloudbase/ai 2.8.5-beta.0 → 2.8.7-beta.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.
Files changed (76) hide show
  1. package/dist/cjs/bot/index.d.ts +1 -1
  2. package/dist/cjs/bot/index.js +1 -1
  3. package/dist/cjs/eventsource_parser/index.d.ts +2 -0
  4. package/dist/cjs/eventsource_parser/index.js +6 -0
  5. package/dist/cjs/eventsource_parser/parse.d.ts +2 -0
  6. package/dist/cjs/eventsource_parser/parse.js +126 -0
  7. package/dist/cjs/eventsource_parser/stream.d.ts +5 -0
  8. package/dist/cjs/eventsource_parser/stream.js +40 -0
  9. package/dist/cjs/eventsource_parser/types.d.ts +16 -0
  10. package/dist/cjs/eventsource_parser/types.js +3 -0
  11. package/dist/cjs/models/Ark/index.d.ts +1 -1
  12. package/dist/cjs/models/Ark/index.js +1 -1
  13. package/dist/cjs/models/DashScope/index.d.ts +1 -1
  14. package/dist/cjs/models/DashScope/index.js +1 -1
  15. package/dist/cjs/models/HunYuan/index.d.ts +1 -1
  16. package/dist/cjs/models/HunYuan/index.js +3 -3
  17. package/dist/cjs/models/HunYuan/type.d.ts +6 -6
  18. package/dist/cjs/models/HunYuan/type.js +1 -1
  19. package/dist/cjs/models/HunYuanBeta/index.d.ts +1 -1
  20. package/dist/cjs/models/HunYuanBeta/index.js +1 -1
  21. package/dist/cjs/models/Moonshot/index.d.ts +1 -1
  22. package/dist/cjs/models/Moonshot/index.js +1 -1
  23. package/dist/cjs/models/Yi/index.d.ts +1 -1
  24. package/dist/cjs/models/Yi/index.js +1 -1
  25. package/dist/cjs/models/ZhiPu/index.d.ts +1 -1
  26. package/dist/cjs/models/ZhiPu/index.js +1 -1
  27. package/dist/cjs/type.d.ts +1 -1
  28. package/dist/cjs/type.js +1 -1
  29. package/dist/cjs/utils.d.ts +1 -1
  30. package/dist/cjs/utils.js +2 -2
  31. package/dist/esm/bot/index.d.ts +1 -1
  32. package/dist/esm/bot/index.js +1 -1
  33. package/dist/esm/eventsource_parser/index.d.ts +2 -0
  34. package/dist/esm/eventsource_parser/index.js +2 -0
  35. package/dist/esm/eventsource_parser/parse.d.ts +2 -0
  36. package/dist/esm/eventsource_parser/parse.js +122 -0
  37. package/dist/esm/eventsource_parser/stream.d.ts +5 -0
  38. package/dist/esm/eventsource_parser/stream.js +37 -0
  39. package/dist/esm/eventsource_parser/types.d.ts +16 -0
  40. package/dist/esm/eventsource_parser/types.js +2 -0
  41. package/dist/esm/models/Ark/index.d.ts +1 -1
  42. package/dist/esm/models/Ark/index.js +1 -1
  43. package/dist/esm/models/DashScope/index.d.ts +1 -1
  44. package/dist/esm/models/DashScope/index.js +1 -1
  45. package/dist/esm/models/HunYuan/index.d.ts +1 -1
  46. package/dist/esm/models/HunYuan/index.js +3 -3
  47. package/dist/esm/models/HunYuan/type.d.ts +6 -6
  48. package/dist/esm/models/HunYuan/type.js +1 -1
  49. package/dist/esm/models/HunYuanBeta/index.d.ts +1 -1
  50. package/dist/esm/models/HunYuanBeta/index.js +1 -1
  51. package/dist/esm/models/Moonshot/index.d.ts +1 -1
  52. package/dist/esm/models/Moonshot/index.js +1 -1
  53. package/dist/esm/models/Yi/index.d.ts +1 -1
  54. package/dist/esm/models/Yi/index.js +1 -1
  55. package/dist/esm/models/ZhiPu/index.d.ts +1 -1
  56. package/dist/esm/models/ZhiPu/index.js +1 -1
  57. package/dist/esm/type.d.ts +1 -1
  58. package/dist/esm/type.js +1 -1
  59. package/dist/esm/utils.d.ts +1 -1
  60. package/dist/esm/utils.js +2 -2
  61. package/package.json +3 -4
  62. package/src/bot/index.ts +1 -1
  63. package/src/eventsource_parser/index.ts +2 -0
  64. package/src/eventsource_parser/parse.ts +169 -0
  65. package/src/eventsource_parser/stream.ts +35 -0
  66. package/src/eventsource_parser/types.ts +90 -0
  67. package/src/models/Ark/index.ts +1 -1
  68. package/src/models/DashScope/index.ts +1 -1
  69. package/src/models/HunYuan/index.ts +3 -3
  70. package/src/models/HunYuan/type.ts +4 -4
  71. package/src/models/HunYuanBeta/index.ts +1 -1
  72. package/src/models/Moonshot/index.ts +1 -1
  73. package/src/models/Yi/index.ts +1 -1
  74. package/src/models/ZhiPu/index.ts +1 -1
  75. package/src/type.ts +1 -1
  76. package/src/utils.ts +1 -1
@@ -0,0 +1,90 @@
1
+ /**
2
+ * EventSource parser instance.
3
+ *
4
+ * Needs to be reset between reconnections/when switching data source, using the `reset()` method.
5
+ *
6
+ * @public
7
+ */
8
+ export interface EventSourceParser {
9
+ /**
10
+ * Feeds the parser another chunk. The method _does not_ return a parsed message.
11
+ * Instead, if the chunk was a complete message (or completed a previously incomplete message),
12
+ * it will invoke the `onParse` callback used to create the parsers.
13
+ *
14
+ * @param chunk - The chunk to parse. Can be a partial, eg in the case of streaming messages.
15
+ * @public
16
+ */
17
+ feed(chunk: string): void
18
+
19
+ /**
20
+ * Resets the parser state. This is required when you have a new stream of messages -
21
+ * for instance in the case of a client being disconnected and reconnecting.
22
+ *
23
+ * @public
24
+ */
25
+ reset(): void
26
+ }
27
+
28
+ /**
29
+ * A parsed EventSource event
30
+ *
31
+ * @public
32
+ */
33
+ export interface ParsedEvent {
34
+ /**
35
+ * Differentiates the type from reconnection intervals and other types of messages
36
+ * Not to be confused with `event`.
37
+ */
38
+ type: 'event'
39
+
40
+ /**
41
+ * The event type sent from the server. Note that this differs from the browser `EventSource`
42
+ * implementation in that browsers will default this to `message`, whereas this parser will
43
+ * leave this as `undefined` if not explicitly declared.
44
+ */
45
+ event?: string
46
+
47
+ /**
48
+ * ID of the message, if any was provided by the server. Can be used by clients to keep the
49
+ * last received message ID in sync when reconnecting.
50
+ */
51
+ id?: string
52
+
53
+ /**
54
+ * The data received for this message
55
+ */
56
+ data: string
57
+ }
58
+
59
+ /**
60
+ * An event emitted from the parser when the server sends a value in the `retry` field,
61
+ * indicating how many seconds the client should wait before attempting to reconnect.
62
+ *
63
+ * @public
64
+ */
65
+ export interface ReconnectInterval {
66
+ /**
67
+ * Differentiates the type from `event` and other types of messages
68
+ */
69
+ type: 'reconnect-interval'
70
+
71
+ /**
72
+ * Number of seconds to wait before reconnecting. Note that the parser does not care about
73
+ * this value at all - it only emits the value for clients to use.
74
+ */
75
+ value: number
76
+ }
77
+
78
+ /**
79
+ * The different types of messages the parsed can emit to the `onParse` callback
80
+ *
81
+ * @public
82
+ */
83
+ export type ParseEvent = ParsedEvent | ReconnectInterval
84
+
85
+ /**
86
+ * Callback passed as the `onParse` callback to a parser
87
+ *
88
+ * @public
89
+ */
90
+ export type EventSourceParseCallback = (event: ParseEvent) => void
@@ -1,4 +1,4 @@
1
- import { type ParsedEvent } from 'eventsource-parser'
1
+ import { type ParsedEvent } from '../../eventsource_parser'
2
2
  import {
3
3
  createAsyncIterable,
4
4
  TransformStream,
@@ -1,4 +1,4 @@
1
- import { type ParsedEvent } from 'eventsource-parser'
1
+ import { type ParsedEvent } from '../../eventsource_parser'
2
2
  import {
3
3
  createAsyncIterable,
4
4
  TransformStream,
@@ -1,4 +1,4 @@
1
- import { type ParsedEvent } from 'eventsource-parser'
1
+ import { type ParsedEvent } from '../../eventsource_parser'
2
2
  import {
3
3
  createAsyncIterable,
4
4
  TransformStream,
@@ -35,7 +35,7 @@ export class HunYuanModel implements ChatModel {
35
35
  stream: false,
36
36
  })) as HunYaunGenerateTextOutput
37
37
  return {
38
- text: (res?.choices?.[0]?.message?.content as string) ?? '',
38
+ text: (res?.Choices?.[0]?.Message?.Content as string) ?? '',
39
39
  rawResponse: res,
40
40
  }
41
41
  }
@@ -105,7 +105,7 @@ class HunyuanModelStreamResult implements StreamTextResult {
105
105
  get textStream() {
106
106
  return createAsyncIterable(this.dataStream.pipeThrough(new TransformStream<HunYaunStreamTextOutput, string>({
107
107
  transform(chunk, controller) {
108
- controller.enqueue(chunk?.choices?.[0]?.delta?.content ?? '')
108
+ controller.enqueue(chunk?.Choices?.[0]?.Delta?.Content ?? '')
109
109
  },
110
110
  }),),)
111
111
  }
@@ -48,14 +48,14 @@ export type HunYuanInputData = {
48
48
 
49
49
  // todo: more precise
50
50
  export type HunYaunGenerateTextOutput = {
51
- choices?: Array<{
52
- message?: { content?: string }
51
+ Choices?: Array<{
52
+ Message?: { Content?: string }
53
53
  }>
54
54
  }
55
55
 
56
56
  // todo: more precise
57
57
  export type HunYaunStreamTextOutput = {
58
- choices?: Array<{
59
- delta?: { content?: string }
58
+ Choices?: Array<{
59
+ Delta?: { Content?: string }
60
60
  }>
61
61
  }
@@ -1,4 +1,4 @@
1
- import { type ParsedEvent } from 'eventsource-parser'
1
+ import { type ParsedEvent } from '../../eventsource_parser'
2
2
  import {
3
3
  createAsyncIterable,
4
4
  TransformStream,
@@ -1,4 +1,4 @@
1
- import { type ParsedEvent } from 'eventsource-parser'
1
+ import { type ParsedEvent } from '../../eventsource_parser'
2
2
  import {
3
3
  createAsyncIterable,
4
4
  TransformStream,
@@ -1,4 +1,4 @@
1
- import { type ParsedEvent } from 'eventsource-parser'
1
+ import { type ParsedEvent } from '../../eventsource_parser'
2
2
  import {
3
3
  createAsyncIterable,
4
4
  TransformStream,
@@ -1,4 +1,4 @@
1
- import { type ParsedEvent } from 'eventsource-parser'
1
+ import { type ParsedEvent } from '../../eventsource_parser'
2
2
  import {
3
3
  createAsyncIterable,
4
4
  TransformStream,
package/src/type.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { type ParsedEvent } from 'eventsource-parser'
1
+ import { type ParsedEvent } from './eventsource_parser'
2
2
 
3
3
  export abstract class ChatModel {
4
4
  public abstract generateText(data: BaseChatModelInput): Promise<{ text: string; rawResponse: any }>
package/src/utils.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { TransformStream as _TransformStream, ReadableStream as _ReadableStream } from 'web-streams-polyfill'
2
2
  import { createReadableStreamWrapper } from '@mattiasbuelens/web-streams-adapter'
3
- import { createParser, type EventSourceParser, type ParsedEvent } from 'eventsource-parser'
3
+ import { createParser, type EventSourceParser, type ParsedEvent } from './eventsource_parser'
4
4
  import type { AsyncIterableReadableStream } from './type'
5
5
  import { TextDecoder } from 'text-encoding-shim'
6
6