@scenemesh/entity-engine-aimodule 1.0.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 (109) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +854 -0
  3. package/dist/ai-core-LBGYFGOK.mjs +17 -0
  4. package/dist/ai-core-LBGYFGOK.mjs.map +1 -0
  5. package/dist/ai-core-UGJWSCQN.js +17 -0
  6. package/dist/ai-core-UGJWSCQN.js.map +1 -0
  7. package/dist/ai-core-manager-B3Z34RHA.mjs +9 -0
  8. package/dist/ai-core-manager-B3Z34RHA.mjs.map +1 -0
  9. package/dist/ai-core-manager-W7SSDCG5.js +9 -0
  10. package/dist/ai-core-manager-W7SSDCG5.js.map +1 -0
  11. package/dist/ai-embeddings-5ED5LDXX.mjs +17 -0
  12. package/dist/ai-embeddings-5ED5LDXX.mjs.map +1 -0
  13. package/dist/ai-embeddings-WCXZMMTZ.js +17 -0
  14. package/dist/ai-embeddings-WCXZMMTZ.js.map +1 -0
  15. package/dist/ai-form-renderer-24IWNMX5.js +233 -0
  16. package/dist/ai-form-renderer-24IWNMX5.js.map +1 -0
  17. package/dist/ai-form-renderer-BORQABF2.mjs +233 -0
  18. package/dist/ai-form-renderer-BORQABF2.mjs.map +1 -0
  19. package/dist/ai-provider-3PSCVEEN.mjs +17 -0
  20. package/dist/ai-provider-3PSCVEEN.mjs.map +1 -0
  21. package/dist/ai-provider-WMPMVZFL.js +17 -0
  22. package/dist/ai-provider-WMPMVZFL.js.map +1 -0
  23. package/dist/ai-renderer-7WGGWH5D.mjs +134 -0
  24. package/dist/ai-renderer-7WGGWH5D.mjs.map +1 -0
  25. package/dist/ai-renderer-OILYWAJV.js +134 -0
  26. package/dist/ai-renderer-OILYWAJV.js.map +1 -0
  27. package/dist/ai-settings-DGCFPK3U.js +15 -0
  28. package/dist/ai-settings-DGCFPK3U.js.map +1 -0
  29. package/dist/ai-settings-DTXEAB64.mjs +15 -0
  30. package/dist/ai-settings-DTXEAB64.mjs.map +1 -0
  31. package/dist/ai-structured-EGZ26ZS4.mjs +13 -0
  32. package/dist/ai-structured-EGZ26ZS4.mjs.map +1 -0
  33. package/dist/ai-structured-N2FZLO4A.js +13 -0
  34. package/dist/ai-structured-N2FZLO4A.js.map +1 -0
  35. package/dist/ai-tools-B3R77HZ3.js +19 -0
  36. package/dist/ai-tools-B3R77HZ3.js.map +1 -0
  37. package/dist/ai-tools-JAPVYQGE.mjs +19 -0
  38. package/dist/ai-tools-JAPVYQGE.mjs.map +1 -0
  39. package/dist/ai.module-GAHVCBTP.js +7 -0
  40. package/dist/ai.module-GAHVCBTP.js.map +1 -0
  41. package/dist/ai.module-TTPMTPB3.mjs +7 -0
  42. package/dist/ai.module-TTPMTPB3.mjs.map +1 -0
  43. package/dist/chunk-25C2NRSD.mjs +611 -0
  44. package/dist/chunk-25C2NRSD.mjs.map +1 -0
  45. package/dist/chunk-4JQ7UOXH.js +427 -0
  46. package/dist/chunk-4JQ7UOXH.js.map +1 -0
  47. package/dist/chunk-6IUKES2L.js +290 -0
  48. package/dist/chunk-6IUKES2L.js.map +1 -0
  49. package/dist/chunk-COWPK7XN.mjs +834 -0
  50. package/dist/chunk-COWPK7XN.mjs.map +1 -0
  51. package/dist/chunk-CTEXPMVZ.js +512 -0
  52. package/dist/chunk-CTEXPMVZ.js.map +1 -0
  53. package/dist/chunk-DXQTHA75.js +573 -0
  54. package/dist/chunk-DXQTHA75.js.map +1 -0
  55. package/dist/chunk-DZFQ6I23.js +72 -0
  56. package/dist/chunk-DZFQ6I23.js.map +1 -0
  57. package/dist/chunk-J323UTPE.mjs +650 -0
  58. package/dist/chunk-J323UTPE.mjs.map +1 -0
  59. package/dist/chunk-LHNNALVF.js +834 -0
  60. package/dist/chunk-LHNNALVF.js.map +1 -0
  61. package/dist/chunk-O7SZSMXV.js +1621 -0
  62. package/dist/chunk-O7SZSMXV.js.map +1 -0
  63. package/dist/chunk-OTNOFOVW.js +650 -0
  64. package/dist/chunk-OTNOFOVW.js.map +1 -0
  65. package/dist/chunk-PRIGZEI4.mjs +72 -0
  66. package/dist/chunk-PRIGZEI4.mjs.map +1 -0
  67. package/dist/chunk-SBSZ3IPB.mjs +573 -0
  68. package/dist/chunk-SBSZ3IPB.mjs.map +1 -0
  69. package/dist/chunk-SXPA6SSD.mjs +1621 -0
  70. package/dist/chunk-SXPA6SSD.mjs.map +1 -0
  71. package/dist/chunk-T5A4KAVS.mjs +512 -0
  72. package/dist/chunk-T5A4KAVS.mjs.map +1 -0
  73. package/dist/chunk-TDRKKUNT.mjs +357 -0
  74. package/dist/chunk-TDRKKUNT.mjs.map +1 -0
  75. package/dist/chunk-TJFNODPE.js +357 -0
  76. package/dist/chunk-TJFNODPE.js.map +1 -0
  77. package/dist/chunk-V2SSI3SL.mjs +427 -0
  78. package/dist/chunk-V2SSI3SL.mjs.map +1 -0
  79. package/dist/chunk-X42L6MTY.mjs +290 -0
  80. package/dist/chunk-X42L6MTY.mjs.map +1 -0
  81. package/dist/chunk-YSVMY77H.js +611 -0
  82. package/dist/chunk-YSVMY77H.js.map +1 -0
  83. package/dist/core-ANYRS6EF.mjs +73 -0
  84. package/dist/core-ANYRS6EF.mjs.map +1 -0
  85. package/dist/core-K5K34DCS.js +73 -0
  86. package/dist/core-K5K34DCS.js.map +1 -0
  87. package/dist/core-index.d.mts +1668 -0
  88. package/dist/core-index.d.ts +1668 -0
  89. package/dist/core-index.js +101 -0
  90. package/dist/core-index.js.map +1 -0
  91. package/dist/core-index.mjs +101 -0
  92. package/dist/core-index.mjs.map +1 -0
  93. package/dist/index.d.mts +2911 -0
  94. package/dist/index.d.ts +2911 -0
  95. package/dist/index.js +1177 -0
  96. package/dist/index.js.map +1 -0
  97. package/dist/index.mjs +1177 -0
  98. package/dist/index.mjs.map +1 -0
  99. package/dist/tools-352X7A6X.mjs +366 -0
  100. package/dist/tools-352X7A6X.mjs.map +1 -0
  101. package/dist/tools-YLEX6GNO.js +366 -0
  102. package/dist/tools-YLEX6GNO.js.map +1 -0
  103. package/dist/ui-index.d.mts +627 -0
  104. package/dist/ui-index.d.ts +627 -0
  105. package/dist/ui-index.js +2354 -0
  106. package/dist/ui-index.js.map +1 -0
  107. package/dist/ui-index.mjs +2353 -0
  108. package/dist/ui-index.mjs.map +1 -0
  109. package/package.json +105 -0
@@ -0,0 +1,290 @@
1
+ // src/core/ai-core.ts
2
+ import { EventEmitter } from "events";
3
+ import {
4
+ tool,
5
+ streamText,
6
+ generateText,
7
+ streamObject,
8
+ smoothStream,
9
+ generateObject
10
+ } from "ai";
11
+ var AISDKIntegration = class extends EventEmitter {
12
+ constructor() {
13
+ super();
14
+ this.initialized = false;
15
+ this.requestCounter = 0;
16
+ }
17
+ /**
18
+ * Initialize the AI integration
19
+ */
20
+ async initialize() {
21
+ if (this.initialized) {
22
+ return;
23
+ }
24
+ try {
25
+ this.emit("ai_sdk:initializing");
26
+ this.initialized = true;
27
+ this.emit("ai_sdk:initialized");
28
+ } catch (error) {
29
+ this.emit("ai_sdk:initialization_failed", { error });
30
+ throw error;
31
+ }
32
+ }
33
+ /**
34
+ * Generate request ID
35
+ */
36
+ generateRequestId() {
37
+ return `ai-sdk-${Date.now()}-${++this.requestCounter}`;
38
+ }
39
+ // generateText methods
40
+ /**
41
+ * Text generation
42
+ */
43
+ async generateText(options) {
44
+ if (!this.initialized) {
45
+ throw new Error("AISDKIntegration not initialized. Call initialize() first.");
46
+ }
47
+ const requestId = this.generateRequestId();
48
+ const startTime = Date.now();
49
+ try {
50
+ this.emit("ai_sdk:generate_started", {
51
+ requestId,
52
+ model: typeof options.model === "string" ? options.model : "unknown",
53
+ hasTools: !!options.tools,
54
+ hasMessages: !!options.messages?.length,
55
+ hasSystem: !!options.system,
56
+ hasPrompt: !!options.prompt
57
+ });
58
+ const result = await generateText(options);
59
+ this.emit("ai_sdk:generate_completed", {
60
+ requestId,
61
+ latency: Date.now() - startTime,
62
+ finishReason: result.finishReason,
63
+ usage: result.usage,
64
+ totalUsage: result.totalUsage,
65
+ toolCalls: result.toolCalls?.length || 0,
66
+ toolResults: result.toolResults?.length || 0,
67
+ steps: result.steps?.length || 1,
68
+ textLength: result.text?.length || 0,
69
+ hasReasoning: !!result.reasoning?.length,
70
+ hasFiles: !!result.files?.length,
71
+ hasSources: !!result.sources?.length,
72
+ warnings: result.warnings?.length || 0
73
+ });
74
+ return result;
75
+ } catch (error) {
76
+ this.emit("ai_sdk:generate_failed", {
77
+ requestId,
78
+ error: error.message,
79
+ latency: Date.now() - startTime,
80
+ errorType: error.constructor.name
81
+ });
82
+ throw error;
83
+ }
84
+ }
85
+ // streamText methods
86
+ /**
87
+ * Streaming text generation
88
+ */
89
+ streamText(options) {
90
+ if (!this.initialized) {
91
+ throw new Error("AISDKIntegration not initialized. Call initialize() first.");
92
+ }
93
+ const requestId = this.generateRequestId();
94
+ const startTime = Date.now();
95
+ this.emit("ai_sdk:stream_started", {
96
+ requestId,
97
+ model: typeof options.model === "string" ? options.model : "unknown",
98
+ hasTools: !!options.tools,
99
+ hasMessages: !!options.messages?.length,
100
+ hasSystem: !!options.system,
101
+ hasPrompt: !!options.prompt,
102
+ hasTransform: !!options.experimental_transform
103
+ });
104
+ const wrappedOptions = {
105
+ ...options,
106
+ onError: (event) => {
107
+ this.emit("ai_sdk:stream_error", {
108
+ requestId,
109
+ error: event.error,
110
+ latency: Date.now() - startTime
111
+ });
112
+ if (options.onError) {
113
+ options.onError(event);
114
+ }
115
+ },
116
+ onFinish: async (result) => {
117
+ this.emit("ai_sdk:stream_finished", {
118
+ requestId,
119
+ latency: Date.now() - startTime,
120
+ finishReason: result.finishReason,
121
+ usage: result.usage,
122
+ totalUsage: result.totalUsage,
123
+ toolCalls: result.toolCalls?.length || 0,
124
+ toolResults: result.toolResults?.length || 0,
125
+ steps: result.steps?.length || 1,
126
+ textLength: result.text?.length || 0,
127
+ hasReasoning: !!result.reasoning?.length,
128
+ hasFiles: !!result.files?.length,
129
+ hasSources: !!result.sources?.length,
130
+ warnings: result.warnings?.length || 0
131
+ });
132
+ if (options.onFinish) {
133
+ await options.onFinish(result);
134
+ }
135
+ },
136
+ onAbort: (event) => {
137
+ this.emit("ai_sdk:stream_aborted", {
138
+ requestId,
139
+ latency: Date.now() - startTime,
140
+ steps: event.steps?.length || 0
141
+ });
142
+ if (options.onAbort) {
143
+ options.onAbort(event);
144
+ }
145
+ }
146
+ };
147
+ return streamText(wrappedOptions);
148
+ }
149
+ // generateObject & streamObject methods
150
+ /**
151
+ * Generate structured object
152
+ */
153
+ async generateObject(options) {
154
+ if (!this.initialized) {
155
+ throw new Error("AISDKIntegration not initialized. Call initialize() first.");
156
+ }
157
+ const requestId = this.generateRequestId();
158
+ const startTime = Date.now();
159
+ try {
160
+ this.emit("ai_sdk:generate_object_started", {
161
+ requestId,
162
+ model: typeof options.model === "string" ? options.model : "unknown",
163
+ output: options.output || "object",
164
+ mode: options.mode || "auto",
165
+ hasSchema: !!options.schema,
166
+ hasEnum: !!options.enum
167
+ });
168
+ const result = await generateObject(options);
169
+ this.emit("ai_sdk:generate_object_completed", {
170
+ requestId,
171
+ latency: Date.now() - startTime,
172
+ finishReason: result.finishReason,
173
+ usage: result.usage,
174
+ hasReasoning: !!result.reasoning,
175
+ warnings: result.warnings?.length || 0
176
+ });
177
+ return result;
178
+ } catch (error) {
179
+ this.emit("ai_sdk:generate_object_failed", {
180
+ requestId,
181
+ error: error.message,
182
+ latency: Date.now() - startTime,
183
+ errorType: error.constructor.name
184
+ });
185
+ throw error;
186
+ }
187
+ }
188
+ /**
189
+ * Streaming structured object generation
190
+ */
191
+ streamObject(options) {
192
+ if (!this.initialized) {
193
+ throw new Error("AISDKIntegration not initialized. Call initialize() first.");
194
+ }
195
+ const requestId = this.generateRequestId();
196
+ const startTime = Date.now();
197
+ this.emit("ai_sdk:stream_object_started", {
198
+ requestId,
199
+ model: typeof options.model === "string" ? options.model : "unknown",
200
+ output: options.output || "object",
201
+ mode: options.mode || "auto",
202
+ hasSchema: !!options.schema,
203
+ hasEnum: !!options.enum
204
+ });
205
+ const wrappedOptions = {
206
+ ...options,
207
+ onError: (event) => {
208
+ this.emit("ai_sdk:stream_object_error", {
209
+ requestId,
210
+ error: event.error,
211
+ latency: Date.now() - startTime
212
+ });
213
+ if (options.onError) {
214
+ options.onError(event);
215
+ }
216
+ },
217
+ onFinish: (result) => {
218
+ this.emit("ai_sdk:stream_object_finished", {
219
+ requestId,
220
+ latency: Date.now() - startTime,
221
+ usage: result.usage,
222
+ hasError: !!result.error,
223
+ warnings: result.warnings?.length || 0
224
+ });
225
+ if (options.onFinish) {
226
+ options.onFinish(result);
227
+ }
228
+ }
229
+ };
230
+ return streamObject(wrappedOptions);
231
+ }
232
+ // Tool helper methods
233
+ /**
234
+ * Create tool
235
+ */
236
+ createTool(description, inputSchema, execute) {
237
+ return tool({
238
+ description,
239
+ parameters: inputSchema,
240
+ execute
241
+ });
242
+ }
243
+ /**
244
+ * Create smooth stream
245
+ */
246
+ createSmoothStream() {
247
+ return smoothStream();
248
+ }
249
+ // Utility methods
250
+ /**
251
+ * Check initialization status
252
+ */
253
+ isInitialized() {
254
+ return this.initialized;
255
+ }
256
+ /**
257
+ * Get statistics
258
+ */
259
+ getStats() {
260
+ return {
261
+ requestCount: this.requestCounter,
262
+ isInitialized: this.initialized
263
+ };
264
+ }
265
+ /**
266
+ * Reset statistics
267
+ */
268
+ resetStats() {
269
+ this.requestCounter = 0;
270
+ }
271
+ /**
272
+ * Destroy instance
273
+ */
274
+ destroy() {
275
+ this.removeAllListeners();
276
+ this.initialized = false;
277
+ this.requestCounter = 0;
278
+ }
279
+ };
280
+ var ai_core_default = AISDKIntegration;
281
+
282
+ export {
283
+ tool,
284
+ streamText,
285
+ generateText,
286
+ smoothStream,
287
+ AISDKIntegration,
288
+ ai_core_default
289
+ };
290
+ //# sourceMappingURL=chunk-X42L6MTY.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/core/ai-core.ts"],"sourcesContent":["/**\n * Complete AI Integration\n * \n * Core AI functionality implementation:\n * - generateText: Text generation\n * - streamText: Streaming text generation \n * - generateObject: Structured object generation\n */\n\nimport type { z } from 'zod';\n\nimport { EventEmitter } from 'events';\nimport {\n tool,\n type Tool,\n streamText,\n generateText,\n streamObject,\n smoothStream,\n type ToolSet,\n generateObject,\n type CoreMessage,\n type FinishReason,\n type LanguageModel,\n type TextStreamPart,\n type StreamTextResult,\n type GenerateTextResult,\n type StreamObjectResult,\n type LanguageModelUsage,\n type GenerateObjectResult,\n type LanguageModelRequestMetadata,\n type LanguageModelResponseMetadata\n} from 'ai';\n\n// Type Definitions\n\n/**\n * Complete generateText options interface\n */\nexport interface GenerateTextOptions<TOOLS extends ToolSet = {}> {\n // Core parameters\n model: LanguageModel;\n system?: string;\n prompt?: string | Array<any>; // Supports SystemModelMessage | UserModelMessage | AssistantModelMessage | ToolModelMessage\n messages?: CoreMessage[];\n \n // Tool calling parameters\n tools?: TOOLS;\n toolChoice?: 'auto' | 'none' | 'required' | { type: 'tool'; toolName: string };\n activeTools?: Array<keyof TOOLS>;\n \n // Generation control parameters\n maxOutputTokens?: number;\n temperature?: number;\n topP?: number;\n topK?: number;\n presencePenalty?: number;\n frequencyPenalty?: number;\n stopSequences?: string[];\n seed?: number;\n \n // Flow control parameters\n maxRetries?: number;\n stopWhen?: any; // StopCondition<TOOLS> | Array<StopCondition<TOOLS>>\n prepareStep?: (options: {\n steps: Array<any>; // Array<StepResult<TOOLS>>\n stepNumber: number;\n model: LanguageModel;\n messages: Array<any>; // Array<ModelMessage>\n }) => any | Promise<any>; // PrepareStepResult<TOOLS>\n \n // Network and control\n abortSignal?: AbortSignal;\n headers?: Record<string, string>;\n \n // Experimental features\n experimental_telemetry?: {\n isEnabled?: boolean;\n recordInputs?: boolean;\n recordOutputs?: boolean;\n functionId?: string;\n metadata?: Record<string, string | number | boolean | Array<null | undefined | string> | Array<null | undefined | number> | Array<null | undefined | boolean>>;\n };\n experimental_context?: unknown;\n experimental_download?: (requestedDownloads: Array<{ url: URL; isUrlSupportedByModel: boolean }>) => Promise<Array<null | { data: Uint8Array; mediaType?: string }>>;\n experimental_repairToolCall?: (options: {\n system?: string;\n messages: Array<any>; // ModelMessage[]\n toolCall: any; // LanguageModelV2ToolCall\n tools: TOOLS;\n parameterSchema: (options: { toolName: string }) => any; // JSONSchema7\n error: any; // NoSuchToolError | InvalidToolInputError\n }) => Promise<any | null>; // LanguageModelV2ToolCall | null\n experimental_output?: {\n format: 'text' | 'object';\n schema?: any;\n };\n \n // Provider options\n providerOptions?: Record<string, Record<string, any>>;\n \n // Callback functions\n onStepFinish?: (result: {\n finishReason: FinishReason;\n usage: LanguageModelUsage;\n text: string;\n toolCalls: Array<any>;\n toolResults: Array<any>;\n warnings?: Array<any>;\n response?: {\n id: string;\n model: string;\n timestamp: Date;\n headers?: Record<string, string>;\n body?: unknown;\n };\n isContinued: boolean;\n providerMetadata?: Record<string, Record<string, any>>;\n }) => Promise<void> | void;\n}\n\n/**\n * Complete streamText options interface\n */\nexport interface StreamTextOptions<TOOLS extends ToolSet = {}> \n extends Omit<GenerateTextOptions<TOOLS>, 'onStepFinish'> {\n \n // Stream-specific parameters\n experimental_generateMessageId?: () => string;\n experimental_transform?: any | any[]; // StreamTextTransform | Array<StreamTextTransform>\n includeRawChunks?: boolean;\n \n // Stream callback functions\n onChunk?: (event: { chunk: TextStreamPart<TOOLS> }) => Promise<void> | void;\n onError?: (event: { error: unknown }) => Promise<void> | void;\n onStepFinish?: (result: {\n stepType: 'initial' | 'continue' | 'tool-result';\n finishReason: FinishReason;\n usage: LanguageModelUsage;\n text: string;\n reasoning?: string;\n sources: Array<{\n sourceType: 'url';\n id: string;\n url: string;\n title?: string;\n providerMetadata?: any;\n }>;\n files: Array<{\n base64: string;\n uint8Array: Uint8Array;\n mediaType: string;\n }>;\n toolCalls: Array<any>;\n toolResults: Array<any>;\n warnings?: Array<any>;\n response?: {\n id: string;\n model: string;\n timestamp: Date;\n headers?: Record<string, string>;\n messages: Array<any>; // Array<ResponseMessage>\n };\n isContinued: boolean;\n providerMetadata?: Record<string, Record<string, any>>;\n }) => Promise<void> | void;\n onFinish?: (result: {\n finishReason: FinishReason;\n usage: LanguageModelUsage;\n totalUsage: LanguageModelUsage;\n providerMetadata?: Record<string, Record<string, any>>;\n text: string;\n reasoning?: string;\n reasoningDetails: Array<{\n type: 'text' | 'redacted';\n text?: string;\n signature?: string;\n data?: string;\n }>;\n sources: Array<{\n sourceType: 'url';\n id: string;\n url: string;\n title?: string;\n providerMetadata?: any;\n }>;\n files: Array<{\n base64: string;\n uint8Array: Uint8Array;\n mediaType: string;\n }>;\n toolCalls: Array<any>;\n toolResults: Array<any>;\n warnings?: Array<any>;\n response?: {\n id: string;\n model: string;\n timestamp: Date;\n headers?: Record<string, string>;\n messages: Array<any>; // Array<ResponseMessage>\n };\n steps: Array<any>; // Array<StepResult>\n }) => Promise<void> | void;\n onAbort?: (event: { steps: Array<any> }) => Promise<void> | void;\n}\n\n/**\n * Result types\n */\nexport type GenerateResult<TOOLS extends ToolSet = {}> = GenerateTextResult<TOOLS, any> & {\n // All return value properties\n content: Array<any>; // ContentPart<TOOLS>\n text: string;\n reasoning: Array<any>; // ReasoningPart\n reasoningText: string | undefined;\n sources: Array<any>; // Source\n files: Array<any>; // GeneratedFile\n toolCalls: Array<any>; // ToolCallArray<TOOLS>\n toolResults: Array<any>; // ToolResultArray<TOOLS>\n finishReason: 'stop' | 'length' | 'content-filter' | 'tool-calls' | 'error' | 'other' | 'unknown';\n usage: LanguageModelUsage;\n totalUsage: LanguageModelUsage;\n request?: LanguageModelRequestMetadata;\n response?: LanguageModelResponseMetadata;\n warnings?: Array<any>;\n providerMetadata?: any;\n experimental_output?: any;\n steps: Array<any>; // StepResult<TOOLS>\n};\nexport type StreamResult<TOOLS extends ToolSet = {}> = StreamTextResult<TOOLS, any> & {\n // All Promise properties for streaming\n content: Promise<Array<any>>; // ContentPart<TOOLS>\n finishReason: Promise<'stop' | 'length' | 'content-filter' | 'tool-calls' | 'error' | 'other' | 'unknown'>;\n usage: Promise<LanguageModelUsage>;\n totalUsage: Promise<LanguageModelUsage>;\n providerMetadata: Promise<any>;\n text: Promise<string>;\n reasoning: Promise<Array<any>>; // ReasoningPart\n reasoningText: Promise<string | undefined>;\n sources: Promise<Array<any>>; // Source\n files: Promise<Array<any>>; // GeneratedFile\n toolCalls: Promise<Array<any>>; // TypedToolCall<TOOLS>\n toolResults: Promise<Array<any>>; // TypedToolResult<TOOLS>\n request: Promise<LanguageModelRequestMetadata>;\n response: Promise<LanguageModelResponseMetadata & { messages: Array<any> }>;\n warnings: Promise<Array<any> | undefined>;\n steps: Promise<Array<any>>; // StepResult\n \n // Stream properties\n textStream: AsyncIterable<string> & ReadableStream<string>;\n fullStream: AsyncIterable<any> & ReadableStream<any>; // TextStreamPart<TOOLS>\n};\n\n// Core Integration Class\n\n/**\n * Complete AI integration class\n */\nexport class AISDKIntegration extends EventEmitter {\n private initialized: boolean = false;\n private requestCounter: number = 0;\n\n constructor() {\n super();\n }\n\n /**\n * Initialize the AI integration\n */\n async initialize(): Promise<void> {\n if (this.initialized) {\n return;\n }\n\n try {\n this.emit('ai_sdk:initializing');\n this.initialized = true;\n this.emit('ai_sdk:initialized');\n } catch (error) {\n this.emit('ai_sdk:initialization_failed', { error });\n throw error;\n }\n }\n\n /**\n * Generate request ID\n */\n private generateRequestId(): string {\n return `ai-sdk-${Date.now()}-${++this.requestCounter}`;\n }\n\n // generateText methods\n\n /**\n * Text generation\n */\n async generateText<TOOLS extends ToolSet = {}>(\n options: GenerateTextOptions<TOOLS>\n ): Promise<GenerateResult<TOOLS>> {\n if (!this.initialized) {\n throw new Error('AISDKIntegration not initialized. Call initialize() first.');\n }\n\n const requestId = this.generateRequestId();\n const startTime = Date.now();\n\n try {\n this.emit('ai_sdk:generate_started', {\n requestId,\n model: typeof options.model === 'string' ? options.model : 'unknown',\n hasTools: !!options.tools,\n hasMessages: !!options.messages?.length,\n hasSystem: !!options.system,\n hasPrompt: !!options.prompt\n });\n\n const result = await generateText(options as any);\n\n this.emit('ai_sdk:generate_completed', {\n requestId,\n latency: Date.now() - startTime,\n finishReason: result.finishReason,\n usage: result.usage,\n totalUsage: result.totalUsage,\n toolCalls: result.toolCalls?.length || 0,\n toolResults: result.toolResults?.length || 0,\n steps: result.steps?.length || 1,\n textLength: result.text?.length || 0,\n hasReasoning: !!result.reasoning?.length,\n hasFiles: !!result.files?.length,\n hasSources: !!result.sources?.length,\n warnings: result.warnings?.length || 0\n });\n\n return result as unknown as GenerateResult<TOOLS>;\n\n } catch (error: any) {\n this.emit('ai_sdk:generate_failed', {\n requestId,\n error: error.message,\n latency: Date.now() - startTime,\n errorType: error.constructor.name\n });\n\n throw error;\n }\n }\n\n // streamText methods\n\n /**\n * Streaming text generation\n */\n streamText<TOOLS extends ToolSet = {}>(\n options: StreamTextOptions<TOOLS>\n ): StreamTextResult<TOOLS, any> {\n if (!this.initialized) {\n throw new Error('AISDKIntegration not initialized. Call initialize() first.');\n }\n\n const requestId = this.generateRequestId();\n const startTime = Date.now();\n\n this.emit('ai_sdk:stream_started', {\n requestId,\n model: typeof options.model === 'string' ? options.model : 'unknown',\n hasTools: !!options.tools,\n hasMessages: !!options.messages?.length,\n hasSystem: !!options.system,\n hasPrompt: !!options.prompt,\n hasTransform: !!options.experimental_transform\n });\n\n // Wrap callbacks to add event emission\n const wrappedOptions = {\n ...options,\n onError: (event: any) => {\n this.emit('ai_sdk:stream_error', {\n requestId,\n error: event.error,\n latency: Date.now() - startTime\n });\n if (options.onError) {\n options.onError(event);\n }\n },\n onFinish: async (result: any) => {\n this.emit('ai_sdk:stream_finished', {\n requestId,\n latency: Date.now() - startTime,\n finishReason: result.finishReason,\n usage: result.usage,\n totalUsage: result.totalUsage,\n toolCalls: result.toolCalls?.length || 0,\n toolResults: result.toolResults?.length || 0,\n steps: result.steps?.length || 1,\n textLength: result.text?.length || 0,\n hasReasoning: !!result.reasoning?.length,\n hasFiles: !!result.files?.length,\n hasSources: !!result.sources?.length,\n warnings: result.warnings?.length || 0\n });\n\n if (options.onFinish) {\n await options.onFinish(result);\n }\n },\n onAbort: (event: any) => {\n this.emit('ai_sdk:stream_aborted', {\n requestId,\n latency: Date.now() - startTime,\n steps: event.steps?.length || 0\n });\n if (options.onAbort) {\n options.onAbort(event);\n }\n }\n };\n\n // Return native results directly\n return streamText(wrappedOptions as any);\n }\n\n // generateObject & streamObject methods\n\n /**\n * Generate structured object\n */\n async generateObject<SCHEMA>(\n options: {\n model: LanguageModel;\n output?: 'object' | 'array' | 'enum' | 'no-schema';\n mode?: 'auto' | 'json' | 'tool';\n schema?: SCHEMA;\n schemaName?: string;\n schemaDescription?: string;\n enum?: string[];\n system?: string;\n prompt?: string;\n messages?: CoreMessage[];\n maxOutputTokens?: number;\n temperature?: number;\n topP?: number;\n topK?: number;\n presencePenalty?: number;\n frequencyPenalty?: number;\n seed?: number;\n maxRetries?: number;\n abortSignal?: AbortSignal;\n headers?: Record<string, string>;\n experimental_repairText?: (options: { text: string; error: any; }) => Promise<string>;\n experimental_download?: (requestedDownloads: Array<{ url: URL; isUrlSupportedByModel: boolean }>) => Promise<Array<null | { data: Uint8Array; mediaType?: string }>>;\n experimental_telemetry?: {\n isEnabled?: boolean;\n recordInputs?: boolean;\n recordOutputs?: boolean;\n functionId?: string;\n metadata?: Record<string, any>;\n };\n providerOptions?: Record<string, Record<string, any>>;\n }\n ): Promise<GenerateObjectResult<SCHEMA>> {\n if (!this.initialized) {\n throw new Error('AISDKIntegration not initialized. Call initialize() first.');\n }\n\n const requestId = this.generateRequestId();\n const startTime = Date.now();\n\n try {\n this.emit('ai_sdk:generate_object_started', {\n requestId,\n model: typeof options.model === 'string' ? options.model : 'unknown',\n output: options.output || 'object',\n mode: options.mode || 'auto',\n hasSchema: !!options.schema,\n hasEnum: !!options.enum\n });\n\n const result = await generateObject(options as any);\n\n this.emit('ai_sdk:generate_object_completed', {\n requestId,\n latency: Date.now() - startTime,\n finishReason: result.finishReason,\n usage: result.usage,\n hasReasoning: !!result.reasoning,\n warnings: result.warnings?.length || 0\n });\n\n return result as unknown as GenerateObjectResult<SCHEMA>;\n\n } catch (error: any) {\n this.emit('ai_sdk:generate_object_failed', {\n requestId,\n error: error.message,\n latency: Date.now() - startTime,\n errorType: error.constructor.name\n });\n\n throw error;\n }\n }\n\n /**\n * Streaming structured object generation\n */\n streamObject<SCHEMA>(\n options: {\n model: LanguageModel;\n output?: 'object' | 'array' | 'enum' | 'no-schema';\n mode?: 'auto' | 'json' | 'tool';\n schema?: SCHEMA;\n schemaName?: string;\n schemaDescription?: string;\n enum?: string[];\n system?: string;\n prompt?: string;\n messages?: CoreMessage[];\n maxOutputTokens?: number;\n temperature?: number;\n topP?: number;\n topK?: number;\n presencePenalty?: number;\n frequencyPenalty?: number;\n seed?: number;\n maxRetries?: number;\n abortSignal?: AbortSignal;\n headers?: Record<string, string>;\n experimental_repairText?: (options: { text: string; error: any; }) => Promise<string>;\n experimental_download?: (requestedDownloads: Array<{ url: URL; isUrlSupportedByModel: boolean }>) => Promise<Array<null | { data: Uint8Array; mediaType?: string }>>;\n experimental_telemetry?: {\n isEnabled?: boolean;\n recordInputs?: boolean;\n recordOutputs?: boolean;\n functionId?: string;\n metadata?: Record<string, any>;\n };\n providerOptions?: Record<string, Record<string, any>>;\n onError?: (event: { error: unknown }) => Promise<void> | void;\n onFinish?: (result: {\n usage: LanguageModelUsage;\n providerMetadata?: Record<string, Record<string, any>>;\n object?: SCHEMA;\n error?: unknown;\n warnings?: Array<any>;\n response?: {\n id: string;\n model: string;\n timestamp: Date;\n headers?: Record<string, string>;\n };\n }) => void;\n }\n ): StreamObjectResult<any, any, any> {\n if (!this.initialized) {\n throw new Error('AISDKIntegration not initialized. Call initialize() first.');\n }\n\n const requestId = this.generateRequestId();\n const startTime = Date.now();\n\n this.emit('ai_sdk:stream_object_started', {\n requestId,\n model: typeof options.model === 'string' ? options.model : 'unknown',\n output: options.output || 'object',\n mode: options.mode || 'auto',\n hasSchema: !!options.schema,\n hasEnum: !!options.enum\n });\n\n // Wrap callbacks to add event emission\n const wrappedOptions = {\n ...options,\n onError: (event: any) => {\n this.emit('ai_sdk:stream_object_error', {\n requestId,\n error: event.error,\n latency: Date.now() - startTime\n });\n if (options.onError) {\n options.onError(event);\n }\n },\n onFinish: (result: any) => {\n this.emit('ai_sdk:stream_object_finished', {\n requestId,\n latency: Date.now() - startTime,\n usage: result.usage,\n hasError: !!result.error,\n warnings: result.warnings?.length || 0\n });\n\n if (options.onFinish) {\n options.onFinish(result);\n }\n }\n };\n\n // Return native results directly\n return streamObject(wrappedOptions as any);\n }\n\n\n // Tool helper methods\n\n /**\n * Create tool\n */\n createTool<TParameters, TResult>(\n description: string,\n inputSchema: z.ZodSchema<TParameters>,\n execute?: (parameters: TParameters) => Promise<TResult> | TResult\n ): Tool<TParameters, TResult> {\n return tool({\n description,\n parameters: inputSchema,\n execute\n } as any);\n }\n\n /**\n * Create smooth stream\n */\n createSmoothStream() {\n return smoothStream();\n }\n\n // Utility methods\n\n /**\n * Check initialization status\n */\n isInitialized(): boolean {\n return this.initialized;\n }\n\n /**\n * Get statistics\n */\n getStats(): {\n requestCount: number;\n isInitialized: boolean;\n } {\n return {\n requestCount: this.requestCounter,\n isInitialized: this.initialized\n };\n }\n\n /**\n * Reset statistics\n */\n resetStats(): void {\n this.requestCounter = 0;\n }\n\n /**\n * Destroy instance\n */\n destroy(): void {\n this.removeAllListeners();\n this.initialized = false;\n this.requestCounter = 0;\n }\n}\n\n// Exports\n\nexport {\n tool,\n type Tool,\n streamText,\n type ToolSet,\n // Core functions\n generateText,\n smoothStream,\n type CoreMessage,\n type FinishReason,\n type LanguageModel,\n \n type TextStreamPart,\n type StreamTextResult,\n // Core types\n type GenerateTextResult,\n type LanguageModelUsage\n};\n\n// Default export\nexport default AISDKIntegration;"],"mappings":"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","names":[]}