@umituz/react-native-ai-groq-provider 1.0.1 → 1.0.4

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 (93) hide show
  1. package/dist/domain/entities/error.types.d.ts +34 -0
  2. package/dist/domain/entities/error.types.d.ts.map +1 -0
  3. package/dist/domain/entities/error.types.js +57 -0
  4. package/dist/domain/entities/error.types.js.map +1 -0
  5. package/dist/domain/entities/groq.types.d.ts +222 -0
  6. package/dist/domain/entities/groq.types.d.ts.map +1 -0
  7. package/dist/domain/entities/groq.types.js +37 -0
  8. package/dist/domain/entities/groq.types.js.map +1 -0
  9. package/dist/domain/entities/index.d.ts +7 -0
  10. package/dist/domain/entities/index.d.ts.map +1 -0
  11. package/dist/domain/entities/index.js +23 -0
  12. package/dist/domain/entities/index.js.map +1 -0
  13. package/dist/domain/entities/models.d.ts +50 -0
  14. package/dist/domain/entities/models.d.ts.map +1 -0
  15. package/dist/domain/entities/models.js +178 -0
  16. package/dist/domain/entities/models.js.map +1 -0
  17. package/dist/index.d.ts +27 -0
  18. package/dist/index.d.ts.map +1 -0
  19. package/dist/index.js +73 -0
  20. package/dist/index.js.map +1 -0
  21. package/dist/infrastructure/services/ChatSession.d.ts +95 -0
  22. package/dist/infrastructure/services/ChatSession.d.ts.map +1 -0
  23. package/dist/infrastructure/services/ChatSession.js +177 -0
  24. package/dist/infrastructure/services/ChatSession.js.map +1 -0
  25. package/dist/infrastructure/services/GroqClient.d.ts +52 -0
  26. package/dist/infrastructure/services/GroqClient.d.ts.map +1 -0
  27. package/dist/infrastructure/services/GroqClient.js +205 -0
  28. package/dist/infrastructure/services/GroqClient.js.map +1 -0
  29. package/dist/infrastructure/services/Streaming.d.ts +27 -0
  30. package/dist/infrastructure/services/Streaming.d.ts.map +1 -0
  31. package/dist/infrastructure/services/Streaming.js +84 -0
  32. package/dist/infrastructure/services/Streaming.js.map +1 -0
  33. package/dist/infrastructure/services/StructuredText.d.ts +20 -0
  34. package/dist/infrastructure/services/StructuredText.d.ts.map +1 -0
  35. package/dist/infrastructure/services/StructuredText.js +122 -0
  36. package/dist/infrastructure/services/StructuredText.js.map +1 -0
  37. package/dist/infrastructure/services/TextGeneration.d.ts +18 -0
  38. package/dist/infrastructure/services/TextGeneration.d.ts.map +1 -0
  39. package/dist/infrastructure/services/TextGeneration.js +64 -0
  40. package/dist/infrastructure/services/TextGeneration.js.map +1 -0
  41. package/dist/infrastructure/services/index.d.ts +9 -0
  42. package/dist/infrastructure/services/index.d.ts.map +1 -0
  43. package/dist/infrastructure/services/index.js +24 -0
  44. package/dist/infrastructure/services/index.js.map +1 -0
  45. package/dist/infrastructure/telemetry/TelemetryHooks.d.ts +48 -0
  46. package/dist/infrastructure/telemetry/TelemetryHooks.d.ts.map +1 -0
  47. package/dist/infrastructure/telemetry/TelemetryHooks.js +70 -0
  48. package/dist/infrastructure/telemetry/TelemetryHooks.js.map +1 -0
  49. package/dist/infrastructure/telemetry/index.d.ts +5 -0
  50. package/dist/infrastructure/telemetry/index.d.ts.map +1 -0
  51. package/dist/infrastructure/telemetry/index.js +10 -0
  52. package/dist/infrastructure/telemetry/index.js.map +1 -0
  53. package/dist/infrastructure/utils/async/execute-state.util.d.ts +27 -0
  54. package/dist/infrastructure/utils/async/execute-state.util.d.ts.map +1 -0
  55. package/dist/infrastructure/utils/async/execute-state.util.js +50 -0
  56. package/dist/infrastructure/utils/async/execute-state.util.js.map +1 -0
  57. package/dist/infrastructure/utils/async/index.d.ts +6 -0
  58. package/dist/infrastructure/utils/async/index.d.ts.map +1 -0
  59. package/dist/infrastructure/utils/async/index.js +10 -0
  60. package/dist/infrastructure/utils/async/index.js.map +1 -0
  61. package/dist/infrastructure/utils/content-mapper.util.d.ts +34 -0
  62. package/dist/infrastructure/utils/content-mapper.util.d.ts.map +1 -0
  63. package/dist/infrastructure/utils/content-mapper.util.js +84 -0
  64. package/dist/infrastructure/utils/content-mapper.util.js.map +1 -0
  65. package/dist/infrastructure/utils/error-mapper.util.d.ts +21 -0
  66. package/dist/infrastructure/utils/error-mapper.util.d.ts.map +1 -0
  67. package/dist/infrastructure/utils/error-mapper.util.js +73 -0
  68. package/dist/infrastructure/utils/error-mapper.util.js.map +1 -0
  69. package/dist/infrastructure/utils/index.d.ts +7 -0
  70. package/dist/infrastructure/utils/index.d.ts.map +1 -0
  71. package/dist/infrastructure/utils/index.js +23 -0
  72. package/dist/infrastructure/utils/index.js.map +1 -0
  73. package/dist/presentation/hooks/useGroq.d.ts +42 -0
  74. package/dist/presentation/hooks/useGroq.d.ts.map +1 -0
  75. package/dist/presentation/hooks/useGroq.js +153 -0
  76. package/dist/presentation/hooks/useGroq.js.map +1 -0
  77. package/dist/presentation/hooks/useOperationManager.d.ts +34 -0
  78. package/dist/presentation/hooks/useOperationManager.d.ts.map +1 -0
  79. package/dist/presentation/hooks/useOperationManager.js +76 -0
  80. package/dist/presentation/hooks/useOperationManager.js.map +1 -0
  81. package/dist/providers/ConfigBuilder.d.ts +86 -0
  82. package/dist/providers/ConfigBuilder.d.ts.map +1 -0
  83. package/dist/providers/ConfigBuilder.js +147 -0
  84. package/dist/providers/ConfigBuilder.js.map +1 -0
  85. package/dist/providers/ProviderFactory.d.ts +56 -0
  86. package/dist/providers/ProviderFactory.d.ts.map +1 -0
  87. package/dist/providers/ProviderFactory.js +75 -0
  88. package/dist/providers/ProviderFactory.js.map +1 -0
  89. package/dist/providers/index.d.ts +7 -0
  90. package/dist/providers/index.d.ts.map +1 -0
  91. package/dist/providers/index.js +15 -0
  92. package/dist/providers/index.js.map +1 -0
  93. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroqClient.js","sourceRoot":"","sources":["../../../src/infrastructure/services/GroqClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Streaming Service
3
+ * Handles streaming responses from Groq API
4
+ */
5
+ import type { GroqMessage, GroqGenerationConfig } from "../../domain/entities";
6
+ export interface StreamingCallbacks {
7
+ /** Called when new content chunk is received */
8
+ onChunk?: (chunk: string) => void;
9
+ /** Called when streaming completes */
10
+ onComplete?: (fullContent: string) => void;
11
+ /** Called when an error occurs */
12
+ onError?: (error: Error) => void;
13
+ }
14
+ export interface StreamingOptions {
15
+ model?: string;
16
+ generationConfig?: GroqGenerationConfig;
17
+ callbacks?: StreamingCallbacks;
18
+ }
19
+ /**
20
+ * Stream text generation from a prompt
21
+ */
22
+ export declare function streaming(prompt: string, options?: StreamingOptions): AsyncGenerator<string>;
23
+ /**
24
+ * Stream chat generation from messages
25
+ */
26
+ export declare function streamingChat(messages: GroqMessage[], options?: StreamingOptions): AsyncGenerator<string>;
27
+ //# sourceMappingURL=Streaming.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Streaming.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/services/Streaming.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAEV,WAAW,EACX,oBAAoB,EACrB,MAAM,uBAAuB,CAAC;AAI/B,MAAM,WAAW,kBAAkB;IACjC,gDAAgD;IAChD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,sCAAsC;IACtC,UAAU,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,kCAAkC;IAClC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;IACxC,SAAS,CAAC,EAAE,kBAAkB,CAAC;CAChC;AAED;;GAEG;AACH,wBAAuB,SAAS,CAC9B,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,gBAAqB,GAC7B,cAAc,CAAC,MAAM,CAAC,CA+BxB;AAED;;GAEG;AACH,wBAAuB,aAAa,CAClC,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,GAAE,gBAAqB,GAC7B,cAAc,CAAC,MAAM,CAAC,CAwBxB"}
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ /**
3
+ * Streaming Service
4
+ * Handles streaming responses from Groq API
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.streaming = streaming;
8
+ exports.streamingChat = streamingChat;
9
+ const GroqClient_1 = require("./GroqClient");
10
+ const entities_1 = require("../../domain/entities");
11
+ /**
12
+ * Stream text generation from a prompt
13
+ */
14
+ async function* streaming(prompt, options = {}) {
15
+ const model = options.model || entities_1.DEFAULT_MODELS.TEXT;
16
+ const messages = [
17
+ {
18
+ role: "user",
19
+ content: prompt,
20
+ },
21
+ ];
22
+ const request = {
23
+ model,
24
+ messages,
25
+ temperature: options.generationConfig?.temperature || 0.7,
26
+ max_tokens: options.generationConfig?.maxTokens || 1024,
27
+ top_p: options.generationConfig?.topP,
28
+ };
29
+ try {
30
+ for await (const chunk of GroqClient_1.groqHttpClient.chatCompletionStream(request)) {
31
+ const content = chunk.choices[0]?.delta?.content;
32
+ if (content) {
33
+ options.callbacks?.onChunk?.(content);
34
+ yield content;
35
+ }
36
+ }
37
+ options.callbacks?.onComplete?.(await collectStreamContent(request));
38
+ }
39
+ catch (error) {
40
+ options.callbacks?.onError?.(error);
41
+ throw error;
42
+ }
43
+ }
44
+ /**
45
+ * Stream chat generation from messages
46
+ */
47
+ async function* streamingChat(messages, options = {}) {
48
+ const model = options.model || entities_1.DEFAULT_MODELS.TEXT;
49
+ const request = {
50
+ model,
51
+ messages,
52
+ temperature: options.generationConfig?.temperature || 0.7,
53
+ max_tokens: options.generationConfig?.maxTokens || 1024,
54
+ top_p: options.generationConfig?.topP,
55
+ };
56
+ try {
57
+ for await (const chunk of GroqClient_1.groqHttpClient.chatCompletionStream(request)) {
58
+ const content = chunk.choices[0]?.delta?.content;
59
+ if (content) {
60
+ options.callbacks?.onChunk?.(content);
61
+ yield content;
62
+ }
63
+ }
64
+ options.callbacks?.onComplete?.(await collectStreamContent(request));
65
+ }
66
+ catch (error) {
67
+ options.callbacks?.onError?.(error);
68
+ throw error;
69
+ }
70
+ }
71
+ /**
72
+ * Collect full content from streaming (for onComplete callback)
73
+ */
74
+ async function collectStreamContent(request) {
75
+ let fullContent = "";
76
+ for await (const chunk of GroqClient_1.groqHttpClient.chatCompletionStream(request)) {
77
+ const content = chunk.choices[0]?.delta?.content;
78
+ if (content) {
79
+ fullContent += content;
80
+ }
81
+ }
82
+ return fullContent;
83
+ }
84
+ //# sourceMappingURL=Streaming.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Streaming.js","sourceRoot":"","sources":["../../../src/infrastructure/services/Streaming.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Structured Text Generation Service
3
+ * Generates structured JSON output from Groq API
4
+ */
5
+ import type { GroqMessage, GroqGenerationConfig } from "../../domain/entities";
6
+ export interface StructuredTextOptions<T> {
7
+ model?: string;
8
+ generationConfig?: GroqGenerationConfig;
9
+ schema?: Record<string, unknown>;
10
+ example?: T;
11
+ }
12
+ /**
13
+ * Generate structured JSON output from a prompt
14
+ */
15
+ export declare function structuredText<T = Record<string, unknown>>(prompt: string, options?: StructuredTextOptions<T>): Promise<T>;
16
+ /**
17
+ * Generate structured JSON output from messages
18
+ */
19
+ export declare function structuredChat<T = Record<string, unknown>>(messages: GroqMessage[], options?: StructuredTextOptions<T>): Promise<T>;
20
+ //# sourceMappingURL=StructuredText.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StructuredText.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/services/StructuredText.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAEV,WAAW,EACX,oBAAoB,EACrB,MAAM,uBAAuB,CAAC;AAK/B,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,CAAC,CAAC;CACb;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9D,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,qBAAqB,CAAC,CAAC,CAAM,GACrC,OAAO,CAAC,CAAC,CAAC,CAiEZ;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9D,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,GAAE,qBAAqB,CAAC,CAAC,CAAM,GACrC,OAAO,CAAC,CAAC,CAAC,CAsEZ"}
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+ /**
3
+ * Structured Text Generation Service
4
+ * Generates structured JSON output from Groq API
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.structuredText = structuredText;
8
+ exports.structuredChat = structuredChat;
9
+ const GroqClient_1 = require("./GroqClient");
10
+ const entities_1 = require("../../domain/entities");
11
+ const error_types_1 = require("../../domain/entities/error.types");
12
+ /**
13
+ * Generate structured JSON output from a prompt
14
+ */
15
+ async function structuredText(prompt, options = {}) {
16
+ const model = options.model || entities_1.DEFAULT_MODELS.TEXT;
17
+ let systemPrompt = "You are a helpful assistant that generates valid JSON output.";
18
+ if (options.schema) {
19
+ systemPrompt += `\n\nResponse must conform to this JSON schema:\n${JSON.stringify(options.schema, null, 2)}`;
20
+ }
21
+ if (options.example) {
22
+ systemPrompt += `\n\nExample response format:\n${JSON.stringify(options.example, null, 2)}`;
23
+ }
24
+ systemPrompt += "\n\nIMPORTANT: Respond ONLY with valid JSON. No markdown, no code blocks, no explanations.";
25
+ const messages = [
26
+ {
27
+ role: "system",
28
+ content: systemPrompt,
29
+ },
30
+ {
31
+ role: "user",
32
+ content: prompt,
33
+ },
34
+ ];
35
+ const request = {
36
+ model,
37
+ messages,
38
+ temperature: options.generationConfig?.temperature || 0.3,
39
+ max_tokens: options.generationConfig?.maxTokens || 2048,
40
+ top_p: options.generationConfig?.topP || 0.9,
41
+ };
42
+ const response = await GroqClient_1.groqHttpClient.chatCompletion(request);
43
+ let content = response.choices[0]?.message?.content;
44
+ if (!content) {
45
+ throw new error_types_1.GroqError(error_types_1.GroqErrorType.UNKNOWN_ERROR, "No content generated from Groq API");
46
+ }
47
+ // Clean up the response: remove markdown code blocks if present
48
+ content = content.trim();
49
+ if (content.startsWith("```json")) {
50
+ content = content.slice(7);
51
+ }
52
+ else if (content.startsWith("```")) {
53
+ content = content.slice(3);
54
+ }
55
+ if (content.endsWith("```")) {
56
+ content = content.slice(0, -3);
57
+ }
58
+ content = content.trim();
59
+ try {
60
+ return JSON.parse(content);
61
+ }
62
+ catch (error) {
63
+ throw new error_types_1.GroqError(error_types_1.GroqErrorType.UNKNOWN_ERROR, `Failed to parse JSON response: ${content}`, error);
64
+ }
65
+ }
66
+ /**
67
+ * Generate structured JSON output from messages
68
+ */
69
+ async function structuredChat(messages, options = {}) {
70
+ const model = options.model || entities_1.DEFAULT_MODELS.TEXT;
71
+ let systemMessage = null;
72
+ // Check if there's already a system message
73
+ const hasSystemMessage = messages.some((m) => m.role === "system");
74
+ if (!hasSystemMessage) {
75
+ let systemPrompt = "You are a helpful assistant that generates valid JSON output.";
76
+ if (options.schema) {
77
+ systemPrompt += `\n\nResponse must conform to this JSON schema:\n${JSON.stringify(options.schema, null, 2)}`;
78
+ }
79
+ if (options.example) {
80
+ systemPrompt += `\n\nExample response format:\n${JSON.stringify(options.example, null, 2)}`;
81
+ }
82
+ systemPrompt += "\n\nIMPORTANT: Respond ONLY with valid JSON. No markdown, no code blocks, no explanations.";
83
+ systemMessage = {
84
+ role: "system",
85
+ content: systemPrompt,
86
+ };
87
+ }
88
+ const requestMessages = systemMessage
89
+ ? [systemMessage, ...messages]
90
+ : messages;
91
+ const request = {
92
+ model,
93
+ messages: requestMessages,
94
+ temperature: options.generationConfig?.temperature || 0.3,
95
+ max_tokens: options.generationConfig?.maxTokens || 2048,
96
+ top_p: options.generationConfig?.topP || 0.9,
97
+ };
98
+ const response = await GroqClient_1.groqHttpClient.chatCompletion(request);
99
+ let content = response.choices[0]?.message?.content;
100
+ if (!content) {
101
+ throw new error_types_1.GroqError(error_types_1.GroqErrorType.UNKNOWN_ERROR, "No content generated from Groq API");
102
+ }
103
+ // Clean up the response: remove markdown code blocks if present
104
+ content = content.trim();
105
+ if (content.startsWith("```json")) {
106
+ content = content.slice(7);
107
+ }
108
+ else if (content.startsWith("```")) {
109
+ content = content.slice(3);
110
+ }
111
+ if (content.endsWith("```")) {
112
+ content = content.slice(0, -3);
113
+ }
114
+ content = content.trim();
115
+ try {
116
+ return JSON.parse(content);
117
+ }
118
+ catch (error) {
119
+ throw new error_types_1.GroqError(error_types_1.GroqErrorType.UNKNOWN_ERROR, `Failed to parse JSON response: ${content}`, error);
120
+ }
121
+ }
122
+ //# sourceMappingURL=StructuredText.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StructuredText.js","sourceRoot":"","sources":["../../../src/infrastructure/services/StructuredText.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Text Generation Service
3
+ * Handles basic text generation using Groq API
4
+ */
5
+ import type { GroqMessage, GroqGenerationConfig } from "../../domain/entities";
6
+ export interface TextGenerationOptions {
7
+ model?: string;
8
+ generationConfig?: GroqGenerationConfig;
9
+ }
10
+ /**
11
+ * Generate text from a simple prompt
12
+ */
13
+ export declare function textGeneration(prompt: string, options?: TextGenerationOptions): Promise<string>;
14
+ /**
15
+ * Generate text from an array of messages
16
+ */
17
+ export declare function chatGeneration(messages: GroqMessage[], options?: TextGenerationOptions): Promise<string>;
18
+ //# sourceMappingURL=TextGeneration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextGeneration.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/services/TextGeneration.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAGV,WAAW,EACX,oBAAoB,EACrB,MAAM,uBAAuB,CAAC;AAK/B,MAAM,WAAW,qBAAqB;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;CACzC;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,MAAM,CAAC,CAiCjB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,MAAM,CAAC,CA0BjB"}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ /**
3
+ * Text Generation Service
4
+ * Handles basic text generation using Groq API
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.textGeneration = textGeneration;
8
+ exports.chatGeneration = chatGeneration;
9
+ const GroqClient_1 = require("./GroqClient");
10
+ const entities_1 = require("../../domain/entities");
11
+ const error_types_1 = require("../../domain/entities/error.types");
12
+ /**
13
+ * Generate text from a simple prompt
14
+ */
15
+ async function textGeneration(prompt, options = {}) {
16
+ const model = options.model || entities_1.DEFAULT_MODELS.TEXT;
17
+ const messages = [
18
+ {
19
+ role: "user",
20
+ content: prompt,
21
+ },
22
+ ];
23
+ const request = {
24
+ model,
25
+ messages,
26
+ temperature: options.generationConfig?.temperature || 0.7,
27
+ max_tokens: options.generationConfig?.maxTokens || 1024,
28
+ top_p: options.generationConfig?.topP,
29
+ n: options.generationConfig?.n,
30
+ stop: options.generationConfig?.stop,
31
+ frequency_penalty: options.generationConfig?.frequencyPenalty,
32
+ presence_penalty: options.generationConfig?.presencePenalty,
33
+ };
34
+ const response = await GroqClient_1.groqHttpClient.chatCompletion(request);
35
+ const content = response.choices[0]?.message?.content;
36
+ if (!content) {
37
+ throw new error_types_1.GroqError(error_types_1.GroqErrorType.UNKNOWN_ERROR, "No content generated from Groq API");
38
+ }
39
+ return content;
40
+ }
41
+ /**
42
+ * Generate text from an array of messages
43
+ */
44
+ async function chatGeneration(messages, options = {}) {
45
+ const model = options.model || entities_1.DEFAULT_MODELS.TEXT;
46
+ const request = {
47
+ model,
48
+ messages,
49
+ temperature: options.generationConfig?.temperature || 0.7,
50
+ max_tokens: options.generationConfig?.maxTokens || 1024,
51
+ top_p: options.generationConfig?.topP,
52
+ n: options.generationConfig?.n,
53
+ stop: options.generationConfig?.stop,
54
+ frequency_penalty: options.generationConfig?.frequencyPenalty,
55
+ presence_penalty: options.generationConfig?.presencePenalty,
56
+ };
57
+ const response = await GroqClient_1.groqHttpClient.chatCompletion(request);
58
+ const content = response.choices[0]?.message?.content;
59
+ if (!content) {
60
+ throw new error_types_1.GroqError(error_types_1.GroqErrorType.UNKNOWN_ERROR, "No content generated from Groq API");
61
+ }
62
+ return content;
63
+ }
64
+ //# sourceMappingURL=TextGeneration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextGeneration.js","sourceRoot":"","sources":["../../../src/infrastructure/services/TextGeneration.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAoBH,wCAoCC;AAKD,wCA6BC;AAlFD,6CAA8C;AAC9C,oDAAuD;AACvD,mEAA6E;AAO7E;;GAEG;AACI,KAAK,UAAU,cAAc,CAClC,MAAc,EACd,UAAiC,EAAE;IAEnC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,yBAAc,CAAC,IAAI,CAAC;IAEnD,MAAM,QAAQ,GAAkB;QAC9B;YACE,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,MAAM;SAChB;KACF,CAAC;IAEF,MAAM,OAAO,GAAoB;QAC/B,KAAK;QACL,QAAQ;QACR,WAAW,EAAE,OAAO,CAAC,gBAAgB,EAAE,WAAW,IAAI,GAAG;QACzD,UAAU,EAAE,OAAO,CAAC,gBAAgB,EAAE,SAAS,IAAI,IAAI;QACvD,KAAK,EAAE,OAAO,CAAC,gBAAgB,EAAE,IAAI;QACrC,CAAC,EAAE,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC9B,IAAI,EAAE,OAAO,CAAC,gBAAgB,EAAE,IAAI;QACpC,iBAAiB,EAAE,OAAO,CAAC,gBAAgB,EAAE,gBAAgB;QAC7D,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,EAAE,eAAe;KAC5D,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,2BAAc,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAE9D,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC;IACtD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,uBAAS,CACjB,2BAAa,CAAC,aAAa,EAC3B,oCAAoC,CACrC,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,cAAc,CAClC,QAAuB,EACvB,UAAiC,EAAE;IAEnC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,yBAAc,CAAC,IAAI,CAAC;IAEnD,MAAM,OAAO,GAAoB;QAC/B,KAAK;QACL,QAAQ;QACR,WAAW,EAAE,OAAO,CAAC,gBAAgB,EAAE,WAAW,IAAI,GAAG;QACzD,UAAU,EAAE,OAAO,CAAC,gBAAgB,EAAE,SAAS,IAAI,IAAI;QACvD,KAAK,EAAE,OAAO,CAAC,gBAAgB,EAAE,IAAI;QACrC,CAAC,EAAE,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC9B,IAAI,EAAE,OAAO,CAAC,gBAAgB,EAAE,IAAI;QACpC,iBAAiB,EAAE,OAAO,CAAC,gBAAgB,EAAE,gBAAgB;QAC7D,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,EAAE,eAAe;KAC5D,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,2BAAc,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAE9D,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC;IACtD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,uBAAS,CACjB,2BAAa,CAAC,aAAa,EAC3B,oCAAoC,CACrC,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Infrastructure Services
3
+ */
4
+ export { groqHttpClient } from "./GroqClient";
5
+ export { textGeneration, chatGeneration } from "./TextGeneration";
6
+ export { structuredText, structuredChat } from "./StructuredText";
7
+ export { streaming, streamingChat, type StreamingCallbacks, type StreamingOptions } from "./Streaming";
8
+ export { chatSessionService, createChatSession, sendChatMessage, buildChatHistory, trimChatHistory, type ChatSession, type SendChatMessageOptions, type ChatSendResult, type ChatHistoryMessage, } from "./ChatSession";
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/services/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACvG,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,KAAK,WAAW,EAChB,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACnB,KAAK,kBAAkB,GACxB,MAAM,eAAe,CAAC"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ /**
3
+ * Infrastructure Services
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.trimChatHistory = exports.buildChatHistory = exports.sendChatMessage = exports.createChatSession = exports.chatSessionService = exports.streamingChat = exports.streaming = exports.structuredChat = exports.structuredText = exports.chatGeneration = exports.textGeneration = exports.groqHttpClient = void 0;
7
+ var GroqClient_1 = require("./GroqClient");
8
+ Object.defineProperty(exports, "groqHttpClient", { enumerable: true, get: function () { return GroqClient_1.groqHttpClient; } });
9
+ var TextGeneration_1 = require("./TextGeneration");
10
+ Object.defineProperty(exports, "textGeneration", { enumerable: true, get: function () { return TextGeneration_1.textGeneration; } });
11
+ Object.defineProperty(exports, "chatGeneration", { enumerable: true, get: function () { return TextGeneration_1.chatGeneration; } });
12
+ var StructuredText_1 = require("./StructuredText");
13
+ Object.defineProperty(exports, "structuredText", { enumerable: true, get: function () { return StructuredText_1.structuredText; } });
14
+ Object.defineProperty(exports, "structuredChat", { enumerable: true, get: function () { return StructuredText_1.structuredChat; } });
15
+ var Streaming_1 = require("./Streaming");
16
+ Object.defineProperty(exports, "streaming", { enumerable: true, get: function () { return Streaming_1.streaming; } });
17
+ Object.defineProperty(exports, "streamingChat", { enumerable: true, get: function () { return Streaming_1.streamingChat; } });
18
+ var ChatSession_1 = require("./ChatSession");
19
+ Object.defineProperty(exports, "chatSessionService", { enumerable: true, get: function () { return ChatSession_1.chatSessionService; } });
20
+ Object.defineProperty(exports, "createChatSession", { enumerable: true, get: function () { return ChatSession_1.createChatSession; } });
21
+ Object.defineProperty(exports, "sendChatMessage", { enumerable: true, get: function () { return ChatSession_1.sendChatMessage; } });
22
+ Object.defineProperty(exports, "buildChatHistory", { enumerable: true, get: function () { return ChatSession_1.buildChatHistory; } });
23
+ Object.defineProperty(exports, "trimChatHistory", { enumerable: true, get: function () { return ChatSession_1.trimChatHistory; } });
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/infrastructure/services/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,2CAA8C;AAArC,4GAAA,cAAc,OAAA;AACvB,mDAAkE;AAAzD,gHAAA,cAAc,OAAA;AAAE,gHAAA,cAAc,OAAA;AACvC,mDAAkE;AAAzD,gHAAA,cAAc,OAAA;AAAE,gHAAA,cAAc,OAAA;AACvC,yCAAuG;AAA9F,sGAAA,SAAS,OAAA;AAAE,0GAAA,aAAa,OAAA;AACjC,6CAUuB;AATrB,iHAAA,kBAAkB,OAAA;AAClB,gHAAA,iBAAiB,OAAA;AACjB,8GAAA,eAAe,OAAA;AACf,+GAAA,gBAAgB,OAAA;AAChB,8GAAA,eAAe,OAAA"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Telemetry Hooks
3
+ * Simple telemetry tracking for Groq operations
4
+ */
5
+ type TelemetryEvent = {
6
+ name: string;
7
+ timestamp: number;
8
+ data?: Record<string, unknown>;
9
+ };
10
+ declare class Telemetry {
11
+ private events;
12
+ private enabled;
13
+ /**
14
+ * Log a telemetry event
15
+ */
16
+ log(name: string, data?: Record<string, unknown>): void;
17
+ /**
18
+ * Get all events
19
+ */
20
+ getEvents(): TelemetryEvent[];
21
+ /**
22
+ * Clear all events
23
+ */
24
+ clear(): void;
25
+ /**
26
+ * Enable/disable telemetry
27
+ */
28
+ setEnabled(enabled: boolean): void;
29
+ /**
30
+ * Check if telemetry is enabled
31
+ */
32
+ isEnabled(): boolean;
33
+ }
34
+ /**
35
+ * Singleton instance
36
+ */
37
+ export declare const telemetry: Telemetry;
38
+ /**
39
+ * Hook to use telemetry in components
40
+ */
41
+ export declare function useTelemetry(): {
42
+ log: any;
43
+ getEvents: any;
44
+ clear: any;
45
+ isEnabled: any;
46
+ };
47
+ export {};
48
+ //# sourceMappingURL=TelemetryHooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TelemetryHooks.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/telemetry/TelemetryHooks.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,KAAK,cAAc,GAAG;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC,CAAC;AAEF,cAAM,SAAS;IACb,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,OAAO,CAAW;IAE1B;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAgBvD;;OAEG;IACH,SAAS,IAAI,cAAc,EAAE;IAI7B;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIlC;;OAEG;IACH,SAAS,IAAI,OAAO;CAGrB;AAED;;GAEG;AACH,eAAO,MAAM,SAAS,WAAkB,CAAC;AAEzC;;GAEG;AACH,wBAAgB,YAAY;;;;;EAO3B"}
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ /**
3
+ * Telemetry Hooks
4
+ * Simple telemetry tracking for Groq operations
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.telemetry = void 0;
8
+ exports.useTelemetry = useTelemetry;
9
+ class Telemetry {
10
+ constructor() {
11
+ this.events = [];
12
+ this.enabled = __DEV__;
13
+ }
14
+ /**
15
+ * Log a telemetry event
16
+ */
17
+ log(name, data) {
18
+ if (!this.enabled)
19
+ return;
20
+ const event = {
21
+ name,
22
+ timestamp: Date.now(),
23
+ data,
24
+ };
25
+ this.events.push(event);
26
+ if (__DEV__) {
27
+ console.log(`[Groq Telemetry] ${name}`, data);
28
+ }
29
+ }
30
+ /**
31
+ * Get all events
32
+ */
33
+ getEvents() {
34
+ return [...this.events];
35
+ }
36
+ /**
37
+ * Clear all events
38
+ */
39
+ clear() {
40
+ this.events = [];
41
+ }
42
+ /**
43
+ * Enable/disable telemetry
44
+ */
45
+ setEnabled(enabled) {
46
+ this.enabled = enabled;
47
+ }
48
+ /**
49
+ * Check if telemetry is enabled
50
+ */
51
+ isEnabled() {
52
+ return this.enabled;
53
+ }
54
+ }
55
+ /**
56
+ * Singleton instance
57
+ */
58
+ exports.telemetry = new Telemetry();
59
+ /**
60
+ * Hook to use telemetry in components
61
+ */
62
+ function useTelemetry() {
63
+ return {
64
+ log: exports.telemetry.log.bind(exports.telemetry),
65
+ getEvents: exports.telemetry.getEvents.bind(exports.telemetry),
66
+ clear: exports.telemetry.clear.bind(exports.telemetry),
67
+ isEnabled: exports.telemetry.isEnabled.bind(exports.telemetry),
68
+ };
69
+ }
70
+ //# sourceMappingURL=TelemetryHooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TelemetryHooks.js","sourceRoot":"","sources":["../../../src/infrastructure/telemetry/TelemetryHooks.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAoEH,oCAOC;AAnED,MAAM,SAAS;IAAf;QACU,WAAM,GAAqB,EAAE,CAAC;QAC9B,YAAO,GAAG,OAAO,CAAC;IAgD5B,CAAC;IA9CC;;OAEG;IACH,GAAG,CAAC,IAAY,EAAE,IAA8B;QAC9C,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAE1B,MAAM,KAAK,GAAmB;YAC5B,IAAI;YACJ,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,IAAI;SACL,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAExB,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,OAAgB;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF;AAED;;GAEG;AACU,QAAA,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;AAEzC;;GAEG;AACH,SAAgB,YAAY;IAC1B,OAAO;QACL,GAAG,EAAE,iBAAS,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAS,CAAC;QAClC,SAAS,EAAE,iBAAS,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAS,CAAC;QAC9C,KAAK,EAAE,iBAAS,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAS,CAAC;QACtC,SAAS,EAAE,iBAAS,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAS,CAAC;KAC/C,CAAC;AACJ,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Telemetry
3
+ */
4
+ export { telemetry, useTelemetry } from "./TelemetryHooks";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/telemetry/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ /**
3
+ * Telemetry
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.useTelemetry = exports.telemetry = void 0;
7
+ var TelemetryHooks_1 = require("./TelemetryHooks");
8
+ Object.defineProperty(exports, "telemetry", { enumerable: true, get: function () { return TelemetryHooks_1.telemetry; } });
9
+ Object.defineProperty(exports, "useTelemetry", { enumerable: true, get: function () { return TelemetryHooks_1.useTelemetry; } });
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/infrastructure/telemetry/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,mDAA2D;AAAlD,2GAAA,SAAS,OAAA;AAAE,8GAAA,YAAY,OAAA"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Async State Utilities
3
+ */
4
+ /**
5
+ * State setters for async operations
6
+ */
7
+ export interface AsyncStateSetters<T> {
8
+ setLoading: (loading: boolean) => void;
9
+ setError: (error: string | null) => void;
10
+ setData?: (data: T | null) => void;
11
+ }
12
+ /**
13
+ * Callbacks for async operations
14
+ */
15
+ export interface AsyncCallbacks<T> {
16
+ onSuccess?: (data: T) => void;
17
+ onError?: (error: Error) => void;
18
+ }
19
+ /**
20
+ * Execute async function with state management
21
+ */
22
+ export declare function executeWithState<T>(setters: AsyncStateSetters<T>, asyncFn: () => Promise<T>, callbacks?: AsyncCallbacks<T>): Promise<T>;
23
+ /**
24
+ * Execute async function with retry logic
25
+ */
26
+ export declare function executeWithRetry<T>(asyncFn: () => Promise<T>, maxRetries?: number, delayMs?: number): Promise<T>;
27
+ //# sourceMappingURL=execute-state.util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute-state.util.d.ts","sourceRoot":"","sources":["../../../../src/infrastructure/utils/async/execute-state.util.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACzC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IAC9B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,CAAC,EACtC,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC7B,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACzB,SAAS,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,GAC5B,OAAO,CAAC,CAAC,CAAC,CAqBZ;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,CAAC,EACtC,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACzB,UAAU,GAAE,MAAU,EACtB,OAAO,GAAE,MAAa,GACrB,OAAO,CAAC,CAAC,CAAC,CAiBZ"}