@classytic/primitives 0.28.0 → 0.29.0

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/package.json CHANGED
@@ -1,285 +1,359 @@
1
- {
2
- "name": "@classytic/primitives",
3
- "version": "0.28.0",
4
- "description": "Framework-agnostic TypeScript primitives shared across Classytic packages \u2014 Money, events, pagination, tenant config, and other building blocks.",
5
- "author": "Classytic",
6
- "license": "MIT",
7
- "homepage": "https://www.npmjs.com/package/@classytic/primitives",
8
- "bugs": {
9
- "url": "https://github.com/classytic/primitives/issues"
10
- },
11
- "repository": {
12
- "type": "git",
13
- "url": "git+https://github.com/classytic/primitives.git"
14
- },
15
- "publishConfig": {
16
- "access": "public"
17
- },
18
- "type": "module",
19
- "sideEffects": false,
20
- "engines": {
21
- "node": ">=22"
22
- },
23
- "exports": {
24
- "./money": {
25
- "types": "./dist/money.d.mts",
26
- "default": "./dist/money.mjs"
27
- },
28
- "./currency": {
29
- "types": "./dist/currency.d.mts",
30
- "default": "./dist/currency.mjs"
31
- },
32
- "./unit-cost-rate": {
33
- "types": "./dist/unit-cost-rate.d.mts",
34
- "default": "./dist/unit-cost-rate.mjs"
35
- },
36
- "./price-basis": {
37
- "types": "./dist/price-basis.d.mts",
38
- "default": "./dist/price-basis.mjs"
39
- },
40
- "./address": {
41
- "types": "./dist/address.d.mts",
42
- "default": "./dist/address.mjs"
43
- },
44
- "./period": {
45
- "types": "./dist/period.d.mts",
46
- "default": "./dist/period.mjs"
47
- },
48
- "./calendar": {
49
- "types": "./dist/calendar.d.mts",
50
- "default": "./dist/calendar.mjs"
51
- },
52
- "./calendar-facts": {
53
- "types": "./dist/calendar-facts.d.mts",
54
- "default": "./dist/calendar-facts.mjs"
55
- },
56
- "./timezone": {
57
- "types": "./dist/timezone.d.mts",
58
- "default": "./dist/timezone.mjs"
59
- },
60
- "./reference": {
61
- "types": "./dist/reference.d.mts",
62
- "default": "./dist/reference.mjs"
63
- },
64
- "./fault-attribution": {
65
- "types": "./dist/fault-attribution.d.mts",
66
- "default": "./dist/fault-attribution.mjs"
67
- },
68
- "./context": {
69
- "types": "./dist/context.d.mts",
70
- "default": "./dist/context.mjs"
71
- },
72
- "./environment": {
73
- "types": "./dist/environment.d.mts",
74
- "default": "./dist/environment.mjs"
75
- },
76
- "./events": {
77
- "types": "./dist/events.d.mts",
78
- "default": "./dist/events.mjs"
79
- },
80
- "./memory-outbox": {
81
- "types": "./dist/memory-outbox.d.mts",
82
- "default": "./dist/memory-outbox.mjs"
83
- },
84
- "./event-infra": {
85
- "types": "./dist/event-infra.d.mts",
86
- "default": "./dist/event-infra.mjs"
87
- },
88
- "./outbox": {
89
- "types": "./dist/outbox.d.mts",
90
- "default": "./dist/outbox.mjs"
91
- },
92
- "./result": {
93
- "types": "./dist/result.d.mts",
94
- "default": "./dist/result.mjs"
95
- },
96
- "./brand": {
97
- "types": "./dist/brand.d.mts",
98
- "default": "./dist/brand.mjs"
99
- },
100
- "./split-allocation": {
101
- "types": "./dist/split-allocation.d.mts",
102
- "default": "./dist/split-allocation.mjs"
103
- },
104
- "./approval": {
105
- "types": "./dist/approval.d.mts",
106
- "default": "./dist/approval.mjs"
107
- },
108
- "./idempotency": {
109
- "types": "./dist/idempotency.d.mts",
110
- "default": "./dist/idempotency.mjs"
111
- },
112
- "./cadence": {
113
- "types": "./dist/cadence.d.mts",
114
- "default": "./dist/cadence.mjs"
115
- },
116
- "./hold": {
117
- "types": "./dist/hold.d.mts",
118
- "default": "./dist/hold.mjs"
119
- },
120
- "./sla": {
121
- "types": "./dist/sla.d.mts",
122
- "default": "./dist/sla.mjs"
123
- },
124
- "./shelf-life": {
125
- "types": "./dist/shelf-life.d.mts",
126
- "default": "./dist/shelf-life.mjs"
127
- },
128
- "./person": {
129
- "types": "./dist/person.d.mts",
130
- "default": "./dist/person.mjs"
131
- },
132
- "./person-parse": {
133
- "types": "./dist/person-parse.d.mts",
134
- "default": "./dist/person-parse.mjs"
135
- },
136
- "./identity-verification": {
137
- "types": "./dist/identity-verification.d.mts",
138
- "default": "./dist/identity-verification.mjs"
139
- },
140
- "./otp": {
141
- "types": "./dist/otp.d.mts",
142
- "default": "./dist/otp.mjs"
143
- },
144
- "./state-machine": {
145
- "types": "./dist/state-machine.d.mts",
146
- "default": "./dist/state-machine.mjs"
147
- },
148
- "./bank-transaction": {
149
- "types": "./dist/bank-transaction.d.mts",
150
- "default": "./dist/bank-transaction.mjs"
151
- },
152
- "./payment-gateway": {
153
- "types": "./dist/payment-gateway.d.mts",
154
- "default": "./dist/payment-gateway.mjs"
155
- },
156
- "./payment-method-kind": {
157
- "types": "./dist/payment-method-kind.d.mts",
158
- "default": "./dist/payment-method-kind.mjs"
159
- },
160
- "./payment-allocation-status": {
161
- "types": "./dist/payment-allocation-status.d.mts",
162
- "default": "./dist/payment-allocation-status.mjs"
163
- },
164
- "./monetization": {
165
- "types": "./dist/monetization.d.mts",
166
- "default": "./dist/monetization.mjs"
167
- },
168
- "./proration": {
169
- "types": "./dist/proration.d.mts",
170
- "default": "./dist/proration.mjs"
171
- },
172
- "./payment-events": {
173
- "types": "./dist/payment-events.d.mts",
174
- "default": "./dist/payment-events.mjs"
175
- },
176
- "./phone": {
177
- "types": "./dist/phone.d.mts",
178
- "default": "./dist/phone.mjs"
179
- },
180
- "./status-history": {
181
- "types": "./dist/status-history.d.mts",
182
- "default": "./dist/status-history.mjs"
183
- },
184
- "./condition": {
185
- "types": "./dist/condition.d.mts",
186
- "default": "./dist/condition.mjs"
187
- },
188
- "./mixin": {
189
- "types": "./dist/mixin.d.mts",
190
- "default": "./dist/mixin.mjs"
191
- },
192
- "./deadline": {
193
- "types": "./dist/deadline.d.mts",
194
- "default": "./dist/deadline.mjs"
195
- },
196
- "./sla-policy": {
197
- "types": "./dist/sla-policy.d.mts",
198
- "default": "./dist/sla-policy.mjs"
199
- },
200
- "./retention": {
201
- "types": "./dist/retention.d.mts",
202
- "default": "./dist/retention.mjs"
203
- },
204
- "./canonical": {
205
- "types": "./dist/canonical.d.mts",
206
- "default": "./dist/canonical.mjs"
207
- },
208
- "./csv": {
209
- "types": "./dist/csv.d.mts",
210
- "default": "./dist/csv.mjs"
211
- },
212
- "./package.json": "./package.json",
213
- "./state-diagram": {
214
- "types": "./dist/state-diagram.d.mts",
215
- "default": "./dist/state-diagram.mjs"
216
- },
217
- "./suspension": {
218
- "types": "./dist/suspension.d.mts",
219
- "default": "./dist/suspension.mjs"
220
- },
221
- "./subject": {
222
- "types": "./dist/subject.d.mts",
223
- "default": "./dist/subject.mjs"
224
- },
225
- "./item-identity": {
226
- "types": "./dist/item-identity.d.mts",
227
- "default": "./dist/item-identity.mjs"
228
- },
229
- "./stock-level": {
230
- "types": "./dist/stock-level.d.mts",
231
- "default": "./dist/stock-level.mjs"
232
- },
233
- "./item-facts": {
234
- "types": "./dist/item-facts.d.mts",
235
- "default": "./dist/item-facts.mjs"
236
- },
237
- "./testing/stock-key-seam": {
238
- "types": "./dist/testing/stock-key-seam.d.mts",
239
- "default": "./dist/testing/stock-key-seam.mjs"
240
- }
241
- },
242
- "files": [
243
- "dist",
244
- "README.md",
245
- "CHANGELOG.md",
246
- "LICENSE"
247
- ],
248
- "scripts": {
249
- "build": "tsdown",
250
- "dev": "tsdown --watch",
251
- "typecheck": "tsc --noEmit",
252
- "lint": "biome check src/ tests/",
253
- "lint:fix": "biome check --write src/ tests/",
254
- "test": "vitest run --project unit --project integration",
255
- "test:unit": "vitest run --project unit",
256
- "test:integration": "vitest run --project integration",
257
- "test:all": "vitest run",
258
- "test:watch": "vitest --project unit --project integration",
259
- "test:smoke": "node tests/smoke/smoke.mjs",
260
- "push": "classytic-push",
261
- "prepublishOnly": "npm run typecheck && npm run test && npm run build && npm run test:smoke",
262
- "release": "npm run build && npm run typecheck && npm publish --access public"
263
- },
264
- "devDependencies": {
265
- "@biomejs/biome": "^2.4.9",
266
- "@classytic/dev-tools": "^0.2.0",
267
- "@types/node": "^25.5.0",
268
- "publint": "^0.3.23",
269
- "tsdown": "^0.22.14",
270
- "typescript": "^5.7.0",
271
- "vitest": "^3.0.0"
272
- },
273
- "keywords": [
274
- "typescript",
275
- "types",
276
- "primitives",
277
- "money",
278
- "currency",
279
- "pagination",
280
- "domain-event",
281
- "tenant",
282
- "classytic",
283
- "commerce"
284
- ]
285
- }
1
+ {
2
+ "name": "@classytic/primitives",
3
+ "version": "0.29.0",
4
+ "description": "Framework-agnostic TypeScript primitives shared across Classytic packages — Money, events, pagination, tenant config, and other building blocks.",
5
+ "author": "Classytic",
6
+ "license": "MIT",
7
+ "homepage": "https://www.npmjs.com/package/@classytic/primitives",
8
+ "bugs": {
9
+ "url": "https://github.com/classytic/primitives/issues"
10
+ },
11
+ "repository": {
12
+ "type": "git",
13
+ "url": "git+https://github.com/classytic/primitives.git"
14
+ },
15
+ "publishConfig": {
16
+ "access": "public"
17
+ },
18
+ "type": "module",
19
+ "sideEffects": false,
20
+ "engines": {
21
+ "node": ">=22"
22
+ },
23
+ "exports": {
24
+ "./money": {
25
+ "@classytic/source": "./src/money/money.ts",
26
+ "types": "./dist/money.d.mts",
27
+ "default": "./dist/money.mjs"
28
+ },
29
+ "./currency": {
30
+ "@classytic/source": "./src/money/currency.ts",
31
+ "types": "./dist/currency.d.mts",
32
+ "default": "./dist/currency.mjs"
33
+ },
34
+ "./unit-cost-rate": {
35
+ "@classytic/source": "./src/money/unit-cost-rate.ts",
36
+ "types": "./dist/unit-cost-rate.d.mts",
37
+ "default": "./dist/unit-cost-rate.mjs"
38
+ },
39
+ "./price-basis": {
40
+ "@classytic/source": "./src/money/price-basis.ts",
41
+ "types": "./dist/price-basis.d.mts",
42
+ "default": "./dist/price-basis.mjs"
43
+ },
44
+ "./address": {
45
+ "@classytic/source": "./src/identity/address.ts",
46
+ "types": "./dist/address.d.mts",
47
+ "default": "./dist/address.mjs"
48
+ },
49
+ "./period": {
50
+ "@classytic/source": "./src/scheduling/period.ts",
51
+ "types": "./dist/period.d.mts",
52
+ "default": "./dist/period.mjs"
53
+ },
54
+ "./calendar": {
55
+ "@classytic/source": "./src/scheduling/calendar.ts",
56
+ "types": "./dist/calendar.d.mts",
57
+ "default": "./dist/calendar.mjs"
58
+ },
59
+ "./calendar-facts": {
60
+ "@classytic/source": "./src/scheduling/calendar-facts.ts",
61
+ "types": "./dist/calendar-facts.d.mts",
62
+ "default": "./dist/calendar-facts.mjs"
63
+ },
64
+ "./timezone": {
65
+ "@classytic/source": "./src/scheduling/timezone.ts",
66
+ "types": "./dist/timezone.d.mts",
67
+ "default": "./dist/timezone.mjs"
68
+ },
69
+ "./reference": {
70
+ "@classytic/source": "./src/composition/reference.ts",
71
+ "types": "./dist/reference.d.mts",
72
+ "default": "./dist/reference.mjs"
73
+ },
74
+ "./fault-attribution": {
75
+ "@classytic/source": "./src/composition/fault-attribution.ts",
76
+ "types": "./dist/fault-attribution.d.mts",
77
+ "default": "./dist/fault-attribution.mjs"
78
+ },
79
+ "./context": {
80
+ "@classytic/source": "./src/composition/context.ts",
81
+ "types": "./dist/context.d.mts",
82
+ "default": "./dist/context.mjs"
83
+ },
84
+ "./environment": {
85
+ "@classytic/source": "./src/composition/environment.ts",
86
+ "types": "./dist/environment.d.mts",
87
+ "default": "./dist/environment.mjs"
88
+ },
89
+ "./events": {
90
+ "@classytic/source": "./src/events/events.ts",
91
+ "types": "./dist/events.d.mts",
92
+ "default": "./dist/events.mjs"
93
+ },
94
+ "./memory-outbox": {
95
+ "@classytic/source": "./src/events/memory-outbox.ts",
96
+ "types": "./dist/memory-outbox.d.mts",
97
+ "default": "./dist/memory-outbox.mjs"
98
+ },
99
+ "./event-infra": {
100
+ "@classytic/source": "./src/events/event-infra.ts",
101
+ "types": "./dist/event-infra.d.mts",
102
+ "default": "./dist/event-infra.mjs"
103
+ },
104
+ "./outbox": {
105
+ "@classytic/source": "./src/events/outbox.ts",
106
+ "types": "./dist/outbox.d.mts",
107
+ "default": "./dist/outbox.mjs"
108
+ },
109
+ "./result": {
110
+ "@classytic/source": "./src/composition/result.ts",
111
+ "types": "./dist/result.d.mts",
112
+ "default": "./dist/result.mjs"
113
+ },
114
+ "./brand": {
115
+ "@classytic/source": "./src/composition/brand.ts",
116
+ "types": "./dist/brand.d.mts",
117
+ "default": "./dist/brand.mjs"
118
+ },
119
+ "./split-allocation": {
120
+ "@classytic/source": "./src/money/split-allocation.ts",
121
+ "types": "./dist/split-allocation.d.mts",
122
+ "default": "./dist/split-allocation.mjs"
123
+ },
124
+ "./approval": {
125
+ "@classytic/source": "./src/workflow/approval.ts",
126
+ "types": "./dist/approval.d.mts",
127
+ "default": "./dist/approval.mjs"
128
+ },
129
+ "./idempotency": {
130
+ "@classytic/source": "./src/workflow/idempotency.ts",
131
+ "types": "./dist/idempotency.d.mts",
132
+ "default": "./dist/idempotency.mjs"
133
+ },
134
+ "./cadence": {
135
+ "@classytic/source": "./src/scheduling/cadence.ts",
136
+ "types": "./dist/cadence.d.mts",
137
+ "default": "./dist/cadence.mjs"
138
+ },
139
+ "./hold": {
140
+ "@classytic/source": "./src/workflow/hold.ts",
141
+ "types": "./dist/hold.d.mts",
142
+ "default": "./dist/hold.mjs"
143
+ },
144
+ "./sla": {
145
+ "@classytic/source": "./src/scheduling/sla.ts",
146
+ "types": "./dist/sla.d.mts",
147
+ "default": "./dist/sla.mjs"
148
+ },
149
+ "./shelf-life": {
150
+ "@classytic/source": "./src/scheduling/shelf-life.ts",
151
+ "types": "./dist/shelf-life.d.mts",
152
+ "default": "./dist/shelf-life.mjs"
153
+ },
154
+ "./person": {
155
+ "@classytic/source": "./src/identity/person.ts",
156
+ "types": "./dist/person.d.mts",
157
+ "default": "./dist/person.mjs"
158
+ },
159
+ "./person-parse": {
160
+ "@classytic/source": "./src/identity/person-parse.ts",
161
+ "types": "./dist/person-parse.d.mts",
162
+ "default": "./dist/person-parse.mjs"
163
+ },
164
+ "./identity-verification": {
165
+ "@classytic/source": "./src/identity/identity-verification.ts",
166
+ "types": "./dist/identity-verification.d.mts",
167
+ "default": "./dist/identity-verification.mjs"
168
+ },
169
+ "./otp": {
170
+ "@classytic/source": "./src/identity/otp.ts",
171
+ "types": "./dist/otp.d.mts",
172
+ "default": "./dist/otp.mjs"
173
+ },
174
+ "./state-machine": {
175
+ "@classytic/source": "./src/workflow/state-machine.ts",
176
+ "types": "./dist/state-machine.d.mts",
177
+ "default": "./dist/state-machine.mjs"
178
+ },
179
+ "./bank-transaction": {
180
+ "@classytic/source": "./src/money/bank-transaction.ts",
181
+ "types": "./dist/bank-transaction.d.mts",
182
+ "default": "./dist/bank-transaction.mjs"
183
+ },
184
+ "./payment-gateway": {
185
+ "@classytic/source": "./src/money/payment-gateway.ts",
186
+ "types": "./dist/payment-gateway.d.mts",
187
+ "default": "./dist/payment-gateway.mjs"
188
+ },
189
+ "./payment-method-kind": {
190
+ "@classytic/source": "./src/money/payment-method-kind.ts",
191
+ "types": "./dist/payment-method-kind.d.mts",
192
+ "default": "./dist/payment-method-kind.mjs"
193
+ },
194
+ "./payment-allocation-status": {
195
+ "@classytic/source": "./src/money/payment-allocation-status.ts",
196
+ "types": "./dist/payment-allocation-status.d.mts",
197
+ "default": "./dist/payment-allocation-status.mjs"
198
+ },
199
+ "./monetization": {
200
+ "@classytic/source": "./src/money/monetization.ts",
201
+ "types": "./dist/monetization.d.mts",
202
+ "default": "./dist/monetization.mjs"
203
+ },
204
+ "./proration": {
205
+ "@classytic/source": "./src/money/proration.ts",
206
+ "types": "./dist/proration.d.mts",
207
+ "default": "./dist/proration.mjs"
208
+ },
209
+ "./payment-events": {
210
+ "@classytic/source": "./src/events/payment-events.ts",
211
+ "types": "./dist/payment-events.d.mts",
212
+ "default": "./dist/payment-events.mjs"
213
+ },
214
+ "./phone": {
215
+ "@classytic/source": "./src/identity/phone.ts",
216
+ "types": "./dist/phone.d.mts",
217
+ "default": "./dist/phone.mjs"
218
+ },
219
+ "./status-history": {
220
+ "@classytic/source": "./src/workflow/status-history.ts",
221
+ "types": "./dist/status-history.d.mts",
222
+ "default": "./dist/status-history.mjs"
223
+ },
224
+ "./condition": {
225
+ "@classytic/source": "./src/workflow/condition.ts",
226
+ "types": "./dist/condition.d.mts",
227
+ "default": "./dist/condition.mjs"
228
+ },
229
+ "./mixin": {
230
+ "@classytic/source": "./src/composition/mixin.ts",
231
+ "types": "./dist/mixin.d.mts",
232
+ "default": "./dist/mixin.mjs"
233
+ },
234
+ "./deadline": {
235
+ "@classytic/source": "./src/composition/deadline.ts",
236
+ "types": "./dist/deadline.d.mts",
237
+ "default": "./dist/deadline.mjs"
238
+ },
239
+ "./sla-policy": {
240
+ "@classytic/source": "./src/scheduling/sla-policy.ts",
241
+ "types": "./dist/sla-policy.d.mts",
242
+ "default": "./dist/sla-policy.mjs"
243
+ },
244
+ "./retention": {
245
+ "@classytic/source": "./src/retention/purge-evidence.ts",
246
+ "types": "./dist/retention.d.mts",
247
+ "default": "./dist/retention.mjs"
248
+ },
249
+ "./canonical": {
250
+ "@classytic/source": "./src/serialization/canonical.ts",
251
+ "types": "./dist/canonical.d.mts",
252
+ "default": "./dist/canonical.mjs"
253
+ },
254
+ "./csv": {
255
+ "@classytic/source": "./src/serialization/csv.ts",
256
+ "types": "./dist/csv.d.mts",
257
+ "default": "./dist/csv.mjs"
258
+ },
259
+ "./package.json": "./package.json",
260
+ "./state-diagram": {
261
+ "@classytic/source": "./src/workflow/state-diagram.ts",
262
+ "types": "./dist/state-diagram.d.mts",
263
+ "default": "./dist/state-diagram.mjs"
264
+ },
265
+ "./suspension": {
266
+ "@classytic/source": "./src/workflow/suspension.ts",
267
+ "types": "./dist/suspension.d.mts",
268
+ "default": "./dist/suspension.mjs"
269
+ },
270
+ "./legal-form": {
271
+ "@classytic/source": "./src/identity/legal-form.ts",
272
+ "types": "./dist/legal-form.d.mts",
273
+ "default": "./dist/legal-form.mjs"
274
+ },
275
+ "./subject": {
276
+ "@classytic/source": "./src/identity/subject.ts",
277
+ "types": "./dist/subject.d.mts",
278
+ "default": "./dist/subject.mjs"
279
+ },
280
+ "./item-identity": {
281
+ "@classytic/source": "./src/identity/item-identity.ts",
282
+ "types": "./dist/item-identity.d.mts",
283
+ "default": "./dist/item-identity.mjs"
284
+ },
285
+ "./stock-level": {
286
+ "@classytic/source": "./src/inventory/stock-level.ts",
287
+ "types": "./dist/stock-level.d.mts",
288
+ "default": "./dist/stock-level.mjs"
289
+ },
290
+ "./signed-token": {
291
+ "@classytic/source": "./src/security/signed-token.ts",
292
+ "types": "./dist/signed-token.d.mts",
293
+ "default": "./dist/signed-token.mjs"
294
+ },
295
+ "./item-stock": {
296
+ "@classytic/source": "./src/inventory/item-stock.ts",
297
+ "types": "./dist/item-stock.d.mts",
298
+ "default": "./dist/item-stock.mjs"
299
+ },
300
+ "./item-facts": {
301
+ "@classytic/source": "./src/inventory/item-facts.ts",
302
+ "types": "./dist/item-facts.d.mts",
303
+ "default": "./dist/item-facts.mjs"
304
+ },
305
+ "./line-settlement": {
306
+ "@classytic/source": "./src/inventory/line-settlement.ts",
307
+ "types": "./dist/line-settlement.d.mts",
308
+ "default": "./dist/line-settlement.mjs"
309
+ },
310
+ "./testing/stock-key-seam": {
311
+ "@classytic/source": "./src/testing/stock-key-seam.ts",
312
+ "types": "./dist/testing/stock-key-seam.d.mts",
313
+ "default": "./dist/testing/stock-key-seam.mjs"
314
+ }
315
+ },
316
+ "files": [
317
+ "dist",
318
+ "README.md",
319
+ "CHANGELOG.md",
320
+ "LICENSE"
321
+ ],
322
+ "scripts": {
323
+ "build": "tsdown",
324
+ "dev": "tsdown --watch",
325
+ "typecheck": "tsc --noEmit",
326
+ "lint": "biome check src/ tests/",
327
+ "lint:fix": "biome check --write src/ tests/",
328
+ "test": "vitest run --project unit --project integration",
329
+ "test:unit": "vitest run --project unit",
330
+ "test:integration": "vitest run --project integration",
331
+ "test:all": "vitest run",
332
+ "test:watch": "vitest --project unit --project integration",
333
+ "test:smoke": "node tests/smoke/smoke.mjs",
334
+ "push": "classytic-push",
335
+ "prepublishOnly": "npm run typecheck && npm run test && npm run build && npm run test:smoke",
336
+ "release": "npm run build && npm run typecheck && npm publish --access public"
337
+ },
338
+ "devDependencies": {
339
+ "@biomejs/biome": "^2.4.9",
340
+ "@classytic/dev-tools": "^0.2.0",
341
+ "@types/node": "^25.5.0",
342
+ "publint": "^0.3.23",
343
+ "tsdown": "^0.22.14",
344
+ "typescript": "^5.7.0",
345
+ "vitest": "^3.0.0"
346
+ },
347
+ "keywords": [
348
+ "typescript",
349
+ "types",
350
+ "primitives",
351
+ "money",
352
+ "currency",
353
+ "pagination",
354
+ "domain-event",
355
+ "tenant",
356
+ "classytic",
357
+ "commerce"
358
+ ]
359
+ }