@od-oneapp/analytics 2026.2.2701-canary → 2026.2.2899-canary
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 +78 -8
- package/catalogs.d.mts.map +1 -1
- package/catalogs.mjs +0 -6
- package/catalogs.mjs.map +1 -1
- package/client-next.mjs +74 -896
- package/client-next.mjs.map +1 -1
- package/client.mjs +1 -1
- package/load-provider-L0Smj7SY.d.mts.map +1 -1
- package/{load-provider-IHnxEGhf.mjs → load-provider-X2ADGRb5.mjs} +29 -4
- package/load-provider-X2ADGRb5.mjs.map +1 -0
- package/package.json +1 -1
- package/server-next.mjs +1 -1
- package/server.mjs +1 -1
- package/{service-DWQIRSGX.mjs → service-BNIvrglv.mjs} +2 -2
- package/{service-DWQIRSGX.mjs.map → service-BNIvrglv.mjs.map} +1 -1
- package/types.mjs +1 -1
- package/load-provider-IHnxEGhf.mjs.map +0 -1
package/README.md
CHANGED
|
@@ -28,6 +28,39 @@
|
|
|
28
28
|
- Zod-validated event catalogs (ecommerce, AI)
|
|
29
29
|
- Universal (client/server environments)
|
|
30
30
|
- Next.js App Router integration (hooks, components, provider)
|
|
31
|
+
- **Opt-in external providers** — only install what you use
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Installation
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
pnpm add @od-oneapp/analytics
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### External Providers (opt-in)
|
|
42
|
+
|
|
43
|
+
External analytics providers are **not bundled** with this package. Install only the ones you need:
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
# PostHog
|
|
47
|
+
pnpm add @od-oneapp/integration-posthog
|
|
48
|
+
|
|
49
|
+
# Segment
|
|
50
|
+
pnpm add @od-oneapp/integration-segment
|
|
51
|
+
|
|
52
|
+
# Vercel Analytics
|
|
53
|
+
pnpm add @od-oneapp/integration-vercel
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Built-in providers (`console`, `http`) are always available with no additional installation.
|
|
57
|
+
|
|
58
|
+
If you configure a provider without installing its package, you'll get a clear error:
|
|
59
|
+
|
|
60
|
+
```
|
|
61
|
+
Analytics provider "posthog" is configured but its package is not installed.
|
|
62
|
+
Run: pnpm add @od-oneapp/integration-posthog
|
|
63
|
+
```
|
|
31
64
|
|
|
32
65
|
---
|
|
33
66
|
|
|
@@ -103,6 +136,21 @@ const analytics = await createServerAnalytics({
|
|
|
103
136
|
await analytics.track("Order Completed", { orderId: "ord-123", total: 99.99 });
|
|
104
137
|
```
|
|
105
138
|
|
|
139
|
+
### Console + HTTP Only (no external deps needed)
|
|
140
|
+
|
|
141
|
+
```typescript
|
|
142
|
+
import { createClientAnalytics } from "@od-oneapp/analytics/client";
|
|
143
|
+
|
|
144
|
+
const analytics = await createClientAnalytics({
|
|
145
|
+
providers: {
|
|
146
|
+
console: { enabled: true },
|
|
147
|
+
http: { options: { endpoint: "/api/v1/ingest" } },
|
|
148
|
+
},
|
|
149
|
+
});
|
|
150
|
+
|
|
151
|
+
await analytics.track("Page Loaded", { path: window.location.pathname });
|
|
152
|
+
```
|
|
153
|
+
|
|
106
154
|
### Event Catalogs (Zod-validated)
|
|
107
155
|
|
|
108
156
|
```typescript
|
|
@@ -130,11 +178,11 @@ const aiEvent = aiCatalog.track("Chat Message Sent", {
|
|
|
130
178
|
|
|
131
179
|
```
|
|
132
180
|
@od-oneapp/analytics
|
|
133
|
-
├── /client → Browser-only (
|
|
134
|
-
├── /server → Node.js server (
|
|
181
|
+
├── /client → Browser-only (built-in registry + dynamic external loader)
|
|
182
|
+
├── /server → Node.js server (built-in registry + dynamic external loader)
|
|
135
183
|
├── /client/next → Next.js client (hooks, provider, components, dynamic imports)
|
|
136
184
|
├── /server/next → Next.js server (re-exports from /server)
|
|
137
|
-
├── /types → TypeScript types
|
|
185
|
+
├── /types → TypeScript types + MissingProviderPackageError
|
|
138
186
|
├── /catalogs → Zod-validated event catalogs
|
|
139
187
|
└── /providers/http → Built-in HTTP provider
|
|
140
188
|
```
|
|
@@ -148,11 +196,15 @@ const aiEvent = aiCatalog.track("Chat Message Sent", {
|
|
|
148
196
|
|
|
149
197
|
**Provider Architecture:**
|
|
150
198
|
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
-
|
|
154
|
-
-
|
|
155
|
-
|
|
199
|
+
| Provider | Type | Package |
|
|
200
|
+
|----------|------|---------|
|
|
201
|
+
| Console | Built-in | (included) |
|
|
202
|
+
| HTTP | Built-in | (included) |
|
|
203
|
+
| PostHog | Opt-in | `@od-oneapp/integration-posthog` |
|
|
204
|
+
| Segment | Opt-in | `@od-oneapp/integration-segment` |
|
|
205
|
+
| Vercel | Opt-in | `@od-oneapp/integration-vercel` |
|
|
206
|
+
|
|
207
|
+
External providers are loaded dynamically at runtime via `import()` — only when configured. If the package isn't installed, a `MissingProviderPackageError` is thrown with the install command.
|
|
156
208
|
|
|
157
209
|
---
|
|
158
210
|
|
|
@@ -198,6 +250,24 @@ usePageTracking({ trackSearch: true });
|
|
|
198
250
|
</TrackedLink>
|
|
199
251
|
```
|
|
200
252
|
|
|
253
|
+
### Error Handling
|
|
254
|
+
|
|
255
|
+
```typescript
|
|
256
|
+
import { MissingProviderPackageError } from "@od-oneapp/analytics/types";
|
|
257
|
+
|
|
258
|
+
try {
|
|
259
|
+
const analytics = await createClientAnalytics({
|
|
260
|
+
providers: { posthog: { apiKey: "..." } },
|
|
261
|
+
});
|
|
262
|
+
} catch (error) {
|
|
263
|
+
if (error instanceof MissingProviderPackageError) {
|
|
264
|
+
console.error(error.message);
|
|
265
|
+
// "Analytics provider "posthog" is configured but its package is not installed.
|
|
266
|
+
// Run: pnpm add @od-oneapp/integration-posthog"
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
```
|
|
270
|
+
|
|
201
271
|
---
|
|
202
272
|
|
|
203
273
|
## Security
|
package/catalogs.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalogs.d.mts","names":[],"sources":["../src/shared/catalogs/define-catalog.ts","../src/shared/catalogs/ecommerce.ts","../src/shared/catalogs/ai.ts"],"mappings":";;;KAEK,QAAA,GAAW,MAAA,SAAe,CAAA,CAAE,OAAA;AAAA,UAEhB,cAAA,WAAyB,QAAA;EAAA,SAC/B,SAAA;EACT,KAAA,0BAA+B,CAAA,EAC7B,KAAA,EAAO,CAAA,EACP,UAAA,EAAY,CAAA,CAAE,KAAA,CAAM,CAAA,CAAE,CAAA;IACnB,KAAA,EAAO,CAAA;IAAG,UAAA,EAAY,CAAA,CAAE,MAAA,CAAO,CAAA,CAAE,CAAA;EAAA;EACtC,QAAA,0BAAkC,CAAA,EAChC,KAAA,EAAO,CAAA,EACP,UAAA,EAAY,CAAA,CAAE,KAAA,CAAM,CAAA,CAAE,CAAA,KACrB,CAAA,CAAE,MAAA,CAAO,CAAA,CAAE,CAAA;EACd,MAAA,0BAAgC,CAAA,EAAG,KAAA,EAAO,CAAA,GAAI,CAAA,CAAE,CAAA;EAChD,UAAA,oBAA8B,CAAA;AAAA;AAAA,iBAGhB,oBAAA,WAA+B,QAAA,CAAA,CAAU,MAAA;EACvD,SAAA;EACA,MAAA,EAAQ,CAAA;AAAA,IACN,cAAA,CAAe,CAAA;;;
|
|
1
|
+
{"version":3,"file":"catalogs.d.mts","names":[],"sources":["../src/shared/catalogs/define-catalog.ts","../src/shared/catalogs/ecommerce.ts","../src/shared/catalogs/ai.ts"],"mappings":";;;KAEK,QAAA,GAAW,MAAA,SAAe,CAAA,CAAE,OAAA;AAAA,UAEhB,cAAA,WAAyB,QAAA;EAAA,SAC/B,SAAA;EACT,KAAA,0BAA+B,CAAA,EAC7B,KAAA,EAAO,CAAA,EACP,UAAA,EAAY,CAAA,CAAE,KAAA,CAAM,CAAA,CAAE,CAAA;IACnB,KAAA,EAAO,CAAA;IAAG,UAAA,EAAY,CAAA,CAAE,MAAA,CAAO,CAAA,CAAE,CAAA;EAAA;EACtC,QAAA,0BAAkC,CAAA,EAChC,KAAA,EAAO,CAAA,EACP,UAAA,EAAY,CAAA,CAAE,KAAA,CAAM,CAAA,CAAE,CAAA,KACrB,CAAA,CAAE,MAAA,CAAO,CAAA,CAAE,CAAA;EACd,MAAA,0BAAgC,CAAA,EAAG,KAAA,EAAO,CAAA,GAAI,CAAA,CAAE,CAAA;EAChD,UAAA,oBAA8B,CAAA;AAAA;AAAA,iBAGhB,oBAAA,WAA+B,QAAA,CAAA,CAAU,MAAA;EACvD,SAAA;EACA,MAAA,EAAQ,CAAA;AAAA,IACN,cAAA,CAAe,CAAA;;;cC+BN,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cCRA,EAAA"}
|
package/catalogs.mjs
CHANGED
|
@@ -59,12 +59,6 @@ const baseProduct = z.object({
|
|
|
59
59
|
gtin: z.string().optional(),
|
|
60
60
|
mpn: z.string().optional()
|
|
61
61
|
});
|
|
62
|
-
z.object({
|
|
63
|
-
product_id: z.string(),
|
|
64
|
-
quantity: z.number(),
|
|
65
|
-
name: z.string().optional(),
|
|
66
|
-
price: z.number().optional()
|
|
67
|
-
});
|
|
68
62
|
const orderBase = z.object({
|
|
69
63
|
order_id: z.string(),
|
|
70
64
|
revenue: z.number().optional(),
|
package/catalogs.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalogs.mjs","names":[],"sources":["../src/shared/catalogs/define-catalog.ts","../src/shared/catalogs/ecommerce.ts","../src/shared/catalogs/ai.ts"],"sourcesContent":["import type { z } from 'zod';\n\ntype EventMap = Record<string, z.ZodType>;\n\nexport interface EmitterCatalog<T extends EventMap> {\n readonly namespace: string;\n track<K extends string & keyof T>(\n event: K,\n properties: z.input<T[K]>,\n ): { event: K; properties: z.output<T[K]> };\n validate<K extends string & keyof T>(\n event: K,\n properties: z.input<T[K]>,\n ): z.output<T[K]>;\n schema<K extends string & keyof T>(event: K): T[K];\n eventNames(): (string & keyof T)[];\n}\n\nexport function defineEmitterCatalog<T extends EventMap>(config: {\n namespace: string;\n events: T;\n}): EmitterCatalog<T> {\n return {\n namespace: config.namespace,\n\n track<K extends string & keyof T>(\n event: K,\n properties: z.input<T[K]>,\n ): { event: K; properties: z.output<T[K]> } {\n const schema = config.events[event] as T[K];\n const validated = schema.parse(properties) as z.output<T[K]>;\n return { event, properties: validated };\n },\n\n validate<K extends string & keyof T>(\n event: K,\n properties: z.input<T[K]>,\n ): z.output<T[K]> {\n const schema = config.events[event] as T[K];\n return schema.parse(properties) as z.output<T[K]>;\n },\n\n schema<K extends string & keyof T>(event: K): T[K] {\n return config.events[event];\n },\n\n eventNames(): (string & keyof T)[] {\n return Object.keys(config.events) as (string & keyof T)[];\n },\n };\n}\n","// src/shared/catalogs/ecommerce.ts\nimport { z } from \"zod\";\n\nimport { defineEmitterCatalog } from \"./define-catalog\";\n\n// Shared schemas\nconst baseProduct = z.object({\n product_id: z.string(),\n name: z.string().optional(),\n brand: z.string().optional(),\n category: z.string().optional(),\n price: z.number().optional(),\n quantity: z.number().optional(),\n variant: z.string().optional(),\n position: z.number().optional(),\n image_url: z.string().optional(),\n url: z.string().optional(),\n coupon: z.string().optional(),\n availability: z.enum([\"in_stock\", \"out_of_stock\", \"preorder\", \"discontinued\"]).optional(),\n condition: z.enum([\"new\", \"used\", \"refurbished\"]).optional(),\n original_price: z.number().optional(),\n sale_price: z.number().optional(),\n merchant_id: z.string().optional(),\n merchant_name: z.string().optional(),\n merchant_url: z.string().optional(),\n affiliate_link: z.string().optional(),\n affiliate_network: z.string().optional(),\n commission_rate: z.number().optional(),\n commission_amount: z.number().optional(),\n gtin: z.string().optional(),\n mpn: z.string().optional()\n});\n\nconst orderItem = z.object({\n product_id: z.string(),\n quantity: z.number(),\n name: z.string().optional(),\n price: z.number().optional()\n});\n\nconst orderBase = z.object({\n order_id: z.string(),\n revenue: z.number().optional(),\n total: z.number().optional(),\n shipping: z.number().optional(),\n tax: z.number().optional(),\n discount: z.number().optional(),\n coupon: z.string().optional(),\n currency: z.string().default(\"USD\"),\n affiliation: z.string().optional(),\n products: z.array(baseProduct).optional()\n});\n\nconst sharing = z.object({\n share_via: z.string().optional(),\n share_message: z.string().optional(),\n recipient: z.string().optional()\n});\n\nexport const ecommerce = defineEmitterCatalog({\n namespace: \"ecommerce\",\n events: {\n // Search & Discovery\n \"Product Searched\": z.object({ query: z.string(), results_count: z.number().optional() }),\n \"Search Results Viewed\": z.object({\n query: z.string(),\n results_count: z.number(),\n products: z.array(baseProduct).optional(),\n filters_applied: z.record(z.string(), z.unknown()).optional(),\n sort_order: z.string().optional()\n }),\n \"Product List Viewed\": z.object({\n list_id: z.string().optional(),\n category: z.string().optional(),\n products: z.array(baseProduct).optional()\n }),\n \"Product List Filtered\": z.object({\n list_id: z.string().optional(),\n category: z.string().optional(),\n products: z.array(baseProduct).optional(),\n filters: z.record(z.string(), z.unknown()).optional()\n }),\n \"Product Clicked\": baseProduct,\n \"Product Viewed\": baseProduct,\n \"Product Compared\": z.object({\n product: baseProduct,\n action: z.enum([\"added\", \"removed\", \"viewed\"]),\n comparison_list: z.array(baseProduct).optional()\n }),\n \"Product Recommendation Viewed\": z.object({\n recommendation_type: z.enum([\"similar\", \"frequently_bought\", \"trending\", \"personalized\", \"upsell\", \"cross_sell\"]),\n source: z.string(),\n products: z.array(baseProduct),\n algorithm: z.string().optional()\n }),\n \"Product Recommendation Clicked\": baseProduct.extend({\n recommendation_type: z.enum([\"similar\", \"frequently_bought\", \"trending\", \"personalized\", \"upsell\", \"cross_sell\"]),\n source: z.string(),\n position: z.number().optional()\n }),\n\n // Cart\n \"Cart Updated\": z.object({\n action: z.enum([\"added\", \"removed\", \"updated\"]),\n product_id: z.string(),\n cart_id: z.string().optional(),\n cart_total: z.number().optional(),\n quantity_change: z.number().optional()\n }),\n \"Cart Viewed\": z.object({\n cart_id: z.string().optional(),\n products: z.array(baseProduct).optional()\n }),\n \"Cart Abandoned\": z.object({\n cart_id: z.string(),\n cart_value: z.number(),\n products: z.array(baseProduct).optional(),\n time_in_cart: z.number().optional(),\n abandonment_reason: z.enum([\"timeout\", \"navigation\", \"closed\"]).optional()\n }),\n\n // Checkout\n \"Checkout Progressed\": z.object({\n step: z.number(),\n step_name: z.string(),\n action: z.enum([\"viewed\", \"completed\", \"abandoned\", \"error\"]),\n checkout_id: z.string().optional(),\n payment_method: z.string().optional(),\n shipping_method: z.string().optional(),\n error_message: z.string().optional(),\n products: z.array(baseProduct).optional()\n }),\n\n // Orders\n \"Order Completed\": orderBase,\n \"Order Failed\": orderBase.extend({\n failure_reason: z.string().optional(),\n error_code: z.string().optional()\n }),\n \"Order Refunded\": orderBase,\n \"Order Cancelled\": orderBase,\n \"Order Status Updated\": z.object({\n order_id: z.string(),\n status: z.enum([\"confirmed\", \"processing\", \"shipped\", \"out_for_delivery\", \"delivered\", \"returned\", \"failed\"]),\n previous_status: z.string().optional(),\n tracking_number: z.string().optional(),\n carrier: z.string().optional(),\n estimated_delivery: z.string().optional()\n }),\n\n // Coupons\n \"Coupon Applied\": z.object({\n coupon_id: z.string().optional(),\n coupon_name: z.string().optional(),\n discount: z.number().optional(),\n order_id: z.string().optional(),\n cart_id: z.string().optional()\n }),\n \"Coupon Removed\": z.object({\n coupon_id: z.string().optional(),\n coupon_name: z.string().optional(),\n reason: z.string().optional(),\n order_id: z.string().optional(),\n cart_id: z.string().optional()\n }),\n\n // Wishlist\n \"Product Added to Wishlist\": baseProduct.extend({\n wishlist_id: z.string().optional(),\n wishlist_name: z.string().optional()\n }),\n \"Product Removed from Wishlist\": baseProduct.extend({\n wishlist_id: z.string().optional(),\n wishlist_name: z.string().optional()\n }),\n \"Wishlist Product Added to Cart\": baseProduct.extend({\n wishlist_id: z.string().optional(),\n cart_id: z.string().optional()\n }),\n\n // Sharing\n \"Product Shared\": baseProduct.merge(sharing),\n \"Cart Shared\": z\n .object({\n cart_id: z.string().optional(),\n products: z.array(baseProduct).optional()\n })\n .merge(sharing),\n \"Product Reviewed\": z.object({\n product_id: z.string(),\n review_id: z.string().optional(),\n rating: z.string().optional(),\n review_body: z.string().optional()\n }),\n\n // Marketplace\n \"Price Comparison Viewed\": z.object({\n product_id: z.string(),\n merchants: z.array(z.object({ merchant_id: z.string(), price: z.number() })),\n lowest_price: z.number().optional()\n }),\n \"Merchant Selected\": baseProduct.extend({\n selected_merchant_id: z.string(),\n selected_merchant_name: z.string().optional()\n }),\n \"Affiliate Link Clicked\": baseProduct.extend({\n destination_url: z.string()\n }),\n \"Affiliate Conversion Tracked\": z.object({\n product_id: z.string(),\n order_id: z.string(),\n merchant_id: z.string(),\n commission_amount: z.number().optional()\n }),\n\n // Registry\n \"Registry Managed\": z.object({\n registry_id: z.string(),\n action: z.string(),\n registry_type: z.enum([\"wedding\", \"baby\", \"birthday\", \"universal\", \"custom\"]).optional()\n }),\n \"Registry Viewed\": z.object({\n registry_id: z.string(),\n viewer_id: z.string().optional()\n }),\n \"Registry Shared\": z.object({\n registry_id: z.string(),\n share_method: z.string()\n }),\n \"Registry Item Managed\": z.object({\n registry_id: z.string(),\n product_id: z.string(),\n action: z.string(),\n purchaser_id: z.string().optional()\n }),\n\n // Returns\n \"Return Requested\": z.object({\n order_id: z.string(),\n reason: z.string(),\n return_method: z.enum([\"mail\", \"store\", \"pickup\"]).optional(),\n products: z.array(baseProduct).optional()\n }),\n \"Return Completed\": z.object({\n order_id: z.string(),\n return_id: z.string(),\n refund_amount: z.number().optional(),\n refund_status: z.string().optional()\n }),\n\n // Engagement\n \"Price Alert Set\": baseProduct.extend({\n threshold_price: z.number(),\n notification_method: z.enum([\"email\", \"sms\", \"push\"]).optional(),\n currency: z.string().optional()\n }),\n \"Back In Stock Requested\": baseProduct.extend({\n notification_method: z.enum([\"email\", \"sms\", \"push\"]).optional()\n })\n }\n});\n","// src/shared/catalogs/ai.ts\nimport { z } from \"zod\";\n\nimport { defineEmitterCatalog } from \"./define-catalog\";\n\n// Shared schemas\nconst baseAI = z.object({\n model_id: z.string(),\n model_provider: z.enum([\"anthropic\", \"openai\", \"google\", \"perplexity\", \"cohere\", \"mistral\", \"other\"]).optional(),\n session_id: z.string().optional(),\n user_id: z.string().optional(),\n operation_id: z.string().optional(),\n conversation_id: z.string().optional(),\n message_id: z.string().optional(),\n agent_id: z.string().optional(),\n agent_name: z.string().optional(),\n workspace_id: z.string().optional()\n});\n\nconst tokenUsage = z.object({\n input_tokens: z.number().optional(),\n output_tokens: z.number().optional(),\n total_tokens: z.number().optional(),\n cost: z.number().optional(),\n cost_currency: z.string().optional()\n});\n\nconst modelConfig = z.object({\n temperature: z.number().optional(),\n max_tokens: z.number().optional(),\n max_output_tokens: z.number().optional(),\n top_p: z.number().optional(),\n frequency_penalty: z.number().optional(),\n presence_penalty: z.number().optional(),\n stop_sequences: z.array(z.string()).optional(),\n seed: z.number().optional()\n});\n\nconst withError = z.object({\n error_message: z.string(),\n error_code: z.string().optional(),\n error_type: z.string().optional()\n});\n\nexport const ai = defineEmitterCatalog({\n namespace: \"ai\",\n events: {\n // AI SDK v6 — Agent events\n ai_sdk_agent_created: baseAI.merge(modelConfig),\n ai_sdk_agent_execution_started: baseAI.extend({ agent_id: z.string() }),\n ai_sdk_agent_execution_completed: baseAI\n .extend({\n agent_id: z.string(),\n status: z.string()\n })\n .merge(tokenUsage),\n ai_sdk_agent_execution_failed: baseAI\n .extend({\n agent_id: z.string()\n })\n .merge(withError),\n\n // AI SDK v6 — Completion events\n ai_sdk_completion_requested: baseAI\n .extend({\n completion_type: z.string()\n })\n .merge(modelConfig),\n ai_sdk_completion_generated: baseAI\n .extend({\n completion_type: z.string(),\n status: z.string()\n })\n .merge(tokenUsage),\n ai_sdk_completion_failed: baseAI\n .extend({\n completion_type: z.string()\n })\n .merge(withError),\n\n // AI SDK v6 — Tool events\n ai_sdk_tool_call_started: baseAI.extend({ tool_name: z.string() }),\n ai_sdk_tool_call_completed: baseAI.extend({\n tool_name: z.string(),\n result_status: z.string(),\n duration_ms: z.number().optional()\n }),\n ai_sdk_tool_call_failed: baseAI\n .extend({\n tool_name: z.string()\n })\n .merge(withError),\n\n // AI SDK v6 — Streaming events\n ai_sdk_stream_started: baseAI\n .extend({\n stream_type: z.string()\n })\n .merge(modelConfig),\n ai_sdk_stream_chunk_received: baseAI.extend({\n stream_type: z.string(),\n chunk_index: z.number().optional()\n }),\n ai_sdk_stream_completed: baseAI\n .extend({\n stream_type: z.string()\n })\n .merge(tokenUsage),\n ai_sdk_stream_failed: baseAI\n .extend({\n stream_type: z.string()\n })\n .merge(withError),\n\n // AI SDK v6 — Chat events\n ai_sdk_chat_session_started: baseAI.extend({ session_id: z.string() }),\n ai_sdk_chat_session_ended: baseAI\n .extend({\n session_id: z.string(),\n total_messages: z.number().optional()\n })\n .merge(tokenUsage),\n ai_sdk_chat_message_sent: baseAI.extend({\n message_role: z.string(),\n content_length: z.number().optional()\n }),\n ai_sdk_chat_message_received: baseAI\n .extend({\n message_role: z.string(),\n content_length: z.number().optional()\n })\n .merge(tokenUsage),\n\n // AI SDK v6 — Chatbot-commerce events\n ai_sdk_chatbot_intent_detected: baseAI.extend({\n message: z.string(),\n detected_intent: z.string().optional(),\n confidence: z.number().optional()\n }),\n ai_sdk_chatbot_cart_assisted: baseAI.extend({\n cart_id: z.string(),\n action: z.string().optional()\n }),\n ai_sdk_chatbot_order_assisted: baseAI.extend({\n order_id: z.string(),\n action: z.string().optional()\n }),\n ai_sdk_chatbot_product_recommended: baseAI.extend({\n product_ids: z.array(z.string()),\n recommendation_type: z.string().optional()\n }),\n\n // AI SDK v6 — Token tracking\n ai_sdk_token_usage_tracked: baseAI.merge(tokenUsage),\n\n // AI SDK v6 — Multi-step events\n ai_sdk_multi_step_started: baseAI.extend({\n total_steps: z.number().optional()\n }),\n ai_sdk_multi_step_progressed: baseAI.extend({\n step_index: z.number(),\n step_name: z.string().optional()\n }),\n ai_sdk_multi_step_completed: baseAI\n .extend({\n total_steps: z.number().optional(),\n status: z.string()\n })\n .merge(tokenUsage)\n }\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"catalogs.mjs","names":[],"sources":["../src/shared/catalogs/define-catalog.ts","../src/shared/catalogs/ecommerce.ts","../src/shared/catalogs/ai.ts"],"sourcesContent":["import type { z } from 'zod';\n\ntype EventMap = Record<string, z.ZodType>;\n\nexport interface EmitterCatalog<T extends EventMap> {\n readonly namespace: string;\n track<K extends string & keyof T>(\n event: K,\n properties: z.input<T[K]>,\n ): { event: K; properties: z.output<T[K]> };\n validate<K extends string & keyof T>(\n event: K,\n properties: z.input<T[K]>,\n ): z.output<T[K]>;\n schema<K extends string & keyof T>(event: K): T[K];\n eventNames(): (string & keyof T)[];\n}\n\nexport function defineEmitterCatalog<T extends EventMap>(config: {\n namespace: string;\n events: T;\n}): EmitterCatalog<T> {\n return {\n namespace: config.namespace,\n\n track<K extends string & keyof T>(\n event: K,\n properties: z.input<T[K]>,\n ): { event: K; properties: z.output<T[K]> } {\n const schema = config.events[event] as T[K];\n const validated = schema.parse(properties) as z.output<T[K]>;\n return { event, properties: validated };\n },\n\n validate<K extends string & keyof T>(\n event: K,\n properties: z.input<T[K]>,\n ): z.output<T[K]> {\n const schema = config.events[event] as T[K];\n return schema.parse(properties) as z.output<T[K]>;\n },\n\n schema<K extends string & keyof T>(event: K): T[K] {\n return config.events[event];\n },\n\n eventNames(): (string & keyof T)[] {\n return Object.keys(config.events) as (string & keyof T)[];\n },\n };\n}\n","// src/shared/catalogs/ecommerce.ts\nimport { z } from \"zod\";\n\nimport { defineEmitterCatalog } from \"./define-catalog\";\n\n// Shared schemas\nconst baseProduct = z.object({\n product_id: z.string(),\n name: z.string().optional(),\n brand: z.string().optional(),\n category: z.string().optional(),\n price: z.number().optional(),\n quantity: z.number().optional(),\n variant: z.string().optional(),\n position: z.number().optional(),\n image_url: z.string().optional(),\n url: z.string().optional(),\n coupon: z.string().optional(),\n availability: z.enum([\"in_stock\", \"out_of_stock\", \"preorder\", \"discontinued\"]).optional(),\n condition: z.enum([\"new\", \"used\", \"refurbished\"]).optional(),\n original_price: z.number().optional(),\n sale_price: z.number().optional(),\n merchant_id: z.string().optional(),\n merchant_name: z.string().optional(),\n merchant_url: z.string().optional(),\n affiliate_link: z.string().optional(),\n affiliate_network: z.string().optional(),\n commission_rate: z.number().optional(),\n commission_amount: z.number().optional(),\n gtin: z.string().optional(),\n mpn: z.string().optional()\n});\n\nconst orderBase = z.object({\n order_id: z.string(),\n revenue: z.number().optional(),\n total: z.number().optional(),\n shipping: z.number().optional(),\n tax: z.number().optional(),\n discount: z.number().optional(),\n coupon: z.string().optional(),\n currency: z.string().default(\"USD\"),\n affiliation: z.string().optional(),\n products: z.array(baseProduct).optional()\n});\n\nconst sharing = z.object({\n share_via: z.string().optional(),\n share_message: z.string().optional(),\n recipient: z.string().optional()\n});\n\nexport const ecommerce = defineEmitterCatalog({\n namespace: \"ecommerce\",\n events: {\n // Search & Discovery\n \"Product Searched\": z.object({ query: z.string(), results_count: z.number().optional() }),\n \"Search Results Viewed\": z.object({\n query: z.string(),\n results_count: z.number(),\n products: z.array(baseProduct).optional(),\n filters_applied: z.record(z.string(), z.unknown()).optional(),\n sort_order: z.string().optional()\n }),\n \"Product List Viewed\": z.object({\n list_id: z.string().optional(),\n category: z.string().optional(),\n products: z.array(baseProduct).optional()\n }),\n \"Product List Filtered\": z.object({\n list_id: z.string().optional(),\n category: z.string().optional(),\n products: z.array(baseProduct).optional(),\n filters: z.record(z.string(), z.unknown()).optional()\n }),\n \"Product Clicked\": baseProduct,\n \"Product Viewed\": baseProduct,\n \"Product Compared\": z.object({\n product: baseProduct,\n action: z.enum([\"added\", \"removed\", \"viewed\"]),\n comparison_list: z.array(baseProduct).optional()\n }),\n \"Product Recommendation Viewed\": z.object({\n recommendation_type: z.enum([\"similar\", \"frequently_bought\", \"trending\", \"personalized\", \"upsell\", \"cross_sell\"]),\n source: z.string(),\n products: z.array(baseProduct),\n algorithm: z.string().optional()\n }),\n \"Product Recommendation Clicked\": baseProduct.extend({\n recommendation_type: z.enum([\"similar\", \"frequently_bought\", \"trending\", \"personalized\", \"upsell\", \"cross_sell\"]),\n source: z.string(),\n position: z.number().optional()\n }),\n\n // Cart\n \"Cart Updated\": z.object({\n action: z.enum([\"added\", \"removed\", \"updated\"]),\n product_id: z.string(),\n cart_id: z.string().optional(),\n cart_total: z.number().optional(),\n quantity_change: z.number().optional()\n }),\n \"Cart Viewed\": z.object({\n cart_id: z.string().optional(),\n products: z.array(baseProduct).optional()\n }),\n \"Cart Abandoned\": z.object({\n cart_id: z.string(),\n cart_value: z.number(),\n products: z.array(baseProduct).optional(),\n time_in_cart: z.number().optional(),\n abandonment_reason: z.enum([\"timeout\", \"navigation\", \"closed\"]).optional()\n }),\n\n // Checkout\n \"Checkout Progressed\": z.object({\n step: z.number(),\n step_name: z.string(),\n action: z.enum([\"viewed\", \"completed\", \"abandoned\", \"error\"]),\n checkout_id: z.string().optional(),\n payment_method: z.string().optional(),\n shipping_method: z.string().optional(),\n error_message: z.string().optional(),\n products: z.array(baseProduct).optional()\n }),\n\n // Orders\n \"Order Completed\": orderBase,\n \"Order Failed\": orderBase.extend({\n failure_reason: z.string().optional(),\n error_code: z.string().optional()\n }),\n \"Order Refunded\": orderBase,\n \"Order Cancelled\": orderBase,\n \"Order Status Updated\": z.object({\n order_id: z.string(),\n status: z.enum([\"confirmed\", \"processing\", \"shipped\", \"out_for_delivery\", \"delivered\", \"returned\", \"failed\"]),\n previous_status: z.string().optional(),\n tracking_number: z.string().optional(),\n carrier: z.string().optional(),\n estimated_delivery: z.string().optional()\n }),\n\n // Coupons\n \"Coupon Applied\": z.object({\n coupon_id: z.string().optional(),\n coupon_name: z.string().optional(),\n discount: z.number().optional(),\n order_id: z.string().optional(),\n cart_id: z.string().optional()\n }),\n \"Coupon Removed\": z.object({\n coupon_id: z.string().optional(),\n coupon_name: z.string().optional(),\n reason: z.string().optional(),\n order_id: z.string().optional(),\n cart_id: z.string().optional()\n }),\n\n // Wishlist\n \"Product Added to Wishlist\": baseProduct.extend({\n wishlist_id: z.string().optional(),\n wishlist_name: z.string().optional()\n }),\n \"Product Removed from Wishlist\": baseProduct.extend({\n wishlist_id: z.string().optional(),\n wishlist_name: z.string().optional()\n }),\n \"Wishlist Product Added to Cart\": baseProduct.extend({\n wishlist_id: z.string().optional(),\n cart_id: z.string().optional()\n }),\n\n // Sharing\n \"Product Shared\": baseProduct.merge(sharing),\n \"Cart Shared\": z\n .object({\n cart_id: z.string().optional(),\n products: z.array(baseProduct).optional()\n })\n .merge(sharing),\n \"Product Reviewed\": z.object({\n product_id: z.string(),\n review_id: z.string().optional(),\n rating: z.string().optional(),\n review_body: z.string().optional()\n }),\n\n // Marketplace\n \"Price Comparison Viewed\": z.object({\n product_id: z.string(),\n merchants: z.array(z.object({ merchant_id: z.string(), price: z.number() })),\n lowest_price: z.number().optional()\n }),\n \"Merchant Selected\": baseProduct.extend({\n selected_merchant_id: z.string(),\n selected_merchant_name: z.string().optional()\n }),\n \"Affiliate Link Clicked\": baseProduct.extend({\n destination_url: z.string()\n }),\n \"Affiliate Conversion Tracked\": z.object({\n product_id: z.string(),\n order_id: z.string(),\n merchant_id: z.string(),\n commission_amount: z.number().optional()\n }),\n\n // Registry\n \"Registry Managed\": z.object({\n registry_id: z.string(),\n action: z.string(),\n registry_type: z.enum([\"wedding\", \"baby\", \"birthday\", \"universal\", \"custom\"]).optional()\n }),\n \"Registry Viewed\": z.object({\n registry_id: z.string(),\n viewer_id: z.string().optional()\n }),\n \"Registry Shared\": z.object({\n registry_id: z.string(),\n share_method: z.string()\n }),\n \"Registry Item Managed\": z.object({\n registry_id: z.string(),\n product_id: z.string(),\n action: z.string(),\n purchaser_id: z.string().optional()\n }),\n\n // Returns\n \"Return Requested\": z.object({\n order_id: z.string(),\n reason: z.string(),\n return_method: z.enum([\"mail\", \"store\", \"pickup\"]).optional(),\n products: z.array(baseProduct).optional()\n }),\n \"Return Completed\": z.object({\n order_id: z.string(),\n return_id: z.string(),\n refund_amount: z.number().optional(),\n refund_status: z.string().optional()\n }),\n\n // Engagement\n \"Price Alert Set\": baseProduct.extend({\n threshold_price: z.number(),\n notification_method: z.enum([\"email\", \"sms\", \"push\"]).optional(),\n currency: z.string().optional()\n }),\n \"Back In Stock Requested\": baseProduct.extend({\n notification_method: z.enum([\"email\", \"sms\", \"push\"]).optional()\n })\n }\n});\n","// src/shared/catalogs/ai.ts\nimport { z } from \"zod\";\n\nimport { defineEmitterCatalog } from \"./define-catalog\";\n\n// Shared schemas\nconst baseAI = z.object({\n model_id: z.string(),\n model_provider: z.enum([\"anthropic\", \"openai\", \"google\", \"perplexity\", \"cohere\", \"mistral\", \"other\"]).optional(),\n session_id: z.string().optional(),\n user_id: z.string().optional(),\n operation_id: z.string().optional(),\n conversation_id: z.string().optional(),\n message_id: z.string().optional(),\n agent_id: z.string().optional(),\n agent_name: z.string().optional(),\n workspace_id: z.string().optional()\n});\n\nconst tokenUsage = z.object({\n input_tokens: z.number().optional(),\n output_tokens: z.number().optional(),\n total_tokens: z.number().optional(),\n cost: z.number().optional(),\n cost_currency: z.string().optional()\n});\n\nconst modelConfig = z.object({\n temperature: z.number().optional(),\n max_tokens: z.number().optional(),\n max_output_tokens: z.number().optional(),\n top_p: z.number().optional(),\n frequency_penalty: z.number().optional(),\n presence_penalty: z.number().optional(),\n stop_sequences: z.array(z.string()).optional(),\n seed: z.number().optional()\n});\n\nconst withError = z.object({\n error_message: z.string(),\n error_code: z.string().optional(),\n error_type: z.string().optional()\n});\n\nexport const ai = defineEmitterCatalog({\n namespace: \"ai\",\n events: {\n // AI SDK v6 — Agent events\n ai_sdk_agent_created: baseAI.merge(modelConfig),\n ai_sdk_agent_execution_started: baseAI.extend({ agent_id: z.string() }),\n ai_sdk_agent_execution_completed: baseAI\n .extend({\n agent_id: z.string(),\n status: z.string()\n })\n .merge(tokenUsage),\n ai_sdk_agent_execution_failed: baseAI\n .extend({\n agent_id: z.string()\n })\n .merge(withError),\n\n // AI SDK v6 — Completion events\n ai_sdk_completion_requested: baseAI\n .extend({\n completion_type: z.string()\n })\n .merge(modelConfig),\n ai_sdk_completion_generated: baseAI\n .extend({\n completion_type: z.string(),\n status: z.string()\n })\n .merge(tokenUsage),\n ai_sdk_completion_failed: baseAI\n .extend({\n completion_type: z.string()\n })\n .merge(withError),\n\n // AI SDK v6 — Tool events\n ai_sdk_tool_call_started: baseAI.extend({ tool_name: z.string() }),\n ai_sdk_tool_call_completed: baseAI.extend({\n tool_name: z.string(),\n result_status: z.string(),\n duration_ms: z.number().optional()\n }),\n ai_sdk_tool_call_failed: baseAI\n .extend({\n tool_name: z.string()\n })\n .merge(withError),\n\n // AI SDK v6 — Streaming events\n ai_sdk_stream_started: baseAI\n .extend({\n stream_type: z.string()\n })\n .merge(modelConfig),\n ai_sdk_stream_chunk_received: baseAI.extend({\n stream_type: z.string(),\n chunk_index: z.number().optional()\n }),\n ai_sdk_stream_completed: baseAI\n .extend({\n stream_type: z.string()\n })\n .merge(tokenUsage),\n ai_sdk_stream_failed: baseAI\n .extend({\n stream_type: z.string()\n })\n .merge(withError),\n\n // AI SDK v6 — Chat events\n ai_sdk_chat_session_started: baseAI.extend({ session_id: z.string() }),\n ai_sdk_chat_session_ended: baseAI\n .extend({\n session_id: z.string(),\n total_messages: z.number().optional()\n })\n .merge(tokenUsage),\n ai_sdk_chat_message_sent: baseAI.extend({\n message_role: z.string(),\n content_length: z.number().optional()\n }),\n ai_sdk_chat_message_received: baseAI\n .extend({\n message_role: z.string(),\n content_length: z.number().optional()\n })\n .merge(tokenUsage),\n\n // AI SDK v6 — Chatbot-commerce events\n ai_sdk_chatbot_intent_detected: baseAI.extend({\n message: z.string(),\n detected_intent: z.string().optional(),\n confidence: z.number().optional()\n }),\n ai_sdk_chatbot_cart_assisted: baseAI.extend({\n cart_id: z.string(),\n action: z.string().optional()\n }),\n ai_sdk_chatbot_order_assisted: baseAI.extend({\n order_id: z.string(),\n action: z.string().optional()\n }),\n ai_sdk_chatbot_product_recommended: baseAI.extend({\n product_ids: z.array(z.string()),\n recommendation_type: z.string().optional()\n }),\n\n // AI SDK v6 — Token tracking\n ai_sdk_token_usage_tracked: baseAI.merge(tokenUsage),\n\n // AI SDK v6 — Multi-step events\n ai_sdk_multi_step_started: baseAI.extend({\n total_steps: z.number().optional()\n }),\n ai_sdk_multi_step_progressed: baseAI.extend({\n step_index: z.number(),\n step_name: z.string().optional()\n }),\n ai_sdk_multi_step_completed: baseAI\n .extend({\n total_steps: z.number().optional(),\n status: z.string()\n })\n .merge(tokenUsage)\n }\n});\n"],"mappings":"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"}
|