@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.
- package/dist/domain/entities/error.types.d.ts +34 -0
- package/dist/domain/entities/error.types.d.ts.map +1 -0
- package/dist/domain/entities/error.types.js +57 -0
- package/dist/domain/entities/error.types.js.map +1 -0
- package/dist/domain/entities/groq.types.d.ts +222 -0
- package/dist/domain/entities/groq.types.d.ts.map +1 -0
- package/dist/domain/entities/groq.types.js +37 -0
- package/dist/domain/entities/groq.types.js.map +1 -0
- package/dist/domain/entities/index.d.ts +7 -0
- package/dist/domain/entities/index.d.ts.map +1 -0
- package/dist/domain/entities/index.js +23 -0
- package/dist/domain/entities/index.js.map +1 -0
- package/dist/domain/entities/models.d.ts +50 -0
- package/dist/domain/entities/models.d.ts.map +1 -0
- package/dist/domain/entities/models.js +178 -0
- package/dist/domain/entities/models.js.map +1 -0
- package/dist/index.d.ts +27 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +73 -0
- package/dist/index.js.map +1 -0
- package/dist/infrastructure/services/ChatSession.d.ts +95 -0
- package/dist/infrastructure/services/ChatSession.d.ts.map +1 -0
- package/dist/infrastructure/services/ChatSession.js +177 -0
- package/dist/infrastructure/services/ChatSession.js.map +1 -0
- package/dist/infrastructure/services/GroqClient.d.ts +52 -0
- package/dist/infrastructure/services/GroqClient.d.ts.map +1 -0
- package/dist/infrastructure/services/GroqClient.js +205 -0
- package/dist/infrastructure/services/GroqClient.js.map +1 -0
- package/dist/infrastructure/services/Streaming.d.ts +27 -0
- package/dist/infrastructure/services/Streaming.d.ts.map +1 -0
- package/dist/infrastructure/services/Streaming.js +84 -0
- package/dist/infrastructure/services/Streaming.js.map +1 -0
- package/dist/infrastructure/services/StructuredText.d.ts +20 -0
- package/dist/infrastructure/services/StructuredText.d.ts.map +1 -0
- package/dist/infrastructure/services/StructuredText.js +122 -0
- package/dist/infrastructure/services/StructuredText.js.map +1 -0
- package/dist/infrastructure/services/TextGeneration.d.ts +18 -0
- package/dist/infrastructure/services/TextGeneration.d.ts.map +1 -0
- package/dist/infrastructure/services/TextGeneration.js +64 -0
- package/dist/infrastructure/services/TextGeneration.js.map +1 -0
- package/dist/infrastructure/services/index.d.ts +9 -0
- package/dist/infrastructure/services/index.d.ts.map +1 -0
- package/dist/infrastructure/services/index.js +24 -0
- package/dist/infrastructure/services/index.js.map +1 -0
- package/dist/infrastructure/telemetry/TelemetryHooks.d.ts +48 -0
- package/dist/infrastructure/telemetry/TelemetryHooks.d.ts.map +1 -0
- package/dist/infrastructure/telemetry/TelemetryHooks.js +70 -0
- package/dist/infrastructure/telemetry/TelemetryHooks.js.map +1 -0
- package/dist/infrastructure/telemetry/index.d.ts +5 -0
- package/dist/infrastructure/telemetry/index.d.ts.map +1 -0
- package/dist/infrastructure/telemetry/index.js +10 -0
- package/dist/infrastructure/telemetry/index.js.map +1 -0
- package/dist/infrastructure/utils/async/execute-state.util.d.ts +27 -0
- package/dist/infrastructure/utils/async/execute-state.util.d.ts.map +1 -0
- package/dist/infrastructure/utils/async/execute-state.util.js +50 -0
- package/dist/infrastructure/utils/async/execute-state.util.js.map +1 -0
- package/dist/infrastructure/utils/async/index.d.ts +6 -0
- package/dist/infrastructure/utils/async/index.d.ts.map +1 -0
- package/dist/infrastructure/utils/async/index.js +10 -0
- package/dist/infrastructure/utils/async/index.js.map +1 -0
- package/dist/infrastructure/utils/content-mapper.util.d.ts +34 -0
- package/dist/infrastructure/utils/content-mapper.util.d.ts.map +1 -0
- package/dist/infrastructure/utils/content-mapper.util.js +84 -0
- package/dist/infrastructure/utils/content-mapper.util.js.map +1 -0
- package/dist/infrastructure/utils/error-mapper.util.d.ts +21 -0
- package/dist/infrastructure/utils/error-mapper.util.d.ts.map +1 -0
- package/dist/infrastructure/utils/error-mapper.util.js +73 -0
- package/dist/infrastructure/utils/error-mapper.util.js.map +1 -0
- package/dist/infrastructure/utils/index.d.ts +7 -0
- package/dist/infrastructure/utils/index.d.ts.map +1 -0
- package/dist/infrastructure/utils/index.js +23 -0
- package/dist/infrastructure/utils/index.js.map +1 -0
- package/dist/presentation/hooks/useGroq.d.ts +42 -0
- package/dist/presentation/hooks/useGroq.d.ts.map +1 -0
- package/dist/presentation/hooks/useGroq.js +153 -0
- package/dist/presentation/hooks/useGroq.js.map +1 -0
- package/dist/presentation/hooks/useOperationManager.d.ts +34 -0
- package/dist/presentation/hooks/useOperationManager.d.ts.map +1 -0
- package/dist/presentation/hooks/useOperationManager.js +76 -0
- package/dist/presentation/hooks/useOperationManager.js.map +1 -0
- package/dist/providers/ConfigBuilder.d.ts +86 -0
- package/dist/providers/ConfigBuilder.d.ts.map +1 -0
- package/dist/providers/ConfigBuilder.js +147 -0
- package/dist/providers/ConfigBuilder.js.map +1 -0
- package/dist/providers/ProviderFactory.d.ts +56 -0
- package/dist/providers/ProviderFactory.d.ts.map +1 -0
- package/dist/providers/ProviderFactory.js +75 -0
- package/dist/providers/ProviderFactory.js.map +1 -0
- package/dist/providers/index.d.ts +7 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +15 -0
- package/dist/providers/index.js.map +1 -0
- 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 @@
|
|
|
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"}
|