@umituz/react-native-ai-groq-provider 1.0.3 → 1.0.5
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 +258 -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 +204 -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 +127 -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
- package/src/infrastructure/services/GroqClient.ts +61 -1
- package/src/infrastructure/services/StructuredText.ts +94 -1
- package/src/infrastructure/services/TextGeneration.ts +70 -0
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Error Mapper Utility
|
|
4
|
+
* Utilities for handling and mapping errors
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.getUserFriendlyError = getUserFriendlyError;
|
|
8
|
+
exports.isRetryableError = isRetryableError;
|
|
9
|
+
exports.isAuthError = isAuthError;
|
|
10
|
+
exports.formatErrorForLogging = formatErrorForLogging;
|
|
11
|
+
const error_types_1 = require("../../domain/entities/error.types");
|
|
12
|
+
/**
|
|
13
|
+
* Get user-friendly error message
|
|
14
|
+
*/
|
|
15
|
+
function getUserFriendlyError(error) {
|
|
16
|
+
if (error instanceof error_types_1.GroqError) {
|
|
17
|
+
switch (error.type) {
|
|
18
|
+
case error_types_1.GroqErrorType.INVALID_API_KEY:
|
|
19
|
+
return "Invalid API key. Please check your Groq API credentials.";
|
|
20
|
+
case error_types_1.GroqErrorType.MISSING_CONFIG:
|
|
21
|
+
return "Configuration missing. Please initialize the Groq provider.";
|
|
22
|
+
case error_types_1.GroqErrorType.NETWORK_ERROR:
|
|
23
|
+
return "Network error. Please check your internet connection.";
|
|
24
|
+
case error_types_1.GroqErrorType.ABORT_ERROR:
|
|
25
|
+
return "Request was cancelled.";
|
|
26
|
+
case error_types_1.GroqErrorType.RATE_LIMIT_ERROR:
|
|
27
|
+
return "Rate limit exceeded. Please wait a moment and try again.";
|
|
28
|
+
case error_types_1.GroqErrorType.QUOTA_EXCEEDED:
|
|
29
|
+
return "API quota exceeded. Please check your Groq account.";
|
|
30
|
+
case error_types_1.GroqErrorType.SERVER_ERROR:
|
|
31
|
+
return "Groq server error. Please try again later.";
|
|
32
|
+
default:
|
|
33
|
+
return error.message || "An unknown error occurred.";
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
if (error instanceof Error) {
|
|
37
|
+
return error.message;
|
|
38
|
+
}
|
|
39
|
+
return "An unknown error occurred.";
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Check if error is retryable
|
|
43
|
+
*/
|
|
44
|
+
function isRetryableError(error) {
|
|
45
|
+
if (error instanceof error_types_1.GroqError) {
|
|
46
|
+
return (error.type === error_types_1.GroqErrorType.RATE_LIMIT_ERROR ||
|
|
47
|
+
error.type === error_types_1.GroqErrorType.SERVER_ERROR ||
|
|
48
|
+
error.type === error_types_1.GroqErrorType.NETWORK_ERROR);
|
|
49
|
+
}
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Check if error is authentication related
|
|
54
|
+
*/
|
|
55
|
+
function isAuthError(error) {
|
|
56
|
+
if (error instanceof error_types_1.GroqError) {
|
|
57
|
+
return error.type === error_types_1.GroqErrorType.INVALID_API_KEY;
|
|
58
|
+
}
|
|
59
|
+
return false;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Format error for logging
|
|
63
|
+
*/
|
|
64
|
+
function formatErrorForLogging(error) {
|
|
65
|
+
if (error instanceof error_types_1.GroqError) {
|
|
66
|
+
return `[GroqError:${error.type}] ${error.message}`;
|
|
67
|
+
}
|
|
68
|
+
if (error instanceof Error) {
|
|
69
|
+
return `[${error.name}] ${error.message}`;
|
|
70
|
+
}
|
|
71
|
+
return String(error);
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=error-mapper.util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-mapper.util.js","sourceRoot":"","sources":["../../../src/infrastructure/utils/error-mapper.util.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAOH,oDA2BC;AAKD,4CASC;AAKD,kCAKC;AAKD,sDAUC;AAvED,mEAA6E;AAE7E;;GAEG;AACH,SAAgB,oBAAoB,CAAC,KAAc;IACjD,IAAI,KAAK,YAAY,uBAAS,EAAE,CAAC;QAC/B,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,2BAAa,CAAC,eAAe;gBAChC,OAAO,0DAA0D,CAAC;YACpE,KAAK,2BAAa,CAAC,cAAc;gBAC/B,OAAO,6DAA6D,CAAC;YACvE,KAAK,2BAAa,CAAC,aAAa;gBAC9B,OAAO,uDAAuD,CAAC;YACjE,KAAK,2BAAa,CAAC,WAAW;gBAC5B,OAAO,wBAAwB,CAAC;YAClC,KAAK,2BAAa,CAAC,gBAAgB;gBACjC,OAAO,0DAA0D,CAAC;YACpE,KAAK,2BAAa,CAAC,cAAc;gBAC/B,OAAO,qDAAqD,CAAC;YAC/D,KAAK,2BAAa,CAAC,YAAY;gBAC7B,OAAO,4CAA4C,CAAC;YACtD;gBACE,OAAO,KAAK,CAAC,OAAO,IAAI,4BAA4B,CAAC;QACzD,CAAC;IACH,CAAC;IAED,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,OAAO,CAAC;IACvB,CAAC;IAED,OAAO,4BAA4B,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAAC,KAAc;IAC7C,IAAI,KAAK,YAAY,uBAAS,EAAE,CAAC;QAC/B,OAAO,CACL,KAAK,CAAC,IAAI,KAAK,2BAAa,CAAC,gBAAgB;YAC7C,KAAK,CAAC,IAAI,KAAK,2BAAa,CAAC,YAAY;YACzC,KAAK,CAAC,IAAI,KAAK,2BAAa,CAAC,aAAa,CAC3C,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAgB,WAAW,CAAC,KAAc;IACxC,IAAI,KAAK,YAAY,uBAAS,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC,IAAI,KAAK,2BAAa,CAAC,eAAe,CAAC;IACtD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAgB,qBAAqB,CAAC,KAAc;IAClD,IAAI,KAAK,YAAY,uBAAS,EAAE,CAAC;QAC/B,OAAO,cAAc,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;IACtD,CAAC;IAED,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;IAC5C,CAAC;IAED,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Infrastructure Utilities
|
|
4
|
+
*/
|
|
5
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
8
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
9
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
10
|
+
}
|
|
11
|
+
Object.defineProperty(o, k2, desc);
|
|
12
|
+
}) : (function(o, m, k, k2) {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
o[k2] = m[k];
|
|
15
|
+
}));
|
|
16
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
17
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
18
|
+
};
|
|
19
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
__exportStar(require("./content-mapper.util"), exports);
|
|
21
|
+
__exportStar(require("./error-mapper.util"), exports);
|
|
22
|
+
__exportStar(require("./async"), exports);
|
|
23
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/infrastructure/utils/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;AAEH,wDAAsC;AACtC,sDAAoC;AACpC,0CAAwB"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* useGroq Hook
|
|
3
|
+
* Main React hook for Groq text generation
|
|
4
|
+
*/
|
|
5
|
+
import type { GroqGenerationConfig } from "../../domain/entities";
|
|
6
|
+
export interface UseGroqOptions {
|
|
7
|
+
/** Initial model to use */
|
|
8
|
+
model?: string;
|
|
9
|
+
/** Default generation config */
|
|
10
|
+
generationConfig?: GroqGenerationConfig;
|
|
11
|
+
/** Callback when generation starts */
|
|
12
|
+
onStart?: () => void;
|
|
13
|
+
/** Callback when generation completes */
|
|
14
|
+
onSuccess?: (result: string) => void;
|
|
15
|
+
/** Callback when generation fails */
|
|
16
|
+
onError?: (error: string) => void;
|
|
17
|
+
}
|
|
18
|
+
export interface UseGroqReturn {
|
|
19
|
+
/** Loading state */
|
|
20
|
+
isLoading: boolean;
|
|
21
|
+
/** Error message */
|
|
22
|
+
error: string | null;
|
|
23
|
+
/** Generated result */
|
|
24
|
+
result: string | null;
|
|
25
|
+
/** Generate text from a prompt */
|
|
26
|
+
generate: (prompt: string, options?: GroqGenerationConfig) => Promise<string>;
|
|
27
|
+
/** Generate structured JSON output */
|
|
28
|
+
generateJSON: <T = Record<string, unknown>>(prompt: string, options?: GroqGenerationConfig & {
|
|
29
|
+
schema?: Record<string, unknown>;
|
|
30
|
+
}) => Promise<T>;
|
|
31
|
+
/** Stream text generation */
|
|
32
|
+
stream: (prompt: string, onChunk: (chunk: string) => void, options?: GroqGenerationConfig) => Promise<void>;
|
|
33
|
+
/** Reset state */
|
|
34
|
+
reset: () => void;
|
|
35
|
+
/** Clear error */
|
|
36
|
+
clearError: () => void;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Hook for Groq text generation
|
|
40
|
+
*/
|
|
41
|
+
export declare function useGroq(options?: UseGroqOptions): UseGroqReturn;
|
|
42
|
+
//# sourceMappingURL=useGroq.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useGroq.d.ts","sourceRoot":"","sources":["../../../src/presentation/hooks/useGroq.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,oBAAoB,EAAkB,MAAM,uBAAuB,CAAC;AASlF,MAAM,WAAW,cAAc;IAC7B,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gCAAgC;IAChC,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;IACxC,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,yCAAyC;IACzC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,qCAAqC;IACrC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED,MAAM,WAAW,aAAa;IAC5B,oBAAoB;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,oBAAoB;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,uBAAuB;IACvB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,kCAAkC;IAClC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9E,sCAAsC;IACtC,YAAY,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACxC,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,oBAAoB,GAAG;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,KAClE,OAAO,CAAC,CAAC,CAAC,CAAC;IAChB,6BAA6B;IAC7B,MAAM,EAAE,CACN,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,EAChC,OAAO,CAAC,EAAE,oBAAoB,KAC3B,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,kBAAkB;IAClB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,kBAAkB;IAClB,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,OAAO,GAAE,cAAmB,GAAG,aAAa,CAsKnE"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* useGroq Hook
|
|
4
|
+
* Main React hook for Groq text generation
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.useGroq = useGroq;
|
|
8
|
+
const react_1 = require("react");
|
|
9
|
+
const TextGeneration_1 = require("../../infrastructure/services/TextGeneration");
|
|
10
|
+
const StructuredText_1 = require("../../infrastructure/services/StructuredText");
|
|
11
|
+
const Streaming_1 = require("../../infrastructure/services/Streaming");
|
|
12
|
+
const error_mapper_util_1 = require("../../infrastructure/utils/error-mapper.util");
|
|
13
|
+
const telemetry_1 = require("../../infrastructure/telemetry");
|
|
14
|
+
/**
|
|
15
|
+
* Hook for Groq text generation
|
|
16
|
+
*/
|
|
17
|
+
function useGroq(options = {}) {
|
|
18
|
+
const [isLoading, setIsLoading] = (0, react_1.useState)(false);
|
|
19
|
+
const [error, setError] = (0, react_1.useState)(null);
|
|
20
|
+
const [result, setResult] = (0, react_1.useState)(null);
|
|
21
|
+
const abortControllerRef = (0, react_1.useRef)(null);
|
|
22
|
+
const generate = (0, react_1.useCallback)(async (prompt, config) => {
|
|
23
|
+
// Cancel any ongoing request
|
|
24
|
+
if (abortControllerRef.current) {
|
|
25
|
+
abortControllerRef.current.abort();
|
|
26
|
+
}
|
|
27
|
+
abortControllerRef.current = new AbortController();
|
|
28
|
+
setIsLoading(true);
|
|
29
|
+
setError(null);
|
|
30
|
+
setResult(null);
|
|
31
|
+
telemetry_1.telemetry.log("groq_generate_start", { prompt: prompt.substring(0, 100) });
|
|
32
|
+
options.onStart?.();
|
|
33
|
+
try {
|
|
34
|
+
const response = await (0, TextGeneration_1.textGeneration)(prompt, {
|
|
35
|
+
model: options.model,
|
|
36
|
+
generationConfig: { ...options.generationConfig, ...config },
|
|
37
|
+
});
|
|
38
|
+
setResult(response);
|
|
39
|
+
options.onSuccess?.(response);
|
|
40
|
+
telemetry_1.telemetry.log("groq_generate_success", { responseLength: response.length });
|
|
41
|
+
return response;
|
|
42
|
+
}
|
|
43
|
+
catch (err) {
|
|
44
|
+
const errorMessage = (0, error_mapper_util_1.getUserFriendlyError)(err);
|
|
45
|
+
setError(errorMessage);
|
|
46
|
+
options.onError?.(errorMessage);
|
|
47
|
+
telemetry_1.telemetry.log("groq_generate_error", { error: errorMessage });
|
|
48
|
+
throw err;
|
|
49
|
+
}
|
|
50
|
+
finally {
|
|
51
|
+
setIsLoading(false);
|
|
52
|
+
abortControllerRef.current = null;
|
|
53
|
+
}
|
|
54
|
+
}, [options]);
|
|
55
|
+
const generateJSON = (0, react_1.useCallback)(async (prompt, config) => {
|
|
56
|
+
// Cancel any ongoing request
|
|
57
|
+
if (abortControllerRef.current) {
|
|
58
|
+
abortControllerRef.current.abort();
|
|
59
|
+
}
|
|
60
|
+
abortControllerRef.current = new AbortController();
|
|
61
|
+
setIsLoading(true);
|
|
62
|
+
setError(null);
|
|
63
|
+
setResult(null);
|
|
64
|
+
telemetry_1.telemetry.log("groq_generate_json_start", { prompt: prompt.substring(0, 100) });
|
|
65
|
+
options.onStart?.();
|
|
66
|
+
try {
|
|
67
|
+
const response = await (0, StructuredText_1.structuredText)(prompt, {
|
|
68
|
+
model: options.model,
|
|
69
|
+
generationConfig: { ...options.generationConfig, ...config },
|
|
70
|
+
schema: config?.schema,
|
|
71
|
+
});
|
|
72
|
+
setResult(JSON.stringify(response, null, 2));
|
|
73
|
+
options.onSuccess?.(JSON.stringify(response, null, 2));
|
|
74
|
+
telemetry_1.telemetry.log("groq_generate_json_success");
|
|
75
|
+
return response;
|
|
76
|
+
}
|
|
77
|
+
catch (err) {
|
|
78
|
+
const errorMessage = (0, error_mapper_util_1.getUserFriendlyError)(err);
|
|
79
|
+
setError(errorMessage);
|
|
80
|
+
options.onError?.(errorMessage);
|
|
81
|
+
telemetry_1.telemetry.log("groq_generate_json_error", { error: errorMessage });
|
|
82
|
+
throw err;
|
|
83
|
+
}
|
|
84
|
+
finally {
|
|
85
|
+
setIsLoading(false);
|
|
86
|
+
abortControllerRef.current = null;
|
|
87
|
+
}
|
|
88
|
+
}, [options]);
|
|
89
|
+
const stream = (0, react_1.useCallback)(async (prompt, onChunk, config) => {
|
|
90
|
+
// Cancel any ongoing request
|
|
91
|
+
if (abortControllerRef.current) {
|
|
92
|
+
abortControllerRef.current.abort();
|
|
93
|
+
}
|
|
94
|
+
abortControllerRef.current = new AbortController();
|
|
95
|
+
setIsLoading(true);
|
|
96
|
+
setError(null);
|
|
97
|
+
setResult(null);
|
|
98
|
+
let fullContent = "";
|
|
99
|
+
telemetry_1.telemetry.log("groq_stream_start", { prompt: prompt.substring(0, 100) });
|
|
100
|
+
options.onStart?.();
|
|
101
|
+
try {
|
|
102
|
+
for await (const chunk of (0, Streaming_1.streaming)(prompt, {
|
|
103
|
+
model: options.model,
|
|
104
|
+
generationConfig: { ...options.generationConfig, ...config },
|
|
105
|
+
callbacks: {
|
|
106
|
+
onChunk: (c) => {
|
|
107
|
+
fullContent += c;
|
|
108
|
+
onChunk(c);
|
|
109
|
+
},
|
|
110
|
+
},
|
|
111
|
+
})) {
|
|
112
|
+
// Streamed via callback
|
|
113
|
+
}
|
|
114
|
+
setResult(fullContent);
|
|
115
|
+
options.onSuccess?.(fullContent);
|
|
116
|
+
telemetry_1.telemetry.log("groq_stream_success", { contentLength: fullContent.length });
|
|
117
|
+
}
|
|
118
|
+
catch (err) {
|
|
119
|
+
const errorMessage = (0, error_mapper_util_1.getUserFriendlyError)(err);
|
|
120
|
+
setError(errorMessage);
|
|
121
|
+
options.onError?.(errorMessage);
|
|
122
|
+
telemetry_1.telemetry.log("groq_stream_error", { error: errorMessage });
|
|
123
|
+
throw err;
|
|
124
|
+
}
|
|
125
|
+
finally {
|
|
126
|
+
setIsLoading(false);
|
|
127
|
+
abortControllerRef.current = null;
|
|
128
|
+
}
|
|
129
|
+
}, [options]);
|
|
130
|
+
const reset = (0, react_1.useCallback)(() => {
|
|
131
|
+
if (abortControllerRef.current) {
|
|
132
|
+
abortControllerRef.current.abort();
|
|
133
|
+
abortControllerRef.current = null;
|
|
134
|
+
}
|
|
135
|
+
setIsLoading(false);
|
|
136
|
+
setError(null);
|
|
137
|
+
setResult(null);
|
|
138
|
+
}, []);
|
|
139
|
+
const clearError = (0, react_1.useCallback)(() => {
|
|
140
|
+
setError(null);
|
|
141
|
+
}, []);
|
|
142
|
+
return {
|
|
143
|
+
isLoading,
|
|
144
|
+
error,
|
|
145
|
+
result,
|
|
146
|
+
generate,
|
|
147
|
+
generateJSON,
|
|
148
|
+
stream,
|
|
149
|
+
reset,
|
|
150
|
+
clearError,
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
//# sourceMappingURL=useGroq.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useGroq.js","sourceRoot":"","sources":["../../../src/presentation/hooks/useGroq.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* useOperationManager Hook
|
|
3
|
+
* Manages async operations with loading, error, and success states
|
|
4
|
+
*/
|
|
5
|
+
export interface OperationState<T> {
|
|
6
|
+
isLoading: boolean;
|
|
7
|
+
error: string | null;
|
|
8
|
+
data: T | null;
|
|
9
|
+
}
|
|
10
|
+
export interface UseOperationManagerOptions<T> {
|
|
11
|
+
/** Initial data */
|
|
12
|
+
initialData?: T | null;
|
|
13
|
+
/** Callback when operation starts */
|
|
14
|
+
onStart?: () => void;
|
|
15
|
+
/** Callback when operation succeeds */
|
|
16
|
+
onSuccess?: (data: T) => void;
|
|
17
|
+
/** Callback when operation fails */
|
|
18
|
+
onError?: (error: string) => void;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Hook for managing async operations
|
|
22
|
+
*/
|
|
23
|
+
export declare function useOperationManager<T = unknown>(options?: UseOperationManagerOptions<T>): {
|
|
24
|
+
execute: <R = T>(operationName: string, asyncFn: (signal?: AbortSignal) => Promise<R>, config?: {
|
|
25
|
+
abortPrevious?: boolean;
|
|
26
|
+
}) => Promise<R>;
|
|
27
|
+
reset: () => void;
|
|
28
|
+
clearError: () => void;
|
|
29
|
+
setData: (data: T | null) => void;
|
|
30
|
+
isLoading: boolean;
|
|
31
|
+
error: string | null;
|
|
32
|
+
data: T;
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=useOperationManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useOperationManager.d.ts","sourceRoot":"","sources":["../../../src/presentation/hooks/useOperationManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,0BAA0B,CAAC,CAAC;IAC3C,mBAAmB;IACnB,WAAW,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;IACvB,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,uCAAuC;IACvC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IAC9B,oCAAoC;IACpC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,GAAG,OAAO,EAC7C,OAAO,GAAE,0BAA0B,CAAC,CAAC,CAAM;cAYlC,CAAC,qBACS,MAAM,WACZ,CAAC,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,WACpC;QAAE,aAAa,CAAC,EAAE,OAAO,CAAA;KAAE,KACnC,OAAO,CAAC,CAAC,CAAC;;;oBAoDoB,CAAC,GAAG,IAAI;eAxFhC,OAAO;WACX,MAAM,GAAG,IAAI;;EAkGrB"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* useOperationManager Hook
|
|
4
|
+
* Manages async operations with loading, error, and success states
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.useOperationManager = useOperationManager;
|
|
8
|
+
const react_1 = require("react");
|
|
9
|
+
const error_mapper_util_1 = require("../../infrastructure/utils/error-mapper.util");
|
|
10
|
+
const telemetry_1 = require("../../infrastructure/telemetry");
|
|
11
|
+
/**
|
|
12
|
+
* Hook for managing async operations
|
|
13
|
+
*/
|
|
14
|
+
function useOperationManager(options = {}) {
|
|
15
|
+
const [state, setState] = (0, react_1.useState)({
|
|
16
|
+
isLoading: false,
|
|
17
|
+
error: null,
|
|
18
|
+
data: options.initialData ?? null,
|
|
19
|
+
});
|
|
20
|
+
const abortControllerRef = (0, react_1.useRef)(null);
|
|
21
|
+
const operationNameRef = (0, react_1.useRef)("");
|
|
22
|
+
const execute = (0, react_1.useCallback)(async (operationName, asyncFn, config) => {
|
|
23
|
+
// Cancel previous operation if configured
|
|
24
|
+
if (config?.abortPrevious && abortControllerRef.current) {
|
|
25
|
+
abortControllerRef.current.abort();
|
|
26
|
+
}
|
|
27
|
+
abortControllerRef.current = new AbortController();
|
|
28
|
+
operationNameRef.current = operationName;
|
|
29
|
+
setState((prev) => ({ ...prev, isLoading: true, error: null }));
|
|
30
|
+
telemetry_1.telemetry.log(`${operationName}_start`);
|
|
31
|
+
options.onStart?.();
|
|
32
|
+
try {
|
|
33
|
+
const result = await asyncFn(abortControllerRef.current.signal);
|
|
34
|
+
setState((prev) => ({ ...prev, isLoading: false, data: result }));
|
|
35
|
+
options.onSuccess?.(result);
|
|
36
|
+
telemetry_1.telemetry.log(`${operationName}_success`);
|
|
37
|
+
return result;
|
|
38
|
+
}
|
|
39
|
+
catch (error) {
|
|
40
|
+
const errorMessage = (0, error_mapper_util_1.getUserFriendlyError)(error);
|
|
41
|
+
setState((prev) => ({ ...prev, isLoading: false, error: errorMessage }));
|
|
42
|
+
options.onError?.(errorMessage);
|
|
43
|
+
telemetry_1.telemetry.log(`${operationName}_error`, { error: errorMessage });
|
|
44
|
+
throw error;
|
|
45
|
+
}
|
|
46
|
+
finally {
|
|
47
|
+
abortControllerRef.current = null;
|
|
48
|
+
}
|
|
49
|
+
}, [options]);
|
|
50
|
+
const reset = (0, react_1.useCallback)(() => {
|
|
51
|
+
if (abortControllerRef.current) {
|
|
52
|
+
abortControllerRef.current.abort();
|
|
53
|
+
abortControllerRef.current = null;
|
|
54
|
+
}
|
|
55
|
+
setState((prev) => ({
|
|
56
|
+
...prev,
|
|
57
|
+
isLoading: false,
|
|
58
|
+
error: null,
|
|
59
|
+
data: options.initialData ?? null,
|
|
60
|
+
}));
|
|
61
|
+
}, [options.initialData]);
|
|
62
|
+
const clearError = (0, react_1.useCallback)(() => {
|
|
63
|
+
setState((prev) => ({ ...prev, error: null }));
|
|
64
|
+
}, []);
|
|
65
|
+
const setData = (0, react_1.useCallback)((data) => {
|
|
66
|
+
setState((prev) => ({ ...prev, data }));
|
|
67
|
+
}, []);
|
|
68
|
+
return {
|
|
69
|
+
...state,
|
|
70
|
+
execute,
|
|
71
|
+
reset,
|
|
72
|
+
clearError,
|
|
73
|
+
setData,
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=useOperationManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useOperationManager.js","sourceRoot":"","sources":["../../../src/presentation/hooks/useOperationManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration Builder
|
|
3
|
+
* Builder pattern for Groq configuration
|
|
4
|
+
*/
|
|
5
|
+
import type { GroqConfig, GroqGenerationConfig } from "../domain/entities";
|
|
6
|
+
/**
|
|
7
|
+
* Builder for Groq configuration
|
|
8
|
+
*/
|
|
9
|
+
export declare class ConfigBuilder {
|
|
10
|
+
private config;
|
|
11
|
+
/**
|
|
12
|
+
* Set API key
|
|
13
|
+
*/
|
|
14
|
+
withApiKey(apiKey: string): ConfigBuilder;
|
|
15
|
+
/**
|
|
16
|
+
* Set base URL
|
|
17
|
+
*/
|
|
18
|
+
withBaseUrl(baseUrl: string): ConfigBuilder;
|
|
19
|
+
/**
|
|
20
|
+
* Set timeout
|
|
21
|
+
*/
|
|
22
|
+
withTimeout(timeoutMs: number): ConfigBuilder;
|
|
23
|
+
/**
|
|
24
|
+
* Set default text model
|
|
25
|
+
*/
|
|
26
|
+
withTextModel(model: string): ConfigBuilder;
|
|
27
|
+
/**
|
|
28
|
+
* Build configuration
|
|
29
|
+
*/
|
|
30
|
+
build(): GroqConfig;
|
|
31
|
+
/**
|
|
32
|
+
* Create a new builder instance
|
|
33
|
+
*/
|
|
34
|
+
static create(): ConfigBuilder;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Builder for generation configuration
|
|
38
|
+
*/
|
|
39
|
+
export declare class GenerationConfigBuilder {
|
|
40
|
+
private config;
|
|
41
|
+
/**
|
|
42
|
+
* Set temperature
|
|
43
|
+
*/
|
|
44
|
+
withTemperature(temperature: number): GenerationConfigBuilder;
|
|
45
|
+
/**
|
|
46
|
+
* Set max tokens
|
|
47
|
+
*/
|
|
48
|
+
withMaxTokens(maxTokens: number): GenerationConfigBuilder;
|
|
49
|
+
/**
|
|
50
|
+
* Set top P
|
|
51
|
+
*/
|
|
52
|
+
withTopP(topP: number): GenerationConfigBuilder;
|
|
53
|
+
/**
|
|
54
|
+
* Set frequency penalty
|
|
55
|
+
*/
|
|
56
|
+
withFrequencyPenalty(penalty: number): GenerationConfigBuilder;
|
|
57
|
+
/**
|
|
58
|
+
* Set presence penalty
|
|
59
|
+
*/
|
|
60
|
+
withPresencePenalty(penalty: number): GenerationConfigBuilder;
|
|
61
|
+
/**
|
|
62
|
+
* Set stop sequences
|
|
63
|
+
*/
|
|
64
|
+
withStop(stop: string[]): GenerationConfigBuilder;
|
|
65
|
+
/**
|
|
66
|
+
* Build configuration
|
|
67
|
+
*/
|
|
68
|
+
build(): GroqGenerationConfig;
|
|
69
|
+
/**
|
|
70
|
+
* Create a new builder instance
|
|
71
|
+
*/
|
|
72
|
+
static create(): GenerationConfigBuilder;
|
|
73
|
+
/**
|
|
74
|
+
* Create a balanced configuration
|
|
75
|
+
*/
|
|
76
|
+
static balanced(): GenerationConfigBuilder;
|
|
77
|
+
/**
|
|
78
|
+
* Create a creative configuration
|
|
79
|
+
*/
|
|
80
|
+
static creative(): GenerationConfigBuilder;
|
|
81
|
+
/**
|
|
82
|
+
* Create a precise configuration
|
|
83
|
+
*/
|
|
84
|
+
static precise(): GenerationConfigBuilder;
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=ConfigBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfigBuilder.d.ts","sourceRoot":"","sources":["../../src/providers/ConfigBuilder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAG3E;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAA2B;IAEzC;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa;IAKzC;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa;IAK3C;;OAEG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa;IAK7C;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa;IAK3C;;OAEG;IACH,KAAK,IAAI,UAAU;IAanB;;OAEG;IACH,MAAM,CAAC,MAAM,IAAI,aAAa;CAG/B;AAED;;GAEG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,MAAM,CAA4B;IAE1C;;OAEG;IACH,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,uBAAuB;IAK7D;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,uBAAuB;IAKzD;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,uBAAuB;IAK/C;;OAEG;IACH,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,uBAAuB;IAK9D;;OAEG;IACH,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,uBAAuB;IAK7D;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,uBAAuB;IAKjD;;OAEG;IACH,KAAK,IAAI,oBAAoB;IAI7B;;OAEG;IACH,MAAM,CAAC,MAAM,IAAI,uBAAuB;IAIxC;;OAEG;IACH,MAAM,CAAC,QAAQ,IAAI,uBAAuB;IAI1C;;OAEG;IACH,MAAM,CAAC,QAAQ,IAAI,uBAAuB;IAI1C;;OAEG;IACH,MAAM,CAAC,OAAO,IAAI,uBAAuB;CAG1C"}
|