@alquimia-ai/tools 1.13.2 → 2.0.1

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 (69) hide show
  1. package/dist/actions/index.d.mts +7 -17
  2. package/dist/actions/index.d.ts +7 -17
  3. package/dist/actions/index.js +45 -152
  4. package/dist/actions/index.js.map +1 -1
  5. package/dist/actions/index.mjs +45 -152
  6. package/dist/actions/index.mjs.map +1 -1
  7. package/dist/adapters/fetch.d.mts +12 -0
  8. package/dist/adapters/fetch.d.ts +12 -0
  9. package/dist/adapters/fetch.js +44 -0
  10. package/dist/adapters/fetch.js.map +1 -0
  11. package/dist/adapters/fetch.mjs +23 -0
  12. package/dist/adapters/fetch.mjs.map +1 -0
  13. package/dist/adapters/index.d.mts +11 -0
  14. package/dist/adapters/index.d.ts +11 -0
  15. package/dist/adapters/index.js +19 -0
  16. package/dist/adapters/index.js.map +1 -0
  17. package/dist/adapters/index.mjs +1 -0
  18. package/dist/adapters/index.mjs.map +1 -0
  19. package/dist/adapters/next.d.mts +10 -0
  20. package/dist/adapters/next.d.ts +10 -0
  21. package/dist/adapters/next.js +42 -0
  22. package/dist/adapters/next.js.map +1 -0
  23. package/dist/adapters/next.mjs +21 -0
  24. package/dist/adapters/next.mjs.map +1 -0
  25. package/dist/hooks/index.d.mts +22 -2
  26. package/dist/hooks/index.d.ts +22 -2
  27. package/dist/hooks/index.js +243 -40
  28. package/dist/hooks/index.js.map +1 -1
  29. package/dist/hooks/index.mjs +234 -41
  30. package/dist/hooks/index.mjs.map +1 -1
  31. package/dist/next/index.d.mts +49 -0
  32. package/dist/next/index.d.ts +49 -0
  33. package/dist/next/index.js +332 -0
  34. package/dist/next/index.js.map +1 -0
  35. package/dist/next/index.mjs +309 -0
  36. package/dist/next/index.mjs.map +1 -0
  37. package/dist/providers/index.d.mts +7 -3
  38. package/dist/providers/index.d.ts +7 -3
  39. package/dist/providers/index.js +15 -14
  40. package/dist/providers/index.js.map +1 -1
  41. package/dist/providers/index.mjs +15 -14
  42. package/dist/providers/index.mjs.map +1 -1
  43. package/dist/proxy.d.mts +15 -0
  44. package/dist/proxy.d.ts +15 -0
  45. package/dist/proxy.js +147 -0
  46. package/dist/proxy.js.map +1 -0
  47. package/dist/proxy.mjs +126 -0
  48. package/dist/proxy.mjs.map +1 -0
  49. package/dist/sdk/index.d.mts +8 -14
  50. package/dist/sdk/index.d.ts +8 -14
  51. package/dist/sdk/index.js +47 -47
  52. package/dist/sdk/index.js.map +1 -1
  53. package/dist/sdk/index.mjs +47 -47
  54. package/dist/sdk/index.mjs.map +1 -1
  55. package/dist/services/index.d.mts +25 -3
  56. package/dist/services/index.d.ts +25 -3
  57. package/package.json +35 -5
  58. package/dist/providers/elastic/index.d.mts +0 -23
  59. package/dist/providers/elastic/index.d.ts +0 -23
  60. package/dist/providers/elastic/index.js +0 -102
  61. package/dist/providers/elastic/index.js.map +0 -1
  62. package/dist/providers/elastic/index.mjs +0 -69
  63. package/dist/providers/elastic/index.mjs.map +0 -1
  64. package/dist/services/apm/index.d.mts +0 -26
  65. package/dist/services/apm/index.d.ts +0 -26
  66. package/dist/services/apm/index.js +0 -86
  67. package/dist/services/apm/index.js.map +0 -1
  68. package/dist/services/apm/index.mjs +0 -63
  69. package/dist/services/apm/index.mjs.map +0 -1
@@ -1,69 +0,0 @@
1
- // src/providers/providers.ts
2
- var LoggerProvider = class {
3
- constructor(config) {
4
- this.config = config;
5
- }
6
- };
7
-
8
- // src/providers/elastic/elastic-search.ts
9
- import pino from "pino";
10
- var ElasticLoggerProvider = class _ElasticLoggerProvider extends LoggerProvider {
11
- constructor(config) {
12
- super(config);
13
- this.logger = console;
14
- }
15
- static async create(config) {
16
- const provider = new _ElasticLoggerProvider(config);
17
- await provider.initialize(config);
18
- return provider;
19
- }
20
- async initialize(config) {
21
- if (typeof window === "undefined") {
22
- const [pinoElastic] = await Promise.all([
23
- import("pino-elasticsearch")
24
- ]);
25
- const streamToElastic = pinoElastic.default({
26
- index: config.index || "logs-index",
27
- node: config.endpoint,
28
- esVersion: config.esVersion || 7,
29
- flushBytes: config.flushBytes || 1e3,
30
- auth: {
31
- username: config.username || "",
32
- password: config.password || ""
33
- },
34
- tls: {
35
- rejectUnauthorized: false
36
- },
37
- op_type: "create"
38
- });
39
- streamToElastic.on("error", (err) => {
40
- console.error("Elasticsearch stream error:", err);
41
- });
42
- streamToElastic.on("insertError", (err) => {
43
- console.error("Elasticsearch insert error:", err);
44
- });
45
- streamToElastic.on("insert", () => {
46
- console.log("Successfully sent log to Elasticsearch");
47
- });
48
- this.logger = pino({
49
- level: "info",
50
- timestamp: () => `,"time":"${(/* @__PURE__ */ new Date()).toISOString()}"`
51
- }, streamToElastic);
52
- }
53
- }
54
- logInfo(message, data) {
55
- this.logger.info({ ...data }, message);
56
- }
57
- logError(message, error, data) {
58
- const errorDetails = {
59
- message: error.message,
60
- name: error.name,
61
- stack: error.stack
62
- };
63
- this.logger.error({ error, ...data, ...errorDetails }, message);
64
- }
65
- };
66
- export {
67
- ElasticLoggerProvider
68
- };
69
- //# sourceMappingURL=index.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/providers/providers.ts","../../../src/providers/elastic/elastic-search.ts"],"sourcesContent":["import { TTSResult } from \"../types\";\n\nexport abstract class GenerativeProvider {\n private config: Record<string, any>;\n\n constructor(config: Record<string, any>) {\n this.config = config;\n }\n}\n\nexport abstract class WhisperProvider {\n protected config: Record<string, any>;\n\n constructor(config: Record<string, any>) {\n this.config = config;\n }\n\n abstract textToSpeech(text: string): Promise<TTSResult>\n\n abstract speechToText(audio: string): Promise<string>\n} \n\nexport abstract class StableDiffusionProvider {\n protected config: Record<string, any>;\n\n constructor(config: Record<string, any>) {\n this.config = config;\n }\n\n abstract generateImage(query: string): Promise<string>\n}\n\nexport abstract class CharacterizationProvider {\n protected config: Record<string, any>;\n\n constructor(config: Record<string, any>) {\n this.config = config;\n }\n\n abstract analyzeCharacterization(text: string): Promise<Record<string, any>>\n}\n\nexport abstract class RatingsProvider {\n protected config: Record<string, any>;\n\n constructor(config: Record<string, any>) {\n this.config = config;\n }\n\n abstract rate(data: Record<string, any>): Promise<Record<string, any>>;\n}\n\nexport abstract class LoggerProvider {\n protected config: Record<string, any>;\n\n constructor(config: Record<string, any>) {\n this.config = config;\n }\n\n abstract logInfo(message: string, data?: Record<string, any>): void;\n abstract logError(message: string, error: Error, data?: Record<string, any>): void;\n}\n","import { LoggerProvider } from \"../providers\";\nimport pino from \"pino\";\n\ninterface ElasticLoggerConfig {\n endpoint: string;\n username: string;\n password: string;\n index?: string;\n esVersion?: number;\n flushBytes?: number;\n}\n\nclass ElasticLoggerProvider extends LoggerProvider {\n private logger: pino.Logger;\n\n private constructor(config: ElasticLoggerConfig) {\n super(config);\n this.logger = console as any;\n }\n\n public static async create(config: ElasticLoggerConfig): Promise<ElasticLoggerProvider> {\n const provider = new ElasticLoggerProvider(config);\n await provider.initialize(config);\n return provider;\n }\n\n private async initialize(config: ElasticLoggerConfig) {\n if (typeof window === 'undefined') {\n const [pinoElastic] = await Promise.all([\n import('pino-elasticsearch')\n ]);\n\n const streamToElastic = pinoElastic.default({\n index: config.index || \"logs-index\",\n node: config.endpoint,\n esVersion: config.esVersion || 7,\n flushBytes: config.flushBytes || 1000,\n auth: {\n username: config.username || \"\",\n password: config.password || \"\",\n },\n tls: {\n rejectUnauthorized: false,\n },\n op_type: 'create',\n });\n\n streamToElastic.on('error', (err) => {\n console.error('Elasticsearch stream error:', err);\n });\n\n streamToElastic.on('insertError', (err) => {\n console.error('Elasticsearch insert error:', err);\n });\n\n streamToElastic.on('insert', () => {\n console.log('Successfully sent log to Elasticsearch');\n });\n\n\n this.logger = pino({\n level: 'info',\n timestamp: () => `,\"time\":\"${new Date().toISOString()}\"`,\n }, streamToElastic);\n }\n }\n\n logInfo(message: string, data?: Record<string, any>): void {\n this.logger.info({ ...data }, message);\n }\n\n logError(message: string, error: Error, data?: Record<string, any>): void {\n const errorDetails = {\n message: error.message,\n name: error.name,\n stack: error.stack,\n };\n this.logger.error({ error, ...data, ...errorDetails }, message);\n }\n}\n\nexport { ElasticLoggerProvider };"],"mappings":";AAoDO,IAAe,iBAAf,MAA8B;AAAA,EAGjC,YAAY,QAA6B;AACrC,SAAK,SAAS;AAAA,EAClB;AAIJ;;;AC5DA,OAAO,UAAU;AAWjB,IAAM,wBAAN,MAAM,+BAA8B,eAAe;AAAA,EAGzC,YAAY,QAA6B;AAC/C,UAAM,MAAM;AACZ,SAAK,SAAS;AAAA,EAChB;AAAA,EAEA,aAAoB,OAAO,QAA6D;AACtF,UAAM,WAAW,IAAI,uBAAsB,MAAM;AACjD,UAAM,SAAS,WAAW,MAAM;AAChC,WAAO;AAAA,EACT;AAAA,EAEA,MAAc,WAAW,QAA6B;AACpD,QAAI,OAAO,WAAW,aAAa;AACjC,YAAM,CAAC,WAAW,IAAI,MAAM,QAAQ,IAAI;AAAA,QACtC,OAAO,oBAAoB;AAAA,MAC7B,CAAC;AAED,YAAM,kBAAkB,YAAY,QAAQ;AAAA,QAC1C,OAAO,OAAO,SAAS;AAAA,QACvB,MAAM,OAAO;AAAA,QACb,WAAW,OAAO,aAAa;AAAA,QAC/B,YAAY,OAAO,cAAc;AAAA,QACjC,MAAM;AAAA,UACJ,UAAU,OAAO,YAAY;AAAA,UAC7B,UAAU,OAAO,YAAY;AAAA,QAC/B;AAAA,QACA,KAAK;AAAA,UACH,oBAAoB;AAAA,QACtB;AAAA,QACA,SAAS;AAAA,MACX,CAAC;AAED,sBAAgB,GAAG,SAAS,CAAC,QAAQ;AACnC,gBAAQ,MAAM,+BAA+B,GAAG;AAAA,MAClD,CAAC;AAED,sBAAgB,GAAG,eAAe,CAAC,QAAQ;AACzC,gBAAQ,MAAM,+BAA+B,GAAG;AAAA,MAClD,CAAC;AAED,sBAAgB,GAAG,UAAU,MAAM;AACjC,gBAAQ,IAAI,wCAAwC;AAAA,MACtD,CAAC;AAGD,WAAK,SAAS,KAAK;AAAA,QACjB,OAAO;AAAA,QACP,WAAW,MAAM,aAAY,oBAAI,KAAK,GAAE,YAAY,CAAC;AAAA,MACvD,GAAG,eAAe;AAAA,IACpB;AAAA,EACF;AAAA,EAEA,QAAQ,SAAiB,MAAkC;AACzD,SAAK,OAAO,KAAK,EAAE,GAAG,KAAK,GAAG,OAAO;AAAA,EACvC;AAAA,EAEA,SAAS,SAAiB,OAAc,MAAkC;AACxE,UAAM,eAAe;AAAA,MACnB,SAAS,MAAM;AAAA,MACf,MAAM,MAAM;AAAA,MACZ,OAAO,MAAM;AAAA,IACf;AACA,SAAK,OAAO,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,aAAa,GAAG,OAAO;AAAA,EAChE;AACF;","names":[]}
@@ -1,26 +0,0 @@
1
- import { Transaction } from '@elastic/apm-rum';
2
- import { ApmSpan } from '../../types/index.mjs';
3
- import 'ai';
4
-
5
- interface APMInitializerProps {
6
- serviceName: string;
7
- serverUrl?: string;
8
- serverUrlPrefix?: string | undefined;
9
- logLevel?: 'trace' | 'debug' | 'info' | 'warn' | 'error';
10
- environment: string;
11
- ignoreUrls?: Array<string | RegExp>;
12
- }
13
- type LabelValue = string | number | boolean | null;
14
- interface TransactionLabels {
15
- [key: string]: LabelValue;
16
- }
17
- declare function APMInitializer({ serviceName, serverUrl, serverUrlPrefix, logLevel, environment, ignoreUrls }: APMInitializerProps): null;
18
- declare function handleApmTransaction(name: string, type: string, labels: TransactionLabels, callback: () => Promise<void> | void): Promise<void>;
19
- declare function traceError(error: string | Error, labels?: TransactionLabels, customMessage?: string): void;
20
- declare const startManagedTransaction: (name: string, type: string | undefined, spanName: string, spanType?: string) => {
21
- transaction: Transaction | undefined;
22
- span: ApmSpan | undefined;
23
- traceParentId: string | undefined;
24
- };
25
-
26
- export { APMInitializer, handleApmTransaction, startManagedTransaction, traceError };
@@ -1,26 +0,0 @@
1
- import { Transaction } from '@elastic/apm-rum';
2
- import { ApmSpan } from '../../types/index.js';
3
- import 'ai';
4
-
5
- interface APMInitializerProps {
6
- serviceName: string;
7
- serverUrl?: string;
8
- serverUrlPrefix?: string | undefined;
9
- logLevel?: 'trace' | 'debug' | 'info' | 'warn' | 'error';
10
- environment: string;
11
- ignoreUrls?: Array<string | RegExp>;
12
- }
13
- type LabelValue = string | number | boolean | null;
14
- interface TransactionLabels {
15
- [key: string]: LabelValue;
16
- }
17
- declare function APMInitializer({ serviceName, serverUrl, serverUrlPrefix, logLevel, environment, ignoreUrls }: APMInitializerProps): null;
18
- declare function handleApmTransaction(name: string, type: string, labels: TransactionLabels, callback: () => Promise<void> | void): Promise<void>;
19
- declare function traceError(error: string | Error, labels?: TransactionLabels, customMessage?: string): void;
20
- declare const startManagedTransaction: (name: string, type: string | undefined, spanName: string, spanType?: string) => {
21
- transaction: Transaction | undefined;
22
- span: ApmSpan | undefined;
23
- traceParentId: string | undefined;
24
- };
25
-
26
- export { APMInitializer, handleApmTransaction, startManagedTransaction, traceError };
@@ -1,86 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/services/apm/index.ts
21
- var apm_exports = {};
22
- __export(apm_exports, {
23
- APMInitializer: () => APMInitializer,
24
- handleApmTransaction: () => handleApmTransaction,
25
- startManagedTransaction: () => startManagedTransaction,
26
- traceError: () => traceError
27
- });
28
- module.exports = __toCommonJS(apm_exports);
29
-
30
- // src/services/apm/elastic-apm.ts
31
- var import_react = require("react");
32
- var import_apm_rum = require("@elastic/apm-rum");
33
- function APMInitializer({
34
- serviceName,
35
- serverUrl,
36
- serverUrlPrefix = void 0,
37
- logLevel = "warn",
38
- environment,
39
- ignoreUrls = []
40
- }) {
41
- (0, import_react.useEffect)(() => {
42
- const serviceUrl = !serverUrl ? typeof window !== "undefined" ? window.location.origin : "" : serverUrl;
43
- (0, import_apm_rum.init)({
44
- serviceName,
45
- serverUrl: serviceUrl,
46
- serverUrlPrefix,
47
- serviceVersion: "1.0.0",
48
- logLevel,
49
- environment,
50
- ignoreTransactions: ignoreUrls
51
- });
52
- }, []);
53
- return null;
54
- }
55
- async function handleApmTransaction(name, type, labels, callback) {
56
- const transaction = import_apm_rum.apm.startTransaction(name, type);
57
- try {
58
- transaction?.addLabels(labels);
59
- await callback();
60
- } catch (error) {
61
- import_apm_rum.apm.captureError(error);
62
- } finally {
63
- transaction?.end();
64
- }
65
- }
66
- function traceError(error, labels, customMessage) {
67
- try {
68
- const errorObject = error instanceof Error ? error : new Error(customMessage ?? String(error));
69
- if (labels) {
70
- import_apm_rum.apm.addLabels(labels);
71
- }
72
- import_apm_rum.apm.captureError(errorObject);
73
- } catch (e) {
74
- throw new Error("Failed to capture error in APM:", e);
75
- }
76
- }
77
- var startManagedTransaction = (name, type = "http-request", spanName, spanType = "external.http") => {
78
- const transaction = import_apm_rum.apm.startTransaction(name, type, { managed: true });
79
- const span = transaction?.startSpan(spanName, spanType);
80
- const traceParentId = span ? createTraceParentId(span.traceId || "", span.id || "") : void 0;
81
- return { transaction, span, traceParentId };
82
- };
83
- var createTraceParentId = (traceId, spanId) => {
84
- return `00-${traceId}-${spanId}-01`;
85
- };
86
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/services/apm/index.ts","../../../src/services/apm/elastic-apm.ts"],"sourcesContent":["export * from \"./elastic-apm\";","'use client'\n\nimport { useEffect } from 'react'\nimport { init as initApm, apm, Transaction } from '@elastic/apm-rum'\nimport { ApmSpan } from '../../types/type'\n\ninterface APMInitializerProps {\n serviceName: string\n serverUrl?: string\n serverUrlPrefix?: string | undefined\n logLevel?: 'trace' | 'debug' | 'info' | 'warn' | 'error'\n environment: string\n ignoreUrls?: Array<string | RegExp>\n}\n\ntype LabelValue = string | number | boolean | null;\n\ninterface TransactionLabels {\n [key: string]: LabelValue;\n}\n\nexport function APMInitializer({\n serviceName,\n serverUrl,\n serverUrlPrefix = undefined,\n logLevel = 'warn',\n environment,\n ignoreUrls = []\n}: APMInitializerProps) {\n \n useEffect(() => {\n const serviceUrl = !serverUrl ? (typeof window !== 'undefined' ? window.location.origin : '') : serverUrl\n initApm({\n serviceName: serviceName,\n serverUrl: serviceUrl,\n serverUrlPrefix: serverUrlPrefix,\n serviceVersion: '1.0.0',\n logLevel: logLevel,\n environment: environment,\n ignoreTransactions: ignoreUrls\n })\n }, [])\n \n return null\n}\n\n\nexport async function handleApmTransaction(\n name: string,\n type: string,\n labels: TransactionLabels,\n callback: () => Promise<void> | void\n) {\n const transaction = apm.startTransaction(name, type);\n\n try {\n transaction?.addLabels(labels as Labels);\n await callback();\n } catch (error) {\n apm.captureError(error as Error);\n } finally {\n transaction?.end();\n }\n}\n\nexport function traceError(\n error: string | Error,\n labels?: TransactionLabels,\n customMessage?: string\n) {\n try {\n const errorObject =\n error instanceof Error\n ? error\n : new Error(customMessage ?? String(error));\n\n if (labels) {\n apm.addLabels(labels as Labels);\n }\n\n apm.captureError(errorObject);\n } catch (e) {\n throw new Error(\"Failed to capture error in APM:\", e as Error);\n }\n}\n\nexport const startManagedTransaction = (\n name: string,\n type: string = 'http-request',\n spanName: string,\n spanType: string = 'external.http'\n): { transaction: Transaction | undefined, span: ApmSpan | undefined, traceParentId: string | undefined } => {\n const transaction = apm.startTransaction(name, type, { managed: true });\n const span: ApmSpan | undefined = transaction?.startSpan(spanName, spanType);\n \n const traceParentId = span ? createTraceParentId(span.traceId || '', span.id || '') : undefined;\n \n return { transaction, span, traceParentId };\n};\n\nconst createTraceParentId = (traceId: string, spanId: string) => {\n return `00-${traceId}-${spanId}-01`;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACEA,mBAA0B;AAC1B,qBAAkD;AAkB3C,SAAS,eAAe;AAAA,EAC7B;AAAA,EACA;AAAA,EACA,kBAAkB;AAAA,EAClB,WAAW;AAAA,EACX;AAAA,EACA,aAAa,CAAC;AAChB,GAAwB;AAEtB,8BAAU,MAAM;AACd,UAAM,aAAa,CAAC,YAAa,OAAO,WAAW,cAAc,OAAO,SAAS,SAAS,KAAM;AAChG,uBAAAA,MAAQ;AAAA,MACN;AAAA,MACA,WAAW;AAAA,MACX;AAAA,MACA,gBAAgB;AAAA,MAChB;AAAA,MACA;AAAA,MACA,oBAAoB;AAAA,IACtB,CAAC;AAAA,EACH,GAAG,CAAC,CAAC;AAEL,SAAO;AACT;AAGA,eAAsB,qBACpB,MACA,MACA,QACA,UACA;AACA,QAAM,cAAc,mBAAI,iBAAiB,MAAM,IAAI;AAEnD,MAAI;AACF,iBAAa,UAAU,MAAgB;AACvC,UAAM,SAAS;AAAA,EACjB,SAAS,OAAO;AACd,uBAAI,aAAa,KAAc;AAAA,EACjC,UAAE;AACA,iBAAa,IAAI;AAAA,EACnB;AACF;AAEO,SAAS,WACd,OACA,QACA,eACA;AACA,MAAI;AACF,UAAM,cACJ,iBAAiB,QACb,QACA,IAAI,MAAM,iBAAiB,OAAO,KAAK,CAAC;AAE9C,QAAI,QAAQ;AACV,yBAAI,UAAU,MAAgB;AAAA,IAChC;AAEA,uBAAI,aAAa,WAAW;AAAA,EAC9B,SAAS,GAAG;AACV,UAAM,IAAI,MAAM,mCAAmC,CAAU;AAAA,EAC/D;AACF;AAEO,IAAM,0BAA0B,CACrC,MACA,OAAe,gBACf,UACA,WAAmB,oBACwF;AAC3G,QAAM,cAAc,mBAAI,iBAAiB,MAAM,MAAM,EAAE,SAAS,KAAK,CAAC;AACtE,QAAM,OAA4B,aAAa,UAAU,UAAU,QAAQ;AAE3E,QAAM,gBAAgB,OAAO,oBAAoB,KAAK,WAAW,IAAI,KAAK,MAAM,EAAE,IAAI;AAEtF,SAAO,EAAE,aAAa,MAAM,cAAc;AAC5C;AAEA,IAAM,sBAAsB,CAAC,SAAiB,WAAmB;AAC/D,SAAO,MAAM,OAAO,IAAI,MAAM;AAChC;","names":["initApm"]}
@@ -1,63 +0,0 @@
1
- // src/services/apm/elastic-apm.ts
2
- import { useEffect } from "react";
3
- import { init as initApm, apm } from "@elastic/apm-rum";
4
- function APMInitializer({
5
- serviceName,
6
- serverUrl,
7
- serverUrlPrefix = void 0,
8
- logLevel = "warn",
9
- environment,
10
- ignoreUrls = []
11
- }) {
12
- useEffect(() => {
13
- const serviceUrl = !serverUrl ? typeof window !== "undefined" ? window.location.origin : "" : serverUrl;
14
- initApm({
15
- serviceName,
16
- serverUrl: serviceUrl,
17
- serverUrlPrefix,
18
- serviceVersion: "1.0.0",
19
- logLevel,
20
- environment,
21
- ignoreTransactions: ignoreUrls
22
- });
23
- }, []);
24
- return null;
25
- }
26
- async function handleApmTransaction(name, type, labels, callback) {
27
- const transaction = apm.startTransaction(name, type);
28
- try {
29
- transaction?.addLabels(labels);
30
- await callback();
31
- } catch (error) {
32
- apm.captureError(error);
33
- } finally {
34
- transaction?.end();
35
- }
36
- }
37
- function traceError(error, labels, customMessage) {
38
- try {
39
- const errorObject = error instanceof Error ? error : new Error(customMessage ?? String(error));
40
- if (labels) {
41
- apm.addLabels(labels);
42
- }
43
- apm.captureError(errorObject);
44
- } catch (e) {
45
- throw new Error("Failed to capture error in APM:", e);
46
- }
47
- }
48
- var startManagedTransaction = (name, type = "http-request", spanName, spanType = "external.http") => {
49
- const transaction = apm.startTransaction(name, type, { managed: true });
50
- const span = transaction?.startSpan(spanName, spanType);
51
- const traceParentId = span ? createTraceParentId(span.traceId || "", span.id || "") : void 0;
52
- return { transaction, span, traceParentId };
53
- };
54
- var createTraceParentId = (traceId, spanId) => {
55
- return `00-${traceId}-${spanId}-01`;
56
- };
57
- export {
58
- APMInitializer,
59
- handleApmTransaction,
60
- startManagedTransaction,
61
- traceError
62
- };
63
- //# sourceMappingURL=index.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/services/apm/elastic-apm.ts"],"sourcesContent":["'use client'\n\nimport { useEffect } from 'react'\nimport { init as initApm, apm, Transaction } from '@elastic/apm-rum'\nimport { ApmSpan } from '../../types/type'\n\ninterface APMInitializerProps {\n serviceName: string\n serverUrl?: string\n serverUrlPrefix?: string | undefined\n logLevel?: 'trace' | 'debug' | 'info' | 'warn' | 'error'\n environment: string\n ignoreUrls?: Array<string | RegExp>\n}\n\ntype LabelValue = string | number | boolean | null;\n\ninterface TransactionLabels {\n [key: string]: LabelValue;\n}\n\nexport function APMInitializer({\n serviceName,\n serverUrl,\n serverUrlPrefix = undefined,\n logLevel = 'warn',\n environment,\n ignoreUrls = []\n}: APMInitializerProps) {\n \n useEffect(() => {\n const serviceUrl = !serverUrl ? (typeof window !== 'undefined' ? window.location.origin : '') : serverUrl\n initApm({\n serviceName: serviceName,\n serverUrl: serviceUrl,\n serverUrlPrefix: serverUrlPrefix,\n serviceVersion: '1.0.0',\n logLevel: logLevel,\n environment: environment,\n ignoreTransactions: ignoreUrls\n })\n }, [])\n \n return null\n}\n\n\nexport async function handleApmTransaction(\n name: string,\n type: string,\n labels: TransactionLabels,\n callback: () => Promise<void> | void\n) {\n const transaction = apm.startTransaction(name, type);\n\n try {\n transaction?.addLabels(labels as Labels);\n await callback();\n } catch (error) {\n apm.captureError(error as Error);\n } finally {\n transaction?.end();\n }\n}\n\nexport function traceError(\n error: string | Error,\n labels?: TransactionLabels,\n customMessage?: string\n) {\n try {\n const errorObject =\n error instanceof Error\n ? error\n : new Error(customMessage ?? String(error));\n\n if (labels) {\n apm.addLabels(labels as Labels);\n }\n\n apm.captureError(errorObject);\n } catch (e) {\n throw new Error(\"Failed to capture error in APM:\", e as Error);\n }\n}\n\nexport const startManagedTransaction = (\n name: string,\n type: string = 'http-request',\n spanName: string,\n spanType: string = 'external.http'\n): { transaction: Transaction | undefined, span: ApmSpan | undefined, traceParentId: string | undefined } => {\n const transaction = apm.startTransaction(name, type, { managed: true });\n const span: ApmSpan | undefined = transaction?.startSpan(spanName, spanType);\n \n const traceParentId = span ? createTraceParentId(span.traceId || '', span.id || '') : undefined;\n \n return { transaction, span, traceParentId };\n};\n\nconst createTraceParentId = (traceId: string, spanId: string) => {\n return `00-${traceId}-${spanId}-01`;\n}\n"],"mappings":";AAEA,SAAS,iBAAiB;AAC1B,SAAS,QAAQ,SAAS,WAAwB;AAkB3C,SAAS,eAAe;AAAA,EAC7B;AAAA,EACA;AAAA,EACA,kBAAkB;AAAA,EAClB,WAAW;AAAA,EACX;AAAA,EACA,aAAa,CAAC;AAChB,GAAwB;AAEtB,YAAU,MAAM;AACd,UAAM,aAAa,CAAC,YAAa,OAAO,WAAW,cAAc,OAAO,SAAS,SAAS,KAAM;AAChG,YAAQ;AAAA,MACN;AAAA,MACA,WAAW;AAAA,MACX;AAAA,MACA,gBAAgB;AAAA,MAChB;AAAA,MACA;AAAA,MACA,oBAAoB;AAAA,IACtB,CAAC;AAAA,EACH,GAAG,CAAC,CAAC;AAEL,SAAO;AACT;AAGA,eAAsB,qBACpB,MACA,MACA,QACA,UACA;AACA,QAAM,cAAc,IAAI,iBAAiB,MAAM,IAAI;AAEnD,MAAI;AACF,iBAAa,UAAU,MAAgB;AACvC,UAAM,SAAS;AAAA,EACjB,SAAS,OAAO;AACd,QAAI,aAAa,KAAc;AAAA,EACjC,UAAE;AACA,iBAAa,IAAI;AAAA,EACnB;AACF;AAEO,SAAS,WACd,OACA,QACA,eACA;AACA,MAAI;AACF,UAAM,cACJ,iBAAiB,QACb,QACA,IAAI,MAAM,iBAAiB,OAAO,KAAK,CAAC;AAE9C,QAAI,QAAQ;AACV,UAAI,UAAU,MAAgB;AAAA,IAChC;AAEA,QAAI,aAAa,WAAW;AAAA,EAC9B,SAAS,GAAG;AACV,UAAM,IAAI,MAAM,mCAAmC,CAAU;AAAA,EAC/D;AACF;AAEO,IAAM,0BAA0B,CACrC,MACA,OAAe,gBACf,UACA,WAAmB,oBACwF;AAC3G,QAAM,cAAc,IAAI,iBAAiB,MAAM,MAAM,EAAE,SAAS,KAAK,CAAC;AACtE,QAAM,OAA4B,aAAa,UAAU,UAAU,QAAQ;AAE3E,QAAM,gBAAgB,OAAO,oBAAoB,KAAK,WAAW,IAAI,KAAK,MAAM,EAAE,IAAI;AAEtF,SAAO,EAAE,aAAa,MAAM,cAAc;AAC5C;AAEA,IAAM,sBAAsB,CAAC,SAAiB,WAAmB;AAC/D,SAAO,MAAM,OAAO,IAAI,MAAM;AAChC;","names":[]}