@happyvertical/smrt-commerce 0.40.18 → 0.40.20

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.
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "generatedAt": "2026-07-20T17:53:04.247Z",
3
+ "generatedAt": "2026-07-21T07:46:42.429Z",
4
4
  "packageName": "@happyvertical/smrt-commerce",
5
- "packageVersion": "0.40.18",
5
+ "packageVersion": "0.40.20",
6
6
  "sourceManifestPath": "dist/manifest.json",
7
7
  "agentDocPath": "AGENTS.md",
8
8
  "sourceHashes": {
9
- "manifest": "08bf6d3857b6de3616aa41a07afc22e0657d0b01991fe27bf8f80f03647a32e0",
10
- "packageJson": "673b19111b918e578499c7acfffa89a96aae8eb7f2a4a78343e8ec757b7026f4",
9
+ "manifest": "62ea619d87186bd0535485b6c1c74d8680f8cf2621f2d32cad0fc63b76684c30",
10
+ "packageJson": "b1e0b8c17f3da3abdec2af9636de72c24b528e64ce699a3ce1fc664b547d8ad6",
11
11
  "agents": "4cb60c848cfe4e23ba75d5b0008ecf8ea83cd5de2d29d8aa5d8c329bda7523f7"
12
12
  },
13
13
  "exports": [
@@ -46,6 +46,369 @@
46
46
  "tags": [],
47
47
  "risks": [],
48
48
  "objects": [
49
+ {
50
+ "name": "ContractCollection",
51
+ "qualifiedName": "@happyvertical/smrt-commerce:ContractCollection",
52
+ "collection": "contracts",
53
+ "tableName": "contract_collections",
54
+ "packageName": "@happyvertical/smrt-commerce",
55
+ "extends": "SmrtCollection",
56
+ "fields": [],
57
+ "relationships": [],
58
+ "methods": [
59
+ "findAccepted",
60
+ "findByCustomer",
61
+ "findByDateRange",
62
+ "findByStatus",
63
+ "findByTenant",
64
+ "findByType",
65
+ "findByVendor",
66
+ "findDrafts",
67
+ "findExpired",
68
+ "findGlobal",
69
+ "findOverdue",
70
+ "findWithGlobals"
71
+ ],
72
+ "surfaces": [],
73
+ "relationshipFeatures": [
74
+ "uuidColumns"
75
+ ],
76
+ "tags": [],
77
+ "risks": []
78
+ },
79
+ {
80
+ "name": "ContractLineItemCollection",
81
+ "qualifiedName": "@happyvertical/smrt-commerce:ContractLineItemCollection",
82
+ "collection": "contractlineitems",
83
+ "tableName": "contract_line_item_collections",
84
+ "packageName": "@happyvertical/smrt-commerce",
85
+ "extends": "SmrtCollection",
86
+ "fields": [],
87
+ "relationships": [],
88
+ "methods": [
89
+ "findByContract",
90
+ "findByTenant",
91
+ "findGlobal",
92
+ "findWithGlobals"
93
+ ],
94
+ "surfaces": [],
95
+ "relationshipFeatures": [
96
+ "uuidColumns"
97
+ ],
98
+ "tags": [],
99
+ "risks": []
100
+ },
101
+ {
102
+ "name": "CustomerCollection",
103
+ "qualifiedName": "@happyvertical/smrt-commerce:CustomerCollection",
104
+ "collection": "customers",
105
+ "tableName": "customer_collections",
106
+ "packageName": "@happyvertical/smrt-commerce",
107
+ "extends": "SmrtCollection",
108
+ "fields": [],
109
+ "relationships": [],
110
+ "methods": [
111
+ "findActive",
112
+ "findByProfile",
113
+ "findByStatus",
114
+ "findByTenant",
115
+ "findGlobal",
116
+ "findWithGlobals",
117
+ "getOrCreateForProfile"
118
+ ],
119
+ "surfaces": [],
120
+ "relationshipFeatures": [
121
+ "uuidColumns"
122
+ ],
123
+ "tags": [],
124
+ "risks": []
125
+ },
126
+ {
127
+ "name": "FulfillmentCollection",
128
+ "qualifiedName": "@happyvertical/smrt-commerce:FulfillmentCollection",
129
+ "collection": "fulfillments",
130
+ "tableName": "fulfillment_collections",
131
+ "packageName": "@happyvertical/smrt-commerce",
132
+ "extends": "SmrtCollection",
133
+ "fields": [],
134
+ "relationships": [],
135
+ "methods": [
136
+ "findByContract",
137
+ "findByStatus",
138
+ "findByTenant",
139
+ "findByTracking",
140
+ "findByType",
141
+ "findGlobal",
142
+ "findInTransit",
143
+ "findPending",
144
+ "findShippedInRange",
145
+ "findWithGlobals"
146
+ ],
147
+ "surfaces": [],
148
+ "relationshipFeatures": [
149
+ "uuidColumns"
150
+ ],
151
+ "tags": [],
152
+ "risks": []
153
+ },
154
+ {
155
+ "name": "FulfillmentLineItemCollection",
156
+ "qualifiedName": "@happyvertical/smrt-commerce:FulfillmentLineItemCollection",
157
+ "collection": "fulfillmentlineitems",
158
+ "tableName": "fulfillment_line_item_collections",
159
+ "packageName": "@happyvertical/smrt-commerce",
160
+ "extends": "SmrtCollection",
161
+ "fields": [],
162
+ "relationships": [],
163
+ "methods": [
164
+ "findByContractLineItem",
165
+ "findByFulfillment",
166
+ "findByTenant",
167
+ "findGlobal",
168
+ "findWithGlobals",
169
+ "getTotalFulfilledForContractLine"
170
+ ],
171
+ "surfaces": [],
172
+ "relationshipFeatures": [
173
+ "uuidColumns"
174
+ ],
175
+ "tags": [],
176
+ "risks": []
177
+ },
178
+ {
179
+ "name": "InvoiceCollection",
180
+ "qualifiedName": "@happyvertical/smrt-commerce:InvoiceCollection",
181
+ "collection": "invoices",
182
+ "tableName": "invoice_collections",
183
+ "packageName": "@happyvertical/smrt-commerce",
184
+ "extends": "SmrtCollection",
185
+ "fields": [],
186
+ "relationships": [],
187
+ "methods": [
188
+ "countForYear",
189
+ "findByContract",
190
+ "findByCustomer",
191
+ "findByDateRange",
192
+ "findByExternalId",
193
+ "findByNumber",
194
+ "findByStatus",
195
+ "findByTenant",
196
+ "findDrafts",
197
+ "findGlobal",
198
+ "findNeedingSync",
199
+ "findOverdue",
200
+ "findPaid",
201
+ "findPartial",
202
+ "findSent",
203
+ "findWithGlobals",
204
+ "generateInvoiceNumber",
205
+ "getTotalOutstandingForCustomer"
206
+ ],
207
+ "surfaces": [],
208
+ "relationshipFeatures": [
209
+ "uuidColumns"
210
+ ],
211
+ "tags": [],
212
+ "risks": []
213
+ },
214
+ {
215
+ "name": "InvoiceLineItemCollection",
216
+ "qualifiedName": "@happyvertical/smrt-commerce:InvoiceLineItemCollection",
217
+ "collection": "invoicelineitems",
218
+ "tableName": "invoice_line_item_collections",
219
+ "packageName": "@happyvertical/smrt-commerce",
220
+ "extends": "SmrtCollection",
221
+ "fields": [],
222
+ "relationships": [],
223
+ "methods": [
224
+ "findByInvoice",
225
+ "findBySource",
226
+ "findBySourceType",
227
+ "findByTenant",
228
+ "findGlobal",
229
+ "findWithGlobals",
230
+ "getNextSortOrder",
231
+ "getSubtotalForInvoice",
232
+ "getTaxForInvoice",
233
+ "getTotalForInvoice",
234
+ "recalculateAmounts",
235
+ "toAccountingLineItems"
236
+ ],
237
+ "surfaces": [],
238
+ "relationshipFeatures": [
239
+ "uuidColumns"
240
+ ],
241
+ "tags": [],
242
+ "risks": []
243
+ },
244
+ {
245
+ "name": "PaymentAllocationCollection",
246
+ "qualifiedName": "@happyvertical/smrt-commerce:PaymentAllocationCollection",
247
+ "collection": "paymentallocations",
248
+ "tableName": "payment_allocation_collections",
249
+ "packageName": "@happyvertical/smrt-commerce",
250
+ "extends": "SmrtCollection",
251
+ "fields": [],
252
+ "relationships": [],
253
+ "methods": [
254
+ "findByAllocator",
255
+ "findByDateRange",
256
+ "findByInvoice",
257
+ "findByPayment",
258
+ "findByPaymentAndInvoice",
259
+ "findByTenant",
260
+ "findGlobal",
261
+ "findWithGlobals",
262
+ "getTotalAllocatedFromPayment",
263
+ "getTotalAllocatedToInvoice",
264
+ "getUnallocatedFromPayment"
265
+ ],
266
+ "surfaces": [],
267
+ "relationshipFeatures": [
268
+ "uuidColumns"
269
+ ],
270
+ "tags": [],
271
+ "risks": []
272
+ },
273
+ {
274
+ "name": "PaymentCollection",
275
+ "qualifiedName": "@happyvertical/smrt-commerce:PaymentCollection",
276
+ "collection": "payments",
277
+ "tableName": "payment_collections",
278
+ "packageName": "@happyvertical/smrt-commerce",
279
+ "extends": "SmrtCollection",
280
+ "fields": [],
281
+ "relationships": [],
282
+ "methods": [
283
+ "findByContract",
284
+ "findByCustomer",
285
+ "findByDateRange",
286
+ "findByJournal",
287
+ "findByMethod",
288
+ "findByStatus",
289
+ "findByTenant",
290
+ "findByTransactionId",
291
+ "findCompleted",
292
+ "findGlobal",
293
+ "findPending",
294
+ "findWithGlobals",
295
+ "getTotalForContract"
296
+ ],
297
+ "surfaces": [],
298
+ "relationshipFeatures": [
299
+ "uuidColumns"
300
+ ],
301
+ "tags": [],
302
+ "risks": []
303
+ },
304
+ {
305
+ "name": "PaymentInstrumentCollection",
306
+ "qualifiedName": "@happyvertical/smrt-commerce:PaymentInstrumentCollection",
307
+ "collection": "paymentinstruments",
308
+ "tableName": "payment_instrument_collections",
309
+ "packageName": "@happyvertical/smrt-commerce",
310
+ "extends": "SmrtCollection",
311
+ "fields": [],
312
+ "relationships": [],
313
+ "methods": [
314
+ "findActiveByCustomer",
315
+ "findByCustomer",
316
+ "findByProviderPaymentMethodId",
317
+ "findByTenant",
318
+ "findDefaultForCustomer",
319
+ "findGlobal",
320
+ "findWithGlobals",
321
+ "setDefaultForCustomer"
322
+ ],
323
+ "surfaces": [],
324
+ "relationshipFeatures": [
325
+ "uuidColumns"
326
+ ],
327
+ "tags": [],
328
+ "risks": []
329
+ },
330
+ {
331
+ "name": "PaymentIntentCollection",
332
+ "qualifiedName": "@happyvertical/smrt-commerce:PaymentIntentCollection",
333
+ "collection": "paymentintents",
334
+ "tableName": "payment_intent_collections",
335
+ "packageName": "@happyvertical/smrt-commerce",
336
+ "extends": "SmrtCollection",
337
+ "fields": [],
338
+ "relationships": [],
339
+ "methods": [
340
+ "findByIdempotencyKey",
341
+ "findByLicenseeEmail",
342
+ "findByOfferingRef",
343
+ "findByStatus",
344
+ "findByTenant",
345
+ "findGlobal",
346
+ "findOpen",
347
+ "findStale",
348
+ "findWithGlobals",
349
+ "getOrCreateByIdempotencyKey"
350
+ ],
351
+ "surfaces": [],
352
+ "relationshipFeatures": [
353
+ "uuidColumns"
354
+ ],
355
+ "tags": [],
356
+ "risks": []
357
+ },
358
+ {
359
+ "name": "PayoutCollection",
360
+ "qualifiedName": "@happyvertical/smrt-commerce:PayoutCollection",
361
+ "collection": "payouts",
362
+ "tableName": "payout_collections",
363
+ "packageName": "@happyvertical/smrt-commerce",
364
+ "extends": "SmrtCollection",
365
+ "fields": [],
366
+ "relationships": [],
367
+ "methods": [
368
+ "createFromPayment",
369
+ "findByBackendTxRef",
370
+ "findByPayment",
371
+ "findByStatus",
372
+ "findByTenant",
373
+ "findByVendor",
374
+ "findFailed",
375
+ "findGlobal",
376
+ "findPending",
377
+ "findWithGlobals",
378
+ "getConfirmedTotalForVendor"
379
+ ],
380
+ "surfaces": [],
381
+ "relationshipFeatures": [
382
+ "uuidColumns"
383
+ ],
384
+ "tags": [],
385
+ "risks": []
386
+ },
387
+ {
388
+ "name": "VendorCollection",
389
+ "qualifiedName": "@happyvertical/smrt-commerce:VendorCollection",
390
+ "collection": "vendors",
391
+ "tableName": "vendor_collections",
392
+ "packageName": "@happyvertical/smrt-commerce",
393
+ "extends": "SmrtCollection",
394
+ "fields": [],
395
+ "relationships": [],
396
+ "methods": [
397
+ "findActive",
398
+ "findByProfile",
399
+ "findByStatus",
400
+ "findByTenant",
401
+ "findGlobal",
402
+ "findWithGlobals",
403
+ "getOrCreateForProfile"
404
+ ],
405
+ "surfaces": [],
406
+ "relationshipFeatures": [
407
+ "uuidColumns"
408
+ ],
409
+ "tags": [],
410
+ "risks": []
411
+ },
49
412
  {
50
413
  "name": "Contract",
51
414
  "qualifiedName": "@happyvertical/smrt-commerce:Contract",
@@ -3064,348 +3427,131 @@
3064
3427
  "name": "terms",
3065
3428
  "type": "text",
3066
3429
  "required": false,
3067
- "columnType": "TEXT"
3068
- }
3069
- ],
3070
- "relationships": [
3071
- {
3072
- "name": "customerId",
3073
- "type": "foreignKey",
3074
- "required": false,
3075
- "related": "Customer",
3076
- "columnType": "UUID"
3077
- },
3078
- {
3079
- "name": "contractId",
3080
- "type": "foreignKey",
3081
- "required": false,
3082
- "related": "Contract",
3083
- "columnType": "UUID"
3084
- },
3085
- {
3086
- "name": "arJournalId",
3087
- "type": "crossPackageRef",
3088
- "required": false,
3089
- "related": "@happyvertical/smrt-ledgers:Journal",
3090
- "columnType": "UUID"
3091
- },
3092
- {
3093
- "name": "revenueJournalId",
3094
- "type": "crossPackageRef",
3095
- "required": false,
3096
- "related": "@happyvertical/smrt-ledgers:Journal",
3097
- "columnType": "UUID"
3098
- }
3099
- ],
3100
- "methods": [
3101
- "cancel",
3102
- "getAmountDue",
3103
- "getArJournal",
3104
- "initialize",
3105
- "isDraft",
3106
- "isOverdue",
3107
- "isPaid",
3108
- "isPartial",
3109
- "isSent",
3110
- "markSent",
3111
- "markViewed",
3112
- "recognizeRevenue",
3113
- "save",
3114
- "toAccountingInput",
3115
- "updatePaymentStatus",
3116
- "writeOff"
3117
- ],
3118
- "surfaces": [
3119
- {
3120
- "kind": "api",
3121
- "name": "invoices.list",
3122
- "operation": "list",
3123
- "objectName": "@happyvertical/smrt-commerce:Invoice",
3124
- "path": "/invoices",
3125
- "method": "GET"
3126
- },
3127
- {
3128
- "kind": "api",
3129
- "name": "invoices.get",
3130
- "operation": "get",
3131
- "objectName": "@happyvertical/smrt-commerce:Invoice",
3132
- "path": "/invoices/[id]",
3133
- "method": "GET"
3134
- },
3135
- {
3136
- "kind": "api",
3137
- "name": "invoices.create",
3138
- "operation": "create",
3139
- "objectName": "@happyvertical/smrt-commerce:Invoice",
3140
- "path": "/invoices",
3141
- "method": "POST"
3142
- },
3143
- {
3144
- "kind": "api",
3145
- "name": "invoices.update",
3146
- "operation": "update",
3147
- "objectName": "@happyvertical/smrt-commerce:Invoice",
3148
- "path": "/invoices/[id]",
3149
- "method": "PATCH"
3150
- },
3151
- {
3152
- "kind": "cli",
3153
- "name": "invoice_list",
3154
- "operation": "list",
3155
- "objectName": "@happyvertical/smrt-commerce:Invoice"
3156
- },
3157
- {
3158
- "kind": "cli",
3159
- "name": "invoice_get",
3160
- "operation": "get",
3161
- "objectName": "@happyvertical/smrt-commerce:Invoice"
3162
- },
3163
- {
3164
- "kind": "cli",
3165
- "name": "invoice_create",
3166
- "operation": "create",
3167
- "objectName": "@happyvertical/smrt-commerce:Invoice"
3168
- },
3169
- {
3170
- "kind": "cli",
3171
- "name": "invoice_update",
3172
- "operation": "update",
3173
- "objectName": "@happyvertical/smrt-commerce:Invoice"
3174
- },
3175
- {
3176
- "kind": "cli",
3177
- "name": "invoice_delete",
3178
- "operation": "delete",
3179
- "objectName": "@happyvertical/smrt-commerce:Invoice"
3180
- },
3181
- {
3182
- "kind": "mcp",
3183
- "name": "invoice_list",
3184
- "operation": "list",
3185
- "objectName": "@happyvertical/smrt-commerce:Invoice"
3186
- },
3187
- {
3188
- "kind": "mcp",
3189
- "name": "invoice_get",
3190
- "operation": "get",
3191
- "objectName": "@happyvertical/smrt-commerce:Invoice"
3192
- }
3193
- ],
3194
- "relationshipFeatures": [
3195
- "crossPackageRef",
3196
- "foreignKey",
3197
- "uuidColumns"
3198
- ],
3199
- "tags": [],
3200
- "risks": []
3201
- },
3202
- {
3203
- "name": "InvoiceLineItem",
3204
- "qualifiedName": "@happyvertical/smrt-commerce:InvoiceLineItem",
3205
- "collection": "invoicelineitems",
3206
- "tableName": "invoice_line_items",
3207
- "packageName": "@happyvertical/smrt-commerce",
3208
- "extends": "SmrtObject",
3209
- "fields": [
3210
- {
3211
- "name": "tenantId",
3212
- "type": "text",
3213
- "required": false,
3214
- "columnType": "UUID"
3215
- },
3216
- {
3217
- "name": "invoiceId",
3218
- "type": "foreignKey",
3219
- "required": false,
3220
- "related": "Invoice",
3221
- "columnType": "UUID"
3222
- },
3223
- {
3224
- "name": "description",
3225
- "type": "text",
3226
- "required": false,
3227
- "columnType": "TEXT"
3228
- },
3229
- {
3230
- "name": "sku",
3231
- "type": "text",
3232
- "required": false,
3233
- "columnType": "TEXT"
3234
- },
3235
- {
3236
- "name": "quantity",
3237
- "type": "integer",
3238
- "required": false,
3239
- "columnType": "INTEGER"
3240
- },
3241
- {
3242
- "name": "unitPrice",
3243
- "type": "integer",
3244
- "required": false,
3245
- "columnType": "INTEGER"
3246
- },
3247
- {
3248
- "name": "discount",
3249
- "type": "integer",
3250
- "required": false,
3251
- "columnType": "INTEGER"
3252
- },
3253
- {
3254
- "name": "taxRate",
3255
- "type": "integer",
3256
- "required": false,
3257
- "columnType": "INTEGER"
3258
- },
3259
- {
3260
- "name": "amount",
3261
- "type": "integer",
3262
- "required": false,
3263
- "columnType": "INTEGER"
3264
- },
3265
- {
3266
- "name": "sourceType",
3267
- "type": "text",
3268
- "required": false,
3269
- "columnType": "TEXT"
3270
- },
3271
- {
3272
- "name": "sourceId",
3273
- "type": "text",
3274
- "required": false,
3275
- "columnType": "TEXT"
3276
- },
3277
- {
3278
- "name": "periodStart",
3279
- "type": "datetime",
3280
- "required": false,
3281
- "columnType": "TIMESTAMP"
3282
- },
3283
- {
3284
- "name": "periodEnd",
3285
- "type": "datetime",
3286
- "required": false,
3287
- "columnType": "TIMESTAMP"
3288
- },
3289
- {
3290
- "name": "revenueAccountId",
3291
- "type": "crossPackageRef",
3292
- "required": false,
3293
- "related": "@happyvertical/smrt-ledgers:Account",
3294
- "columnType": "UUID"
3295
- },
3296
- {
3297
- "name": "sortOrder",
3298
- "type": "integer",
3299
- "required": false,
3300
- "columnType": "INTEGER"
3430
+ "columnType": "TEXT"
3301
3431
  }
3302
3432
  ],
3303
3433
  "relationships": [
3304
3434
  {
3305
- "name": "invoiceId",
3435
+ "name": "customerId",
3306
3436
  "type": "foreignKey",
3307
3437
  "required": false,
3308
- "related": "Invoice",
3438
+ "related": "Customer",
3309
3439
  "columnType": "UUID"
3310
3440
  },
3311
3441
  {
3312
- "name": "revenueAccountId",
3442
+ "name": "contractId",
3443
+ "type": "foreignKey",
3444
+ "required": false,
3445
+ "related": "Contract",
3446
+ "columnType": "UUID"
3447
+ },
3448
+ {
3449
+ "name": "arJournalId",
3313
3450
  "type": "crossPackageRef",
3314
3451
  "required": false,
3315
- "related": "@happyvertical/smrt-ledgers:Account",
3452
+ "related": "@happyvertical/smrt-ledgers:Journal",
3453
+ "columnType": "UUID"
3454
+ },
3455
+ {
3456
+ "name": "revenueJournalId",
3457
+ "type": "crossPackageRef",
3458
+ "required": false,
3459
+ "related": "@happyvertical/smrt-ledgers:Journal",
3316
3460
  "columnType": "UUID"
3317
3461
  }
3318
3462
  ],
3319
3463
  "methods": [
3320
- "calculateAmount",
3321
- "getSubtotal",
3322
- "getTaxAmount",
3323
- "hasPeriod",
3324
- "hasSource",
3325
- "toAccountingLineItem"
3464
+ "cancel",
3465
+ "getAmountDue",
3466
+ "getArJournal",
3467
+ "initialize",
3468
+ "isDraft",
3469
+ "isOverdue",
3470
+ "isPaid",
3471
+ "isPartial",
3472
+ "isSent",
3473
+ "markSent",
3474
+ "markViewed",
3475
+ "recognizeRevenue",
3476
+ "save",
3477
+ "toAccountingInput",
3478
+ "updatePaymentStatus",
3479
+ "writeOff"
3326
3480
  ],
3327
3481
  "surfaces": [
3328
3482
  {
3329
3483
  "kind": "api",
3330
- "name": "invoicelineitems.list",
3484
+ "name": "invoices.list",
3331
3485
  "operation": "list",
3332
- "objectName": "@happyvertical/smrt-commerce:InvoiceLineItem",
3333
- "path": "/invoicelineitems",
3486
+ "objectName": "@happyvertical/smrt-commerce:Invoice",
3487
+ "path": "/invoices",
3334
3488
  "method": "GET"
3335
3489
  },
3336
3490
  {
3337
3491
  "kind": "api",
3338
- "name": "invoicelineitems.get",
3492
+ "name": "invoices.get",
3339
3493
  "operation": "get",
3340
- "objectName": "@happyvertical/smrt-commerce:InvoiceLineItem",
3341
- "path": "/invoicelineitems/[id]",
3494
+ "objectName": "@happyvertical/smrt-commerce:Invoice",
3495
+ "path": "/invoices/[id]",
3342
3496
  "method": "GET"
3343
3497
  },
3344
3498
  {
3345
3499
  "kind": "api",
3346
- "name": "invoicelineitems.create",
3500
+ "name": "invoices.create",
3347
3501
  "operation": "create",
3348
- "objectName": "@happyvertical/smrt-commerce:InvoiceLineItem",
3349
- "path": "/invoicelineitems",
3502
+ "objectName": "@happyvertical/smrt-commerce:Invoice",
3503
+ "path": "/invoices",
3350
3504
  "method": "POST"
3351
3505
  },
3352
3506
  {
3353
3507
  "kind": "api",
3354
- "name": "invoicelineitems.update",
3508
+ "name": "invoices.update",
3355
3509
  "operation": "update",
3356
- "objectName": "@happyvertical/smrt-commerce:InvoiceLineItem",
3357
- "path": "/invoicelineitems/[id]",
3510
+ "objectName": "@happyvertical/smrt-commerce:Invoice",
3511
+ "path": "/invoices/[id]",
3358
3512
  "method": "PATCH"
3359
3513
  },
3360
- {
3361
- "kind": "api",
3362
- "name": "invoicelineitems.delete",
3363
- "operation": "delete",
3364
- "objectName": "@happyvertical/smrt-commerce:InvoiceLineItem",
3365
- "path": "/invoicelineitems/[id]",
3366
- "method": "DELETE"
3367
- },
3368
3514
  {
3369
3515
  "kind": "cli",
3370
- "name": "invoicelineitem_list",
3516
+ "name": "invoice_list",
3371
3517
  "operation": "list",
3372
- "objectName": "@happyvertical/smrt-commerce:InvoiceLineItem"
3518
+ "objectName": "@happyvertical/smrt-commerce:Invoice"
3373
3519
  },
3374
3520
  {
3375
3521
  "kind": "cli",
3376
- "name": "invoicelineitem_get",
3522
+ "name": "invoice_get",
3377
3523
  "operation": "get",
3378
- "objectName": "@happyvertical/smrt-commerce:InvoiceLineItem"
3524
+ "objectName": "@happyvertical/smrt-commerce:Invoice"
3379
3525
  },
3380
3526
  {
3381
3527
  "kind": "cli",
3382
- "name": "invoicelineitem_create",
3528
+ "name": "invoice_create",
3383
3529
  "operation": "create",
3384
- "objectName": "@happyvertical/smrt-commerce:InvoiceLineItem"
3530
+ "objectName": "@happyvertical/smrt-commerce:Invoice"
3385
3531
  },
3386
3532
  {
3387
3533
  "kind": "cli",
3388
- "name": "invoicelineitem_update",
3534
+ "name": "invoice_update",
3389
3535
  "operation": "update",
3390
- "objectName": "@happyvertical/smrt-commerce:InvoiceLineItem"
3536
+ "objectName": "@happyvertical/smrt-commerce:Invoice"
3391
3537
  },
3392
3538
  {
3393
3539
  "kind": "cli",
3394
- "name": "invoicelineitem_delete",
3540
+ "name": "invoice_delete",
3395
3541
  "operation": "delete",
3396
- "objectName": "@happyvertical/smrt-commerce:InvoiceLineItem"
3542
+ "objectName": "@happyvertical/smrt-commerce:Invoice"
3397
3543
  },
3398
3544
  {
3399
3545
  "kind": "mcp",
3400
- "name": "invoicelineitem_list",
3546
+ "name": "invoice_list",
3401
3547
  "operation": "list",
3402
- "objectName": "@happyvertical/smrt-commerce:InvoiceLineItem"
3548
+ "objectName": "@happyvertical/smrt-commerce:Invoice"
3403
3549
  },
3404
3550
  {
3405
3551
  "kind": "mcp",
3406
- "name": "invoicelineitem_get",
3552
+ "name": "invoice_get",
3407
3553
  "operation": "get",
3408
- "objectName": "@happyvertical/smrt-commerce:InvoiceLineItem"
3554
+ "objectName": "@happyvertical/smrt-commerce:Invoice"
3409
3555
  }
3410
3556
  ],
3411
3557
  "relationshipFeatures": [
@@ -3417,10 +3563,10 @@
3417
3563
  "risks": []
3418
3564
  },
3419
3565
  {
3420
- "name": "Payment",
3421
- "qualifiedName": "@happyvertical/smrt-commerce:Payment",
3422
- "collection": "payments",
3423
- "tableName": "payments",
3566
+ "name": "InvoiceLineItem",
3567
+ "qualifiedName": "@happyvertical/smrt-commerce:InvoiceLineItem",
3568
+ "collection": "invoicelineitems",
3569
+ "tableName": "invoice_line_items",
3424
3570
  "packageName": "@happyvertical/smrt-commerce",
3425
3571
  "extends": "SmrtObject",
3426
3572
  "fields": [
@@ -3431,238 +3577,198 @@
3431
3577
  "columnType": "UUID"
3432
3578
  },
3433
3579
  {
3434
- "name": "contractId",
3435
- "type": "foreignKey",
3436
- "required": false,
3437
- "related": "Contract",
3438
- "columnType": "UUID"
3439
- },
3440
- {
3441
- "name": "customerId",
3580
+ "name": "invoiceId",
3442
3581
  "type": "foreignKey",
3443
3582
  "required": false,
3444
- "related": "Customer",
3583
+ "related": "Invoice",
3445
3584
  "columnType": "UUID"
3446
3585
  },
3447
3586
  {
3448
- "name": "amount",
3449
- "type": "decimal",
3450
- "required": false,
3451
- "columnType": "REAL"
3452
- },
3453
- {
3454
- "name": "currency",
3455
- "type": "text",
3456
- "required": false,
3457
- "columnType": "TEXT"
3458
- },
3459
- {
3460
- "name": "method",
3587
+ "name": "description",
3461
3588
  "type": "text",
3462
3589
  "required": false,
3463
3590
  "columnType": "TEXT"
3464
3591
  },
3465
3592
  {
3466
- "name": "status",
3593
+ "name": "sku",
3467
3594
  "type": "text",
3468
3595
  "required": false,
3469
3596
  "columnType": "TEXT"
3470
3597
  },
3471
3598
  {
3472
- "name": "transactionId",
3473
- "type": "text",
3599
+ "name": "quantity",
3600
+ "type": "integer",
3474
3601
  "required": false,
3475
- "columnType": "TEXT"
3602
+ "columnType": "INTEGER"
3476
3603
  },
3477
3604
  {
3478
- "name": "reference",
3479
- "type": "text",
3605
+ "name": "unitPrice",
3606
+ "type": "integer",
3480
3607
  "required": false,
3481
- "columnType": "TEXT"
3608
+ "columnType": "INTEGER"
3482
3609
  },
3483
3610
  {
3484
- "name": "journalId",
3485
- "type": "crossPackageRef",
3611
+ "name": "discount",
3612
+ "type": "integer",
3486
3613
  "required": false,
3487
- "related": "@happyvertical/smrt-ledgers:Journal",
3488
- "columnType": "UUID"
3614
+ "columnType": "INTEGER"
3489
3615
  },
3490
3616
  {
3491
- "name": "paidAt",
3492
- "type": "datetime",
3617
+ "name": "taxRate",
3618
+ "type": "integer",
3493
3619
  "required": false,
3494
- "columnType": "TIMESTAMP"
3620
+ "columnType": "INTEGER"
3495
3621
  },
3496
3622
  {
3497
- "name": "notes",
3498
- "type": "text",
3623
+ "name": "amount",
3624
+ "type": "integer",
3499
3625
  "required": false,
3500
- "columnType": "TEXT"
3626
+ "columnType": "INTEGER"
3501
3627
  },
3502
3628
  {
3503
- "name": "externalId",
3629
+ "name": "sourceType",
3504
3630
  "type": "text",
3505
3631
  "required": false,
3506
3632
  "columnType": "TEXT"
3507
3633
  },
3508
3634
  {
3509
- "name": "externalProvider",
3635
+ "name": "sourceId",
3510
3636
  "type": "text",
3511
3637
  "required": false,
3512
3638
  "columnType": "TEXT"
3513
3639
  },
3514
3640
  {
3515
- "name": "syncedAt",
3641
+ "name": "periodStart",
3516
3642
  "type": "datetime",
3517
3643
  "required": false,
3518
3644
  "columnType": "TIMESTAMP"
3519
3645
  },
3520
3646
  {
3521
- "name": "backendId",
3522
- "type": "text",
3523
- "required": false,
3524
- "columnType": "TEXT"
3525
- },
3526
- {
3527
- "name": "backendTxRef",
3528
- "type": "text",
3529
- "required": false,
3530
- "columnType": "TEXT"
3531
- },
3532
- {
3533
- "name": "nativeAmount",
3534
- "type": "decimal",
3535
- "required": false,
3536
- "columnType": "REAL"
3537
- },
3538
- {
3539
- "name": "nativeCurrency",
3540
- "type": "text",
3647
+ "name": "periodEnd",
3648
+ "type": "datetime",
3541
3649
  "required": false,
3542
- "columnType": "TEXT"
3650
+ "columnType": "TIMESTAMP"
3543
3651
  },
3544
3652
  {
3545
- "name": "usdAtQuote",
3546
- "type": "decimal",
3653
+ "name": "revenueAccountId",
3654
+ "type": "crossPackageRef",
3547
3655
  "required": false,
3548
- "columnType": "REAL"
3656
+ "related": "@happyvertical/smrt-ledgers:Account",
3657
+ "columnType": "UUID"
3549
3658
  },
3550
3659
  {
3551
- "name": "usdAtConfirmation",
3552
- "type": "decimal",
3660
+ "name": "sortOrder",
3661
+ "type": "integer",
3553
3662
  "required": false,
3554
- "columnType": "REAL"
3663
+ "columnType": "INTEGER"
3555
3664
  }
3556
3665
  ],
3557
3666
  "relationships": [
3558
3667
  {
3559
- "name": "contractId",
3560
- "type": "foreignKey",
3561
- "required": false,
3562
- "related": "Contract",
3563
- "columnType": "UUID"
3564
- },
3565
- {
3566
- "name": "customerId",
3668
+ "name": "invoiceId",
3567
3669
  "type": "foreignKey",
3568
3670
  "required": false,
3569
- "related": "Customer",
3671
+ "related": "Invoice",
3570
3672
  "columnType": "UUID"
3571
3673
  },
3572
3674
  {
3573
- "name": "journalId",
3675
+ "name": "revenueAccountId",
3574
3676
  "type": "crossPackageRef",
3575
3677
  "required": false,
3576
- "related": "@happyvertical/smrt-ledgers:Journal",
3678
+ "related": "@happyvertical/smrt-ledgers:Account",
3577
3679
  "columnType": "UUID"
3578
3680
  }
3579
3681
  ],
3580
3682
  "methods": [
3581
- "cancel",
3582
- "getJournal",
3583
- "initialize",
3584
- "isCompleted",
3585
- "isPending",
3586
- "isRefunded",
3587
- "markFailed",
3588
- "recordPayment",
3589
- "save",
3590
- "usdDrift"
3683
+ "calculateAmount",
3684
+ "getSubtotal",
3685
+ "getTaxAmount",
3686
+ "hasPeriod",
3687
+ "hasSource",
3688
+ "toAccountingLineItem"
3591
3689
  ],
3592
3690
  "surfaces": [
3593
3691
  {
3594
3692
  "kind": "api",
3595
- "name": "payments.list",
3693
+ "name": "invoicelineitems.list",
3596
3694
  "operation": "list",
3597
- "objectName": "@happyvertical/smrt-commerce:Payment",
3598
- "path": "/payments",
3695
+ "objectName": "@happyvertical/smrt-commerce:InvoiceLineItem",
3696
+ "path": "/invoicelineitems",
3599
3697
  "method": "GET"
3600
3698
  },
3601
3699
  {
3602
3700
  "kind": "api",
3603
- "name": "payments.get",
3701
+ "name": "invoicelineitems.get",
3604
3702
  "operation": "get",
3605
- "objectName": "@happyvertical/smrt-commerce:Payment",
3606
- "path": "/payments/[id]",
3703
+ "objectName": "@happyvertical/smrt-commerce:InvoiceLineItem",
3704
+ "path": "/invoicelineitems/[id]",
3607
3705
  "method": "GET"
3608
3706
  },
3609
3707
  {
3610
3708
  "kind": "api",
3611
- "name": "payments.create",
3709
+ "name": "invoicelineitems.create",
3612
3710
  "operation": "create",
3613
- "objectName": "@happyvertical/smrt-commerce:Payment",
3614
- "path": "/payments",
3711
+ "objectName": "@happyvertical/smrt-commerce:InvoiceLineItem",
3712
+ "path": "/invoicelineitems",
3615
3713
  "method": "POST"
3616
3714
  },
3617
3715
  {
3618
3716
  "kind": "api",
3619
- "name": "payments.update",
3717
+ "name": "invoicelineitems.update",
3620
3718
  "operation": "update",
3621
- "objectName": "@happyvertical/smrt-commerce:Payment",
3622
- "path": "/payments/[id]",
3719
+ "objectName": "@happyvertical/smrt-commerce:InvoiceLineItem",
3720
+ "path": "/invoicelineitems/[id]",
3623
3721
  "method": "PATCH"
3624
3722
  },
3723
+ {
3724
+ "kind": "api",
3725
+ "name": "invoicelineitems.delete",
3726
+ "operation": "delete",
3727
+ "objectName": "@happyvertical/smrt-commerce:InvoiceLineItem",
3728
+ "path": "/invoicelineitems/[id]",
3729
+ "method": "DELETE"
3730
+ },
3625
3731
  {
3626
3732
  "kind": "cli",
3627
- "name": "payment_list",
3733
+ "name": "invoicelineitem_list",
3628
3734
  "operation": "list",
3629
- "objectName": "@happyvertical/smrt-commerce:Payment"
3735
+ "objectName": "@happyvertical/smrt-commerce:InvoiceLineItem"
3630
3736
  },
3631
3737
  {
3632
3738
  "kind": "cli",
3633
- "name": "payment_get",
3739
+ "name": "invoicelineitem_get",
3634
3740
  "operation": "get",
3635
- "objectName": "@happyvertical/smrt-commerce:Payment"
3741
+ "objectName": "@happyvertical/smrt-commerce:InvoiceLineItem"
3636
3742
  },
3637
3743
  {
3638
3744
  "kind": "cli",
3639
- "name": "payment_create",
3745
+ "name": "invoicelineitem_create",
3640
3746
  "operation": "create",
3641
- "objectName": "@happyvertical/smrt-commerce:Payment"
3747
+ "objectName": "@happyvertical/smrt-commerce:InvoiceLineItem"
3642
3748
  },
3643
3749
  {
3644
3750
  "kind": "cli",
3645
- "name": "payment_update",
3751
+ "name": "invoicelineitem_update",
3646
3752
  "operation": "update",
3647
- "objectName": "@happyvertical/smrt-commerce:Payment"
3753
+ "objectName": "@happyvertical/smrt-commerce:InvoiceLineItem"
3648
3754
  },
3649
3755
  {
3650
3756
  "kind": "cli",
3651
- "name": "payment_delete",
3757
+ "name": "invoicelineitem_delete",
3652
3758
  "operation": "delete",
3653
- "objectName": "@happyvertical/smrt-commerce:Payment"
3759
+ "objectName": "@happyvertical/smrt-commerce:InvoiceLineItem"
3654
3760
  },
3655
3761
  {
3656
3762
  "kind": "mcp",
3657
- "name": "payment_list",
3763
+ "name": "invoicelineitem_list",
3658
3764
  "operation": "list",
3659
- "objectName": "@happyvertical/smrt-commerce:Payment"
3765
+ "objectName": "@happyvertical/smrt-commerce:InvoiceLineItem"
3660
3766
  },
3661
3767
  {
3662
3768
  "kind": "mcp",
3663
- "name": "payment_get",
3769
+ "name": "invoicelineitem_get",
3664
3770
  "operation": "get",
3665
- "objectName": "@happyvertical/smrt-commerce:Payment"
3771
+ "objectName": "@happyvertical/smrt-commerce:InvoiceLineItem"
3666
3772
  }
3667
3773
  ],
3668
3774
  "relationshipFeatures": [
@@ -3674,10 +3780,10 @@
3674
3780
  "risks": []
3675
3781
  },
3676
3782
  {
3677
- "name": "PaymentAllocation",
3678
- "qualifiedName": "@happyvertical/smrt-commerce:PaymentAllocation",
3679
- "collection": "paymentallocations",
3680
- "tableName": "payment_allocations",
3783
+ "name": "Payment",
3784
+ "qualifiedName": "@happyvertical/smrt-commerce:Payment",
3785
+ "collection": "payments",
3786
+ "tableName": "payments",
3681
3787
  "packageName": "@happyvertical/smrt-commerce",
3682
3788
  "extends": "SmrtObject",
3683
3789
  "fields": [
@@ -3688,287 +3794,242 @@
3688
3794
  "columnType": "UUID"
3689
3795
  },
3690
3796
  {
3691
- "name": "paymentId",
3797
+ "name": "contractId",
3692
3798
  "type": "foreignKey",
3693
3799
  "required": false,
3694
- "related": "Payment",
3800
+ "related": "Contract",
3695
3801
  "columnType": "UUID"
3696
3802
  },
3697
3803
  {
3698
- "name": "invoiceId",
3804
+ "name": "customerId",
3699
3805
  "type": "foreignKey",
3700
3806
  "required": false,
3701
- "related": "Invoice",
3807
+ "related": "Customer",
3702
3808
  "columnType": "UUID"
3703
3809
  },
3704
3810
  {
3705
3811
  "name": "amount",
3706
- "type": "integer",
3812
+ "type": "decimal",
3707
3813
  "required": false,
3708
- "columnType": "INTEGER"
3814
+ "columnType": "REAL"
3709
3815
  },
3710
3816
  {
3711
- "name": "allocatedAt",
3712
- "type": "datetime",
3817
+ "name": "currency",
3818
+ "type": "text",
3713
3819
  "required": false,
3714
- "columnType": "TIMESTAMP"
3820
+ "columnType": "TEXT"
3715
3821
  },
3716
3822
  {
3717
- "name": "allocatedBy",
3823
+ "name": "method",
3718
3824
  "type": "text",
3719
3825
  "required": false,
3720
3826
  "columnType": "TEXT"
3721
3827
  },
3722
3828
  {
3723
- "name": "notes",
3829
+ "name": "status",
3724
3830
  "type": "text",
3725
3831
  "required": false,
3726
3832
  "columnType": "TEXT"
3727
- }
3728
- ],
3729
- "relationships": [
3730
- {
3731
- "name": "paymentId",
3732
- "type": "foreignKey",
3733
- "required": false,
3734
- "related": "Payment",
3735
- "columnType": "UUID"
3736
3833
  },
3737
3834
  {
3738
- "name": "invoiceId",
3739
- "type": "foreignKey",
3835
+ "name": "transactionId",
3836
+ "type": "text",
3740
3837
  "required": false,
3741
- "related": "Invoice",
3742
- "columnType": "UUID"
3743
- }
3744
- ],
3745
- "methods": [
3746
- "save"
3747
- ],
3748
- "surfaces": [
3749
- {
3750
- "kind": "api",
3751
- "name": "paymentallocations.list",
3752
- "operation": "list",
3753
- "objectName": "@happyvertical/smrt-commerce:PaymentAllocation",
3754
- "path": "/paymentallocations",
3755
- "method": "GET"
3756
- },
3757
- {
3758
- "kind": "api",
3759
- "name": "paymentallocations.get",
3760
- "operation": "get",
3761
- "objectName": "@happyvertical/smrt-commerce:PaymentAllocation",
3762
- "path": "/paymentallocations/[id]",
3763
- "method": "GET"
3764
- },
3765
- {
3766
- "kind": "cli",
3767
- "name": "paymentallocation_list",
3768
- "operation": "list",
3769
- "objectName": "@happyvertical/smrt-commerce:PaymentAllocation"
3770
- },
3771
- {
3772
- "kind": "cli",
3773
- "name": "paymentallocation_get",
3774
- "operation": "get",
3775
- "objectName": "@happyvertical/smrt-commerce:PaymentAllocation"
3838
+ "columnType": "TEXT"
3776
3839
  },
3777
3840
  {
3778
- "kind": "mcp",
3779
- "name": "paymentallocation_list",
3780
- "operation": "list",
3781
- "objectName": "@happyvertical/smrt-commerce:PaymentAllocation"
3841
+ "name": "reference",
3842
+ "type": "text",
3843
+ "required": false,
3844
+ "columnType": "TEXT"
3782
3845
  },
3783
3846
  {
3784
- "kind": "mcp",
3785
- "name": "paymentallocation_get",
3786
- "operation": "get",
3787
- "objectName": "@happyvertical/smrt-commerce:PaymentAllocation"
3788
- }
3789
- ],
3790
- "relationshipFeatures": [
3791
- "foreignKey",
3792
- "uuidColumns"
3793
- ],
3794
- "tags": [],
3795
- "risks": []
3796
- },
3797
- {
3798
- "name": "PaymentInstrument",
3799
- "qualifiedName": "@happyvertical/smrt-commerce:PaymentInstrument",
3800
- "collection": "paymentinstruments",
3801
- "tableName": "payment_instruments",
3802
- "packageName": "@happyvertical/smrt-commerce",
3803
- "extends": "SmrtObject",
3804
- "fields": [
3805
- {
3806
- "name": "tenantId",
3807
- "type": "text",
3847
+ "name": "journalId",
3848
+ "type": "crossPackageRef",
3808
3849
  "required": false,
3850
+ "related": "@happyvertical/smrt-ledgers:Journal",
3809
3851
  "columnType": "UUID"
3810
3852
  },
3811
3853
  {
3812
- "name": "customerId",
3813
- "type": "foreignKey",
3854
+ "name": "paidAt",
3855
+ "type": "datetime",
3814
3856
  "required": false,
3815
- "related": "Customer",
3816
- "columnType": "UUID"
3857
+ "columnType": "TIMESTAMP"
3817
3858
  },
3818
3859
  {
3819
- "name": "backendId",
3860
+ "name": "notes",
3820
3861
  "type": "text",
3821
3862
  "required": false,
3822
3863
  "columnType": "TEXT"
3823
3864
  },
3824
3865
  {
3825
- "name": "providerCustomerId",
3866
+ "name": "externalId",
3826
3867
  "type": "text",
3827
3868
  "required": false,
3828
3869
  "columnType": "TEXT"
3829
3870
  },
3830
3871
  {
3831
- "name": "providerPaymentMethodId",
3872
+ "name": "externalProvider",
3832
3873
  "type": "text",
3833
3874
  "required": false,
3834
3875
  "columnType": "TEXT"
3835
3876
  },
3836
3877
  {
3837
- "name": "type",
3838
- "type": "text",
3878
+ "name": "syncedAt",
3879
+ "type": "datetime",
3839
3880
  "required": false,
3840
- "columnType": "TEXT"
3881
+ "columnType": "TIMESTAMP"
3841
3882
  },
3842
3883
  {
3843
- "name": "brand",
3884
+ "name": "backendId",
3844
3885
  "type": "text",
3845
3886
  "required": false,
3846
3887
  "columnType": "TEXT"
3847
3888
  },
3848
3889
  {
3849
- "name": "last4",
3890
+ "name": "backendTxRef",
3850
3891
  "type": "text",
3851
3892
  "required": false,
3852
3893
  "columnType": "TEXT"
3853
3894
  },
3854
3895
  {
3855
- "name": "expMonth",
3856
- "type": "integer",
3896
+ "name": "nativeAmount",
3897
+ "type": "decimal",
3857
3898
  "required": false,
3858
- "columnType": "INTEGER"
3899
+ "columnType": "REAL"
3859
3900
  },
3860
3901
  {
3861
- "name": "expYear",
3862
- "type": "integer",
3902
+ "name": "nativeCurrency",
3903
+ "type": "text",
3863
3904
  "required": false,
3864
- "columnType": "INTEGER"
3905
+ "columnType": "TEXT"
3865
3906
  },
3866
3907
  {
3867
- "name": "isDefault",
3868
- "type": "boolean",
3908
+ "name": "usdAtQuote",
3909
+ "type": "decimal",
3869
3910
  "required": false,
3870
- "columnType": "BOOLEAN"
3911
+ "columnType": "REAL"
3871
3912
  },
3872
3913
  {
3873
- "name": "status",
3874
- "type": "text",
3914
+ "name": "usdAtConfirmation",
3915
+ "type": "decimal",
3875
3916
  "required": false,
3876
- "columnType": "TEXT"
3917
+ "columnType": "REAL"
3877
3918
  }
3878
3919
  ],
3879
3920
  "relationships": [
3921
+ {
3922
+ "name": "contractId",
3923
+ "type": "foreignKey",
3924
+ "required": false,
3925
+ "related": "Contract",
3926
+ "columnType": "UUID"
3927
+ },
3880
3928
  {
3881
3929
  "name": "customerId",
3882
3930
  "type": "foreignKey",
3883
3931
  "required": false,
3884
3932
  "related": "Customer",
3885
3933
  "columnType": "UUID"
3934
+ },
3935
+ {
3936
+ "name": "journalId",
3937
+ "type": "crossPackageRef",
3938
+ "required": false,
3939
+ "related": "@happyvertical/smrt-ledgers:Journal",
3940
+ "columnType": "UUID"
3886
3941
  }
3887
3942
  ],
3888
3943
  "methods": [
3889
- "isActive",
3890
- "isExpired",
3891
- "isRemoved",
3892
- "markExpired",
3893
- "markRemoved"
3944
+ "cancel",
3945
+ "getJournal",
3946
+ "initialize",
3947
+ "isCompleted",
3948
+ "isPending",
3949
+ "isRefunded",
3950
+ "markFailed",
3951
+ "recordPayment",
3952
+ "save",
3953
+ "usdDrift"
3894
3954
  ],
3895
3955
  "surfaces": [
3896
3956
  {
3897
3957
  "kind": "api",
3898
- "name": "paymentinstruments.list",
3958
+ "name": "payments.list",
3899
3959
  "operation": "list",
3900
- "objectName": "@happyvertical/smrt-commerce:PaymentInstrument",
3901
- "path": "/paymentinstruments",
3960
+ "objectName": "@happyvertical/smrt-commerce:Payment",
3961
+ "path": "/payments",
3902
3962
  "method": "GET"
3903
3963
  },
3904
3964
  {
3905
3965
  "kind": "api",
3906
- "name": "paymentinstruments.get",
3966
+ "name": "payments.get",
3907
3967
  "operation": "get",
3908
- "objectName": "@happyvertical/smrt-commerce:PaymentInstrument",
3909
- "path": "/paymentinstruments/[id]",
3968
+ "objectName": "@happyvertical/smrt-commerce:Payment",
3969
+ "path": "/payments/[id]",
3910
3970
  "method": "GET"
3911
3971
  },
3912
3972
  {
3913
3973
  "kind": "api",
3914
- "name": "paymentinstruments.create",
3974
+ "name": "payments.create",
3915
3975
  "operation": "create",
3916
- "objectName": "@happyvertical/smrt-commerce:PaymentInstrument",
3917
- "path": "/paymentinstruments",
3976
+ "objectName": "@happyvertical/smrt-commerce:Payment",
3977
+ "path": "/payments",
3918
3978
  "method": "POST"
3919
3979
  },
3920
3980
  {
3921
3981
  "kind": "api",
3922
- "name": "paymentinstruments.update",
3982
+ "name": "payments.update",
3923
3983
  "operation": "update",
3924
- "objectName": "@happyvertical/smrt-commerce:PaymentInstrument",
3925
- "path": "/paymentinstruments/[id]",
3984
+ "objectName": "@happyvertical/smrt-commerce:Payment",
3985
+ "path": "/payments/[id]",
3926
3986
  "method": "PATCH"
3927
3987
  },
3928
3988
  {
3929
3989
  "kind": "cli",
3930
- "name": "paymentinstrument_list",
3990
+ "name": "payment_list",
3931
3991
  "operation": "list",
3932
- "objectName": "@happyvertical/smrt-commerce:PaymentInstrument"
3992
+ "objectName": "@happyvertical/smrt-commerce:Payment"
3933
3993
  },
3934
3994
  {
3935
3995
  "kind": "cli",
3936
- "name": "paymentinstrument_get",
3996
+ "name": "payment_get",
3937
3997
  "operation": "get",
3938
- "objectName": "@happyvertical/smrt-commerce:PaymentInstrument"
3998
+ "objectName": "@happyvertical/smrt-commerce:Payment"
3939
3999
  },
3940
4000
  {
3941
4001
  "kind": "cli",
3942
- "name": "paymentinstrument_create",
4002
+ "name": "payment_create",
3943
4003
  "operation": "create",
3944
- "objectName": "@happyvertical/smrt-commerce:PaymentInstrument"
4004
+ "objectName": "@happyvertical/smrt-commerce:Payment"
3945
4005
  },
3946
4006
  {
3947
4007
  "kind": "cli",
3948
- "name": "paymentinstrument_update",
4008
+ "name": "payment_update",
3949
4009
  "operation": "update",
3950
- "objectName": "@happyvertical/smrt-commerce:PaymentInstrument"
4010
+ "objectName": "@happyvertical/smrt-commerce:Payment"
3951
4011
  },
3952
4012
  {
3953
4013
  "kind": "cli",
3954
- "name": "paymentinstrument_delete",
4014
+ "name": "payment_delete",
3955
4015
  "operation": "delete",
3956
- "objectName": "@happyvertical/smrt-commerce:PaymentInstrument"
4016
+ "objectName": "@happyvertical/smrt-commerce:Payment"
3957
4017
  },
3958
4018
  {
3959
4019
  "kind": "mcp",
3960
- "name": "paymentinstrument_list",
4020
+ "name": "payment_list",
3961
4021
  "operation": "list",
3962
- "objectName": "@happyvertical/smrt-commerce:PaymentInstrument"
4022
+ "objectName": "@happyvertical/smrt-commerce:Payment"
3963
4023
  },
3964
4024
  {
3965
4025
  "kind": "mcp",
3966
- "name": "paymentinstrument_get",
4026
+ "name": "payment_get",
3967
4027
  "operation": "get",
3968
- "objectName": "@happyvertical/smrt-commerce:PaymentInstrument"
4028
+ "objectName": "@happyvertical/smrt-commerce:Payment"
3969
4029
  }
3970
4030
  ],
3971
4031
  "relationshipFeatures": [
4032
+ "crossPackageRef",
3972
4033
  "foreignKey",
3973
4034
  "uuidColumns"
3974
4035
  ],
@@ -3976,10 +4037,10 @@
3976
4037
  "risks": []
3977
4038
  },
3978
4039
  {
3979
- "name": "PaymentIntent",
3980
- "qualifiedName": "@happyvertical/smrt-commerce:PaymentIntent",
3981
- "collection": "paymentintents",
3982
- "tableName": "payment_intents",
4040
+ "name": "PaymentAllocation",
4041
+ "qualifiedName": "@happyvertical/smrt-commerce:PaymentAllocation",
4042
+ "collection": "paymentallocations",
4043
+ "tableName": "payment_allocations",
3983
4044
  "packageName": "@happyvertical/smrt-commerce",
3984
4045
  "extends": "SmrtObject",
3985
4046
  "fields": [
@@ -3990,222 +4051,117 @@
3990
4051
  "columnType": "UUID"
3991
4052
  },
3992
4053
  {
3993
- "name": "skuId",
3994
- "type": "text",
3995
- "required": false,
3996
- "columnType": "TEXT"
3997
- },
3998
- {
3999
- "name": "offeringRef",
4000
- "type": "text",
4001
- "required": false,
4002
- "columnType": "TEXT"
4003
- },
4004
- {
4005
- "name": "licenseeEmail",
4006
- "type": "text",
4007
- "required": false,
4008
- "columnType": "TEXT"
4009
- },
4010
- {
4011
- "name": "customerId",
4012
- "type": "text",
4013
- "required": false,
4014
- "columnType": "TEXT"
4015
- },
4016
- {
4017
- "name": "paymentOptions",
4018
- "type": "json",
4054
+ "name": "paymentId",
4055
+ "type": "foreignKey",
4019
4056
  "required": false,
4020
- "columnType": "JSON"
4057
+ "related": "Payment",
4058
+ "columnType": "UUID"
4021
4059
  },
4022
4060
  {
4023
- "name": "usdPriceLocked",
4024
- "type": "decimal",
4061
+ "name": "invoiceId",
4062
+ "type": "foreignKey",
4025
4063
  "required": false,
4026
- "columnType": "REAL"
4064
+ "related": "Invoice",
4065
+ "columnType": "UUID"
4027
4066
  },
4028
4067
  {
4029
- "name": "priceLockWindowMs",
4068
+ "name": "amount",
4030
4069
  "type": "integer",
4031
4070
  "required": false,
4032
4071
  "columnType": "INTEGER"
4033
4072
  },
4034
4073
  {
4035
- "name": "priceLockExpiresAt",
4074
+ "name": "allocatedAt",
4036
4075
  "type": "datetime",
4037
4076
  "required": false,
4038
4077
  "columnType": "TIMESTAMP"
4039
4078
  },
4040
4079
  {
4041
- "name": "status",
4042
- "type": "text",
4043
- "required": false,
4044
- "columnType": "TEXT"
4045
- },
4046
- {
4047
- "name": "idempotencyKey",
4080
+ "name": "allocatedBy",
4048
4081
  "type": "text",
4049
4082
  "required": false,
4050
4083
  "columnType": "TEXT"
4051
4084
  },
4052
4085
  {
4053
- "name": "paidOptionBackendId",
4086
+ "name": "notes",
4054
4087
  "type": "text",
4055
4088
  "required": false,
4056
4089
  "columnType": "TEXT"
4057
- },
4090
+ }
4091
+ ],
4092
+ "relationships": [
4058
4093
  {
4059
4094
  "name": "paymentId",
4060
- "type": "text",
4061
- "required": false,
4062
- "columnType": "TEXT"
4063
- },
4064
- {
4065
- "name": "paidAt",
4066
- "type": "datetime",
4067
- "required": false,
4068
- "columnType": "TIMESTAMP"
4069
- },
4070
- {
4071
- "name": "issuedAt",
4072
- "type": "datetime",
4073
- "required": false,
4074
- "columnType": "TIMESTAMP"
4075
- },
4076
- {
4077
- "name": "expiredAt",
4078
- "type": "datetime",
4079
- "required": false,
4080
- "columnType": "TIMESTAMP"
4081
- },
4082
- {
4083
- "name": "cancelledAt",
4084
- "type": "datetime",
4085
- "required": false,
4086
- "columnType": "TIMESTAMP"
4087
- },
4088
- {
4089
- "name": "retiredAt",
4090
- "type": "datetime",
4095
+ "type": "foreignKey",
4091
4096
  "required": false,
4092
- "columnType": "TIMESTAMP"
4097
+ "related": "Payment",
4098
+ "columnType": "UUID"
4093
4099
  },
4094
4100
  {
4095
- "name": "notes",
4096
- "type": "text",
4101
+ "name": "invoiceId",
4102
+ "type": "foreignKey",
4097
4103
  "required": false,
4098
- "columnType": "TEXT"
4104
+ "related": "Invoice",
4105
+ "columnType": "UUID"
4099
4106
  }
4100
4107
  ],
4101
- "relationships": [],
4102
4108
  "methods": [
4103
- "cancel",
4104
- "expire",
4105
- "getOption",
4106
- "getRetiredOptions",
4107
- "initialize",
4108
- "isAwaitingPayment",
4109
- "isCancelled",
4110
- "isExpired",
4111
- "isIssued",
4112
- "isOptionRetired",
4113
- "isPaid",
4114
- "isRetired",
4115
- "isTerminal",
4116
- "markIssued",
4117
- "markPaid",
4118
- "retire",
4119
- "save",
4120
- "verifyAndMarkPaid"
4109
+ "save"
4121
4110
  ],
4122
4111
  "surfaces": [
4123
4112
  {
4124
4113
  "kind": "api",
4125
- "name": "paymentintents.list",
4114
+ "name": "paymentallocations.list",
4126
4115
  "operation": "list",
4127
- "objectName": "@happyvertical/smrt-commerce:PaymentIntent",
4128
- "path": "/paymentintents",
4116
+ "objectName": "@happyvertical/smrt-commerce:PaymentAllocation",
4117
+ "path": "/paymentallocations",
4129
4118
  "method": "GET"
4130
4119
  },
4131
4120
  {
4132
4121
  "kind": "api",
4133
- "name": "paymentintents.get",
4122
+ "name": "paymentallocations.get",
4134
4123
  "operation": "get",
4135
- "objectName": "@happyvertical/smrt-commerce:PaymentIntent",
4136
- "path": "/paymentintents/[id]",
4124
+ "objectName": "@happyvertical/smrt-commerce:PaymentAllocation",
4125
+ "path": "/paymentallocations/[id]",
4137
4126
  "method": "GET"
4138
4127
  },
4139
- {
4140
- "kind": "api",
4141
- "name": "paymentintents.create",
4142
- "operation": "create",
4143
- "objectName": "@happyvertical/smrt-commerce:PaymentIntent",
4144
- "path": "/paymentintents",
4145
- "method": "POST"
4146
- },
4147
- {
4148
- "kind": "api",
4149
- "name": "paymentintents.update",
4150
- "operation": "update",
4151
- "objectName": "@happyvertical/smrt-commerce:PaymentIntent",
4152
- "path": "/paymentintents/[id]",
4153
- "method": "PATCH"
4154
- },
4155
4128
  {
4156
4129
  "kind": "cli",
4157
- "name": "paymentintent_list",
4130
+ "name": "paymentallocation_list",
4158
4131
  "operation": "list",
4159
- "objectName": "@happyvertical/smrt-commerce:PaymentIntent"
4132
+ "objectName": "@happyvertical/smrt-commerce:PaymentAllocation"
4160
4133
  },
4161
4134
  {
4162
4135
  "kind": "cli",
4163
- "name": "paymentintent_get",
4136
+ "name": "paymentallocation_get",
4164
4137
  "operation": "get",
4165
- "objectName": "@happyvertical/smrt-commerce:PaymentIntent"
4166
- },
4167
- {
4168
- "kind": "cli",
4169
- "name": "paymentintent_create",
4170
- "operation": "create",
4171
- "objectName": "@happyvertical/smrt-commerce:PaymentIntent"
4172
- },
4173
- {
4174
- "kind": "cli",
4175
- "name": "paymentintent_update",
4176
- "operation": "update",
4177
- "objectName": "@happyvertical/smrt-commerce:PaymentIntent"
4178
- },
4179
- {
4180
- "kind": "cli",
4181
- "name": "paymentintent_delete",
4182
- "operation": "delete",
4183
- "objectName": "@happyvertical/smrt-commerce:PaymentIntent"
4138
+ "objectName": "@happyvertical/smrt-commerce:PaymentAllocation"
4184
4139
  },
4185
4140
  {
4186
4141
  "kind": "mcp",
4187
- "name": "paymentintent_list",
4142
+ "name": "paymentallocation_list",
4188
4143
  "operation": "list",
4189
- "objectName": "@happyvertical/smrt-commerce:PaymentIntent"
4144
+ "objectName": "@happyvertical/smrt-commerce:PaymentAllocation"
4190
4145
  },
4191
4146
  {
4192
4147
  "kind": "mcp",
4193
- "name": "paymentintent_get",
4148
+ "name": "paymentallocation_get",
4194
4149
  "operation": "get",
4195
- "objectName": "@happyvertical/smrt-commerce:PaymentIntent"
4150
+ "objectName": "@happyvertical/smrt-commerce:PaymentAllocation"
4196
4151
  }
4197
4152
  ],
4198
4153
  "relationshipFeatures": [
4154
+ "foreignKey",
4199
4155
  "uuidColumns"
4200
4156
  ],
4201
4157
  "tags": [],
4202
4158
  "risks": []
4203
4159
  },
4204
4160
  {
4205
- "name": "Payout",
4206
- "qualifiedName": "@happyvertical/smrt-commerce:Payout",
4207
- "collection": "payouts",
4208
- "tableName": "payouts",
4161
+ "name": "PaymentInstrument",
4162
+ "qualifiedName": "@happyvertical/smrt-commerce:PaymentInstrument",
4163
+ "collection": "paymentinstruments",
4164
+ "tableName": "payment_instruments",
4209
4165
  "packageName": "@happyvertical/smrt-commerce",
4210
4166
  "extends": "SmrtObject",
4211
4167
  "fields": [
@@ -4216,86 +4172,68 @@
4216
4172
  "columnType": "UUID"
4217
4173
  },
4218
4174
  {
4219
- "name": "paymentId",
4220
- "type": "text",
4221
- "required": false,
4222
- "columnType": "TEXT"
4223
- },
4224
- {
4225
- "name": "vendorId",
4226
- "type": "foreignKey",
4227
- "required": false,
4228
- "related": "Vendor",
4229
- "columnType": "UUID"
4230
- },
4231
- {
4232
- "name": "grossAmount",
4233
- "type": "decimal",
4234
- "required": false,
4235
- "columnType": "REAL"
4236
- },
4237
- {
4238
- "name": "operatorFee",
4239
- "type": "decimal",
4175
+ "name": "customerId",
4176
+ "type": "foreignKey",
4240
4177
  "required": false,
4241
- "columnType": "REAL"
4178
+ "related": "Customer",
4179
+ "columnType": "UUID"
4242
4180
  },
4243
4181
  {
4244
- "name": "supplierNet",
4245
- "type": "decimal",
4182
+ "name": "backendId",
4183
+ "type": "text",
4246
4184
  "required": false,
4247
- "columnType": "REAL"
4185
+ "columnType": "TEXT"
4248
4186
  },
4249
4187
  {
4250
- "name": "currency",
4188
+ "name": "providerCustomerId",
4251
4189
  "type": "text",
4252
4190
  "required": false,
4253
4191
  "columnType": "TEXT"
4254
4192
  },
4255
4193
  {
4256
- "name": "backendId",
4194
+ "name": "providerPaymentMethodId",
4257
4195
  "type": "text",
4258
4196
  "required": false,
4259
4197
  "columnType": "TEXT"
4260
4198
  },
4261
4199
  {
4262
- "name": "backendTxRef",
4200
+ "name": "type",
4263
4201
  "type": "text",
4264
4202
  "required": false,
4265
4203
  "columnType": "TEXT"
4266
4204
  },
4267
4205
  {
4268
- "name": "status",
4206
+ "name": "brand",
4269
4207
  "type": "text",
4270
4208
  "required": false,
4271
4209
  "columnType": "TEXT"
4272
4210
  },
4273
4211
  {
4274
- "name": "sentAt",
4275
- "type": "datetime",
4212
+ "name": "last4",
4213
+ "type": "text",
4276
4214
  "required": false,
4277
- "columnType": "TIMESTAMP"
4215
+ "columnType": "TEXT"
4278
4216
  },
4279
4217
  {
4280
- "name": "confirmedAt",
4281
- "type": "datetime",
4218
+ "name": "expMonth",
4219
+ "type": "integer",
4282
4220
  "required": false,
4283
- "columnType": "TIMESTAMP"
4221
+ "columnType": "INTEGER"
4284
4222
  },
4285
4223
  {
4286
- "name": "failedAt",
4287
- "type": "datetime",
4224
+ "name": "expYear",
4225
+ "type": "integer",
4288
4226
  "required": false,
4289
- "columnType": "TIMESTAMP"
4227
+ "columnType": "INTEGER"
4290
4228
  },
4291
4229
  {
4292
- "name": "failureReason",
4293
- "type": "text",
4230
+ "name": "isDefault",
4231
+ "type": "boolean",
4294
4232
  "required": false,
4295
- "columnType": "TEXT"
4233
+ "columnType": "BOOLEAN"
4296
4234
  },
4297
4235
  {
4298
- "name": "notes",
4236
+ "name": "status",
4299
4237
  "type": "text",
4300
4238
  "required": false,
4301
4239
  "columnType": "TEXT"
@@ -4303,66 +4241,94 @@
4303
4241
  ],
4304
4242
  "relationships": [
4305
4243
  {
4306
- "name": "vendorId",
4244
+ "name": "customerId",
4307
4245
  "type": "foreignKey",
4308
4246
  "required": false,
4309
- "related": "Vendor",
4247
+ "related": "Customer",
4310
4248
  "columnType": "UUID"
4311
4249
  }
4312
4250
  ],
4313
4251
  "methods": [
4314
- "initialize",
4315
- "isConfirmed",
4316
- "isFailed",
4317
- "isPending",
4318
- "isSent",
4319
- "markConfirmed",
4320
- "markFailed",
4321
- "markSent",
4322
- "resetFromFailed",
4323
- "save",
4324
- "validateAmounts"
4252
+ "isActive",
4253
+ "isExpired",
4254
+ "isRemoved",
4255
+ "markExpired",
4256
+ "markRemoved"
4325
4257
  ],
4326
4258
  "surfaces": [
4327
4259
  {
4328
4260
  "kind": "api",
4329
- "name": "payouts.list",
4261
+ "name": "paymentinstruments.list",
4330
4262
  "operation": "list",
4331
- "objectName": "@happyvertical/smrt-commerce:Payout",
4332
- "path": "/payouts",
4263
+ "objectName": "@happyvertical/smrt-commerce:PaymentInstrument",
4264
+ "path": "/paymentinstruments",
4333
4265
  "method": "GET"
4334
4266
  },
4335
4267
  {
4336
4268
  "kind": "api",
4337
- "name": "payouts.get",
4269
+ "name": "paymentinstruments.get",
4338
4270
  "operation": "get",
4339
- "objectName": "@happyvertical/smrt-commerce:Payout",
4340
- "path": "/payouts/[id]",
4271
+ "objectName": "@happyvertical/smrt-commerce:PaymentInstrument",
4272
+ "path": "/paymentinstruments/[id]",
4341
4273
  "method": "GET"
4342
4274
  },
4275
+ {
4276
+ "kind": "api",
4277
+ "name": "paymentinstruments.create",
4278
+ "operation": "create",
4279
+ "objectName": "@happyvertical/smrt-commerce:PaymentInstrument",
4280
+ "path": "/paymentinstruments",
4281
+ "method": "POST"
4282
+ },
4283
+ {
4284
+ "kind": "api",
4285
+ "name": "paymentinstruments.update",
4286
+ "operation": "update",
4287
+ "objectName": "@happyvertical/smrt-commerce:PaymentInstrument",
4288
+ "path": "/paymentinstruments/[id]",
4289
+ "method": "PATCH"
4290
+ },
4343
4291
  {
4344
4292
  "kind": "cli",
4345
- "name": "payout_list",
4293
+ "name": "paymentinstrument_list",
4346
4294
  "operation": "list",
4347
- "objectName": "@happyvertical/smrt-commerce:Payout"
4295
+ "objectName": "@happyvertical/smrt-commerce:PaymentInstrument"
4348
4296
  },
4349
4297
  {
4350
4298
  "kind": "cli",
4351
- "name": "payout_get",
4299
+ "name": "paymentinstrument_get",
4352
4300
  "operation": "get",
4353
- "objectName": "@happyvertical/smrt-commerce:Payout"
4301
+ "objectName": "@happyvertical/smrt-commerce:PaymentInstrument"
4302
+ },
4303
+ {
4304
+ "kind": "cli",
4305
+ "name": "paymentinstrument_create",
4306
+ "operation": "create",
4307
+ "objectName": "@happyvertical/smrt-commerce:PaymentInstrument"
4308
+ },
4309
+ {
4310
+ "kind": "cli",
4311
+ "name": "paymentinstrument_update",
4312
+ "operation": "update",
4313
+ "objectName": "@happyvertical/smrt-commerce:PaymentInstrument"
4314
+ },
4315
+ {
4316
+ "kind": "cli",
4317
+ "name": "paymentinstrument_delete",
4318
+ "operation": "delete",
4319
+ "objectName": "@happyvertical/smrt-commerce:PaymentInstrument"
4354
4320
  },
4355
4321
  {
4356
4322
  "kind": "mcp",
4357
- "name": "payout_list",
4323
+ "name": "paymentinstrument_list",
4358
4324
  "operation": "list",
4359
- "objectName": "@happyvertical/smrt-commerce:Payout"
4325
+ "objectName": "@happyvertical/smrt-commerce:PaymentInstrument"
4360
4326
  },
4361
4327
  {
4362
4328
  "kind": "mcp",
4363
- "name": "payout_get",
4329
+ "name": "paymentinstrument_get",
4364
4330
  "operation": "get",
4365
- "objectName": "@happyvertical/smrt-commerce:Payout"
4331
+ "objectName": "@happyvertical/smrt-commerce:PaymentInstrument"
4366
4332
  }
4367
4333
  ],
4368
4334
  "relationshipFeatures": [
@@ -4373,10 +4339,10 @@
4373
4339
  "risks": []
4374
4340
  },
4375
4341
  {
4376
- "name": "Vendor",
4377
- "qualifiedName": "@happyvertical/smrt-commerce:Vendor",
4378
- "collection": "vendors",
4379
- "tableName": "vendors",
4342
+ "name": "PaymentIntent",
4343
+ "qualifiedName": "@happyvertical/smrt-commerce:PaymentIntent",
4344
+ "collection": "paymentintents",
4345
+ "tableName": "payment_intents",
4380
4346
  "packageName": "@happyvertical/smrt-commerce",
4381
4347
  "extends": "SmrtObject",
4382
4348
  "fields": [
@@ -4387,358 +4353,211 @@
4387
4353
  "columnType": "UUID"
4388
4354
  },
4389
4355
  {
4390
- "name": "profileId",
4391
- "type": "crossPackageRef",
4356
+ "name": "skuId",
4357
+ "type": "text",
4392
4358
  "required": false,
4393
- "related": "@happyvertical/smrt-profiles:Profile",
4394
- "columnType": "UUID"
4359
+ "columnType": "TEXT"
4395
4360
  },
4396
4361
  {
4397
- "name": "leadTimeDays",
4398
- "type": "integer",
4362
+ "name": "offeringRef",
4363
+ "type": "text",
4399
4364
  "required": false,
4400
- "columnType": "INTEGER"
4365
+ "columnType": "TEXT"
4401
4366
  },
4402
4367
  {
4403
- "name": "minimumOrderAmount",
4404
- "type": "decimal",
4368
+ "name": "licenseeEmail",
4369
+ "type": "text",
4405
4370
  "required": false,
4406
- "columnType": "REAL"
4371
+ "columnType": "TEXT"
4407
4372
  },
4408
4373
  {
4409
- "name": "paymentTerms",
4374
+ "name": "customerId",
4410
4375
  "type": "text",
4411
4376
  "required": false,
4412
4377
  "columnType": "TEXT"
4413
4378
  },
4414
4379
  {
4415
- "name": "currency",
4416
- "type": "text",
4380
+ "name": "paymentOptions",
4381
+ "type": "json",
4417
4382
  "required": false,
4418
- "columnType": "TEXT"
4383
+ "columnType": "JSON"
4419
4384
  },
4420
4385
  {
4421
- "name": "defaultContactEmail",
4386
+ "name": "usdPriceLocked",
4387
+ "type": "decimal",
4388
+ "required": false,
4389
+ "columnType": "REAL"
4390
+ },
4391
+ {
4392
+ "name": "priceLockWindowMs",
4393
+ "type": "integer",
4394
+ "required": false,
4395
+ "columnType": "INTEGER"
4396
+ },
4397
+ {
4398
+ "name": "priceLockExpiresAt",
4399
+ "type": "datetime",
4400
+ "required": false,
4401
+ "columnType": "TIMESTAMP"
4402
+ },
4403
+ {
4404
+ "name": "status",
4422
4405
  "type": "text",
4423
4406
  "required": false,
4424
4407
  "columnType": "TEXT"
4425
4408
  },
4426
4409
  {
4427
- "name": "defaultContactPhone",
4410
+ "name": "idempotencyKey",
4428
4411
  "type": "text",
4429
4412
  "required": false,
4430
4413
  "columnType": "TEXT"
4431
4414
  },
4432
4415
  {
4433
- "name": "status",
4416
+ "name": "paidOptionBackendId",
4434
4417
  "type": "text",
4435
4418
  "required": false,
4436
4419
  "columnType": "TEXT"
4437
4420
  },
4438
4421
  {
4439
- "name": "notes",
4422
+ "name": "paymentId",
4440
4423
  "type": "text",
4441
4424
  "required": false,
4442
4425
  "columnType": "TEXT"
4443
4426
  },
4444
4427
  {
4445
- "name": "payoutAddresses",
4446
- "type": "json",
4428
+ "name": "paidAt",
4429
+ "type": "datetime",
4447
4430
  "required": false,
4448
- "columnType": "JSON"
4449
- }
4450
- ],
4451
- "relationships": [
4431
+ "columnType": "TIMESTAMP"
4432
+ },
4452
4433
  {
4453
- "name": "profileId",
4454
- "type": "crossPackageRef",
4434
+ "name": "issuedAt",
4435
+ "type": "datetime",
4455
4436
  "required": false,
4456
- "related": "@happyvertical/smrt-profiles:Profile",
4457
- "columnType": "UUID"
4437
+ "columnType": "TIMESTAMP"
4438
+ },
4439
+ {
4440
+ "name": "expiredAt",
4441
+ "type": "datetime",
4442
+ "required": false,
4443
+ "columnType": "TIMESTAMP"
4444
+ },
4445
+ {
4446
+ "name": "cancelledAt",
4447
+ "type": "datetime",
4448
+ "required": false,
4449
+ "columnType": "TIMESTAMP"
4450
+ },
4451
+ {
4452
+ "name": "retiredAt",
4453
+ "type": "datetime",
4454
+ "required": false,
4455
+ "columnType": "TIMESTAMP"
4456
+ },
4457
+ {
4458
+ "name": "notes",
4459
+ "type": "text",
4460
+ "required": false,
4461
+ "columnType": "TEXT"
4458
4462
  }
4459
4463
  ],
4464
+ "relationships": [],
4460
4465
  "methods": [
4461
- "clearPayoutAddress",
4462
- "getPayoutAddress",
4463
- "getProfileId",
4466
+ "cancel",
4467
+ "expire",
4468
+ "getOption",
4469
+ "getRetiredOptions",
4464
4470
  "initialize",
4465
- "isActive",
4466
- "meetsMinimumOrder",
4471
+ "isAwaitingPayment",
4472
+ "isCancelled",
4473
+ "isExpired",
4474
+ "isIssued",
4475
+ "isOptionRetired",
4476
+ "isPaid",
4477
+ "isRetired",
4478
+ "isTerminal",
4479
+ "markIssued",
4480
+ "markPaid",
4481
+ "retire",
4467
4482
  "save",
4468
- "setPayoutAddress"
4483
+ "verifyAndMarkPaid"
4469
4484
  ],
4470
4485
  "surfaces": [
4471
4486
  {
4472
4487
  "kind": "api",
4473
- "name": "vendors.list",
4488
+ "name": "paymentintents.list",
4474
4489
  "operation": "list",
4475
- "objectName": "@happyvertical/smrt-commerce:Vendor",
4476
- "path": "/vendors",
4490
+ "objectName": "@happyvertical/smrt-commerce:PaymentIntent",
4491
+ "path": "/paymentintents",
4477
4492
  "method": "GET"
4478
4493
  },
4479
4494
  {
4480
4495
  "kind": "api",
4481
- "name": "vendors.get",
4496
+ "name": "paymentintents.get",
4482
4497
  "operation": "get",
4483
- "objectName": "@happyvertical/smrt-commerce:Vendor",
4484
- "path": "/vendors/[id]",
4498
+ "objectName": "@happyvertical/smrt-commerce:PaymentIntent",
4499
+ "path": "/paymentintents/[id]",
4485
4500
  "method": "GET"
4486
4501
  },
4487
4502
  {
4488
4503
  "kind": "api",
4489
- "name": "vendors.create",
4504
+ "name": "paymentintents.create",
4490
4505
  "operation": "create",
4491
- "objectName": "@happyvertical/smrt-commerce:Vendor",
4492
- "path": "/vendors",
4506
+ "objectName": "@happyvertical/smrt-commerce:PaymentIntent",
4507
+ "path": "/paymentintents",
4493
4508
  "method": "POST"
4494
4509
  },
4495
4510
  {
4496
4511
  "kind": "api",
4497
- "name": "vendors.update",
4498
- "operation": "update",
4499
- "objectName": "@happyvertical/smrt-commerce:Vendor",
4500
- "path": "/vendors/[id]",
4501
- "method": "PATCH"
4502
- },
4503
- {
4504
- "kind": "cli",
4505
- "name": "vendor_list",
4506
- "operation": "list",
4507
- "objectName": "@happyvertical/smrt-commerce:Vendor"
4508
- },
4509
- {
4510
- "kind": "cli",
4511
- "name": "vendor_get",
4512
- "operation": "get",
4513
- "objectName": "@happyvertical/smrt-commerce:Vendor"
4514
- },
4515
- {
4516
- "kind": "cli",
4517
- "name": "vendor_create",
4518
- "operation": "create",
4519
- "objectName": "@happyvertical/smrt-commerce:Vendor"
4520
- },
4521
- {
4522
- "kind": "cli",
4523
- "name": "vendor_update",
4512
+ "name": "paymentintents.update",
4524
4513
  "operation": "update",
4525
- "objectName": "@happyvertical/smrt-commerce:Vendor"
4526
- },
4527
- {
4528
- "kind": "cli",
4529
- "name": "vendor_delete",
4530
- "operation": "delete",
4531
- "objectName": "@happyvertical/smrt-commerce:Vendor"
4532
- },
4533
- {
4534
- "kind": "mcp",
4535
- "name": "vendor_list",
4536
- "operation": "list",
4537
- "objectName": "@happyvertical/smrt-commerce:Vendor"
4538
- },
4539
- {
4540
- "kind": "mcp",
4541
- "name": "vendor_get",
4542
- "operation": "get",
4543
- "objectName": "@happyvertical/smrt-commerce:Vendor"
4544
- }
4545
- ],
4546
- "relationshipFeatures": [
4547
- "crossPackageRef",
4548
- "uuidColumns"
4549
- ],
4550
- "tags": [],
4551
- "risks": []
4552
- },
4553
- {
4554
- "name": "ContractCollection",
4555
- "qualifiedName": "@happyvertical/smrt-commerce:ContractCollection",
4556
- "collection": "contracts",
4557
- "tableName": "contract_collections",
4558
- "packageName": "@happyvertical/smrt-commerce",
4559
- "extends": "SmrtCollection",
4560
- "fields": [],
4561
- "relationships": [],
4562
- "methods": [
4563
- "findAccepted",
4564
- "findByCustomer",
4565
- "findByDateRange",
4566
- "findByStatus",
4567
- "findByTenant",
4568
- "findByType",
4569
- "findByVendor",
4570
- "findDrafts",
4571
- "findExpired",
4572
- "findGlobal",
4573
- "findOverdue",
4574
- "findWithGlobals"
4575
- ],
4576
- "surfaces": [],
4577
- "relationshipFeatures": [
4578
- "uuidColumns"
4579
- ],
4580
- "tags": [],
4581
- "risks": []
4582
- },
4583
- {
4584
- "name": "ContractLineItemCollection",
4585
- "qualifiedName": "@happyvertical/smrt-commerce:ContractLineItemCollection",
4586
- "collection": "contractlineitems",
4587
- "tableName": "contract_line_item_collections",
4588
- "packageName": "@happyvertical/smrt-commerce",
4589
- "extends": "SmrtCollection",
4590
- "fields": [],
4591
- "relationships": [],
4592
- "methods": [
4593
- "findByContract",
4594
- "findByTenant",
4595
- "findGlobal",
4596
- "findWithGlobals"
4597
- ],
4598
- "surfaces": [],
4599
- "relationshipFeatures": [
4600
- "uuidColumns"
4601
- ],
4602
- "tags": [],
4603
- "risks": []
4604
- },
4605
- {
4606
- "name": "CustomerCollection",
4607
- "qualifiedName": "@happyvertical/smrt-commerce:CustomerCollection",
4608
- "collection": "customers",
4609
- "tableName": "customer_collections",
4610
- "packageName": "@happyvertical/smrt-commerce",
4611
- "extends": "SmrtCollection",
4612
- "fields": [],
4613
- "relationships": [],
4614
- "methods": [
4615
- "findActive",
4616
- "findByProfile",
4617
- "findByStatus",
4618
- "findByTenant",
4619
- "findGlobal",
4620
- "findWithGlobals",
4621
- "getOrCreateForProfile"
4622
- ],
4623
- "surfaces": [],
4624
- "relationshipFeatures": [
4625
- "uuidColumns"
4626
- ],
4627
- "tags": [],
4628
- "risks": []
4629
- },
4630
- {
4631
- "name": "FulfillmentCollection",
4632
- "qualifiedName": "@happyvertical/smrt-commerce:FulfillmentCollection",
4633
- "collection": "fulfillments",
4634
- "tableName": "fulfillment_collections",
4635
- "packageName": "@happyvertical/smrt-commerce",
4636
- "extends": "SmrtCollection",
4637
- "fields": [],
4638
- "relationships": [],
4639
- "methods": [
4640
- "findByContract",
4641
- "findByStatus",
4642
- "findByTenant",
4643
- "findByTracking",
4644
- "findByType",
4645
- "findGlobal",
4646
- "findInTransit",
4647
- "findPending",
4648
- "findShippedInRange",
4649
- "findWithGlobals"
4650
- ],
4651
- "surfaces": [],
4652
- "relationshipFeatures": [
4653
- "uuidColumns"
4654
- ],
4655
- "tags": [],
4656
- "risks": []
4657
- },
4658
- {
4659
- "name": "FulfillmentLineItemCollection",
4660
- "qualifiedName": "@happyvertical/smrt-commerce:FulfillmentLineItemCollection",
4661
- "collection": "fulfillmentlineitems",
4662
- "tableName": "fulfillment_line_item_collections",
4663
- "packageName": "@happyvertical/smrt-commerce",
4664
- "extends": "SmrtCollection",
4665
- "fields": [],
4666
- "relationships": [],
4667
- "methods": [
4668
- "findByContractLineItem",
4669
- "findByFulfillment",
4670
- "findByTenant",
4671
- "findGlobal",
4672
- "findWithGlobals",
4673
- "getTotalFulfilledForContractLine"
4674
- ],
4675
- "surfaces": [],
4676
- "relationshipFeatures": [
4677
- "uuidColumns"
4678
- ],
4679
- "tags": [],
4680
- "risks": []
4681
- },
4682
- {
4683
- "name": "InvoiceCollection",
4684
- "qualifiedName": "@happyvertical/smrt-commerce:InvoiceCollection",
4685
- "collection": "invoices",
4686
- "tableName": "invoice_collections",
4687
- "packageName": "@happyvertical/smrt-commerce",
4688
- "extends": "SmrtCollection",
4689
- "fields": [],
4690
- "relationships": [],
4691
- "methods": [
4692
- "countForYear",
4693
- "findByContract",
4694
- "findByCustomer",
4695
- "findByDateRange",
4696
- "findByExternalId",
4697
- "findByNumber",
4698
- "findByStatus",
4699
- "findByTenant",
4700
- "findDrafts",
4701
- "findGlobal",
4702
- "findNeedingSync",
4703
- "findOverdue",
4704
- "findPaid",
4705
- "findPartial",
4706
- "findSent",
4707
- "findWithGlobals",
4708
- "generateInvoiceNumber",
4709
- "getTotalOutstandingForCustomer"
4710
- ],
4711
- "surfaces": [],
4712
- "relationshipFeatures": [
4713
- "uuidColumns"
4714
- ],
4715
- "tags": [],
4716
- "risks": []
4717
- },
4718
- {
4719
- "name": "InvoiceLineItemCollection",
4720
- "qualifiedName": "@happyvertical/smrt-commerce:InvoiceLineItemCollection",
4721
- "collection": "invoicelineitems",
4722
- "tableName": "invoice_line_item_collections",
4723
- "packageName": "@happyvertical/smrt-commerce",
4724
- "extends": "SmrtCollection",
4725
- "fields": [],
4726
- "relationships": [],
4727
- "methods": [
4728
- "findByInvoice",
4729
- "findBySource",
4730
- "findBySourceType",
4731
- "findByTenant",
4732
- "findGlobal",
4733
- "findWithGlobals",
4734
- "getNextSortOrder",
4735
- "getSubtotalForInvoice",
4736
- "getTaxForInvoice",
4737
- "getTotalForInvoice",
4738
- "recalculateAmounts",
4739
- "toAccountingLineItems"
4514
+ "objectName": "@happyvertical/smrt-commerce:PaymentIntent",
4515
+ "path": "/paymentintents/[id]",
4516
+ "method": "PATCH"
4517
+ },
4518
+ {
4519
+ "kind": "cli",
4520
+ "name": "paymentintent_list",
4521
+ "operation": "list",
4522
+ "objectName": "@happyvertical/smrt-commerce:PaymentIntent"
4523
+ },
4524
+ {
4525
+ "kind": "cli",
4526
+ "name": "paymentintent_get",
4527
+ "operation": "get",
4528
+ "objectName": "@happyvertical/smrt-commerce:PaymentIntent"
4529
+ },
4530
+ {
4531
+ "kind": "cli",
4532
+ "name": "paymentintent_create",
4533
+ "operation": "create",
4534
+ "objectName": "@happyvertical/smrt-commerce:PaymentIntent"
4535
+ },
4536
+ {
4537
+ "kind": "cli",
4538
+ "name": "paymentintent_update",
4539
+ "operation": "update",
4540
+ "objectName": "@happyvertical/smrt-commerce:PaymentIntent"
4541
+ },
4542
+ {
4543
+ "kind": "cli",
4544
+ "name": "paymentintent_delete",
4545
+ "operation": "delete",
4546
+ "objectName": "@happyvertical/smrt-commerce:PaymentIntent"
4547
+ },
4548
+ {
4549
+ "kind": "mcp",
4550
+ "name": "paymentintent_list",
4551
+ "operation": "list",
4552
+ "objectName": "@happyvertical/smrt-commerce:PaymentIntent"
4553
+ },
4554
+ {
4555
+ "kind": "mcp",
4556
+ "name": "paymentintent_get",
4557
+ "operation": "get",
4558
+ "objectName": "@happyvertical/smrt-commerce:PaymentIntent"
4559
+ }
4740
4560
  ],
4741
- "surfaces": [],
4742
4561
  "relationshipFeatures": [
4743
4562
  "uuidColumns"
4744
4563
  ],
@@ -4746,168 +4565,349 @@
4746
4565
  "risks": []
4747
4566
  },
4748
4567
  {
4749
- "name": "PaymentAllocationCollection",
4750
- "qualifiedName": "@happyvertical/smrt-commerce:PaymentAllocationCollection",
4751
- "collection": "paymentallocations",
4752
- "tableName": "payment_allocation_collections",
4568
+ "name": "Payout",
4569
+ "qualifiedName": "@happyvertical/smrt-commerce:Payout",
4570
+ "collection": "payouts",
4571
+ "tableName": "payouts",
4753
4572
  "packageName": "@happyvertical/smrt-commerce",
4754
- "extends": "SmrtCollection",
4755
- "fields": [],
4756
- "relationships": [],
4757
- "methods": [
4758
- "findByAllocator",
4759
- "findByDateRange",
4760
- "findByInvoice",
4761
- "findByPayment",
4762
- "findByPaymentAndInvoice",
4763
- "findByTenant",
4764
- "findGlobal",
4765
- "findWithGlobals",
4766
- "getTotalAllocatedFromPayment",
4767
- "getTotalAllocatedToInvoice",
4768
- "getUnallocatedFromPayment"
4573
+ "extends": "SmrtObject",
4574
+ "fields": [
4575
+ {
4576
+ "name": "tenantId",
4577
+ "type": "text",
4578
+ "required": false,
4579
+ "columnType": "UUID"
4580
+ },
4581
+ {
4582
+ "name": "paymentId",
4583
+ "type": "text",
4584
+ "required": false,
4585
+ "columnType": "TEXT"
4586
+ },
4587
+ {
4588
+ "name": "vendorId",
4589
+ "type": "foreignKey",
4590
+ "required": false,
4591
+ "related": "Vendor",
4592
+ "columnType": "UUID"
4593
+ },
4594
+ {
4595
+ "name": "grossAmount",
4596
+ "type": "decimal",
4597
+ "required": false,
4598
+ "columnType": "REAL"
4599
+ },
4600
+ {
4601
+ "name": "operatorFee",
4602
+ "type": "decimal",
4603
+ "required": false,
4604
+ "columnType": "REAL"
4605
+ },
4606
+ {
4607
+ "name": "supplierNet",
4608
+ "type": "decimal",
4609
+ "required": false,
4610
+ "columnType": "REAL"
4611
+ },
4612
+ {
4613
+ "name": "currency",
4614
+ "type": "text",
4615
+ "required": false,
4616
+ "columnType": "TEXT"
4617
+ },
4618
+ {
4619
+ "name": "backendId",
4620
+ "type": "text",
4621
+ "required": false,
4622
+ "columnType": "TEXT"
4623
+ },
4624
+ {
4625
+ "name": "backendTxRef",
4626
+ "type": "text",
4627
+ "required": false,
4628
+ "columnType": "TEXT"
4629
+ },
4630
+ {
4631
+ "name": "status",
4632
+ "type": "text",
4633
+ "required": false,
4634
+ "columnType": "TEXT"
4635
+ },
4636
+ {
4637
+ "name": "sentAt",
4638
+ "type": "datetime",
4639
+ "required": false,
4640
+ "columnType": "TIMESTAMP"
4641
+ },
4642
+ {
4643
+ "name": "confirmedAt",
4644
+ "type": "datetime",
4645
+ "required": false,
4646
+ "columnType": "TIMESTAMP"
4647
+ },
4648
+ {
4649
+ "name": "failedAt",
4650
+ "type": "datetime",
4651
+ "required": false,
4652
+ "columnType": "TIMESTAMP"
4653
+ },
4654
+ {
4655
+ "name": "failureReason",
4656
+ "type": "text",
4657
+ "required": false,
4658
+ "columnType": "TEXT"
4659
+ },
4660
+ {
4661
+ "name": "notes",
4662
+ "type": "text",
4663
+ "required": false,
4664
+ "columnType": "TEXT"
4665
+ }
4769
4666
  ],
4770
- "surfaces": [],
4771
- "relationshipFeatures": [
4772
- "uuidColumns"
4667
+ "relationships": [
4668
+ {
4669
+ "name": "vendorId",
4670
+ "type": "foreignKey",
4671
+ "required": false,
4672
+ "related": "Vendor",
4673
+ "columnType": "UUID"
4674
+ }
4773
4675
  ],
4774
- "tags": [],
4775
- "risks": []
4776
- },
4777
- {
4778
- "name": "PaymentCollection",
4779
- "qualifiedName": "@happyvertical/smrt-commerce:PaymentCollection",
4780
- "collection": "payments",
4781
- "tableName": "payment_collections",
4782
- "packageName": "@happyvertical/smrt-commerce",
4783
- "extends": "SmrtCollection",
4784
- "fields": [],
4785
- "relationships": [],
4786
4676
  "methods": [
4787
- "findByContract",
4788
- "findByCustomer",
4789
- "findByDateRange",
4790
- "findByJournal",
4791
- "findByMethod",
4792
- "findByStatus",
4793
- "findByTenant",
4794
- "findByTransactionId",
4795
- "findCompleted",
4796
- "findGlobal",
4797
- "findPending",
4798
- "findWithGlobals",
4799
- "getTotalForContract"
4800
- ],
4801
- "surfaces": [],
4802
- "relationshipFeatures": [
4803
- "uuidColumns"
4677
+ "initialize",
4678
+ "isConfirmed",
4679
+ "isFailed",
4680
+ "isPending",
4681
+ "isSent",
4682
+ "markConfirmed",
4683
+ "markFailed",
4684
+ "markSent",
4685
+ "resetFromFailed",
4686
+ "save",
4687
+ "validateAmounts"
4804
4688
  ],
4805
- "tags": [],
4806
- "risks": []
4807
- },
4808
- {
4809
- "name": "PaymentInstrumentCollection",
4810
- "qualifiedName": "@happyvertical/smrt-commerce:PaymentInstrumentCollection",
4811
- "collection": "paymentinstruments",
4812
- "tableName": "payment_instrument_collections",
4813
- "packageName": "@happyvertical/smrt-commerce",
4814
- "extends": "SmrtCollection",
4815
- "fields": [],
4816
- "relationships": [],
4817
- "methods": [
4818
- "findActiveByCustomer",
4819
- "findByCustomer",
4820
- "findByProviderPaymentMethodId",
4821
- "findByTenant",
4822
- "findDefaultForCustomer",
4823
- "findGlobal",
4824
- "findWithGlobals",
4825
- "setDefaultForCustomer"
4689
+ "surfaces": [
4690
+ {
4691
+ "kind": "api",
4692
+ "name": "payouts.list",
4693
+ "operation": "list",
4694
+ "objectName": "@happyvertical/smrt-commerce:Payout",
4695
+ "path": "/payouts",
4696
+ "method": "GET"
4697
+ },
4698
+ {
4699
+ "kind": "api",
4700
+ "name": "payouts.get",
4701
+ "operation": "get",
4702
+ "objectName": "@happyvertical/smrt-commerce:Payout",
4703
+ "path": "/payouts/[id]",
4704
+ "method": "GET"
4705
+ },
4706
+ {
4707
+ "kind": "cli",
4708
+ "name": "payout_list",
4709
+ "operation": "list",
4710
+ "objectName": "@happyvertical/smrt-commerce:Payout"
4711
+ },
4712
+ {
4713
+ "kind": "cli",
4714
+ "name": "payout_get",
4715
+ "operation": "get",
4716
+ "objectName": "@happyvertical/smrt-commerce:Payout"
4717
+ },
4718
+ {
4719
+ "kind": "mcp",
4720
+ "name": "payout_list",
4721
+ "operation": "list",
4722
+ "objectName": "@happyvertical/smrt-commerce:Payout"
4723
+ },
4724
+ {
4725
+ "kind": "mcp",
4726
+ "name": "payout_get",
4727
+ "operation": "get",
4728
+ "objectName": "@happyvertical/smrt-commerce:Payout"
4729
+ }
4826
4730
  ],
4827
- "surfaces": [],
4828
4731
  "relationshipFeatures": [
4732
+ "foreignKey",
4829
4733
  "uuidColumns"
4830
4734
  ],
4831
4735
  "tags": [],
4832
4736
  "risks": []
4833
4737
  },
4834
4738
  {
4835
- "name": "PaymentIntentCollection",
4836
- "qualifiedName": "@happyvertical/smrt-commerce:PaymentIntentCollection",
4837
- "collection": "paymentintents",
4838
- "tableName": "payment_intent_collections",
4739
+ "name": "Vendor",
4740
+ "qualifiedName": "@happyvertical/smrt-commerce:Vendor",
4741
+ "collection": "vendors",
4742
+ "tableName": "vendors",
4839
4743
  "packageName": "@happyvertical/smrt-commerce",
4840
- "extends": "SmrtCollection",
4841
- "fields": [],
4842
- "relationships": [],
4843
- "methods": [
4844
- "findByIdempotencyKey",
4845
- "findByLicenseeEmail",
4846
- "findByOfferingRef",
4847
- "findByStatus",
4848
- "findByTenant",
4849
- "findGlobal",
4850
- "findOpen",
4851
- "findStale",
4852
- "findWithGlobals",
4853
- "getOrCreateByIdempotencyKey"
4744
+ "extends": "SmrtObject",
4745
+ "fields": [
4746
+ {
4747
+ "name": "tenantId",
4748
+ "type": "text",
4749
+ "required": false,
4750
+ "columnType": "UUID"
4751
+ },
4752
+ {
4753
+ "name": "profileId",
4754
+ "type": "crossPackageRef",
4755
+ "required": false,
4756
+ "related": "@happyvertical/smrt-profiles:Profile",
4757
+ "columnType": "UUID"
4758
+ },
4759
+ {
4760
+ "name": "leadTimeDays",
4761
+ "type": "integer",
4762
+ "required": false,
4763
+ "columnType": "INTEGER"
4764
+ },
4765
+ {
4766
+ "name": "minimumOrderAmount",
4767
+ "type": "decimal",
4768
+ "required": false,
4769
+ "columnType": "REAL"
4770
+ },
4771
+ {
4772
+ "name": "paymentTerms",
4773
+ "type": "text",
4774
+ "required": false,
4775
+ "columnType": "TEXT"
4776
+ },
4777
+ {
4778
+ "name": "currency",
4779
+ "type": "text",
4780
+ "required": false,
4781
+ "columnType": "TEXT"
4782
+ },
4783
+ {
4784
+ "name": "defaultContactEmail",
4785
+ "type": "text",
4786
+ "required": false,
4787
+ "columnType": "TEXT"
4788
+ },
4789
+ {
4790
+ "name": "defaultContactPhone",
4791
+ "type": "text",
4792
+ "required": false,
4793
+ "columnType": "TEXT"
4794
+ },
4795
+ {
4796
+ "name": "status",
4797
+ "type": "text",
4798
+ "required": false,
4799
+ "columnType": "TEXT"
4800
+ },
4801
+ {
4802
+ "name": "notes",
4803
+ "type": "text",
4804
+ "required": false,
4805
+ "columnType": "TEXT"
4806
+ },
4807
+ {
4808
+ "name": "payoutAddresses",
4809
+ "type": "json",
4810
+ "required": false,
4811
+ "columnType": "JSON"
4812
+ }
4854
4813
  ],
4855
- "surfaces": [],
4856
- "relationshipFeatures": [
4857
- "uuidColumns"
4814
+ "relationships": [
4815
+ {
4816
+ "name": "profileId",
4817
+ "type": "crossPackageRef",
4818
+ "required": false,
4819
+ "related": "@happyvertical/smrt-profiles:Profile",
4820
+ "columnType": "UUID"
4821
+ }
4858
4822
  ],
4859
- "tags": [],
4860
- "risks": []
4861
- },
4862
- {
4863
- "name": "PayoutCollection",
4864
- "qualifiedName": "@happyvertical/smrt-commerce:PayoutCollection",
4865
- "collection": "payouts",
4866
- "tableName": "payout_collections",
4867
- "packageName": "@happyvertical/smrt-commerce",
4868
- "extends": "SmrtCollection",
4869
- "fields": [],
4870
- "relationships": [],
4871
4823
  "methods": [
4872
- "createFromPayment",
4873
- "findByBackendTxRef",
4874
- "findByPayment",
4875
- "findByStatus",
4876
- "findByTenant",
4877
- "findByVendor",
4878
- "findFailed",
4879
- "findGlobal",
4880
- "findPending",
4881
- "findWithGlobals",
4882
- "getConfirmedTotalForVendor"
4883
- ],
4884
- "surfaces": [],
4885
- "relationshipFeatures": [
4886
- "uuidColumns"
4824
+ "clearPayoutAddress",
4825
+ "getPayoutAddress",
4826
+ "getProfileId",
4827
+ "initialize",
4828
+ "isActive",
4829
+ "meetsMinimumOrder",
4830
+ "save",
4831
+ "setPayoutAddress"
4887
4832
  ],
4888
- "tags": [],
4889
- "risks": []
4890
- },
4891
- {
4892
- "name": "VendorCollection",
4893
- "qualifiedName": "@happyvertical/smrt-commerce:VendorCollection",
4894
- "collection": "vendors",
4895
- "tableName": "vendor_collections",
4896
- "packageName": "@happyvertical/smrt-commerce",
4897
- "extends": "SmrtCollection",
4898
- "fields": [],
4899
- "relationships": [],
4900
- "methods": [
4901
- "findActive",
4902
- "findByProfile",
4903
- "findByStatus",
4904
- "findByTenant",
4905
- "findGlobal",
4906
- "findWithGlobals",
4907
- "getOrCreateForProfile"
4833
+ "surfaces": [
4834
+ {
4835
+ "kind": "api",
4836
+ "name": "vendors.list",
4837
+ "operation": "list",
4838
+ "objectName": "@happyvertical/smrt-commerce:Vendor",
4839
+ "path": "/vendors",
4840
+ "method": "GET"
4841
+ },
4842
+ {
4843
+ "kind": "api",
4844
+ "name": "vendors.get",
4845
+ "operation": "get",
4846
+ "objectName": "@happyvertical/smrt-commerce:Vendor",
4847
+ "path": "/vendors/[id]",
4848
+ "method": "GET"
4849
+ },
4850
+ {
4851
+ "kind": "api",
4852
+ "name": "vendors.create",
4853
+ "operation": "create",
4854
+ "objectName": "@happyvertical/smrt-commerce:Vendor",
4855
+ "path": "/vendors",
4856
+ "method": "POST"
4857
+ },
4858
+ {
4859
+ "kind": "api",
4860
+ "name": "vendors.update",
4861
+ "operation": "update",
4862
+ "objectName": "@happyvertical/smrt-commerce:Vendor",
4863
+ "path": "/vendors/[id]",
4864
+ "method": "PATCH"
4865
+ },
4866
+ {
4867
+ "kind": "cli",
4868
+ "name": "vendor_list",
4869
+ "operation": "list",
4870
+ "objectName": "@happyvertical/smrt-commerce:Vendor"
4871
+ },
4872
+ {
4873
+ "kind": "cli",
4874
+ "name": "vendor_get",
4875
+ "operation": "get",
4876
+ "objectName": "@happyvertical/smrt-commerce:Vendor"
4877
+ },
4878
+ {
4879
+ "kind": "cli",
4880
+ "name": "vendor_create",
4881
+ "operation": "create",
4882
+ "objectName": "@happyvertical/smrt-commerce:Vendor"
4883
+ },
4884
+ {
4885
+ "kind": "cli",
4886
+ "name": "vendor_update",
4887
+ "operation": "update",
4888
+ "objectName": "@happyvertical/smrt-commerce:Vendor"
4889
+ },
4890
+ {
4891
+ "kind": "cli",
4892
+ "name": "vendor_delete",
4893
+ "operation": "delete",
4894
+ "objectName": "@happyvertical/smrt-commerce:Vendor"
4895
+ },
4896
+ {
4897
+ "kind": "mcp",
4898
+ "name": "vendor_list",
4899
+ "operation": "list",
4900
+ "objectName": "@happyvertical/smrt-commerce:Vendor"
4901
+ },
4902
+ {
4903
+ "kind": "mcp",
4904
+ "name": "vendor_get",
4905
+ "operation": "get",
4906
+ "objectName": "@happyvertical/smrt-commerce:Vendor"
4907
+ }
4908
4908
  ],
4909
- "surfaces": [],
4910
4909
  "relationshipFeatures": [
4910
+ "crossPackageRef",
4911
4911
  "uuidColumns"
4912
4912
  ],
4913
4913
  "tags": [],