@od-oneapp/analytics 2026.1.1301
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/README.md +509 -0
- package/dist/ai-YMnynb-t.mjs +3347 -0
- package/dist/ai-YMnynb-t.mjs.map +1 -0
- package/dist/chunk-DQk6qfdC.mjs +18 -0
- package/dist/client-CTzJVFU5.mjs +9 -0
- package/dist/client-CTzJVFU5.mjs.map +1 -0
- package/dist/client-CcFTauAh.mjs +54 -0
- package/dist/client-CcFTauAh.mjs.map +1 -0
- package/dist/client-CeOLjbac.mjs +281 -0
- package/dist/client-CeOLjbac.mjs.map +1 -0
- package/dist/client-D339NFJS.mjs +267 -0
- package/dist/client-D339NFJS.mjs.map +1 -0
- package/dist/client-next.d.mts +62 -0
- package/dist/client-next.d.mts.map +1 -0
- package/dist/client-next.mjs +525 -0
- package/dist/client-next.mjs.map +1 -0
- package/dist/client.d.mts +30 -0
- package/dist/client.d.mts.map +1 -0
- package/dist/client.mjs +186 -0
- package/dist/client.mjs.map +1 -0
- package/dist/config-DPS6bSYo.d.mts +34 -0
- package/dist/config-DPS6bSYo.d.mts.map +1 -0
- package/dist/config-P6P5adJg.mjs +287 -0
- package/dist/config-P6P5adJg.mjs.map +1 -0
- package/dist/console-8bND3mMU.mjs +128 -0
- package/dist/console-8bND3mMU.mjs.map +1 -0
- package/dist/ecommerce-Cgu4wlux.mjs +993 -0
- package/dist/ecommerce-Cgu4wlux.mjs.map +1 -0
- package/dist/emitters-6-nKo8i-.mjs +208 -0
- package/dist/emitters-6-nKo8i-.mjs.map +1 -0
- package/dist/emitters-DldkVSPp.d.mts +12 -0
- package/dist/emitters-DldkVSPp.d.mts.map +1 -0
- package/dist/index-BfNWgfa5.d.mts +1494 -0
- package/dist/index-BfNWgfa5.d.mts.map +1 -0
- package/dist/index-BkIWe--N.d.mts +953 -0
- package/dist/index-BkIWe--N.d.mts.map +1 -0
- package/dist/index-jPzXRn52.d.mts +184 -0
- package/dist/index-jPzXRn52.d.mts.map +1 -0
- package/dist/manager-DvRRjza6.d.mts +76 -0
- package/dist/manager-DvRRjza6.d.mts.map +1 -0
- package/dist/posthog-bootstrap-CYfIy_WS.mjs +1769 -0
- package/dist/posthog-bootstrap-CYfIy_WS.mjs.map +1 -0
- package/dist/posthog-bootstrap-DWxFrxlt.d.mts +81 -0
- package/dist/posthog-bootstrap-DWxFrxlt.d.mts.map +1 -0
- package/dist/providers-http-client.d.mts +37 -0
- package/dist/providers-http-client.d.mts.map +1 -0
- package/dist/providers-http-client.mjs +320 -0
- package/dist/providers-http-client.mjs.map +1 -0
- package/dist/providers-http-server.d.mts +31 -0
- package/dist/providers-http-server.d.mts.map +1 -0
- package/dist/providers-http-server.mjs +297 -0
- package/dist/providers-http-server.mjs.map +1 -0
- package/dist/providers-http.d.mts +46 -0
- package/dist/providers-http.d.mts.map +1 -0
- package/dist/providers-http.mjs +4 -0
- package/dist/server-edge.d.mts +9 -0
- package/dist/server-edge.d.mts.map +1 -0
- package/dist/server-edge.mjs +373 -0
- package/dist/server-edge.mjs.map +1 -0
- package/dist/server-next.d.mts +67 -0
- package/dist/server-next.d.mts.map +1 -0
- package/dist/server-next.mjs +193 -0
- package/dist/server-next.mjs.map +1 -0
- package/dist/server.d.mts +10 -0
- package/dist/server.mjs +7 -0
- package/dist/service-cYtBBL8x.mjs +945 -0
- package/dist/service-cYtBBL8x.mjs.map +1 -0
- package/dist/shared.d.mts +16 -0
- package/dist/shared.d.mts.map +1 -0
- package/dist/shared.mjs +93 -0
- package/dist/shared.mjs.map +1 -0
- package/dist/types-BxBnNQ0V.d.mts +354 -0
- package/dist/types-BxBnNQ0V.d.mts.map +1 -0
- package/dist/types-CBvxUEaF.d.mts +216 -0
- package/dist/types-CBvxUEaF.d.mts.map +1 -0
- package/dist/types.d.mts +4 -0
- package/dist/types.mjs +0 -0
- package/dist/vercel-types-lwakUfoI.d.mts +102 -0
- package/dist/vercel-types-lwakUfoI.d.mts.map +1 -0
- package/package.json +129 -0
- package/src/client/index.ts +164 -0
- package/src/client/manager.ts +71 -0
- package/src/client/next/components.tsx +270 -0
- package/src/client/next/hooks.ts +217 -0
- package/src/client/next/manager.ts +141 -0
- package/src/client/next.ts +144 -0
- package/src/client-next.ts +101 -0
- package/src/client.ts +89 -0
- package/src/examples/ai-sdk-patterns.ts +583 -0
- package/src/examples/emitter-patterns.ts +476 -0
- package/src/examples/nextjs-emitter-patterns.tsx +403 -0
- package/src/next/app-router.tsx +564 -0
- package/src/next/client.ts +419 -0
- package/src/next/index.ts +84 -0
- package/src/next/middleware.ts +429 -0
- package/src/next/rsc.tsx +300 -0
- package/src/next/server.ts +253 -0
- package/src/next/types.d.ts +220 -0
- package/src/providers/base-provider.ts +419 -0
- package/src/providers/console/client.ts +10 -0
- package/src/providers/console/index.ts +152 -0
- package/src/providers/console/server.ts +6 -0
- package/src/providers/console/types.ts +15 -0
- package/src/providers/http/client.ts +464 -0
- package/src/providers/http/index.ts +30 -0
- package/src/providers/http/server.ts +396 -0
- package/src/providers/http/types.ts +135 -0
- package/src/providers/posthog/client.ts +518 -0
- package/src/providers/posthog/index.ts +11 -0
- package/src/providers/posthog/server.ts +329 -0
- package/src/providers/posthog/types.ts +104 -0
- package/src/providers/segment/client.ts +113 -0
- package/src/providers/segment/index.ts +11 -0
- package/src/providers/segment/server.ts +115 -0
- package/src/providers/segment/types.ts +51 -0
- package/src/providers/vercel/client.ts +102 -0
- package/src/providers/vercel/index.ts +11 -0
- package/src/providers/vercel/server.ts +89 -0
- package/src/providers/vercel/types.ts +27 -0
- package/src/server/index.ts +103 -0
- package/src/server/manager.ts +62 -0
- package/src/server/next.ts +210 -0
- package/src/server-edge.ts +442 -0
- package/src/server-next.ts +39 -0
- package/src/server.ts +106 -0
- package/src/shared/emitters/ai/README.md +981 -0
- package/src/shared/emitters/ai/events/agent.ts +130 -0
- package/src/shared/emitters/ai/events/artifacts.ts +167 -0
- package/src/shared/emitters/ai/events/chat.ts +126 -0
- package/src/shared/emitters/ai/events/chatbot-ecommerce.ts +133 -0
- package/src/shared/emitters/ai/events/completion.ts +103 -0
- package/src/shared/emitters/ai/events/content-generation.ts +347 -0
- package/src/shared/emitters/ai/events/conversation.ts +332 -0
- package/src/shared/emitters/ai/events/product-features.ts +1402 -0
- package/src/shared/emitters/ai/events/streaming.ts +114 -0
- package/src/shared/emitters/ai/events/tool.ts +93 -0
- package/src/shared/emitters/ai/index.ts +69 -0
- package/src/shared/emitters/ai/track-ai-sdk.ts +74 -0
- package/src/shared/emitters/ai/track-ai.ts +50 -0
- package/src/shared/emitters/ai/types.ts +1041 -0
- package/src/shared/emitters/ai/utils.ts +468 -0
- package/src/shared/emitters/ecommerce/events/cart-checkout.ts +106 -0
- package/src/shared/emitters/ecommerce/events/coupon.ts +49 -0
- package/src/shared/emitters/ecommerce/events/engagement.ts +61 -0
- package/src/shared/emitters/ecommerce/events/marketplace.ts +119 -0
- package/src/shared/emitters/ecommerce/events/order.ts +199 -0
- package/src/shared/emitters/ecommerce/events/product.ts +205 -0
- package/src/shared/emitters/ecommerce/events/registry.ts +123 -0
- package/src/shared/emitters/ecommerce/events/wishlist-sharing.ts +140 -0
- package/src/shared/emitters/ecommerce/index.ts +46 -0
- package/src/shared/emitters/ecommerce/track-ecommerce.ts +53 -0
- package/src/shared/emitters/ecommerce/types.ts +314 -0
- package/src/shared/emitters/ecommerce/utils.ts +216 -0
- package/src/shared/emitters/emitter-types.ts +974 -0
- package/src/shared/emitters/emitters.ts +292 -0
- package/src/shared/emitters/helpers.ts +419 -0
- package/src/shared/emitters/index.ts +66 -0
- package/src/shared/index.ts +142 -0
- package/src/shared/ingestion/index.ts +66 -0
- package/src/shared/ingestion/schemas.ts +386 -0
- package/src/shared/ingestion/service.ts +628 -0
- package/src/shared/node22-features.ts +848 -0
- package/src/shared/providers/console-provider.ts +160 -0
- package/src/shared/types/base-types.ts +54 -0
- package/src/shared/types/console-types.ts +19 -0
- package/src/shared/types/posthog-types.ts +131 -0
- package/src/shared/types/segment-types.ts +15 -0
- package/src/shared/types/types.ts +397 -0
- package/src/shared/types/vercel-types.ts +19 -0
- package/src/shared/utils/config-client.ts +19 -0
- package/src/shared/utils/config.ts +250 -0
- package/src/shared/utils/emitter-adapter.ts +212 -0
- package/src/shared/utils/manager.test.ts +36 -0
- package/src/shared/utils/manager.ts +1322 -0
- package/src/shared/utils/posthog-bootstrap.ts +136 -0
- package/src/shared/utils/posthog-client-utils.ts +48 -0
- package/src/shared/utils/posthog-next-utils.ts +282 -0
- package/src/shared/utils/posthog-server-utils.ts +210 -0
- package/src/shared/utils/rate-limit.ts +289 -0
- package/src/shared/utils/security.ts +545 -0
- package/src/shared/utils/validation-client.ts +161 -0
- package/src/shared/utils/validation.ts +399 -0
- package/src/shared.ts +155 -0
- package/src/types/index.ts +62 -0
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { t as __exportAll } from "./chunk-DQk6qfdC.mjs";
|
|
2
|
+
import { logDebug, logWarn } from "@od-oneapp/shared/logger";
|
|
3
|
+
|
|
4
|
+
//#region src/providers/console/index.ts
|
|
5
|
+
/**
|
|
6
|
+
* @fileoverview Console provider - works in both client and server environments
|
|
7
|
+
*
|
|
8
|
+
* Provides console-based analytics logging for development and debugging.
|
|
9
|
+
* Useful for testing analytics events without sending data to external services.
|
|
10
|
+
*
|
|
11
|
+
* @remarks
|
|
12
|
+
* This provider:
|
|
13
|
+
* - Logs analytics events to console
|
|
14
|
+
* - Works in both browser and Node.js environments
|
|
15
|
+
* - Useful for development and debugging
|
|
16
|
+
* - Integrates with observability package for structured logging
|
|
17
|
+
*
|
|
18
|
+
* @module @od-oneapp/analytics/providers/console
|
|
19
|
+
*/
|
|
20
|
+
var console_exports = /* @__PURE__ */ __exportAll({ ConsoleProvider: () => ConsoleProvider });
|
|
21
|
+
var ConsoleProvider = class {
|
|
22
|
+
name = "console";
|
|
23
|
+
config;
|
|
24
|
+
isInitialized = false;
|
|
25
|
+
constructor(config) {
|
|
26
|
+
this.config = {
|
|
27
|
+
prefix: "[Analytics]",
|
|
28
|
+
logLevel: "info",
|
|
29
|
+
colorize: false,
|
|
30
|
+
...config.options
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
async initialize() {
|
|
34
|
+
if (this.isInitialized) return;
|
|
35
|
+
process.env.NEXT_PUBLIC_OBSERVABILITY_DEBUG;
|
|
36
|
+
this.log("Console Analytics Provider initialized", { config: this.config });
|
|
37
|
+
this.isInitialized = true;
|
|
38
|
+
}
|
|
39
|
+
async track(event, properties = {}, _context) {
|
|
40
|
+
if (!this.isInitialized) {
|
|
41
|
+
logWarn("Console provider not initialized", {
|
|
42
|
+
provider: "console",
|
|
43
|
+
operation: "track",
|
|
44
|
+
event
|
|
45
|
+
});
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
this.log("TRACK", {
|
|
49
|
+
event,
|
|
50
|
+
properties,
|
|
51
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString()
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
async identify(userId, traits = {}, _context) {
|
|
55
|
+
if (!this.isInitialized) {
|
|
56
|
+
logWarn("Console provider not initialized", {
|
|
57
|
+
provider: "console",
|
|
58
|
+
operation: "identify",
|
|
59
|
+
userId
|
|
60
|
+
});
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
this.log("IDENTIFY", {
|
|
64
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
65
|
+
traits,
|
|
66
|
+
userId
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
async page(name, properties = {}, _context) {
|
|
70
|
+
if (!this.isInitialized) {
|
|
71
|
+
logWarn("Console provider not initialized", {
|
|
72
|
+
provider: "console",
|
|
73
|
+
operation: "page",
|
|
74
|
+
metadata: { name }
|
|
75
|
+
});
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
this.log("PAGE", {
|
|
79
|
+
name,
|
|
80
|
+
properties,
|
|
81
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString()
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
async group(groupId, traits = {}, _context) {
|
|
85
|
+
if (!this.isInitialized) {
|
|
86
|
+
logWarn("Console provider not initialized", {
|
|
87
|
+
provider: "console",
|
|
88
|
+
operation: "group",
|
|
89
|
+
metadata: { groupId }
|
|
90
|
+
});
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
this.log("GROUP", {
|
|
94
|
+
groupId,
|
|
95
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
96
|
+
traits
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
async alias(userId, previousId, _context) {
|
|
100
|
+
if (!this.isInitialized) {
|
|
101
|
+
logWarn("Console provider not initialized", {
|
|
102
|
+
provider: "console",
|
|
103
|
+
operation: "alias",
|
|
104
|
+
userId,
|
|
105
|
+
metadata: { previousId }
|
|
106
|
+
});
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
this.log("ALIAS", {
|
|
110
|
+
previousId,
|
|
111
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
112
|
+
userId
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
log(action, data) {
|
|
116
|
+
const { logLevel, prefix } = this.config;
|
|
117
|
+
if (logLevel === "error") return;
|
|
118
|
+
logDebug(`${prefix} ${action}`, {
|
|
119
|
+
provider: "console",
|
|
120
|
+
operation: action.toLowerCase(),
|
|
121
|
+
metadata: data
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
|
|
126
|
+
//#endregion
|
|
127
|
+
export { console_exports as n, ConsoleProvider as t };
|
|
128
|
+
//# sourceMappingURL=console-8bND3mMU.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"console-8bND3mMU.mjs","names":[],"sources":["../src/providers/console/index.ts"],"sourcesContent":["/**\n * @fileoverview Console provider - works in both client and server environments\n *\n * Provides console-based analytics logging for development and debugging.\n * Useful for testing analytics events without sending data to external services.\n *\n * @remarks\n * This provider:\n * - Logs analytics events to console\n * - Works in both browser and Node.js environments\n * - Useful for development and debugging\n * - Integrates with observability package for structured logging\n *\n * @module @od-oneapp/analytics/providers/console\n */\n\nimport { logDebug, logWarn } from '@repo/shared/logger';\n\nimport type { ConsoleConfig } from './types';\nimport type { AnalyticsProvider, ProviderConfig } from '../../shared/types/types';\n\nexport class ConsoleProvider implements AnalyticsProvider {\n readonly name = 'console';\n private config: ConsoleConfig;\n private isInitialized = false;\n\n constructor(config: ProviderConfig) {\n const options = config.options as ConsoleConfig | undefined;\n this.config = {\n prefix: '[Analytics]',\n logLevel: 'info',\n colorize: false,\n ...options,\n };\n }\n\n async initialize(): Promise<void> {\n if (this.isInitialized) return;\n\n // Reduce noisy logs: only log in development or explicit debug\n const isDev = process.env.NODE_ENV !== 'production';\n const isDebug = process.env.NEXT_PUBLIC_OBSERVABILITY_DEBUG === 'true';\n if (isDev || isDebug) {\n this.log('Console Analytics Provider initialized', {\n config: this.config,\n });\n }\n\n this.isInitialized = true;\n }\n\n async track(event: string, properties: any = {}, _context?: any): Promise<void> {\n if (!this.isInitialized) {\n logWarn('Console provider not initialized', {\n provider: 'console',\n operation: 'track',\n event,\n });\n return;\n }\n\n this.log('TRACK', {\n event,\n properties,\n timestamp: new Date().toISOString(),\n });\n }\n\n async identify(userId: string, traits: any = {}, _context?: any): Promise<void> {\n if (!this.isInitialized) {\n logWarn('Console provider not initialized', {\n provider: 'console',\n operation: 'identify',\n userId,\n });\n return;\n }\n\n this.log('IDENTIFY', {\n timestamp: new Date().toISOString(),\n traits,\n userId,\n });\n }\n\n async page(name?: string, properties: any = {}, _context?: any): Promise<void> {\n if (!this.isInitialized) {\n logWarn('Console provider not initialized', {\n provider: 'console',\n operation: 'page',\n metadata: { name },\n });\n return;\n }\n\n this.log('PAGE', {\n name,\n properties,\n timestamp: new Date().toISOString(),\n });\n }\n\n async group(groupId: string, traits: any = {}, _context?: any): Promise<void> {\n if (!this.isInitialized) {\n logWarn('Console provider not initialized', {\n provider: 'console',\n operation: 'group',\n metadata: { groupId },\n });\n return;\n }\n\n this.log('GROUP', {\n groupId,\n timestamp: new Date().toISOString(),\n traits,\n });\n }\n\n async alias(userId: string, previousId: string, _context?: any): Promise<void> {\n if (!this.isInitialized) {\n logWarn('Console provider not initialized', {\n provider: 'console',\n operation: 'alias',\n userId,\n metadata: { previousId },\n });\n return;\n }\n\n this.log('ALIAS', {\n previousId,\n timestamp: new Date().toISOString(),\n userId,\n });\n }\n\n private log(action: string, data: any): void {\n const { logLevel, prefix } = this.config;\n\n if (logLevel === 'error') return; // Don't log analytics in error-only mode\n\n const message = `${prefix} ${action}`;\n\n // Use analytics logger instead of console directly\n logDebug(message, {\n provider: 'console',\n operation: action.toLowerCase(),\n metadata: data,\n });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAqBA,IAAa,kBAAb,MAA0D;CACxD,AAAS,OAAO;CAChB,AAAQ;CACR,AAAQ,gBAAgB;CAExB,YAAY,QAAwB;AAElC,OAAK,SAAS;GACZ,QAAQ;GACR,UAAU;GACV,UAAU;GACV,GALc,OAAO;GAMtB;;CAGH,MAAM,aAA4B;AAChC,MAAI,KAAK,cAAe;AAIR,UAAQ,IAAI;AAE1B,OAAK,IAAI,0CAA0C,EACjD,QAAQ,KAAK,QACd,CAAC;AAGJ,OAAK,gBAAgB;;CAGvB,MAAM,MAAM,OAAe,aAAkB,EAAE,EAAE,UAA+B;AAC9E,MAAI,CAAC,KAAK,eAAe;AACvB,WAAQ,oCAAoC;IAC1C,UAAU;IACV,WAAW;IACX;IACD,CAAC;AACF;;AAGF,OAAK,IAAI,SAAS;GAChB;GACA;GACA,4BAAW,IAAI,MAAM,EAAC,aAAa;GACpC,CAAC;;CAGJ,MAAM,SAAS,QAAgB,SAAc,EAAE,EAAE,UAA+B;AAC9E,MAAI,CAAC,KAAK,eAAe;AACvB,WAAQ,oCAAoC;IAC1C,UAAU;IACV,WAAW;IACX;IACD,CAAC;AACF;;AAGF,OAAK,IAAI,YAAY;GACnB,4BAAW,IAAI,MAAM,EAAC,aAAa;GACnC;GACA;GACD,CAAC;;CAGJ,MAAM,KAAK,MAAe,aAAkB,EAAE,EAAE,UAA+B;AAC7E,MAAI,CAAC,KAAK,eAAe;AACvB,WAAQ,oCAAoC;IAC1C,UAAU;IACV,WAAW;IACX,UAAU,EAAE,MAAM;IACnB,CAAC;AACF;;AAGF,OAAK,IAAI,QAAQ;GACf;GACA;GACA,4BAAW,IAAI,MAAM,EAAC,aAAa;GACpC,CAAC;;CAGJ,MAAM,MAAM,SAAiB,SAAc,EAAE,EAAE,UAA+B;AAC5E,MAAI,CAAC,KAAK,eAAe;AACvB,WAAQ,oCAAoC;IAC1C,UAAU;IACV,WAAW;IACX,UAAU,EAAE,SAAS;IACtB,CAAC;AACF;;AAGF,OAAK,IAAI,SAAS;GAChB;GACA,4BAAW,IAAI,MAAM,EAAC,aAAa;GACnC;GACD,CAAC;;CAGJ,MAAM,MAAM,QAAgB,YAAoB,UAA+B;AAC7E,MAAI,CAAC,KAAK,eAAe;AACvB,WAAQ,oCAAoC;IAC1C,UAAU;IACV,WAAW;IACX;IACA,UAAU,EAAE,YAAY;IACzB,CAAC;AACF;;AAGF,OAAK,IAAI,SAAS;GAChB;GACA,4BAAW,IAAI,MAAM,EAAC,aAAa;GACnC;GACD,CAAC;;CAGJ,AAAQ,IAAI,QAAgB,MAAiB;EAC3C,MAAM,EAAE,UAAU,WAAW,KAAK;AAElC,MAAI,aAAa,QAAS;AAK1B,WAHgB,GAAG,OAAO,GAAG,UAGX;GAChB,UAAU;GACV,WAAW,OAAO,aAAa;GAC/B,UAAU;GACX,CAAC"}
|