@happyvertical/smrt-ads 0.51.32 → 0.51.35

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 (34) hide show
  1. package/dist/__smrt-register__.d.ts +2 -0
  2. package/dist/__smrt-register__.d.ts.map +1 -0
  3. package/dist/collections/AdDeliveryTierCollection.d.ts +42 -0
  4. package/dist/collections/AdDeliveryTierCollection.d.ts.map +1 -0
  5. package/dist/collections/AdEventCollection.d.ts +119 -0
  6. package/dist/collections/AdEventCollection.d.ts.map +1 -0
  7. package/dist/collections/AdFormatCollection.d.ts +38 -0
  8. package/dist/collections/AdFormatCollection.d.ts.map +1 -0
  9. package/dist/collections/AdGroupCollection.d.ts +100 -0
  10. package/dist/collections/AdGroupCollection.d.ts.map +1 -0
  11. package/dist/collections/AdVariationCollection.d.ts +93 -0
  12. package/dist/collections/AdVariationCollection.d.ts.map +1 -0
  13. package/dist/collections/index.d.ts +10 -0
  14. package/dist/collections/index.d.ts.map +1 -0
  15. package/dist/index.d.ts +12 -885
  16. package/dist/index.d.ts.map +1 -0
  17. package/dist/index.js +1 -1
  18. package/dist/manifest.json +1 -1
  19. package/dist/models/AdDeliveryTier.d.ts +66 -0
  20. package/dist/models/AdDeliveryTier.d.ts.map +1 -0
  21. package/dist/models/AdEvent.d.ts +105 -0
  22. package/dist/models/AdEvent.d.ts.map +1 -0
  23. package/dist/models/AdFormat.d.ts +62 -0
  24. package/dist/models/AdFormat.d.ts.map +1 -0
  25. package/dist/models/AdGroup.d.ts +153 -0
  26. package/dist/models/AdGroup.d.ts.map +1 -0
  27. package/dist/models/AdVariation.d.ts +117 -0
  28. package/dist/models/AdVariation.d.ts.map +1 -0
  29. package/dist/models/index.d.ts +10 -0
  30. package/dist/models/index.d.ts.map +1 -0
  31. package/dist/smrt-knowledge.json +4 -4
  32. package/dist/types/index.d.ts +46 -0
  33. package/dist/types/index.d.ts.map +1 -0
  34. package/package.json +6 -6
@@ -0,0 +1,153 @@
1
+ /**
2
+ * AdGroup model - Campaign targeting and creative organization
3
+ * @packageDocumentation
4
+ */
5
+ import { SmrtObject, type SmrtObjectOptions } from '@happyvertical/smrt-core';
6
+ import { AdGroupStatus } from '../types/index.js';
7
+ /**
8
+ * Options for constructing an {@link AdGroup}.
9
+ */
10
+ export interface AdGroupOptions extends SmrtObjectOptions {
11
+ tenantId?: string | null;
12
+ contractId?: string;
13
+ tierId?: string;
14
+ name?: string;
15
+ verticalSlug?: string;
16
+ targeting?: string;
17
+ zoneIds?: string;
18
+ startDate?: Date | null;
19
+ endDate?: Date | null;
20
+ dailyBudget?: number;
21
+ totalBudget?: number;
22
+ status?: AdGroupStatus;
23
+ }
24
+ /**
25
+ * AdGroup organizes ad creatives with targeting and budget controls.
26
+ *
27
+ * References:
28
+ * - tierId: FK to AdDeliveryTier (within package)
29
+ * - contractId: String reference to smrt-commerce Contract (cross-package)
30
+ * - zoneIds: JSON array of allowed smrt-properties Zone IDs (cross-package)
31
+ * - verticalSlug: Tag slug from smrt-tags (cross-package)
32
+ *
33
+ * @example
34
+ * ```typescript
35
+ * const adGroup = await groups.create({
36
+ * contractId: 'contract-uuid',
37
+ * tierId: tier.id,
38
+ * name: 'Summer Sale - Desktop',
39
+ * verticalSlug: 'retail',
40
+ * targeting: JSON.stringify({ device: 'desktop' }),
41
+ * zoneIds: JSON.stringify(['zone-1', 'zone-2']),
42
+ * dailyBudget: 100.00,
43
+ * totalBudget: 3000.00,
44
+ * startDate: new Date('2024-06-01'),
45
+ * endDate: new Date('2024-08-31')
46
+ * });
47
+ * ```
48
+ */
49
+ export declare class AdGroup extends SmrtObject {
50
+ /**
51
+ * Tenant ID for multi-tenancy support
52
+ */
53
+ tenantId: string | null;
54
+ /**
55
+ * Contract ID (FK to smrt-commerce Contract, cross-package)
56
+ */
57
+ contractId: string;
58
+ /**
59
+ * Delivery tier ID (FK to AdDeliveryTier)
60
+ */
61
+ tierId: string;
62
+ /**
63
+ * Display name (e.g., "Summer Sale - Desktop")
64
+ */
65
+ name: string;
66
+ /**
67
+ * Vertical/category tag slug from smrt-tags (context="advertising")
68
+ */
69
+ verticalSlug: string;
70
+ /**
71
+ * Targeting rules as JSON string
72
+ */
73
+ targeting: string;
74
+ /**
75
+ * Allowed Zone IDs as JSON array string (FK to smrt-properties Zone)
76
+ */
77
+ zoneIds: string;
78
+ /**
79
+ * Campaign start date
80
+ */
81
+ startDate: Date | null;
82
+ /**
83
+ * Campaign end date
84
+ */
85
+ endDate: Date | null;
86
+ /**
87
+ * Daily budget limit
88
+ */
89
+ dailyBudget: number;
90
+ /**
91
+ * Total campaign budget
92
+ */
93
+ totalBudget: number;
94
+ /**
95
+ * Current status
96
+ */
97
+ status: AdGroupStatus;
98
+ constructor(options?: AdGroupOptions);
99
+ /**
100
+ * Get zone IDs as array
101
+ */
102
+ getZoneIds(): string[];
103
+ /**
104
+ * Set zone IDs from array
105
+ */
106
+ setZoneIds(ids: string[]): void;
107
+ /**
108
+ * Add a zone ID
109
+ */
110
+ addZoneId(zoneId: string): void;
111
+ /**
112
+ * Remove a zone ID
113
+ */
114
+ removeZoneId(zoneId: string): void;
115
+ /**
116
+ * Check if zone ID is allowed
117
+ */
118
+ hasZoneId(zoneId: string): boolean;
119
+ /**
120
+ * Get targeting rules as object
121
+ */
122
+ getTargeting(): Record<string, unknown>;
123
+ /**
124
+ * Set targeting rules from object
125
+ */
126
+ setTargeting(rules: Record<string, unknown>): void;
127
+ /**
128
+ * Check if ad group is currently active
129
+ */
130
+ isActive(): boolean;
131
+ /**
132
+ * Check if ad group is in draft state
133
+ */
134
+ isDraft(): boolean;
135
+ /**
136
+ * Check if ad group is paused
137
+ */
138
+ isPaused(): boolean;
139
+ /**
140
+ * Check if ad group is completed
141
+ */
142
+ isCompleted(): boolean;
143
+ /**
144
+ * Check if ad group has ended (past end date)
145
+ */
146
+ hasEnded(): boolean;
147
+ /**
148
+ * Check if ad group has started
149
+ */
150
+ hasStarted(): boolean;
151
+ }
152
+ export default AdGroup;
153
+ //# sourceMappingURL=AdGroup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdGroup.d.ts","sourceRoot":"","sources":["../../src/models/AdGroup.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAGL,UAAU,EACV,KAAK,iBAAiB,EAEvB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,iBAAiB;IACvD,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACxB,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAOa,OAAQ,SAAQ,UAAU;IACrC;;OAEG;IAEH,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE/B;;OAEG;IAEH,UAAU,EAAE,MAAM,CAAM;IAExB;;OAEG;IAEH,MAAM,EAAE,MAAM,CAAM;IAEpB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAM;IAElB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAM;IAE1B;;OAEG;IACH,SAAS,EAAE,MAAM,CAAM;IAEvB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAM;IAErB;;OAEG;IACH,SAAS,EAAE,IAAI,GAAG,IAAI,CAAQ;IAE9B;;OAEG;IACH,OAAO,EAAE,IAAI,GAAG,IAAI,CAAQ;IAE5B;;OAEG;IACH,WAAW,EAAE,MAAM,CAAO;IAE1B;;OAEG;IACH,WAAW,EAAE,MAAM,CAAO;IAE1B;;OAEG;IACH,MAAM,EAAE,aAAa,CAAuB;gBAEhC,OAAO,GAAE,cAAmB;IAmBxC;;OAEG;IACH,UAAU,IAAI,MAAM,EAAE;IAStB;;OAEG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI;IAI/B;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAQ/B;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAKlC;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAIlC;;OAEG;IACH,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IASvC;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAIlD;;OAEG;IACH,QAAQ,IAAI,OAAO;IAQnB;;OAEG;IACH,OAAO,IAAI,OAAO;IAIlB;;OAEG;IACH,QAAQ,IAAI,OAAO;IAInB;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;OAEG;IACH,QAAQ,IAAI,OAAO;IAKnB;;OAEG;IACH,UAAU,IAAI,OAAO;CAItB;AAED,eAAe,OAAO,CAAC"}
@@ -0,0 +1,117 @@
1
+ /**
2
+ * AdVariation model - Creative asset with A/B testing support
3
+ * @packageDocumentation
4
+ */
5
+ import { SmrtObject, type SmrtObjectOptions } from '@happyvertical/smrt-core';
6
+ import { AdVariationStatus } from '../types/index.js';
7
+ /**
8
+ * Options for constructing an {@link AdVariation}.
9
+ */
10
+ export interface AdVariationOptions extends SmrtObjectOptions {
11
+ tenantId?: string | null;
12
+ groupId?: string;
13
+ formatId?: string;
14
+ assetId?: string;
15
+ name?: string;
16
+ clickUrl?: string;
17
+ altText?: string;
18
+ weight?: number;
19
+ status?: AdVariationStatus;
20
+ impressions?: number;
21
+ clicks?: number;
22
+ }
23
+ /**
24
+ * AdVariation represents a creative asset within an ad group.
25
+ * Supports A/B testing via weighted selection.
26
+ *
27
+ * References:
28
+ * - groupId: FK to AdGroup (within package)
29
+ * - formatId: FK to AdFormat (within package)
30
+ * - assetId: String reference to smrt-assets Asset (cross-package)
31
+ *
32
+ * @example
33
+ * ```typescript
34
+ * const variation = await variations.create({
35
+ * groupId: adGroup.id,
36
+ * formatId: leaderboard.id,
37
+ * assetId: 'asset-uuid',
38
+ * name: 'Version A - Blue CTA',
39
+ * clickUrl: 'https://example.com/landing',
40
+ * altText: 'Summer Sale - 50% off',
41
+ * weight: 2 // 2x more likely than weight=1
42
+ * });
43
+ * ```
44
+ */
45
+ export declare class AdVariation extends SmrtObject {
46
+ /**
47
+ * Tenant ID for multi-tenancy support
48
+ */
49
+ tenantId: string | null;
50
+ /**
51
+ * Ad group ID (FK to AdGroup)
52
+ */
53
+ groupId: string;
54
+ /**
55
+ * Ad format ID (FK to AdFormat)
56
+ */
57
+ formatId: string;
58
+ /**
59
+ * Asset ID (FK to smrt-assets Asset, cross-package)
60
+ */
61
+ assetId: string;
62
+ /**
63
+ * Display name (e.g., "Version A - Blue CTA")
64
+ */
65
+ name: string;
66
+ /**
67
+ * Click destination URL
68
+ */
69
+ clickUrl: string;
70
+ /**
71
+ * Accessibility alt text
72
+ */
73
+ altText: string;
74
+ /**
75
+ * A/B testing weight (higher = more likely to be selected)
76
+ */
77
+ weight: number;
78
+ /**
79
+ * Current status
80
+ */
81
+ status: AdVariationStatus;
82
+ /**
83
+ * Denormalized impression count (updated async)
84
+ */
85
+ impressions: number;
86
+ /**
87
+ * Denormalized click count (updated async)
88
+ */
89
+ clicks: number;
90
+ constructor(options?: AdVariationOptions);
91
+ /**
92
+ * Check if variation is active
93
+ */
94
+ isActive(): boolean;
95
+ /**
96
+ * Check if variation is in draft state
97
+ */
98
+ isDraft(): boolean;
99
+ /**
100
+ * Check if variation is paused
101
+ */
102
+ isPaused(): boolean;
103
+ /**
104
+ * Calculate click-through rate (CTR)
105
+ */
106
+ getCTR(): number;
107
+ /**
108
+ * Increment impression count
109
+ */
110
+ recordImpression(): void;
111
+ /**
112
+ * Increment click count
113
+ */
114
+ recordClick(): void;
115
+ }
116
+ export default AdVariation;
117
+ //# sourceMappingURL=AdVariation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdVariation.d.ts","sourceRoot":"","sources":["../../src/models/AdVariation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAGL,UAAU,EACV,KAAK,iBAAiB,EAEvB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;IAC3D,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAOa,WAAY,SAAQ,UAAU;IACzC;;OAEG;IAEH,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE/B;;OAEG;IAEH,OAAO,EAAE,MAAM,CAAM;IAErB;;OAEG;IAEH,QAAQ,EAAE,MAAM,CAAM;IAEtB;;OAEG;IAEH,OAAO,EAAE,MAAM,CAAM;IAErB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAM;IAElB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAM;IAEtB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAM;IAErB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAK;IAEnB;;OAEG;IACH,MAAM,EAAE,iBAAiB,CAA2B;IAEpD;;OAEG;IACH,WAAW,EAAE,MAAM,CAAK;IAExB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAK;gBAEP,OAAO,GAAE,kBAAuB;IAgB5C;;OAEG;IACH,QAAQ,IAAI,OAAO;IAInB;;OAEG;IACH,OAAO,IAAI,OAAO;IAIlB;;OAEG;IACH,QAAQ,IAAI,OAAO;IAInB;;OAEG;IACH,MAAM,IAAI,MAAM;IAKhB;;OAEG;IACH,gBAAgB,IAAI,IAAI;IAIxB;;OAEG;IACH,WAAW,IAAI,IAAI;CAGpB;AAED,eAAe,WAAW,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Model exports for smrt-ads
3
+ * @packageDocumentation
4
+ */
5
+ export { AdDeliveryTier } from './AdDeliveryTier.js';
6
+ export { AdEvent } from './AdEvent.js';
7
+ export { AdFormat } from './AdFormat.js';
8
+ export { AdGroup } from './AdGroup.js';
9
+ export { AdVariation } from './AdVariation.js';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC"}
@@ -3,12 +3,12 @@
3
3
  "sensitiveFieldsExcluded": true,
4
4
  "generatedAt": "1970-01-01T00:00:00.000Z",
5
5
  "packageName": "@happyvertical/smrt-ads",
6
- "packageVersion": "0.51.32",
6
+ "packageVersion": "0.51.35",
7
7
  "sourceManifestPath": "dist/manifest.json",
8
8
  "agentDocPath": "AGENTS.md",
9
9
  "sourceHashes": {
10
- "manifest": "6df4ec28375eb736f2793c487f06a5e4fdd6f4af53ed4797af0a3d10bf47bcf8",
11
- "packageJson": "649054387e1ee455b0eb56bd251cddbadeaf998c8617a148fe1b6ae0bfae1826",
10
+ "manifest": "38c51885d8b073992ce85ba1700cdbf973817886a28dc5ce8871de86851e8217",
11
+ "packageJson": "a53eafd51b22352351023f603248a694b2351f2ea975a913eca50e2b37a06c79",
12
12
  "agents": "38d00ca384af711a76359907e4d9806733168d7b4b31f7610cd0c418fc72d566"
13
13
  },
14
14
  "exports": [
@@ -24,7 +24,7 @@
24
24
  "@happyvertical/sql": "catalog:",
25
25
  "@types/node": "24.13.6",
26
26
  "fast-glob": "3.3.3",
27
- "typescript": "5.9.3",
27
+ "typescript": "6.0.3",
28
28
  "vite": "8.1.4",
29
29
  "vitest": "4.1.10"
30
30
  },
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Types and enums for smrt-ads package
3
+ */
4
+ /**
5
+ * Ad format types for different creative types
6
+ */
7
+ export declare enum AdFormatType {
8
+ BANNER = "banner",
9
+ NATIVE = "native",
10
+ VIDEO = "video"
11
+ }
12
+ /**
13
+ * Pricing models for ad delivery tiers
14
+ */
15
+ export declare enum PricingModel {
16
+ FIXED = "fixed",
17
+ CPM = "cpm",
18
+ CPC = "cpc",
19
+ CPA = "cpa"
20
+ }
21
+ /**
22
+ * Status for ad groups
23
+ */
24
+ export declare enum AdGroupStatus {
25
+ DRAFT = "draft",
26
+ ACTIVE = "active",
27
+ PAUSED = "paused",
28
+ COMPLETED = "completed"
29
+ }
30
+ /**
31
+ * Status for ad variations
32
+ */
33
+ export declare enum AdVariationStatus {
34
+ DRAFT = "draft",
35
+ ACTIVE = "active",
36
+ PAUSED = "paused"
37
+ }
38
+ /**
39
+ * Event types for ad tracking
40
+ */
41
+ export declare enum AdEventType {
42
+ IMPRESSION = "impression",
43
+ CLICK = "click",
44
+ CONVERSION = "conversion"
45
+ }
46
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,oBAAY,YAAY;IACtB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,KAAK,UAAU;CAChB;AAED;;GAEG;AACH,oBAAY,YAAY;IACtB,KAAK,UAAU;IACf,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;CACZ;AAED;;GAEG;AACH,oBAAY,aAAa;IACvB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,SAAS,cAAc;CACxB;AAED;;GAEG;AACH,oBAAY,iBAAiB;IAC3B,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,oBAAY,WAAW;IACrB,UAAU,eAAe;IACzB,KAAK,UAAU;IACf,UAAU,eAAe;CAC1B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@happyvertical/smrt-ads",
3
- "version": "0.51.32",
3
+ "version": "0.51.35",
4
4
  "description": "Advertising delivery and tracking models for SMRT framework",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -19,16 +19,16 @@
19
19
  "./manifest.json": "./dist/manifest.json"
20
20
  },
21
21
  "dependencies": {
22
- "@happyvertical/smrt-core": "0.51.32",
23
- "@happyvertical/smrt-tenancy": "0.51.32"
22
+ "@happyvertical/smrt-core": "0.51.35",
23
+ "@happyvertical/smrt-tenancy": "0.51.35"
24
24
  },
25
25
  "devDependencies": {
26
- "@happyvertical/smrt-commerce": "0.51.32",
27
- "@happyvertical/smrt-vitest": "0.51.32",
26
+ "@happyvertical/smrt-commerce": "0.51.35",
27
+ "@happyvertical/smrt-vitest": "0.51.35",
28
28
  "@happyvertical/sql": "^0.94.1",
29
29
  "@types/node": "24.13.6",
30
30
  "fast-glob": "3.3.3",
31
- "typescript": "5.9.3",
31
+ "typescript": "6.0.3",
32
32
  "vite": "8.1.4",
33
33
  "vitest": "4.1.10"
34
34
  },