{
  "schemaVersion": 1,
  "sensitiveFieldsExcluded": true,
  "generatedAt": "1970-01-01T00:00:00.000Z",
  "packageName": "@happyvertical/smrt-sales",
  "packageVersion": "0.51.10",
  "sourceManifestPath": "dist/manifest.json",
  "agentDocPath": "AGENTS.md",
  "sourceHashes": {
    "manifest": "ade9cc4e7d160b9cf26631c7f674df434bb13cd2db2b626abc7f54e77bba9d98",
    "packageJson": "cf2013fd892814ca56db3caa33c0fde02448b844534fd9b6b112213070a56080",
    "agents": "70ca45be28b73fa742d3ebebe4c7cc25b524ba3684757d7066056f707efc3b22",
    "moduleDoc:agents/agreements.md": "eb6ff147a0f60ee627d3337e8e9394d06fda955b4a4fff228537a9bd2803f886",
    "moduleDoc:agents/commissions.md": "e047024aafe5edcf072c1a6b7ea253c24cb15f2fa1beb2edd13651e735921f73",
    "moduleDoc:agents/crm.md": "e90f813e857782bbfbd4122c9f67b61914e3ef49284a58e976a5507391851b0c",
    "moduleDoc:agents/referrals.md": "e64b64aad4b3feea08f172a18e3992539d761b5f05ac4e5107338a700c0cc4ce",
    "moduleDoc:agents/svelte.md": "e03d8efce0a3c5571648ec16858715ccf4377c9840acca403beed4e554205164"
  },
  "exports": [
    ".",
    "./agreements",
    "./commissions",
    "./crm",
    "./manifest",
    "./manifest.json",
    "./referrals",
    "./svelte"
  ],
  "dependencies": {
    "@happyvertical/signatures": "catalog:",
    "@happyvertical/smrt-assets": "workspace:*",
    "@happyvertical/smrt-core": "workspace:*",
    "@happyvertical/smrt-tenancy": "workspace:*",
    "@happyvertical/smrt-ui": "workspace:*",
    "@happyvertical/sql": "catalog:",
    "@happyvertical/smrt-vitest": "workspace:*",
    "@sveltejs/package": "^2.5.8",
    "@sveltejs/vite-plugin-svelte": "^7.1.2",
    "@types/node": "24.13.2",
    "svelte": "^5.56.4",
    "svelte-check": "^4.7.1",
    "typescript": "5.9.3",
    "vite": "8.1.4",
    "vitest": "4.1.10"
  },
  "smrtDependencies": [
    "@happyvertical/smrt-assets",
    "@happyvertical/smrt-core",
    "@happyvertical/smrt-tenancy",
    "@happyvertical/smrt-ui",
    "@happyvertical/smrt-vitest"
  ],
  "sdkDependencies": [
    "@happyvertical/sql"
  ],
  "tags": [
    "commissions",
    "crm",
    "cross-package",
    "multi-tenant",
    "payouts",
    "referrals",
    "sales",
    "smrt"
  ],
  "risks": [
    "cross-package-refs:14",
    "sensitive-fields-excluded"
  ],
  "objects": [
    {
      "name": "AgreementExecutionCollection",
      "qualifiedName": "@happyvertical/smrt-sales:AgreementExecutionCollection",
      "collection": "agreementexecutions",
      "tableName": "agreement_executions",
      "packageName": "@happyvertical/smrt-sales",
      "extends": "SmrtCollection",
      "fields": [],
      "relationships": [],
      "methods": [
        "bindEvidenceArtifact",
        "bindProviderRequest",
        "claimCreateAttempt",
        "compareAndSetLifecycle",
        "completeCreateAttempt",
        "failCreateAttempt",
        "findByIdempotencyKey",
        "findByProviderRequest",
        "findBySource",
        "incrementAttemptCount",
        "updateLastError"
      ],
      "methodSignatures": [
        {
          "name": "bindEvidenceArtifact",
          "async": true,
          "params": [
            "input: BindAgreementEvidenceArtifactInput"
          ],
          "returns": "Promise<AgreementExecution | null>"
        },
        {
          "name": "bindProviderRequest",
          "async": true,
          "params": [
            "input: BindAgreementProviderRequestInput"
          ],
          "returns": "Promise<AgreementExecution | null>"
        },
        {
          "name": "claimCreateAttempt",
          "async": true,
          "params": [
            "input: ClaimAgreementCreateAttemptInput"
          ],
          "returns": "Promise<AgreementExecution | null>"
        },
        {
          "name": "compareAndSetLifecycle",
          "async": true,
          "params": [
            "input: CompareAndSetAgreementLifecycleInput"
          ],
          "returns": "Promise<AgreementExecution | null>"
        },
        {
          "name": "completeCreateAttempt",
          "async": true,
          "params": [
            "input: CompleteAgreementCreateAttemptInput"
          ],
          "returns": "Promise<AgreementExecution | null>"
        },
        {
          "name": "failCreateAttempt",
          "async": true,
          "params": [
            "input: FailAgreementCreateAttemptInput"
          ],
          "returns": "Promise<AgreementExecution | null>"
        },
        {
          "name": "findByIdempotencyKey",
          "async": true,
          "params": [
            "idempotencyKey: string"
          ],
          "returns": "Promise<AgreementExecution | null>"
        },
        {
          "name": "findByProviderRequest",
          "async": true,
          "params": [
            "provider: string",
            "providerRequestId: string"
          ],
          "returns": "Promise<AgreementExecution | null>"
        },
        {
          "name": "findBySource",
          "async": true,
          "params": [
            "sourceKind: string",
            "sourceId: string"
          ],
          "returns": "Promise<AgreementExecution[]>"
        },
        {
          "name": "incrementAttemptCount",
          "async": true,
          "params": [
            "tenantId: string",
            "executionId: string"
          ],
          "returns": "Promise<AgreementExecution>"
        },
        {
          "name": "updateLastError",
          "async": true,
          "params": [
            "input: UpdateAgreementExecutionErrorInput"
          ],
          "returns": "Promise<AgreementExecution>"
        }
      ],
      "surfaces": [],
      "withheldSurfaces": [
        {
          "kind": "api",
          "operation": "bindEvidenceArtifact",
          "code": "api-disabled",
          "reason": "api is disabled",
          "objectName": "@happyvertical/smrt-sales:AgreementExecutionCollection"
        },
        {
          "kind": "api",
          "operation": "bindProviderRequest",
          "code": "api-disabled",
          "reason": "api is disabled",
          "objectName": "@happyvertical/smrt-sales:AgreementExecutionCollection"
        },
        {
          "kind": "api",
          "operation": "claimCreateAttempt",
          "code": "api-disabled",
          "reason": "api is disabled",
          "objectName": "@happyvertical/smrt-sales:AgreementExecutionCollection"
        },
        {
          "kind": "api",
          "operation": "compareAndSetLifecycle",
          "code": "api-disabled",
          "reason": "api is disabled",
          "objectName": "@happyvertical/smrt-sales:AgreementExecutionCollection"
        },
        {
          "kind": "api",
          "operation": "completeCreateAttempt",
          "code": "api-disabled",
          "reason": "api is disabled",
          "objectName": "@happyvertical/smrt-sales:AgreementExecutionCollection"
        },
        {
          "kind": "api",
          "operation": "failCreateAttempt",
          "code": "api-disabled",
          "reason": "api is disabled",
          "objectName": "@happyvertical/smrt-sales:AgreementExecutionCollection"
        },
        {
          "kind": "api",
          "operation": "findByIdempotencyKey",
          "code": "api-disabled",
          "reason": "api is disabled",
          "objectName": "@happyvertical/smrt-sales:AgreementExecutionCollection"
        },
        {
          "kind": "api",
          "operation": "findByProviderRequest",
          "code": "api-disabled",
          "reason": "api is disabled",
          "objectName": "@happyvertical/smrt-sales:AgreementExecutionCollection"
        },
        {
          "kind": "api",
          "operation": "findBySource",
          "code": "api-disabled",
          "reason": "api is disabled",
          "objectName": "@happyvertical/smrt-sales:AgreementExecutionCollection"
        },
        {
          "kind": "api",
          "operation": "incrementAttemptCount",
          "code": "api-disabled",
          "reason": "api is disabled",
          "objectName": "@happyvertical/smrt-sales:AgreementExecutionCollection"
        },
        {
          "kind": "api",
          "operation": "updateLastError",
          "code": "api-disabled",
          "reason": "api is disabled",
          "objectName": "@happyvertical/smrt-sales:AgreementExecutionCollection"
        }
      ],
      "relationshipFeatures": [
        "uuidColumns"
      ],
      "tags": [],
      "risks": []
    },
    {
      "name": "AgreementExecutionEventCollection",
      "qualifiedName": "@happyvertical/smrt-sales:AgreementExecutionEventCollection",
      "collection": "agreementexecutionevents",
      "tableName": "agreement_execution_events",
      "packageName": "@happyvertical/smrt-sales",
      "extends": "SmrtCollection",
      "fields": [],
      "relationships": [],
      "methods": [
        "findByDedupeKey",
        "findByExecution",
        "findProviderEventsByExecution",
        "recordVerified"
      ],
      "methodSignatures": [
        {
          "name": "findByDedupeKey",
          "async": true,
          "params": [
            "dedupeKey: string"
          ],
          "returns": "Promise<AgreementExecutionEvent | null>"
        },
        {
          "name": "findByExecution",
          "async": true,
          "params": [
            "executionId: string"
          ],
          "returns": "Promise<AgreementExecutionEvent[]>"
        },
        {
          "name": "findProviderEventsByExecution",
          "async": true,
          "params": [
            "executionId: string"
          ],
          "returns": "Promise<AgreementExecutionEvent[]>"
        },
        {
          "name": "recordVerified",
          "async": true,
          "params": [
            "options: VerifiedAgreementExecutionEventOptions"
          ],
          "returns": "Promise<object>"
        }
      ],
      "surfaces": [],
      "withheldSurfaces": [
        {
          "kind": "api",
          "operation": "findByDedupeKey",
          "code": "api-disabled",
          "reason": "api is disabled",
          "objectName": "@happyvertical/smrt-sales:AgreementExecutionEventCollection"
        },
        {
          "kind": "api",
          "operation": "findByExecution",
          "code": "api-disabled",
          "reason": "api is disabled",
          "objectName": "@happyvertical/smrt-sales:AgreementExecutionEventCollection"
        },
        {
          "kind": "api",
          "operation": "findProviderEventsByExecution",
          "code": "api-disabled",
          "reason": "api is disabled",
          "objectName": "@happyvertical/smrt-sales:AgreementExecutionEventCollection"
        },
        {
          "kind": "api",
          "operation": "recordVerified",
          "code": "api-disabled",
          "reason": "api is disabled",
          "objectName": "@happyvertical/smrt-sales:AgreementExecutionEventCollection"
        }
      ],
      "relationshipFeatures": [
        "uuidColumns"
      ],
      "tags": [],
      "risks": []
    },
    {
      "name": "ExecutedAgreementCollection",
      "qualifiedName": "@happyvertical/smrt-sales:ExecutedAgreementCollection",
      "collection": "executedagreements",
      "tableName": "executed_agreements",
      "packageName": "@happyvertical/smrt-sales",
      "extends": "SmrtCollection",
      "fields": [],
      "relationships": [],
      "methods": [
        "createImmutable",
        "effectiveForSource",
        "findByExecution",
        "findVersionsBySource"
      ],
      "methodSignatures": [
        {
          "name": "createImmutable",
          "async": true,
          "params": [
            "options: ExecutedAgreementOptions"
          ],
          "returns": "Promise<object>"
        },
        {
          "name": "effectiveForSource",
          "async": true,
          "params": [
            "sourceKind: string",
            "sourceId: string",
            "at?: Date"
          ],
          "returns": "Promise<ExecutedAgreement | null>"
        },
        {
          "name": "findByExecution",
          "async": true,
          "params": [
            "executionId: string"
          ],
          "returns": "Promise<ExecutedAgreement | null>"
        },
        {
          "name": "findVersionsBySource",
          "async": true,
          "params": [
            "sourceKind: string",
            "sourceId: string"
          ],
          "returns": "Promise<ExecutedAgreement[]>"
        }
      ],
      "surfaces": [
        {
          "kind": "api",
          "name": "executedagreements.findByExecution",
          "operation": "findByExecution",
          "objectName": "@happyvertical/smrt-sales:ExecutedAgreementCollection",
          "path": "/executedagreements/findByExecution",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "executedagreements.createImmutable",
          "operation": "createImmutable",
          "objectName": "@happyvertical/smrt-sales:ExecutedAgreementCollection",
          "path": "/executedagreements/createImmutable",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "executedagreements.findVersionsBySource",
          "operation": "findVersionsBySource",
          "objectName": "@happyvertical/smrt-sales:ExecutedAgreementCollection",
          "path": "/executedagreements/findVersionsBySource",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "executedagreements.effectiveForSource",
          "operation": "effectiveForSource",
          "objectName": "@happyvertical/smrt-sales:ExecutedAgreementCollection",
          "path": "/executedagreements/effectiveForSource",
          "method": "POST"
        },
        {
          "kind": "mcp",
          "name": "executedagreementcollection_findbyexecution",
          "operation": "findByExecution",
          "objectName": "@happyvertical/smrt-sales:ExecutedAgreementCollection"
        },
        {
          "kind": "mcp",
          "name": "executedagreementcollection_createimmutable",
          "operation": "createImmutable",
          "objectName": "@happyvertical/smrt-sales:ExecutedAgreementCollection"
        },
        {
          "kind": "mcp",
          "name": "executedagreementcollection_findversionsbysource",
          "operation": "findVersionsBySource",
          "objectName": "@happyvertical/smrt-sales:ExecutedAgreementCollection"
        },
        {
          "kind": "mcp",
          "name": "executedagreementcollection_effectiveforsource",
          "operation": "effectiveForSource",
          "objectName": "@happyvertical/smrt-sales:ExecutedAgreementCollection"
        }
      ],
      "relationshipFeatures": [
        "uuidColumns"
      ],
      "tags": [],
      "risks": []
    },
    {
      "name": "AgreementExecution",
      "qualifiedName": "@happyvertical/smrt-sales:AgreementExecution",
      "collection": "agreementexecutions",
      "tableName": "agreement_executions",
      "packageName": "@happyvertical/smrt-sales",
      "extends": "SmrtObject",
      "fields": [
        {
          "name": "tenantId",
          "type": "text",
          "required": true,
          "columnType": "UUID"
        },
        {
          "name": "provider",
          "type": "text",
          "required": true,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "providerAccountRef",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "credentialRef",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "idempotencyKey",
          "type": "text",
          "required": true,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "sourceKind",
          "type": "text",
          "required": true,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "sourceId",
          "type": "text",
          "required": true,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "sourceVersion",
          "type": "integer",
          "required": false,
          "columnType": "INTEGER",
          "default": 1
        },
        {
          "name": "sourceAssetId",
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-assets:Asset",
          "columnType": "UUID"
        },
        {
          "name": "sourceSha256",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "sourceSizeBytes",
          "type": "integer",
          "required": false,
          "columnType": "INTEGER",
          "default": 0
        },
        {
          "name": "requestIntentSha256",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "title",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "signerIntent",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "[]"
        },
        {
          "name": "providerRequestId",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "providerRequestKey",
          "type": "text",
          "required": false,
          "columnType": "TEXT"
        },
        {
          "name": "status",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "prepared"
        },
        {
          "name": "expiresAt",
          "type": "datetime",
          "required": false,
          "columnType": "TIMESTAMP"
        },
        {
          "name": "cancellationReason",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "lastProviderEventAt",
          "type": "datetime",
          "required": false,
          "columnType": "TIMESTAMP"
        },
        {
          "name": "lastReconciledAt",
          "type": "datetime",
          "required": false,
          "columnType": "TIMESTAMP"
        },
        {
          "name": "completedAt",
          "type": "datetime",
          "required": false,
          "columnType": "TIMESTAMP"
        },
        {
          "name": "effectiveFrom",
          "type": "datetime",
          "required": false,
          "columnType": "TIMESTAMP"
        },
        {
          "name": "effectiveTo",
          "type": "datetime",
          "required": false,
          "columnType": "TIMESTAMP"
        },
        {
          "name": "supersedesExecutedAgreementId",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "signedDocumentAssetId",
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-assets:Asset",
          "columnType": "UUID"
        },
        {
          "name": "signedDocumentSha256",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "signedDocumentSizeBytes",
          "type": "integer",
          "required": false,
          "columnType": "INTEGER",
          "default": 0
        },
        {
          "name": "signedDocumentMediaType",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "signedDocumentFilename",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "auditTrailAssetId",
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-assets:Asset",
          "columnType": "UUID"
        },
        {
          "name": "auditTrailSha256",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "auditTrailSizeBytes",
          "type": "integer",
          "required": false,
          "columnType": "INTEGER",
          "default": 0
        },
        {
          "name": "auditTrailMediaType",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "auditTrailFilename",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "attemptCount",
          "type": "integer",
          "required": false,
          "columnType": "INTEGER",
          "default": 0
        },
        {
          "name": "createLeaseId",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "createLeaseExpiresAt",
          "type": "datetime",
          "required": false,
          "columnType": "TIMESTAMP"
        },
        {
          "name": "lastError",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "metadata",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "{}"
        }
      ],
      "relationships": [
        {
          "name": "sourceAssetId",
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-assets:Asset",
          "columnType": "UUID"
        },
        {
          "name": "signedDocumentAssetId",
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-assets:Asset",
          "columnType": "UUID"
        },
        {
          "name": "auditTrailAssetId",
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-assets:Asset",
          "columnType": "UUID"
        }
      ],
      "methods": [
        "getSignerIntent",
        "initialize",
        "save"
      ],
      "methodSignatures": [
        {
          "name": "getSignerIntent",
          "returns": "AgreementSignerIntent[]"
        },
        {
          "name": "initialize",
          "async": true,
          "returns": "Promise<this>"
        },
        {
          "name": "save",
          "async": true,
          "returns": "Promise<this>"
        }
      ],
      "tenant": {
        "scoped": true,
        "mode": "required",
        "field": "tenantId"
      },
      "conflictColumns": [
        "tenant_id",
        "idempotency_key"
      ],
      "surfaces": [],
      "withheldSurfaces": [
        {
          "kind": "api",
          "operation": "getSignerIntent",
          "code": "api-disabled",
          "reason": "api is disabled",
          "objectName": "@happyvertical/smrt-sales:AgreementExecution"
        },
        {
          "kind": "api",
          "operation": "initialize",
          "code": "api-disabled",
          "reason": "api is disabled",
          "objectName": "@happyvertical/smrt-sales:AgreementExecution"
        },
        {
          "kind": "api",
          "operation": "save",
          "code": "api-disabled",
          "reason": "api is disabled",
          "objectName": "@happyvertical/smrt-sales:AgreementExecution"
        }
      ],
      "relationshipFeatures": [
        "crossPackageRef",
        "uuidColumns"
      ],
      "tags": [],
      "risks": []
    },
    {
      "name": "AgreementExecutionEvent",
      "qualifiedName": "@happyvertical/smrt-sales:AgreementExecutionEvent",
      "collection": "agreementexecutionevents",
      "tableName": "agreement_execution_events",
      "packageName": "@happyvertical/smrt-sales",
      "extends": "SmrtObject",
      "fields": [
        {
          "name": "tenantId",
          "type": "text",
          "required": true,
          "columnType": "UUID"
        },
        {
          "name": "executionId",
          "type": "foreignKey",
          "required": true,
          "related": "AgreementExecution",
          "columnType": "UUID"
        },
        {
          "name": "provider",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "providerEventId",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "eventOrigin",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "provider_webhook"
        },
        {
          "name": "operationId",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "dedupeKey",
          "type": "text",
          "required": true,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "orderingKey",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "eventType",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "status",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "prepared"
        },
        {
          "name": "occurredAt",
          "type": "datetime",
          "required": false,
          "columnType": "TIMESTAMP"
        },
        {
          "name": "receivedAt",
          "type": "datetime",
          "required": false,
          "columnType": "TIMESTAMP"
        },
        {
          "name": "payloadSha256",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "signerEvidence",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "[]"
        },
        {
          "name": "payload",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "{}"
        }
      ],
      "relationships": [
        {
          "name": "executionId",
          "type": "foreignKey",
          "required": true,
          "related": "AgreementExecution",
          "columnType": "UUID"
        }
      ],
      "methods": [
        "initialize",
        "save"
      ],
      "methodSignatures": [
        {
          "name": "initialize",
          "async": true,
          "returns": "Promise<this>"
        },
        {
          "name": "save",
          "async": true,
          "returns": "Promise<this>"
        }
      ],
      "tenant": {
        "scoped": true,
        "mode": "required",
        "field": "tenantId"
      },
      "conflictColumns": [
        "tenant_id",
        "dedupe_key"
      ],
      "surfaces": [],
      "withheldSurfaces": [
        {
          "kind": "api",
          "operation": "initialize",
          "code": "api-disabled",
          "reason": "api is disabled",
          "objectName": "@happyvertical/smrt-sales:AgreementExecutionEvent"
        },
        {
          "kind": "api",
          "operation": "save",
          "code": "api-disabled",
          "reason": "api is disabled",
          "objectName": "@happyvertical/smrt-sales:AgreementExecutionEvent"
        }
      ],
      "relationshipFeatures": [
        "foreignKey",
        "uuidColumns"
      ],
      "tags": [],
      "risks": []
    },
    {
      "name": "ExecutedAgreement",
      "qualifiedName": "@happyvertical/smrt-sales:ExecutedAgreement",
      "collection": "executedagreements",
      "tableName": "executed_agreements",
      "packageName": "@happyvertical/smrt-sales",
      "extends": "SmrtObject",
      "fields": [
        {
          "name": "tenantId",
          "type": "text",
          "required": true,
          "columnType": "UUID"
        },
        {
          "name": "executionId",
          "type": "foreignKey",
          "required": true,
          "related": "AgreementExecution",
          "columnType": "UUID"
        },
        {
          "name": "sourceKind",
          "type": "text",
          "required": true,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "sourceId",
          "type": "text",
          "required": true,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "sourceVersion",
          "type": "integer",
          "required": false,
          "columnType": "INTEGER",
          "default": 1
        },
        {
          "name": "sourceAssetId",
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-assets:Asset",
          "columnType": "UUID"
        },
        {
          "name": "sourceSha256",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "sourceSizeBytes",
          "type": "integer",
          "required": false,
          "columnType": "INTEGER",
          "default": 0
        },
        {
          "name": "signedDocumentAssetId",
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-assets:Asset",
          "columnType": "UUID"
        },
        {
          "name": "signedDocumentSha256",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "signedDocumentSizeBytes",
          "type": "integer",
          "required": false,
          "columnType": "INTEGER",
          "default": 0
        },
        {
          "name": "signedDocumentMediaType",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "signedDocumentFilename",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "auditTrailAssetId",
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-assets:Asset",
          "columnType": "UUID"
        },
        {
          "name": "auditTrailSha256",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "auditTrailSizeBytes",
          "type": "integer",
          "required": false,
          "columnType": "INTEGER",
          "default": 0
        },
        {
          "name": "auditTrailMediaType",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "auditTrailFilename",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "signerEvidence",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "[]"
        },
        {
          "name": "acceptedAt",
          "type": "datetime",
          "required": false,
          "columnType": "TIMESTAMP"
        },
        {
          "name": "effectiveFrom",
          "type": "datetime",
          "required": false,
          "columnType": "TIMESTAMP"
        },
        {
          "name": "effectiveTo",
          "type": "datetime",
          "required": false,
          "columnType": "TIMESTAMP"
        },
        {
          "name": "supersedesExecutedAgreementId",
          "type": "foreignKey",
          "required": false,
          "related": "ExecutedAgreement",
          "columnType": "UUID"
        },
        {
          "name": "metadata",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "{}"
        }
      ],
      "relationships": [
        {
          "name": "executionId",
          "type": "foreignKey",
          "required": true,
          "related": "AgreementExecution",
          "columnType": "UUID"
        },
        {
          "name": "sourceAssetId",
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-assets:Asset",
          "columnType": "UUID"
        },
        {
          "name": "signedDocumentAssetId",
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-assets:Asset",
          "columnType": "UUID"
        },
        {
          "name": "auditTrailAssetId",
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-assets:Asset",
          "columnType": "UUID"
        },
        {
          "name": "supersedesExecutedAgreementId",
          "type": "foreignKey",
          "required": false,
          "related": "ExecutedAgreement",
          "columnType": "UUID"
        }
      ],
      "methods": [
        "initialize",
        "isEffectiveAt",
        "save"
      ],
      "methodSignatures": [
        {
          "name": "initialize",
          "async": true,
          "returns": "Promise<this>"
        },
        {
          "name": "isEffectiveAt",
          "params": [
            "at: Date"
          ],
          "returns": "boolean"
        },
        {
          "name": "save",
          "async": true,
          "returns": "Promise<this>"
        }
      ],
      "tenant": {
        "scoped": true,
        "mode": "required",
        "field": "tenantId"
      },
      "conflictColumns": [
        "tenant_id",
        "execution_id"
      ],
      "surfaces": [
        {
          "kind": "api",
          "name": "executedagreements.list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:ExecutedAgreement",
          "path": "/executedagreements",
          "method": "GET"
        },
        {
          "kind": "api",
          "name": "executedagreements.get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:ExecutedAgreement",
          "path": "/executedagreements/[id]",
          "method": "GET"
        },
        {
          "kind": "mcp",
          "name": "executedagreement_list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:ExecutedAgreement"
        },
        {
          "kind": "mcp",
          "name": "executedagreement_get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:ExecutedAgreement"
        }
      ],
      "withheldSurfaces": [
        {
          "kind": "api",
          "operation": "initialize",
          "code": "lifecycle-method",
          "reason": "`initialize` is a framework lifecycle method, not a distinct operation",
          "objectName": "@happyvertical/smrt-sales:ExecutedAgreement"
        },
        {
          "kind": "api",
          "operation": "isEffectiveAt",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:ExecutedAgreement"
        },
        {
          "kind": "api",
          "operation": "save",
          "code": "lifecycle-method",
          "reason": "`save` is a framework lifecycle method, not a distinct operation",
          "objectName": "@happyvertical/smrt-sales:ExecutedAgreement"
        }
      ],
      "relationshipFeatures": [
        "crossPackageRef",
        "foreignKey",
        "uuidColumns"
      ],
      "tags": [],
      "risks": []
    },
    {
      "name": "CommissionAdjustmentCollection",
      "qualifiedName": "@happyvertical/smrt-sales:CommissionAdjustmentCollection",
      "collection": "commissionadjustments",
      "tableName": "commission_adjustments",
      "packageName": "@happyvertical/smrt-sales",
      "extends": "SmrtCollection",
      "fields": [],
      "relationships": [],
      "methods": [
        "claimForPayout",
        "findByCommission",
        "findByPayout",
        "findByPayouts",
        "findUnsettledByEarner",
        "sumUnsettledByEarner"
      ],
      "methodSignatures": [
        {
          "name": "claimForPayout",
          "async": true,
          "params": [
            "adjustmentIds: string[]",
            "payoutId: string"
          ],
          "returns": "Promise<CommissionAdjustment[]>"
        },
        {
          "name": "findByCommission",
          "async": true,
          "params": [
            "commissionId: string"
          ],
          "returns": "Promise<CommissionAdjustment[]>"
        },
        {
          "name": "findByPayout",
          "async": true,
          "params": [
            "payoutId: string"
          ],
          "returns": "Promise<CommissionAdjustment[]>"
        },
        {
          "name": "findByPayouts",
          "async": true,
          "params": [
            "payoutIds: string[]"
          ],
          "returns": "Promise<CommissionAdjustment[]>"
        },
        {
          "name": "findUnsettledByEarner",
          "async": true,
          "params": [
            "earnerId: string",
            "currency: string"
          ],
          "returns": "Promise<CommissionAdjustment[]>"
        },
        {
          "name": "sumUnsettledByEarner",
          "async": true,
          "params": [
            "earnerId: string",
            "currency: string"
          ],
          "returns": "Promise<number>"
        }
      ],
      "surfaces": [
        {
          "kind": "api",
          "name": "commissionadjustments.findByCommission",
          "operation": "findByCommission",
          "objectName": "@happyvertical/smrt-sales:CommissionAdjustmentCollection",
          "path": "/commissionadjustments/findByCommission",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "commissionadjustments.findUnsettledByEarner",
          "operation": "findUnsettledByEarner",
          "objectName": "@happyvertical/smrt-sales:CommissionAdjustmentCollection",
          "path": "/commissionadjustments/findUnsettledByEarner",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "commissionadjustments.sumUnsettledByEarner",
          "operation": "sumUnsettledByEarner",
          "objectName": "@happyvertical/smrt-sales:CommissionAdjustmentCollection",
          "path": "/commissionadjustments/sumUnsettledByEarner",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "commissionadjustments.findByPayout",
          "operation": "findByPayout",
          "objectName": "@happyvertical/smrt-sales:CommissionAdjustmentCollection",
          "path": "/commissionadjustments/findByPayout",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "commissionadjustments.findByPayouts",
          "operation": "findByPayouts",
          "objectName": "@happyvertical/smrt-sales:CommissionAdjustmentCollection",
          "path": "/commissionadjustments/findByPayouts",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "commissionadjustments.claimForPayout",
          "operation": "claimForPayout",
          "objectName": "@happyvertical/smrt-sales:CommissionAdjustmentCollection",
          "path": "/commissionadjustments/claimForPayout",
          "method": "POST"
        },
        {
          "kind": "mcp",
          "name": "commissionadjustmentcollection_findbycommission",
          "operation": "findByCommission",
          "objectName": "@happyvertical/smrt-sales:CommissionAdjustmentCollection"
        },
        {
          "kind": "mcp",
          "name": "commissionadjustmentcollection_findunsettledbyearner",
          "operation": "findUnsettledByEarner",
          "objectName": "@happyvertical/smrt-sales:CommissionAdjustmentCollection"
        },
        {
          "kind": "mcp",
          "name": "commissionadjustmentcollection_sumunsettledbyearner",
          "operation": "sumUnsettledByEarner",
          "objectName": "@happyvertical/smrt-sales:CommissionAdjustmentCollection"
        },
        {
          "kind": "mcp",
          "name": "commissionadjustmentcollection_findbypayout",
          "operation": "findByPayout",
          "objectName": "@happyvertical/smrt-sales:CommissionAdjustmentCollection"
        },
        {
          "kind": "mcp",
          "name": "commissionadjustmentcollection_findbypayouts",
          "operation": "findByPayouts",
          "objectName": "@happyvertical/smrt-sales:CommissionAdjustmentCollection"
        },
        {
          "kind": "mcp",
          "name": "commissionadjustmentcollection_claimforpayout",
          "operation": "claimForPayout",
          "objectName": "@happyvertical/smrt-sales:CommissionAdjustmentCollection"
        }
      ],
      "relationshipFeatures": [
        "uuidColumns"
      ],
      "tags": [],
      "risks": []
    },
    {
      "name": "CommissionAdjustmentOperationCollection",
      "qualifiedName": "@happyvertical/smrt-sales:CommissionAdjustmentOperationCollection",
      "collection": "commissionadjustmentoperations",
      "tableName": "commission_adjustment_operations",
      "packageName": "@happyvertical/smrt-sales",
      "extends": "SmrtCollection",
      "fields": [],
      "relationships": [],
      "methods": [
        "claim",
        "findByOperationId"
      ],
      "methodSignatures": [
        {
          "name": "claim",
          "async": true,
          "params": [
            "input: ClaimCommissionAdjustmentOperationInput"
          ],
          "returns": "Promise<ClaimCommissionAdjustmentOperationResult>"
        },
        {
          "name": "findByOperationId",
          "async": true,
          "params": [
            "operationId: string"
          ],
          "returns": "Promise<CommissionAdjustmentOperation | null>"
        }
      ],
      "surfaces": [],
      "withheldSurfaces": [
        {
          "kind": "api",
          "operation": "claim",
          "code": "api-disabled",
          "reason": "api is disabled",
          "objectName": "@happyvertical/smrt-sales:CommissionAdjustmentOperationCollection"
        },
        {
          "kind": "api",
          "operation": "findByOperationId",
          "code": "api-disabled",
          "reason": "api is disabled",
          "objectName": "@happyvertical/smrt-sales:CommissionAdjustmentOperationCollection"
        }
      ],
      "relationshipFeatures": [
        "uuidColumns"
      ],
      "tags": [],
      "risks": []
    },
    {
      "name": "CommissionCollection",
      "qualifiedName": "@happyvertical/smrt-sales:CommissionCollection",
      "collection": "commissions",
      "tableName": "commissions",
      "packageName": "@happyvertical/smrt-sales",
      "extends": "SmrtCollection",
      "fields": [],
      "relationships": [],
      "methods": [
        "claimForPayout",
        "findByDedupeKey",
        "findByEarner",
        "findByEvent",
        "findByPayout",
        "findByPayouts",
        "findByStatus",
        "findPayableUnsettled",
        "sumPayableByEarner"
      ],
      "methodSignatures": [
        {
          "name": "claimForPayout",
          "async": true,
          "params": [
            "commissionIds: string[]",
            "payoutId: string"
          ],
          "returns": "Promise<Commission[]>"
        },
        {
          "name": "findByDedupeKey",
          "async": true,
          "params": [
            "dedupeKey: string"
          ],
          "returns": "Promise<Commission | null>"
        },
        {
          "name": "findByEarner",
          "async": true,
          "params": [
            "earnerId: string"
          ],
          "returns": "Promise<Commission[]>"
        },
        {
          "name": "findByEvent",
          "async": true,
          "params": [
            "earningEventId: string"
          ],
          "returns": "Promise<Commission[]>"
        },
        {
          "name": "findByPayout",
          "async": true,
          "params": [
            "payoutId: string"
          ],
          "returns": "Promise<Commission[]>"
        },
        {
          "name": "findByPayouts",
          "async": true,
          "params": [
            "payoutIds: string[]"
          ],
          "returns": "Promise<Commission[]>"
        },
        {
          "name": "findByStatus",
          "async": true,
          "params": [
            "status: CommissionStatus"
          ],
          "returns": "Promise<Commission[]>"
        },
        {
          "name": "findPayableUnsettled",
          "async": true,
          "params": [
            "earnerId: string",
            "currency: string",
            "scope?: object"
          ],
          "returns": "Promise<Commission[]>"
        },
        {
          "name": "sumPayableByEarner",
          "async": true,
          "params": [
            "earnerId: string",
            "currency: string"
          ],
          "returns": "Promise<number>"
        }
      ],
      "surfaces": [
        {
          "kind": "api",
          "name": "commissions.findByEarner",
          "operation": "findByEarner",
          "objectName": "@happyvertical/smrt-sales:CommissionCollection",
          "path": "/commissions/findByEarner",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "commissions.findByEvent",
          "operation": "findByEvent",
          "objectName": "@happyvertical/smrt-sales:CommissionCollection",
          "path": "/commissions/findByEvent",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "commissions.findByStatus",
          "operation": "findByStatus",
          "objectName": "@happyvertical/smrt-sales:CommissionCollection",
          "path": "/commissions/findByStatus",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "commissions.findByDedupeKey",
          "operation": "findByDedupeKey",
          "objectName": "@happyvertical/smrt-sales:CommissionCollection",
          "path": "/commissions/findByDedupeKey",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "commissions.findPayableUnsettled",
          "operation": "findPayableUnsettled",
          "objectName": "@happyvertical/smrt-sales:CommissionCollection",
          "path": "/commissions/findPayableUnsettled",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "commissions.sumPayableByEarner",
          "operation": "sumPayableByEarner",
          "objectName": "@happyvertical/smrt-sales:CommissionCollection",
          "path": "/commissions/sumPayableByEarner",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "commissions.findByPayout",
          "operation": "findByPayout",
          "objectName": "@happyvertical/smrt-sales:CommissionCollection",
          "path": "/commissions/findByPayout",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "commissions.findByPayouts",
          "operation": "findByPayouts",
          "objectName": "@happyvertical/smrt-sales:CommissionCollection",
          "path": "/commissions/findByPayouts",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "commissions.claimForPayout",
          "operation": "claimForPayout",
          "objectName": "@happyvertical/smrt-sales:CommissionCollection",
          "path": "/commissions/claimForPayout",
          "method": "POST"
        },
        {
          "kind": "mcp",
          "name": "commissioncollection_findbyearner",
          "operation": "findByEarner",
          "objectName": "@happyvertical/smrt-sales:CommissionCollection"
        },
        {
          "kind": "mcp",
          "name": "commissioncollection_findbyevent",
          "operation": "findByEvent",
          "objectName": "@happyvertical/smrt-sales:CommissionCollection"
        },
        {
          "kind": "mcp",
          "name": "commissioncollection_findbystatus",
          "operation": "findByStatus",
          "objectName": "@happyvertical/smrt-sales:CommissionCollection"
        },
        {
          "kind": "mcp",
          "name": "commissioncollection_findbydedupekey",
          "operation": "findByDedupeKey",
          "objectName": "@happyvertical/smrt-sales:CommissionCollection"
        },
        {
          "kind": "mcp",
          "name": "commissioncollection_findpayableunsettled",
          "operation": "findPayableUnsettled",
          "objectName": "@happyvertical/smrt-sales:CommissionCollection"
        },
        {
          "kind": "mcp",
          "name": "commissioncollection_sumpayablebyearner",
          "operation": "sumPayableByEarner",
          "objectName": "@happyvertical/smrt-sales:CommissionCollection"
        },
        {
          "kind": "mcp",
          "name": "commissioncollection_findbypayout",
          "operation": "findByPayout",
          "objectName": "@happyvertical/smrt-sales:CommissionCollection"
        },
        {
          "kind": "mcp",
          "name": "commissioncollection_findbypayouts",
          "operation": "findByPayouts",
          "objectName": "@happyvertical/smrt-sales:CommissionCollection"
        },
        {
          "kind": "mcp",
          "name": "commissioncollection_claimforpayout",
          "operation": "claimForPayout",
          "objectName": "@happyvertical/smrt-sales:CommissionCollection"
        }
      ],
      "relationshipFeatures": [
        "uuidColumns"
      ],
      "tags": [],
      "risks": []
    },
    {
      "name": "CommissionPayoutCollection",
      "qualifiedName": "@happyvertical/smrt-sales:CommissionPayoutCollection",
      "collection": "commissionpayouts",
      "tableName": "commission_payouts",
      "packageName": "@happyvertical/smrt-sales",
      "extends": "SmrtCollection",
      "fields": [],
      "relationships": [],
      "methods": [
        "findByEarner",
        "findByIdempotencyKey",
        "findBySource",
        "findByStatus",
        "sumPaidByEarner"
      ],
      "methodSignatures": [
        {
          "name": "findByEarner",
          "async": true,
          "params": [
            "earnerId: string"
          ],
          "returns": "Promise<CommissionPayout[]>"
        },
        {
          "name": "findByIdempotencyKey",
          "async": true,
          "params": [
            "idempotencyKey: string"
          ],
          "returns": "Promise<CommissionPayout | null>"
        },
        {
          "name": "findBySource",
          "async": true,
          "params": [
            "sourceKind: string",
            "sourceId: string",
            "page: object"
          ],
          "returns": "Promise<CommissionPayout[]>"
        },
        {
          "name": "findByStatus",
          "async": true,
          "params": [
            "status: CommissionPayoutStatus"
          ],
          "returns": "Promise<CommissionPayout[]>"
        },
        {
          "name": "sumPaidByEarner",
          "async": true,
          "params": [
            "earnerId: string",
            "currency: string"
          ],
          "returns": "Promise<number>"
        }
      ],
      "surfaces": [
        {
          "kind": "api",
          "name": "commissionpayouts.findByEarner",
          "operation": "findByEarner",
          "objectName": "@happyvertical/smrt-sales:CommissionPayoutCollection",
          "path": "/commissionpayouts/findByEarner",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "commissionpayouts.findByStatus",
          "operation": "findByStatus",
          "objectName": "@happyvertical/smrt-sales:CommissionPayoutCollection",
          "path": "/commissionpayouts/findByStatus",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "commissionpayouts.findByIdempotencyKey",
          "operation": "findByIdempotencyKey",
          "objectName": "@happyvertical/smrt-sales:CommissionPayoutCollection",
          "path": "/commissionpayouts/findByIdempotencyKey",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "commissionpayouts.findBySource",
          "operation": "findBySource",
          "objectName": "@happyvertical/smrt-sales:CommissionPayoutCollection",
          "path": "/commissionpayouts/findBySource",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "commissionpayouts.sumPaidByEarner",
          "operation": "sumPaidByEarner",
          "objectName": "@happyvertical/smrt-sales:CommissionPayoutCollection",
          "path": "/commissionpayouts/sumPaidByEarner",
          "method": "POST"
        },
        {
          "kind": "cli",
          "name": "commissionpayoutcollection_findByEarner",
          "operation": "findByEarner",
          "objectName": "@happyvertical/smrt-sales:CommissionPayoutCollection"
        },
        {
          "kind": "cli",
          "name": "commissionpayoutcollection_findByStatus",
          "operation": "findByStatus",
          "objectName": "@happyvertical/smrt-sales:CommissionPayoutCollection"
        },
        {
          "kind": "cli",
          "name": "commissionpayoutcollection_findByIdempotencyKey",
          "operation": "findByIdempotencyKey",
          "objectName": "@happyvertical/smrt-sales:CommissionPayoutCollection"
        },
        {
          "kind": "cli",
          "name": "commissionpayoutcollection_findBySource",
          "operation": "findBySource",
          "objectName": "@happyvertical/smrt-sales:CommissionPayoutCollection"
        },
        {
          "kind": "cli",
          "name": "commissionpayoutcollection_sumPaidByEarner",
          "operation": "sumPaidByEarner",
          "objectName": "@happyvertical/smrt-sales:CommissionPayoutCollection"
        },
        {
          "kind": "mcp",
          "name": "commissionpayoutcollection_findbyearner",
          "operation": "findByEarner",
          "objectName": "@happyvertical/smrt-sales:CommissionPayoutCollection"
        },
        {
          "kind": "mcp",
          "name": "commissionpayoutcollection_findbystatus",
          "operation": "findByStatus",
          "objectName": "@happyvertical/smrt-sales:CommissionPayoutCollection"
        },
        {
          "kind": "mcp",
          "name": "commissionpayoutcollection_findbyidempotencykey",
          "operation": "findByIdempotencyKey",
          "objectName": "@happyvertical/smrt-sales:CommissionPayoutCollection"
        },
        {
          "kind": "mcp",
          "name": "commissionpayoutcollection_findbysource",
          "operation": "findBySource",
          "objectName": "@happyvertical/smrt-sales:CommissionPayoutCollection"
        },
        {
          "kind": "mcp",
          "name": "commissionpayoutcollection_sumpaidbyearner",
          "operation": "sumPaidByEarner",
          "objectName": "@happyvertical/smrt-sales:CommissionPayoutCollection"
        }
      ],
      "relationshipFeatures": [
        "uuidColumns"
      ],
      "tags": [],
      "risks": []
    },
    {
      "name": "CommissionPlanCollection",
      "qualifiedName": "@happyvertical/smrt-sales:CommissionPlanCollection",
      "collection": "commissionplans",
      "tableName": "commission_plans",
      "packageName": "@happyvertical/smrt-sales",
      "extends": "SmrtCollection",
      "fields": [],
      "relationships": [],
      "methods": [
        "createAmendment",
        "findByPlanKey",
        "findByStatus",
        "latestActiveByKey"
      ],
      "methodSignatures": [
        {
          "name": "createAmendment",
          "async": true,
          "params": [
            "planKey: string",
            "changes?: CommissionPlanAmendmentChanges"
          ],
          "returns": "Promise<CommissionPlan>"
        },
        {
          "name": "findByPlanKey",
          "async": true,
          "params": [
            "planKey: string"
          ],
          "returns": "Promise<CommissionPlan[]>"
        },
        {
          "name": "findByStatus",
          "async": true,
          "params": [
            "status: CommissionPlanStatus"
          ],
          "returns": "Promise<CommissionPlan[]>"
        },
        {
          "name": "latestActiveByKey",
          "async": true,
          "params": [
            "planKey: string",
            "at?: Date",
            "tenantId?: string | null"
          ],
          "returns": "Promise<CommissionPlan | null>"
        }
      ],
      "surfaces": [
        {
          "kind": "api",
          "name": "commissionplans.findByPlanKey",
          "operation": "findByPlanKey",
          "objectName": "@happyvertical/smrt-sales:CommissionPlanCollection",
          "path": "/commissionplans/findByPlanKey",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "commissionplans.findByStatus",
          "operation": "findByStatus",
          "objectName": "@happyvertical/smrt-sales:CommissionPlanCollection",
          "path": "/commissionplans/findByStatus",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "commissionplans.latestActiveByKey",
          "operation": "latestActiveByKey",
          "objectName": "@happyvertical/smrt-sales:CommissionPlanCollection",
          "path": "/commissionplans/latestActiveByKey",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "commissionplans.createAmendment",
          "operation": "createAmendment",
          "objectName": "@happyvertical/smrt-sales:CommissionPlanCollection",
          "path": "/commissionplans/createAmendment",
          "method": "POST"
        },
        {
          "kind": "cli",
          "name": "commissionplancollection_findByPlanKey",
          "operation": "findByPlanKey",
          "objectName": "@happyvertical/smrt-sales:CommissionPlanCollection"
        },
        {
          "kind": "cli",
          "name": "commissionplancollection_findByStatus",
          "operation": "findByStatus",
          "objectName": "@happyvertical/smrt-sales:CommissionPlanCollection"
        },
        {
          "kind": "cli",
          "name": "commissionplancollection_latestActiveByKey",
          "operation": "latestActiveByKey",
          "objectName": "@happyvertical/smrt-sales:CommissionPlanCollection"
        },
        {
          "kind": "cli",
          "name": "commissionplancollection_createAmendment",
          "operation": "createAmendment",
          "objectName": "@happyvertical/smrt-sales:CommissionPlanCollection"
        },
        {
          "kind": "mcp",
          "name": "commissionplancollection_findbyplankey",
          "operation": "findByPlanKey",
          "objectName": "@happyvertical/smrt-sales:CommissionPlanCollection"
        },
        {
          "kind": "mcp",
          "name": "commissionplancollection_findbystatus",
          "operation": "findByStatus",
          "objectName": "@happyvertical/smrt-sales:CommissionPlanCollection"
        },
        {
          "kind": "mcp",
          "name": "commissionplancollection_latestactivebykey",
          "operation": "latestActiveByKey",
          "objectName": "@happyvertical/smrt-sales:CommissionPlanCollection"
        },
        {
          "kind": "mcp",
          "name": "commissionplancollection_createamendment",
          "operation": "createAmendment",
          "objectName": "@happyvertical/smrt-sales:CommissionPlanCollection"
        }
      ],
      "relationshipFeatures": [
        "uuidColumns"
      ],
      "tags": [],
      "risks": []
    },
    {
      "name": "EarnerCollection",
      "qualifiedName": "@happyvertical/smrt-sales:EarnerCollection",
      "collection": "earners",
      "tableName": "earners",
      "packageName": "@happyvertical/smrt-sales",
      "extends": "SmrtCollection",
      "fields": [],
      "relationships": [],
      "methods": [
        "findActive",
        "findByProfile",
        "findByStatus"
      ],
      "methodSignatures": [
        {
          "name": "findActive",
          "async": true,
          "returns": "Promise<Earner[]>"
        },
        {
          "name": "findByProfile",
          "async": true,
          "params": [
            "profileId: string"
          ],
          "returns": "Promise<Earner[]>"
        },
        {
          "name": "findByStatus",
          "async": true,
          "params": [
            "status: EarnerStatus"
          ],
          "returns": "Promise<Earner[]>"
        }
      ],
      "surfaces": [
        {
          "kind": "api",
          "name": "earners.findByProfile",
          "operation": "findByProfile",
          "objectName": "@happyvertical/smrt-sales:EarnerCollection",
          "path": "/earners/findByProfile",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "earners.findByStatus",
          "operation": "findByStatus",
          "objectName": "@happyvertical/smrt-sales:EarnerCollection",
          "path": "/earners/findByStatus",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "earners.findActive",
          "operation": "findActive",
          "objectName": "@happyvertical/smrt-sales:EarnerCollection",
          "path": "/earners/findActive",
          "method": "POST"
        },
        {
          "kind": "cli",
          "name": "earnercollection_findByProfile",
          "operation": "findByProfile",
          "objectName": "@happyvertical/smrt-sales:EarnerCollection"
        },
        {
          "kind": "cli",
          "name": "earnercollection_findByStatus",
          "operation": "findByStatus",
          "objectName": "@happyvertical/smrt-sales:EarnerCollection"
        },
        {
          "kind": "cli",
          "name": "earnercollection_findActive",
          "operation": "findActive",
          "objectName": "@happyvertical/smrt-sales:EarnerCollection"
        },
        {
          "kind": "mcp",
          "name": "earnercollection_findbyprofile",
          "operation": "findByProfile",
          "objectName": "@happyvertical/smrt-sales:EarnerCollection"
        },
        {
          "kind": "mcp",
          "name": "earnercollection_findbystatus",
          "operation": "findByStatus",
          "objectName": "@happyvertical/smrt-sales:EarnerCollection"
        },
        {
          "kind": "mcp",
          "name": "earnercollection_findactive",
          "operation": "findActive",
          "objectName": "@happyvertical/smrt-sales:EarnerCollection"
        }
      ],
      "relationshipFeatures": [
        "uuidColumns"
      ],
      "tags": [],
      "risks": []
    },
    {
      "name": "EarnerSourceAttributionCollection",
      "qualifiedName": "@happyvertical/smrt-sales:EarnerSourceAttributionCollection",
      "collection": "earnersourceattributions",
      "tableName": "earner_source_attributions",
      "packageName": "@happyvertical/smrt-sales",
      "extends": "SmrtCollection",
      "fields": [],
      "relationships": [],
      "methods": [
        "findByEarner",
        "findBySource",
        "findBySources"
      ],
      "methodSignatures": [
        {
          "name": "findByEarner",
          "async": true,
          "params": [
            "earnerId: string"
          ],
          "returns": "Promise<EarnerSourceAttribution[]>"
        },
        {
          "name": "findBySource",
          "async": true,
          "params": [
            "sourceKind: string",
            "sourceId: string"
          ],
          "returns": "Promise<EarnerSourceAttribution[]>"
        },
        {
          "name": "findBySources",
          "async": true,
          "params": [
            "sourceKind: string",
            "sourceIds: string[]"
          ],
          "returns": "Promise<EarnerSourceAttribution[]>"
        }
      ],
      "surfaces": [
        {
          "kind": "api",
          "name": "earnersourceattributions.findBySource",
          "operation": "findBySource",
          "objectName": "@happyvertical/smrt-sales:EarnerSourceAttributionCollection",
          "path": "/earnersourceattributions/findBySource",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "earnersourceattributions.findBySources",
          "operation": "findBySources",
          "objectName": "@happyvertical/smrt-sales:EarnerSourceAttributionCollection",
          "path": "/earnersourceattributions/findBySources",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "earnersourceattributions.findByEarner",
          "operation": "findByEarner",
          "objectName": "@happyvertical/smrt-sales:EarnerSourceAttributionCollection",
          "path": "/earnersourceattributions/findByEarner",
          "method": "POST"
        },
        {
          "kind": "cli",
          "name": "earnersourceattributioncollection_findBySource",
          "operation": "findBySource",
          "objectName": "@happyvertical/smrt-sales:EarnerSourceAttributionCollection"
        },
        {
          "kind": "cli",
          "name": "earnersourceattributioncollection_findBySources",
          "operation": "findBySources",
          "objectName": "@happyvertical/smrt-sales:EarnerSourceAttributionCollection"
        },
        {
          "kind": "cli",
          "name": "earnersourceattributioncollection_findByEarner",
          "operation": "findByEarner",
          "objectName": "@happyvertical/smrt-sales:EarnerSourceAttributionCollection"
        },
        {
          "kind": "mcp",
          "name": "earnersourceattributioncollection_findbysource",
          "operation": "findBySource",
          "objectName": "@happyvertical/smrt-sales:EarnerSourceAttributionCollection"
        },
        {
          "kind": "mcp",
          "name": "earnersourceattributioncollection_findbysources",
          "operation": "findBySources",
          "objectName": "@happyvertical/smrt-sales:EarnerSourceAttributionCollection"
        },
        {
          "kind": "mcp",
          "name": "earnersourceattributioncollection_findbyearner",
          "operation": "findByEarner",
          "objectName": "@happyvertical/smrt-sales:EarnerSourceAttributionCollection"
        }
      ],
      "relationshipFeatures": [
        "uuidColumns"
      ],
      "tags": [],
      "risks": []
    },
    {
      "name": "EarningEventCollection",
      "qualifiedName": "@happyvertical/smrt-sales:EarningEventCollection",
      "collection": "earningevents",
      "tableName": "earning_events",
      "packageName": "@happyvertical/smrt-sales",
      "extends": "SmrtCollection",
      "fields": [],
      "relationships": [],
      "methods": [
        "findByDedupeKey",
        "findByKind",
        "findBySource",
        "getOrCreateByDedupeKey"
      ],
      "methodSignatures": [
        {
          "name": "findByDedupeKey",
          "async": true,
          "params": [
            "dedupeKey: string"
          ],
          "returns": "Promise<EarningEvent | null>"
        },
        {
          "name": "findByKind",
          "async": true,
          "params": [
            "eventKind: string"
          ],
          "returns": "Promise<EarningEvent[]>"
        },
        {
          "name": "findBySource",
          "async": true,
          "params": [
            "sourceKind: string",
            "sourceId: string"
          ],
          "returns": "Promise<EarningEvent[]>"
        },
        {
          "name": "getOrCreateByDedupeKey",
          "async": true,
          "params": [
            "options: EarningEventOptions"
          ],
          "returns": "Promise<object>"
        }
      ],
      "surfaces": [
        {
          "kind": "api",
          "name": "earningevents.findByDedupeKey",
          "operation": "findByDedupeKey",
          "objectName": "@happyvertical/smrt-sales:EarningEventCollection",
          "path": "/earningevents/findByDedupeKey",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "earningevents.getOrCreateByDedupeKey",
          "operation": "getOrCreateByDedupeKey",
          "objectName": "@happyvertical/smrt-sales:EarningEventCollection",
          "path": "/earningevents/getOrCreateByDedupeKey",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "earningevents.findBySource",
          "operation": "findBySource",
          "objectName": "@happyvertical/smrt-sales:EarningEventCollection",
          "path": "/earningevents/findBySource",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "earningevents.findByKind",
          "operation": "findByKind",
          "objectName": "@happyvertical/smrt-sales:EarningEventCollection",
          "path": "/earningevents/findByKind",
          "method": "POST"
        },
        {
          "kind": "mcp",
          "name": "earningeventcollection_findbydedupekey",
          "operation": "findByDedupeKey",
          "objectName": "@happyvertical/smrt-sales:EarningEventCollection"
        },
        {
          "kind": "mcp",
          "name": "earningeventcollection_getorcreatebydedupekey",
          "operation": "getOrCreateByDedupeKey",
          "objectName": "@happyvertical/smrt-sales:EarningEventCollection"
        },
        {
          "kind": "mcp",
          "name": "earningeventcollection_findbysource",
          "operation": "findBySource",
          "objectName": "@happyvertical/smrt-sales:EarningEventCollection"
        },
        {
          "kind": "mcp",
          "name": "earningeventcollection_findbykind",
          "operation": "findByKind",
          "objectName": "@happyvertical/smrt-sales:EarningEventCollection"
        }
      ],
      "relationshipFeatures": [
        "uuidColumns"
      ],
      "tags": [],
      "risks": []
    },
    {
      "name": "Commission",
      "qualifiedName": "@happyvertical/smrt-sales:Commission",
      "collection": "commissions",
      "tableName": "commissions",
      "packageName": "@happyvertical/smrt-sales",
      "extends": "SmrtObject",
      "fields": [
        {
          "name": "tenantId",
          "type": "text",
          "required": false,
          "columnType": "UUID"
        },
        {
          "name": "earnerId",
          "type": "foreignKey",
          "required": true,
          "related": "Earner",
          "columnType": "UUID"
        },
        {
          "name": "earningEventId",
          "type": "foreignKey",
          "required": false,
          "related": "EarningEvent",
          "columnType": "UUID"
        },
        {
          "name": "planKey",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "planVersion",
          "type": "integer",
          "required": false,
          "columnType": "INTEGER",
          "default": 0
        },
        {
          "name": "componentKey",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "termsSnapshotKind",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "termsSnapshotId",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "basis",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "gross"
        },
        {
          "name": "baseAmountCents",
          "type": "integer",
          "required": false,
          "columnType": "INTEGER",
          "default": 0
        },
        {
          "name": "rate",
          "type": "decimal",
          "required": false,
          "columnType": "REAL",
          "default": 0
        },
        {
          "name": "shareFraction",
          "type": "decimal",
          "required": false,
          "columnType": "REAL",
          "default": 1
        },
        {
          "name": "splitGroupId",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "amountCents",
          "type": "integer",
          "required": false,
          "columnType": "INTEGER",
          "default": 0
        },
        {
          "name": "currency",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "USD"
        },
        {
          "name": "status",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "pending"
        },
        {
          "name": "clearingEndsAt",
          "type": "datetime",
          "required": false,
          "columnType": "TIMESTAMP"
        },
        {
          "name": "earnedAt",
          "type": "datetime",
          "required": false,
          "columnType": "TIMESTAMP"
        },
        {
          "name": "approvedAt",
          "type": "datetime",
          "required": false,
          "columnType": "TIMESTAMP"
        },
        {
          "name": "payableAt",
          "type": "datetime",
          "required": false,
          "columnType": "TIMESTAMP"
        },
        {
          "name": "paidAt",
          "type": "datetime",
          "required": false,
          "columnType": "TIMESTAMP"
        },
        {
          "name": "payoutId",
          "type": "foreignKey",
          "required": false,
          "related": "CommissionPayout",
          "columnType": "UUID"
        },
        {
          "name": "sourceKind",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "sourceId",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "calculationTrace",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "{}"
        },
        {
          "name": "dedupeKey",
          "type": "text",
          "required": true,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "metadata",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "{}"
        }
      ],
      "relationships": [
        {
          "name": "earnerId",
          "type": "foreignKey",
          "required": true,
          "related": "Earner",
          "columnType": "UUID"
        },
        {
          "name": "earningEventId",
          "type": "foreignKey",
          "required": false,
          "related": "EarningEvent",
          "columnType": "UUID"
        },
        {
          "name": "payoutId",
          "type": "foreignKey",
          "required": false,
          "related": "CommissionPayout",
          "columnType": "UUID"
        }
      ],
      "methods": [
        "approve",
        "getCalculationTrace",
        "getMetadata",
        "initialize",
        "isApproved",
        "isEarned",
        "isPaid",
        "isPayable",
        "isPending",
        "isSettled",
        "markEarned",
        "markPaid",
        "markPayable",
        "save",
        "setCalculationTrace",
        "setMetadata"
      ],
      "methodSignatures": [
        {
          "name": "approve",
          "params": [
            "now?: Date"
          ],
          "returns": "void"
        },
        {
          "name": "getCalculationTrace",
          "returns": "CommissionCalculationTrace | null"
        },
        {
          "name": "getMetadata",
          "returns": "Record<string, unknown>"
        },
        {
          "name": "initialize",
          "async": true,
          "returns": "Promise<this>"
        },
        {
          "name": "isApproved",
          "returns": "boolean"
        },
        {
          "name": "isEarned",
          "returns": "boolean"
        },
        {
          "name": "isPaid",
          "returns": "boolean"
        },
        {
          "name": "isPayable",
          "returns": "boolean"
        },
        {
          "name": "isPending",
          "returns": "boolean"
        },
        {
          "name": "isSettled",
          "returns": "boolean"
        },
        {
          "name": "markEarned",
          "params": [
            "now?: Date"
          ],
          "returns": "void"
        },
        {
          "name": "markPaid",
          "params": [
            "now?: Date"
          ],
          "returns": "void"
        },
        {
          "name": "markPayable",
          "params": [
            "now?: Date"
          ],
          "returns": "void"
        },
        {
          "name": "save",
          "async": true,
          "returns": "Promise<this>"
        },
        {
          "name": "setCalculationTrace",
          "params": [
            "trace: CommissionCalculationTrace"
          ],
          "returns": "void"
        },
        {
          "name": "setMetadata",
          "params": [
            "data: Record<string, unknown>"
          ],
          "returns": "void"
        }
      ],
      "tenant": {
        "scoped": true,
        "mode": "optional",
        "field": "tenantId"
      },
      "conflictColumns": [
        "dedupe_key"
      ],
      "surfaces": [
        {
          "kind": "api",
          "name": "commissions.list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:Commission",
          "path": "/commissions",
          "method": "GET"
        },
        {
          "kind": "api",
          "name": "commissions.get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:Commission",
          "path": "/commissions/[id]",
          "method": "GET"
        },
        {
          "kind": "api",
          "name": "commissions.create",
          "operation": "create",
          "objectName": "@happyvertical/smrt-sales:Commission",
          "path": "/commissions",
          "method": "POST"
        },
        {
          "kind": "mcp",
          "name": "commission_list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:Commission"
        },
        {
          "kind": "mcp",
          "name": "commission_get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:Commission"
        }
      ],
      "withheldSurfaces": [
        {
          "kind": "api",
          "operation": "approve",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:Commission"
        },
        {
          "kind": "api",
          "operation": "getCalculationTrace",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:Commission"
        },
        {
          "kind": "api",
          "operation": "getMetadata",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:Commission"
        },
        {
          "kind": "api",
          "operation": "initialize",
          "code": "lifecycle-method",
          "reason": "`initialize` is a framework lifecycle method, not a distinct operation",
          "objectName": "@happyvertical/smrt-sales:Commission"
        },
        {
          "kind": "api",
          "operation": "isApproved",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:Commission"
        },
        {
          "kind": "api",
          "operation": "isEarned",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:Commission"
        },
        {
          "kind": "api",
          "operation": "isPaid",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:Commission"
        },
        {
          "kind": "api",
          "operation": "isPayable",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:Commission"
        },
        {
          "kind": "api",
          "operation": "isPending",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:Commission"
        },
        {
          "kind": "api",
          "operation": "isSettled",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:Commission"
        },
        {
          "kind": "api",
          "operation": "markEarned",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:Commission"
        },
        {
          "kind": "api",
          "operation": "markPaid",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:Commission"
        },
        {
          "kind": "api",
          "operation": "markPayable",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:Commission"
        },
        {
          "kind": "api",
          "operation": "save",
          "code": "lifecycle-method",
          "reason": "`save` is a framework lifecycle method, not a distinct operation",
          "objectName": "@happyvertical/smrt-sales:Commission"
        },
        {
          "kind": "api",
          "operation": "setCalculationTrace",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:Commission"
        },
        {
          "kind": "api",
          "operation": "setMetadata",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:Commission"
        }
      ],
      "relationshipFeatures": [
        "foreignKey",
        "uuidColumns"
      ],
      "tags": [],
      "risks": []
    },
    {
      "name": "CommissionAdjustment",
      "qualifiedName": "@happyvertical/smrt-sales:CommissionAdjustment",
      "collection": "commissionadjustments",
      "tableName": "commission_adjustments",
      "packageName": "@happyvertical/smrt-sales",
      "extends": "SmrtObject",
      "fields": [
        {
          "name": "tenantId",
          "type": "text",
          "required": false,
          "columnType": "UUID"
        },
        {
          "name": "commissionId",
          "type": "foreignKey",
          "required": true,
          "related": "Commission",
          "columnType": "UUID"
        },
        {
          "name": "earnerId",
          "type": "foreignKey",
          "required": true,
          "related": "Earner",
          "columnType": "UUID"
        },
        {
          "name": "adjustmentKind",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "correction"
        },
        {
          "name": "amountCents",
          "type": "integer",
          "required": false,
          "columnType": "INTEGER",
          "default": 0
        },
        {
          "name": "currency",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "USD"
        },
        {
          "name": "reason",
          "type": "text",
          "required": true,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "createdByProfileId",
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-profiles:Profile",
          "columnType": "UUID"
        },
        {
          "name": "payoutId",
          "type": "foreignKey",
          "required": false,
          "related": "CommissionPayout",
          "columnType": "UUID"
        },
        {
          "name": "metadata",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "{}"
        }
      ],
      "relationships": [
        {
          "name": "commissionId",
          "type": "foreignKey",
          "required": true,
          "related": "Commission",
          "columnType": "UUID"
        },
        {
          "name": "earnerId",
          "type": "foreignKey",
          "required": true,
          "related": "Earner",
          "columnType": "UUID"
        },
        {
          "name": "createdByProfileId",
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-profiles:Profile",
          "columnType": "UUID"
        },
        {
          "name": "payoutId",
          "type": "foreignKey",
          "required": false,
          "related": "CommissionPayout",
          "columnType": "UUID"
        }
      ],
      "methods": [
        "getMetadata",
        "initialize",
        "isSettled",
        "save",
        "setMetadata"
      ],
      "methodSignatures": [
        {
          "name": "getMetadata",
          "returns": "Record<string, unknown>"
        },
        {
          "name": "initialize",
          "async": true,
          "returns": "Promise<this>"
        },
        {
          "name": "isSettled",
          "returns": "boolean"
        },
        {
          "name": "save",
          "async": true,
          "returns": "Promise<this>"
        },
        {
          "name": "setMetadata",
          "params": [
            "data: Record<string, unknown>"
          ],
          "returns": "void"
        }
      ],
      "tenant": {
        "scoped": true,
        "mode": "optional",
        "field": "tenantId"
      },
      "conflictColumns": [
        "tenant_id",
        "slug",
        "context"
      ],
      "surfaces": [
        {
          "kind": "api",
          "name": "commissionadjustments.list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:CommissionAdjustment",
          "path": "/commissionadjustments",
          "method": "GET"
        },
        {
          "kind": "api",
          "name": "commissionadjustments.get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:CommissionAdjustment",
          "path": "/commissionadjustments/[id]",
          "method": "GET"
        },
        {
          "kind": "api",
          "name": "commissionadjustments.create",
          "operation": "create",
          "objectName": "@happyvertical/smrt-sales:CommissionAdjustment",
          "path": "/commissionadjustments",
          "method": "POST"
        },
        {
          "kind": "mcp",
          "name": "commissionadjustment_list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:CommissionAdjustment"
        },
        {
          "kind": "mcp",
          "name": "commissionadjustment_create",
          "operation": "create",
          "objectName": "@happyvertical/smrt-sales:CommissionAdjustment"
        }
      ],
      "withheldSurfaces": [
        {
          "kind": "api",
          "operation": "getMetadata",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:CommissionAdjustment"
        },
        {
          "kind": "api",
          "operation": "initialize",
          "code": "lifecycle-method",
          "reason": "`initialize` is a framework lifecycle method, not a distinct operation",
          "objectName": "@happyvertical/smrt-sales:CommissionAdjustment"
        },
        {
          "kind": "api",
          "operation": "isSettled",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:CommissionAdjustment"
        },
        {
          "kind": "api",
          "operation": "save",
          "code": "lifecycle-method",
          "reason": "`save` is a framework lifecycle method, not a distinct operation",
          "objectName": "@happyvertical/smrt-sales:CommissionAdjustment"
        },
        {
          "kind": "api",
          "operation": "setMetadata",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:CommissionAdjustment"
        }
      ],
      "relationshipFeatures": [
        "crossPackageRef",
        "foreignKey",
        "uuidColumns"
      ],
      "tags": [],
      "risks": []
    },
    {
      "name": "CommissionAdjustmentOperation",
      "qualifiedName": "@happyvertical/smrt-sales:CommissionAdjustmentOperation",
      "collection": "commissionadjustmentoperations",
      "tableName": "commission_adjustment_operations",
      "packageName": "@happyvertical/smrt-sales",
      "extends": "SmrtObject",
      "fields": [
        {
          "name": "tenantId",
          "type": "text",
          "required": true,
          "columnType": "UUID"
        },
        {
          "name": "adjustmentId",
          "type": "text",
          "required": true,
          "columnType": "UUID",
          "readonly": true
        }
      ],
      "relationships": [],
      "methods": [],
      "tenant": {
        "scoped": true,
        "mode": "required",
        "field": "tenantId"
      },
      "conflictColumns": [
        "tenant_id",
        "slug",
        "context"
      ],
      "surfaces": [],
      "relationshipFeatures": [
        "uuidColumns"
      ],
      "tags": [],
      "risks": []
    },
    {
      "name": "CommissionPayout",
      "qualifiedName": "@happyvertical/smrt-sales:CommissionPayout",
      "collection": "commissionpayouts",
      "tableName": "commission_payouts",
      "packageName": "@happyvertical/smrt-sales",
      "extends": "SmrtObject",
      "fields": [
        {
          "name": "tenantId",
          "type": "text",
          "required": false,
          "columnType": "UUID"
        },
        {
          "name": "earnerId",
          "type": "foreignKey",
          "required": true,
          "related": "Earner",
          "columnType": "UUID"
        },
        {
          "name": "periodStart",
          "type": "datetime",
          "required": false,
          "columnType": "TIMESTAMP"
        },
        {
          "name": "periodEnd",
          "type": "datetime",
          "required": false,
          "columnType": "TIMESTAMP"
        },
        {
          "name": "commissionTotalCents",
          "type": "integer",
          "required": false,
          "columnType": "INTEGER",
          "default": 0
        },
        {
          "name": "adjustmentTotalCents",
          "type": "integer",
          "required": false,
          "columnType": "INTEGER",
          "default": 0
        },
        {
          "name": "totalAmountCents",
          "type": "integer",
          "required": false,
          "columnType": "INTEGER",
          "default": 0
        },
        {
          "name": "currency",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "USD"
        },
        {
          "name": "payoutMethod",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "bank_transfer"
        },
        {
          "name": "status",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "pending"
        },
        {
          "name": "paymentReference",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "providerRef",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "paidAt",
          "type": "datetime",
          "required": false,
          "columnType": "TIMESTAMP"
        },
        {
          "name": "invoiceId",
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-commerce:Invoice",
          "columnType": "UUID"
        },
        {
          "name": "notes",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "idempotencyKey",
          "type": "text",
          "required": true,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "sourceKind",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "sourceId",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "metadata",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "{}"
        }
      ],
      "relationships": [
        {
          "name": "earnerId",
          "type": "foreignKey",
          "required": true,
          "related": "Earner",
          "columnType": "UUID"
        },
        {
          "name": "invoiceId",
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-commerce:Invoice",
          "columnType": "UUID"
        }
      ],
      "methods": [
        "approve",
        "complete",
        "fail",
        "getMetadata",
        "initialize",
        "isApproved",
        "isCompleted",
        "isFailed",
        "isPending",
        "isProcessing",
        "isRejected",
        "markProcessing",
        "reject",
        "resetFromFailed",
        "save",
        "setMetadata",
        "validateTotals"
      ],
      "methodSignatures": [
        {
          "name": "approve",
          "returns": "void"
        },
        {
          "name": "complete",
          "params": [
            "paymentReference: string",
            "now?: Date"
          ],
          "returns": "void"
        },
        {
          "name": "fail",
          "params": [
            "reason: string"
          ],
          "returns": "void"
        },
        {
          "name": "getMetadata",
          "returns": "Record<string, unknown>"
        },
        {
          "name": "initialize",
          "async": true,
          "returns": "Promise<this>"
        },
        {
          "name": "isApproved",
          "returns": "boolean"
        },
        {
          "name": "isCompleted",
          "returns": "boolean"
        },
        {
          "name": "isFailed",
          "returns": "boolean"
        },
        {
          "name": "isPending",
          "returns": "boolean"
        },
        {
          "name": "isProcessing",
          "returns": "boolean"
        },
        {
          "name": "isRejected",
          "returns": "boolean"
        },
        {
          "name": "markProcessing",
          "returns": "void"
        },
        {
          "name": "reject",
          "params": [
            "reason: string"
          ],
          "returns": "void"
        },
        {
          "name": "resetFromFailed",
          "returns": "void"
        },
        {
          "name": "save",
          "async": true,
          "returns": "Promise<this>"
        },
        {
          "name": "setMetadata",
          "params": [
            "data: Record<string, unknown>"
          ],
          "returns": "void"
        },
        {
          "name": "validateTotals",
          "returns": "void"
        }
      ],
      "tenant": {
        "scoped": true,
        "mode": "optional",
        "field": "tenantId"
      },
      "conflictColumns": [
        "idempotency_key"
      ],
      "surfaces": [
        {
          "kind": "api",
          "name": "commissionpayouts.list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:CommissionPayout",
          "path": "/commissionpayouts",
          "method": "GET"
        },
        {
          "kind": "api",
          "name": "commissionpayouts.get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:CommissionPayout",
          "path": "/commissionpayouts/[id]",
          "method": "GET"
        },
        {
          "kind": "cli",
          "name": "commissionpayout_list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:CommissionPayout"
        },
        {
          "kind": "cli",
          "name": "commissionpayout_get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:CommissionPayout"
        },
        {
          "kind": "mcp",
          "name": "commissionpayout_list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:CommissionPayout"
        },
        {
          "kind": "mcp",
          "name": "commissionpayout_get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:CommissionPayout"
        }
      ],
      "withheldSurfaces": [
        {
          "kind": "api",
          "operation": "approve",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:CommissionPayout"
        },
        {
          "kind": "api",
          "operation": "complete",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:CommissionPayout"
        },
        {
          "kind": "api",
          "operation": "fail",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:CommissionPayout"
        },
        {
          "kind": "api",
          "operation": "getMetadata",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:CommissionPayout"
        },
        {
          "kind": "api",
          "operation": "initialize",
          "code": "lifecycle-method",
          "reason": "`initialize` is a framework lifecycle method, not a distinct operation",
          "objectName": "@happyvertical/smrt-sales:CommissionPayout"
        },
        {
          "kind": "api",
          "operation": "isApproved",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:CommissionPayout"
        },
        {
          "kind": "api",
          "operation": "isCompleted",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:CommissionPayout"
        },
        {
          "kind": "api",
          "operation": "isFailed",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:CommissionPayout"
        },
        {
          "kind": "api",
          "operation": "isPending",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:CommissionPayout"
        },
        {
          "kind": "api",
          "operation": "isProcessing",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:CommissionPayout"
        },
        {
          "kind": "api",
          "operation": "isRejected",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:CommissionPayout"
        },
        {
          "kind": "api",
          "operation": "markProcessing",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:CommissionPayout"
        },
        {
          "kind": "api",
          "operation": "reject",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:CommissionPayout"
        },
        {
          "kind": "api",
          "operation": "resetFromFailed",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:CommissionPayout"
        },
        {
          "kind": "api",
          "operation": "save",
          "code": "lifecycle-method",
          "reason": "`save` is a framework lifecycle method, not a distinct operation",
          "objectName": "@happyvertical/smrt-sales:CommissionPayout"
        },
        {
          "kind": "api",
          "operation": "setMetadata",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:CommissionPayout"
        },
        {
          "kind": "api",
          "operation": "validateTotals",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:CommissionPayout"
        }
      ],
      "relationshipFeatures": [
        "crossPackageRef",
        "foreignKey",
        "uuidColumns"
      ],
      "tags": [],
      "risks": []
    },
    {
      "name": "CommissionPlan",
      "qualifiedName": "@happyvertical/smrt-sales:CommissionPlan",
      "collection": "commissionplans",
      "tableName": "commission_plans",
      "packageName": "@happyvertical/smrt-sales",
      "extends": "SmrtObject",
      "fields": [
        {
          "name": "tenantId",
          "type": "text",
          "required": false,
          "columnType": "UUID"
        },
        {
          "name": "planKey",
          "type": "text",
          "required": true,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "version",
          "type": "integer",
          "required": false,
          "columnType": "INTEGER",
          "default": 1
        },
        {
          "name": "name",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "description",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "status",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "draft"
        },
        {
          "name": "effectiveFrom",
          "type": "datetime",
          "required": false,
          "columnType": "TIMESTAMP"
        },
        {
          "name": "currency",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "USD"
        },
        {
          "name": "components",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "[]"
        },
        {
          "name": "metadata",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "{}"
        }
      ],
      "relationships": [],
      "methods": [
        "activate",
        "getComponents",
        "getMetadata",
        "initialize",
        "isActive",
        "isDraft",
        "retire",
        "save",
        "setComponents",
        "setMetadata",
        "supersede"
      ],
      "methodSignatures": [
        {
          "name": "activate",
          "returns": "void"
        },
        {
          "name": "getComponents",
          "returns": "CommissionPlanComponent[]"
        },
        {
          "name": "getMetadata",
          "returns": "Record<string, unknown>"
        },
        {
          "name": "initialize",
          "async": true,
          "returns": "Promise<this>"
        },
        {
          "name": "isActive",
          "returns": "boolean"
        },
        {
          "name": "isDraft",
          "returns": "boolean"
        },
        {
          "name": "retire",
          "returns": "void"
        },
        {
          "name": "save",
          "async": true,
          "returns": "Promise<this>"
        },
        {
          "name": "setComponents",
          "params": [
            "components: CommissionPlanComponent[]"
          ],
          "returns": "void"
        },
        {
          "name": "setMetadata",
          "params": [
            "data: Record<string, unknown>"
          ],
          "returns": "void"
        },
        {
          "name": "supersede",
          "returns": "void"
        }
      ],
      "tenant": {
        "scoped": true,
        "mode": "optional",
        "field": "tenantId"
      },
      "conflictColumns": [
        "tenant_id",
        "plan_key",
        "version"
      ],
      "surfaces": [
        {
          "kind": "api",
          "name": "commissionplans.list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:CommissionPlan",
          "path": "/commissionplans",
          "method": "GET"
        },
        {
          "kind": "api",
          "name": "commissionplans.get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:CommissionPlan",
          "path": "/commissionplans/[id]",
          "method": "GET"
        },
        {
          "kind": "api",
          "name": "commissionplans.create",
          "operation": "create",
          "objectName": "@happyvertical/smrt-sales:CommissionPlan",
          "path": "/commissionplans",
          "method": "POST"
        },
        {
          "kind": "cli",
          "name": "commissionplan_list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:CommissionPlan"
        },
        {
          "kind": "cli",
          "name": "commissionplan_get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:CommissionPlan"
        },
        {
          "kind": "cli",
          "name": "commissionplan_create",
          "operation": "create",
          "objectName": "@happyvertical/smrt-sales:CommissionPlan"
        },
        {
          "kind": "cli",
          "name": "commissionplan_update",
          "operation": "update",
          "objectName": "@happyvertical/smrt-sales:CommissionPlan"
        },
        {
          "kind": "cli",
          "name": "commissionplan_delete",
          "operation": "delete",
          "objectName": "@happyvertical/smrt-sales:CommissionPlan"
        },
        {
          "kind": "cli",
          "name": "commissionplan_isDraft",
          "operation": "isDraft",
          "objectName": "@happyvertical/smrt-sales:CommissionPlan"
        },
        {
          "kind": "cli",
          "name": "commissionplan_isActive",
          "operation": "isActive",
          "objectName": "@happyvertical/smrt-sales:CommissionPlan"
        },
        {
          "kind": "cli",
          "name": "commissionplan_getComponents",
          "operation": "getComponents",
          "objectName": "@happyvertical/smrt-sales:CommissionPlan"
        },
        {
          "kind": "cli",
          "name": "commissionplan_setComponents",
          "operation": "setComponents",
          "objectName": "@happyvertical/smrt-sales:CommissionPlan"
        },
        {
          "kind": "cli",
          "name": "commissionplan_getMetadata",
          "operation": "getMetadata",
          "objectName": "@happyvertical/smrt-sales:CommissionPlan"
        },
        {
          "kind": "cli",
          "name": "commissionplan_setMetadata",
          "operation": "setMetadata",
          "objectName": "@happyvertical/smrt-sales:CommissionPlan"
        },
        {
          "kind": "cli",
          "name": "commissionplan_activate",
          "operation": "activate",
          "objectName": "@happyvertical/smrt-sales:CommissionPlan"
        },
        {
          "kind": "cli",
          "name": "commissionplan_supersede",
          "operation": "supersede",
          "objectName": "@happyvertical/smrt-sales:CommissionPlan"
        },
        {
          "kind": "cli",
          "name": "commissionplan_retire",
          "operation": "retire",
          "objectName": "@happyvertical/smrt-sales:CommissionPlan"
        },
        {
          "kind": "mcp",
          "name": "commissionplan_list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:CommissionPlan"
        },
        {
          "kind": "mcp",
          "name": "commissionplan_get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:CommissionPlan"
        }
      ],
      "withheldSurfaces": [
        {
          "kind": "api",
          "operation": "activate",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:CommissionPlan"
        },
        {
          "kind": "api",
          "operation": "getComponents",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:CommissionPlan"
        },
        {
          "kind": "api",
          "operation": "getMetadata",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:CommissionPlan"
        },
        {
          "kind": "api",
          "operation": "initialize",
          "code": "lifecycle-method",
          "reason": "`initialize` is a framework lifecycle method, not a distinct operation",
          "objectName": "@happyvertical/smrt-sales:CommissionPlan"
        },
        {
          "kind": "api",
          "operation": "isActive",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:CommissionPlan"
        },
        {
          "kind": "api",
          "operation": "isDraft",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:CommissionPlan"
        },
        {
          "kind": "api",
          "operation": "retire",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:CommissionPlan"
        },
        {
          "kind": "api",
          "operation": "save",
          "code": "lifecycle-method",
          "reason": "`save` is a framework lifecycle method, not a distinct operation",
          "objectName": "@happyvertical/smrt-sales:CommissionPlan"
        },
        {
          "kind": "api",
          "operation": "setComponents",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:CommissionPlan"
        },
        {
          "kind": "api",
          "operation": "setMetadata",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:CommissionPlan"
        },
        {
          "kind": "api",
          "operation": "supersede",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:CommissionPlan"
        }
      ],
      "relationshipFeatures": [
        "uuidColumns"
      ],
      "tags": [],
      "risks": []
    },
    {
      "name": "Earner",
      "qualifiedName": "@happyvertical/smrt-sales:Earner",
      "collection": "earners",
      "tableName": "earners",
      "packageName": "@happyvertical/smrt-sales",
      "extends": "SmrtObject",
      "fields": [
        {
          "name": "tenantId",
          "type": "text",
          "required": false,
          "columnType": "UUID"
        },
        {
          "name": "profileId",
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-profiles:Profile",
          "columnType": "UUID"
        },
        {
          "name": "displayName",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "status",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "pending"
        },
        {
          "name": "payoutMethod",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "bank_transfer"
        },
        {
          "name": "payoutThresholdCents",
          "type": "integer",
          "required": false,
          "columnType": "INTEGER",
          "default": 5000
        },
        {
          "name": "payoutScheduleKey",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "manual"
        },
        {
          "name": "currency",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "USD"
        },
        {
          "name": "metadata",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "{}"
        }
      ],
      "relationships": [
        {
          "name": "profileId",
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-profiles:Profile",
          "columnType": "UUID"
        }
      ],
      "methods": [
        "getMetadata",
        "isActive",
        "isPending",
        "isSuspended",
        "setMetadata"
      ],
      "methodSignatures": [
        {
          "name": "getMetadata",
          "returns": "Record<string, unknown>"
        },
        {
          "name": "isActive",
          "returns": "boolean"
        },
        {
          "name": "isPending",
          "returns": "boolean"
        },
        {
          "name": "isSuspended",
          "returns": "boolean"
        },
        {
          "name": "setMetadata",
          "params": [
            "data: Record<string, unknown>"
          ],
          "returns": "void"
        }
      ],
      "tenant": {
        "scoped": true,
        "mode": "optional",
        "field": "tenantId"
      },
      "conflictColumns": [
        "tenant_id",
        "slug",
        "context"
      ],
      "surfaces": [
        {
          "kind": "api",
          "name": "earners.list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:Earner",
          "path": "/earners",
          "method": "GET"
        },
        {
          "kind": "api",
          "name": "earners.get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:Earner",
          "path": "/earners/[id]",
          "method": "GET"
        },
        {
          "kind": "api",
          "name": "earners.create",
          "operation": "create",
          "objectName": "@happyvertical/smrt-sales:Earner",
          "path": "/earners",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "earners.update",
          "operation": "update",
          "objectName": "@happyvertical/smrt-sales:Earner",
          "path": "/earners/[id]",
          "method": "PATCH"
        },
        {
          "kind": "cli",
          "name": "earner_list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:Earner"
        },
        {
          "kind": "cli",
          "name": "earner_get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:Earner"
        },
        {
          "kind": "cli",
          "name": "earner_create",
          "operation": "create",
          "objectName": "@happyvertical/smrt-sales:Earner"
        },
        {
          "kind": "cli",
          "name": "earner_update",
          "operation": "update",
          "objectName": "@happyvertical/smrt-sales:Earner"
        },
        {
          "kind": "cli",
          "name": "earner_delete",
          "operation": "delete",
          "objectName": "@happyvertical/smrt-sales:Earner"
        },
        {
          "kind": "cli",
          "name": "earner_isActive",
          "operation": "isActive",
          "objectName": "@happyvertical/smrt-sales:Earner"
        },
        {
          "kind": "cli",
          "name": "earner_isPending",
          "operation": "isPending",
          "objectName": "@happyvertical/smrt-sales:Earner"
        },
        {
          "kind": "cli",
          "name": "earner_isSuspended",
          "operation": "isSuspended",
          "objectName": "@happyvertical/smrt-sales:Earner"
        },
        {
          "kind": "cli",
          "name": "earner_getMetadata",
          "operation": "getMetadata",
          "objectName": "@happyvertical/smrt-sales:Earner"
        },
        {
          "kind": "cli",
          "name": "earner_setMetadata",
          "operation": "setMetadata",
          "objectName": "@happyvertical/smrt-sales:Earner"
        },
        {
          "kind": "mcp",
          "name": "earner_list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:Earner"
        },
        {
          "kind": "mcp",
          "name": "earner_get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:Earner"
        },
        {
          "kind": "mcp",
          "name": "earner_create",
          "operation": "create",
          "objectName": "@happyvertical/smrt-sales:Earner"
        }
      ],
      "withheldSurfaces": [
        {
          "kind": "api",
          "operation": "getMetadata",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:Earner"
        },
        {
          "kind": "api",
          "operation": "isActive",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:Earner"
        },
        {
          "kind": "api",
          "operation": "isPending",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:Earner"
        },
        {
          "kind": "api",
          "operation": "isSuspended",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:Earner"
        },
        {
          "kind": "api",
          "operation": "setMetadata",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:Earner"
        }
      ],
      "relationshipFeatures": [
        "crossPackageRef",
        "uuidColumns"
      ],
      "tags": [],
      "risks": []
    },
    {
      "name": "EarnerSourceAttribution",
      "qualifiedName": "@happyvertical/smrt-sales:EarnerSourceAttribution",
      "collection": "earnersourceattributions",
      "tableName": "earner_source_attributions",
      "packageName": "@happyvertical/smrt-sales",
      "extends": "SmrtObject",
      "fields": [
        {
          "name": "tenantId",
          "type": "text",
          "required": false,
          "columnType": "UUID"
        },
        {
          "name": "earnerId",
          "type": "foreignKey",
          "required": true,
          "related": "Earner",
          "columnType": "UUID"
        },
        {
          "name": "sourceKind",
          "type": "text",
          "required": true,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "sourceId",
          "type": "text",
          "required": true,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "status",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "active"
        },
        {
          "name": "metadata",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "{}"
        }
      ],
      "relationships": [
        {
          "name": "earnerId",
          "type": "foreignKey",
          "required": true,
          "related": "Earner",
          "columnType": "UUID"
        }
      ],
      "methods": [
        "getMetadata",
        "isActive",
        "save",
        "setMetadata"
      ],
      "methodSignatures": [
        {
          "name": "getMetadata",
          "returns": "Record<string, unknown>"
        },
        {
          "name": "isActive",
          "returns": "boolean"
        },
        {
          "name": "save",
          "async": true,
          "returns": "Promise<this>"
        },
        {
          "name": "setMetadata",
          "params": [
            "data: Record<string, unknown>"
          ],
          "returns": "void"
        }
      ],
      "tenant": {
        "scoped": true,
        "mode": "optional",
        "field": "tenantId"
      },
      "conflictColumns": [
        "tenant_id",
        "source_kind",
        "source_id"
      ],
      "surfaces": [
        {
          "kind": "api",
          "name": "earnersourceattributions.list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:EarnerSourceAttribution",
          "path": "/earnersourceattributions",
          "method": "GET"
        },
        {
          "kind": "api",
          "name": "earnersourceattributions.get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:EarnerSourceAttribution",
          "path": "/earnersourceattributions/[id]",
          "method": "GET"
        },
        {
          "kind": "api",
          "name": "earnersourceattributions.create",
          "operation": "create",
          "objectName": "@happyvertical/smrt-sales:EarnerSourceAttribution",
          "path": "/earnersourceattributions",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "earnersourceattributions.update",
          "operation": "update",
          "objectName": "@happyvertical/smrt-sales:EarnerSourceAttribution",
          "path": "/earnersourceattributions/[id]",
          "method": "PATCH"
        },
        {
          "kind": "cli",
          "name": "earnersourceattribution_list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:EarnerSourceAttribution"
        },
        {
          "kind": "cli",
          "name": "earnersourceattribution_get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:EarnerSourceAttribution"
        },
        {
          "kind": "cli",
          "name": "earnersourceattribution_create",
          "operation": "create",
          "objectName": "@happyvertical/smrt-sales:EarnerSourceAttribution"
        },
        {
          "kind": "cli",
          "name": "earnersourceattribution_update",
          "operation": "update",
          "objectName": "@happyvertical/smrt-sales:EarnerSourceAttribution"
        },
        {
          "kind": "mcp",
          "name": "earnersourceattribution_list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:EarnerSourceAttribution"
        },
        {
          "kind": "mcp",
          "name": "earnersourceattribution_get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:EarnerSourceAttribution"
        },
        {
          "kind": "mcp",
          "name": "earnersourceattribution_create",
          "operation": "create",
          "objectName": "@happyvertical/smrt-sales:EarnerSourceAttribution"
        }
      ],
      "withheldSurfaces": [
        {
          "kind": "api",
          "operation": "getMetadata",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:EarnerSourceAttribution"
        },
        {
          "kind": "api",
          "operation": "isActive",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:EarnerSourceAttribution"
        },
        {
          "kind": "api",
          "operation": "save",
          "code": "lifecycle-method",
          "reason": "`save` is a framework lifecycle method, not a distinct operation",
          "objectName": "@happyvertical/smrt-sales:EarnerSourceAttribution"
        },
        {
          "kind": "api",
          "operation": "setMetadata",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:EarnerSourceAttribution"
        }
      ],
      "relationshipFeatures": [
        "foreignKey",
        "uuidColumns"
      ],
      "tags": [],
      "risks": []
    },
    {
      "name": "EarningEvent",
      "qualifiedName": "@happyvertical/smrt-sales:EarningEvent",
      "collection": "earningevents",
      "tableName": "earning_events",
      "packageName": "@happyvertical/smrt-sales",
      "extends": "SmrtObject",
      "fields": [
        {
          "name": "tenantId",
          "type": "text",
          "required": false,
          "columnType": "UUID"
        },
        {
          "name": "eventKind",
          "type": "text",
          "required": true,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "occurredAt",
          "type": "datetime",
          "required": false,
          "columnType": "TIMESTAMP"
        },
        {
          "name": "sourceKind",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "sourceId",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "grossAmountCents",
          "type": "integer",
          "required": false,
          "columnType": "INTEGER",
          "default": 0
        },
        {
          "name": "netAmountCents",
          "type": "integer",
          "required": false,
          "columnType": "INTEGER"
        },
        {
          "name": "marginCents",
          "type": "integer",
          "required": false,
          "columnType": "INTEGER"
        },
        {
          "name": "currency",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "USD"
        },
        {
          "name": "customBases",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "{}"
        },
        {
          "name": "dedupeKey",
          "type": "text",
          "required": true,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "metadata",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "{}"
        }
      ],
      "relationships": [],
      "methods": [
        "getCustomBases",
        "getMetadata",
        "initialize",
        "save",
        "setCustomBases",
        "setMetadata"
      ],
      "methodSignatures": [
        {
          "name": "getCustomBases",
          "returns": "Record<string, number>"
        },
        {
          "name": "getMetadata",
          "returns": "Record<string, unknown>"
        },
        {
          "name": "initialize",
          "async": true,
          "returns": "Promise<this>"
        },
        {
          "name": "save",
          "async": true,
          "returns": "Promise<this>"
        },
        {
          "name": "setCustomBases",
          "params": [
            "bases: Record<string, number>"
          ],
          "returns": "void"
        },
        {
          "name": "setMetadata",
          "params": [
            "data: Record<string, unknown>"
          ],
          "returns": "void"
        }
      ],
      "tenant": {
        "scoped": true,
        "mode": "optional",
        "field": "tenantId"
      },
      "conflictColumns": [
        "dedupe_key"
      ],
      "surfaces": [
        {
          "kind": "api",
          "name": "earningevents.list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:EarningEvent",
          "path": "/earningevents",
          "method": "GET"
        },
        {
          "kind": "api",
          "name": "earningevents.get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:EarningEvent",
          "path": "/earningevents/[id]",
          "method": "GET"
        },
        {
          "kind": "api",
          "name": "earningevents.create",
          "operation": "create",
          "objectName": "@happyvertical/smrt-sales:EarningEvent",
          "path": "/earningevents",
          "method": "POST"
        },
        {
          "kind": "mcp",
          "name": "earningevent_list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:EarningEvent"
        },
        {
          "kind": "mcp",
          "name": "earningevent_create",
          "operation": "create",
          "objectName": "@happyvertical/smrt-sales:EarningEvent"
        }
      ],
      "withheldSurfaces": [
        {
          "kind": "api",
          "operation": "getCustomBases",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:EarningEvent"
        },
        {
          "kind": "api",
          "operation": "getMetadata",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:EarningEvent"
        },
        {
          "kind": "api",
          "operation": "initialize",
          "code": "lifecycle-method",
          "reason": "`initialize` is a framework lifecycle method, not a distinct operation",
          "objectName": "@happyvertical/smrt-sales:EarningEvent"
        },
        {
          "kind": "api",
          "operation": "save",
          "code": "lifecycle-method",
          "reason": "`save` is a framework lifecycle method, not a distinct operation",
          "objectName": "@happyvertical/smrt-sales:EarningEvent"
        },
        {
          "kind": "api",
          "operation": "setCustomBases",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:EarningEvent"
        },
        {
          "kind": "api",
          "operation": "setMetadata",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:EarningEvent"
        }
      ],
      "relationshipFeatures": [
        "uuidColumns"
      ],
      "tags": [],
      "risks": []
    },
    {
      "name": "LeadCollection",
      "qualifiedName": "@happyvertical/smrt-sales:LeadCollection",
      "collection": "leads",
      "tableName": "leads",
      "packageName": "@happyvertical/smrt-sales",
      "extends": "SmrtCollection",
      "fields": [],
      "relationships": [],
      "methods": [
        "activitiesIncludingMerged",
        "findByOwner",
        "findByStatus",
        "mergeLeads",
        "qualify"
      ],
      "methodSignatures": [
        {
          "name": "activitiesIncludingMerged",
          "async": true,
          "params": [
            "leadId: string"
          ],
          "returns": "Promise<SalesActivity[]>"
        },
        {
          "name": "findByOwner",
          "async": true,
          "params": [
            "ownerRepId: string"
          ],
          "returns": "Promise<Lead[]>"
        },
        {
          "name": "findByStatus",
          "async": true,
          "params": [
            "status: LeadStatus"
          ],
          "returns": "Promise<Lead[]>"
        },
        {
          "name": "mergeLeads",
          "async": true,
          "params": [
            "params: MergeLeadsParams"
          ],
          "returns": "Promise<MergeLeadsResult>"
        },
        {
          "name": "qualify",
          "async": true,
          "params": [
            "params: QualifyLeadParams"
          ],
          "returns": "Promise<Opportunity>"
        }
      ],
      "surfaces": [
        {
          "kind": "api",
          "name": "leads.findByStatus",
          "operation": "findByStatus",
          "objectName": "@happyvertical/smrt-sales:LeadCollection",
          "path": "/leads/findByStatus",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "leads.findByOwner",
          "operation": "findByOwner",
          "objectName": "@happyvertical/smrt-sales:LeadCollection",
          "path": "/leads/findByOwner",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "leads.qualify",
          "operation": "qualify",
          "objectName": "@happyvertical/smrt-sales:LeadCollection",
          "path": "/leads/qualify",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "leads.mergeLeads",
          "operation": "mergeLeads",
          "objectName": "@happyvertical/smrt-sales:LeadCollection",
          "path": "/leads/mergeLeads",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "leads.activitiesIncludingMerged",
          "operation": "activitiesIncludingMerged",
          "objectName": "@happyvertical/smrt-sales:LeadCollection",
          "path": "/leads/activitiesIncludingMerged",
          "method": "POST"
        },
        {
          "kind": "cli",
          "name": "leadcollection_findByStatus",
          "operation": "findByStatus",
          "objectName": "@happyvertical/smrt-sales:LeadCollection"
        },
        {
          "kind": "cli",
          "name": "leadcollection_findByOwner",
          "operation": "findByOwner",
          "objectName": "@happyvertical/smrt-sales:LeadCollection"
        },
        {
          "kind": "cli",
          "name": "leadcollection_qualify",
          "operation": "qualify",
          "objectName": "@happyvertical/smrt-sales:LeadCollection"
        },
        {
          "kind": "cli",
          "name": "leadcollection_mergeLeads",
          "operation": "mergeLeads",
          "objectName": "@happyvertical/smrt-sales:LeadCollection"
        },
        {
          "kind": "cli",
          "name": "leadcollection_activitiesIncludingMerged",
          "operation": "activitiesIncludingMerged",
          "objectName": "@happyvertical/smrt-sales:LeadCollection"
        },
        {
          "kind": "mcp",
          "name": "leadcollection_findbystatus",
          "operation": "findByStatus",
          "objectName": "@happyvertical/smrt-sales:LeadCollection"
        },
        {
          "kind": "mcp",
          "name": "leadcollection_findbyowner",
          "operation": "findByOwner",
          "objectName": "@happyvertical/smrt-sales:LeadCollection"
        },
        {
          "kind": "mcp",
          "name": "leadcollection_qualify",
          "operation": "qualify",
          "objectName": "@happyvertical/smrt-sales:LeadCollection"
        },
        {
          "kind": "mcp",
          "name": "leadcollection_mergeleads",
          "operation": "mergeLeads",
          "objectName": "@happyvertical/smrt-sales:LeadCollection"
        },
        {
          "kind": "mcp",
          "name": "leadcollection_activitiesincludingmerged",
          "operation": "activitiesIncludingMerged",
          "objectName": "@happyvertical/smrt-sales:LeadCollection"
        }
      ],
      "relationshipFeatures": [
        "uuidColumns"
      ],
      "tags": [],
      "risks": []
    },
    {
      "name": "OpportunityCollection",
      "qualifiedName": "@happyvertical/smrt-sales:OpportunityCollection",
      "collection": "opportunities",
      "tableName": "opportunities",
      "packageName": "@happyvertical/smrt-sales",
      "extends": "SmrtCollection",
      "fields": [],
      "relationships": [],
      "methods": [
        "findByLead",
        "findOpen",
        "moveToStage"
      ],
      "methodSignatures": [
        {
          "name": "findByLead",
          "async": true,
          "params": [
            "leadId: string"
          ],
          "returns": "Promise<Opportunity[]>"
        },
        {
          "name": "findOpen",
          "async": true,
          "params": [
            "pipelineId?: string"
          ],
          "returns": "Promise<Opportunity[]>"
        },
        {
          "name": "moveToStage",
          "async": true,
          "params": [
            "params: MoveToStageParams"
          ],
          "returns": "Promise<Opportunity>"
        }
      ],
      "surfaces": [
        {
          "kind": "api",
          "name": "opportunities.findByLead",
          "operation": "findByLead",
          "objectName": "@happyvertical/smrt-sales:OpportunityCollection",
          "path": "/opportunities/findByLead",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "opportunities.findOpen",
          "operation": "findOpen",
          "objectName": "@happyvertical/smrt-sales:OpportunityCollection",
          "path": "/opportunities/findOpen",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "opportunities.moveToStage",
          "operation": "moveToStage",
          "objectName": "@happyvertical/smrt-sales:OpportunityCollection",
          "path": "/opportunities/moveToStage",
          "method": "POST"
        },
        {
          "kind": "cli",
          "name": "opportunitycollection_findByLead",
          "operation": "findByLead",
          "objectName": "@happyvertical/smrt-sales:OpportunityCollection"
        },
        {
          "kind": "cli",
          "name": "opportunitycollection_findOpen",
          "operation": "findOpen",
          "objectName": "@happyvertical/smrt-sales:OpportunityCollection"
        },
        {
          "kind": "cli",
          "name": "opportunitycollection_moveToStage",
          "operation": "moveToStage",
          "objectName": "@happyvertical/smrt-sales:OpportunityCollection"
        },
        {
          "kind": "mcp",
          "name": "opportunitycollection_findbylead",
          "operation": "findByLead",
          "objectName": "@happyvertical/smrt-sales:OpportunityCollection"
        },
        {
          "kind": "mcp",
          "name": "opportunitycollection_findopen",
          "operation": "findOpen",
          "objectName": "@happyvertical/smrt-sales:OpportunityCollection"
        },
        {
          "kind": "mcp",
          "name": "opportunitycollection_movetostage",
          "operation": "moveToStage",
          "objectName": "@happyvertical/smrt-sales:OpportunityCollection"
        }
      ],
      "relationshipFeatures": [
        "uuidColumns"
      ],
      "tags": [],
      "risks": []
    },
    {
      "name": "OpportunityConversionCollection",
      "qualifiedName": "@happyvertical/smrt-sales:OpportunityConversionCollection",
      "collection": "opportunityconversions",
      "tableName": "opportunity_conversions",
      "packageName": "@happyvertical/smrt-sales",
      "extends": "SmrtCollection",
      "fields": [],
      "relationships": [],
      "methods": [
        "findByOpportunity",
        "recordConversion"
      ],
      "methodSignatures": [
        {
          "name": "findByOpportunity",
          "async": true,
          "params": [
            "opportunityId: string"
          ],
          "returns": "Promise<OpportunityConversion[]>"
        },
        {
          "name": "recordConversion",
          "async": true,
          "params": [
            "params: RecordConversionParams"
          ],
          "returns": "Promise<RecordConversionResult>"
        }
      ],
      "surfaces": [
        {
          "kind": "api",
          "name": "opportunityconversions.findByOpportunity",
          "operation": "findByOpportunity",
          "objectName": "@happyvertical/smrt-sales:OpportunityConversionCollection",
          "path": "/opportunityconversions/findByOpportunity",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "opportunityconversions.recordConversion",
          "operation": "recordConversion",
          "objectName": "@happyvertical/smrt-sales:OpportunityConversionCollection",
          "path": "/opportunityconversions/recordConversion",
          "method": "POST"
        },
        {
          "kind": "mcp",
          "name": "opportunityconversioncollection_findbyopportunity",
          "operation": "findByOpportunity",
          "objectName": "@happyvertical/smrt-sales:OpportunityConversionCollection"
        },
        {
          "kind": "mcp",
          "name": "opportunityconversioncollection_recordconversion",
          "operation": "recordConversion",
          "objectName": "@happyvertical/smrt-sales:OpportunityConversionCollection"
        }
      ],
      "relationshipFeatures": [
        "uuidColumns"
      ],
      "tags": [],
      "risks": []
    },
    {
      "name": "PipelineDefinitionCollection",
      "qualifiedName": "@happyvertical/smrt-sales:PipelineDefinitionCollection",
      "collection": "pipelinedefinitions",
      "tableName": "pipeline_definitions",
      "packageName": "@happyvertical/smrt-sales",
      "extends": "SmrtCollection",
      "fields": [],
      "relationships": [],
      "methods": [
        "ensureDefaultPipeline",
        "findByKey",
        "findDefault",
        "getStages"
      ],
      "methodSignatures": [
        {
          "name": "ensureDefaultPipeline",
          "async": true,
          "params": [
            "params?: EnsureDefaultPipelineParams"
          ],
          "returns": "Promise<EnsureDefaultPipelineResult>"
        },
        {
          "name": "findByKey",
          "async": true,
          "params": [
            "key: string"
          ],
          "returns": "Promise<PipelineDefinition | null>"
        },
        {
          "name": "findDefault",
          "async": true,
          "returns": "Promise<PipelineDefinition | null>"
        },
        {
          "name": "getStages",
          "async": true,
          "params": [
            "pipelineId: string"
          ],
          "returns": "Promise<PipelineStage[]>"
        }
      ],
      "surfaces": [
        {
          "kind": "api",
          "name": "pipelinedefinitions.findByKey",
          "operation": "findByKey",
          "objectName": "@happyvertical/smrt-sales:PipelineDefinitionCollection",
          "path": "/pipelinedefinitions/findByKey",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "pipelinedefinitions.findDefault",
          "operation": "findDefault",
          "objectName": "@happyvertical/smrt-sales:PipelineDefinitionCollection",
          "path": "/pipelinedefinitions/findDefault",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "pipelinedefinitions.getStages",
          "operation": "getStages",
          "objectName": "@happyvertical/smrt-sales:PipelineDefinitionCollection",
          "path": "/pipelinedefinitions/getStages",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "pipelinedefinitions.ensureDefaultPipeline",
          "operation": "ensureDefaultPipeline",
          "objectName": "@happyvertical/smrt-sales:PipelineDefinitionCollection",
          "path": "/pipelinedefinitions/ensureDefaultPipeline",
          "method": "POST"
        },
        {
          "kind": "cli",
          "name": "pipelinedefinitioncollection_findByKey",
          "operation": "findByKey",
          "objectName": "@happyvertical/smrt-sales:PipelineDefinitionCollection"
        },
        {
          "kind": "cli",
          "name": "pipelinedefinitioncollection_findDefault",
          "operation": "findDefault",
          "objectName": "@happyvertical/smrt-sales:PipelineDefinitionCollection"
        },
        {
          "kind": "cli",
          "name": "pipelinedefinitioncollection_getStages",
          "operation": "getStages",
          "objectName": "@happyvertical/smrt-sales:PipelineDefinitionCollection"
        },
        {
          "kind": "cli",
          "name": "pipelinedefinitioncollection_ensureDefaultPipeline",
          "operation": "ensureDefaultPipeline",
          "objectName": "@happyvertical/smrt-sales:PipelineDefinitionCollection"
        },
        {
          "kind": "mcp",
          "name": "pipelinedefinitioncollection_findbykey",
          "operation": "findByKey",
          "objectName": "@happyvertical/smrt-sales:PipelineDefinitionCollection"
        },
        {
          "kind": "mcp",
          "name": "pipelinedefinitioncollection_finddefault",
          "operation": "findDefault",
          "objectName": "@happyvertical/smrt-sales:PipelineDefinitionCollection"
        },
        {
          "kind": "mcp",
          "name": "pipelinedefinitioncollection_getstages",
          "operation": "getStages",
          "objectName": "@happyvertical/smrt-sales:PipelineDefinitionCollection"
        },
        {
          "kind": "mcp",
          "name": "pipelinedefinitioncollection_ensuredefaultpipeline",
          "operation": "ensureDefaultPipeline",
          "objectName": "@happyvertical/smrt-sales:PipelineDefinitionCollection"
        }
      ],
      "relationshipFeatures": [
        "uuidColumns"
      ],
      "tags": [],
      "risks": []
    },
    {
      "name": "PipelineStageCollection",
      "qualifiedName": "@happyvertical/smrt-sales:PipelineStageCollection",
      "collection": "pipelinestages",
      "tableName": "pipeline_stages",
      "packageName": "@happyvertical/smrt-sales",
      "extends": "SmrtCollection",
      "fields": [],
      "relationships": [],
      "methods": [
        "findByKey",
        "findByPipeline"
      ],
      "methodSignatures": [
        {
          "name": "findByKey",
          "async": true,
          "params": [
            "pipelineId: string",
            "key: string"
          ],
          "returns": "Promise<PipelineStage | null>"
        },
        {
          "name": "findByPipeline",
          "async": true,
          "params": [
            "pipelineId: string"
          ],
          "returns": "Promise<PipelineStage[]>"
        }
      ],
      "surfaces": [
        {
          "kind": "api",
          "name": "pipelinestages.findByPipeline",
          "operation": "findByPipeline",
          "objectName": "@happyvertical/smrt-sales:PipelineStageCollection",
          "path": "/pipelinestages/findByPipeline",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "pipelinestages.findByKey",
          "operation": "findByKey",
          "objectName": "@happyvertical/smrt-sales:PipelineStageCollection",
          "path": "/pipelinestages/findByKey",
          "method": "POST"
        },
        {
          "kind": "mcp",
          "name": "pipelinestagecollection_findbypipeline",
          "operation": "findByPipeline",
          "objectName": "@happyvertical/smrt-sales:PipelineStageCollection"
        },
        {
          "kind": "mcp",
          "name": "pipelinestagecollection_findbykey",
          "operation": "findByKey",
          "objectName": "@happyvertical/smrt-sales:PipelineStageCollection"
        }
      ],
      "relationshipFeatures": [
        "uuidColumns"
      ],
      "tags": [],
      "risks": []
    },
    {
      "name": "SalesActivityCollection",
      "qualifiedName": "@happyvertical/smrt-sales:SalesActivityCollection",
      "collection": "salesactivities",
      "tableName": "sales_activities",
      "packageName": "@happyvertical/smrt-sales",
      "extends": "SmrtCollection",
      "fields": [],
      "relationships": [],
      "methods": [
        "findBySubject",
        "findOpenTasks"
      ],
      "methodSignatures": [
        {
          "name": "findBySubject",
          "async": true,
          "params": [
            "subjectKind: SalesActivitySubjectKind",
            "subjectId: string"
          ],
          "returns": "Promise<SalesActivity[]>"
        },
        {
          "name": "findOpenTasks",
          "async": true,
          "params": [
            "subjectKind: SalesActivitySubjectKind",
            "subjectId: string"
          ],
          "returns": "Promise<SalesActivity[]>"
        }
      ],
      "surfaces": [
        {
          "kind": "api",
          "name": "salesactivities.findBySubject",
          "operation": "findBySubject",
          "objectName": "@happyvertical/smrt-sales:SalesActivityCollection",
          "path": "/salesactivities/findBySubject",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "salesactivities.findOpenTasks",
          "operation": "findOpenTasks",
          "objectName": "@happyvertical/smrt-sales:SalesActivityCollection",
          "path": "/salesactivities/findOpenTasks",
          "method": "POST"
        },
        {
          "kind": "mcp",
          "name": "salesactivitycollection_findbysubject",
          "operation": "findBySubject",
          "objectName": "@happyvertical/smrt-sales:SalesActivityCollection"
        },
        {
          "kind": "mcp",
          "name": "salesactivitycollection_findopentasks",
          "operation": "findOpenTasks",
          "objectName": "@happyvertical/smrt-sales:SalesActivityCollection"
        }
      ],
      "relationshipFeatures": [
        "uuidColumns"
      ],
      "tags": [],
      "risks": []
    },
    {
      "name": "SalesRepresentativeCollection",
      "qualifiedName": "@happyvertical/smrt-sales:SalesRepresentativeCollection",
      "collection": "salesrepresentatives",
      "tableName": "sales_representatives",
      "packageName": "@happyvertical/smrt-sales",
      "extends": "SmrtCollection",
      "fields": [],
      "relationships": [],
      "methods": [
        "findActive",
        "findByProfile"
      ],
      "methodSignatures": [
        {
          "name": "findActive",
          "async": true,
          "returns": "Promise<SalesRepresentative[]>"
        },
        {
          "name": "findByProfile",
          "async": true,
          "params": [
            "profileId: string"
          ],
          "returns": "Promise<SalesRepresentative[]>"
        }
      ],
      "surfaces": [
        {
          "kind": "api",
          "name": "salesrepresentatives.findByProfile",
          "operation": "findByProfile",
          "objectName": "@happyvertical/smrt-sales:SalesRepresentativeCollection",
          "path": "/salesrepresentatives/findByProfile",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "salesrepresentatives.findActive",
          "operation": "findActive",
          "objectName": "@happyvertical/smrt-sales:SalesRepresentativeCollection",
          "path": "/salesrepresentatives/findActive",
          "method": "POST"
        },
        {
          "kind": "cli",
          "name": "salesrepresentativecollection_findByProfile",
          "operation": "findByProfile",
          "objectName": "@happyvertical/smrt-sales:SalesRepresentativeCollection"
        },
        {
          "kind": "cli",
          "name": "salesrepresentativecollection_findActive",
          "operation": "findActive",
          "objectName": "@happyvertical/smrt-sales:SalesRepresentativeCollection"
        },
        {
          "kind": "mcp",
          "name": "salesrepresentativecollection_findbyprofile",
          "operation": "findByProfile",
          "objectName": "@happyvertical/smrt-sales:SalesRepresentativeCollection"
        },
        {
          "kind": "mcp",
          "name": "salesrepresentativecollection_findactive",
          "operation": "findActive",
          "objectName": "@happyvertical/smrt-sales:SalesRepresentativeCollection"
        }
      ],
      "relationshipFeatures": [
        "uuidColumns"
      ],
      "tags": [],
      "risks": []
    },
    {
      "name": "Lead",
      "qualifiedName": "@happyvertical/smrt-sales:Lead",
      "collection": "leads",
      "tableName": "leads",
      "packageName": "@happyvertical/smrt-sales",
      "extends": "SmrtObject",
      "fields": [
        {
          "name": "tenantId",
          "type": "text",
          "required": false,
          "columnType": "UUID"
        },
        {
          "name": "name",
          "type": "text",
          "required": true,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "contactName",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "email",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "phone",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "organizationName",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "profileId",
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-profiles:Profile",
          "columnType": "UUID"
        },
        {
          "name": "ownerRepId",
          "type": "foreignKey",
          "required": false,
          "related": "SalesRepresentative",
          "columnType": "UUID"
        },
        {
          "name": "status",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "new"
        },
        {
          "name": "sourceKind",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "sourceId",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "acquisitionContext",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "{}"
        },
        {
          "name": "intakeRef",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "mergedIntoId",
          "type": "foreignKey",
          "required": false,
          "related": "Lead",
          "columnType": "UUID"
        },
        {
          "name": "qualifiedAt",
          "type": "datetime",
          "required": false,
          "columnType": "TIMESTAMP"
        },
        {
          "name": "metadata",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "{}"
        }
      ],
      "relationships": [
        {
          "name": "profileId",
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-profiles:Profile",
          "columnType": "UUID"
        },
        {
          "name": "ownerRepId",
          "type": "foreignKey",
          "required": false,
          "related": "SalesRepresentative",
          "columnType": "UUID"
        },
        {
          "name": "mergedIntoId",
          "type": "foreignKey",
          "required": false,
          "related": "Lead",
          "columnType": "UUID"
        }
      ],
      "methods": [
        "getAcquisitionContext",
        "getMetadata",
        "initialize",
        "isMerged",
        "isQualified",
        "save",
        "setAcquisitionContext",
        "setMetadata"
      ],
      "methodSignatures": [
        {
          "name": "getAcquisitionContext",
          "returns": "Record<string, unknown>"
        },
        {
          "name": "getMetadata",
          "returns": "Record<string, unknown>"
        },
        {
          "name": "initialize",
          "async": true,
          "returns": "Promise<this>"
        },
        {
          "name": "isMerged",
          "returns": "boolean"
        },
        {
          "name": "isQualified",
          "returns": "boolean"
        },
        {
          "name": "save",
          "async": true,
          "returns": "Promise<this>"
        },
        {
          "name": "setAcquisitionContext",
          "params": [
            "context: Record<string, unknown>"
          ],
          "returns": "void"
        },
        {
          "name": "setMetadata",
          "params": [
            "metadata: Record<string, unknown>"
          ],
          "returns": "void"
        }
      ],
      "tenant": {
        "scoped": true,
        "mode": "optional",
        "field": "tenantId"
      },
      "conflictColumns": [
        "tenant_id",
        "slug",
        "context"
      ],
      "surfaces": [
        {
          "kind": "api",
          "name": "leads.list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:Lead",
          "path": "/leads",
          "method": "GET"
        },
        {
          "kind": "api",
          "name": "leads.get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:Lead",
          "path": "/leads/[id]",
          "method": "GET"
        },
        {
          "kind": "api",
          "name": "leads.create",
          "operation": "create",
          "objectName": "@happyvertical/smrt-sales:Lead",
          "path": "/leads",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "leads.update",
          "operation": "update",
          "objectName": "@happyvertical/smrt-sales:Lead",
          "path": "/leads/[id]",
          "method": "PATCH"
        },
        {
          "kind": "cli",
          "name": "lead_list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:Lead"
        },
        {
          "kind": "cli",
          "name": "lead_get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:Lead"
        },
        {
          "kind": "cli",
          "name": "lead_create",
          "operation": "create",
          "objectName": "@happyvertical/smrt-sales:Lead"
        },
        {
          "kind": "cli",
          "name": "lead_update",
          "operation": "update",
          "objectName": "@happyvertical/smrt-sales:Lead"
        },
        {
          "kind": "cli",
          "name": "lead_delete",
          "operation": "delete",
          "objectName": "@happyvertical/smrt-sales:Lead"
        },
        {
          "kind": "cli",
          "name": "lead_isMerged",
          "operation": "isMerged",
          "objectName": "@happyvertical/smrt-sales:Lead"
        },
        {
          "kind": "cli",
          "name": "lead_isQualified",
          "operation": "isQualified",
          "objectName": "@happyvertical/smrt-sales:Lead"
        },
        {
          "kind": "cli",
          "name": "lead_getAcquisitionContext",
          "operation": "getAcquisitionContext",
          "objectName": "@happyvertical/smrt-sales:Lead"
        },
        {
          "kind": "cli",
          "name": "lead_setAcquisitionContext",
          "operation": "setAcquisitionContext",
          "objectName": "@happyvertical/smrt-sales:Lead"
        },
        {
          "kind": "cli",
          "name": "lead_getMetadata",
          "operation": "getMetadata",
          "objectName": "@happyvertical/smrt-sales:Lead"
        },
        {
          "kind": "cli",
          "name": "lead_setMetadata",
          "operation": "setMetadata",
          "objectName": "@happyvertical/smrt-sales:Lead"
        },
        {
          "kind": "mcp",
          "name": "lead_list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:Lead"
        },
        {
          "kind": "mcp",
          "name": "lead_get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:Lead"
        },
        {
          "kind": "mcp",
          "name": "lead_create",
          "operation": "create",
          "objectName": "@happyvertical/smrt-sales:Lead"
        }
      ],
      "withheldSurfaces": [
        {
          "kind": "api",
          "operation": "getAcquisitionContext",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:Lead"
        },
        {
          "kind": "api",
          "operation": "getMetadata",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:Lead"
        },
        {
          "kind": "api",
          "operation": "initialize",
          "code": "lifecycle-method",
          "reason": "`initialize` is a framework lifecycle method, not a distinct operation",
          "objectName": "@happyvertical/smrt-sales:Lead"
        },
        {
          "kind": "api",
          "operation": "isMerged",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:Lead"
        },
        {
          "kind": "api",
          "operation": "isQualified",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:Lead"
        },
        {
          "kind": "api",
          "operation": "save",
          "code": "lifecycle-method",
          "reason": "`save` is a framework lifecycle method, not a distinct operation",
          "objectName": "@happyvertical/smrt-sales:Lead"
        },
        {
          "kind": "api",
          "operation": "setAcquisitionContext",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:Lead"
        },
        {
          "kind": "api",
          "operation": "setMetadata",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:Lead"
        }
      ],
      "relationshipFeatures": [
        "crossPackageRef",
        "foreignKey",
        "uuidColumns"
      ],
      "tags": [],
      "risks": []
    },
    {
      "name": "Opportunity",
      "qualifiedName": "@happyvertical/smrt-sales:Opportunity",
      "collection": "opportunities",
      "tableName": "opportunities",
      "packageName": "@happyvertical/smrt-sales",
      "extends": "SmrtObject",
      "fields": [
        {
          "name": "tenantId",
          "type": "text",
          "required": false,
          "columnType": "UUID"
        },
        {
          "name": "name",
          "type": "text",
          "required": true,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "leadId",
          "type": "foreignKey",
          "required": false,
          "related": "Lead",
          "columnType": "UUID"
        },
        {
          "name": "ownerRepId",
          "type": "foreignKey",
          "required": false,
          "related": "SalesRepresentative",
          "columnType": "UUID"
        },
        {
          "name": "pipelineId",
          "type": "foreignKey",
          "required": false,
          "related": "PipelineDefinition",
          "columnType": "UUID"
        },
        {
          "name": "stageId",
          "type": "foreignKey",
          "required": false,
          "related": "PipelineStage",
          "columnType": "UUID"
        },
        {
          "name": "expectedValueCents",
          "type": "integer",
          "required": false,
          "columnType": "INTEGER",
          "default": 0
        },
        {
          "name": "currency",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "USD"
        },
        {
          "name": "probability",
          "type": "decimal",
          "required": false,
          "columnType": "REAL",
          "default": 0
        },
        {
          "name": "expectedCloseAt",
          "type": "datetime",
          "required": false,
          "columnType": "TIMESTAMP"
        },
        {
          "name": "status",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "open"
        },
        {
          "name": "outcomeReason",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "wonAt",
          "type": "datetime",
          "required": false,
          "columnType": "TIMESTAMP"
        },
        {
          "name": "lostAt",
          "type": "datetime",
          "required": false,
          "columnType": "TIMESTAMP"
        },
        {
          "name": "sourceKind",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "sourceId",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "metadata",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "{}"
        }
      ],
      "relationships": [
        {
          "name": "leadId",
          "type": "foreignKey",
          "required": false,
          "related": "Lead",
          "columnType": "UUID"
        },
        {
          "name": "ownerRepId",
          "type": "foreignKey",
          "required": false,
          "related": "SalesRepresentative",
          "columnType": "UUID"
        },
        {
          "name": "pipelineId",
          "type": "foreignKey",
          "required": false,
          "related": "PipelineDefinition",
          "columnType": "UUID"
        },
        {
          "name": "stageId",
          "type": "foreignKey",
          "required": false,
          "related": "PipelineStage",
          "columnType": "UUID"
        }
      ],
      "methods": [
        "getMetadata",
        "initialize",
        "isClosed",
        "isOpen",
        "save",
        "setMetadata"
      ],
      "methodSignatures": [
        {
          "name": "getMetadata",
          "returns": "Record<string, unknown>"
        },
        {
          "name": "initialize",
          "async": true,
          "returns": "Promise<this>"
        },
        {
          "name": "isClosed",
          "returns": "boolean"
        },
        {
          "name": "isOpen",
          "returns": "boolean"
        },
        {
          "name": "save",
          "async": true,
          "returns": "Promise<this>"
        },
        {
          "name": "setMetadata",
          "params": [
            "metadata: Record<string, unknown>"
          ],
          "returns": "void"
        }
      ],
      "tenant": {
        "scoped": true,
        "mode": "optional",
        "field": "tenantId"
      },
      "conflictColumns": [
        "tenant_id",
        "slug",
        "context"
      ],
      "surfaces": [
        {
          "kind": "api",
          "name": "opportunities.list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:Opportunity",
          "path": "/opportunities",
          "method": "GET"
        },
        {
          "kind": "api",
          "name": "opportunities.get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:Opportunity",
          "path": "/opportunities/[id]",
          "method": "GET"
        },
        {
          "kind": "api",
          "name": "opportunities.create",
          "operation": "create",
          "objectName": "@happyvertical/smrt-sales:Opportunity",
          "path": "/opportunities",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "opportunities.update",
          "operation": "update",
          "objectName": "@happyvertical/smrt-sales:Opportunity",
          "path": "/opportunities/[id]",
          "method": "PATCH"
        },
        {
          "kind": "cli",
          "name": "opportunity_list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:Opportunity"
        },
        {
          "kind": "cli",
          "name": "opportunity_get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:Opportunity"
        },
        {
          "kind": "cli",
          "name": "opportunity_create",
          "operation": "create",
          "objectName": "@happyvertical/smrt-sales:Opportunity"
        },
        {
          "kind": "cli",
          "name": "opportunity_update",
          "operation": "update",
          "objectName": "@happyvertical/smrt-sales:Opportunity"
        },
        {
          "kind": "cli",
          "name": "opportunity_delete",
          "operation": "delete",
          "objectName": "@happyvertical/smrt-sales:Opportunity"
        },
        {
          "kind": "cli",
          "name": "opportunity_isOpen",
          "operation": "isOpen",
          "objectName": "@happyvertical/smrt-sales:Opportunity"
        },
        {
          "kind": "cli",
          "name": "opportunity_isClosed",
          "operation": "isClosed",
          "objectName": "@happyvertical/smrt-sales:Opportunity"
        },
        {
          "kind": "cli",
          "name": "opportunity_getMetadata",
          "operation": "getMetadata",
          "objectName": "@happyvertical/smrt-sales:Opportunity"
        },
        {
          "kind": "cli",
          "name": "opportunity_setMetadata",
          "operation": "setMetadata",
          "objectName": "@happyvertical/smrt-sales:Opportunity"
        },
        {
          "kind": "mcp",
          "name": "opportunity_list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:Opportunity"
        },
        {
          "kind": "mcp",
          "name": "opportunity_get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:Opportunity"
        }
      ],
      "withheldSurfaces": [
        {
          "kind": "api",
          "operation": "getMetadata",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:Opportunity"
        },
        {
          "kind": "api",
          "operation": "initialize",
          "code": "lifecycle-method",
          "reason": "`initialize` is a framework lifecycle method, not a distinct operation",
          "objectName": "@happyvertical/smrt-sales:Opportunity"
        },
        {
          "kind": "api",
          "operation": "isClosed",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:Opportunity"
        },
        {
          "kind": "api",
          "operation": "isOpen",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:Opportunity"
        },
        {
          "kind": "api",
          "operation": "save",
          "code": "lifecycle-method",
          "reason": "`save` is a framework lifecycle method, not a distinct operation",
          "objectName": "@happyvertical/smrt-sales:Opportunity"
        },
        {
          "kind": "api",
          "operation": "setMetadata",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:Opportunity"
        }
      ],
      "relationshipFeatures": [
        "foreignKey",
        "uuidColumns"
      ],
      "tags": [],
      "risks": []
    },
    {
      "name": "OpportunityConversion",
      "qualifiedName": "@happyvertical/smrt-sales:OpportunityConversion",
      "collection": "opportunityconversions",
      "tableName": "opportunity_conversions",
      "packageName": "@happyvertical/smrt-sales",
      "extends": "SmrtObject",
      "fields": [
        {
          "name": "tenantId",
          "type": "text",
          "required": false,
          "columnType": "UUID"
        },
        {
          "name": "opportunityId",
          "type": "foreignKey",
          "required": true,
          "related": "Opportunity",
          "columnType": "UUID"
        },
        {
          "name": "targetKind",
          "type": "text",
          "required": true,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "targetId",
          "type": "text",
          "required": true,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "note",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "metadata",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "{}"
        }
      ],
      "relationships": [
        {
          "name": "opportunityId",
          "type": "foreignKey",
          "required": true,
          "related": "Opportunity",
          "columnType": "UUID"
        }
      ],
      "methods": [
        "getMetadata",
        "save",
        "setMetadata"
      ],
      "methodSignatures": [
        {
          "name": "getMetadata",
          "returns": "Record<string, unknown>"
        },
        {
          "name": "save",
          "async": true,
          "returns": "Promise<this>"
        },
        {
          "name": "setMetadata",
          "params": [
            "metadata: Record<string, unknown>"
          ],
          "returns": "void"
        }
      ],
      "tenant": {
        "scoped": true,
        "mode": "optional",
        "field": "tenantId"
      },
      "conflictColumns": [
        "opportunity_id",
        "target_kind",
        "target_id"
      ],
      "surfaces": [
        {
          "kind": "api",
          "name": "opportunityconversions.list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:OpportunityConversion",
          "path": "/opportunityconversions",
          "method": "GET"
        },
        {
          "kind": "api",
          "name": "opportunityconversions.get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:OpportunityConversion",
          "path": "/opportunityconversions/[id]",
          "method": "GET"
        },
        {
          "kind": "api",
          "name": "opportunityconversions.create",
          "operation": "create",
          "objectName": "@happyvertical/smrt-sales:OpportunityConversion",
          "path": "/opportunityconversions",
          "method": "POST"
        },
        {
          "kind": "mcp",
          "name": "opportunityconversion_list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:OpportunityConversion"
        },
        {
          "kind": "mcp",
          "name": "opportunityconversion_get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:OpportunityConversion"
        }
      ],
      "withheldSurfaces": [
        {
          "kind": "api",
          "operation": "getMetadata",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:OpportunityConversion"
        },
        {
          "kind": "api",
          "operation": "save",
          "code": "lifecycle-method",
          "reason": "`save` is a framework lifecycle method, not a distinct operation",
          "objectName": "@happyvertical/smrt-sales:OpportunityConversion"
        },
        {
          "kind": "api",
          "operation": "setMetadata",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:OpportunityConversion"
        }
      ],
      "relationshipFeatures": [
        "foreignKey",
        "uuidColumns"
      ],
      "tags": [],
      "risks": []
    },
    {
      "name": "PipelineDefinition",
      "qualifiedName": "@happyvertical/smrt-sales:PipelineDefinition",
      "collection": "pipelinedefinitions",
      "tableName": "pipeline_definitions",
      "packageName": "@happyvertical/smrt-sales",
      "extends": "SmrtObject",
      "fields": [
        {
          "name": "tenantId",
          "type": "text",
          "required": false,
          "columnType": "UUID"
        },
        {
          "name": "key",
          "type": "text",
          "required": true,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "name",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "isDefault",
          "type": "boolean",
          "required": false,
          "columnType": "BOOLEAN",
          "default": false
        },
        {
          "name": "status",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "active"
        },
        {
          "name": "metadata",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "{}"
        }
      ],
      "relationships": [],
      "methods": [
        "getMetadata",
        "isActive",
        "setMetadata"
      ],
      "methodSignatures": [
        {
          "name": "getMetadata",
          "returns": "Record<string, unknown>"
        },
        {
          "name": "isActive",
          "returns": "boolean"
        },
        {
          "name": "setMetadata",
          "params": [
            "metadata: Record<string, unknown>"
          ],
          "returns": "void"
        }
      ],
      "tenant": {
        "scoped": true,
        "mode": "optional",
        "field": "tenantId"
      },
      "conflictColumns": [
        "tenant_id",
        "key"
      ],
      "surfaces": [
        {
          "kind": "api",
          "name": "pipelinedefinitions.list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:PipelineDefinition",
          "path": "/pipelinedefinitions",
          "method": "GET"
        },
        {
          "kind": "api",
          "name": "pipelinedefinitions.get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:PipelineDefinition",
          "path": "/pipelinedefinitions/[id]",
          "method": "GET"
        },
        {
          "kind": "api",
          "name": "pipelinedefinitions.create",
          "operation": "create",
          "objectName": "@happyvertical/smrt-sales:PipelineDefinition",
          "path": "/pipelinedefinitions",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "pipelinedefinitions.update",
          "operation": "update",
          "objectName": "@happyvertical/smrt-sales:PipelineDefinition",
          "path": "/pipelinedefinitions/[id]",
          "method": "PATCH"
        },
        {
          "kind": "cli",
          "name": "pipelinedefinition_list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:PipelineDefinition"
        },
        {
          "kind": "cli",
          "name": "pipelinedefinition_get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:PipelineDefinition"
        },
        {
          "kind": "cli",
          "name": "pipelinedefinition_create",
          "operation": "create",
          "objectName": "@happyvertical/smrt-sales:PipelineDefinition"
        },
        {
          "kind": "cli",
          "name": "pipelinedefinition_update",
          "operation": "update",
          "objectName": "@happyvertical/smrt-sales:PipelineDefinition"
        },
        {
          "kind": "cli",
          "name": "pipelinedefinition_delete",
          "operation": "delete",
          "objectName": "@happyvertical/smrt-sales:PipelineDefinition"
        },
        {
          "kind": "cli",
          "name": "pipelinedefinition_isActive",
          "operation": "isActive",
          "objectName": "@happyvertical/smrt-sales:PipelineDefinition"
        },
        {
          "kind": "cli",
          "name": "pipelinedefinition_getMetadata",
          "operation": "getMetadata",
          "objectName": "@happyvertical/smrt-sales:PipelineDefinition"
        },
        {
          "kind": "cli",
          "name": "pipelinedefinition_setMetadata",
          "operation": "setMetadata",
          "objectName": "@happyvertical/smrt-sales:PipelineDefinition"
        },
        {
          "kind": "mcp",
          "name": "pipelinedefinition_list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:PipelineDefinition"
        },
        {
          "kind": "mcp",
          "name": "pipelinedefinition_get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:PipelineDefinition"
        }
      ],
      "withheldSurfaces": [
        {
          "kind": "api",
          "operation": "getMetadata",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:PipelineDefinition"
        },
        {
          "kind": "api",
          "operation": "isActive",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:PipelineDefinition"
        },
        {
          "kind": "api",
          "operation": "setMetadata",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:PipelineDefinition"
        }
      ],
      "relationshipFeatures": [
        "uuidColumns"
      ],
      "tags": [],
      "risks": []
    },
    {
      "name": "PipelineStage",
      "qualifiedName": "@happyvertical/smrt-sales:PipelineStage",
      "collection": "pipelinestages",
      "tableName": "pipeline_stages",
      "packageName": "@happyvertical/smrt-sales",
      "extends": "SmrtObject",
      "fields": [
        {
          "name": "tenantId",
          "type": "text",
          "required": false,
          "columnType": "UUID"
        },
        {
          "name": "pipelineId",
          "type": "foreignKey",
          "required": true,
          "related": "PipelineDefinition",
          "columnType": "UUID"
        },
        {
          "name": "key",
          "type": "text",
          "required": true,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "name",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "sortOrder",
          "type": "integer",
          "required": false,
          "columnType": "INTEGER",
          "default": 0
        },
        {
          "name": "probability",
          "type": "decimal",
          "required": false,
          "columnType": "REAL",
          "default": 0
        },
        {
          "name": "isWon",
          "type": "boolean",
          "required": false,
          "columnType": "BOOLEAN",
          "default": false
        },
        {
          "name": "isLost",
          "type": "boolean",
          "required": false,
          "columnType": "BOOLEAN",
          "default": false
        },
        {
          "name": "metadata",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "{}"
        }
      ],
      "relationships": [
        {
          "name": "pipelineId",
          "type": "foreignKey",
          "required": true,
          "related": "PipelineDefinition",
          "columnType": "UUID"
        }
      ],
      "methods": [
        "getMetadata",
        "isTerminal",
        "setMetadata"
      ],
      "methodSignatures": [
        {
          "name": "getMetadata",
          "returns": "Record<string, unknown>"
        },
        {
          "name": "isTerminal",
          "returns": "boolean"
        },
        {
          "name": "setMetadata",
          "params": [
            "metadata: Record<string, unknown>"
          ],
          "returns": "void"
        }
      ],
      "tenant": {
        "scoped": true,
        "mode": "optional",
        "field": "tenantId"
      },
      "conflictColumns": [
        "pipeline_id",
        "key"
      ],
      "surfaces": [
        {
          "kind": "api",
          "name": "pipelinestages.list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:PipelineStage",
          "path": "/pipelinestages",
          "method": "GET"
        },
        {
          "kind": "api",
          "name": "pipelinestages.get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:PipelineStage",
          "path": "/pipelinestages/[id]",
          "method": "GET"
        },
        {
          "kind": "api",
          "name": "pipelinestages.create",
          "operation": "create",
          "objectName": "@happyvertical/smrt-sales:PipelineStage",
          "path": "/pipelinestages",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "pipelinestages.update",
          "operation": "update",
          "objectName": "@happyvertical/smrt-sales:PipelineStage",
          "path": "/pipelinestages/[id]",
          "method": "PATCH"
        },
        {
          "kind": "mcp",
          "name": "pipelinestage_list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:PipelineStage"
        },
        {
          "kind": "mcp",
          "name": "pipelinestage_get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:PipelineStage"
        }
      ],
      "withheldSurfaces": [
        {
          "kind": "api",
          "operation": "getMetadata",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:PipelineStage"
        },
        {
          "kind": "api",
          "operation": "isTerminal",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:PipelineStage"
        },
        {
          "kind": "api",
          "operation": "setMetadata",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:PipelineStage"
        }
      ],
      "relationshipFeatures": [
        "foreignKey",
        "uuidColumns"
      ],
      "tags": [],
      "risks": []
    },
    {
      "name": "SalesActivity",
      "qualifiedName": "@happyvertical/smrt-sales:SalesActivity",
      "collection": "salesactivities",
      "tableName": "sales_activities",
      "packageName": "@happyvertical/smrt-sales",
      "extends": "SmrtObject",
      "fields": [
        {
          "name": "tenantId",
          "type": "text",
          "required": false,
          "columnType": "UUID"
        },
        {
          "name": "subjectKind",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "lead"
        },
        {
          "name": "subjectId",
          "type": "text",
          "required": true,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "activityKind",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "note"
        },
        {
          "name": "summary",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "dueAt",
          "type": "datetime",
          "required": false,
          "columnType": "TIMESTAMP"
        },
        {
          "name": "completedAt",
          "type": "datetime",
          "required": false,
          "columnType": "TIMESTAMP"
        },
        {
          "name": "actorProfileId",
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-profiles:Profile",
          "columnType": "UUID"
        },
        {
          "name": "metadata",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "{}"
        }
      ],
      "relationships": [
        {
          "name": "actorProfileId",
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-profiles:Profile",
          "columnType": "UUID"
        }
      ],
      "methods": [
        "getMetadata",
        "isOpenTask",
        "save",
        "setMetadata"
      ],
      "methodSignatures": [
        {
          "name": "getMetadata",
          "returns": "Record<string, unknown>"
        },
        {
          "name": "isOpenTask",
          "returns": "boolean"
        },
        {
          "name": "save",
          "async": true,
          "returns": "Promise<this>"
        },
        {
          "name": "setMetadata",
          "params": [
            "metadata: Record<string, unknown>"
          ],
          "returns": "void"
        }
      ],
      "tenant": {
        "scoped": true,
        "mode": "optional",
        "field": "tenantId"
      },
      "conflictColumns": [
        "tenant_id",
        "slug",
        "context"
      ],
      "surfaces": [
        {
          "kind": "api",
          "name": "salesactivities.list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:SalesActivity",
          "path": "/salesactivities",
          "method": "GET"
        },
        {
          "kind": "api",
          "name": "salesactivities.get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:SalesActivity",
          "path": "/salesactivities/[id]",
          "method": "GET"
        },
        {
          "kind": "api",
          "name": "salesactivities.create",
          "operation": "create",
          "objectName": "@happyvertical/smrt-sales:SalesActivity",
          "path": "/salesactivities",
          "method": "POST"
        },
        {
          "kind": "mcp",
          "name": "salesactivity_list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:SalesActivity"
        },
        {
          "kind": "mcp",
          "name": "salesactivity_create",
          "operation": "create",
          "objectName": "@happyvertical/smrt-sales:SalesActivity"
        }
      ],
      "withheldSurfaces": [
        {
          "kind": "api",
          "operation": "getMetadata",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:SalesActivity"
        },
        {
          "kind": "api",
          "operation": "isOpenTask",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:SalesActivity"
        },
        {
          "kind": "api",
          "operation": "save",
          "code": "lifecycle-method",
          "reason": "`save` is a framework lifecycle method, not a distinct operation",
          "objectName": "@happyvertical/smrt-sales:SalesActivity"
        },
        {
          "kind": "api",
          "operation": "setMetadata",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:SalesActivity"
        }
      ],
      "relationshipFeatures": [
        "crossPackageRef",
        "uuidColumns"
      ],
      "tags": [],
      "risks": []
    },
    {
      "name": "SalesRepresentative",
      "qualifiedName": "@happyvertical/smrt-sales:SalesRepresentative",
      "collection": "salesrepresentatives",
      "tableName": "sales_representatives",
      "packageName": "@happyvertical/smrt-sales",
      "extends": "SmrtObject",
      "fields": [
        {
          "name": "tenantId",
          "type": "text",
          "required": false,
          "columnType": "UUID"
        },
        {
          "name": "profileId",
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-profiles:Profile",
          "columnType": "UUID"
        },
        {
          "name": "earnerId",
          "type": "foreignKey",
          "required": false,
          "related": "Earner",
          "columnType": "UUID"
        },
        {
          "name": "status",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "active"
        },
        {
          "name": "title",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "metadata",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "{}"
        }
      ],
      "relationships": [
        {
          "name": "profileId",
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-profiles:Profile",
          "columnType": "UUID"
        },
        {
          "name": "earnerId",
          "type": "foreignKey",
          "required": false,
          "related": "Earner",
          "columnType": "UUID"
        }
      ],
      "methods": [
        "getMetadata",
        "isActive",
        "setMetadata"
      ],
      "methodSignatures": [
        {
          "name": "getMetadata",
          "returns": "Record<string, unknown>"
        },
        {
          "name": "isActive",
          "returns": "boolean"
        },
        {
          "name": "setMetadata",
          "params": [
            "metadata: Record<string, unknown>"
          ],
          "returns": "void"
        }
      ],
      "tenant": {
        "scoped": true,
        "mode": "optional",
        "field": "tenantId"
      },
      "conflictColumns": [
        "tenant_id",
        "slug",
        "context"
      ],
      "surfaces": [
        {
          "kind": "api",
          "name": "salesrepresentatives.list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:SalesRepresentative",
          "path": "/salesrepresentatives",
          "method": "GET"
        },
        {
          "kind": "api",
          "name": "salesrepresentatives.get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:SalesRepresentative",
          "path": "/salesrepresentatives/[id]",
          "method": "GET"
        },
        {
          "kind": "api",
          "name": "salesrepresentatives.create",
          "operation": "create",
          "objectName": "@happyvertical/smrt-sales:SalesRepresentative",
          "path": "/salesrepresentatives",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "salesrepresentatives.update",
          "operation": "update",
          "objectName": "@happyvertical/smrt-sales:SalesRepresentative",
          "path": "/salesrepresentatives/[id]",
          "method": "PATCH"
        },
        {
          "kind": "cli",
          "name": "salesrepresentative_list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:SalesRepresentative"
        },
        {
          "kind": "cli",
          "name": "salesrepresentative_get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:SalesRepresentative"
        },
        {
          "kind": "cli",
          "name": "salesrepresentative_create",
          "operation": "create",
          "objectName": "@happyvertical/smrt-sales:SalesRepresentative"
        },
        {
          "kind": "cli",
          "name": "salesrepresentative_update",
          "operation": "update",
          "objectName": "@happyvertical/smrt-sales:SalesRepresentative"
        },
        {
          "kind": "cli",
          "name": "salesrepresentative_delete",
          "operation": "delete",
          "objectName": "@happyvertical/smrt-sales:SalesRepresentative"
        },
        {
          "kind": "cli",
          "name": "salesrepresentative_isActive",
          "operation": "isActive",
          "objectName": "@happyvertical/smrt-sales:SalesRepresentative"
        },
        {
          "kind": "cli",
          "name": "salesrepresentative_getMetadata",
          "operation": "getMetadata",
          "objectName": "@happyvertical/smrt-sales:SalesRepresentative"
        },
        {
          "kind": "cli",
          "name": "salesrepresentative_setMetadata",
          "operation": "setMetadata",
          "objectName": "@happyvertical/smrt-sales:SalesRepresentative"
        },
        {
          "kind": "mcp",
          "name": "salesrepresentative_list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:SalesRepresentative"
        },
        {
          "kind": "mcp",
          "name": "salesrepresentative_get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:SalesRepresentative"
        }
      ],
      "withheldSurfaces": [
        {
          "kind": "api",
          "operation": "getMetadata",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:SalesRepresentative"
        },
        {
          "kind": "api",
          "operation": "isActive",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:SalesRepresentative"
        },
        {
          "kind": "api",
          "operation": "setMetadata",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:SalesRepresentative"
        }
      ],
      "relationshipFeatures": [
        "crossPackageRef",
        "foreignKey",
        "uuidColumns"
      ],
      "tags": [],
      "risks": []
    },
    {
      "name": "AttributionExceptionCollection",
      "qualifiedName": "@happyvertical/smrt-sales:AttributionExceptionCollection",
      "collection": "attributionexceptions",
      "tableName": "attribution_exceptions",
      "packageName": "@happyvertical/smrt-sales",
      "extends": "SmrtCollection",
      "fields": [],
      "relationships": [],
      "methods": [
        "findByTarget",
        "findOpen",
        "findOpenByTarget"
      ],
      "methodSignatures": [
        {
          "name": "findByTarget",
          "async": true,
          "params": [
            "targetKind: string",
            "targetId: string"
          ],
          "returns": "Promise<AttributionException[]>"
        },
        {
          "name": "findOpen",
          "async": true,
          "returns": "Promise<AttributionException[]>"
        },
        {
          "name": "findOpenByTarget",
          "async": true,
          "params": [
            "targetKind: string",
            "targetId: string",
            "programId: string"
          ],
          "returns": "Promise<AttributionException | null>"
        }
      ],
      "surfaces": [
        {
          "kind": "api",
          "name": "attributionexceptions.findOpen",
          "operation": "findOpen",
          "objectName": "@happyvertical/smrt-sales:AttributionExceptionCollection",
          "path": "/attributionexceptions/findOpen",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "attributionexceptions.findOpenByTarget",
          "operation": "findOpenByTarget",
          "objectName": "@happyvertical/smrt-sales:AttributionExceptionCollection",
          "path": "/attributionexceptions/findOpenByTarget",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "attributionexceptions.findByTarget",
          "operation": "findByTarget",
          "objectName": "@happyvertical/smrt-sales:AttributionExceptionCollection",
          "path": "/attributionexceptions/findByTarget",
          "method": "POST"
        },
        {
          "kind": "mcp",
          "name": "attributionexceptioncollection_findopen",
          "operation": "findOpen",
          "objectName": "@happyvertical/smrt-sales:AttributionExceptionCollection"
        },
        {
          "kind": "mcp",
          "name": "attributionexceptioncollection_findopenbytarget",
          "operation": "findOpenByTarget",
          "objectName": "@happyvertical/smrt-sales:AttributionExceptionCollection"
        },
        {
          "kind": "mcp",
          "name": "attributionexceptioncollection_findbytarget",
          "operation": "findByTarget",
          "objectName": "@happyvertical/smrt-sales:AttributionExceptionCollection"
        }
      ],
      "relationshipFeatures": [
        "uuidColumns"
      ],
      "tags": [],
      "risks": []
    },
    {
      "name": "AttributionPolicyCollection",
      "qualifiedName": "@happyvertical/smrt-sales:AttributionPolicyCollection",
      "collection": "attributionpolicies",
      "tableName": "attribution_policies",
      "packageName": "@happyvertical/smrt-sales",
      "extends": "SmrtCollection",
      "fields": [],
      "relationships": [],
      "methods": [
        "createAmendment",
        "findByPolicyKey",
        "findByStatus",
        "latestActiveByKey"
      ],
      "methodSignatures": [
        {
          "name": "createAmendment",
          "async": true,
          "params": [
            "policyKey: string",
            "changes?: AttributionPolicyAmendmentChanges"
          ],
          "returns": "Promise<AttributionPolicy>"
        },
        {
          "name": "findByPolicyKey",
          "async": true,
          "params": [
            "policyKey: string"
          ],
          "returns": "Promise<AttributionPolicy[]>"
        },
        {
          "name": "findByStatus",
          "async": true,
          "params": [
            "status: AttributionPolicyStatus"
          ],
          "returns": "Promise<AttributionPolicy[]>"
        },
        {
          "name": "latestActiveByKey",
          "async": true,
          "params": [
            "policyKey: string",
            "at?: Date",
            "tenantId?: string | null"
          ],
          "returns": "Promise<AttributionPolicy | null>"
        }
      ],
      "surfaces": [
        {
          "kind": "api",
          "name": "attributionpolicies.findByPolicyKey",
          "operation": "findByPolicyKey",
          "objectName": "@happyvertical/smrt-sales:AttributionPolicyCollection",
          "path": "/attributionpolicies/findByPolicyKey",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "attributionpolicies.findByStatus",
          "operation": "findByStatus",
          "objectName": "@happyvertical/smrt-sales:AttributionPolicyCollection",
          "path": "/attributionpolicies/findByStatus",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "attributionpolicies.latestActiveByKey",
          "operation": "latestActiveByKey",
          "objectName": "@happyvertical/smrt-sales:AttributionPolicyCollection",
          "path": "/attributionpolicies/latestActiveByKey",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "attributionpolicies.createAmendment",
          "operation": "createAmendment",
          "objectName": "@happyvertical/smrt-sales:AttributionPolicyCollection",
          "path": "/attributionpolicies/createAmendment",
          "method": "POST"
        },
        {
          "kind": "cli",
          "name": "attributionpolicycollection_findByPolicyKey",
          "operation": "findByPolicyKey",
          "objectName": "@happyvertical/smrt-sales:AttributionPolicyCollection"
        },
        {
          "kind": "cli",
          "name": "attributionpolicycollection_findByStatus",
          "operation": "findByStatus",
          "objectName": "@happyvertical/smrt-sales:AttributionPolicyCollection"
        },
        {
          "kind": "cli",
          "name": "attributionpolicycollection_latestActiveByKey",
          "operation": "latestActiveByKey",
          "objectName": "@happyvertical/smrt-sales:AttributionPolicyCollection"
        },
        {
          "kind": "cli",
          "name": "attributionpolicycollection_createAmendment",
          "operation": "createAmendment",
          "objectName": "@happyvertical/smrt-sales:AttributionPolicyCollection"
        },
        {
          "kind": "mcp",
          "name": "attributionpolicycollection_findbypolicykey",
          "operation": "findByPolicyKey",
          "objectName": "@happyvertical/smrt-sales:AttributionPolicyCollection"
        },
        {
          "kind": "mcp",
          "name": "attributionpolicycollection_findbystatus",
          "operation": "findByStatus",
          "objectName": "@happyvertical/smrt-sales:AttributionPolicyCollection"
        },
        {
          "kind": "mcp",
          "name": "attributionpolicycollection_latestactivebykey",
          "operation": "latestActiveByKey",
          "objectName": "@happyvertical/smrt-sales:AttributionPolicyCollection"
        },
        {
          "kind": "mcp",
          "name": "attributionpolicycollection_createamendment",
          "operation": "createAmendment",
          "objectName": "@happyvertical/smrt-sales:AttributionPolicyCollection"
        }
      ],
      "relationshipFeatures": [
        "uuidColumns"
      ],
      "tags": [],
      "risks": []
    },
    {
      "name": "ReferralAgreementCollection",
      "qualifiedName": "@happyvertical/smrt-sales:ReferralAgreementCollection",
      "collection": "referralagreements",
      "tableName": "referral_agreements",
      "packageName": "@happyvertical/smrt-sales",
      "extends": "SmrtCollection",
      "fields": [],
      "relationships": [],
      "methods": [
        "activeFor",
        "createAmendment",
        "findByReferrerAndProgram"
      ],
      "methodSignatures": [
        {
          "name": "activeFor",
          "async": true,
          "params": [
            "referrerId: string",
            "programId: string",
            "at?: Date"
          ],
          "returns": "Promise<ReferralAgreement | null>"
        },
        {
          "name": "createAmendment",
          "async": true,
          "params": [
            "referrerId: string",
            "programId: string",
            "changes?: ReferralAgreementAmendmentChanges"
          ],
          "returns": "Promise<ReferralAgreement>"
        },
        {
          "name": "findByReferrerAndProgram",
          "async": true,
          "params": [
            "referrerId: string",
            "programId: string"
          ],
          "returns": "Promise<ReferralAgreement[]>"
        }
      ],
      "surfaces": [
        {
          "kind": "api",
          "name": "referralagreements.findByReferrerAndProgram",
          "operation": "findByReferrerAndProgram",
          "objectName": "@happyvertical/smrt-sales:ReferralAgreementCollection",
          "path": "/referralagreements/findByReferrerAndProgram",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "referralagreements.activeFor",
          "operation": "activeFor",
          "objectName": "@happyvertical/smrt-sales:ReferralAgreementCollection",
          "path": "/referralagreements/activeFor",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "referralagreements.createAmendment",
          "operation": "createAmendment",
          "objectName": "@happyvertical/smrt-sales:ReferralAgreementCollection",
          "path": "/referralagreements/createAmendment",
          "method": "POST"
        },
        {
          "kind": "cli",
          "name": "referralagreementcollection_findByReferrerAndProgram",
          "operation": "findByReferrerAndProgram",
          "objectName": "@happyvertical/smrt-sales:ReferralAgreementCollection"
        },
        {
          "kind": "cli",
          "name": "referralagreementcollection_activeFor",
          "operation": "activeFor",
          "objectName": "@happyvertical/smrt-sales:ReferralAgreementCollection"
        },
        {
          "kind": "cli",
          "name": "referralagreementcollection_createAmendment",
          "operation": "createAmendment",
          "objectName": "@happyvertical/smrt-sales:ReferralAgreementCollection"
        },
        {
          "kind": "mcp",
          "name": "referralagreementcollection_findbyreferrerandprogram",
          "operation": "findByReferrerAndProgram",
          "objectName": "@happyvertical/smrt-sales:ReferralAgreementCollection"
        },
        {
          "kind": "mcp",
          "name": "referralagreementcollection_activefor",
          "operation": "activeFor",
          "objectName": "@happyvertical/smrt-sales:ReferralAgreementCollection"
        },
        {
          "kind": "mcp",
          "name": "referralagreementcollection_createamendment",
          "operation": "createAmendment",
          "objectName": "@happyvertical/smrt-sales:ReferralAgreementCollection"
        }
      ],
      "relationshipFeatures": [
        "uuidColumns"
      ],
      "tags": [],
      "risks": []
    },
    {
      "name": "ReferralClickOperationCollection",
      "qualifiedName": "@happyvertical/smrt-sales:ReferralClickOperationCollection",
      "collection": "referralclickoperations",
      "tableName": "referral_click_operations",
      "packageName": "@happyvertical/smrt-sales",
      "extends": "SmrtCollection",
      "fields": [],
      "relationships": [],
      "methods": [
        "claim",
        "findByOperationId"
      ],
      "methodSignatures": [
        {
          "name": "claim",
          "async": true,
          "params": [
            "input: ClaimReferralClickOperationInput"
          ],
          "returns": "Promise<ClaimReferralClickOperationResult>"
        },
        {
          "name": "findByOperationId",
          "async": true,
          "params": [
            "operationId: string"
          ],
          "returns": "Promise<ReferralClickOperation | null>"
        }
      ],
      "surfaces": [],
      "withheldSurfaces": [
        {
          "kind": "api",
          "operation": "claim",
          "code": "api-disabled",
          "reason": "api is disabled",
          "objectName": "@happyvertical/smrt-sales:ReferralClickOperationCollection"
        },
        {
          "kind": "api",
          "operation": "findByOperationId",
          "code": "api-disabled",
          "reason": "api is disabled",
          "objectName": "@happyvertical/smrt-sales:ReferralClickOperationCollection"
        }
      ],
      "relationshipFeatures": [
        "uuidColumns"
      ],
      "tags": [],
      "risks": []
    },
    {
      "name": "ReferralCollection",
      "qualifiedName": "@happyvertical/smrt-sales:ReferralCollection",
      "collection": "referrals",
      "tableName": "referrals",
      "packageName": "@happyvertical/smrt-sales",
      "extends": "SmrtCollection",
      "fields": [],
      "relationships": [],
      "methods": [
        "findByReferrer",
        "findByTarget",
        "findQualifiedByTarget",
        "sweepExpired"
      ],
      "methodSignatures": [
        {
          "name": "findByReferrer",
          "async": true,
          "params": [
            "referrerId: string"
          ],
          "returns": "Promise<Referral[]>"
        },
        {
          "name": "findByTarget",
          "async": true,
          "params": [
            "targetKind: string",
            "targetId: string"
          ],
          "returns": "Promise<Referral[]>"
        },
        {
          "name": "findQualifiedByTarget",
          "async": true,
          "params": [
            "targetKind: string",
            "targetId: string"
          ],
          "returns": "Promise<Referral[]>"
        },
        {
          "name": "sweepExpired",
          "async": true,
          "params": [
            "now?: Date"
          ],
          "returns": "Promise<Referral[]>"
        }
      ],
      "surfaces": [
        {
          "kind": "api",
          "name": "referrals.findByReferrer",
          "operation": "findByReferrer",
          "objectName": "@happyvertical/smrt-sales:ReferralCollection",
          "path": "/referrals/findByReferrer",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "referrals.findByTarget",
          "operation": "findByTarget",
          "objectName": "@happyvertical/smrt-sales:ReferralCollection",
          "path": "/referrals/findByTarget",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "referrals.findQualifiedByTarget",
          "operation": "findQualifiedByTarget",
          "objectName": "@happyvertical/smrt-sales:ReferralCollection",
          "path": "/referrals/findQualifiedByTarget",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "referrals.sweepExpired",
          "operation": "sweepExpired",
          "objectName": "@happyvertical/smrt-sales:ReferralCollection",
          "path": "/referrals/sweepExpired",
          "method": "POST"
        },
        {
          "kind": "cli",
          "name": "referralcollection_findByReferrer",
          "operation": "findByReferrer",
          "objectName": "@happyvertical/smrt-sales:ReferralCollection"
        },
        {
          "kind": "cli",
          "name": "referralcollection_findByTarget",
          "operation": "findByTarget",
          "objectName": "@happyvertical/smrt-sales:ReferralCollection"
        },
        {
          "kind": "cli",
          "name": "referralcollection_findQualifiedByTarget",
          "operation": "findQualifiedByTarget",
          "objectName": "@happyvertical/smrt-sales:ReferralCollection"
        },
        {
          "kind": "cli",
          "name": "referralcollection_sweepExpired",
          "operation": "sweepExpired",
          "objectName": "@happyvertical/smrt-sales:ReferralCollection"
        },
        {
          "kind": "mcp",
          "name": "referralcollection_findbyreferrer",
          "operation": "findByReferrer",
          "objectName": "@happyvertical/smrt-sales:ReferralCollection"
        },
        {
          "kind": "mcp",
          "name": "referralcollection_findbytarget",
          "operation": "findByTarget",
          "objectName": "@happyvertical/smrt-sales:ReferralCollection"
        },
        {
          "kind": "mcp",
          "name": "referralcollection_findqualifiedbytarget",
          "operation": "findQualifiedByTarget",
          "objectName": "@happyvertical/smrt-sales:ReferralCollection"
        },
        {
          "kind": "mcp",
          "name": "referralcollection_sweepexpired",
          "operation": "sweepExpired",
          "objectName": "@happyvertical/smrt-sales:ReferralCollection"
        }
      ],
      "relationshipFeatures": [
        "uuidColumns"
      ],
      "tags": [],
      "risks": []
    },
    {
      "name": "ReferralLinkCollection",
      "qualifiedName": "@happyvertical/smrt-sales:ReferralLinkCollection",
      "collection": "referrallinks",
      "tableName": "referral_links",
      "packageName": "@happyvertical/smrt-sales",
      "extends": "SmrtCollection",
      "fields": [],
      "relationships": [],
      "methods": [
        "createWithUniqueCode",
        "findByCode",
        "findByReferrer",
        "recordClick"
      ],
      "methodSignatures": [
        {
          "name": "createWithUniqueCode",
          "async": true,
          "params": [
            "input: CreateReferralLinkInput"
          ],
          "returns": "Promise<ReferralLink>"
        },
        {
          "name": "findByCode",
          "async": true,
          "params": [
            "code: string"
          ],
          "returns": "Promise<ReferralLink | null>"
        },
        {
          "name": "findByReferrer",
          "async": true,
          "params": [
            "referrerId: string"
          ],
          "returns": "Promise<ReferralLink[]>"
        },
        {
          "name": "recordClick",
          "async": true,
          "params": [
            "input: RecordClickInput"
          ],
          "returns": "Promise<RecordClickResult>"
        }
      ],
      "surfaces": [
        {
          "kind": "api",
          "name": "referrallinks.findByReferrer",
          "operation": "findByReferrer",
          "objectName": "@happyvertical/smrt-sales:ReferralLinkCollection",
          "path": "/referrallinks/findByReferrer",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "referrallinks.findByCode",
          "operation": "findByCode",
          "objectName": "@happyvertical/smrt-sales:ReferralLinkCollection",
          "path": "/referrallinks/findByCode",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "referrallinks.createWithUniqueCode",
          "operation": "createWithUniqueCode",
          "objectName": "@happyvertical/smrt-sales:ReferralLinkCollection",
          "path": "/referrallinks/createWithUniqueCode",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "referrallinks.recordClick",
          "operation": "recordClick",
          "objectName": "@happyvertical/smrt-sales:ReferralLinkCollection",
          "path": "/referrallinks/recordClick",
          "method": "POST"
        },
        {
          "kind": "cli",
          "name": "referrallinkcollection_findByReferrer",
          "operation": "findByReferrer",
          "objectName": "@happyvertical/smrt-sales:ReferralLinkCollection"
        },
        {
          "kind": "cli",
          "name": "referrallinkcollection_findByCode",
          "operation": "findByCode",
          "objectName": "@happyvertical/smrt-sales:ReferralLinkCollection"
        },
        {
          "kind": "cli",
          "name": "referrallinkcollection_createWithUniqueCode",
          "operation": "createWithUniqueCode",
          "objectName": "@happyvertical/smrt-sales:ReferralLinkCollection"
        },
        {
          "kind": "cli",
          "name": "referrallinkcollection_recordClick",
          "operation": "recordClick",
          "objectName": "@happyvertical/smrt-sales:ReferralLinkCollection"
        },
        {
          "kind": "mcp",
          "name": "referrallinkcollection_findbyreferrer",
          "operation": "findByReferrer",
          "objectName": "@happyvertical/smrt-sales:ReferralLinkCollection"
        },
        {
          "kind": "mcp",
          "name": "referrallinkcollection_findbycode",
          "operation": "findByCode",
          "objectName": "@happyvertical/smrt-sales:ReferralLinkCollection"
        },
        {
          "kind": "mcp",
          "name": "referrallinkcollection_createwithuniquecode",
          "operation": "createWithUniqueCode",
          "objectName": "@happyvertical/smrt-sales:ReferralLinkCollection"
        },
        {
          "kind": "mcp",
          "name": "referrallinkcollection_recordclick",
          "operation": "recordClick",
          "objectName": "@happyvertical/smrt-sales:ReferralLinkCollection"
        }
      ],
      "relationshipFeatures": [
        "uuidColumns"
      ],
      "tags": [],
      "risks": []
    },
    {
      "name": "ReferralProgramCollection",
      "qualifiedName": "@happyvertical/smrt-sales:ReferralProgramCollection",
      "collection": "referralprograms",
      "tableName": "referral_programs",
      "packageName": "@happyvertical/smrt-sales",
      "extends": "SmrtCollection",
      "fields": [],
      "relationships": [],
      "methods": [
        "findActive",
        "findByKey",
        "findByStatus"
      ],
      "methodSignatures": [
        {
          "name": "findActive",
          "async": true,
          "returns": "Promise<ReferralProgram[]>"
        },
        {
          "name": "findByKey",
          "async": true,
          "params": [
            "key: string"
          ],
          "returns": "Promise<ReferralProgram | null>"
        },
        {
          "name": "findByStatus",
          "async": true,
          "params": [
            "status: ReferralProgramStatus"
          ],
          "returns": "Promise<ReferralProgram[]>"
        }
      ],
      "surfaces": [
        {
          "kind": "api",
          "name": "referralprograms.findByKey",
          "operation": "findByKey",
          "objectName": "@happyvertical/smrt-sales:ReferralProgramCollection",
          "path": "/referralprograms/findByKey",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "referralprograms.findByStatus",
          "operation": "findByStatus",
          "objectName": "@happyvertical/smrt-sales:ReferralProgramCollection",
          "path": "/referralprograms/findByStatus",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "referralprograms.findActive",
          "operation": "findActive",
          "objectName": "@happyvertical/smrt-sales:ReferralProgramCollection",
          "path": "/referralprograms/findActive",
          "method": "POST"
        },
        {
          "kind": "cli",
          "name": "referralprogramcollection_findByKey",
          "operation": "findByKey",
          "objectName": "@happyvertical/smrt-sales:ReferralProgramCollection"
        },
        {
          "kind": "cli",
          "name": "referralprogramcollection_findByStatus",
          "operation": "findByStatus",
          "objectName": "@happyvertical/smrt-sales:ReferralProgramCollection"
        },
        {
          "kind": "cli",
          "name": "referralprogramcollection_findActive",
          "operation": "findActive",
          "objectName": "@happyvertical/smrt-sales:ReferralProgramCollection"
        },
        {
          "kind": "mcp",
          "name": "referralprogramcollection_findbykey",
          "operation": "findByKey",
          "objectName": "@happyvertical/smrt-sales:ReferralProgramCollection"
        },
        {
          "kind": "mcp",
          "name": "referralprogramcollection_findbystatus",
          "operation": "findByStatus",
          "objectName": "@happyvertical/smrt-sales:ReferralProgramCollection"
        },
        {
          "kind": "mcp",
          "name": "referralprogramcollection_findactive",
          "operation": "findActive",
          "objectName": "@happyvertical/smrt-sales:ReferralProgramCollection"
        }
      ],
      "relationshipFeatures": [
        "uuidColumns"
      ],
      "tags": [],
      "risks": []
    },
    {
      "name": "ReferralTermSnapshotCollection",
      "qualifiedName": "@happyvertical/smrt-sales:ReferralTermSnapshotCollection",
      "collection": "referraltermsnapshots",
      "tableName": "referral_term_snapshots",
      "packageName": "@happyvertical/smrt-sales",
      "extends": "SmrtCollection",
      "fields": [],
      "relationships": [],
      "methods": [
        "findByReferral"
      ],
      "methodSignatures": [
        {
          "name": "findByReferral",
          "async": true,
          "params": [
            "referralId: string"
          ],
          "returns": "Promise<ReferralTermSnapshot[]>"
        }
      ],
      "surfaces": [
        {
          "kind": "api",
          "name": "referraltermsnapshots.findByReferral",
          "operation": "findByReferral",
          "objectName": "@happyvertical/smrt-sales:ReferralTermSnapshotCollection",
          "path": "/referraltermsnapshots/findByReferral",
          "method": "POST"
        },
        {
          "kind": "mcp",
          "name": "referraltermsnapshotcollection_findbyreferral",
          "operation": "findByReferral",
          "objectName": "@happyvertical/smrt-sales:ReferralTermSnapshotCollection"
        }
      ],
      "relationshipFeatures": [
        "uuidColumns"
      ],
      "tags": [],
      "risks": []
    },
    {
      "name": "ReferralTouchCollection",
      "qualifiedName": "@happyvertical/smrt-sales:ReferralTouchCollection",
      "collection": "referraltouches",
      "tableName": "referral_touches",
      "packageName": "@happyvertical/smrt-sales",
      "extends": "SmrtCollection",
      "fields": [],
      "relationships": [],
      "methods": [
        "findByReferrer",
        "findBySubject",
        "findByTargetWindow"
      ],
      "methodSignatures": [
        {
          "name": "findByReferrer",
          "async": true,
          "params": [
            "referrerId: string"
          ],
          "returns": "Promise<ReferralTouch[]>"
        },
        {
          "name": "findBySubject",
          "async": true,
          "params": [
            "subjectKind: string",
            "subjectId: string"
          ],
          "returns": "Promise<ReferralTouch[]>"
        },
        {
          "name": "findByTargetWindow",
          "async": true,
          "params": [
            "query: TouchWindowQuery"
          ],
          "returns": "Promise<ReferralTouch[]>"
        }
      ],
      "surfaces": [
        {
          "kind": "api",
          "name": "referraltouches.findByReferrer",
          "operation": "findByReferrer",
          "objectName": "@happyvertical/smrt-sales:ReferralTouchCollection",
          "path": "/referraltouches/findByReferrer",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "referraltouches.findBySubject",
          "operation": "findBySubject",
          "objectName": "@happyvertical/smrt-sales:ReferralTouchCollection",
          "path": "/referraltouches/findBySubject",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "referraltouches.findByTargetWindow",
          "operation": "findByTargetWindow",
          "objectName": "@happyvertical/smrt-sales:ReferralTouchCollection",
          "path": "/referraltouches/findByTargetWindow",
          "method": "POST"
        },
        {
          "kind": "mcp",
          "name": "referraltouchcollection_findbyreferrer",
          "operation": "findByReferrer",
          "objectName": "@happyvertical/smrt-sales:ReferralTouchCollection"
        },
        {
          "kind": "mcp",
          "name": "referraltouchcollection_findbysubject",
          "operation": "findBySubject",
          "objectName": "@happyvertical/smrt-sales:ReferralTouchCollection"
        },
        {
          "kind": "mcp",
          "name": "referraltouchcollection_findbytargetwindow",
          "operation": "findByTargetWindow",
          "objectName": "@happyvertical/smrt-sales:ReferralTouchCollection"
        }
      ],
      "relationshipFeatures": [
        "uuidColumns"
      ],
      "tags": [],
      "risks": []
    },
    {
      "name": "ReferrerCollection",
      "qualifiedName": "@happyvertical/smrt-sales:ReferrerCollection",
      "collection": "referrers",
      "tableName": "referrers",
      "packageName": "@happyvertical/smrt-sales",
      "extends": "SmrtCollection",
      "fields": [],
      "relationships": [],
      "methods": [
        "findActive",
        "findByProfile",
        "findByStatus"
      ],
      "methodSignatures": [
        {
          "name": "findActive",
          "async": true,
          "returns": "Promise<Referrer[]>"
        },
        {
          "name": "findByProfile",
          "async": true,
          "params": [
            "profileId: string"
          ],
          "returns": "Promise<Referrer[]>"
        },
        {
          "name": "findByStatus",
          "async": true,
          "params": [
            "status: ReferrerStatus"
          ],
          "returns": "Promise<Referrer[]>"
        }
      ],
      "surfaces": [
        {
          "kind": "api",
          "name": "referrers.findByProfile",
          "operation": "findByProfile",
          "objectName": "@happyvertical/smrt-sales:ReferrerCollection",
          "path": "/referrers/findByProfile",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "referrers.findByStatus",
          "operation": "findByStatus",
          "objectName": "@happyvertical/smrt-sales:ReferrerCollection",
          "path": "/referrers/findByStatus",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "referrers.findActive",
          "operation": "findActive",
          "objectName": "@happyvertical/smrt-sales:ReferrerCollection",
          "path": "/referrers/findActive",
          "method": "POST"
        },
        {
          "kind": "cli",
          "name": "referrercollection_findByProfile",
          "operation": "findByProfile",
          "objectName": "@happyvertical/smrt-sales:ReferrerCollection"
        },
        {
          "kind": "cli",
          "name": "referrercollection_findByStatus",
          "operation": "findByStatus",
          "objectName": "@happyvertical/smrt-sales:ReferrerCollection"
        },
        {
          "kind": "cli",
          "name": "referrercollection_findActive",
          "operation": "findActive",
          "objectName": "@happyvertical/smrt-sales:ReferrerCollection"
        },
        {
          "kind": "mcp",
          "name": "referrercollection_findbyprofile",
          "operation": "findByProfile",
          "objectName": "@happyvertical/smrt-sales:ReferrerCollection"
        },
        {
          "kind": "mcp",
          "name": "referrercollection_findbystatus",
          "operation": "findByStatus",
          "objectName": "@happyvertical/smrt-sales:ReferrerCollection"
        },
        {
          "kind": "mcp",
          "name": "referrercollection_findactive",
          "operation": "findActive",
          "objectName": "@happyvertical/smrt-sales:ReferrerCollection"
        }
      ],
      "relationshipFeatures": [
        "uuidColumns"
      ],
      "tags": [],
      "risks": []
    },
    {
      "name": "AttributionException",
      "qualifiedName": "@happyvertical/smrt-sales:AttributionException",
      "collection": "attributionexceptions",
      "tableName": "attribution_exceptions",
      "packageName": "@happyvertical/smrt-sales",
      "extends": "SmrtObject",
      "fields": [
        {
          "name": "tenantId",
          "type": "text",
          "required": false,
          "columnType": "UUID"
        },
        {
          "name": "targetKind",
          "type": "text",
          "required": true,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "targetId",
          "type": "text",
          "required": true,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "programId",
          "type": "foreignKey",
          "required": false,
          "related": "ReferralProgram",
          "columnType": "UUID"
        },
        {
          "name": "status",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "open"
        },
        {
          "name": "conflictReason",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "candidates",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "[]"
        },
        {
          "name": "resolutionMode",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "resolutionReason",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "resolvedByProfileId",
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-profiles:Profile",
          "columnType": "UUID"
        },
        {
          "name": "resolvedReferralIds",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "[]"
        },
        {
          "name": "resolvedAt",
          "type": "datetime",
          "required": false,
          "columnType": "TIMESTAMP"
        },
        {
          "name": "metadata",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "{}"
        }
      ],
      "relationships": [
        {
          "name": "programId",
          "type": "foreignKey",
          "required": false,
          "related": "ReferralProgram",
          "columnType": "UUID"
        },
        {
          "name": "resolvedByProfileId",
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-profiles:Profile",
          "columnType": "UUID"
        }
      ],
      "methods": [
        "getCandidates",
        "getMetadata",
        "getResolvedReferralIds",
        "initialize",
        "isOpen",
        "markResolved",
        "setCandidates",
        "setMetadata",
        "setResolvedReferralIds"
      ],
      "methodSignatures": [
        {
          "name": "getCandidates",
          "returns": "AttributionExceptionCandidate[]"
        },
        {
          "name": "getMetadata",
          "returns": "Record<string, unknown>"
        },
        {
          "name": "getResolvedReferralIds",
          "returns": "string[]"
        },
        {
          "name": "initialize",
          "async": true,
          "returns": "Promise<this>"
        },
        {
          "name": "isOpen",
          "returns": "boolean"
        },
        {
          "name": "markResolved",
          "params": [
            "input: object"
          ],
          "returns": "void"
        },
        {
          "name": "setCandidates",
          "params": [
            "candidates: AttributionExceptionCandidate[]"
          ],
          "returns": "void"
        },
        {
          "name": "setMetadata",
          "params": [
            "data: Record<string, unknown>"
          ],
          "returns": "void"
        },
        {
          "name": "setResolvedReferralIds",
          "params": [
            "ids: string[]"
          ],
          "returns": "void"
        }
      ],
      "tenant": {
        "scoped": true,
        "mode": "optional",
        "field": "tenantId"
      },
      "conflictColumns": [
        "tenant_id",
        "slug",
        "context"
      ],
      "surfaces": [
        {
          "kind": "api",
          "name": "attributionexceptions.list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:AttributionException",
          "path": "/attributionexceptions",
          "method": "GET"
        },
        {
          "kind": "api",
          "name": "attributionexceptions.get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:AttributionException",
          "path": "/attributionexceptions/[id]",
          "method": "GET"
        },
        {
          "kind": "mcp",
          "name": "attributionexception_list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:AttributionException"
        },
        {
          "kind": "mcp",
          "name": "attributionexception_get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:AttributionException"
        }
      ],
      "withheldSurfaces": [
        {
          "kind": "api",
          "operation": "getCandidates",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:AttributionException"
        },
        {
          "kind": "api",
          "operation": "getMetadata",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:AttributionException"
        },
        {
          "kind": "api",
          "operation": "getResolvedReferralIds",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:AttributionException"
        },
        {
          "kind": "api",
          "operation": "initialize",
          "code": "lifecycle-method",
          "reason": "`initialize` is a framework lifecycle method, not a distinct operation",
          "objectName": "@happyvertical/smrt-sales:AttributionException"
        },
        {
          "kind": "api",
          "operation": "isOpen",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:AttributionException"
        },
        {
          "kind": "api",
          "operation": "markResolved",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:AttributionException"
        },
        {
          "kind": "api",
          "operation": "setCandidates",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:AttributionException"
        },
        {
          "kind": "api",
          "operation": "setMetadata",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:AttributionException"
        },
        {
          "kind": "api",
          "operation": "setResolvedReferralIds",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:AttributionException"
        }
      ],
      "relationshipFeatures": [
        "crossPackageRef",
        "foreignKey",
        "uuidColumns"
      ],
      "tags": [],
      "risks": []
    },
    {
      "name": "AttributionPolicy",
      "qualifiedName": "@happyvertical/smrt-sales:AttributionPolicy",
      "collection": "attributionpolicies",
      "tableName": "attribution_policies",
      "packageName": "@happyvertical/smrt-sales",
      "extends": "SmrtObject",
      "fields": [
        {
          "name": "tenantId",
          "type": "text",
          "required": false,
          "columnType": "UUID"
        },
        {
          "name": "policyKey",
          "type": "text",
          "required": true,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "version",
          "type": "integer",
          "required": false,
          "columnType": "INTEGER",
          "default": 1
        },
        {
          "name": "status",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "draft"
        },
        {
          "name": "effectiveFrom",
          "type": "datetime",
          "required": false,
          "columnType": "TIMESTAMP"
        },
        {
          "name": "windowDays",
          "type": "integer",
          "required": false,
          "columnType": "INTEGER",
          "default": 30
        },
        {
          "name": "creditMode",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "first_touch"
        },
        {
          "name": "conflictBehavior",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "auto"
        },
        {
          "name": "allowSelfReferral",
          "type": "boolean",
          "required": false,
          "columnType": "BOOLEAN",
          "default": false
        },
        {
          "name": "allowExistingClients",
          "type": "boolean",
          "required": false,
          "columnType": "BOOLEAN",
          "default": false
        },
        {
          "name": "eligibleServices",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "[]"
        },
        {
          "name": "eligibleCampaigns",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "[]"
        },
        {
          "name": "eligibleRegions",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "[]"
        },
        {
          "name": "metadata",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "{}"
        }
      ],
      "relationships": [],
      "methods": [
        "activate",
        "getEligibleCampaigns",
        "getEligibleRegions",
        "getEligibleServices",
        "getMetadata",
        "initialize",
        "isActive",
        "isDraft",
        "retire",
        "save",
        "setEligibleCampaigns",
        "setEligibleRegions",
        "setEligibleServices",
        "setMetadata",
        "supersede"
      ],
      "methodSignatures": [
        {
          "name": "activate",
          "returns": "void"
        },
        {
          "name": "getEligibleCampaigns",
          "returns": "string[]"
        },
        {
          "name": "getEligibleRegions",
          "returns": "string[]"
        },
        {
          "name": "getEligibleServices",
          "returns": "string[]"
        },
        {
          "name": "getMetadata",
          "returns": "Record<string, unknown>"
        },
        {
          "name": "initialize",
          "async": true,
          "returns": "Promise<this>"
        },
        {
          "name": "isActive",
          "returns": "boolean"
        },
        {
          "name": "isDraft",
          "returns": "boolean"
        },
        {
          "name": "retire",
          "returns": "void"
        },
        {
          "name": "save",
          "async": true,
          "returns": "Promise<this>"
        },
        {
          "name": "setEligibleCampaigns",
          "params": [
            "campaigns: string[]"
          ],
          "returns": "void"
        },
        {
          "name": "setEligibleRegions",
          "params": [
            "regions: string[]"
          ],
          "returns": "void"
        },
        {
          "name": "setEligibleServices",
          "params": [
            "services: string[]"
          ],
          "returns": "void"
        },
        {
          "name": "setMetadata",
          "params": [
            "data: Record<string, unknown>"
          ],
          "returns": "void"
        },
        {
          "name": "supersede",
          "returns": "void"
        }
      ],
      "tenant": {
        "scoped": true,
        "mode": "optional",
        "field": "tenantId"
      },
      "conflictColumns": [
        "tenant_id",
        "policy_key",
        "version"
      ],
      "surfaces": [
        {
          "kind": "api",
          "name": "attributionpolicies.list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:AttributionPolicy",
          "path": "/attributionpolicies",
          "method": "GET"
        },
        {
          "kind": "api",
          "name": "attributionpolicies.get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:AttributionPolicy",
          "path": "/attributionpolicies/[id]",
          "method": "GET"
        },
        {
          "kind": "api",
          "name": "attributionpolicies.create",
          "operation": "create",
          "objectName": "@happyvertical/smrt-sales:AttributionPolicy",
          "path": "/attributionpolicies",
          "method": "POST"
        },
        {
          "kind": "cli",
          "name": "attributionpolicy_list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:AttributionPolicy"
        },
        {
          "kind": "cli",
          "name": "attributionpolicy_get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:AttributionPolicy"
        },
        {
          "kind": "cli",
          "name": "attributionpolicy_create",
          "operation": "create",
          "objectName": "@happyvertical/smrt-sales:AttributionPolicy"
        },
        {
          "kind": "cli",
          "name": "attributionpolicy_update",
          "operation": "update",
          "objectName": "@happyvertical/smrt-sales:AttributionPolicy"
        },
        {
          "kind": "cli",
          "name": "attributionpolicy_delete",
          "operation": "delete",
          "objectName": "@happyvertical/smrt-sales:AttributionPolicy"
        },
        {
          "kind": "cli",
          "name": "attributionpolicy_isDraft",
          "operation": "isDraft",
          "objectName": "@happyvertical/smrt-sales:AttributionPolicy"
        },
        {
          "kind": "cli",
          "name": "attributionpolicy_isActive",
          "operation": "isActive",
          "objectName": "@happyvertical/smrt-sales:AttributionPolicy"
        },
        {
          "kind": "cli",
          "name": "attributionpolicy_getEligibleServices",
          "operation": "getEligibleServices",
          "objectName": "@happyvertical/smrt-sales:AttributionPolicy"
        },
        {
          "kind": "cli",
          "name": "attributionpolicy_setEligibleServices",
          "operation": "setEligibleServices",
          "objectName": "@happyvertical/smrt-sales:AttributionPolicy"
        },
        {
          "kind": "cli",
          "name": "attributionpolicy_getEligibleCampaigns",
          "operation": "getEligibleCampaigns",
          "objectName": "@happyvertical/smrt-sales:AttributionPolicy"
        },
        {
          "kind": "cli",
          "name": "attributionpolicy_setEligibleCampaigns",
          "operation": "setEligibleCampaigns",
          "objectName": "@happyvertical/smrt-sales:AttributionPolicy"
        },
        {
          "kind": "cli",
          "name": "attributionpolicy_getEligibleRegions",
          "operation": "getEligibleRegions",
          "objectName": "@happyvertical/smrt-sales:AttributionPolicy"
        },
        {
          "kind": "cli",
          "name": "attributionpolicy_setEligibleRegions",
          "operation": "setEligibleRegions",
          "objectName": "@happyvertical/smrt-sales:AttributionPolicy"
        },
        {
          "kind": "cli",
          "name": "attributionpolicy_getMetadata",
          "operation": "getMetadata",
          "objectName": "@happyvertical/smrt-sales:AttributionPolicy"
        },
        {
          "kind": "cli",
          "name": "attributionpolicy_setMetadata",
          "operation": "setMetadata",
          "objectName": "@happyvertical/smrt-sales:AttributionPolicy"
        },
        {
          "kind": "cli",
          "name": "attributionpolicy_activate",
          "operation": "activate",
          "objectName": "@happyvertical/smrt-sales:AttributionPolicy"
        },
        {
          "kind": "cli",
          "name": "attributionpolicy_supersede",
          "operation": "supersede",
          "objectName": "@happyvertical/smrt-sales:AttributionPolicy"
        },
        {
          "kind": "cli",
          "name": "attributionpolicy_retire",
          "operation": "retire",
          "objectName": "@happyvertical/smrt-sales:AttributionPolicy"
        },
        {
          "kind": "mcp",
          "name": "attributionpolicy_list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:AttributionPolicy"
        },
        {
          "kind": "mcp",
          "name": "attributionpolicy_get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:AttributionPolicy"
        }
      ],
      "withheldSurfaces": [
        {
          "kind": "api",
          "operation": "activate",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:AttributionPolicy"
        },
        {
          "kind": "api",
          "operation": "getEligibleCampaigns",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:AttributionPolicy"
        },
        {
          "kind": "api",
          "operation": "getEligibleRegions",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:AttributionPolicy"
        },
        {
          "kind": "api",
          "operation": "getEligibleServices",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:AttributionPolicy"
        },
        {
          "kind": "api",
          "operation": "getMetadata",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:AttributionPolicy"
        },
        {
          "kind": "api",
          "operation": "initialize",
          "code": "lifecycle-method",
          "reason": "`initialize` is a framework lifecycle method, not a distinct operation",
          "objectName": "@happyvertical/smrt-sales:AttributionPolicy"
        },
        {
          "kind": "api",
          "operation": "isActive",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:AttributionPolicy"
        },
        {
          "kind": "api",
          "operation": "isDraft",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:AttributionPolicy"
        },
        {
          "kind": "api",
          "operation": "retire",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:AttributionPolicy"
        },
        {
          "kind": "api",
          "operation": "save",
          "code": "lifecycle-method",
          "reason": "`save` is a framework lifecycle method, not a distinct operation",
          "objectName": "@happyvertical/smrt-sales:AttributionPolicy"
        },
        {
          "kind": "api",
          "operation": "setEligibleCampaigns",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:AttributionPolicy"
        },
        {
          "kind": "api",
          "operation": "setEligibleRegions",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:AttributionPolicy"
        },
        {
          "kind": "api",
          "operation": "setEligibleServices",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:AttributionPolicy"
        },
        {
          "kind": "api",
          "operation": "setMetadata",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:AttributionPolicy"
        },
        {
          "kind": "api",
          "operation": "supersede",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:AttributionPolicy"
        }
      ],
      "relationshipFeatures": [
        "uuidColumns"
      ],
      "tags": [],
      "risks": []
    },
    {
      "name": "Referral",
      "qualifiedName": "@happyvertical/smrt-sales:Referral",
      "collection": "referrals",
      "tableName": "referrals",
      "packageName": "@happyvertical/smrt-sales",
      "extends": "SmrtObject",
      "fields": [
        {
          "name": "tenantId",
          "type": "text",
          "required": false,
          "columnType": "UUID"
        },
        {
          "name": "referrerId",
          "type": "foreignKey",
          "required": true,
          "related": "Referrer",
          "columnType": "UUID"
        },
        {
          "name": "programId",
          "type": "foreignKey",
          "required": true,
          "related": "ReferralProgram",
          "columnType": "UUID"
        },
        {
          "name": "policyKey",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "policyVersion",
          "type": "integer",
          "required": false,
          "columnType": "INTEGER",
          "default": 0
        },
        {
          "name": "status",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "pending"
        },
        {
          "name": "targetKind",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "targetId",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "creditFraction",
          "type": "decimal",
          "required": false,
          "columnType": "REAL",
          "default": 1
        },
        {
          "name": "splitGroupId",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "primaryTouchId",
          "type": "foreignKey",
          "required": false,
          "related": "ReferralTouch",
          "columnType": "UUID"
        },
        {
          "name": "attributedAt",
          "type": "datetime",
          "required": false,
          "columnType": "TIMESTAMP"
        },
        {
          "name": "qualifiedAt",
          "type": "datetime",
          "required": false,
          "columnType": "TIMESTAMP"
        },
        {
          "name": "expiresAt",
          "type": "datetime",
          "required": false,
          "columnType": "TIMESTAMP"
        },
        {
          "name": "snapshotId",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "metadata",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "{}"
        }
      ],
      "relationships": [
        {
          "name": "referrerId",
          "type": "foreignKey",
          "required": true,
          "related": "Referrer",
          "columnType": "UUID"
        },
        {
          "name": "programId",
          "type": "foreignKey",
          "required": true,
          "related": "ReferralProgram",
          "columnType": "UUID"
        },
        {
          "name": "primaryTouchId",
          "type": "foreignKey",
          "required": false,
          "related": "ReferralTouch",
          "columnType": "UUID"
        }
      ],
      "methods": [
        "disqualify",
        "getMetadata",
        "initialize",
        "isAttributed",
        "isQualified",
        "isTerminal",
        "markAttributed",
        "markExpired",
        "markQualified",
        "markUnderReview",
        "save",
        "setMetadata"
      ],
      "methodSignatures": [
        {
          "name": "disqualify",
          "returns": "void"
        },
        {
          "name": "getMetadata",
          "returns": "Record<string, unknown>"
        },
        {
          "name": "initialize",
          "async": true,
          "returns": "Promise<this>"
        },
        {
          "name": "isAttributed",
          "returns": "boolean"
        },
        {
          "name": "isQualified",
          "returns": "boolean"
        },
        {
          "name": "isTerminal",
          "returns": "boolean"
        },
        {
          "name": "markAttributed",
          "params": [
            "at?: Date"
          ],
          "returns": "void"
        },
        {
          "name": "markExpired",
          "returns": "void"
        },
        {
          "name": "markQualified",
          "params": [
            "at?: Date"
          ],
          "returns": "void"
        },
        {
          "name": "markUnderReview",
          "returns": "void"
        },
        {
          "name": "save",
          "async": true,
          "returns": "Promise<this>"
        },
        {
          "name": "setMetadata",
          "params": [
            "data: Record<string, unknown>"
          ],
          "returns": "void"
        }
      ],
      "tenant": {
        "scoped": true,
        "mode": "optional",
        "field": "tenantId"
      },
      "conflictColumns": [
        "tenant_id",
        "slug",
        "context"
      ],
      "surfaces": [
        {
          "kind": "api",
          "name": "referrals.list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:Referral",
          "path": "/referrals",
          "method": "GET"
        },
        {
          "kind": "api",
          "name": "referrals.get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:Referral",
          "path": "/referrals/[id]",
          "method": "GET"
        },
        {
          "kind": "api",
          "name": "referrals.create",
          "operation": "create",
          "objectName": "@happyvertical/smrt-sales:Referral",
          "path": "/referrals",
          "method": "POST"
        },
        {
          "kind": "cli",
          "name": "referral_list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:Referral"
        },
        {
          "kind": "cli",
          "name": "referral_get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:Referral"
        },
        {
          "kind": "cli",
          "name": "referral_create",
          "operation": "create",
          "objectName": "@happyvertical/smrt-sales:Referral"
        },
        {
          "kind": "cli",
          "name": "referral_update",
          "operation": "update",
          "objectName": "@happyvertical/smrt-sales:Referral"
        },
        {
          "kind": "cli",
          "name": "referral_delete",
          "operation": "delete",
          "objectName": "@happyvertical/smrt-sales:Referral"
        },
        {
          "kind": "cli",
          "name": "referral_isAttributed",
          "operation": "isAttributed",
          "objectName": "@happyvertical/smrt-sales:Referral"
        },
        {
          "kind": "cli",
          "name": "referral_isQualified",
          "operation": "isQualified",
          "objectName": "@happyvertical/smrt-sales:Referral"
        },
        {
          "kind": "cli",
          "name": "referral_isTerminal",
          "operation": "isTerminal",
          "objectName": "@happyvertical/smrt-sales:Referral"
        },
        {
          "kind": "cli",
          "name": "referral_getMetadata",
          "operation": "getMetadata",
          "objectName": "@happyvertical/smrt-sales:Referral"
        },
        {
          "kind": "cli",
          "name": "referral_setMetadata",
          "operation": "setMetadata",
          "objectName": "@happyvertical/smrt-sales:Referral"
        },
        {
          "kind": "cli",
          "name": "referral_markUnderReview",
          "operation": "markUnderReview",
          "objectName": "@happyvertical/smrt-sales:Referral"
        },
        {
          "kind": "cli",
          "name": "referral_markAttributed",
          "operation": "markAttributed",
          "objectName": "@happyvertical/smrt-sales:Referral"
        },
        {
          "kind": "cli",
          "name": "referral_markQualified",
          "operation": "markQualified",
          "objectName": "@happyvertical/smrt-sales:Referral"
        },
        {
          "kind": "cli",
          "name": "referral_disqualify",
          "operation": "disqualify",
          "objectName": "@happyvertical/smrt-sales:Referral"
        },
        {
          "kind": "cli",
          "name": "referral_markExpired",
          "operation": "markExpired",
          "objectName": "@happyvertical/smrt-sales:Referral"
        },
        {
          "kind": "mcp",
          "name": "referral_list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:Referral"
        },
        {
          "kind": "mcp",
          "name": "referral_get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:Referral"
        }
      ],
      "withheldSurfaces": [
        {
          "kind": "api",
          "operation": "disqualify",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:Referral"
        },
        {
          "kind": "api",
          "operation": "getMetadata",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:Referral"
        },
        {
          "kind": "api",
          "operation": "initialize",
          "code": "lifecycle-method",
          "reason": "`initialize` is a framework lifecycle method, not a distinct operation",
          "objectName": "@happyvertical/smrt-sales:Referral"
        },
        {
          "kind": "api",
          "operation": "isAttributed",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:Referral"
        },
        {
          "kind": "api",
          "operation": "isQualified",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:Referral"
        },
        {
          "kind": "api",
          "operation": "isTerminal",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:Referral"
        },
        {
          "kind": "api",
          "operation": "markAttributed",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:Referral"
        },
        {
          "kind": "api",
          "operation": "markExpired",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:Referral"
        },
        {
          "kind": "api",
          "operation": "markQualified",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:Referral"
        },
        {
          "kind": "api",
          "operation": "markUnderReview",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:Referral"
        },
        {
          "kind": "api",
          "operation": "save",
          "code": "lifecycle-method",
          "reason": "`save` is a framework lifecycle method, not a distinct operation",
          "objectName": "@happyvertical/smrt-sales:Referral"
        },
        {
          "kind": "api",
          "operation": "setMetadata",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:Referral"
        }
      ],
      "relationshipFeatures": [
        "foreignKey",
        "uuidColumns"
      ],
      "tags": [],
      "risks": []
    },
    {
      "name": "ReferralAgreement",
      "qualifiedName": "@happyvertical/smrt-sales:ReferralAgreement",
      "collection": "referralagreements",
      "tableName": "referral_agreements",
      "packageName": "@happyvertical/smrt-sales",
      "extends": "SmrtObject",
      "fields": [
        {
          "name": "tenantId",
          "type": "text",
          "required": false,
          "columnType": "UUID"
        },
        {
          "name": "referrerId",
          "type": "foreignKey",
          "required": true,
          "related": "Referrer",
          "columnType": "UUID"
        },
        {
          "name": "programId",
          "type": "foreignKey",
          "required": true,
          "related": "ReferralProgram",
          "columnType": "UUID"
        },
        {
          "name": "version",
          "type": "integer",
          "required": false,
          "columnType": "INTEGER",
          "default": 1
        },
        {
          "name": "status",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "draft"
        },
        {
          "name": "effectiveFrom",
          "type": "datetime",
          "required": false,
          "columnType": "TIMESTAMP"
        },
        {
          "name": "effectiveTo",
          "type": "datetime",
          "required": false,
          "columnType": "TIMESTAMP"
        },
        {
          "name": "commissionPlanKey",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "commissionPlanVersion",
          "type": "integer",
          "required": false,
          "columnType": "INTEGER",
          "default": 0
        },
        {
          "name": "clearingDays",
          "type": "integer",
          "required": false,
          "columnType": "INTEGER",
          "default": 0
        },
        {
          "name": "approvalMode",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "manual"
        },
        {
          "name": "executionId",
          "type": "foreignKey",
          "required": false,
          "related": "AgreementExecution",
          "columnType": "UUID"
        },
        {
          "name": "executedAgreementId",
          "type": "foreignKey",
          "required": false,
          "related": "ExecutedAgreement",
          "columnType": "UUID"
        },
        {
          "name": "metadata",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "{}"
        }
      ],
      "relationships": [
        {
          "name": "referrerId",
          "type": "foreignKey",
          "required": true,
          "related": "Referrer",
          "columnType": "UUID"
        },
        {
          "name": "programId",
          "type": "foreignKey",
          "required": true,
          "related": "ReferralProgram",
          "columnType": "UUID"
        },
        {
          "name": "executionId",
          "type": "foreignKey",
          "required": false,
          "related": "AgreementExecution",
          "columnType": "UUID"
        },
        {
          "name": "executedAgreementId",
          "type": "foreignKey",
          "required": false,
          "related": "ExecutedAgreement",
          "columnType": "UUID"
        }
      ],
      "methods": [
        "activate",
        "bindExecutedAgreement",
        "bindExecution",
        "getMetadata",
        "initialize",
        "isActive",
        "isDraft",
        "isEffectiveAt",
        "save",
        "setMetadata",
        "supersede",
        "terminate"
      ],
      "methodSignatures": [
        {
          "name": "activate",
          "returns": "void"
        },
        {
          "name": "bindExecutedAgreement",
          "params": [
            "executedAgreementId: string"
          ],
          "returns": "void"
        },
        {
          "name": "bindExecution",
          "params": [
            "executionId: string"
          ],
          "returns": "void"
        },
        {
          "name": "getMetadata",
          "returns": "Record<string, unknown>"
        },
        {
          "name": "initialize",
          "async": true,
          "returns": "Promise<this>"
        },
        {
          "name": "isActive",
          "returns": "boolean"
        },
        {
          "name": "isDraft",
          "returns": "boolean"
        },
        {
          "name": "isEffectiveAt",
          "params": [
            "at: Date"
          ],
          "returns": "boolean"
        },
        {
          "name": "save",
          "async": true,
          "returns": "Promise<this>"
        },
        {
          "name": "setMetadata",
          "params": [
            "data: Record<string, unknown>"
          ],
          "returns": "void"
        },
        {
          "name": "supersede",
          "returns": "void"
        },
        {
          "name": "terminate",
          "returns": "void"
        }
      ],
      "tenant": {
        "scoped": true,
        "mode": "optional",
        "field": "tenantId"
      },
      "conflictColumns": [
        "referrer_id",
        "program_id",
        "version"
      ],
      "surfaces": [
        {
          "kind": "api",
          "name": "referralagreements.list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:ReferralAgreement",
          "path": "/referralagreements",
          "method": "GET"
        },
        {
          "kind": "api",
          "name": "referralagreements.get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:ReferralAgreement",
          "path": "/referralagreements/[id]",
          "method": "GET"
        },
        {
          "kind": "api",
          "name": "referralagreements.create",
          "operation": "create",
          "objectName": "@happyvertical/smrt-sales:ReferralAgreement",
          "path": "/referralagreements",
          "method": "POST"
        },
        {
          "kind": "cli",
          "name": "referralagreement_list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:ReferralAgreement"
        },
        {
          "kind": "cli",
          "name": "referralagreement_get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:ReferralAgreement"
        },
        {
          "kind": "cli",
          "name": "referralagreement_create",
          "operation": "create",
          "objectName": "@happyvertical/smrt-sales:ReferralAgreement"
        },
        {
          "kind": "cli",
          "name": "referralagreement_update",
          "operation": "update",
          "objectName": "@happyvertical/smrt-sales:ReferralAgreement"
        },
        {
          "kind": "cli",
          "name": "referralagreement_delete",
          "operation": "delete",
          "objectName": "@happyvertical/smrt-sales:ReferralAgreement"
        },
        {
          "kind": "cli",
          "name": "referralagreement_isDraft",
          "operation": "isDraft",
          "objectName": "@happyvertical/smrt-sales:ReferralAgreement"
        },
        {
          "kind": "cli",
          "name": "referralagreement_isActive",
          "operation": "isActive",
          "objectName": "@happyvertical/smrt-sales:ReferralAgreement"
        },
        {
          "kind": "cli",
          "name": "referralagreement_isEffectiveAt",
          "operation": "isEffectiveAt",
          "objectName": "@happyvertical/smrt-sales:ReferralAgreement"
        },
        {
          "kind": "cli",
          "name": "referralagreement_getMetadata",
          "operation": "getMetadata",
          "objectName": "@happyvertical/smrt-sales:ReferralAgreement"
        },
        {
          "kind": "cli",
          "name": "referralagreement_setMetadata",
          "operation": "setMetadata",
          "objectName": "@happyvertical/smrt-sales:ReferralAgreement"
        },
        {
          "kind": "cli",
          "name": "referralagreement_activate",
          "operation": "activate",
          "objectName": "@happyvertical/smrt-sales:ReferralAgreement"
        },
        {
          "kind": "cli",
          "name": "referralagreement_bindExecution",
          "operation": "bindExecution",
          "objectName": "@happyvertical/smrt-sales:ReferralAgreement"
        },
        {
          "kind": "cli",
          "name": "referralagreement_bindExecutedAgreement",
          "operation": "bindExecutedAgreement",
          "objectName": "@happyvertical/smrt-sales:ReferralAgreement"
        },
        {
          "kind": "cli",
          "name": "referralagreement_supersede",
          "operation": "supersede",
          "objectName": "@happyvertical/smrt-sales:ReferralAgreement"
        },
        {
          "kind": "cli",
          "name": "referralagreement_terminate",
          "operation": "terminate",
          "objectName": "@happyvertical/smrt-sales:ReferralAgreement"
        },
        {
          "kind": "mcp",
          "name": "referralagreement_list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:ReferralAgreement"
        },
        {
          "kind": "mcp",
          "name": "referralagreement_get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:ReferralAgreement"
        }
      ],
      "withheldSurfaces": [
        {
          "kind": "api",
          "operation": "activate",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:ReferralAgreement"
        },
        {
          "kind": "api",
          "operation": "bindExecutedAgreement",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:ReferralAgreement"
        },
        {
          "kind": "api",
          "operation": "bindExecution",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:ReferralAgreement"
        },
        {
          "kind": "api",
          "operation": "getMetadata",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:ReferralAgreement"
        },
        {
          "kind": "api",
          "operation": "initialize",
          "code": "lifecycle-method",
          "reason": "`initialize` is a framework lifecycle method, not a distinct operation",
          "objectName": "@happyvertical/smrt-sales:ReferralAgreement"
        },
        {
          "kind": "api",
          "operation": "isActive",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:ReferralAgreement"
        },
        {
          "kind": "api",
          "operation": "isDraft",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:ReferralAgreement"
        },
        {
          "kind": "api",
          "operation": "isEffectiveAt",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:ReferralAgreement"
        },
        {
          "kind": "api",
          "operation": "save",
          "code": "lifecycle-method",
          "reason": "`save` is a framework lifecycle method, not a distinct operation",
          "objectName": "@happyvertical/smrt-sales:ReferralAgreement"
        },
        {
          "kind": "api",
          "operation": "setMetadata",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:ReferralAgreement"
        },
        {
          "kind": "api",
          "operation": "supersede",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:ReferralAgreement"
        },
        {
          "kind": "api",
          "operation": "terminate",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:ReferralAgreement"
        }
      ],
      "relationshipFeatures": [
        "foreignKey",
        "uuidColumns"
      ],
      "tags": [],
      "risks": []
    },
    {
      "name": "ReferralClickOperation",
      "qualifiedName": "@happyvertical/smrt-sales:ReferralClickOperation",
      "collection": "referralclickoperations",
      "tableName": "referral_click_operations",
      "packageName": "@happyvertical/smrt-sales",
      "extends": "SmrtObject",
      "fields": [
        {
          "name": "tenantId",
          "type": "text",
          "required": false,
          "columnType": "UUID"
        },
        {
          "name": "keyHash",
          "type": "text",
          "required": true,
          "columnType": "TEXT",
          "readonly": true
        },
        {
          "name": "linkId",
          "type": "text",
          "required": true,
          "columnType": "UUID",
          "readonly": true
        },
        {
          "name": "touchId",
          "type": "text",
          "required": true,
          "columnType": "UUID",
          "readonly": true
        },
        {
          "name": "intentHash",
          "type": "text",
          "required": true,
          "columnType": "TEXT",
          "readonly": true
        },
        {
          "name": "callerEvidenceHash",
          "type": "text",
          "required": true,
          "columnType": "TEXT",
          "readonly": true
        },
        {
          "name": "requestedOccurredAt",
          "type": "text",
          "required": true,
          "columnType": "TEXT",
          "readonly": true
        }
      ],
      "relationships": [],
      "methods": [
        "initialize"
      ],
      "methodSignatures": [
        {
          "name": "initialize",
          "async": true,
          "returns": "Promise<this>"
        }
      ],
      "tenant": {
        "scoped": true,
        "mode": "optional",
        "field": "tenantId"
      },
      "conflictColumns": [
        "tenant_id",
        "slug",
        "context"
      ],
      "surfaces": [],
      "withheldSurfaces": [
        {
          "kind": "api",
          "operation": "initialize",
          "code": "api-disabled",
          "reason": "api is disabled",
          "objectName": "@happyvertical/smrt-sales:ReferralClickOperation"
        }
      ],
      "relationshipFeatures": [
        "uuidColumns"
      ],
      "tags": [],
      "risks": []
    },
    {
      "name": "ReferralLink",
      "qualifiedName": "@happyvertical/smrt-sales:ReferralLink",
      "collection": "referrallinks",
      "tableName": "referral_links",
      "packageName": "@happyvertical/smrt-sales",
      "extends": "SmrtObject",
      "fields": [
        {
          "name": "tenantId",
          "type": "text",
          "required": false,
          "columnType": "UUID"
        },
        {
          "name": "referrerId",
          "type": "foreignKey",
          "required": true,
          "related": "Referrer",
          "columnType": "UUID"
        },
        {
          "name": "programId",
          "type": "foreignKey",
          "required": true,
          "related": "ReferralProgram",
          "columnType": "UUID"
        },
        {
          "name": "code",
          "type": "text",
          "required": true,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "targetUrl",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "label",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "status",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "active"
        },
        {
          "name": "clickCount",
          "type": "integer",
          "required": false,
          "columnType": "INTEGER",
          "default": 0
        },
        {
          "name": "metadata",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "{}"
        }
      ],
      "relationships": [
        {
          "name": "referrerId",
          "type": "foreignKey",
          "required": true,
          "related": "Referrer",
          "columnType": "UUID"
        },
        {
          "name": "programId",
          "type": "foreignKey",
          "required": true,
          "related": "ReferralProgram",
          "columnType": "UUID"
        }
      ],
      "methods": [
        "getMetadata",
        "isActive",
        "save",
        "setMetadata"
      ],
      "methodSignatures": [
        {
          "name": "getMetadata",
          "returns": "Record<string, unknown>"
        },
        {
          "name": "isActive",
          "returns": "boolean"
        },
        {
          "name": "save",
          "async": true,
          "returns": "Promise<this>"
        },
        {
          "name": "setMetadata",
          "params": [
            "metadata: Record<string, unknown>"
          ],
          "returns": "void"
        }
      ],
      "tenant": {
        "scoped": true,
        "mode": "optional",
        "field": "tenantId"
      },
      "conflictColumns": [
        "code"
      ],
      "surfaces": [
        {
          "kind": "api",
          "name": "referrallinks.list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:ReferralLink",
          "path": "/referrallinks",
          "method": "GET"
        },
        {
          "kind": "api",
          "name": "referrallinks.get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:ReferralLink",
          "path": "/referrallinks/[id]",
          "method": "GET"
        },
        {
          "kind": "api",
          "name": "referrallinks.create",
          "operation": "create",
          "objectName": "@happyvertical/smrt-sales:ReferralLink",
          "path": "/referrallinks",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "referrallinks.update",
          "operation": "update",
          "objectName": "@happyvertical/smrt-sales:ReferralLink",
          "path": "/referrallinks/[id]",
          "method": "PATCH"
        },
        {
          "kind": "cli",
          "name": "referrallink_list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:ReferralLink"
        },
        {
          "kind": "cli",
          "name": "referrallink_get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:ReferralLink"
        },
        {
          "kind": "cli",
          "name": "referrallink_create",
          "operation": "create",
          "objectName": "@happyvertical/smrt-sales:ReferralLink"
        },
        {
          "kind": "cli",
          "name": "referrallink_update",
          "operation": "update",
          "objectName": "@happyvertical/smrt-sales:ReferralLink"
        },
        {
          "kind": "cli",
          "name": "referrallink_delete",
          "operation": "delete",
          "objectName": "@happyvertical/smrt-sales:ReferralLink"
        },
        {
          "kind": "cli",
          "name": "referrallink_isActive",
          "operation": "isActive",
          "objectName": "@happyvertical/smrt-sales:ReferralLink"
        },
        {
          "kind": "cli",
          "name": "referrallink_getMetadata",
          "operation": "getMetadata",
          "objectName": "@happyvertical/smrt-sales:ReferralLink"
        },
        {
          "kind": "cli",
          "name": "referrallink_setMetadata",
          "operation": "setMetadata",
          "objectName": "@happyvertical/smrt-sales:ReferralLink"
        },
        {
          "kind": "mcp",
          "name": "referrallink_list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:ReferralLink"
        },
        {
          "kind": "mcp",
          "name": "referrallink_get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:ReferralLink"
        },
        {
          "kind": "mcp",
          "name": "referrallink_create",
          "operation": "create",
          "objectName": "@happyvertical/smrt-sales:ReferralLink"
        }
      ],
      "withheldSurfaces": [
        {
          "kind": "api",
          "operation": "getMetadata",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:ReferralLink"
        },
        {
          "kind": "api",
          "operation": "isActive",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:ReferralLink"
        },
        {
          "kind": "api",
          "operation": "save",
          "code": "lifecycle-method",
          "reason": "`save` is a framework lifecycle method, not a distinct operation",
          "objectName": "@happyvertical/smrt-sales:ReferralLink"
        },
        {
          "kind": "api",
          "operation": "setMetadata",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:ReferralLink"
        }
      ],
      "relationshipFeatures": [
        "foreignKey",
        "uuidColumns"
      ],
      "tags": [],
      "risks": []
    },
    {
      "name": "ReferralProgram",
      "qualifiedName": "@happyvertical/smrt-sales:ReferralProgram",
      "collection": "referralprograms",
      "tableName": "referral_programs",
      "packageName": "@happyvertical/smrt-sales",
      "extends": "SmrtObject",
      "fields": [
        {
          "name": "tenantId",
          "type": "text",
          "required": false,
          "columnType": "UUID"
        },
        {
          "name": "key",
          "type": "text",
          "required": true,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "name",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "status",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "draft"
        },
        {
          "name": "defaultCommissionPlanKey",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "defaultAttributionPolicyKey",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "metadata",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "{}"
        }
      ],
      "relationships": [],
      "methods": [
        "getMetadata",
        "isActive",
        "setMetadata"
      ],
      "methodSignatures": [
        {
          "name": "getMetadata",
          "returns": "Record<string, unknown>"
        },
        {
          "name": "isActive",
          "returns": "boolean"
        },
        {
          "name": "setMetadata",
          "params": [
            "metadata: Record<string, unknown>"
          ],
          "returns": "void"
        }
      ],
      "tenant": {
        "scoped": true,
        "mode": "optional",
        "field": "tenantId"
      },
      "conflictColumns": [
        "tenant_id",
        "key"
      ],
      "surfaces": [
        {
          "kind": "api",
          "name": "referralprograms.list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:ReferralProgram",
          "path": "/referralprograms",
          "method": "GET"
        },
        {
          "kind": "api",
          "name": "referralprograms.get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:ReferralProgram",
          "path": "/referralprograms/[id]",
          "method": "GET"
        },
        {
          "kind": "api",
          "name": "referralprograms.create",
          "operation": "create",
          "objectName": "@happyvertical/smrt-sales:ReferralProgram",
          "path": "/referralprograms",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "referralprograms.update",
          "operation": "update",
          "objectName": "@happyvertical/smrt-sales:ReferralProgram",
          "path": "/referralprograms/[id]",
          "method": "PATCH"
        },
        {
          "kind": "cli",
          "name": "referralprogram_list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:ReferralProgram"
        },
        {
          "kind": "cli",
          "name": "referralprogram_get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:ReferralProgram"
        },
        {
          "kind": "cli",
          "name": "referralprogram_create",
          "operation": "create",
          "objectName": "@happyvertical/smrt-sales:ReferralProgram"
        },
        {
          "kind": "cli",
          "name": "referralprogram_update",
          "operation": "update",
          "objectName": "@happyvertical/smrt-sales:ReferralProgram"
        },
        {
          "kind": "cli",
          "name": "referralprogram_delete",
          "operation": "delete",
          "objectName": "@happyvertical/smrt-sales:ReferralProgram"
        },
        {
          "kind": "cli",
          "name": "referralprogram_isActive",
          "operation": "isActive",
          "objectName": "@happyvertical/smrt-sales:ReferralProgram"
        },
        {
          "kind": "cli",
          "name": "referralprogram_getMetadata",
          "operation": "getMetadata",
          "objectName": "@happyvertical/smrt-sales:ReferralProgram"
        },
        {
          "kind": "cli",
          "name": "referralprogram_setMetadata",
          "operation": "setMetadata",
          "objectName": "@happyvertical/smrt-sales:ReferralProgram"
        },
        {
          "kind": "mcp",
          "name": "referralprogram_list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:ReferralProgram"
        },
        {
          "kind": "mcp",
          "name": "referralprogram_get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:ReferralProgram"
        }
      ],
      "withheldSurfaces": [
        {
          "kind": "api",
          "operation": "getMetadata",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:ReferralProgram"
        },
        {
          "kind": "api",
          "operation": "isActive",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:ReferralProgram"
        },
        {
          "kind": "api",
          "operation": "setMetadata",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:ReferralProgram"
        }
      ],
      "relationshipFeatures": [
        "uuidColumns"
      ],
      "tags": [],
      "risks": []
    },
    {
      "name": "ReferralTermSnapshot",
      "qualifiedName": "@happyvertical/smrt-sales:ReferralTermSnapshot",
      "collection": "referraltermsnapshots",
      "tableName": "referral_term_snapshots",
      "packageName": "@happyvertical/smrt-sales",
      "extends": "SmrtObject",
      "fields": [
        {
          "name": "tenantId",
          "type": "text",
          "required": false,
          "columnType": "UUID"
        },
        {
          "name": "referralId",
          "type": "foreignKey",
          "required": true,
          "related": "Referral",
          "columnType": "UUID"
        },
        {
          "name": "agreementId",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "agreementVersion",
          "type": "integer",
          "required": false,
          "columnType": "INTEGER",
          "default": 0
        },
        {
          "name": "planKey",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "planVersion",
          "type": "integer",
          "required": false,
          "columnType": "INTEGER",
          "default": 0
        },
        {
          "name": "policyKey",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "policyVersion",
          "type": "integer",
          "required": false,
          "columnType": "INTEGER",
          "default": 0
        },
        {
          "name": "components",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "[]"
        },
        {
          "name": "currency",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "USD"
        },
        {
          "name": "clearingDays",
          "type": "integer",
          "required": false,
          "columnType": "INTEGER",
          "default": 0
        },
        {
          "name": "approvalMode",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "manual"
        },
        {
          "name": "metadata",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "{}"
        }
      ],
      "relationships": [
        {
          "name": "referralId",
          "type": "foreignKey",
          "required": true,
          "related": "Referral",
          "columnType": "UUID"
        }
      ],
      "methods": [
        "getComponents",
        "getMetadata",
        "initialize",
        "save"
      ],
      "methodSignatures": [
        {
          "name": "getComponents",
          "returns": "CommissionPlanComponent[]"
        },
        {
          "name": "getMetadata",
          "returns": "Record<string, unknown>"
        },
        {
          "name": "initialize",
          "async": true,
          "returns": "Promise<this>"
        },
        {
          "name": "save",
          "async": true,
          "returns": "Promise<this>"
        }
      ],
      "tenant": {
        "scoped": true,
        "mode": "optional",
        "field": "tenantId"
      },
      "conflictColumns": [
        "tenant_id",
        "slug",
        "context"
      ],
      "surfaces": [
        {
          "kind": "api",
          "name": "referraltermsnapshots.list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:ReferralTermSnapshot",
          "path": "/referraltermsnapshots",
          "method": "GET"
        },
        {
          "kind": "api",
          "name": "referraltermsnapshots.get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:ReferralTermSnapshot",
          "path": "/referraltermsnapshots/[id]",
          "method": "GET"
        },
        {
          "kind": "mcp",
          "name": "referraltermsnapshot_list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:ReferralTermSnapshot"
        },
        {
          "kind": "mcp",
          "name": "referraltermsnapshot_get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:ReferralTermSnapshot"
        }
      ],
      "withheldSurfaces": [
        {
          "kind": "api",
          "operation": "getComponents",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:ReferralTermSnapshot"
        },
        {
          "kind": "api",
          "operation": "getMetadata",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:ReferralTermSnapshot"
        },
        {
          "kind": "api",
          "operation": "initialize",
          "code": "lifecycle-method",
          "reason": "`initialize` is a framework lifecycle method, not a distinct operation",
          "objectName": "@happyvertical/smrt-sales:ReferralTermSnapshot"
        },
        {
          "kind": "api",
          "operation": "save",
          "code": "lifecycle-method",
          "reason": "`save` is a framework lifecycle method, not a distinct operation",
          "objectName": "@happyvertical/smrt-sales:ReferralTermSnapshot"
        }
      ],
      "relationshipFeatures": [
        "foreignKey",
        "uuidColumns"
      ],
      "tags": [],
      "risks": []
    },
    {
      "name": "ReferralTouch",
      "qualifiedName": "@happyvertical/smrt-sales:ReferralTouch",
      "collection": "referraltouches",
      "tableName": "referral_touches",
      "packageName": "@happyvertical/smrt-sales",
      "extends": "SmrtObject",
      "fields": [
        {
          "name": "tenantId",
          "type": "text",
          "required": false,
          "columnType": "UUID"
        },
        {
          "name": "linkId",
          "type": "foreignKey",
          "required": false,
          "related": "ReferralLink",
          "columnType": "UUID"
        },
        {
          "name": "code",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "referrerId",
          "type": "foreignKey",
          "required": true,
          "related": "Referrer",
          "columnType": "UUID"
        },
        {
          "name": "programId",
          "type": "foreignKey",
          "required": false,
          "related": "ReferralProgram",
          "columnType": "UUID"
        },
        {
          "name": "kind",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "click"
        },
        {
          "name": "subjectKind",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "subjectId",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "occurredAt",
          "type": "datetime",
          "required": false,
          "columnType": "TIMESTAMP"
        },
        {
          "name": "evidence",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "{}"
        },
        {
          "name": "metadata",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "{}"
        }
      ],
      "relationships": [
        {
          "name": "linkId",
          "type": "foreignKey",
          "required": false,
          "related": "ReferralLink",
          "columnType": "UUID"
        },
        {
          "name": "referrerId",
          "type": "foreignKey",
          "required": true,
          "related": "Referrer",
          "columnType": "UUID"
        },
        {
          "name": "programId",
          "type": "foreignKey",
          "required": false,
          "related": "ReferralProgram",
          "columnType": "UUID"
        }
      ],
      "methods": [
        "getEvidence",
        "getMetadata",
        "initialize",
        "setEvidence",
        "setMetadata"
      ],
      "methodSignatures": [
        {
          "name": "getEvidence",
          "returns": "Record<string, unknown>"
        },
        {
          "name": "getMetadata",
          "returns": "Record<string, unknown>"
        },
        {
          "name": "initialize",
          "async": true,
          "returns": "Promise<this>"
        },
        {
          "name": "setEvidence",
          "params": [
            "evidence: Record<string, unknown>"
          ],
          "returns": "void"
        },
        {
          "name": "setMetadata",
          "params": [
            "data: Record<string, unknown>"
          ],
          "returns": "void"
        }
      ],
      "tenant": {
        "scoped": true,
        "mode": "optional",
        "field": "tenantId"
      },
      "conflictColumns": [
        "tenant_id",
        "slug",
        "context"
      ],
      "surfaces": [
        {
          "kind": "api",
          "name": "referraltouches.list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:ReferralTouch",
          "path": "/referraltouches",
          "method": "GET"
        },
        {
          "kind": "api",
          "name": "referraltouches.get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:ReferralTouch",
          "path": "/referraltouches/[id]",
          "method": "GET"
        },
        {
          "kind": "api",
          "name": "referraltouches.create",
          "operation": "create",
          "objectName": "@happyvertical/smrt-sales:ReferralTouch",
          "path": "/referraltouches",
          "method": "POST"
        },
        {
          "kind": "mcp",
          "name": "referraltouch_list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:ReferralTouch"
        },
        {
          "kind": "mcp",
          "name": "referraltouch_create",
          "operation": "create",
          "objectName": "@happyvertical/smrt-sales:ReferralTouch"
        }
      ],
      "withheldSurfaces": [
        {
          "kind": "api",
          "operation": "getEvidence",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:ReferralTouch"
        },
        {
          "kind": "api",
          "operation": "getMetadata",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:ReferralTouch"
        },
        {
          "kind": "api",
          "operation": "initialize",
          "code": "lifecycle-method",
          "reason": "`initialize` is a framework lifecycle method, not a distinct operation",
          "objectName": "@happyvertical/smrt-sales:ReferralTouch"
        },
        {
          "kind": "api",
          "operation": "setEvidence",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:ReferralTouch"
        },
        {
          "kind": "api",
          "operation": "setMetadata",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:ReferralTouch"
        }
      ],
      "relationshipFeatures": [
        "foreignKey",
        "uuidColumns"
      ],
      "tags": [],
      "risks": []
    },
    {
      "name": "Referrer",
      "qualifiedName": "@happyvertical/smrt-sales:Referrer",
      "collection": "referrers",
      "tableName": "referrers",
      "packageName": "@happyvertical/smrt-sales",
      "extends": "SmrtObject",
      "fields": [
        {
          "name": "tenantId",
          "type": "text",
          "required": false,
          "columnType": "UUID"
        },
        {
          "name": "profileId",
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-profiles:Profile",
          "columnType": "UUID"
        },
        {
          "name": "earnerId",
          "type": "foreignKey",
          "required": false,
          "related": "Earner",
          "columnType": "UUID"
        },
        {
          "name": "displayName",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": ""
        },
        {
          "name": "status",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "pending"
        },
        {
          "name": "metadata",
          "type": "text",
          "required": false,
          "columnType": "TEXT",
          "default": "{}"
        }
      ],
      "relationships": [
        {
          "name": "profileId",
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-profiles:Profile",
          "columnType": "UUID"
        },
        {
          "name": "earnerId",
          "type": "foreignKey",
          "required": false,
          "related": "Earner",
          "columnType": "UUID"
        }
      ],
      "methods": [
        "getMetadata",
        "isActive",
        "isPending",
        "isSuspended",
        "setMetadata"
      ],
      "methodSignatures": [
        {
          "name": "getMetadata",
          "returns": "Record<string, unknown>"
        },
        {
          "name": "isActive",
          "returns": "boolean"
        },
        {
          "name": "isPending",
          "returns": "boolean"
        },
        {
          "name": "isSuspended",
          "returns": "boolean"
        },
        {
          "name": "setMetadata",
          "params": [
            "metadata: Record<string, unknown>"
          ],
          "returns": "void"
        }
      ],
      "tenant": {
        "scoped": true,
        "mode": "optional",
        "field": "tenantId"
      },
      "conflictColumns": [
        "tenant_id",
        "slug",
        "context"
      ],
      "surfaces": [
        {
          "kind": "api",
          "name": "referrers.list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:Referrer",
          "path": "/referrers",
          "method": "GET"
        },
        {
          "kind": "api",
          "name": "referrers.get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:Referrer",
          "path": "/referrers/[id]",
          "method": "GET"
        },
        {
          "kind": "api",
          "name": "referrers.create",
          "operation": "create",
          "objectName": "@happyvertical/smrt-sales:Referrer",
          "path": "/referrers",
          "method": "POST"
        },
        {
          "kind": "api",
          "name": "referrers.update",
          "operation": "update",
          "objectName": "@happyvertical/smrt-sales:Referrer",
          "path": "/referrers/[id]",
          "method": "PATCH"
        },
        {
          "kind": "cli",
          "name": "referrer_list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:Referrer"
        },
        {
          "kind": "cli",
          "name": "referrer_get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:Referrer"
        },
        {
          "kind": "cli",
          "name": "referrer_create",
          "operation": "create",
          "objectName": "@happyvertical/smrt-sales:Referrer"
        },
        {
          "kind": "cli",
          "name": "referrer_update",
          "operation": "update",
          "objectName": "@happyvertical/smrt-sales:Referrer"
        },
        {
          "kind": "cli",
          "name": "referrer_delete",
          "operation": "delete",
          "objectName": "@happyvertical/smrt-sales:Referrer"
        },
        {
          "kind": "cli",
          "name": "referrer_isActive",
          "operation": "isActive",
          "objectName": "@happyvertical/smrt-sales:Referrer"
        },
        {
          "kind": "cli",
          "name": "referrer_isPending",
          "operation": "isPending",
          "objectName": "@happyvertical/smrt-sales:Referrer"
        },
        {
          "kind": "cli",
          "name": "referrer_isSuspended",
          "operation": "isSuspended",
          "objectName": "@happyvertical/smrt-sales:Referrer"
        },
        {
          "kind": "cli",
          "name": "referrer_getMetadata",
          "operation": "getMetadata",
          "objectName": "@happyvertical/smrt-sales:Referrer"
        },
        {
          "kind": "cli",
          "name": "referrer_setMetadata",
          "operation": "setMetadata",
          "objectName": "@happyvertical/smrt-sales:Referrer"
        },
        {
          "kind": "mcp",
          "name": "referrer_list",
          "operation": "list",
          "objectName": "@happyvertical/smrt-sales:Referrer"
        },
        {
          "kind": "mcp",
          "name": "referrer_get",
          "operation": "get",
          "objectName": "@happyvertical/smrt-sales:Referrer"
        },
        {
          "kind": "mcp",
          "name": "referrer_create",
          "operation": "create",
          "objectName": "@happyvertical/smrt-sales:Referrer"
        }
      ],
      "withheldSurfaces": [
        {
          "kind": "api",
          "operation": "getMetadata",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:Referrer"
        },
        {
          "kind": "api",
          "operation": "isActive",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:Referrer"
        },
        {
          "kind": "api",
          "operation": "isPending",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:Referrer"
        },
        {
          "kind": "api",
          "operation": "isSuspended",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:Referrer"
        },
        {
          "kind": "api",
          "operation": "setMetadata",
          "code": "not-included",
          "reason": "not listed in api.include",
          "objectName": "@happyvertical/smrt-sales:Referrer"
        }
      ],
      "relationshipFeatures": [
        "crossPackageRef",
        "foreignKey",
        "uuidColumns"
      ],
      "tags": [],
      "risks": []
    }
  ],
  "surfaces": [
    {
      "kind": "api",
      "name": "executedagreements.findByExecution",
      "operation": "findByExecution",
      "objectName": "@happyvertical/smrt-sales:ExecutedAgreementCollection",
      "path": "/executedagreements/findByExecution",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "executedagreements.createImmutable",
      "operation": "createImmutable",
      "objectName": "@happyvertical/smrt-sales:ExecutedAgreementCollection",
      "path": "/executedagreements/createImmutable",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "executedagreements.findVersionsBySource",
      "operation": "findVersionsBySource",
      "objectName": "@happyvertical/smrt-sales:ExecutedAgreementCollection",
      "path": "/executedagreements/findVersionsBySource",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "executedagreements.effectiveForSource",
      "operation": "effectiveForSource",
      "objectName": "@happyvertical/smrt-sales:ExecutedAgreementCollection",
      "path": "/executedagreements/effectiveForSource",
      "method": "POST"
    },
    {
      "kind": "mcp",
      "name": "executedagreementcollection_findbyexecution",
      "operation": "findByExecution",
      "objectName": "@happyvertical/smrt-sales:ExecutedAgreementCollection"
    },
    {
      "kind": "mcp",
      "name": "executedagreementcollection_createimmutable",
      "operation": "createImmutable",
      "objectName": "@happyvertical/smrt-sales:ExecutedAgreementCollection"
    },
    {
      "kind": "mcp",
      "name": "executedagreementcollection_findversionsbysource",
      "operation": "findVersionsBySource",
      "objectName": "@happyvertical/smrt-sales:ExecutedAgreementCollection"
    },
    {
      "kind": "mcp",
      "name": "executedagreementcollection_effectiveforsource",
      "operation": "effectiveForSource",
      "objectName": "@happyvertical/smrt-sales:ExecutedAgreementCollection"
    },
    {
      "kind": "api",
      "name": "executedagreements.list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:ExecutedAgreement",
      "path": "/executedagreements",
      "method": "GET"
    },
    {
      "kind": "api",
      "name": "executedagreements.get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:ExecutedAgreement",
      "path": "/executedagreements/[id]",
      "method": "GET"
    },
    {
      "kind": "mcp",
      "name": "executedagreement_list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:ExecutedAgreement"
    },
    {
      "kind": "mcp",
      "name": "executedagreement_get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:ExecutedAgreement"
    },
    {
      "kind": "api",
      "name": "commissionadjustments.findByCommission",
      "operation": "findByCommission",
      "objectName": "@happyvertical/smrt-sales:CommissionAdjustmentCollection",
      "path": "/commissionadjustments/findByCommission",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "commissionadjustments.findUnsettledByEarner",
      "operation": "findUnsettledByEarner",
      "objectName": "@happyvertical/smrt-sales:CommissionAdjustmentCollection",
      "path": "/commissionadjustments/findUnsettledByEarner",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "commissionadjustments.sumUnsettledByEarner",
      "operation": "sumUnsettledByEarner",
      "objectName": "@happyvertical/smrt-sales:CommissionAdjustmentCollection",
      "path": "/commissionadjustments/sumUnsettledByEarner",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "commissionadjustments.findByPayout",
      "operation": "findByPayout",
      "objectName": "@happyvertical/smrt-sales:CommissionAdjustmentCollection",
      "path": "/commissionadjustments/findByPayout",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "commissionadjustments.findByPayouts",
      "operation": "findByPayouts",
      "objectName": "@happyvertical/smrt-sales:CommissionAdjustmentCollection",
      "path": "/commissionadjustments/findByPayouts",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "commissionadjustments.claimForPayout",
      "operation": "claimForPayout",
      "objectName": "@happyvertical/smrt-sales:CommissionAdjustmentCollection",
      "path": "/commissionadjustments/claimForPayout",
      "method": "POST"
    },
    {
      "kind": "mcp",
      "name": "commissionadjustmentcollection_findbycommission",
      "operation": "findByCommission",
      "objectName": "@happyvertical/smrt-sales:CommissionAdjustmentCollection"
    },
    {
      "kind": "mcp",
      "name": "commissionadjustmentcollection_findunsettledbyearner",
      "operation": "findUnsettledByEarner",
      "objectName": "@happyvertical/smrt-sales:CommissionAdjustmentCollection"
    },
    {
      "kind": "mcp",
      "name": "commissionadjustmentcollection_sumunsettledbyearner",
      "operation": "sumUnsettledByEarner",
      "objectName": "@happyvertical/smrt-sales:CommissionAdjustmentCollection"
    },
    {
      "kind": "mcp",
      "name": "commissionadjustmentcollection_findbypayout",
      "operation": "findByPayout",
      "objectName": "@happyvertical/smrt-sales:CommissionAdjustmentCollection"
    },
    {
      "kind": "mcp",
      "name": "commissionadjustmentcollection_findbypayouts",
      "operation": "findByPayouts",
      "objectName": "@happyvertical/smrt-sales:CommissionAdjustmentCollection"
    },
    {
      "kind": "mcp",
      "name": "commissionadjustmentcollection_claimforpayout",
      "operation": "claimForPayout",
      "objectName": "@happyvertical/smrt-sales:CommissionAdjustmentCollection"
    },
    {
      "kind": "api",
      "name": "commissions.findByEarner",
      "operation": "findByEarner",
      "objectName": "@happyvertical/smrt-sales:CommissionCollection",
      "path": "/commissions/findByEarner",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "commissions.findByEvent",
      "operation": "findByEvent",
      "objectName": "@happyvertical/smrt-sales:CommissionCollection",
      "path": "/commissions/findByEvent",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "commissions.findByStatus",
      "operation": "findByStatus",
      "objectName": "@happyvertical/smrt-sales:CommissionCollection",
      "path": "/commissions/findByStatus",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "commissions.findByDedupeKey",
      "operation": "findByDedupeKey",
      "objectName": "@happyvertical/smrt-sales:CommissionCollection",
      "path": "/commissions/findByDedupeKey",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "commissions.findPayableUnsettled",
      "operation": "findPayableUnsettled",
      "objectName": "@happyvertical/smrt-sales:CommissionCollection",
      "path": "/commissions/findPayableUnsettled",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "commissions.sumPayableByEarner",
      "operation": "sumPayableByEarner",
      "objectName": "@happyvertical/smrt-sales:CommissionCollection",
      "path": "/commissions/sumPayableByEarner",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "commissions.findByPayout",
      "operation": "findByPayout",
      "objectName": "@happyvertical/smrt-sales:CommissionCollection",
      "path": "/commissions/findByPayout",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "commissions.findByPayouts",
      "operation": "findByPayouts",
      "objectName": "@happyvertical/smrt-sales:CommissionCollection",
      "path": "/commissions/findByPayouts",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "commissions.claimForPayout",
      "operation": "claimForPayout",
      "objectName": "@happyvertical/smrt-sales:CommissionCollection",
      "path": "/commissions/claimForPayout",
      "method": "POST"
    },
    {
      "kind": "mcp",
      "name": "commissioncollection_findbyearner",
      "operation": "findByEarner",
      "objectName": "@happyvertical/smrt-sales:CommissionCollection"
    },
    {
      "kind": "mcp",
      "name": "commissioncollection_findbyevent",
      "operation": "findByEvent",
      "objectName": "@happyvertical/smrt-sales:CommissionCollection"
    },
    {
      "kind": "mcp",
      "name": "commissioncollection_findbystatus",
      "operation": "findByStatus",
      "objectName": "@happyvertical/smrt-sales:CommissionCollection"
    },
    {
      "kind": "mcp",
      "name": "commissioncollection_findbydedupekey",
      "operation": "findByDedupeKey",
      "objectName": "@happyvertical/smrt-sales:CommissionCollection"
    },
    {
      "kind": "mcp",
      "name": "commissioncollection_findpayableunsettled",
      "operation": "findPayableUnsettled",
      "objectName": "@happyvertical/smrt-sales:CommissionCollection"
    },
    {
      "kind": "mcp",
      "name": "commissioncollection_sumpayablebyearner",
      "operation": "sumPayableByEarner",
      "objectName": "@happyvertical/smrt-sales:CommissionCollection"
    },
    {
      "kind": "mcp",
      "name": "commissioncollection_findbypayout",
      "operation": "findByPayout",
      "objectName": "@happyvertical/smrt-sales:CommissionCollection"
    },
    {
      "kind": "mcp",
      "name": "commissioncollection_findbypayouts",
      "operation": "findByPayouts",
      "objectName": "@happyvertical/smrt-sales:CommissionCollection"
    },
    {
      "kind": "mcp",
      "name": "commissioncollection_claimforpayout",
      "operation": "claimForPayout",
      "objectName": "@happyvertical/smrt-sales:CommissionCollection"
    },
    {
      "kind": "api",
      "name": "commissionpayouts.findByEarner",
      "operation": "findByEarner",
      "objectName": "@happyvertical/smrt-sales:CommissionPayoutCollection",
      "path": "/commissionpayouts/findByEarner",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "commissionpayouts.findByStatus",
      "operation": "findByStatus",
      "objectName": "@happyvertical/smrt-sales:CommissionPayoutCollection",
      "path": "/commissionpayouts/findByStatus",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "commissionpayouts.findByIdempotencyKey",
      "operation": "findByIdempotencyKey",
      "objectName": "@happyvertical/smrt-sales:CommissionPayoutCollection",
      "path": "/commissionpayouts/findByIdempotencyKey",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "commissionpayouts.findBySource",
      "operation": "findBySource",
      "objectName": "@happyvertical/smrt-sales:CommissionPayoutCollection",
      "path": "/commissionpayouts/findBySource",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "commissionpayouts.sumPaidByEarner",
      "operation": "sumPaidByEarner",
      "objectName": "@happyvertical/smrt-sales:CommissionPayoutCollection",
      "path": "/commissionpayouts/sumPaidByEarner",
      "method": "POST"
    },
    {
      "kind": "cli",
      "name": "commissionpayoutcollection_findByEarner",
      "operation": "findByEarner",
      "objectName": "@happyvertical/smrt-sales:CommissionPayoutCollection"
    },
    {
      "kind": "cli",
      "name": "commissionpayoutcollection_findByStatus",
      "operation": "findByStatus",
      "objectName": "@happyvertical/smrt-sales:CommissionPayoutCollection"
    },
    {
      "kind": "cli",
      "name": "commissionpayoutcollection_findByIdempotencyKey",
      "operation": "findByIdempotencyKey",
      "objectName": "@happyvertical/smrt-sales:CommissionPayoutCollection"
    },
    {
      "kind": "cli",
      "name": "commissionpayoutcollection_findBySource",
      "operation": "findBySource",
      "objectName": "@happyvertical/smrt-sales:CommissionPayoutCollection"
    },
    {
      "kind": "cli",
      "name": "commissionpayoutcollection_sumPaidByEarner",
      "operation": "sumPaidByEarner",
      "objectName": "@happyvertical/smrt-sales:CommissionPayoutCollection"
    },
    {
      "kind": "mcp",
      "name": "commissionpayoutcollection_findbyearner",
      "operation": "findByEarner",
      "objectName": "@happyvertical/smrt-sales:CommissionPayoutCollection"
    },
    {
      "kind": "mcp",
      "name": "commissionpayoutcollection_findbystatus",
      "operation": "findByStatus",
      "objectName": "@happyvertical/smrt-sales:CommissionPayoutCollection"
    },
    {
      "kind": "mcp",
      "name": "commissionpayoutcollection_findbyidempotencykey",
      "operation": "findByIdempotencyKey",
      "objectName": "@happyvertical/smrt-sales:CommissionPayoutCollection"
    },
    {
      "kind": "mcp",
      "name": "commissionpayoutcollection_findbysource",
      "operation": "findBySource",
      "objectName": "@happyvertical/smrt-sales:CommissionPayoutCollection"
    },
    {
      "kind": "mcp",
      "name": "commissionpayoutcollection_sumpaidbyearner",
      "operation": "sumPaidByEarner",
      "objectName": "@happyvertical/smrt-sales:CommissionPayoutCollection"
    },
    {
      "kind": "api",
      "name": "commissionplans.findByPlanKey",
      "operation": "findByPlanKey",
      "objectName": "@happyvertical/smrt-sales:CommissionPlanCollection",
      "path": "/commissionplans/findByPlanKey",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "commissionplans.findByStatus",
      "operation": "findByStatus",
      "objectName": "@happyvertical/smrt-sales:CommissionPlanCollection",
      "path": "/commissionplans/findByStatus",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "commissionplans.latestActiveByKey",
      "operation": "latestActiveByKey",
      "objectName": "@happyvertical/smrt-sales:CommissionPlanCollection",
      "path": "/commissionplans/latestActiveByKey",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "commissionplans.createAmendment",
      "operation": "createAmendment",
      "objectName": "@happyvertical/smrt-sales:CommissionPlanCollection",
      "path": "/commissionplans/createAmendment",
      "method": "POST"
    },
    {
      "kind": "cli",
      "name": "commissionplancollection_findByPlanKey",
      "operation": "findByPlanKey",
      "objectName": "@happyvertical/smrt-sales:CommissionPlanCollection"
    },
    {
      "kind": "cli",
      "name": "commissionplancollection_findByStatus",
      "operation": "findByStatus",
      "objectName": "@happyvertical/smrt-sales:CommissionPlanCollection"
    },
    {
      "kind": "cli",
      "name": "commissionplancollection_latestActiveByKey",
      "operation": "latestActiveByKey",
      "objectName": "@happyvertical/smrt-sales:CommissionPlanCollection"
    },
    {
      "kind": "cli",
      "name": "commissionplancollection_createAmendment",
      "operation": "createAmendment",
      "objectName": "@happyvertical/smrt-sales:CommissionPlanCollection"
    },
    {
      "kind": "mcp",
      "name": "commissionplancollection_findbyplankey",
      "operation": "findByPlanKey",
      "objectName": "@happyvertical/smrt-sales:CommissionPlanCollection"
    },
    {
      "kind": "mcp",
      "name": "commissionplancollection_findbystatus",
      "operation": "findByStatus",
      "objectName": "@happyvertical/smrt-sales:CommissionPlanCollection"
    },
    {
      "kind": "mcp",
      "name": "commissionplancollection_latestactivebykey",
      "operation": "latestActiveByKey",
      "objectName": "@happyvertical/smrt-sales:CommissionPlanCollection"
    },
    {
      "kind": "mcp",
      "name": "commissionplancollection_createamendment",
      "operation": "createAmendment",
      "objectName": "@happyvertical/smrt-sales:CommissionPlanCollection"
    },
    {
      "kind": "api",
      "name": "earners.findByProfile",
      "operation": "findByProfile",
      "objectName": "@happyvertical/smrt-sales:EarnerCollection",
      "path": "/earners/findByProfile",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "earners.findByStatus",
      "operation": "findByStatus",
      "objectName": "@happyvertical/smrt-sales:EarnerCollection",
      "path": "/earners/findByStatus",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "earners.findActive",
      "operation": "findActive",
      "objectName": "@happyvertical/smrt-sales:EarnerCollection",
      "path": "/earners/findActive",
      "method": "POST"
    },
    {
      "kind": "cli",
      "name": "earnercollection_findByProfile",
      "operation": "findByProfile",
      "objectName": "@happyvertical/smrt-sales:EarnerCollection"
    },
    {
      "kind": "cli",
      "name": "earnercollection_findByStatus",
      "operation": "findByStatus",
      "objectName": "@happyvertical/smrt-sales:EarnerCollection"
    },
    {
      "kind": "cli",
      "name": "earnercollection_findActive",
      "operation": "findActive",
      "objectName": "@happyvertical/smrt-sales:EarnerCollection"
    },
    {
      "kind": "mcp",
      "name": "earnercollection_findbyprofile",
      "operation": "findByProfile",
      "objectName": "@happyvertical/smrt-sales:EarnerCollection"
    },
    {
      "kind": "mcp",
      "name": "earnercollection_findbystatus",
      "operation": "findByStatus",
      "objectName": "@happyvertical/smrt-sales:EarnerCollection"
    },
    {
      "kind": "mcp",
      "name": "earnercollection_findactive",
      "operation": "findActive",
      "objectName": "@happyvertical/smrt-sales:EarnerCollection"
    },
    {
      "kind": "api",
      "name": "earnersourceattributions.findBySource",
      "operation": "findBySource",
      "objectName": "@happyvertical/smrt-sales:EarnerSourceAttributionCollection",
      "path": "/earnersourceattributions/findBySource",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "earnersourceattributions.findBySources",
      "operation": "findBySources",
      "objectName": "@happyvertical/smrt-sales:EarnerSourceAttributionCollection",
      "path": "/earnersourceattributions/findBySources",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "earnersourceattributions.findByEarner",
      "operation": "findByEarner",
      "objectName": "@happyvertical/smrt-sales:EarnerSourceAttributionCollection",
      "path": "/earnersourceattributions/findByEarner",
      "method": "POST"
    },
    {
      "kind": "cli",
      "name": "earnersourceattributioncollection_findBySource",
      "operation": "findBySource",
      "objectName": "@happyvertical/smrt-sales:EarnerSourceAttributionCollection"
    },
    {
      "kind": "cli",
      "name": "earnersourceattributioncollection_findBySources",
      "operation": "findBySources",
      "objectName": "@happyvertical/smrt-sales:EarnerSourceAttributionCollection"
    },
    {
      "kind": "cli",
      "name": "earnersourceattributioncollection_findByEarner",
      "operation": "findByEarner",
      "objectName": "@happyvertical/smrt-sales:EarnerSourceAttributionCollection"
    },
    {
      "kind": "mcp",
      "name": "earnersourceattributioncollection_findbysource",
      "operation": "findBySource",
      "objectName": "@happyvertical/smrt-sales:EarnerSourceAttributionCollection"
    },
    {
      "kind": "mcp",
      "name": "earnersourceattributioncollection_findbysources",
      "operation": "findBySources",
      "objectName": "@happyvertical/smrt-sales:EarnerSourceAttributionCollection"
    },
    {
      "kind": "mcp",
      "name": "earnersourceattributioncollection_findbyearner",
      "operation": "findByEarner",
      "objectName": "@happyvertical/smrt-sales:EarnerSourceAttributionCollection"
    },
    {
      "kind": "api",
      "name": "earningevents.findByDedupeKey",
      "operation": "findByDedupeKey",
      "objectName": "@happyvertical/smrt-sales:EarningEventCollection",
      "path": "/earningevents/findByDedupeKey",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "earningevents.getOrCreateByDedupeKey",
      "operation": "getOrCreateByDedupeKey",
      "objectName": "@happyvertical/smrt-sales:EarningEventCollection",
      "path": "/earningevents/getOrCreateByDedupeKey",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "earningevents.findBySource",
      "operation": "findBySource",
      "objectName": "@happyvertical/smrt-sales:EarningEventCollection",
      "path": "/earningevents/findBySource",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "earningevents.findByKind",
      "operation": "findByKind",
      "objectName": "@happyvertical/smrt-sales:EarningEventCollection",
      "path": "/earningevents/findByKind",
      "method": "POST"
    },
    {
      "kind": "mcp",
      "name": "earningeventcollection_findbydedupekey",
      "operation": "findByDedupeKey",
      "objectName": "@happyvertical/smrt-sales:EarningEventCollection"
    },
    {
      "kind": "mcp",
      "name": "earningeventcollection_getorcreatebydedupekey",
      "operation": "getOrCreateByDedupeKey",
      "objectName": "@happyvertical/smrt-sales:EarningEventCollection"
    },
    {
      "kind": "mcp",
      "name": "earningeventcollection_findbysource",
      "operation": "findBySource",
      "objectName": "@happyvertical/smrt-sales:EarningEventCollection"
    },
    {
      "kind": "mcp",
      "name": "earningeventcollection_findbykind",
      "operation": "findByKind",
      "objectName": "@happyvertical/smrt-sales:EarningEventCollection"
    },
    {
      "kind": "api",
      "name": "commissions.list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:Commission",
      "path": "/commissions",
      "method": "GET"
    },
    {
      "kind": "api",
      "name": "commissions.get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:Commission",
      "path": "/commissions/[id]",
      "method": "GET"
    },
    {
      "kind": "api",
      "name": "commissions.create",
      "operation": "create",
      "objectName": "@happyvertical/smrt-sales:Commission",
      "path": "/commissions",
      "method": "POST"
    },
    {
      "kind": "mcp",
      "name": "commission_list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:Commission"
    },
    {
      "kind": "mcp",
      "name": "commission_get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:Commission"
    },
    {
      "kind": "api",
      "name": "commissionadjustments.list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:CommissionAdjustment",
      "path": "/commissionadjustments",
      "method": "GET"
    },
    {
      "kind": "api",
      "name": "commissionadjustments.get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:CommissionAdjustment",
      "path": "/commissionadjustments/[id]",
      "method": "GET"
    },
    {
      "kind": "api",
      "name": "commissionadjustments.create",
      "operation": "create",
      "objectName": "@happyvertical/smrt-sales:CommissionAdjustment",
      "path": "/commissionadjustments",
      "method": "POST"
    },
    {
      "kind": "mcp",
      "name": "commissionadjustment_list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:CommissionAdjustment"
    },
    {
      "kind": "mcp",
      "name": "commissionadjustment_create",
      "operation": "create",
      "objectName": "@happyvertical/smrt-sales:CommissionAdjustment"
    },
    {
      "kind": "api",
      "name": "commissionpayouts.list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:CommissionPayout",
      "path": "/commissionpayouts",
      "method": "GET"
    },
    {
      "kind": "api",
      "name": "commissionpayouts.get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:CommissionPayout",
      "path": "/commissionpayouts/[id]",
      "method": "GET"
    },
    {
      "kind": "cli",
      "name": "commissionpayout_list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:CommissionPayout"
    },
    {
      "kind": "cli",
      "name": "commissionpayout_get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:CommissionPayout"
    },
    {
      "kind": "mcp",
      "name": "commissionpayout_list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:CommissionPayout"
    },
    {
      "kind": "mcp",
      "name": "commissionpayout_get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:CommissionPayout"
    },
    {
      "kind": "api",
      "name": "commissionplans.list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:CommissionPlan",
      "path": "/commissionplans",
      "method": "GET"
    },
    {
      "kind": "api",
      "name": "commissionplans.get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:CommissionPlan",
      "path": "/commissionplans/[id]",
      "method": "GET"
    },
    {
      "kind": "api",
      "name": "commissionplans.create",
      "operation": "create",
      "objectName": "@happyvertical/smrt-sales:CommissionPlan",
      "path": "/commissionplans",
      "method": "POST"
    },
    {
      "kind": "cli",
      "name": "commissionplan_list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:CommissionPlan"
    },
    {
      "kind": "cli",
      "name": "commissionplan_get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:CommissionPlan"
    },
    {
      "kind": "cli",
      "name": "commissionplan_create",
      "operation": "create",
      "objectName": "@happyvertical/smrt-sales:CommissionPlan"
    },
    {
      "kind": "cli",
      "name": "commissionplan_update",
      "operation": "update",
      "objectName": "@happyvertical/smrt-sales:CommissionPlan"
    },
    {
      "kind": "cli",
      "name": "commissionplan_delete",
      "operation": "delete",
      "objectName": "@happyvertical/smrt-sales:CommissionPlan"
    },
    {
      "kind": "cli",
      "name": "commissionplan_isDraft",
      "operation": "isDraft",
      "objectName": "@happyvertical/smrt-sales:CommissionPlan"
    },
    {
      "kind": "cli",
      "name": "commissionplan_isActive",
      "operation": "isActive",
      "objectName": "@happyvertical/smrt-sales:CommissionPlan"
    },
    {
      "kind": "cli",
      "name": "commissionplan_getComponents",
      "operation": "getComponents",
      "objectName": "@happyvertical/smrt-sales:CommissionPlan"
    },
    {
      "kind": "cli",
      "name": "commissionplan_setComponents",
      "operation": "setComponents",
      "objectName": "@happyvertical/smrt-sales:CommissionPlan"
    },
    {
      "kind": "cli",
      "name": "commissionplan_getMetadata",
      "operation": "getMetadata",
      "objectName": "@happyvertical/smrt-sales:CommissionPlan"
    },
    {
      "kind": "cli",
      "name": "commissionplan_setMetadata",
      "operation": "setMetadata",
      "objectName": "@happyvertical/smrt-sales:CommissionPlan"
    },
    {
      "kind": "cli",
      "name": "commissionplan_activate",
      "operation": "activate",
      "objectName": "@happyvertical/smrt-sales:CommissionPlan"
    },
    {
      "kind": "cli",
      "name": "commissionplan_supersede",
      "operation": "supersede",
      "objectName": "@happyvertical/smrt-sales:CommissionPlan"
    },
    {
      "kind": "cli",
      "name": "commissionplan_retire",
      "operation": "retire",
      "objectName": "@happyvertical/smrt-sales:CommissionPlan"
    },
    {
      "kind": "mcp",
      "name": "commissionplan_list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:CommissionPlan"
    },
    {
      "kind": "mcp",
      "name": "commissionplan_get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:CommissionPlan"
    },
    {
      "kind": "api",
      "name": "earners.list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:Earner",
      "path": "/earners",
      "method": "GET"
    },
    {
      "kind": "api",
      "name": "earners.get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:Earner",
      "path": "/earners/[id]",
      "method": "GET"
    },
    {
      "kind": "api",
      "name": "earners.create",
      "operation": "create",
      "objectName": "@happyvertical/smrt-sales:Earner",
      "path": "/earners",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "earners.update",
      "operation": "update",
      "objectName": "@happyvertical/smrt-sales:Earner",
      "path": "/earners/[id]",
      "method": "PATCH"
    },
    {
      "kind": "cli",
      "name": "earner_list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:Earner"
    },
    {
      "kind": "cli",
      "name": "earner_get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:Earner"
    },
    {
      "kind": "cli",
      "name": "earner_create",
      "operation": "create",
      "objectName": "@happyvertical/smrt-sales:Earner"
    },
    {
      "kind": "cli",
      "name": "earner_update",
      "operation": "update",
      "objectName": "@happyvertical/smrt-sales:Earner"
    },
    {
      "kind": "cli",
      "name": "earner_delete",
      "operation": "delete",
      "objectName": "@happyvertical/smrt-sales:Earner"
    },
    {
      "kind": "cli",
      "name": "earner_isActive",
      "operation": "isActive",
      "objectName": "@happyvertical/smrt-sales:Earner"
    },
    {
      "kind": "cli",
      "name": "earner_isPending",
      "operation": "isPending",
      "objectName": "@happyvertical/smrt-sales:Earner"
    },
    {
      "kind": "cli",
      "name": "earner_isSuspended",
      "operation": "isSuspended",
      "objectName": "@happyvertical/smrt-sales:Earner"
    },
    {
      "kind": "cli",
      "name": "earner_getMetadata",
      "operation": "getMetadata",
      "objectName": "@happyvertical/smrt-sales:Earner"
    },
    {
      "kind": "cli",
      "name": "earner_setMetadata",
      "operation": "setMetadata",
      "objectName": "@happyvertical/smrt-sales:Earner"
    },
    {
      "kind": "mcp",
      "name": "earner_list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:Earner"
    },
    {
      "kind": "mcp",
      "name": "earner_get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:Earner"
    },
    {
      "kind": "mcp",
      "name": "earner_create",
      "operation": "create",
      "objectName": "@happyvertical/smrt-sales:Earner"
    },
    {
      "kind": "api",
      "name": "earnersourceattributions.list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:EarnerSourceAttribution",
      "path": "/earnersourceattributions",
      "method": "GET"
    },
    {
      "kind": "api",
      "name": "earnersourceattributions.get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:EarnerSourceAttribution",
      "path": "/earnersourceattributions/[id]",
      "method": "GET"
    },
    {
      "kind": "api",
      "name": "earnersourceattributions.create",
      "operation": "create",
      "objectName": "@happyvertical/smrt-sales:EarnerSourceAttribution",
      "path": "/earnersourceattributions",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "earnersourceattributions.update",
      "operation": "update",
      "objectName": "@happyvertical/smrt-sales:EarnerSourceAttribution",
      "path": "/earnersourceattributions/[id]",
      "method": "PATCH"
    },
    {
      "kind": "cli",
      "name": "earnersourceattribution_list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:EarnerSourceAttribution"
    },
    {
      "kind": "cli",
      "name": "earnersourceattribution_get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:EarnerSourceAttribution"
    },
    {
      "kind": "cli",
      "name": "earnersourceattribution_create",
      "operation": "create",
      "objectName": "@happyvertical/smrt-sales:EarnerSourceAttribution"
    },
    {
      "kind": "cli",
      "name": "earnersourceattribution_update",
      "operation": "update",
      "objectName": "@happyvertical/smrt-sales:EarnerSourceAttribution"
    },
    {
      "kind": "mcp",
      "name": "earnersourceattribution_list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:EarnerSourceAttribution"
    },
    {
      "kind": "mcp",
      "name": "earnersourceattribution_get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:EarnerSourceAttribution"
    },
    {
      "kind": "mcp",
      "name": "earnersourceattribution_create",
      "operation": "create",
      "objectName": "@happyvertical/smrt-sales:EarnerSourceAttribution"
    },
    {
      "kind": "api",
      "name": "earningevents.list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:EarningEvent",
      "path": "/earningevents",
      "method": "GET"
    },
    {
      "kind": "api",
      "name": "earningevents.get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:EarningEvent",
      "path": "/earningevents/[id]",
      "method": "GET"
    },
    {
      "kind": "api",
      "name": "earningevents.create",
      "operation": "create",
      "objectName": "@happyvertical/smrt-sales:EarningEvent",
      "path": "/earningevents",
      "method": "POST"
    },
    {
      "kind": "mcp",
      "name": "earningevent_list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:EarningEvent"
    },
    {
      "kind": "mcp",
      "name": "earningevent_create",
      "operation": "create",
      "objectName": "@happyvertical/smrt-sales:EarningEvent"
    },
    {
      "kind": "api",
      "name": "leads.findByStatus",
      "operation": "findByStatus",
      "objectName": "@happyvertical/smrt-sales:LeadCollection",
      "path": "/leads/findByStatus",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "leads.findByOwner",
      "operation": "findByOwner",
      "objectName": "@happyvertical/smrt-sales:LeadCollection",
      "path": "/leads/findByOwner",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "leads.qualify",
      "operation": "qualify",
      "objectName": "@happyvertical/smrt-sales:LeadCollection",
      "path": "/leads/qualify",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "leads.mergeLeads",
      "operation": "mergeLeads",
      "objectName": "@happyvertical/smrt-sales:LeadCollection",
      "path": "/leads/mergeLeads",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "leads.activitiesIncludingMerged",
      "operation": "activitiesIncludingMerged",
      "objectName": "@happyvertical/smrt-sales:LeadCollection",
      "path": "/leads/activitiesIncludingMerged",
      "method": "POST"
    },
    {
      "kind": "cli",
      "name": "leadcollection_findByStatus",
      "operation": "findByStatus",
      "objectName": "@happyvertical/smrt-sales:LeadCollection"
    },
    {
      "kind": "cli",
      "name": "leadcollection_findByOwner",
      "operation": "findByOwner",
      "objectName": "@happyvertical/smrt-sales:LeadCollection"
    },
    {
      "kind": "cli",
      "name": "leadcollection_qualify",
      "operation": "qualify",
      "objectName": "@happyvertical/smrt-sales:LeadCollection"
    },
    {
      "kind": "cli",
      "name": "leadcollection_mergeLeads",
      "operation": "mergeLeads",
      "objectName": "@happyvertical/smrt-sales:LeadCollection"
    },
    {
      "kind": "cli",
      "name": "leadcollection_activitiesIncludingMerged",
      "operation": "activitiesIncludingMerged",
      "objectName": "@happyvertical/smrt-sales:LeadCollection"
    },
    {
      "kind": "mcp",
      "name": "leadcollection_findbystatus",
      "operation": "findByStatus",
      "objectName": "@happyvertical/smrt-sales:LeadCollection"
    },
    {
      "kind": "mcp",
      "name": "leadcollection_findbyowner",
      "operation": "findByOwner",
      "objectName": "@happyvertical/smrt-sales:LeadCollection"
    },
    {
      "kind": "mcp",
      "name": "leadcollection_qualify",
      "operation": "qualify",
      "objectName": "@happyvertical/smrt-sales:LeadCollection"
    },
    {
      "kind": "mcp",
      "name": "leadcollection_mergeleads",
      "operation": "mergeLeads",
      "objectName": "@happyvertical/smrt-sales:LeadCollection"
    },
    {
      "kind": "mcp",
      "name": "leadcollection_activitiesincludingmerged",
      "operation": "activitiesIncludingMerged",
      "objectName": "@happyvertical/smrt-sales:LeadCollection"
    },
    {
      "kind": "api",
      "name": "opportunities.findByLead",
      "operation": "findByLead",
      "objectName": "@happyvertical/smrt-sales:OpportunityCollection",
      "path": "/opportunities/findByLead",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "opportunities.findOpen",
      "operation": "findOpen",
      "objectName": "@happyvertical/smrt-sales:OpportunityCollection",
      "path": "/opportunities/findOpen",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "opportunities.moveToStage",
      "operation": "moveToStage",
      "objectName": "@happyvertical/smrt-sales:OpportunityCollection",
      "path": "/opportunities/moveToStage",
      "method": "POST"
    },
    {
      "kind": "cli",
      "name": "opportunitycollection_findByLead",
      "operation": "findByLead",
      "objectName": "@happyvertical/smrt-sales:OpportunityCollection"
    },
    {
      "kind": "cli",
      "name": "opportunitycollection_findOpen",
      "operation": "findOpen",
      "objectName": "@happyvertical/smrt-sales:OpportunityCollection"
    },
    {
      "kind": "cli",
      "name": "opportunitycollection_moveToStage",
      "operation": "moveToStage",
      "objectName": "@happyvertical/smrt-sales:OpportunityCollection"
    },
    {
      "kind": "mcp",
      "name": "opportunitycollection_findbylead",
      "operation": "findByLead",
      "objectName": "@happyvertical/smrt-sales:OpportunityCollection"
    },
    {
      "kind": "mcp",
      "name": "opportunitycollection_findopen",
      "operation": "findOpen",
      "objectName": "@happyvertical/smrt-sales:OpportunityCollection"
    },
    {
      "kind": "mcp",
      "name": "opportunitycollection_movetostage",
      "operation": "moveToStage",
      "objectName": "@happyvertical/smrt-sales:OpportunityCollection"
    },
    {
      "kind": "api",
      "name": "opportunityconversions.findByOpportunity",
      "operation": "findByOpportunity",
      "objectName": "@happyvertical/smrt-sales:OpportunityConversionCollection",
      "path": "/opportunityconversions/findByOpportunity",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "opportunityconversions.recordConversion",
      "operation": "recordConversion",
      "objectName": "@happyvertical/smrt-sales:OpportunityConversionCollection",
      "path": "/opportunityconversions/recordConversion",
      "method": "POST"
    },
    {
      "kind": "mcp",
      "name": "opportunityconversioncollection_findbyopportunity",
      "operation": "findByOpportunity",
      "objectName": "@happyvertical/smrt-sales:OpportunityConversionCollection"
    },
    {
      "kind": "mcp",
      "name": "opportunityconversioncollection_recordconversion",
      "operation": "recordConversion",
      "objectName": "@happyvertical/smrt-sales:OpportunityConversionCollection"
    },
    {
      "kind": "api",
      "name": "pipelinedefinitions.findByKey",
      "operation": "findByKey",
      "objectName": "@happyvertical/smrt-sales:PipelineDefinitionCollection",
      "path": "/pipelinedefinitions/findByKey",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "pipelinedefinitions.findDefault",
      "operation": "findDefault",
      "objectName": "@happyvertical/smrt-sales:PipelineDefinitionCollection",
      "path": "/pipelinedefinitions/findDefault",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "pipelinedefinitions.getStages",
      "operation": "getStages",
      "objectName": "@happyvertical/smrt-sales:PipelineDefinitionCollection",
      "path": "/pipelinedefinitions/getStages",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "pipelinedefinitions.ensureDefaultPipeline",
      "operation": "ensureDefaultPipeline",
      "objectName": "@happyvertical/smrt-sales:PipelineDefinitionCollection",
      "path": "/pipelinedefinitions/ensureDefaultPipeline",
      "method": "POST"
    },
    {
      "kind": "cli",
      "name": "pipelinedefinitioncollection_findByKey",
      "operation": "findByKey",
      "objectName": "@happyvertical/smrt-sales:PipelineDefinitionCollection"
    },
    {
      "kind": "cli",
      "name": "pipelinedefinitioncollection_findDefault",
      "operation": "findDefault",
      "objectName": "@happyvertical/smrt-sales:PipelineDefinitionCollection"
    },
    {
      "kind": "cli",
      "name": "pipelinedefinitioncollection_getStages",
      "operation": "getStages",
      "objectName": "@happyvertical/smrt-sales:PipelineDefinitionCollection"
    },
    {
      "kind": "cli",
      "name": "pipelinedefinitioncollection_ensureDefaultPipeline",
      "operation": "ensureDefaultPipeline",
      "objectName": "@happyvertical/smrt-sales:PipelineDefinitionCollection"
    },
    {
      "kind": "mcp",
      "name": "pipelinedefinitioncollection_findbykey",
      "operation": "findByKey",
      "objectName": "@happyvertical/smrt-sales:PipelineDefinitionCollection"
    },
    {
      "kind": "mcp",
      "name": "pipelinedefinitioncollection_finddefault",
      "operation": "findDefault",
      "objectName": "@happyvertical/smrt-sales:PipelineDefinitionCollection"
    },
    {
      "kind": "mcp",
      "name": "pipelinedefinitioncollection_getstages",
      "operation": "getStages",
      "objectName": "@happyvertical/smrt-sales:PipelineDefinitionCollection"
    },
    {
      "kind": "mcp",
      "name": "pipelinedefinitioncollection_ensuredefaultpipeline",
      "operation": "ensureDefaultPipeline",
      "objectName": "@happyvertical/smrt-sales:PipelineDefinitionCollection"
    },
    {
      "kind": "api",
      "name": "pipelinestages.findByPipeline",
      "operation": "findByPipeline",
      "objectName": "@happyvertical/smrt-sales:PipelineStageCollection",
      "path": "/pipelinestages/findByPipeline",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "pipelinestages.findByKey",
      "operation": "findByKey",
      "objectName": "@happyvertical/smrt-sales:PipelineStageCollection",
      "path": "/pipelinestages/findByKey",
      "method": "POST"
    },
    {
      "kind": "mcp",
      "name": "pipelinestagecollection_findbypipeline",
      "operation": "findByPipeline",
      "objectName": "@happyvertical/smrt-sales:PipelineStageCollection"
    },
    {
      "kind": "mcp",
      "name": "pipelinestagecollection_findbykey",
      "operation": "findByKey",
      "objectName": "@happyvertical/smrt-sales:PipelineStageCollection"
    },
    {
      "kind": "api",
      "name": "salesactivities.findBySubject",
      "operation": "findBySubject",
      "objectName": "@happyvertical/smrt-sales:SalesActivityCollection",
      "path": "/salesactivities/findBySubject",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "salesactivities.findOpenTasks",
      "operation": "findOpenTasks",
      "objectName": "@happyvertical/smrt-sales:SalesActivityCollection",
      "path": "/salesactivities/findOpenTasks",
      "method": "POST"
    },
    {
      "kind": "mcp",
      "name": "salesactivitycollection_findbysubject",
      "operation": "findBySubject",
      "objectName": "@happyvertical/smrt-sales:SalesActivityCollection"
    },
    {
      "kind": "mcp",
      "name": "salesactivitycollection_findopentasks",
      "operation": "findOpenTasks",
      "objectName": "@happyvertical/smrt-sales:SalesActivityCollection"
    },
    {
      "kind": "api",
      "name": "salesrepresentatives.findByProfile",
      "operation": "findByProfile",
      "objectName": "@happyvertical/smrt-sales:SalesRepresentativeCollection",
      "path": "/salesrepresentatives/findByProfile",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "salesrepresentatives.findActive",
      "operation": "findActive",
      "objectName": "@happyvertical/smrt-sales:SalesRepresentativeCollection",
      "path": "/salesrepresentatives/findActive",
      "method": "POST"
    },
    {
      "kind": "cli",
      "name": "salesrepresentativecollection_findByProfile",
      "operation": "findByProfile",
      "objectName": "@happyvertical/smrt-sales:SalesRepresentativeCollection"
    },
    {
      "kind": "cli",
      "name": "salesrepresentativecollection_findActive",
      "operation": "findActive",
      "objectName": "@happyvertical/smrt-sales:SalesRepresentativeCollection"
    },
    {
      "kind": "mcp",
      "name": "salesrepresentativecollection_findbyprofile",
      "operation": "findByProfile",
      "objectName": "@happyvertical/smrt-sales:SalesRepresentativeCollection"
    },
    {
      "kind": "mcp",
      "name": "salesrepresentativecollection_findactive",
      "operation": "findActive",
      "objectName": "@happyvertical/smrt-sales:SalesRepresentativeCollection"
    },
    {
      "kind": "api",
      "name": "leads.list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:Lead",
      "path": "/leads",
      "method": "GET"
    },
    {
      "kind": "api",
      "name": "leads.get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:Lead",
      "path": "/leads/[id]",
      "method": "GET"
    },
    {
      "kind": "api",
      "name": "leads.create",
      "operation": "create",
      "objectName": "@happyvertical/smrt-sales:Lead",
      "path": "/leads",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "leads.update",
      "operation": "update",
      "objectName": "@happyvertical/smrt-sales:Lead",
      "path": "/leads/[id]",
      "method": "PATCH"
    },
    {
      "kind": "cli",
      "name": "lead_list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:Lead"
    },
    {
      "kind": "cli",
      "name": "lead_get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:Lead"
    },
    {
      "kind": "cli",
      "name": "lead_create",
      "operation": "create",
      "objectName": "@happyvertical/smrt-sales:Lead"
    },
    {
      "kind": "cli",
      "name": "lead_update",
      "operation": "update",
      "objectName": "@happyvertical/smrt-sales:Lead"
    },
    {
      "kind": "cli",
      "name": "lead_delete",
      "operation": "delete",
      "objectName": "@happyvertical/smrt-sales:Lead"
    },
    {
      "kind": "cli",
      "name": "lead_isMerged",
      "operation": "isMerged",
      "objectName": "@happyvertical/smrt-sales:Lead"
    },
    {
      "kind": "cli",
      "name": "lead_isQualified",
      "operation": "isQualified",
      "objectName": "@happyvertical/smrt-sales:Lead"
    },
    {
      "kind": "cli",
      "name": "lead_getAcquisitionContext",
      "operation": "getAcquisitionContext",
      "objectName": "@happyvertical/smrt-sales:Lead"
    },
    {
      "kind": "cli",
      "name": "lead_setAcquisitionContext",
      "operation": "setAcquisitionContext",
      "objectName": "@happyvertical/smrt-sales:Lead"
    },
    {
      "kind": "cli",
      "name": "lead_getMetadata",
      "operation": "getMetadata",
      "objectName": "@happyvertical/smrt-sales:Lead"
    },
    {
      "kind": "cli",
      "name": "lead_setMetadata",
      "operation": "setMetadata",
      "objectName": "@happyvertical/smrt-sales:Lead"
    },
    {
      "kind": "mcp",
      "name": "lead_list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:Lead"
    },
    {
      "kind": "mcp",
      "name": "lead_get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:Lead"
    },
    {
      "kind": "mcp",
      "name": "lead_create",
      "operation": "create",
      "objectName": "@happyvertical/smrt-sales:Lead"
    },
    {
      "kind": "api",
      "name": "opportunities.list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:Opportunity",
      "path": "/opportunities",
      "method": "GET"
    },
    {
      "kind": "api",
      "name": "opportunities.get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:Opportunity",
      "path": "/opportunities/[id]",
      "method": "GET"
    },
    {
      "kind": "api",
      "name": "opportunities.create",
      "operation": "create",
      "objectName": "@happyvertical/smrt-sales:Opportunity",
      "path": "/opportunities",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "opportunities.update",
      "operation": "update",
      "objectName": "@happyvertical/smrt-sales:Opportunity",
      "path": "/opportunities/[id]",
      "method": "PATCH"
    },
    {
      "kind": "cli",
      "name": "opportunity_list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:Opportunity"
    },
    {
      "kind": "cli",
      "name": "opportunity_get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:Opportunity"
    },
    {
      "kind": "cli",
      "name": "opportunity_create",
      "operation": "create",
      "objectName": "@happyvertical/smrt-sales:Opportunity"
    },
    {
      "kind": "cli",
      "name": "opportunity_update",
      "operation": "update",
      "objectName": "@happyvertical/smrt-sales:Opportunity"
    },
    {
      "kind": "cli",
      "name": "opportunity_delete",
      "operation": "delete",
      "objectName": "@happyvertical/smrt-sales:Opportunity"
    },
    {
      "kind": "cli",
      "name": "opportunity_isOpen",
      "operation": "isOpen",
      "objectName": "@happyvertical/smrt-sales:Opportunity"
    },
    {
      "kind": "cli",
      "name": "opportunity_isClosed",
      "operation": "isClosed",
      "objectName": "@happyvertical/smrt-sales:Opportunity"
    },
    {
      "kind": "cli",
      "name": "opportunity_getMetadata",
      "operation": "getMetadata",
      "objectName": "@happyvertical/smrt-sales:Opportunity"
    },
    {
      "kind": "cli",
      "name": "opportunity_setMetadata",
      "operation": "setMetadata",
      "objectName": "@happyvertical/smrt-sales:Opportunity"
    },
    {
      "kind": "mcp",
      "name": "opportunity_list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:Opportunity"
    },
    {
      "kind": "mcp",
      "name": "opportunity_get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:Opportunity"
    },
    {
      "kind": "api",
      "name": "opportunityconversions.list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:OpportunityConversion",
      "path": "/opportunityconversions",
      "method": "GET"
    },
    {
      "kind": "api",
      "name": "opportunityconversions.get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:OpportunityConversion",
      "path": "/opportunityconversions/[id]",
      "method": "GET"
    },
    {
      "kind": "api",
      "name": "opportunityconversions.create",
      "operation": "create",
      "objectName": "@happyvertical/smrt-sales:OpportunityConversion",
      "path": "/opportunityconversions",
      "method": "POST"
    },
    {
      "kind": "mcp",
      "name": "opportunityconversion_list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:OpportunityConversion"
    },
    {
      "kind": "mcp",
      "name": "opportunityconversion_get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:OpportunityConversion"
    },
    {
      "kind": "api",
      "name": "pipelinedefinitions.list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:PipelineDefinition",
      "path": "/pipelinedefinitions",
      "method": "GET"
    },
    {
      "kind": "api",
      "name": "pipelinedefinitions.get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:PipelineDefinition",
      "path": "/pipelinedefinitions/[id]",
      "method": "GET"
    },
    {
      "kind": "api",
      "name": "pipelinedefinitions.create",
      "operation": "create",
      "objectName": "@happyvertical/smrt-sales:PipelineDefinition",
      "path": "/pipelinedefinitions",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "pipelinedefinitions.update",
      "operation": "update",
      "objectName": "@happyvertical/smrt-sales:PipelineDefinition",
      "path": "/pipelinedefinitions/[id]",
      "method": "PATCH"
    },
    {
      "kind": "cli",
      "name": "pipelinedefinition_list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:PipelineDefinition"
    },
    {
      "kind": "cli",
      "name": "pipelinedefinition_get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:PipelineDefinition"
    },
    {
      "kind": "cli",
      "name": "pipelinedefinition_create",
      "operation": "create",
      "objectName": "@happyvertical/smrt-sales:PipelineDefinition"
    },
    {
      "kind": "cli",
      "name": "pipelinedefinition_update",
      "operation": "update",
      "objectName": "@happyvertical/smrt-sales:PipelineDefinition"
    },
    {
      "kind": "cli",
      "name": "pipelinedefinition_delete",
      "operation": "delete",
      "objectName": "@happyvertical/smrt-sales:PipelineDefinition"
    },
    {
      "kind": "cli",
      "name": "pipelinedefinition_isActive",
      "operation": "isActive",
      "objectName": "@happyvertical/smrt-sales:PipelineDefinition"
    },
    {
      "kind": "cli",
      "name": "pipelinedefinition_getMetadata",
      "operation": "getMetadata",
      "objectName": "@happyvertical/smrt-sales:PipelineDefinition"
    },
    {
      "kind": "cli",
      "name": "pipelinedefinition_setMetadata",
      "operation": "setMetadata",
      "objectName": "@happyvertical/smrt-sales:PipelineDefinition"
    },
    {
      "kind": "mcp",
      "name": "pipelinedefinition_list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:PipelineDefinition"
    },
    {
      "kind": "mcp",
      "name": "pipelinedefinition_get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:PipelineDefinition"
    },
    {
      "kind": "api",
      "name": "pipelinestages.list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:PipelineStage",
      "path": "/pipelinestages",
      "method": "GET"
    },
    {
      "kind": "api",
      "name": "pipelinestages.get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:PipelineStage",
      "path": "/pipelinestages/[id]",
      "method": "GET"
    },
    {
      "kind": "api",
      "name": "pipelinestages.create",
      "operation": "create",
      "objectName": "@happyvertical/smrt-sales:PipelineStage",
      "path": "/pipelinestages",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "pipelinestages.update",
      "operation": "update",
      "objectName": "@happyvertical/smrt-sales:PipelineStage",
      "path": "/pipelinestages/[id]",
      "method": "PATCH"
    },
    {
      "kind": "mcp",
      "name": "pipelinestage_list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:PipelineStage"
    },
    {
      "kind": "mcp",
      "name": "pipelinestage_get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:PipelineStage"
    },
    {
      "kind": "api",
      "name": "salesactivities.list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:SalesActivity",
      "path": "/salesactivities",
      "method": "GET"
    },
    {
      "kind": "api",
      "name": "salesactivities.get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:SalesActivity",
      "path": "/salesactivities/[id]",
      "method": "GET"
    },
    {
      "kind": "api",
      "name": "salesactivities.create",
      "operation": "create",
      "objectName": "@happyvertical/smrt-sales:SalesActivity",
      "path": "/salesactivities",
      "method": "POST"
    },
    {
      "kind": "mcp",
      "name": "salesactivity_list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:SalesActivity"
    },
    {
      "kind": "mcp",
      "name": "salesactivity_create",
      "operation": "create",
      "objectName": "@happyvertical/smrt-sales:SalesActivity"
    },
    {
      "kind": "api",
      "name": "salesrepresentatives.list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:SalesRepresentative",
      "path": "/salesrepresentatives",
      "method": "GET"
    },
    {
      "kind": "api",
      "name": "salesrepresentatives.get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:SalesRepresentative",
      "path": "/salesrepresentatives/[id]",
      "method": "GET"
    },
    {
      "kind": "api",
      "name": "salesrepresentatives.create",
      "operation": "create",
      "objectName": "@happyvertical/smrt-sales:SalesRepresentative",
      "path": "/salesrepresentatives",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "salesrepresentatives.update",
      "operation": "update",
      "objectName": "@happyvertical/smrt-sales:SalesRepresentative",
      "path": "/salesrepresentatives/[id]",
      "method": "PATCH"
    },
    {
      "kind": "cli",
      "name": "salesrepresentative_list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:SalesRepresentative"
    },
    {
      "kind": "cli",
      "name": "salesrepresentative_get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:SalesRepresentative"
    },
    {
      "kind": "cli",
      "name": "salesrepresentative_create",
      "operation": "create",
      "objectName": "@happyvertical/smrt-sales:SalesRepresentative"
    },
    {
      "kind": "cli",
      "name": "salesrepresentative_update",
      "operation": "update",
      "objectName": "@happyvertical/smrt-sales:SalesRepresentative"
    },
    {
      "kind": "cli",
      "name": "salesrepresentative_delete",
      "operation": "delete",
      "objectName": "@happyvertical/smrt-sales:SalesRepresentative"
    },
    {
      "kind": "cli",
      "name": "salesrepresentative_isActive",
      "operation": "isActive",
      "objectName": "@happyvertical/smrt-sales:SalesRepresentative"
    },
    {
      "kind": "cli",
      "name": "salesrepresentative_getMetadata",
      "operation": "getMetadata",
      "objectName": "@happyvertical/smrt-sales:SalesRepresentative"
    },
    {
      "kind": "cli",
      "name": "salesrepresentative_setMetadata",
      "operation": "setMetadata",
      "objectName": "@happyvertical/smrt-sales:SalesRepresentative"
    },
    {
      "kind": "mcp",
      "name": "salesrepresentative_list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:SalesRepresentative"
    },
    {
      "kind": "mcp",
      "name": "salesrepresentative_get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:SalesRepresentative"
    },
    {
      "kind": "api",
      "name": "attributionexceptions.findOpen",
      "operation": "findOpen",
      "objectName": "@happyvertical/smrt-sales:AttributionExceptionCollection",
      "path": "/attributionexceptions/findOpen",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "attributionexceptions.findOpenByTarget",
      "operation": "findOpenByTarget",
      "objectName": "@happyvertical/smrt-sales:AttributionExceptionCollection",
      "path": "/attributionexceptions/findOpenByTarget",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "attributionexceptions.findByTarget",
      "operation": "findByTarget",
      "objectName": "@happyvertical/smrt-sales:AttributionExceptionCollection",
      "path": "/attributionexceptions/findByTarget",
      "method": "POST"
    },
    {
      "kind": "mcp",
      "name": "attributionexceptioncollection_findopen",
      "operation": "findOpen",
      "objectName": "@happyvertical/smrt-sales:AttributionExceptionCollection"
    },
    {
      "kind": "mcp",
      "name": "attributionexceptioncollection_findopenbytarget",
      "operation": "findOpenByTarget",
      "objectName": "@happyvertical/smrt-sales:AttributionExceptionCollection"
    },
    {
      "kind": "mcp",
      "name": "attributionexceptioncollection_findbytarget",
      "operation": "findByTarget",
      "objectName": "@happyvertical/smrt-sales:AttributionExceptionCollection"
    },
    {
      "kind": "api",
      "name": "attributionpolicies.findByPolicyKey",
      "operation": "findByPolicyKey",
      "objectName": "@happyvertical/smrt-sales:AttributionPolicyCollection",
      "path": "/attributionpolicies/findByPolicyKey",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "attributionpolicies.findByStatus",
      "operation": "findByStatus",
      "objectName": "@happyvertical/smrt-sales:AttributionPolicyCollection",
      "path": "/attributionpolicies/findByStatus",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "attributionpolicies.latestActiveByKey",
      "operation": "latestActiveByKey",
      "objectName": "@happyvertical/smrt-sales:AttributionPolicyCollection",
      "path": "/attributionpolicies/latestActiveByKey",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "attributionpolicies.createAmendment",
      "operation": "createAmendment",
      "objectName": "@happyvertical/smrt-sales:AttributionPolicyCollection",
      "path": "/attributionpolicies/createAmendment",
      "method": "POST"
    },
    {
      "kind": "cli",
      "name": "attributionpolicycollection_findByPolicyKey",
      "operation": "findByPolicyKey",
      "objectName": "@happyvertical/smrt-sales:AttributionPolicyCollection"
    },
    {
      "kind": "cli",
      "name": "attributionpolicycollection_findByStatus",
      "operation": "findByStatus",
      "objectName": "@happyvertical/smrt-sales:AttributionPolicyCollection"
    },
    {
      "kind": "cli",
      "name": "attributionpolicycollection_latestActiveByKey",
      "operation": "latestActiveByKey",
      "objectName": "@happyvertical/smrt-sales:AttributionPolicyCollection"
    },
    {
      "kind": "cli",
      "name": "attributionpolicycollection_createAmendment",
      "operation": "createAmendment",
      "objectName": "@happyvertical/smrt-sales:AttributionPolicyCollection"
    },
    {
      "kind": "mcp",
      "name": "attributionpolicycollection_findbypolicykey",
      "operation": "findByPolicyKey",
      "objectName": "@happyvertical/smrt-sales:AttributionPolicyCollection"
    },
    {
      "kind": "mcp",
      "name": "attributionpolicycollection_findbystatus",
      "operation": "findByStatus",
      "objectName": "@happyvertical/smrt-sales:AttributionPolicyCollection"
    },
    {
      "kind": "mcp",
      "name": "attributionpolicycollection_latestactivebykey",
      "operation": "latestActiveByKey",
      "objectName": "@happyvertical/smrt-sales:AttributionPolicyCollection"
    },
    {
      "kind": "mcp",
      "name": "attributionpolicycollection_createamendment",
      "operation": "createAmendment",
      "objectName": "@happyvertical/smrt-sales:AttributionPolicyCollection"
    },
    {
      "kind": "api",
      "name": "referralagreements.findByReferrerAndProgram",
      "operation": "findByReferrerAndProgram",
      "objectName": "@happyvertical/smrt-sales:ReferralAgreementCollection",
      "path": "/referralagreements/findByReferrerAndProgram",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "referralagreements.activeFor",
      "operation": "activeFor",
      "objectName": "@happyvertical/smrt-sales:ReferralAgreementCollection",
      "path": "/referralagreements/activeFor",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "referralagreements.createAmendment",
      "operation": "createAmendment",
      "objectName": "@happyvertical/smrt-sales:ReferralAgreementCollection",
      "path": "/referralagreements/createAmendment",
      "method": "POST"
    },
    {
      "kind": "cli",
      "name": "referralagreementcollection_findByReferrerAndProgram",
      "operation": "findByReferrerAndProgram",
      "objectName": "@happyvertical/smrt-sales:ReferralAgreementCollection"
    },
    {
      "kind": "cli",
      "name": "referralagreementcollection_activeFor",
      "operation": "activeFor",
      "objectName": "@happyvertical/smrt-sales:ReferralAgreementCollection"
    },
    {
      "kind": "cli",
      "name": "referralagreementcollection_createAmendment",
      "operation": "createAmendment",
      "objectName": "@happyvertical/smrt-sales:ReferralAgreementCollection"
    },
    {
      "kind": "mcp",
      "name": "referralagreementcollection_findbyreferrerandprogram",
      "operation": "findByReferrerAndProgram",
      "objectName": "@happyvertical/smrt-sales:ReferralAgreementCollection"
    },
    {
      "kind": "mcp",
      "name": "referralagreementcollection_activefor",
      "operation": "activeFor",
      "objectName": "@happyvertical/smrt-sales:ReferralAgreementCollection"
    },
    {
      "kind": "mcp",
      "name": "referralagreementcollection_createamendment",
      "operation": "createAmendment",
      "objectName": "@happyvertical/smrt-sales:ReferralAgreementCollection"
    },
    {
      "kind": "api",
      "name": "referrals.findByReferrer",
      "operation": "findByReferrer",
      "objectName": "@happyvertical/smrt-sales:ReferralCollection",
      "path": "/referrals/findByReferrer",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "referrals.findByTarget",
      "operation": "findByTarget",
      "objectName": "@happyvertical/smrt-sales:ReferralCollection",
      "path": "/referrals/findByTarget",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "referrals.findQualifiedByTarget",
      "operation": "findQualifiedByTarget",
      "objectName": "@happyvertical/smrt-sales:ReferralCollection",
      "path": "/referrals/findQualifiedByTarget",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "referrals.sweepExpired",
      "operation": "sweepExpired",
      "objectName": "@happyvertical/smrt-sales:ReferralCollection",
      "path": "/referrals/sweepExpired",
      "method": "POST"
    },
    {
      "kind": "cli",
      "name": "referralcollection_findByReferrer",
      "operation": "findByReferrer",
      "objectName": "@happyvertical/smrt-sales:ReferralCollection"
    },
    {
      "kind": "cli",
      "name": "referralcollection_findByTarget",
      "operation": "findByTarget",
      "objectName": "@happyvertical/smrt-sales:ReferralCollection"
    },
    {
      "kind": "cli",
      "name": "referralcollection_findQualifiedByTarget",
      "operation": "findQualifiedByTarget",
      "objectName": "@happyvertical/smrt-sales:ReferralCollection"
    },
    {
      "kind": "cli",
      "name": "referralcollection_sweepExpired",
      "operation": "sweepExpired",
      "objectName": "@happyvertical/smrt-sales:ReferralCollection"
    },
    {
      "kind": "mcp",
      "name": "referralcollection_findbyreferrer",
      "operation": "findByReferrer",
      "objectName": "@happyvertical/smrt-sales:ReferralCollection"
    },
    {
      "kind": "mcp",
      "name": "referralcollection_findbytarget",
      "operation": "findByTarget",
      "objectName": "@happyvertical/smrt-sales:ReferralCollection"
    },
    {
      "kind": "mcp",
      "name": "referralcollection_findqualifiedbytarget",
      "operation": "findQualifiedByTarget",
      "objectName": "@happyvertical/smrt-sales:ReferralCollection"
    },
    {
      "kind": "mcp",
      "name": "referralcollection_sweepexpired",
      "operation": "sweepExpired",
      "objectName": "@happyvertical/smrt-sales:ReferralCollection"
    },
    {
      "kind": "api",
      "name": "referrallinks.findByReferrer",
      "operation": "findByReferrer",
      "objectName": "@happyvertical/smrt-sales:ReferralLinkCollection",
      "path": "/referrallinks/findByReferrer",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "referrallinks.findByCode",
      "operation": "findByCode",
      "objectName": "@happyvertical/smrt-sales:ReferralLinkCollection",
      "path": "/referrallinks/findByCode",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "referrallinks.createWithUniqueCode",
      "operation": "createWithUniqueCode",
      "objectName": "@happyvertical/smrt-sales:ReferralLinkCollection",
      "path": "/referrallinks/createWithUniqueCode",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "referrallinks.recordClick",
      "operation": "recordClick",
      "objectName": "@happyvertical/smrt-sales:ReferralLinkCollection",
      "path": "/referrallinks/recordClick",
      "method": "POST"
    },
    {
      "kind": "cli",
      "name": "referrallinkcollection_findByReferrer",
      "operation": "findByReferrer",
      "objectName": "@happyvertical/smrt-sales:ReferralLinkCollection"
    },
    {
      "kind": "cli",
      "name": "referrallinkcollection_findByCode",
      "operation": "findByCode",
      "objectName": "@happyvertical/smrt-sales:ReferralLinkCollection"
    },
    {
      "kind": "cli",
      "name": "referrallinkcollection_createWithUniqueCode",
      "operation": "createWithUniqueCode",
      "objectName": "@happyvertical/smrt-sales:ReferralLinkCollection"
    },
    {
      "kind": "cli",
      "name": "referrallinkcollection_recordClick",
      "operation": "recordClick",
      "objectName": "@happyvertical/smrt-sales:ReferralLinkCollection"
    },
    {
      "kind": "mcp",
      "name": "referrallinkcollection_findbyreferrer",
      "operation": "findByReferrer",
      "objectName": "@happyvertical/smrt-sales:ReferralLinkCollection"
    },
    {
      "kind": "mcp",
      "name": "referrallinkcollection_findbycode",
      "operation": "findByCode",
      "objectName": "@happyvertical/smrt-sales:ReferralLinkCollection"
    },
    {
      "kind": "mcp",
      "name": "referrallinkcollection_createwithuniquecode",
      "operation": "createWithUniqueCode",
      "objectName": "@happyvertical/smrt-sales:ReferralLinkCollection"
    },
    {
      "kind": "mcp",
      "name": "referrallinkcollection_recordclick",
      "operation": "recordClick",
      "objectName": "@happyvertical/smrt-sales:ReferralLinkCollection"
    },
    {
      "kind": "api",
      "name": "referralprograms.findByKey",
      "operation": "findByKey",
      "objectName": "@happyvertical/smrt-sales:ReferralProgramCollection",
      "path": "/referralprograms/findByKey",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "referralprograms.findByStatus",
      "operation": "findByStatus",
      "objectName": "@happyvertical/smrt-sales:ReferralProgramCollection",
      "path": "/referralprograms/findByStatus",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "referralprograms.findActive",
      "operation": "findActive",
      "objectName": "@happyvertical/smrt-sales:ReferralProgramCollection",
      "path": "/referralprograms/findActive",
      "method": "POST"
    },
    {
      "kind": "cli",
      "name": "referralprogramcollection_findByKey",
      "operation": "findByKey",
      "objectName": "@happyvertical/smrt-sales:ReferralProgramCollection"
    },
    {
      "kind": "cli",
      "name": "referralprogramcollection_findByStatus",
      "operation": "findByStatus",
      "objectName": "@happyvertical/smrt-sales:ReferralProgramCollection"
    },
    {
      "kind": "cli",
      "name": "referralprogramcollection_findActive",
      "operation": "findActive",
      "objectName": "@happyvertical/smrt-sales:ReferralProgramCollection"
    },
    {
      "kind": "mcp",
      "name": "referralprogramcollection_findbykey",
      "operation": "findByKey",
      "objectName": "@happyvertical/smrt-sales:ReferralProgramCollection"
    },
    {
      "kind": "mcp",
      "name": "referralprogramcollection_findbystatus",
      "operation": "findByStatus",
      "objectName": "@happyvertical/smrt-sales:ReferralProgramCollection"
    },
    {
      "kind": "mcp",
      "name": "referralprogramcollection_findactive",
      "operation": "findActive",
      "objectName": "@happyvertical/smrt-sales:ReferralProgramCollection"
    },
    {
      "kind": "api",
      "name": "referraltermsnapshots.findByReferral",
      "operation": "findByReferral",
      "objectName": "@happyvertical/smrt-sales:ReferralTermSnapshotCollection",
      "path": "/referraltermsnapshots/findByReferral",
      "method": "POST"
    },
    {
      "kind": "mcp",
      "name": "referraltermsnapshotcollection_findbyreferral",
      "operation": "findByReferral",
      "objectName": "@happyvertical/smrt-sales:ReferralTermSnapshotCollection"
    },
    {
      "kind": "api",
      "name": "referraltouches.findByReferrer",
      "operation": "findByReferrer",
      "objectName": "@happyvertical/smrt-sales:ReferralTouchCollection",
      "path": "/referraltouches/findByReferrer",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "referraltouches.findBySubject",
      "operation": "findBySubject",
      "objectName": "@happyvertical/smrt-sales:ReferralTouchCollection",
      "path": "/referraltouches/findBySubject",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "referraltouches.findByTargetWindow",
      "operation": "findByTargetWindow",
      "objectName": "@happyvertical/smrt-sales:ReferralTouchCollection",
      "path": "/referraltouches/findByTargetWindow",
      "method": "POST"
    },
    {
      "kind": "mcp",
      "name": "referraltouchcollection_findbyreferrer",
      "operation": "findByReferrer",
      "objectName": "@happyvertical/smrt-sales:ReferralTouchCollection"
    },
    {
      "kind": "mcp",
      "name": "referraltouchcollection_findbysubject",
      "operation": "findBySubject",
      "objectName": "@happyvertical/smrt-sales:ReferralTouchCollection"
    },
    {
      "kind": "mcp",
      "name": "referraltouchcollection_findbytargetwindow",
      "operation": "findByTargetWindow",
      "objectName": "@happyvertical/smrt-sales:ReferralTouchCollection"
    },
    {
      "kind": "api",
      "name": "referrers.findByProfile",
      "operation": "findByProfile",
      "objectName": "@happyvertical/smrt-sales:ReferrerCollection",
      "path": "/referrers/findByProfile",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "referrers.findByStatus",
      "operation": "findByStatus",
      "objectName": "@happyvertical/smrt-sales:ReferrerCollection",
      "path": "/referrers/findByStatus",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "referrers.findActive",
      "operation": "findActive",
      "objectName": "@happyvertical/smrt-sales:ReferrerCollection",
      "path": "/referrers/findActive",
      "method": "POST"
    },
    {
      "kind": "cli",
      "name": "referrercollection_findByProfile",
      "operation": "findByProfile",
      "objectName": "@happyvertical/smrt-sales:ReferrerCollection"
    },
    {
      "kind": "cli",
      "name": "referrercollection_findByStatus",
      "operation": "findByStatus",
      "objectName": "@happyvertical/smrt-sales:ReferrerCollection"
    },
    {
      "kind": "cli",
      "name": "referrercollection_findActive",
      "operation": "findActive",
      "objectName": "@happyvertical/smrt-sales:ReferrerCollection"
    },
    {
      "kind": "mcp",
      "name": "referrercollection_findbyprofile",
      "operation": "findByProfile",
      "objectName": "@happyvertical/smrt-sales:ReferrerCollection"
    },
    {
      "kind": "mcp",
      "name": "referrercollection_findbystatus",
      "operation": "findByStatus",
      "objectName": "@happyvertical/smrt-sales:ReferrerCollection"
    },
    {
      "kind": "mcp",
      "name": "referrercollection_findactive",
      "operation": "findActive",
      "objectName": "@happyvertical/smrt-sales:ReferrerCollection"
    },
    {
      "kind": "api",
      "name": "attributionexceptions.list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:AttributionException",
      "path": "/attributionexceptions",
      "method": "GET"
    },
    {
      "kind": "api",
      "name": "attributionexceptions.get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:AttributionException",
      "path": "/attributionexceptions/[id]",
      "method": "GET"
    },
    {
      "kind": "mcp",
      "name": "attributionexception_list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:AttributionException"
    },
    {
      "kind": "mcp",
      "name": "attributionexception_get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:AttributionException"
    },
    {
      "kind": "api",
      "name": "attributionpolicies.list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:AttributionPolicy",
      "path": "/attributionpolicies",
      "method": "GET"
    },
    {
      "kind": "api",
      "name": "attributionpolicies.get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:AttributionPolicy",
      "path": "/attributionpolicies/[id]",
      "method": "GET"
    },
    {
      "kind": "api",
      "name": "attributionpolicies.create",
      "operation": "create",
      "objectName": "@happyvertical/smrt-sales:AttributionPolicy",
      "path": "/attributionpolicies",
      "method": "POST"
    },
    {
      "kind": "cli",
      "name": "attributionpolicy_list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:AttributionPolicy"
    },
    {
      "kind": "cli",
      "name": "attributionpolicy_get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:AttributionPolicy"
    },
    {
      "kind": "cli",
      "name": "attributionpolicy_create",
      "operation": "create",
      "objectName": "@happyvertical/smrt-sales:AttributionPolicy"
    },
    {
      "kind": "cli",
      "name": "attributionpolicy_update",
      "operation": "update",
      "objectName": "@happyvertical/smrt-sales:AttributionPolicy"
    },
    {
      "kind": "cli",
      "name": "attributionpolicy_delete",
      "operation": "delete",
      "objectName": "@happyvertical/smrt-sales:AttributionPolicy"
    },
    {
      "kind": "cli",
      "name": "attributionpolicy_isDraft",
      "operation": "isDraft",
      "objectName": "@happyvertical/smrt-sales:AttributionPolicy"
    },
    {
      "kind": "cli",
      "name": "attributionpolicy_isActive",
      "operation": "isActive",
      "objectName": "@happyvertical/smrt-sales:AttributionPolicy"
    },
    {
      "kind": "cli",
      "name": "attributionpolicy_getEligibleServices",
      "operation": "getEligibleServices",
      "objectName": "@happyvertical/smrt-sales:AttributionPolicy"
    },
    {
      "kind": "cli",
      "name": "attributionpolicy_setEligibleServices",
      "operation": "setEligibleServices",
      "objectName": "@happyvertical/smrt-sales:AttributionPolicy"
    },
    {
      "kind": "cli",
      "name": "attributionpolicy_getEligibleCampaigns",
      "operation": "getEligibleCampaigns",
      "objectName": "@happyvertical/smrt-sales:AttributionPolicy"
    },
    {
      "kind": "cli",
      "name": "attributionpolicy_setEligibleCampaigns",
      "operation": "setEligibleCampaigns",
      "objectName": "@happyvertical/smrt-sales:AttributionPolicy"
    },
    {
      "kind": "cli",
      "name": "attributionpolicy_getEligibleRegions",
      "operation": "getEligibleRegions",
      "objectName": "@happyvertical/smrt-sales:AttributionPolicy"
    },
    {
      "kind": "cli",
      "name": "attributionpolicy_setEligibleRegions",
      "operation": "setEligibleRegions",
      "objectName": "@happyvertical/smrt-sales:AttributionPolicy"
    },
    {
      "kind": "cli",
      "name": "attributionpolicy_getMetadata",
      "operation": "getMetadata",
      "objectName": "@happyvertical/smrt-sales:AttributionPolicy"
    },
    {
      "kind": "cli",
      "name": "attributionpolicy_setMetadata",
      "operation": "setMetadata",
      "objectName": "@happyvertical/smrt-sales:AttributionPolicy"
    },
    {
      "kind": "cli",
      "name": "attributionpolicy_activate",
      "operation": "activate",
      "objectName": "@happyvertical/smrt-sales:AttributionPolicy"
    },
    {
      "kind": "cli",
      "name": "attributionpolicy_supersede",
      "operation": "supersede",
      "objectName": "@happyvertical/smrt-sales:AttributionPolicy"
    },
    {
      "kind": "cli",
      "name": "attributionpolicy_retire",
      "operation": "retire",
      "objectName": "@happyvertical/smrt-sales:AttributionPolicy"
    },
    {
      "kind": "mcp",
      "name": "attributionpolicy_list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:AttributionPolicy"
    },
    {
      "kind": "mcp",
      "name": "attributionpolicy_get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:AttributionPolicy"
    },
    {
      "kind": "api",
      "name": "referrals.list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:Referral",
      "path": "/referrals",
      "method": "GET"
    },
    {
      "kind": "api",
      "name": "referrals.get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:Referral",
      "path": "/referrals/[id]",
      "method": "GET"
    },
    {
      "kind": "api",
      "name": "referrals.create",
      "operation": "create",
      "objectName": "@happyvertical/smrt-sales:Referral",
      "path": "/referrals",
      "method": "POST"
    },
    {
      "kind": "cli",
      "name": "referral_list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:Referral"
    },
    {
      "kind": "cli",
      "name": "referral_get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:Referral"
    },
    {
      "kind": "cli",
      "name": "referral_create",
      "operation": "create",
      "objectName": "@happyvertical/smrt-sales:Referral"
    },
    {
      "kind": "cli",
      "name": "referral_update",
      "operation": "update",
      "objectName": "@happyvertical/smrt-sales:Referral"
    },
    {
      "kind": "cli",
      "name": "referral_delete",
      "operation": "delete",
      "objectName": "@happyvertical/smrt-sales:Referral"
    },
    {
      "kind": "cli",
      "name": "referral_isAttributed",
      "operation": "isAttributed",
      "objectName": "@happyvertical/smrt-sales:Referral"
    },
    {
      "kind": "cli",
      "name": "referral_isQualified",
      "operation": "isQualified",
      "objectName": "@happyvertical/smrt-sales:Referral"
    },
    {
      "kind": "cli",
      "name": "referral_isTerminal",
      "operation": "isTerminal",
      "objectName": "@happyvertical/smrt-sales:Referral"
    },
    {
      "kind": "cli",
      "name": "referral_getMetadata",
      "operation": "getMetadata",
      "objectName": "@happyvertical/smrt-sales:Referral"
    },
    {
      "kind": "cli",
      "name": "referral_setMetadata",
      "operation": "setMetadata",
      "objectName": "@happyvertical/smrt-sales:Referral"
    },
    {
      "kind": "cli",
      "name": "referral_markUnderReview",
      "operation": "markUnderReview",
      "objectName": "@happyvertical/smrt-sales:Referral"
    },
    {
      "kind": "cli",
      "name": "referral_markAttributed",
      "operation": "markAttributed",
      "objectName": "@happyvertical/smrt-sales:Referral"
    },
    {
      "kind": "cli",
      "name": "referral_markQualified",
      "operation": "markQualified",
      "objectName": "@happyvertical/smrt-sales:Referral"
    },
    {
      "kind": "cli",
      "name": "referral_disqualify",
      "operation": "disqualify",
      "objectName": "@happyvertical/smrt-sales:Referral"
    },
    {
      "kind": "cli",
      "name": "referral_markExpired",
      "operation": "markExpired",
      "objectName": "@happyvertical/smrt-sales:Referral"
    },
    {
      "kind": "mcp",
      "name": "referral_list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:Referral"
    },
    {
      "kind": "mcp",
      "name": "referral_get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:Referral"
    },
    {
      "kind": "api",
      "name": "referralagreements.list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:ReferralAgreement",
      "path": "/referralagreements",
      "method": "GET"
    },
    {
      "kind": "api",
      "name": "referralagreements.get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:ReferralAgreement",
      "path": "/referralagreements/[id]",
      "method": "GET"
    },
    {
      "kind": "api",
      "name": "referralagreements.create",
      "operation": "create",
      "objectName": "@happyvertical/smrt-sales:ReferralAgreement",
      "path": "/referralagreements",
      "method": "POST"
    },
    {
      "kind": "cli",
      "name": "referralagreement_list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:ReferralAgreement"
    },
    {
      "kind": "cli",
      "name": "referralagreement_get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:ReferralAgreement"
    },
    {
      "kind": "cli",
      "name": "referralagreement_create",
      "operation": "create",
      "objectName": "@happyvertical/smrt-sales:ReferralAgreement"
    },
    {
      "kind": "cli",
      "name": "referralagreement_update",
      "operation": "update",
      "objectName": "@happyvertical/smrt-sales:ReferralAgreement"
    },
    {
      "kind": "cli",
      "name": "referralagreement_delete",
      "operation": "delete",
      "objectName": "@happyvertical/smrt-sales:ReferralAgreement"
    },
    {
      "kind": "cli",
      "name": "referralagreement_isDraft",
      "operation": "isDraft",
      "objectName": "@happyvertical/smrt-sales:ReferralAgreement"
    },
    {
      "kind": "cli",
      "name": "referralagreement_isActive",
      "operation": "isActive",
      "objectName": "@happyvertical/smrt-sales:ReferralAgreement"
    },
    {
      "kind": "cli",
      "name": "referralagreement_isEffectiveAt",
      "operation": "isEffectiveAt",
      "objectName": "@happyvertical/smrt-sales:ReferralAgreement"
    },
    {
      "kind": "cli",
      "name": "referralagreement_getMetadata",
      "operation": "getMetadata",
      "objectName": "@happyvertical/smrt-sales:ReferralAgreement"
    },
    {
      "kind": "cli",
      "name": "referralagreement_setMetadata",
      "operation": "setMetadata",
      "objectName": "@happyvertical/smrt-sales:ReferralAgreement"
    },
    {
      "kind": "cli",
      "name": "referralagreement_activate",
      "operation": "activate",
      "objectName": "@happyvertical/smrt-sales:ReferralAgreement"
    },
    {
      "kind": "cli",
      "name": "referralagreement_bindExecution",
      "operation": "bindExecution",
      "objectName": "@happyvertical/smrt-sales:ReferralAgreement"
    },
    {
      "kind": "cli",
      "name": "referralagreement_bindExecutedAgreement",
      "operation": "bindExecutedAgreement",
      "objectName": "@happyvertical/smrt-sales:ReferralAgreement"
    },
    {
      "kind": "cli",
      "name": "referralagreement_supersede",
      "operation": "supersede",
      "objectName": "@happyvertical/smrt-sales:ReferralAgreement"
    },
    {
      "kind": "cli",
      "name": "referralagreement_terminate",
      "operation": "terminate",
      "objectName": "@happyvertical/smrt-sales:ReferralAgreement"
    },
    {
      "kind": "mcp",
      "name": "referralagreement_list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:ReferralAgreement"
    },
    {
      "kind": "mcp",
      "name": "referralagreement_get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:ReferralAgreement"
    },
    {
      "kind": "api",
      "name": "referrallinks.list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:ReferralLink",
      "path": "/referrallinks",
      "method": "GET"
    },
    {
      "kind": "api",
      "name": "referrallinks.get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:ReferralLink",
      "path": "/referrallinks/[id]",
      "method": "GET"
    },
    {
      "kind": "api",
      "name": "referrallinks.create",
      "operation": "create",
      "objectName": "@happyvertical/smrt-sales:ReferralLink",
      "path": "/referrallinks",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "referrallinks.update",
      "operation": "update",
      "objectName": "@happyvertical/smrt-sales:ReferralLink",
      "path": "/referrallinks/[id]",
      "method": "PATCH"
    },
    {
      "kind": "cli",
      "name": "referrallink_list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:ReferralLink"
    },
    {
      "kind": "cli",
      "name": "referrallink_get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:ReferralLink"
    },
    {
      "kind": "cli",
      "name": "referrallink_create",
      "operation": "create",
      "objectName": "@happyvertical/smrt-sales:ReferralLink"
    },
    {
      "kind": "cli",
      "name": "referrallink_update",
      "operation": "update",
      "objectName": "@happyvertical/smrt-sales:ReferralLink"
    },
    {
      "kind": "cli",
      "name": "referrallink_delete",
      "operation": "delete",
      "objectName": "@happyvertical/smrt-sales:ReferralLink"
    },
    {
      "kind": "cli",
      "name": "referrallink_isActive",
      "operation": "isActive",
      "objectName": "@happyvertical/smrt-sales:ReferralLink"
    },
    {
      "kind": "cli",
      "name": "referrallink_getMetadata",
      "operation": "getMetadata",
      "objectName": "@happyvertical/smrt-sales:ReferralLink"
    },
    {
      "kind": "cli",
      "name": "referrallink_setMetadata",
      "operation": "setMetadata",
      "objectName": "@happyvertical/smrt-sales:ReferralLink"
    },
    {
      "kind": "mcp",
      "name": "referrallink_list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:ReferralLink"
    },
    {
      "kind": "mcp",
      "name": "referrallink_get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:ReferralLink"
    },
    {
      "kind": "mcp",
      "name": "referrallink_create",
      "operation": "create",
      "objectName": "@happyvertical/smrt-sales:ReferralLink"
    },
    {
      "kind": "api",
      "name": "referralprograms.list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:ReferralProgram",
      "path": "/referralprograms",
      "method": "GET"
    },
    {
      "kind": "api",
      "name": "referralprograms.get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:ReferralProgram",
      "path": "/referralprograms/[id]",
      "method": "GET"
    },
    {
      "kind": "api",
      "name": "referralprograms.create",
      "operation": "create",
      "objectName": "@happyvertical/smrt-sales:ReferralProgram",
      "path": "/referralprograms",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "referralprograms.update",
      "operation": "update",
      "objectName": "@happyvertical/smrt-sales:ReferralProgram",
      "path": "/referralprograms/[id]",
      "method": "PATCH"
    },
    {
      "kind": "cli",
      "name": "referralprogram_list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:ReferralProgram"
    },
    {
      "kind": "cli",
      "name": "referralprogram_get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:ReferralProgram"
    },
    {
      "kind": "cli",
      "name": "referralprogram_create",
      "operation": "create",
      "objectName": "@happyvertical/smrt-sales:ReferralProgram"
    },
    {
      "kind": "cli",
      "name": "referralprogram_update",
      "operation": "update",
      "objectName": "@happyvertical/smrt-sales:ReferralProgram"
    },
    {
      "kind": "cli",
      "name": "referralprogram_delete",
      "operation": "delete",
      "objectName": "@happyvertical/smrt-sales:ReferralProgram"
    },
    {
      "kind": "cli",
      "name": "referralprogram_isActive",
      "operation": "isActive",
      "objectName": "@happyvertical/smrt-sales:ReferralProgram"
    },
    {
      "kind": "cli",
      "name": "referralprogram_getMetadata",
      "operation": "getMetadata",
      "objectName": "@happyvertical/smrt-sales:ReferralProgram"
    },
    {
      "kind": "cli",
      "name": "referralprogram_setMetadata",
      "operation": "setMetadata",
      "objectName": "@happyvertical/smrt-sales:ReferralProgram"
    },
    {
      "kind": "mcp",
      "name": "referralprogram_list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:ReferralProgram"
    },
    {
      "kind": "mcp",
      "name": "referralprogram_get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:ReferralProgram"
    },
    {
      "kind": "api",
      "name": "referraltermsnapshots.list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:ReferralTermSnapshot",
      "path": "/referraltermsnapshots",
      "method": "GET"
    },
    {
      "kind": "api",
      "name": "referraltermsnapshots.get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:ReferralTermSnapshot",
      "path": "/referraltermsnapshots/[id]",
      "method": "GET"
    },
    {
      "kind": "mcp",
      "name": "referraltermsnapshot_list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:ReferralTermSnapshot"
    },
    {
      "kind": "mcp",
      "name": "referraltermsnapshot_get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:ReferralTermSnapshot"
    },
    {
      "kind": "api",
      "name": "referraltouches.list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:ReferralTouch",
      "path": "/referraltouches",
      "method": "GET"
    },
    {
      "kind": "api",
      "name": "referraltouches.get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:ReferralTouch",
      "path": "/referraltouches/[id]",
      "method": "GET"
    },
    {
      "kind": "api",
      "name": "referraltouches.create",
      "operation": "create",
      "objectName": "@happyvertical/smrt-sales:ReferralTouch",
      "path": "/referraltouches",
      "method": "POST"
    },
    {
      "kind": "mcp",
      "name": "referraltouch_list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:ReferralTouch"
    },
    {
      "kind": "mcp",
      "name": "referraltouch_create",
      "operation": "create",
      "objectName": "@happyvertical/smrt-sales:ReferralTouch"
    },
    {
      "kind": "api",
      "name": "referrers.list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:Referrer",
      "path": "/referrers",
      "method": "GET"
    },
    {
      "kind": "api",
      "name": "referrers.get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:Referrer",
      "path": "/referrers/[id]",
      "method": "GET"
    },
    {
      "kind": "api",
      "name": "referrers.create",
      "operation": "create",
      "objectName": "@happyvertical/smrt-sales:Referrer",
      "path": "/referrers",
      "method": "POST"
    },
    {
      "kind": "api",
      "name": "referrers.update",
      "operation": "update",
      "objectName": "@happyvertical/smrt-sales:Referrer",
      "path": "/referrers/[id]",
      "method": "PATCH"
    },
    {
      "kind": "cli",
      "name": "referrer_list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:Referrer"
    },
    {
      "kind": "cli",
      "name": "referrer_get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:Referrer"
    },
    {
      "kind": "cli",
      "name": "referrer_create",
      "operation": "create",
      "objectName": "@happyvertical/smrt-sales:Referrer"
    },
    {
      "kind": "cli",
      "name": "referrer_update",
      "operation": "update",
      "objectName": "@happyvertical/smrt-sales:Referrer"
    },
    {
      "kind": "cli",
      "name": "referrer_delete",
      "operation": "delete",
      "objectName": "@happyvertical/smrt-sales:Referrer"
    },
    {
      "kind": "cli",
      "name": "referrer_isActive",
      "operation": "isActive",
      "objectName": "@happyvertical/smrt-sales:Referrer"
    },
    {
      "kind": "cli",
      "name": "referrer_isPending",
      "operation": "isPending",
      "objectName": "@happyvertical/smrt-sales:Referrer"
    },
    {
      "kind": "cli",
      "name": "referrer_isSuspended",
      "operation": "isSuspended",
      "objectName": "@happyvertical/smrt-sales:Referrer"
    },
    {
      "kind": "cli",
      "name": "referrer_getMetadata",
      "operation": "getMetadata",
      "objectName": "@happyvertical/smrt-sales:Referrer"
    },
    {
      "kind": "cli",
      "name": "referrer_setMetadata",
      "operation": "setMetadata",
      "objectName": "@happyvertical/smrt-sales:Referrer"
    },
    {
      "kind": "mcp",
      "name": "referrer_list",
      "operation": "list",
      "objectName": "@happyvertical/smrt-sales:Referrer"
    },
    {
      "kind": "mcp",
      "name": "referrer_get",
      "operation": "get",
      "objectName": "@happyvertical/smrt-sales:Referrer"
    },
    {
      "kind": "mcp",
      "name": "referrer_create",
      "operation": "create",
      "objectName": "@happyvertical/smrt-sales:Referrer"
    }
  ],
  "prompts": [],
  "relationshipsV2": {
    "foreignKeyFields": 35,
    "crossPackageRefFields": 14,
    "junctionCollections": 0,
    "hierarchicalObjects": 0,
    "polymorphicAssociations": 0,
    "uuidColumns": 216
  },
  "agentDoc": "# @happyvertical/smrt-sales\n\nModular sales: provider-neutral agreement execution, CRM, referral intake, a neutral commissions financial core, and reusable Svelte surfaces. One installable package with distinct subpath exports:\n\n- `@happyvertical/smrt-sales/agreements`\n- `@happyvertical/smrt-sales/crm`\n- `@happyvertical/smrt-sales/referrals`\n- `@happyvertical/smrt-sales/commissions`\n- `@happyvertical/smrt-sales/svelte`\n\nThe root export re-exports every TS module. `agreements` depends on the provider-neutral `@happyvertical/signatures` contract and `smrt-assets`; provider credentials stay in the injected SDK adapter/secret store. `referrals` binds its versioned terms to `agreements`.\n\n## Validation\n\nRun `pnpm --filter @happyvertical/smrt-sales test` and `pnpm --filter @happyvertical/smrt-sales typecheck` for package changes. PostgreSQL-sensitive changes must also run `pnpm --filter @happyvertical/smrt-sales test:postgres`; the command uses the repository's disposable PostgreSQL harness and is registered in the PostgreSQL CI shard.\n\n## Roles vs. money\n\nReferrers and Sales Representatives are **distinct roles** and stay that way. Both connect to money through one neutral financial account:\n\n- **Earner** (commissions): payout identity — method, threshold, currency, status. Referenced by every Commission and CommissionPayout.\n- **SalesRepresentative** (crm) and **Referrer** (referrals): role models, each holding `profileId` (cross-package string ref to smrt-profiles) and `earnerId`.\n\n## Modules\n\nPer-module semantics live in sibling module docs — read the one for the module\nyou are editing. This file keeps what holds in every module.\n\n| Module | Scope | Module doc |\n|---|---|---|\n| `agreements` | verified execution evidence — private orchestration state, append-only provider events, immutable executed agreements, and the provider-neutral execution service | [agents/agreements.md](agents/agreements.md) |\n| `commissions` | the neutral financial core — earners, versioned plans, earning events, commissions, adjustments, balances, and payout settlement | [agents/commissions.md](agents/commissions.md) |\n| `crm` | leads, configurable pipelines, opportunities, tenant-safe Lead follow-up, activity trail, and idempotent conversion links | [agents/crm.md](agents/crm.md) |\n| `referrals` | referrers, programs, versioned attribution policies, links/touches, referrals, exception review, and term snapshots | [agents/referrals.md](agents/referrals.md) |\n| `svelte` | props-driven presentational surfaces for CRM, the referrer portal, and operator review | [agents/svelte.md](agents/svelte.md) |\n\n## Currency\n\n**All monetary fields are integer cents** with `*Cents` suffixes; that scale is a Sales contract, not an implicit framework currency rule. Fresh PostgreSQL/DuckDB INTEGER columns are BIGINT, while JavaScript hydration rejects values outside the safe-integer range. Rates are decimal (`0`–`1`). Rounding happens once per calculation step via `roundCents()` (half-away-from-zero) and every Commission stores its `calculationTrace` so amounts are reproducible. Convert at display/commerce boundaries with `centsToAmount()`/`amountToCents()`.\n\n## Tenancy\n\nBusiness/domain models are generally `@TenantScoped({ mode: 'optional' })` with `@tenantId({ nullable: true })`. This deliberately departs from legacy smrt-affiliates (which was cross-tenant by design for ad networks): sales programs, earners, and payouts are tenant-owned, while `tenantId: null` remains available for intentional global/operator-level rows. Immutable tenant-bound execution evidence (`AgreementExecution`, `AgreementExecutionEvent`, `ExecutedAgreement`) and private orchestration fences (`CommissionAdjustmentOperation`) instead use required tenancy with a non-null owner; never weaken those rows to optional tenancy.\n\n## Cross-package references (plain strings)\n\n`profileId` → smrt-profiles Profile; `invoiceId` (CommissionPayout) → smrt-commerce Invoice; agreement artifacts → smrt-assets Asset ids. No static imports of unrelated sibling domain packages.\n\n## smrt-affiliates migration\n\n`@happyvertical/smrt-affiliates` is now a deprecated compatibility package that re-exports this package's commissions core under the legacy names (`Partner` → `Earner`, `Payout` → `CommissionPayout`, `Commission`, collections, enums) with `@deprecated` guidance and **no duplicate persistence model**. The data/API mapping lives in `packages/affiliates/MIGRATION.md`.\n\n## Gotchas\n\n- **Cents vs. rates**: `*Cents` fields are INTEGER (`= 0` defaults); `rate`/`probability`/`shareFraction` are DECIMAL (`= 0.0` defaults). Don't mix the two conventions on one field.\n- **Optional same-package foreign keys use null**: execution, supersession, earning-event, and payout references that are absent persist as `null`, never `''`; their physical database constraints remain enabled when a real id is present.\n- **Versioned terms are rows, not edits**: CommissionPlan / AttributionPolicy / ReferralAgreement amendments insert `version + 1`; active versions are save-guarded immutable.\n- **Idempotency is dedupeKey-based**: EarningEvent, Commission, and CommissionPayout carry natural keys (`conflictColumns`) — retried ingestion/settlement upserts instead of duplicating.\n- **Adjustments never rewrite**: correcting an earned/paid Commission means appending a CommissionAdjustment, not editing the Commission.\n- **Adjustment retries use the service**: CommissionAdjustment has no public operation field and rejects an untyped `operationId` constructor option; ordinary legacy creates without one remain compatible. `CommissionAdjustmentService` transactionally claims the private operation fence with insert-on-conflict-no-op, creates the explicit mapped adjustment id only for the winner, then verifies the persisted intent; the same globally unique operation UUID cannot be reused by another tenant.\n- **Manifest objects must remain root-importable**: generated consumer registration imports every manifest-advertised model and collection from `@happyvertical/smrt-sales`. The `CommissionAdjustmentOperation` and `ReferralClickOperation` model/collection values are therefore root and owning-subpath exports for runtime loading, while their `api: false`, `mcp: false`, and `cli: false` decorators keep them off generated application surfaces. Publish-pack validation imports the actual CLI-generated register against the packed tarball.\n- **CommissionPayout, not Payout**: avoids the pre-existing global table-name collision between commerce `Payout` and legacy affiliates `Payout` (`payouts`).\n- **Table names are global**: new models were named to avoid collisions across packages (`commission_payouts`, `sales_activities`, `attribution_policies`, …).\n- **Svelte module is svelte-check-gated**: no runtime component tests; `typecheck` runs `svelte-check` via `scripts/svelte-check-a11y.mjs`. Ship raw `.svelte` via `svelte-package`.\n- **Lead follow-up stays generic**: call `LeadWorkflowService` for audited Lead assignment/status/activity/task mutations under ambient tenancy; it locks rows, rejects cross-tenant identifiers, and has no authorization, SLA, automatic-owner, reminder, website-contact, or conversion policy. `LeadDetail` is props/callback only; host applications map state and call the service.\n- **Model transition methods don't save**: `markEarned()/approve()/markPayable()/markPaid()` (Commission) and the payout transitions mutate + stamp timestamps only — callers save; the settlement/payout services do both.\n- **`reject()` alone strands rows**: the model method only flips status — always reject through `transitionPayoutForSource`, which releases the batch's membership in the same transaction; stamped rows on a rejected payout would be unsettleable forever.\n- **The payout source stamp is derived data, never authorization**: `sourceKind`/`sourceId` on CommissionPayout index the history listing; both the listing and the lifecycle service re-verify actual membership and fail closed when the stamp cannot be proven.\n- **`sweepClearing` treats `clearingEndsAt: null` as immediately sweepable** (no clearing configured ⇒ nothing to wait for).\n- **Agreement freeze scope**: activating a ReferralAgreement requires and freezes its execution/evidence refs along with its commercial terms. `effectiveTo` remains writable for explicit end-dating; signed bytes, hashes, signer evidence, and audit trail exist only on immutable ExecutedAgreement/Asset records.\n- **Circular FK pair by design**: `Referral.snapshotId ↔ ReferralTermSnapshot.referralId`. Fine on SQLite (and no cross-table DDL constraints are emitted for these string FKs); keep an eye on strict-DDL environments.\n- **Attribution resolution is single-writer per (target, program)**: `resolve()` is idempotent against PERSISTED state, but two workers resolving the same target concurrently can both pass the existence check and create duplicate credit — the collection layer has no cross-row transaction (the same stance as payout batching, which relies on disjoint scopes for concurrency). Run intake resolution serially per target (it naturally is, in a request handler); duplicates are visible in the portal and correctable via `override()`.\n- **recordClick inside your transaction participates, never nests**: a nested adapter `transaction()` takes an independent pooled connection (happyvertical/sdk#1108) — it deadlocks undetectably on locks the caller's transaction holds (PostgreSQL sees a promise-wait, not a lock-wait) and refuses caller-created uncommitted links as `unknown_code`. Pass the caller's transaction database as `RecordClickInput.transaction` or bind the collection to it (`{ db: tx, _reuseInitializedDb: true, _deferRuntimeInitialization: true }` — detected and honored automatically); a pool-level database passed as `transaction` is refused with typed reason `invalid_transaction`. Participating results are bound to the caller's transaction — carry ids across the commit boundary; the pool-bound default still self-transacts and rehydrates after commit.\n- **Click retries reuse one key**: pass the exact same non-empty, well-formed-Unicode `recordClick.idempotencyKey` (maximum 256 UTF-8 bytes) on transport/database retry. Omitting it remains source-compatible but creates and returns a one-shot UUID; it cannot deduplicate a later independent invocation. `maxEvidenceBytes` guards creation; changing it cannot turn an already-committed exact replay into failure. Replay validation is against the immutable operation/touch snapshot, not mutable current link fields: later link edits preserve exact replay, the result link is current, and the touch evidence is the original snapshot. The private optional-tenant `ReferralClickOperation` table is the serialization fence and must be included in schema migration. Never pre-bound caller evidence: Sales owns the authoritative final-envelope byte check.\n- **`ObjectRegistry.getConfig(X)` needs the class module imported** (decorator side effects) — manifest-only registration doesn't carry api/mcp/conflictColumns; tests asserting surface configs need a side-effect import of the module barrel.\n",
  "moduleDocs": [
    {
      "path": "agents/agreements.md",
      "module": "agreements",
      "content": "# smrt-sales/agreements — verified execution evidence\n\nPer-module semantics for `@happyvertical/smrt-sales/agreements`. Package orientation, the\ncross-module invariants (currency, tenancy, cross-package refs, roles vs.\nmoney), and the Gotchas that apply before editing anything live in\n[../AGENTS.md](../AGENTS.md) — read that first.\n\n- **AgreementExecution**: private required-tenant orchestration state keyed by `(tenant_id, idempotency_key)`, with a collision-checked provider request/status, an expiring create-operation lease, source version/hash/size/Asset, intended signer identity/auth method, cancellation/expiry, reconciliation, exact staged artifact metadata, and secret-store references only.\n- **AgreementExecutionEvent**: private append-only evidence for verified webhooks and operator/provider operations. Provider events are deduped by tenant/provider replay key; explicit occurrence/first-receipt timestamps and the exact payload/hash are retained, while signature headers are never stored. A later receipt time for the same verified provider event is an idempotent replay. Stale, regressive, or conflicting terminal events are audited without regressing lifecycle state or creating executed evidence.\n- **ExecutedAgreement**: immutable read-only source version plus signed-document and audit-trail Asset ids/hashes/sizes/filenames/media types, completed signer evidence, acceptance/effective dates, and supersession reference. Amendments create new records.\n- **AgreementExecutionService**: accepts an SDK `SignatureProvider` and shared `AssetRuntimeLike`; enforces ambient tenant equality, expiring remote-attempt fencing, create idempotency, verified webhook ingestion/replay, tenant-fenced lifecycle compare-and-set with monotonic provider-event ordering, partial audit/failure updates that cannot overwrite lifecycle state, cancellation/expiry/reconciliation, exact artifact hashing, and immutable finalization. An expired create lease may be reclaimed only when the provider advertises atomic idempotency; otherwise a create with no confirmed request id must be reconciled/adopted before retry.\n"
    },
    {
      "path": "agents/commissions.md",
      "module": "commissions",
      "content": "# smrt-sales/commissions — neutral financial core\n\nPer-module semantics for `@happyvertical/smrt-sales/commissions`. Package orientation, the\ncross-module invariants (currency, tenancy, cross-package refs, roles vs.\nmoney), and the Gotchas that apply before editing anything live in\n[../AGENTS.md](../AGENTS.md) — read that first.\n\n- **Earner**: `profileId`, `status` (`pending|active|suspended`), `payoutMethod` (`bank_transfer|check|paypal|credit|other`), `payoutThresholdCents`, `payoutScheduleKey` (open string: `manual`, `monthly`, …), `currency`, `metadata`.\n- **EarnerSourceAttribution** (#1986): indexed external attribution mapping `(sourceKind, sourceId) → earnerId` with `status` (`active|inactive`) — the queryable replacement for stashing associations in `Earner.metadata`. Natural key `(tenant_id, source_kind, source_id)` (one mapping per key per tenant; a re-`create` upserts/re-points; the adapters' null-aware upsert dedups NULL-tenant keys too, but duplicate global rows minted outside the model layer remain representable). The attribution kind space is consumer-defined and need not match earning-event source kinds. `EarnerAttributionService` is the public API: `registerAttribution` (idempotent; reports `created`/`previousEarnerId`; also the documented metadata-migration backfill primitive — loop earners, register each association, verify, drop the metadata key) and `resolveActiveEarnerBySource`/`resolveActiveEarnersBySources` (single/batched; 2 queries bounded by the REQUESTED ids, never a scan of active earners; fail-closed typed reasons `no_mapping|mapping_inactive|ambiguous_mapping|earner_not_found|earner_not_active` — more than one ACTIVE row for a key refuses rather than guessing). In tenant context mappings resolve within that tenant only; without context, lookups span all rows and cross-tenant duplicates surface as `ambiguous_mapping`.\n- **CommissionPlan**: versioned calculation terms. Natural key `(tenant_id, plan_key, version)` (per-tenant keys; the adapters' null-aware upsert dedups NULL-tenant keys through the model layer, though duplicate global rows minted via raw SQL remain representable); `status` (`draft|active|superseded|retired`); `effectiveFrom`. Components are a JSON-string array (`getComponents()`): each component has `key`, `trigger` (earning-event kind or `*`), `basis` (`fixed|gross|net|margin|custom`), `rate` or `fixedAmountCents`, `recurrence` (`one_time` or `recurring` with optional `maxOccurrences`/`windowMonths`). **Immutable once active** — amendments create a new row with `version + 1`; prior versions are never rewritten. `latestActiveByKey(key, at?)` resolves the highest active version **already in effect at `at`** — a future-dated amendment can be activated ahead of time without governing earlier qualifications (same rule on `AttributionPolicyCollection`).\n- **EarningEvent**: immutable commercial-event evidence (`conversion`, `agreement_execution`, `invoice_payment`, `collected_revenue`, `recognized_margin`, or any extensible kind). Carries `sourceKind`/`sourceId` (generic earning source), `grossAmountCents`/`netAmountCents`/`marginCents`, `currency`, `occurredAt`, and a `dedupeKey` natural key for idempotent ingestion. No update/delete surface, plus a save-time immutability guard: hydrated edits, blind id overwrites, and fresh creates onto an existing dedupe key all throw (the upsert would rotate the row id and orphan referencing Commissions) — idempotent ingestion goes through `getOrCreateByDedupeKey()`.\n- **Commission**: one earning record per earner per plan component per event occurrence. Integer-cents amounts (`baseAmountCents`, `amountCents`), decimal `rate`, `basis`, snapshot references (`planKey`/`planVersion`, generic `termsSnapshotKind`/`termsSnapshotId`), a JSON `calculationTrace` sufficient to reproduce the amount, split support (`splitGroupId`, `shareFraction`), and a `dedupeKey` for idempotent creation. Lifecycle `pending → earned → approved → payable → paid`, enforced by a save-time transition guard with an authoritative prior-status re-read (commerce pattern).\n- **CommissionAdjustment**: append-only corrections (`refund|credit|chargeback|dispute|correction`), signed `amountCents`, required `reason`, immutable once created. `CommissionAdjustmentService.createAdjustment()` is the tenant-required idempotent creation door: callers provide a stable operation UUID; the database creates exactly one row, exact retries return it, and changed tenant/commission/earner/kind/cents/currency/reason/operator/metadata fail with a typed replay conflict. Parent Commission plus denormalized tenant/Earner/currency and operator UUID are validated before insert. The financial row deliberately exposes no operation field. A private, required-tenant `CommissionAdjustmentOperation` table uses the globally unique operation UUID as its primary id, maps it to the adjustment UUID, and is inserted in the same transaction as the adjustment. Existing adjustment schemas and legacy direct creates remain unchanged. Earned/paid Commissions are never rewritten — adjustments append to them.\n- **Payable balance**: computed, not stored — `CommissionBalanceService` sums payable Commissions plus unsettled Adjustments per Earner/currency.\n- **CommissionPayout**: settlement batch per Earner. `pending → approved → processing → completed | failed` (`resetFromFailed()` is the only exit from failed), plus the terminal operator decline `rejected` reachable from pending/approved (#1987 — reject through `transitionPayoutForSource`, which also RELEASES the batch's membership so the rows settle through a future batch; `reject()` on the model mutates status only). Settles rows via the collections' **conditional `claimForPayout`** (model-layer get/save/re-read — tenancy- and dialect-safe; a row owned by another batch is never re-claimed) and stores totals recomputed from the VERIFIED claimed membership; idempotent via `idempotencyKey` natural key (default `${earnerId}:${currency}:${YYYY-MM-DD}`) — a clean replay touches nothing, while a pending payout whose totals disagree with its stamped rows (interrupted claim pass) is repaired on replay (the claim pass re-checks the payout is still pending first). Each batch/repair pass also derives the payout's **single-source stamp** (`sourceKind`/`sourceId`, indexed): set when every claimed commission — and every claimed adjustment through its parent commission — shares exactly one non-empty source; empty for mixed/unknown/empty membership. `completePayout` flips member commissions to `paid` BEFORE the terminal transition, so a mid-loop failure stays retryable. Enforces `totalAmountCents = commissionTotalCents + adjustmentTotalCents` at save; retains `paymentReference`/`providerRef`; optional `invoiceId` cross-package string ref to a commerce Invoice. Generated surface is read-only on ALL doors (api/mcp/cli `list`/`get`) — writes go through `CommissionPayoutService`. `createPayoutBatch` settles the whole earner+currency by default, or a **scoped** subset: pass `sourceKind`+`sourceId` to settle just one earning source (e.g. one ad network), or `commissionIds` for an explicit set (each validated payable+unsettled+earner+currency; requires its own `idempotencyKey`) — adjustments are narrowed to the same scope, and the default idempotency key folds the source in. Scoping is how concurrent per-source batches settle safely: batches scoped to different sources (or disjoint `commissionIds`) gather **disjoint** row sets and never contend. The collection layer has no cross-row transaction, so OVERLAPPING concurrent scopes (a source batch + the earner-wide batch, intersecting id sets, or a batch replay racing a lifecycle transition of the same payout) must be serialized by the caller — `claimForPayout` still won't double-own a row, but a shared commission and its adjustment could split across the two batches.\n- **Source-scoped payout history** (#1985): `CommissionPayoutService.getSourcePayoutHistory({ sourceKind, sourceId, limit?, offset? })` — one page of the payouts belonging to ONE earning source, newest first (`created_at DESC, id DESC`), offset contract (`nextOffset` advances by the scanned count; `null` when exhausted). Candidates come from the indexed stamp, so work is bounded by page size (a sparse source never scans the global history); each page is re-verified against actual membership in three batched queries (no per-payout N+1) — every member commission and every adjustment's parent must carry exactly the requested source and agree on earner/currency/tenant; unprovable rows (mixed-source, missing parents, memberless artifacts, released/rejected batches) are excluded fail-closed and reported in `excluded` with reasons. Adjustment-only payouts prove ownership through parent commissions and list normally. Payouts minted before the stamp existed are invisible until backfilled with `restampPayoutSource(payoutId)` (idempotent, any status).\n- **Source-authorized lifecycle transitions** (#1987): `CommissionPayoutService.transitionPayoutForSource({ payoutId, sourceKind, sourceId, action, expectedStatus?, paymentReference?, reason? })` — atomic alternative to load-verify-transition. Actions `approve | mark_processing | complete | fail | reject`. Everything runs on one transaction database: the payout row is locked (PostgreSQL `SELECT … FOR UPDATE`, replica-safe; single-connection engines serialize transitions per database in-process), membership is re-verified under the lock (every commission and every adjustment through its parent must carry exactly the requested source and matching earner/currency/tenant — else typed fail-closed refusals with no payout/member data), and only authorized calls receive status-derived `already_applied` or `status_conflict` outcomes. Totals are then recomputed under the lock (drift refuses the money-forward actions with `totals_drift`; repair = `createPayoutBatch` replay while pending; `fail`/`reject` proceed despite drift — reject IS the remedy), and the transition plus member writes commit or roll back together (`complete` flips members to paid in the same transaction; `reject` releases membership then declines). Outcomes: `transitioned`, `already_applied` (idempotent echo — terminal completion NEVER rewrites `paymentReference`/`providerRef`/`paidAt`), or `refused` with `{ reason, detail }`. Concurrent duplicate calls for actions that retain membership resolve as one `transitioned` + `already_applied` echoes; `reject` releases its membership evidence, so serialized replays fail `membership_empty` rather than expose rejected state. `expectedStatus` adds optimistic-concurrency strictness after authorization. Memberless batch artifacts cannot pass the source-authorized door (`membership_empty`) — they stay operator-level.\n"
    },
    {
      "path": "agents/crm.md",
      "module": "crm",
      "content": "# smrt-sales/crm\n\nPer-module semantics for `@happyvertical/smrt-sales/crm`. Package orientation, the\ncross-module invariants (currency, tenancy, cross-package refs, roles vs.\nmoney), and the Gotchas that apply before editing anything live in\n[../AGENTS.md](../AGENTS.md) — read that first.\n\n- **SalesRepresentative**: role model (`profileId`, `earnerId`, `status`).\n- **Lead**: identified prospect with owner assignment, generic acquisition source (`sourceKind`/`sourceId`), preserved `acquisitionContext` JSON, and audited merge (`mergedIntoId`; merges preserve activity + acquisition history on both sides).\n- **PipelineDefinition / PipelineStage**: configurable ordered stages with default `new → qualified → discovery → proposal → negotiation → closed_won | closed_lost` (seeded via `ensureDefaultPipeline()`); stages carry `probability` and `isWon`/`isLost` terminal flags.\n- **Opportunity**: qualified engagement — owner, pipeline + stage, `expectedValueCents`, `probability`, `expectedCloseAt`, outcome. Stage movement validated against the pipeline; terminal stages set `won|lost` status.\n- **SalesActivity**: activity/next-action trail for Leads and Opportunities (`subjectKind`/`subjectId`), also the audit trail for assignment, qualification, merges, and stage movement.\n- **LeadWorkflowService**: the required tenant-safe pre-qualification mutation seam. It transactionally locks the Lead (and completion task on PostgreSQL), accepts only active same-tenant representatives, writes assignment/status/completion audits alongside their mutations, and returns merge-aware timeline/work-state reads. It owns `new | disqualified → working`, `new | working → disqualified`, human follow-up (`note | call | email | meeting`), and task scheduling/completion; qualification and merging remain collection lifecycles.\n- **OpportunityConversion**: idempotent conversion links (`targetKind`/`targetId` — client, project, contract, subscription, …) with a composite natural key. CRM never creates downstream records itself and never mutates referral or commission state.\n\nWorkflow calls require ambient tenant context and an actor profile id. Fail closed for foreign/missing Lead, representative, and task ids without revealing their existence. Human metadata is plain JSON-object data; framework audit metadata is generated separately. Keep queue projection pure (`now`/optional timezone are injected) and do not add assignment, reminder, SLA, authorization, or conversion policy.\n"
    },
    {
      "path": "agents/referrals.md",
      "module": "referrals",
      "content": "# smrt-sales/referrals\n\nPer-module semantics for `@happyvertical/smrt-sales/referrals`. Package orientation, the\ncross-module invariants (currency, tenancy, cross-package refs, roles vs.\nmoney), and the Gotchas that apply before editing anything live in\n[../AGENTS.md](../AGENTS.md) — read that first.\n\n- **Referrer**: role model (`profileId`, `earnerId`, `status`).\n- **ReferralProgram**: program defaults — default commission plan key, default attribution policy key, eligibility defaults.\n- **AttributionPolicy**: versioned `(tenant_id, policy_key, version)` policy (per-tenant keys) — attribution `windowDays`, credit mode (`first_touch|last_touch|assigned|split`), split shares, self-referral/existing-client eligibility, eligible services/campaigns/regions, conflict behavior. Immutable once active; amendments bump `version`.\n- **ReferralLink**: shareable link/code per Referrer+Program. Codes are crypto-random and uniqueness-checked. `ReferralLinkCollection.recordClick()` transactionally creates one immutable touch plus one counter increment behind a caller replay key. Exact retries return the original touch; changed link/subject/time/evidence intent raises `ReferralClickReplayConflictError`. Replay comparison uses the immutable operation/touch snapshot, so later mutable link edits do not invalidate the retry; the result carries the current link and original touch evidence. The exact canonical persisted evidence JSON, after Sales overwrites `code`, `linkId`, and `targetUrl`, is bounded to 4096 UTF-8 bytes by default (`maxEvidenceBytes` customizes it). By default the click self-transacts and rehydrates results after commit; inside a caller's open transaction it must participate instead — pass the transaction database as `RecordClickInput.transaction`, or call it on a collection bound to that transaction, and the click joins the caller's atomicity with results bound to that transaction (#2083).\n- **ReferralTouch**: immutable attribution evidence (`click|code_entry|manual_assignment|partner_entry`) with subject hints and evidence JSON.\n- **Referral**: the introduction — generic qualifying target (`targetKind`/`targetId`: lead, opportunity, client, project, subscription, …), resolved policy version, credit fraction (splits create sibling Referrals sharing `splitGroupId`), lifecycle `pending → attributed → qualified | disqualified | expired | under_review`.\n- **AttributionException**: conflict review queue. Conclusive policy resolves automatically; ambiguity creates an exception; overrides require a `resolutionReason` and are audited.\n- **ReferralAgreement**: versioned per-Referrer terms binding — pins `commissionPlanKey`/`planVersion`, effective dating, and an immutable `ExecutedAgreement` before activation. Amendments are fresh unsigned drafts and never inherit execution evidence.\n- **ReferralTermSnapshot**: immutable at qualification — freezes agreement/plan/policy version refs plus the calculation inputs needed to reproduce every later earning.\n- **Services**: `ReferralAgreementExecutionService` binds generated Referral Agreement versions to the generic execution service and activates/supersedes them transactionally with future-effective amendment support; `AttributionService`, `ReferralQualificationService`, and `ReferralCommissionService` retain their existing attribution/qualification/earning responsibilities.\n"
    },
    {
      "path": "agents/svelte.md",
      "module": "svelte",
      "content": "# smrt-sales/svelte\n\nPer-module semantics for `@happyvertical/smrt-sales/svelte`. Package orientation, the\ncross-module invariants (currency, tenancy, cross-package refs, roles vs.\nmoney), and the Gotchas that apply before editing anything live in\n[../AGENTS.md](../AGENTS.md) — read that first.\n\nProps-driven presentational components (no data fetching, no model-class imports, Provider-free smrt-ui primitives, `--smrt-*` tokens only): CRM — `SalesDashboard`, `LeadList`, `LeadDetail`, `OpportunityBoard`, `OpportunityDetail`; referrer portal — `ReferralLinkManager`, `ReferralStatusList`, `ReferrerEarningsSummary`, `CommissionBreakdown` (trace-explained amounts), `PayoutHistoryList`, `ExecutedAgreementsList`; operator — `AttributionConflictQueue` (award editor + required resolution reason), `PayoutBatchReview`, `CommissionExpenseSummary` (explicitly distinct from client invoices). Monetary props stay integer cents; `format.ts` converts at render. View-model prop types are exported interfaces (never inline intersected generics in `$props()`); pure helpers (dashboard math, Lead workflow action gating, award validation mirroring the service, payout action gating) are unit-tested while components are svelte-check-gated.\n\n`LeadDetail` renders a complete host-supplied timeline and callback-only assignment, start/reopen, disqualification, human-activity, next-action, completion, and optional qualification controls. Its `busy` prop disables every mutation affordance; the host owns tenancy, authorization, service invocation, refresh, and any policy around due dates or reminders.\n"
    }
  ]
}