@happyvertical/smrt-commerce 0.51.26 → 0.51.27

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/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { a as FulfillmentStatus, c as PaymentInstrumentStatus, d as PaymentStatus, f as PayoutStatus, i as CustomerType, l as PaymentIntentStatus, n as ContractType, o as FulfillmentType, p as VendorStatus, r as CustomerStatus, s as InvoiceStatus, t as ContractStatus, u as PaymentMethod } from "./chunks/types-CRnln577.js";
2
- import { a as minorToMajorUnits, i as majorToMinorUnits, n as currencyMinorUnitExponent, o as normalizeCurrency, r as deterministicId, s as tenantKey, t as canonicalTenantId } from "./chunks/units--tTn2ps8.js";
2
+ import { a as majorToMinorUnits, c as tenantKey, i as isTenantId, n as currencyMinorUnitExponent, o as minorToMajorUnits, r as deterministicId, s as normalizeCurrency, t as canonicalTenantId } from "./chunks/units-Bk_o7kRV.js";
3
3
  import { t as assertIntegerMinorUnits } from "./chunks/money-WSMvSgWq.js";
4
4
  import { COMMERCE_MODULE_META, COMMERCE_UI_SLOTS } from "./ui.js";
5
5
  import { ObjectRegistry, SmrtCollection, SmrtObject, crossPackageRef, field, foreignKey, smrt } from "@happyvertical/smrt-core";
@@ -21,7 +21,77 @@ var __exportAll = (all, no_symbols) => {
21
21
  };
22
22
  //#endregion
23
23
  //#region src/__smrt-register__.ts
24
- ObjectRegistry.registerPackageManifest(JSON.parse("{\"version\":\"1.0.0\",\"timestamp\":0,\"packageName\":\"@happyvertical/smrt-commerce\",\"packageVersion\":\"0.51.26\",\"objects\":{\"@happyvertical/smrt-commerce:ContractCollection\":{\"name\":\"contractcollection\",\"className\":\"ContractCollection\",\"qualifiedName\":\"@happyvertical/smrt-commerce:ContractCollection\",\"collection\":\"contracts\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/collections/ContractCollection.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{},\"methods\":{\"findByCustomer\":{\"name\":\"findByCustomer\",\"async\":true,\"parameters\":[{\"name\":\"customerId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Contract[]>\",\"isStatic\":false,\"isPublic\":true},\"findByVendor\":{\"name\":\"findByVendor\",\"async\":true,\"parameters\":[{\"name\":\"vendorId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Contract[]>\",\"isStatic\":false,\"isPublic\":true},\"findByType\":{\"name\":\"findByType\",\"async\":true,\"parameters\":[{\"name\":\"contractType\",\"type\":\"ContractType\",\"optional\":false}],\"returnType\":\"Promise<Contract[]>\",\"isStatic\":false,\"isPublic\":true},\"findByStatus\":{\"name\":\"findByStatus\",\"async\":true,\"parameters\":[{\"name\":\"status\",\"type\":\"ContractStatus\",\"optional\":false}],\"returnType\":\"Promise<Contract[]>\",\"isStatic\":false,\"isPublic\":true},\"findDrafts\":{\"name\":\"findDrafts\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Contract[]>\",\"isStatic\":false,\"isPublic\":true},\"findAccepted\":{\"name\":\"findAccepted\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Contract[]>\",\"isStatic\":false,\"isPublic\":true},\"findOverdue\":{\"name\":\"findOverdue\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Contract[]>\",\"isStatic\":false,\"isPublic\":true},\"findExpired\":{\"name\":\"findExpired\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Contract[]>\",\"isStatic\":false,\"isPublic\":true},\"findByDateRange\":{\"name\":\"findByDateRange\",\"async\":true,\"parameters\":[{\"name\":\"startDate\",\"type\":\"Date\",\"optional\":false},{\"name\":\"endDate\",\"type\":\"Date\",\"optional\":false}],\"returnType\":\"Promise<Contract[]>\",\"isStatic\":false,\"isPublic\":true},\"findByTenant\":{\"name\":\"findByTenant\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Contract[]>\",\"isStatic\":false,\"isPublic\":true},\"findGlobal\":{\"name\":\"findGlobal\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Contract[]>\",\"isStatic\":false,\"isPublic\":true},\"findWithGlobals\":{\"name\":\"findWithGlobals\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Contract[]>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"Contract\",\"exportName\":\"ContractCollection\",\"collectionExportName\":\"ContractCollectionCollection\",\"schema\":{\"tableName\":\"contracts\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"contracts\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"_meta_type\\\" TEXT NOT NULL,\\n \\\"_meta_data\\\" JSON,\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"contract_type\\\" TEXT,\\n \\\"status\\\" TEXT,\\n \\\"customer_id\\\" UUID,\\n \\\"vendor_id\\\" UUID,\\n \\\"subtotal\\\" INTEGER DEFAULT 0,\\n \\\"tax_amount\\\" INTEGER DEFAULT 0,\\n \\\"total_amount\\\" INTEGER DEFAULT 0,\\n \\\"currency\\\" TEXT DEFAULT 'USD',\\n \\\"issue_date\\\" TIMESTAMP,\\n \\\"due_date\\\" TIMESTAMP,\\n \\\"expiry_date\\\" TIMESTAMP,\\n \\\"reference\\\" TEXT DEFAULT '',\\n \\\"notes\\\" TEXT DEFAULT '',\\n \\\"terms\\\" TEXT DEFAULT '',\\n \\\"channel_id\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"_meta_type\":{\"type\":\"TEXT\",\"notNull\":true},\"_meta_data\":{\"type\":\"JSON\",\"notNull\":false},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false},\"contract_type\":{\"type\":\"TEXT\",\"notNull\":false},\"status\":{\"type\":\"TEXT\",\"notNull\":false},\"customer_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"customers\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"vendor_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"vendors\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"subtotal\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"tax_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"total_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"USD\"},\"issue_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"due_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"expiry_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"reference\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"terms\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"channel_id\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"contracts_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"contracts_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"contracts_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"contracts_customer_id_idx\",\"columns\":[\"customer_id\"]},{\"name\":\"contracts_vendor_id_idx\",\"columns\":[\"vendor_id\"]}],\"version\":\"9c2e9c49\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:ContractLineItemCollection\":{\"name\":\"contractlineitemcollection\",\"className\":\"ContractLineItemCollection\",\"qualifiedName\":\"@happyvertical/smrt-commerce:ContractLineItemCollection\",\"collection\":\"contractlineitems\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/collections/ContractLineItemCollection.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{},\"methods\":{\"findByContract\":{\"name\":\"findByContract\",\"async\":true,\"parameters\":[{\"name\":\"contractId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<ContractLineItem[]>\",\"isStatic\":false,\"isPublic\":true},\"findByTenant\":{\"name\":\"findByTenant\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<ContractLineItem[]>\",\"isStatic\":false,\"isPublic\":true},\"findGlobal\":{\"name\":\"findGlobal\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<ContractLineItem[]>\",\"isStatic\":false,\"isPublic\":true},\"findWithGlobals\":{\"name\":\"findWithGlobals\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<ContractLineItem[]>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"ContractLineItem\",\"exportName\":\"ContractLineItemCollection\",\"collectionExportName\":\"ContractLineItemCollectionCollection\",\"schema\":{\"tableName\":\"contract_line_items\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"contract_line_items\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"_meta_type\\\" TEXT NOT NULL,\\n \\\"_meta_data\\\" JSON,\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"contract_id\\\" UUID,\\n \\\"description\\\" TEXT DEFAULT '',\\n \\\"quantity\\\" REAL DEFAULT 1,\\n \\\"unit_price\\\" INTEGER DEFAULT 0,\\n \\\"discount\\\" INTEGER DEFAULT 0,\\n \\\"tax_rate\\\" REAL DEFAULT 0,\\n \\\"amount\\\" INTEGER DEFAULT 0,\\n \\\"product_id\\\" UUID,\\n \\\"sku\\\" TEXT DEFAULT '',\\n \\\"start_date\\\" TIMESTAMP,\\n \\\"end_date\\\" TIMESTAMP,\\n \\\"billing_period\\\" TEXT DEFAULT '',\\n \\\"sort_order\\\" INTEGER DEFAULT 0\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"_meta_type\":{\"type\":\"TEXT\",\"notNull\":true},\"_meta_data\":{\"type\":\"JSON\",\"notNull\":false},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false},\"contract_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"contracts\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"description\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"quantity\":{\"type\":\"REAL\",\"notNull\":false,\"default\":1},\"unit_price\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"discount\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"tax_rate\":{\"type\":\"REAL\",\"notNull\":false,\"default\":0},\"amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"product_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false},\"sku\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"start_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"end_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"billing_period\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"sort_order\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0}},\"indexes\":[{\"name\":\"contract_line_items_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"contract_line_items_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"contract_line_items_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"contract_line_items_contract_id_idx\",\"columns\":[\"contract_id\"]},{\"name\":\"contract_line_items_product_id_idx\",\"columns\":[\"product_id\"]}],\"version\":\"be2b46cd\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:CustomerCollection\":{\"name\":\"customercollection\",\"className\":\"CustomerCollection\",\"qualifiedName\":\"@happyvertical/smrt-commerce:CustomerCollection\",\"collection\":\"customers\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/collections/CustomerCollection.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{},\"methods\":{\"findByProfile\":{\"name\":\"findByProfile\",\"async\":true,\"parameters\":[{\"name\":\"profileId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Customer[]>\",\"isStatic\":false,\"isPublic\":true},\"findActive\":{\"name\":\"findActive\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Customer[]>\",\"isStatic\":false,\"isPublic\":true},\"findByStatus\":{\"name\":\"findByStatus\",\"async\":true,\"parameters\":[{\"name\":\"status\",\"type\":\"CustomerStatus\",\"optional\":false}],\"returnType\":\"Promise<Customer[]>\",\"isStatic\":false,\"isPublic\":true},\"getOrCreateForProfile\":{\"name\":\"getOrCreateForProfile\",\"async\":true,\"parameters\":[{\"name\":\"profileId\",\"type\":\"string\",\"optional\":false},{\"name\":\"defaults\",\"type\":\"Partial<object>\",\"optional\":true,\"memberTypes\":[\"number\",\"string\"]}],\"returnType\":\"Promise<Customer>\",\"isStatic\":false,\"isPublic\":true},\"findByTenant\":{\"name\":\"findByTenant\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Customer[]>\",\"isStatic\":false,\"isPublic\":true},\"findGlobal\":{\"name\":\"findGlobal\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Customer[]>\",\"isStatic\":false,\"isPublic\":true},\"findWithGlobals\":{\"name\":\"findWithGlobals\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Customer[]>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"Customer\",\"exportName\":\"CustomerCollection\",\"collectionExportName\":\"CustomerCollectionCollection\",\"schema\":{\"tableName\":\"customers\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"customers\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"profile_id\\\" UUID,\\n \\\"credit_limit\\\" INTEGER DEFAULT 0,\\n \\\"payment_terms\\\" TEXT DEFAULT '',\\n \\\"tax_exempt\\\" BOOLEAN DEFAULT FALSE,\\n \\\"tax_id\\\" TEXT DEFAULT '',\\n \\\"default_shipping_address\\\" JSON,\\n \\\"default_billing_address\\\" JSON,\\n \\\"status\\\" TEXT,\\n \\\"customer_type\\\" TEXT,\\n \\\"notes\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false},\"profile_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false,\"unique\":false},\"credit_limit\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"payment_terms\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"tax_exempt\":{\"type\":\"BOOLEAN\",\"notNull\":false,\"unique\":false,\"default\":false},\"tax_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"default_shipping_address\":{\"type\":\"JSON\",\"notNull\":false,\"unique\":false},\"default_billing_address\":{\"type\":\"JSON\",\"notNull\":false,\"unique\":false},\"status\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"customer_type\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"customers_slug_context_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"customers_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"customers_profile_id_idx\",\"columns\":[\"profile_id\"]}],\"version\":\"ad1b9967\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:FulfillmentCollection\":{\"name\":\"fulfillmentcollection\",\"className\":\"FulfillmentCollection\",\"qualifiedName\":\"@happyvertical/smrt-commerce:FulfillmentCollection\",\"collection\":\"fulfillments\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/collections/FulfillmentCollection.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{},\"methods\":{\"findByContract\":{\"name\":\"findByContract\",\"async\":true,\"parameters\":[{\"name\":\"contractId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Fulfillment[]>\",\"isStatic\":false,\"isPublic\":true},\"findByStatus\":{\"name\":\"findByStatus\",\"async\":true,\"parameters\":[{\"name\":\"status\",\"type\":\"FulfillmentStatus\",\"optional\":false}],\"returnType\":\"Promise<Fulfillment[]>\",\"isStatic\":false,\"isPublic\":true},\"findByType\":{\"name\":\"findByType\",\"async\":true,\"parameters\":[{\"name\":\"fulfillmentType\",\"type\":\"FulfillmentType\",\"optional\":false}],\"returnType\":\"Promise<Fulfillment[]>\",\"isStatic\":false,\"isPublic\":true},\"findPending\":{\"name\":\"findPending\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Fulfillment[]>\",\"isStatic\":false,\"isPublic\":true},\"findInTransit\":{\"name\":\"findInTransit\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Fulfillment[]>\",\"isStatic\":false,\"isPublic\":true},\"findByTracking\":{\"name\":\"findByTracking\",\"async\":true,\"parameters\":[{\"name\":\"trackingNumber\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Fulfillment | null>\",\"isStatic\":false,\"isPublic\":true},\"findShippedInRange\":{\"name\":\"findShippedInRange\",\"async\":true,\"parameters\":[{\"name\":\"startDate\",\"type\":\"Date\",\"optional\":false},{\"name\":\"endDate\",\"type\":\"Date\",\"optional\":false}],\"returnType\":\"Promise<Fulfillment[]>\",\"isStatic\":false,\"isPublic\":true},\"findByTenant\":{\"name\":\"findByTenant\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Fulfillment[]>\",\"isStatic\":false,\"isPublic\":true},\"findGlobal\":{\"name\":\"findGlobal\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Fulfillment[]>\",\"isStatic\":false,\"isPublic\":true},\"findWithGlobals\":{\"name\":\"findWithGlobals\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Fulfillment[]>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"Fulfillment\",\"exportName\":\"FulfillmentCollection\",\"collectionExportName\":\"FulfillmentCollectionCollection\",\"schema\":{\"tableName\":\"fulfillments\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"fulfillments\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"contract_id\\\" UUID,\\n \\\"fulfillment_type\\\" TEXT,\\n \\\"status\\\" TEXT,\\n \\\"tracking_number\\\" TEXT DEFAULT '',\\n \\\"carrier\\\" TEXT DEFAULT '',\\n \\\"shipping_address\\\" JSON,\\n \\\"shipped_at\\\" TIMESTAMP,\\n \\\"delivered_at\\\" TIMESTAMP,\\n \\\"estimated_delivery\\\" TIMESTAMP,\\n \\\"notes\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false},\"contract_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"contracts\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"fulfillment_type\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"status\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"tracking_number\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"carrier\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"shipping_address\":{\"type\":\"JSON\",\"notNull\":false,\"unique\":false},\"shipped_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"delivered_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"estimated_delivery\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"fulfillments_slug_context_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"fulfillments_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"fulfillments_contract_id_idx\",\"columns\":[\"contract_id\"]}],\"version\":\"2f708fc5\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:FulfillmentLineItemCollection\":{\"name\":\"fulfillmentlineitemcollection\",\"className\":\"FulfillmentLineItemCollection\",\"qualifiedName\":\"@happyvertical/smrt-commerce:FulfillmentLineItemCollection\",\"collection\":\"fulfillmentlineitems\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/collections/FulfillmentLineItemCollection.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{},\"methods\":{\"findByFulfillment\":{\"name\":\"findByFulfillment\",\"async\":true,\"parameters\":[{\"name\":\"fulfillmentId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<FulfillmentLineItem[]>\",\"isStatic\":false,\"isPublic\":true},\"findByContractLineItem\":{\"name\":\"findByContractLineItem\",\"async\":true,\"parameters\":[{\"name\":\"contractLineItemId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<FulfillmentLineItem[]>\",\"isStatic\":false,\"isPublic\":true},\"getTotalFulfilledForContractLine\":{\"name\":\"getTotalFulfilledForContractLine\",\"async\":true,\"parameters\":[{\"name\":\"contractLineItemId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"findByTenant\":{\"name\":\"findByTenant\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<FulfillmentLineItem[]>\",\"isStatic\":false,\"isPublic\":true},\"findGlobal\":{\"name\":\"findGlobal\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<FulfillmentLineItem[]>\",\"isStatic\":false,\"isPublic\":true},\"findWithGlobals\":{\"name\":\"findWithGlobals\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<FulfillmentLineItem[]>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"FulfillmentLineItem\",\"exportName\":\"FulfillmentLineItemCollection\",\"collectionExportName\":\"FulfillmentLineItemCollectionCollection\",\"schema\":{\"tableName\":\"fulfillment_line_items\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"fulfillment_line_items\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"fulfillment_id\\\" UUID,\\n \\\"contract_line_item_id\\\" UUID,\\n \\\"quantity_fulfilled\\\" REAL DEFAULT 1,\\n \\\"notes\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false},\"fulfillment_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"fulfillments\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"contract_line_item_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"contract_line_items\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"quantity_fulfilled\":{\"type\":\"REAL\",\"notNull\":false,\"unique\":false,\"default\":1},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"fulfillment_line_items_slug_context_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"fulfillment_line_items_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"fulfillment_line_items_fulfillment_id_idx\",\"columns\":[\"fulfillment_id\"]},{\"name\":\"fulfillment_line_items_contract_line_item_id_idx\",\"columns\":[\"contract_line_item_id\"]}],\"version\":\"14537dbe\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:InvoiceCollection\":{\"name\":\"invoicecollection\",\"className\":\"InvoiceCollection\",\"qualifiedName\":\"@happyvertical/smrt-commerce:InvoiceCollection\",\"collection\":\"invoices\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/collections/InvoiceCollection.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{},\"methods\":{\"findByCustomer\":{\"name\":\"findByCustomer\",\"async\":true,\"parameters\":[{\"name\":\"customerId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Invoice[]>\",\"isStatic\":false,\"isPublic\":true},\"findByContract\":{\"name\":\"findByContract\",\"async\":true,\"parameters\":[{\"name\":\"contractId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Invoice[]>\",\"isStatic\":false,\"isPublic\":true},\"findByStatus\":{\"name\":\"findByStatus\",\"async\":true,\"parameters\":[{\"name\":\"status\",\"type\":\"InvoiceStatus\",\"optional\":false}],\"returnType\":\"Promise<Invoice[]>\",\"isStatic\":false,\"isPublic\":true},\"findDrafts\":{\"name\":\"findDrafts\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Invoice[]>\",\"isStatic\":false,\"isPublic\":true},\"findSent\":{\"name\":\"findSent\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Invoice[]>\",\"isStatic\":false,\"isPublic\":true},\"findPaid\":{\"name\":\"findPaid\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Invoice[]>\",\"isStatic\":false,\"isPublic\":true},\"findPartial\":{\"name\":\"findPartial\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Invoice[]>\",\"isStatic\":false,\"isPublic\":true},\"findOverdue\":{\"name\":\"findOverdue\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Invoice[]>\",\"isStatic\":false,\"isPublic\":true},\"findByDateRange\":{\"name\":\"findByDateRange\",\"async\":true,\"parameters\":[{\"name\":\"startDate\",\"type\":\"Date\",\"optional\":false},{\"name\":\"endDate\",\"type\":\"Date\",\"optional\":false}],\"returnType\":\"Promise<Invoice[]>\",\"isStatic\":false,\"isPublic\":true},\"findByExternalId\":{\"name\":\"findByExternalId\",\"async\":true,\"parameters\":[{\"name\":\"externalId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Invoice | null>\",\"isStatic\":false,\"isPublic\":true},\"findNeedingSync\":{\"name\":\"findNeedingSync\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Invoice[]>\",\"isStatic\":false,\"isPublic\":true},\"findByNumber\":{\"name\":\"findByNumber\",\"async\":true,\"parameters\":[{\"name\":\"invoiceNumber\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Invoice | null>\",\"isStatic\":false,\"isPublic\":true},\"countForYear\":{\"name\":\"countForYear\",\"async\":true,\"parameters\":[{\"name\":\"year\",\"type\":\"number\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"generateInvoiceNumber\":{\"name\":\"generateInvoiceNumber\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"InvoiceNumberOptions\",\"optional\":true}],\"returnType\":\"Promise<string>\",\"isStatic\":false,\"isPublic\":true},\"getTotalOutstandingForCustomer\":{\"name\":\"getTotalOutstandingForCustomer\",\"async\":true,\"parameters\":[{\"name\":\"customerId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"findByTenant\":{\"name\":\"findByTenant\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Invoice[]>\",\"isStatic\":false,\"isPublic\":true},\"findGlobal\":{\"name\":\"findGlobal\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Invoice[]>\",\"isStatic\":false,\"isPublic\":true},\"findWithGlobals\":{\"name\":\"findWithGlobals\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Invoice[]>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"Invoice\",\"exportName\":\"InvoiceCollection\",\"collectionExportName\":\"InvoiceCollectionCollection\",\"schema\":{\"tableName\":\"invoices\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"invoices\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"customer_id\\\" UUID,\\n \\\"contract_id\\\" UUID,\\n \\\"invoice_number\\\" TEXT DEFAULT '',\\n \\\"reference\\\" TEXT DEFAULT '',\\n \\\"issue_date\\\" TIMESTAMP,\\n \\\"due_date\\\" TIMESTAMP,\\n \\\"paid_date\\\" TIMESTAMP,\\n \\\"subtotal\\\" INTEGER DEFAULT 0,\\n \\\"tax_amount\\\" INTEGER DEFAULT 0,\\n \\\"provider_tax_amount\\\" INTEGER DEFAULT 0,\\n \\\"total_amount\\\" INTEGER DEFAULT 0,\\n \\\"amount_paid\\\" INTEGER DEFAULT 0,\\n \\\"currency\\\" TEXT DEFAULT 'CAD',\\n \\\"status\\\" TEXT,\\n \\\"ar_journal_id\\\" UUID,\\n \\\"revenue_journal_id\\\" UUID,\\n \\\"external_id\\\" TEXT DEFAULT '',\\n \\\"customer_external_id\\\" TEXT DEFAULT '',\\n \\\"external_provider\\\" TEXT DEFAULT '',\\n \\\"synced_at\\\" TIMESTAMP,\\n \\\"sent_at\\\" TIMESTAMP,\\n \\\"viewed_at\\\" TIMESTAMP,\\n \\\"reminders_sent\\\" INTEGER DEFAULT 0,\\n \\\"last_reminder_at\\\" TIMESTAMP,\\n \\\"notes\\\" TEXT DEFAULT '',\\n \\\"customer_notes\\\" TEXT DEFAULT '',\\n \\\"terms\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false},\"customer_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"customers\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"contract_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"contracts\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"invoice_number\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"reference\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"issue_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"due_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"paid_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"subtotal\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"tax_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"provider_tax_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"total_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"amount_paid\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"CAD\"},\"status\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"ar_journal_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false,\"unique\":false},\"revenue_journal_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false,\"unique\":false},\"external_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"customer_external_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"external_provider\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"synced_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"sent_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"viewed_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"reminders_sent\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"last_reminder_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"customer_notes\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"terms\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"invoices_slug_context_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"invoices_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"invoices_customer_id_idx\",\"columns\":[\"customer_id\"]},{\"name\":\"invoices_contract_id_idx\",\"columns\":[\"contract_id\"]},{\"name\":\"invoices_ar_journal_id_idx\",\"columns\":[\"ar_journal_id\"]},{\"name\":\"invoices_revenue_journal_id_idx\",\"columns\":[\"revenue_journal_id\"]}],\"version\":\"40c25b56\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:InvoiceLineItemCollection\":{\"name\":\"invoicelineitemcollection\",\"className\":\"InvoiceLineItemCollection\",\"qualifiedName\":\"@happyvertical/smrt-commerce:InvoiceLineItemCollection\",\"collection\":\"invoicelineitems\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/collections/InvoiceLineItemCollection.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{},\"methods\":{\"findByInvoice\":{\"name\":\"findByInvoice\",\"async\":true,\"parameters\":[{\"name\":\"invoiceId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<InvoiceLineItem[]>\",\"isStatic\":false,\"isPublic\":true},\"findBySource\":{\"name\":\"findBySource\",\"async\":true,\"parameters\":[{\"name\":\"sourceType\",\"type\":\"string\",\"optional\":false},{\"name\":\"sourceId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<InvoiceLineItem[]>\",\"isStatic\":false,\"isPublic\":true},\"findBySourceType\":{\"name\":\"findBySourceType\",\"async\":true,\"parameters\":[{\"name\":\"sourceType\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<InvoiceLineItem[]>\",\"isStatic\":false,\"isPublic\":true},\"getTotalForInvoice\":{\"name\":\"getTotalForInvoice\",\"async\":true,\"parameters\":[{\"name\":\"invoiceId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"getSubtotalForInvoice\":{\"name\":\"getSubtotalForInvoice\",\"async\":true,\"parameters\":[{\"name\":\"invoiceId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"getTaxForInvoice\":{\"name\":\"getTaxForInvoice\",\"async\":true,\"parameters\":[{\"name\":\"invoiceId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"getNextSortOrder\":{\"name\":\"getNextSortOrder\",\"async\":true,\"parameters\":[{\"name\":\"invoiceId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"recalculateAmounts\":{\"name\":\"recalculateAmounts\",\"async\":true,\"parameters\":[{\"name\":\"invoiceId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<InvoiceLineItem[]>\",\"isStatic\":false,\"isPublic\":true},\"toAccountingLineItems\":{\"name\":\"toAccountingLineItems\",\"async\":true,\"parameters\":[{\"name\":\"invoiceId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AccountingLineItemInput[]>\",\"isStatic\":false,\"isPublic\":true},\"findByTenant\":{\"name\":\"findByTenant\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<InvoiceLineItem[]>\",\"isStatic\":false,\"isPublic\":true},\"findGlobal\":{\"name\":\"findGlobal\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<InvoiceLineItem[]>\",\"isStatic\":false,\"isPublic\":true},\"findWithGlobals\":{\"name\":\"findWithGlobals\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<InvoiceLineItem[]>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"InvoiceLineItem\",\"exportName\":\"InvoiceLineItemCollection\",\"collectionExportName\":\"InvoiceLineItemCollectionCollection\",\"schema\":{\"tableName\":\"invoice_line_items\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"invoice_line_items\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"invoice_id\\\" UUID,\\n \\\"description\\\" TEXT DEFAULT '',\\n \\\"sku\\\" TEXT DEFAULT '',\\n \\\"quantity\\\" INTEGER DEFAULT 1,\\n \\\"unit_price\\\" INTEGER DEFAULT 0,\\n \\\"discount\\\" INTEGER DEFAULT 0,\\n \\\"tax_rate\\\" REAL DEFAULT 0,\\n \\\"amount\\\" INTEGER DEFAULT 0,\\n \\\"source_type\\\" TEXT DEFAULT '',\\n \\\"source_id\\\" TEXT DEFAULT '',\\n \\\"period_start\\\" TIMESTAMP,\\n \\\"period_end\\\" TIMESTAMP,\\n \\\"revenue_account_id\\\" UUID,\\n \\\"sort_order\\\" INTEGER DEFAULT 0\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false},\"invoice_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"invoices\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"description\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"sku\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"quantity\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":1},\"unit_price\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"discount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"tax_rate\":{\"type\":\"REAL\",\"notNull\":false,\"unique\":false,\"default\":0},\"amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"source_type\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"source_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"period_start\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"period_end\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"revenue_account_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false,\"unique\":false},\"sort_order\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0}},\"indexes\":[{\"name\":\"invoice_line_items_slug_context_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"invoice_line_items_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"invoice_line_items_invoice_id_idx\",\"columns\":[\"invoice_id\"]},{\"name\":\"invoice_line_items_revenue_account_id_idx\",\"columns\":[\"revenue_account_id\"]}],\"version\":\"f96d2656\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:PaymentAllocationCollection\":{\"name\":\"paymentallocationcollection\",\"className\":\"PaymentAllocationCollection\",\"qualifiedName\":\"@happyvertical/smrt-commerce:PaymentAllocationCollection\",\"collection\":\"paymentallocations\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/collections/PaymentAllocationCollection.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{},\"methods\":{\"findByPayment\":{\"name\":\"findByPayment\",\"async\":true,\"parameters\":[{\"name\":\"paymentId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<PaymentAllocation[]>\",\"isStatic\":false,\"isPublic\":true},\"findByInvoice\":{\"name\":\"findByInvoice\",\"async\":true,\"parameters\":[{\"name\":\"invoiceId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<PaymentAllocation[]>\",\"isStatic\":false,\"isPublic\":true},\"getTotalAllocatedToInvoice\":{\"name\":\"getTotalAllocatedToInvoice\",\"async\":true,\"parameters\":[{\"name\":\"invoiceId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"getTotalAllocatedFromPayment\":{\"name\":\"getTotalAllocatedFromPayment\",\"async\":true,\"parameters\":[{\"name\":\"paymentId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"getUnallocatedFromPayment\":{\"name\":\"getUnallocatedFromPayment\",\"async\":true,\"parameters\":[{\"name\":\"paymentId\",\"type\":\"string\",\"optional\":false},{\"name\":\"paymentAmount\",\"type\":\"number\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"findByPaymentAndInvoice\":{\"name\":\"findByPaymentAndInvoice\",\"async\":true,\"parameters\":[{\"name\":\"paymentId\",\"type\":\"string\",\"optional\":false},{\"name\":\"invoiceId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<PaymentAllocation | null>\",\"isStatic\":false,\"isPublic\":true},\"findByAllocator\":{\"name\":\"findByAllocator\",\"async\":true,\"parameters\":[{\"name\":\"allocatedBy\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<PaymentAllocation[]>\",\"isStatic\":false,\"isPublic\":true},\"findByDateRange\":{\"name\":\"findByDateRange\",\"async\":true,\"parameters\":[{\"name\":\"startDate\",\"type\":\"Date\",\"optional\":false},{\"name\":\"endDate\",\"type\":\"Date\",\"optional\":false}],\"returnType\":\"Promise<PaymentAllocation[]>\",\"isStatic\":false,\"isPublic\":true},\"findByTenant\":{\"name\":\"findByTenant\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<PaymentAllocation[]>\",\"isStatic\":false,\"isPublic\":true},\"findGlobal\":{\"name\":\"findGlobal\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<PaymentAllocation[]>\",\"isStatic\":false,\"isPublic\":true},\"findWithGlobals\":{\"name\":\"findWithGlobals\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<PaymentAllocation[]>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"PaymentAllocation\",\"exportName\":\"PaymentAllocationCollection\",\"collectionExportName\":\"PaymentAllocationCollectionCollection\",\"schema\":{\"tableName\":\"payment_allocations\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"payment_allocations\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"payment_id\\\" UUID,\\n \\\"invoice_id\\\" UUID,\\n \\\"amount\\\" INTEGER DEFAULT 0,\\n \\\"allocated_at\\\" TIMESTAMP,\\n \\\"allocated_by\\\" TEXT DEFAULT '',\\n \\\"notes\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false},\"payment_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"payments\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"invoice_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"invoices\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"allocated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"allocated_by\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"payment_allocations_slug_context_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"payment_allocations_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"payment_allocations_payment_id_idx\",\"columns\":[\"payment_id\"]},{\"name\":\"payment_allocations_invoice_id_idx\",\"columns\":[\"invoice_id\"]}],\"version\":\"102e6fbc\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:PaymentCollection\":{\"name\":\"paymentcollection\",\"className\":\"PaymentCollection\",\"qualifiedName\":\"@happyvertical/smrt-commerce:PaymentCollection\",\"collection\":\"payments\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/collections/PaymentCollection.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{},\"methods\":{\"findByContract\":{\"name\":\"findByContract\",\"async\":true,\"parameters\":[{\"name\":\"contractId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Payment[]>\",\"isStatic\":false,\"isPublic\":true},\"findByCustomer\":{\"name\":\"findByCustomer\",\"async\":true,\"parameters\":[{\"name\":\"customerId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Payment[]>\",\"isStatic\":false,\"isPublic\":true},\"findByStatus\":{\"name\":\"findByStatus\",\"async\":true,\"parameters\":[{\"name\":\"status\",\"type\":\"PaymentStatus\",\"optional\":false}],\"returnType\":\"Promise<Payment[]>\",\"isStatic\":false,\"isPublic\":true},\"findByMethod\":{\"name\":\"findByMethod\",\"async\":true,\"parameters\":[{\"name\":\"method\",\"type\":\"PaymentMethod\",\"optional\":false}],\"returnType\":\"Promise<Payment[]>\",\"isStatic\":false,\"isPublic\":true},\"findPending\":{\"name\":\"findPending\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Payment[]>\",\"isStatic\":false,\"isPublic\":true},\"findCompleted\":{\"name\":\"findCompleted\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Payment[]>\",\"isStatic\":false,\"isPublic\":true},\"findByTransactionId\":{\"name\":\"findByTransactionId\",\"async\":true,\"parameters\":[{\"name\":\"transactionId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Payment | null>\",\"isStatic\":false,\"isPublic\":true},\"findByDateRange\":{\"name\":\"findByDateRange\",\"async\":true,\"parameters\":[{\"name\":\"startDate\",\"type\":\"Date\",\"optional\":false},{\"name\":\"endDate\",\"type\":\"Date\",\"optional\":false}],\"returnType\":\"Promise<Payment[]>\",\"isStatic\":false,\"isPublic\":true},\"getTotalForContract\":{\"name\":\"getTotalForContract\",\"async\":true,\"parameters\":[{\"name\":\"contractId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"findByJournal\":{\"name\":\"findByJournal\",\"async\":true,\"parameters\":[{\"name\":\"journalId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Payment | null>\",\"isStatic\":false,\"isPublic\":true},\"findByTenant\":{\"name\":\"findByTenant\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Payment[]>\",\"isStatic\":false,\"isPublic\":true},\"findGlobal\":{\"name\":\"findGlobal\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Payment[]>\",\"isStatic\":false,\"isPublic\":true},\"findWithGlobals\":{\"name\":\"findWithGlobals\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Payment[]>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"Payment\",\"exportName\":\"PaymentCollection\",\"collectionExportName\":\"PaymentCollectionCollection\",\"schema\":{\"tableName\":\"payments\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"payments\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"contract_id\\\" UUID,\\n \\\"customer_id\\\" UUID,\\n \\\"amount\\\" INTEGER DEFAULT 0,\\n \\\"currency\\\" TEXT DEFAULT 'USD',\\n \\\"method\\\" TEXT,\\n \\\"status\\\" TEXT,\\n \\\"transaction_id\\\" TEXT DEFAULT '',\\n \\\"reference\\\" TEXT DEFAULT '',\\n \\\"journal_id\\\" UUID,\\n \\\"paid_at\\\" TIMESTAMP,\\n \\\"notes\\\" TEXT DEFAULT '',\\n \\\"external_id\\\" TEXT DEFAULT '',\\n \\\"external_provider\\\" TEXT DEFAULT '',\\n \\\"synced_at\\\" TIMESTAMP,\\n \\\"backend_id\\\" TEXT DEFAULT '',\\n \\\"backend_tx_ref\\\" TEXT DEFAULT '',\\n \\\"native_amount\\\" INTEGER DEFAULT 0,\\n \\\"native_currency\\\" TEXT DEFAULT '',\\n \\\"usd_at_quote\\\" INTEGER DEFAULT 0,\\n \\\"usd_at_confirmation\\\" INTEGER DEFAULT 0\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false},\"contract_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"contracts\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"customer_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"customers\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"USD\"},\"method\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"status\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"transaction_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"reference\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"journal_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false,\"unique\":false},\"paid_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"external_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"external_provider\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"synced_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"backend_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"backend_tx_ref\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"native_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"native_currency\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"usd_at_quote\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"usd_at_confirmation\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0}},\"indexes\":[{\"name\":\"payments_slug_context_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"payments_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"payments_contract_id_idx\",\"columns\":[\"contract_id\"]},{\"name\":\"payments_customer_id_idx\",\"columns\":[\"customer_id\"]},{\"name\":\"payments_journal_id_idx\",\"columns\":[\"journal_id\"]}],\"version\":\"33f80e50\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:PaymentInstrumentCollection\":{\"name\":\"paymentinstrumentcollection\",\"className\":\"PaymentInstrumentCollection\",\"qualifiedName\":\"@happyvertical/smrt-commerce:PaymentInstrumentCollection\",\"collection\":\"paymentinstruments\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/collections/PaymentInstrumentCollection.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{},\"methods\":{\"findByCustomer\":{\"name\":\"findByCustomer\",\"async\":true,\"parameters\":[{\"name\":\"customerId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<PaymentInstrument[]>\",\"isStatic\":false,\"isPublic\":true},\"findActiveByCustomer\":{\"name\":\"findActiveByCustomer\",\"async\":true,\"parameters\":[{\"name\":\"customerId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<PaymentInstrument[]>\",\"isStatic\":false,\"isPublic\":true},\"findDefaultForCustomer\":{\"name\":\"findDefaultForCustomer\",\"async\":true,\"parameters\":[{\"name\":\"customerId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<PaymentInstrument | null>\",\"isStatic\":false,\"isPublic\":true},\"findByProviderPaymentMethodId\":{\"name\":\"findByProviderPaymentMethodId\",\"async\":true,\"parameters\":[{\"name\":\"providerPaymentMethodId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<PaymentInstrument | null>\",\"isStatic\":false,\"isPublic\":true},\"setDefaultForCustomer\":{\"name\":\"setDefaultForCustomer\",\"async\":true,\"parameters\":[{\"name\":\"customerId\",\"type\":\"string\",\"optional\":false},{\"name\":\"instrumentId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"findByTenant\":{\"name\":\"findByTenant\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<PaymentInstrument[]>\",\"isStatic\":false,\"isPublic\":true},\"findGlobal\":{\"name\":\"findGlobal\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<PaymentInstrument[]>\",\"isStatic\":false,\"isPublic\":true},\"findWithGlobals\":{\"name\":\"findWithGlobals\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<PaymentInstrument[]>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"PaymentInstrument\",\"exportName\":\"PaymentInstrumentCollection\",\"collectionExportName\":\"PaymentInstrumentCollectionCollection\",\"schema\":{\"tableName\":\"payment_instruments\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"payment_instruments\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"customer_id\\\" UUID,\\n \\\"backend_id\\\" TEXT DEFAULT '',\\n \\\"provider_customer_id\\\" TEXT DEFAULT '',\\n \\\"provider_payment_method_id\\\" TEXT DEFAULT '',\\n \\\"type\\\" TEXT DEFAULT 'card',\\n \\\"brand\\\" TEXT DEFAULT '',\\n \\\"last4\\\" TEXT DEFAULT '',\\n \\\"exp_month\\\" INTEGER DEFAULT 0,\\n \\\"exp_year\\\" INTEGER DEFAULT 0,\\n \\\"is_default\\\" BOOLEAN DEFAULT FALSE,\\n \\\"status\\\" TEXT\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false},\"customer_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"customers\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"backend_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"provider_customer_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"provider_payment_method_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"type\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"card\"},\"brand\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"last4\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"exp_month\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"exp_year\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"is_default\":{\"type\":\"BOOLEAN\",\"notNull\":false,\"unique\":false,\"default\":false},\"status\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false}},\"indexes\":[{\"name\":\"payment_instruments_slug_context_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"payment_instruments_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"payment_instruments_customer_id_idx\",\"columns\":[\"customer_id\"]}],\"version\":\"722393fe\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:PaymentIntentCollection\":{\"name\":\"paymentintentcollection\",\"className\":\"PaymentIntentCollection\",\"qualifiedName\":\"@happyvertical/smrt-commerce:PaymentIntentCollection\",\"collection\":\"paymentintents\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/collections/PaymentIntentCollection.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{},\"methods\":{\"findByIdempotencyKey\":{\"name\":\"findByIdempotencyKey\",\"async\":true,\"parameters\":[{\"name\":\"args\",\"type\":\"PaymentIntentIdempotencyArgs\",\"optional\":false}],\"returnType\":\"Promise<PaymentIntent | null>\",\"isStatic\":false,\"isPublic\":true},\"getOrCreateByIdempotencyKey\":{\"name\":\"getOrCreateByIdempotencyKey\",\"async\":true,\"parameters\":[{\"name\":\"seed\",\"type\":\"PaymentIntentSeed\",\"optional\":false}],\"returnType\":\"Promise<object>\",\"isStatic\":false,\"isPublic\":true},\"findOpen\":{\"name\":\"findOpen\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<PaymentIntent[]>\",\"isStatic\":false,\"isPublic\":true},\"findStale\":{\"name\":\"findStale\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<PaymentIntent[]>\",\"isStatic\":false,\"isPublic\":true},\"findByLicenseeEmail\":{\"name\":\"findByLicenseeEmail\",\"async\":true,\"parameters\":[{\"name\":\"email\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<PaymentIntent[]>\",\"isStatic\":false,\"isPublic\":true},\"findByOfferingRef\":{\"name\":\"findByOfferingRef\",\"async\":true,\"parameters\":[{\"name\":\"offeringRef\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<PaymentIntent[]>\",\"isStatic\":false,\"isPublic\":true},\"findByStatus\":{\"name\":\"findByStatus\",\"async\":true,\"parameters\":[{\"name\":\"status\",\"type\":\"PaymentIntentStatus\",\"optional\":false}],\"returnType\":\"Promise<PaymentIntent[]>\",\"isStatic\":false,\"isPublic\":true},\"findByTenant\":{\"name\":\"findByTenant\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<PaymentIntent[]>\",\"isStatic\":false,\"isPublic\":true},\"findGlobal\":{\"name\":\"findGlobal\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<PaymentIntent[]>\",\"isStatic\":false,\"isPublic\":true},\"findWithGlobals\":{\"name\":\"findWithGlobals\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<PaymentIntent[]>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"PaymentIntent\",\"exportName\":\"PaymentIntentCollection\",\"collectionExportName\":\"PaymentIntentCollectionCollection\",\"schema\":{\"tableName\":\"payment_intents\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"payment_intents\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"sku_id\\\" TEXT DEFAULT '',\\n \\\"offering_ref\\\" TEXT DEFAULT '',\\n \\\"licensee_email\\\" TEXT DEFAULT '',\\n \\\"customer_id\\\" TEXT DEFAULT '',\\n \\\"payment_options\\\" JSON DEFAULT '[]',\\n \\\"usd_price_locked\\\" INTEGER DEFAULT 0,\\n \\\"price_lock_window_ms\\\" INTEGER,\\n \\\"price_lock_expires_at\\\" TIMESTAMP,\\n \\\"status\\\" TEXT,\\n \\\"idempotency_key\\\" TEXT DEFAULT '',\\n \\\"paid_option_backend_id\\\" TEXT DEFAULT '',\\n \\\"payment_id\\\" TEXT DEFAULT '',\\n \\\"paid_at\\\" TIMESTAMP,\\n \\\"issued_at\\\" TIMESTAMP,\\n \\\"expired_at\\\" TIMESTAMP,\\n \\\"cancelled_at\\\" TIMESTAMP,\\n \\\"retired_at\\\" TIMESTAMP,\\n \\\"notes\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false},\"sku_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"offering_ref\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"licensee_email\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"customer_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"payment_options\":{\"type\":\"JSON\",\"notNull\":false,\"unique\":false,\"default\":[]},\"usd_price_locked\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"price_lock_window_ms\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false},\"price_lock_expires_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"status\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"idempotency_key\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"paid_option_backend_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"payment_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"paid_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"issued_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"expired_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"cancelled_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"retired_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"payment_intents_tenant_id_offering_ref_idx\",\"columns\":[\"tenant_id\",\"offering_ref\",\"licensee_email\",\"idempotency_key\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"payment_intents_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"payment_intents_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]}],\"version\":\"c565aaef\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:PayoutCollection\":{\"name\":\"payoutcollection\",\"className\":\"PayoutCollection\",\"qualifiedName\":\"@happyvertical/smrt-commerce:PayoutCollection\",\"collection\":\"payouts\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/collections/PayoutCollection.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{},\"methods\":{\"createFromPayment\":{\"name\":\"createFromPayment\",\"async\":true,\"parameters\":[{\"name\":\"args\",\"type\":\"CreatePayoutFromPaymentArgs\",\"optional\":false}],\"returnType\":\"Promise<Payout>\",\"isStatic\":false,\"isPublic\":true},\"findByPayment\":{\"name\":\"findByPayment\",\"async\":true,\"parameters\":[{\"name\":\"paymentId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Payout[]>\",\"isStatic\":false,\"isPublic\":true},\"findByVendor\":{\"name\":\"findByVendor\",\"async\":true,\"parameters\":[{\"name\":\"vendorId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Payout[]>\",\"isStatic\":false,\"isPublic\":true},\"findByStatus\":{\"name\":\"findByStatus\",\"async\":true,\"parameters\":[{\"name\":\"status\",\"type\":\"PayoutStatus\",\"optional\":false}],\"returnType\":\"Promise<Payout[]>\",\"isStatic\":false,\"isPublic\":true},\"findPending\":{\"name\":\"findPending\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Payout[]>\",\"isStatic\":false,\"isPublic\":true},\"findFailed\":{\"name\":\"findFailed\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Payout[]>\",\"isStatic\":false,\"isPublic\":true},\"findByBackendTxRef\":{\"name\":\"findByBackendTxRef\",\"async\":true,\"parameters\":[{\"name\":\"backendTxRef\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Payout | null>\",\"isStatic\":false,\"isPublic\":true},\"getConfirmedTotalForVendor\":{\"name\":\"getConfirmedTotalForVendor\",\"async\":true,\"parameters\":[{\"name\":\"vendorId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"findByTenant\":{\"name\":\"findByTenant\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Payout[]>\",\"isStatic\":false,\"isPublic\":true},\"findGlobal\":{\"name\":\"findGlobal\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Payout[]>\",\"isStatic\":false,\"isPublic\":true},\"findWithGlobals\":{\"name\":\"findWithGlobals\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Payout[]>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"Payout\",\"exportName\":\"PayoutCollection\",\"collectionExportName\":\"PayoutCollectionCollection\",\"schema\":{\"tableName\":\"payouts\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"payouts\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"payment_id\\\" TEXT DEFAULT '',\\n \\\"vendor_id\\\" UUID,\\n \\\"gross_amount\\\" INTEGER DEFAULT 0,\\n \\\"operator_fee\\\" INTEGER DEFAULT 0,\\n \\\"supplier_net\\\" INTEGER DEFAULT 0,\\n \\\"currency\\\" TEXT DEFAULT '',\\n \\\"backend_id\\\" TEXT DEFAULT '',\\n \\\"backend_tx_ref\\\" TEXT DEFAULT '',\\n \\\"status\\\" TEXT,\\n \\\"sent_at\\\" TIMESTAMP,\\n \\\"confirmed_at\\\" TIMESTAMP,\\n \\\"failed_at\\\" TIMESTAMP,\\n \\\"failure_reason\\\" TEXT DEFAULT '',\\n \\\"notes\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false},\"payment_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"vendor_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"vendors\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"gross_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"operator_fee\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"supplier_net\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"backend_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"backend_tx_ref\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"status\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"sent_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"confirmed_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"failed_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"failure_reason\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"payouts_slug_context_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"payouts_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"payouts_vendor_id_idx\",\"columns\":[\"vendor_id\"]}],\"version\":\"98fa81d5\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:VendorCollection\":{\"name\":\"vendorcollection\",\"className\":\"VendorCollection\",\"qualifiedName\":\"@happyvertical/smrt-commerce:VendorCollection\",\"collection\":\"vendors\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/collections/VendorCollection.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{},\"methods\":{\"findByProfile\":{\"name\":\"findByProfile\",\"async\":true,\"parameters\":[{\"name\":\"profileId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Vendor[]>\",\"isStatic\":false,\"isPublic\":true},\"findActive\":{\"name\":\"findActive\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Vendor[]>\",\"isStatic\":false,\"isPublic\":true},\"findByStatus\":{\"name\":\"findByStatus\",\"async\":true,\"parameters\":[{\"name\":\"status\",\"type\":\"VendorStatus\",\"optional\":false}],\"returnType\":\"Promise<Vendor[]>\",\"isStatic\":false,\"isPublic\":true},\"getOrCreateForProfile\":{\"name\":\"getOrCreateForProfile\",\"async\":true,\"parameters\":[{\"name\":\"profileId\",\"type\":\"string\",\"optional\":false},{\"name\":\"defaults\",\"type\":\"Partial<object>\",\"optional\":true,\"memberTypes\":[\"number\",\"string\"]}],\"returnType\":\"Promise<Vendor>\",\"isStatic\":false,\"isPublic\":true},\"findByTenant\":{\"name\":\"findByTenant\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Vendor[]>\",\"isStatic\":false,\"isPublic\":true},\"findGlobal\":{\"name\":\"findGlobal\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Vendor[]>\",\"isStatic\":false,\"isPublic\":true},\"findWithGlobals\":{\"name\":\"findWithGlobals\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Vendor[]>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"Vendor\",\"exportName\":\"VendorCollection\",\"collectionExportName\":\"VendorCollectionCollection\",\"schema\":{\"tableName\":\"vendors\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"vendors\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"profile_id\\\" UUID,\\n \\\"lead_time_days\\\" INTEGER DEFAULT 0,\\n \\\"minimum_order_amount\\\" INTEGER DEFAULT 0,\\n \\\"payment_terms\\\" TEXT DEFAULT '',\\n \\\"currency\\\" TEXT DEFAULT 'USD',\\n \\\"default_contact_email\\\" TEXT DEFAULT '',\\n \\\"default_contact_phone\\\" TEXT DEFAULT '',\\n \\\"status\\\" TEXT,\\n \\\"notes\\\" TEXT DEFAULT '',\\n \\\"payout_addresses\\\" JSON DEFAULT '{}'\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false},\"profile_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false,\"unique\":false},\"lead_time_days\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"minimum_order_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"payment_terms\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"USD\"},\"default_contact_email\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"default_contact_phone\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"status\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"payout_addresses\":{\"type\":\"JSON\",\"notNull\":false,\"unique\":false,\"default\":{}}},\"indexes\":[{\"name\":\"vendors_slug_context_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"vendors_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"vendors_profile_id_idx\",\"columns\":[\"profile_id\"]}],\"version\":\"1dc2b65e\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:Contract\":{\"name\":\"contract\",\"className\":\"Contract\",\"qualifiedName\":\"@happyvertical/smrt-commerce:Contract\",\"collection\":\"contracts\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/models/Contract.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{\"created_at\":{\"type\":\"datetime\",\"required\":false},\"updated_at\":{\"type\":\"datetime\",\"required\":false},\"tenantId\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"sqlType\":\"UUID\",\"nullable\":true,\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":false,\"autoPopulate\":true,\"nullable\":true,\"mode\":\"optional\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"contractType\":{\"type\":\"text\",\"required\":false},\"status\":{\"type\":\"text\",\"required\":false},\"customerId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Customer\"},\"vendorId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Vendor\"},\"subtotal\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"taxAmount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"totalAmount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"currency\":{\"type\":\"text\",\"required\":false,\"default\":\"USD\"},\"issueDate\":{\"type\":\"datetime\",\"required\":false},\"dueDate\":{\"type\":\"datetime\",\"required\":false},\"expiryDate\":{\"type\":\"datetime\",\"required\":false},\"reference\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"notes\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"terms\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"channelId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"}},\"methods\":{\"isDraft\":{\"name\":\"isDraft\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isAccepted\":{\"name\":\"isAccepted\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isCompleted\":{\"name\":\"isCompleted\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isExpired\":{\"name\":\"isExpired\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isOverdue\":{\"name\":\"isOverdue\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"recalculateTotals\":{\"name\":\"recalculateTotals\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tableStrategy\":\"sti\",\"api\":{\"include\":[\"list\",\"get\",\"create\",\"update\"]},\"mcp\":{\"include\":[\"list\",\"get\"]},\"cli\":{\"skipApiCheck\":true},\"tenantScoped\":{\"mode\":\"optional\"},\"conflictColumns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"]},\"extends\":\"SmrtObject\",\"exportName\":\"Contract\",\"collectionExportName\":\"ContractCollection\",\"schema\":{\"tableName\":\"contracts\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"contracts\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"_meta_type\\\" TEXT NOT NULL,\\n \\\"_meta_data\\\" JSON,\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"contract_type\\\" TEXT,\\n \\\"status\\\" TEXT,\\n \\\"customer_id\\\" UUID,\\n \\\"vendor_id\\\" UUID,\\n \\\"subtotal\\\" INTEGER DEFAULT 0,\\n \\\"tax_amount\\\" INTEGER DEFAULT 0,\\n \\\"total_amount\\\" INTEGER DEFAULT 0,\\n \\\"currency\\\" TEXT DEFAULT 'USD',\\n \\\"issue_date\\\" TIMESTAMP,\\n \\\"due_date\\\" TIMESTAMP,\\n \\\"expiry_date\\\" TIMESTAMP,\\n \\\"reference\\\" TEXT DEFAULT '',\\n \\\"notes\\\" TEXT DEFAULT '',\\n \\\"terms\\\" TEXT DEFAULT '',\\n \\\"channel_id\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"_meta_type\":{\"type\":\"TEXT\",\"notNull\":true},\"_meta_data\":{\"type\":\"JSON\",\"notNull\":false},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false},\"contract_type\":{\"type\":\"TEXT\",\"notNull\":false},\"status\":{\"type\":\"TEXT\",\"notNull\":false},\"customer_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"customers\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"vendor_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"vendors\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"subtotal\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"tax_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"total_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"USD\"},\"issue_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"due_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"expiry_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"reference\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"terms\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"channel_id\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"contracts_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"contracts_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"contracts_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"contracts_customer_id_idx\",\"columns\":[\"customer_id\"]},{\"name\":\"contracts_vendor_id_idx\",\"columns\":[\"vendor_id\"]}],\"version\":\"9c2e9c49\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:Estimate\":{\"name\":\"estimate\",\"className\":\"Estimate\",\"qualifiedName\":\"@happyvertical/smrt-commerce:Estimate\",\"collection\":\"contracts\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/models/Contract.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{\"created_at\":{\"type\":\"datetime\",\"required\":false},\"updated_at\":{\"type\":\"datetime\",\"required\":false},\"tenantId\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"sqlType\":\"UUID\",\"nullable\":true,\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":false,\"autoPopulate\":true,\"nullable\":true,\"mode\":\"optional\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"contractType\":{\"type\":\"text\",\"required\":false},\"status\":{\"type\":\"text\",\"required\":false},\"customerId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Customer\"},\"vendorId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Vendor\"},\"subtotal\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"taxAmount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"totalAmount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"currency\":{\"type\":\"text\",\"required\":false,\"default\":\"USD\"},\"issueDate\":{\"type\":\"datetime\",\"required\":false},\"dueDate\":{\"type\":\"datetime\",\"required\":false},\"expiryDate\":{\"type\":\"datetime\",\"required\":false},\"reference\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"notes\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"terms\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"channelId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"}},\"methods\":{\"isDraft\":{\"name\":\"isDraft\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isAccepted\":{\"name\":\"isAccepted\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isCompleted\":{\"name\":\"isCompleted\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isExpired\":{\"name\":\"isExpired\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isOverdue\":{\"name\":\"isOverdue\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"recalculateTotals\":{\"name\":\"recalculateTotals\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tenantScoped\":{\"mode\":\"optional\"},\"tableName\":\"contracts\",\"tableStrategy\":\"sti\"},\"extends\":\"Contract\",\"exportName\":\"Estimate\",\"collectionExportName\":\"EstimateCollection\",\"schema\":{\"tableName\":\"contracts\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"contracts\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"_meta_type\\\" TEXT NOT NULL,\\n \\\"_meta_data\\\" JSON,\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"contract_type\\\" TEXT,\\n \\\"status\\\" TEXT,\\n \\\"customer_id\\\" UUID,\\n \\\"vendor_id\\\" UUID,\\n \\\"subtotal\\\" INTEGER DEFAULT 0,\\n \\\"tax_amount\\\" INTEGER DEFAULT 0,\\n \\\"total_amount\\\" INTEGER DEFAULT 0,\\n \\\"currency\\\" TEXT DEFAULT 'USD',\\n \\\"issue_date\\\" TIMESTAMP,\\n \\\"due_date\\\" TIMESTAMP,\\n \\\"expiry_date\\\" TIMESTAMP,\\n \\\"reference\\\" TEXT DEFAULT '',\\n \\\"notes\\\" TEXT DEFAULT '',\\n \\\"terms\\\" TEXT DEFAULT '',\\n \\\"channel_id\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"_meta_type\":{\"type\":\"TEXT\",\"notNull\":true},\"_meta_data\":{\"type\":\"JSON\",\"notNull\":false},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false},\"contract_type\":{\"type\":\"TEXT\",\"notNull\":false},\"status\":{\"type\":\"TEXT\",\"notNull\":false},\"customer_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"customers\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"vendor_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"vendors\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"subtotal\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"tax_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"total_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"USD\"},\"issue_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"due_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"expiry_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"reference\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"terms\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"channel_id\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"contracts_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"contracts_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"contracts_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"contracts_customer_id_idx\",\"columns\":[\"customer_id\"]},{\"name\":\"contracts_vendor_id_idx\",\"columns\":[\"vendor_id\"]}],\"version\":\"2f1624b2\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:Order\":{\"name\":\"order\",\"className\":\"Order\",\"qualifiedName\":\"@happyvertical/smrt-commerce:Order\",\"collection\":\"contracts\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/models/Contract.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{\"created_at\":{\"type\":\"datetime\",\"required\":false},\"updated_at\":{\"type\":\"datetime\",\"required\":false},\"tenantId\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"sqlType\":\"UUID\",\"nullable\":true,\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":false,\"autoPopulate\":true,\"nullable\":true,\"mode\":\"optional\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"contractType\":{\"type\":\"text\",\"required\":false},\"status\":{\"type\":\"text\",\"required\":false},\"customerId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Customer\"},\"vendorId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Vendor\"},\"subtotal\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"taxAmount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"totalAmount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"currency\":{\"type\":\"text\",\"required\":false,\"default\":\"USD\"},\"issueDate\":{\"type\":\"datetime\",\"required\":false},\"dueDate\":{\"type\":\"datetime\",\"required\":false},\"expiryDate\":{\"type\":\"datetime\",\"required\":false},\"reference\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"notes\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"terms\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"channelId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"}},\"methods\":{\"isDraft\":{\"name\":\"isDraft\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isAccepted\":{\"name\":\"isAccepted\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isCompleted\":{\"name\":\"isCompleted\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isExpired\":{\"name\":\"isExpired\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isOverdue\":{\"name\":\"isOverdue\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"recalculateTotals\":{\"name\":\"recalculateTotals\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tenantScoped\":{\"mode\":\"optional\"},\"tableName\":\"contracts\",\"tableStrategy\":\"sti\"},\"extends\":\"Contract\",\"exportName\":\"Order\",\"collectionExportName\":\"OrderCollection\",\"schema\":{\"tableName\":\"contracts\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"contracts\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"_meta_type\\\" TEXT NOT NULL,\\n \\\"_meta_data\\\" JSON,\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"contract_type\\\" TEXT,\\n \\\"status\\\" TEXT,\\n \\\"customer_id\\\" UUID,\\n \\\"vendor_id\\\" UUID,\\n \\\"subtotal\\\" INTEGER DEFAULT 0,\\n \\\"tax_amount\\\" INTEGER DEFAULT 0,\\n \\\"total_amount\\\" INTEGER DEFAULT 0,\\n \\\"currency\\\" TEXT DEFAULT 'USD',\\n \\\"issue_date\\\" TIMESTAMP,\\n \\\"due_date\\\" TIMESTAMP,\\n \\\"expiry_date\\\" TIMESTAMP,\\n \\\"reference\\\" TEXT DEFAULT '',\\n \\\"notes\\\" TEXT DEFAULT '',\\n \\\"terms\\\" TEXT DEFAULT '',\\n \\\"channel_id\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"_meta_type\":{\"type\":\"TEXT\",\"notNull\":true},\"_meta_data\":{\"type\":\"JSON\",\"notNull\":false},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false},\"contract_type\":{\"type\":\"TEXT\",\"notNull\":false},\"status\":{\"type\":\"TEXT\",\"notNull\":false},\"customer_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"customers\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"vendor_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"vendors\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"subtotal\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"tax_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"total_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"USD\"},\"issue_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"due_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"expiry_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"reference\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"terms\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"channel_id\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"contracts_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"contracts_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"contracts_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"contracts_customer_id_idx\",\"columns\":[\"customer_id\"]},{\"name\":\"contracts_vendor_id_idx\",\"columns\":[\"vendor_id\"]}],\"version\":\"b7667cf3\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:Lease\":{\"name\":\"lease\",\"className\":\"Lease\",\"qualifiedName\":\"@happyvertical/smrt-commerce:Lease\",\"collection\":\"contracts\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/models/Contract.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{\"created_at\":{\"type\":\"datetime\",\"required\":false},\"updated_at\":{\"type\":\"datetime\",\"required\":false},\"tenantId\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"sqlType\":\"UUID\",\"nullable\":true,\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":false,\"autoPopulate\":true,\"nullable\":true,\"mode\":\"optional\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"contractType\":{\"type\":\"text\",\"required\":false},\"status\":{\"type\":\"text\",\"required\":false},\"customerId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Customer\"},\"vendorId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Vendor\"},\"subtotal\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"taxAmount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"totalAmount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"currency\":{\"type\":\"text\",\"required\":false,\"default\":\"USD\"},\"issueDate\":{\"type\":\"datetime\",\"required\":false},\"dueDate\":{\"type\":\"datetime\",\"required\":false},\"expiryDate\":{\"type\":\"datetime\",\"required\":false},\"reference\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"notes\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"terms\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"channelId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"}},\"methods\":{\"isDraft\":{\"name\":\"isDraft\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isAccepted\":{\"name\":\"isAccepted\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isCompleted\":{\"name\":\"isCompleted\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isExpired\":{\"name\":\"isExpired\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isOverdue\":{\"name\":\"isOverdue\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"recalculateTotals\":{\"name\":\"recalculateTotals\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tenantScoped\":{\"mode\":\"optional\"},\"tableName\":\"contracts\",\"tableStrategy\":\"sti\"},\"extends\":\"Contract\",\"exportName\":\"Lease\",\"collectionExportName\":\"LeaseCollection\",\"schema\":{\"tableName\":\"contracts\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"contracts\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"_meta_type\\\" TEXT NOT NULL,\\n \\\"_meta_data\\\" JSON,\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"contract_type\\\" TEXT,\\n \\\"status\\\" TEXT,\\n \\\"customer_id\\\" UUID,\\n \\\"vendor_id\\\" UUID,\\n \\\"subtotal\\\" INTEGER DEFAULT 0,\\n \\\"tax_amount\\\" INTEGER DEFAULT 0,\\n \\\"total_amount\\\" INTEGER DEFAULT 0,\\n \\\"currency\\\" TEXT DEFAULT 'USD',\\n \\\"issue_date\\\" TIMESTAMP,\\n \\\"due_date\\\" TIMESTAMP,\\n \\\"expiry_date\\\" TIMESTAMP,\\n \\\"reference\\\" TEXT DEFAULT '',\\n \\\"notes\\\" TEXT DEFAULT '',\\n \\\"terms\\\" TEXT DEFAULT '',\\n \\\"channel_id\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"_meta_type\":{\"type\":\"TEXT\",\"notNull\":true},\"_meta_data\":{\"type\":\"JSON\",\"notNull\":false},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false},\"contract_type\":{\"type\":\"TEXT\",\"notNull\":false},\"status\":{\"type\":\"TEXT\",\"notNull\":false},\"customer_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"customers\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"vendor_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"vendors\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"subtotal\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"tax_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"total_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"USD\"},\"issue_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"due_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"expiry_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"reference\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"terms\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"channel_id\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"contracts_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"contracts_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"contracts_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"contracts_customer_id_idx\",\"columns\":[\"customer_id\"]},{\"name\":\"contracts_vendor_id_idx\",\"columns\":[\"vendor_id\"]}],\"version\":\"b24cdace\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:Agreement\":{\"name\":\"agreement\",\"className\":\"Agreement\",\"qualifiedName\":\"@happyvertical/smrt-commerce:Agreement\",\"collection\":\"contracts\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/models/Contract.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{\"created_at\":{\"type\":\"datetime\",\"required\":false},\"updated_at\":{\"type\":\"datetime\",\"required\":false},\"tenantId\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"sqlType\":\"UUID\",\"nullable\":true,\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":false,\"autoPopulate\":true,\"nullable\":true,\"mode\":\"optional\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"contractType\":{\"type\":\"text\",\"required\":false},\"status\":{\"type\":\"text\",\"required\":false},\"customerId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Customer\"},\"vendorId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Vendor\"},\"subtotal\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"taxAmount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"totalAmount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"currency\":{\"type\":\"text\",\"required\":false,\"default\":\"USD\"},\"issueDate\":{\"type\":\"datetime\",\"required\":false},\"dueDate\":{\"type\":\"datetime\",\"required\":false},\"expiryDate\":{\"type\":\"datetime\",\"required\":false},\"reference\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"notes\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"terms\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"channelId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"}},\"methods\":{\"isDraft\":{\"name\":\"isDraft\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isAccepted\":{\"name\":\"isAccepted\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isCompleted\":{\"name\":\"isCompleted\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isExpired\":{\"name\":\"isExpired\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isOverdue\":{\"name\":\"isOverdue\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"recalculateTotals\":{\"name\":\"recalculateTotals\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tenantScoped\":{\"mode\":\"optional\"},\"tableName\":\"contracts\",\"tableStrategy\":\"sti\"},\"extends\":\"Contract\",\"exportName\":\"Agreement\",\"collectionExportName\":\"AgreementCollection\",\"schema\":{\"tableName\":\"contracts\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"contracts\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"_meta_type\\\" TEXT NOT NULL,\\n \\\"_meta_data\\\" JSON,\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"contract_type\\\" TEXT,\\n \\\"status\\\" TEXT,\\n \\\"customer_id\\\" UUID,\\n \\\"vendor_id\\\" UUID,\\n \\\"subtotal\\\" INTEGER DEFAULT 0,\\n \\\"tax_amount\\\" INTEGER DEFAULT 0,\\n \\\"total_amount\\\" INTEGER DEFAULT 0,\\n \\\"currency\\\" TEXT DEFAULT 'USD',\\n \\\"issue_date\\\" TIMESTAMP,\\n \\\"due_date\\\" TIMESTAMP,\\n \\\"expiry_date\\\" TIMESTAMP,\\n \\\"reference\\\" TEXT DEFAULT '',\\n \\\"notes\\\" TEXT DEFAULT '',\\n \\\"terms\\\" TEXT DEFAULT '',\\n \\\"channel_id\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"_meta_type\":{\"type\":\"TEXT\",\"notNull\":true},\"_meta_data\":{\"type\":\"JSON\",\"notNull\":false},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false},\"contract_type\":{\"type\":\"TEXT\",\"notNull\":false},\"status\":{\"type\":\"TEXT\",\"notNull\":false},\"customer_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"customers\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"vendor_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"vendors\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"subtotal\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"tax_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"total_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"USD\"},\"issue_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"due_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"expiry_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"reference\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"terms\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"channel_id\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"contracts_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"contracts_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"contracts_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"contracts_customer_id_idx\",\"columns\":[\"customer_id\"]},{\"name\":\"contracts_vendor_id_idx\",\"columns\":[\"vendor_id\"]}],\"version\":\"28f0c394\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:PurchaseOrder\":{\"name\":\"purchaseorder\",\"className\":\"PurchaseOrder\",\"qualifiedName\":\"@happyvertical/smrt-commerce:PurchaseOrder\",\"collection\":\"contracts\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/models/Contract.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{\"created_at\":{\"type\":\"datetime\",\"required\":false},\"updated_at\":{\"type\":\"datetime\",\"required\":false},\"tenantId\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"sqlType\":\"UUID\",\"nullable\":true,\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":false,\"autoPopulate\":true,\"nullable\":true,\"mode\":\"optional\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"contractType\":{\"type\":\"text\",\"required\":false},\"status\":{\"type\":\"text\",\"required\":false},\"customerId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Customer\"},\"vendorId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Vendor\"},\"subtotal\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"taxAmount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"totalAmount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"currency\":{\"type\":\"text\",\"required\":false,\"default\":\"USD\"},\"issueDate\":{\"type\":\"datetime\",\"required\":false},\"dueDate\":{\"type\":\"datetime\",\"required\":false},\"expiryDate\":{\"type\":\"datetime\",\"required\":false},\"reference\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"notes\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"terms\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"channelId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"}},\"methods\":{\"isDraft\":{\"name\":\"isDraft\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isAccepted\":{\"name\":\"isAccepted\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isCompleted\":{\"name\":\"isCompleted\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isExpired\":{\"name\":\"isExpired\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isOverdue\":{\"name\":\"isOverdue\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"recalculateTotals\":{\"name\":\"recalculateTotals\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tenantScoped\":{\"mode\":\"optional\"},\"tableName\":\"contracts\",\"tableStrategy\":\"sti\"},\"extends\":\"Contract\",\"exportName\":\"PurchaseOrder\",\"collectionExportName\":\"PurchaseOrderCollection\",\"schema\":{\"tableName\":\"contracts\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"contracts\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"_meta_type\\\" TEXT NOT NULL,\\n \\\"_meta_data\\\" JSON,\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"contract_type\\\" TEXT,\\n \\\"status\\\" TEXT,\\n \\\"customer_id\\\" UUID,\\n \\\"vendor_id\\\" UUID,\\n \\\"subtotal\\\" INTEGER DEFAULT 0,\\n \\\"tax_amount\\\" INTEGER DEFAULT 0,\\n \\\"total_amount\\\" INTEGER DEFAULT 0,\\n \\\"currency\\\" TEXT DEFAULT 'USD',\\n \\\"issue_date\\\" TIMESTAMP,\\n \\\"due_date\\\" TIMESTAMP,\\n \\\"expiry_date\\\" TIMESTAMP,\\n \\\"reference\\\" TEXT DEFAULT '',\\n \\\"notes\\\" TEXT DEFAULT '',\\n \\\"terms\\\" TEXT DEFAULT '',\\n \\\"channel_id\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"_meta_type\":{\"type\":\"TEXT\",\"notNull\":true},\"_meta_data\":{\"type\":\"JSON\",\"notNull\":false},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false},\"contract_type\":{\"type\":\"TEXT\",\"notNull\":false},\"status\":{\"type\":\"TEXT\",\"notNull\":false},\"customer_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"customers\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"vendor_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"vendors\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"subtotal\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"tax_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"total_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"USD\"},\"issue_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"due_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"expiry_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"reference\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"terms\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"channel_id\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"contracts_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"contracts_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"contracts_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"contracts_customer_id_idx\",\"columns\":[\"customer_id\"]},{\"name\":\"contracts_vendor_id_idx\",\"columns\":[\"vendor_id\"]}],\"version\":\"91ec64bb\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:WholesaleOrder\":{\"name\":\"wholesaleorder\",\"className\":\"WholesaleOrder\",\"qualifiedName\":\"@happyvertical/smrt-commerce:WholesaleOrder\",\"collection\":\"contracts\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/models/Contract.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{\"created_at\":{\"type\":\"datetime\",\"required\":false},\"updated_at\":{\"type\":\"datetime\",\"required\":false},\"tenantId\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"sqlType\":\"UUID\",\"nullable\":true,\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":false,\"autoPopulate\":true,\"nullable\":true,\"mode\":\"optional\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"contractType\":{\"type\":\"text\",\"required\":false},\"status\":{\"type\":\"text\",\"required\":false},\"customerId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Customer\"},\"vendorId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Vendor\"},\"subtotal\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"taxAmount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"totalAmount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"currency\":{\"type\":\"text\",\"required\":false,\"default\":\"USD\"},\"issueDate\":{\"type\":\"datetime\",\"required\":false},\"dueDate\":{\"type\":\"datetime\",\"required\":false},\"expiryDate\":{\"type\":\"datetime\",\"required\":false},\"reference\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"notes\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"terms\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"channelId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"}},\"methods\":{\"isDraft\":{\"name\":\"isDraft\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isAccepted\":{\"name\":\"isAccepted\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isCompleted\":{\"name\":\"isCompleted\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isExpired\":{\"name\":\"isExpired\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isOverdue\":{\"name\":\"isOverdue\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"recalculateTotals\":{\"name\":\"recalculateTotals\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tenantScoped\":{\"mode\":\"optional\"},\"tableName\":\"contracts\",\"tableStrategy\":\"sti\"},\"extends\":\"Contract\",\"exportName\":\"WholesaleOrder\",\"collectionExportName\":\"WholesaleOrderCollection\",\"schema\":{\"tableName\":\"contracts\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"contracts\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"_meta_type\\\" TEXT NOT NULL,\\n \\\"_meta_data\\\" JSON,\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"contract_type\\\" TEXT,\\n \\\"status\\\" TEXT,\\n \\\"customer_id\\\" UUID,\\n \\\"vendor_id\\\" UUID,\\n \\\"subtotal\\\" INTEGER DEFAULT 0,\\n \\\"tax_amount\\\" INTEGER DEFAULT 0,\\n \\\"total_amount\\\" INTEGER DEFAULT 0,\\n \\\"currency\\\" TEXT DEFAULT 'USD',\\n \\\"issue_date\\\" TIMESTAMP,\\n \\\"due_date\\\" TIMESTAMP,\\n \\\"expiry_date\\\" TIMESTAMP,\\n \\\"reference\\\" TEXT DEFAULT '',\\n \\\"notes\\\" TEXT DEFAULT '',\\n \\\"terms\\\" TEXT DEFAULT '',\\n \\\"channel_id\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"_meta_type\":{\"type\":\"TEXT\",\"notNull\":true},\"_meta_data\":{\"type\":\"JSON\",\"notNull\":false},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false},\"contract_type\":{\"type\":\"TEXT\",\"notNull\":false},\"status\":{\"type\":\"TEXT\",\"notNull\":false},\"customer_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"customers\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"vendor_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"vendors\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"subtotal\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"tax_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"total_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"USD\"},\"issue_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"due_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"expiry_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"reference\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"terms\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"channel_id\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"contracts_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"contracts_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"contracts_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"contracts_customer_id_idx\",\"columns\":[\"customer_id\"]},{\"name\":\"contracts_vendor_id_idx\",\"columns\":[\"vendor_id\"]}],\"version\":\"ccb8a3ae\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:ProductionOrder\":{\"name\":\"productionorder\",\"className\":\"ProductionOrder\",\"qualifiedName\":\"@happyvertical/smrt-commerce:ProductionOrder\",\"collection\":\"contracts\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/models/Contract.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{\"created_at\":{\"type\":\"datetime\",\"required\":false},\"updated_at\":{\"type\":\"datetime\",\"required\":false},\"tenantId\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"sqlType\":\"UUID\",\"nullable\":true,\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":false,\"autoPopulate\":true,\"nullable\":true,\"mode\":\"optional\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"contractType\":{\"type\":\"text\",\"required\":false},\"status\":{\"type\":\"text\",\"required\":false},\"customerId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Customer\"},\"vendorId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Vendor\"},\"subtotal\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"taxAmount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"totalAmount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"currency\":{\"type\":\"text\",\"required\":false,\"default\":\"USD\"},\"issueDate\":{\"type\":\"datetime\",\"required\":false},\"dueDate\":{\"type\":\"datetime\",\"required\":false},\"expiryDate\":{\"type\":\"datetime\",\"required\":false},\"reference\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"notes\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"terms\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"channelId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"productId\":{\"type\":\"meta\",\"required\":false,\"default\":\"\",\"_meta\":{\"underlyingType\":\"text\"}},\"bomId\":{\"type\":\"meta\",\"required\":false,\"default\":\"\",\"_meta\":{\"underlyingType\":\"text\"}}},\"methods\":{\"isDraft\":{\"name\":\"isDraft\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isAccepted\":{\"name\":\"isAccepted\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isCompleted\":{\"name\":\"isCompleted\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isExpired\":{\"name\":\"isExpired\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isOverdue\":{\"name\":\"isOverdue\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"recalculateTotals\":{\"name\":\"recalculateTotals\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tenantScoped\":{\"mode\":\"optional\"},\"tableName\":\"contracts\",\"tableStrategy\":\"sti\"},\"extends\":\"Contract\",\"exportName\":\"ProductionOrder\",\"collectionExportName\":\"ProductionOrderCollection\",\"schema\":{\"tableName\":\"contracts\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"contracts\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"_meta_type\\\" TEXT NOT NULL,\\n \\\"_meta_data\\\" JSON,\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"contract_type\\\" TEXT,\\n \\\"status\\\" TEXT,\\n \\\"customer_id\\\" UUID,\\n \\\"vendor_id\\\" UUID,\\n \\\"subtotal\\\" INTEGER DEFAULT 0,\\n \\\"tax_amount\\\" INTEGER DEFAULT 0,\\n \\\"total_amount\\\" INTEGER DEFAULT 0,\\n \\\"currency\\\" TEXT DEFAULT 'USD',\\n \\\"issue_date\\\" TIMESTAMP,\\n \\\"due_date\\\" TIMESTAMP,\\n \\\"expiry_date\\\" TIMESTAMP,\\n \\\"reference\\\" TEXT DEFAULT '',\\n \\\"notes\\\" TEXT DEFAULT '',\\n \\\"terms\\\" TEXT DEFAULT '',\\n \\\"channel_id\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"_meta_type\":{\"type\":\"TEXT\",\"notNull\":true},\"_meta_data\":{\"type\":\"JSON\",\"notNull\":false},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false},\"contract_type\":{\"type\":\"TEXT\",\"notNull\":false},\"status\":{\"type\":\"TEXT\",\"notNull\":false},\"customer_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"customers\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"vendor_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"vendors\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"subtotal\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"tax_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"total_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"USD\"},\"issue_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"due_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"expiry_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"reference\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"terms\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"channel_id\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"contracts_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"contracts_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"contracts_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"contracts_customer_id_idx\",\"columns\":[\"customer_id\"]},{\"name\":\"contracts_vendor_id_idx\",\"columns\":[\"vendor_id\"]}],\"version\":\"c6b977a5\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:Cart\":{\"name\":\"cart\",\"className\":\"Cart\",\"qualifiedName\":\"@happyvertical/smrt-commerce:Cart\",\"collection\":\"contracts\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/models/Contract.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{\"created_at\":{\"type\":\"datetime\",\"required\":false},\"updated_at\":{\"type\":\"datetime\",\"required\":false},\"tenantId\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"sqlType\":\"UUID\",\"nullable\":true,\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":false,\"autoPopulate\":true,\"nullable\":true,\"mode\":\"optional\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"contractType\":{\"type\":\"text\",\"required\":false},\"status\":{\"type\":\"text\",\"required\":false},\"customerId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Customer\"},\"vendorId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Vendor\"},\"subtotal\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"taxAmount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"totalAmount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"currency\":{\"type\":\"text\",\"required\":false,\"default\":\"USD\"},\"issueDate\":{\"type\":\"datetime\",\"required\":false},\"dueDate\":{\"type\":\"datetime\",\"required\":false},\"expiryDate\":{\"type\":\"datetime\",\"required\":false},\"reference\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"notes\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"terms\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"channelId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"}},\"methods\":{\"isDraft\":{\"name\":\"isDraft\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isAccepted\":{\"name\":\"isAccepted\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isCompleted\":{\"name\":\"isCompleted\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isExpired\":{\"name\":\"isExpired\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isOverdue\":{\"name\":\"isOverdue\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"recalculateTotals\":{\"name\":\"recalculateTotals\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tenantScoped\":{\"mode\":\"optional\"},\"tableName\":\"contracts\",\"tableStrategy\":\"sti\"},\"extends\":\"Contract\",\"exportName\":\"Cart\",\"collectionExportName\":\"CartCollection\",\"schema\":{\"tableName\":\"contracts\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"contracts\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"_meta_type\\\" TEXT NOT NULL,\\n \\\"_meta_data\\\" JSON,\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"contract_type\\\" TEXT,\\n \\\"status\\\" TEXT,\\n \\\"customer_id\\\" UUID,\\n \\\"vendor_id\\\" UUID,\\n \\\"subtotal\\\" INTEGER DEFAULT 0,\\n \\\"tax_amount\\\" INTEGER DEFAULT 0,\\n \\\"total_amount\\\" INTEGER DEFAULT 0,\\n \\\"currency\\\" TEXT DEFAULT 'USD',\\n \\\"issue_date\\\" TIMESTAMP,\\n \\\"due_date\\\" TIMESTAMP,\\n \\\"expiry_date\\\" TIMESTAMP,\\n \\\"reference\\\" TEXT DEFAULT '',\\n \\\"notes\\\" TEXT DEFAULT '',\\n \\\"terms\\\" TEXT DEFAULT '',\\n \\\"channel_id\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"_meta_type\":{\"type\":\"TEXT\",\"notNull\":true},\"_meta_data\":{\"type\":\"JSON\",\"notNull\":false},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false},\"contract_type\":{\"type\":\"TEXT\",\"notNull\":false},\"status\":{\"type\":\"TEXT\",\"notNull\":false},\"customer_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"customers\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"vendor_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"vendors\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"subtotal\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"tax_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"total_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"USD\"},\"issue_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"due_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"expiry_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"reference\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"terms\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"channel_id\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"contracts_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"contracts_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"contracts_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"contracts_customer_id_idx\",\"columns\":[\"customer_id\"]},{\"name\":\"contracts_vendor_id_idx\",\"columns\":[\"vendor_id\"]}],\"version\":\"fba16d4f\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:LicenseSale\":{\"name\":\"licensesale\",\"className\":\"LicenseSale\",\"qualifiedName\":\"@happyvertical/smrt-commerce:LicenseSale\",\"collection\":\"contracts\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/models/Contract.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{\"created_at\":{\"type\":\"datetime\",\"required\":false},\"updated_at\":{\"type\":\"datetime\",\"required\":false},\"tenantId\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"sqlType\":\"UUID\",\"nullable\":true,\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":false,\"autoPopulate\":true,\"nullable\":true,\"mode\":\"optional\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"contractType\":{\"type\":\"text\",\"required\":false},\"status\":{\"type\":\"text\",\"required\":false},\"customerId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Customer\"},\"vendorId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Vendor\"},\"subtotal\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"taxAmount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"totalAmount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"currency\":{\"type\":\"text\",\"required\":false,\"default\":\"USD\"},\"issueDate\":{\"type\":\"datetime\",\"required\":false},\"dueDate\":{\"type\":\"datetime\",\"required\":false},\"expiryDate\":{\"type\":\"datetime\",\"required\":false},\"reference\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"notes\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"terms\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"channelId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"skuId\":{\"type\":\"meta\",\"required\":false,\"default\":\"\",\"_meta\":{\"underlyingType\":\"text\"}},\"paymentId\":{\"type\":\"meta\",\"required\":false,\"default\":\"\",\"_meta\":{\"underlyingType\":\"text\"}},\"licenseeEmail\":{\"type\":\"meta\",\"required\":false,\"default\":\"\",\"_meta\":{\"underlyingType\":\"text\"}},\"licenseeLegalEntity\":{\"type\":\"meta\",\"required\":false,\"default\":\"\",\"_meta\":{\"underlyingType\":\"text\"}},\"licenseeJurisdiction\":{\"type\":\"meta\",\"required\":false,\"default\":\"\",\"_meta\":{\"underlyingType\":\"text\"}},\"rightsMedium\":{\"type\":\"meta\",\"required\":false,\"default\":\"\",\"_meta\":{\"underlyingType\":\"text\"}},\"rightsDistributionScope\":{\"type\":\"meta\",\"required\":false,\"default\":\"\",\"_meta\":{\"underlyingType\":\"text\"}},\"rightsExclusivity\":{\"type\":\"meta\",\"required\":false,\"default\":\"\",\"_meta\":{\"underlyingType\":\"text\"}},\"rightsDuration\":{\"type\":\"meta\",\"required\":false,\"default\":\"\",\"_meta\":{\"underlyingType\":\"text\"}},\"rightsTerritory\":{\"type\":\"meta\",\"required\":false,\"default\":\"\",\"_meta\":{\"underlyingType\":\"text\"}},\"rightsSublicensing\":{\"type\":\"meta\",\"required\":false,\"default\":false,\"_meta\":{\"underlyingType\":\"boolean\"}},\"rightsDerivatives\":{\"type\":\"meta\",\"required\":false,\"default\":false,\"_meta\":{\"underlyingType\":\"boolean\"}},\"pdfUrl\":{\"type\":\"meta\",\"required\":false,\"default\":\"\",\"_meta\":{\"underlyingType\":\"text\"}},\"pdfHash\":{\"type\":\"meta\",\"required\":false,\"default\":\"\",\"_meta\":{\"underlyingType\":\"text\"}},\"onChainHashRegistryRef\":{\"type\":\"meta\",\"required\":false,\"default\":\"\",\"_meta\":{\"underlyingType\":\"text\"}}},\"methods\":{\"isDraft\":{\"name\":\"isDraft\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isAccepted\":{\"name\":\"isAccepted\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isCompleted\":{\"name\":\"isCompleted\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isExpired\":{\"name\":\"isExpired\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isOverdue\":{\"name\":\"isOverdue\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"recalculateTotals\":{\"name\":\"recalculateTotals\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true},\"getRightsSnapshot\":{\"name\":\"getRightsSnapshot\",\"async\":false,\"parameters\":[],\"returnType\":\"LicenseRightsSnapshot\",\"isStatic\":false,\"isPublic\":true},\"revoke\":{\"name\":\"revoke\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tenantScoped\":{\"mode\":\"optional\"},\"tableName\":\"contracts\",\"tableStrategy\":\"sti\"},\"extends\":\"Contract\",\"exportName\":\"LicenseSale\",\"collectionExportName\":\"LicenseSaleCollection\",\"schema\":{\"tableName\":\"contracts\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"contracts\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"_meta_type\\\" TEXT NOT NULL,\\n \\\"_meta_data\\\" JSON,\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"contract_type\\\" TEXT,\\n \\\"status\\\" TEXT,\\n \\\"customer_id\\\" UUID,\\n \\\"vendor_id\\\" UUID,\\n \\\"subtotal\\\" INTEGER DEFAULT 0,\\n \\\"tax_amount\\\" INTEGER DEFAULT 0,\\n \\\"total_amount\\\" INTEGER DEFAULT 0,\\n \\\"currency\\\" TEXT DEFAULT 'USD',\\n \\\"issue_date\\\" TIMESTAMP,\\n \\\"due_date\\\" TIMESTAMP,\\n \\\"expiry_date\\\" TIMESTAMP,\\n \\\"reference\\\" TEXT DEFAULT '',\\n \\\"notes\\\" TEXT DEFAULT '',\\n \\\"terms\\\" TEXT DEFAULT '',\\n \\\"channel_id\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"_meta_type\":{\"type\":\"TEXT\",\"notNull\":true},\"_meta_data\":{\"type\":\"JSON\",\"notNull\":false},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false},\"contract_type\":{\"type\":\"TEXT\",\"notNull\":false},\"status\":{\"type\":\"TEXT\",\"notNull\":false},\"customer_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"customers\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"vendor_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"vendors\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"subtotal\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"tax_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"total_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"USD\"},\"issue_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"due_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"expiry_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"reference\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"terms\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"channel_id\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"contracts_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"contracts_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"contracts_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"contracts_customer_id_idx\",\"columns\":[\"customer_id\"]},{\"name\":\"contracts_vendor_id_idx\",\"columns\":[\"vendor_id\"]}],\"version\":\"d6d82bad\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:ContractLineItem\":{\"name\":\"contractlineitem\",\"className\":\"ContractLineItem\",\"qualifiedName\":\"@happyvertical/smrt-commerce:ContractLineItem\",\"collection\":\"contractlineitems\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/models/ContractLineItem.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{\"created_at\":{\"type\":\"datetime\",\"required\":false},\"updated_at\":{\"type\":\"datetime\",\"required\":false},\"tenantId\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"sqlType\":\"UUID\",\"nullable\":true,\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":false,\"autoPopulate\":true,\"nullable\":true,\"mode\":\"optional\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"contractId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Contract\"},\"description\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"quantity\":{\"type\":\"decimal\",\"required\":false,\"default\":1},\"unitPrice\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"discount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"taxRate\":{\"type\":\"decimal\",\"required\":false,\"default\":0},\"amount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"productId\":{\"type\":\"crossPackageRef\",\"required\":false,\"related\":\"@happyvertical/smrt-products:Product\"},\"sku\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"startDate\":{\"type\":\"datetime\",\"required\":false},\"endDate\":{\"type\":\"datetime\",\"required\":false},\"billingPeriod\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"sortOrder\":{\"type\":\"integer\",\"required\":false,\"default\":0}},\"methods\":{\"calculateAmount\":{\"name\":\"calculateAmount\",\"async\":false,\"parameters\":[],\"returnType\":\"number\",\"isStatic\":false,\"isPublic\":true},\"isRecurring\":{\"name\":\"isRecurring\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isSubscriptionActive\":{\"name\":\"isSubscriptionActive\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tableStrategy\":\"sti\",\"api\":{\"include\":[\"list\",\"get\",\"create\",\"update\",\"delete\"]},\"mcp\":{\"include\":[\"list\",\"get\"]},\"cli\":{\"skipApiCheck\":true},\"tenantScoped\":{\"mode\":\"optional\"},\"conflictColumns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"]},\"extends\":\"SmrtObject\",\"exportName\":\"ContractLineItem\",\"collectionExportName\":\"ContractLineItemCollection\",\"schema\":{\"tableName\":\"contract_line_items\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"contract_line_items\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"_meta_type\\\" TEXT NOT NULL,\\n \\\"_meta_data\\\" JSON,\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"contract_id\\\" UUID,\\n \\\"description\\\" TEXT DEFAULT '',\\n \\\"quantity\\\" REAL DEFAULT 1,\\n \\\"unit_price\\\" INTEGER DEFAULT 0,\\n \\\"discount\\\" INTEGER DEFAULT 0,\\n \\\"tax_rate\\\" REAL DEFAULT 0,\\n \\\"amount\\\" INTEGER DEFAULT 0,\\n \\\"product_id\\\" UUID,\\n \\\"sku\\\" TEXT DEFAULT '',\\n \\\"start_date\\\" TIMESTAMP,\\n \\\"end_date\\\" TIMESTAMP,\\n \\\"billing_period\\\" TEXT DEFAULT '',\\n \\\"sort_order\\\" INTEGER DEFAULT 0\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"_meta_type\":{\"type\":\"TEXT\",\"notNull\":true},\"_meta_data\":{\"type\":\"JSON\",\"notNull\":false},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false},\"contract_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"contracts\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"description\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"quantity\":{\"type\":\"REAL\",\"notNull\":false,\"default\":1},\"unit_price\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"discount\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"tax_rate\":{\"type\":\"REAL\",\"notNull\":false,\"default\":0},\"amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"product_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false},\"sku\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"start_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"end_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"billing_period\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"sort_order\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0}},\"indexes\":[{\"name\":\"contract_line_items_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"contract_line_items_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"contract_line_items_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"contract_line_items_contract_id_idx\",\"columns\":[\"contract_id\"]},{\"name\":\"contract_line_items_product_id_idx\",\"columns\":[\"product_id\"]}],\"version\":\"be2b46cd\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:Customer\":{\"name\":\"customer\",\"className\":\"Customer\",\"qualifiedName\":\"@happyvertical/smrt-commerce:Customer\",\"collection\":\"customers\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/models/Customer.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{\"tenantId\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"sqlType\":\"UUID\",\"nullable\":true,\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":false,\"autoPopulate\":true,\"nullable\":true,\"mode\":\"optional\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"profileId\":{\"type\":\"crossPackageRef\",\"required\":false,\"related\":\"@happyvertical/smrt-profiles:Profile\"},\"creditLimit\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"paymentTerms\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"taxExempt\":{\"type\":\"boolean\",\"required\":false,\"default\":false},\"taxId\":{\"type\":\"text\",\"required\":false,\"default\":\"\",\"_meta\":{\"sensitive\":true},\"sensitive\":true},\"defaultShippingAddress\":{\"type\":\"json\",\"required\":false},\"defaultBillingAddress\":{\"type\":\"json\",\"required\":false},\"status\":{\"type\":\"text\",\"required\":false},\"customerType\":{\"type\":\"text\",\"required\":false},\"notes\":{\"type\":\"text\",\"required\":false,\"default\":\"\"}},\"methods\":{\"isWholesale\":{\"name\":\"isWholesale\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isActive\":{\"name\":\"isActive\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"hasAvailableCredit\":{\"name\":\"hasAvailableCredit\",\"async\":false,\"parameters\":[{\"name\":\"amount\",\"type\":\"number\",\"optional\":false}],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"getProfileId\":{\"name\":\"getProfileId\",\"async\":false,\"parameters\":[],\"returnType\":\"string\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"api\":{\"include\":[\"list\",\"get\",\"create\",\"update\"]},\"mcp\":{\"include\":[\"list\",\"get\"]},\"cli\":{\"skipApiCheck\":true},\"tenantScoped\":{\"mode\":\"optional\"},\"conflictColumns\":[\"tenant_id\",\"slug\",\"context\"]},\"extends\":\"SmrtObject\",\"exportName\":\"Customer\",\"collectionExportName\":\"CustomerCollection\",\"schema\":{\"tableName\":\"customers\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"customers\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"profile_id\\\" UUID,\\n \\\"credit_limit\\\" INTEGER DEFAULT 0,\\n \\\"payment_terms\\\" TEXT DEFAULT '',\\n \\\"tax_exempt\\\" BOOLEAN DEFAULT FALSE,\\n \\\"tax_id\\\" TEXT DEFAULT '',\\n \\\"default_shipping_address\\\" JSON,\\n \\\"default_billing_address\\\" JSON,\\n \\\"status\\\" TEXT,\\n \\\"customer_type\\\" TEXT,\\n \\\"notes\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false},\"profile_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false,\"unique\":false},\"credit_limit\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"payment_terms\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"tax_exempt\":{\"type\":\"BOOLEAN\",\"notNull\":false,\"unique\":false,\"default\":false},\"tax_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"default_shipping_address\":{\"type\":\"JSON\",\"notNull\":false,\"unique\":false},\"default_billing_address\":{\"type\":\"JSON\",\"notNull\":false,\"unique\":false},\"status\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"customer_type\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"customers_slug_context_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"customers_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"customers_profile_id_idx\",\"columns\":[\"profile_id\"]}],\"version\":\"ad1b9967\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:Fulfillment\":{\"name\":\"fulfillment\",\"className\":\"Fulfillment\",\"qualifiedName\":\"@happyvertical/smrt-commerce:Fulfillment\",\"collection\":\"fulfillments\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/models/Fulfillment.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{\"tenantId\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"sqlType\":\"UUID\",\"nullable\":true,\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":false,\"autoPopulate\":true,\"nullable\":true,\"mode\":\"optional\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"contractId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Contract\"},\"fulfillmentType\":{\"type\":\"text\",\"required\":false},\"status\":{\"type\":\"text\",\"required\":false},\"trackingNumber\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"carrier\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"shippingAddress\":{\"type\":\"json\",\"required\":false},\"shippedAt\":{\"type\":\"datetime\",\"required\":false},\"deliveredAt\":{\"type\":\"datetime\",\"required\":false},\"estimatedDelivery\":{\"type\":\"datetime\",\"required\":false},\"notes\":{\"type\":\"text\",\"required\":false,\"default\":\"\"}},\"methods\":{\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true},\"isDelivered\":{\"name\":\"isDelivered\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isInTransit\":{\"name\":\"isInTransit\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isPending\":{\"name\":\"isPending\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"markShipped\":{\"name\":\"markShipped\",\"async\":false,\"parameters\":[{\"name\":\"trackingNumber\",\"type\":\"string\",\"optional\":true},{\"name\":\"carrier\",\"type\":\"string\",\"optional\":true}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"markDelivered\":{\"name\":\"markDelivered\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"cancel\":{\"name\":\"cancel\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"api\":{\"include\":[\"list\",\"get\",\"create\",\"update\"]},\"mcp\":{\"include\":[\"list\",\"get\"]},\"cli\":{\"skipApiCheck\":true},\"tenantScoped\":{\"mode\":\"optional\"},\"conflictColumns\":[\"tenant_id\",\"slug\",\"context\"]},\"extends\":\"SmrtObject\",\"exportName\":\"Fulfillment\",\"collectionExportName\":\"FulfillmentCollection\",\"schema\":{\"tableName\":\"fulfillments\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"fulfillments\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"contract_id\\\" UUID,\\n \\\"fulfillment_type\\\" TEXT,\\n \\\"status\\\" TEXT,\\n \\\"tracking_number\\\" TEXT DEFAULT '',\\n \\\"carrier\\\" TEXT DEFAULT '',\\n \\\"shipping_address\\\" JSON,\\n \\\"shipped_at\\\" TIMESTAMP,\\n \\\"delivered_at\\\" TIMESTAMP,\\n \\\"estimated_delivery\\\" TIMESTAMP,\\n \\\"notes\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false},\"contract_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"contracts\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"fulfillment_type\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"status\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"tracking_number\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"carrier\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"shipping_address\":{\"type\":\"JSON\",\"notNull\":false,\"unique\":false},\"shipped_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"delivered_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"estimated_delivery\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"fulfillments_slug_context_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"fulfillments_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"fulfillments_contract_id_idx\",\"columns\":[\"contract_id\"]}],\"version\":\"2f708fc5\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:FulfillmentLineItem\":{\"name\":\"fulfillmentlineitem\",\"className\":\"FulfillmentLineItem\",\"qualifiedName\":\"@happyvertical/smrt-commerce:FulfillmentLineItem\",\"collection\":\"fulfillmentlineitems\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/models/FulfillmentLineItem.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{\"tenantId\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"sqlType\":\"UUID\",\"nullable\":true,\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":false,\"autoPopulate\":true,\"nullable\":true,\"mode\":\"optional\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"fulfillmentId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Fulfillment\"},\"contractLineItemId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"ContractLineItem\"},\"quantityFulfilled\":{\"type\":\"decimal\",\"required\":false,\"default\":1},\"notes\":{\"type\":\"text\",\"required\":false,\"default\":\"\"}},\"methods\":{\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"api\":{\"include\":[\"list\",\"get\",\"create\",\"update\",\"delete\"]},\"mcp\":{\"include\":[\"list\",\"get\"]},\"cli\":true,\"tenantScoped\":{\"mode\":\"optional\"},\"conflictColumns\":[\"tenant_id\",\"slug\",\"context\"]},\"extends\":\"SmrtObject\",\"exportName\":\"FulfillmentLineItem\",\"collectionExportName\":\"FulfillmentLineItemCollection\",\"schema\":{\"tableName\":\"fulfillment_line_items\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"fulfillment_line_items\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"fulfillment_id\\\" UUID,\\n \\\"contract_line_item_id\\\" UUID,\\n \\\"quantity_fulfilled\\\" REAL DEFAULT 1,\\n \\\"notes\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false},\"fulfillment_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"fulfillments\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"contract_line_item_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"contract_line_items\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"quantity_fulfilled\":{\"type\":\"REAL\",\"notNull\":false,\"unique\":false,\"default\":1},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"fulfillment_line_items_slug_context_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"fulfillment_line_items_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"fulfillment_line_items_fulfillment_id_idx\",\"columns\":[\"fulfillment_id\"]},{\"name\":\"fulfillment_line_items_contract_line_item_id_idx\",\"columns\":[\"contract_line_item_id\"]}],\"version\":\"14537dbe\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:Invoice\":{\"name\":\"invoice\",\"className\":\"Invoice\",\"qualifiedName\":\"@happyvertical/smrt-commerce:Invoice\",\"collection\":\"invoices\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/models/Invoice.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{\"tenantId\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"sqlType\":\"UUID\",\"nullable\":true,\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":false,\"autoPopulate\":true,\"nullable\":true,\"mode\":\"optional\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"customerId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Customer\"},\"contractId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Contract\"},\"invoiceNumber\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"reference\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"issueDate\":{\"type\":\"datetime\",\"required\":false},\"dueDate\":{\"type\":\"datetime\",\"required\":false},\"paidDate\":{\"type\":\"datetime\",\"required\":false},\"subtotal\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"taxAmount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"providerTaxAmount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"totalAmount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"amountPaid\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"currency\":{\"type\":\"text\",\"required\":false,\"default\":\"CAD\"},\"status\":{\"type\":\"text\",\"required\":false},\"arJournalId\":{\"type\":\"crossPackageRef\",\"required\":false,\"related\":\"@happyvertical/smrt-ledgers:Journal\"},\"revenueJournalId\":{\"type\":\"crossPackageRef\",\"required\":false,\"related\":\"@happyvertical/smrt-ledgers:Journal\"},\"externalId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"customerExternalId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"externalProvider\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"syncedAt\":{\"type\":\"datetime\",\"required\":false},\"sentAt\":{\"type\":\"datetime\",\"required\":false},\"viewedAt\":{\"type\":\"datetime\",\"required\":false},\"remindersSent\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"lastReminderAt\":{\"type\":\"datetime\",\"required\":false},\"notes\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"customerNotes\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"terms\":{\"type\":\"text\",\"required\":false,\"default\":\"\"}},\"methods\":{\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true},\"isDraft\":{\"name\":\"isDraft\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isSent\":{\"name\":\"isSent\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isPaid\":{\"name\":\"isPaid\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isPartial\":{\"name\":\"isPartial\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isOverdue\":{\"name\":\"isOverdue\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"getAmountDue\":{\"name\":\"getAmountDue\",\"async\":false,\"parameters\":[],\"returnType\":\"number\",\"isStatic\":false,\"isPublic\":true},\"markSent\":{\"name\":\"markSent\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"markViewed\":{\"name\":\"markViewed\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"updatePaymentStatus\":{\"name\":\"updatePaymentStatus\",\"async\":false,\"parameters\":[{\"name\":\"amountPaid\",\"type\":\"number\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"cancel\":{\"name\":\"cancel\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"writeOff\":{\"name\":\"writeOff\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"recognizeRevenue\":{\"name\":\"recognizeRevenue\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"RecognizeRevenueOptions\",\"optional\":false}],\"returnType\":\"Promise<Journal>\",\"isStatic\":false,\"isPublic\":true},\"getArJournal\":{\"name\":\"getArJournal\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Journal | null>\",\"isStatic\":false,\"isPublic\":true},\"toAccountingInput\":{\"name\":\"toAccountingInput\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AccountingInvoiceInput>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"api\":{\"include\":[\"list\",\"get\",\"create\",\"update\"],\"writable\":[\"customerId\",\"contractId\",\"invoiceNumber\",\"reference\",\"issueDate\",\"dueDate\",\"currency\",\"notes\",\"customerNotes\",\"terms\",\"externalId\",\"customerExternalId\",\"externalProvider\"]},\"mcp\":{\"include\":[\"list\",\"get\"]},\"cli\":{\"skipApiCheck\":true},\"tenantScoped\":{\"mode\":\"optional\"},\"conflictColumns\":[\"tenant_id\",\"slug\",\"context\"]},\"extends\":\"SmrtObject\",\"exportName\":\"Invoice\",\"collectionExportName\":\"InvoiceCollection\",\"schema\":{\"tableName\":\"invoices\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"invoices\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"customer_id\\\" UUID,\\n \\\"contract_id\\\" UUID,\\n \\\"invoice_number\\\" TEXT DEFAULT '',\\n \\\"reference\\\" TEXT DEFAULT '',\\n \\\"issue_date\\\" TIMESTAMP,\\n \\\"due_date\\\" TIMESTAMP,\\n \\\"paid_date\\\" TIMESTAMP,\\n \\\"subtotal\\\" INTEGER DEFAULT 0,\\n \\\"tax_amount\\\" INTEGER DEFAULT 0,\\n \\\"provider_tax_amount\\\" INTEGER DEFAULT 0,\\n \\\"total_amount\\\" INTEGER DEFAULT 0,\\n \\\"amount_paid\\\" INTEGER DEFAULT 0,\\n \\\"currency\\\" TEXT DEFAULT 'CAD',\\n \\\"status\\\" TEXT,\\n \\\"ar_journal_id\\\" UUID,\\n \\\"revenue_journal_id\\\" UUID,\\n \\\"external_id\\\" TEXT DEFAULT '',\\n \\\"customer_external_id\\\" TEXT DEFAULT '',\\n \\\"external_provider\\\" TEXT DEFAULT '',\\n \\\"synced_at\\\" TIMESTAMP,\\n \\\"sent_at\\\" TIMESTAMP,\\n \\\"viewed_at\\\" TIMESTAMP,\\n \\\"reminders_sent\\\" INTEGER DEFAULT 0,\\n \\\"last_reminder_at\\\" TIMESTAMP,\\n \\\"notes\\\" TEXT DEFAULT '',\\n \\\"customer_notes\\\" TEXT DEFAULT '',\\n \\\"terms\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false},\"customer_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"customers\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"contract_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"contracts\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"invoice_number\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"reference\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"issue_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"due_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"paid_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"subtotal\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"tax_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"provider_tax_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"total_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"amount_paid\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"CAD\"},\"status\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"ar_journal_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false,\"unique\":false},\"revenue_journal_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false,\"unique\":false},\"external_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"customer_external_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"external_provider\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"synced_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"sent_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"viewed_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"reminders_sent\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"last_reminder_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"customer_notes\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"terms\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"invoices_slug_context_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"invoices_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"invoices_customer_id_idx\",\"columns\":[\"customer_id\"]},{\"name\":\"invoices_contract_id_idx\",\"columns\":[\"contract_id\"]},{\"name\":\"invoices_ar_journal_id_idx\",\"columns\":[\"ar_journal_id\"]},{\"name\":\"invoices_revenue_journal_id_idx\",\"columns\":[\"revenue_journal_id\"]}],\"version\":\"40c25b56\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:InvoiceLineItem\":{\"name\":\"invoicelineitem\",\"className\":\"InvoiceLineItem\",\"qualifiedName\":\"@happyvertical/smrt-commerce:InvoiceLineItem\",\"collection\":\"invoicelineitems\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/models/InvoiceLineItem.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{\"tenantId\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"sqlType\":\"UUID\",\"nullable\":true,\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":false,\"autoPopulate\":true,\"nullable\":true,\"mode\":\"optional\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"invoiceId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Invoice\"},\"description\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"sku\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"quantity\":{\"type\":\"integer\",\"required\":false,\"default\":1},\"unitPrice\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"discount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"taxRate\":{\"type\":\"decimal\",\"required\":false,\"default\":0},\"amount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"sourceType\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"sourceId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"periodStart\":{\"type\":\"datetime\",\"required\":false},\"periodEnd\":{\"type\":\"datetime\",\"required\":false},\"revenueAccountId\":{\"type\":\"crossPackageRef\",\"required\":false,\"related\":\"@happyvertical/smrt-ledgers:Account\"},\"sortOrder\":{\"type\":\"integer\",\"required\":false,\"default\":0}},\"methods\":{\"calculateAmount\":{\"name\":\"calculateAmount\",\"async\":false,\"parameters\":[],\"returnType\":\"number\",\"isStatic\":false,\"isPublic\":true},\"getSubtotal\":{\"name\":\"getSubtotal\",\"async\":false,\"parameters\":[],\"returnType\":\"number\",\"isStatic\":false,\"isPublic\":true},\"getTaxAmount\":{\"name\":\"getTaxAmount\",\"async\":false,\"parameters\":[],\"returnType\":\"number\",\"isStatic\":false,\"isPublic\":true},\"hasSource\":{\"name\":\"hasSource\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"hasPeriod\":{\"name\":\"hasPeriod\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"toAccountingLineItem\":{\"name\":\"toAccountingLineItem\",\"async\":false,\"parameters\":[{\"name\":\"currency\",\"type\":\"string\",\"optional\":true}],\"returnType\":\"AccountingLineItemInput\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"api\":{\"include\":[\"list\",\"get\",\"create\",\"update\",\"delete\"]},\"mcp\":{\"include\":[\"list\",\"get\"]},\"cli\":{\"skipApiCheck\":true},\"tenantScoped\":{\"mode\":\"optional\"},\"conflictColumns\":[\"tenant_id\",\"slug\",\"context\"]},\"extends\":\"SmrtObject\",\"exportName\":\"InvoiceLineItem\",\"collectionExportName\":\"InvoiceLineItemCollection\",\"schema\":{\"tableName\":\"invoice_line_items\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"invoice_line_items\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"invoice_id\\\" UUID,\\n \\\"description\\\" TEXT DEFAULT '',\\n \\\"sku\\\" TEXT DEFAULT '',\\n \\\"quantity\\\" INTEGER DEFAULT 1,\\n \\\"unit_price\\\" INTEGER DEFAULT 0,\\n \\\"discount\\\" INTEGER DEFAULT 0,\\n \\\"tax_rate\\\" REAL DEFAULT 0,\\n \\\"amount\\\" INTEGER DEFAULT 0,\\n \\\"source_type\\\" TEXT DEFAULT '',\\n \\\"source_id\\\" TEXT DEFAULT '',\\n \\\"period_start\\\" TIMESTAMP,\\n \\\"period_end\\\" TIMESTAMP,\\n \\\"revenue_account_id\\\" UUID,\\n \\\"sort_order\\\" INTEGER DEFAULT 0\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false},\"invoice_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"invoices\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"description\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"sku\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"quantity\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":1},\"unit_price\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"discount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"tax_rate\":{\"type\":\"REAL\",\"notNull\":false,\"unique\":false,\"default\":0},\"amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"source_type\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"source_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"period_start\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"period_end\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"revenue_account_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false,\"unique\":false},\"sort_order\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0}},\"indexes\":[{\"name\":\"invoice_line_items_slug_context_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"invoice_line_items_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"invoice_line_items_invoice_id_idx\",\"columns\":[\"invoice_id\"]},{\"name\":\"invoice_line_items_revenue_account_id_idx\",\"columns\":[\"revenue_account_id\"]}],\"version\":\"f96d2656\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:Payment\":{\"name\":\"payment\",\"className\":\"Payment\",\"qualifiedName\":\"@happyvertical/smrt-commerce:Payment\",\"collection\":\"payments\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/models/Payment.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{\"tenantId\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"sqlType\":\"UUID\",\"nullable\":true,\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":false,\"autoPopulate\":true,\"nullable\":true,\"mode\":\"optional\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"contractId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Contract\"},\"customerId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Customer\"},\"amount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"currency\":{\"type\":\"text\",\"required\":false,\"default\":\"USD\"},\"method\":{\"type\":\"text\",\"required\":false},\"status\":{\"type\":\"text\",\"required\":false},\"transactionId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"reference\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"journalId\":{\"type\":\"crossPackageRef\",\"required\":false,\"related\":\"@happyvertical/smrt-ledgers:Journal\"},\"paidAt\":{\"type\":\"datetime\",\"required\":false},\"notes\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"externalId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"externalProvider\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"syncedAt\":{\"type\":\"datetime\",\"required\":false},\"backendId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"backendTxRef\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"nativeAmount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"nativeCurrency\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"usdAtQuote\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"usdAtConfirmation\":{\"type\":\"integer\",\"required\":false,\"default\":0}},\"methods\":{\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true},\"usdDrift\":{\"name\":\"usdDrift\",\"async\":false,\"parameters\":[],\"returnType\":\"number\",\"isStatic\":false,\"isPublic\":true},\"isPending\":{\"name\":\"isPending\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isCompleted\":{\"name\":\"isCompleted\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isRefunded\":{\"name\":\"isRefunded\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"recordPayment\":{\"name\":\"recordPayment\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"RecordPaymentOptions\",\"optional\":false}],\"returnType\":\"Promise<Journal>\",\"isStatic\":false,\"isPublic\":true},\"getJournal\":{\"name\":\"getJournal\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Journal | null>\",\"isStatic\":false,\"isPublic\":true},\"markFailed\":{\"name\":\"markFailed\",\"async\":false,\"parameters\":[{\"name\":\"reason\",\"type\":\"string\",\"optional\":true}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"cancel\":{\"name\":\"cancel\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"api\":{\"include\":[\"list\",\"get\",\"create\",\"update\"],\"writable\":[\"contractId\",\"customerId\",\"amount\",\"currency\",\"method\",\"transactionId\",\"reference\",\"notes\",\"externalId\",\"externalProvider\",\"backendId\",\"backendTxRef\",\"nativeAmount\",\"nativeCurrency\",\"usdAtQuote\",\"usdAtConfirmation\"]},\"mcp\":{\"include\":[\"list\",\"get\"]},\"cli\":{\"skipApiCheck\":true},\"tenantScoped\":{\"mode\":\"optional\"},\"conflictColumns\":[\"tenant_id\",\"slug\",\"context\"]},\"extends\":\"SmrtObject\",\"exportName\":\"Payment\",\"collectionExportName\":\"PaymentCollection\",\"schema\":{\"tableName\":\"payments\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"payments\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"contract_id\\\" UUID,\\n \\\"customer_id\\\" UUID,\\n \\\"amount\\\" INTEGER DEFAULT 0,\\n \\\"currency\\\" TEXT DEFAULT 'USD',\\n \\\"method\\\" TEXT,\\n \\\"status\\\" TEXT,\\n \\\"transaction_id\\\" TEXT DEFAULT '',\\n \\\"reference\\\" TEXT DEFAULT '',\\n \\\"journal_id\\\" UUID,\\n \\\"paid_at\\\" TIMESTAMP,\\n \\\"notes\\\" TEXT DEFAULT '',\\n \\\"external_id\\\" TEXT DEFAULT '',\\n \\\"external_provider\\\" TEXT DEFAULT '',\\n \\\"synced_at\\\" TIMESTAMP,\\n \\\"backend_id\\\" TEXT DEFAULT '',\\n \\\"backend_tx_ref\\\" TEXT DEFAULT '',\\n \\\"native_amount\\\" INTEGER DEFAULT 0,\\n \\\"native_currency\\\" TEXT DEFAULT '',\\n \\\"usd_at_quote\\\" INTEGER DEFAULT 0,\\n \\\"usd_at_confirmation\\\" INTEGER DEFAULT 0\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false},\"contract_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"contracts\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"customer_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"customers\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"USD\"},\"method\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"status\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"transaction_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"reference\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"journal_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false,\"unique\":false},\"paid_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"external_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"external_provider\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"synced_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"backend_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"backend_tx_ref\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"native_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"native_currency\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"usd_at_quote\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"usd_at_confirmation\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0}},\"indexes\":[{\"name\":\"payments_slug_context_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"payments_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"payments_contract_id_idx\",\"columns\":[\"contract_id\"]},{\"name\":\"payments_customer_id_idx\",\"columns\":[\"customer_id\"]},{\"name\":\"payments_journal_id_idx\",\"columns\":[\"journal_id\"]}],\"version\":\"33f80e50\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:PaymentAllocation\":{\"name\":\"paymentallocation\",\"className\":\"PaymentAllocation\",\"qualifiedName\":\"@happyvertical/smrt-commerce:PaymentAllocation\",\"collection\":\"paymentallocations\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/models/PaymentAllocation.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{\"tenantId\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"sqlType\":\"UUID\",\"nullable\":true,\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":false,\"autoPopulate\":true,\"nullable\":true,\"mode\":\"optional\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"paymentId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Payment\"},\"invoiceId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Invoice\"},\"amount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"allocatedAt\":{\"type\":\"datetime\",\"required\":false},\"allocatedBy\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"notes\":{\"type\":\"text\",\"required\":false,\"default\":\"\"}},\"methods\":{\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"api\":{\"include\":[\"list\",\"get\"]},\"mcp\":{\"include\":[\"list\",\"get\"]},\"cli\":{\"include\":[\"list\",\"get\"]},\"tenantScoped\":{\"mode\":\"optional\"},\"conflictColumns\":[\"tenant_id\",\"slug\",\"context\"]},\"extends\":\"SmrtObject\",\"exportName\":\"PaymentAllocation\",\"collectionExportName\":\"PaymentAllocationCollection\",\"schema\":{\"tableName\":\"payment_allocations\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"payment_allocations\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"payment_id\\\" UUID,\\n \\\"invoice_id\\\" UUID,\\n \\\"amount\\\" INTEGER DEFAULT 0,\\n \\\"allocated_at\\\" TIMESTAMP,\\n \\\"allocated_by\\\" TEXT DEFAULT '',\\n \\\"notes\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false},\"payment_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"payments\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"invoice_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"invoices\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"allocated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"allocated_by\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"payment_allocations_slug_context_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"payment_allocations_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"payment_allocations_payment_id_idx\",\"columns\":[\"payment_id\"]},{\"name\":\"payment_allocations_invoice_id_idx\",\"columns\":[\"invoice_id\"]}],\"version\":\"102e6fbc\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:PaymentInstrument\":{\"name\":\"paymentinstrument\",\"className\":\"PaymentInstrument\",\"qualifiedName\":\"@happyvertical/smrt-commerce:PaymentInstrument\",\"collection\":\"paymentinstruments\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/models/PaymentInstrument.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{\"tenantId\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"sqlType\":\"UUID\",\"nullable\":true,\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":false,\"autoPopulate\":true,\"nullable\":true,\"mode\":\"optional\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"customerId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Customer\"},\"backendId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"providerCustomerId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"providerPaymentMethodId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"type\":{\"type\":\"text\",\"required\":false,\"default\":\"card\"},\"brand\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"last4\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"expMonth\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"expYear\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"isDefault\":{\"type\":\"boolean\",\"required\":false,\"default\":false},\"status\":{\"type\":\"text\",\"required\":false}},\"methods\":{\"isActive\":{\"name\":\"isActive\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isExpired\":{\"name\":\"isExpired\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isRemoved\":{\"name\":\"isRemoved\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"markExpired\":{\"name\":\"markExpired\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"markRemoved\":{\"name\":\"markRemoved\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"api\":{\"include\":[\"list\",\"get\",\"create\",\"update\"],\"writable\":[\"customerId\",\"backendId\",\"providerCustomerId\",\"providerPaymentMethodId\",\"type\",\"brand\",\"last4\",\"expMonth\",\"expYear\",\"status\"]},\"mcp\":{\"include\":[\"list\",\"get\"]},\"cli\":{\"skipApiCheck\":true},\"tenantScoped\":{\"mode\":\"optional\"},\"conflictColumns\":[\"tenant_id\",\"slug\",\"context\"]},\"extends\":\"SmrtObject\",\"exportName\":\"PaymentInstrument\",\"collectionExportName\":\"PaymentInstrumentCollection\",\"schema\":{\"tableName\":\"payment_instruments\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"payment_instruments\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"customer_id\\\" UUID,\\n \\\"backend_id\\\" TEXT DEFAULT '',\\n \\\"provider_customer_id\\\" TEXT DEFAULT '',\\n \\\"provider_payment_method_id\\\" TEXT DEFAULT '',\\n \\\"type\\\" TEXT DEFAULT 'card',\\n \\\"brand\\\" TEXT DEFAULT '',\\n \\\"last4\\\" TEXT DEFAULT '',\\n \\\"exp_month\\\" INTEGER DEFAULT 0,\\n \\\"exp_year\\\" INTEGER DEFAULT 0,\\n \\\"is_default\\\" BOOLEAN DEFAULT FALSE,\\n \\\"status\\\" TEXT\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false},\"customer_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"customers\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"backend_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"provider_customer_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"provider_payment_method_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"type\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"card\"},\"brand\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"last4\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"exp_month\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"exp_year\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"is_default\":{\"type\":\"BOOLEAN\",\"notNull\":false,\"unique\":false,\"default\":false},\"status\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false}},\"indexes\":[{\"name\":\"payment_instruments_slug_context_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"payment_instruments_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"payment_instruments_customer_id_idx\",\"columns\":[\"customer_id\"]}],\"version\":\"722393fe\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:PaymentIntent\":{\"name\":\"paymentintent\",\"className\":\"PaymentIntent\",\"qualifiedName\":\"@happyvertical/smrt-commerce:PaymentIntent\",\"collection\":\"paymentintents\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/models/PaymentIntent.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{\"tenantId\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"sqlType\":\"UUID\",\"nullable\":true,\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":false,\"autoPopulate\":true,\"nullable\":true,\"mode\":\"optional\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"skuId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"offeringRef\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"licenseeEmail\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"customerId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"paymentOptions\":{\"type\":\"json\",\"required\":false,\"default\":[]},\"usdPriceLocked\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"priceLockWindowMs\":{\"type\":\"integer\",\"required\":false},\"priceLockExpiresAt\":{\"type\":\"datetime\",\"required\":false},\"status\":{\"type\":\"text\",\"required\":false},\"idempotencyKey\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"paidOptionBackendId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"paymentId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"paidAt\":{\"type\":\"datetime\",\"required\":false},\"issuedAt\":{\"type\":\"datetime\",\"required\":false},\"expiredAt\":{\"type\":\"datetime\",\"required\":false},\"cancelledAt\":{\"type\":\"datetime\",\"required\":false},\"retiredAt\":{\"type\":\"datetime\",\"required\":false},\"notes\":{\"type\":\"text\",\"required\":false,\"default\":\"\"}},\"methods\":{\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true},\"isAwaitingPayment\":{\"name\":\"isAwaitingPayment\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isPaid\":{\"name\":\"isPaid\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isIssued\":{\"name\":\"isIssued\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isCancelled\":{\"name\":\"isCancelled\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isRetired\":{\"name\":\"isRetired\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isTerminal\":{\"name\":\"isTerminal\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isExpired\":{\"name\":\"isExpired\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"markPaid\":{\"name\":\"markPaid\",\"async\":false,\"parameters\":[{\"name\":\"args\",\"type\":\"object\",\"optional\":false,\"memberTypes\":[\"string\"]}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"verifyAndMarkPaid\":{\"name\":\"verifyAndMarkPaid\",\"async\":true,\"parameters\":[{\"name\":\"args\",\"type\":\"object\",\"optional\":false,\"memberTypes\":[\"string\"]}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"markIssued\":{\"name\":\"markIssued\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"expire\":{\"name\":\"expire\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"cancel\":{\"name\":\"cancel\",\"async\":false,\"parameters\":[{\"name\":\"reason\",\"type\":\"string\",\"optional\":true}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"retire\":{\"name\":\"retire\",\"async\":false,\"parameters\":[{\"name\":\"reason\",\"type\":\"string\",\"optional\":true}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"getOption\":{\"name\":\"getOption\",\"async\":false,\"parameters\":[{\"name\":\"backendId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"PaymentOption | undefined\",\"isStatic\":false,\"isPublic\":true},\"isOptionRetired\":{\"name\":\"isOptionRetired\",\"async\":false,\"parameters\":[{\"name\":\"backendId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"getRetiredOptions\":{\"name\":\"getRetiredOptions\",\"async\":false,\"parameters\":[],\"returnType\":\"PaymentOption[]\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"conflictColumns\":[\"tenant_id\",\"offering_ref\",\"licensee_email\",\"idempotency_key\"],\"api\":{\"include\":[\"list\",\"get\",\"create\",\"update\"],\"writable\":[\"skuId\",\"offeringRef\",\"licenseeEmail\",\"customerId\",\"paymentOptions\",\"usdPriceLocked\",\"priceLockWindowMs\",\"idempotencyKey\",\"notes\"]},\"mcp\":{\"include\":[\"list\",\"get\"]},\"cli\":{\"skipApiCheck\":true},\"tenantScoped\":{\"mode\":\"optional\"}},\"extends\":\"SmrtObject\",\"exportName\":\"PaymentIntent\",\"collectionExportName\":\"PaymentIntentCollection\",\"schema\":{\"tableName\":\"payment_intents\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"payment_intents\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"sku_id\\\" TEXT DEFAULT '',\\n \\\"offering_ref\\\" TEXT DEFAULT '',\\n \\\"licensee_email\\\" TEXT DEFAULT '',\\n \\\"customer_id\\\" TEXT DEFAULT '',\\n \\\"payment_options\\\" JSON DEFAULT '[]',\\n \\\"usd_price_locked\\\" INTEGER DEFAULT 0,\\n \\\"price_lock_window_ms\\\" INTEGER,\\n \\\"price_lock_expires_at\\\" TIMESTAMP,\\n \\\"status\\\" TEXT,\\n \\\"idempotency_key\\\" TEXT DEFAULT '',\\n \\\"paid_option_backend_id\\\" TEXT DEFAULT '',\\n \\\"payment_id\\\" TEXT DEFAULT '',\\n \\\"paid_at\\\" TIMESTAMP,\\n \\\"issued_at\\\" TIMESTAMP,\\n \\\"expired_at\\\" TIMESTAMP,\\n \\\"cancelled_at\\\" TIMESTAMP,\\n \\\"retired_at\\\" TIMESTAMP,\\n \\\"notes\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false},\"sku_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"offering_ref\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"licensee_email\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"customer_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"payment_options\":{\"type\":\"JSON\",\"notNull\":false,\"unique\":false,\"default\":[]},\"usd_price_locked\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"price_lock_window_ms\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false},\"price_lock_expires_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"status\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"idempotency_key\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"paid_option_backend_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"payment_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"paid_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"issued_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"expired_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"cancelled_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"retired_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"payment_intents_tenant_id_offering_ref_idx\",\"columns\":[\"tenant_id\",\"offering_ref\",\"licensee_email\",\"idempotency_key\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"payment_intents_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"payment_intents_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]}],\"version\":\"c565aaef\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:Payout\":{\"name\":\"payout\",\"className\":\"Payout\",\"qualifiedName\":\"@happyvertical/smrt-commerce:Payout\",\"collection\":\"payouts\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/models/Payout.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{\"tenantId\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"sqlType\":\"UUID\",\"nullable\":true,\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":false,\"autoPopulate\":true,\"nullable\":true,\"mode\":\"optional\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"paymentId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"vendorId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Vendor\"},\"grossAmount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"operatorFee\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"supplierNet\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"currency\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"backendId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"backendTxRef\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"status\":{\"type\":\"text\",\"required\":false},\"sentAt\":{\"type\":\"datetime\",\"required\":false},\"confirmedAt\":{\"type\":\"datetime\",\"required\":false},\"failedAt\":{\"type\":\"datetime\",\"required\":false},\"failureReason\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"notes\":{\"type\":\"text\",\"required\":false,\"default\":\"\"}},\"methods\":{\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true},\"isPending\":{\"name\":\"isPending\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isSent\":{\"name\":\"isSent\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isConfirmed\":{\"name\":\"isConfirmed\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isFailed\":{\"name\":\"isFailed\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"markSent\":{\"name\":\"markSent\",\"async\":false,\"parameters\":[{\"name\":\"backendTxRef\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"markConfirmed\":{\"name\":\"markConfirmed\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"markFailed\":{\"name\":\"markFailed\",\"async\":false,\"parameters\":[{\"name\":\"reason\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"resetFromFailed\":{\"name\":\"resetFromFailed\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"validateAmounts\":{\"name\":\"validateAmounts\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"api\":{\"include\":[\"list\",\"get\"]},\"mcp\":{\"include\":[\"list\",\"get\"]},\"cli\":{\"include\":[\"list\",\"get\"]},\"tenantScoped\":{\"mode\":\"optional\"},\"conflictColumns\":[\"tenant_id\",\"slug\",\"context\"]},\"extends\":\"SmrtObject\",\"exportName\":\"Payout\",\"collectionExportName\":\"PayoutCollection\",\"schema\":{\"tableName\":\"payouts\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"payouts\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"payment_id\\\" TEXT DEFAULT '',\\n \\\"vendor_id\\\" UUID,\\n \\\"gross_amount\\\" INTEGER DEFAULT 0,\\n \\\"operator_fee\\\" INTEGER DEFAULT 0,\\n \\\"supplier_net\\\" INTEGER DEFAULT 0,\\n \\\"currency\\\" TEXT DEFAULT '',\\n \\\"backend_id\\\" TEXT DEFAULT '',\\n \\\"backend_tx_ref\\\" TEXT DEFAULT '',\\n \\\"status\\\" TEXT,\\n \\\"sent_at\\\" TIMESTAMP,\\n \\\"confirmed_at\\\" TIMESTAMP,\\n \\\"failed_at\\\" TIMESTAMP,\\n \\\"failure_reason\\\" TEXT DEFAULT '',\\n \\\"notes\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false},\"payment_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"vendor_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"vendors\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"gross_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"operator_fee\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"supplier_net\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"backend_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"backend_tx_ref\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"status\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"sent_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"confirmed_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"failed_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"failure_reason\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"payouts_slug_context_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"payouts_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"payouts_vendor_id_idx\",\"columns\":[\"vendor_id\"]}],\"version\":\"98fa81d5\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:Vendor\":{\"name\":\"vendor\",\"className\":\"Vendor\",\"qualifiedName\":\"@happyvertical/smrt-commerce:Vendor\",\"collection\":\"vendors\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/models/Vendor.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{\"tenantId\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"sqlType\":\"UUID\",\"nullable\":true,\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":false,\"autoPopulate\":true,\"nullable\":true,\"mode\":\"optional\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"profileId\":{\"type\":\"crossPackageRef\",\"required\":false,\"related\":\"@happyvertical/smrt-profiles:Profile\"},\"leadTimeDays\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"minimumOrderAmount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"paymentTerms\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"currency\":{\"type\":\"text\",\"required\":false,\"default\":\"USD\"},\"defaultContactEmail\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"defaultContactPhone\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"status\":{\"type\":\"text\",\"required\":false},\"notes\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"payoutAddresses\":{\"type\":\"json\",\"required\":false,\"default\":{},\"_meta\":{\"sensitive\":true},\"sensitive\":true}},\"methods\":{\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true},\"isActive\":{\"name\":\"isActive\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"meetsMinimumOrder\":{\"name\":\"meetsMinimumOrder\",\"async\":false,\"parameters\":[{\"name\":\"amount\",\"type\":\"number\",\"optional\":false}],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"getProfileId\":{\"name\":\"getProfileId\",\"async\":false,\"parameters\":[],\"returnType\":\"string\",\"isStatic\":false,\"isPublic\":true},\"getPayoutAddress\":{\"name\":\"getPayoutAddress\",\"async\":false,\"parameters\":[{\"name\":\"currency\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"string | undefined\",\"isStatic\":false,\"isPublic\":true},\"setPayoutAddress\":{\"name\":\"setPayoutAddress\",\"async\":false,\"parameters\":[{\"name\":\"currency\",\"type\":\"string\",\"optional\":false},{\"name\":\"destination\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"this\",\"isStatic\":false,\"isPublic\":true},\"clearPayoutAddress\":{\"name\":\"clearPayoutAddress\",\"async\":false,\"parameters\":[{\"name\":\"currency\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"this\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"api\":{\"include\":[\"list\",\"get\",\"create\",\"update\"]},\"mcp\":{\"include\":[\"list\",\"get\"]},\"cli\":{\"skipApiCheck\":true},\"tenantScoped\":{\"mode\":\"optional\"},\"conflictColumns\":[\"tenant_id\",\"slug\",\"context\"]},\"extends\":\"SmrtObject\",\"exportName\":\"Vendor\",\"collectionExportName\":\"VendorCollection\",\"schema\":{\"tableName\":\"vendors\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"vendors\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"profile_id\\\" UUID,\\n \\\"lead_time_days\\\" INTEGER DEFAULT 0,\\n \\\"minimum_order_amount\\\" INTEGER DEFAULT 0,\\n \\\"payment_terms\\\" TEXT DEFAULT '',\\n \\\"currency\\\" TEXT DEFAULT 'USD',\\n \\\"default_contact_email\\\" TEXT DEFAULT '',\\n \\\"default_contact_phone\\\" TEXT DEFAULT '',\\n \\\"status\\\" TEXT,\\n \\\"notes\\\" TEXT DEFAULT '',\\n \\\"payout_addresses\\\" JSON DEFAULT '{}'\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false},\"profile_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false,\"unique\":false},\"lead_time_days\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"minimum_order_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"payment_terms\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"USD\"},\"default_contact_email\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"default_contact_phone\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"status\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"payout_addresses\":{\"type\":\"JSON\",\"notNull\":false,\"unique\":false,\"default\":{}}},\"indexes\":[{\"name\":\"vendors_slug_context_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"vendors_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"vendors_profile_id_idx\",\"columns\":[\"profile_id\"]}],\"version\":\"1dc2b65e\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:BillingAccount\":{\"name\":\"billingaccount\",\"className\":\"BillingAccount\",\"qualifiedName\":\"@happyvertical/smrt-commerce:BillingAccount\",\"collection\":\"billingaccounts\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/models/billing.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{\"sellerTenantId\":{\"type\":\"crossPackageRef\",\"required\":true,\"related\":\"@happyvertical/smrt-users:Tenant\",\"_meta\":{\"required\":true}},\"payerTenantId\":{\"type\":\"crossPackageRef\",\"required\":true,\"related\":\"@happyvertical/smrt-users:Tenant\",\"_meta\":{\"required\":true}},\"customerId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Customer\"},\"name\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"email\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"provider\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"providerCustomerId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"automaticTax\":{\"type\":\"boolean\",\"required\":false,\"default\":true},\"flatDiscountBasisPoints\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"paymentTermsDays\":{\"type\":\"integer\",\"required\":false,\"default\":30},\"standing\":{\"type\":\"text\",\"required\":false,\"default\":\"current\"}},\"methods\":{},\"decoratorConfig\":{\"tableName\":\"_smrt_billing_accounts\",\"conflictColumns\":[\"seller_tenant_id\",\"payer_tenant_id\"],\"api\":false,\"cli\":false,\"mcp\":false},\"extends\":\"SmrtObject\",\"exportName\":\"BillingAccount\",\"collectionExportName\":\"BillingAccountCollection\",\"validationRules\":[{\"field\":\"sellerTenantId\",\"rule\":\"required\",\"fieldType\":\"crossPackageRef\"},{\"field\":\"payerTenantId\",\"rule\":\"required\",\"fieldType\":\"crossPackageRef\"}],\"schema\":{\"tableName\":\"_smrt_billing_accounts\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"_smrt_billing_accounts\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"seller_tenant_id\\\" UUID NOT NULL,\\n \\\"payer_tenant_id\\\" UUID NOT NULL,\\n \\\"customer_id\\\" UUID,\\n \\\"name\\\" TEXT DEFAULT '',\\n \\\"email\\\" TEXT DEFAULT '',\\n \\\"provider\\\" TEXT DEFAULT '',\\n \\\"provider_customer_id\\\" TEXT DEFAULT '',\\n \\\"automatic_tax\\\" BOOLEAN DEFAULT TRUE,\\n \\\"flat_discount_basis_points\\\" INTEGER DEFAULT 0,\\n \\\"payment_terms_days\\\" INTEGER DEFAULT 30,\\n \\\"standing\\\" TEXT DEFAULT 'current'\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"seller_tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":true,\"unique\":false},\"payer_tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":true,\"unique\":false},\"customer_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"customers\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"name\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"email\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"provider\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"provider_customer_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"automatic_tax\":{\"type\":\"BOOLEAN\",\"notNull\":false,\"unique\":false,\"default\":true},\"flat_discount_basis_points\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"payment_terms_days\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":30},\"standing\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"current\"}},\"indexes\":[{\"name\":\"_smrt_billing_accounts_seller_tenant_id_payer_tenant_id_idx\",\"columns\":[\"seller_tenant_id\",\"payer_tenant_id\"],\"unique\":true},{\"name\":\"_smrt_billing_accounts_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"_smrt_billing_accounts_created_at_idx\",\"columns\":[\"created_at\"]},{\"name\":\"_smrt_billing_accounts_payer_tenant_id_idx\",\"columns\":[\"payer_tenant_id\"]},{\"name\":\"_smrt_billing_accounts_customer_id_idx\",\"columns\":[\"customer_id\"]}],\"version\":\"c9e78d38\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:BillingPeriodClose\":{\"name\":\"billingperiodclose\",\"className\":\"BillingPeriodClose\",\"qualifiedName\":\"@happyvertical/smrt-commerce:BillingPeriodClose\",\"collection\":\"billingperiodcloses\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/models/billing.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{\"sellerTenantId\":{\"type\":\"crossPackageRef\",\"required\":true,\"related\":\"@happyvertical/smrt-users:Tenant\",\"_meta\":{\"required\":true}},\"kind\":{\"type\":\"text\",\"required\":false,\"default\":\"provider\"},\"payerTenantId\":{\"type\":\"crossPackageRef\",\"required\":true,\"related\":\"@happyvertical/smrt-users:Tenant\",\"_meta\":{\"required\":true}},\"currency\":{\"type\":\"text\",\"required\":false,\"default\":\"USD\"},\"periodStart\":{\"type\":\"datetime\",\"required\":false},\"periodEnd\":{\"type\":\"datetime\",\"required\":false},\"billingAccountId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"BillingAccount\"},\"status\":{\"type\":\"text\",\"required\":false,\"default\":\"collecting\"},\"invoiceId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Invoice\"},\"providerInvoiceId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"subtotal\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"lineCount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"issuedAt\":{\"type\":\"datetime\",\"required\":false},\"leaseToken\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"nullable\":true}},\"leaseExpiresAt\":{\"type\":\"datetime\",\"required\":false,\"_meta\":{\"nullable\":true}},\"attempts\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"lastError\":{\"type\":\"text\",\"required\":false,\"default\":\"\"}},\"methods\":{\"runPeriodClose\":{\"name\":\"runPeriodClose\",\"async\":true,\"parameters\":[{\"name\":\"args\",\"type\":\"Record<string, unknown>\",\"optional\":true},{\"name\":\"_context\",\"type\":\"JobExecutionContext\",\"optional\":true}],\"returnType\":\"Promise<unknown>\",\"isStatic\":false,\"isPublic\":true},\"processBillingEvents\":{\"name\":\"processBillingEvents\",\"async\":true,\"parameters\":[{\"name\":\"args\",\"type\":\"Record<string, unknown>\",\"optional\":true},{\"name\":\"_context\",\"type\":\"JobExecutionContext\",\"optional\":true}],\"returnType\":\"Promise<unknown>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tableName\":\"_smrt_billing_period_closes\",\"conflictColumns\":[\"seller_tenant_id\",\"kind\",\"payer_tenant_id\",\"currency\",\"period_start\",\"period_end\"],\"api\":false,\"cli\":false,\"mcp\":false},\"extends\":\"SmrtObject\",\"exportName\":\"BillingPeriodClose\",\"collectionExportName\":\"BillingPeriodCloseCollection\",\"validationRules\":[{\"field\":\"sellerTenantId\",\"rule\":\"required\",\"fieldType\":\"crossPackageRef\"},{\"field\":\"payerTenantId\",\"rule\":\"required\",\"fieldType\":\"crossPackageRef\"}],\"schema\":{\"tableName\":\"_smrt_billing_period_closes\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"_smrt_billing_period_closes\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"seller_tenant_id\\\" UUID NOT NULL,\\n \\\"kind\\\" TEXT DEFAULT 'provider',\\n \\\"payer_tenant_id\\\" UUID NOT NULL,\\n \\\"currency\\\" TEXT DEFAULT 'USD',\\n \\\"period_start\\\" TIMESTAMP,\\n \\\"period_end\\\" TIMESTAMP,\\n \\\"billing_account_id\\\" UUID,\\n \\\"status\\\" TEXT DEFAULT 'collecting',\\n \\\"invoice_id\\\" UUID,\\n \\\"provider_invoice_id\\\" TEXT DEFAULT '',\\n \\\"subtotal\\\" INTEGER DEFAULT 0,\\n \\\"line_count\\\" INTEGER DEFAULT 0,\\n \\\"issued_at\\\" TIMESTAMP,\\n \\\"lease_token\\\" TEXT,\\n \\\"lease_expires_at\\\" TIMESTAMP,\\n \\\"attempts\\\" INTEGER DEFAULT 0,\\n \\\"last_error\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"seller_tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":true,\"unique\":false},\"kind\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"provider\"},\"payer_tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":true,\"unique\":false},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"USD\"},\"period_start\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"period_end\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"billing_account_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"_smrt_billing_accounts\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"status\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"collecting\"},\"invoice_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"invoices\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"provider_invoice_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"subtotal\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"line_count\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"issued_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"lease_token\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"lease_expires_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"attempts\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"last_error\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"_smrt_billing_period_closes_seller_tenant_id_kind_idx\",\"columns\":[\"seller_tenant_id\",\"kind\",\"payer_tenant_id\",\"currency\",\"period_start\",\"period_end\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"_smrt_billing_period_closes_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"_smrt_billing_period_closes_created_at_idx\",\"columns\":[\"created_at\"]},{\"name\":\"_smrt_billing_period_closes_payer_tenant_id_idx\",\"columns\":[\"payer_tenant_id\"]},{\"name\":\"_smrt_billing_period_closes_billing_account_id_idx\",\"columns\":[\"billing_account_id\"]},{\"name\":\"_smrt_billing_period_closes_invoice_id_idx\",\"columns\":[\"invoice_id\"]}],\"version\":\"753d2e86\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:BillingLineSource\":{\"name\":\"billinglinesource\",\"className\":\"BillingLineSource\",\"qualifiedName\":\"@happyvertical/smrt-commerce:BillingLineSource\",\"collection\":\"billinglinesources\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/models/billing.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{\"sellerTenantId\":{\"type\":\"crossPackageRef\",\"required\":true,\"related\":\"@happyvertical/smrt-users:Tenant\",\"_meta\":{\"required\":true}},\"periodCloseId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"BillingPeriodClose\"},\"sourceType\":{\"type\":\"text\",\"required\":false,\"default\":\"client_charge\"},\"sourceId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"lineKey\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"lineDescription\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"amount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"discount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"quantity\":{\"type\":\"decimal\",\"required\":false,\"default\":0},\"currency\":{\"type\":\"text\",\"required\":false,\"default\":\"USD\"},\"periodStart\":{\"type\":\"datetime\",\"required\":false},\"periodEnd\":{\"type\":\"datetime\",\"required\":false}},\"methods\":{},\"decoratorConfig\":{\"tableName\":\"_smrt_billing_line_sources\",\"conflictColumns\":[\"source_type\",\"source_id\"],\"api\":false,\"cli\":false,\"mcp\":false},\"extends\":\"SmrtObject\",\"exportName\":\"BillingLineSource\",\"collectionExportName\":\"BillingLineSourceCollection\",\"validationRules\":[{\"field\":\"sellerTenantId\",\"rule\":\"required\",\"fieldType\":\"crossPackageRef\"}],\"schema\":{\"tableName\":\"_smrt_billing_line_sources\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"_smrt_billing_line_sources\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"seller_tenant_id\\\" UUID NOT NULL,\\n \\\"period_close_id\\\" UUID,\\n \\\"source_type\\\" TEXT DEFAULT 'client_charge',\\n \\\"source_id\\\" TEXT DEFAULT '',\\n \\\"line_key\\\" TEXT DEFAULT '',\\n \\\"line_description\\\" TEXT DEFAULT '',\\n \\\"amount\\\" INTEGER DEFAULT 0,\\n \\\"discount\\\" INTEGER DEFAULT 0,\\n \\\"quantity\\\" REAL DEFAULT 0,\\n \\\"currency\\\" TEXT DEFAULT 'USD',\\n \\\"period_start\\\" TIMESTAMP,\\n \\\"period_end\\\" TIMESTAMP\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"seller_tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":true,\"unique\":false},\"period_close_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"_smrt_billing_period_closes\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"source_type\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"client_charge\"},\"source_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"line_key\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"line_description\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"discount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"quantity\":{\"type\":\"REAL\",\"notNull\":false,\"unique\":false,\"default\":0},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"USD\"},\"period_start\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"period_end\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false}},\"indexes\":[{\"name\":\"_smrt_billing_line_sources_source_type_source_id_idx\",\"columns\":[\"source_type\",\"source_id\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"_smrt_billing_line_sources_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"_smrt_billing_line_sources_created_at_idx\",\"columns\":[\"created_at\"]},{\"name\":\"_smrt_billing_line_sources_seller_tenant_id_idx\",\"columns\":[\"seller_tenant_id\"]},{\"name\":\"_smrt_billing_line_sources_period_close_id_idx\",\"columns\":[\"period_close_id\"]}],\"version\":\"60dec9a2\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:BillingAccountCollection\":{\"name\":\"billingaccountcollection\",\"className\":\"BillingAccountCollection\",\"qualifiedName\":\"@happyvertical/smrt-commerce:BillingAccountCollection\",\"collection\":\"billingaccounts\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/models/billing.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{},\"methods\":{},\"decoratorConfig\":{\"tableName\":\"_smrt_billing_accounts\",\"api\":false,\"mcp\":false,\"cli\":false},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"BillingAccount\",\"exportName\":\"BillingAccountCollection\",\"collectionExportName\":\"BillingAccountCollectionCollection\",\"schema\":{\"tableName\":\"_smrt_billing_accounts\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"_smrt_billing_accounts\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"seller_tenant_id\\\" UUID NOT NULL,\\n \\\"payer_tenant_id\\\" UUID NOT NULL,\\n \\\"customer_id\\\" UUID,\\n \\\"name\\\" TEXT DEFAULT '',\\n \\\"email\\\" TEXT DEFAULT '',\\n \\\"provider\\\" TEXT DEFAULT '',\\n \\\"provider_customer_id\\\" TEXT DEFAULT '',\\n \\\"automatic_tax\\\" BOOLEAN DEFAULT TRUE,\\n \\\"flat_discount_basis_points\\\" INTEGER DEFAULT 0,\\n \\\"payment_terms_days\\\" INTEGER DEFAULT 30,\\n \\\"standing\\\" TEXT DEFAULT 'current'\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"seller_tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":true,\"unique\":false},\"payer_tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":true,\"unique\":false},\"customer_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"customers\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"name\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"email\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"provider\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"provider_customer_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"automatic_tax\":{\"type\":\"BOOLEAN\",\"notNull\":false,\"unique\":false,\"default\":true},\"flat_discount_basis_points\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"payment_terms_days\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":30},\"standing\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"current\"}},\"indexes\":[{\"name\":\"_smrt_billing_accounts_seller_tenant_id_payer_tenant_id_idx\",\"columns\":[\"seller_tenant_id\",\"payer_tenant_id\"],\"unique\":true},{\"name\":\"_smrt_billing_accounts_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"_smrt_billing_accounts_created_at_idx\",\"columns\":[\"created_at\"]},{\"name\":\"_smrt_billing_accounts_payer_tenant_id_idx\",\"columns\":[\"payer_tenant_id\"]},{\"name\":\"_smrt_billing_accounts_customer_id_idx\",\"columns\":[\"customer_id\"]}],\"version\":\"c9e78d38\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:BillingPeriodCloseCollection\":{\"name\":\"billingperiodclosecollection\",\"className\":\"BillingPeriodCloseCollection\",\"qualifiedName\":\"@happyvertical/smrt-commerce:BillingPeriodCloseCollection\",\"collection\":\"billingperiodcloses\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/models/billing.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{},\"methods\":{},\"decoratorConfig\":{\"tableName\":\"_smrt_billing_period_closes\",\"api\":false,\"mcp\":false,\"cli\":false},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"BillingPeriodClose\",\"exportName\":\"BillingPeriodCloseCollection\",\"collectionExportName\":\"BillingPeriodCloseCollectionCollection\",\"schema\":{\"tableName\":\"_smrt_billing_period_closes\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"_smrt_billing_period_closes\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"seller_tenant_id\\\" UUID NOT NULL,\\n \\\"kind\\\" TEXT DEFAULT 'provider',\\n \\\"payer_tenant_id\\\" UUID NOT NULL,\\n \\\"currency\\\" TEXT DEFAULT 'USD',\\n \\\"period_start\\\" TIMESTAMP,\\n \\\"period_end\\\" TIMESTAMP,\\n \\\"billing_account_id\\\" UUID,\\n \\\"status\\\" TEXT DEFAULT 'collecting',\\n \\\"invoice_id\\\" UUID,\\n \\\"provider_invoice_id\\\" TEXT DEFAULT '',\\n \\\"subtotal\\\" INTEGER DEFAULT 0,\\n \\\"line_count\\\" INTEGER DEFAULT 0,\\n \\\"issued_at\\\" TIMESTAMP,\\n \\\"lease_token\\\" TEXT,\\n \\\"lease_expires_at\\\" TIMESTAMP,\\n \\\"attempts\\\" INTEGER DEFAULT 0,\\n \\\"last_error\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"seller_tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":true,\"unique\":false},\"kind\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"provider\"},\"payer_tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":true,\"unique\":false},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"USD\"},\"period_start\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"period_end\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"billing_account_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"_smrt_billing_accounts\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"status\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"collecting\"},\"invoice_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"invoices\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"provider_invoice_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"subtotal\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"line_count\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"issued_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"lease_token\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"lease_expires_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"attempts\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"last_error\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"_smrt_billing_period_closes_seller_tenant_id_kind_idx\",\"columns\":[\"seller_tenant_id\",\"kind\",\"payer_tenant_id\",\"currency\",\"period_start\",\"period_end\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"_smrt_billing_period_closes_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"_smrt_billing_period_closes_created_at_idx\",\"columns\":[\"created_at\"]},{\"name\":\"_smrt_billing_period_closes_payer_tenant_id_idx\",\"columns\":[\"payer_tenant_id\"]},{\"name\":\"_smrt_billing_period_closes_billing_account_id_idx\",\"columns\":[\"billing_account_id\"]},{\"name\":\"_smrt_billing_period_closes_invoice_id_idx\",\"columns\":[\"invoice_id\"]}],\"version\":\"753d2e86\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:BillingLineSourceCollection\":{\"name\":\"billinglinesourcecollection\",\"className\":\"BillingLineSourceCollection\",\"qualifiedName\":\"@happyvertical/smrt-commerce:BillingLineSourceCollection\",\"collection\":\"billinglinesources\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/models/billing.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{},\"methods\":{},\"decoratorConfig\":{\"tableName\":\"_smrt_billing_line_sources\",\"api\":false,\"mcp\":false,\"cli\":false},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"BillingLineSource\",\"exportName\":\"BillingLineSourceCollection\",\"collectionExportName\":\"BillingLineSourceCollectionCollection\",\"schema\":{\"tableName\":\"_smrt_billing_line_sources\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"_smrt_billing_line_sources\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"seller_tenant_id\\\" UUID NOT NULL,\\n \\\"period_close_id\\\" UUID,\\n \\\"source_type\\\" TEXT DEFAULT 'client_charge',\\n \\\"source_id\\\" TEXT DEFAULT '',\\n \\\"line_key\\\" TEXT DEFAULT '',\\n \\\"line_description\\\" TEXT DEFAULT '',\\n \\\"amount\\\" INTEGER DEFAULT 0,\\n \\\"discount\\\" INTEGER DEFAULT 0,\\n \\\"quantity\\\" REAL DEFAULT 0,\\n \\\"currency\\\" TEXT DEFAULT 'USD',\\n \\\"period_start\\\" TIMESTAMP,\\n \\\"period_end\\\" TIMESTAMP\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"seller_tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":true,\"unique\":false},\"period_close_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"_smrt_billing_period_closes\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"source_type\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"client_charge\"},\"source_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"line_key\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"line_description\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"discount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"quantity\":{\"type\":\"REAL\",\"notNull\":false,\"unique\":false,\"default\":0},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"USD\"},\"period_start\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"period_end\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false}},\"indexes\":[{\"name\":\"_smrt_billing_line_sources_source_type_source_id_idx\",\"columns\":[\"source_type\",\"source_id\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"_smrt_billing_line_sources_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"_smrt_billing_line_sources_created_at_idx\",\"columns\":[\"created_at\"]},{\"name\":\"_smrt_billing_line_sources_seller_tenant_id_idx\",\"columns\":[\"seller_tenant_id\"]},{\"name\":\"_smrt_billing_line_sources_period_close_id_idx\",\"columns\":[\"period_close_id\"]}],\"version\":\"60dec9a2\"},\"importPath\":\"@happyvertical/smrt-commerce\"}},\"moduleType\":\"smrt\",\"smrtDependencies\":[\"@happyvertical/smrt-core\",\"@happyvertical/smrt-jobs\",\"@happyvertical/smrt-ledgers\",\"@happyvertical/smrt-subscriptions\",\"@happyvertical/smrt-tenancy\"]}"));
24
+ ObjectRegistry.registerPackageManifest(JSON.parse("{\"version\":\"1.0.0\",\"timestamp\":0,\"packageName\":\"@happyvertical/smrt-commerce\",\"packageVersion\":\"0.51.27\",\"objects\":{\"@happyvertical/smrt-commerce:ContractCollection\":{\"name\":\"contractcollection\",\"className\":\"ContractCollection\",\"qualifiedName\":\"@happyvertical/smrt-commerce:ContractCollection\",\"collection\":\"contracts\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/collections/ContractCollection.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{},\"methods\":{\"findByCustomer\":{\"name\":\"findByCustomer\",\"async\":true,\"parameters\":[{\"name\":\"customerId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Contract[]>\",\"isStatic\":false,\"isPublic\":true},\"findByVendor\":{\"name\":\"findByVendor\",\"async\":true,\"parameters\":[{\"name\":\"vendorId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Contract[]>\",\"isStatic\":false,\"isPublic\":true},\"findByType\":{\"name\":\"findByType\",\"async\":true,\"parameters\":[{\"name\":\"contractType\",\"type\":\"ContractType\",\"optional\":false}],\"returnType\":\"Promise<Contract[]>\",\"isStatic\":false,\"isPublic\":true},\"findByStatus\":{\"name\":\"findByStatus\",\"async\":true,\"parameters\":[{\"name\":\"status\",\"type\":\"ContractStatus\",\"optional\":false}],\"returnType\":\"Promise<Contract[]>\",\"isStatic\":false,\"isPublic\":true},\"findDrafts\":{\"name\":\"findDrafts\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Contract[]>\",\"isStatic\":false,\"isPublic\":true},\"findAccepted\":{\"name\":\"findAccepted\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Contract[]>\",\"isStatic\":false,\"isPublic\":true},\"findOverdue\":{\"name\":\"findOverdue\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Contract[]>\",\"isStatic\":false,\"isPublic\":true},\"findExpired\":{\"name\":\"findExpired\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Contract[]>\",\"isStatic\":false,\"isPublic\":true},\"findByDateRange\":{\"name\":\"findByDateRange\",\"async\":true,\"parameters\":[{\"name\":\"startDate\",\"type\":\"Date\",\"optional\":false},{\"name\":\"endDate\",\"type\":\"Date\",\"optional\":false}],\"returnType\":\"Promise<Contract[]>\",\"isStatic\":false,\"isPublic\":true},\"findByTenant\":{\"name\":\"findByTenant\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Contract[]>\",\"isStatic\":false,\"isPublic\":true},\"findGlobal\":{\"name\":\"findGlobal\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Contract[]>\",\"isStatic\":false,\"isPublic\":true},\"findWithGlobals\":{\"name\":\"findWithGlobals\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Contract[]>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"Contract\",\"exportName\":\"ContractCollection\",\"collectionExportName\":\"ContractCollectionCollection\",\"schema\":{\"tableName\":\"contracts\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"contracts\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"_meta_type\\\" TEXT NOT NULL,\\n \\\"_meta_data\\\" JSON,\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"contract_type\\\" TEXT,\\n \\\"status\\\" TEXT,\\n \\\"customer_id\\\" UUID,\\n \\\"vendor_id\\\" UUID,\\n \\\"subtotal\\\" INTEGER DEFAULT 0,\\n \\\"tax_amount\\\" INTEGER DEFAULT 0,\\n \\\"total_amount\\\" INTEGER DEFAULT 0,\\n \\\"currency\\\" TEXT DEFAULT 'USD',\\n \\\"issue_date\\\" TIMESTAMP,\\n \\\"due_date\\\" TIMESTAMP,\\n \\\"expiry_date\\\" TIMESTAMP,\\n \\\"reference\\\" TEXT DEFAULT '',\\n \\\"notes\\\" TEXT DEFAULT '',\\n \\\"terms\\\" TEXT DEFAULT '',\\n \\\"channel_id\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"_meta_type\":{\"type\":\"TEXT\",\"notNull\":true},\"_meta_data\":{\"type\":\"JSON\",\"notNull\":false},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false},\"contract_type\":{\"type\":\"TEXT\",\"notNull\":false},\"status\":{\"type\":\"TEXT\",\"notNull\":false},\"customer_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"customers\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"vendor_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"vendors\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"subtotal\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"tax_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"total_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"USD\"},\"issue_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"due_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"expiry_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"reference\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"terms\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"channel_id\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"contracts_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"contracts_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"contracts_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"contracts_customer_id_idx\",\"columns\":[\"customer_id\"]},{\"name\":\"contracts_vendor_id_idx\",\"columns\":[\"vendor_id\"]}],\"version\":\"9c2e9c49\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:ContractLineItemCollection\":{\"name\":\"contractlineitemcollection\",\"className\":\"ContractLineItemCollection\",\"qualifiedName\":\"@happyvertical/smrt-commerce:ContractLineItemCollection\",\"collection\":\"contractlineitems\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/collections/ContractLineItemCollection.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{},\"methods\":{\"findByContract\":{\"name\":\"findByContract\",\"async\":true,\"parameters\":[{\"name\":\"contractId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<ContractLineItem[]>\",\"isStatic\":false,\"isPublic\":true},\"findByTenant\":{\"name\":\"findByTenant\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<ContractLineItem[]>\",\"isStatic\":false,\"isPublic\":true},\"findGlobal\":{\"name\":\"findGlobal\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<ContractLineItem[]>\",\"isStatic\":false,\"isPublic\":true},\"findWithGlobals\":{\"name\":\"findWithGlobals\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<ContractLineItem[]>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"ContractLineItem\",\"exportName\":\"ContractLineItemCollection\",\"collectionExportName\":\"ContractLineItemCollectionCollection\",\"schema\":{\"tableName\":\"contract_line_items\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"contract_line_items\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"_meta_type\\\" TEXT NOT NULL,\\n \\\"_meta_data\\\" JSON,\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"contract_id\\\" UUID,\\n \\\"description\\\" TEXT DEFAULT '',\\n \\\"quantity\\\" REAL DEFAULT 1,\\n \\\"unit_price\\\" INTEGER DEFAULT 0,\\n \\\"discount\\\" INTEGER DEFAULT 0,\\n \\\"tax_rate\\\" REAL DEFAULT 0,\\n \\\"amount\\\" INTEGER DEFAULT 0,\\n \\\"product_id\\\" UUID,\\n \\\"sku\\\" TEXT DEFAULT '',\\n \\\"start_date\\\" TIMESTAMP,\\n \\\"end_date\\\" TIMESTAMP,\\n \\\"billing_period\\\" TEXT DEFAULT '',\\n \\\"sort_order\\\" INTEGER DEFAULT 0\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"_meta_type\":{\"type\":\"TEXT\",\"notNull\":true},\"_meta_data\":{\"type\":\"JSON\",\"notNull\":false},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false},\"contract_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"contracts\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"description\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"quantity\":{\"type\":\"REAL\",\"notNull\":false,\"default\":1},\"unit_price\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"discount\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"tax_rate\":{\"type\":\"REAL\",\"notNull\":false,\"default\":0},\"amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"product_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false},\"sku\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"start_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"end_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"billing_period\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"sort_order\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0}},\"indexes\":[{\"name\":\"contract_line_items_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"contract_line_items_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"contract_line_items_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"contract_line_items_contract_id_idx\",\"columns\":[\"contract_id\"]},{\"name\":\"contract_line_items_product_id_idx\",\"columns\":[\"product_id\"]}],\"version\":\"be2b46cd\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:CustomerCollection\":{\"name\":\"customercollection\",\"className\":\"CustomerCollection\",\"qualifiedName\":\"@happyvertical/smrt-commerce:CustomerCollection\",\"collection\":\"customers\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/collections/CustomerCollection.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{},\"methods\":{\"findByProfile\":{\"name\":\"findByProfile\",\"async\":true,\"parameters\":[{\"name\":\"profileId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Customer[]>\",\"isStatic\":false,\"isPublic\":true},\"findActive\":{\"name\":\"findActive\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Customer[]>\",\"isStatic\":false,\"isPublic\":true},\"findByStatus\":{\"name\":\"findByStatus\",\"async\":true,\"parameters\":[{\"name\":\"status\",\"type\":\"CustomerStatus\",\"optional\":false}],\"returnType\":\"Promise<Customer[]>\",\"isStatic\":false,\"isPublic\":true},\"getOrCreateForProfile\":{\"name\":\"getOrCreateForProfile\",\"async\":true,\"parameters\":[{\"name\":\"profileId\",\"type\":\"string\",\"optional\":false},{\"name\":\"defaults\",\"type\":\"Partial<object>\",\"optional\":true,\"memberTypes\":[\"number\",\"string\"]}],\"returnType\":\"Promise<Customer>\",\"isStatic\":false,\"isPublic\":true},\"findByTenant\":{\"name\":\"findByTenant\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Customer[]>\",\"isStatic\":false,\"isPublic\":true},\"findGlobal\":{\"name\":\"findGlobal\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Customer[]>\",\"isStatic\":false,\"isPublic\":true},\"findWithGlobals\":{\"name\":\"findWithGlobals\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Customer[]>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"Customer\",\"exportName\":\"CustomerCollection\",\"collectionExportName\":\"CustomerCollectionCollection\",\"schema\":{\"tableName\":\"customers\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"customers\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"profile_id\\\" UUID,\\n \\\"credit_limit\\\" INTEGER DEFAULT 0,\\n \\\"payment_terms\\\" TEXT DEFAULT '',\\n \\\"tax_exempt\\\" BOOLEAN DEFAULT FALSE,\\n \\\"tax_id\\\" TEXT DEFAULT '',\\n \\\"default_shipping_address\\\" JSON,\\n \\\"default_billing_address\\\" JSON,\\n \\\"status\\\" TEXT,\\n \\\"customer_type\\\" TEXT,\\n \\\"notes\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false},\"profile_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false,\"unique\":false},\"credit_limit\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"payment_terms\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"tax_exempt\":{\"type\":\"BOOLEAN\",\"notNull\":false,\"unique\":false,\"default\":false},\"tax_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"default_shipping_address\":{\"type\":\"JSON\",\"notNull\":false,\"unique\":false},\"default_billing_address\":{\"type\":\"JSON\",\"notNull\":false,\"unique\":false},\"status\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"customer_type\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"customers_slug_context_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"customers_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"customers_profile_id_idx\",\"columns\":[\"profile_id\"]}],\"version\":\"ad1b9967\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:FulfillmentCollection\":{\"name\":\"fulfillmentcollection\",\"className\":\"FulfillmentCollection\",\"qualifiedName\":\"@happyvertical/smrt-commerce:FulfillmentCollection\",\"collection\":\"fulfillments\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/collections/FulfillmentCollection.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{},\"methods\":{\"findByContract\":{\"name\":\"findByContract\",\"async\":true,\"parameters\":[{\"name\":\"contractId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Fulfillment[]>\",\"isStatic\":false,\"isPublic\":true},\"findByStatus\":{\"name\":\"findByStatus\",\"async\":true,\"parameters\":[{\"name\":\"status\",\"type\":\"FulfillmentStatus\",\"optional\":false}],\"returnType\":\"Promise<Fulfillment[]>\",\"isStatic\":false,\"isPublic\":true},\"findByType\":{\"name\":\"findByType\",\"async\":true,\"parameters\":[{\"name\":\"fulfillmentType\",\"type\":\"FulfillmentType\",\"optional\":false}],\"returnType\":\"Promise<Fulfillment[]>\",\"isStatic\":false,\"isPublic\":true},\"findPending\":{\"name\":\"findPending\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Fulfillment[]>\",\"isStatic\":false,\"isPublic\":true},\"findInTransit\":{\"name\":\"findInTransit\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Fulfillment[]>\",\"isStatic\":false,\"isPublic\":true},\"findByTracking\":{\"name\":\"findByTracking\",\"async\":true,\"parameters\":[{\"name\":\"trackingNumber\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Fulfillment | null>\",\"isStatic\":false,\"isPublic\":true},\"findShippedInRange\":{\"name\":\"findShippedInRange\",\"async\":true,\"parameters\":[{\"name\":\"startDate\",\"type\":\"Date\",\"optional\":false},{\"name\":\"endDate\",\"type\":\"Date\",\"optional\":false}],\"returnType\":\"Promise<Fulfillment[]>\",\"isStatic\":false,\"isPublic\":true},\"findByTenant\":{\"name\":\"findByTenant\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Fulfillment[]>\",\"isStatic\":false,\"isPublic\":true},\"findGlobal\":{\"name\":\"findGlobal\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Fulfillment[]>\",\"isStatic\":false,\"isPublic\":true},\"findWithGlobals\":{\"name\":\"findWithGlobals\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Fulfillment[]>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"Fulfillment\",\"exportName\":\"FulfillmentCollection\",\"collectionExportName\":\"FulfillmentCollectionCollection\",\"schema\":{\"tableName\":\"fulfillments\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"fulfillments\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"contract_id\\\" UUID,\\n \\\"fulfillment_type\\\" TEXT,\\n \\\"status\\\" TEXT,\\n \\\"tracking_number\\\" TEXT DEFAULT '',\\n \\\"carrier\\\" TEXT DEFAULT '',\\n \\\"shipping_address\\\" JSON,\\n \\\"shipped_at\\\" TIMESTAMP,\\n \\\"delivered_at\\\" TIMESTAMP,\\n \\\"estimated_delivery\\\" TIMESTAMP,\\n \\\"notes\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false},\"contract_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"contracts\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"fulfillment_type\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"status\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"tracking_number\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"carrier\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"shipping_address\":{\"type\":\"JSON\",\"notNull\":false,\"unique\":false},\"shipped_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"delivered_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"estimated_delivery\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"fulfillments_slug_context_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"fulfillments_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"fulfillments_contract_id_idx\",\"columns\":[\"contract_id\"]}],\"version\":\"2f708fc5\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:FulfillmentLineItemCollection\":{\"name\":\"fulfillmentlineitemcollection\",\"className\":\"FulfillmentLineItemCollection\",\"qualifiedName\":\"@happyvertical/smrt-commerce:FulfillmentLineItemCollection\",\"collection\":\"fulfillmentlineitems\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/collections/FulfillmentLineItemCollection.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{},\"methods\":{\"findByFulfillment\":{\"name\":\"findByFulfillment\",\"async\":true,\"parameters\":[{\"name\":\"fulfillmentId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<FulfillmentLineItem[]>\",\"isStatic\":false,\"isPublic\":true},\"findByContractLineItem\":{\"name\":\"findByContractLineItem\",\"async\":true,\"parameters\":[{\"name\":\"contractLineItemId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<FulfillmentLineItem[]>\",\"isStatic\":false,\"isPublic\":true},\"getTotalFulfilledForContractLine\":{\"name\":\"getTotalFulfilledForContractLine\",\"async\":true,\"parameters\":[{\"name\":\"contractLineItemId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"findByTenant\":{\"name\":\"findByTenant\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<FulfillmentLineItem[]>\",\"isStatic\":false,\"isPublic\":true},\"findGlobal\":{\"name\":\"findGlobal\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<FulfillmentLineItem[]>\",\"isStatic\":false,\"isPublic\":true},\"findWithGlobals\":{\"name\":\"findWithGlobals\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<FulfillmentLineItem[]>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"FulfillmentLineItem\",\"exportName\":\"FulfillmentLineItemCollection\",\"collectionExportName\":\"FulfillmentLineItemCollectionCollection\",\"schema\":{\"tableName\":\"fulfillment_line_items\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"fulfillment_line_items\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"fulfillment_id\\\" UUID,\\n \\\"contract_line_item_id\\\" UUID,\\n \\\"quantity_fulfilled\\\" REAL DEFAULT 1,\\n \\\"notes\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false},\"fulfillment_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"fulfillments\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"contract_line_item_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"contract_line_items\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"quantity_fulfilled\":{\"type\":\"REAL\",\"notNull\":false,\"unique\":false,\"default\":1},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"fulfillment_line_items_slug_context_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"fulfillment_line_items_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"fulfillment_line_items_fulfillment_id_idx\",\"columns\":[\"fulfillment_id\"]},{\"name\":\"fulfillment_line_items_contract_line_item_id_idx\",\"columns\":[\"contract_line_item_id\"]}],\"version\":\"14537dbe\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:InvoiceCollection\":{\"name\":\"invoicecollection\",\"className\":\"InvoiceCollection\",\"qualifiedName\":\"@happyvertical/smrt-commerce:InvoiceCollection\",\"collection\":\"invoices\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/collections/InvoiceCollection.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{},\"methods\":{\"findByCustomer\":{\"name\":\"findByCustomer\",\"async\":true,\"parameters\":[{\"name\":\"customerId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Invoice[]>\",\"isStatic\":false,\"isPublic\":true},\"findByContract\":{\"name\":\"findByContract\",\"async\":true,\"parameters\":[{\"name\":\"contractId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Invoice[]>\",\"isStatic\":false,\"isPublic\":true},\"findByStatus\":{\"name\":\"findByStatus\",\"async\":true,\"parameters\":[{\"name\":\"status\",\"type\":\"InvoiceStatus\",\"optional\":false}],\"returnType\":\"Promise<Invoice[]>\",\"isStatic\":false,\"isPublic\":true},\"findDrafts\":{\"name\":\"findDrafts\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Invoice[]>\",\"isStatic\":false,\"isPublic\":true},\"findSent\":{\"name\":\"findSent\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Invoice[]>\",\"isStatic\":false,\"isPublic\":true},\"findPaid\":{\"name\":\"findPaid\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Invoice[]>\",\"isStatic\":false,\"isPublic\":true},\"findPartial\":{\"name\":\"findPartial\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Invoice[]>\",\"isStatic\":false,\"isPublic\":true},\"findOverdue\":{\"name\":\"findOverdue\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Invoice[]>\",\"isStatic\":false,\"isPublic\":true},\"findByDateRange\":{\"name\":\"findByDateRange\",\"async\":true,\"parameters\":[{\"name\":\"startDate\",\"type\":\"Date\",\"optional\":false},{\"name\":\"endDate\",\"type\":\"Date\",\"optional\":false}],\"returnType\":\"Promise<Invoice[]>\",\"isStatic\":false,\"isPublic\":true},\"findByExternalId\":{\"name\":\"findByExternalId\",\"async\":true,\"parameters\":[{\"name\":\"externalId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Invoice | null>\",\"isStatic\":false,\"isPublic\":true},\"findNeedingSync\":{\"name\":\"findNeedingSync\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Invoice[]>\",\"isStatic\":false,\"isPublic\":true},\"findByNumber\":{\"name\":\"findByNumber\",\"async\":true,\"parameters\":[{\"name\":\"invoiceNumber\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Invoice | null>\",\"isStatic\":false,\"isPublic\":true},\"countForYear\":{\"name\":\"countForYear\",\"async\":true,\"parameters\":[{\"name\":\"year\",\"type\":\"number\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"generateInvoiceNumber\":{\"name\":\"generateInvoiceNumber\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"InvoiceNumberOptions\",\"optional\":true}],\"returnType\":\"Promise<string>\",\"isStatic\":false,\"isPublic\":true},\"getTotalOutstandingForCustomer\":{\"name\":\"getTotalOutstandingForCustomer\",\"async\":true,\"parameters\":[{\"name\":\"customerId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"findByTenant\":{\"name\":\"findByTenant\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Invoice[]>\",\"isStatic\":false,\"isPublic\":true},\"findGlobal\":{\"name\":\"findGlobal\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Invoice[]>\",\"isStatic\":false,\"isPublic\":true},\"findWithGlobals\":{\"name\":\"findWithGlobals\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Invoice[]>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"Invoice\",\"exportName\":\"InvoiceCollection\",\"collectionExportName\":\"InvoiceCollectionCollection\",\"schema\":{\"tableName\":\"invoices\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"invoices\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"customer_id\\\" UUID,\\n \\\"contract_id\\\" UUID,\\n \\\"invoice_number\\\" TEXT DEFAULT '',\\n \\\"reference\\\" TEXT DEFAULT '',\\n \\\"issue_date\\\" TIMESTAMP,\\n \\\"due_date\\\" TIMESTAMP,\\n \\\"paid_date\\\" TIMESTAMP,\\n \\\"subtotal\\\" INTEGER DEFAULT 0,\\n \\\"tax_amount\\\" INTEGER DEFAULT 0,\\n \\\"provider_tax_amount\\\" INTEGER DEFAULT 0,\\n \\\"total_amount\\\" INTEGER DEFAULT 0,\\n \\\"amount_paid\\\" INTEGER DEFAULT 0,\\n \\\"currency\\\" TEXT DEFAULT 'CAD',\\n \\\"status\\\" TEXT,\\n \\\"ar_journal_id\\\" UUID,\\n \\\"revenue_journal_id\\\" UUID,\\n \\\"external_id\\\" TEXT DEFAULT '',\\n \\\"customer_external_id\\\" TEXT DEFAULT '',\\n \\\"external_provider\\\" TEXT DEFAULT '',\\n \\\"synced_at\\\" TIMESTAMP,\\n \\\"sent_at\\\" TIMESTAMP,\\n \\\"viewed_at\\\" TIMESTAMP,\\n \\\"reminders_sent\\\" INTEGER DEFAULT 0,\\n \\\"last_reminder_at\\\" TIMESTAMP,\\n \\\"notes\\\" TEXT DEFAULT '',\\n \\\"customer_notes\\\" TEXT DEFAULT '',\\n \\\"terms\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false},\"customer_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"customers\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"contract_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"contracts\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"invoice_number\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"reference\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"issue_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"due_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"paid_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"subtotal\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"tax_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"provider_tax_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"total_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"amount_paid\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"CAD\"},\"status\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"ar_journal_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false,\"unique\":false},\"revenue_journal_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false,\"unique\":false},\"external_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"customer_external_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"external_provider\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"synced_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"sent_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"viewed_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"reminders_sent\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"last_reminder_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"customer_notes\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"terms\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"invoices_slug_context_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"invoices_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"invoices_customer_id_idx\",\"columns\":[\"customer_id\"]},{\"name\":\"invoices_contract_id_idx\",\"columns\":[\"contract_id\"]},{\"name\":\"invoices_ar_journal_id_idx\",\"columns\":[\"ar_journal_id\"]},{\"name\":\"invoices_revenue_journal_id_idx\",\"columns\":[\"revenue_journal_id\"]}],\"version\":\"40c25b56\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:InvoiceLineItemCollection\":{\"name\":\"invoicelineitemcollection\",\"className\":\"InvoiceLineItemCollection\",\"qualifiedName\":\"@happyvertical/smrt-commerce:InvoiceLineItemCollection\",\"collection\":\"invoicelineitems\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/collections/InvoiceLineItemCollection.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{},\"methods\":{\"findByInvoice\":{\"name\":\"findByInvoice\",\"async\":true,\"parameters\":[{\"name\":\"invoiceId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<InvoiceLineItem[]>\",\"isStatic\":false,\"isPublic\":true},\"findBySource\":{\"name\":\"findBySource\",\"async\":true,\"parameters\":[{\"name\":\"sourceType\",\"type\":\"string\",\"optional\":false},{\"name\":\"sourceId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<InvoiceLineItem[]>\",\"isStatic\":false,\"isPublic\":true},\"findBySourceType\":{\"name\":\"findBySourceType\",\"async\":true,\"parameters\":[{\"name\":\"sourceType\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<InvoiceLineItem[]>\",\"isStatic\":false,\"isPublic\":true},\"getTotalForInvoice\":{\"name\":\"getTotalForInvoice\",\"async\":true,\"parameters\":[{\"name\":\"invoiceId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"getSubtotalForInvoice\":{\"name\":\"getSubtotalForInvoice\",\"async\":true,\"parameters\":[{\"name\":\"invoiceId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"getTaxForInvoice\":{\"name\":\"getTaxForInvoice\",\"async\":true,\"parameters\":[{\"name\":\"invoiceId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"getNextSortOrder\":{\"name\":\"getNextSortOrder\",\"async\":true,\"parameters\":[{\"name\":\"invoiceId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"recalculateAmounts\":{\"name\":\"recalculateAmounts\",\"async\":true,\"parameters\":[{\"name\":\"invoiceId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<InvoiceLineItem[]>\",\"isStatic\":false,\"isPublic\":true},\"toAccountingLineItems\":{\"name\":\"toAccountingLineItems\",\"async\":true,\"parameters\":[{\"name\":\"invoiceId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<AccountingLineItemInput[]>\",\"isStatic\":false,\"isPublic\":true},\"findByTenant\":{\"name\":\"findByTenant\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<InvoiceLineItem[]>\",\"isStatic\":false,\"isPublic\":true},\"findGlobal\":{\"name\":\"findGlobal\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<InvoiceLineItem[]>\",\"isStatic\":false,\"isPublic\":true},\"findWithGlobals\":{\"name\":\"findWithGlobals\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<InvoiceLineItem[]>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"InvoiceLineItem\",\"exportName\":\"InvoiceLineItemCollection\",\"collectionExportName\":\"InvoiceLineItemCollectionCollection\",\"schema\":{\"tableName\":\"invoice_line_items\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"invoice_line_items\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"invoice_id\\\" UUID,\\n \\\"description\\\" TEXT DEFAULT '',\\n \\\"sku\\\" TEXT DEFAULT '',\\n \\\"quantity\\\" INTEGER DEFAULT 1,\\n \\\"unit_price\\\" INTEGER DEFAULT 0,\\n \\\"discount\\\" INTEGER DEFAULT 0,\\n \\\"tax_rate\\\" REAL DEFAULT 0,\\n \\\"amount\\\" INTEGER DEFAULT 0,\\n \\\"source_type\\\" TEXT DEFAULT '',\\n \\\"source_id\\\" TEXT DEFAULT '',\\n \\\"period_start\\\" TIMESTAMP,\\n \\\"period_end\\\" TIMESTAMP,\\n \\\"revenue_account_id\\\" UUID,\\n \\\"sort_order\\\" INTEGER DEFAULT 0\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false},\"invoice_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"invoices\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"description\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"sku\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"quantity\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":1},\"unit_price\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"discount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"tax_rate\":{\"type\":\"REAL\",\"notNull\":false,\"unique\":false,\"default\":0},\"amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"source_type\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"source_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"period_start\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"period_end\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"revenue_account_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false,\"unique\":false},\"sort_order\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0}},\"indexes\":[{\"name\":\"invoice_line_items_slug_context_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"invoice_line_items_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"invoice_line_items_invoice_id_idx\",\"columns\":[\"invoice_id\"]},{\"name\":\"invoice_line_items_revenue_account_id_idx\",\"columns\":[\"revenue_account_id\"]}],\"version\":\"f96d2656\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:PaymentAllocationCollection\":{\"name\":\"paymentallocationcollection\",\"className\":\"PaymentAllocationCollection\",\"qualifiedName\":\"@happyvertical/smrt-commerce:PaymentAllocationCollection\",\"collection\":\"paymentallocations\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/collections/PaymentAllocationCollection.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{},\"methods\":{\"findByPayment\":{\"name\":\"findByPayment\",\"async\":true,\"parameters\":[{\"name\":\"paymentId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<PaymentAllocation[]>\",\"isStatic\":false,\"isPublic\":true},\"findByInvoice\":{\"name\":\"findByInvoice\",\"async\":true,\"parameters\":[{\"name\":\"invoiceId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<PaymentAllocation[]>\",\"isStatic\":false,\"isPublic\":true},\"getTotalAllocatedToInvoice\":{\"name\":\"getTotalAllocatedToInvoice\",\"async\":true,\"parameters\":[{\"name\":\"invoiceId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"getTotalAllocatedFromPayment\":{\"name\":\"getTotalAllocatedFromPayment\",\"async\":true,\"parameters\":[{\"name\":\"paymentId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"getUnallocatedFromPayment\":{\"name\":\"getUnallocatedFromPayment\",\"async\":true,\"parameters\":[{\"name\":\"paymentId\",\"type\":\"string\",\"optional\":false},{\"name\":\"paymentAmount\",\"type\":\"number\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"findByPaymentAndInvoice\":{\"name\":\"findByPaymentAndInvoice\",\"async\":true,\"parameters\":[{\"name\":\"paymentId\",\"type\":\"string\",\"optional\":false},{\"name\":\"invoiceId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<PaymentAllocation | null>\",\"isStatic\":false,\"isPublic\":true},\"findByAllocator\":{\"name\":\"findByAllocator\",\"async\":true,\"parameters\":[{\"name\":\"allocatedBy\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<PaymentAllocation[]>\",\"isStatic\":false,\"isPublic\":true},\"findByDateRange\":{\"name\":\"findByDateRange\",\"async\":true,\"parameters\":[{\"name\":\"startDate\",\"type\":\"Date\",\"optional\":false},{\"name\":\"endDate\",\"type\":\"Date\",\"optional\":false}],\"returnType\":\"Promise<PaymentAllocation[]>\",\"isStatic\":false,\"isPublic\":true},\"findByTenant\":{\"name\":\"findByTenant\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<PaymentAllocation[]>\",\"isStatic\":false,\"isPublic\":true},\"findGlobal\":{\"name\":\"findGlobal\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<PaymentAllocation[]>\",\"isStatic\":false,\"isPublic\":true},\"findWithGlobals\":{\"name\":\"findWithGlobals\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<PaymentAllocation[]>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"PaymentAllocation\",\"exportName\":\"PaymentAllocationCollection\",\"collectionExportName\":\"PaymentAllocationCollectionCollection\",\"schema\":{\"tableName\":\"payment_allocations\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"payment_allocations\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"payment_id\\\" UUID,\\n \\\"invoice_id\\\" UUID,\\n \\\"amount\\\" INTEGER DEFAULT 0,\\n \\\"allocated_at\\\" TIMESTAMP,\\n \\\"allocated_by\\\" TEXT DEFAULT '',\\n \\\"notes\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false},\"payment_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"payments\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"invoice_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"invoices\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"allocated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"allocated_by\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"payment_allocations_slug_context_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"payment_allocations_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"payment_allocations_payment_id_idx\",\"columns\":[\"payment_id\"]},{\"name\":\"payment_allocations_invoice_id_idx\",\"columns\":[\"invoice_id\"]}],\"version\":\"102e6fbc\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:PaymentCollection\":{\"name\":\"paymentcollection\",\"className\":\"PaymentCollection\",\"qualifiedName\":\"@happyvertical/smrt-commerce:PaymentCollection\",\"collection\":\"payments\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/collections/PaymentCollection.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{},\"methods\":{\"findByContract\":{\"name\":\"findByContract\",\"async\":true,\"parameters\":[{\"name\":\"contractId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Payment[]>\",\"isStatic\":false,\"isPublic\":true},\"findByCustomer\":{\"name\":\"findByCustomer\",\"async\":true,\"parameters\":[{\"name\":\"customerId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Payment[]>\",\"isStatic\":false,\"isPublic\":true},\"findByStatus\":{\"name\":\"findByStatus\",\"async\":true,\"parameters\":[{\"name\":\"status\",\"type\":\"PaymentStatus\",\"optional\":false}],\"returnType\":\"Promise<Payment[]>\",\"isStatic\":false,\"isPublic\":true},\"findByMethod\":{\"name\":\"findByMethod\",\"async\":true,\"parameters\":[{\"name\":\"method\",\"type\":\"PaymentMethod\",\"optional\":false}],\"returnType\":\"Promise<Payment[]>\",\"isStatic\":false,\"isPublic\":true},\"findPending\":{\"name\":\"findPending\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Payment[]>\",\"isStatic\":false,\"isPublic\":true},\"findCompleted\":{\"name\":\"findCompleted\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Payment[]>\",\"isStatic\":false,\"isPublic\":true},\"findByTransactionId\":{\"name\":\"findByTransactionId\",\"async\":true,\"parameters\":[{\"name\":\"transactionId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Payment | null>\",\"isStatic\":false,\"isPublic\":true},\"findByDateRange\":{\"name\":\"findByDateRange\",\"async\":true,\"parameters\":[{\"name\":\"startDate\",\"type\":\"Date\",\"optional\":false},{\"name\":\"endDate\",\"type\":\"Date\",\"optional\":false}],\"returnType\":\"Promise<Payment[]>\",\"isStatic\":false,\"isPublic\":true},\"getTotalForContract\":{\"name\":\"getTotalForContract\",\"async\":true,\"parameters\":[{\"name\":\"contractId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"findByJournal\":{\"name\":\"findByJournal\",\"async\":true,\"parameters\":[{\"name\":\"journalId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Payment | null>\",\"isStatic\":false,\"isPublic\":true},\"findByTenant\":{\"name\":\"findByTenant\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Payment[]>\",\"isStatic\":false,\"isPublic\":true},\"findGlobal\":{\"name\":\"findGlobal\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Payment[]>\",\"isStatic\":false,\"isPublic\":true},\"findWithGlobals\":{\"name\":\"findWithGlobals\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Payment[]>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"Payment\",\"exportName\":\"PaymentCollection\",\"collectionExportName\":\"PaymentCollectionCollection\",\"schema\":{\"tableName\":\"payments\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"payments\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"contract_id\\\" UUID,\\n \\\"customer_id\\\" UUID,\\n \\\"amount\\\" INTEGER DEFAULT 0,\\n \\\"currency\\\" TEXT DEFAULT 'USD',\\n \\\"method\\\" TEXT,\\n \\\"status\\\" TEXT,\\n \\\"transaction_id\\\" TEXT DEFAULT '',\\n \\\"reference\\\" TEXT DEFAULT '',\\n \\\"journal_id\\\" UUID,\\n \\\"paid_at\\\" TIMESTAMP,\\n \\\"notes\\\" TEXT DEFAULT '',\\n \\\"external_id\\\" TEXT DEFAULT '',\\n \\\"external_provider\\\" TEXT DEFAULT '',\\n \\\"synced_at\\\" TIMESTAMP,\\n \\\"backend_id\\\" TEXT DEFAULT '',\\n \\\"backend_tx_ref\\\" TEXT DEFAULT '',\\n \\\"native_amount\\\" INTEGER DEFAULT 0,\\n \\\"native_currency\\\" TEXT DEFAULT '',\\n \\\"usd_at_quote\\\" INTEGER DEFAULT 0,\\n \\\"usd_at_confirmation\\\" INTEGER DEFAULT 0\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false},\"contract_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"contracts\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"customer_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"customers\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"USD\"},\"method\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"status\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"transaction_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"reference\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"journal_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false,\"unique\":false},\"paid_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"external_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"external_provider\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"synced_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"backend_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"backend_tx_ref\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"native_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"native_currency\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"usd_at_quote\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"usd_at_confirmation\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0}},\"indexes\":[{\"name\":\"payments_slug_context_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"payments_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"payments_contract_id_idx\",\"columns\":[\"contract_id\"]},{\"name\":\"payments_customer_id_idx\",\"columns\":[\"customer_id\"]},{\"name\":\"payments_journal_id_idx\",\"columns\":[\"journal_id\"]}],\"version\":\"33f80e50\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:PaymentInstrumentCollection\":{\"name\":\"paymentinstrumentcollection\",\"className\":\"PaymentInstrumentCollection\",\"qualifiedName\":\"@happyvertical/smrt-commerce:PaymentInstrumentCollection\",\"collection\":\"paymentinstruments\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/collections/PaymentInstrumentCollection.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{},\"methods\":{\"findByCustomer\":{\"name\":\"findByCustomer\",\"async\":true,\"parameters\":[{\"name\":\"customerId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<PaymentInstrument[]>\",\"isStatic\":false,\"isPublic\":true},\"findActiveByCustomer\":{\"name\":\"findActiveByCustomer\",\"async\":true,\"parameters\":[{\"name\":\"customerId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<PaymentInstrument[]>\",\"isStatic\":false,\"isPublic\":true},\"findDefaultForCustomer\":{\"name\":\"findDefaultForCustomer\",\"async\":true,\"parameters\":[{\"name\":\"customerId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<PaymentInstrument | null>\",\"isStatic\":false,\"isPublic\":true},\"findByProviderPaymentMethodId\":{\"name\":\"findByProviderPaymentMethodId\",\"async\":true,\"parameters\":[{\"name\":\"providerPaymentMethodId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<PaymentInstrument | null>\",\"isStatic\":false,\"isPublic\":true},\"setDefaultForCustomer\":{\"name\":\"setDefaultForCustomer\",\"async\":true,\"parameters\":[{\"name\":\"customerId\",\"type\":\"string\",\"optional\":false},{\"name\":\"instrumentId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"findByTenant\":{\"name\":\"findByTenant\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<PaymentInstrument[]>\",\"isStatic\":false,\"isPublic\":true},\"findGlobal\":{\"name\":\"findGlobal\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<PaymentInstrument[]>\",\"isStatic\":false,\"isPublic\":true},\"findWithGlobals\":{\"name\":\"findWithGlobals\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<PaymentInstrument[]>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"PaymentInstrument\",\"exportName\":\"PaymentInstrumentCollection\",\"collectionExportName\":\"PaymentInstrumentCollectionCollection\",\"schema\":{\"tableName\":\"payment_instruments\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"payment_instruments\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"customer_id\\\" UUID,\\n \\\"backend_id\\\" TEXT DEFAULT '',\\n \\\"provider_customer_id\\\" TEXT DEFAULT '',\\n \\\"provider_payment_method_id\\\" TEXT DEFAULT '',\\n \\\"type\\\" TEXT DEFAULT 'card',\\n \\\"brand\\\" TEXT DEFAULT '',\\n \\\"last4\\\" TEXT DEFAULT '',\\n \\\"exp_month\\\" INTEGER DEFAULT 0,\\n \\\"exp_year\\\" INTEGER DEFAULT 0,\\n \\\"is_default\\\" BOOLEAN DEFAULT FALSE,\\n \\\"status\\\" TEXT\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false},\"customer_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"customers\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"backend_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"provider_customer_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"provider_payment_method_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"type\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"card\"},\"brand\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"last4\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"exp_month\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"exp_year\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"is_default\":{\"type\":\"BOOLEAN\",\"notNull\":false,\"unique\":false,\"default\":false},\"status\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false}},\"indexes\":[{\"name\":\"payment_instruments_slug_context_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"payment_instruments_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"payment_instruments_customer_id_idx\",\"columns\":[\"customer_id\"]}],\"version\":\"722393fe\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:PaymentIntentCollection\":{\"name\":\"paymentintentcollection\",\"className\":\"PaymentIntentCollection\",\"qualifiedName\":\"@happyvertical/smrt-commerce:PaymentIntentCollection\",\"collection\":\"paymentintents\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/collections/PaymentIntentCollection.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{},\"methods\":{\"findByIdempotencyKey\":{\"name\":\"findByIdempotencyKey\",\"async\":true,\"parameters\":[{\"name\":\"args\",\"type\":\"PaymentIntentIdempotencyArgs\",\"optional\":false}],\"returnType\":\"Promise<PaymentIntent | null>\",\"isStatic\":false,\"isPublic\":true},\"getOrCreateByIdempotencyKey\":{\"name\":\"getOrCreateByIdempotencyKey\",\"async\":true,\"parameters\":[{\"name\":\"seed\",\"type\":\"PaymentIntentSeed\",\"optional\":false}],\"returnType\":\"Promise<object>\",\"isStatic\":false,\"isPublic\":true},\"findOpen\":{\"name\":\"findOpen\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<PaymentIntent[]>\",\"isStatic\":false,\"isPublic\":true},\"findStale\":{\"name\":\"findStale\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<PaymentIntent[]>\",\"isStatic\":false,\"isPublic\":true},\"findByLicenseeEmail\":{\"name\":\"findByLicenseeEmail\",\"async\":true,\"parameters\":[{\"name\":\"email\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<PaymentIntent[]>\",\"isStatic\":false,\"isPublic\":true},\"findByOfferingRef\":{\"name\":\"findByOfferingRef\",\"async\":true,\"parameters\":[{\"name\":\"offeringRef\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<PaymentIntent[]>\",\"isStatic\":false,\"isPublic\":true},\"findByStatus\":{\"name\":\"findByStatus\",\"async\":true,\"parameters\":[{\"name\":\"status\",\"type\":\"PaymentIntentStatus\",\"optional\":false}],\"returnType\":\"Promise<PaymentIntent[]>\",\"isStatic\":false,\"isPublic\":true},\"findByTenant\":{\"name\":\"findByTenant\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<PaymentIntent[]>\",\"isStatic\":false,\"isPublic\":true},\"findGlobal\":{\"name\":\"findGlobal\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<PaymentIntent[]>\",\"isStatic\":false,\"isPublic\":true},\"findWithGlobals\":{\"name\":\"findWithGlobals\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<PaymentIntent[]>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"PaymentIntent\",\"exportName\":\"PaymentIntentCollection\",\"collectionExportName\":\"PaymentIntentCollectionCollection\",\"schema\":{\"tableName\":\"payment_intents\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"payment_intents\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"sku_id\\\" TEXT DEFAULT '',\\n \\\"offering_ref\\\" TEXT DEFAULT '',\\n \\\"licensee_email\\\" TEXT DEFAULT '',\\n \\\"customer_id\\\" TEXT DEFAULT '',\\n \\\"payment_options\\\" JSON DEFAULT '[]',\\n \\\"usd_price_locked\\\" INTEGER DEFAULT 0,\\n \\\"price_lock_window_ms\\\" INTEGER,\\n \\\"price_lock_expires_at\\\" TIMESTAMP,\\n \\\"status\\\" TEXT,\\n \\\"idempotency_key\\\" TEXT DEFAULT '',\\n \\\"paid_option_backend_id\\\" TEXT DEFAULT '',\\n \\\"payment_id\\\" TEXT DEFAULT '',\\n \\\"paid_at\\\" TIMESTAMP,\\n \\\"issued_at\\\" TIMESTAMP,\\n \\\"expired_at\\\" TIMESTAMP,\\n \\\"cancelled_at\\\" TIMESTAMP,\\n \\\"retired_at\\\" TIMESTAMP,\\n \\\"notes\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false},\"sku_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"offering_ref\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"licensee_email\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"customer_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"payment_options\":{\"type\":\"JSON\",\"notNull\":false,\"unique\":false,\"default\":[]},\"usd_price_locked\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"price_lock_window_ms\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false},\"price_lock_expires_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"status\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"idempotency_key\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"paid_option_backend_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"payment_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"paid_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"issued_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"expired_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"cancelled_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"retired_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"payment_intents_tenant_id_offering_ref_idx\",\"columns\":[\"tenant_id\",\"offering_ref\",\"licensee_email\",\"idempotency_key\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"payment_intents_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"payment_intents_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]}],\"version\":\"c565aaef\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:PayoutCollection\":{\"name\":\"payoutcollection\",\"className\":\"PayoutCollection\",\"qualifiedName\":\"@happyvertical/smrt-commerce:PayoutCollection\",\"collection\":\"payouts\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/collections/PayoutCollection.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{},\"methods\":{\"createFromPayment\":{\"name\":\"createFromPayment\",\"async\":true,\"parameters\":[{\"name\":\"args\",\"type\":\"CreatePayoutFromPaymentArgs\",\"optional\":false}],\"returnType\":\"Promise<Payout>\",\"isStatic\":false,\"isPublic\":true},\"findByPayment\":{\"name\":\"findByPayment\",\"async\":true,\"parameters\":[{\"name\":\"paymentId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Payout[]>\",\"isStatic\":false,\"isPublic\":true},\"findByVendor\":{\"name\":\"findByVendor\",\"async\":true,\"parameters\":[{\"name\":\"vendorId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Payout[]>\",\"isStatic\":false,\"isPublic\":true},\"findByStatus\":{\"name\":\"findByStatus\",\"async\":true,\"parameters\":[{\"name\":\"status\",\"type\":\"PayoutStatus\",\"optional\":false}],\"returnType\":\"Promise<Payout[]>\",\"isStatic\":false,\"isPublic\":true},\"findPending\":{\"name\":\"findPending\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Payout[]>\",\"isStatic\":false,\"isPublic\":true},\"findFailed\":{\"name\":\"findFailed\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Payout[]>\",\"isStatic\":false,\"isPublic\":true},\"findByBackendTxRef\":{\"name\":\"findByBackendTxRef\",\"async\":true,\"parameters\":[{\"name\":\"backendTxRef\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Payout | null>\",\"isStatic\":false,\"isPublic\":true},\"getConfirmedTotalForVendor\":{\"name\":\"getConfirmedTotalForVendor\",\"async\":true,\"parameters\":[{\"name\":\"vendorId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"findByTenant\":{\"name\":\"findByTenant\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Payout[]>\",\"isStatic\":false,\"isPublic\":true},\"findGlobal\":{\"name\":\"findGlobal\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Payout[]>\",\"isStatic\":false,\"isPublic\":true},\"findWithGlobals\":{\"name\":\"findWithGlobals\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Payout[]>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"Payout\",\"exportName\":\"PayoutCollection\",\"collectionExportName\":\"PayoutCollectionCollection\",\"schema\":{\"tableName\":\"payouts\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"payouts\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"payment_id\\\" TEXT DEFAULT '',\\n \\\"vendor_id\\\" UUID,\\n \\\"gross_amount\\\" INTEGER DEFAULT 0,\\n \\\"operator_fee\\\" INTEGER DEFAULT 0,\\n \\\"supplier_net\\\" INTEGER DEFAULT 0,\\n \\\"currency\\\" TEXT DEFAULT '',\\n \\\"backend_id\\\" TEXT DEFAULT '',\\n \\\"backend_tx_ref\\\" TEXT DEFAULT '',\\n \\\"status\\\" TEXT,\\n \\\"sent_at\\\" TIMESTAMP,\\n \\\"confirmed_at\\\" TIMESTAMP,\\n \\\"failed_at\\\" TIMESTAMP,\\n \\\"failure_reason\\\" TEXT DEFAULT '',\\n \\\"notes\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false},\"payment_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"vendor_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"vendors\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"gross_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"operator_fee\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"supplier_net\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"backend_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"backend_tx_ref\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"status\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"sent_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"confirmed_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"failed_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"failure_reason\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"payouts_slug_context_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"payouts_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"payouts_vendor_id_idx\",\"columns\":[\"vendor_id\"]}],\"version\":\"98fa81d5\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:VendorCollection\":{\"name\":\"vendorcollection\",\"className\":\"VendorCollection\",\"qualifiedName\":\"@happyvertical/smrt-commerce:VendorCollection\",\"collection\":\"vendors\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/collections/VendorCollection.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{},\"methods\":{\"findByProfile\":{\"name\":\"findByProfile\",\"async\":true,\"parameters\":[{\"name\":\"profileId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Vendor[]>\",\"isStatic\":false,\"isPublic\":true},\"findActive\":{\"name\":\"findActive\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Vendor[]>\",\"isStatic\":false,\"isPublic\":true},\"findByStatus\":{\"name\":\"findByStatus\",\"async\":true,\"parameters\":[{\"name\":\"status\",\"type\":\"VendorStatus\",\"optional\":false}],\"returnType\":\"Promise<Vendor[]>\",\"isStatic\":false,\"isPublic\":true},\"getOrCreateForProfile\":{\"name\":\"getOrCreateForProfile\",\"async\":true,\"parameters\":[{\"name\":\"profileId\",\"type\":\"string\",\"optional\":false},{\"name\":\"defaults\",\"type\":\"Partial<object>\",\"optional\":true,\"memberTypes\":[\"number\",\"string\"]}],\"returnType\":\"Promise<Vendor>\",\"isStatic\":false,\"isPublic\":true},\"findByTenant\":{\"name\":\"findByTenant\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Vendor[]>\",\"isStatic\":false,\"isPublic\":true},\"findGlobal\":{\"name\":\"findGlobal\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Vendor[]>\",\"isStatic\":false,\"isPublic\":true},\"findWithGlobals\":{\"name\":\"findWithGlobals\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Vendor[]>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"Vendor\",\"exportName\":\"VendorCollection\",\"collectionExportName\":\"VendorCollectionCollection\",\"schema\":{\"tableName\":\"vendors\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"vendors\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"profile_id\\\" UUID,\\n \\\"lead_time_days\\\" INTEGER DEFAULT 0,\\n \\\"minimum_order_amount\\\" INTEGER DEFAULT 0,\\n \\\"payment_terms\\\" TEXT DEFAULT '',\\n \\\"currency\\\" TEXT DEFAULT 'USD',\\n \\\"default_contact_email\\\" TEXT DEFAULT '',\\n \\\"default_contact_phone\\\" TEXT DEFAULT '',\\n \\\"status\\\" TEXT,\\n \\\"notes\\\" TEXT DEFAULT '',\\n \\\"payout_addresses\\\" JSON DEFAULT '{}'\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false},\"profile_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false,\"unique\":false},\"lead_time_days\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"minimum_order_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"payment_terms\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"USD\"},\"default_contact_email\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"default_contact_phone\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"status\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"payout_addresses\":{\"type\":\"JSON\",\"notNull\":false,\"unique\":false,\"default\":{}}},\"indexes\":[{\"name\":\"vendors_slug_context_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"vendors_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"vendors_profile_id_idx\",\"columns\":[\"profile_id\"]}],\"version\":\"1dc2b65e\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:Contract\":{\"name\":\"contract\",\"className\":\"Contract\",\"qualifiedName\":\"@happyvertical/smrt-commerce:Contract\",\"collection\":\"contracts\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/models/Contract.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{\"created_at\":{\"type\":\"datetime\",\"required\":false},\"updated_at\":{\"type\":\"datetime\",\"required\":false},\"tenantId\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"sqlType\":\"UUID\",\"nullable\":true,\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":false,\"autoPopulate\":true,\"nullable\":true,\"mode\":\"optional\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"contractType\":{\"type\":\"text\",\"required\":false},\"status\":{\"type\":\"text\",\"required\":false},\"customerId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Customer\"},\"vendorId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Vendor\"},\"subtotal\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"taxAmount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"totalAmount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"currency\":{\"type\":\"text\",\"required\":false,\"default\":\"USD\"},\"issueDate\":{\"type\":\"datetime\",\"required\":false},\"dueDate\":{\"type\":\"datetime\",\"required\":false},\"expiryDate\":{\"type\":\"datetime\",\"required\":false},\"reference\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"notes\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"terms\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"channelId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"}},\"methods\":{\"isDraft\":{\"name\":\"isDraft\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isAccepted\":{\"name\":\"isAccepted\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isCompleted\":{\"name\":\"isCompleted\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isExpired\":{\"name\":\"isExpired\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isOverdue\":{\"name\":\"isOverdue\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"recalculateTotals\":{\"name\":\"recalculateTotals\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tableStrategy\":\"sti\",\"api\":{\"include\":[\"list\",\"get\",\"create\",\"update\"]},\"mcp\":{\"include\":[\"list\",\"get\"]},\"cli\":{\"skipApiCheck\":true},\"tenantScoped\":{\"mode\":\"optional\"},\"conflictColumns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"]},\"extends\":\"SmrtObject\",\"exportName\":\"Contract\",\"collectionExportName\":\"ContractCollection\",\"schema\":{\"tableName\":\"contracts\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"contracts\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"_meta_type\\\" TEXT NOT NULL,\\n \\\"_meta_data\\\" JSON,\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"contract_type\\\" TEXT,\\n \\\"status\\\" TEXT,\\n \\\"customer_id\\\" UUID,\\n \\\"vendor_id\\\" UUID,\\n \\\"subtotal\\\" INTEGER DEFAULT 0,\\n \\\"tax_amount\\\" INTEGER DEFAULT 0,\\n \\\"total_amount\\\" INTEGER DEFAULT 0,\\n \\\"currency\\\" TEXT DEFAULT 'USD',\\n \\\"issue_date\\\" TIMESTAMP,\\n \\\"due_date\\\" TIMESTAMP,\\n \\\"expiry_date\\\" TIMESTAMP,\\n \\\"reference\\\" TEXT DEFAULT '',\\n \\\"notes\\\" TEXT DEFAULT '',\\n \\\"terms\\\" TEXT DEFAULT '',\\n \\\"channel_id\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"_meta_type\":{\"type\":\"TEXT\",\"notNull\":true},\"_meta_data\":{\"type\":\"JSON\",\"notNull\":false},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false},\"contract_type\":{\"type\":\"TEXT\",\"notNull\":false},\"status\":{\"type\":\"TEXT\",\"notNull\":false},\"customer_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"customers\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"vendor_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"vendors\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"subtotal\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"tax_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"total_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"USD\"},\"issue_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"due_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"expiry_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"reference\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"terms\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"channel_id\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"contracts_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"contracts_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"contracts_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"contracts_customer_id_idx\",\"columns\":[\"customer_id\"]},{\"name\":\"contracts_vendor_id_idx\",\"columns\":[\"vendor_id\"]}],\"version\":\"9c2e9c49\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:Estimate\":{\"name\":\"estimate\",\"className\":\"Estimate\",\"qualifiedName\":\"@happyvertical/smrt-commerce:Estimate\",\"collection\":\"contracts\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/models/Contract.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{\"created_at\":{\"type\":\"datetime\",\"required\":false},\"updated_at\":{\"type\":\"datetime\",\"required\":false},\"tenantId\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"sqlType\":\"UUID\",\"nullable\":true,\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":false,\"autoPopulate\":true,\"nullable\":true,\"mode\":\"optional\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"contractType\":{\"type\":\"text\",\"required\":false},\"status\":{\"type\":\"text\",\"required\":false},\"customerId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Customer\"},\"vendorId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Vendor\"},\"subtotal\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"taxAmount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"totalAmount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"currency\":{\"type\":\"text\",\"required\":false,\"default\":\"USD\"},\"issueDate\":{\"type\":\"datetime\",\"required\":false},\"dueDate\":{\"type\":\"datetime\",\"required\":false},\"expiryDate\":{\"type\":\"datetime\",\"required\":false},\"reference\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"notes\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"terms\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"channelId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"}},\"methods\":{\"isDraft\":{\"name\":\"isDraft\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isAccepted\":{\"name\":\"isAccepted\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isCompleted\":{\"name\":\"isCompleted\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isExpired\":{\"name\":\"isExpired\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isOverdue\":{\"name\":\"isOverdue\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"recalculateTotals\":{\"name\":\"recalculateTotals\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tenantScoped\":{\"mode\":\"optional\"},\"tableName\":\"contracts\",\"tableStrategy\":\"sti\"},\"extends\":\"Contract\",\"exportName\":\"Estimate\",\"collectionExportName\":\"EstimateCollection\",\"schema\":{\"tableName\":\"contracts\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"contracts\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"_meta_type\\\" TEXT NOT NULL,\\n \\\"_meta_data\\\" JSON,\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"contract_type\\\" TEXT,\\n \\\"status\\\" TEXT,\\n \\\"customer_id\\\" UUID,\\n \\\"vendor_id\\\" UUID,\\n \\\"subtotal\\\" INTEGER DEFAULT 0,\\n \\\"tax_amount\\\" INTEGER DEFAULT 0,\\n \\\"total_amount\\\" INTEGER DEFAULT 0,\\n \\\"currency\\\" TEXT DEFAULT 'USD',\\n \\\"issue_date\\\" TIMESTAMP,\\n \\\"due_date\\\" TIMESTAMP,\\n \\\"expiry_date\\\" TIMESTAMP,\\n \\\"reference\\\" TEXT DEFAULT '',\\n \\\"notes\\\" TEXT DEFAULT '',\\n \\\"terms\\\" TEXT DEFAULT '',\\n \\\"channel_id\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"_meta_type\":{\"type\":\"TEXT\",\"notNull\":true},\"_meta_data\":{\"type\":\"JSON\",\"notNull\":false},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false},\"contract_type\":{\"type\":\"TEXT\",\"notNull\":false},\"status\":{\"type\":\"TEXT\",\"notNull\":false},\"customer_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"customers\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"vendor_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"vendors\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"subtotal\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"tax_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"total_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"USD\"},\"issue_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"due_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"expiry_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"reference\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"terms\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"channel_id\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"contracts_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"contracts_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"contracts_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"contracts_customer_id_idx\",\"columns\":[\"customer_id\"]},{\"name\":\"contracts_vendor_id_idx\",\"columns\":[\"vendor_id\"]}],\"version\":\"2f1624b2\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:Order\":{\"name\":\"order\",\"className\":\"Order\",\"qualifiedName\":\"@happyvertical/smrt-commerce:Order\",\"collection\":\"contracts\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/models/Contract.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{\"created_at\":{\"type\":\"datetime\",\"required\":false},\"updated_at\":{\"type\":\"datetime\",\"required\":false},\"tenantId\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"sqlType\":\"UUID\",\"nullable\":true,\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":false,\"autoPopulate\":true,\"nullable\":true,\"mode\":\"optional\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"contractType\":{\"type\":\"text\",\"required\":false},\"status\":{\"type\":\"text\",\"required\":false},\"customerId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Customer\"},\"vendorId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Vendor\"},\"subtotal\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"taxAmount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"totalAmount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"currency\":{\"type\":\"text\",\"required\":false,\"default\":\"USD\"},\"issueDate\":{\"type\":\"datetime\",\"required\":false},\"dueDate\":{\"type\":\"datetime\",\"required\":false},\"expiryDate\":{\"type\":\"datetime\",\"required\":false},\"reference\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"notes\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"terms\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"channelId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"}},\"methods\":{\"isDraft\":{\"name\":\"isDraft\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isAccepted\":{\"name\":\"isAccepted\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isCompleted\":{\"name\":\"isCompleted\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isExpired\":{\"name\":\"isExpired\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isOverdue\":{\"name\":\"isOverdue\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"recalculateTotals\":{\"name\":\"recalculateTotals\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tenantScoped\":{\"mode\":\"optional\"},\"tableName\":\"contracts\",\"tableStrategy\":\"sti\"},\"extends\":\"Contract\",\"exportName\":\"Order\",\"collectionExportName\":\"OrderCollection\",\"schema\":{\"tableName\":\"contracts\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"contracts\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"_meta_type\\\" TEXT NOT NULL,\\n \\\"_meta_data\\\" JSON,\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"contract_type\\\" TEXT,\\n \\\"status\\\" TEXT,\\n \\\"customer_id\\\" UUID,\\n \\\"vendor_id\\\" UUID,\\n \\\"subtotal\\\" INTEGER DEFAULT 0,\\n \\\"tax_amount\\\" INTEGER DEFAULT 0,\\n \\\"total_amount\\\" INTEGER DEFAULT 0,\\n \\\"currency\\\" TEXT DEFAULT 'USD',\\n \\\"issue_date\\\" TIMESTAMP,\\n \\\"due_date\\\" TIMESTAMP,\\n \\\"expiry_date\\\" TIMESTAMP,\\n \\\"reference\\\" TEXT DEFAULT '',\\n \\\"notes\\\" TEXT DEFAULT '',\\n \\\"terms\\\" TEXT DEFAULT '',\\n \\\"channel_id\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"_meta_type\":{\"type\":\"TEXT\",\"notNull\":true},\"_meta_data\":{\"type\":\"JSON\",\"notNull\":false},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false},\"contract_type\":{\"type\":\"TEXT\",\"notNull\":false},\"status\":{\"type\":\"TEXT\",\"notNull\":false},\"customer_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"customers\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"vendor_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"vendors\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"subtotal\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"tax_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"total_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"USD\"},\"issue_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"due_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"expiry_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"reference\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"terms\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"channel_id\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"contracts_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"contracts_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"contracts_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"contracts_customer_id_idx\",\"columns\":[\"customer_id\"]},{\"name\":\"contracts_vendor_id_idx\",\"columns\":[\"vendor_id\"]}],\"version\":\"b7667cf3\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:Lease\":{\"name\":\"lease\",\"className\":\"Lease\",\"qualifiedName\":\"@happyvertical/smrt-commerce:Lease\",\"collection\":\"contracts\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/models/Contract.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{\"created_at\":{\"type\":\"datetime\",\"required\":false},\"updated_at\":{\"type\":\"datetime\",\"required\":false},\"tenantId\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"sqlType\":\"UUID\",\"nullable\":true,\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":false,\"autoPopulate\":true,\"nullable\":true,\"mode\":\"optional\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"contractType\":{\"type\":\"text\",\"required\":false},\"status\":{\"type\":\"text\",\"required\":false},\"customerId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Customer\"},\"vendorId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Vendor\"},\"subtotal\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"taxAmount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"totalAmount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"currency\":{\"type\":\"text\",\"required\":false,\"default\":\"USD\"},\"issueDate\":{\"type\":\"datetime\",\"required\":false},\"dueDate\":{\"type\":\"datetime\",\"required\":false},\"expiryDate\":{\"type\":\"datetime\",\"required\":false},\"reference\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"notes\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"terms\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"channelId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"}},\"methods\":{\"isDraft\":{\"name\":\"isDraft\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isAccepted\":{\"name\":\"isAccepted\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isCompleted\":{\"name\":\"isCompleted\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isExpired\":{\"name\":\"isExpired\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isOverdue\":{\"name\":\"isOverdue\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"recalculateTotals\":{\"name\":\"recalculateTotals\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tenantScoped\":{\"mode\":\"optional\"},\"tableName\":\"contracts\",\"tableStrategy\":\"sti\"},\"extends\":\"Contract\",\"exportName\":\"Lease\",\"collectionExportName\":\"LeaseCollection\",\"schema\":{\"tableName\":\"contracts\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"contracts\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"_meta_type\\\" TEXT NOT NULL,\\n \\\"_meta_data\\\" JSON,\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"contract_type\\\" TEXT,\\n \\\"status\\\" TEXT,\\n \\\"customer_id\\\" UUID,\\n \\\"vendor_id\\\" UUID,\\n \\\"subtotal\\\" INTEGER DEFAULT 0,\\n \\\"tax_amount\\\" INTEGER DEFAULT 0,\\n \\\"total_amount\\\" INTEGER DEFAULT 0,\\n \\\"currency\\\" TEXT DEFAULT 'USD',\\n \\\"issue_date\\\" TIMESTAMP,\\n \\\"due_date\\\" TIMESTAMP,\\n \\\"expiry_date\\\" TIMESTAMP,\\n \\\"reference\\\" TEXT DEFAULT '',\\n \\\"notes\\\" TEXT DEFAULT '',\\n \\\"terms\\\" TEXT DEFAULT '',\\n \\\"channel_id\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"_meta_type\":{\"type\":\"TEXT\",\"notNull\":true},\"_meta_data\":{\"type\":\"JSON\",\"notNull\":false},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false},\"contract_type\":{\"type\":\"TEXT\",\"notNull\":false},\"status\":{\"type\":\"TEXT\",\"notNull\":false},\"customer_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"customers\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"vendor_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"vendors\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"subtotal\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"tax_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"total_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"USD\"},\"issue_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"due_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"expiry_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"reference\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"terms\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"channel_id\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"contracts_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"contracts_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"contracts_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"contracts_customer_id_idx\",\"columns\":[\"customer_id\"]},{\"name\":\"contracts_vendor_id_idx\",\"columns\":[\"vendor_id\"]}],\"version\":\"b24cdace\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:Agreement\":{\"name\":\"agreement\",\"className\":\"Agreement\",\"qualifiedName\":\"@happyvertical/smrt-commerce:Agreement\",\"collection\":\"contracts\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/models/Contract.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{\"created_at\":{\"type\":\"datetime\",\"required\":false},\"updated_at\":{\"type\":\"datetime\",\"required\":false},\"tenantId\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"sqlType\":\"UUID\",\"nullable\":true,\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":false,\"autoPopulate\":true,\"nullable\":true,\"mode\":\"optional\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"contractType\":{\"type\":\"text\",\"required\":false},\"status\":{\"type\":\"text\",\"required\":false},\"customerId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Customer\"},\"vendorId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Vendor\"},\"subtotal\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"taxAmount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"totalAmount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"currency\":{\"type\":\"text\",\"required\":false,\"default\":\"USD\"},\"issueDate\":{\"type\":\"datetime\",\"required\":false},\"dueDate\":{\"type\":\"datetime\",\"required\":false},\"expiryDate\":{\"type\":\"datetime\",\"required\":false},\"reference\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"notes\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"terms\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"channelId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"}},\"methods\":{\"isDraft\":{\"name\":\"isDraft\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isAccepted\":{\"name\":\"isAccepted\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isCompleted\":{\"name\":\"isCompleted\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isExpired\":{\"name\":\"isExpired\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isOverdue\":{\"name\":\"isOverdue\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"recalculateTotals\":{\"name\":\"recalculateTotals\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tenantScoped\":{\"mode\":\"optional\"},\"tableName\":\"contracts\",\"tableStrategy\":\"sti\"},\"extends\":\"Contract\",\"exportName\":\"Agreement\",\"collectionExportName\":\"AgreementCollection\",\"schema\":{\"tableName\":\"contracts\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"contracts\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"_meta_type\\\" TEXT NOT NULL,\\n \\\"_meta_data\\\" JSON,\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"contract_type\\\" TEXT,\\n \\\"status\\\" TEXT,\\n \\\"customer_id\\\" UUID,\\n \\\"vendor_id\\\" UUID,\\n \\\"subtotal\\\" INTEGER DEFAULT 0,\\n \\\"tax_amount\\\" INTEGER DEFAULT 0,\\n \\\"total_amount\\\" INTEGER DEFAULT 0,\\n \\\"currency\\\" TEXT DEFAULT 'USD',\\n \\\"issue_date\\\" TIMESTAMP,\\n \\\"due_date\\\" TIMESTAMP,\\n \\\"expiry_date\\\" TIMESTAMP,\\n \\\"reference\\\" TEXT DEFAULT '',\\n \\\"notes\\\" TEXT DEFAULT '',\\n \\\"terms\\\" TEXT DEFAULT '',\\n \\\"channel_id\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"_meta_type\":{\"type\":\"TEXT\",\"notNull\":true},\"_meta_data\":{\"type\":\"JSON\",\"notNull\":false},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false},\"contract_type\":{\"type\":\"TEXT\",\"notNull\":false},\"status\":{\"type\":\"TEXT\",\"notNull\":false},\"customer_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"customers\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"vendor_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"vendors\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"subtotal\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"tax_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"total_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"USD\"},\"issue_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"due_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"expiry_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"reference\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"terms\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"channel_id\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"contracts_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"contracts_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"contracts_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"contracts_customer_id_idx\",\"columns\":[\"customer_id\"]},{\"name\":\"contracts_vendor_id_idx\",\"columns\":[\"vendor_id\"]}],\"version\":\"28f0c394\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:PurchaseOrder\":{\"name\":\"purchaseorder\",\"className\":\"PurchaseOrder\",\"qualifiedName\":\"@happyvertical/smrt-commerce:PurchaseOrder\",\"collection\":\"contracts\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/models/Contract.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{\"created_at\":{\"type\":\"datetime\",\"required\":false},\"updated_at\":{\"type\":\"datetime\",\"required\":false},\"tenantId\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"sqlType\":\"UUID\",\"nullable\":true,\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":false,\"autoPopulate\":true,\"nullable\":true,\"mode\":\"optional\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"contractType\":{\"type\":\"text\",\"required\":false},\"status\":{\"type\":\"text\",\"required\":false},\"customerId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Customer\"},\"vendorId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Vendor\"},\"subtotal\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"taxAmount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"totalAmount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"currency\":{\"type\":\"text\",\"required\":false,\"default\":\"USD\"},\"issueDate\":{\"type\":\"datetime\",\"required\":false},\"dueDate\":{\"type\":\"datetime\",\"required\":false},\"expiryDate\":{\"type\":\"datetime\",\"required\":false},\"reference\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"notes\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"terms\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"channelId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"}},\"methods\":{\"isDraft\":{\"name\":\"isDraft\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isAccepted\":{\"name\":\"isAccepted\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isCompleted\":{\"name\":\"isCompleted\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isExpired\":{\"name\":\"isExpired\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isOverdue\":{\"name\":\"isOverdue\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"recalculateTotals\":{\"name\":\"recalculateTotals\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tenantScoped\":{\"mode\":\"optional\"},\"tableName\":\"contracts\",\"tableStrategy\":\"sti\"},\"extends\":\"Contract\",\"exportName\":\"PurchaseOrder\",\"collectionExportName\":\"PurchaseOrderCollection\",\"schema\":{\"tableName\":\"contracts\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"contracts\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"_meta_type\\\" TEXT NOT NULL,\\n \\\"_meta_data\\\" JSON,\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"contract_type\\\" TEXT,\\n \\\"status\\\" TEXT,\\n \\\"customer_id\\\" UUID,\\n \\\"vendor_id\\\" UUID,\\n \\\"subtotal\\\" INTEGER DEFAULT 0,\\n \\\"tax_amount\\\" INTEGER DEFAULT 0,\\n \\\"total_amount\\\" INTEGER DEFAULT 0,\\n \\\"currency\\\" TEXT DEFAULT 'USD',\\n \\\"issue_date\\\" TIMESTAMP,\\n \\\"due_date\\\" TIMESTAMP,\\n \\\"expiry_date\\\" TIMESTAMP,\\n \\\"reference\\\" TEXT DEFAULT '',\\n \\\"notes\\\" TEXT DEFAULT '',\\n \\\"terms\\\" TEXT DEFAULT '',\\n \\\"channel_id\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"_meta_type\":{\"type\":\"TEXT\",\"notNull\":true},\"_meta_data\":{\"type\":\"JSON\",\"notNull\":false},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false},\"contract_type\":{\"type\":\"TEXT\",\"notNull\":false},\"status\":{\"type\":\"TEXT\",\"notNull\":false},\"customer_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"customers\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"vendor_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"vendors\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"subtotal\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"tax_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"total_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"USD\"},\"issue_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"due_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"expiry_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"reference\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"terms\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"channel_id\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"contracts_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"contracts_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"contracts_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"contracts_customer_id_idx\",\"columns\":[\"customer_id\"]},{\"name\":\"contracts_vendor_id_idx\",\"columns\":[\"vendor_id\"]}],\"version\":\"91ec64bb\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:WholesaleOrder\":{\"name\":\"wholesaleorder\",\"className\":\"WholesaleOrder\",\"qualifiedName\":\"@happyvertical/smrt-commerce:WholesaleOrder\",\"collection\":\"contracts\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/models/Contract.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{\"created_at\":{\"type\":\"datetime\",\"required\":false},\"updated_at\":{\"type\":\"datetime\",\"required\":false},\"tenantId\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"sqlType\":\"UUID\",\"nullable\":true,\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":false,\"autoPopulate\":true,\"nullable\":true,\"mode\":\"optional\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"contractType\":{\"type\":\"text\",\"required\":false},\"status\":{\"type\":\"text\",\"required\":false},\"customerId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Customer\"},\"vendorId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Vendor\"},\"subtotal\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"taxAmount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"totalAmount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"currency\":{\"type\":\"text\",\"required\":false,\"default\":\"USD\"},\"issueDate\":{\"type\":\"datetime\",\"required\":false},\"dueDate\":{\"type\":\"datetime\",\"required\":false},\"expiryDate\":{\"type\":\"datetime\",\"required\":false},\"reference\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"notes\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"terms\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"channelId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"}},\"methods\":{\"isDraft\":{\"name\":\"isDraft\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isAccepted\":{\"name\":\"isAccepted\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isCompleted\":{\"name\":\"isCompleted\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isExpired\":{\"name\":\"isExpired\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isOverdue\":{\"name\":\"isOverdue\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"recalculateTotals\":{\"name\":\"recalculateTotals\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tenantScoped\":{\"mode\":\"optional\"},\"tableName\":\"contracts\",\"tableStrategy\":\"sti\"},\"extends\":\"Contract\",\"exportName\":\"WholesaleOrder\",\"collectionExportName\":\"WholesaleOrderCollection\",\"schema\":{\"tableName\":\"contracts\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"contracts\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"_meta_type\\\" TEXT NOT NULL,\\n \\\"_meta_data\\\" JSON,\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"contract_type\\\" TEXT,\\n \\\"status\\\" TEXT,\\n \\\"customer_id\\\" UUID,\\n \\\"vendor_id\\\" UUID,\\n \\\"subtotal\\\" INTEGER DEFAULT 0,\\n \\\"tax_amount\\\" INTEGER DEFAULT 0,\\n \\\"total_amount\\\" INTEGER DEFAULT 0,\\n \\\"currency\\\" TEXT DEFAULT 'USD',\\n \\\"issue_date\\\" TIMESTAMP,\\n \\\"due_date\\\" TIMESTAMP,\\n \\\"expiry_date\\\" TIMESTAMP,\\n \\\"reference\\\" TEXT DEFAULT '',\\n \\\"notes\\\" TEXT DEFAULT '',\\n \\\"terms\\\" TEXT DEFAULT '',\\n \\\"channel_id\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"_meta_type\":{\"type\":\"TEXT\",\"notNull\":true},\"_meta_data\":{\"type\":\"JSON\",\"notNull\":false},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false},\"contract_type\":{\"type\":\"TEXT\",\"notNull\":false},\"status\":{\"type\":\"TEXT\",\"notNull\":false},\"customer_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"customers\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"vendor_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"vendors\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"subtotal\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"tax_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"total_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"USD\"},\"issue_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"due_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"expiry_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"reference\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"terms\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"channel_id\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"contracts_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"contracts_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"contracts_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"contracts_customer_id_idx\",\"columns\":[\"customer_id\"]},{\"name\":\"contracts_vendor_id_idx\",\"columns\":[\"vendor_id\"]}],\"version\":\"ccb8a3ae\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:ProductionOrder\":{\"name\":\"productionorder\",\"className\":\"ProductionOrder\",\"qualifiedName\":\"@happyvertical/smrt-commerce:ProductionOrder\",\"collection\":\"contracts\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/models/Contract.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{\"created_at\":{\"type\":\"datetime\",\"required\":false},\"updated_at\":{\"type\":\"datetime\",\"required\":false},\"tenantId\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"sqlType\":\"UUID\",\"nullable\":true,\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":false,\"autoPopulate\":true,\"nullable\":true,\"mode\":\"optional\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"contractType\":{\"type\":\"text\",\"required\":false},\"status\":{\"type\":\"text\",\"required\":false},\"customerId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Customer\"},\"vendorId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Vendor\"},\"subtotal\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"taxAmount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"totalAmount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"currency\":{\"type\":\"text\",\"required\":false,\"default\":\"USD\"},\"issueDate\":{\"type\":\"datetime\",\"required\":false},\"dueDate\":{\"type\":\"datetime\",\"required\":false},\"expiryDate\":{\"type\":\"datetime\",\"required\":false},\"reference\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"notes\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"terms\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"channelId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"productId\":{\"type\":\"meta\",\"required\":false,\"default\":\"\",\"_meta\":{\"underlyingType\":\"text\"}},\"bomId\":{\"type\":\"meta\",\"required\":false,\"default\":\"\",\"_meta\":{\"underlyingType\":\"text\"}}},\"methods\":{\"isDraft\":{\"name\":\"isDraft\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isAccepted\":{\"name\":\"isAccepted\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isCompleted\":{\"name\":\"isCompleted\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isExpired\":{\"name\":\"isExpired\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isOverdue\":{\"name\":\"isOverdue\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"recalculateTotals\":{\"name\":\"recalculateTotals\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tenantScoped\":{\"mode\":\"optional\"},\"tableName\":\"contracts\",\"tableStrategy\":\"sti\"},\"extends\":\"Contract\",\"exportName\":\"ProductionOrder\",\"collectionExportName\":\"ProductionOrderCollection\",\"schema\":{\"tableName\":\"contracts\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"contracts\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"_meta_type\\\" TEXT NOT NULL,\\n \\\"_meta_data\\\" JSON,\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"contract_type\\\" TEXT,\\n \\\"status\\\" TEXT,\\n \\\"customer_id\\\" UUID,\\n \\\"vendor_id\\\" UUID,\\n \\\"subtotal\\\" INTEGER DEFAULT 0,\\n \\\"tax_amount\\\" INTEGER DEFAULT 0,\\n \\\"total_amount\\\" INTEGER DEFAULT 0,\\n \\\"currency\\\" TEXT DEFAULT 'USD',\\n \\\"issue_date\\\" TIMESTAMP,\\n \\\"due_date\\\" TIMESTAMP,\\n \\\"expiry_date\\\" TIMESTAMP,\\n \\\"reference\\\" TEXT DEFAULT '',\\n \\\"notes\\\" TEXT DEFAULT '',\\n \\\"terms\\\" TEXT DEFAULT '',\\n \\\"channel_id\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"_meta_type\":{\"type\":\"TEXT\",\"notNull\":true},\"_meta_data\":{\"type\":\"JSON\",\"notNull\":false},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false},\"contract_type\":{\"type\":\"TEXT\",\"notNull\":false},\"status\":{\"type\":\"TEXT\",\"notNull\":false},\"customer_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"customers\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"vendor_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"vendors\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"subtotal\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"tax_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"total_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"USD\"},\"issue_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"due_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"expiry_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"reference\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"terms\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"channel_id\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"contracts_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"contracts_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"contracts_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"contracts_customer_id_idx\",\"columns\":[\"customer_id\"]},{\"name\":\"contracts_vendor_id_idx\",\"columns\":[\"vendor_id\"]}],\"version\":\"c6b977a5\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:Cart\":{\"name\":\"cart\",\"className\":\"Cart\",\"qualifiedName\":\"@happyvertical/smrt-commerce:Cart\",\"collection\":\"contracts\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/models/Contract.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{\"created_at\":{\"type\":\"datetime\",\"required\":false},\"updated_at\":{\"type\":\"datetime\",\"required\":false},\"tenantId\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"sqlType\":\"UUID\",\"nullable\":true,\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":false,\"autoPopulate\":true,\"nullable\":true,\"mode\":\"optional\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"contractType\":{\"type\":\"text\",\"required\":false},\"status\":{\"type\":\"text\",\"required\":false},\"customerId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Customer\"},\"vendorId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Vendor\"},\"subtotal\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"taxAmount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"totalAmount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"currency\":{\"type\":\"text\",\"required\":false,\"default\":\"USD\"},\"issueDate\":{\"type\":\"datetime\",\"required\":false},\"dueDate\":{\"type\":\"datetime\",\"required\":false},\"expiryDate\":{\"type\":\"datetime\",\"required\":false},\"reference\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"notes\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"terms\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"channelId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"}},\"methods\":{\"isDraft\":{\"name\":\"isDraft\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isAccepted\":{\"name\":\"isAccepted\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isCompleted\":{\"name\":\"isCompleted\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isExpired\":{\"name\":\"isExpired\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isOverdue\":{\"name\":\"isOverdue\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"recalculateTotals\":{\"name\":\"recalculateTotals\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tenantScoped\":{\"mode\":\"optional\"},\"tableName\":\"contracts\",\"tableStrategy\":\"sti\"},\"extends\":\"Contract\",\"exportName\":\"Cart\",\"collectionExportName\":\"CartCollection\",\"schema\":{\"tableName\":\"contracts\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"contracts\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"_meta_type\\\" TEXT NOT NULL,\\n \\\"_meta_data\\\" JSON,\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"contract_type\\\" TEXT,\\n \\\"status\\\" TEXT,\\n \\\"customer_id\\\" UUID,\\n \\\"vendor_id\\\" UUID,\\n \\\"subtotal\\\" INTEGER DEFAULT 0,\\n \\\"tax_amount\\\" INTEGER DEFAULT 0,\\n \\\"total_amount\\\" INTEGER DEFAULT 0,\\n \\\"currency\\\" TEXT DEFAULT 'USD',\\n \\\"issue_date\\\" TIMESTAMP,\\n \\\"due_date\\\" TIMESTAMP,\\n \\\"expiry_date\\\" TIMESTAMP,\\n \\\"reference\\\" TEXT DEFAULT '',\\n \\\"notes\\\" TEXT DEFAULT '',\\n \\\"terms\\\" TEXT DEFAULT '',\\n \\\"channel_id\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"_meta_type\":{\"type\":\"TEXT\",\"notNull\":true},\"_meta_data\":{\"type\":\"JSON\",\"notNull\":false},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false},\"contract_type\":{\"type\":\"TEXT\",\"notNull\":false},\"status\":{\"type\":\"TEXT\",\"notNull\":false},\"customer_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"customers\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"vendor_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"vendors\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"subtotal\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"tax_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"total_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"USD\"},\"issue_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"due_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"expiry_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"reference\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"terms\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"channel_id\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"contracts_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"contracts_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"contracts_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"contracts_customer_id_idx\",\"columns\":[\"customer_id\"]},{\"name\":\"contracts_vendor_id_idx\",\"columns\":[\"vendor_id\"]}],\"version\":\"fba16d4f\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:LicenseSale\":{\"name\":\"licensesale\",\"className\":\"LicenseSale\",\"qualifiedName\":\"@happyvertical/smrt-commerce:LicenseSale\",\"collection\":\"contracts\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/models/Contract.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{\"created_at\":{\"type\":\"datetime\",\"required\":false},\"updated_at\":{\"type\":\"datetime\",\"required\":false},\"tenantId\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"sqlType\":\"UUID\",\"nullable\":true,\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":false,\"autoPopulate\":true,\"nullable\":true,\"mode\":\"optional\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"contractType\":{\"type\":\"text\",\"required\":false},\"status\":{\"type\":\"text\",\"required\":false},\"customerId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Customer\"},\"vendorId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Vendor\"},\"subtotal\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"taxAmount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"totalAmount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"currency\":{\"type\":\"text\",\"required\":false,\"default\":\"USD\"},\"issueDate\":{\"type\":\"datetime\",\"required\":false},\"dueDate\":{\"type\":\"datetime\",\"required\":false},\"expiryDate\":{\"type\":\"datetime\",\"required\":false},\"reference\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"notes\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"terms\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"channelId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"skuId\":{\"type\":\"meta\",\"required\":false,\"default\":\"\",\"_meta\":{\"underlyingType\":\"text\"}},\"paymentId\":{\"type\":\"meta\",\"required\":false,\"default\":\"\",\"_meta\":{\"underlyingType\":\"text\"}},\"licenseeEmail\":{\"type\":\"meta\",\"required\":false,\"default\":\"\",\"_meta\":{\"underlyingType\":\"text\"}},\"licenseeLegalEntity\":{\"type\":\"meta\",\"required\":false,\"default\":\"\",\"_meta\":{\"underlyingType\":\"text\"}},\"licenseeJurisdiction\":{\"type\":\"meta\",\"required\":false,\"default\":\"\",\"_meta\":{\"underlyingType\":\"text\"}},\"rightsMedium\":{\"type\":\"meta\",\"required\":false,\"default\":\"\",\"_meta\":{\"underlyingType\":\"text\"}},\"rightsDistributionScope\":{\"type\":\"meta\",\"required\":false,\"default\":\"\",\"_meta\":{\"underlyingType\":\"text\"}},\"rightsExclusivity\":{\"type\":\"meta\",\"required\":false,\"default\":\"\",\"_meta\":{\"underlyingType\":\"text\"}},\"rightsDuration\":{\"type\":\"meta\",\"required\":false,\"default\":\"\",\"_meta\":{\"underlyingType\":\"text\"}},\"rightsTerritory\":{\"type\":\"meta\",\"required\":false,\"default\":\"\",\"_meta\":{\"underlyingType\":\"text\"}},\"rightsSublicensing\":{\"type\":\"meta\",\"required\":false,\"default\":false,\"_meta\":{\"underlyingType\":\"boolean\"}},\"rightsDerivatives\":{\"type\":\"meta\",\"required\":false,\"default\":false,\"_meta\":{\"underlyingType\":\"boolean\"}},\"pdfUrl\":{\"type\":\"meta\",\"required\":false,\"default\":\"\",\"_meta\":{\"underlyingType\":\"text\"}},\"pdfHash\":{\"type\":\"meta\",\"required\":false,\"default\":\"\",\"_meta\":{\"underlyingType\":\"text\"}},\"onChainHashRegistryRef\":{\"type\":\"meta\",\"required\":false,\"default\":\"\",\"_meta\":{\"underlyingType\":\"text\"}}},\"methods\":{\"isDraft\":{\"name\":\"isDraft\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isAccepted\":{\"name\":\"isAccepted\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isCompleted\":{\"name\":\"isCompleted\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isExpired\":{\"name\":\"isExpired\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isOverdue\":{\"name\":\"isOverdue\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"recalculateTotals\":{\"name\":\"recalculateTotals\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true},\"getRightsSnapshot\":{\"name\":\"getRightsSnapshot\",\"async\":false,\"parameters\":[],\"returnType\":\"LicenseRightsSnapshot\",\"isStatic\":false,\"isPublic\":true},\"revoke\":{\"name\":\"revoke\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tenantScoped\":{\"mode\":\"optional\"},\"tableName\":\"contracts\",\"tableStrategy\":\"sti\"},\"extends\":\"Contract\",\"exportName\":\"LicenseSale\",\"collectionExportName\":\"LicenseSaleCollection\",\"schema\":{\"tableName\":\"contracts\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"contracts\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"_meta_type\\\" TEXT NOT NULL,\\n \\\"_meta_data\\\" JSON,\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"contract_type\\\" TEXT,\\n \\\"status\\\" TEXT,\\n \\\"customer_id\\\" UUID,\\n \\\"vendor_id\\\" UUID,\\n \\\"subtotal\\\" INTEGER DEFAULT 0,\\n \\\"tax_amount\\\" INTEGER DEFAULT 0,\\n \\\"total_amount\\\" INTEGER DEFAULT 0,\\n \\\"currency\\\" TEXT DEFAULT 'USD',\\n \\\"issue_date\\\" TIMESTAMP,\\n \\\"due_date\\\" TIMESTAMP,\\n \\\"expiry_date\\\" TIMESTAMP,\\n \\\"reference\\\" TEXT DEFAULT '',\\n \\\"notes\\\" TEXT DEFAULT '',\\n \\\"terms\\\" TEXT DEFAULT '',\\n \\\"channel_id\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"_meta_type\":{\"type\":\"TEXT\",\"notNull\":true},\"_meta_data\":{\"type\":\"JSON\",\"notNull\":false},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false},\"contract_type\":{\"type\":\"TEXT\",\"notNull\":false},\"status\":{\"type\":\"TEXT\",\"notNull\":false},\"customer_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"customers\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"vendor_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"vendors\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"subtotal\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"tax_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"total_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"USD\"},\"issue_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"due_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"expiry_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"reference\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"terms\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"channel_id\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"contracts_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"contracts_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"contracts_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"contracts_customer_id_idx\",\"columns\":[\"customer_id\"]},{\"name\":\"contracts_vendor_id_idx\",\"columns\":[\"vendor_id\"]}],\"version\":\"d6d82bad\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:ContractLineItem\":{\"name\":\"contractlineitem\",\"className\":\"ContractLineItem\",\"qualifiedName\":\"@happyvertical/smrt-commerce:ContractLineItem\",\"collection\":\"contractlineitems\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/models/ContractLineItem.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{\"created_at\":{\"type\":\"datetime\",\"required\":false},\"updated_at\":{\"type\":\"datetime\",\"required\":false},\"tenantId\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"sqlType\":\"UUID\",\"nullable\":true,\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":false,\"autoPopulate\":true,\"nullable\":true,\"mode\":\"optional\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"contractId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Contract\"},\"description\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"quantity\":{\"type\":\"decimal\",\"required\":false,\"default\":1},\"unitPrice\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"discount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"taxRate\":{\"type\":\"decimal\",\"required\":false,\"default\":0},\"amount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"productId\":{\"type\":\"crossPackageRef\",\"required\":false,\"related\":\"@happyvertical/smrt-products:Product\"},\"sku\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"startDate\":{\"type\":\"datetime\",\"required\":false},\"endDate\":{\"type\":\"datetime\",\"required\":false},\"billingPeriod\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"sortOrder\":{\"type\":\"integer\",\"required\":false,\"default\":0}},\"methods\":{\"calculateAmount\":{\"name\":\"calculateAmount\",\"async\":false,\"parameters\":[],\"returnType\":\"number\",\"isStatic\":false,\"isPublic\":true},\"isRecurring\":{\"name\":\"isRecurring\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isSubscriptionActive\":{\"name\":\"isSubscriptionActive\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tableStrategy\":\"sti\",\"api\":{\"include\":[\"list\",\"get\",\"create\",\"update\",\"delete\"]},\"mcp\":{\"include\":[\"list\",\"get\"]},\"cli\":{\"skipApiCheck\":true},\"tenantScoped\":{\"mode\":\"optional\"},\"conflictColumns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"]},\"extends\":\"SmrtObject\",\"exportName\":\"ContractLineItem\",\"collectionExportName\":\"ContractLineItemCollection\",\"schema\":{\"tableName\":\"contract_line_items\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"contract_line_items\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"_meta_type\\\" TEXT NOT NULL,\\n \\\"_meta_data\\\" JSON,\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"contract_id\\\" UUID,\\n \\\"description\\\" TEXT DEFAULT '',\\n \\\"quantity\\\" REAL DEFAULT 1,\\n \\\"unit_price\\\" INTEGER DEFAULT 0,\\n \\\"discount\\\" INTEGER DEFAULT 0,\\n \\\"tax_rate\\\" REAL DEFAULT 0,\\n \\\"amount\\\" INTEGER DEFAULT 0,\\n \\\"product_id\\\" UUID,\\n \\\"sku\\\" TEXT DEFAULT '',\\n \\\"start_date\\\" TIMESTAMP,\\n \\\"end_date\\\" TIMESTAMP,\\n \\\"billing_period\\\" TEXT DEFAULT '',\\n \\\"sort_order\\\" INTEGER DEFAULT 0\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"_meta_type\":{\"type\":\"TEXT\",\"notNull\":true},\"_meta_data\":{\"type\":\"JSON\",\"notNull\":false},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false},\"contract_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"foreignKey\":{\"table\":\"contracts\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"description\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"quantity\":{\"type\":\"REAL\",\"notNull\":false,\"default\":1},\"unit_price\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"discount\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"tax_rate\":{\"type\":\"REAL\",\"notNull\":false,\"default\":0},\"amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0},\"product_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false},\"sku\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"start_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"end_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false},\"billing_period\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"sort_order\":{\"type\":\"INTEGER\",\"notNull\":false,\"default\":0}},\"indexes\":[{\"name\":\"contract_line_items_slug_context_meta_type_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\",\"_meta_type\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"contract_line_items_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"contract_line_items_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"contract_line_items_contract_id_idx\",\"columns\":[\"contract_id\"]},{\"name\":\"contract_line_items_product_id_idx\",\"columns\":[\"product_id\"]}],\"version\":\"be2b46cd\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:Customer\":{\"name\":\"customer\",\"className\":\"Customer\",\"qualifiedName\":\"@happyvertical/smrt-commerce:Customer\",\"collection\":\"customers\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/models/Customer.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{\"tenantId\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"sqlType\":\"UUID\",\"nullable\":true,\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":false,\"autoPopulate\":true,\"nullable\":true,\"mode\":\"optional\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"profileId\":{\"type\":\"crossPackageRef\",\"required\":false,\"related\":\"@happyvertical/smrt-profiles:Profile\"},\"creditLimit\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"paymentTerms\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"taxExempt\":{\"type\":\"boolean\",\"required\":false,\"default\":false},\"taxId\":{\"type\":\"text\",\"required\":false,\"default\":\"\",\"_meta\":{\"sensitive\":true},\"sensitive\":true},\"defaultShippingAddress\":{\"type\":\"json\",\"required\":false},\"defaultBillingAddress\":{\"type\":\"json\",\"required\":false},\"status\":{\"type\":\"text\",\"required\":false},\"customerType\":{\"type\":\"text\",\"required\":false},\"notes\":{\"type\":\"text\",\"required\":false,\"default\":\"\"}},\"methods\":{\"isWholesale\":{\"name\":\"isWholesale\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isActive\":{\"name\":\"isActive\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"hasAvailableCredit\":{\"name\":\"hasAvailableCredit\",\"async\":false,\"parameters\":[{\"name\":\"amount\",\"type\":\"number\",\"optional\":false}],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"getProfileId\":{\"name\":\"getProfileId\",\"async\":false,\"parameters\":[],\"returnType\":\"string\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"api\":{\"include\":[\"list\",\"get\",\"create\",\"update\"]},\"mcp\":{\"include\":[\"list\",\"get\"]},\"cli\":{\"skipApiCheck\":true},\"tenantScoped\":{\"mode\":\"optional\"},\"conflictColumns\":[\"tenant_id\",\"slug\",\"context\"]},\"extends\":\"SmrtObject\",\"exportName\":\"Customer\",\"collectionExportName\":\"CustomerCollection\",\"schema\":{\"tableName\":\"customers\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"customers\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"profile_id\\\" UUID,\\n \\\"credit_limit\\\" INTEGER DEFAULT 0,\\n \\\"payment_terms\\\" TEXT DEFAULT '',\\n \\\"tax_exempt\\\" BOOLEAN DEFAULT FALSE,\\n \\\"tax_id\\\" TEXT DEFAULT '',\\n \\\"default_shipping_address\\\" JSON,\\n \\\"default_billing_address\\\" JSON,\\n \\\"status\\\" TEXT,\\n \\\"customer_type\\\" TEXT,\\n \\\"notes\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false},\"profile_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false,\"unique\":false},\"credit_limit\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"payment_terms\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"tax_exempt\":{\"type\":\"BOOLEAN\",\"notNull\":false,\"unique\":false,\"default\":false},\"tax_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"default_shipping_address\":{\"type\":\"JSON\",\"notNull\":false,\"unique\":false},\"default_billing_address\":{\"type\":\"JSON\",\"notNull\":false,\"unique\":false},\"status\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"customer_type\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"customers_slug_context_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"customers_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"customers_profile_id_idx\",\"columns\":[\"profile_id\"]}],\"version\":\"ad1b9967\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:Fulfillment\":{\"name\":\"fulfillment\",\"className\":\"Fulfillment\",\"qualifiedName\":\"@happyvertical/smrt-commerce:Fulfillment\",\"collection\":\"fulfillments\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/models/Fulfillment.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{\"tenantId\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"sqlType\":\"UUID\",\"nullable\":true,\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":false,\"autoPopulate\":true,\"nullable\":true,\"mode\":\"optional\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"contractId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Contract\"},\"fulfillmentType\":{\"type\":\"text\",\"required\":false},\"status\":{\"type\":\"text\",\"required\":false},\"trackingNumber\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"carrier\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"shippingAddress\":{\"type\":\"json\",\"required\":false},\"shippedAt\":{\"type\":\"datetime\",\"required\":false},\"deliveredAt\":{\"type\":\"datetime\",\"required\":false},\"estimatedDelivery\":{\"type\":\"datetime\",\"required\":false},\"notes\":{\"type\":\"text\",\"required\":false,\"default\":\"\"}},\"methods\":{\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true},\"isDelivered\":{\"name\":\"isDelivered\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isInTransit\":{\"name\":\"isInTransit\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isPending\":{\"name\":\"isPending\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"markShipped\":{\"name\":\"markShipped\",\"async\":false,\"parameters\":[{\"name\":\"trackingNumber\",\"type\":\"string\",\"optional\":true},{\"name\":\"carrier\",\"type\":\"string\",\"optional\":true}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"markDelivered\":{\"name\":\"markDelivered\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"cancel\":{\"name\":\"cancel\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"api\":{\"include\":[\"list\",\"get\",\"create\",\"update\"]},\"mcp\":{\"include\":[\"list\",\"get\"]},\"cli\":{\"skipApiCheck\":true},\"tenantScoped\":{\"mode\":\"optional\"},\"conflictColumns\":[\"tenant_id\",\"slug\",\"context\"]},\"extends\":\"SmrtObject\",\"exportName\":\"Fulfillment\",\"collectionExportName\":\"FulfillmentCollection\",\"schema\":{\"tableName\":\"fulfillments\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"fulfillments\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"contract_id\\\" UUID,\\n \\\"fulfillment_type\\\" TEXT,\\n \\\"status\\\" TEXT,\\n \\\"tracking_number\\\" TEXT DEFAULT '',\\n \\\"carrier\\\" TEXT DEFAULT '',\\n \\\"shipping_address\\\" JSON,\\n \\\"shipped_at\\\" TIMESTAMP,\\n \\\"delivered_at\\\" TIMESTAMP,\\n \\\"estimated_delivery\\\" TIMESTAMP,\\n \\\"notes\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false},\"contract_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"contracts\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"fulfillment_type\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"status\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"tracking_number\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"carrier\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"shipping_address\":{\"type\":\"JSON\",\"notNull\":false,\"unique\":false},\"shipped_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"delivered_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"estimated_delivery\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"fulfillments_slug_context_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"fulfillments_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"fulfillments_contract_id_idx\",\"columns\":[\"contract_id\"]}],\"version\":\"2f708fc5\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:FulfillmentLineItem\":{\"name\":\"fulfillmentlineitem\",\"className\":\"FulfillmentLineItem\",\"qualifiedName\":\"@happyvertical/smrt-commerce:FulfillmentLineItem\",\"collection\":\"fulfillmentlineitems\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/models/FulfillmentLineItem.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{\"tenantId\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"sqlType\":\"UUID\",\"nullable\":true,\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":false,\"autoPopulate\":true,\"nullable\":true,\"mode\":\"optional\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"fulfillmentId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Fulfillment\"},\"contractLineItemId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"ContractLineItem\"},\"quantityFulfilled\":{\"type\":\"decimal\",\"required\":false,\"default\":1},\"notes\":{\"type\":\"text\",\"required\":false,\"default\":\"\"}},\"methods\":{\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"api\":{\"include\":[\"list\",\"get\",\"create\",\"update\",\"delete\"]},\"mcp\":{\"include\":[\"list\",\"get\"]},\"cli\":true,\"tenantScoped\":{\"mode\":\"optional\"},\"conflictColumns\":[\"tenant_id\",\"slug\",\"context\"]},\"extends\":\"SmrtObject\",\"exportName\":\"FulfillmentLineItem\",\"collectionExportName\":\"FulfillmentLineItemCollection\",\"schema\":{\"tableName\":\"fulfillment_line_items\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"fulfillment_line_items\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"fulfillment_id\\\" UUID,\\n \\\"contract_line_item_id\\\" UUID,\\n \\\"quantity_fulfilled\\\" REAL DEFAULT 1,\\n \\\"notes\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false},\"fulfillment_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"fulfillments\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"contract_line_item_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"contract_line_items\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"quantity_fulfilled\":{\"type\":\"REAL\",\"notNull\":false,\"unique\":false,\"default\":1},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"fulfillment_line_items_slug_context_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"fulfillment_line_items_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"fulfillment_line_items_fulfillment_id_idx\",\"columns\":[\"fulfillment_id\"]},{\"name\":\"fulfillment_line_items_contract_line_item_id_idx\",\"columns\":[\"contract_line_item_id\"]}],\"version\":\"14537dbe\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:Invoice\":{\"name\":\"invoice\",\"className\":\"Invoice\",\"qualifiedName\":\"@happyvertical/smrt-commerce:Invoice\",\"collection\":\"invoices\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/models/Invoice.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{\"tenantId\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"sqlType\":\"UUID\",\"nullable\":true,\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":false,\"autoPopulate\":true,\"nullable\":true,\"mode\":\"optional\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"customerId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Customer\"},\"contractId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Contract\"},\"invoiceNumber\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"reference\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"issueDate\":{\"type\":\"datetime\",\"required\":false},\"dueDate\":{\"type\":\"datetime\",\"required\":false},\"paidDate\":{\"type\":\"datetime\",\"required\":false},\"subtotal\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"taxAmount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"providerTaxAmount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"totalAmount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"amountPaid\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"currency\":{\"type\":\"text\",\"required\":false,\"default\":\"CAD\"},\"status\":{\"type\":\"text\",\"required\":false},\"arJournalId\":{\"type\":\"crossPackageRef\",\"required\":false,\"related\":\"@happyvertical/smrt-ledgers:Journal\"},\"revenueJournalId\":{\"type\":\"crossPackageRef\",\"required\":false,\"related\":\"@happyvertical/smrt-ledgers:Journal\"},\"externalId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"customerExternalId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"externalProvider\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"syncedAt\":{\"type\":\"datetime\",\"required\":false},\"sentAt\":{\"type\":\"datetime\",\"required\":false},\"viewedAt\":{\"type\":\"datetime\",\"required\":false},\"remindersSent\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"lastReminderAt\":{\"type\":\"datetime\",\"required\":false},\"notes\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"customerNotes\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"terms\":{\"type\":\"text\",\"required\":false,\"default\":\"\"}},\"methods\":{\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true},\"isDraft\":{\"name\":\"isDraft\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isSent\":{\"name\":\"isSent\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isPaid\":{\"name\":\"isPaid\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isPartial\":{\"name\":\"isPartial\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isOverdue\":{\"name\":\"isOverdue\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"getAmountDue\":{\"name\":\"getAmountDue\",\"async\":false,\"parameters\":[],\"returnType\":\"number\",\"isStatic\":false,\"isPublic\":true},\"markSent\":{\"name\":\"markSent\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"markViewed\":{\"name\":\"markViewed\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"updatePaymentStatus\":{\"name\":\"updatePaymentStatus\",\"async\":false,\"parameters\":[{\"name\":\"amountPaid\",\"type\":\"number\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"cancel\":{\"name\":\"cancel\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"writeOff\":{\"name\":\"writeOff\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"recognizeRevenue\":{\"name\":\"recognizeRevenue\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"RecognizeRevenueOptions\",\"optional\":false}],\"returnType\":\"Promise<Journal>\",\"isStatic\":false,\"isPublic\":true},\"getArJournal\":{\"name\":\"getArJournal\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Journal | null>\",\"isStatic\":false,\"isPublic\":true},\"toAccountingInput\":{\"name\":\"toAccountingInput\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<AccountingInvoiceInput>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"api\":{\"include\":[\"list\",\"get\",\"create\",\"update\"],\"writable\":[\"customerId\",\"contractId\",\"invoiceNumber\",\"reference\",\"issueDate\",\"dueDate\",\"currency\",\"notes\",\"customerNotes\",\"terms\",\"externalId\",\"customerExternalId\",\"externalProvider\"]},\"mcp\":{\"include\":[\"list\",\"get\"]},\"cli\":{\"skipApiCheck\":true},\"tenantScoped\":{\"mode\":\"optional\"},\"conflictColumns\":[\"tenant_id\",\"slug\",\"context\"]},\"extends\":\"SmrtObject\",\"exportName\":\"Invoice\",\"collectionExportName\":\"InvoiceCollection\",\"schema\":{\"tableName\":\"invoices\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"invoices\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"customer_id\\\" UUID,\\n \\\"contract_id\\\" UUID,\\n \\\"invoice_number\\\" TEXT DEFAULT '',\\n \\\"reference\\\" TEXT DEFAULT '',\\n \\\"issue_date\\\" TIMESTAMP,\\n \\\"due_date\\\" TIMESTAMP,\\n \\\"paid_date\\\" TIMESTAMP,\\n \\\"subtotal\\\" INTEGER DEFAULT 0,\\n \\\"tax_amount\\\" INTEGER DEFAULT 0,\\n \\\"provider_tax_amount\\\" INTEGER DEFAULT 0,\\n \\\"total_amount\\\" INTEGER DEFAULT 0,\\n \\\"amount_paid\\\" INTEGER DEFAULT 0,\\n \\\"currency\\\" TEXT DEFAULT 'CAD',\\n \\\"status\\\" TEXT,\\n \\\"ar_journal_id\\\" UUID,\\n \\\"revenue_journal_id\\\" UUID,\\n \\\"external_id\\\" TEXT DEFAULT '',\\n \\\"customer_external_id\\\" TEXT DEFAULT '',\\n \\\"external_provider\\\" TEXT DEFAULT '',\\n \\\"synced_at\\\" TIMESTAMP,\\n \\\"sent_at\\\" TIMESTAMP,\\n \\\"viewed_at\\\" TIMESTAMP,\\n \\\"reminders_sent\\\" INTEGER DEFAULT 0,\\n \\\"last_reminder_at\\\" TIMESTAMP,\\n \\\"notes\\\" TEXT DEFAULT '',\\n \\\"customer_notes\\\" TEXT DEFAULT '',\\n \\\"terms\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false},\"customer_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"customers\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"contract_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"contracts\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"invoice_number\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"reference\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"issue_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"due_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"paid_date\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"subtotal\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"tax_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"provider_tax_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"total_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"amount_paid\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"CAD\"},\"status\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"ar_journal_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false,\"unique\":false},\"revenue_journal_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false,\"unique\":false},\"external_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"customer_external_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"external_provider\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"synced_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"sent_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"viewed_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"reminders_sent\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"last_reminder_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"customer_notes\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"terms\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"invoices_slug_context_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"invoices_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"invoices_customer_id_idx\",\"columns\":[\"customer_id\"]},{\"name\":\"invoices_contract_id_idx\",\"columns\":[\"contract_id\"]},{\"name\":\"invoices_ar_journal_id_idx\",\"columns\":[\"ar_journal_id\"]},{\"name\":\"invoices_revenue_journal_id_idx\",\"columns\":[\"revenue_journal_id\"]}],\"version\":\"40c25b56\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:InvoiceLineItem\":{\"name\":\"invoicelineitem\",\"className\":\"InvoiceLineItem\",\"qualifiedName\":\"@happyvertical/smrt-commerce:InvoiceLineItem\",\"collection\":\"invoicelineitems\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/models/InvoiceLineItem.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{\"tenantId\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"sqlType\":\"UUID\",\"nullable\":true,\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":false,\"autoPopulate\":true,\"nullable\":true,\"mode\":\"optional\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"invoiceId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Invoice\"},\"description\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"sku\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"quantity\":{\"type\":\"integer\",\"required\":false,\"default\":1},\"unitPrice\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"discount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"taxRate\":{\"type\":\"decimal\",\"required\":false,\"default\":0},\"amount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"sourceType\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"sourceId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"periodStart\":{\"type\":\"datetime\",\"required\":false},\"periodEnd\":{\"type\":\"datetime\",\"required\":false},\"revenueAccountId\":{\"type\":\"crossPackageRef\",\"required\":false,\"related\":\"@happyvertical/smrt-ledgers:Account\"},\"sortOrder\":{\"type\":\"integer\",\"required\":false,\"default\":0}},\"methods\":{\"calculateAmount\":{\"name\":\"calculateAmount\",\"async\":false,\"parameters\":[],\"returnType\":\"number\",\"isStatic\":false,\"isPublic\":true},\"getSubtotal\":{\"name\":\"getSubtotal\",\"async\":false,\"parameters\":[],\"returnType\":\"number\",\"isStatic\":false,\"isPublic\":true},\"getTaxAmount\":{\"name\":\"getTaxAmount\",\"async\":false,\"parameters\":[],\"returnType\":\"number\",\"isStatic\":false,\"isPublic\":true},\"hasSource\":{\"name\":\"hasSource\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"hasPeriod\":{\"name\":\"hasPeriod\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"toAccountingLineItem\":{\"name\":\"toAccountingLineItem\",\"async\":false,\"parameters\":[{\"name\":\"currency\",\"type\":\"string\",\"optional\":true}],\"returnType\":\"AccountingLineItemInput\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"api\":{\"include\":[\"list\",\"get\",\"create\",\"update\",\"delete\"]},\"mcp\":{\"include\":[\"list\",\"get\"]},\"cli\":{\"skipApiCheck\":true},\"tenantScoped\":{\"mode\":\"optional\"},\"conflictColumns\":[\"tenant_id\",\"slug\",\"context\"]},\"extends\":\"SmrtObject\",\"exportName\":\"InvoiceLineItem\",\"collectionExportName\":\"InvoiceLineItemCollection\",\"schema\":{\"tableName\":\"invoice_line_items\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"invoice_line_items\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"invoice_id\\\" UUID,\\n \\\"description\\\" TEXT DEFAULT '',\\n \\\"sku\\\" TEXT DEFAULT '',\\n \\\"quantity\\\" INTEGER DEFAULT 1,\\n \\\"unit_price\\\" INTEGER DEFAULT 0,\\n \\\"discount\\\" INTEGER DEFAULT 0,\\n \\\"tax_rate\\\" REAL DEFAULT 0,\\n \\\"amount\\\" INTEGER DEFAULT 0,\\n \\\"source_type\\\" TEXT DEFAULT '',\\n \\\"source_id\\\" TEXT DEFAULT '',\\n \\\"period_start\\\" TIMESTAMP,\\n \\\"period_end\\\" TIMESTAMP,\\n \\\"revenue_account_id\\\" UUID,\\n \\\"sort_order\\\" INTEGER DEFAULT 0\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false},\"invoice_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"invoices\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"description\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"sku\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"quantity\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":1},\"unit_price\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"discount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"tax_rate\":{\"type\":\"REAL\",\"notNull\":false,\"unique\":false,\"default\":0},\"amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"source_type\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"source_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"period_start\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"period_end\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"revenue_account_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false,\"unique\":false},\"sort_order\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0}},\"indexes\":[{\"name\":\"invoice_line_items_slug_context_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"invoice_line_items_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"invoice_line_items_invoice_id_idx\",\"columns\":[\"invoice_id\"]},{\"name\":\"invoice_line_items_revenue_account_id_idx\",\"columns\":[\"revenue_account_id\"]}],\"version\":\"f96d2656\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:Payment\":{\"name\":\"payment\",\"className\":\"Payment\",\"qualifiedName\":\"@happyvertical/smrt-commerce:Payment\",\"collection\":\"payments\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/models/Payment.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{\"tenantId\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"sqlType\":\"UUID\",\"nullable\":true,\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":false,\"autoPopulate\":true,\"nullable\":true,\"mode\":\"optional\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"contractId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Contract\"},\"customerId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Customer\"},\"amount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"currency\":{\"type\":\"text\",\"required\":false,\"default\":\"USD\"},\"method\":{\"type\":\"text\",\"required\":false},\"status\":{\"type\":\"text\",\"required\":false},\"transactionId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"reference\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"journalId\":{\"type\":\"crossPackageRef\",\"required\":false,\"related\":\"@happyvertical/smrt-ledgers:Journal\"},\"paidAt\":{\"type\":\"datetime\",\"required\":false},\"notes\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"externalId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"externalProvider\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"syncedAt\":{\"type\":\"datetime\",\"required\":false},\"backendId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"backendTxRef\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"nativeAmount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"nativeCurrency\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"usdAtQuote\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"usdAtConfirmation\":{\"type\":\"integer\",\"required\":false,\"default\":0}},\"methods\":{\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true},\"usdDrift\":{\"name\":\"usdDrift\",\"async\":false,\"parameters\":[],\"returnType\":\"number\",\"isStatic\":false,\"isPublic\":true},\"isPending\":{\"name\":\"isPending\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isCompleted\":{\"name\":\"isCompleted\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isRefunded\":{\"name\":\"isRefunded\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"recordPayment\":{\"name\":\"recordPayment\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"RecordPaymentOptions\",\"optional\":false}],\"returnType\":\"Promise<Journal>\",\"isStatic\":false,\"isPublic\":true},\"getJournal\":{\"name\":\"getJournal\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Journal | null>\",\"isStatic\":false,\"isPublic\":true},\"markFailed\":{\"name\":\"markFailed\",\"async\":false,\"parameters\":[{\"name\":\"reason\",\"type\":\"string\",\"optional\":true}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"cancel\":{\"name\":\"cancel\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"api\":{\"include\":[\"list\",\"get\",\"create\",\"update\"],\"writable\":[\"contractId\",\"customerId\",\"amount\",\"currency\",\"method\",\"transactionId\",\"reference\",\"notes\",\"externalId\",\"externalProvider\",\"backendId\",\"backendTxRef\",\"nativeAmount\",\"nativeCurrency\",\"usdAtQuote\",\"usdAtConfirmation\"]},\"mcp\":{\"include\":[\"list\",\"get\"]},\"cli\":{\"skipApiCheck\":true},\"tenantScoped\":{\"mode\":\"optional\"},\"conflictColumns\":[\"tenant_id\",\"slug\",\"context\"]},\"extends\":\"SmrtObject\",\"exportName\":\"Payment\",\"collectionExportName\":\"PaymentCollection\",\"schema\":{\"tableName\":\"payments\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"payments\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"contract_id\\\" UUID,\\n \\\"customer_id\\\" UUID,\\n \\\"amount\\\" INTEGER DEFAULT 0,\\n \\\"currency\\\" TEXT DEFAULT 'USD',\\n \\\"method\\\" TEXT,\\n \\\"status\\\" TEXT,\\n \\\"transaction_id\\\" TEXT DEFAULT '',\\n \\\"reference\\\" TEXT DEFAULT '',\\n \\\"journal_id\\\" UUID,\\n \\\"paid_at\\\" TIMESTAMP,\\n \\\"notes\\\" TEXT DEFAULT '',\\n \\\"external_id\\\" TEXT DEFAULT '',\\n \\\"external_provider\\\" TEXT DEFAULT '',\\n \\\"synced_at\\\" TIMESTAMP,\\n \\\"backend_id\\\" TEXT DEFAULT '',\\n \\\"backend_tx_ref\\\" TEXT DEFAULT '',\\n \\\"native_amount\\\" INTEGER DEFAULT 0,\\n \\\"native_currency\\\" TEXT DEFAULT '',\\n \\\"usd_at_quote\\\" INTEGER DEFAULT 0,\\n \\\"usd_at_confirmation\\\" INTEGER DEFAULT 0\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false},\"contract_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"contracts\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"customer_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"customers\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"USD\"},\"method\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"status\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"transaction_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"reference\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"journal_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false,\"unique\":false},\"paid_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"external_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"external_provider\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"synced_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"backend_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"backend_tx_ref\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"native_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"native_currency\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"usd_at_quote\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"usd_at_confirmation\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0}},\"indexes\":[{\"name\":\"payments_slug_context_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"payments_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"payments_contract_id_idx\",\"columns\":[\"contract_id\"]},{\"name\":\"payments_customer_id_idx\",\"columns\":[\"customer_id\"]},{\"name\":\"payments_journal_id_idx\",\"columns\":[\"journal_id\"]}],\"version\":\"33f80e50\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:PaymentAllocation\":{\"name\":\"paymentallocation\",\"className\":\"PaymentAllocation\",\"qualifiedName\":\"@happyvertical/smrt-commerce:PaymentAllocation\",\"collection\":\"paymentallocations\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/models/PaymentAllocation.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{\"tenantId\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"sqlType\":\"UUID\",\"nullable\":true,\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":false,\"autoPopulate\":true,\"nullable\":true,\"mode\":\"optional\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"paymentId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Payment\"},\"invoiceId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Invoice\"},\"amount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"allocatedAt\":{\"type\":\"datetime\",\"required\":false},\"allocatedBy\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"notes\":{\"type\":\"text\",\"required\":false,\"default\":\"\"}},\"methods\":{\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"api\":{\"include\":[\"list\",\"get\"]},\"mcp\":{\"include\":[\"list\",\"get\"]},\"cli\":{\"include\":[\"list\",\"get\"]},\"tenantScoped\":{\"mode\":\"optional\"},\"conflictColumns\":[\"tenant_id\",\"slug\",\"context\"]},\"extends\":\"SmrtObject\",\"exportName\":\"PaymentAllocation\",\"collectionExportName\":\"PaymentAllocationCollection\",\"schema\":{\"tableName\":\"payment_allocations\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"payment_allocations\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"payment_id\\\" UUID,\\n \\\"invoice_id\\\" UUID,\\n \\\"amount\\\" INTEGER DEFAULT 0,\\n \\\"allocated_at\\\" TIMESTAMP,\\n \\\"allocated_by\\\" TEXT DEFAULT '',\\n \\\"notes\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false},\"payment_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"payments\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"invoice_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"invoices\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"allocated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"allocated_by\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"payment_allocations_slug_context_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"payment_allocations_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"payment_allocations_payment_id_idx\",\"columns\":[\"payment_id\"]},{\"name\":\"payment_allocations_invoice_id_idx\",\"columns\":[\"invoice_id\"]}],\"version\":\"102e6fbc\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:PaymentInstrument\":{\"name\":\"paymentinstrument\",\"className\":\"PaymentInstrument\",\"qualifiedName\":\"@happyvertical/smrt-commerce:PaymentInstrument\",\"collection\":\"paymentinstruments\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/models/PaymentInstrument.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{\"tenantId\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"sqlType\":\"UUID\",\"nullable\":true,\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":false,\"autoPopulate\":true,\"nullable\":true,\"mode\":\"optional\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"customerId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Customer\"},\"backendId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"providerCustomerId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"providerPaymentMethodId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"type\":{\"type\":\"text\",\"required\":false,\"default\":\"card\"},\"brand\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"last4\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"expMonth\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"expYear\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"isDefault\":{\"type\":\"boolean\",\"required\":false,\"default\":false},\"status\":{\"type\":\"text\",\"required\":false}},\"methods\":{\"isActive\":{\"name\":\"isActive\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isExpired\":{\"name\":\"isExpired\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isRemoved\":{\"name\":\"isRemoved\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"markExpired\":{\"name\":\"markExpired\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"markRemoved\":{\"name\":\"markRemoved\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"api\":{\"include\":[\"list\",\"get\",\"create\",\"update\"],\"writable\":[\"customerId\",\"backendId\",\"providerCustomerId\",\"providerPaymentMethodId\",\"type\",\"brand\",\"last4\",\"expMonth\",\"expYear\",\"status\"]},\"mcp\":{\"include\":[\"list\",\"get\"]},\"cli\":{\"skipApiCheck\":true},\"tenantScoped\":{\"mode\":\"optional\"},\"conflictColumns\":[\"tenant_id\",\"slug\",\"context\"]},\"extends\":\"SmrtObject\",\"exportName\":\"PaymentInstrument\",\"collectionExportName\":\"PaymentInstrumentCollection\",\"schema\":{\"tableName\":\"payment_instruments\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"payment_instruments\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"customer_id\\\" UUID,\\n \\\"backend_id\\\" TEXT DEFAULT '',\\n \\\"provider_customer_id\\\" TEXT DEFAULT '',\\n \\\"provider_payment_method_id\\\" TEXT DEFAULT '',\\n \\\"type\\\" TEXT DEFAULT 'card',\\n \\\"brand\\\" TEXT DEFAULT '',\\n \\\"last4\\\" TEXT DEFAULT '',\\n \\\"exp_month\\\" INTEGER DEFAULT 0,\\n \\\"exp_year\\\" INTEGER DEFAULT 0,\\n \\\"is_default\\\" BOOLEAN DEFAULT FALSE,\\n \\\"status\\\" TEXT\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false},\"customer_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"customers\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"backend_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"provider_customer_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"provider_payment_method_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"type\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"card\"},\"brand\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"last4\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"exp_month\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"exp_year\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"is_default\":{\"type\":\"BOOLEAN\",\"notNull\":false,\"unique\":false,\"default\":false},\"status\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false}},\"indexes\":[{\"name\":\"payment_instruments_slug_context_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"payment_instruments_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"payment_instruments_customer_id_idx\",\"columns\":[\"customer_id\"]}],\"version\":\"722393fe\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:PaymentIntent\":{\"name\":\"paymentintent\",\"className\":\"PaymentIntent\",\"qualifiedName\":\"@happyvertical/smrt-commerce:PaymentIntent\",\"collection\":\"paymentintents\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/models/PaymentIntent.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{\"tenantId\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"sqlType\":\"UUID\",\"nullable\":true,\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":false,\"autoPopulate\":true,\"nullable\":true,\"mode\":\"optional\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"skuId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"offeringRef\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"licenseeEmail\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"customerId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"paymentOptions\":{\"type\":\"json\",\"required\":false,\"default\":[]},\"usdPriceLocked\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"priceLockWindowMs\":{\"type\":\"integer\",\"required\":false},\"priceLockExpiresAt\":{\"type\":\"datetime\",\"required\":false},\"status\":{\"type\":\"text\",\"required\":false},\"idempotencyKey\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"paidOptionBackendId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"paymentId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"paidAt\":{\"type\":\"datetime\",\"required\":false},\"issuedAt\":{\"type\":\"datetime\",\"required\":false},\"expiredAt\":{\"type\":\"datetime\",\"required\":false},\"cancelledAt\":{\"type\":\"datetime\",\"required\":false},\"retiredAt\":{\"type\":\"datetime\",\"required\":false},\"notes\":{\"type\":\"text\",\"required\":false,\"default\":\"\"}},\"methods\":{\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true},\"isAwaitingPayment\":{\"name\":\"isAwaitingPayment\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isPaid\":{\"name\":\"isPaid\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isIssued\":{\"name\":\"isIssued\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isCancelled\":{\"name\":\"isCancelled\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isRetired\":{\"name\":\"isRetired\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isTerminal\":{\"name\":\"isTerminal\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isExpired\":{\"name\":\"isExpired\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"markPaid\":{\"name\":\"markPaid\",\"async\":false,\"parameters\":[{\"name\":\"args\",\"type\":\"object\",\"optional\":false,\"memberTypes\":[\"string\"]}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"verifyAndMarkPaid\":{\"name\":\"verifyAndMarkPaid\",\"async\":true,\"parameters\":[{\"name\":\"args\",\"type\":\"object\",\"optional\":false,\"memberTypes\":[\"string\"]}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"markIssued\":{\"name\":\"markIssued\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"expire\":{\"name\":\"expire\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"cancel\":{\"name\":\"cancel\",\"async\":false,\"parameters\":[{\"name\":\"reason\",\"type\":\"string\",\"optional\":true}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"retire\":{\"name\":\"retire\",\"async\":false,\"parameters\":[{\"name\":\"reason\",\"type\":\"string\",\"optional\":true}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"getOption\":{\"name\":\"getOption\",\"async\":false,\"parameters\":[{\"name\":\"backendId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"PaymentOption | undefined\",\"isStatic\":false,\"isPublic\":true},\"isOptionRetired\":{\"name\":\"isOptionRetired\",\"async\":false,\"parameters\":[{\"name\":\"backendId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"getRetiredOptions\":{\"name\":\"getRetiredOptions\",\"async\":false,\"parameters\":[],\"returnType\":\"PaymentOption[]\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"conflictColumns\":[\"tenant_id\",\"offering_ref\",\"licensee_email\",\"idempotency_key\"],\"api\":{\"include\":[\"list\",\"get\",\"create\",\"update\"],\"writable\":[\"skuId\",\"offeringRef\",\"licenseeEmail\",\"customerId\",\"paymentOptions\",\"usdPriceLocked\",\"priceLockWindowMs\",\"idempotencyKey\",\"notes\"]},\"mcp\":{\"include\":[\"list\",\"get\"]},\"cli\":{\"skipApiCheck\":true},\"tenantScoped\":{\"mode\":\"optional\"}},\"extends\":\"SmrtObject\",\"exportName\":\"PaymentIntent\",\"collectionExportName\":\"PaymentIntentCollection\",\"schema\":{\"tableName\":\"payment_intents\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"payment_intents\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"sku_id\\\" TEXT DEFAULT '',\\n \\\"offering_ref\\\" TEXT DEFAULT '',\\n \\\"licensee_email\\\" TEXT DEFAULT '',\\n \\\"customer_id\\\" TEXT DEFAULT '',\\n \\\"payment_options\\\" JSON DEFAULT '[]',\\n \\\"usd_price_locked\\\" INTEGER DEFAULT 0,\\n \\\"price_lock_window_ms\\\" INTEGER,\\n \\\"price_lock_expires_at\\\" TIMESTAMP,\\n \\\"status\\\" TEXT,\\n \\\"idempotency_key\\\" TEXT DEFAULT '',\\n \\\"paid_option_backend_id\\\" TEXT DEFAULT '',\\n \\\"payment_id\\\" TEXT DEFAULT '',\\n \\\"paid_at\\\" TIMESTAMP,\\n \\\"issued_at\\\" TIMESTAMP,\\n \\\"expired_at\\\" TIMESTAMP,\\n \\\"cancelled_at\\\" TIMESTAMP,\\n \\\"retired_at\\\" TIMESTAMP,\\n \\\"notes\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false},\"sku_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"offering_ref\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"licensee_email\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"customer_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"payment_options\":{\"type\":\"JSON\",\"notNull\":false,\"unique\":false,\"default\":[]},\"usd_price_locked\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"price_lock_window_ms\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false},\"price_lock_expires_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"status\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"idempotency_key\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"paid_option_backend_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"payment_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"paid_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"issued_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"expired_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"cancelled_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"retired_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"payment_intents_tenant_id_offering_ref_idx\",\"columns\":[\"tenant_id\",\"offering_ref\",\"licensee_email\",\"idempotency_key\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"payment_intents_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"payment_intents_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]}],\"version\":\"c565aaef\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:Payout\":{\"name\":\"payout\",\"className\":\"Payout\",\"qualifiedName\":\"@happyvertical/smrt-commerce:Payout\",\"collection\":\"payouts\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/models/Payout.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{\"tenantId\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"sqlType\":\"UUID\",\"nullable\":true,\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":false,\"autoPopulate\":true,\"nullable\":true,\"mode\":\"optional\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"paymentId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"vendorId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Vendor\"},\"grossAmount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"operatorFee\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"supplierNet\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"currency\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"backendId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"backendTxRef\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"status\":{\"type\":\"text\",\"required\":false},\"sentAt\":{\"type\":\"datetime\",\"required\":false},\"confirmedAt\":{\"type\":\"datetime\",\"required\":false},\"failedAt\":{\"type\":\"datetime\",\"required\":false},\"failureReason\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"notes\":{\"type\":\"text\",\"required\":false,\"default\":\"\"}},\"methods\":{\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true},\"isPending\":{\"name\":\"isPending\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isSent\":{\"name\":\"isSent\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isConfirmed\":{\"name\":\"isConfirmed\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isFailed\":{\"name\":\"isFailed\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"markSent\":{\"name\":\"markSent\",\"async\":false,\"parameters\":[{\"name\":\"backendTxRef\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"markConfirmed\":{\"name\":\"markConfirmed\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"markFailed\":{\"name\":\"markFailed\",\"async\":false,\"parameters\":[{\"name\":\"reason\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"resetFromFailed\":{\"name\":\"resetFromFailed\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"validateAmounts\":{\"name\":\"validateAmounts\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"api\":{\"include\":[\"list\",\"get\"]},\"mcp\":{\"include\":[\"list\",\"get\"]},\"cli\":{\"include\":[\"list\",\"get\"]},\"tenantScoped\":{\"mode\":\"optional\"},\"conflictColumns\":[\"tenant_id\",\"slug\",\"context\"]},\"extends\":\"SmrtObject\",\"exportName\":\"Payout\",\"collectionExportName\":\"PayoutCollection\",\"schema\":{\"tableName\":\"payouts\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"payouts\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"payment_id\\\" TEXT DEFAULT '',\\n \\\"vendor_id\\\" UUID,\\n \\\"gross_amount\\\" INTEGER DEFAULT 0,\\n \\\"operator_fee\\\" INTEGER DEFAULT 0,\\n \\\"supplier_net\\\" INTEGER DEFAULT 0,\\n \\\"currency\\\" TEXT DEFAULT '',\\n \\\"backend_id\\\" TEXT DEFAULT '',\\n \\\"backend_tx_ref\\\" TEXT DEFAULT '',\\n \\\"status\\\" TEXT,\\n \\\"sent_at\\\" TIMESTAMP,\\n \\\"confirmed_at\\\" TIMESTAMP,\\n \\\"failed_at\\\" TIMESTAMP,\\n \\\"failure_reason\\\" TEXT DEFAULT '',\\n \\\"notes\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false},\"payment_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"vendor_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"vendors\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"gross_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"operator_fee\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"supplier_net\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"backend_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"backend_tx_ref\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"status\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"sent_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"confirmed_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"failed_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"failure_reason\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"payouts_slug_context_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"payouts_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"payouts_vendor_id_idx\",\"columns\":[\"vendor_id\"]}],\"version\":\"98fa81d5\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:Vendor\":{\"name\":\"vendor\",\"className\":\"Vendor\",\"qualifiedName\":\"@happyvertical/smrt-commerce:Vendor\",\"collection\":\"vendors\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/models/Vendor.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{\"tenantId\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"sqlType\":\"UUID\",\"nullable\":true,\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":false,\"autoPopulate\":true,\"nullable\":true,\"mode\":\"optional\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"profileId\":{\"type\":\"crossPackageRef\",\"required\":false,\"related\":\"@happyvertical/smrt-profiles:Profile\"},\"leadTimeDays\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"minimumOrderAmount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"paymentTerms\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"currency\":{\"type\":\"text\",\"required\":false,\"default\":\"USD\"},\"defaultContactEmail\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"defaultContactPhone\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"status\":{\"type\":\"text\",\"required\":false},\"notes\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"payoutAddresses\":{\"type\":\"json\",\"required\":false,\"default\":{},\"_meta\":{\"sensitive\":true},\"sensitive\":true}},\"methods\":{\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true},\"isActive\":{\"name\":\"isActive\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"meetsMinimumOrder\":{\"name\":\"meetsMinimumOrder\",\"async\":false,\"parameters\":[{\"name\":\"amount\",\"type\":\"number\",\"optional\":false}],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"getProfileId\":{\"name\":\"getProfileId\",\"async\":false,\"parameters\":[],\"returnType\":\"string\",\"isStatic\":false,\"isPublic\":true},\"getPayoutAddress\":{\"name\":\"getPayoutAddress\",\"async\":false,\"parameters\":[{\"name\":\"currency\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"string | undefined\",\"isStatic\":false,\"isPublic\":true},\"setPayoutAddress\":{\"name\":\"setPayoutAddress\",\"async\":false,\"parameters\":[{\"name\":\"currency\",\"type\":\"string\",\"optional\":false},{\"name\":\"destination\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"this\",\"isStatic\":false,\"isPublic\":true},\"clearPayoutAddress\":{\"name\":\"clearPayoutAddress\",\"async\":false,\"parameters\":[{\"name\":\"currency\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"this\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"api\":{\"include\":[\"list\",\"get\",\"create\",\"update\"]},\"mcp\":{\"include\":[\"list\",\"get\"]},\"cli\":{\"skipApiCheck\":true},\"tenantScoped\":{\"mode\":\"optional\"},\"conflictColumns\":[\"tenant_id\",\"slug\",\"context\"]},\"extends\":\"SmrtObject\",\"exportName\":\"Vendor\",\"collectionExportName\":\"VendorCollection\",\"schema\":{\"tableName\":\"vendors\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"vendors\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID,\\n \\\"profile_id\\\" UUID,\\n \\\"lead_time_days\\\" INTEGER DEFAULT 0,\\n \\\"minimum_order_amount\\\" INTEGER DEFAULT 0,\\n \\\"payment_terms\\\" TEXT DEFAULT '',\\n \\\"currency\\\" TEXT DEFAULT 'USD',\\n \\\"default_contact_email\\\" TEXT DEFAULT '',\\n \\\"default_contact_phone\\\" TEXT DEFAULT '',\\n \\\"status\\\" TEXT,\\n \\\"notes\\\" TEXT DEFAULT '',\\n \\\"payout_addresses\\\" JSON DEFAULT '{}'\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false},\"profile_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false,\"unique\":false},\"lead_time_days\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"minimum_order_amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"payment_terms\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"USD\"},\"default_contact_email\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"default_contact_phone\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"status\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"payout_addresses\":{\"type\":\"JSON\",\"notNull\":false,\"unique\":false,\"default\":{}}},\"indexes\":[{\"name\":\"vendors_slug_context_idx\",\"columns\":[\"tenant_id\",\"slug\",\"context\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"vendors_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"vendors_profile_id_idx\",\"columns\":[\"profile_id\"]}],\"version\":\"1dc2b65e\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:BillingAccount\":{\"name\":\"billingaccount\",\"className\":\"BillingAccount\",\"qualifiedName\":\"@happyvertical/smrt-commerce:BillingAccount\",\"collection\":\"billingaccounts\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/models/billing.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{\"sellerTenantId\":{\"type\":\"crossPackageRef\",\"required\":true,\"related\":\"@happyvertical/smrt-users:Tenant\",\"_meta\":{\"required\":true}},\"payerTenantId\":{\"type\":\"crossPackageRef\",\"required\":true,\"related\":\"@happyvertical/smrt-users:Tenant\",\"_meta\":{\"required\":true}},\"customerId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Customer\"},\"name\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"email\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"provider\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"providerCustomerId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"automaticTax\":{\"type\":\"boolean\",\"required\":false,\"default\":true},\"flatDiscountBasisPoints\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"paymentTermsDays\":{\"type\":\"integer\",\"required\":false,\"default\":30},\"standing\":{\"type\":\"text\",\"required\":false,\"default\":\"current\"},\"billingAnchorAt\":{\"type\":\"datetime\",\"required\":false,\"_meta\":{\"nullable\":true}},\"prorateFlatPlans\":{\"type\":\"boolean\",\"required\":false,\"default\":false}},\"methods\":{},\"decoratorConfig\":{\"tableName\":\"_smrt_billing_accounts\",\"conflictColumns\":[\"seller_tenant_id\",\"payer_tenant_id\"],\"api\":false,\"cli\":false,\"mcp\":false},\"extends\":\"SmrtObject\",\"exportName\":\"BillingAccount\",\"collectionExportName\":\"BillingAccountCollection\",\"validationRules\":[{\"field\":\"sellerTenantId\",\"rule\":\"required\",\"fieldType\":\"crossPackageRef\"},{\"field\":\"payerTenantId\",\"rule\":\"required\",\"fieldType\":\"crossPackageRef\"}],\"schema\":{\"tableName\":\"_smrt_billing_accounts\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"_smrt_billing_accounts\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"seller_tenant_id\\\" UUID NOT NULL,\\n \\\"payer_tenant_id\\\" UUID NOT NULL,\\n \\\"customer_id\\\" UUID,\\n \\\"name\\\" TEXT DEFAULT '',\\n \\\"email\\\" TEXT DEFAULT '',\\n \\\"provider\\\" TEXT DEFAULT '',\\n \\\"provider_customer_id\\\" TEXT DEFAULT '',\\n \\\"automatic_tax\\\" BOOLEAN DEFAULT TRUE,\\n \\\"flat_discount_basis_points\\\" INTEGER DEFAULT 0,\\n \\\"payment_terms_days\\\" INTEGER DEFAULT 30,\\n \\\"standing\\\" TEXT DEFAULT 'current',\\n \\\"billing_anchor_at\\\" TIMESTAMP,\\n \\\"prorate_flat_plans\\\" BOOLEAN DEFAULT FALSE\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"seller_tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":true,\"unique\":false},\"payer_tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":true,\"unique\":false},\"customer_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"customers\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"name\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"email\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"provider\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"provider_customer_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"automatic_tax\":{\"type\":\"BOOLEAN\",\"notNull\":false,\"unique\":false,\"default\":true},\"flat_discount_basis_points\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"payment_terms_days\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":30},\"standing\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"current\"},\"billing_anchor_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"prorate_flat_plans\":{\"type\":\"BOOLEAN\",\"notNull\":false,\"unique\":false,\"default\":false}},\"indexes\":[{\"name\":\"_smrt_billing_accounts_seller_tenant_id_payer_tenant_id_idx\",\"columns\":[\"seller_tenant_id\",\"payer_tenant_id\"],\"unique\":true},{\"name\":\"_smrt_billing_accounts_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"_smrt_billing_accounts_created_at_idx\",\"columns\":[\"created_at\"]},{\"name\":\"_smrt_billing_accounts_payer_tenant_id_idx\",\"columns\":[\"payer_tenant_id\"]},{\"name\":\"_smrt_billing_accounts_customer_id_idx\",\"columns\":[\"customer_id\"]}],\"version\":\"58124e47\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:BillingPeriodClose\":{\"name\":\"billingperiodclose\",\"className\":\"BillingPeriodClose\",\"qualifiedName\":\"@happyvertical/smrt-commerce:BillingPeriodClose\",\"collection\":\"billingperiodcloses\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/models/billing.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{\"sellerTenantId\":{\"type\":\"crossPackageRef\",\"required\":true,\"related\":\"@happyvertical/smrt-users:Tenant\",\"_meta\":{\"required\":true}},\"kind\":{\"type\":\"text\",\"required\":false,\"default\":\"provider\"},\"payerTenantId\":{\"type\":\"crossPackageRef\",\"required\":true,\"related\":\"@happyvertical/smrt-users:Tenant\",\"_meta\":{\"required\":true}},\"currency\":{\"type\":\"text\",\"required\":false,\"default\":\"USD\"},\"periodStart\":{\"type\":\"datetime\",\"required\":false},\"periodEnd\":{\"type\":\"datetime\",\"required\":false},\"billingAccountId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"BillingAccount\"},\"status\":{\"type\":\"text\",\"required\":false,\"default\":\"collecting\"},\"invoiceId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Invoice\"},\"providerInvoiceId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"subtotal\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"lineCount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"issuedAt\":{\"type\":\"datetime\",\"required\":false},\"leaseToken\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"nullable\":true}},\"leaseExpiresAt\":{\"type\":\"datetime\",\"required\":false,\"_meta\":{\"nullable\":true}},\"attempts\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"lastError\":{\"type\":\"text\",\"required\":false,\"default\":\"\"}},\"methods\":{\"runPeriodClose\":{\"name\":\"runPeriodClose\",\"async\":true,\"parameters\":[{\"name\":\"args\",\"type\":\"Record<string, unknown>\",\"optional\":true},{\"name\":\"_context\",\"type\":\"JobExecutionContext\",\"optional\":true}],\"returnType\":\"Promise<unknown>\",\"isStatic\":false,\"isPublic\":true},\"processBillingEvents\":{\"name\":\"processBillingEvents\",\"async\":true,\"parameters\":[{\"name\":\"args\",\"type\":\"Record<string, unknown>\",\"optional\":true},{\"name\":\"_context\",\"type\":\"JobExecutionContext\",\"optional\":true}],\"returnType\":\"Promise<unknown>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tableName\":\"_smrt_billing_period_closes\",\"conflictColumns\":[\"seller_tenant_id\",\"kind\",\"payer_tenant_id\",\"currency\",\"period_start\",\"period_end\"],\"api\":false,\"cli\":false,\"mcp\":false},\"extends\":\"SmrtObject\",\"exportName\":\"BillingPeriodClose\",\"collectionExportName\":\"BillingPeriodCloseCollection\",\"validationRules\":[{\"field\":\"sellerTenantId\",\"rule\":\"required\",\"fieldType\":\"crossPackageRef\"},{\"field\":\"payerTenantId\",\"rule\":\"required\",\"fieldType\":\"crossPackageRef\"}],\"schema\":{\"tableName\":\"_smrt_billing_period_closes\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"_smrt_billing_period_closes\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"seller_tenant_id\\\" UUID NOT NULL,\\n \\\"kind\\\" TEXT DEFAULT 'provider',\\n \\\"payer_tenant_id\\\" UUID NOT NULL,\\n \\\"currency\\\" TEXT DEFAULT 'USD',\\n \\\"period_start\\\" TIMESTAMP,\\n \\\"period_end\\\" TIMESTAMP,\\n \\\"billing_account_id\\\" UUID,\\n \\\"status\\\" TEXT DEFAULT 'collecting',\\n \\\"invoice_id\\\" UUID,\\n \\\"provider_invoice_id\\\" TEXT DEFAULT '',\\n \\\"subtotal\\\" INTEGER DEFAULT 0,\\n \\\"line_count\\\" INTEGER DEFAULT 0,\\n \\\"issued_at\\\" TIMESTAMP,\\n \\\"lease_token\\\" TEXT,\\n \\\"lease_expires_at\\\" TIMESTAMP,\\n \\\"attempts\\\" INTEGER DEFAULT 0,\\n \\\"last_error\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"seller_tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":true,\"unique\":false},\"kind\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"provider\"},\"payer_tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":true,\"unique\":false},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"USD\"},\"period_start\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"period_end\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"billing_account_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"_smrt_billing_accounts\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"status\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"collecting\"},\"invoice_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"invoices\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"provider_invoice_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"subtotal\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"line_count\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"issued_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"lease_token\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"lease_expires_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"attempts\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"last_error\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"_smrt_billing_period_closes_seller_tenant_id_kind_idx\",\"columns\":[\"seller_tenant_id\",\"kind\",\"payer_tenant_id\",\"currency\",\"period_start\",\"period_end\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"_smrt_billing_period_closes_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"_smrt_billing_period_closes_created_at_idx\",\"columns\":[\"created_at\"]},{\"name\":\"_smrt_billing_period_closes_payer_tenant_id_idx\",\"columns\":[\"payer_tenant_id\"]},{\"name\":\"_smrt_billing_period_closes_billing_account_id_idx\",\"columns\":[\"billing_account_id\"]},{\"name\":\"_smrt_billing_period_closes_invoice_id_idx\",\"columns\":[\"invoice_id\"]}],\"version\":\"753d2e86\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:BillingLineSource\":{\"name\":\"billinglinesource\",\"className\":\"BillingLineSource\",\"qualifiedName\":\"@happyvertical/smrt-commerce:BillingLineSource\",\"collection\":\"billinglinesources\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/models/billing.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{\"sellerTenantId\":{\"type\":\"crossPackageRef\",\"required\":true,\"related\":\"@happyvertical/smrt-users:Tenant\",\"_meta\":{\"required\":true}},\"periodCloseId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"BillingPeriodClose\"},\"sourceType\":{\"type\":\"text\",\"required\":false,\"default\":\"client_charge\"},\"sourceId\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"lineKey\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"lineDescription\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"amount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"discount\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"quantity\":{\"type\":\"decimal\",\"required\":false,\"default\":0},\"chainSequence\":{\"type\":\"integer\",\"required\":false,\"default\":0},\"currency\":{\"type\":\"text\",\"required\":false,\"default\":\"USD\"},\"periodStart\":{\"type\":\"datetime\",\"required\":false},\"periodEnd\":{\"type\":\"datetime\",\"required\":false}},\"methods\":{},\"decoratorConfig\":{\"tableName\":\"_smrt_billing_line_sources\",\"conflictColumns\":[\"source_type\",\"source_id\"],\"indexes\":[{\"name\":\"_smrt_billing_line_sources_line_key_chain_sequence_idx\",\"columns\":[\"lineKey\",\"chainSequence\"]}],\"api\":false,\"cli\":false,\"mcp\":false},\"extends\":\"SmrtObject\",\"exportName\":\"BillingLineSource\",\"collectionExportName\":\"BillingLineSourceCollection\",\"validationRules\":[{\"field\":\"sellerTenantId\",\"rule\":\"required\",\"fieldType\":\"crossPackageRef\"}],\"schema\":{\"tableName\":\"_smrt_billing_line_sources\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"_smrt_billing_line_sources\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"seller_tenant_id\\\" UUID NOT NULL,\\n \\\"period_close_id\\\" UUID,\\n \\\"source_type\\\" TEXT DEFAULT 'client_charge',\\n \\\"source_id\\\" TEXT DEFAULT '',\\n \\\"line_key\\\" TEXT DEFAULT '',\\n \\\"line_description\\\" TEXT DEFAULT '',\\n \\\"amount\\\" INTEGER DEFAULT 0,\\n \\\"discount\\\" INTEGER DEFAULT 0,\\n \\\"quantity\\\" REAL DEFAULT 0,\\n \\\"chain_sequence\\\" INTEGER DEFAULT 0,\\n \\\"currency\\\" TEXT DEFAULT 'USD',\\n \\\"period_start\\\" TIMESTAMP,\\n \\\"period_end\\\" TIMESTAMP\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"seller_tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":true,\"unique\":false},\"period_close_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"_smrt_billing_period_closes\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"source_type\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"client_charge\"},\"source_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"line_key\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"line_description\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"discount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"quantity\":{\"type\":\"REAL\",\"notNull\":false,\"unique\":false,\"default\":0},\"chain_sequence\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"USD\"},\"period_start\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"period_end\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false}},\"indexes\":[{\"name\":\"_smrt_billing_line_sources_source_type_source_id_idx\",\"columns\":[\"source_type\",\"source_id\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"_smrt_billing_line_sources_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"_smrt_billing_line_sources_line_key_chain_sequence_idx\",\"columns\":[\"line_key\",\"chain_sequence\"]},{\"name\":\"_smrt_billing_line_sources_created_at_idx\",\"columns\":[\"created_at\"]},{\"name\":\"_smrt_billing_line_sources_seller_tenant_id_idx\",\"columns\":[\"seller_tenant_id\"]},{\"name\":\"_smrt_billing_line_sources_period_close_id_idx\",\"columns\":[\"period_close_id\"]}],\"version\":\"35e3aaa7\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:BillingAccountCollection\":{\"name\":\"billingaccountcollection\",\"className\":\"BillingAccountCollection\",\"qualifiedName\":\"@happyvertical/smrt-commerce:BillingAccountCollection\",\"collection\":\"billingaccounts\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/models/billing.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{},\"methods\":{},\"decoratorConfig\":{\"tableName\":\"_smrt_billing_accounts\",\"api\":false,\"mcp\":false,\"cli\":false},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"BillingAccount\",\"exportName\":\"BillingAccountCollection\",\"collectionExportName\":\"BillingAccountCollectionCollection\",\"schema\":{\"tableName\":\"_smrt_billing_accounts\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"_smrt_billing_accounts\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"seller_tenant_id\\\" UUID NOT NULL,\\n \\\"payer_tenant_id\\\" UUID NOT NULL,\\n \\\"customer_id\\\" UUID,\\n \\\"name\\\" TEXT DEFAULT '',\\n \\\"email\\\" TEXT DEFAULT '',\\n \\\"provider\\\" TEXT DEFAULT '',\\n \\\"provider_customer_id\\\" TEXT DEFAULT '',\\n \\\"automatic_tax\\\" BOOLEAN DEFAULT TRUE,\\n \\\"flat_discount_basis_points\\\" INTEGER DEFAULT 0,\\n \\\"payment_terms_days\\\" INTEGER DEFAULT 30,\\n \\\"standing\\\" TEXT DEFAULT 'current',\\n \\\"billing_anchor_at\\\" TIMESTAMP,\\n \\\"prorate_flat_plans\\\" BOOLEAN DEFAULT FALSE\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"seller_tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":true,\"unique\":false},\"payer_tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":true,\"unique\":false},\"customer_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"customers\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"name\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"email\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"provider\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"provider_customer_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"automatic_tax\":{\"type\":\"BOOLEAN\",\"notNull\":false,\"unique\":false,\"default\":true},\"flat_discount_basis_points\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"payment_terms_days\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":30},\"standing\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"current\"},\"billing_anchor_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"prorate_flat_plans\":{\"type\":\"BOOLEAN\",\"notNull\":false,\"unique\":false,\"default\":false}},\"indexes\":[{\"name\":\"_smrt_billing_accounts_seller_tenant_id_payer_tenant_id_idx\",\"columns\":[\"seller_tenant_id\",\"payer_tenant_id\"],\"unique\":true},{\"name\":\"_smrt_billing_accounts_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"_smrt_billing_accounts_created_at_idx\",\"columns\":[\"created_at\"]},{\"name\":\"_smrt_billing_accounts_payer_tenant_id_idx\",\"columns\":[\"payer_tenant_id\"]},{\"name\":\"_smrt_billing_accounts_customer_id_idx\",\"columns\":[\"customer_id\"]}],\"version\":\"58124e47\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:BillingPeriodCloseCollection\":{\"name\":\"billingperiodclosecollection\",\"className\":\"BillingPeriodCloseCollection\",\"qualifiedName\":\"@happyvertical/smrt-commerce:BillingPeriodCloseCollection\",\"collection\":\"billingperiodcloses\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/models/billing.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{},\"methods\":{},\"decoratorConfig\":{\"tableName\":\"_smrt_billing_period_closes\",\"api\":false,\"mcp\":false,\"cli\":false},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"BillingPeriodClose\",\"exportName\":\"BillingPeriodCloseCollection\",\"collectionExportName\":\"BillingPeriodCloseCollectionCollection\",\"schema\":{\"tableName\":\"_smrt_billing_period_closes\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"_smrt_billing_period_closes\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"seller_tenant_id\\\" UUID NOT NULL,\\n \\\"kind\\\" TEXT DEFAULT 'provider',\\n \\\"payer_tenant_id\\\" UUID NOT NULL,\\n \\\"currency\\\" TEXT DEFAULT 'USD',\\n \\\"period_start\\\" TIMESTAMP,\\n \\\"period_end\\\" TIMESTAMP,\\n \\\"billing_account_id\\\" UUID,\\n \\\"status\\\" TEXT DEFAULT 'collecting',\\n \\\"invoice_id\\\" UUID,\\n \\\"provider_invoice_id\\\" TEXT DEFAULT '',\\n \\\"subtotal\\\" INTEGER DEFAULT 0,\\n \\\"line_count\\\" INTEGER DEFAULT 0,\\n \\\"issued_at\\\" TIMESTAMP,\\n \\\"lease_token\\\" TEXT,\\n \\\"lease_expires_at\\\" TIMESTAMP,\\n \\\"attempts\\\" INTEGER DEFAULT 0,\\n \\\"last_error\\\" TEXT DEFAULT ''\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"seller_tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":true,\"unique\":false},\"kind\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"provider\"},\"payer_tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":true,\"unique\":false},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"USD\"},\"period_start\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"period_end\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"billing_account_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"_smrt_billing_accounts\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"status\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"collecting\"},\"invoice_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"invoices\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"provider_invoice_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"subtotal\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"line_count\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"issued_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"lease_token\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"lease_expires_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"attempts\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"last_error\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"_smrt_billing_period_closes_seller_tenant_id_kind_idx\",\"columns\":[\"seller_tenant_id\",\"kind\",\"payer_tenant_id\",\"currency\",\"period_start\",\"period_end\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"_smrt_billing_period_closes_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"_smrt_billing_period_closes_created_at_idx\",\"columns\":[\"created_at\"]},{\"name\":\"_smrt_billing_period_closes_payer_tenant_id_idx\",\"columns\":[\"payer_tenant_id\"]},{\"name\":\"_smrt_billing_period_closes_billing_account_id_idx\",\"columns\":[\"billing_account_id\"]},{\"name\":\"_smrt_billing_period_closes_invoice_id_idx\",\"columns\":[\"invoice_id\"]}],\"version\":\"753d2e86\"},\"importPath\":\"@happyvertical/smrt-commerce\"},\"@happyvertical/smrt-commerce:BillingLineSourceCollection\":{\"name\":\"billinglinesourcecollection\",\"className\":\"BillingLineSourceCollection\",\"qualifiedName\":\"@happyvertical/smrt-commerce:BillingLineSourceCollection\",\"collection\":\"billinglinesources\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/commerce/src/models/billing.ts\",\"packageName\":\"@happyvertical/smrt-commerce\",\"fields\":{},\"methods\":{},\"decoratorConfig\":{\"tableName\":\"_smrt_billing_line_sources\",\"api\":false,\"mcp\":false,\"cli\":false},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"BillingLineSource\",\"exportName\":\"BillingLineSourceCollection\",\"collectionExportName\":\"BillingLineSourceCollectionCollection\",\"schema\":{\"tableName\":\"_smrt_billing_line_sources\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"_smrt_billing_line_sources\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"seller_tenant_id\\\" UUID NOT NULL,\\n \\\"period_close_id\\\" UUID,\\n \\\"source_type\\\" TEXT DEFAULT 'client_charge',\\n \\\"source_id\\\" TEXT DEFAULT '',\\n \\\"line_key\\\" TEXT DEFAULT '',\\n \\\"line_description\\\" TEXT DEFAULT '',\\n \\\"amount\\\" INTEGER DEFAULT 0,\\n \\\"discount\\\" INTEGER DEFAULT 0,\\n \\\"quantity\\\" REAL DEFAULT 0,\\n \\\"chain_sequence\\\" INTEGER DEFAULT 0,\\n \\\"currency\\\" TEXT DEFAULT 'USD',\\n \\\"period_start\\\" TIMESTAMP,\\n \\\"period_end\\\" TIMESTAMP\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"seller_tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":true,\"unique\":false},\"period_close_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false,\"foreignKey\":{\"table\":\"_smrt_billing_period_closes\",\"column\":\"id\",\"onDelete\":\"NO ACTION\",\"onUpdate\":\"CASCADE\"}},\"source_type\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"client_charge\"},\"source_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"line_key\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"line_description\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"amount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"discount\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"quantity\":{\"type\":\"REAL\",\"notNull\":false,\"unique\":false,\"default\":0},\"chain_sequence\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0},\"currency\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"USD\"},\"period_start\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"period_end\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false}},\"indexes\":[{\"name\":\"_smrt_billing_line_sources_source_type_source_id_idx\",\"columns\":[\"source_type\",\"source_id\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"_smrt_billing_line_sources_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"_smrt_billing_line_sources_line_key_chain_sequence_idx\",\"columns\":[\"line_key\",\"chain_sequence\"]},{\"name\":\"_smrt_billing_line_sources_created_at_idx\",\"columns\":[\"created_at\"]},{\"name\":\"_smrt_billing_line_sources_seller_tenant_id_idx\",\"columns\":[\"seller_tenant_id\"]},{\"name\":\"_smrt_billing_line_sources_period_close_id_idx\",\"columns\":[\"period_close_id\"]}],\"version\":\"35e3aaa7\"},\"importPath\":\"@happyvertical/smrt-commerce\"}},\"moduleType\":\"smrt\",\"smrtDependencies\":[\"@happyvertical/smrt-core\",\"@happyvertical/smrt-jobs\",\"@happyvertical/smrt-ledgers\",\"@happyvertical/smrt-subscriptions\",\"@happyvertical/smrt-tenancy\"]}"));
25
+ //#endregion
26
+ //#region src/billing/cycles.ts
27
+ function daysInMonth(year, month) {
28
+ return new Date(Date.UTC(year, month + 1, 0)).getUTCDate();
29
+ }
30
+ function addBillingMonths(anchor, months) {
31
+ const total = anchor.getUTCFullYear() * 12 + anchor.getUTCMonth() + months;
32
+ const year = Math.floor(total / 12);
33
+ const month = total - year * 12;
34
+ const day = Math.min(anchor.getUTCDate(), daysInMonth(year, month));
35
+ return new Date(Date.UTC(year, month, day, anchor.getUTCHours(), anchor.getUTCMinutes(), anchor.getUTCSeconds(), anchor.getUTCMilliseconds()));
36
+ }
37
+ function monthStart(date) {
38
+ return new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), 1));
39
+ }
40
+ function calendarMonthContaining(at) {
41
+ const periodStart = monthStart(at);
42
+ const periodEnd = new Date(Date.UTC(periodStart.getUTCFullYear(), periodStart.getUTCMonth() + 1, 1));
43
+ return {
44
+ periodStart,
45
+ periodEnd,
46
+ cycleStart: periodStart,
47
+ cycleEnd: periodEnd
48
+ };
49
+ }
50
+ function assertValidDate(date, name) {
51
+ if (!(date instanceof Date) || !Number.isFinite(date.getTime())) throw new Error(`${name} must be a valid date.`);
52
+ }
53
+ function billingPeriodContaining(anchor, at) {
54
+ assertValidDate(at, "at");
55
+ if (!anchor) return calendarMonthContaining(at);
56
+ assertValidDate(anchor, "billingAnchorAt");
57
+ const time = at.getTime();
58
+ if (time < anchor.getTime()) {
59
+ const anchorMonth = monthStart(anchor);
60
+ if (time >= anchorMonth.getTime()) {
61
+ const cycle = calendarMonthContaining(anchorMonth);
62
+ return {
63
+ periodStart: anchorMonth,
64
+ periodEnd: anchor,
65
+ cycleStart: cycle.cycleStart,
66
+ cycleEnd: cycle.cycleEnd
67
+ };
68
+ }
69
+ return calendarMonthContaining(at);
70
+ }
71
+ let k = (at.getUTCFullYear() - anchor.getUTCFullYear()) * 12 + (at.getUTCMonth() - anchor.getUTCMonth());
72
+ while (k > 0 && addBillingMonths(anchor, k).getTime() > time) k -= 1;
73
+ while (addBillingMonths(anchor, k + 1).getTime() <= time) k += 1;
74
+ const periodStart = addBillingMonths(anchor, k);
75
+ const periodEnd = addBillingMonths(anchor, k + 1);
76
+ return {
77
+ periodStart,
78
+ periodEnd,
79
+ cycleStart: periodStart,
80
+ cycleEnd: periodEnd
81
+ };
82
+ }
83
+ function lastEndedBillingPeriod(anchor, now = /* @__PURE__ */ new Date()) {
84
+ const current = billingPeriodContaining(anchor, now);
85
+ return billingPeriodContaining(anchor, /* @__PURE__ */ new Date(current.periodStart.getTime() - 1));
86
+ }
87
+ function prorateMinorUnits(amount, coveredMs, cycleMs) {
88
+ if (!Number.isSafeInteger(amount) || amount < 0) throw new Error("A prorated amount must be a non-negative safe integer.");
89
+ if (!Number.isSafeInteger(cycleMs) || cycleMs <= 0) throw new Error("A billing cycle must have a positive length.");
90
+ if (!Number.isSafeInteger(coveredMs) || coveredMs <= 0) return 0;
91
+ if (coveredMs >= cycleMs) return amount;
92
+ const numerator = BigInt(amount) * BigInt(coveredMs) * 2n + BigInt(cycleMs);
93
+ return Number(numerator / (BigInt(cycleMs) * 2n));
94
+ }
25
95
  //#endregion
26
96
  //#region src/billing/jobs.ts
27
97
  var jobs_exports = /* @__PURE__ */ __exportAll({
@@ -125,17 +195,23 @@ function isCalendarMonth(period) {
125
195
  const { periodStart: start, periodEnd: end } = period;
126
196
  return start.getUTCDate() === 1 && start.getUTCHours() === 0 && start.getUTCMinutes() === 0 && start.getUTCSeconds() === 0 && start.getUTCMilliseconds() === 0 && end.getTime() === Date.UTC(start.getUTCFullYear(), start.getUTCMonth() + 1, 1);
127
197
  }
128
- function resolvePeriod(input) {
129
- if (!input.periodStart && !input.periodEnd) return previousCalendarMonth(input.now);
198
+ function resolveMode(input) {
199
+ const now = input.now ?? /* @__PURE__ */ new Date();
200
+ if (!input.periodStart && !input.periodEnd) return {
201
+ kind: "due",
202
+ now
203
+ };
130
204
  if (!input.periodStart || !input.periodEnd) throw new Error("Pass both periodStart and periodEnd, or neither.");
131
205
  const period = {
132
206
  periodStart: input.periodStart,
133
207
  periodEnd: input.periodEnd
134
208
  };
135
209
  if (!Number.isFinite(period.periodStart.getTime()) || !(period.periodEnd.getTime() > period.periodStart.getTime())) throw new Error("A billing period must end after it starts.");
136
- const now = input.now ?? /* @__PURE__ */ new Date();
137
210
  if (period.periodEnd.getTime() > now.getTime()) throw new Error("A billing period cannot be closed before it ends.");
138
- return period;
211
+ return {
212
+ kind: "explicit",
213
+ period
214
+ };
139
215
  }
140
216
  function periodCloseId(runtime, payerTenantId, currency, period) {
141
217
  return deterministicId([
@@ -155,55 +231,116 @@ function sourceId(type, id) {
155
231
  id
156
232
  ]);
157
233
  }
234
+ function samePeriod(a, b) {
235
+ return a.periodStart.getTime() === b.periodStart.getTime() && a.periodEnd.getTime() === b.periodEnd.getTime();
236
+ }
237
+ var PayerSchedules = class {
238
+ constructor(runtime, mode) {
239
+ this.runtime = runtime;
240
+ this.mode = mode;
241
+ }
242
+ runtime;
243
+ mode;
244
+ cache = /* @__PURE__ */ new Map();
245
+ get(payerTenantId) {
246
+ const key = tenantKey(payerTenantId);
247
+ let schedule = this.cache.get(key);
248
+ if (!schedule) {
249
+ schedule = this.resolve(key);
250
+ this.cache.set(key, schedule);
251
+ }
252
+ return schedule;
253
+ }
254
+ async resolve(payer) {
255
+ const account = isTenantId(payer) ? await this.runtime.getAccount(payer) : null;
256
+ const anchor = account?.billingAnchorAt ?? null;
257
+ const prorate = Boolean(account?.prorateFlatPlans);
258
+ if (this.mode.kind === "due") return {
259
+ period: lastEndedBillingPeriod(anchor, this.mode.now),
260
+ billsFlatPlans: true,
261
+ prorate
262
+ };
263
+ const explicit = this.mode.period;
264
+ if (!anchor) return {
265
+ period: {
266
+ ...explicit,
267
+ cycleStart: explicit.periodStart,
268
+ cycleEnd: explicit.periodEnd
269
+ },
270
+ billsFlatPlans: isCalendarMonth(explicit),
271
+ prorate
272
+ };
273
+ const scheduled = billingPeriodContaining(anchor, explicit.periodStart);
274
+ const matches = samePeriod(scheduled, explicit);
275
+ return {
276
+ period: matches ? scheduled : null,
277
+ billsFlatPlans: matches,
278
+ prorate
279
+ };
280
+ }
281
+ };
158
282
  async function closeBillingPeriod(runtime, input = {}) {
159
- const period = resolvePeriod(input);
283
+ const mode = resolveMode(input);
160
284
  const now = input.now ?? /* @__PURE__ */ new Date();
161
- const groups = await withSystemContext(() => collectGroups(runtime, period));
162
- const existing = (await runtime.closes.list({ where: {
285
+ const schedules = new PayerSchedules(runtime, mode);
286
+ const groups = await withSystemContext(() => collectGroups(runtime, mode, schedules));
287
+ const unfinished = await runtime.closes.list({ where: {
163
288
  sellerTenantId: runtime.sellerTenantId,
164
289
  kind: runtime.kind,
165
290
  "status !=": "completed"
166
- } })).filter((close) => close.periodStart.getTime() === period.periodStart.getTime() && close.periodEnd.getTime() === period.periodEnd.getTime());
291
+ } });
167
292
  const results = [];
168
293
  const seen = /* @__PURE__ */ new Set();
169
294
  for (const group of groups) {
170
295
  seen.add(group.closeId);
171
- results.push(await closeGroup(runtime, period, group, now));
296
+ results.push(await closeGroup(runtime, group, now));
172
297
  }
173
- for (const close of existing) {
298
+ for (const close of unfinished) {
174
299
  if (!close.id || seen.has(close.id) || close.status === "completed" || close.status === "carried_forward") continue;
175
- results.push(await closeGroup(runtime, period, {
300
+ const period = (mode.kind === "explicit" ? samePeriod(close, mode.period) : close.periodEnd.getTime() <= now.getTime()) ? {
301
+ periodStart: close.periodStart,
302
+ periodEnd: close.periodEnd,
303
+ cycleStart: close.periodStart,
304
+ cycleEnd: close.periodEnd
305
+ } : null;
306
+ if (!period) continue;
307
+ results.push(await closeGroup(runtime, {
176
308
  payerTenantId: close.payerTenantId,
177
309
  currency: close.currency,
178
310
  closeId: close.id,
311
+ period,
179
312
  candidates: []
180
313
  }, now));
181
314
  }
182
315
  const result = {
183
316
  sellerTenantId: runtime.sellerTenantId,
184
- ...period,
317
+ ...mode.kind === "explicit" ? mode.period : previousCalendarMonth(now),
185
318
  groups: results
186
319
  };
187
320
  if (results.some((group) => group.outcome === "failed")) throw new BillingPeriodCloseError(result);
188
321
  return result;
189
322
  }
190
- async function collectGroups(runtime, period) {
323
+ async function collectGroups(runtime, mode, schedules) {
324
+ const bound = mode.kind === "explicit" ? mode.period.periodEnd : mode.now;
191
325
  const candidates = [];
192
326
  if (runtime.kind === "provider") {
193
- candidates.push(...await collectClientCharges(runtime, period));
194
- candidates.push(...await collectAdjustments(runtime, period));
195
- } else candidates.push(...await collectRetailCharges(runtime, period));
196
- if (isCalendarMonth(period)) candidates.push(...await collectFlatPlans(runtime, period));
197
- candidates.push(...await collectCarriedCredits(runtime, period));
327
+ candidates.push(...await collectClientCharges(runtime, bound, schedules));
328
+ candidates.push(...await collectAdjustments(runtime, bound, schedules));
329
+ } else candidates.push(...await collectRetailCharges(runtime, bound, schedules));
330
+ candidates.push(...await collectFlatPlans(runtime, bound, schedules));
331
+ candidates.push(...await collectCarriedCredits(runtime, schedules));
198
332
  const byGroup = /* @__PURE__ */ new Map();
199
333
  for (const candidate of candidates) {
200
334
  const key = `${candidate.payerTenantId}|${candidate.currency}`;
201
335
  let group = byGroup.get(key);
202
336
  if (!group) {
337
+ const { period } = await schedules.get(candidate.payerTenantId);
338
+ if (!period) continue;
203
339
  group = {
204
340
  payerTenantId: candidate.payerTenantId,
205
341
  currency: candidate.currency,
206
342
  closeId: await periodCloseId(runtime, candidate.payerTenantId, candidate.currency, period),
343
+ period,
207
344
  candidates: []
208
345
  };
209
346
  byGroup.set(key, group);
@@ -211,14 +348,20 @@ async function collectGroups(runtime, period) {
211
348
  group.candidates.push(candidate);
212
349
  }
213
350
  const groups = [...byGroup.values()].sort((a, b) => `${a.payerTenantId}|${a.currency}`.localeCompare(`${b.payerTenantId}|${b.currency}`));
351
+ const flatClaims = await loadFlatClaims(runtime, candidates.flatMap((candidate) => candidate.flat ? [candidate.flat] : []));
214
352
  for (const group of groups) {
215
- const ids = await Promise.all(group.candidates.map((candidate) => sourceId(candidate.sourceType, candidate.sourceId)));
353
+ const ids = await Promise.all(group.candidates.map((candidate) => candidate.flat ? "" : sourceId(candidate.sourceType, candidate.sourceId)));
216
354
  const claimed = /* @__PURE__ */ new Map();
217
- for (let offset = 0; offset < ids.length; offset += runtime.pageSize) {
218
- const rows = await runtime.sources.list({ where: { id: ids.slice(offset, offset + runtime.pageSize) } });
355
+ const lookup = ids.filter(Boolean);
356
+ for (let offset = 0; offset < lookup.length; offset += runtime.pageSize) {
357
+ const rows = await runtime.sources.list({ where: { id: lookup.slice(offset, offset + runtime.pageSize) } });
219
358
  for (const row of rows) if (row.id) claimed.set(row.id, row.periodCloseId);
220
359
  }
221
- group.candidates = group.candidates.filter((_, index) => {
360
+ group.candidates = group.candidates.filter((candidate, index) => {
361
+ if (candidate.flat) {
362
+ const claims = flatClaims.get(candidate.flat.subscriptionId) ?? [];
363
+ return claims.some((claim) => claim.periodCloseId === group.closeId) || uncovered(candidate.flat, claims).length > 0;
364
+ }
222
365
  const owner = claimed.get(ids[index]);
223
366
  return owner === void 0 || owner === group.closeId;
224
367
  });
@@ -233,18 +376,31 @@ async function listAll(pageSize, page) {
233
376
  if (rows.length < pageSize) return all;
234
377
  }
235
378
  }
236
- async function unclaimedIds(runtime, table, sourceType, where, params) {
237
- const ids = [];
379
+ async function unclaimedRows(runtime, table, sourceType, atColumn, where, params) {
380
+ const rows = [];
238
381
  for (let offset = 0;; offset += runtime.pageSize) {
239
- const result = await runtime.db.query(`SELECT c.id AS id FROM ${table} c
382
+ const result = await runtime.db.query(`SELECT c.id AS id, c.tenant_id AS payer, c.${atColumn} AS at
383
+ FROM ${table} c
240
384
  LEFT JOIN _smrt_billing_line_sources s
241
385
  ON s.source_type = ? AND s.source_id = CAST(c.id AS TEXT)
242
386
  WHERE s.id IS NULL AND ${where}
243
387
  ORDER BY c.id
244
388
  LIMIT ? OFFSET ?`, sourceType, ...params, runtime.pageSize, offset);
245
- for (const row of result.rows) ids.push(String(row.id));
246
- if (result.rows.length < runtime.pageSize) return ids;
389
+ for (const row of result.rows) rows.push({
390
+ id: String(row.id),
391
+ payer: tenantKey(row.payer),
392
+ at: new Date(row.at)
393
+ });
394
+ if (result.rows.length < runtime.pageSize) return rows;
395
+ }
396
+ }
397
+ async function billableIds(rows, schedules) {
398
+ const ids = [];
399
+ for (const row of rows) {
400
+ const { period } = await schedules.get(row.payer);
401
+ if (period && row.at.getTime() < period.periodEnd.getTime()) ids.push(row.id);
247
402
  }
403
+ return ids;
248
404
  }
249
405
  async function loadByIds(pageSize, ids, load) {
250
406
  const rows = [];
@@ -266,9 +422,9 @@ async function sellerBookIds(runtime) {
266
422
  function isSellerCharge(charge, books) {
267
423
  return !charge.priceBookId || books.has(String(charge.priceBookId));
268
424
  }
269
- async function collectClientCharges(runtime, period) {
425
+ async function collectClientCharges(runtime, bound, schedules) {
270
426
  const books = await sellerBookIds(runtime);
271
- const ids = await unclaimedIds(runtime, "_smrt_client_charges", "client_charge", "c.status IN ('approved', 'adjusted') AND c.approved_at < ?", [period.periodEnd.toISOString()]);
427
+ const ids = await billableIds(await unclaimedRows(runtime, "_smrt_client_charges", "client_charge", "approved_at", "c.status IN ('approved', 'adjusted') AND c.approved_at < ?", [bound.toISOString()]), schedules);
272
428
  return (await loadByIds(runtime.pageSize, ids, (batch) => runtime.charges.list({ where: { id: batch } }))).filter((charge) => charge.id && isSellerCharge(charge, books)).filter((charge) => tenantKey(charge.tenantId) !== runtime.sellerTenantId).map((charge) => {
273
429
  const payer = tenantKey(charge.tenantId);
274
430
  const usageTenant = tenantKey(charge.usageTenantId);
@@ -288,9 +444,9 @@ async function collectClientCharges(runtime, period) {
288
444
  };
289
445
  });
290
446
  }
291
- async function collectAdjustments(runtime, period) {
447
+ async function collectAdjustments(runtime, bound, schedules) {
292
448
  const books = await sellerBookIds(runtime);
293
- const ids = await unclaimedIds(runtime, "_smrt_billing_adjustments", "billing_adjustment", "c.created_at < ?", [period.periodEnd.toISOString()]);
449
+ const ids = await billableIds(await unclaimedRows(runtime, "_smrt_billing_adjustments", "billing_adjustment", "created_at", "c.created_at < ?", [bound.toISOString()]), schedules);
294
450
  const adjustments = await loadByIds(runtime.pageSize, ids, (batch) => runtime.adjustments.list({ where: { id: batch } }));
295
451
  const chargeIds = [...new Set(adjustments.map((row) => String(row.clientChargeId)))].filter(Boolean);
296
452
  const charges = /* @__PURE__ */ new Map();
@@ -320,8 +476,8 @@ async function collectAdjustments(runtime, period) {
320
476
  }
321
477
  return candidates;
322
478
  }
323
- async function collectRetailCharges(runtime, period) {
324
- const ids = await unclaimedIds(runtime, "_smrt_retail_charges", "retail_charge", "c.reseller_tenant_id = ? AND c.status = 'approved' AND c.approved_at < ?", [runtime.sellerTenantId, period.periodEnd.toISOString()]);
479
+ async function collectRetailCharges(runtime, bound, schedules) {
480
+ const ids = await billableIds(await unclaimedRows(runtime, "_smrt_retail_charges", "retail_charge", "approved_at", "c.reseller_tenant_id = ? AND c.status = 'approved' AND c.approved_at < ?", [runtime.sellerTenantId, bound.toISOString()]), schedules);
325
481
  return (await loadByIds(runtime.pageSize, ids, (batch) => runtime.retailCharges.list({ where: { id: batch } }))).filter((charge) => charge.id).map((charge) => ({
326
482
  sourceType: "retail_charge",
327
483
  sourceId: String(charge.id),
@@ -336,8 +492,8 @@ async function collectRetailCharges(runtime, period) {
336
492
  periodEnd: null
337
493
  }));
338
494
  }
339
- async function collectCarriedCredits(runtime, period) {
340
- return (await listAll(runtime.pageSize, (limit, offset) => runtime.closes.list({
495
+ async function collectCarriedCredits(runtime, schedules) {
496
+ const carried = await listAll(runtime.pageSize, (limit, offset) => runtime.closes.list({
341
497
  where: {
342
498
  sellerTenantId: runtime.sellerTenantId,
343
499
  kind: runtime.kind,
@@ -346,24 +502,32 @@ async function collectCarriedCredits(runtime, period) {
346
502
  orderBy: "id ASC",
347
503
  limit,
348
504
  offset
349
- }))).filter((close) => close.id && close.periodEnd.getTime() <= period.periodStart.getTime() && Number(close.subtotal) < 0).map((close) => ({
350
- sourceType: "credit_carry_forward",
351
- sourceId: String(close.id),
352
- payerTenantId: tenantKey(close.payerTenantId),
353
- currency: normalizeCurrency(close.currency),
354
- lineKey: `carry-forward|${close.id}`,
355
- lineDescription: `Credit carried forward from ${isoDate(close.periodStart)} to ${isoDate(/* @__PURE__ */ new Date(close.periodEnd.getTime() - 1))}`,
356
- amount: Number(close.subtotal),
357
- quantity: 0,
358
- discountable: false,
359
- periodStart: null,
360
- periodEnd: null
361
505
  }));
506
+ const candidates = [];
507
+ for (const close of carried) {
508
+ if (!close.id || !(Number(close.subtotal) < 0)) continue;
509
+ const { period } = await schedules.get(close.payerTenantId);
510
+ if (!period || close.periodEnd.getTime() > period.periodStart.getTime()) continue;
511
+ candidates.push({
512
+ sourceType: "credit_carry_forward",
513
+ sourceId: String(close.id),
514
+ payerTenantId: tenantKey(close.payerTenantId),
515
+ currency: normalizeCurrency(close.currency),
516
+ lineKey: `carry-forward|${close.id}`,
517
+ lineDescription: `Credit carried forward from ${isoDate(close.periodStart)} to ${isoDate(/* @__PURE__ */ new Date(close.periodEnd.getTime() - 1))}`,
518
+ amount: Number(close.subtotal),
519
+ quantity: 0,
520
+ discountable: false,
521
+ periodStart: null,
522
+ periodEnd: null
523
+ });
524
+ }
525
+ return candidates;
362
526
  }
363
527
  function isoDate(date) {
364
528
  return date.toISOString().slice(0, 10);
365
529
  }
366
- async function collectFlatPlans(runtime, period) {
530
+ async function collectFlatPlans(runtime, bound, schedules) {
367
531
  const subscriptions = await listAll(runtime.pageSize, (limit, offset) => runtime.subscriptions.list({
368
532
  where: {
369
533
  status: [
@@ -373,7 +537,7 @@ async function collectFlatPlans(runtime, period) {
373
537
  "canceled"
374
538
  ],
375
539
  subscriberKind: "tenant",
376
- "startedAt <": period.periodEnd.toISOString()
540
+ "startedAt <": bound.toISOString()
377
541
  },
378
542
  orderBy: "id ASC",
379
543
  limit,
@@ -388,7 +552,7 @@ async function collectFlatPlans(runtime, period) {
388
552
  const candidates = [];
389
553
  for (const subscription of subscriptions) {
390
554
  const plan = plans.get(String(subscription.planId));
391
- if (!plan || !isFlatBillable(subscription, plan, period)) continue;
555
+ if (!subscription.id || !plan || !isFlatPlan(subscription, plan)) continue;
392
556
  const planSeller = tenantKey(plan.tenantId);
393
557
  const subscriber = tenantKey(subscription.tenantId);
394
558
  let payer;
@@ -403,37 +567,175 @@ async function collectFlatPlans(runtime, period) {
403
567
  }
404
568
  payer = tenantKey(payer);
405
569
  if (!payer || payer === runtime.sellerTenantId) continue;
570
+ const schedule = await schedules.get(payer);
571
+ if (!schedule.period || !schedule.billsFlatPlans) continue;
572
+ const window = flatWindow(subscription, schedule.period, schedule.prorate);
573
+ if (!window) continue;
406
574
  const forTenant = payer !== subscriber ? ` for tenant ${subscriber}` : "";
407
575
  candidates.push({
408
576
  sourceType: "subscription_period",
409
- sourceId: `${subscription.id}:${period.periodStart.toISOString()}`,
577
+ sourceId: "",
410
578
  payerTenantId: payer,
411
579
  currency: normalizeCurrency(plan.currency),
412
- lineKey: `subscription|${subscription.id}`,
413
- lineDescription: `${plan.name || plan.planKey}${forTenant} \u2014 ${isoDate(period.periodStart)} to ${isoDate(/* @__PURE__ */ new Date(period.periodEnd.getTime() - 1))}`,
414
- amount: Number(plan.priceAmount),
580
+ lineKey: flatLineKey(String(subscription.id)),
581
+ lineDescription: "",
582
+ amount: 0,
415
583
  quantity: 1,
416
584
  discountable: true,
417
- periodStart: period.periodStart,
418
- periodEnd: period.periodEnd
585
+ periodStart: window.start,
586
+ periodEnd: window.end,
587
+ flat: {
588
+ subscriptionId: String(subscription.id),
589
+ planAmount: Number(plan.priceAmount),
590
+ label: `${plan.name || plan.planKey}${forTenant}`,
591
+ windowStart: window.start,
592
+ windowEnd: window.end,
593
+ cycleMs: schedule.period.cycleEnd.getTime() - schedule.period.cycleStart.getTime()
594
+ }
419
595
  });
420
596
  }
421
597
  return candidates;
422
598
  }
423
- function isFlatBillable(subscription, plan, period) {
599
+ function isFlatPlan(subscription, plan) {
424
600
  if (subscription.stripeSubscriptionId) return false;
425
601
  if (plan.billingInterval !== "month") return false;
426
602
  if (!Number.isSafeInteger(plan.priceAmount) || plan.priceAmount <= 0) return false;
427
- const start = period.periodStart.getTime();
428
603
  if (subscription.status === "canceled" && !subscription.canceledAt) return false;
429
- if (subscription.canceledAt && subscription.canceledAt.getTime() <= start) return false;
430
- if (subscription.trialEndsAt && subscription.trialEndsAt.getTime() > start) return false;
431
604
  return true;
432
605
  }
433
- async function closeGroup(runtime, period, group, now) {
606
+ function flatWindow(subscription, period, prorate) {
607
+ const start = period.periodStart.getTime();
608
+ const end = period.periodEnd.getTime();
609
+ const startedAt = subscription.startedAt.getTime();
610
+ const canceledAt = subscription.canceledAt?.getTime();
611
+ const trialEndsAt = subscription.trialEndsAt?.getTime();
612
+ if (!(startedAt < end)) return null;
613
+ if (canceledAt !== void 0 && canceledAt <= start) return null;
614
+ if (!prorate) {
615
+ if (trialEndsAt !== void 0 && trialEndsAt > start) return null;
616
+ return {
617
+ start: period.periodStart,
618
+ end: period.periodEnd
619
+ };
620
+ }
621
+ const from = Math.max(start, startedAt, trialEndsAt ?? start);
622
+ const to = Math.min(end, canceledAt ?? end);
623
+ return to > from ? {
624
+ start: new Date(from),
625
+ end: new Date(to)
626
+ } : null;
627
+ }
628
+ function flatLineKey(subscriptionId) {
629
+ return `subscription|${subscriptionId}`;
630
+ }
631
+ async function loadFlatClaims(runtime, flats) {
632
+ const bySubscription = /* @__PURE__ */ new Map();
633
+ for (const flat of flats) {
634
+ const start = flat.windowStart.getTime();
635
+ const end = flat.windowEnd.getTime();
636
+ const known = bySubscription.get(flat.subscriptionId);
637
+ bySubscription.set(flat.subscriptionId, known ? [Math.min(known[0], start), Math.max(known[1], end)] : [start, end]);
638
+ }
639
+ const entries = [...bySubscription.entries()];
640
+ const claims = /* @__PURE__ */ new Map();
641
+ for (let offset = 0; offset < entries.length; offset += runtime.pageSize) {
642
+ const batch = entries.slice(offset, offset + runtime.pageSize);
643
+ const after = Math.min(...batch.map(([, [start]]) => start));
644
+ const before = Math.max(...batch.map(([, [, end]]) => end));
645
+ const rows = await runtime.sources.list({ where: {
646
+ sourceType: "subscription_period",
647
+ lineKey: batch.map(([subscriptionId]) => flatLineKey(subscriptionId)),
648
+ "periodEnd >": new Date(after).toISOString(),
649
+ "periodStart <": new Date(before).toISOString()
650
+ } });
651
+ for (const row of rows) {
652
+ const subscriptionId = row.lineKey.slice(13);
653
+ const list = claims.get(subscriptionId) ?? [];
654
+ list.push(row);
655
+ claims.set(subscriptionId, list);
656
+ }
657
+ }
658
+ return claims;
659
+ }
660
+ function uncovered(flat, claims) {
661
+ const start = flat.windowStart.getTime();
662
+ const end = flat.windowEnd.getTime();
663
+ const covered = claims.filter((claim) => claim.periodStart && claim.periodEnd).map((claim) => [claim.periodStart.getTime(), claim.periodEnd.getTime()]).filter(([from, to]) => from < end && to > start).sort((a, b) => a[0] - b[0]);
664
+ const gaps = [];
665
+ let cursor = start;
666
+ for (const [from, to] of covered) {
667
+ if (from > cursor) gaps.push([cursor, Math.min(from, end)]);
668
+ cursor = Math.max(cursor, to);
669
+ if (cursor >= end) break;
670
+ }
671
+ if (cursor < end) gaps.push([cursor, end]);
672
+ return gaps.filter(([from, to]) => to > from);
673
+ }
674
+ async function lastFlatSequence(runtime, subscriptionId) {
675
+ const [last] = await runtime.sources.list({
676
+ where: {
677
+ sourceType: "subscription_period",
678
+ lineKey: flatLineKey(subscriptionId)
679
+ },
680
+ orderBy: "chainSequence DESC",
681
+ limit: 1
682
+ });
683
+ return Number(last?.chainSequence) || 0;
684
+ }
685
+ function flatSourceId(subscriptionId, sequence) {
686
+ return `${subscriptionId}:seq:${sequence}`;
687
+ }
688
+ var MAX_FLAT_CLAIM_CONFLICTS = 8;
689
+ async function claimFlatWindow(runtime, closeId, candidate, flat, account) {
690
+ let conflicts = 0;
691
+ for (;;) {
692
+ const sequence = await lastFlatSequence(runtime, flat.subscriptionId) + 1;
693
+ const gap = uncovered(flat, (await loadFlatClaims(runtime, [flat])).get(flat.subscriptionId) ?? []).map(([from, to]) => ({
694
+ from,
695
+ to,
696
+ amount: prorateMinorUnits(flat.planAmount, to - from, flat.cycleMs)
697
+ })).find((part) => part.amount > 0);
698
+ if (!gap) return;
699
+ const billedStart = new Date(gap.from);
700
+ const billedEnd = new Date(gap.to);
701
+ const claimSourceId = flatSourceId(flat.subscriptionId, sequence);
702
+ const id = await sourceId("subscription_period", claimSourceId);
703
+ const prorated = gap.to - gap.from < flat.cycleMs ? " (prorated)" : "";
704
+ try {
705
+ await runtime.sources.create({
706
+ id,
707
+ sellerTenantId: runtime.sellerTenantId,
708
+ periodCloseId: closeId,
709
+ sourceType: "subscription_period",
710
+ sourceId: claimSourceId,
711
+ chainSequence: sequence,
712
+ lineKey: candidate.lineKey,
713
+ lineDescription: `${flat.label} \u2014 ${isoDate(billedStart)} to ${isoDate(/* @__PURE__ */ new Date(billedEnd.getTime() - 1))}${prorated}`,
714
+ amount: gap.amount,
715
+ discount: flatDiscount(gap.amount, account),
716
+ quantity: 1,
717
+ currency: candidate.currency,
718
+ periodStart: billedStart,
719
+ periodEnd: billedEnd,
720
+ _insertOnly: true
721
+ });
722
+ } catch (error) {
723
+ if (!await runtime.sources.get(id)) throw error;
724
+ conflicts += 1;
725
+ if (conflicts >= MAX_FLAT_CLAIM_CONFLICTS) throw new Error(`Could not claim subscription ${flat.subscriptionId}: its billed coverage kept changing.`);
726
+ }
727
+ }
728
+ }
729
+ function flatDiscount(amount, account) {
730
+ return Math.round(amount * Number(account.flatDiscountBasisPoints) / 1e4);
731
+ }
732
+ async function closeGroup(runtime, group, now) {
733
+ const { period } = group;
434
734
  const base = {
435
735
  payerTenantId: group.payerTenantId,
436
736
  currency: group.currency,
737
+ periodStart: period.periodStart,
738
+ periodEnd: period.periodEnd,
437
739
  closeId: group.closeId
438
740
  };
439
741
  let leaseToken = null;
@@ -524,8 +826,12 @@ async function advance(runtime, close, candidates, account) {
524
826
  async function collectAndInvoice(runtime, close, candidates, account) {
525
827
  const closeId = String(close.id);
526
828
  for (const candidate of candidates) {
829
+ if (candidate.flat) {
830
+ await claimFlatWindow(runtime, closeId, candidate, candidate.flat, account);
831
+ continue;
832
+ }
527
833
  const id = await sourceId(candidate.sourceType, candidate.sourceId);
528
- const discount = candidate.discountable ? Math.round(candidate.amount * Number(account.flatDiscountBasisPoints) / 1e4) : 0;
834
+ const discount = candidate.discountable ? flatDiscount(candidate.amount, account) : 0;
529
835
  try {
530
836
  await runtime.sources.create({
531
837
  id,
@@ -630,10 +936,11 @@ async function collectAndInvoice(runtime, close, candidates, account) {
630
936
  function groupLines(sources) {
631
937
  const lines = /* @__PURE__ */ new Map();
632
938
  for (const source of sources) {
633
- let line = lines.get(source.lineKey);
939
+ const key = source.sourceType === "subscription_period" && Number(source.chainSequence) > 0 ? `${source.lineKey}|${source.periodStart?.toISOString() ?? ""}` : source.lineKey;
940
+ let line = lines.get(key);
634
941
  if (!line) {
635
942
  line = {
636
- key: source.lineKey,
943
+ key,
637
944
  description: source.lineDescription,
638
945
  amount: 0,
639
946
  discount: 0,
@@ -641,7 +948,7 @@ function groupLines(sources) {
641
948
  periodStart: source.periodStart,
642
949
  periodEnd: source.periodEnd
643
950
  };
644
- lines.set(source.lineKey, line);
951
+ lines.set(key, line);
645
952
  }
646
953
  line.amount += Number(source.amount);
647
954
  line.discount += Number(source.discount);
@@ -2184,6 +2491,15 @@ var BillingAccount = class extends SmrtObject {
2184
2491
  flatDiscountBasisPoints = 0;
2185
2492
  paymentTermsDays = 30;
2186
2493
  standing = "current";
2494
+ billingAnchorAt = null;
2495
+ /**
2496
+ * Prorate flat plans to the time they were active inside a period
2497
+ * (#3116): a subscription starting, leaving trial, or canceled mid-period
2498
+ * is billed `price × covered / cycle`, rounded half up to minor units.
2499
+ * Off, a flat plan active at any point of a period is billed in full (the
2500
+ * pre-#3116 behavior).
2501
+ */
2502
+ prorateFlatPlans = false;
2187
2503
  async validateBeforeSave() {
2188
2504
  await super.validateBeforeSave();
2189
2505
  this.sellerTenantId = canonicalTenantId(this.sellerTenantId, "sellerTenantId");
@@ -2193,11 +2509,16 @@ var BillingAccount = class extends SmrtObject {
2193
2509
  if (!Number.isSafeInteger(this.flatDiscountBasisPoints) || this.flatDiscountBasisPoints < 0 || this.flatDiscountBasisPoints > 1e4) throw new Error("flatDiscountBasisPoints must be an integer from 0 to 10000.");
2194
2510
  if (!Number.isSafeInteger(this.paymentTermsDays) || this.paymentTermsDays < 0 || this.paymentTermsDays > 365) throw new Error("paymentTermsDays must be an integer from 0 to 365.");
2195
2511
  if (!STANDINGS.includes(this.standing)) throw new Error("standing must be current, past_due, or uncollectible.");
2512
+ if (this.billingAnchorAt !== null && (!(this.billingAnchorAt instanceof Date) || !Number.isFinite(this.billingAnchorAt.getTime()))) throw new Error("billingAnchorAt must be a valid date or null.");
2196
2513
  }
2197
2514
  };
2198
2515
  __decorateClass$10([crossPackageRef("@happyvertical/smrt-users:Tenant"), field({ required: true })], BillingAccount.prototype, "sellerTenantId", 2);
2199
2516
  __decorateClass$10([crossPackageRef("@happyvertical/smrt-users:Tenant"), field({ required: true })], BillingAccount.prototype, "payerTenantId", 2);
2200
2517
  __decorateClass$10([foreignKey("Customer")], BillingAccount.prototype, "customerId", 2);
2518
+ __decorateClass$10([field({
2519
+ type: "datetime",
2520
+ nullable: true
2521
+ })], BillingAccount.prototype, "billingAnchorAt", 2);
2201
2522
  BillingAccount = __decorateClass$10([smrt({
2202
2523
  tableName: "_smrt_billing_accounts",
2203
2524
  conflictColumns: ["seller_tenant_id", "payer_tenant_id"],
@@ -2284,7 +2605,16 @@ var BillingLineSource = class extends SmrtObject {
2284
2605
  discount = 0;
2285
2606
  /** Metered quantity, informational; fractional like the charge's. */
2286
2607
  quantity = 0;
2608
+ /**
2609
+ * A flat-plan claim's number within its subscription (1, 2, …; #3116). 0
2610
+ * for other sources and for flat-plan claims written before #3116.
2611
+ */
2612
+ chainSequence = 0;
2287
2613
  currency = "USD";
2614
+ /**
2615
+ * The billed window. For a flat plan this is the time the claim covers
2616
+ * (#3116), which later claims for the same subscription never overlap.
2617
+ */
2288
2618
  periodStart = null;
2289
2619
  periodEnd = null;
2290
2620
  };
@@ -2293,6 +2623,10 @@ __decorateClass$10([foreignKey("BillingPeriodClose")], BillingLineSource.prototy
2293
2623
  BillingLineSource = __decorateClass$10([smrt({
2294
2624
  tableName: "_smrt_billing_line_sources",
2295
2625
  conflictColumns: ["source_type", "source_id"],
2626
+ indexes: [{
2627
+ name: "_smrt_billing_line_sources_line_key_chain_sequence_idx",
2628
+ columns: ["lineKey", "chainSequence"]
2629
+ }],
2296
2630
  api: false,
2297
2631
  cli: false,
2298
2632
  mcp: false
@@ -3549,6 +3883,7 @@ var BillingRuntime = class BillingRuntime {
3549
3883
  */
3550
3884
  async upsertAccount(input) {
3551
3885
  const payerTenantId = canonicalTenantId(input.payerTenantId, "payerTenantId");
3886
+ if (input.billingAnchorAt !== void 0 && input.billingAnchorAt !== null && !(input.billingAnchorAt instanceof Date && Number.isFinite(input.billingAnchorAt.getTime()))) throw new Error("billingAnchorAt must be a valid date or null.");
3552
3887
  const id = await this.accountId(payerTenantId);
3553
3888
  const existing = await this.accounts.get(id);
3554
3889
  const customerId = await withTenant({ tenantId: this.sellerTenantId }, async () => {
@@ -3583,6 +3918,8 @@ var BillingRuntime = class BillingRuntime {
3583
3918
  if (input.automaticTax !== void 0) account.automaticTax = input.automaticTax;
3584
3919
  if (input.flatDiscountBasisPoints !== void 0) account.flatDiscountBasisPoints = input.flatDiscountBasisPoints;
3585
3920
  if (input.paymentTermsDays !== void 0) account.paymentTermsDays = input.paymentTermsDays;
3921
+ if (input.billingAnchorAt !== void 0) account.billingAnchorAt = input.billingAnchorAt;
3922
+ if (input.prorateFlatPlans !== void 0) account.prorateFlatPlans = input.prorateFlatPlans;
3586
3923
  if (input.providerCustomerId) {
3587
3924
  account.provider = this.provider.name;
3588
3925
  account.providerCustomerId = input.providerCustomerId;
@@ -3620,10 +3957,23 @@ var BillingRuntime = class BillingRuntime {
3620
3957
  automaticTax: account.automaticTax && !customer.taxExempt
3621
3958
  };
3622
3959
  }
3623
- /** Close a billing period (default: the previous calendar month, UTC). */
3960
+ /**
3961
+ * Close billing periods. Without a period, each payer's last ended period
3962
+ * on its own schedule (the previous UTC calendar month unless its account
3963
+ * has a `billingAnchorAt`), so running it daily is safe. See
3964
+ * {@link ClosePeriodInput}.
3965
+ */
3624
3966
  closePeriod(input = {}) {
3625
3967
  return closeBillingPeriod(this, input);
3626
3968
  }
3969
+ /**
3970
+ * The payer's billing period containing `at` (default now) on its account's
3971
+ * schedule — for example to show the next invoice date. A payer without an
3972
+ * account is on calendar months.
3973
+ */
3974
+ async billingPeriodFor(payerTenantId, at = /* @__PURE__ */ new Date()) {
3975
+ return billingPeriodContaining((await this.getAccount(payerTenantId))?.billingAnchorAt ?? null, at);
3976
+ }
3627
3977
  async getInvoice(invoiceId) {
3628
3978
  const invoice = await withTenant({ tenantId: this.sellerTenantId }, () => this.invoices.get(invoiceId));
3629
3979
  if (!invoice) throw new Error(`Invoice ${invoiceId} was not found.`);
@@ -6886,6 +7236,6 @@ function migrateCommerceMoneyToMinorUnits(db, options = {}) {
6886
7236
  });
6887
7237
  }
6888
7238
  //#endregion
6889
- export { Agreement, BillingAccount, BillingLineSource, BillingPeriodClose, BillingPeriodCloseError, BillingRuntime, BillingWebhookVerificationError, COMMERCE_MODULE_META, COMMERCE_MONEY_COLUMNS, COMMERCE_MONEY_MINOR_UNITS_BACKFILL, COMMERCE_NATIVE_UNIT_COLUMNS, COMMERCE_UI_SLOTS, Cart, Contract, ContractCollection, ContractLineItem, ContractLineItemCollection, ContractStatus, ContractType, Customer, CustomerCollection, CustomerStatus, CustomerType, Estimate, Fulfillment, FulfillmentCollection, FulfillmentLineItem, FulfillmentLineItemCollection, FulfillmentStatus, FulfillmentType, Invoice, InvoiceCollection, InvoiceLineItem, InvoiceLineItemCollection, InvoiceStatus, Lease, LicenseSale, Order, Payment, PaymentAllocation, PaymentAllocationCollection, PaymentCollection, PaymentInstrument, PaymentInstrumentCollection, PaymentInstrumentStatus, PaymentIntent, PaymentIntentCollection, PaymentIntentStatus, PaymentMethod, PaymentStatus, Payout, PayoutCollection, PayoutStatus, ProductionOrder, PurchaseOrder, UNPAID_STATUSES, Vendor, VendorCollection, VendorStatus, WholesaleOrder, assertIntegerMinorUnits, createStripeBillingProvider, currencyMinorUnitExponent, enqueueBillingEvents, enqueueBillingPeriodClose, getBillingRuntime, majorToMinorUnits, migrateCommerceMoneyToMinorUnits, minorToMajorUnits, preflightCommerceMoneyMinorUnits, previousCalendarMonth, registerBillingRuntime, unregisterBillingRuntime };
7239
+ export { Agreement, BillingAccount, BillingLineSource, BillingPeriodClose, BillingPeriodCloseError, BillingRuntime, BillingWebhookVerificationError, COMMERCE_MODULE_META, COMMERCE_MONEY_COLUMNS, COMMERCE_MONEY_MINOR_UNITS_BACKFILL, COMMERCE_NATIVE_UNIT_COLUMNS, COMMERCE_UI_SLOTS, Cart, Contract, ContractCollection, ContractLineItem, ContractLineItemCollection, ContractStatus, ContractType, Customer, CustomerCollection, CustomerStatus, CustomerType, Estimate, Fulfillment, FulfillmentCollection, FulfillmentLineItem, FulfillmentLineItemCollection, FulfillmentStatus, FulfillmentType, Invoice, InvoiceCollection, InvoiceLineItem, InvoiceLineItemCollection, InvoiceStatus, Lease, LicenseSale, Order, Payment, PaymentAllocation, PaymentAllocationCollection, PaymentCollection, PaymentInstrument, PaymentInstrumentCollection, PaymentInstrumentStatus, PaymentIntent, PaymentIntentCollection, PaymentIntentStatus, PaymentMethod, PaymentStatus, Payout, PayoutCollection, PayoutStatus, ProductionOrder, PurchaseOrder, UNPAID_STATUSES, Vendor, VendorCollection, VendorStatus, WholesaleOrder, addBillingMonths, assertIntegerMinorUnits, billingPeriodContaining, createStripeBillingProvider, currencyMinorUnitExponent, enqueueBillingEvents, enqueueBillingPeriodClose, getBillingRuntime, lastEndedBillingPeriod, majorToMinorUnits, migrateCommerceMoneyToMinorUnits, minorToMajorUnits, preflightCommerceMoneyMinorUnits, previousCalendarMonth, prorateMinorUnits, registerBillingRuntime, unregisterBillingRuntime };
6890
7240
 
6891
7241
  //# sourceMappingURL=index.js.map