@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.
Files changed (184) hide show
  1. package/README.md +509 -0
  2. package/dist/ai-YMnynb-t.mjs +3347 -0
  3. package/dist/ai-YMnynb-t.mjs.map +1 -0
  4. package/dist/chunk-DQk6qfdC.mjs +18 -0
  5. package/dist/client-CTzJVFU5.mjs +9 -0
  6. package/dist/client-CTzJVFU5.mjs.map +1 -0
  7. package/dist/client-CcFTauAh.mjs +54 -0
  8. package/dist/client-CcFTauAh.mjs.map +1 -0
  9. package/dist/client-CeOLjbac.mjs +281 -0
  10. package/dist/client-CeOLjbac.mjs.map +1 -0
  11. package/dist/client-D339NFJS.mjs +267 -0
  12. package/dist/client-D339NFJS.mjs.map +1 -0
  13. package/dist/client-next.d.mts +62 -0
  14. package/dist/client-next.d.mts.map +1 -0
  15. package/dist/client-next.mjs +525 -0
  16. package/dist/client-next.mjs.map +1 -0
  17. package/dist/client.d.mts +30 -0
  18. package/dist/client.d.mts.map +1 -0
  19. package/dist/client.mjs +186 -0
  20. package/dist/client.mjs.map +1 -0
  21. package/dist/config-DPS6bSYo.d.mts +34 -0
  22. package/dist/config-DPS6bSYo.d.mts.map +1 -0
  23. package/dist/config-P6P5adJg.mjs +287 -0
  24. package/dist/config-P6P5adJg.mjs.map +1 -0
  25. package/dist/console-8bND3mMU.mjs +128 -0
  26. package/dist/console-8bND3mMU.mjs.map +1 -0
  27. package/dist/ecommerce-Cgu4wlux.mjs +993 -0
  28. package/dist/ecommerce-Cgu4wlux.mjs.map +1 -0
  29. package/dist/emitters-6-nKo8i-.mjs +208 -0
  30. package/dist/emitters-6-nKo8i-.mjs.map +1 -0
  31. package/dist/emitters-DldkVSPp.d.mts +12 -0
  32. package/dist/emitters-DldkVSPp.d.mts.map +1 -0
  33. package/dist/index-BfNWgfa5.d.mts +1494 -0
  34. package/dist/index-BfNWgfa5.d.mts.map +1 -0
  35. package/dist/index-BkIWe--N.d.mts +953 -0
  36. package/dist/index-BkIWe--N.d.mts.map +1 -0
  37. package/dist/index-jPzXRn52.d.mts +184 -0
  38. package/dist/index-jPzXRn52.d.mts.map +1 -0
  39. package/dist/manager-DvRRjza6.d.mts +76 -0
  40. package/dist/manager-DvRRjza6.d.mts.map +1 -0
  41. package/dist/posthog-bootstrap-CYfIy_WS.mjs +1769 -0
  42. package/dist/posthog-bootstrap-CYfIy_WS.mjs.map +1 -0
  43. package/dist/posthog-bootstrap-DWxFrxlt.d.mts +81 -0
  44. package/dist/posthog-bootstrap-DWxFrxlt.d.mts.map +1 -0
  45. package/dist/providers-http-client.d.mts +37 -0
  46. package/dist/providers-http-client.d.mts.map +1 -0
  47. package/dist/providers-http-client.mjs +320 -0
  48. package/dist/providers-http-client.mjs.map +1 -0
  49. package/dist/providers-http-server.d.mts +31 -0
  50. package/dist/providers-http-server.d.mts.map +1 -0
  51. package/dist/providers-http-server.mjs +297 -0
  52. package/dist/providers-http-server.mjs.map +1 -0
  53. package/dist/providers-http.d.mts +46 -0
  54. package/dist/providers-http.d.mts.map +1 -0
  55. package/dist/providers-http.mjs +4 -0
  56. package/dist/server-edge.d.mts +9 -0
  57. package/dist/server-edge.d.mts.map +1 -0
  58. package/dist/server-edge.mjs +373 -0
  59. package/dist/server-edge.mjs.map +1 -0
  60. package/dist/server-next.d.mts +67 -0
  61. package/dist/server-next.d.mts.map +1 -0
  62. package/dist/server-next.mjs +193 -0
  63. package/dist/server-next.mjs.map +1 -0
  64. package/dist/server.d.mts +10 -0
  65. package/dist/server.mjs +7 -0
  66. package/dist/service-cYtBBL8x.mjs +945 -0
  67. package/dist/service-cYtBBL8x.mjs.map +1 -0
  68. package/dist/shared.d.mts +16 -0
  69. package/dist/shared.d.mts.map +1 -0
  70. package/dist/shared.mjs +93 -0
  71. package/dist/shared.mjs.map +1 -0
  72. package/dist/types-BxBnNQ0V.d.mts +354 -0
  73. package/dist/types-BxBnNQ0V.d.mts.map +1 -0
  74. package/dist/types-CBvxUEaF.d.mts +216 -0
  75. package/dist/types-CBvxUEaF.d.mts.map +1 -0
  76. package/dist/types.d.mts +4 -0
  77. package/dist/types.mjs +0 -0
  78. package/dist/vercel-types-lwakUfoI.d.mts +102 -0
  79. package/dist/vercel-types-lwakUfoI.d.mts.map +1 -0
  80. package/package.json +129 -0
  81. package/src/client/index.ts +164 -0
  82. package/src/client/manager.ts +71 -0
  83. package/src/client/next/components.tsx +270 -0
  84. package/src/client/next/hooks.ts +217 -0
  85. package/src/client/next/manager.ts +141 -0
  86. package/src/client/next.ts +144 -0
  87. package/src/client-next.ts +101 -0
  88. package/src/client.ts +89 -0
  89. package/src/examples/ai-sdk-patterns.ts +583 -0
  90. package/src/examples/emitter-patterns.ts +476 -0
  91. package/src/examples/nextjs-emitter-patterns.tsx +403 -0
  92. package/src/next/app-router.tsx +564 -0
  93. package/src/next/client.ts +419 -0
  94. package/src/next/index.ts +84 -0
  95. package/src/next/middleware.ts +429 -0
  96. package/src/next/rsc.tsx +300 -0
  97. package/src/next/server.ts +253 -0
  98. package/src/next/types.d.ts +220 -0
  99. package/src/providers/base-provider.ts +419 -0
  100. package/src/providers/console/client.ts +10 -0
  101. package/src/providers/console/index.ts +152 -0
  102. package/src/providers/console/server.ts +6 -0
  103. package/src/providers/console/types.ts +15 -0
  104. package/src/providers/http/client.ts +464 -0
  105. package/src/providers/http/index.ts +30 -0
  106. package/src/providers/http/server.ts +396 -0
  107. package/src/providers/http/types.ts +135 -0
  108. package/src/providers/posthog/client.ts +518 -0
  109. package/src/providers/posthog/index.ts +11 -0
  110. package/src/providers/posthog/server.ts +329 -0
  111. package/src/providers/posthog/types.ts +104 -0
  112. package/src/providers/segment/client.ts +113 -0
  113. package/src/providers/segment/index.ts +11 -0
  114. package/src/providers/segment/server.ts +115 -0
  115. package/src/providers/segment/types.ts +51 -0
  116. package/src/providers/vercel/client.ts +102 -0
  117. package/src/providers/vercel/index.ts +11 -0
  118. package/src/providers/vercel/server.ts +89 -0
  119. package/src/providers/vercel/types.ts +27 -0
  120. package/src/server/index.ts +103 -0
  121. package/src/server/manager.ts +62 -0
  122. package/src/server/next.ts +210 -0
  123. package/src/server-edge.ts +442 -0
  124. package/src/server-next.ts +39 -0
  125. package/src/server.ts +106 -0
  126. package/src/shared/emitters/ai/README.md +981 -0
  127. package/src/shared/emitters/ai/events/agent.ts +130 -0
  128. package/src/shared/emitters/ai/events/artifacts.ts +167 -0
  129. package/src/shared/emitters/ai/events/chat.ts +126 -0
  130. package/src/shared/emitters/ai/events/chatbot-ecommerce.ts +133 -0
  131. package/src/shared/emitters/ai/events/completion.ts +103 -0
  132. package/src/shared/emitters/ai/events/content-generation.ts +347 -0
  133. package/src/shared/emitters/ai/events/conversation.ts +332 -0
  134. package/src/shared/emitters/ai/events/product-features.ts +1402 -0
  135. package/src/shared/emitters/ai/events/streaming.ts +114 -0
  136. package/src/shared/emitters/ai/events/tool.ts +93 -0
  137. package/src/shared/emitters/ai/index.ts +69 -0
  138. package/src/shared/emitters/ai/track-ai-sdk.ts +74 -0
  139. package/src/shared/emitters/ai/track-ai.ts +50 -0
  140. package/src/shared/emitters/ai/types.ts +1041 -0
  141. package/src/shared/emitters/ai/utils.ts +468 -0
  142. package/src/shared/emitters/ecommerce/events/cart-checkout.ts +106 -0
  143. package/src/shared/emitters/ecommerce/events/coupon.ts +49 -0
  144. package/src/shared/emitters/ecommerce/events/engagement.ts +61 -0
  145. package/src/shared/emitters/ecommerce/events/marketplace.ts +119 -0
  146. package/src/shared/emitters/ecommerce/events/order.ts +199 -0
  147. package/src/shared/emitters/ecommerce/events/product.ts +205 -0
  148. package/src/shared/emitters/ecommerce/events/registry.ts +123 -0
  149. package/src/shared/emitters/ecommerce/events/wishlist-sharing.ts +140 -0
  150. package/src/shared/emitters/ecommerce/index.ts +46 -0
  151. package/src/shared/emitters/ecommerce/track-ecommerce.ts +53 -0
  152. package/src/shared/emitters/ecommerce/types.ts +314 -0
  153. package/src/shared/emitters/ecommerce/utils.ts +216 -0
  154. package/src/shared/emitters/emitter-types.ts +974 -0
  155. package/src/shared/emitters/emitters.ts +292 -0
  156. package/src/shared/emitters/helpers.ts +419 -0
  157. package/src/shared/emitters/index.ts +66 -0
  158. package/src/shared/index.ts +142 -0
  159. package/src/shared/ingestion/index.ts +66 -0
  160. package/src/shared/ingestion/schemas.ts +386 -0
  161. package/src/shared/ingestion/service.ts +628 -0
  162. package/src/shared/node22-features.ts +848 -0
  163. package/src/shared/providers/console-provider.ts +160 -0
  164. package/src/shared/types/base-types.ts +54 -0
  165. package/src/shared/types/console-types.ts +19 -0
  166. package/src/shared/types/posthog-types.ts +131 -0
  167. package/src/shared/types/segment-types.ts +15 -0
  168. package/src/shared/types/types.ts +397 -0
  169. package/src/shared/types/vercel-types.ts +19 -0
  170. package/src/shared/utils/config-client.ts +19 -0
  171. package/src/shared/utils/config.ts +250 -0
  172. package/src/shared/utils/emitter-adapter.ts +212 -0
  173. package/src/shared/utils/manager.test.ts +36 -0
  174. package/src/shared/utils/manager.ts +1322 -0
  175. package/src/shared/utils/posthog-bootstrap.ts +136 -0
  176. package/src/shared/utils/posthog-client-utils.ts +48 -0
  177. package/src/shared/utils/posthog-next-utils.ts +282 -0
  178. package/src/shared/utils/posthog-server-utils.ts +210 -0
  179. package/src/shared/utils/rate-limit.ts +289 -0
  180. package/src/shared/utils/security.ts +545 -0
  181. package/src/shared/utils/validation-client.ts +161 -0
  182. package/src/shared/utils/validation.ts +399 -0
  183. package/src/shared.ts +155 -0
  184. 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"}