@happyvertical/smrt-commerce 0.40.70 → 0.41.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,7 +1,9 @@
1
+ import { t as assertIntegerMinorUnits } from "./chunks/money-WSMvSgWq.js";
1
2
  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
3
  import { COMMERCE_MODULE_META, COMMERCE_UI_SLOTS } from "./ui.js";
3
4
  import { ObjectRegistry, SmrtCollection, SmrtObject, crossPackageRef, field, foreignKey, smrt } from "@happyvertical/smrt-core";
4
5
  import { TenantScoped, queryGlobal, queryWithGlobals, tenantId } from "@happyvertical/smrt-tenancy";
6
+ import { preflightMinorUnitsRescale, rescaleMoneyColumnsToMinorUnits } from "@happyvertical/smrt-core/migrations";
5
7
  //#region \0rolldown/runtime.js
6
8
  var __defProp$13 = Object.defineProperty;
7
9
  var __exportAll = (all, no_symbols) => {
@@ -15,7 +17,7 @@ var __exportAll = (all, no_symbols) => {
15
17
  };
16
18
  //#endregion
17
19
  //#region src/__smrt-register__.ts
18
- ObjectRegistry.registerPackageManifest(JSON.parse("{\"version\":\"1.0.0\",\"timestamp\":0,\"packageName\":\"@happyvertical/smrt-commerce\",\"packageVersion\":\"0.40.70\",\"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\":\"contract_collections\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"contract_collections\\\" (\\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);\",\"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\"}},\"indexes\":[{\"name\":\"contract_collections_id_idx\",\"columns\":[\"id\"]},{\"name\":\"contract_collections_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true}],\"version\":\"c2abc9f0\"}},\"@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_item_collections\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"contract_line_item_collections\\\" (\\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);\",\"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\"}},\"indexes\":[{\"name\":\"contract_line_item_collections_id_idx\",\"columns\":[\"id\"]},{\"name\":\"contract_line_item_collections_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true}],\"version\":\"410887d1\"}},\"@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}],\"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\":\"customer_collections\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"customer_collections\\\" (\\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);\",\"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\"}},\"indexes\":[{\"name\":\"customer_collections_id_idx\",\"columns\":[\"id\"]},{\"name\":\"customer_collections_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true}],\"version\":\"63593259\"}},\"@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\":\"fulfillment_collections\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"fulfillment_collections\\\" (\\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);\",\"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\"}},\"indexes\":[{\"name\":\"fulfillment_collections_id_idx\",\"columns\":[\"id\"]},{\"name\":\"fulfillment_collections_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true}],\"version\":\"0cb8f9e1\"}},\"@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_item_collections\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"fulfillment_line_item_collections\\\" (\\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);\",\"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\"}},\"indexes\":[{\"name\":\"fulfillment_line_item_collections_id_idx\",\"columns\":[\"id\"]},{\"name\":\"fulfillment_line_item_collections_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true}],\"version\":\"88e7502e\"}},\"@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\":\"invoice_collections\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"invoice_collections\\\" (\\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);\",\"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\"}},\"indexes\":[{\"name\":\"invoice_collections_id_idx\",\"columns\":[\"id\"]},{\"name\":\"invoice_collections_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true}],\"version\":\"4877ccc3\"}},\"@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_item_collections\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"invoice_line_item_collections\\\" (\\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);\",\"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\"}},\"indexes\":[{\"name\":\"invoice_line_item_collections_id_idx\",\"columns\":[\"id\"]},{\"name\":\"invoice_line_item_collections_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true}],\"version\":\"27337dcf\"}},\"@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_allocation_collections\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"payment_allocation_collections\\\" (\\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);\",\"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\"}},\"indexes\":[{\"name\":\"payment_allocation_collections_id_idx\",\"columns\":[\"id\"]},{\"name\":\"payment_allocation_collections_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true}],\"version\":\"0d07c4d3\"}},\"@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\":\"payment_collections\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"payment_collections\\\" (\\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);\",\"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\"}},\"indexes\":[{\"name\":\"payment_collections_id_idx\",\"columns\":[\"id\"]},{\"name\":\"payment_collections_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true}],\"version\":\"bf759c9b\"}},\"@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_instrument_collections\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"payment_instrument_collections\\\" (\\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);\",\"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\"}},\"indexes\":[{\"name\":\"payment_instrument_collections_id_idx\",\"columns\":[\"id\"]},{\"name\":\"payment_instrument_collections_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true}],\"version\":\"dd2ca72c\"}},\"@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_intent_collections\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"payment_intent_collections\\\" (\\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);\",\"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\"}},\"indexes\":[{\"name\":\"payment_intent_collections_id_idx\",\"columns\":[\"id\"]},{\"name\":\"payment_intent_collections_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true}],\"version\":\"f79d1a8f\"}},\"@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\":\"payout_collections\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"payout_collections\\\" (\\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);\",\"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\"}},\"indexes\":[{\"name\":\"payout_collections_id_idx\",\"columns\":[\"id\"]},{\"name\":\"payout_collections_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true}],\"version\":\"7dc3bcc1\"}},\"@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}],\"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\":\"vendor_collections\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"vendor_collections\\\" (\\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);\",\"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\"}},\"indexes\":[{\"name\":\"vendor_collections_id_idx\",\"columns\":[\"id\"]},{\"name\":\"vendor_collections_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true}],\"version\":\"ffdcddab\"}},\"@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\":\"decimal\",\"required\":false,\"default\":0},\"taxAmount\":{\"type\":\"decimal\",\"required\":false,\"default\":0},\"totalAmount\":{\"type\":\"decimal\",\"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\":{\"getAiUsageSnapshot\":{\"name\":\"getAiUsageSnapshot\",\"async\":false,\"parameters\":[],\"returnType\":\"AiUsageSnapshot | undefined\",\"isStatic\":false,\"isPublic\":true},\"resetAiUsage\":{\"name\":\"resetAiUsage\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"listAiUsage\":{\"name\":\"listAiUsage\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiUsageListOptions\",\"optional\":true}],\"returnType\":\"Promise<SmrtAiUsageRecord[]>\",\"isStatic\":false,\"isPublic\":true},\"summarizeAiUsage\":{\"name\":\"summarizeAiUsage\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiUsageSummaryOptions\",\"optional\":true}],\"returnType\":\"Promise<Record<string, AiUsageStats>>\",\"isStatic\":false,\"isPublic\":true},\"destroy\":{\"name\":\"destroy\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"markAsPersisted\":{\"name\":\"markAsPersisted\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"requireInsertOnSave\":{\"name\":\"requireInsertOnSave\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise\",\"isStatic\":false,\"isPublic\":true},\"loadDataFromDb\":{\"name\":\"loadDataFromDb\",\"async\":true,\"parameters\":[{\"name\":\"data\",\"type\":\"Record<string>\",\"optional\":false}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getFields\":{\"name\":\"getFields\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"toJSON\":{\"name\":\"toJSON\",\"async\":false,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"toPlainObject\":{\"name\":\"toPlainObject\",\"async\":false,\"parameters\":[],\"returnType\":\"Record<string>\",\"isStatic\":false,\"isPublic\":true},\"toPublicJSON\":{\"name\":\"toPublicJSON\",\"async\":false,\"parameters\":[{\"name\":\"options\",\"type\":\"PublicJsonOptions\",\"optional\":true}],\"returnType\":\"Record<string>\",\"isStatic\":false,\"isPublic\":true},\"getId\":{\"name\":\"getId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getSlug\":{\"name\":\"getSlug\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getSavedId\":{\"name\":\"getSavedId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"isSaved\":{\"name\":\"isSaved\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise\",\"isStatic\":false,\"isPublic\":true},\"classifyConstraintError\":{\"name\":\"classifyConstraintError\",\"async\":false,\"parameters\":[{\"name\":\"message\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"'unique' | 'not_null' | null\",\"isStatic\":true,\"isPublic\":true},\"loadFromId\":{\"name\":\"loadFromId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"loadFromSlug\":{\"name\":\"loadFromSlug\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"is\":{\"name\":\"is\",\"async\":true,\"parameters\":[{\"name\":\"criteria\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"do\":{\"name\":\"do\",\"async\":true,\"parameters\":[{\"name\":\"instructions\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"describe\":{\"name\":\"describe\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"delete\":{\"name\":\"delete\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"isRelatedLoaded\":{\"name\":\"isRelatedLoaded\",\"async\":false,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"_setLoadedRelationship\":{\"name\":\"_setLoadedRelationship\",\"async\":false,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"value\",\"type\":\"any\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"loadRelated\":{\"name\":\"loadRelated\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"loadRelatedMany\":{\"name\":\"loadRelatedMany\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any[]>\",\"isStatic\":false,\"isPublic\":true},\"getRelated\":{\"name\":\"getRelated\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"getAvailableTools\":{\"name\":\"getAvailableTools\",\"async\":false,\"parameters\":[],\"returnType\":\"AITool[]\",\"isStatic\":false,\"isPublic\":true},\"executeToolCall\":{\"name\":\"executeToolCall\",\"async\":true,\"parameters\":[{\"name\":\"toolCall\",\"type\":\"ToolCall\",\"optional\":false}],\"returnType\":\"Promise<ToolCallResult>\",\"isStatic\":false,\"isPublic\":true},\"remember\":{\"name\":\"remember\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"recall\":{\"name\":\"recall\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise\",\"isStatic\":false,\"isPublic\":true},\"recallAll\":{\"name\":\"recallAll\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":true}],\"returnType\":\"Promise<Map<string>>\",\"isStatic\":false,\"isPublic\":true},\"forget\":{\"name\":\"forget\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"forgetScope\":{\"name\":\"forgetScope\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"generateEmbeddings\":{\"name\":\"generateEmbeddings\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"GenerateEmbeddingsOptions\",\"optional\":true}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"getEmbedding\":{\"name\":\"getEmbedding\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"model\",\"type\":\"string\",\"optional\":true}],\"returnType\":\"Promise<number[] | null>\",\"isStatic\":false,\"isPublic\":true},\"hasStaleEmbeddings\":{\"name\":\"hasStaleEmbeddings\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<boolean>\",\"isStatic\":false,\"isPublic\":true},\"clearEmbeddings\":{\"name\":\"clearEmbeddings\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"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}},\"decoratorConfig\":{\"tableStrategy\":\"sti\",\"api\":{\"include\":[\"list\",\"get\",\"create\",\"update\"]},\"mcp\":{\"include\":[\"list\",\"get\"]},\"cli\":true,\"tenantScoped\":{\"mode\":\"optional\"}},\"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\\\" REAL DEFAULT 0,\\n \\\"tax_amount\\\" REAL DEFAULT 0,\\n \\\"total_amount\\\" REAL 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},\"vendor_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false},\"subtotal\":{\"type\":\"REAL\",\"notNull\":false,\"default\":0},\"tax_amount\":{\"type\":\"REAL\",\"notNull\":false,\"default\":0},\"total_amount\":{\"type\":\"REAL\",\"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_id_idx\",\"columns\":[\"id\"]},{\"name\":\"contracts_slug_context_meta_type_idx\",\"columns\":[\"slug\",\"context\",\"_meta_type\"],\"unique\":true},{\"name\":\"contracts_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"contracts_tenant_id_idx\",\"columns\":[\"tenant_id\"]}],\"version\":\"f73df1ce\"}},\"@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\":\"decimal\",\"required\":false,\"default\":0},\"taxAmount\":{\"type\":\"decimal\",\"required\":false,\"default\":0},\"totalAmount\":{\"type\":\"decimal\",\"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\":{\"getAiUsageSnapshot\":{\"name\":\"getAiUsageSnapshot\",\"async\":false,\"parameters\":[],\"returnType\":\"AiUsageSnapshot | undefined\",\"isStatic\":false,\"isPublic\":true},\"resetAiUsage\":{\"name\":\"resetAiUsage\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"listAiUsage\":{\"name\":\"listAiUsage\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiUsageListOptions\",\"optional\":true}],\"returnType\":\"Promise<SmrtAiUsageRecord[]>\",\"isStatic\":false,\"isPublic\":true},\"summarizeAiUsage\":{\"name\":\"summarizeAiUsage\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiUsageSummaryOptions\",\"optional\":true}],\"returnType\":\"Promise<Record<string, AiUsageStats>>\",\"isStatic\":false,\"isPublic\":true},\"destroy\":{\"name\":\"destroy\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"markAsPersisted\":{\"name\":\"markAsPersisted\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"requireInsertOnSave\":{\"name\":\"requireInsertOnSave\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise\",\"isStatic\":false,\"isPublic\":true},\"loadDataFromDb\":{\"name\":\"loadDataFromDb\",\"async\":true,\"parameters\":[{\"name\":\"data\",\"type\":\"Record<string>\",\"optional\":false}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getFields\":{\"name\":\"getFields\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"toJSON\":{\"name\":\"toJSON\",\"async\":false,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"toPlainObject\":{\"name\":\"toPlainObject\",\"async\":false,\"parameters\":[],\"returnType\":\"Record<string>\",\"isStatic\":false,\"isPublic\":true},\"toPublicJSON\":{\"name\":\"toPublicJSON\",\"async\":false,\"parameters\":[{\"name\":\"options\",\"type\":\"PublicJsonOptions\",\"optional\":true}],\"returnType\":\"Record<string>\",\"isStatic\":false,\"isPublic\":true},\"getId\":{\"name\":\"getId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getSlug\":{\"name\":\"getSlug\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getSavedId\":{\"name\":\"getSavedId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"isSaved\":{\"name\":\"isSaved\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"classifyConstraintError\":{\"name\":\"classifyConstraintError\",\"async\":false,\"parameters\":[{\"name\":\"message\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"'unique' | 'not_null' | null\",\"isStatic\":true,\"isPublic\":true},\"loadFromId\":{\"name\":\"loadFromId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"loadFromSlug\":{\"name\":\"loadFromSlug\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"is\":{\"name\":\"is\",\"async\":true,\"parameters\":[{\"name\":\"criteria\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"do\":{\"name\":\"do\",\"async\":true,\"parameters\":[{\"name\":\"instructions\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"describe\":{\"name\":\"describe\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"delete\":{\"name\":\"delete\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"isRelatedLoaded\":{\"name\":\"isRelatedLoaded\",\"async\":false,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"_setLoadedRelationship\":{\"name\":\"_setLoadedRelationship\",\"async\":false,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"value\",\"type\":\"any\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"loadRelated\":{\"name\":\"loadRelated\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"loadRelatedMany\":{\"name\":\"loadRelatedMany\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any[]>\",\"isStatic\":false,\"isPublic\":true},\"getRelated\":{\"name\":\"getRelated\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"getAvailableTools\":{\"name\":\"getAvailableTools\",\"async\":false,\"parameters\":[],\"returnType\":\"AITool[]\",\"isStatic\":false,\"isPublic\":true},\"executeToolCall\":{\"name\":\"executeToolCall\",\"async\":true,\"parameters\":[{\"name\":\"toolCall\",\"type\":\"ToolCall\",\"optional\":false}],\"returnType\":\"Promise<ToolCallResult>\",\"isStatic\":false,\"isPublic\":true},\"remember\":{\"name\":\"remember\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"recall\":{\"name\":\"recall\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise\",\"isStatic\":false,\"isPublic\":true},\"recallAll\":{\"name\":\"recallAll\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":true}],\"returnType\":\"Promise<Map<string>>\",\"isStatic\":false,\"isPublic\":true},\"forget\":{\"name\":\"forget\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"forgetScope\":{\"name\":\"forgetScope\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"generateEmbeddings\":{\"name\":\"generateEmbeddings\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"GenerateEmbeddingsOptions\",\"optional\":true}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"getEmbedding\":{\"name\":\"getEmbedding\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"model\",\"type\":\"string\",\"optional\":true}],\"returnType\":\"Promise<number[] | null>\",\"isStatic\":false,\"isPublic\":true},\"hasStaleEmbeddings\":{\"name\":\"hasStaleEmbeddings\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<boolean>\",\"isStatic\":false,\"isPublic\":true},\"clearEmbeddings\":{\"name\":\"clearEmbeddings\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"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}},\"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\\\" REAL DEFAULT 0,\\n \\\"tax_amount\\\" REAL DEFAULT 0,\\n \\\"total_amount\\\" REAL 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},\"vendor_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false},\"subtotal\":{\"type\":\"REAL\",\"notNull\":false,\"default\":0},\"tax_amount\":{\"type\":\"REAL\",\"notNull\":false,\"default\":0},\"total_amount\":{\"type\":\"REAL\",\"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_id_idx\",\"columns\":[\"id\"]},{\"name\":\"contracts_slug_context_meta_type_idx\",\"columns\":[\"slug\",\"context\",\"_meta_type\"],\"unique\":true},{\"name\":\"contracts_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"contracts_tenant_id_idx\",\"columns\":[\"tenant_id\"]}],\"version\":\"6398f520\"}},\"@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\":\"decimal\",\"required\":false,\"default\":0},\"taxAmount\":{\"type\":\"decimal\",\"required\":false,\"default\":0},\"totalAmount\":{\"type\":\"decimal\",\"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\":{\"getAiUsageSnapshot\":{\"name\":\"getAiUsageSnapshot\",\"async\":false,\"parameters\":[],\"returnType\":\"AiUsageSnapshot | undefined\",\"isStatic\":false,\"isPublic\":true},\"resetAiUsage\":{\"name\":\"resetAiUsage\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"listAiUsage\":{\"name\":\"listAiUsage\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiUsageListOptions\",\"optional\":true}],\"returnType\":\"Promise<SmrtAiUsageRecord[]>\",\"isStatic\":false,\"isPublic\":true},\"summarizeAiUsage\":{\"name\":\"summarizeAiUsage\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiUsageSummaryOptions\",\"optional\":true}],\"returnType\":\"Promise<Record<string, AiUsageStats>>\",\"isStatic\":false,\"isPublic\":true},\"destroy\":{\"name\":\"destroy\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"markAsPersisted\":{\"name\":\"markAsPersisted\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"requireInsertOnSave\":{\"name\":\"requireInsertOnSave\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise\",\"isStatic\":false,\"isPublic\":true},\"loadDataFromDb\":{\"name\":\"loadDataFromDb\",\"async\":true,\"parameters\":[{\"name\":\"data\",\"type\":\"Record<string>\",\"optional\":false}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getFields\":{\"name\":\"getFields\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"toJSON\":{\"name\":\"toJSON\",\"async\":false,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"toPlainObject\":{\"name\":\"toPlainObject\",\"async\":false,\"parameters\":[],\"returnType\":\"Record<string>\",\"isStatic\":false,\"isPublic\":true},\"toPublicJSON\":{\"name\":\"toPublicJSON\",\"async\":false,\"parameters\":[{\"name\":\"options\",\"type\":\"PublicJsonOptions\",\"optional\":true}],\"returnType\":\"Record<string>\",\"isStatic\":false,\"isPublic\":true},\"getId\":{\"name\":\"getId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getSlug\":{\"name\":\"getSlug\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getSavedId\":{\"name\":\"getSavedId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"isSaved\":{\"name\":\"isSaved\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"classifyConstraintError\":{\"name\":\"classifyConstraintError\",\"async\":false,\"parameters\":[{\"name\":\"message\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"'unique' | 'not_null' | null\",\"isStatic\":true,\"isPublic\":true},\"loadFromId\":{\"name\":\"loadFromId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"loadFromSlug\":{\"name\":\"loadFromSlug\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"is\":{\"name\":\"is\",\"async\":true,\"parameters\":[{\"name\":\"criteria\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"do\":{\"name\":\"do\",\"async\":true,\"parameters\":[{\"name\":\"instructions\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"describe\":{\"name\":\"describe\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"delete\":{\"name\":\"delete\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"isRelatedLoaded\":{\"name\":\"isRelatedLoaded\",\"async\":false,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"_setLoadedRelationship\":{\"name\":\"_setLoadedRelationship\",\"async\":false,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"value\",\"type\":\"any\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"loadRelated\":{\"name\":\"loadRelated\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"loadRelatedMany\":{\"name\":\"loadRelatedMany\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any[]>\",\"isStatic\":false,\"isPublic\":true},\"getRelated\":{\"name\":\"getRelated\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"getAvailableTools\":{\"name\":\"getAvailableTools\",\"async\":false,\"parameters\":[],\"returnType\":\"AITool[]\",\"isStatic\":false,\"isPublic\":true},\"executeToolCall\":{\"name\":\"executeToolCall\",\"async\":true,\"parameters\":[{\"name\":\"toolCall\",\"type\":\"ToolCall\",\"optional\":false}],\"returnType\":\"Promise<ToolCallResult>\",\"isStatic\":false,\"isPublic\":true},\"remember\":{\"name\":\"remember\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"recall\":{\"name\":\"recall\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise\",\"isStatic\":false,\"isPublic\":true},\"recallAll\":{\"name\":\"recallAll\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":true}],\"returnType\":\"Promise<Map<string>>\",\"isStatic\":false,\"isPublic\":true},\"forget\":{\"name\":\"forget\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"forgetScope\":{\"name\":\"forgetScope\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"generateEmbeddings\":{\"name\":\"generateEmbeddings\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"GenerateEmbeddingsOptions\",\"optional\":true}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"getEmbedding\":{\"name\":\"getEmbedding\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"model\",\"type\":\"string\",\"optional\":true}],\"returnType\":\"Promise<number[] | null>\",\"isStatic\":false,\"isPublic\":true},\"hasStaleEmbeddings\":{\"name\":\"hasStaleEmbeddings\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<boolean>\",\"isStatic\":false,\"isPublic\":true},\"clearEmbeddings\":{\"name\":\"clearEmbeddings\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"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}},\"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\\\" REAL DEFAULT 0,\\n \\\"tax_amount\\\" REAL DEFAULT 0,\\n \\\"total_amount\\\" REAL 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},\"vendor_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false},\"subtotal\":{\"type\":\"REAL\",\"notNull\":false,\"default\":0},\"tax_amount\":{\"type\":\"REAL\",\"notNull\":false,\"default\":0},\"total_amount\":{\"type\":\"REAL\",\"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_id_idx\",\"columns\":[\"id\"]},{\"name\":\"contracts_slug_context_meta_type_idx\",\"columns\":[\"slug\",\"context\",\"_meta_type\"],\"unique\":true},{\"name\":\"contracts_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"contracts_tenant_id_idx\",\"columns\":[\"tenant_id\"]}],\"version\":\"6cab8a56\"}},\"@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\":\"decimal\",\"required\":false,\"default\":0},\"taxAmount\":{\"type\":\"decimal\",\"required\":false,\"default\":0},\"totalAmount\":{\"type\":\"decimal\",\"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\":{\"getAiUsageSnapshot\":{\"name\":\"getAiUsageSnapshot\",\"async\":false,\"parameters\":[],\"returnType\":\"AiUsageSnapshot | undefined\",\"isStatic\":false,\"isPublic\":true},\"resetAiUsage\":{\"name\":\"resetAiUsage\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"listAiUsage\":{\"name\":\"listAiUsage\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiUsageListOptions\",\"optional\":true}],\"returnType\":\"Promise<SmrtAiUsageRecord[]>\",\"isStatic\":false,\"isPublic\":true},\"summarizeAiUsage\":{\"name\":\"summarizeAiUsage\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiUsageSummaryOptions\",\"optional\":true}],\"returnType\":\"Promise<Record<string, AiUsageStats>>\",\"isStatic\":false,\"isPublic\":true},\"destroy\":{\"name\":\"destroy\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"markAsPersisted\":{\"name\":\"markAsPersisted\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"requireInsertOnSave\":{\"name\":\"requireInsertOnSave\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise\",\"isStatic\":false,\"isPublic\":true},\"loadDataFromDb\":{\"name\":\"loadDataFromDb\",\"async\":true,\"parameters\":[{\"name\":\"data\",\"type\":\"Record<string>\",\"optional\":false}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getFields\":{\"name\":\"getFields\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"toJSON\":{\"name\":\"toJSON\",\"async\":false,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"toPlainObject\":{\"name\":\"toPlainObject\",\"async\":false,\"parameters\":[],\"returnType\":\"Record<string>\",\"isStatic\":false,\"isPublic\":true},\"toPublicJSON\":{\"name\":\"toPublicJSON\",\"async\":false,\"parameters\":[{\"name\":\"options\",\"type\":\"PublicJsonOptions\",\"optional\":true}],\"returnType\":\"Record<string>\",\"isStatic\":false,\"isPublic\":true},\"getId\":{\"name\":\"getId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getSlug\":{\"name\":\"getSlug\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getSavedId\":{\"name\":\"getSavedId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"isSaved\":{\"name\":\"isSaved\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"classifyConstraintError\":{\"name\":\"classifyConstraintError\",\"async\":false,\"parameters\":[{\"name\":\"message\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"'unique' | 'not_null' | null\",\"isStatic\":true,\"isPublic\":true},\"loadFromId\":{\"name\":\"loadFromId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"loadFromSlug\":{\"name\":\"loadFromSlug\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"is\":{\"name\":\"is\",\"async\":true,\"parameters\":[{\"name\":\"criteria\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"do\":{\"name\":\"do\",\"async\":true,\"parameters\":[{\"name\":\"instructions\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"describe\":{\"name\":\"describe\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"delete\":{\"name\":\"delete\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"isRelatedLoaded\":{\"name\":\"isRelatedLoaded\",\"async\":false,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"_setLoadedRelationship\":{\"name\":\"_setLoadedRelationship\",\"async\":false,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"value\",\"type\":\"any\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"loadRelated\":{\"name\":\"loadRelated\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"loadRelatedMany\":{\"name\":\"loadRelatedMany\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any[]>\",\"isStatic\":false,\"isPublic\":true},\"getRelated\":{\"name\":\"getRelated\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"getAvailableTools\":{\"name\":\"getAvailableTools\",\"async\":false,\"parameters\":[],\"returnType\":\"AITool[]\",\"isStatic\":false,\"isPublic\":true},\"executeToolCall\":{\"name\":\"executeToolCall\",\"async\":true,\"parameters\":[{\"name\":\"toolCall\",\"type\":\"ToolCall\",\"optional\":false}],\"returnType\":\"Promise<ToolCallResult>\",\"isStatic\":false,\"isPublic\":true},\"remember\":{\"name\":\"remember\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"recall\":{\"name\":\"recall\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise\",\"isStatic\":false,\"isPublic\":true},\"recallAll\":{\"name\":\"recallAll\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":true}],\"returnType\":\"Promise<Map<string>>\",\"isStatic\":false,\"isPublic\":true},\"forget\":{\"name\":\"forget\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"forgetScope\":{\"name\":\"forgetScope\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"generateEmbeddings\":{\"name\":\"generateEmbeddings\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"GenerateEmbeddingsOptions\",\"optional\":true}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"getEmbedding\":{\"name\":\"getEmbedding\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"model\",\"type\":\"string\",\"optional\":true}],\"returnType\":\"Promise<number[] | null>\",\"isStatic\":false,\"isPublic\":true},\"hasStaleEmbeddings\":{\"name\":\"hasStaleEmbeddings\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<boolean>\",\"isStatic\":false,\"isPublic\":true},\"clearEmbeddings\":{\"name\":\"clearEmbeddings\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"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}},\"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\\\" REAL DEFAULT 0,\\n \\\"tax_amount\\\" REAL DEFAULT 0,\\n \\\"total_amount\\\" REAL 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},\"vendor_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false},\"subtotal\":{\"type\":\"REAL\",\"notNull\":false,\"default\":0},\"tax_amount\":{\"type\":\"REAL\",\"notNull\":false,\"default\":0},\"total_amount\":{\"type\":\"REAL\",\"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_id_idx\",\"columns\":[\"id\"]},{\"name\":\"contracts_slug_context_meta_type_idx\",\"columns\":[\"slug\",\"context\",\"_meta_type\"],\"unique\":true},{\"name\":\"contracts_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"contracts_tenant_id_idx\",\"columns\":[\"tenant_id\"]}],\"version\":\"d84bde8d\"}},\"@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\":\"decimal\",\"required\":false,\"default\":0},\"taxAmount\":{\"type\":\"decimal\",\"required\":false,\"default\":0},\"totalAmount\":{\"type\":\"decimal\",\"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\":{\"getAiUsageSnapshot\":{\"name\":\"getAiUsageSnapshot\",\"async\":false,\"parameters\":[],\"returnType\":\"AiUsageSnapshot | undefined\",\"isStatic\":false,\"isPublic\":true},\"resetAiUsage\":{\"name\":\"resetAiUsage\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"listAiUsage\":{\"name\":\"listAiUsage\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiUsageListOptions\",\"optional\":true}],\"returnType\":\"Promise<SmrtAiUsageRecord[]>\",\"isStatic\":false,\"isPublic\":true},\"summarizeAiUsage\":{\"name\":\"summarizeAiUsage\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiUsageSummaryOptions\",\"optional\":true}],\"returnType\":\"Promise<Record<string, AiUsageStats>>\",\"isStatic\":false,\"isPublic\":true},\"destroy\":{\"name\":\"destroy\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"markAsPersisted\":{\"name\":\"markAsPersisted\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"requireInsertOnSave\":{\"name\":\"requireInsertOnSave\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise\",\"isStatic\":false,\"isPublic\":true},\"loadDataFromDb\":{\"name\":\"loadDataFromDb\",\"async\":true,\"parameters\":[{\"name\":\"data\",\"type\":\"Record<string>\",\"optional\":false}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getFields\":{\"name\":\"getFields\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"toJSON\":{\"name\":\"toJSON\",\"async\":false,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"toPlainObject\":{\"name\":\"toPlainObject\",\"async\":false,\"parameters\":[],\"returnType\":\"Record<string>\",\"isStatic\":false,\"isPublic\":true},\"toPublicJSON\":{\"name\":\"toPublicJSON\",\"async\":false,\"parameters\":[{\"name\":\"options\",\"type\":\"PublicJsonOptions\",\"optional\":true}],\"returnType\":\"Record<string>\",\"isStatic\":false,\"isPublic\":true},\"getId\":{\"name\":\"getId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getSlug\":{\"name\":\"getSlug\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getSavedId\":{\"name\":\"getSavedId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"isSaved\":{\"name\":\"isSaved\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"classifyConstraintError\":{\"name\":\"classifyConstraintError\",\"async\":false,\"parameters\":[{\"name\":\"message\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"'unique' | 'not_null' | null\",\"isStatic\":true,\"isPublic\":true},\"loadFromId\":{\"name\":\"loadFromId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"loadFromSlug\":{\"name\":\"loadFromSlug\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"is\":{\"name\":\"is\",\"async\":true,\"parameters\":[{\"name\":\"criteria\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"do\":{\"name\":\"do\",\"async\":true,\"parameters\":[{\"name\":\"instructions\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"describe\":{\"name\":\"describe\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"delete\":{\"name\":\"delete\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"isRelatedLoaded\":{\"name\":\"isRelatedLoaded\",\"async\":false,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"_setLoadedRelationship\":{\"name\":\"_setLoadedRelationship\",\"async\":false,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"value\",\"type\":\"any\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"loadRelated\":{\"name\":\"loadRelated\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"loadRelatedMany\":{\"name\":\"loadRelatedMany\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any[]>\",\"isStatic\":false,\"isPublic\":true},\"getRelated\":{\"name\":\"getRelated\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"getAvailableTools\":{\"name\":\"getAvailableTools\",\"async\":false,\"parameters\":[],\"returnType\":\"AITool[]\",\"isStatic\":false,\"isPublic\":true},\"executeToolCall\":{\"name\":\"executeToolCall\",\"async\":true,\"parameters\":[{\"name\":\"toolCall\",\"type\":\"ToolCall\",\"optional\":false}],\"returnType\":\"Promise<ToolCallResult>\",\"isStatic\":false,\"isPublic\":true},\"remember\":{\"name\":\"remember\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"recall\":{\"name\":\"recall\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise\",\"isStatic\":false,\"isPublic\":true},\"recallAll\":{\"name\":\"recallAll\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":true}],\"returnType\":\"Promise<Map<string>>\",\"isStatic\":false,\"isPublic\":true},\"forget\":{\"name\":\"forget\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"forgetScope\":{\"name\":\"forgetScope\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"generateEmbeddings\":{\"name\":\"generateEmbeddings\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"GenerateEmbeddingsOptions\",\"optional\":true}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"getEmbedding\":{\"name\":\"getEmbedding\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"model\",\"type\":\"string\",\"optional\":true}],\"returnType\":\"Promise<number[] | null>\",\"isStatic\":false,\"isPublic\":true},\"hasStaleEmbeddings\":{\"name\":\"hasStaleEmbeddings\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<boolean>\",\"isStatic\":false,\"isPublic\":true},\"clearEmbeddings\":{\"name\":\"clearEmbeddings\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"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}},\"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\\\" REAL DEFAULT 0,\\n \\\"tax_amount\\\" REAL DEFAULT 0,\\n \\\"total_amount\\\" REAL 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},\"vendor_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false},\"subtotal\":{\"type\":\"REAL\",\"notNull\":false,\"default\":0},\"tax_amount\":{\"type\":\"REAL\",\"notNull\":false,\"default\":0},\"total_amount\":{\"type\":\"REAL\",\"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_id_idx\",\"columns\":[\"id\"]},{\"name\":\"contracts_slug_context_meta_type_idx\",\"columns\":[\"slug\",\"context\",\"_meta_type\"],\"unique\":true},{\"name\":\"contracts_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"contracts_tenant_id_idx\",\"columns\":[\"tenant_id\"]}],\"version\":\"3d73bfb1\"}},\"@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\":\"decimal\",\"required\":false,\"default\":0},\"taxAmount\":{\"type\":\"decimal\",\"required\":false,\"default\":0},\"totalAmount\":{\"type\":\"decimal\",\"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\":{\"getAiUsageSnapshot\":{\"name\":\"getAiUsageSnapshot\",\"async\":false,\"parameters\":[],\"returnType\":\"AiUsageSnapshot | undefined\",\"isStatic\":false,\"isPublic\":true},\"resetAiUsage\":{\"name\":\"resetAiUsage\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"listAiUsage\":{\"name\":\"listAiUsage\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiUsageListOptions\",\"optional\":true}],\"returnType\":\"Promise<SmrtAiUsageRecord[]>\",\"isStatic\":false,\"isPublic\":true},\"summarizeAiUsage\":{\"name\":\"summarizeAiUsage\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiUsageSummaryOptions\",\"optional\":true}],\"returnType\":\"Promise<Record<string, AiUsageStats>>\",\"isStatic\":false,\"isPublic\":true},\"destroy\":{\"name\":\"destroy\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"markAsPersisted\":{\"name\":\"markAsPersisted\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"requireInsertOnSave\":{\"name\":\"requireInsertOnSave\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise\",\"isStatic\":false,\"isPublic\":true},\"loadDataFromDb\":{\"name\":\"loadDataFromDb\",\"async\":true,\"parameters\":[{\"name\":\"data\",\"type\":\"Record<string>\",\"optional\":false}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getFields\":{\"name\":\"getFields\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"toJSON\":{\"name\":\"toJSON\",\"async\":false,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"toPlainObject\":{\"name\":\"toPlainObject\",\"async\":false,\"parameters\":[],\"returnType\":\"Record<string>\",\"isStatic\":false,\"isPublic\":true},\"toPublicJSON\":{\"name\":\"toPublicJSON\",\"async\":false,\"parameters\":[{\"name\":\"options\",\"type\":\"PublicJsonOptions\",\"optional\":true}],\"returnType\":\"Record<string>\",\"isStatic\":false,\"isPublic\":true},\"getId\":{\"name\":\"getId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getSlug\":{\"name\":\"getSlug\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getSavedId\":{\"name\":\"getSavedId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"isSaved\":{\"name\":\"isSaved\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"classifyConstraintError\":{\"name\":\"classifyConstraintError\",\"async\":false,\"parameters\":[{\"name\":\"message\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"'unique' | 'not_null' | null\",\"isStatic\":true,\"isPublic\":true},\"loadFromId\":{\"name\":\"loadFromId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"loadFromSlug\":{\"name\":\"loadFromSlug\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"is\":{\"name\":\"is\",\"async\":true,\"parameters\":[{\"name\":\"criteria\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"do\":{\"name\":\"do\",\"async\":true,\"parameters\":[{\"name\":\"instructions\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"describe\":{\"name\":\"describe\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"delete\":{\"name\":\"delete\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"isRelatedLoaded\":{\"name\":\"isRelatedLoaded\",\"async\":false,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"_setLoadedRelationship\":{\"name\":\"_setLoadedRelationship\",\"async\":false,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"value\",\"type\":\"any\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"loadRelated\":{\"name\":\"loadRelated\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"loadRelatedMany\":{\"name\":\"loadRelatedMany\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any[]>\",\"isStatic\":false,\"isPublic\":true},\"getRelated\":{\"name\":\"getRelated\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"getAvailableTools\":{\"name\":\"getAvailableTools\",\"async\":false,\"parameters\":[],\"returnType\":\"AITool[]\",\"isStatic\":false,\"isPublic\":true},\"executeToolCall\":{\"name\":\"executeToolCall\",\"async\":true,\"parameters\":[{\"name\":\"toolCall\",\"type\":\"ToolCall\",\"optional\":false}],\"returnType\":\"Promise<ToolCallResult>\",\"isStatic\":false,\"isPublic\":true},\"remember\":{\"name\":\"remember\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"recall\":{\"name\":\"recall\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise\",\"isStatic\":false,\"isPublic\":true},\"recallAll\":{\"name\":\"recallAll\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":true}],\"returnType\":\"Promise<Map<string>>\",\"isStatic\":false,\"isPublic\":true},\"forget\":{\"name\":\"forget\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"forgetScope\":{\"name\":\"forgetScope\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"generateEmbeddings\":{\"name\":\"generateEmbeddings\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"GenerateEmbeddingsOptions\",\"optional\":true}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"getEmbedding\":{\"name\":\"getEmbedding\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"model\",\"type\":\"string\",\"optional\":true}],\"returnType\":\"Promise<number[] | null>\",\"isStatic\":false,\"isPublic\":true},\"hasStaleEmbeddings\":{\"name\":\"hasStaleEmbeddings\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<boolean>\",\"isStatic\":false,\"isPublic\":true},\"clearEmbeddings\":{\"name\":\"clearEmbeddings\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"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}},\"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\\\" REAL DEFAULT 0,\\n \\\"tax_amount\\\" REAL DEFAULT 0,\\n \\\"total_amount\\\" REAL 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},\"vendor_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false},\"subtotal\":{\"type\":\"REAL\",\"notNull\":false,\"default\":0},\"tax_amount\":{\"type\":\"REAL\",\"notNull\":false,\"default\":0},\"total_amount\":{\"type\":\"REAL\",\"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_id_idx\",\"columns\":[\"id\"]},{\"name\":\"contracts_slug_context_meta_type_idx\",\"columns\":[\"slug\",\"context\",\"_meta_type\"],\"unique\":true},{\"name\":\"contracts_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"contracts_tenant_id_idx\",\"columns\":[\"tenant_id\"]}],\"version\":\"cea633fa\"}},\"@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\":\"decimal\",\"required\":false,\"default\":0},\"taxAmount\":{\"type\":\"decimal\",\"required\":false,\"default\":0},\"totalAmount\":{\"type\":\"decimal\",\"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\":{\"getAiUsageSnapshot\":{\"name\":\"getAiUsageSnapshot\",\"async\":false,\"parameters\":[],\"returnType\":\"AiUsageSnapshot | undefined\",\"isStatic\":false,\"isPublic\":true},\"resetAiUsage\":{\"name\":\"resetAiUsage\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"listAiUsage\":{\"name\":\"listAiUsage\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiUsageListOptions\",\"optional\":true}],\"returnType\":\"Promise<SmrtAiUsageRecord[]>\",\"isStatic\":false,\"isPublic\":true},\"summarizeAiUsage\":{\"name\":\"summarizeAiUsage\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiUsageSummaryOptions\",\"optional\":true}],\"returnType\":\"Promise<Record<string, AiUsageStats>>\",\"isStatic\":false,\"isPublic\":true},\"destroy\":{\"name\":\"destroy\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"markAsPersisted\":{\"name\":\"markAsPersisted\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"requireInsertOnSave\":{\"name\":\"requireInsertOnSave\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise\",\"isStatic\":false,\"isPublic\":true},\"loadDataFromDb\":{\"name\":\"loadDataFromDb\",\"async\":true,\"parameters\":[{\"name\":\"data\",\"type\":\"Record<string>\",\"optional\":false}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getFields\":{\"name\":\"getFields\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"toJSON\":{\"name\":\"toJSON\",\"async\":false,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"toPlainObject\":{\"name\":\"toPlainObject\",\"async\":false,\"parameters\":[],\"returnType\":\"Record<string>\",\"isStatic\":false,\"isPublic\":true},\"toPublicJSON\":{\"name\":\"toPublicJSON\",\"async\":false,\"parameters\":[{\"name\":\"options\",\"type\":\"PublicJsonOptions\",\"optional\":true}],\"returnType\":\"Record<string>\",\"isStatic\":false,\"isPublic\":true},\"getId\":{\"name\":\"getId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getSlug\":{\"name\":\"getSlug\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getSavedId\":{\"name\":\"getSavedId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"isSaved\":{\"name\":\"isSaved\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"classifyConstraintError\":{\"name\":\"classifyConstraintError\",\"async\":false,\"parameters\":[{\"name\":\"message\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"'unique' | 'not_null' | null\",\"isStatic\":true,\"isPublic\":true},\"loadFromId\":{\"name\":\"loadFromId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"loadFromSlug\":{\"name\":\"loadFromSlug\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"is\":{\"name\":\"is\",\"async\":true,\"parameters\":[{\"name\":\"criteria\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"do\":{\"name\":\"do\",\"async\":true,\"parameters\":[{\"name\":\"instructions\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"describe\":{\"name\":\"describe\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"delete\":{\"name\":\"delete\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"isRelatedLoaded\":{\"name\":\"isRelatedLoaded\",\"async\":false,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"_setLoadedRelationship\":{\"name\":\"_setLoadedRelationship\",\"async\":false,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"value\",\"type\":\"any\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"loadRelated\":{\"name\":\"loadRelated\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"loadRelatedMany\":{\"name\":\"loadRelatedMany\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any[]>\",\"isStatic\":false,\"isPublic\":true},\"getRelated\":{\"name\":\"getRelated\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"getAvailableTools\":{\"name\":\"getAvailableTools\",\"async\":false,\"parameters\":[],\"returnType\":\"AITool[]\",\"isStatic\":false,\"isPublic\":true},\"executeToolCall\":{\"name\":\"executeToolCall\",\"async\":true,\"parameters\":[{\"name\":\"toolCall\",\"type\":\"ToolCall\",\"optional\":false}],\"returnType\":\"Promise<ToolCallResult>\",\"isStatic\":false,\"isPublic\":true},\"remember\":{\"name\":\"remember\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"recall\":{\"name\":\"recall\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise\",\"isStatic\":false,\"isPublic\":true},\"recallAll\":{\"name\":\"recallAll\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":true}],\"returnType\":\"Promise<Map<string>>\",\"isStatic\":false,\"isPublic\":true},\"forget\":{\"name\":\"forget\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"forgetScope\":{\"name\":\"forgetScope\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"generateEmbeddings\":{\"name\":\"generateEmbeddings\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"GenerateEmbeddingsOptions\",\"optional\":true}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"getEmbedding\":{\"name\":\"getEmbedding\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"model\",\"type\":\"string\",\"optional\":true}],\"returnType\":\"Promise<number[] | null>\",\"isStatic\":false,\"isPublic\":true},\"hasStaleEmbeddings\":{\"name\":\"hasStaleEmbeddings\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<boolean>\",\"isStatic\":false,\"isPublic\":true},\"clearEmbeddings\":{\"name\":\"clearEmbeddings\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"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}},\"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\\\" REAL DEFAULT 0,\\n \\\"tax_amount\\\" REAL DEFAULT 0,\\n \\\"total_amount\\\" REAL 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},\"vendor_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false},\"subtotal\":{\"type\":\"REAL\",\"notNull\":false,\"default\":0},\"tax_amount\":{\"type\":\"REAL\",\"notNull\":false,\"default\":0},\"total_amount\":{\"type\":\"REAL\",\"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_id_idx\",\"columns\":[\"id\"]},{\"name\":\"contracts_slug_context_meta_type_idx\",\"columns\":[\"slug\",\"context\",\"_meta_type\"],\"unique\":true},{\"name\":\"contracts_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"contracts_tenant_id_idx\",\"columns\":[\"tenant_id\"]}],\"version\":\"4518389d\"}},\"@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\":\"decimal\",\"required\":false,\"default\":0},\"taxAmount\":{\"type\":\"decimal\",\"required\":false,\"default\":0},\"totalAmount\":{\"type\":\"decimal\",\"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\":{\"getAiUsageSnapshot\":{\"name\":\"getAiUsageSnapshot\",\"async\":false,\"parameters\":[],\"returnType\":\"AiUsageSnapshot | undefined\",\"isStatic\":false,\"isPublic\":true},\"resetAiUsage\":{\"name\":\"resetAiUsage\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"listAiUsage\":{\"name\":\"listAiUsage\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiUsageListOptions\",\"optional\":true}],\"returnType\":\"Promise<SmrtAiUsageRecord[]>\",\"isStatic\":false,\"isPublic\":true},\"summarizeAiUsage\":{\"name\":\"summarizeAiUsage\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiUsageSummaryOptions\",\"optional\":true}],\"returnType\":\"Promise<Record<string, AiUsageStats>>\",\"isStatic\":false,\"isPublic\":true},\"destroy\":{\"name\":\"destroy\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"markAsPersisted\":{\"name\":\"markAsPersisted\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"requireInsertOnSave\":{\"name\":\"requireInsertOnSave\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise\",\"isStatic\":false,\"isPublic\":true},\"loadDataFromDb\":{\"name\":\"loadDataFromDb\",\"async\":true,\"parameters\":[{\"name\":\"data\",\"type\":\"Record<string>\",\"optional\":false}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getFields\":{\"name\":\"getFields\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"toJSON\":{\"name\":\"toJSON\",\"async\":false,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"toPlainObject\":{\"name\":\"toPlainObject\",\"async\":false,\"parameters\":[],\"returnType\":\"Record<string>\",\"isStatic\":false,\"isPublic\":true},\"toPublicJSON\":{\"name\":\"toPublicJSON\",\"async\":false,\"parameters\":[{\"name\":\"options\",\"type\":\"PublicJsonOptions\",\"optional\":true}],\"returnType\":\"Record<string>\",\"isStatic\":false,\"isPublic\":true},\"getId\":{\"name\":\"getId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getSlug\":{\"name\":\"getSlug\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getSavedId\":{\"name\":\"getSavedId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"isSaved\":{\"name\":\"isSaved\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"classifyConstraintError\":{\"name\":\"classifyConstraintError\",\"async\":false,\"parameters\":[{\"name\":\"message\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"'unique' | 'not_null' | null\",\"isStatic\":true,\"isPublic\":true},\"loadFromId\":{\"name\":\"loadFromId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"loadFromSlug\":{\"name\":\"loadFromSlug\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"is\":{\"name\":\"is\",\"async\":true,\"parameters\":[{\"name\":\"criteria\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"do\":{\"name\":\"do\",\"async\":true,\"parameters\":[{\"name\":\"instructions\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"describe\":{\"name\":\"describe\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"delete\":{\"name\":\"delete\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"isRelatedLoaded\":{\"name\":\"isRelatedLoaded\",\"async\":false,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"_setLoadedRelationship\":{\"name\":\"_setLoadedRelationship\",\"async\":false,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"value\",\"type\":\"any\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"loadRelated\":{\"name\":\"loadRelated\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"loadRelatedMany\":{\"name\":\"loadRelatedMany\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any[]>\",\"isStatic\":false,\"isPublic\":true},\"getRelated\":{\"name\":\"getRelated\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"getAvailableTools\":{\"name\":\"getAvailableTools\",\"async\":false,\"parameters\":[],\"returnType\":\"AITool[]\",\"isStatic\":false,\"isPublic\":true},\"executeToolCall\":{\"name\":\"executeToolCall\",\"async\":true,\"parameters\":[{\"name\":\"toolCall\",\"type\":\"ToolCall\",\"optional\":false}],\"returnType\":\"Promise<ToolCallResult>\",\"isStatic\":false,\"isPublic\":true},\"remember\":{\"name\":\"remember\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"recall\":{\"name\":\"recall\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise\",\"isStatic\":false,\"isPublic\":true},\"recallAll\":{\"name\":\"recallAll\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":true}],\"returnType\":\"Promise<Map<string>>\",\"isStatic\":false,\"isPublic\":true},\"forget\":{\"name\":\"forget\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"forgetScope\":{\"name\":\"forgetScope\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"generateEmbeddings\":{\"name\":\"generateEmbeddings\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"GenerateEmbeddingsOptions\",\"optional\":true}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"getEmbedding\":{\"name\":\"getEmbedding\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"model\",\"type\":\"string\",\"optional\":true}],\"returnType\":\"Promise<number[] | null>\",\"isStatic\":false,\"isPublic\":true},\"hasStaleEmbeddings\":{\"name\":\"hasStaleEmbeddings\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<boolean>\",\"isStatic\":false,\"isPublic\":true},\"clearEmbeddings\":{\"name\":\"clearEmbeddings\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"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}},\"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\\\" REAL DEFAULT 0,\\n \\\"tax_amount\\\" REAL DEFAULT 0,\\n \\\"total_amount\\\" REAL 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},\"vendor_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false},\"subtotal\":{\"type\":\"REAL\",\"notNull\":false,\"default\":0},\"tax_amount\":{\"type\":\"REAL\",\"notNull\":false,\"default\":0},\"total_amount\":{\"type\":\"REAL\",\"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_id_idx\",\"columns\":[\"id\"]},{\"name\":\"contracts_slug_context_meta_type_idx\",\"columns\":[\"slug\",\"context\",\"_meta_type\"],\"unique\":true},{\"name\":\"contracts_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"contracts_tenant_id_idx\",\"columns\":[\"tenant_id\"]}],\"version\":\"aea5177b\"}},\"@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\":\"decimal\",\"required\":false,\"default\":0},\"taxAmount\":{\"type\":\"decimal\",\"required\":false,\"default\":0},\"totalAmount\":{\"type\":\"decimal\",\"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\":{\"getAiUsageSnapshot\":{\"name\":\"getAiUsageSnapshot\",\"async\":false,\"parameters\":[],\"returnType\":\"AiUsageSnapshot | undefined\",\"isStatic\":false,\"isPublic\":true},\"resetAiUsage\":{\"name\":\"resetAiUsage\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"listAiUsage\":{\"name\":\"listAiUsage\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiUsageListOptions\",\"optional\":true}],\"returnType\":\"Promise<SmrtAiUsageRecord[]>\",\"isStatic\":false,\"isPublic\":true},\"summarizeAiUsage\":{\"name\":\"summarizeAiUsage\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiUsageSummaryOptions\",\"optional\":true}],\"returnType\":\"Promise<Record<string, AiUsageStats>>\",\"isStatic\":false,\"isPublic\":true},\"destroy\":{\"name\":\"destroy\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"markAsPersisted\":{\"name\":\"markAsPersisted\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"requireInsertOnSave\":{\"name\":\"requireInsertOnSave\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise\",\"isStatic\":false,\"isPublic\":true},\"loadDataFromDb\":{\"name\":\"loadDataFromDb\",\"async\":true,\"parameters\":[{\"name\":\"data\",\"type\":\"Record<string>\",\"optional\":false}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getFields\":{\"name\":\"getFields\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"toJSON\":{\"name\":\"toJSON\",\"async\":false,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"toPlainObject\":{\"name\":\"toPlainObject\",\"async\":false,\"parameters\":[],\"returnType\":\"Record<string>\",\"isStatic\":false,\"isPublic\":true},\"toPublicJSON\":{\"name\":\"toPublicJSON\",\"async\":false,\"parameters\":[{\"name\":\"options\",\"type\":\"PublicJsonOptions\",\"optional\":true}],\"returnType\":\"Record<string>\",\"isStatic\":false,\"isPublic\":true},\"getId\":{\"name\":\"getId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getSlug\":{\"name\":\"getSlug\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getSavedId\":{\"name\":\"getSavedId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"isSaved\":{\"name\":\"isSaved\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"classifyConstraintError\":{\"name\":\"classifyConstraintError\",\"async\":false,\"parameters\":[{\"name\":\"message\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"'unique' | 'not_null' | null\",\"isStatic\":true,\"isPublic\":true},\"loadFromId\":{\"name\":\"loadFromId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"loadFromSlug\":{\"name\":\"loadFromSlug\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"is\":{\"name\":\"is\",\"async\":true,\"parameters\":[{\"name\":\"criteria\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"do\":{\"name\":\"do\",\"async\":true,\"parameters\":[{\"name\":\"instructions\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"describe\":{\"name\":\"describe\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"delete\":{\"name\":\"delete\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"isRelatedLoaded\":{\"name\":\"isRelatedLoaded\",\"async\":false,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"_setLoadedRelationship\":{\"name\":\"_setLoadedRelationship\",\"async\":false,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"value\",\"type\":\"any\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"loadRelated\":{\"name\":\"loadRelated\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"loadRelatedMany\":{\"name\":\"loadRelatedMany\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any[]>\",\"isStatic\":false,\"isPublic\":true},\"getRelated\":{\"name\":\"getRelated\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"getAvailableTools\":{\"name\":\"getAvailableTools\",\"async\":false,\"parameters\":[],\"returnType\":\"AITool[]\",\"isStatic\":false,\"isPublic\":true},\"executeToolCall\":{\"name\":\"executeToolCall\",\"async\":true,\"parameters\":[{\"name\":\"toolCall\",\"type\":\"ToolCall\",\"optional\":false}],\"returnType\":\"Promise<ToolCallResult>\",\"isStatic\":false,\"isPublic\":true},\"remember\":{\"name\":\"remember\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"recall\":{\"name\":\"recall\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise\",\"isStatic\":false,\"isPublic\":true},\"recallAll\":{\"name\":\"recallAll\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":true}],\"returnType\":\"Promise<Map<string>>\",\"isStatic\":false,\"isPublic\":true},\"forget\":{\"name\":\"forget\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"forgetScope\":{\"name\":\"forgetScope\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"generateEmbeddings\":{\"name\":\"generateEmbeddings\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"GenerateEmbeddingsOptions\",\"optional\":true}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"getEmbedding\":{\"name\":\"getEmbedding\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"model\",\"type\":\"string\",\"optional\":true}],\"returnType\":\"Promise<number[] | null>\",\"isStatic\":false,\"isPublic\":true},\"hasStaleEmbeddings\":{\"name\":\"hasStaleEmbeddings\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<boolean>\",\"isStatic\":false,\"isPublic\":true},\"clearEmbeddings\":{\"name\":\"clearEmbeddings\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"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}},\"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\\\" REAL DEFAULT 0,\\n \\\"tax_amount\\\" REAL DEFAULT 0,\\n \\\"total_amount\\\" REAL 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},\"vendor_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false},\"subtotal\":{\"type\":\"REAL\",\"notNull\":false,\"default\":0},\"tax_amount\":{\"type\":\"REAL\",\"notNull\":false,\"default\":0},\"total_amount\":{\"type\":\"REAL\",\"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_id_idx\",\"columns\":[\"id\"]},{\"name\":\"contracts_slug_context_meta_type_idx\",\"columns\":[\"slug\",\"context\",\"_meta_type\"],\"unique\":true},{\"name\":\"contracts_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"contracts_tenant_id_idx\",\"columns\":[\"tenant_id\"]}],\"version\":\"879b2b74\"}},\"@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\":\"decimal\",\"required\":false,\"default\":0},\"taxAmount\":{\"type\":\"decimal\",\"required\":false,\"default\":0},\"totalAmount\":{\"type\":\"decimal\",\"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\":{\"getAiUsageSnapshot\":{\"name\":\"getAiUsageSnapshot\",\"async\":false,\"parameters\":[],\"returnType\":\"AiUsageSnapshot | undefined\",\"isStatic\":false,\"isPublic\":true},\"resetAiUsage\":{\"name\":\"resetAiUsage\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"listAiUsage\":{\"name\":\"listAiUsage\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiUsageListOptions\",\"optional\":true}],\"returnType\":\"Promise<SmrtAiUsageRecord[]>\",\"isStatic\":false,\"isPublic\":true},\"summarizeAiUsage\":{\"name\":\"summarizeAiUsage\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiUsageSummaryOptions\",\"optional\":true}],\"returnType\":\"Promise<Record<string, AiUsageStats>>\",\"isStatic\":false,\"isPublic\":true},\"destroy\":{\"name\":\"destroy\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"markAsPersisted\":{\"name\":\"markAsPersisted\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"requireInsertOnSave\":{\"name\":\"requireInsertOnSave\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise\",\"isStatic\":false,\"isPublic\":true},\"loadDataFromDb\":{\"name\":\"loadDataFromDb\",\"async\":true,\"parameters\":[{\"name\":\"data\",\"type\":\"Record<string>\",\"optional\":false}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getFields\":{\"name\":\"getFields\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"toJSON\":{\"name\":\"toJSON\",\"async\":false,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"toPlainObject\":{\"name\":\"toPlainObject\",\"async\":false,\"parameters\":[],\"returnType\":\"Record<string>\",\"isStatic\":false,\"isPublic\":true},\"toPublicJSON\":{\"name\":\"toPublicJSON\",\"async\":false,\"parameters\":[{\"name\":\"options\",\"type\":\"PublicJsonOptions\",\"optional\":true}],\"returnType\":\"Record<string>\",\"isStatic\":false,\"isPublic\":true},\"getId\":{\"name\":\"getId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getSlug\":{\"name\":\"getSlug\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getSavedId\":{\"name\":\"getSavedId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"isSaved\":{\"name\":\"isSaved\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise\",\"isStatic\":false,\"isPublic\":true},\"classifyConstraintError\":{\"name\":\"classifyConstraintError\",\"async\":false,\"parameters\":[{\"name\":\"message\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"'unique' | 'not_null' | null\",\"isStatic\":true,\"isPublic\":true},\"loadFromId\":{\"name\":\"loadFromId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"loadFromSlug\":{\"name\":\"loadFromSlug\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"is\":{\"name\":\"is\",\"async\":true,\"parameters\":[{\"name\":\"criteria\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"do\":{\"name\":\"do\",\"async\":true,\"parameters\":[{\"name\":\"instructions\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"describe\":{\"name\":\"describe\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"delete\":{\"name\":\"delete\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"isRelatedLoaded\":{\"name\":\"isRelatedLoaded\",\"async\":false,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"_setLoadedRelationship\":{\"name\":\"_setLoadedRelationship\",\"async\":false,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"value\",\"type\":\"any\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"loadRelated\":{\"name\":\"loadRelated\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"loadRelatedMany\":{\"name\":\"loadRelatedMany\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any[]>\",\"isStatic\":false,\"isPublic\":true},\"getRelated\":{\"name\":\"getRelated\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"getAvailableTools\":{\"name\":\"getAvailableTools\",\"async\":false,\"parameters\":[],\"returnType\":\"AITool[]\",\"isStatic\":false,\"isPublic\":true},\"executeToolCall\":{\"name\":\"executeToolCall\",\"async\":true,\"parameters\":[{\"name\":\"toolCall\",\"type\":\"ToolCall\",\"optional\":false}],\"returnType\":\"Promise<ToolCallResult>\",\"isStatic\":false,\"isPublic\":true},\"remember\":{\"name\":\"remember\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"recall\":{\"name\":\"recall\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise\",\"isStatic\":false,\"isPublic\":true},\"recallAll\":{\"name\":\"recallAll\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":true}],\"returnType\":\"Promise<Map<string>>\",\"isStatic\":false,\"isPublic\":true},\"forget\":{\"name\":\"forget\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"forgetScope\":{\"name\":\"forgetScope\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"generateEmbeddings\":{\"name\":\"generateEmbeddings\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"GenerateEmbeddingsOptions\",\"optional\":true}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"getEmbedding\":{\"name\":\"getEmbedding\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"model\",\"type\":\"string\",\"optional\":true}],\"returnType\":\"Promise<number[] | null>\",\"isStatic\":false,\"isPublic\":true},\"hasStaleEmbeddings\":{\"name\":\"hasStaleEmbeddings\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<boolean>\",\"isStatic\":false,\"isPublic\":true},\"clearEmbeddings\":{\"name\":\"clearEmbeddings\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"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},\"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\\\" REAL DEFAULT 0,\\n \\\"tax_amount\\\" REAL DEFAULT 0,\\n \\\"total_amount\\\" REAL 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},\"vendor_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false},\"subtotal\":{\"type\":\"REAL\",\"notNull\":false,\"default\":0},\"tax_amount\":{\"type\":\"REAL\",\"notNull\":false,\"default\":0},\"total_amount\":{\"type\":\"REAL\",\"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_id_idx\",\"columns\":[\"id\"]},{\"name\":\"contracts_slug_context_meta_type_idx\",\"columns\":[\"slug\",\"context\",\"_meta_type\"],\"unique\":true},{\"name\":\"contracts_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"contracts_tenant_id_idx\",\"columns\":[\"tenant_id\"]}],\"version\":\"266e30a8\"}},\"@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\":\"decimal\",\"required\":false,\"default\":0},\"discount\":{\"type\":\"decimal\",\"required\":false,\"default\":0},\"taxRate\":{\"type\":\"decimal\",\"required\":false,\"default\":0},\"amount\":{\"type\":\"decimal\",\"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\":{\"getAiUsageSnapshot\":{\"name\":\"getAiUsageSnapshot\",\"async\":false,\"parameters\":[],\"returnType\":\"AiUsageSnapshot | undefined\",\"isStatic\":false,\"isPublic\":true},\"resetAiUsage\":{\"name\":\"resetAiUsage\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"listAiUsage\":{\"name\":\"listAiUsage\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiUsageListOptions\",\"optional\":true}],\"returnType\":\"Promise<SmrtAiUsageRecord[]>\",\"isStatic\":false,\"isPublic\":true},\"summarizeAiUsage\":{\"name\":\"summarizeAiUsage\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiUsageSummaryOptions\",\"optional\":true}],\"returnType\":\"Promise<Record<string, AiUsageStats>>\",\"isStatic\":false,\"isPublic\":true},\"destroy\":{\"name\":\"destroy\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"markAsPersisted\":{\"name\":\"markAsPersisted\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"requireInsertOnSave\":{\"name\":\"requireInsertOnSave\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise\",\"isStatic\":false,\"isPublic\":true},\"loadDataFromDb\":{\"name\":\"loadDataFromDb\",\"async\":true,\"parameters\":[{\"name\":\"data\",\"type\":\"Record<string>\",\"optional\":false}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getFields\":{\"name\":\"getFields\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"toJSON\":{\"name\":\"toJSON\",\"async\":false,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"toPlainObject\":{\"name\":\"toPlainObject\",\"async\":false,\"parameters\":[],\"returnType\":\"Record<string>\",\"isStatic\":false,\"isPublic\":true},\"toPublicJSON\":{\"name\":\"toPublicJSON\",\"async\":false,\"parameters\":[{\"name\":\"options\",\"type\":\"PublicJsonOptions\",\"optional\":true}],\"returnType\":\"Record<string>\",\"isStatic\":false,\"isPublic\":true},\"getId\":{\"name\":\"getId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getSlug\":{\"name\":\"getSlug\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getSavedId\":{\"name\":\"getSavedId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"isSaved\":{\"name\":\"isSaved\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"classifyConstraintError\":{\"name\":\"classifyConstraintError\",\"async\":false,\"parameters\":[{\"name\":\"message\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"'unique' | 'not_null' | null\",\"isStatic\":true,\"isPublic\":true},\"loadFromId\":{\"name\":\"loadFromId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"loadFromSlug\":{\"name\":\"loadFromSlug\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"is\":{\"name\":\"is\",\"async\":true,\"parameters\":[{\"name\":\"criteria\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"do\":{\"name\":\"do\",\"async\":true,\"parameters\":[{\"name\":\"instructions\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"describe\":{\"name\":\"describe\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"delete\":{\"name\":\"delete\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"isRelatedLoaded\":{\"name\":\"isRelatedLoaded\",\"async\":false,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"_setLoadedRelationship\":{\"name\":\"_setLoadedRelationship\",\"async\":false,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"value\",\"type\":\"any\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"loadRelated\":{\"name\":\"loadRelated\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"loadRelatedMany\":{\"name\":\"loadRelatedMany\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any[]>\",\"isStatic\":false,\"isPublic\":true},\"getRelated\":{\"name\":\"getRelated\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"getAvailableTools\":{\"name\":\"getAvailableTools\",\"async\":false,\"parameters\":[],\"returnType\":\"AITool[]\",\"isStatic\":false,\"isPublic\":true},\"executeToolCall\":{\"name\":\"executeToolCall\",\"async\":true,\"parameters\":[{\"name\":\"toolCall\",\"type\":\"ToolCall\",\"optional\":false}],\"returnType\":\"Promise<ToolCallResult>\",\"isStatic\":false,\"isPublic\":true},\"remember\":{\"name\":\"remember\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"recall\":{\"name\":\"recall\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise\",\"isStatic\":false,\"isPublic\":true},\"recallAll\":{\"name\":\"recallAll\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":true}],\"returnType\":\"Promise<Map<string>>\",\"isStatic\":false,\"isPublic\":true},\"forget\":{\"name\":\"forget\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"forgetScope\":{\"name\":\"forgetScope\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"generateEmbeddings\":{\"name\":\"generateEmbeddings\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"GenerateEmbeddingsOptions\",\"optional\":true}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"getEmbedding\":{\"name\":\"getEmbedding\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"model\",\"type\":\"string\",\"optional\":true}],\"returnType\":\"Promise<number[] | null>\",\"isStatic\":false,\"isPublic\":true},\"hasStaleEmbeddings\":{\"name\":\"hasStaleEmbeddings\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<boolean>\",\"isStatic\":false,\"isPublic\":true},\"clearEmbeddings\":{\"name\":\"clearEmbeddings\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"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\":true,\"tenantScoped\":{\"mode\":\"optional\"}},\"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\\\" REAL DEFAULT 0,\\n \\\"discount\\\" REAL DEFAULT 0,\\n \\\"tax_rate\\\" REAL DEFAULT 0,\\n \\\"amount\\\" REAL 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},\"description\":{\"type\":\"TEXT\",\"notNull\":false,\"default\":\"\"},\"quantity\":{\"type\":\"REAL\",\"notNull\":false,\"default\":1},\"unit_price\":{\"type\":\"REAL\",\"notNull\":false,\"default\":0},\"discount\":{\"type\":\"REAL\",\"notNull\":false,\"default\":0},\"tax_rate\":{\"type\":\"REAL\",\"notNull\":false,\"default\":0},\"amount\":{\"type\":\"REAL\",\"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_id_idx\",\"columns\":[\"id\"]},{\"name\":\"contract_line_items_slug_context_meta_type_idx\",\"columns\":[\"slug\",\"context\",\"_meta_type\"],\"unique\":true},{\"name\":\"contract_line_items_meta_type_idx\",\"columns\":[\"_meta_type\"]},{\"name\":\"contract_line_items_tenant_id_idx\",\"columns\":[\"tenant_id\"]}],\"version\":\"788c92c1\"}},\"@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\":\"decimal\",\"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\":true,\"tenantScoped\":{\"mode\":\"optional\"}},\"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\\\" REAL 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\":\"REAL\",\"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_id_idx\",\"columns\":[\"id\"]},{\"name\":\"customers_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"customers_tenant_id_idx\",\"columns\":[\"tenant_id\"]}],\"version\":\"205341ce\"}},\"@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\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise\",\"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\":true,\"tenantScoped\":{\"mode\":\"optional\"}},\"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},\"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_id_idx\",\"columns\":[\"id\"]},{\"name\":\"fulfillments_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"fulfillments_tenant_id_idx\",\"columns\":[\"tenant_id\"]}],\"version\":\"b8837680\"}},\"@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\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"api\":{\"include\":[\"list\",\"get\",\"create\",\"update\",\"delete\"]},\"mcp\":{\"include\":[\"list\",\"get\"]},\"cli\":true,\"tenantScoped\":{\"mode\":\"optional\"}},\"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},\"contract_line_item_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false},\"quantity_fulfilled\":{\"type\":\"REAL\",\"notNull\":false,\"unique\":false,\"default\":1},\"notes\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"fulfillment_line_items_id_idx\",\"columns\":[\"id\"]},{\"name\":\"fulfillment_line_items_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"fulfillment_line_items_tenant_id_idx\",\"columns\":[\"tenant_id\"]}],\"version\":\"664e52f2\"}},\"@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},\"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\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise\",\"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\":true,\"tenantScoped\":{\"mode\":\"optional\"}},\"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 \\\"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},\"contract_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false},\"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},\"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_id_idx\",\"columns\":[\"id\"]},{\"name\":\"invoices_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"invoices_tenant_id_idx\",\"columns\":[\"tenant_id\"]}],\"version\":\"c22cc7ef\"}},\"@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\":\"integer\",\"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\":[],\"returnType\":\"AccountingLineItemInput\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"api\":{\"include\":[\"list\",\"get\",\"create\",\"update\",\"delete\"]},\"mcp\":{\"include\":[\"list\",\"get\"]},\"cli\":true,\"tenantScoped\":{\"mode\":\"optional\"}},\"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\\\" INTEGER 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},\"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\":\"INTEGER\",\"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_id_idx\",\"columns\":[\"id\"]},{\"name\":\"invoice_line_items_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"invoice_line_items_tenant_id_idx\",\"columns\":[\"tenant_id\"]}],\"version\":\"d8bd324d\"}},\"@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\":\"decimal\",\"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\":\"decimal\",\"required\":false,\"default\":0},\"nativeCurrency\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"usdAtQuote\":{\"type\":\"decimal\",\"required\":false,\"default\":0},\"usdAtConfirmation\":{\"type\":\"decimal\",\"required\":false,\"default\":0}},\"methods\":{\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise\",\"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\":true,\"tenantScoped\":{\"mode\":\"optional\"}},\"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\\\" REAL 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\\\" REAL DEFAULT 0,\\n \\\"native_currency\\\" TEXT DEFAULT '',\\n \\\"usd_at_quote\\\" REAL DEFAULT 0,\\n \\\"usd_at_confirmation\\\" REAL 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},\"customer_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false},\"amount\":{\"type\":\"REAL\",\"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\":\"REAL\",\"notNull\":false,\"unique\":false,\"default\":0},\"native_currency\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"usd_at_quote\":{\"type\":\"REAL\",\"notNull\":false,\"unique\":false,\"default\":0},\"usd_at_confirmation\":{\"type\":\"REAL\",\"notNull\":false,\"unique\":false,\"default\":0}},\"indexes\":[{\"name\":\"payments_id_idx\",\"columns\":[\"id\"]},{\"name\":\"payments_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"payments_tenant_id_idx\",\"columns\":[\"tenant_id\"]}],\"version\":\"65155923\"}},\"@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\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"api\":{\"include\":[\"list\",\"get\"]},\"mcp\":{\"include\":[\"list\",\"get\"]},\"cli\":{\"include\":[\"list\",\"get\"]},\"tenantScoped\":{\"mode\":\"optional\"}},\"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},\"invoice_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false},\"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_id_idx\",\"columns\":[\"id\"]},{\"name\":\"payment_allocations_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"payment_allocations_tenant_id_idx\",\"columns\":[\"tenant_id\"]}],\"version\":\"6868b743\"}},\"@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\":true,\"tenantScoped\":{\"mode\":\"optional\"}},\"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},\"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_id_idx\",\"columns\":[\"id\"]},{\"name\":\"payment_instruments_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"payment_instruments_tenant_id_idx\",\"columns\":[\"tenant_id\"]}],\"version\":\"0aace928\"}},\"@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\":\"decimal\",\"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\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise\",\"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}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"verifyAndMarkPaid\":{\"name\":\"verifyAndMarkPaid\",\"async\":true,\"parameters\":[{\"name\":\"args\",\"type\":\"object\",\"optional\":false}],\"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\":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\\\" REAL 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\":\"REAL\",\"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_id_idx\",\"columns\":[\"id\"]},{\"name\":\"payment_intents_tenant_id_offering_ref_idx\",\"columns\":[\"tenant_id\",\"offering_ref\",\"licensee_email\",\"idempotency_key\"],\"unique\":true}],\"version\":\"4597e297\"}},\"@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\":\"decimal\",\"required\":false,\"default\":0},\"operatorFee\":{\"type\":\"decimal\",\"required\":false,\"default\":0},\"supplierNet\":{\"type\":\"decimal\",\"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\",\"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\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"api\":{\"include\":[\"list\",\"get\"]},\"mcp\":{\"include\":[\"list\",\"get\"]},\"cli\":{\"include\":[\"list\",\"get\"]},\"tenantScoped\":{\"mode\":\"optional\"}},\"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\\\" REAL DEFAULT 0,\\n \\\"operator_fee\\\" REAL DEFAULT 0,\\n \\\"supplier_net\\\" REAL 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},\"gross_amount\":{\"type\":\"REAL\",\"notNull\":false,\"unique\":false,\"default\":0},\"operator_fee\":{\"type\":\"REAL\",\"notNull\":false,\"unique\":false,\"default\":0},\"supplier_net\":{\"type\":\"REAL\",\"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_id_idx\",\"columns\":[\"id\"]},{\"name\":\"payouts_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"payouts_tenant_id_idx\",\"columns\":[\"tenant_id\"]}],\"version\":\"f2382731\"}},\"@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\":\"decimal\",\"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\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise\",\"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\":\"any\",\"isStatic\":false,\"isPublic\":true},\"clearPayoutAddress\":{\"name\":\"clearPayoutAddress\",\"async\":false,\"parameters\":[{\"name\":\"currency\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"api\":{\"include\":[\"list\",\"get\",\"create\",\"update\"]},\"mcp\":{\"include\":[\"list\",\"get\"]},\"cli\":true,\"tenantScoped\":{\"mode\":\"optional\"}},\"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\\\" REAL 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\":\"REAL\",\"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_id_idx\",\"columns\":[\"id\"]},{\"name\":\"vendors_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"vendors_tenant_id_idx\",\"columns\":[\"tenant_id\"]}],\"version\":\"43490a82\"}}},\"moduleType\":\"smrt\",\"smrtDependencies\":[\"@happyvertical/smrt-core\",\"@happyvertical/smrt-ledgers\",\"@happyvertical/smrt-tenancy\"]}"));
20
+ ObjectRegistry.registerPackageManifest(JSON.parse("{\"version\":\"1.0.0\",\"timestamp\":0,\"packageName\":\"@happyvertical/smrt-commerce\",\"packageVersion\":\"0.41.0\",\"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\":\"contract_collections\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"contract_collections\\\" (\\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);\",\"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\"}},\"indexes\":[{\"name\":\"contract_collections_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"contract_collections_created_at_idx\",\"columns\":[\"created_at\"]}],\"version\":\"c2abc9f0\"}},\"@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_item_collections\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"contract_line_item_collections\\\" (\\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);\",\"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\"}},\"indexes\":[{\"name\":\"contract_line_item_collections_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"contract_line_item_collections_created_at_idx\",\"columns\":[\"created_at\"]}],\"version\":\"410887d1\"}},\"@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}],\"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\":\"customer_collections\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"customer_collections\\\" (\\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);\",\"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\"}},\"indexes\":[{\"name\":\"customer_collections_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"customer_collections_created_at_idx\",\"columns\":[\"created_at\"]}],\"version\":\"63593259\"}},\"@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\":\"fulfillment_collections\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"fulfillment_collections\\\" (\\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);\",\"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\"}},\"indexes\":[{\"name\":\"fulfillment_collections_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"fulfillment_collections_created_at_idx\",\"columns\":[\"created_at\"]}],\"version\":\"0cb8f9e1\"}},\"@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_item_collections\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"fulfillment_line_item_collections\\\" (\\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);\",\"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\"}},\"indexes\":[{\"name\":\"fulfillment_line_item_collections_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"fulfillment_line_item_collections_created_at_idx\",\"columns\":[\"created_at\"]}],\"version\":\"88e7502e\"}},\"@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\":\"invoice_collections\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"invoice_collections\\\" (\\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);\",\"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\"}},\"indexes\":[{\"name\":\"invoice_collections_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"invoice_collections_created_at_idx\",\"columns\":[\"created_at\"]}],\"version\":\"4877ccc3\"}},\"@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_item_collections\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"invoice_line_item_collections\\\" (\\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);\",\"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\"}},\"indexes\":[{\"name\":\"invoice_line_item_collections_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"invoice_line_item_collections_created_at_idx\",\"columns\":[\"created_at\"]}],\"version\":\"27337dcf\"}},\"@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_allocation_collections\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"payment_allocation_collections\\\" (\\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);\",\"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\"}},\"indexes\":[{\"name\":\"payment_allocation_collections_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"payment_allocation_collections_created_at_idx\",\"columns\":[\"created_at\"]}],\"version\":\"0d07c4d3\"}},\"@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\":\"payment_collections\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"payment_collections\\\" (\\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);\",\"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\"}},\"indexes\":[{\"name\":\"payment_collections_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"payment_collections_created_at_idx\",\"columns\":[\"created_at\"]}],\"version\":\"bf759c9b\"}},\"@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_instrument_collections\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"payment_instrument_collections\\\" (\\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);\",\"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\"}},\"indexes\":[{\"name\":\"payment_instrument_collections_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"payment_instrument_collections_created_at_idx\",\"columns\":[\"created_at\"]}],\"version\":\"dd2ca72c\"}},\"@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_intent_collections\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"payment_intent_collections\\\" (\\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);\",\"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\"}},\"indexes\":[{\"name\":\"payment_intent_collections_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"payment_intent_collections_created_at_idx\",\"columns\":[\"created_at\"]}],\"version\":\"f79d1a8f\"}},\"@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\":\"payout_collections\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"payout_collections\\\" (\\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);\",\"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\"}},\"indexes\":[{\"name\":\"payout_collections_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"payout_collections_created_at_idx\",\"columns\":[\"created_at\"]}],\"version\":\"7dc3bcc1\"}},\"@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}],\"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\":\"vendor_collections\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"vendor_collections\\\" (\\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);\",\"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\"}},\"indexes\":[{\"name\":\"vendor_collections_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"vendor_collections_created_at_idx\",\"columns\":[\"created_at\"]}],\"version\":\"ffdcddab\"}},\"@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\":{\"getAiUsageSnapshot\":{\"name\":\"getAiUsageSnapshot\",\"async\":false,\"parameters\":[],\"returnType\":\"AiUsageSnapshot | undefined\",\"isStatic\":false,\"isPublic\":true},\"resetAiUsage\":{\"name\":\"resetAiUsage\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"listAiUsage\":{\"name\":\"listAiUsage\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiUsageListOptions\",\"optional\":true}],\"returnType\":\"Promise<SmrtAiUsageRecord[]>\",\"isStatic\":false,\"isPublic\":true},\"summarizeAiUsage\":{\"name\":\"summarizeAiUsage\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiUsageSummaryOptions\",\"optional\":true}],\"returnType\":\"Promise<Record<string, AiUsageStats>>\",\"isStatic\":false,\"isPublic\":true},\"destroy\":{\"name\":\"destroy\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"markAsPersisted\":{\"name\":\"markAsPersisted\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"requireInsertOnSave\":{\"name\":\"requireInsertOnSave\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise\",\"isStatic\":false,\"isPublic\":true},\"loadDataFromDb\":{\"name\":\"loadDataFromDb\",\"async\":true,\"parameters\":[{\"name\":\"data\",\"type\":\"Record<string>\",\"optional\":false}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getFields\":{\"name\":\"getFields\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"toJSON\":{\"name\":\"toJSON\",\"async\":false,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"toPlainObject\":{\"name\":\"toPlainObject\",\"async\":false,\"parameters\":[],\"returnType\":\"Record<string>\",\"isStatic\":false,\"isPublic\":true},\"toPublicJSON\":{\"name\":\"toPublicJSON\",\"async\":false,\"parameters\":[{\"name\":\"options\",\"type\":\"PublicJsonOptions\",\"optional\":true}],\"returnType\":\"Record<string>\",\"isStatic\":false,\"isPublic\":true},\"getId\":{\"name\":\"getId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getSlug\":{\"name\":\"getSlug\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getSavedId\":{\"name\":\"getSavedId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"isSaved\":{\"name\":\"isSaved\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise\",\"isStatic\":false,\"isPublic\":true},\"classifyConstraintError\":{\"name\":\"classifyConstraintError\",\"async\":false,\"parameters\":[{\"name\":\"message\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"'unique' | 'not_null' | null\",\"isStatic\":true,\"isPublic\":true},\"loadFromId\":{\"name\":\"loadFromId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"loadFromSlug\":{\"name\":\"loadFromSlug\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"is\":{\"name\":\"is\",\"async\":true,\"parameters\":[{\"name\":\"criteria\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"do\":{\"name\":\"do\",\"async\":true,\"parameters\":[{\"name\":\"instructions\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"describe\":{\"name\":\"describe\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"delete\":{\"name\":\"delete\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"isRelatedLoaded\":{\"name\":\"isRelatedLoaded\",\"async\":false,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"_setLoadedRelationship\":{\"name\":\"_setLoadedRelationship\",\"async\":false,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"value\",\"type\":\"any\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"loadRelated\":{\"name\":\"loadRelated\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"loadRelatedMany\":{\"name\":\"loadRelatedMany\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any[]>\",\"isStatic\":false,\"isPublic\":true},\"getRelated\":{\"name\":\"getRelated\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"getAvailableTools\":{\"name\":\"getAvailableTools\",\"async\":false,\"parameters\":[],\"returnType\":\"AITool[]\",\"isStatic\":false,\"isPublic\":true},\"executeToolCall\":{\"name\":\"executeToolCall\",\"async\":true,\"parameters\":[{\"name\":\"toolCall\",\"type\":\"ToolCall\",\"optional\":false}],\"returnType\":\"Promise<ToolCallResult>\",\"isStatic\":false,\"isPublic\":true},\"remember\":{\"name\":\"remember\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"recall\":{\"name\":\"recall\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise\",\"isStatic\":false,\"isPublic\":true},\"recallAll\":{\"name\":\"recallAll\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":true}],\"returnType\":\"Promise<Map<string>>\",\"isStatic\":false,\"isPublic\":true},\"forget\":{\"name\":\"forget\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"forgetScope\":{\"name\":\"forgetScope\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"generateEmbeddings\":{\"name\":\"generateEmbeddings\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"GenerateEmbeddingsOptions\",\"optional\":true}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"getEmbedding\":{\"name\":\"getEmbedding\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"model\",\"type\":\"string\",\"optional\":true}],\"returnType\":\"Promise<number[] | null>\",\"isStatic\":false,\"isPublic\":true},\"hasStaleEmbeddings\":{\"name\":\"hasStaleEmbeddings\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<boolean>\",\"isStatic\":false,\"isPublic\":true},\"clearEmbeddings\":{\"name\":\"clearEmbeddings\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"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}},\"decoratorConfig\":{\"tableStrategy\":\"sti\",\"api\":{\"include\":[\"list\",\"get\",\"create\",\"update\"]},\"mcp\":{\"include\":[\"list\",\"get\"]},\"cli\":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},\"vendor_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false},\"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},{\"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\":\"db450616\"}},\"@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\":{\"getAiUsageSnapshot\":{\"name\":\"getAiUsageSnapshot\",\"async\":false,\"parameters\":[],\"returnType\":\"AiUsageSnapshot | undefined\",\"isStatic\":false,\"isPublic\":true},\"resetAiUsage\":{\"name\":\"resetAiUsage\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"listAiUsage\":{\"name\":\"listAiUsage\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiUsageListOptions\",\"optional\":true}],\"returnType\":\"Promise<SmrtAiUsageRecord[]>\",\"isStatic\":false,\"isPublic\":true},\"summarizeAiUsage\":{\"name\":\"summarizeAiUsage\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiUsageSummaryOptions\",\"optional\":true}],\"returnType\":\"Promise<Record<string, AiUsageStats>>\",\"isStatic\":false,\"isPublic\":true},\"destroy\":{\"name\":\"destroy\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"markAsPersisted\":{\"name\":\"markAsPersisted\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"requireInsertOnSave\":{\"name\":\"requireInsertOnSave\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise\",\"isStatic\":false,\"isPublic\":true},\"loadDataFromDb\":{\"name\":\"loadDataFromDb\",\"async\":true,\"parameters\":[{\"name\":\"data\",\"type\":\"Record<string>\",\"optional\":false}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getFields\":{\"name\":\"getFields\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"toJSON\":{\"name\":\"toJSON\",\"async\":false,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"toPlainObject\":{\"name\":\"toPlainObject\",\"async\":false,\"parameters\":[],\"returnType\":\"Record<string>\",\"isStatic\":false,\"isPublic\":true},\"toPublicJSON\":{\"name\":\"toPublicJSON\",\"async\":false,\"parameters\":[{\"name\":\"options\",\"type\":\"PublicJsonOptions\",\"optional\":true}],\"returnType\":\"Record<string>\",\"isStatic\":false,\"isPublic\":true},\"getId\":{\"name\":\"getId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getSlug\":{\"name\":\"getSlug\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getSavedId\":{\"name\":\"getSavedId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"isSaved\":{\"name\":\"isSaved\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"classifyConstraintError\":{\"name\":\"classifyConstraintError\",\"async\":false,\"parameters\":[{\"name\":\"message\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"'unique' | 'not_null' | null\",\"isStatic\":true,\"isPublic\":true},\"loadFromId\":{\"name\":\"loadFromId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"loadFromSlug\":{\"name\":\"loadFromSlug\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"is\":{\"name\":\"is\",\"async\":true,\"parameters\":[{\"name\":\"criteria\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"do\":{\"name\":\"do\",\"async\":true,\"parameters\":[{\"name\":\"instructions\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"describe\":{\"name\":\"describe\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"delete\":{\"name\":\"delete\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"isRelatedLoaded\":{\"name\":\"isRelatedLoaded\",\"async\":false,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"_setLoadedRelationship\":{\"name\":\"_setLoadedRelationship\",\"async\":false,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"value\",\"type\":\"any\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"loadRelated\":{\"name\":\"loadRelated\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"loadRelatedMany\":{\"name\":\"loadRelatedMany\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any[]>\",\"isStatic\":false,\"isPublic\":true},\"getRelated\":{\"name\":\"getRelated\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"getAvailableTools\":{\"name\":\"getAvailableTools\",\"async\":false,\"parameters\":[],\"returnType\":\"AITool[]\",\"isStatic\":false,\"isPublic\":true},\"executeToolCall\":{\"name\":\"executeToolCall\",\"async\":true,\"parameters\":[{\"name\":\"toolCall\",\"type\":\"ToolCall\",\"optional\":false}],\"returnType\":\"Promise<ToolCallResult>\",\"isStatic\":false,\"isPublic\":true},\"remember\":{\"name\":\"remember\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"recall\":{\"name\":\"recall\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise\",\"isStatic\":false,\"isPublic\":true},\"recallAll\":{\"name\":\"recallAll\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":true}],\"returnType\":\"Promise<Map<string>>\",\"isStatic\":false,\"isPublic\":true},\"forget\":{\"name\":\"forget\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"forgetScope\":{\"name\":\"forgetScope\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"generateEmbeddings\":{\"name\":\"generateEmbeddings\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"GenerateEmbeddingsOptions\",\"optional\":true}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"getEmbedding\":{\"name\":\"getEmbedding\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"model\",\"type\":\"string\",\"optional\":true}],\"returnType\":\"Promise<number[] | null>\",\"isStatic\":false,\"isPublic\":true},\"hasStaleEmbeddings\":{\"name\":\"hasStaleEmbeddings\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<boolean>\",\"isStatic\":false,\"isPublic\":true},\"clearEmbeddings\":{\"name\":\"clearEmbeddings\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"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}},\"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},\"vendor_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false},\"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},{\"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\":\"db450616\"}},\"@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\":{\"getAiUsageSnapshot\":{\"name\":\"getAiUsageSnapshot\",\"async\":false,\"parameters\":[],\"returnType\":\"AiUsageSnapshot | undefined\",\"isStatic\":false,\"isPublic\":true},\"resetAiUsage\":{\"name\":\"resetAiUsage\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"listAiUsage\":{\"name\":\"listAiUsage\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiUsageListOptions\",\"optional\":true}],\"returnType\":\"Promise<SmrtAiUsageRecord[]>\",\"isStatic\":false,\"isPublic\":true},\"summarizeAiUsage\":{\"name\":\"summarizeAiUsage\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiUsageSummaryOptions\",\"optional\":true}],\"returnType\":\"Promise<Record<string, AiUsageStats>>\",\"isStatic\":false,\"isPublic\":true},\"destroy\":{\"name\":\"destroy\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"markAsPersisted\":{\"name\":\"markAsPersisted\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"requireInsertOnSave\":{\"name\":\"requireInsertOnSave\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise\",\"isStatic\":false,\"isPublic\":true},\"loadDataFromDb\":{\"name\":\"loadDataFromDb\",\"async\":true,\"parameters\":[{\"name\":\"data\",\"type\":\"Record<string>\",\"optional\":false}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getFields\":{\"name\":\"getFields\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"toJSON\":{\"name\":\"toJSON\",\"async\":false,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"toPlainObject\":{\"name\":\"toPlainObject\",\"async\":false,\"parameters\":[],\"returnType\":\"Record<string>\",\"isStatic\":false,\"isPublic\":true},\"toPublicJSON\":{\"name\":\"toPublicJSON\",\"async\":false,\"parameters\":[{\"name\":\"options\",\"type\":\"PublicJsonOptions\",\"optional\":true}],\"returnType\":\"Record<string>\",\"isStatic\":false,\"isPublic\":true},\"getId\":{\"name\":\"getId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getSlug\":{\"name\":\"getSlug\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getSavedId\":{\"name\":\"getSavedId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"isSaved\":{\"name\":\"isSaved\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"classifyConstraintError\":{\"name\":\"classifyConstraintError\",\"async\":false,\"parameters\":[{\"name\":\"message\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"'unique' | 'not_null' | null\",\"isStatic\":true,\"isPublic\":true},\"loadFromId\":{\"name\":\"loadFromId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"loadFromSlug\":{\"name\":\"loadFromSlug\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"is\":{\"name\":\"is\",\"async\":true,\"parameters\":[{\"name\":\"criteria\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"do\":{\"name\":\"do\",\"async\":true,\"parameters\":[{\"name\":\"instructions\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"describe\":{\"name\":\"describe\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"delete\":{\"name\":\"delete\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"isRelatedLoaded\":{\"name\":\"isRelatedLoaded\",\"async\":false,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"_setLoadedRelationship\":{\"name\":\"_setLoadedRelationship\",\"async\":false,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"value\",\"type\":\"any\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"loadRelated\":{\"name\":\"loadRelated\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"loadRelatedMany\":{\"name\":\"loadRelatedMany\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any[]>\",\"isStatic\":false,\"isPublic\":true},\"getRelated\":{\"name\":\"getRelated\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"getAvailableTools\":{\"name\":\"getAvailableTools\",\"async\":false,\"parameters\":[],\"returnType\":\"AITool[]\",\"isStatic\":false,\"isPublic\":true},\"executeToolCall\":{\"name\":\"executeToolCall\",\"async\":true,\"parameters\":[{\"name\":\"toolCall\",\"type\":\"ToolCall\",\"optional\":false}],\"returnType\":\"Promise<ToolCallResult>\",\"isStatic\":false,\"isPublic\":true},\"remember\":{\"name\":\"remember\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"recall\":{\"name\":\"recall\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise\",\"isStatic\":false,\"isPublic\":true},\"recallAll\":{\"name\":\"recallAll\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":true}],\"returnType\":\"Promise<Map<string>>\",\"isStatic\":false,\"isPublic\":true},\"forget\":{\"name\":\"forget\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"forgetScope\":{\"name\":\"forgetScope\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"generateEmbeddings\":{\"name\":\"generateEmbeddings\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"GenerateEmbeddingsOptions\",\"optional\":true}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"getEmbedding\":{\"name\":\"getEmbedding\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"model\",\"type\":\"string\",\"optional\":true}],\"returnType\":\"Promise<number[] | null>\",\"isStatic\":false,\"isPublic\":true},\"hasStaleEmbeddings\":{\"name\":\"hasStaleEmbeddings\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<boolean>\",\"isStatic\":false,\"isPublic\":true},\"clearEmbeddings\":{\"name\":\"clearEmbeddings\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"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}},\"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},\"vendor_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false},\"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},{\"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\":\"db450616\"}},\"@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\":{\"getAiUsageSnapshot\":{\"name\":\"getAiUsageSnapshot\",\"async\":false,\"parameters\":[],\"returnType\":\"AiUsageSnapshot | undefined\",\"isStatic\":false,\"isPublic\":true},\"resetAiUsage\":{\"name\":\"resetAiUsage\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"listAiUsage\":{\"name\":\"listAiUsage\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiUsageListOptions\",\"optional\":true}],\"returnType\":\"Promise<SmrtAiUsageRecord[]>\",\"isStatic\":false,\"isPublic\":true},\"summarizeAiUsage\":{\"name\":\"summarizeAiUsage\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiUsageSummaryOptions\",\"optional\":true}],\"returnType\":\"Promise<Record<string, AiUsageStats>>\",\"isStatic\":false,\"isPublic\":true},\"destroy\":{\"name\":\"destroy\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"markAsPersisted\":{\"name\":\"markAsPersisted\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"requireInsertOnSave\":{\"name\":\"requireInsertOnSave\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise\",\"isStatic\":false,\"isPublic\":true},\"loadDataFromDb\":{\"name\":\"loadDataFromDb\",\"async\":true,\"parameters\":[{\"name\":\"data\",\"type\":\"Record<string>\",\"optional\":false}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getFields\":{\"name\":\"getFields\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"toJSON\":{\"name\":\"toJSON\",\"async\":false,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"toPlainObject\":{\"name\":\"toPlainObject\",\"async\":false,\"parameters\":[],\"returnType\":\"Record<string>\",\"isStatic\":false,\"isPublic\":true},\"toPublicJSON\":{\"name\":\"toPublicJSON\",\"async\":false,\"parameters\":[{\"name\":\"options\",\"type\":\"PublicJsonOptions\",\"optional\":true}],\"returnType\":\"Record<string>\",\"isStatic\":false,\"isPublic\":true},\"getId\":{\"name\":\"getId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getSlug\":{\"name\":\"getSlug\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getSavedId\":{\"name\":\"getSavedId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"isSaved\":{\"name\":\"isSaved\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"classifyConstraintError\":{\"name\":\"classifyConstraintError\",\"async\":false,\"parameters\":[{\"name\":\"message\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"'unique' | 'not_null' | null\",\"isStatic\":true,\"isPublic\":true},\"loadFromId\":{\"name\":\"loadFromId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"loadFromSlug\":{\"name\":\"loadFromSlug\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"is\":{\"name\":\"is\",\"async\":true,\"parameters\":[{\"name\":\"criteria\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"do\":{\"name\":\"do\",\"async\":true,\"parameters\":[{\"name\":\"instructions\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"describe\":{\"name\":\"describe\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"delete\":{\"name\":\"delete\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"isRelatedLoaded\":{\"name\":\"isRelatedLoaded\",\"async\":false,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"_setLoadedRelationship\":{\"name\":\"_setLoadedRelationship\",\"async\":false,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"value\",\"type\":\"any\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"loadRelated\":{\"name\":\"loadRelated\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"loadRelatedMany\":{\"name\":\"loadRelatedMany\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any[]>\",\"isStatic\":false,\"isPublic\":true},\"getRelated\":{\"name\":\"getRelated\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"getAvailableTools\":{\"name\":\"getAvailableTools\",\"async\":false,\"parameters\":[],\"returnType\":\"AITool[]\",\"isStatic\":false,\"isPublic\":true},\"executeToolCall\":{\"name\":\"executeToolCall\",\"async\":true,\"parameters\":[{\"name\":\"toolCall\",\"type\":\"ToolCall\",\"optional\":false}],\"returnType\":\"Promise<ToolCallResult>\",\"isStatic\":false,\"isPublic\":true},\"remember\":{\"name\":\"remember\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"recall\":{\"name\":\"recall\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise\",\"isStatic\":false,\"isPublic\":true},\"recallAll\":{\"name\":\"recallAll\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":true}],\"returnType\":\"Promise<Map<string>>\",\"isStatic\":false,\"isPublic\":true},\"forget\":{\"name\":\"forget\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"forgetScope\":{\"name\":\"forgetScope\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"generateEmbeddings\":{\"name\":\"generateEmbeddings\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"GenerateEmbeddingsOptions\",\"optional\":true}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"getEmbedding\":{\"name\":\"getEmbedding\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"model\",\"type\":\"string\",\"optional\":true}],\"returnType\":\"Promise<number[] | null>\",\"isStatic\":false,\"isPublic\":true},\"hasStaleEmbeddings\":{\"name\":\"hasStaleEmbeddings\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<boolean>\",\"isStatic\":false,\"isPublic\":true},\"clearEmbeddings\":{\"name\":\"clearEmbeddings\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"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}},\"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},\"vendor_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false},\"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},{\"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\":\"db450616\"}},\"@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\":{\"getAiUsageSnapshot\":{\"name\":\"getAiUsageSnapshot\",\"async\":false,\"parameters\":[],\"returnType\":\"AiUsageSnapshot | undefined\",\"isStatic\":false,\"isPublic\":true},\"resetAiUsage\":{\"name\":\"resetAiUsage\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"listAiUsage\":{\"name\":\"listAiUsage\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiUsageListOptions\",\"optional\":true}],\"returnType\":\"Promise<SmrtAiUsageRecord[]>\",\"isStatic\":false,\"isPublic\":true},\"summarizeAiUsage\":{\"name\":\"summarizeAiUsage\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiUsageSummaryOptions\",\"optional\":true}],\"returnType\":\"Promise<Record<string, AiUsageStats>>\",\"isStatic\":false,\"isPublic\":true},\"destroy\":{\"name\":\"destroy\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"markAsPersisted\":{\"name\":\"markAsPersisted\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"requireInsertOnSave\":{\"name\":\"requireInsertOnSave\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise\",\"isStatic\":false,\"isPublic\":true},\"loadDataFromDb\":{\"name\":\"loadDataFromDb\",\"async\":true,\"parameters\":[{\"name\":\"data\",\"type\":\"Record<string>\",\"optional\":false}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getFields\":{\"name\":\"getFields\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"toJSON\":{\"name\":\"toJSON\",\"async\":false,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"toPlainObject\":{\"name\":\"toPlainObject\",\"async\":false,\"parameters\":[],\"returnType\":\"Record<string>\",\"isStatic\":false,\"isPublic\":true},\"toPublicJSON\":{\"name\":\"toPublicJSON\",\"async\":false,\"parameters\":[{\"name\":\"options\",\"type\":\"PublicJsonOptions\",\"optional\":true}],\"returnType\":\"Record<string>\",\"isStatic\":false,\"isPublic\":true},\"getId\":{\"name\":\"getId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getSlug\":{\"name\":\"getSlug\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getSavedId\":{\"name\":\"getSavedId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"isSaved\":{\"name\":\"isSaved\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"classifyConstraintError\":{\"name\":\"classifyConstraintError\",\"async\":false,\"parameters\":[{\"name\":\"message\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"'unique' | 'not_null' | null\",\"isStatic\":true,\"isPublic\":true},\"loadFromId\":{\"name\":\"loadFromId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"loadFromSlug\":{\"name\":\"loadFromSlug\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"is\":{\"name\":\"is\",\"async\":true,\"parameters\":[{\"name\":\"criteria\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"do\":{\"name\":\"do\",\"async\":true,\"parameters\":[{\"name\":\"instructions\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"describe\":{\"name\":\"describe\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"delete\":{\"name\":\"delete\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"isRelatedLoaded\":{\"name\":\"isRelatedLoaded\",\"async\":false,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"_setLoadedRelationship\":{\"name\":\"_setLoadedRelationship\",\"async\":false,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"value\",\"type\":\"any\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"loadRelated\":{\"name\":\"loadRelated\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"loadRelatedMany\":{\"name\":\"loadRelatedMany\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any[]>\",\"isStatic\":false,\"isPublic\":true},\"getRelated\":{\"name\":\"getRelated\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"getAvailableTools\":{\"name\":\"getAvailableTools\",\"async\":false,\"parameters\":[],\"returnType\":\"AITool[]\",\"isStatic\":false,\"isPublic\":true},\"executeToolCall\":{\"name\":\"executeToolCall\",\"async\":true,\"parameters\":[{\"name\":\"toolCall\",\"type\":\"ToolCall\",\"optional\":false}],\"returnType\":\"Promise<ToolCallResult>\",\"isStatic\":false,\"isPublic\":true},\"remember\":{\"name\":\"remember\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"recall\":{\"name\":\"recall\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise\",\"isStatic\":false,\"isPublic\":true},\"recallAll\":{\"name\":\"recallAll\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":true}],\"returnType\":\"Promise<Map<string>>\",\"isStatic\":false,\"isPublic\":true},\"forget\":{\"name\":\"forget\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"forgetScope\":{\"name\":\"forgetScope\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"generateEmbeddings\":{\"name\":\"generateEmbeddings\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"GenerateEmbeddingsOptions\",\"optional\":true}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"getEmbedding\":{\"name\":\"getEmbedding\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"model\",\"type\":\"string\",\"optional\":true}],\"returnType\":\"Promise<number[] | null>\",\"isStatic\":false,\"isPublic\":true},\"hasStaleEmbeddings\":{\"name\":\"hasStaleEmbeddings\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<boolean>\",\"isStatic\":false,\"isPublic\":true},\"clearEmbeddings\":{\"name\":\"clearEmbeddings\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"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}},\"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},\"vendor_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false},\"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},{\"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\":\"db450616\"}},\"@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\":{\"getAiUsageSnapshot\":{\"name\":\"getAiUsageSnapshot\",\"async\":false,\"parameters\":[],\"returnType\":\"AiUsageSnapshot | undefined\",\"isStatic\":false,\"isPublic\":true},\"resetAiUsage\":{\"name\":\"resetAiUsage\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"listAiUsage\":{\"name\":\"listAiUsage\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiUsageListOptions\",\"optional\":true}],\"returnType\":\"Promise<SmrtAiUsageRecord[]>\",\"isStatic\":false,\"isPublic\":true},\"summarizeAiUsage\":{\"name\":\"summarizeAiUsage\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiUsageSummaryOptions\",\"optional\":true}],\"returnType\":\"Promise<Record<string, AiUsageStats>>\",\"isStatic\":false,\"isPublic\":true},\"destroy\":{\"name\":\"destroy\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"markAsPersisted\":{\"name\":\"markAsPersisted\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"requireInsertOnSave\":{\"name\":\"requireInsertOnSave\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise\",\"isStatic\":false,\"isPublic\":true},\"loadDataFromDb\":{\"name\":\"loadDataFromDb\",\"async\":true,\"parameters\":[{\"name\":\"data\",\"type\":\"Record<string>\",\"optional\":false}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getFields\":{\"name\":\"getFields\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"toJSON\":{\"name\":\"toJSON\",\"async\":false,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"toPlainObject\":{\"name\":\"toPlainObject\",\"async\":false,\"parameters\":[],\"returnType\":\"Record<string>\",\"isStatic\":false,\"isPublic\":true},\"toPublicJSON\":{\"name\":\"toPublicJSON\",\"async\":false,\"parameters\":[{\"name\":\"options\",\"type\":\"PublicJsonOptions\",\"optional\":true}],\"returnType\":\"Record<string>\",\"isStatic\":false,\"isPublic\":true},\"getId\":{\"name\":\"getId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getSlug\":{\"name\":\"getSlug\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getSavedId\":{\"name\":\"getSavedId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"isSaved\":{\"name\":\"isSaved\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"classifyConstraintError\":{\"name\":\"classifyConstraintError\",\"async\":false,\"parameters\":[{\"name\":\"message\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"'unique' | 'not_null' | null\",\"isStatic\":true,\"isPublic\":true},\"loadFromId\":{\"name\":\"loadFromId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"loadFromSlug\":{\"name\":\"loadFromSlug\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"is\":{\"name\":\"is\",\"async\":true,\"parameters\":[{\"name\":\"criteria\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"do\":{\"name\":\"do\",\"async\":true,\"parameters\":[{\"name\":\"instructions\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"describe\":{\"name\":\"describe\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"delete\":{\"name\":\"delete\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"isRelatedLoaded\":{\"name\":\"isRelatedLoaded\",\"async\":false,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"_setLoadedRelationship\":{\"name\":\"_setLoadedRelationship\",\"async\":false,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"value\",\"type\":\"any\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"loadRelated\":{\"name\":\"loadRelated\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"loadRelatedMany\":{\"name\":\"loadRelatedMany\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any[]>\",\"isStatic\":false,\"isPublic\":true},\"getRelated\":{\"name\":\"getRelated\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"getAvailableTools\":{\"name\":\"getAvailableTools\",\"async\":false,\"parameters\":[],\"returnType\":\"AITool[]\",\"isStatic\":false,\"isPublic\":true},\"executeToolCall\":{\"name\":\"executeToolCall\",\"async\":true,\"parameters\":[{\"name\":\"toolCall\",\"type\":\"ToolCall\",\"optional\":false}],\"returnType\":\"Promise<ToolCallResult>\",\"isStatic\":false,\"isPublic\":true},\"remember\":{\"name\":\"remember\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"recall\":{\"name\":\"recall\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise\",\"isStatic\":false,\"isPublic\":true},\"recallAll\":{\"name\":\"recallAll\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":true}],\"returnType\":\"Promise<Map<string>>\",\"isStatic\":false,\"isPublic\":true},\"forget\":{\"name\":\"forget\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"forgetScope\":{\"name\":\"forgetScope\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"generateEmbeddings\":{\"name\":\"generateEmbeddings\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"GenerateEmbeddingsOptions\",\"optional\":true}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"getEmbedding\":{\"name\":\"getEmbedding\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"model\",\"type\":\"string\",\"optional\":true}],\"returnType\":\"Promise<number[] | null>\",\"isStatic\":false,\"isPublic\":true},\"hasStaleEmbeddings\":{\"name\":\"hasStaleEmbeddings\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<boolean>\",\"isStatic\":false,\"isPublic\":true},\"clearEmbeddings\":{\"name\":\"clearEmbeddings\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"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}},\"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},\"vendor_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false},\"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},{\"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\":\"db450616\"}},\"@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\":{\"getAiUsageSnapshot\":{\"name\":\"getAiUsageSnapshot\",\"async\":false,\"parameters\":[],\"returnType\":\"AiUsageSnapshot | undefined\",\"isStatic\":false,\"isPublic\":true},\"resetAiUsage\":{\"name\":\"resetAiUsage\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"listAiUsage\":{\"name\":\"listAiUsage\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiUsageListOptions\",\"optional\":true}],\"returnType\":\"Promise<SmrtAiUsageRecord[]>\",\"isStatic\":false,\"isPublic\":true},\"summarizeAiUsage\":{\"name\":\"summarizeAiUsage\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiUsageSummaryOptions\",\"optional\":true}],\"returnType\":\"Promise<Record<string, AiUsageStats>>\",\"isStatic\":false,\"isPublic\":true},\"destroy\":{\"name\":\"destroy\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"markAsPersisted\":{\"name\":\"markAsPersisted\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"requireInsertOnSave\":{\"name\":\"requireInsertOnSave\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise\",\"isStatic\":false,\"isPublic\":true},\"loadDataFromDb\":{\"name\":\"loadDataFromDb\",\"async\":true,\"parameters\":[{\"name\":\"data\",\"type\":\"Record<string>\",\"optional\":false}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getFields\":{\"name\":\"getFields\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"toJSON\":{\"name\":\"toJSON\",\"async\":false,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"toPlainObject\":{\"name\":\"toPlainObject\",\"async\":false,\"parameters\":[],\"returnType\":\"Record<string>\",\"isStatic\":false,\"isPublic\":true},\"toPublicJSON\":{\"name\":\"toPublicJSON\",\"async\":false,\"parameters\":[{\"name\":\"options\",\"type\":\"PublicJsonOptions\",\"optional\":true}],\"returnType\":\"Record<string>\",\"isStatic\":false,\"isPublic\":true},\"getId\":{\"name\":\"getId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getSlug\":{\"name\":\"getSlug\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getSavedId\":{\"name\":\"getSavedId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"isSaved\":{\"name\":\"isSaved\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"classifyConstraintError\":{\"name\":\"classifyConstraintError\",\"async\":false,\"parameters\":[{\"name\":\"message\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"'unique' | 'not_null' | null\",\"isStatic\":true,\"isPublic\":true},\"loadFromId\":{\"name\":\"loadFromId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"loadFromSlug\":{\"name\":\"loadFromSlug\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"is\":{\"name\":\"is\",\"async\":true,\"parameters\":[{\"name\":\"criteria\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"do\":{\"name\":\"do\",\"async\":true,\"parameters\":[{\"name\":\"instructions\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"describe\":{\"name\":\"describe\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"delete\":{\"name\":\"delete\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"isRelatedLoaded\":{\"name\":\"isRelatedLoaded\",\"async\":false,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"_setLoadedRelationship\":{\"name\":\"_setLoadedRelationship\",\"async\":false,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"value\",\"type\":\"any\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"loadRelated\":{\"name\":\"loadRelated\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"loadRelatedMany\":{\"name\":\"loadRelatedMany\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any[]>\",\"isStatic\":false,\"isPublic\":true},\"getRelated\":{\"name\":\"getRelated\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"getAvailableTools\":{\"name\":\"getAvailableTools\",\"async\":false,\"parameters\":[],\"returnType\":\"AITool[]\",\"isStatic\":false,\"isPublic\":true},\"executeToolCall\":{\"name\":\"executeToolCall\",\"async\":true,\"parameters\":[{\"name\":\"toolCall\",\"type\":\"ToolCall\",\"optional\":false}],\"returnType\":\"Promise<ToolCallResult>\",\"isStatic\":false,\"isPublic\":true},\"remember\":{\"name\":\"remember\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"recall\":{\"name\":\"recall\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise\",\"isStatic\":false,\"isPublic\":true},\"recallAll\":{\"name\":\"recallAll\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":true}],\"returnType\":\"Promise<Map<string>>\",\"isStatic\":false,\"isPublic\":true},\"forget\":{\"name\":\"forget\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"forgetScope\":{\"name\":\"forgetScope\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"generateEmbeddings\":{\"name\":\"generateEmbeddings\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"GenerateEmbeddingsOptions\",\"optional\":true}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"getEmbedding\":{\"name\":\"getEmbedding\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"model\",\"type\":\"string\",\"optional\":true}],\"returnType\":\"Promise<number[] | null>\",\"isStatic\":false,\"isPublic\":true},\"hasStaleEmbeddings\":{\"name\":\"hasStaleEmbeddings\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<boolean>\",\"isStatic\":false,\"isPublic\":true},\"clearEmbeddings\":{\"name\":\"clearEmbeddings\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"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}},\"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},\"vendor_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false},\"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},{\"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\":\"db450616\"}},\"@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\":{\"getAiUsageSnapshot\":{\"name\":\"getAiUsageSnapshot\",\"async\":false,\"parameters\":[],\"returnType\":\"AiUsageSnapshot | undefined\",\"isStatic\":false,\"isPublic\":true},\"resetAiUsage\":{\"name\":\"resetAiUsage\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"listAiUsage\":{\"name\":\"listAiUsage\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiUsageListOptions\",\"optional\":true}],\"returnType\":\"Promise<SmrtAiUsageRecord[]>\",\"isStatic\":false,\"isPublic\":true},\"summarizeAiUsage\":{\"name\":\"summarizeAiUsage\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiUsageSummaryOptions\",\"optional\":true}],\"returnType\":\"Promise<Record<string, AiUsageStats>>\",\"isStatic\":false,\"isPublic\":true},\"destroy\":{\"name\":\"destroy\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"markAsPersisted\":{\"name\":\"markAsPersisted\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"requireInsertOnSave\":{\"name\":\"requireInsertOnSave\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise\",\"isStatic\":false,\"isPublic\":true},\"loadDataFromDb\":{\"name\":\"loadDataFromDb\",\"async\":true,\"parameters\":[{\"name\":\"data\",\"type\":\"Record<string>\",\"optional\":false}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getFields\":{\"name\":\"getFields\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"toJSON\":{\"name\":\"toJSON\",\"async\":false,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"toPlainObject\":{\"name\":\"toPlainObject\",\"async\":false,\"parameters\":[],\"returnType\":\"Record<string>\",\"isStatic\":false,\"isPublic\":true},\"toPublicJSON\":{\"name\":\"toPublicJSON\",\"async\":false,\"parameters\":[{\"name\":\"options\",\"type\":\"PublicJsonOptions\",\"optional\":true}],\"returnType\":\"Record<string>\",\"isStatic\":false,\"isPublic\":true},\"getId\":{\"name\":\"getId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getSlug\":{\"name\":\"getSlug\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getSavedId\":{\"name\":\"getSavedId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"isSaved\":{\"name\":\"isSaved\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"classifyConstraintError\":{\"name\":\"classifyConstraintError\",\"async\":false,\"parameters\":[{\"name\":\"message\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"'unique' | 'not_null' | null\",\"isStatic\":true,\"isPublic\":true},\"loadFromId\":{\"name\":\"loadFromId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"loadFromSlug\":{\"name\":\"loadFromSlug\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"is\":{\"name\":\"is\",\"async\":true,\"parameters\":[{\"name\":\"criteria\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"do\":{\"name\":\"do\",\"async\":true,\"parameters\":[{\"name\":\"instructions\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"describe\":{\"name\":\"describe\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"delete\":{\"name\":\"delete\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"isRelatedLoaded\":{\"name\":\"isRelatedLoaded\",\"async\":false,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"_setLoadedRelationship\":{\"name\":\"_setLoadedRelationship\",\"async\":false,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"value\",\"type\":\"any\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"loadRelated\":{\"name\":\"loadRelated\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"loadRelatedMany\":{\"name\":\"loadRelatedMany\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any[]>\",\"isStatic\":false,\"isPublic\":true},\"getRelated\":{\"name\":\"getRelated\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"getAvailableTools\":{\"name\":\"getAvailableTools\",\"async\":false,\"parameters\":[],\"returnType\":\"AITool[]\",\"isStatic\":false,\"isPublic\":true},\"executeToolCall\":{\"name\":\"executeToolCall\",\"async\":true,\"parameters\":[{\"name\":\"toolCall\",\"type\":\"ToolCall\",\"optional\":false}],\"returnType\":\"Promise<ToolCallResult>\",\"isStatic\":false,\"isPublic\":true},\"remember\":{\"name\":\"remember\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"recall\":{\"name\":\"recall\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise\",\"isStatic\":false,\"isPublic\":true},\"recallAll\":{\"name\":\"recallAll\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":true}],\"returnType\":\"Promise<Map<string>>\",\"isStatic\":false,\"isPublic\":true},\"forget\":{\"name\":\"forget\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"forgetScope\":{\"name\":\"forgetScope\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"generateEmbeddings\":{\"name\":\"generateEmbeddings\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"GenerateEmbeddingsOptions\",\"optional\":true}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"getEmbedding\":{\"name\":\"getEmbedding\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"model\",\"type\":\"string\",\"optional\":true}],\"returnType\":\"Promise<number[] | null>\",\"isStatic\":false,\"isPublic\":true},\"hasStaleEmbeddings\":{\"name\":\"hasStaleEmbeddings\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<boolean>\",\"isStatic\":false,\"isPublic\":true},\"clearEmbeddings\":{\"name\":\"clearEmbeddings\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"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}},\"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},\"vendor_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false},\"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},{\"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\":\"db450616\"}},\"@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\":{\"getAiUsageSnapshot\":{\"name\":\"getAiUsageSnapshot\",\"async\":false,\"parameters\":[],\"returnType\":\"AiUsageSnapshot | undefined\",\"isStatic\":false,\"isPublic\":true},\"resetAiUsage\":{\"name\":\"resetAiUsage\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"listAiUsage\":{\"name\":\"listAiUsage\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiUsageListOptions\",\"optional\":true}],\"returnType\":\"Promise<SmrtAiUsageRecord[]>\",\"isStatic\":false,\"isPublic\":true},\"summarizeAiUsage\":{\"name\":\"summarizeAiUsage\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiUsageSummaryOptions\",\"optional\":true}],\"returnType\":\"Promise<Record<string, AiUsageStats>>\",\"isStatic\":false,\"isPublic\":true},\"destroy\":{\"name\":\"destroy\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"markAsPersisted\":{\"name\":\"markAsPersisted\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"requireInsertOnSave\":{\"name\":\"requireInsertOnSave\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise\",\"isStatic\":false,\"isPublic\":true},\"loadDataFromDb\":{\"name\":\"loadDataFromDb\",\"async\":true,\"parameters\":[{\"name\":\"data\",\"type\":\"Record<string>\",\"optional\":false}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getFields\":{\"name\":\"getFields\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"toJSON\":{\"name\":\"toJSON\",\"async\":false,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"toPlainObject\":{\"name\":\"toPlainObject\",\"async\":false,\"parameters\":[],\"returnType\":\"Record<string>\",\"isStatic\":false,\"isPublic\":true},\"toPublicJSON\":{\"name\":\"toPublicJSON\",\"async\":false,\"parameters\":[{\"name\":\"options\",\"type\":\"PublicJsonOptions\",\"optional\":true}],\"returnType\":\"Record<string>\",\"isStatic\":false,\"isPublic\":true},\"getId\":{\"name\":\"getId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getSlug\":{\"name\":\"getSlug\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getSavedId\":{\"name\":\"getSavedId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"isSaved\":{\"name\":\"isSaved\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"classifyConstraintError\":{\"name\":\"classifyConstraintError\",\"async\":false,\"parameters\":[{\"name\":\"message\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"'unique' | 'not_null' | null\",\"isStatic\":true,\"isPublic\":true},\"loadFromId\":{\"name\":\"loadFromId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"loadFromSlug\":{\"name\":\"loadFromSlug\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"is\":{\"name\":\"is\",\"async\":true,\"parameters\":[{\"name\":\"criteria\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"do\":{\"name\":\"do\",\"async\":true,\"parameters\":[{\"name\":\"instructions\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"describe\":{\"name\":\"describe\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"delete\":{\"name\":\"delete\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"isRelatedLoaded\":{\"name\":\"isRelatedLoaded\",\"async\":false,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"_setLoadedRelationship\":{\"name\":\"_setLoadedRelationship\",\"async\":false,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"value\",\"type\":\"any\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"loadRelated\":{\"name\":\"loadRelated\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"loadRelatedMany\":{\"name\":\"loadRelatedMany\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any[]>\",\"isStatic\":false,\"isPublic\":true},\"getRelated\":{\"name\":\"getRelated\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"getAvailableTools\":{\"name\":\"getAvailableTools\",\"async\":false,\"parameters\":[],\"returnType\":\"AITool[]\",\"isStatic\":false,\"isPublic\":true},\"executeToolCall\":{\"name\":\"executeToolCall\",\"async\":true,\"parameters\":[{\"name\":\"toolCall\",\"type\":\"ToolCall\",\"optional\":false}],\"returnType\":\"Promise<ToolCallResult>\",\"isStatic\":false,\"isPublic\":true},\"remember\":{\"name\":\"remember\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"recall\":{\"name\":\"recall\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise\",\"isStatic\":false,\"isPublic\":true},\"recallAll\":{\"name\":\"recallAll\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":true}],\"returnType\":\"Promise<Map<string>>\",\"isStatic\":false,\"isPublic\":true},\"forget\":{\"name\":\"forget\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"forgetScope\":{\"name\":\"forgetScope\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"generateEmbeddings\":{\"name\":\"generateEmbeddings\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"GenerateEmbeddingsOptions\",\"optional\":true}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"getEmbedding\":{\"name\":\"getEmbedding\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"model\",\"type\":\"string\",\"optional\":true}],\"returnType\":\"Promise<number[] | null>\",\"isStatic\":false,\"isPublic\":true},\"hasStaleEmbeddings\":{\"name\":\"hasStaleEmbeddings\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<boolean>\",\"isStatic\":false,\"isPublic\":true},\"clearEmbeddings\":{\"name\":\"clearEmbeddings\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"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}},\"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},\"vendor_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false},\"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},{\"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\":\"db450616\"}},\"@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\":{\"getAiUsageSnapshot\":{\"name\":\"getAiUsageSnapshot\",\"async\":false,\"parameters\":[],\"returnType\":\"AiUsageSnapshot | undefined\",\"isStatic\":false,\"isPublic\":true},\"resetAiUsage\":{\"name\":\"resetAiUsage\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"listAiUsage\":{\"name\":\"listAiUsage\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiUsageListOptions\",\"optional\":true}],\"returnType\":\"Promise<SmrtAiUsageRecord[]>\",\"isStatic\":false,\"isPublic\":true},\"summarizeAiUsage\":{\"name\":\"summarizeAiUsage\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiUsageSummaryOptions\",\"optional\":true}],\"returnType\":\"Promise<Record<string, AiUsageStats>>\",\"isStatic\":false,\"isPublic\":true},\"destroy\":{\"name\":\"destroy\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"markAsPersisted\":{\"name\":\"markAsPersisted\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"requireInsertOnSave\":{\"name\":\"requireInsertOnSave\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise\",\"isStatic\":false,\"isPublic\":true},\"loadDataFromDb\":{\"name\":\"loadDataFromDb\",\"async\":true,\"parameters\":[{\"name\":\"data\",\"type\":\"Record<string>\",\"optional\":false}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getFields\":{\"name\":\"getFields\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"toJSON\":{\"name\":\"toJSON\",\"async\":false,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"toPlainObject\":{\"name\":\"toPlainObject\",\"async\":false,\"parameters\":[],\"returnType\":\"Record<string>\",\"isStatic\":false,\"isPublic\":true},\"toPublicJSON\":{\"name\":\"toPublicJSON\",\"async\":false,\"parameters\":[{\"name\":\"options\",\"type\":\"PublicJsonOptions\",\"optional\":true}],\"returnType\":\"Record<string>\",\"isStatic\":false,\"isPublic\":true},\"getId\":{\"name\":\"getId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getSlug\":{\"name\":\"getSlug\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getSavedId\":{\"name\":\"getSavedId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"isSaved\":{\"name\":\"isSaved\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise\",\"isStatic\":false,\"isPublic\":true},\"classifyConstraintError\":{\"name\":\"classifyConstraintError\",\"async\":false,\"parameters\":[{\"name\":\"message\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"'unique' | 'not_null' | null\",\"isStatic\":true,\"isPublic\":true},\"loadFromId\":{\"name\":\"loadFromId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"loadFromSlug\":{\"name\":\"loadFromSlug\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"is\":{\"name\":\"is\",\"async\":true,\"parameters\":[{\"name\":\"criteria\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"do\":{\"name\":\"do\",\"async\":true,\"parameters\":[{\"name\":\"instructions\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"describe\":{\"name\":\"describe\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"delete\":{\"name\":\"delete\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"isRelatedLoaded\":{\"name\":\"isRelatedLoaded\",\"async\":false,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"_setLoadedRelationship\":{\"name\":\"_setLoadedRelationship\",\"async\":false,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"value\",\"type\":\"any\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"loadRelated\":{\"name\":\"loadRelated\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"loadRelatedMany\":{\"name\":\"loadRelatedMany\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any[]>\",\"isStatic\":false,\"isPublic\":true},\"getRelated\":{\"name\":\"getRelated\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"getAvailableTools\":{\"name\":\"getAvailableTools\",\"async\":false,\"parameters\":[],\"returnType\":\"AITool[]\",\"isStatic\":false,\"isPublic\":true},\"executeToolCall\":{\"name\":\"executeToolCall\",\"async\":true,\"parameters\":[{\"name\":\"toolCall\",\"type\":\"ToolCall\",\"optional\":false}],\"returnType\":\"Promise<ToolCallResult>\",\"isStatic\":false,\"isPublic\":true},\"remember\":{\"name\":\"remember\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"recall\":{\"name\":\"recall\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise\",\"isStatic\":false,\"isPublic\":true},\"recallAll\":{\"name\":\"recallAll\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":true}],\"returnType\":\"Promise<Map<string>>\",\"isStatic\":false,\"isPublic\":true},\"forget\":{\"name\":\"forget\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"forgetScope\":{\"name\":\"forgetScope\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"generateEmbeddings\":{\"name\":\"generateEmbeddings\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"GenerateEmbeddingsOptions\",\"optional\":true}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"getEmbedding\":{\"name\":\"getEmbedding\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"model\",\"type\":\"string\",\"optional\":true}],\"returnType\":\"Promise<number[] | null>\",\"isStatic\":false,\"isPublic\":true},\"hasStaleEmbeddings\":{\"name\":\"hasStaleEmbeddings\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<boolean>\",\"isStatic\":false,\"isPublic\":true},\"clearEmbeddings\":{\"name\":\"clearEmbeddings\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"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},\"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},\"vendor_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false},\"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},{\"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\":\"db450616\"}},\"@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\":{\"getAiUsageSnapshot\":{\"name\":\"getAiUsageSnapshot\",\"async\":false,\"parameters\":[],\"returnType\":\"AiUsageSnapshot | undefined\",\"isStatic\":false,\"isPublic\":true},\"resetAiUsage\":{\"name\":\"resetAiUsage\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"listAiUsage\":{\"name\":\"listAiUsage\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiUsageListOptions\",\"optional\":true}],\"returnType\":\"Promise<SmrtAiUsageRecord[]>\",\"isStatic\":false,\"isPublic\":true},\"summarizeAiUsage\":{\"name\":\"summarizeAiUsage\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiUsageSummaryOptions\",\"optional\":true}],\"returnType\":\"Promise<Record<string, AiUsageStats>>\",\"isStatic\":false,\"isPublic\":true},\"destroy\":{\"name\":\"destroy\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"markAsPersisted\":{\"name\":\"markAsPersisted\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"requireInsertOnSave\":{\"name\":\"requireInsertOnSave\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise\",\"isStatic\":false,\"isPublic\":true},\"loadDataFromDb\":{\"name\":\"loadDataFromDb\",\"async\":true,\"parameters\":[{\"name\":\"data\",\"type\":\"Record<string>\",\"optional\":false}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getFields\":{\"name\":\"getFields\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"toJSON\":{\"name\":\"toJSON\",\"async\":false,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"toPlainObject\":{\"name\":\"toPlainObject\",\"async\":false,\"parameters\":[],\"returnType\":\"Record<string>\",\"isStatic\":false,\"isPublic\":true},\"toPublicJSON\":{\"name\":\"toPublicJSON\",\"async\":false,\"parameters\":[{\"name\":\"options\",\"type\":\"PublicJsonOptions\",\"optional\":true}],\"returnType\":\"Record<string>\",\"isStatic\":false,\"isPublic\":true},\"getId\":{\"name\":\"getId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getSlug\":{\"name\":\"getSlug\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getSavedId\":{\"name\":\"getSavedId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"isSaved\":{\"name\":\"isSaved\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"classifyConstraintError\":{\"name\":\"classifyConstraintError\",\"async\":false,\"parameters\":[{\"name\":\"message\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"'unique' | 'not_null' | null\",\"isStatic\":true,\"isPublic\":true},\"loadFromId\":{\"name\":\"loadFromId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"loadFromSlug\":{\"name\":\"loadFromSlug\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"is\":{\"name\":\"is\",\"async\":true,\"parameters\":[{\"name\":\"criteria\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"do\":{\"name\":\"do\",\"async\":true,\"parameters\":[{\"name\":\"instructions\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"describe\":{\"name\":\"describe\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"delete\":{\"name\":\"delete\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"isRelatedLoaded\":{\"name\":\"isRelatedLoaded\",\"async\":false,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"_setLoadedRelationship\":{\"name\":\"_setLoadedRelationship\",\"async\":false,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"value\",\"type\":\"any\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"loadRelated\":{\"name\":\"loadRelated\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"loadRelatedMany\":{\"name\":\"loadRelatedMany\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any[]>\",\"isStatic\":false,\"isPublic\":true},\"getRelated\":{\"name\":\"getRelated\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"getAvailableTools\":{\"name\":\"getAvailableTools\",\"async\":false,\"parameters\":[],\"returnType\":\"AITool[]\",\"isStatic\":false,\"isPublic\":true},\"executeToolCall\":{\"name\":\"executeToolCall\",\"async\":true,\"parameters\":[{\"name\":\"toolCall\",\"type\":\"ToolCall\",\"optional\":false}],\"returnType\":\"Promise<ToolCallResult>\",\"isStatic\":false,\"isPublic\":true},\"remember\":{\"name\":\"remember\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"recall\":{\"name\":\"recall\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise\",\"isStatic\":false,\"isPublic\":true},\"recallAll\":{\"name\":\"recallAll\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":true}],\"returnType\":\"Promise<Map<string>>\",\"isStatic\":false,\"isPublic\":true},\"forget\":{\"name\":\"forget\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"forgetScope\":{\"name\":\"forgetScope\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"generateEmbeddings\":{\"name\":\"generateEmbeddings\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"GenerateEmbeddingsOptions\",\"optional\":true}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"getEmbedding\":{\"name\":\"getEmbedding\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"model\",\"type\":\"string\",\"optional\":true}],\"returnType\":\"Promise<number[] | null>\",\"isStatic\":false,\"isPublic\":true},\"hasStaleEmbeddings\":{\"name\":\"hasStaleEmbeddings\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<boolean>\",\"isStatic\":false,\"isPublic\":true},\"clearEmbeddings\":{\"name\":\"clearEmbeddings\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"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\":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},\"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},{\"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\":\"d0c5dd84\"}},\"@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\":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},{\"name\":\"customers_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"customers_profile_id_idx\",\"columns\":[\"profile_id\"]}],\"version\":\"ad1b9967\"}},\"@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\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise\",\"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\":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},\"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},{\"name\":\"fulfillments_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"fulfillments_contract_id_idx\",\"columns\":[\"contract_id\"]}],\"version\":\"b8837680\"}},\"@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\",\"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},\"contract_line_item_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false},\"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},{\"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\":\"664e52f2\"}},\"@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},\"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\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise\",\"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\":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 \\\"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},\"contract_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false},\"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},\"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},{\"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\":\"c22cc7ef\"}},\"@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\":[],\"returnType\":\"AccountingLineItemInput\",\"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\":\"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},\"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},{\"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\":\"62d20746\"}},\"@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\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise\",\"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\":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},\"customer_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false},\"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},{\"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\":\"fccf2aeb\"}},\"@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\",\"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},\"invoice_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false},\"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},{\"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\":\"6868b743\"}},\"@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\":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},\"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},{\"name\":\"payment_instruments_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"payment_instruments_customer_id_idx\",\"columns\":[\"customer_id\"]}],\"version\":\"0aace928\"}},\"@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\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise\",\"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}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"verifyAndMarkPaid\":{\"name\":\"verifyAndMarkPaid\",\"async\":true,\"parameters\":[{\"name\":\"args\",\"type\":\"object\",\"optional\":false}],\"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\":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},{\"name\":\"payment_intents_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"payment_intents_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]}],\"version\":\"c565aaef\"}},\"@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\",\"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\",\"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},\"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},{\"name\":\"payouts_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"payouts_vendor_id_idx\",\"columns\":[\"vendor_id\"]}],\"version\":\"e73fa05b\"}},\"@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\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise\",\"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\":\"any\",\"isStatic\":false,\"isPublic\":true},\"clearPayoutAddress\":{\"name\":\"clearPayoutAddress\",\"async\":false,\"parameters\":[{\"name\":\"currency\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"api\":{\"include\":[\"list\",\"get\",\"create\",\"update\"]},\"mcp\":{\"include\":[\"list\",\"get\"]},\"cli\":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},{\"name\":\"vendors_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"vendors_profile_id_idx\",\"columns\":[\"profile_id\"]}],\"version\":\"1dc2b65e\"}}},\"moduleType\":\"smrt\",\"smrtDependencies\":[\"@happyvertical/smrt-core\",\"@happyvertical/smrt-ledgers\",\"@happyvertical/smrt-tenancy\"]}"));
19
21
  //#endregion
20
22
  //#region src/models/Customer.ts
21
23
  var __defProp$12 = Object.defineProperty;
@@ -30,7 +32,13 @@ var Customer = class extends SmrtObject {
30
32
  tenantId = null;
31
33
  profileId = "";
32
34
  /**
33
- * Maximum credit extended to this customer
35
+ * Maximum credit extended to this customer, in **integer minor units**
36
+ * (cents, satoshis).
37
+ *
38
+ * Converts with the rest of commerce because
39
+ * {@link Customer.hasAvailableCredit} compares it directly against a money
40
+ * amount; a dollars-vs-cents split there would approve every request off by
41
+ * a factor of 100 (#2401).
34
42
  */
35
43
  creditLimit = 0;
36
44
  /**
@@ -143,7 +151,9 @@ var Vendor = class extends SmrtObject {
143
151
  */
144
152
  leadTimeDays = 0;
145
153
  /**
146
- * Minimum order amount required
154
+ * Minimum order amount required, in **integer minor units** (cents,
155
+ * satoshis). Compared against `Contract.totalAmount`, which is also minor
156
+ * units (#2401).
147
157
  */
148
158
  minimumOrderAmount = 0;
149
159
  /**
@@ -356,15 +366,20 @@ var Contract = class extends SmrtObject {
356
366
  customerId = "";
357
367
  vendorId = "";
358
368
  /**
359
- * Subtotal before tax
369
+ * Subtotal before tax, in **integer minor units** (cents, satoshis).
370
+ *
371
+ * The `= 0` initializer is load-bearing: SMRT maps an integer literal to
372
+ * INTEGER and a decimal literal to DECIMAL. Money is exact, so it is stored
373
+ * as minor units and never as a float — `$19.99` is `1999`, not `19.99`
374
+ * (#2401).
360
375
  */
361
376
  subtotal = 0;
362
377
  /**
363
- * Tax amount
378
+ * Tax amount, in integer minor units (#2401).
364
379
  */
365
380
  taxAmount = 0;
366
381
  /**
367
- * Total amount including tax
382
+ * Total amount including tax, in integer minor units (#2401).
368
383
  */
369
384
  totalAmount = 0;
370
385
  /**
@@ -473,12 +488,22 @@ var Contract = class extends SmrtObject {
473
488
  return this;
474
489
  }
475
490
  /**
476
- * Validate the status transition before persisting, then save. Inherited by
477
- * every STI subtype (Estimate/Order/Lease/.../LicenseSale), so a forged
478
- * `status` on any of them is caught here. LicenseSale layers its own
479
- * rights-immutability guard on top via `super.save()`. See S5 audit #1390.
491
+ * Validate the amounts and the status transition before persisting, then
492
+ * save. Inherited by every STI subtype (Estimate/Order/Lease/.../LicenseSale),
493
+ * so a forged `status` on any of them is caught here. LicenseSale layers its
494
+ * own rights-immutability guard on top via `super.save()`. See S5 audit
495
+ * #1390.
496
+ *
497
+ * `subtotal` / `taxAmount` / `totalAmount` are mass-assignable on the
498
+ * generated create/update routes, so the minor-units check runs on every
499
+ * write surface (#2401).
480
500
  */
481
501
  async save() {
502
+ assertIntegerMinorUnits("Contract", this.reference || this.id || "<new>", [
503
+ ["subtotal", this.subtotal],
504
+ ["taxAmount", this.taxAmount],
505
+ ["totalAmount", this.totalAmount]
506
+ ]);
482
507
  const prior = await this.resolvePriorStatus();
483
508
  this.assertContractStatusTransition(prior);
484
509
  const result = await super.save();
@@ -906,23 +931,31 @@ var ContractLineItem = class extends SmrtObject {
906
931
  */
907
932
  description = "";
908
933
  /**
909
- * Quantity ordered
934
+ * Quantity ordered. Decimal on purpose — contracts price fractional
935
+ * quantities (hours, weight, bandwidth), unlike `InvoiceLineItem.quantity`.
910
936
  */
911
937
  quantity = 1;
912
938
  /**
913
- * Unit price before discount
939
+ * Unit price before discount, in **integer minor units** (cents, satoshis).
940
+ *
941
+ * The `= 0` initializer is load-bearing: SMRT maps an integer literal to
942
+ * INTEGER and a decimal literal to DECIMAL. Money is exact, so `$49.99` is
943
+ * `4999` (#2401).
914
944
  */
915
945
  unitPrice = 0;
916
946
  /**
917
- * Discount amount (flat, not percentage)
947
+ * Discount amount (flat, not percentage), in integer minor units (#2401).
918
948
  */
919
949
  discount = 0;
920
950
  /**
921
- * Tax rate as decimal (e.g., 0.08 for 8%)
951
+ * Tax rate as decimal (e.g., 0.08 for 8%). A rate is inherently fractional,
952
+ * so it stays DECIMAL — INTEGER would truncate every meaningful value.
922
953
  */
923
954
  taxRate = 0;
924
955
  /**
925
- * Calculated line amount (qty * price - discount + tax)
956
+ * Calculated line amount (qty * price - discount + tax), in integer minor
957
+ * units. Derived by {@link ContractLineItem.calculateAmount}, which rounds
958
+ * the fractional tax to a whole minor unit (#2401).
926
959
  */
927
960
  amount = 0;
928
961
  productId = "";
@@ -964,11 +997,18 @@ var ContractLineItem = class extends SmrtObject {
964
997
  if (options.sortOrder !== void 0) this.sortOrder = options.sortOrder;
965
998
  }
966
999
  /**
967
- * Calculate the line amount
1000
+ * Calculate the line amount, in integer minor units.
1001
+ *
1002
+ * `quantity` is decimal and `taxRate` is a fraction, so the product is not
1003
+ * generally a whole number of minor units. Rounding happens here — at the
1004
+ * one boundary where a rate meets money — so that every value that reaches a
1005
+ * money column is already exact and every downstream comparison can be a
1006
+ * plain `===` instead of an epsilon tolerance (#2401).
968
1007
  */
969
1008
  calculateAmount() {
970
1009
  const subtotal = this.quantity * this.unitPrice - this.discount;
971
- return subtotal + subtotal * this.taxRate;
1010
+ const tax = subtotal * this.taxRate;
1011
+ return Math.round(subtotal + tax);
972
1012
  }
973
1013
  /**
974
1014
  * Check if this is a subscription/recurring item
@@ -1633,7 +1673,6 @@ var __decorateClass$6 = (decorators, target, key, kind) => {
1633
1673
  if (kind && result) __defProp$6(target, key, result);
1634
1674
  return result;
1635
1675
  };
1636
- var INVOICE_EPSILON = .01;
1637
1676
  var INVOICE_STATUS_TRANSITIONS = {
1638
1677
  [InvoiceStatus.DRAFT]: [
1639
1678
  InvoiceStatus.SENT,
@@ -1709,19 +1748,25 @@ var Invoice = class extends SmrtObject {
1709
1748
  */
1710
1749
  paidDate = null;
1711
1750
  /**
1712
- * Subtotal before tax
1751
+ * Subtotal before tax, in **integer minor units** (cents, satoshis).
1752
+ *
1753
+ * The `= 0` initializer is load-bearing: SMRT maps an integer literal to
1754
+ * INTEGER and a decimal literal to DECIMAL. Money is exact, so it is stored
1755
+ * as minor units and never as a float — `$19.99` is `1999`, not `19.99`.
1756
+ * Writing a fractional major-unit value here is the bug; PostgreSQL rejects
1757
+ * it with `22P02` while SQLite's affinity silently stores it (#2361).
1713
1758
  */
1714
1759
  subtotal = 0;
1715
1760
  /**
1716
- * Tax amount
1761
+ * Tax amount, in integer minor units (#2361).
1717
1762
  */
1718
1763
  taxAmount = 0;
1719
1764
  /**
1720
- * Total amount due (subtotal + tax)
1765
+ * Total amount due (subtotal + tax), in integer minor units (#2361).
1721
1766
  */
1722
1767
  totalAmount = 0;
1723
1768
  /**
1724
- * Amount paid (sum of PaymentAllocations)
1769
+ * Amount paid (sum of PaymentAllocations), in integer minor units (#2361).
1725
1770
  */
1726
1771
  amountPaid = 0;
1727
1772
  /**
@@ -1836,13 +1881,18 @@ var Invoice = class extends SmrtObject {
1836
1881
  * `totalAmount === subtotal + taxAmount` arithmetic invariant is enforced.
1837
1882
  * - **amountPaid is derived/validated.** When persisted, it is recomputed
1838
1883
  * from PaymentAllocations rather than trusted from the caller. It may
1839
- * never exceed `totalAmount` (beyond rounding tolerance).
1840
- * - **Non-negativity** is enforced on all four amounts.
1884
+ * never exceed `totalAmount`.
1885
+ * - **Whole minor units and non-negativity** are enforced on all four
1886
+ * amounts. The integer check runs FIRST (#2401), before the
1887
+ * `totalAmount === subtotal + taxAmount` invariant, so a caller who wrote
1888
+ * major units gets "money is minor units" rather than a confusing
1889
+ * arithmetic-mismatch error from float addition.
1841
1890
  * - **Status transitions** are validated against the prior persisted status.
1842
1891
  */
1843
1892
  async save() {
1844
1893
  const persisted = await this.isSaved();
1845
1894
  const prior = await this.resolvePriorStatus(persisted);
1895
+ this.assertAmountsAreMinorUnits();
1846
1896
  await this.recomputeAmountsForSave(persisted);
1847
1897
  this.assertNonNegativeAmounts();
1848
1898
  this.assertStatusTransition(prior);
@@ -1895,33 +1945,31 @@ var Invoice = class extends SmrtObject {
1895
1945
  }
1896
1946
  }
1897
1947
  /**
1898
- * Whether `amountPaid` covers `totalAmount` within the sub-cent rounding
1899
- * tolerance. This is the SINGLE source of truth for the **PAID** decision —
1900
- * both {@link updatePaymentStatus} (which decides PAID) and
1901
- * {@link assertPaymentStatusConsistent} (which validates PAID on save) call
1902
- * it, so the PAID-deciding comparison and the PAID-validating comparison can
1903
- * never drift apart. A strict `amountPaid >= totalAmount` here would diverge
1904
- * from the epsilon-tolerant guard: a float-summed total paid exactly (e.g.
1905
- * `0.1 × 3` line items paid `0.3`) reads as "not covered" by `>=` but
1906
- * "covered" by the guard, so `updatePaymentStatus` would set PARTIAL and the
1907
- * save-time guard would then reject it leaving a genuinely-paid invoice
1908
- * unsaveable (S5 audit #1390 follow-up).
1909
- *
1910
- * NOTE: the claim is scoped to PAID. The PARTIAL branch is NOT unified the
1911
- * same way — {@link updatePaymentStatus} treats any `amountPaid > 0` as
1912
- * PARTIAL, whereas {@link isPartiallyPaid} (used by the save-time guard)
1913
- * requires `amountPaid > INVOICE_EPSILON`. That pre-existing asymmetry only
1914
- * matters for a sub-cent dust payment and is intentionally left as-is.
1948
+ * Whether `amountPaid` covers `totalAmount`. This is the SINGLE source of
1949
+ * truth for the **PAID** decision — both {@link updatePaymentStatus} (which
1950
+ * decides PAID) and {@link assertPaymentStatusConsistent} (which validates
1951
+ * PAID on save) call it, so the PAID-deciding comparison and the
1952
+ * PAID-validating comparison can never drift apart (S5 audit #1390
1953
+ * follow-up).
1954
+ *
1955
+ * With integer minor units this is a plain `>=` (#2401). The float-era
1956
+ * hazard it used to guard against — a total summed from `0.1 × 3` line items
1957
+ * reading as "not covered" by `>=` but "covered" by an epsilon-tolerant
1958
+ * guard, leaving a genuinely-paid invoice unsaveable cannot arise when both
1959
+ * sides are exact integers. That also removes the documented PAID/PARTIAL
1960
+ * asymmetry: {@link updatePaymentStatus} and {@link isPartiallyPaid} now
1961
+ * agree that any `amountPaid > 0` is a partial payment, because there is no
1962
+ * such thing as sub-cent dust.
1915
1963
  */
1916
1964
  isFullyPaid() {
1917
- return this.amountPaid - this.totalAmount >= -.01;
1965
+ return this.amountPaid >= this.totalAmount;
1918
1966
  }
1919
1967
  /**
1920
1968
  * Whether `amountPaid` is a non-trivial partial payment of `totalAmount`.
1921
1969
  * Derived from {@link isFullyPaid} so the two stay mutually exclusive.
1922
1970
  */
1923
1971
  isPartiallyPaid() {
1924
- return this.amountPaid > INVOICE_EPSILON && !this.isFullyPaid();
1972
+ return this.amountPaid > 0 && !this.isFullyPaid();
1925
1973
  }
1926
1974
  /**
1927
1975
  * After amounts are recomputed and amountPaid is re-derived from allocations,
@@ -1942,42 +1990,48 @@ var Invoice = class extends SmrtObject {
1942
1990
  const partiallyPaid = this.isPartiallyPaid();
1943
1991
  if (this.status === InvoiceStatus.PAID && !fullyPaid) throw new Error(`Invoice ${label}: status is PAID but derived amountPaid ${this.amountPaid} does not cover totalAmount ${this.totalAmount}. Payment status is derived from PaymentAllocations \u2014 use updatePaymentStatus().`);
1944
1992
  if (this.status === InvoiceStatus.PARTIAL && !partiallyPaid) throw new Error(`Invoice ${label}: status is PARTIAL but derived amountPaid ${this.amountPaid} is not a partial payment of totalAmount ${this.totalAmount}. Payment status is derived from PaymentAllocations \u2014 use updatePaymentStatus().`);
1945
- if ((this.status === InvoiceStatus.SENT || this.status === InvoiceStatus.VIEWED) && this.totalAmount > INVOICE_EPSILON && fullyPaid) throw new Error(`Invoice ${label}: status is '${this.status}' but derived amountPaid ${this.amountPaid} fully covers totalAmount ${this.totalAmount}. Use updatePaymentStatus() so the status reflects the allocations.`);
1993
+ if ((this.status === InvoiceStatus.SENT || this.status === InvoiceStatus.VIEWED) && this.totalAmount > 0 && fullyPaid) throw new Error(`Invoice ${label}: status is '${this.status}' but derived amountPaid ${this.amountPaid} fully covers totalAmount ${this.totalAmount}. Use updatePaymentStatus() so the status reflects the allocations.`);
1946
1994
  }
1947
1995
  /**
1948
- * Enforce `totalAmount === subtotal + taxAmount` (within rounding tolerance),
1949
- * then SNAP `totalAmount` to the exact arithmetic. Used when the invoice has
1950
- * no line items to recompute from.
1996
+ * Enforce `totalAmount === subtotal + taxAmount` exactly. Used when the
1997
+ * invoice has no line items to recompute from.
1951
1998
  *
1952
- * The snap closes the invoice-vs-ledger epsilon gap (S5 audit #1390
1953
- * follow-up): the invoice guard tolerates `INVOICE_EPSILON` (0.01) but the
1954
- * smrt-ledgers balance check uses a tighter `BALANCE_EPSILON` (0.001). A
1955
- * no-line-item invoice with, say, subtotal 100.00 / total 100.005 passes this
1956
- * guard, yet `recognizeRevenue` would build DR 100.005 / CR 100.00 and
1957
- * `journal.post()` would reject it as unbalanced voiding the journal and
1958
- * permanently blocking revenue recognition. Snapping `totalAmount` to
1959
- * `subtotal + taxAmount` here (after the tolerance check) means the persisted
1960
- * total and every journal built from it are always ledger-consistent.
1999
+ * Exact because every term is integer minor units (#2401). The float era
2000
+ * needed a `0.01` tolerance here and then had to SNAP `totalAmount` to the
2001
+ * recomputed value afterwards, because a total that passed the invoice's
2002
+ * loose tolerance could still fail smrt-ledgers' tighter `BALANCE_EPSILON`
2003
+ * and void the journal `recognizeRevenue` builds from it. Integer arithmetic
2004
+ * removes both halves of that workaround: what the caller supplied either is
2005
+ * the sum or is rejected, and any journal built from it balances exactly.
1961
2006
  */
1962
2007
  assertTotalArithmetic() {
1963
2008
  const expected = this.subtotal + this.taxAmount;
1964
- if (Math.abs(this.totalAmount - expected) > INVOICE_EPSILON) throw new Error(`Invoice ${this.invoiceNumber || this.id || "<new>"}: totalAmount ${this.totalAmount} must equal subtotal + taxAmount (${expected}).`);
1965
- this.totalAmount = expected;
2009
+ if (this.totalAmount !== expected) throw new Error(`Invoice ${this.invoiceNumber || this.id || "<new>"}: totalAmount ${this.totalAmount} must equal subtotal + taxAmount (${expected}).`);
1966
2010
  }
1967
2011
  /**
1968
- * Reject negative financial values and an amountPaid that exceeds the total
1969
- * (beyond rounding tolerance overpayment is modelled elsewhere, not by
1970
- * letting amountPaid float above the invoice total).
2012
+ * Reject amounts that are not whole minor units, negative financial values,
2013
+ * and an amountPaid that exceeds the total (overpayment is modelled
2014
+ * elsewhere, not by letting amountPaid float above the invoice total).
1971
2015
  */
2016
+ assertAmountsAreMinorUnits() {
2017
+ assertIntegerMinorUnits("Invoice", this.invoiceNumber || this.id || "<new>", [
2018
+ ["subtotal", this.subtotal],
2019
+ ["taxAmount", this.taxAmount],
2020
+ ["totalAmount", this.totalAmount],
2021
+ ["amountPaid", this.amountPaid]
2022
+ ]);
2023
+ }
1972
2024
  assertNonNegativeAmounts() {
1973
2025
  const label = this.invoiceNumber || this.id || "<new>";
1974
- for (const [field, value] of [
2026
+ const amounts = [
1975
2027
  ["subtotal", this.subtotal],
1976
2028
  ["taxAmount", this.taxAmount],
1977
2029
  ["totalAmount", this.totalAmount],
1978
2030
  ["amountPaid", this.amountPaid]
1979
- ]) if (!Number.isFinite(value) || value < 0) throw new Error(`Invoice ${label}: ${field} must be a non-negative number (got ${value}).`);
1980
- if (this.amountPaid - this.totalAmount > INVOICE_EPSILON) throw new Error(`Invoice ${label}: amountPaid ${this.amountPaid} cannot exceed totalAmount ${this.totalAmount}.`);
2031
+ ];
2032
+ assertIntegerMinorUnits("Invoice", label, amounts);
2033
+ for (const [field, value] of amounts) if (value < 0) throw new Error(`Invoice ${label}: ${field} must be a non-negative number (got ${value}).`);
2034
+ if (this.amountPaid > this.totalAmount) throw new Error(`Invoice ${label}: amountPaid ${this.amountPaid} cannot exceed totalAmount ${this.totalAmount}.`);
1981
2035
  }
1982
2036
  /**
1983
2037
  * Reject an illegal status flip done via raw field assignment. Compares the
@@ -2494,23 +2548,37 @@ var InvoiceLineItem = class extends SmrtObject {
2494
2548
  */
2495
2549
  sku = "";
2496
2550
  /**
2497
- * Quantity (e.g., impressions, hours, units)
2551
+ * Quantity (e.g., impressions, hours, units).
2552
+ *
2553
+ * Left INTEGER: this package's own example is `quantity: 50000` impressions,
2554
+ * and nothing in it writes a fractional quantity, so whether fractional
2555
+ * quantities are intended here is unresolved. `ContractLineItem.quantity` is
2556
+ * decimal, which is the inconsistency to settle deliberately rather than by
2557
+ * changing a column type in passing (#2361).
2498
2558
  */
2499
2559
  quantity = 1;
2500
2560
  /**
2501
- * Unit price before discount
2561
+ * Unit price before discount, in **integer minor units** (cents, satoshis).
2562
+ *
2563
+ * Money is exact, so it is stored as minor units and never as a float —
2564
+ * `$19.99` is `1999`. An integer literal is what maps this to an INTEGER
2565
+ * column (#2361).
2502
2566
  */
2503
2567
  unitPrice = 0;
2504
2568
  /**
2505
- * Discount amount (flat, not percentage)
2569
+ * Discount amount (flat, not percentage), in integer minor units (#2361).
2506
2570
  */
2507
2571
  discount = 0;
2508
2572
  /**
2509
- * Tax rate as decimal (e.g., 0.05 for 5%)
2573
+ * Tax rate as a decimal fraction (e.g., 0.05 for 5%).
2574
+ *
2575
+ * A genuine rate, not money: it is inherently fractional, so the `0.0`
2576
+ * initializer is load-bearing and maps it to a DECIMAL column. INTEGER would
2577
+ * truncate every rate to 0 (#2361).
2510
2578
  */
2511
2579
  taxRate = 0;
2512
2580
  /**
2513
- * Calculated line amount
2581
+ * Calculated line amount, in integer minor units (#2361).
2514
2582
  */
2515
2583
  amount = 0;
2516
2584
  /**
@@ -2553,9 +2621,10 @@ var InvoiceLineItem = class extends SmrtObject {
2553
2621
  if (options.sortOrder !== void 0) this.sortOrder = options.sortOrder;
2554
2622
  }
2555
2623
  /**
2556
- * Calculate the line amount.
2624
+ * Calculate the line amount, in integer minor units.
2557
2625
  *
2558
- * Formula: (quantity * unitPrice - discount) * (1 + taxRate)
2626
+ * Formula: `getSubtotal() + getTaxAmount()`, i.e.
2627
+ * `(quantity * unitPrice - discount) * (1 + taxRate)` with the tax rounded.
2559
2628
  *
2560
2629
  * Tax is calculated on the discounted subtotal. This follows the common
2561
2630
  * "discount before tax" approach used in most North American jurisdictions.
@@ -2563,20 +2632,28 @@ var InvoiceLineItem = class extends SmrtObject {
2563
2632
  * this method or calculate amounts externally.
2564
2633
  */
2565
2634
  calculateAmount() {
2566
- const subtotal = this.quantity * this.unitPrice - this.discount;
2567
- return subtotal + subtotal * this.taxRate;
2635
+ return this.getSubtotal() + this.getTaxAmount();
2568
2636
  }
2569
2637
  /**
2570
- * Get subtotal (before tax)
2638
+ * Get subtotal (before tax), in integer minor units.
2639
+ *
2640
+ * `quantity` is an integer and `unitPrice` / `discount` are integer minor
2641
+ * units, so this is exact with no rounding.
2571
2642
  */
2572
2643
  getSubtotal() {
2573
2644
  return this.quantity * this.unitPrice - this.discount;
2574
2645
  }
2575
2646
  /**
2576
- * Get tax amount
2647
+ * Get tax amount, in integer minor units.
2648
+ *
2649
+ * `taxRate` is a genuine fraction, so this product is where a rate meets
2650
+ * money and the only place rounding is needed. Rounding here — rather than
2651
+ * letting a fractional tax leak into `Invoice.taxAmount` — is what lets the
2652
+ * invoice's guards compare integers exactly instead of tolerating an epsilon
2653
+ * (#2401).
2577
2654
  */
2578
2655
  getTaxAmount() {
2579
- return this.getSubtotal() * this.taxRate;
2656
+ return Math.round(this.getSubtotal() * this.taxRate);
2580
2657
  }
2581
2658
  /**
2582
2659
  * Check if line item has source tracking
@@ -2769,13 +2846,19 @@ var __decorateClass$4 = (decorators, target, key, kind) => {
2769
2846
  if (kind && result) __defProp$4(target, key, result);
2770
2847
  return result;
2771
2848
  };
2772
- var ALLOCATION_EPSILON = .01;
2773
2849
  var PaymentAllocation = class extends SmrtObject {
2774
2850
  tenantId = null;
2775
2851
  paymentId = "";
2776
2852
  invoiceId = "";
2777
2853
  /**
2778
- * Amount allocated from payment to invoice
2854
+ * Amount allocated from payment to invoice, in **integer minor units**
2855
+ * (cents, satoshis).
2856
+ *
2857
+ * Matches `Invoice.amountPaid` (derived by summing these rows) and
2858
+ * `Payment.amount` (which `save()` caps against). All three converted
2859
+ * together in #2401 — the cap is a subtraction across the pair, so a
2860
+ * dollars-vs-cents split there would reject every allocation as
2861
+ * over-applying.
2779
2862
  */
2780
2863
  amount = 0;
2781
2864
  /**
@@ -2829,22 +2912,23 @@ var PaymentAllocation = class extends SmrtObject {
2829
2912
  * not-yet-persisted) so it never blocks an otherwise-valid allocation.
2830
2913
  */
2831
2914
  async save() {
2832
- if (!Number.isFinite(this.amount) || this.amount <= 0) throw new Error(`PaymentAllocation ${this.id ?? "<new>"}: amount must be a positive number (got ${this.amount}).`);
2915
+ assertIntegerMinorUnits("PaymentAllocation", this.id ?? "<new>", [["amount", this.amount]]);
2916
+ if (this.amount <= 0) throw new Error(`PaymentAllocation ${this.id ?? "<new>"}: amount must be a positive number (got ${this.amount}).`);
2833
2917
  if (this.paymentId) {
2834
2918
  const { PaymentCollection } = await Promise.resolve().then(() => PaymentCollection_exports);
2835
2919
  const payment = await (await PaymentCollection.create(this.options)).get({ id: this.paymentId });
2836
2920
  if (!payment) throw new Error(`PaymentAllocation ${this.id ?? "<new>"}: referenced Payment '${this.paymentId}' does not exist \u2014 refusing to allocate against a missing payment (the payment-amount cap cannot be enforced otherwise).`);
2837
2921
  const { PaymentAllocationCollection } = await Promise.resolve().then(() => PaymentAllocationCollection_exports);
2838
2922
  const otherTotal = (await (await PaymentAllocationCollection.create(this.options)).findByPayment(this.paymentId)).reduce((sum, alloc) => alloc.id === this.id ? sum : sum + alloc.amount, 0);
2839
- if (otherTotal + this.amount - payment.amount > ALLOCATION_EPSILON) throw new Error(`PaymentAllocation ${this.id ?? "<new>"}: allocating ${this.amount} would over-apply payment '${this.paymentId}' \u2014 already allocated ${otherTotal} of ${payment.amount}.`);
2923
+ if (otherTotal + this.amount > payment.amount) throw new Error(`PaymentAllocation ${this.id ?? "<new>"}: allocating ${this.amount} would over-apply payment '${this.paymentId}' \u2014 already allocated ${otherTotal} of ${payment.amount}.`);
2840
2924
  }
2841
2925
  if (this.invoiceId) {
2842
2926
  const { InvoiceCollection } = await Promise.resolve().then(() => InvoiceCollection_exports);
2843
2927
  const invoice = await (await InvoiceCollection.create(this.options)).get({ id: this.invoiceId });
2844
- if (invoice && invoice.totalAmount > ALLOCATION_EPSILON) {
2928
+ if (invoice && invoice.totalAmount > 0) {
2845
2929
  const { PaymentAllocationCollection } = await Promise.resolve().then(() => PaymentAllocationCollection_exports);
2846
2930
  const otherInvoiceTotal = (await (await PaymentAllocationCollection.create(this.options)).findByInvoice(this.invoiceId)).reduce((sum, alloc) => alloc.id === this.id ? sum : sum + alloc.amount, 0);
2847
- if (otherInvoiceTotal + this.amount - invoice.totalAmount > ALLOCATION_EPSILON) throw new Error(`PaymentAllocation ${this.id ?? "<new>"}: allocating ${this.amount} would over-pay invoice '${this.invoiceId}' \u2014 already allocated ${otherInvoiceTotal} of ${invoice.totalAmount}.`);
2931
+ if (otherInvoiceTotal + this.amount > invoice.totalAmount) throw new Error(`PaymentAllocation ${this.id ?? "<new>"}: allocating ${this.amount} would over-pay invoice '${this.invoiceId}' \u2014 already allocated ${otherInvoiceTotal} of ${invoice.totalAmount}.`);
2848
2932
  }
2849
2933
  }
2850
2934
  return super.save();
@@ -3025,7 +3109,12 @@ var Payment = class extends SmrtObject {
3025
3109
  contractId = "";
3026
3110
  customerId = "";
3027
3111
  /**
3028
- * Payment amount
3112
+ * Payment amount, in **integer minor units** (cents, satoshis).
3113
+ *
3114
+ * The `= 0` initializer is load-bearing: SMRT maps an integer literal to
3115
+ * INTEGER and a decimal literal to DECIMAL. This is the figure
3116
+ * `PaymentAllocation.save()` caps allocations against and `Invoice.amountPaid`
3117
+ * is summed from, so it must be in the same exact units as both (#2401).
3029
3118
  */
3030
3119
  amount = 0;
3031
3120
  /**
@@ -3091,10 +3180,15 @@ var Payment = class extends SmrtObject {
3091
3180
  */
3092
3181
  backendTxRef = "";
3093
3182
  /**
3094
- * The amount the backend actually moved, in its own native currency.
3095
- * For stablecoin rails this typically equals `amount`; for volatile-
3096
- * currency rails (BTC, ETH) it's the satoshi/wei figure that the chain
3097
- * recorded, independent of any USD valuation.
3183
+ * The amount the backend actually moved, in the native currency's own
3184
+ * **integer minor units** satoshis for BTC, cents for a fiat rail. For
3185
+ * stablecoin rails this typically equals `amount`; for volatile-currency
3186
+ * rails it's the satoshi/wei figure the chain recorded, independent of any
3187
+ * USD valuation.
3188
+ *
3189
+ * Range note (#2401): INTEGER is `int4` on PostgreSQL, so this column tops
3190
+ * out near 2.1e9 minor units — about 21 BTC in satoshis. Widening to BIGINT
3191
+ * is the decision parked in #2373; INTEGER→BIGINT is a plain widening later.
3098
3192
  */
3099
3193
  nativeAmount = 0;
3100
3194
  /**
@@ -3107,18 +3201,22 @@ var Payment = class extends SmrtObject {
3107
3201
  nativeCurrency = "";
3108
3202
  /**
3109
3203
  * USD valuation of the payment at the moment the price was quoted to
3110
- * the buyer (typically the moment a `PaymentIntent` was issued).
3111
- * Stored at decimal precision; empty default `0.0` means no USD-quote
3204
+ * the buyer (typically the moment a `PaymentIntent` was issued), in
3205
+ * **integer minor units** (US cents). A default of `0` means no USD-quote
3112
3206
  * snapshot was taken (the payment was already USD-denominated or the
3113
3207
  * backend doesn't require drift accounting).
3208
+ *
3209
+ * This is money describing the same funds as {@link Payment.amount}, so it
3210
+ * converts with it — a dollars-here / cents-there split would make
3211
+ * {@link Payment.usdDrift} meaningless (#2401).
3114
3212
  */
3115
3213
  usdAtQuote = 0;
3116
3214
  /**
3117
3215
  * USD valuation of the payment at the moment it was confirmed on the
3118
- * backend (chain confirmation, gateway settlement, etc.). The delta
3119
- * between {@link usdAtQuote} and `usdAtConfirmation` is the USD drift
3120
- * the operator absorbs (positive or negative) when accepting payment
3121
- * in a volatile native currency.
3216
+ * backend (chain confirmation, gateway settlement, etc.), in integer minor
3217
+ * units (US cents). The delta between {@link usdAtQuote} and
3218
+ * `usdAtConfirmation` is the USD drift the operator absorbs (positive or
3219
+ * negative) when accepting payment in a volatile native currency (#2401).
3122
3220
  */
3123
3221
  usdAtConfirmation = 0;
3124
3222
  constructor(options = {}) {
@@ -3182,6 +3280,12 @@ var Payment = class extends SmrtObject {
3182
3280
  * must drive it through `recordPayment()` (or start non-COMPLETED).
3183
3281
  */
3184
3282
  async save() {
3283
+ assertIntegerMinorUnits("Payment", this.id || "<new>", [
3284
+ ["amount", this.amount],
3285
+ ["nativeAmount", this.nativeAmount],
3286
+ ["usdAtQuote", this.usdAtQuote],
3287
+ ["usdAtConfirmation", this.usdAtConfirmation]
3288
+ ]);
3185
3289
  const priorRow = await this.loadPersistedRow();
3186
3290
  const prior = priorRow && priorRow.status != null ? priorRow.status : loadedPaymentStatus.get(this);
3187
3291
  this.assertStatusTransition(prior);
@@ -3314,6 +3418,12 @@ var Payment = class extends SmrtObject {
3314
3418
  * - Debit: Cash/Bank account (assets increase)
3315
3419
  * - Credit: Accounts Receivable (receivables decrease)
3316
3420
  *
3421
+ * Both sides carry `this.amount`, so the journal posted from commerce is
3422
+ * denominated in **integer minor units** like the rest of this package
3423
+ * (#2401). smrt-ledgers is unit-agnostic — its `BALANCE_EPSILON` only checks
3424
+ * that debits equal credits — and integer entries balance exactly, so this is
3425
+ * strictly tighter than the major-unit journals commerce used to post.
3426
+ *
3317
3427
  * @param options - Ledger and account configuration
3318
3428
  * @returns The created journal
3319
3429
  *
@@ -3830,7 +3940,6 @@ var __decorateClass$1 = (decorators, target, key, kind) => {
3830
3940
  if (kind && result) __defProp$1(target, key, result);
3831
3941
  return result;
3832
3942
  };
3833
- var PAYMENT_INTENT_EPSILON = .01;
3834
3943
  var PAYMENT_INTENT_STATUS_TRANSITIONS = {
3835
3944
  [PaymentIntentStatus.AWAITING_PAYMENT]: [
3836
3945
  PaymentIntentStatus.PAID,
@@ -3891,10 +4000,10 @@ var PaymentIntent = class extends SmrtObject {
3891
4000
  */
3892
4001
  paymentOptions = [];
3893
4002
  /**
3894
- * USD price locked at quote time. Stored at decimal precision.
4003
+ * USD price locked at quote time, in **integer minor units** (US cents).
3895
4004
  * Independent of any specific option's native-currency amount;
3896
4005
  * `usdPriceLocked` is the canonical "what this costs in USD"
3897
- * number used downstream for reporting, tax, and drift accounting.
4006
+ * number used downstream for reporting, tax, and drift accounting (#2401).
3898
4007
  */
3899
4008
  usdPriceLocked = 0;
3900
4009
  /**
@@ -4144,7 +4253,7 @@ var PaymentIntent = class extends SmrtObject {
4144
4253
  const paymentCurrency = payment.nativeCurrency || payment.currency || "";
4145
4254
  if (paymentCurrency && paymentCurrency !== option.currency) throw new Error(`PaymentIntent ${this.id}: Payment '${paymentIdLabel}' currency '${paymentCurrency}' does not match option '${option.backendId}' currency '${option.currency}'`);
4146
4255
  const paymentNative = typeof payment.nativeAmount === "number" && payment.nativeAmount > 0 ? payment.nativeAmount : payment.amount;
4147
- if (typeof paymentNative !== "number" || Math.abs(paymentNative - option.nativeAmount) > PAYMENT_INTENT_EPSILON) throw new Error(`PaymentIntent ${this.id}: Payment '${paymentIdLabel}' amount ${paymentNative} does not match option '${option.backendId}' nativeAmount ${option.nativeAmount}`);
4256
+ if (typeof paymentNative !== "number" || paymentNative !== option.nativeAmount) throw new Error(`PaymentIntent ${this.id}: Payment '${paymentIdLabel}' amount ${paymentNative} does not match option '${option.backendId}' nativeAmount ${option.nativeAmount}`);
4148
4257
  }
4149
4258
  isAwaitingPayment() {
4150
4259
  return this.status === PaymentIntentStatus.AWAITING_PAYMENT;
@@ -4322,6 +4431,11 @@ Retired: ${reason}` : `Retired: ${reason}`;
4322
4431
  * Drops entries that don't carry the required `backendId` /
4323
4432
  * `currency` / `payTo` / `nativeAmount` quartet so downstream
4324
4433
  * routing code can rely on the invariant.
4434
+ *
4435
+ * `nativeAmount` must be a whole number of minor units (#2401): the
4436
+ * reconciliation in {@link reconcilePaymentWithOption} compares it to
4437
+ * `Payment.nativeAmount` with `!==`, so a fractional major-unit option could
4438
+ * never match the payment that arrives and would silently strand the intent.
4325
4439
  */
4326
4440
  static normalizePaymentOptions(value) {
4327
4441
  if (value == null) return [];
@@ -4340,7 +4454,7 @@ Retired: ${reason}` : `Retired: ${reason}`;
4340
4454
  const currency = typeof o.currency === "string" ? o.currency : "";
4341
4455
  const payTo = typeof o.payTo === "string" ? o.payTo : "";
4342
4456
  const nativeAmount = typeof o.nativeAmount === "number" ? o.nativeAmount : NaN;
4343
- if (!backendId || !currency || !payTo || !Number.isFinite(nativeAmount)) continue;
4457
+ if (!backendId || !currency || !payTo || !Number.isInteger(nativeAmount)) continue;
4344
4458
  const option = {
4345
4459
  backendId,
4346
4460
  currency,
@@ -4532,7 +4646,6 @@ var __decorateClass = (decorators, target, key, kind) => {
4532
4646
  if (kind && result) __defProp(target, key, result);
4533
4647
  return result;
4534
4648
  };
4535
- var PAYOUT_EPSILON = .01;
4536
4649
  var PAYOUT_STATUS_TRANSITIONS = {
4537
4650
  [PayoutStatus.PENDING]: [PayoutStatus.SENT, PayoutStatus.FAILED],
4538
4651
  [PayoutStatus.SENT]: [PayoutStatus.CONFIRMED, PayoutStatus.FAILED],
@@ -4552,20 +4665,24 @@ var Payout = class extends SmrtObject {
4552
4665
  paymentId = "";
4553
4666
  vendorId = "";
4554
4667
  /**
4555
- * Total funds moved, in the originating payment's native currency.
4556
- * Stored at decimal precision (matches `Payment.amount` /
4557
- * `Payment.nativeAmount` convention).
4668
+ * Total funds moved, in the originating payment's native currency, as
4669
+ * **integer minor units** (cents, satoshis) — the same convention as
4670
+ * `Payment.amount` / `Payment.nativeAmount` (#2401).
4558
4671
  */
4559
4672
  grossAmount = 0;
4560
4673
  /**
4561
- * Operator's take from `grossAmount`. Must equal
4562
- * `grossAmount - supplierNet` at save time — the model enforces
4674
+ * Operator's take from `grossAmount`, in integer minor units. Must equal
4675
+ * `grossAmount - supplierNet` **exactly** at save time — the model enforces
4563
4676
  * the invariant via `validateAmounts()`.
4564
4677
  */
4565
4678
  operatorFee = 0;
4566
4679
  /**
4567
- * Net funds the supplier receives. Must equal
4568
- * `grossAmount - operatorFee` at save time.
4680
+ * Net funds the supplier receives, in integer minor units. Must equal
4681
+ * `grossAmount - operatorFee` exactly at save time.
4682
+ *
4683
+ * Converts with the other two: the invariant is a subtraction over all
4684
+ * three, so a decimal member would reintroduce the fuzz the tolerance used
4685
+ * to hide (#2401).
4569
4686
  */
4570
4687
  supplierNet = 0;
4571
4688
  /**
@@ -4712,19 +4829,21 @@ var Payout = class extends SmrtObject {
4712
4829
  this.backendTxRef = "";
4713
4830
  }
4714
4831
  /**
4715
- * Throws if the gross/fee/net invariant doesn't hold. Tolerates a
4716
- * sub-cent rounding fuzz (`EPSILON = 0.01`) to match the rest of
4717
- * the smrt-ledgers package's tolerance.
4832
+ * Throws if the gross/fee/net invariant doesn't hold.
4833
+ *
4834
+ * Exact: all three are integer minor units, so `supplierNet` must equal
4835
+ * `grossAmount - operatorFee` on the nose (#2401).
4718
4836
  */
4719
4837
  validateAmounts() {
4720
- const EPSILON = .01;
4721
- for (const [field, value] of [
4838
+ const amounts = [
4722
4839
  ["grossAmount", this.grossAmount],
4723
4840
  ["operatorFee", this.operatorFee],
4724
4841
  ["supplierNet", this.supplierNet]
4725
- ]) if (!Number.isFinite(value) || value < 0) throw new Error(`Payout ${this.id ?? "<new>"}: ${field} must be a non-negative number (got ${value}).`);
4842
+ ];
4843
+ assertIntegerMinorUnits("Payout", this.id ?? "<new>", amounts);
4844
+ for (const [field, value] of amounts) if (value < 0) throw new Error(`Payout ${this.id ?? "<new>"}: ${field} must be a non-negative number (got ${value}).`);
4726
4845
  const expectedNet = this.grossAmount - this.operatorFee;
4727
- if (Math.abs(this.supplierNet - expectedNet) > EPSILON) throw new Error(`Payout ${this.id ?? "<new>"}: amount invariant violated \u2014 gross=${this.grossAmount} fee=${this.operatorFee} net=${this.supplierNet} (expected net=${expectedNet})`);
4846
+ if (this.supplierNet !== expectedNet) throw new Error(`Payout ${this.id ?? "<new>"}: amount invariant violated \u2014 gross=${this.grossAmount} fee=${this.operatorFee} net=${this.supplierNet} (expected net=${expectedNet})`);
4728
4847
  }
4729
4848
  /**
4730
4849
  * Save-time state-machine + settlement guard (S5 audit #1390 round 2).
@@ -4814,7 +4933,7 @@ var Payout = class extends SmrtObject {
4814
4933
  const payment = await (await PaymentCollection.create(this.options)).get({ id: this.paymentId });
4815
4934
  if (!payment) throw new Error(`Payout ${this.id ?? "<new>"}: referenced source Payment '${this.paymentId}' does not exist \u2014 refusing to remit against a missing payment (the gross-amount cap cannot be enforced otherwise).`);
4816
4935
  const settled = typeof payment.nativeAmount === "number" && payment.nativeAmount > 0 ? payment.nativeAmount : payment.amount;
4817
- if (this.grossAmount - settled > PAYOUT_EPSILON) throw new Error(`Payout ${this.id ?? "<new>"}: grossAmount ${this.grossAmount} exceeds the source Payment '${this.paymentId}' funded amount ${settled}.`);
4936
+ if (this.grossAmount > settled) throw new Error(`Payout ${this.id ?? "<new>"}: grossAmount ${this.grossAmount} exceeds the source Payment '${this.paymentId}' funded amount ${settled}.`);
4818
4937
  }
4819
4938
  static coerceDate(value) {
4820
4939
  if (value == null) return null;
@@ -5030,6 +5149,69 @@ var VendorCollection = class extends SmrtCollection {
5030
5149
  }
5031
5150
  };
5032
5151
  //#endregion
5033
- export { Agreement, COMMERCE_MODULE_META, 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 };
5152
+ //#region src/migrations/moneyMinorUnits.ts
5153
+ var COMMERCE_MONEY_MINOR_UNITS_BACKFILL = "@happyvertical/smrt-commerce:money-minor-units:v1";
5154
+ var COMMERCE_MONEY_COLUMNS = [
5155
+ {
5156
+ table: "contracts",
5157
+ columns: [
5158
+ "subtotal",
5159
+ "tax_amount",
5160
+ "total_amount"
5161
+ ]
5162
+ },
5163
+ {
5164
+ table: "contract_line_items",
5165
+ columns: [
5166
+ "unit_price",
5167
+ "discount",
5168
+ "amount"
5169
+ ]
5170
+ },
5171
+ {
5172
+ table: "payments",
5173
+ columns: [
5174
+ "amount",
5175
+ "usd_at_quote",
5176
+ "usd_at_confirmation"
5177
+ ]
5178
+ },
5179
+ {
5180
+ table: "payouts",
5181
+ columns: [
5182
+ "gross_amount",
5183
+ "operator_fee",
5184
+ "supplier_net"
5185
+ ]
5186
+ },
5187
+ {
5188
+ table: "vendors",
5189
+ columns: ["minimum_order_amount"]
5190
+ },
5191
+ {
5192
+ table: "customers",
5193
+ columns: ["credit_limit"]
5194
+ },
5195
+ {
5196
+ table: "payment_intents",
5197
+ columns: ["usd_price_locked"]
5198
+ }
5199
+ ];
5200
+ var COMMERCE_NATIVE_UNIT_COLUMNS = [{
5201
+ table: "payments",
5202
+ columns: ["native_amount"]
5203
+ }];
5204
+ function preflightCommerceMoneyMinorUnits(db, options = {}) {
5205
+ return preflightMinorUnitsRescale(db, COMMERCE_MONEY_COLUMNS, options);
5206
+ }
5207
+ function migrateCommerceMoneyToMinorUnits(db, options = {}) {
5208
+ return rescaleMoneyColumnsToMinorUnits(db, COMMERCE_MONEY_COLUMNS, {
5209
+ ...options,
5210
+ backfillName: COMMERCE_MONEY_MINOR_UNITS_BACKFILL,
5211
+ packageName: "@happyvertical/smrt-commerce"
5212
+ });
5213
+ }
5214
+ //#endregion
5215
+ export { Agreement, 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, migrateCommerceMoneyToMinorUnits, preflightCommerceMoneyMinorUnits };
5034
5216
 
5035
5217
  //# sourceMappingURL=index.js.map