{
  "version": "1.0.0",
  "timestamp": 0,
  "packageName": "@happyvertical/smrt-projects",
  "packageVersion": "0.51.10",
  "objects": {
    "@happyvertical/smrt-projects:DevelopmentRequestHistoryCollection": {
      "name": "developmentrequesthistorycollection",
      "className": "DevelopmentRequestHistoryCollection",
      "qualifiedName": "@happyvertical/smrt-projects:DevelopmentRequestHistoryCollection",
      "collection": "developmentrequesthistories",
      "filePath": "/home/runner/work/smrt/smrt/packages/projects/src/collections/DevelopmentRequestHistories.ts",
      "packageName": "@happyvertical/smrt-projects",
      "fields": {},
      "methods": {
        "listForRequest": {
          "name": "listForRequest",
          "async": true,
          "parameters": [
            {
              "name": "tenantId",
              "type": "string",
              "optional": false
            },
            {
              "name": "requestId",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<DevelopmentRequestHistory[]>",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "tableName": "development_request_histories",
        "api": false,
        "mcp": false,
        "cli": false
      },
      "extends": "SmrtCollection",
      "extendsTypeArg": "DevelopmentRequestHistory",
      "exportName": "DevelopmentRequestHistoryCollection",
      "collectionExportName": "DevelopmentRequestHistoryCollectionCollection",
      "schema": {
        "tableName": "development_request_histories",
        "ddl": "CREATE TABLE IF NOT EXISTS \"development_request_histories\" (\n  \"id\" UUID PRIMARY KEY NOT NULL,\n  \"slug\" TEXT NOT NULL,\n  \"context\" TEXT NOT NULL DEFAULT '',\n  \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"tenant_id\" UUID NOT NULL,\n  \"request_id\" UUID NOT NULL,\n  \"from_status\" TEXT DEFAULT '',\n  \"to_status\" TEXT DEFAULT 'submitted',\n  \"actor_type\" TEXT DEFAULT 'system',\n  \"actor_id\" TEXT DEFAULT '',\n  \"note\" TEXT\n);",
        "columns": {
          "id": {
            "type": "UUID",
            "primaryKey": true,
            "referenceKind": "id",
            "notNull": true
          },
          "slug": {
            "type": "TEXT",
            "notNull": true
          },
          "context": {
            "type": "TEXT",
            "notNull": true,
            "default": ""
          },
          "created_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "updated_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": true,
            "unique": false
          },
          "request_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": true,
            "unique": false,
            "foreignKey": {
              "table": "development_requests",
              "column": "id",
              "onDelete": "NO ACTION",
              "onUpdate": "CASCADE"
            }
          },
          "from_status": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": ""
          },
          "to_status": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": "submitted"
          },
          "actor_type": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": "system"
          },
          "actor_id": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": ""
          },
          "note": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          }
        },
        "indexes": [
          {
            "name": "development_request_histories_slug_context_idx",
            "columns": [
              "tenant_id",
              "slug",
              "context"
            ],
            "unique": true
          },
          {
            "name": "development_request_histories_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          },
          {
            "name": "development_request_histories_request_id_idx",
            "columns": [
              "request_id"
            ]
          }
        ],
        "version": "67389678"
      },
      "importPath": "@happyvertical/smrt-projects"
    },
    "@happyvertical/smrt-projects:DevelopmentRequestCollection": {
      "name": "developmentrequestcollection",
      "className": "DevelopmentRequestCollection",
      "qualifiedName": "@happyvertical/smrt-projects:DevelopmentRequestCollection",
      "collection": "developmentrequests",
      "filePath": "/home/runner/work/smrt/smrt/packages/projects/src/collections/DevelopmentRequests.ts",
      "packageName": "@happyvertical/smrt-projects",
      "fields": {},
      "methods": {
        "createManaged": {
          "name": "createManaged",
          "async": true,
          "parameters": [
            {
              "name": "input",
              "type": "any",
              "optional": false,
              "typeUnresolved": true
            }
          ],
          "returnType": "Promise<DevelopmentRequest>",
          "isStatic": false,
          "isPublic": true
        },
        "listByIntegrationRequester": {
          "name": "listByIntegrationRequester",
          "async": true,
          "parameters": [
            {
              "name": "input",
              "type": "object",
              "optional": false,
              "memberTypes": [
                "string"
              ]
            }
          ],
          "returnType": "Promise<DevelopmentRequest[]>",
          "isStatic": false,
          "isPublic": true
        },
        "transitionStatus": {
          "name": "transitionStatus",
          "async": true,
          "parameters": [
            {
              "name": "tenantId",
              "type": "string",
              "optional": false
            },
            {
              "name": "requestId",
              "type": "string",
              "optional": false
            },
            {
              "name": "transition",
              "type": "DevelopmentRequestTransitionInput",
              "optional": false
            }
          ],
          "returnType": "Promise<DevelopmentRequest>",
          "isStatic": false,
          "isPublic": true
        },
        "listForProject": {
          "name": "listForProject",
          "async": true,
          "parameters": [
            {
              "name": "tenantId",
              "type": "string",
              "optional": false
            },
            {
              "name": "projectId",
              "type": "string",
              "optional": false
            },
            {
              "name": "status",
              "type": "DevelopmentRequestStatus",
              "optional": true
            }
          ],
          "returnType": "Promise<DevelopmentRequest[]>",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "tableName": "development_requests",
        "api": false,
        "mcp": false,
        "cli": false
      },
      "extends": "SmrtCollection",
      "extendsTypeArg": "DevelopmentRequest",
      "exportName": "DevelopmentRequestCollection",
      "collectionExportName": "DevelopmentRequestCollectionCollection",
      "schema": {
        "tableName": "development_requests",
        "ddl": "CREATE TABLE IF NOT EXISTS \"development_requests\" (\n  \"id\" UUID PRIMARY KEY NOT NULL,\n  \"slug\" TEXT NOT NULL,\n  \"context\" TEXT NOT NULL DEFAULT '',\n  \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"tenant_id\" UUID NOT NULL,\n  \"project_id\" TEXT DEFAULT '',\n  \"integration_id\" UUID NOT NULL,\n  \"requester_id\" TEXT DEFAULT '',\n  \"participant_id\" TEXT DEFAULT '',\n  \"type\" TEXT DEFAULT 'feature',\n  \"description\" TEXT DEFAULT '',\n  \"evidence\" TEXT DEFAULT '[]',\n  \"visibility\" TEXT DEFAULT 'requester',\n  \"origin\" TEXT DEFAULT 'managed-app',\n  \"discussion\" TEXT DEFAULT '',\n  \"status\" TEXT DEFAULT 'submitted'\n);",
        "columns": {
          "id": {
            "type": "UUID",
            "primaryKey": true,
            "referenceKind": "id",
            "notNull": true
          },
          "slug": {
            "type": "TEXT",
            "notNull": true
          },
          "context": {
            "type": "TEXT",
            "notNull": true,
            "default": ""
          },
          "created_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "updated_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": true,
            "unique": false
          },
          "project_id": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": ""
          },
          "integration_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": true,
            "unique": false,
            "foreignKey": {
              "table": "project_integrations",
              "column": "id",
              "onDelete": "NO ACTION",
              "onUpdate": "CASCADE"
            }
          },
          "requester_id": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": ""
          },
          "participant_id": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": ""
          },
          "type": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": "feature"
          },
          "description": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": ""
          },
          "evidence": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": "[]"
          },
          "visibility": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": "requester"
          },
          "origin": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": "managed-app"
          },
          "discussion": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": ""
          },
          "status": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": "submitted"
          }
        },
        "indexes": [
          {
            "name": "development_requests_slug_context_idx",
            "columns": [
              "tenant_id",
              "slug",
              "context"
            ],
            "unique": true
          },
          {
            "name": "development_requests_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          },
          {
            "name": "development_requests_integration_id_idx",
            "columns": [
              "integration_id"
            ]
          }
        ],
        "version": "4bdaa6ff"
      },
      "importPath": "@happyvertical/smrt-projects"
    },
    "@happyvertical/smrt-projects:IssueCollection": {
      "name": "issuecollection",
      "className": "IssueCollection",
      "qualifiedName": "@happyvertical/smrt-projects:IssueCollection",
      "collection": "issues",
      "filePath": "/home/runner/work/smrt/smrt/packages/projects/src/collections/Issues.ts",
      "packageName": "@happyvertical/smrt-projects",
      "fields": {},
      "methods": {
        "discover": {
          "name": "discover",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": false,
              "memberTypes": [
                "Repository",
                "SearchFilters"
              ]
            }
          ],
          "returnType": "Promise<Issue[]>",
          "isStatic": false,
          "isPublic": true
        },
        "findByRepository": {
          "name": "findByRepository",
          "async": true,
          "parameters": [
            {
              "name": "repositoryId",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<Issue[]>",
          "isStatic": false,
          "isPublic": true
        },
        "findOpen": {
          "name": "findOpen",
          "async": true,
          "parameters": [
            {
              "name": "repositoryId",
              "type": "string",
              "optional": true
            }
          ],
          "returnType": "Promise<Issue[]>",
          "isStatic": false,
          "isPublic": true
        },
        "findByLabel": {
          "name": "findByLabel",
          "async": true,
          "parameters": [
            {
              "name": "label",
              "type": "string",
              "optional": false
            },
            {
              "name": "repositoryId",
              "type": "string",
              "optional": true
            }
          ],
          "returnType": "Promise<Issue[]>",
          "isStatic": false,
          "isPublic": true
        },
        "findByAssignee": {
          "name": "findByAssignee",
          "async": true,
          "parameters": [
            {
              "name": "assignee",
              "type": "string",
              "optional": false
            },
            {
              "name": "repositoryId",
              "type": "string",
              "optional": true
            }
          ],
          "returnType": "Promise<Issue[]>",
          "isStatic": false,
          "isPublic": true
        },
        "findNeedingReview": {
          "name": "findNeedingReview",
          "async": true,
          "parameters": [
            {
              "name": "repositoryId",
              "type": "string",
              "optional": true
            }
          ],
          "returnType": "Promise<Issue[]>",
          "isStatic": false,
          "isPublic": true
        },
        "findByNumber": {
          "name": "findByNumber",
          "async": true,
          "parameters": [
            {
              "name": "repositoryId",
              "type": "string",
              "optional": false
            },
            {
              "name": "number",
              "type": "number",
              "optional": false
            }
          ],
          "returnType": "Promise<Issue | null>",
          "isStatic": false,
          "isPublic": true
        },
        "findWithUnincorporatedFeedback": {
          "name": "findWithUnincorporatedFeedback",
          "async": true,
          "parameters": [
            {
              "name": "repositoryId",
              "type": "string",
              "optional": true
            }
          ],
          "returnType": "Promise<Issue[]>",
          "isStatic": false,
          "isPublic": true
        },
        "batchSync": {
          "name": "batchSync",
          "async": true,
          "parameters": [
            {
              "name": "repository",
              "type": "Repository",
              "optional": false
            },
            {
              "name": "options",
              "type": "object",
              "optional": true,
              "memberTypes": [
                "boolean"
              ]
            }
          ],
          "returnType": "Promise<Issue[]>",
          "isStatic": false,
          "isPublic": true
        },
        "findByTenant": {
          "name": "findByTenant",
          "async": true,
          "parameters": [
            {
              "name": "tenantId",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<Issue[]>",
          "isStatic": false,
          "isPublic": true
        },
        "findGlobal": {
          "name": "findGlobal",
          "async": true,
          "parameters": [],
          "returnType": "Promise<Issue[]>",
          "isStatic": false,
          "isPublic": true
        },
        "findWithGlobals": {
          "name": "findWithGlobals",
          "async": true,
          "parameters": [
            {
              "name": "tenantId",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<Issue[]>",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {},
      "extends": "SmrtCollection",
      "extendsTypeArg": "Issue",
      "exportName": "IssueCollection",
      "collectionExportName": "IssueCollectionCollection",
      "schema": {
        "tableName": "issues",
        "ddl": "CREATE TABLE IF NOT EXISTS \"issues\" (\n  \"id\" UUID PRIMARY KEY NOT NULL,\n  \"slug\" TEXT NOT NULL,\n  \"context\" TEXT NOT NULL DEFAULT '',\n  \"_meta_type\" TEXT NOT NULL,\n  \"_meta_data\" JSON,\n  \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"tenant_id\" UUID,\n  \"repository_id\" UUID,\n  \"number\" INTEGER DEFAULT 0,\n  \"node_id\" TEXT DEFAULT '',\n  \"title\" TEXT DEFAULT '',\n  \"body\" TEXT DEFAULT '',\n  \"state\" TEXT DEFAULT 'open',\n  \"author\" TEXT DEFAULT '',\n  \"labels\" JSON DEFAULT '[]',\n  \"assignees\" JSON DEFAULT '[]',\n  \"comments_count\" INTEGER DEFAULT 0,\n  \"last_synced_at\" TIMESTAMP,\n  \"original_body\" TEXT DEFAULT '',\n  \"synthesis_count\" INTEGER DEFAULT 0,\n  \"head_ref\" TEXT DEFAULT '',\n  \"base_ref\" TEXT DEFAULT '',\n  \"merged\" BOOLEAN DEFAULT FALSE,\n  \"merged_at\" TIMESTAMP,\n  \"mergeable\" BOOLEAN DEFAULT TRUE,\n  \"draft\" BOOLEAN DEFAULT FALSE,\n  \"additions\" INTEGER DEFAULT 0,\n  \"deletions\" INTEGER DEFAULT 0,\n  \"changed_files\" INTEGER DEFAULT 0\n);",
        "columns": {
          "id": {
            "type": "UUID",
            "primaryKey": true,
            "referenceKind": "id",
            "notNull": true
          },
          "slug": {
            "type": "TEXT",
            "notNull": true
          },
          "context": {
            "type": "TEXT",
            "notNull": true,
            "default": ""
          },
          "_meta_type": {
            "type": "TEXT",
            "notNull": true
          },
          "_meta_data": {
            "type": "JSON",
            "notNull": false
          },
          "created_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "updated_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": false
          },
          "repository_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false,
            "foreignKey": {
              "table": "repositories",
              "column": "id",
              "onDelete": "NO ACTION",
              "onUpdate": "CASCADE"
            }
          },
          "number": {
            "type": "INTEGER",
            "notNull": false,
            "default": 0
          },
          "node_id": {
            "type": "TEXT",
            "notNull": false,
            "default": ""
          },
          "title": {
            "type": "TEXT",
            "notNull": false,
            "default": ""
          },
          "body": {
            "type": "TEXT",
            "notNull": false,
            "default": ""
          },
          "state": {
            "type": "TEXT",
            "notNull": false,
            "default": "open"
          },
          "author": {
            "type": "TEXT",
            "notNull": false,
            "default": ""
          },
          "labels": {
            "type": "JSON",
            "notNull": false,
            "default": []
          },
          "assignees": {
            "type": "JSON",
            "notNull": false,
            "default": []
          },
          "comments_count": {
            "type": "INTEGER",
            "notNull": false,
            "default": 0
          },
          "last_synced_at": {
            "type": "TIMESTAMP",
            "notNull": false
          },
          "original_body": {
            "type": "TEXT",
            "notNull": false,
            "default": ""
          },
          "synthesis_count": {
            "type": "INTEGER",
            "notNull": false,
            "default": 0
          },
          "head_ref": {
            "type": "TEXT",
            "notNull": false,
            "default": ""
          },
          "base_ref": {
            "type": "TEXT",
            "notNull": false,
            "default": ""
          },
          "merged": {
            "type": "BOOLEAN",
            "notNull": false,
            "default": false
          },
          "merged_at": {
            "type": "TIMESTAMP",
            "notNull": false
          },
          "mergeable": {
            "type": "BOOLEAN",
            "notNull": false,
            "default": true
          },
          "draft": {
            "type": "BOOLEAN",
            "notNull": false,
            "default": false
          },
          "additions": {
            "type": "INTEGER",
            "notNull": false,
            "default": 0
          },
          "deletions": {
            "type": "INTEGER",
            "notNull": false,
            "default": 0
          },
          "changed_files": {
            "type": "INTEGER",
            "notNull": false,
            "default": 0
          }
        },
        "indexes": [
          {
            "name": "issues_slug_context_meta_type_idx",
            "columns": [
              "tenant_id",
              "slug",
              "context",
              "_meta_type"
            ],
            "unique": true,
            "nullsNotDistinct": true
          },
          {
            "name": "issues_meta_type_idx",
            "columns": [
              "_meta_type"
            ]
          },
          {
            "name": "issues_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          },
          {
            "name": "issues_repository_id_idx",
            "columns": [
              "repository_id"
            ]
          }
        ],
        "version": "c3d5425b"
      },
      "importPath": "@happyvertical/smrt-projects"
    },
    "@happyvertical/smrt-projects:ProjectIntegrationAuditCollection": {
      "name": "projectintegrationauditcollection",
      "className": "ProjectIntegrationAuditCollection",
      "qualifiedName": "@happyvertical/smrt-projects:ProjectIntegrationAuditCollection",
      "collection": "projectintegrationaudits",
      "filePath": "/home/runner/work/smrt/smrt/packages/projects/src/collections/ProjectIntegrationAudits.ts",
      "packageName": "@happyvertical/smrt-projects",
      "fields": {},
      "methods": {
        "listForIntegration": {
          "name": "listForIntegration",
          "async": true,
          "parameters": [
            {
              "name": "tenantId",
              "type": "string",
              "optional": false
            },
            {
              "name": "integrationId",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<ProjectIntegrationAudit[]>",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "tableName": "project_integration_audits",
        "api": false,
        "mcp": false,
        "cli": false
      },
      "extends": "SmrtCollection",
      "extendsTypeArg": "ProjectIntegrationAudit",
      "exportName": "ProjectIntegrationAuditCollection",
      "collectionExportName": "ProjectIntegrationAuditCollectionCollection",
      "schema": {
        "tableName": "project_integration_audits",
        "ddl": "CREATE TABLE IF NOT EXISTS \"project_integration_audits\" (\n  \"id\" UUID PRIMARY KEY NOT NULL,\n  \"slug\" TEXT NOT NULL,\n  \"context\" TEXT NOT NULL DEFAULT '',\n  \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"tenant_id\" UUID NOT NULL,\n  \"integration_id\" UUID NOT NULL,\n  \"action\" TEXT DEFAULT 'created',\n  \"note\" TEXT\n);",
        "columns": {
          "id": {
            "type": "UUID",
            "primaryKey": true,
            "referenceKind": "id",
            "notNull": true
          },
          "slug": {
            "type": "TEXT",
            "notNull": true
          },
          "context": {
            "type": "TEXT",
            "notNull": true,
            "default": ""
          },
          "created_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "updated_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": true,
            "unique": false
          },
          "integration_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": true,
            "unique": false,
            "foreignKey": {
              "table": "project_integrations",
              "column": "id",
              "onDelete": "NO ACTION",
              "onUpdate": "CASCADE"
            }
          },
          "action": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": "created"
          },
          "note": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          }
        },
        "indexes": [
          {
            "name": "project_integration_audits_slug_context_idx",
            "columns": [
              "tenant_id",
              "slug",
              "context"
            ],
            "unique": true
          },
          {
            "name": "project_integration_audits_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          },
          {
            "name": "project_integration_audits_integration_id_idx",
            "columns": [
              "integration_id"
            ]
          }
        ],
        "version": "03cc10a2"
      },
      "importPath": "@happyvertical/smrt-projects"
    },
    "@happyvertical/smrt-projects:ProjectIntegrationCollection": {
      "name": "projectintegrationcollection",
      "className": "ProjectIntegrationCollection",
      "qualifiedName": "@happyvertical/smrt-projects:ProjectIntegrationCollection",
      "collection": "projectintegrations",
      "filePath": "/home/runner/work/smrt/smrt/packages/projects/src/collections/ProjectIntegrations.ts",
      "packageName": "@happyvertical/smrt-projects",
      "fields": {},
      "methods": {
        "provision": {
          "name": "provision",
          "async": true,
          "parameters": [
            {
              "name": "input",
              "type": "object",
              "optional": false,
              "memberTypes": [
                "string",
                "ProjectIntegrationCapability[]"
              ]
            }
          ],
          "returnType": "Promise<object>",
          "isStatic": false,
          "isPublic": true
        },
        "rotate": {
          "name": "rotate",
          "async": true,
          "parameters": [
            {
              "name": "tenantId",
              "type": "string",
              "optional": false
            },
            {
              "name": "integrationId",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<object>",
          "isStatic": false,
          "isPublic": true
        },
        "revoke": {
          "name": "revoke",
          "async": true,
          "parameters": [
            {
              "name": "tenantId",
              "type": "string",
              "optional": false
            },
            {
              "name": "integrationId",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<ProjectIntegration>",
          "isStatic": false,
          "isPublic": true
        },
        "authenticate": {
          "name": "authenticate",
          "async": true,
          "parameters": [
            {
              "name": "credential",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<ProjectIntegration | null>",
          "isStatic": false,
          "isPublic": true
        },
        "listForProject": {
          "name": "listForProject",
          "async": true,
          "parameters": [
            {
              "name": "tenantId",
              "type": "string",
              "optional": false
            },
            {
              "name": "projectId",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<ProjectIntegration[]>",
          "isStatic": false,
          "isPublic": true
        },
        "findActive": {
          "name": "findActive",
          "async": true,
          "parameters": [
            {
              "name": "tenantId",
              "type": "string",
              "optional": false
            },
            {
              "name": "integrationId",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<ProjectIntegration | null>",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "tableName": "project_integrations"
      },
      "extends": "SmrtCollection",
      "extendsTypeArg": "ProjectIntegration",
      "exportName": "ProjectIntegrationCollection",
      "collectionExportName": "ProjectIntegrationCollectionCollection",
      "schema": {
        "tableName": "project_integrations",
        "ddl": "CREATE TABLE IF NOT EXISTS \"project_integrations\" (\n  \"id\" UUID PRIMARY KEY NOT NULL,\n  \"slug\" TEXT NOT NULL,\n  \"context\" TEXT NOT NULL DEFAULT '',\n  \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"tenant_id\" UUID NOT NULL,\n  \"project_id\" TEXT DEFAULT '',\n  \"name\" TEXT DEFAULT '',\n  \"credential_hash\" TEXT DEFAULT '',\n  \"capabilities\" JSON DEFAULT '[]',\n  \"status\" TEXT DEFAULT 'active',\n  \"revoked_at\" TIMESTAMP\n);",
        "columns": {
          "id": {
            "type": "UUID",
            "primaryKey": true,
            "referenceKind": "id",
            "notNull": true
          },
          "slug": {
            "type": "TEXT",
            "notNull": true
          },
          "context": {
            "type": "TEXT",
            "notNull": true,
            "default": ""
          },
          "created_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "updated_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": true,
            "unique": false
          },
          "project_id": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": ""
          },
          "name": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": ""
          },
          "credential_hash": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": ""
          },
          "capabilities": {
            "type": "JSON",
            "notNull": false,
            "unique": false,
            "default": []
          },
          "status": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": "active"
          },
          "revoked_at": {
            "type": "TIMESTAMP",
            "notNull": false,
            "unique": false
          }
        },
        "indexes": [
          {
            "name": "project_integrations_tenant_id_project_id_idx",
            "columns": [
              "tenant_id",
              "project_id",
              "name"
            ],
            "unique": true,
            "nullsNotDistinct": true
          },
          {
            "name": "project_integrations_slug_context_idx",
            "columns": [
              "slug",
              "context"
            ]
          },
          {
            "name": "project_integrations_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          }
        ],
        "version": "bfbaa783"
      },
      "importPath": "@happyvertical/smrt-projects"
    },
    "@happyvertical/smrt-projects:ProjectCollection": {
      "name": "projectcollection",
      "className": "ProjectCollection",
      "qualifiedName": "@happyvertical/smrt-projects:ProjectCollection",
      "collection": "projects",
      "filePath": "/home/runner/work/smrt/smrt/packages/projects/src/collections/Projects.ts",
      "packageName": "@happyvertical/smrt-projects",
      "fields": {},
      "methods": {
        "findByTitle": {
          "name": "findByTitle",
          "async": true,
          "parameters": [
            {
              "name": "title",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<Project | null>",
          "isStatic": false,
          "isPublic": true
        },
        "findByOwner": {
          "name": "findByOwner",
          "async": true,
          "parameters": [
            {
              "name": "owner",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<Project[]>",
          "isStatic": false,
          "isPublic": true
        },
        "findByProvider": {
          "name": "findByProvider",
          "async": true,
          "parameters": [
            {
              "name": "providerType",
              "type": "ProjectProviderType",
              "optional": false
            }
          ],
          "returnType": "Promise<Project[]>",
          "isStatic": false,
          "isPublic": true
        },
        "getOrCreate": {
          "name": "getOrCreate",
          "async": true,
          "parameters": [
            {
              "name": "projectId",
              "type": "string",
              "optional": false
            },
            {
              "name": "options",
              "type": "object",
              "optional": true,
              "memberTypes": [
                "string",
                "ProjectProviderType",
                "Record<string, string>"
              ]
            }
          ],
          "returnType": "Promise<Project>",
          "isStatic": false,
          "isPublic": true
        },
        "syncAll": {
          "name": "syncAll",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": true,
              "memberTypes": [
                "boolean"
              ]
            }
          ],
          "returnType": "Promise<Project[]>",
          "isStatic": false,
          "isPublic": true
        },
        "findWithItemsInStatus": {
          "name": "findWithItemsInStatus",
          "async": true,
          "parameters": [
            {
              "name": "status",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<Project[]>",
          "isStatic": false,
          "isPublic": true
        },
        "getStatistics": {
          "name": "getStatistics",
          "async": true,
          "parameters": [
            {
              "name": "projectId",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<object>",
          "isStatic": false,
          "isPublic": true
        },
        "findByTenant": {
          "name": "findByTenant",
          "async": true,
          "parameters": [
            {
              "name": "tenantId",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<Project[]>",
          "isStatic": false,
          "isPublic": true
        },
        "findGlobal": {
          "name": "findGlobal",
          "async": true,
          "parameters": [],
          "returnType": "Promise<Project[]>",
          "isStatic": false,
          "isPublic": true
        },
        "findWithGlobals": {
          "name": "findWithGlobals",
          "async": true,
          "parameters": [
            {
              "name": "tenantId",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<Project[]>",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {},
      "extends": "SmrtCollection",
      "extendsTypeArg": "Project",
      "exportName": "ProjectCollection",
      "collectionExportName": "ProjectCollectionCollection",
      "schema": {
        "tableName": "projects",
        "ddl": "CREATE TABLE IF NOT EXISTS \"projects\" (\n  \"id\" UUID PRIMARY KEY NOT NULL,\n  \"slug\" TEXT NOT NULL,\n  \"context\" TEXT NOT NULL DEFAULT '',\n  \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"tenant_id\" UUID,\n  \"project_id\" TEXT DEFAULT '',\n  \"project_number\" INTEGER DEFAULT 0,\n  \"title\" TEXT DEFAULT '',\n  \"description\" TEXT DEFAULT '',\n  \"owner\" TEXT DEFAULT '',\n  \"url\" TEXT DEFAULT '',\n  \"provider_type\" TEXT DEFAULT 'github',\n  \"token_config_key\" TEXT DEFAULT 'GITHUB_TOKEN',\n  \"statuses\" JSON DEFAULT '[]',\n  \"fields\" JSON DEFAULT '[]',\n  \"status_field_id\" TEXT DEFAULT '',\n  \"status_options\" JSON DEFAULT '{}',\n  \"last_synced_at\" TIMESTAMP\n);",
        "columns": {
          "id": {
            "type": "UUID",
            "primaryKey": true,
            "referenceKind": "id",
            "notNull": true
          },
          "slug": {
            "type": "TEXT",
            "notNull": true
          },
          "context": {
            "type": "TEXT",
            "notNull": true,
            "default": ""
          },
          "created_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "updated_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": false,
            "unique": false
          },
          "project_id": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": ""
          },
          "project_number": {
            "type": "INTEGER",
            "notNull": false,
            "unique": false,
            "default": 0
          },
          "title": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": ""
          },
          "description": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": ""
          },
          "owner": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": ""
          },
          "url": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": ""
          },
          "provider_type": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": "github"
          },
          "token_config_key": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": "GITHUB_TOKEN"
          },
          "statuses": {
            "type": "JSON",
            "notNull": false,
            "unique": false,
            "default": []
          },
          "fields": {
            "type": "JSON",
            "notNull": false,
            "unique": false,
            "default": []
          },
          "status_field_id": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": ""
          },
          "status_options": {
            "type": "JSON",
            "notNull": false,
            "unique": false,
            "default": {}
          },
          "last_synced_at": {
            "type": "TIMESTAMP",
            "notNull": false,
            "unique": false
          }
        },
        "indexes": [
          {
            "name": "projects_slug_context_idx",
            "columns": [
              "tenant_id",
              "slug",
              "context"
            ],
            "unique": true,
            "nullsNotDistinct": true
          },
          {
            "name": "projects_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          }
        ],
        "version": "2e8c344a"
      },
      "importPath": "@happyvertical/smrt-projects"
    },
    "@happyvertical/smrt-projects:PullRequestCollection": {
      "name": "pullrequestcollection",
      "className": "PullRequestCollection",
      "qualifiedName": "@happyvertical/smrt-projects:PullRequestCollection",
      "collection": "issues",
      "filePath": "/home/runner/work/smrt/smrt/packages/projects/src/collections/PullRequests.ts",
      "packageName": "@happyvertical/smrt-projects",
      "fields": {},
      "methods": {
        "discover": {
          "name": "discover",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": false,
              "memberTypes": [
                "Repository",
                "SearchFilters"
              ]
            }
          ],
          "returnType": "Promise<PullRequest[]>",
          "isStatic": false,
          "isPublic": true
        },
        "findByRepository": {
          "name": "findByRepository",
          "async": true,
          "parameters": [
            {
              "name": "repositoryId",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<PullRequest[]>",
          "isStatic": false,
          "isPublic": true
        },
        "findOpen": {
          "name": "findOpen",
          "async": true,
          "parameters": [
            {
              "name": "repositoryId",
              "type": "string",
              "optional": true
            }
          ],
          "returnType": "Promise<PullRequest[]>",
          "isStatic": false,
          "isPublic": true
        },
        "findDrafts": {
          "name": "findDrafts",
          "async": true,
          "parameters": [
            {
              "name": "repositoryId",
              "type": "string",
              "optional": true
            }
          ],
          "returnType": "Promise<PullRequest[]>",
          "isStatic": false,
          "isPublic": true
        },
        "findReadyToMerge": {
          "name": "findReadyToMerge",
          "async": true,
          "parameters": [
            {
              "name": "repositoryId",
              "type": "string",
              "optional": true
            }
          ],
          "returnType": "Promise<PullRequest[]>",
          "isStatic": false,
          "isPublic": true
        },
        "findByBranch": {
          "name": "findByBranch",
          "async": true,
          "parameters": [
            {
              "name": "branch",
              "type": "string",
              "optional": false
            },
            {
              "name": "repositoryId",
              "type": "string",
              "optional": true
            }
          ],
          "returnType": "Promise<PullRequest[]>",
          "isStatic": false,
          "isPublic": true
        },
        "findByNumber": {
          "name": "findByNumber",
          "async": true,
          "parameters": [
            {
              "name": "repositoryId",
              "type": "string",
              "optional": false
            },
            {
              "name": "number",
              "type": "number",
              "optional": false
            }
          ],
          "returnType": "Promise<PullRequest | null>",
          "isStatic": false,
          "isPublic": true
        },
        "findAIReadyToMerge": {
          "name": "findAIReadyToMerge",
          "async": true,
          "parameters": [
            {
              "name": "repositoryId",
              "type": "string",
              "optional": true
            }
          ],
          "returnType": "Promise<PullRequest[]>",
          "isStatic": false,
          "isPublic": true
        },
        "findBySize": {
          "name": "findBySize",
          "async": true,
          "parameters": [
            {
              "name": "size",
              "type": "'xs' | 's' | 'm' | 'l' | 'xl'",
              "optional": false,
              "unionBranches": [
                {
                  "type": "'xs'"
                },
                {
                  "type": "'s'"
                },
                {
                  "type": "'m'"
                },
                {
                  "type": "'l'"
                },
                {
                  "type": "'xl'"
                }
              ]
            },
            {
              "name": "repositoryId",
              "type": "string",
              "optional": true
            }
          ],
          "returnType": "Promise<PullRequest[]>",
          "isStatic": false,
          "isPublic": true
        },
        "batchSync": {
          "name": "batchSync",
          "async": true,
          "parameters": [
            {
              "name": "repository",
              "type": "Repository",
              "optional": false
            },
            {
              "name": "options",
              "type": "object",
              "optional": true,
              "memberTypes": [
                "boolean"
              ]
            }
          ],
          "returnType": "Promise<PullRequest[]>",
          "isStatic": false,
          "isPublic": true
        },
        "findByTenant": {
          "name": "findByTenant",
          "async": true,
          "parameters": [
            {
              "name": "tenantId",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<PullRequest[]>",
          "isStatic": false,
          "isPublic": true
        },
        "findGlobal": {
          "name": "findGlobal",
          "async": true,
          "parameters": [],
          "returnType": "Promise<PullRequest[]>",
          "isStatic": false,
          "isPublic": true
        },
        "findWithGlobals": {
          "name": "findWithGlobals",
          "async": true,
          "parameters": [
            {
              "name": "tenantId",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<PullRequest[]>",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "tableName": "issues"
      },
      "extends": "SmrtCollection",
      "extendsTypeArg": "PullRequest",
      "exportName": "PullRequestCollection",
      "collectionExportName": "PullRequestCollectionCollection",
      "schema": {
        "tableName": "issues",
        "ddl": "CREATE TABLE IF NOT EXISTS \"issues\" (\n  \"id\" UUID PRIMARY KEY NOT NULL,\n  \"slug\" TEXT NOT NULL,\n  \"context\" TEXT NOT NULL DEFAULT '',\n  \"_meta_type\" TEXT NOT NULL,\n  \"_meta_data\" JSON,\n  \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"tenant_id\" UUID,\n  \"repository_id\" UUID,\n  \"number\" INTEGER DEFAULT 0,\n  \"node_id\" TEXT DEFAULT '',\n  \"title\" TEXT DEFAULT '',\n  \"body\" TEXT DEFAULT '',\n  \"state\" TEXT DEFAULT 'open',\n  \"author\" TEXT DEFAULT '',\n  \"labels\" JSON DEFAULT '[]',\n  \"assignees\" JSON DEFAULT '[]',\n  \"comments_count\" INTEGER DEFAULT 0,\n  \"last_synced_at\" TIMESTAMP,\n  \"original_body\" TEXT DEFAULT '',\n  \"synthesis_count\" INTEGER DEFAULT 0,\n  \"head_ref\" TEXT DEFAULT '',\n  \"base_ref\" TEXT DEFAULT '',\n  \"merged\" BOOLEAN DEFAULT FALSE,\n  \"merged_at\" TIMESTAMP,\n  \"mergeable\" BOOLEAN DEFAULT TRUE,\n  \"draft\" BOOLEAN DEFAULT FALSE,\n  \"additions\" INTEGER DEFAULT 0,\n  \"deletions\" INTEGER DEFAULT 0,\n  \"changed_files\" INTEGER DEFAULT 0\n);",
        "columns": {
          "id": {
            "type": "UUID",
            "primaryKey": true,
            "referenceKind": "id",
            "notNull": true
          },
          "slug": {
            "type": "TEXT",
            "notNull": true
          },
          "context": {
            "type": "TEXT",
            "notNull": true,
            "default": ""
          },
          "_meta_type": {
            "type": "TEXT",
            "notNull": true
          },
          "_meta_data": {
            "type": "JSON",
            "notNull": false
          },
          "created_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "updated_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": false
          },
          "repository_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false,
            "foreignKey": {
              "table": "repositories",
              "column": "id",
              "onDelete": "NO ACTION",
              "onUpdate": "CASCADE"
            }
          },
          "number": {
            "type": "INTEGER",
            "notNull": false,
            "default": 0
          },
          "node_id": {
            "type": "TEXT",
            "notNull": false,
            "default": ""
          },
          "title": {
            "type": "TEXT",
            "notNull": false,
            "default": ""
          },
          "body": {
            "type": "TEXT",
            "notNull": false,
            "default": ""
          },
          "state": {
            "type": "TEXT",
            "notNull": false,
            "default": "open"
          },
          "author": {
            "type": "TEXT",
            "notNull": false,
            "default": ""
          },
          "labels": {
            "type": "JSON",
            "notNull": false,
            "default": []
          },
          "assignees": {
            "type": "JSON",
            "notNull": false,
            "default": []
          },
          "comments_count": {
            "type": "INTEGER",
            "notNull": false,
            "default": 0
          },
          "last_synced_at": {
            "type": "TIMESTAMP",
            "notNull": false
          },
          "original_body": {
            "type": "TEXT",
            "notNull": false,
            "default": ""
          },
          "synthesis_count": {
            "type": "INTEGER",
            "notNull": false,
            "default": 0
          },
          "head_ref": {
            "type": "TEXT",
            "notNull": false,
            "default": ""
          },
          "base_ref": {
            "type": "TEXT",
            "notNull": false,
            "default": ""
          },
          "merged": {
            "type": "BOOLEAN",
            "notNull": false,
            "default": false
          },
          "merged_at": {
            "type": "TIMESTAMP",
            "notNull": false
          },
          "mergeable": {
            "type": "BOOLEAN",
            "notNull": false,
            "default": true
          },
          "draft": {
            "type": "BOOLEAN",
            "notNull": false,
            "default": false
          },
          "additions": {
            "type": "INTEGER",
            "notNull": false,
            "default": 0
          },
          "deletions": {
            "type": "INTEGER",
            "notNull": false,
            "default": 0
          },
          "changed_files": {
            "type": "INTEGER",
            "notNull": false,
            "default": 0
          }
        },
        "indexes": [
          {
            "name": "issues_slug_context_meta_type_idx",
            "columns": [
              "tenant_id",
              "slug",
              "context",
              "_meta_type"
            ],
            "unique": true,
            "nullsNotDistinct": true
          },
          {
            "name": "issues_meta_type_idx",
            "columns": [
              "_meta_type"
            ]
          },
          {
            "name": "issues_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          },
          {
            "name": "issues_repository_id_idx",
            "columns": [
              "repository_id"
            ]
          }
        ],
        "version": "3f16e583"
      },
      "importPath": "@happyvertical/smrt-projects"
    },
    "@happyvertical/smrt-projects:RepositoryCollection": {
      "name": "repositorycollection",
      "className": "RepositoryCollection",
      "qualifiedName": "@happyvertical/smrt-projects:RepositoryCollection",
      "collection": "repositories",
      "filePath": "/home/runner/work/smrt/smrt/packages/projects/src/collections/Repositories.ts",
      "packageName": "@happyvertical/smrt-projects",
      "fields": {},
      "methods": {
        "findByFullName": {
          "name": "findByFullName",
          "async": true,
          "parameters": [
            {
              "name": "owner",
              "type": "string",
              "optional": false
            },
            {
              "name": "name",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<Repository | null>",
          "isStatic": false,
          "isPublic": true
        },
        "findByOwner": {
          "name": "findByOwner",
          "async": true,
          "parameters": [
            {
              "name": "owner",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<Repository[]>",
          "isStatic": false,
          "isPublic": true
        },
        "findByProvider": {
          "name": "findByProvider",
          "async": true,
          "parameters": [
            {
              "name": "providerType",
              "type": "RepositoryProviderType",
              "optional": false
            }
          ],
          "returnType": "Promise<Repository[]>",
          "isStatic": false,
          "isPublic": true
        },
        "getOrCreate": {
          "name": "getOrCreate",
          "async": true,
          "parameters": [
            {
              "name": "owner",
              "type": "string",
              "optional": false
            },
            {
              "name": "name",
              "type": "string",
              "optional": false
            },
            {
              "name": "options",
              "type": "object",
              "optional": true,
              "memberTypes": [
                "RepositoryProviderType",
                "string"
              ]
            }
          ],
          "returnType": "Promise<Repository>",
          "isStatic": false,
          "isPublic": true
        },
        "syncAll": {
          "name": "syncAll",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "object",
              "optional": true,
              "memberTypes": [
                "boolean"
              ]
            }
          ],
          "returnType": "Promise<Repository[]>",
          "isStatic": false,
          "isPublic": true
        },
        "findWithOpenIssues": {
          "name": "findWithOpenIssues",
          "async": true,
          "parameters": [],
          "returnType": "Promise<Repository[]>",
          "isStatic": false,
          "isPublic": true
        },
        "findByTenant": {
          "name": "findByTenant",
          "async": true,
          "parameters": [
            {
              "name": "tenantId",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<Repository[]>",
          "isStatic": false,
          "isPublic": true
        },
        "findGlobal": {
          "name": "findGlobal",
          "async": true,
          "parameters": [],
          "returnType": "Promise<Repository[]>",
          "isStatic": false,
          "isPublic": true
        },
        "findWithGlobals": {
          "name": "findWithGlobals",
          "async": true,
          "parameters": [
            {
              "name": "tenantId",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<Repository[]>",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {},
      "extends": "SmrtCollection",
      "extendsTypeArg": "Repository",
      "exportName": "RepositoryCollection",
      "collectionExportName": "RepositoryCollectionCollection",
      "schema": {
        "tableName": "repositories",
        "ddl": "CREATE TABLE IF NOT EXISTS \"repositories\" (\n  \"id\" UUID PRIMARY KEY NOT NULL,\n  \"slug\" TEXT NOT NULL,\n  \"context\" TEXT NOT NULL DEFAULT '',\n  \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"tenant_id\" UUID,\n  \"owner\" TEXT DEFAULT '',\n  \"name\" TEXT DEFAULT '',\n  \"full_name\" TEXT DEFAULT '',\n  \"description\" TEXT DEFAULT '',\n  \"default_branch\" TEXT DEFAULT 'main',\n  \"is_private\" BOOLEAN DEFAULT FALSE,\n  \"provider_type\" TEXT DEFAULT 'github',\n  \"base_url\" TEXT DEFAULT '',\n  \"token_config_key\" TEXT DEFAULT 'GITHUB_TOKEN',\n  \"last_synced_at\" TIMESTAMP\n);",
        "columns": {
          "id": {
            "type": "UUID",
            "primaryKey": true,
            "referenceKind": "id",
            "notNull": true
          },
          "slug": {
            "type": "TEXT",
            "notNull": true
          },
          "context": {
            "type": "TEXT",
            "notNull": true,
            "default": ""
          },
          "created_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "updated_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": false,
            "unique": false
          },
          "owner": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": ""
          },
          "name": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": ""
          },
          "full_name": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": ""
          },
          "description": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": ""
          },
          "default_branch": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": "main"
          },
          "is_private": {
            "type": "BOOLEAN",
            "notNull": false,
            "unique": false,
            "default": false
          },
          "provider_type": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": "github"
          },
          "base_url": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": ""
          },
          "token_config_key": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": "GITHUB_TOKEN"
          },
          "last_synced_at": {
            "type": "TIMESTAMP",
            "notNull": false,
            "unique": false
          }
        },
        "indexes": [
          {
            "name": "repositories_slug_context_idx",
            "columns": [
              "tenant_id",
              "slug",
              "context"
            ],
            "unique": true,
            "nullsNotDistinct": true
          },
          {
            "name": "repositories_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          }
        ],
        "version": "c302a5e5"
      },
      "importPath": "@happyvertical/smrt-projects"
    },
    "@happyvertical/smrt-projects:Comment": {
      "name": "comment",
      "className": "Comment",
      "qualifiedName": "@happyvertical/smrt-projects:Comment",
      "collection": "comments",
      "filePath": "/home/runner/work/smrt/smrt/packages/projects/src/models/Comment.ts",
      "packageName": "@happyvertical/smrt-projects",
      "fields": {
        "tenantId": {
          "type": "text",
          "required": false,
          "_meta": {
            "sqlType": "UUID",
            "nullable": true,
            "__tenancy": {
              "isTenantIdField": true,
              "autoFilter": true,
              "required": false,
              "autoPopulate": true,
              "nullable": true,
              "mode": "optional",
              "field": "tenantId",
              "allowSuperAdminBypass": false
            }
          }
        },
        "issueId": {
          "type": "foreignKey",
          "required": false,
          "related": "Issue"
        },
        "commentId": {
          "type": "text",
          "required": false,
          "default": ""
        },
        "body": {
          "type": "text",
          "required": false,
          "default": ""
        },
        "author": {
          "type": "text",
          "required": false,
          "default": ""
        },
        "createdAt": {
          "type": "datetime",
          "required": false
        },
        "updatedAt": {
          "type": "datetime",
          "required": false
        },
        "url": {
          "type": "text",
          "required": false,
          "default": ""
        }
      },
      "methods": {
        "isQuestion": {
          "name": "isQuestion",
          "async": true,
          "parameters": [],
          "returnType": "Promise<boolean>",
          "isStatic": false,
          "isPublic": true
        },
        "isApproval": {
          "name": "isApproval",
          "async": true,
          "parameters": [],
          "returnType": "Promise<boolean>",
          "isStatic": false,
          "isPublic": true
        },
        "requestsChanges": {
          "name": "requestsChanges",
          "async": true,
          "parameters": [],
          "returnType": "Promise<boolean>",
          "isStatic": false,
          "isPublic": true
        },
        "extractActionItems": {
          "name": "extractActionItems",
          "async": true,
          "parameters": [],
          "returnType": "Promise<string[]>",
          "isStatic": false,
          "isPublic": true
        },
        "summarize": {
          "name": "summarize",
          "async": true,
          "parameters": [],
          "returnType": "Promise<string>",
          "isStatic": false,
          "isPublic": true
        },
        "getSentiment": {
          "name": "getSentiment",
          "async": true,
          "parameters": [],
          "returnType": "Promise<'positive' | 'negative' | 'neutral'>",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "api": {
          "include": [
            "list",
            "get"
          ]
        },
        "mcp": {
          "include": [
            "list",
            "get"
          ]
        },
        "cli": {
          "include": [
            "list",
            "get"
          ]
        },
        "tenantScoped": {
          "mode": "optional"
        },
        "conflictColumns": [
          "tenant_id",
          "slug",
          "context"
        ]
      },
      "extends": "SmrtObject",
      "exportName": "Comment",
      "collectionExportName": "CommentCollection",
      "schema": {
        "tableName": "comments",
        "ddl": "CREATE TABLE IF NOT EXISTS \"comments\" (\n  \"id\" UUID PRIMARY KEY NOT NULL,\n  \"slug\" TEXT NOT NULL,\n  \"context\" TEXT NOT NULL DEFAULT '',\n  \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"tenant_id\" UUID,\n  \"issue_id\" UUID,\n  \"comment_id\" TEXT DEFAULT '',\n  \"body\" TEXT DEFAULT '',\n  \"author\" TEXT DEFAULT '',\n  \"url\" TEXT DEFAULT ''\n);",
        "columns": {
          "id": {
            "type": "UUID",
            "primaryKey": true,
            "referenceKind": "id",
            "notNull": true
          },
          "slug": {
            "type": "TEXT",
            "notNull": true
          },
          "context": {
            "type": "TEXT",
            "notNull": true,
            "default": ""
          },
          "created_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "updated_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": false,
            "unique": false
          },
          "issue_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false,
            "unique": false,
            "foreignKey": {
              "table": "issues",
              "column": "id",
              "onDelete": "NO ACTION",
              "onUpdate": "CASCADE"
            }
          },
          "comment_id": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": ""
          },
          "body": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": ""
          },
          "author": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": ""
          },
          "url": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": ""
          }
        },
        "indexes": [
          {
            "name": "comments_slug_context_idx",
            "columns": [
              "tenant_id",
              "slug",
              "context"
            ],
            "unique": true,
            "nullsNotDistinct": true
          },
          {
            "name": "comments_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          },
          {
            "name": "comments_issue_id_idx",
            "columns": [
              "issue_id"
            ]
          }
        ],
        "version": "ffcc1937"
      },
      "importPath": "@happyvertical/smrt-projects"
    },
    "@happyvertical/smrt-projects:DevelopmentRequest": {
      "name": "developmentrequest",
      "className": "DevelopmentRequest",
      "qualifiedName": "@happyvertical/smrt-projects:DevelopmentRequest",
      "collection": "developmentrequests",
      "filePath": "/home/runner/work/smrt/smrt/packages/projects/src/models/DevelopmentRequest.ts",
      "packageName": "@happyvertical/smrt-projects",
      "fields": {
        "tenantId": {
          "type": "text",
          "required": true,
          "_meta": {
            "sqlType": "UUID",
            "__tenancy": {
              "isTenantIdField": true,
              "autoFilter": true,
              "required": true,
              "autoPopulate": true,
              "nullable": false,
              "mode": "required",
              "field": "tenantId",
              "allowSuperAdminBypass": false
            }
          }
        },
        "projectId": {
          "type": "text",
          "required": false,
          "default": ""
        },
        "integrationId": {
          "type": "foreignKey",
          "required": true,
          "related": "ProjectIntegration",
          "_meta": {
            "required": true
          }
        },
        "requesterId": {
          "type": "text",
          "required": false,
          "default": ""
        },
        "participantId": {
          "type": "text",
          "required": false,
          "default": ""
        },
        "type": {
          "type": "text",
          "required": false,
          "default": "feature"
        },
        "description": {
          "type": "text",
          "required": false,
          "default": ""
        },
        "evidence": {
          "type": "text",
          "required": false,
          "default": "[]"
        },
        "visibility": {
          "type": "text",
          "required": false,
          "default": "requester"
        },
        "origin": {
          "type": "text",
          "required": false,
          "default": "managed-app"
        },
        "discussion": {
          "type": "text",
          "required": false,
          "default": ""
        },
        "status": {
          "type": "text",
          "required": false,
          "default": "submitted"
        }
      },
      "methods": {
        "initialize": {
          "name": "initialize",
          "async": true,
          "parameters": [],
          "returnType": "Promise<this>",
          "isStatic": false,
          "isPublic": true
        },
        "getEvidence": {
          "name": "getEvidence",
          "async": false,
          "parameters": [],
          "returnType": "DevelopmentRequestEvidence[]",
          "isStatic": false,
          "isPublic": true
        },
        "setEvidence": {
          "name": "setEvidence",
          "async": false,
          "parameters": [
            {
              "name": "value",
              "type": "DevelopmentRequestEvidence[] | string",
              "optional": false,
              "unionBranches": [
                {
                  "type": "DevelopmentRequestEvidence[]"
                },
                {
                  "type": "string"
                }
              ]
            }
          ],
          "returnType": "void",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "tableName": "development_requests",
        "api": false,
        "mcp": false,
        "cli": false,
        "tenantScoped": {
          "mode": "required"
        },
        "conflictColumns": [
          "tenant_id",
          "slug",
          "context"
        ]
      },
      "extends": "SmrtObject",
      "exportName": "DevelopmentRequest",
      "collectionExportName": "DevelopmentRequestCollection",
      "validationRules": [
        {
          "field": "integrationId",
          "rule": "required",
          "fieldType": "foreignKey"
        }
      ],
      "schema": {
        "tableName": "development_requests",
        "ddl": "CREATE TABLE IF NOT EXISTS \"development_requests\" (\n  \"id\" UUID PRIMARY KEY NOT NULL,\n  \"slug\" TEXT NOT NULL,\n  \"context\" TEXT NOT NULL DEFAULT '',\n  \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"tenant_id\" UUID NOT NULL,\n  \"project_id\" TEXT DEFAULT '',\n  \"integration_id\" UUID NOT NULL,\n  \"requester_id\" TEXT DEFAULT '',\n  \"participant_id\" TEXT DEFAULT '',\n  \"type\" TEXT DEFAULT 'feature',\n  \"description\" TEXT DEFAULT '',\n  \"evidence\" TEXT DEFAULT '[]',\n  \"visibility\" TEXT DEFAULT 'requester',\n  \"origin\" TEXT DEFAULT 'managed-app',\n  \"discussion\" TEXT DEFAULT '',\n  \"status\" TEXT DEFAULT 'submitted'\n);",
        "columns": {
          "id": {
            "type": "UUID",
            "primaryKey": true,
            "referenceKind": "id",
            "notNull": true
          },
          "slug": {
            "type": "TEXT",
            "notNull": true
          },
          "context": {
            "type": "TEXT",
            "notNull": true,
            "default": ""
          },
          "created_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "updated_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": true,
            "unique": false
          },
          "project_id": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": ""
          },
          "integration_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": true,
            "unique": false,
            "foreignKey": {
              "table": "project_integrations",
              "column": "id",
              "onDelete": "NO ACTION",
              "onUpdate": "CASCADE"
            }
          },
          "requester_id": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": ""
          },
          "participant_id": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": ""
          },
          "type": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": "feature"
          },
          "description": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": ""
          },
          "evidence": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": "[]"
          },
          "visibility": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": "requester"
          },
          "origin": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": "managed-app"
          },
          "discussion": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": ""
          },
          "status": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": "submitted"
          }
        },
        "indexes": [
          {
            "name": "development_requests_slug_context_idx",
            "columns": [
              "tenant_id",
              "slug",
              "context"
            ],
            "unique": true
          },
          {
            "name": "development_requests_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          },
          {
            "name": "development_requests_integration_id_idx",
            "columns": [
              "integration_id"
            ]
          }
        ],
        "version": "4bdaa6ff"
      },
      "importPath": "@happyvertical/smrt-projects"
    },
    "@happyvertical/smrt-projects:DevelopmentRequestHistory": {
      "name": "developmentrequesthistory",
      "className": "DevelopmentRequestHistory",
      "qualifiedName": "@happyvertical/smrt-projects:DevelopmentRequestHistory",
      "collection": "developmentrequesthistories",
      "filePath": "/home/runner/work/smrt/smrt/packages/projects/src/models/DevelopmentRequestHistory.ts",
      "packageName": "@happyvertical/smrt-projects",
      "fields": {
        "tenantId": {
          "type": "text",
          "required": true,
          "_meta": {
            "sqlType": "UUID",
            "__tenancy": {
              "isTenantIdField": true,
              "autoFilter": true,
              "required": true,
              "autoPopulate": true,
              "nullable": false,
              "mode": "required",
              "field": "tenantId",
              "allowSuperAdminBypass": false
            }
          }
        },
        "requestId": {
          "type": "foreignKey",
          "required": true,
          "related": "DevelopmentRequest",
          "_meta": {
            "required": true
          }
        },
        "fromStatus": {
          "type": "text",
          "required": false,
          "default": ""
        },
        "toStatus": {
          "type": "text",
          "required": false,
          "default": "submitted"
        },
        "actorType": {
          "type": "text",
          "required": false,
          "default": "system"
        },
        "actorId": {
          "type": "text",
          "required": false,
          "default": ""
        },
        "note": {
          "type": "text",
          "required": false
        }
      },
      "methods": {},
      "decoratorConfig": {
        "tableName": "development_request_histories",
        "api": false,
        "mcp": false,
        "cli": false,
        "tenantScoped": {
          "mode": "required"
        },
        "conflictColumns": [
          "tenant_id",
          "slug",
          "context"
        ]
      },
      "extends": "SmrtObject",
      "exportName": "DevelopmentRequestHistory",
      "collectionExportName": "DevelopmentRequestHistoryCollection",
      "validationRules": [
        {
          "field": "requestId",
          "rule": "required",
          "fieldType": "foreignKey"
        }
      ],
      "schema": {
        "tableName": "development_request_histories",
        "ddl": "CREATE TABLE IF NOT EXISTS \"development_request_histories\" (\n  \"id\" UUID PRIMARY KEY NOT NULL,\n  \"slug\" TEXT NOT NULL,\n  \"context\" TEXT NOT NULL DEFAULT '',\n  \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"tenant_id\" UUID NOT NULL,\n  \"request_id\" UUID NOT NULL,\n  \"from_status\" TEXT DEFAULT '',\n  \"to_status\" TEXT DEFAULT 'submitted',\n  \"actor_type\" TEXT DEFAULT 'system',\n  \"actor_id\" TEXT DEFAULT '',\n  \"note\" TEXT\n);",
        "columns": {
          "id": {
            "type": "UUID",
            "primaryKey": true,
            "referenceKind": "id",
            "notNull": true
          },
          "slug": {
            "type": "TEXT",
            "notNull": true
          },
          "context": {
            "type": "TEXT",
            "notNull": true,
            "default": ""
          },
          "created_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "updated_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": true,
            "unique": false
          },
          "request_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": true,
            "unique": false,
            "foreignKey": {
              "table": "development_requests",
              "column": "id",
              "onDelete": "NO ACTION",
              "onUpdate": "CASCADE"
            }
          },
          "from_status": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": ""
          },
          "to_status": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": "submitted"
          },
          "actor_type": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": "system"
          },
          "actor_id": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": ""
          },
          "note": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          }
        },
        "indexes": [
          {
            "name": "development_request_histories_slug_context_idx",
            "columns": [
              "tenant_id",
              "slug",
              "context"
            ],
            "unique": true
          },
          {
            "name": "development_request_histories_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          },
          {
            "name": "development_request_histories_request_id_idx",
            "columns": [
              "request_id"
            ]
          }
        ],
        "version": "67389678"
      },
      "importPath": "@happyvertical/smrt-projects"
    },
    "@happyvertical/smrt-projects:Issue": {
      "name": "issue",
      "className": "Issue",
      "qualifiedName": "@happyvertical/smrt-projects:Issue",
      "collection": "issues",
      "filePath": "/home/runner/work/smrt/smrt/packages/projects/src/models/Issue.ts",
      "packageName": "@happyvertical/smrt-projects",
      "fields": {
        "created_at": {
          "type": "datetime",
          "required": false
        },
        "updated_at": {
          "type": "datetime",
          "required": false
        },
        "tenantId": {
          "type": "text",
          "required": false,
          "_meta": {
            "sqlType": "UUID",
            "nullable": true,
            "__tenancy": {
              "isTenantIdField": true,
              "autoFilter": true,
              "required": false,
              "autoPopulate": true,
              "nullable": true,
              "mode": "optional",
              "field": "tenantId",
              "allowSuperAdminBypass": false
            }
          }
        },
        "repositoryId": {
          "type": "foreignKey",
          "required": true,
          "related": "Repository",
          "_meta": {
            "required": true
          }
        },
        "number": {
          "type": "integer",
          "required": false,
          "default": 0
        },
        "nodeId": {
          "type": "text",
          "required": false,
          "default": ""
        },
        "title": {
          "type": "text",
          "required": false,
          "default": ""
        },
        "body": {
          "type": "text",
          "required": false,
          "default": ""
        },
        "state": {
          "type": "text",
          "required": false,
          "default": "open"
        },
        "author": {
          "type": "text",
          "required": false,
          "default": ""
        },
        "labels": {
          "type": "json",
          "required": false,
          "default": []
        },
        "assignees": {
          "type": "json",
          "required": false,
          "default": []
        },
        "commentsCount": {
          "type": "integer",
          "required": false,
          "default": 0
        },
        "lastSyncedAt": {
          "type": "datetime",
          "required": false
        },
        "originalBody": {
          "type": "text",
          "required": false,
          "default": ""
        },
        "synthesisCount": {
          "type": "integer",
          "required": false,
          "default": 0
        }
      },
      "methods": {
        "getRepository": {
          "name": "getRepository",
          "async": true,
          "parameters": [],
          "returnType": "Promise<Repository>",
          "isStatic": false,
          "isPublic": true
        },
        "getClient": {
          "name": "getClient",
          "async": true,
          "parameters": [],
          "returnType": "Promise<IRepository>",
          "isStatic": false,
          "isPublic": true
        },
        "clearCache": {
          "name": "clearCache",
          "async": false,
          "parameters": [],
          "returnType": "void",
          "isStatic": false,
          "isPublic": true
        },
        "sync": {
          "name": "sync",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "SyncOptions",
              "optional": true
            }
          ],
          "returnType": "Promise<this>",
          "isStatic": false,
          "isPublic": true
        },
        "getComments": {
          "name": "getComments",
          "async": true,
          "parameters": [],
          "returnType": "Promise<Comment[]>",
          "isStatic": false,
          "isPublic": true
        },
        "addComment": {
          "name": "addComment",
          "async": true,
          "parameters": [
            {
              "name": "body",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<Comment>",
          "isStatic": false,
          "isPublic": true
        },
        "incorporateFeedback": {
          "name": "incorporateFeedback",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "IncorporateFeedbackOptions",
              "optional": true
            }
          ],
          "returnType": "Promise<IncorporateFeedbackResult>",
          "isStatic": false,
          "isPublic": true
        },
        "rollback": {
          "name": "rollback",
          "async": true,
          "parameters": [],
          "returnType": "Promise<object>",
          "isStatic": false,
          "isPublic": true
        },
        "needsReview": {
          "name": "needsReview",
          "async": true,
          "parameters": [],
          "returnType": "Promise<boolean>",
          "isStatic": false,
          "isPublic": true
        },
        "isBugReport": {
          "name": "isBugReport",
          "async": true,
          "parameters": [],
          "returnType": "Promise<boolean>",
          "isStatic": false,
          "isPublic": true
        },
        "isFeatureRequest": {
          "name": "isFeatureRequest",
          "async": true,
          "parameters": [],
          "returnType": "Promise<boolean>",
          "isStatic": false,
          "isPublic": true
        },
        "suggestLabels": {
          "name": "suggestLabels",
          "async": true,
          "parameters": [],
          "returnType": "Promise<string[]>",
          "isStatic": false,
          "isPublic": true
        },
        "close": {
          "name": "close",
          "async": true,
          "parameters": [],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        },
        "addLabels": {
          "name": "addLabels",
          "async": true,
          "parameters": [
            {
              "name": "labels",
              "type": "string[]",
              "optional": false
            }
          ],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        },
        "removeLabel": {
          "name": "removeLabel",
          "async": true,
          "parameters": [
            {
              "name": "label",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        },
        "assign": {
          "name": "assign",
          "async": true,
          "parameters": [
            {
              "name": "assignees",
              "type": "string[]",
              "optional": false
            }
          ],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        },
        "getUrl": {
          "name": "getUrl",
          "async": false,
          "parameters": [],
          "returnType": "string",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "tableStrategy": "sti",
        "api": {
          "include": [
            "list",
            "get",
            "create",
            "update"
          ]
        },
        "mcp": {
          "include": [
            "list",
            "get",
            "sync",
            "incorporateFeedback"
          ]
        },
        "cli": {
          "include": [
            "list",
            "get",
            "sync",
            "incorporateFeedback",
            "rollback"
          ],
          "skipApiCheck": true
        },
        "tenantScoped": {
          "mode": "optional"
        },
        "conflictColumns": [
          "tenant_id",
          "slug",
          "context",
          "_meta_type"
        ]
      },
      "extends": "SmrtObject",
      "exportName": "Issue",
      "collectionExportName": "IssueCollection",
      "validationRules": [
        {
          "field": "repositoryId",
          "rule": "required",
          "fieldType": "foreignKey"
        }
      ],
      "schema": {
        "tableName": "issues",
        "ddl": "CREATE TABLE IF NOT EXISTS \"issues\" (\n  \"id\" UUID PRIMARY KEY NOT NULL,\n  \"slug\" TEXT NOT NULL,\n  \"context\" TEXT NOT NULL DEFAULT '',\n  \"_meta_type\" TEXT NOT NULL,\n  \"_meta_data\" JSON,\n  \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"tenant_id\" UUID,\n  \"repository_id\" UUID,\n  \"number\" INTEGER DEFAULT 0,\n  \"node_id\" TEXT DEFAULT '',\n  \"title\" TEXT DEFAULT '',\n  \"body\" TEXT DEFAULT '',\n  \"state\" TEXT DEFAULT 'open',\n  \"author\" TEXT DEFAULT '',\n  \"labels\" JSON DEFAULT '[]',\n  \"assignees\" JSON DEFAULT '[]',\n  \"comments_count\" INTEGER DEFAULT 0,\n  \"last_synced_at\" TIMESTAMP,\n  \"original_body\" TEXT DEFAULT '',\n  \"synthesis_count\" INTEGER DEFAULT 0,\n  \"head_ref\" TEXT DEFAULT '',\n  \"base_ref\" TEXT DEFAULT '',\n  \"merged\" BOOLEAN DEFAULT FALSE,\n  \"merged_at\" TIMESTAMP,\n  \"mergeable\" BOOLEAN DEFAULT TRUE,\n  \"draft\" BOOLEAN DEFAULT FALSE,\n  \"additions\" INTEGER DEFAULT 0,\n  \"deletions\" INTEGER DEFAULT 0,\n  \"changed_files\" INTEGER DEFAULT 0\n);",
        "columns": {
          "id": {
            "type": "UUID",
            "primaryKey": true,
            "referenceKind": "id",
            "notNull": true
          },
          "slug": {
            "type": "TEXT",
            "notNull": true
          },
          "context": {
            "type": "TEXT",
            "notNull": true,
            "default": ""
          },
          "_meta_type": {
            "type": "TEXT",
            "notNull": true
          },
          "_meta_data": {
            "type": "JSON",
            "notNull": false
          },
          "created_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "updated_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": false
          },
          "repository_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false,
            "foreignKey": {
              "table": "repositories",
              "column": "id",
              "onDelete": "NO ACTION",
              "onUpdate": "CASCADE"
            }
          },
          "number": {
            "type": "INTEGER",
            "notNull": false,
            "default": 0
          },
          "node_id": {
            "type": "TEXT",
            "notNull": false,
            "default": ""
          },
          "title": {
            "type": "TEXT",
            "notNull": false,
            "default": ""
          },
          "body": {
            "type": "TEXT",
            "notNull": false,
            "default": ""
          },
          "state": {
            "type": "TEXT",
            "notNull": false,
            "default": "open"
          },
          "author": {
            "type": "TEXT",
            "notNull": false,
            "default": ""
          },
          "labels": {
            "type": "JSON",
            "notNull": false,
            "default": []
          },
          "assignees": {
            "type": "JSON",
            "notNull": false,
            "default": []
          },
          "comments_count": {
            "type": "INTEGER",
            "notNull": false,
            "default": 0
          },
          "last_synced_at": {
            "type": "TIMESTAMP",
            "notNull": false
          },
          "original_body": {
            "type": "TEXT",
            "notNull": false,
            "default": ""
          },
          "synthesis_count": {
            "type": "INTEGER",
            "notNull": false,
            "default": 0
          },
          "head_ref": {
            "type": "TEXT",
            "notNull": false,
            "default": ""
          },
          "base_ref": {
            "type": "TEXT",
            "notNull": false,
            "default": ""
          },
          "merged": {
            "type": "BOOLEAN",
            "notNull": false,
            "default": false
          },
          "merged_at": {
            "type": "TIMESTAMP",
            "notNull": false
          },
          "mergeable": {
            "type": "BOOLEAN",
            "notNull": false,
            "default": true
          },
          "draft": {
            "type": "BOOLEAN",
            "notNull": false,
            "default": false
          },
          "additions": {
            "type": "INTEGER",
            "notNull": false,
            "default": 0
          },
          "deletions": {
            "type": "INTEGER",
            "notNull": false,
            "default": 0
          },
          "changed_files": {
            "type": "INTEGER",
            "notNull": false,
            "default": 0
          }
        },
        "indexes": [
          {
            "name": "issues_slug_context_meta_type_idx",
            "columns": [
              "tenant_id",
              "slug",
              "context",
              "_meta_type"
            ],
            "unique": true,
            "nullsNotDistinct": true
          },
          {
            "name": "issues_meta_type_idx",
            "columns": [
              "_meta_type"
            ]
          },
          {
            "name": "issues_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          },
          {
            "name": "issues_repository_id_idx",
            "columns": [
              "repository_id"
            ]
          }
        ],
        "version": "c3d5425b"
      },
      "importPath": "@happyvertical/smrt-projects"
    },
    "@happyvertical/smrt-projects:Label": {
      "name": "label",
      "className": "Label",
      "qualifiedName": "@happyvertical/smrt-projects:Label",
      "collection": "labels",
      "filePath": "/home/runner/work/smrt/smrt/packages/projects/src/models/Label.ts",
      "packageName": "@happyvertical/smrt-projects",
      "fields": {
        "repositoryId": {
          "type": "foreignKey",
          "required": false,
          "related": "Repository"
        },
        "name": {
          "type": "text",
          "required": false,
          "default": ""
        },
        "color": {
          "type": "text",
          "required": false,
          "default": ""
        },
        "description": {
          "type": "text",
          "required": false,
          "default": ""
        }
      },
      "methods": {
        "isTypeLabel": {
          "name": "isTypeLabel",
          "async": false,
          "parameters": [],
          "returnType": "boolean",
          "isStatic": false,
          "isPublic": true
        },
        "isPriorityLabel": {
          "name": "isPriorityLabel",
          "async": false,
          "parameters": [],
          "returnType": "boolean",
          "isStatic": false,
          "isPublic": true
        },
        "isStatusLabel": {
          "name": "isStatusLabel",
          "async": false,
          "parameters": [],
          "returnType": "boolean",
          "isStatic": false,
          "isPublic": true
        },
        "getCategory": {
          "name": "getCategory",
          "async": false,
          "parameters": [],
          "returnType": "'type' | 'priority' | 'status' | 'area' | 'other'",
          "isStatic": false,
          "isPublic": true
        },
        "getPriorityLevel": {
          "name": "getPriorityLevel",
          "async": false,
          "parameters": [],
          "returnType": "number | null",
          "isStatic": false,
          "isPublic": true
        },
        "getHexColor": {
          "name": "getHexColor",
          "async": false,
          "parameters": [],
          "returnType": "string",
          "isStatic": false,
          "isPublic": true
        },
        "createInRepository": {
          "name": "createInRepository",
          "async": true,
          "parameters": [],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        },
        "updateInRepository": {
          "name": "updateInRepository",
          "async": true,
          "parameters": [],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "api": {
          "include": [
            "list",
            "get",
            "create",
            "update",
            "delete"
          ]
        },
        "mcp": {
          "include": [
            "list",
            "get",
            "create"
          ]
        },
        "cli": {
          "include": [
            "list",
            "get",
            "create",
            "update",
            "delete"
          ]
        }
      },
      "extends": "SmrtObject",
      "exportName": "Label",
      "collectionExportName": "LabelCollection",
      "schema": {
        "tableName": "labels",
        "ddl": "CREATE TABLE IF NOT EXISTS \"labels\" (\n  \"id\" UUID PRIMARY KEY NOT NULL,\n  \"slug\" TEXT NOT NULL,\n  \"context\" TEXT NOT NULL DEFAULT '',\n  \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"repository_id\" UUID,\n  \"name\" TEXT DEFAULT '',\n  \"color\" TEXT DEFAULT '',\n  \"description\" TEXT DEFAULT ''\n);",
        "columns": {
          "id": {
            "type": "UUID",
            "primaryKey": true,
            "referenceKind": "id",
            "notNull": true
          },
          "slug": {
            "type": "TEXT",
            "notNull": true
          },
          "context": {
            "type": "TEXT",
            "notNull": true,
            "default": ""
          },
          "created_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "updated_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "repository_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false,
            "unique": false,
            "foreignKey": {
              "table": "repositories",
              "column": "id",
              "onDelete": "NO ACTION",
              "onUpdate": "CASCADE"
            }
          },
          "name": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": ""
          },
          "color": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": ""
          },
          "description": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": ""
          }
        },
        "indexes": [
          {
            "name": "labels_slug_context_idx",
            "columns": [
              "slug",
              "context"
            ],
            "unique": true
          },
          {
            "name": "labels_created_at_idx",
            "columns": [
              "created_at"
            ]
          },
          {
            "name": "labels_repository_id_idx",
            "columns": [
              "repository_id"
            ]
          }
        ],
        "version": "d1e8d236"
      },
      "importPath": "@happyvertical/smrt-projects"
    },
    "@happyvertical/smrt-projects:Project": {
      "name": "project",
      "className": "Project",
      "qualifiedName": "@happyvertical/smrt-projects:Project",
      "collection": "projects",
      "filePath": "/home/runner/work/smrt/smrt/packages/projects/src/models/Project.ts",
      "packageName": "@happyvertical/smrt-projects",
      "fields": {
        "tenantId": {
          "type": "text",
          "required": false,
          "_meta": {
            "sqlType": "UUID",
            "nullable": true,
            "__tenancy": {
              "isTenantIdField": true,
              "autoFilter": true,
              "required": false,
              "autoPopulate": true,
              "nullable": true,
              "mode": "optional",
              "field": "tenantId",
              "allowSuperAdminBypass": false
            }
          }
        },
        "projectId": {
          "type": "text",
          "required": false,
          "default": ""
        },
        "projectNumber": {
          "type": "integer",
          "required": false,
          "default": 0
        },
        "title": {
          "type": "text",
          "required": false,
          "default": ""
        },
        "description": {
          "type": "text",
          "required": false,
          "default": ""
        },
        "owner": {
          "type": "text",
          "required": false,
          "default": ""
        },
        "url": {
          "type": "text",
          "required": false,
          "default": ""
        },
        "providerType": {
          "type": "text",
          "required": false,
          "default": "github"
        },
        "tokenConfigKey": {
          "type": "text",
          "required": false,
          "default": "GITHUB_TOKEN"
        },
        "statuses": {
          "type": "json",
          "required": false,
          "default": []
        },
        "fields": {
          "type": "json",
          "required": false,
          "default": []
        },
        "statusFieldId": {
          "type": "text",
          "required": false,
          "default": ""
        },
        "statusOptions": {
          "type": "json",
          "required": false,
          "default": {}
        },
        "lastSyncedAt": {
          "type": "datetime",
          "required": false
        }
      },
      "methods": {
        "getClient": {
          "name": "getClient",
          "async": true,
          "parameters": [],
          "returnType": "Promise<IProject>",
          "isStatic": false,
          "isPublic": true
        },
        "clearClient": {
          "name": "clearClient",
          "async": false,
          "parameters": [],
          "returnType": "void",
          "isStatic": false,
          "isPublic": true
        },
        "sync": {
          "name": "sync",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "SyncOptions",
              "optional": true
            }
          ],
          "returnType": "Promise<this>",
          "isStatic": false,
          "isPublic": true
        },
        "addItem": {
          "name": "addItem",
          "async": true,
          "parameters": [
            {
              "name": "item",
              "type": "Issue | PullRequest",
              "optional": false,
              "unionBranches": [
                {
                  "type": "Issue"
                },
                {
                  "type": "PullRequest"
                }
              ]
            }
          ],
          "returnType": "Promise<ProjectItem>",
          "isStatic": false,
          "isPublic": true
        },
        "removeItem": {
          "name": "removeItem",
          "async": true,
          "parameters": [
            {
              "name": "itemId",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        },
        "getItem": {
          "name": "getItem",
          "async": true,
          "parameters": [
            {
              "name": "itemId",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<ProjectItem | null>",
          "isStatic": false,
          "isPublic": true
        },
        "listItems": {
          "name": "listItems",
          "async": true,
          "parameters": [
            {
              "name": "filters",
              "type": "ItemFilters",
              "optional": true
            }
          ],
          "returnType": "Promise<ProjectItem[]>",
          "isStatic": false,
          "isPublic": true
        },
        "updateItemStatus": {
          "name": "updateItemStatus",
          "async": true,
          "parameters": [
            {
              "name": "itemId",
              "type": "string",
              "optional": false
            },
            {
              "name": "status",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        },
        "updateItemField": {
          "name": "updateItemField",
          "async": true,
          "parameters": [
            {
              "name": "itemId",
              "type": "string",
              "optional": false
            },
            {
              "name": "fieldId",
              "type": "string",
              "optional": false
            },
            {
              "name": "value",
              "type": "unknown",
              "optional": false
            }
          ],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        },
        "getStatuses": {
          "name": "getStatuses",
          "async": true,
          "parameters": [],
          "returnType": "Promise<ProjectStatus[]>",
          "isStatic": false,
          "isPublic": true
        },
        "getFields": {
          "name": "getFields",
          "async": true,
          "parameters": [],
          "returnType": "Promise<ProjectField[]>",
          "isStatic": false,
          "isPublic": true
        },
        "getItemsByStatus": {
          "name": "getItemsByStatus",
          "async": true,
          "parameters": [
            {
              "name": "status",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<ProjectItem[]>",
          "isStatic": false,
          "isPublic": true
        },
        "moveItem": {
          "name": "moveItem",
          "async": true,
          "parameters": [
            {
              "name": "item",
              "type": "Issue | PullRequest",
              "optional": false,
              "unionBranches": [
                {
                  "type": "Issue"
                },
                {
                  "type": "PullRequest"
                }
              ]
            },
            {
              "name": "status",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        },
        "analyzeHealth": {
          "name": "analyzeHealth",
          "async": true,
          "parameters": [],
          "returnType": "Promise<string>",
          "isStatic": false,
          "isPublic": true
        },
        "getByTitle": {
          "name": "getByTitle",
          "async": true,
          "parameters": [
            {
              "name": "title",
              "type": "string",
              "optional": false
            },
            {
              "name": "options",
              "type": "SmrtObjectOptions",
              "optional": true
            }
          ],
          "returnType": "Promise<Project | null>",
          "isStatic": true,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "api": {
          "include": [
            "list",
            "get",
            "create",
            "update"
          ]
        },
        "mcp": {
          "include": [
            "list",
            "get",
            "sync",
            "addItem",
            "updateItemStatus"
          ]
        },
        "cli": {
          "include": [
            "list",
            "get",
            "sync",
            "addItem",
            "updateItemStatus",
            "listItems"
          ],
          "skipApiCheck": true
        },
        "tenantScoped": {
          "mode": "optional"
        },
        "conflictColumns": [
          "tenant_id",
          "slug",
          "context"
        ]
      },
      "extends": "SmrtObject",
      "exportName": "Project",
      "collectionExportName": "ProjectCollection",
      "schema": {
        "tableName": "projects",
        "ddl": "CREATE TABLE IF NOT EXISTS \"projects\" (\n  \"id\" UUID PRIMARY KEY NOT NULL,\n  \"slug\" TEXT NOT NULL,\n  \"context\" TEXT NOT NULL DEFAULT '',\n  \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"tenant_id\" UUID,\n  \"project_id\" TEXT DEFAULT '',\n  \"project_number\" INTEGER DEFAULT 0,\n  \"title\" TEXT DEFAULT '',\n  \"description\" TEXT DEFAULT '',\n  \"owner\" TEXT DEFAULT '',\n  \"url\" TEXT DEFAULT '',\n  \"provider_type\" TEXT DEFAULT 'github',\n  \"token_config_key\" TEXT DEFAULT 'GITHUB_TOKEN',\n  \"statuses\" JSON DEFAULT '[]',\n  \"fields\" JSON DEFAULT '[]',\n  \"status_field_id\" TEXT DEFAULT '',\n  \"status_options\" JSON DEFAULT '{}',\n  \"last_synced_at\" TIMESTAMP\n);",
        "columns": {
          "id": {
            "type": "UUID",
            "primaryKey": true,
            "referenceKind": "id",
            "notNull": true
          },
          "slug": {
            "type": "TEXT",
            "notNull": true
          },
          "context": {
            "type": "TEXT",
            "notNull": true,
            "default": ""
          },
          "created_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "updated_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": false,
            "unique": false
          },
          "project_id": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": ""
          },
          "project_number": {
            "type": "INTEGER",
            "notNull": false,
            "unique": false,
            "default": 0
          },
          "title": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": ""
          },
          "description": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": ""
          },
          "owner": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": ""
          },
          "url": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": ""
          },
          "provider_type": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": "github"
          },
          "token_config_key": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": "GITHUB_TOKEN"
          },
          "statuses": {
            "type": "JSON",
            "notNull": false,
            "unique": false,
            "default": []
          },
          "fields": {
            "type": "JSON",
            "notNull": false,
            "unique": false,
            "default": []
          },
          "status_field_id": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": ""
          },
          "status_options": {
            "type": "JSON",
            "notNull": false,
            "unique": false,
            "default": {}
          },
          "last_synced_at": {
            "type": "TIMESTAMP",
            "notNull": false,
            "unique": false
          }
        },
        "indexes": [
          {
            "name": "projects_slug_context_idx",
            "columns": [
              "tenant_id",
              "slug",
              "context"
            ],
            "unique": true,
            "nullsNotDistinct": true
          },
          {
            "name": "projects_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          }
        ],
        "version": "2e8c344a"
      },
      "importPath": "@happyvertical/smrt-projects"
    },
    "@happyvertical/smrt-projects:ProjectIntegration": {
      "name": "projectintegration",
      "className": "ProjectIntegration",
      "qualifiedName": "@happyvertical/smrt-projects:ProjectIntegration",
      "collection": "projectintegrations",
      "filePath": "/home/runner/work/smrt/smrt/packages/projects/src/models/ProjectIntegration.ts",
      "packageName": "@happyvertical/smrt-projects",
      "fields": {
        "tenantId": {
          "type": "text",
          "required": true,
          "_meta": {
            "sqlType": "UUID",
            "__tenancy": {
              "isTenantIdField": true,
              "autoFilter": true,
              "required": true,
              "autoPopulate": true,
              "nullable": false,
              "mode": "required",
              "field": "tenantId",
              "allowSuperAdminBypass": false
            }
          }
        },
        "projectId": {
          "type": "text",
          "required": false,
          "default": ""
        },
        "name": {
          "type": "text",
          "required": false,
          "default": ""
        },
        "credentialHash": {
          "type": "text",
          "required": false,
          "default": "",
          "_meta": {
            "sensitive": true
          },
          "sensitive": true
        },
        "capabilities": {
          "type": "json",
          "required": false,
          "default": []
        },
        "status": {
          "type": "text",
          "required": false,
          "default": "active"
        },
        "revokedAt": {
          "type": "datetime",
          "required": false
        }
      },
      "methods": {
        "hasCapability": {
          "name": "hasCapability",
          "async": false,
          "parameters": [
            {
              "name": "capability",
              "type": "ProjectIntegrationCapability",
              "optional": false
            }
          ],
          "returnType": "boolean",
          "isStatic": false,
          "isPublic": true
        },
        "isActive": {
          "name": "isActive",
          "async": false,
          "parameters": [],
          "returnType": "boolean",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "tableName": "project_integrations",
        "conflictColumns": [
          "tenant_id",
          "project_id",
          "name"
        ],
        "api": {
          "include": [
            "list",
            "get"
          ]
        },
        "mcp": {
          "include": [
            "list",
            "get"
          ]
        },
        "cli": {
          "include": [
            "list",
            "get"
          ]
        },
        "tenantScoped": {
          "mode": "required"
        }
      },
      "extends": "SmrtObject",
      "exportName": "ProjectIntegration",
      "collectionExportName": "ProjectIntegrationCollection",
      "validationRules": [],
      "schema": {
        "tableName": "project_integrations",
        "ddl": "CREATE TABLE IF NOT EXISTS \"project_integrations\" (\n  \"id\" UUID PRIMARY KEY NOT NULL,\n  \"slug\" TEXT NOT NULL,\n  \"context\" TEXT NOT NULL DEFAULT '',\n  \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"tenant_id\" UUID NOT NULL,\n  \"project_id\" TEXT DEFAULT '',\n  \"name\" TEXT DEFAULT '',\n  \"credential_hash\" TEXT DEFAULT '',\n  \"capabilities\" JSON DEFAULT '[]',\n  \"status\" TEXT DEFAULT 'active',\n  \"revoked_at\" TIMESTAMP\n);",
        "columns": {
          "id": {
            "type": "UUID",
            "primaryKey": true,
            "referenceKind": "id",
            "notNull": true
          },
          "slug": {
            "type": "TEXT",
            "notNull": true
          },
          "context": {
            "type": "TEXT",
            "notNull": true,
            "default": ""
          },
          "created_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "updated_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": true,
            "unique": false
          },
          "project_id": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": ""
          },
          "name": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": ""
          },
          "credential_hash": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": ""
          },
          "capabilities": {
            "type": "JSON",
            "notNull": false,
            "unique": false,
            "default": []
          },
          "status": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": "active"
          },
          "revoked_at": {
            "type": "TIMESTAMP",
            "notNull": false,
            "unique": false
          }
        },
        "indexes": [
          {
            "name": "project_integrations_tenant_id_project_id_idx",
            "columns": [
              "tenant_id",
              "project_id",
              "name"
            ],
            "unique": true,
            "nullsNotDistinct": true
          },
          {
            "name": "project_integrations_slug_context_idx",
            "columns": [
              "slug",
              "context"
            ]
          },
          {
            "name": "project_integrations_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          }
        ],
        "version": "bfbaa783"
      },
      "importPath": "@happyvertical/smrt-projects"
    },
    "@happyvertical/smrt-projects:ProjectIntegrationAudit": {
      "name": "projectintegrationaudit",
      "className": "ProjectIntegrationAudit",
      "qualifiedName": "@happyvertical/smrt-projects:ProjectIntegrationAudit",
      "collection": "projectintegrationaudits",
      "filePath": "/home/runner/work/smrt/smrt/packages/projects/src/models/ProjectIntegrationAudit.ts",
      "packageName": "@happyvertical/smrt-projects",
      "fields": {
        "tenantId": {
          "type": "text",
          "required": true,
          "_meta": {
            "sqlType": "UUID",
            "__tenancy": {
              "isTenantIdField": true,
              "autoFilter": true,
              "required": true,
              "autoPopulate": true,
              "nullable": false,
              "mode": "required",
              "field": "tenantId",
              "allowSuperAdminBypass": false
            }
          }
        },
        "integrationId": {
          "type": "foreignKey",
          "required": true,
          "related": "ProjectIntegration",
          "_meta": {
            "required": true
          }
        },
        "action": {
          "type": "text",
          "required": false,
          "default": "created"
        },
        "note": {
          "type": "text",
          "required": false
        }
      },
      "methods": {},
      "decoratorConfig": {
        "tableName": "project_integration_audits",
        "api": false,
        "mcp": false,
        "cli": false,
        "tenantScoped": {
          "mode": "required"
        },
        "conflictColumns": [
          "tenant_id",
          "slug",
          "context"
        ]
      },
      "extends": "SmrtObject",
      "exportName": "ProjectIntegrationAudit",
      "collectionExportName": "ProjectIntegrationAuditCollection",
      "validationRules": [
        {
          "field": "integrationId",
          "rule": "required",
          "fieldType": "foreignKey"
        }
      ],
      "schema": {
        "tableName": "project_integration_audits",
        "ddl": "CREATE TABLE IF NOT EXISTS \"project_integration_audits\" (\n  \"id\" UUID PRIMARY KEY NOT NULL,\n  \"slug\" TEXT NOT NULL,\n  \"context\" TEXT NOT NULL DEFAULT '',\n  \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"tenant_id\" UUID NOT NULL,\n  \"integration_id\" UUID NOT NULL,\n  \"action\" TEXT DEFAULT 'created',\n  \"note\" TEXT\n);",
        "columns": {
          "id": {
            "type": "UUID",
            "primaryKey": true,
            "referenceKind": "id",
            "notNull": true
          },
          "slug": {
            "type": "TEXT",
            "notNull": true
          },
          "context": {
            "type": "TEXT",
            "notNull": true,
            "default": ""
          },
          "created_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "updated_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": true,
            "unique": false
          },
          "integration_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": true,
            "unique": false,
            "foreignKey": {
              "table": "project_integrations",
              "column": "id",
              "onDelete": "NO ACTION",
              "onUpdate": "CASCADE"
            }
          },
          "action": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": "created"
          },
          "note": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          }
        },
        "indexes": [
          {
            "name": "project_integration_audits_slug_context_idx",
            "columns": [
              "tenant_id",
              "slug",
              "context"
            ],
            "unique": true
          },
          {
            "name": "project_integration_audits_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          },
          {
            "name": "project_integration_audits_integration_id_idx",
            "columns": [
              "integration_id"
            ]
          }
        ],
        "version": "03cc10a2"
      },
      "importPath": "@happyvertical/smrt-projects"
    },
    "@happyvertical/smrt-projects:PullRequest": {
      "name": "pullrequest",
      "className": "PullRequest",
      "qualifiedName": "@happyvertical/smrt-projects:PullRequest",
      "collection": "issues",
      "filePath": "/home/runner/work/smrt/smrt/packages/projects/src/models/PullRequest.ts",
      "packageName": "@happyvertical/smrt-projects",
      "fields": {
        "created_at": {
          "type": "datetime",
          "required": false
        },
        "updated_at": {
          "type": "datetime",
          "required": false
        },
        "tenantId": {
          "type": "text",
          "required": false,
          "_meta": {
            "sqlType": "UUID",
            "nullable": true,
            "__tenancy": {
              "isTenantIdField": true,
              "autoFilter": true,
              "required": false,
              "autoPopulate": true,
              "nullable": true,
              "mode": "optional",
              "field": "tenantId",
              "allowSuperAdminBypass": false
            }
          }
        },
        "repositoryId": {
          "type": "foreignKey",
          "required": true,
          "related": "Repository",
          "_meta": {
            "required": true
          }
        },
        "number": {
          "type": "integer",
          "required": false,
          "default": 0
        },
        "nodeId": {
          "type": "text",
          "required": false,
          "default": ""
        },
        "title": {
          "type": "text",
          "required": false,
          "default": ""
        },
        "body": {
          "type": "text",
          "required": false,
          "default": ""
        },
        "state": {
          "type": "text",
          "required": false,
          "default": "open"
        },
        "author": {
          "type": "text",
          "required": false,
          "default": ""
        },
        "labels": {
          "type": "json",
          "required": false,
          "default": []
        },
        "assignees": {
          "type": "json",
          "required": false,
          "default": []
        },
        "commentsCount": {
          "type": "integer",
          "required": false,
          "default": 0
        },
        "lastSyncedAt": {
          "type": "datetime",
          "required": false
        },
        "originalBody": {
          "type": "text",
          "required": false,
          "default": ""
        },
        "synthesisCount": {
          "type": "integer",
          "required": false,
          "default": 0
        },
        "headRef": {
          "type": "text",
          "required": false,
          "default": ""
        },
        "baseRef": {
          "type": "text",
          "required": false,
          "default": ""
        },
        "merged": {
          "type": "boolean",
          "required": false,
          "default": false
        },
        "mergedAt": {
          "type": "datetime",
          "required": false
        },
        "mergeable": {
          "type": "boolean",
          "required": false,
          "default": true
        },
        "draft": {
          "type": "boolean",
          "required": false,
          "default": false
        },
        "additions": {
          "type": "integer",
          "required": false,
          "default": 0
        },
        "deletions": {
          "type": "integer",
          "required": false,
          "default": 0
        },
        "changedFiles": {
          "type": "integer",
          "required": false,
          "default": 0
        }
      },
      "methods": {
        "getRepository": {
          "name": "getRepository",
          "async": true,
          "parameters": [],
          "returnType": "Promise<Repository>",
          "isStatic": false,
          "isPublic": true
        },
        "getClient": {
          "name": "getClient",
          "async": true,
          "parameters": [],
          "returnType": "Promise<IRepository>",
          "isStatic": false,
          "isPublic": true
        },
        "clearCache": {
          "name": "clearCache",
          "async": false,
          "parameters": [],
          "returnType": "void",
          "isStatic": false,
          "isPublic": true
        },
        "sync": {
          "name": "sync",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "SyncOptions",
              "optional": true
            }
          ],
          "returnType": "Promise<this>",
          "isStatic": false,
          "isPublic": true
        },
        "getComments": {
          "name": "getComments",
          "async": true,
          "parameters": [],
          "returnType": "Promise<Comment[]>",
          "isStatic": false,
          "isPublic": true
        },
        "addComment": {
          "name": "addComment",
          "async": true,
          "parameters": [
            {
              "name": "body",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<Comment>",
          "isStatic": false,
          "isPublic": true
        },
        "incorporateFeedback": {
          "name": "incorporateFeedback",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "IncorporateFeedbackOptions",
              "optional": true
            }
          ],
          "returnType": "Promise<IncorporateFeedbackResult>",
          "isStatic": false,
          "isPublic": true
        },
        "rollback": {
          "name": "rollback",
          "async": true,
          "parameters": [],
          "returnType": "Promise<object>",
          "isStatic": false,
          "isPublic": true
        },
        "needsReview": {
          "name": "needsReview",
          "async": true,
          "parameters": [],
          "returnType": "Promise<boolean>",
          "isStatic": false,
          "isPublic": true
        },
        "isBugReport": {
          "name": "isBugReport",
          "async": true,
          "parameters": [],
          "returnType": "Promise<boolean>",
          "isStatic": false,
          "isPublic": true
        },
        "isFeatureRequest": {
          "name": "isFeatureRequest",
          "async": true,
          "parameters": [],
          "returnType": "Promise<boolean>",
          "isStatic": false,
          "isPublic": true
        },
        "suggestLabels": {
          "name": "suggestLabels",
          "async": true,
          "parameters": [],
          "returnType": "Promise<string[]>",
          "isStatic": false,
          "isPublic": true
        },
        "close": {
          "name": "close",
          "async": true,
          "parameters": [],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        },
        "addLabels": {
          "name": "addLabels",
          "async": true,
          "parameters": [
            {
              "name": "labels",
              "type": "string[]",
              "optional": false
            }
          ],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        },
        "removeLabel": {
          "name": "removeLabel",
          "async": true,
          "parameters": [
            {
              "name": "label",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        },
        "assign": {
          "name": "assign",
          "async": true,
          "parameters": [
            {
              "name": "assignees",
              "type": "string[]",
              "optional": false
            }
          ],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        },
        "getUrl": {
          "name": "getUrl",
          "async": false,
          "parameters": [],
          "returnType": "string",
          "isStatic": false,
          "isPublic": true
        },
        "summarize": {
          "name": "summarize",
          "async": true,
          "parameters": [],
          "returnType": "Promise<string>",
          "isStatic": false,
          "isPublic": true
        },
        "merge": {
          "name": "merge",
          "async": true,
          "parameters": [
            {
              "name": "method",
              "type": "MergeMethod",
              "optional": true,
              "default": "squash"
            }
          ],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        },
        "markReady": {
          "name": "markReady",
          "async": true,
          "parameters": [],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        },
        "convertToDraft": {
          "name": "convertToDraft",
          "async": true,
          "parameters": [],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        },
        "requestReviewers": {
          "name": "requestReviewers",
          "async": true,
          "parameters": [
            {
              "name": "reviewers",
              "type": "string[]",
              "optional": false
            }
          ],
          "returnType": "Promise<void>",
          "isStatic": false,
          "isPublic": true
        },
        "findLinkedIssue": {
          "name": "findLinkedIssue",
          "async": true,
          "parameters": [],
          "returnType": "Promise<Issue | null>",
          "isStatic": false,
          "isPublic": true
        },
        "isReadyToMerge": {
          "name": "isReadyToMerge",
          "async": true,
          "parameters": [],
          "returnType": "Promise<boolean>",
          "isStatic": false,
          "isPublic": true
        },
        "suggestReviewers": {
          "name": "suggestReviewers",
          "async": true,
          "parameters": [],
          "returnType": "Promise<string[]>",
          "isStatic": false,
          "isPublic": true
        },
        "getChangeSize": {
          "name": "getChangeSize",
          "async": false,
          "parameters": [],
          "returnType": "'xs' | 's' | 'm' | 'l' | 'xl'",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "api": {
          "include": [
            "list",
            "get",
            "create",
            "update"
          ]
        },
        "mcp": {
          "include": [
            "list",
            "get",
            "sync",
            "summarize",
            "merge"
          ]
        },
        "cli": {
          "include": [
            "list",
            "get",
            "sync",
            "summarize",
            "merge",
            "markReady"
          ],
          "skipApiCheck": true
        },
        "tenantScoped": {
          "mode": "optional"
        },
        "tableName": "issues",
        "tableStrategy": "sti"
      },
      "extends": "Issue",
      "exportName": "PullRequest",
      "collectionExportName": "PullRequestCollection",
      "validationRules": [
        {
          "field": "repositoryId",
          "rule": "required",
          "fieldType": "foreignKey"
        }
      ],
      "schema": {
        "tableName": "issues",
        "ddl": "CREATE TABLE IF NOT EXISTS \"issues\" (\n  \"id\" UUID PRIMARY KEY NOT NULL,\n  \"slug\" TEXT NOT NULL,\n  \"context\" TEXT NOT NULL DEFAULT '',\n  \"_meta_type\" TEXT NOT NULL,\n  \"_meta_data\" JSON,\n  \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"tenant_id\" UUID,\n  \"repository_id\" UUID,\n  \"number\" INTEGER DEFAULT 0,\n  \"node_id\" TEXT DEFAULT '',\n  \"title\" TEXT DEFAULT '',\n  \"body\" TEXT DEFAULT '',\n  \"state\" TEXT DEFAULT 'open',\n  \"author\" TEXT DEFAULT '',\n  \"labels\" JSON DEFAULT '[]',\n  \"assignees\" JSON DEFAULT '[]',\n  \"comments_count\" INTEGER DEFAULT 0,\n  \"last_synced_at\" TIMESTAMP,\n  \"original_body\" TEXT DEFAULT '',\n  \"synthesis_count\" INTEGER DEFAULT 0,\n  \"head_ref\" TEXT DEFAULT '',\n  \"base_ref\" TEXT DEFAULT '',\n  \"merged\" BOOLEAN DEFAULT FALSE,\n  \"merged_at\" TIMESTAMP,\n  \"mergeable\" BOOLEAN DEFAULT TRUE,\n  \"draft\" BOOLEAN DEFAULT FALSE,\n  \"additions\" INTEGER DEFAULT 0,\n  \"deletions\" INTEGER DEFAULT 0,\n  \"changed_files\" INTEGER DEFAULT 0\n);",
        "columns": {
          "id": {
            "type": "UUID",
            "primaryKey": true,
            "referenceKind": "id",
            "notNull": true
          },
          "slug": {
            "type": "TEXT",
            "notNull": true
          },
          "context": {
            "type": "TEXT",
            "notNull": true,
            "default": ""
          },
          "_meta_type": {
            "type": "TEXT",
            "notNull": true
          },
          "_meta_data": {
            "type": "JSON",
            "notNull": false
          },
          "created_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "updated_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": false
          },
          "repository_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false,
            "foreignKey": {
              "table": "repositories",
              "column": "id",
              "onDelete": "NO ACTION",
              "onUpdate": "CASCADE"
            }
          },
          "number": {
            "type": "INTEGER",
            "notNull": false,
            "default": 0
          },
          "node_id": {
            "type": "TEXT",
            "notNull": false,
            "default": ""
          },
          "title": {
            "type": "TEXT",
            "notNull": false,
            "default": ""
          },
          "body": {
            "type": "TEXT",
            "notNull": false,
            "default": ""
          },
          "state": {
            "type": "TEXT",
            "notNull": false,
            "default": "open"
          },
          "author": {
            "type": "TEXT",
            "notNull": false,
            "default": ""
          },
          "labels": {
            "type": "JSON",
            "notNull": false,
            "default": []
          },
          "assignees": {
            "type": "JSON",
            "notNull": false,
            "default": []
          },
          "comments_count": {
            "type": "INTEGER",
            "notNull": false,
            "default": 0
          },
          "last_synced_at": {
            "type": "TIMESTAMP",
            "notNull": false
          },
          "original_body": {
            "type": "TEXT",
            "notNull": false,
            "default": ""
          },
          "synthesis_count": {
            "type": "INTEGER",
            "notNull": false,
            "default": 0
          },
          "head_ref": {
            "type": "TEXT",
            "notNull": false,
            "default": ""
          },
          "base_ref": {
            "type": "TEXT",
            "notNull": false,
            "default": ""
          },
          "merged": {
            "type": "BOOLEAN",
            "notNull": false,
            "default": false
          },
          "merged_at": {
            "type": "TIMESTAMP",
            "notNull": false
          },
          "mergeable": {
            "type": "BOOLEAN",
            "notNull": false,
            "default": true
          },
          "draft": {
            "type": "BOOLEAN",
            "notNull": false,
            "default": false
          },
          "additions": {
            "type": "INTEGER",
            "notNull": false,
            "default": 0
          },
          "deletions": {
            "type": "INTEGER",
            "notNull": false,
            "default": 0
          },
          "changed_files": {
            "type": "INTEGER",
            "notNull": false,
            "default": 0
          }
        },
        "indexes": [
          {
            "name": "issues_slug_context_meta_type_idx",
            "columns": [
              "tenant_id",
              "slug",
              "context",
              "_meta_type"
            ],
            "unique": true,
            "nullsNotDistinct": true
          },
          {
            "name": "issues_meta_type_idx",
            "columns": [
              "_meta_type"
            ]
          },
          {
            "name": "issues_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          },
          {
            "name": "issues_repository_id_idx",
            "columns": [
              "repository_id"
            ]
          }
        ],
        "version": "3f16e583"
      },
      "importPath": "@happyvertical/smrt-projects"
    },
    "@happyvertical/smrt-projects:Repository": {
      "name": "repository",
      "className": "Repository",
      "qualifiedName": "@happyvertical/smrt-projects:Repository",
      "collection": "repositories",
      "filePath": "/home/runner/work/smrt/smrt/packages/projects/src/models/Repository.ts",
      "packageName": "@happyvertical/smrt-projects",
      "fields": {
        "tenantId": {
          "type": "text",
          "required": false,
          "_meta": {
            "sqlType": "UUID",
            "nullable": true,
            "__tenancy": {
              "isTenantIdField": true,
              "autoFilter": true,
              "required": false,
              "autoPopulate": true,
              "nullable": true,
              "mode": "optional",
              "field": "tenantId",
              "allowSuperAdminBypass": false
            }
          }
        },
        "owner": {
          "type": "text",
          "required": false,
          "default": ""
        },
        "name": {
          "type": "text",
          "required": false,
          "default": ""
        },
        "fullName": {
          "type": "text",
          "required": false,
          "default": ""
        },
        "description": {
          "type": "text",
          "required": false,
          "default": ""
        },
        "defaultBranch": {
          "type": "text",
          "required": false,
          "default": "main"
        },
        "isPrivate": {
          "type": "boolean",
          "required": false,
          "default": false
        },
        "providerType": {
          "type": "text",
          "required": false,
          "default": "github"
        },
        "baseUrl": {
          "type": "text",
          "required": false,
          "default": ""
        },
        "tokenConfigKey": {
          "type": "text",
          "required": false,
          "default": "GITHUB_TOKEN"
        },
        "lastSyncedAt": {
          "type": "datetime",
          "required": false
        }
      },
      "methods": {
        "getClient": {
          "name": "getClient",
          "async": true,
          "parameters": [],
          "returnType": "Promise<IRepository>",
          "isStatic": false,
          "isPublic": true
        },
        "clearClient": {
          "name": "clearClient",
          "async": false,
          "parameters": [],
          "returnType": "void",
          "isStatic": false,
          "isPublic": true
        },
        "sync": {
          "name": "sync",
          "async": true,
          "parameters": [
            {
              "name": "options",
              "type": "SyncOptions",
              "optional": true
            }
          ],
          "returnType": "Promise<this>",
          "isStatic": false,
          "isPublic": true
        },
        "getIssues": {
          "name": "getIssues",
          "async": true,
          "parameters": [
            {
              "name": "filters",
              "type": "SearchFilters",
              "optional": true
            }
          ],
          "returnType": "Promise<Issue[]>",
          "isStatic": false,
          "isPublic": true
        },
        "getPullRequests": {
          "name": "getPullRequests",
          "async": true,
          "parameters": [
            {
              "name": "filters",
              "type": "SearchFilters",
              "optional": true
            }
          ],
          "returnType": "Promise<PullRequest[]>",
          "isStatic": false,
          "isPublic": true
        },
        "createIssue": {
          "name": "createIssue",
          "async": true,
          "parameters": [
            {
              "name": "data",
              "type": "CreateIssueInput",
              "optional": false
            }
          ],
          "returnType": "Promise<Issue>",
          "isStatic": false,
          "isPublic": true
        },
        "createPullRequest": {
          "name": "createPullRequest",
          "async": true,
          "parameters": [
            {
              "name": "data",
              "type": "CreatePRInput",
              "optional": false
            }
          ],
          "returnType": "Promise<PullRequest>",
          "isStatic": false,
          "isPublic": true
        },
        "hasOpenIssuesMatching": {
          "name": "hasOpenIssuesMatching",
          "async": true,
          "parameters": [
            {
              "name": "criteria",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<boolean>",
          "isStatic": false,
          "isPublic": true
        },
        "summarizeActivity": {
          "name": "summarizeActivity",
          "async": true,
          "parameters": [],
          "returnType": "Promise<string>",
          "isStatic": false,
          "isPublic": true
        },
        "getByFullName": {
          "name": "getByFullName",
          "async": true,
          "parameters": [
            {
              "name": "owner",
              "type": "string",
              "optional": false
            },
            {
              "name": "name",
              "type": "string",
              "optional": false
            },
            {
              "name": "options",
              "type": "SmrtObjectOptions",
              "optional": true
            }
          ],
          "returnType": "Promise<Repository | null>",
          "isStatic": true,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "api": {
          "include": [
            "list",
            "get",
            "create",
            "update"
          ]
        },
        "mcp": {
          "include": [
            "list",
            "get",
            "sync"
          ]
        },
        "cli": {
          "include": [
            "list",
            "get",
            "sync",
            "create"
          ],
          "skipApiCheck": true
        },
        "tenantScoped": {
          "mode": "optional"
        },
        "conflictColumns": [
          "tenant_id",
          "slug",
          "context"
        ]
      },
      "extends": "SmrtObject",
      "exportName": "Repository",
      "collectionExportName": "RepositoryCollection",
      "schema": {
        "tableName": "repositories",
        "ddl": "CREATE TABLE IF NOT EXISTS \"repositories\" (\n  \"id\" UUID PRIMARY KEY NOT NULL,\n  \"slug\" TEXT NOT NULL,\n  \"context\" TEXT NOT NULL DEFAULT '',\n  \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"tenant_id\" UUID,\n  \"owner\" TEXT DEFAULT '',\n  \"name\" TEXT DEFAULT '',\n  \"full_name\" TEXT DEFAULT '',\n  \"description\" TEXT DEFAULT '',\n  \"default_branch\" TEXT DEFAULT 'main',\n  \"is_private\" BOOLEAN DEFAULT FALSE,\n  \"provider_type\" TEXT DEFAULT 'github',\n  \"base_url\" TEXT DEFAULT '',\n  \"token_config_key\" TEXT DEFAULT 'GITHUB_TOKEN',\n  \"last_synced_at\" TIMESTAMP\n);",
        "columns": {
          "id": {
            "type": "UUID",
            "primaryKey": true,
            "referenceKind": "id",
            "notNull": true
          },
          "slug": {
            "type": "TEXT",
            "notNull": true
          },
          "context": {
            "type": "TEXT",
            "notNull": true,
            "default": ""
          },
          "created_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "updated_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": false,
            "unique": false
          },
          "owner": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": ""
          },
          "name": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": ""
          },
          "full_name": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": ""
          },
          "description": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": ""
          },
          "default_branch": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": "main"
          },
          "is_private": {
            "type": "BOOLEAN",
            "notNull": false,
            "unique": false,
            "default": false
          },
          "provider_type": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": "github"
          },
          "base_url": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": ""
          },
          "token_config_key": {
            "type": "TEXT",
            "notNull": false,
            "unique": false,
            "default": "GITHUB_TOKEN"
          },
          "last_synced_at": {
            "type": "TIMESTAMP",
            "notNull": false,
            "unique": false
          }
        },
        "indexes": [
          {
            "name": "repositories_slug_context_idx",
            "columns": [
              "tenant_id",
              "slug",
              "context"
            ],
            "unique": true,
            "nullsNotDistinct": true
          },
          {
            "name": "repositories_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          }
        ],
        "version": "c302a5e5"
      },
      "importPath": "@happyvertical/smrt-projects"
    },
    "@happyvertical/smrt-projects:DevelopmentRequestWorkLink": {
      "name": "developmentrequestworklink",
      "className": "DevelopmentRequestWorkLink",
      "qualifiedName": "@happyvertical/smrt-projects:DevelopmentRequestWorkLink",
      "collection": "developmentrequestworklinks",
      "filePath": "/home/runner/work/smrt/smrt/packages/projects/src/models/delivery-control-plane.ts",
      "packageName": "@happyvertical/smrt-projects",
      "fields": {
        "tenantId": {
          "type": "text",
          "required": true,
          "_meta": {
            "sqlType": "UUID",
            "__tenancy": {
              "isTenantIdField": true,
              "autoFilter": true,
              "required": true,
              "autoPopulate": true,
              "nullable": false,
              "mode": "required",
              "field": "tenantId",
              "allowSuperAdminBypass": false
            }
          }
        },
        "requestId": {
          "type": "foreignKey",
          "required": true,
          "related": "DevelopmentRequest",
          "_meta": {
            "required": true
          }
        },
        "workItemType": {
          "type": "text",
          "required": false,
          "_meta": {}
        },
        "workItemId": {
          "type": "text",
          "required": false,
          "_meta": {}
        },
        "canonicalStatus": {
          "type": "text",
          "required": false,
          "_meta": {}
        },
        "providerRef": {
          "type": "text",
          "required": false,
          "_meta": {}
        },
        "metadata": {
          "type": "text",
          "required": false,
          "_meta": {}
        },
        "lastProjectedAt": {
          "type": "datetime",
          "required": false
        }
      },
      "methods": {},
      "decoratorConfig": {
        "tableName": "development_request_work_links",
        "conflictColumns": [
          "request_id",
          "work_item_type",
          "work_item_id"
        ],
        "api": false,
        "cli": false,
        "mcp": false,
        "tenantScoped": {
          "mode": "required"
        }
      },
      "extends": "SmrtObject",
      "exportName": "DevelopmentRequestWorkLink",
      "collectionExportName": "DevelopmentRequestWorkLinkCollection",
      "validationRules": [
        {
          "field": "requestId",
          "rule": "required",
          "fieldType": "foreignKey"
        }
      ],
      "schema": {
        "tableName": "development_request_work_links",
        "ddl": "CREATE TABLE IF NOT EXISTS \"development_request_work_links\" (\n  \"id\" UUID PRIMARY KEY NOT NULL,\n  \"slug\" TEXT NOT NULL,\n  \"context\" TEXT NOT NULL DEFAULT '',\n  \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"tenant_id\" UUID NOT NULL,\n  \"request_id\" UUID NOT NULL,\n  \"work_item_type\" TEXT,\n  \"work_item_id\" TEXT,\n  \"canonical_status\" TEXT,\n  \"provider_ref\" TEXT,\n  \"metadata\" TEXT,\n  \"last_projected_at\" TIMESTAMP\n);",
        "columns": {
          "id": {
            "type": "UUID",
            "primaryKey": true,
            "referenceKind": "id",
            "notNull": true
          },
          "slug": {
            "type": "TEXT",
            "notNull": true
          },
          "context": {
            "type": "TEXT",
            "notNull": true,
            "default": ""
          },
          "created_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "updated_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": true,
            "unique": false
          },
          "request_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": true,
            "unique": false,
            "foreignKey": {
              "table": "development_requests",
              "column": "id",
              "onDelete": "CASCADE",
              "onUpdate": "CASCADE"
            }
          },
          "work_item_type": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "work_item_id": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "canonical_status": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "provider_ref": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "metadata": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "last_projected_at": {
            "type": "TIMESTAMP",
            "notNull": false,
            "unique": false
          }
        },
        "indexes": [
          {
            "name": "development_request_work_links_request_id_work_item_type_idx",
            "columns": [
              "request_id",
              "work_item_type",
              "work_item_id"
            ],
            "unique": true,
            "nullsNotDistinct": true
          },
          {
            "name": "development_request_work_links_slug_context_idx",
            "columns": [
              "slug",
              "context"
            ]
          },
          {
            "name": "development_request_work_links_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          }
        ],
        "version": "adcbaa21"
      },
      "importPath": "@happyvertical/smrt-projects"
    },
    "@happyvertical/smrt-projects:ProjectDeliveryEvent": {
      "name": "projectdeliveryevent",
      "className": "ProjectDeliveryEvent",
      "qualifiedName": "@happyvertical/smrt-projects:ProjectDeliveryEvent",
      "collection": "projectdeliveryevents",
      "filePath": "/home/runner/work/smrt/smrt/packages/projects/src/models/delivery-control-plane.ts",
      "packageName": "@happyvertical/smrt-projects",
      "fields": {
        "tenantId": {
          "type": "text",
          "required": true,
          "_meta": {
            "sqlType": "UUID",
            "__tenancy": {
              "isTenantIdField": true,
              "autoFilter": true,
              "required": true,
              "autoPopulate": true,
              "nullable": false,
              "mode": "required",
              "field": "tenantId",
              "allowSuperAdminBypass": false
            }
          }
        },
        "integrationId": {
          "type": "foreignKey",
          "required": true,
          "related": "ProjectIntegration",
          "_meta": {
            "required": true
          }
        },
        "requestId": {
          "type": "foreignKey",
          "required": true,
          "related": "DevelopmentRequest",
          "_meta": {
            "required": true
          }
        },
        "idempotencyKey": {
          "type": "text",
          "required": false,
          "_meta": {}
        },
        "sequence": {
          "type": "integer",
          "required": false,
          "default": 0
        },
        "type": {
          "type": "text",
          "required": false,
          "_meta": {}
        },
        "payload": {
          "type": "text",
          "required": false,
          "_meta": {}
        },
        "occurredAt": {
          "type": "datetime",
          "required": false
        },
        "deliveredAt": {
          "type": "datetime",
          "required": false
        },
        "deliveryAttempts": {
          "type": "integer",
          "required": false,
          "default": 0
        },
        "lastDeliveryError": {
          "type": "text",
          "required": false,
          "_meta": {}
        }
      },
      "methods": {},
      "decoratorConfig": {
        "tableName": "project_delivery_events",
        "conflictColumns": [
          "integration_id",
          "idempotency_key"
        ],
        "api": false,
        "cli": false,
        "mcp": false,
        "tenantScoped": {
          "mode": "required"
        }
      },
      "extends": "SmrtObject",
      "exportName": "ProjectDeliveryEvent",
      "collectionExportName": "ProjectDeliveryEventCollection",
      "validationRules": [
        {
          "field": "integrationId",
          "rule": "required",
          "fieldType": "foreignKey"
        },
        {
          "field": "requestId",
          "rule": "required",
          "fieldType": "foreignKey"
        }
      ],
      "schema": {
        "tableName": "project_delivery_events",
        "ddl": "CREATE TABLE IF NOT EXISTS \"project_delivery_events\" (\n  \"id\" UUID PRIMARY KEY NOT NULL,\n  \"slug\" TEXT NOT NULL,\n  \"context\" TEXT NOT NULL DEFAULT '',\n  \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"tenant_id\" UUID NOT NULL,\n  \"integration_id\" UUID NOT NULL,\n  \"request_id\" UUID NOT NULL,\n  \"idempotency_key\" TEXT,\n  \"sequence\" INTEGER DEFAULT 0,\n  \"type\" TEXT,\n  \"payload\" TEXT,\n  \"occurred_at\" TIMESTAMP,\n  \"delivered_at\" TIMESTAMP,\n  \"delivery_attempts\" INTEGER DEFAULT 0,\n  \"last_delivery_error\" TEXT\n);",
        "columns": {
          "id": {
            "type": "UUID",
            "primaryKey": true,
            "referenceKind": "id",
            "notNull": true
          },
          "slug": {
            "type": "TEXT",
            "notNull": true
          },
          "context": {
            "type": "TEXT",
            "notNull": true,
            "default": ""
          },
          "created_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "updated_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": true,
            "unique": false
          },
          "integration_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": true,
            "unique": false,
            "foreignKey": {
              "table": "project_integrations",
              "column": "id",
              "onDelete": "CASCADE",
              "onUpdate": "CASCADE"
            }
          },
          "request_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": true,
            "unique": false,
            "foreignKey": {
              "table": "development_requests",
              "column": "id",
              "onDelete": "NO ACTION",
              "onUpdate": "CASCADE"
            }
          },
          "idempotency_key": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "sequence": {
            "type": "INTEGER",
            "notNull": false,
            "unique": false,
            "default": 0
          },
          "type": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "payload": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "occurred_at": {
            "type": "TIMESTAMP",
            "notNull": false,
            "unique": false
          },
          "delivered_at": {
            "type": "TIMESTAMP",
            "notNull": false,
            "unique": false
          },
          "delivery_attempts": {
            "type": "INTEGER",
            "notNull": false,
            "unique": false,
            "default": 0
          },
          "last_delivery_error": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          }
        },
        "indexes": [
          {
            "name": "project_delivery_events_integration_id_idempotency_key_idx",
            "columns": [
              "integration_id",
              "idempotency_key"
            ],
            "unique": true,
            "nullsNotDistinct": true
          },
          {
            "name": "project_delivery_events_slug_context_idx",
            "columns": [
              "slug",
              "context"
            ]
          },
          {
            "name": "project_delivery_events_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          },
          {
            "name": "project_delivery_events_request_id_idx",
            "columns": [
              "request_id"
            ]
          }
        ],
        "version": "99b9e301"
      },
      "importPath": "@happyvertical/smrt-projects"
    },
    "@happyvertical/smrt-projects:PreviewApproval": {
      "name": "previewapproval",
      "className": "PreviewApproval",
      "qualifiedName": "@happyvertical/smrt-projects:PreviewApproval",
      "collection": "previewapprovals",
      "filePath": "/home/runner/work/smrt/smrt/packages/projects/src/models/delivery-control-plane.ts",
      "packageName": "@happyvertical/smrt-projects",
      "fields": {
        "tenantId": {
          "type": "text",
          "required": true,
          "_meta": {
            "sqlType": "UUID",
            "__tenancy": {
              "isTenantIdField": true,
              "autoFilter": true,
              "required": true,
              "autoPopulate": true,
              "nullable": false,
              "mode": "required",
              "field": "tenantId",
              "allowSuperAdminBypass": false
            }
          }
        },
        "requestId": {
          "type": "foreignKey",
          "required": true,
          "related": "DevelopmentRequest",
          "_meta": {
            "required": true
          }
        },
        "previewId": {
          "type": "text",
          "required": false,
          "_meta": {}
        },
        "previewUrl": {
          "type": "text",
          "required": false,
          "_meta": {}
        },
        "status": {
          "type": "text",
          "required": false,
          "_meta": {}
        },
        "decidedByRef": {
          "type": "text",
          "required": false,
          "_meta": {}
        },
        "reason": {
          "type": "text",
          "required": false,
          "_meta": {}
        },
        "createdAt": {
          "type": "datetime",
          "required": false
        },
        "decidedAt": {
          "type": "datetime",
          "required": false
        },
        "staleAt": {
          "type": "datetime",
          "required": false
        }
      },
      "methods": {},
      "decoratorConfig": {
        "tableName": "preview_approvals",
        "conflictColumns": [
          "request_id",
          "preview_id"
        ],
        "api": false,
        "cli": false,
        "mcp": false,
        "tenantScoped": {
          "mode": "required"
        }
      },
      "extends": "SmrtObject",
      "exportName": "PreviewApproval",
      "collectionExportName": "PreviewApprovalCollection",
      "validationRules": [
        {
          "field": "requestId",
          "rule": "required",
          "fieldType": "foreignKey"
        }
      ],
      "schema": {
        "tableName": "preview_approvals",
        "ddl": "CREATE TABLE IF NOT EXISTS \"preview_approvals\" (\n  \"id\" UUID PRIMARY KEY NOT NULL,\n  \"slug\" TEXT NOT NULL,\n  \"context\" TEXT NOT NULL DEFAULT '',\n  \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"tenant_id\" UUID NOT NULL,\n  \"request_id\" UUID NOT NULL,\n  \"preview_id\" TEXT,\n  \"preview_url\" TEXT,\n  \"status\" TEXT,\n  \"decided_by_ref\" TEXT,\n  \"reason\" TEXT,\n  \"decided_at\" TIMESTAMP,\n  \"stale_at\" TIMESTAMP\n);",
        "columns": {
          "id": {
            "type": "UUID",
            "primaryKey": true,
            "referenceKind": "id",
            "notNull": true
          },
          "slug": {
            "type": "TEXT",
            "notNull": true
          },
          "context": {
            "type": "TEXT",
            "notNull": true,
            "default": ""
          },
          "created_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "updated_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": true,
            "unique": false
          },
          "request_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": true,
            "unique": false,
            "foreignKey": {
              "table": "development_requests",
              "column": "id",
              "onDelete": "CASCADE",
              "onUpdate": "CASCADE"
            }
          },
          "preview_id": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "preview_url": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "status": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "decided_by_ref": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "reason": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "decided_at": {
            "type": "TIMESTAMP",
            "notNull": false,
            "unique": false
          },
          "stale_at": {
            "type": "TIMESTAMP",
            "notNull": false,
            "unique": false
          }
        },
        "indexes": [
          {
            "name": "preview_approvals_request_id_preview_id_idx",
            "columns": [
              "request_id",
              "preview_id"
            ],
            "unique": true,
            "nullsNotDistinct": true
          },
          {
            "name": "preview_approvals_slug_context_idx",
            "columns": [
              "slug",
              "context"
            ]
          },
          {
            "name": "preview_approvals_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          }
        ],
        "version": "ec7b2b14"
      },
      "importPath": "@happyvertical/smrt-projects"
    },
    "@happyvertical/smrt-projects:AssistanceRequest": {
      "name": "assistancerequest",
      "className": "AssistanceRequest",
      "qualifiedName": "@happyvertical/smrt-projects:AssistanceRequest",
      "collection": "assistancerequests",
      "filePath": "/home/runner/work/smrt/smrt/packages/projects/src/models/delivery-control-plane.ts",
      "packageName": "@happyvertical/smrt-projects",
      "fields": {
        "tenantId": {
          "type": "text",
          "required": true,
          "_meta": {
            "sqlType": "UUID",
            "__tenancy": {
              "isTenantIdField": true,
              "autoFilter": true,
              "required": true,
              "autoPopulate": true,
              "nullable": false,
              "mode": "required",
              "field": "tenantId",
              "allowSuperAdminBypass": false
            }
          }
        },
        "integrationId": {
          "type": "foreignKey",
          "required": true,
          "related": "ProjectIntegration",
          "_meta": {
            "required": true
          }
        },
        "requesterId": {
          "type": "text",
          "required": false,
          "_meta": {}
        },
        "subject": {
          "type": "text",
          "required": false,
          "_meta": {}
        },
        "applicationContext": {
          "type": "text",
          "required": false,
          "_meta": {}
        },
        "conversation": {
          "type": "text",
          "required": false,
          "_meta": {}
        },
        "evidence": {
          "type": "text",
          "required": false,
          "_meta": {}
        },
        "classification": {
          "type": "text",
          "required": false,
          "_meta": {}
        },
        "supportCaseId": {
          "type": "text",
          "required": false,
          "_meta": {}
        },
        "developmentRequestId": {
          "type": "text",
          "required": false,
          "_meta": {}
        },
        "deliveryHandoffLinkedAt": {
          "type": "datetime",
          "required": false
        },
        "createdAt": {
          "type": "datetime",
          "required": false
        }
      },
      "methods": {},
      "decoratorConfig": {
        "tableName": "assistance_requests",
        "api": false,
        "cli": false,
        "mcp": false,
        "tenantScoped": {
          "mode": "required"
        },
        "conflictColumns": [
          "tenant_id",
          "slug",
          "context"
        ]
      },
      "extends": "SmrtObject",
      "exportName": "AssistanceRequest",
      "collectionExportName": "AssistanceRequestCollection",
      "validationRules": [
        {
          "field": "integrationId",
          "rule": "required",
          "fieldType": "foreignKey"
        }
      ],
      "schema": {
        "tableName": "assistance_requests",
        "ddl": "CREATE TABLE IF NOT EXISTS \"assistance_requests\" (\n  \"id\" UUID PRIMARY KEY NOT NULL,\n  \"slug\" TEXT NOT NULL,\n  \"context\" TEXT NOT NULL DEFAULT '',\n  \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"tenant_id\" UUID NOT NULL,\n  \"integration_id\" UUID NOT NULL,\n  \"requester_id\" TEXT,\n  \"subject\" TEXT,\n  \"application_context\" TEXT,\n  \"conversation\" TEXT,\n  \"evidence\" TEXT,\n  \"classification\" TEXT,\n  \"support_case_id\" TEXT,\n  \"development_request_id\" TEXT,\n  \"delivery_handoff_linked_at\" TIMESTAMP\n);",
        "columns": {
          "id": {
            "type": "UUID",
            "primaryKey": true,
            "referenceKind": "id",
            "notNull": true
          },
          "slug": {
            "type": "TEXT",
            "notNull": true
          },
          "context": {
            "type": "TEXT",
            "notNull": true,
            "default": ""
          },
          "created_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "updated_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": true,
            "unique": false
          },
          "integration_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": true,
            "unique": false,
            "foreignKey": {
              "table": "project_integrations",
              "column": "id",
              "onDelete": "NO ACTION",
              "onUpdate": "CASCADE"
            }
          },
          "requester_id": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "subject": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "application_context": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "conversation": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "evidence": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "classification": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "support_case_id": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "development_request_id": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "delivery_handoff_linked_at": {
            "type": "TIMESTAMP",
            "notNull": false,
            "unique": false
          }
        },
        "indexes": [
          {
            "name": "assistance_requests_slug_context_idx",
            "columns": [
              "tenant_id",
              "slug",
              "context"
            ],
            "unique": true
          },
          {
            "name": "assistance_requests_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          },
          {
            "name": "assistance_requests_integration_id_idx",
            "columns": [
              "integration_id"
            ]
          }
        ],
        "version": "d1653259"
      },
      "importPath": "@happyvertical/smrt-projects"
    },
    "@happyvertical/smrt-projects:AssistanceRequestEvent": {
      "name": "assistancerequestevent",
      "className": "AssistanceRequestEvent",
      "qualifiedName": "@happyvertical/smrt-projects:AssistanceRequestEvent",
      "collection": "assistancerequestevents",
      "filePath": "/home/runner/work/smrt/smrt/packages/projects/src/models/delivery-control-plane.ts",
      "packageName": "@happyvertical/smrt-projects",
      "fields": {
        "tenantId": {
          "type": "text",
          "required": true,
          "_meta": {
            "sqlType": "UUID",
            "__tenancy": {
              "isTenantIdField": true,
              "autoFilter": true,
              "required": true,
              "autoPopulate": true,
              "nullable": false,
              "mode": "required",
              "field": "tenantId",
              "allowSuperAdminBypass": false
            }
          }
        },
        "assistanceRequestId": {
          "type": "foreignKey",
          "required": true,
          "related": "AssistanceRequest",
          "_meta": {
            "required": true
          }
        },
        "priorClassification": {
          "type": "text",
          "required": false,
          "_meta": {}
        },
        "resultingClassification": {
          "type": "text",
          "required": false,
          "_meta": {}
        },
        "actorRef": {
          "type": "text",
          "required": false,
          "_meta": {}
        },
        "reason": {
          "type": "text",
          "required": false,
          "_meta": {}
        },
        "resultingLinks": {
          "type": "text",
          "required": false,
          "_meta": {}
        },
        "occurredAt": {
          "type": "datetime",
          "required": false
        }
      },
      "methods": {},
      "decoratorConfig": {
        "tableName": "assistance_request_events",
        "api": false,
        "cli": false,
        "mcp": false,
        "tenantScoped": {
          "mode": "required"
        },
        "conflictColumns": [
          "tenant_id",
          "slug",
          "context"
        ]
      },
      "extends": "SmrtObject",
      "exportName": "AssistanceRequestEvent",
      "collectionExportName": "AssistanceRequestEventCollection",
      "validationRules": [
        {
          "field": "assistanceRequestId",
          "rule": "required",
          "fieldType": "foreignKey"
        }
      ],
      "schema": {
        "tableName": "assistance_request_events",
        "ddl": "CREATE TABLE IF NOT EXISTS \"assistance_request_events\" (\n  \"id\" UUID PRIMARY KEY NOT NULL,\n  \"slug\" TEXT NOT NULL,\n  \"context\" TEXT NOT NULL DEFAULT '',\n  \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"tenant_id\" UUID NOT NULL,\n  \"assistance_request_id\" UUID NOT NULL,\n  \"prior_classification\" TEXT,\n  \"resulting_classification\" TEXT,\n  \"actor_ref\" TEXT,\n  \"reason\" TEXT,\n  \"resulting_links\" TEXT,\n  \"occurred_at\" TIMESTAMP\n);",
        "columns": {
          "id": {
            "type": "UUID",
            "primaryKey": true,
            "referenceKind": "id",
            "notNull": true
          },
          "slug": {
            "type": "TEXT",
            "notNull": true
          },
          "context": {
            "type": "TEXT",
            "notNull": true,
            "default": ""
          },
          "created_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "updated_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": true,
            "unique": false
          },
          "assistance_request_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": true,
            "unique": false,
            "foreignKey": {
              "table": "assistance_requests",
              "column": "id",
              "onDelete": "NO ACTION",
              "onUpdate": "CASCADE"
            }
          },
          "prior_classification": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "resulting_classification": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "actor_ref": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "reason": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "resulting_links": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "occurred_at": {
            "type": "TIMESTAMP",
            "notNull": false,
            "unique": false
          }
        },
        "indexes": [
          {
            "name": "assistance_request_events_slug_context_idx",
            "columns": [
              "tenant_id",
              "slug",
              "context"
            ],
            "unique": true
          },
          {
            "name": "assistance_request_events_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          },
          {
            "name": "assistance_request_events_assistance_request_id_idx",
            "columns": [
              "assistance_request_id"
            ]
          }
        ],
        "version": "bcc95ebe"
      },
      "importPath": "@happyvertical/smrt-projects"
    },
    "@happyvertical/smrt-projects:DevelopmentRequestWorkLinkCollection": {
      "name": "developmentrequestworklinkcollection",
      "className": "DevelopmentRequestWorkLinkCollection",
      "qualifiedName": "@happyvertical/smrt-projects:DevelopmentRequestWorkLinkCollection",
      "collection": "developmentrequestworklinks",
      "filePath": "/home/runner/work/smrt/smrt/packages/projects/src/models/delivery-control-plane.ts",
      "packageName": "@happyvertical/smrt-projects",
      "fields": {},
      "methods": {},
      "decoratorConfig": {
        "tableName": "development_request_work_links",
        "api": false,
        "mcp": false,
        "cli": false
      },
      "extends": "SmrtCollection",
      "extendsTypeArg": "DevelopmentRequestWorkLink",
      "exportName": "DevelopmentRequestWorkLinkCollection",
      "collectionExportName": "DevelopmentRequestWorkLinkCollectionCollection",
      "schema": {
        "tableName": "development_request_work_links",
        "ddl": "CREATE TABLE IF NOT EXISTS \"development_request_work_links\" (\n  \"id\" UUID PRIMARY KEY NOT NULL,\n  \"slug\" TEXT NOT NULL,\n  \"context\" TEXT NOT NULL DEFAULT '',\n  \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"tenant_id\" UUID NOT NULL,\n  \"request_id\" UUID NOT NULL,\n  \"work_item_type\" TEXT,\n  \"work_item_id\" TEXT,\n  \"canonical_status\" TEXT,\n  \"provider_ref\" TEXT,\n  \"metadata\" TEXT,\n  \"last_projected_at\" TIMESTAMP\n);",
        "columns": {
          "id": {
            "type": "UUID",
            "primaryKey": true,
            "referenceKind": "id",
            "notNull": true
          },
          "slug": {
            "type": "TEXT",
            "notNull": true
          },
          "context": {
            "type": "TEXT",
            "notNull": true,
            "default": ""
          },
          "created_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "updated_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": true,
            "unique": false
          },
          "request_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": true,
            "unique": false,
            "foreignKey": {
              "table": "development_requests",
              "column": "id",
              "onDelete": "CASCADE",
              "onUpdate": "CASCADE"
            }
          },
          "work_item_type": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "work_item_id": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "canonical_status": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "provider_ref": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "metadata": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "last_projected_at": {
            "type": "TIMESTAMP",
            "notNull": false,
            "unique": false
          }
        },
        "indexes": [
          {
            "name": "development_request_work_links_request_id_work_item_type_idx",
            "columns": [
              "request_id",
              "work_item_type",
              "work_item_id"
            ],
            "unique": true,
            "nullsNotDistinct": true
          },
          {
            "name": "development_request_work_links_slug_context_idx",
            "columns": [
              "slug",
              "context"
            ]
          },
          {
            "name": "development_request_work_links_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          }
        ],
        "version": "adcbaa21"
      },
      "importPath": "@happyvertical/smrt-projects"
    },
    "@happyvertical/smrt-projects:ProjectDeliveryEventCollection": {
      "name": "projectdeliveryeventcollection",
      "className": "ProjectDeliveryEventCollection",
      "qualifiedName": "@happyvertical/smrt-projects:ProjectDeliveryEventCollection",
      "collection": "projectdeliveryevents",
      "filePath": "/home/runner/work/smrt/smrt/packages/projects/src/models/delivery-control-plane.ts",
      "packageName": "@happyvertical/smrt-projects",
      "fields": {},
      "methods": {},
      "decoratorConfig": {
        "tableName": "project_delivery_events",
        "api": false,
        "mcp": false,
        "cli": false
      },
      "extends": "SmrtCollection",
      "extendsTypeArg": "ProjectDeliveryEvent",
      "exportName": "ProjectDeliveryEventCollection",
      "collectionExportName": "ProjectDeliveryEventCollectionCollection",
      "schema": {
        "tableName": "project_delivery_events",
        "ddl": "CREATE TABLE IF NOT EXISTS \"project_delivery_events\" (\n  \"id\" UUID PRIMARY KEY NOT NULL,\n  \"slug\" TEXT NOT NULL,\n  \"context\" TEXT NOT NULL DEFAULT '',\n  \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"tenant_id\" UUID NOT NULL,\n  \"integration_id\" UUID NOT NULL,\n  \"request_id\" UUID NOT NULL,\n  \"idempotency_key\" TEXT,\n  \"sequence\" INTEGER DEFAULT 0,\n  \"type\" TEXT,\n  \"payload\" TEXT,\n  \"occurred_at\" TIMESTAMP,\n  \"delivered_at\" TIMESTAMP,\n  \"delivery_attempts\" INTEGER DEFAULT 0,\n  \"last_delivery_error\" TEXT\n);",
        "columns": {
          "id": {
            "type": "UUID",
            "primaryKey": true,
            "referenceKind": "id",
            "notNull": true
          },
          "slug": {
            "type": "TEXT",
            "notNull": true
          },
          "context": {
            "type": "TEXT",
            "notNull": true,
            "default": ""
          },
          "created_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "updated_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": true,
            "unique": false
          },
          "integration_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": true,
            "unique": false,
            "foreignKey": {
              "table": "project_integrations",
              "column": "id",
              "onDelete": "CASCADE",
              "onUpdate": "CASCADE"
            }
          },
          "request_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": true,
            "unique": false,
            "foreignKey": {
              "table": "development_requests",
              "column": "id",
              "onDelete": "NO ACTION",
              "onUpdate": "CASCADE"
            }
          },
          "idempotency_key": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "sequence": {
            "type": "INTEGER",
            "notNull": false,
            "unique": false,
            "default": 0
          },
          "type": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "payload": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "occurred_at": {
            "type": "TIMESTAMP",
            "notNull": false,
            "unique": false
          },
          "delivered_at": {
            "type": "TIMESTAMP",
            "notNull": false,
            "unique": false
          },
          "delivery_attempts": {
            "type": "INTEGER",
            "notNull": false,
            "unique": false,
            "default": 0
          },
          "last_delivery_error": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          }
        },
        "indexes": [
          {
            "name": "project_delivery_events_integration_id_idempotency_key_idx",
            "columns": [
              "integration_id",
              "idempotency_key"
            ],
            "unique": true,
            "nullsNotDistinct": true
          },
          {
            "name": "project_delivery_events_slug_context_idx",
            "columns": [
              "slug",
              "context"
            ]
          },
          {
            "name": "project_delivery_events_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          },
          {
            "name": "project_delivery_events_request_id_idx",
            "columns": [
              "request_id"
            ]
          }
        ],
        "version": "99b9e301"
      },
      "importPath": "@happyvertical/smrt-projects"
    },
    "@happyvertical/smrt-projects:PreviewApprovalCollection": {
      "name": "previewapprovalcollection",
      "className": "PreviewApprovalCollection",
      "qualifiedName": "@happyvertical/smrt-projects:PreviewApprovalCollection",
      "collection": "previewapprovals",
      "filePath": "/home/runner/work/smrt/smrt/packages/projects/src/models/delivery-control-plane.ts",
      "packageName": "@happyvertical/smrt-projects",
      "fields": {},
      "methods": {},
      "decoratorConfig": {
        "tableName": "preview_approvals",
        "api": false,
        "mcp": false,
        "cli": false
      },
      "extends": "SmrtCollection",
      "extendsTypeArg": "PreviewApproval",
      "exportName": "PreviewApprovalCollection",
      "collectionExportName": "PreviewApprovalCollectionCollection",
      "schema": {
        "tableName": "preview_approvals",
        "ddl": "CREATE TABLE IF NOT EXISTS \"preview_approvals\" (\n  \"id\" UUID PRIMARY KEY NOT NULL,\n  \"slug\" TEXT NOT NULL,\n  \"context\" TEXT NOT NULL DEFAULT '',\n  \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"tenant_id\" UUID NOT NULL,\n  \"request_id\" UUID NOT NULL,\n  \"preview_id\" TEXT,\n  \"preview_url\" TEXT,\n  \"status\" TEXT,\n  \"decided_by_ref\" TEXT,\n  \"reason\" TEXT,\n  \"decided_at\" TIMESTAMP,\n  \"stale_at\" TIMESTAMP\n);",
        "columns": {
          "id": {
            "type": "UUID",
            "primaryKey": true,
            "referenceKind": "id",
            "notNull": true
          },
          "slug": {
            "type": "TEXT",
            "notNull": true
          },
          "context": {
            "type": "TEXT",
            "notNull": true,
            "default": ""
          },
          "created_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "updated_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": true,
            "unique": false
          },
          "request_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": true,
            "unique": false,
            "foreignKey": {
              "table": "development_requests",
              "column": "id",
              "onDelete": "CASCADE",
              "onUpdate": "CASCADE"
            }
          },
          "preview_id": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "preview_url": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "status": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "decided_by_ref": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "reason": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "decided_at": {
            "type": "TIMESTAMP",
            "notNull": false,
            "unique": false
          },
          "stale_at": {
            "type": "TIMESTAMP",
            "notNull": false,
            "unique": false
          }
        },
        "indexes": [
          {
            "name": "preview_approvals_request_id_preview_id_idx",
            "columns": [
              "request_id",
              "preview_id"
            ],
            "unique": true,
            "nullsNotDistinct": true
          },
          {
            "name": "preview_approvals_slug_context_idx",
            "columns": [
              "slug",
              "context"
            ]
          },
          {
            "name": "preview_approvals_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          }
        ],
        "version": "ec7b2b14"
      },
      "importPath": "@happyvertical/smrt-projects"
    },
    "@happyvertical/smrt-projects:AssistanceRequestCollection": {
      "name": "assistancerequestcollection",
      "className": "AssistanceRequestCollection",
      "qualifiedName": "@happyvertical/smrt-projects:AssistanceRequestCollection",
      "collection": "assistancerequests",
      "filePath": "/home/runner/work/smrt/smrt/packages/projects/src/models/delivery-control-plane.ts",
      "packageName": "@happyvertical/smrt-projects",
      "fields": {},
      "methods": {},
      "decoratorConfig": {
        "tableName": "assistance_requests",
        "api": false,
        "mcp": false,
        "cli": false
      },
      "extends": "SmrtCollection",
      "extendsTypeArg": "AssistanceRequest",
      "exportName": "AssistanceRequestCollection",
      "collectionExportName": "AssistanceRequestCollectionCollection",
      "schema": {
        "tableName": "assistance_requests",
        "ddl": "CREATE TABLE IF NOT EXISTS \"assistance_requests\" (\n  \"id\" UUID PRIMARY KEY NOT NULL,\n  \"slug\" TEXT NOT NULL,\n  \"context\" TEXT NOT NULL DEFAULT '',\n  \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"tenant_id\" UUID NOT NULL,\n  \"integration_id\" UUID NOT NULL,\n  \"requester_id\" TEXT,\n  \"subject\" TEXT,\n  \"application_context\" TEXT,\n  \"conversation\" TEXT,\n  \"evidence\" TEXT,\n  \"classification\" TEXT,\n  \"support_case_id\" TEXT,\n  \"development_request_id\" TEXT,\n  \"delivery_handoff_linked_at\" TIMESTAMP\n);",
        "columns": {
          "id": {
            "type": "UUID",
            "primaryKey": true,
            "referenceKind": "id",
            "notNull": true
          },
          "slug": {
            "type": "TEXT",
            "notNull": true
          },
          "context": {
            "type": "TEXT",
            "notNull": true,
            "default": ""
          },
          "created_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "updated_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": true,
            "unique": false
          },
          "integration_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": true,
            "unique": false,
            "foreignKey": {
              "table": "project_integrations",
              "column": "id",
              "onDelete": "NO ACTION",
              "onUpdate": "CASCADE"
            }
          },
          "requester_id": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "subject": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "application_context": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "conversation": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "evidence": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "classification": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "support_case_id": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "development_request_id": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "delivery_handoff_linked_at": {
            "type": "TIMESTAMP",
            "notNull": false,
            "unique": false
          }
        },
        "indexes": [
          {
            "name": "assistance_requests_slug_context_idx",
            "columns": [
              "tenant_id",
              "slug",
              "context"
            ],
            "unique": true
          },
          {
            "name": "assistance_requests_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          },
          {
            "name": "assistance_requests_integration_id_idx",
            "columns": [
              "integration_id"
            ]
          }
        ],
        "version": "d1653259"
      },
      "importPath": "@happyvertical/smrt-projects"
    },
    "@happyvertical/smrt-projects:AssistanceRequestEventCollection": {
      "name": "assistancerequesteventcollection",
      "className": "AssistanceRequestEventCollection",
      "qualifiedName": "@happyvertical/smrt-projects:AssistanceRequestEventCollection",
      "collection": "assistancerequestevents",
      "filePath": "/home/runner/work/smrt/smrt/packages/projects/src/models/delivery-control-plane.ts",
      "packageName": "@happyvertical/smrt-projects",
      "fields": {},
      "methods": {},
      "decoratorConfig": {
        "tableName": "assistance_request_events",
        "api": false,
        "mcp": false,
        "cli": false
      },
      "extends": "SmrtCollection",
      "extendsTypeArg": "AssistanceRequestEvent",
      "exportName": "AssistanceRequestEventCollection",
      "collectionExportName": "AssistanceRequestEventCollectionCollection",
      "schema": {
        "tableName": "assistance_request_events",
        "ddl": "CREATE TABLE IF NOT EXISTS \"assistance_request_events\" (\n  \"id\" UUID PRIMARY KEY NOT NULL,\n  \"slug\" TEXT NOT NULL,\n  \"context\" TEXT NOT NULL DEFAULT '',\n  \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"tenant_id\" UUID NOT NULL,\n  \"assistance_request_id\" UUID NOT NULL,\n  \"prior_classification\" TEXT,\n  \"resulting_classification\" TEXT,\n  \"actor_ref\" TEXT,\n  \"reason\" TEXT,\n  \"resulting_links\" TEXT,\n  \"occurred_at\" TIMESTAMP\n);",
        "columns": {
          "id": {
            "type": "UUID",
            "primaryKey": true,
            "referenceKind": "id",
            "notNull": true
          },
          "slug": {
            "type": "TEXT",
            "notNull": true
          },
          "context": {
            "type": "TEXT",
            "notNull": true,
            "default": ""
          },
          "created_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "updated_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": true,
            "unique": false
          },
          "assistance_request_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": true,
            "unique": false,
            "foreignKey": {
              "table": "assistance_requests",
              "column": "id",
              "onDelete": "NO ACTION",
              "onUpdate": "CASCADE"
            }
          },
          "prior_classification": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "resulting_classification": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "actor_ref": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "reason": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "resulting_links": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "occurred_at": {
            "type": "TIMESTAMP",
            "notNull": false,
            "unique": false
          }
        },
        "indexes": [
          {
            "name": "assistance_request_events_slug_context_idx",
            "columns": [
              "tenant_id",
              "slug",
              "context"
            ],
            "unique": true
          },
          {
            "name": "assistance_request_events_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          },
          {
            "name": "assistance_request_events_assistance_request_id_idx",
            "columns": [
              "assistance_request_id"
            ]
          }
        ],
        "version": "bcc95ebe"
      },
      "importPath": "@happyvertical/smrt-projects"
    },
    "@happyvertical/smrt-projects:ServiceTimeEntry": {
      "name": "servicetimeentry",
      "className": "ServiceTimeEntry",
      "qualifiedName": "@happyvertical/smrt-projects:ServiceTimeEntry",
      "collection": "servicetimeentries",
      "filePath": "/home/runner/work/smrt/smrt/packages/projects/src/models/service-evidence.ts",
      "packageName": "@happyvertical/smrt-projects",
      "fields": {
        "tenantId": {
          "type": "text",
          "required": false,
          "_meta": {
            "sqlType": "UUID",
            "nullable": true,
            "__tenancy": {
              "isTenantIdField": true,
              "autoFilter": true,
              "required": false,
              "autoPopulate": true,
              "nullable": true,
              "mode": "optional",
              "field": "tenantId",
              "allowSuperAdminBypass": false
            }
          }
        },
        "caseId": {
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-support:SupportCase",
          "_meta": {
            "nullable": true
          }
        },
        "workRefType": {
          "type": "text",
          "required": false,
          "_meta": {
            "nullable": true
          }
        },
        "workRefId": {
          "type": "text",
          "required": false,
          "_meta": {
            "nullable": true
          }
        },
        "specialistId": {
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-support:SupportSpecialist",
          "_meta": {
            "nullable": true
          }
        },
        "participantKind": {
          "type": "text",
          "required": false,
          "_meta": {}
        },
        "participantProfileId": {
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-profiles:Profile",
          "_meta": {
            "nullable": true
          }
        },
        "agentRef": {
          "type": "text",
          "required": false,
          "_meta": {}
        },
        "source": {
          "type": "text",
          "required": false,
          "_meta": {}
        },
        "description": {
          "type": "text",
          "required": false,
          "_meta": {}
        },
        "startedAt": {
          "type": "datetime",
          "required": false
        },
        "endedAt": {
          "type": "datetime",
          "required": false
        },
        "durationSeconds": {
          "type": "integer",
          "required": false,
          "default": 0
        },
        "evidence": {
          "type": "text",
          "required": false,
          "_meta": {}
        },
        "status": {
          "type": "text",
          "required": false,
          "_meta": {}
        },
        "submittedAt": {
          "type": "datetime",
          "required": false
        },
        "submittedByProfileId": {
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-profiles:Profile",
          "_meta": {
            "nullable": true
          }
        },
        "approvedAt": {
          "type": "datetime",
          "required": false
        },
        "approvedByProfileId": {
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-profiles:Profile",
          "_meta": {
            "nullable": true
          }
        },
        "approvalPath": {
          "type": "text",
          "required": false,
          "_meta": {}
        },
        "rejectedAt": {
          "type": "datetime",
          "required": false
        },
        "rejectedByProfileId": {
          "type": "crossPackageRef",
          "required": false,
          "related": "@happyvertical/smrt-profiles:Profile",
          "_meta": {
            "nullable": true
          }
        },
        "rejectionReason": {
          "type": "text",
          "required": false,
          "_meta": {}
        },
        "correctionOfId": {
          "type": "foreignKey",
          "required": false,
          "related": "ServiceTimeEntry"
        },
        "metadata": {
          "type": "text",
          "required": false,
          "_meta": {}
        }
      },
      "methods": {
        "getEvidence": {
          "name": "getEvidence",
          "async": false,
          "parameters": [],
          "returnType": "ServiceEvidence[]",
          "isStatic": false,
          "isPublic": true
        },
        "setEvidence": {
          "name": "setEvidence",
          "async": false,
          "parameters": [
            {
              "name": "value",
              "type": "ServiceEvidence[]",
              "optional": false
            }
          ],
          "returnType": "void",
          "isStatic": false,
          "isPublic": true
        },
        "getMetadata": {
          "name": "getMetadata",
          "async": false,
          "parameters": [],
          "returnType": "Record<string, unknown>",
          "isStatic": false,
          "isPublic": true
        },
        "setMetadata": {
          "name": "setMetadata",
          "async": false,
          "parameters": [
            {
              "name": "value",
              "type": "Record<string, unknown>",
              "optional": false
            }
          ],
          "returnType": "void",
          "isStatic": false,
          "isPublic": true
        },
        "durationHours": {
          "name": "durationHours",
          "async": false,
          "parameters": [],
          "returnType": "number",
          "isStatic": false,
          "isPublic": true
        },
        "initialize": {
          "name": "initialize",
          "async": true,
          "parameters": [],
          "returnType": "Promise<this>",
          "isStatic": false,
          "isPublic": true
        },
        "save": {
          "name": "save",
          "async": true,
          "parameters": [],
          "returnType": "Promise<this>",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "tableName": "service_time_entries",
        "api": {
          "include": [
            "list",
            "get"
          ]
        },
        "cli": {
          "include": [
            "list",
            "get"
          ]
        },
        "mcp": {
          "include": [
            "list",
            "get"
          ]
        },
        "tenantScoped": {
          "mode": "optional"
        },
        "conflictColumns": [
          "tenant_id",
          "slug",
          "context"
        ]
      },
      "extends": "SmrtObject",
      "exportName": "ServiceTimeEntry",
      "collectionExportName": "ServiceTimeEntryCollection",
      "schema": {
        "tableName": "service_time_entries",
        "ddl": "CREATE TABLE IF NOT EXISTS \"service_time_entries\" (\n  \"id\" UUID PRIMARY KEY NOT NULL,\n  \"slug\" TEXT NOT NULL,\n  \"context\" TEXT NOT NULL DEFAULT '',\n  \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"tenant_id\" UUID,\n  \"case_id\" UUID,\n  \"work_ref_type\" TEXT,\n  \"work_ref_id\" TEXT,\n  \"specialist_id\" UUID,\n  \"participant_kind\" TEXT,\n  \"participant_profile_id\" UUID,\n  \"agent_ref\" TEXT,\n  \"source\" TEXT,\n  \"description\" TEXT,\n  \"started_at\" TIMESTAMP,\n  \"ended_at\" TIMESTAMP,\n  \"duration_seconds\" INTEGER DEFAULT 0,\n  \"evidence\" TEXT,\n  \"status\" TEXT,\n  \"submitted_at\" TIMESTAMP,\n  \"submitted_by_profile_id\" UUID,\n  \"approved_at\" TIMESTAMP,\n  \"approved_by_profile_id\" UUID,\n  \"approval_path\" TEXT,\n  \"rejected_at\" TIMESTAMP,\n  \"rejected_by_profile_id\" UUID,\n  \"rejection_reason\" TEXT,\n  \"correction_of_id\" UUID,\n  \"metadata\" TEXT\n);",
        "columns": {
          "id": {
            "type": "UUID",
            "primaryKey": true,
            "referenceKind": "id",
            "notNull": true
          },
          "slug": {
            "type": "TEXT",
            "notNull": true
          },
          "context": {
            "type": "TEXT",
            "notNull": true,
            "default": ""
          },
          "created_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "updated_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": false,
            "unique": false
          },
          "case_id": {
            "type": "UUID",
            "referenceKind": "crossPackageRef",
            "notNull": false,
            "unique": false
          },
          "work_ref_type": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "work_ref_id": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "specialist_id": {
            "type": "UUID",
            "referenceKind": "crossPackageRef",
            "notNull": false,
            "unique": false
          },
          "participant_kind": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "participant_profile_id": {
            "type": "UUID",
            "referenceKind": "crossPackageRef",
            "notNull": false,
            "unique": false
          },
          "agent_ref": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "source": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "description": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "started_at": {
            "type": "TIMESTAMP",
            "notNull": false,
            "unique": false
          },
          "ended_at": {
            "type": "TIMESTAMP",
            "notNull": false,
            "unique": false
          },
          "duration_seconds": {
            "type": "INTEGER",
            "notNull": false,
            "unique": false,
            "default": 0
          },
          "evidence": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "status": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "submitted_at": {
            "type": "TIMESTAMP",
            "notNull": false,
            "unique": false
          },
          "submitted_by_profile_id": {
            "type": "UUID",
            "referenceKind": "crossPackageRef",
            "notNull": false,
            "unique": false
          },
          "approved_at": {
            "type": "TIMESTAMP",
            "notNull": false,
            "unique": false
          },
          "approved_by_profile_id": {
            "type": "UUID",
            "referenceKind": "crossPackageRef",
            "notNull": false,
            "unique": false
          },
          "approval_path": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "rejected_at": {
            "type": "TIMESTAMP",
            "notNull": false,
            "unique": false
          },
          "rejected_by_profile_id": {
            "type": "UUID",
            "referenceKind": "crossPackageRef",
            "notNull": false,
            "unique": false
          },
          "rejection_reason": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "correction_of_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false,
            "unique": false,
            "foreignKey": {
              "table": "service_time_entries",
              "column": "id",
              "onDelete": "NO ACTION",
              "onUpdate": "CASCADE"
            }
          },
          "metadata": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          }
        },
        "indexes": [
          {
            "name": "service_time_entries_slug_context_idx",
            "columns": [
              "tenant_id",
              "slug",
              "context"
            ],
            "unique": true,
            "nullsNotDistinct": true
          },
          {
            "name": "service_time_entries_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          },
          {
            "name": "service_time_entries_case_id_idx",
            "columns": [
              "case_id"
            ]
          },
          {
            "name": "service_time_entries_specialist_id_idx",
            "columns": [
              "specialist_id"
            ]
          },
          {
            "name": "service_time_entries_participant_profile_id_idx",
            "columns": [
              "participant_profile_id"
            ]
          },
          {
            "name": "service_time_entries_submitted_by_profile_id_idx",
            "columns": [
              "submitted_by_profile_id"
            ]
          },
          {
            "name": "service_time_entries_approved_by_profile_id_idx",
            "columns": [
              "approved_by_profile_id"
            ]
          },
          {
            "name": "service_time_entries_rejected_by_profile_id_idx",
            "columns": [
              "rejected_by_profile_id"
            ]
          },
          {
            "name": "service_time_entries_correction_of_id_idx",
            "columns": [
              "correction_of_id"
            ]
          }
        ],
        "version": "f0968f50"
      },
      "importPath": "@happyvertical/smrt-projects"
    },
    "@happyvertical/smrt-projects:ServiceChargeSnapshot": {
      "name": "servicechargesnapshot",
      "className": "ServiceChargeSnapshot",
      "qualifiedName": "@happyvertical/smrt-projects:ServiceChargeSnapshot",
      "collection": "servicechargesnapshots",
      "filePath": "/home/runner/work/smrt/smrt/packages/projects/src/models/service-evidence.ts",
      "packageName": "@happyvertical/smrt-projects",
      "fields": {
        "tenantId": {
          "type": "text",
          "required": false,
          "_meta": {
            "sqlType": "UUID",
            "nullable": true,
            "__tenancy": {
              "isTenantIdField": true,
              "autoFilter": true,
              "required": false,
              "autoPopulate": true,
              "nullable": true,
              "mode": "optional",
              "field": "tenantId",
              "allowSuperAdminBypass": false
            }
          }
        },
        "timeEntryId": {
          "type": "foreignKey",
          "required": true,
          "related": "ServiceTimeEntry",
          "_meta": {
            "required": true
          }
        },
        "amount": {
          "type": "integer",
          "required": false,
          "default": 0
        },
        "currency": {
          "type": "text",
          "required": false,
          "_meta": {}
        },
        "pricingVersion": {
          "type": "text",
          "required": false,
          "_meta": {}
        },
        "strategy": {
          "type": "text",
          "required": false,
          "_meta": {}
        },
        "rateSnapshot": {
          "type": "text",
          "required": false,
          "_meta": {}
        },
        "sourceChargeRef": {
          "type": "text",
          "required": false,
          "_meta": {}
        },
        "createdAt": {
          "type": "datetime",
          "required": false
        }
      },
      "methods": {
        "initialize": {
          "name": "initialize",
          "async": true,
          "parameters": [],
          "returnType": "Promise<this>",
          "isStatic": false,
          "isPublic": true
        },
        "save": {
          "name": "save",
          "async": true,
          "parameters": [],
          "returnType": "Promise<this>",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "tableName": "service_charge_snapshots",
        "conflictColumns": [
          "time_entry_id"
        ],
        "api": {
          "include": [
            "list",
            "get"
          ]
        },
        "cli": {
          "include": [
            "list",
            "get"
          ]
        },
        "mcp": {
          "include": [
            "list",
            "get"
          ]
        },
        "tenantScoped": {
          "mode": "optional"
        }
      },
      "extends": "SmrtObject",
      "exportName": "ServiceChargeSnapshot",
      "collectionExportName": "ServiceChargeSnapshotCollection",
      "validationRules": [
        {
          "field": "timeEntryId",
          "rule": "required",
          "fieldType": "foreignKey"
        }
      ],
      "schema": {
        "tableName": "service_charge_snapshots",
        "ddl": "CREATE TABLE IF NOT EXISTS \"service_charge_snapshots\" (\n  \"id\" UUID PRIMARY KEY NOT NULL,\n  \"slug\" TEXT NOT NULL,\n  \"context\" TEXT NOT NULL DEFAULT '',\n  \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"tenant_id\" UUID,\n  \"time_entry_id\" UUID NOT NULL,\n  \"amount\" INTEGER DEFAULT 0,\n  \"currency\" TEXT,\n  \"pricing_version\" TEXT,\n  \"strategy\" TEXT,\n  \"rate_snapshot\" TEXT,\n  \"source_charge_ref\" TEXT\n);",
        "columns": {
          "id": {
            "type": "UUID",
            "primaryKey": true,
            "referenceKind": "id",
            "notNull": true
          },
          "slug": {
            "type": "TEXT",
            "notNull": true
          },
          "context": {
            "type": "TEXT",
            "notNull": true,
            "default": ""
          },
          "created_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "updated_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": false,
            "unique": false
          },
          "time_entry_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": true,
            "unique": false,
            "foreignKey": {
              "table": "service_time_entries",
              "column": "id",
              "onDelete": "CASCADE",
              "onUpdate": "CASCADE"
            }
          },
          "amount": {
            "type": "INTEGER",
            "notNull": false,
            "unique": false,
            "default": 0
          },
          "currency": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "pricing_version": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "strategy": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "rate_snapshot": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "source_charge_ref": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          }
        },
        "indexes": [
          {
            "name": "service_charge_snapshots_time_entry_id_idx",
            "columns": [
              "time_entry_id"
            ],
            "unique": true
          },
          {
            "name": "service_charge_snapshots_slug_context_idx",
            "columns": [
              "slug",
              "context"
            ]
          },
          {
            "name": "service_charge_snapshots_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          }
        ],
        "version": "95a934aa"
      },
      "importPath": "@happyvertical/smrt-projects"
    },
    "@happyvertical/smrt-projects:ServiceCompensationSnapshot": {
      "name": "servicecompensationsnapshot",
      "className": "ServiceCompensationSnapshot",
      "qualifiedName": "@happyvertical/smrt-projects:ServiceCompensationSnapshot",
      "collection": "servicecompensationsnapshots",
      "filePath": "/home/runner/work/smrt/smrt/packages/projects/src/models/service-evidence.ts",
      "packageName": "@happyvertical/smrt-projects",
      "fields": {
        "tenantId": {
          "type": "text",
          "required": false,
          "_meta": {
            "sqlType": "UUID",
            "nullable": true,
            "__tenancy": {
              "isTenantIdField": true,
              "autoFilter": true,
              "required": false,
              "autoPopulate": true,
              "nullable": true,
              "mode": "optional",
              "field": "tenantId",
              "allowSuperAdminBypass": false
            }
          }
        },
        "timeEntryId": {
          "type": "foreignKey",
          "required": true,
          "related": "ServiceTimeEntry",
          "_meta": {
            "required": true
          }
        },
        "amount": {
          "type": "integer",
          "required": false,
          "default": 0
        },
        "currency": {
          "type": "text",
          "required": false,
          "_meta": {}
        },
        "termsVersion": {
          "type": "text",
          "required": false,
          "_meta": {}
        },
        "rateSnapshot": {
          "type": "text",
          "required": false,
          "_meta": {}
        },
        "createdAt": {
          "type": "datetime",
          "required": false
        }
      },
      "methods": {
        "initialize": {
          "name": "initialize",
          "async": true,
          "parameters": [],
          "returnType": "Promise<this>",
          "isStatic": false,
          "isPublic": true
        },
        "save": {
          "name": "save",
          "async": true,
          "parameters": [],
          "returnType": "Promise<this>",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "tableName": "service_compensation_snapshots",
        "conflictColumns": [
          "time_entry_id"
        ],
        "api": {
          "include": [
            "list",
            "get"
          ]
        },
        "cli": {
          "include": [
            "list",
            "get"
          ]
        },
        "mcp": {
          "include": [
            "list",
            "get"
          ]
        },
        "tenantScoped": {
          "mode": "optional"
        }
      },
      "extends": "SmrtObject",
      "exportName": "ServiceCompensationSnapshot",
      "collectionExportName": "ServiceCompensationSnapshotCollection",
      "validationRules": [
        {
          "field": "timeEntryId",
          "rule": "required",
          "fieldType": "foreignKey"
        }
      ],
      "schema": {
        "tableName": "service_compensation_snapshots",
        "ddl": "CREATE TABLE IF NOT EXISTS \"service_compensation_snapshots\" (\n  \"id\" UUID PRIMARY KEY NOT NULL,\n  \"slug\" TEXT NOT NULL,\n  \"context\" TEXT NOT NULL DEFAULT '',\n  \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"tenant_id\" UUID,\n  \"time_entry_id\" UUID NOT NULL,\n  \"amount\" INTEGER DEFAULT 0,\n  \"currency\" TEXT,\n  \"terms_version\" TEXT,\n  \"rate_snapshot\" TEXT\n);",
        "columns": {
          "id": {
            "type": "UUID",
            "primaryKey": true,
            "referenceKind": "id",
            "notNull": true
          },
          "slug": {
            "type": "TEXT",
            "notNull": true
          },
          "context": {
            "type": "TEXT",
            "notNull": true,
            "default": ""
          },
          "created_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "updated_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": false,
            "unique": false
          },
          "time_entry_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": true,
            "unique": false,
            "foreignKey": {
              "table": "service_time_entries",
              "column": "id",
              "onDelete": "CASCADE",
              "onUpdate": "CASCADE"
            }
          },
          "amount": {
            "type": "INTEGER",
            "notNull": false,
            "unique": false,
            "default": 0
          },
          "currency": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "terms_version": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "rate_snapshot": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          }
        },
        "indexes": [
          {
            "name": "service_compensation_snapshots_time_entry_id_idx",
            "columns": [
              "time_entry_id"
            ],
            "unique": true
          },
          {
            "name": "service_compensation_snapshots_slug_context_idx",
            "columns": [
              "slug",
              "context"
            ]
          },
          {
            "name": "service_compensation_snapshots_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          }
        ],
        "version": "1b3b9cec"
      },
      "importPath": "@happyvertical/smrt-projects"
    },
    "@happyvertical/smrt-projects:ServiceTimeEntryCollection": {
      "name": "servicetimeentrycollection",
      "className": "ServiceTimeEntryCollection",
      "qualifiedName": "@happyvertical/smrt-projects:ServiceTimeEntryCollection",
      "collection": "servicetimeentries",
      "filePath": "/home/runner/work/smrt/smrt/packages/projects/src/models/service-evidence.ts",
      "packageName": "@happyvertical/smrt-projects",
      "fields": {},
      "methods": {
        "forWork": {
          "name": "forWork",
          "async": true,
          "parameters": [
            {
              "name": "workRefType",
              "type": "string",
              "optional": false
            },
            {
              "name": "workRefId",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<ServiceTimeEntry[]>",
          "isStatic": false,
          "isPublic": true
        },
        "forCase": {
          "name": "forCase",
          "async": true,
          "parameters": [
            {
              "name": "caseId",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<ServiceTimeEntry[]>",
          "isStatic": false,
          "isPublic": true
        },
        "forSpecialist": {
          "name": "forSpecialist",
          "async": true,
          "parameters": [
            {
              "name": "specialistId",
              "type": "string",
              "optional": false
            }
          ],
          "returnType": "Promise<ServiceTimeEntry[]>",
          "isStatic": false,
          "isPublic": true
        },
        "pendingApproval": {
          "name": "pendingApproval",
          "async": true,
          "parameters": [],
          "returnType": "Promise<ServiceTimeEntry[]>",
          "isStatic": false,
          "isPublic": true
        }
      },
      "decoratorConfig": {
        "tableName": "service_time_entries"
      },
      "extends": "SmrtCollection",
      "extendsTypeArg": "ServiceTimeEntry",
      "exportName": "ServiceTimeEntryCollection",
      "collectionExportName": "ServiceTimeEntryCollectionCollection",
      "schema": {
        "tableName": "service_time_entries",
        "ddl": "CREATE TABLE IF NOT EXISTS \"service_time_entries\" (\n  \"id\" UUID PRIMARY KEY NOT NULL,\n  \"slug\" TEXT NOT NULL,\n  \"context\" TEXT NOT NULL DEFAULT '',\n  \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"tenant_id\" UUID,\n  \"case_id\" UUID,\n  \"work_ref_type\" TEXT,\n  \"work_ref_id\" TEXT,\n  \"specialist_id\" UUID,\n  \"participant_kind\" TEXT,\n  \"participant_profile_id\" UUID,\n  \"agent_ref\" TEXT,\n  \"source\" TEXT,\n  \"description\" TEXT,\n  \"started_at\" TIMESTAMP,\n  \"ended_at\" TIMESTAMP,\n  \"duration_seconds\" INTEGER DEFAULT 0,\n  \"evidence\" TEXT,\n  \"status\" TEXT,\n  \"submitted_at\" TIMESTAMP,\n  \"submitted_by_profile_id\" UUID,\n  \"approved_at\" TIMESTAMP,\n  \"approved_by_profile_id\" UUID,\n  \"approval_path\" TEXT,\n  \"rejected_at\" TIMESTAMP,\n  \"rejected_by_profile_id\" UUID,\n  \"rejection_reason\" TEXT,\n  \"correction_of_id\" UUID,\n  \"metadata\" TEXT\n);",
        "columns": {
          "id": {
            "type": "UUID",
            "primaryKey": true,
            "referenceKind": "id",
            "notNull": true
          },
          "slug": {
            "type": "TEXT",
            "notNull": true
          },
          "context": {
            "type": "TEXT",
            "notNull": true,
            "default": ""
          },
          "created_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "updated_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": false,
            "unique": false
          },
          "case_id": {
            "type": "UUID",
            "referenceKind": "crossPackageRef",
            "notNull": false,
            "unique": false
          },
          "work_ref_type": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "work_ref_id": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "specialist_id": {
            "type": "UUID",
            "referenceKind": "crossPackageRef",
            "notNull": false,
            "unique": false
          },
          "participant_kind": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "participant_profile_id": {
            "type": "UUID",
            "referenceKind": "crossPackageRef",
            "notNull": false,
            "unique": false
          },
          "agent_ref": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "source": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "description": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "started_at": {
            "type": "TIMESTAMP",
            "notNull": false,
            "unique": false
          },
          "ended_at": {
            "type": "TIMESTAMP",
            "notNull": false,
            "unique": false
          },
          "duration_seconds": {
            "type": "INTEGER",
            "notNull": false,
            "unique": false,
            "default": 0
          },
          "evidence": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "status": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "submitted_at": {
            "type": "TIMESTAMP",
            "notNull": false,
            "unique": false
          },
          "submitted_by_profile_id": {
            "type": "UUID",
            "referenceKind": "crossPackageRef",
            "notNull": false,
            "unique": false
          },
          "approved_at": {
            "type": "TIMESTAMP",
            "notNull": false,
            "unique": false
          },
          "approved_by_profile_id": {
            "type": "UUID",
            "referenceKind": "crossPackageRef",
            "notNull": false,
            "unique": false
          },
          "approval_path": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "rejected_at": {
            "type": "TIMESTAMP",
            "notNull": false,
            "unique": false
          },
          "rejected_by_profile_id": {
            "type": "UUID",
            "referenceKind": "crossPackageRef",
            "notNull": false,
            "unique": false
          },
          "rejection_reason": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "correction_of_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": false,
            "unique": false,
            "foreignKey": {
              "table": "service_time_entries",
              "column": "id",
              "onDelete": "NO ACTION",
              "onUpdate": "CASCADE"
            }
          },
          "metadata": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          }
        },
        "indexes": [
          {
            "name": "service_time_entries_slug_context_idx",
            "columns": [
              "tenant_id",
              "slug",
              "context"
            ],
            "unique": true,
            "nullsNotDistinct": true
          },
          {
            "name": "service_time_entries_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          },
          {
            "name": "service_time_entries_case_id_idx",
            "columns": [
              "case_id"
            ]
          },
          {
            "name": "service_time_entries_specialist_id_idx",
            "columns": [
              "specialist_id"
            ]
          },
          {
            "name": "service_time_entries_participant_profile_id_idx",
            "columns": [
              "participant_profile_id"
            ]
          },
          {
            "name": "service_time_entries_submitted_by_profile_id_idx",
            "columns": [
              "submitted_by_profile_id"
            ]
          },
          {
            "name": "service_time_entries_approved_by_profile_id_idx",
            "columns": [
              "approved_by_profile_id"
            ]
          },
          {
            "name": "service_time_entries_rejected_by_profile_id_idx",
            "columns": [
              "rejected_by_profile_id"
            ]
          },
          {
            "name": "service_time_entries_correction_of_id_idx",
            "columns": [
              "correction_of_id"
            ]
          }
        ],
        "version": "f0968f50"
      },
      "importPath": "@happyvertical/smrt-projects"
    },
    "@happyvertical/smrt-projects:ServiceChargeSnapshotCollection": {
      "name": "servicechargesnapshotcollection",
      "className": "ServiceChargeSnapshotCollection",
      "qualifiedName": "@happyvertical/smrt-projects:ServiceChargeSnapshotCollection",
      "collection": "servicechargesnapshots",
      "filePath": "/home/runner/work/smrt/smrt/packages/projects/src/models/service-evidence.ts",
      "packageName": "@happyvertical/smrt-projects",
      "fields": {},
      "methods": {},
      "decoratorConfig": {
        "tableName": "service_charge_snapshots"
      },
      "extends": "SmrtCollection",
      "extendsTypeArg": "ServiceChargeSnapshot",
      "exportName": "ServiceChargeSnapshotCollection",
      "collectionExportName": "ServiceChargeSnapshotCollectionCollection",
      "schema": {
        "tableName": "service_charge_snapshots",
        "ddl": "CREATE TABLE IF NOT EXISTS \"service_charge_snapshots\" (\n  \"id\" UUID PRIMARY KEY NOT NULL,\n  \"slug\" TEXT NOT NULL,\n  \"context\" TEXT NOT NULL DEFAULT '',\n  \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"tenant_id\" UUID,\n  \"time_entry_id\" UUID NOT NULL,\n  \"amount\" INTEGER DEFAULT 0,\n  \"currency\" TEXT,\n  \"pricing_version\" TEXT,\n  \"strategy\" TEXT,\n  \"rate_snapshot\" TEXT,\n  \"source_charge_ref\" TEXT\n);",
        "columns": {
          "id": {
            "type": "UUID",
            "primaryKey": true,
            "referenceKind": "id",
            "notNull": true
          },
          "slug": {
            "type": "TEXT",
            "notNull": true
          },
          "context": {
            "type": "TEXT",
            "notNull": true,
            "default": ""
          },
          "created_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "updated_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": false,
            "unique": false
          },
          "time_entry_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": true,
            "unique": false,
            "foreignKey": {
              "table": "service_time_entries",
              "column": "id",
              "onDelete": "CASCADE",
              "onUpdate": "CASCADE"
            }
          },
          "amount": {
            "type": "INTEGER",
            "notNull": false,
            "unique": false,
            "default": 0
          },
          "currency": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "pricing_version": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "strategy": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "rate_snapshot": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "source_charge_ref": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          }
        },
        "indexes": [
          {
            "name": "service_charge_snapshots_time_entry_id_idx",
            "columns": [
              "time_entry_id"
            ],
            "unique": true
          },
          {
            "name": "service_charge_snapshots_slug_context_idx",
            "columns": [
              "slug",
              "context"
            ]
          },
          {
            "name": "service_charge_snapshots_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          }
        ],
        "version": "95a934aa"
      },
      "importPath": "@happyvertical/smrt-projects"
    },
    "@happyvertical/smrt-projects:ServiceCompensationSnapshotCollection": {
      "name": "servicecompensationsnapshotcollection",
      "className": "ServiceCompensationSnapshotCollection",
      "qualifiedName": "@happyvertical/smrt-projects:ServiceCompensationSnapshotCollection",
      "collection": "servicecompensationsnapshots",
      "filePath": "/home/runner/work/smrt/smrt/packages/projects/src/models/service-evidence.ts",
      "packageName": "@happyvertical/smrt-projects",
      "fields": {},
      "methods": {},
      "decoratorConfig": {
        "tableName": "service_compensation_snapshots"
      },
      "extends": "SmrtCollection",
      "extendsTypeArg": "ServiceCompensationSnapshot",
      "exportName": "ServiceCompensationSnapshotCollection",
      "collectionExportName": "ServiceCompensationSnapshotCollectionCollection",
      "schema": {
        "tableName": "service_compensation_snapshots",
        "ddl": "CREATE TABLE IF NOT EXISTS \"service_compensation_snapshots\" (\n  \"id\" UUID PRIMARY KEY NOT NULL,\n  \"slug\" TEXT NOT NULL,\n  \"context\" TEXT NOT NULL DEFAULT '',\n  \"created_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"updated_at\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\n  \"tenant_id\" UUID,\n  \"time_entry_id\" UUID NOT NULL,\n  \"amount\" INTEGER DEFAULT 0,\n  \"currency\" TEXT,\n  \"terms_version\" TEXT,\n  \"rate_snapshot\" TEXT\n);",
        "columns": {
          "id": {
            "type": "UUID",
            "primaryKey": true,
            "referenceKind": "id",
            "notNull": true
          },
          "slug": {
            "type": "TEXT",
            "notNull": true
          },
          "context": {
            "type": "TEXT",
            "notNull": true,
            "default": ""
          },
          "created_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "updated_at": {
            "type": "TIMESTAMP",
            "notNull": true,
            "default": "current_timestamp"
          },
          "tenant_id": {
            "type": "UUID",
            "referenceKind": "tenantId",
            "notNull": false,
            "unique": false
          },
          "time_entry_id": {
            "type": "UUID",
            "referenceKind": "foreignKey",
            "notNull": true,
            "unique": false,
            "foreignKey": {
              "table": "service_time_entries",
              "column": "id",
              "onDelete": "CASCADE",
              "onUpdate": "CASCADE"
            }
          },
          "amount": {
            "type": "INTEGER",
            "notNull": false,
            "unique": false,
            "default": 0
          },
          "currency": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "terms_version": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          },
          "rate_snapshot": {
            "type": "TEXT",
            "notNull": false,
            "unique": false
          }
        },
        "indexes": [
          {
            "name": "service_compensation_snapshots_time_entry_id_idx",
            "columns": [
              "time_entry_id"
            ],
            "unique": true
          },
          {
            "name": "service_compensation_snapshots_slug_context_idx",
            "columns": [
              "slug",
              "context"
            ]
          },
          {
            "name": "service_compensation_snapshots_tenant_id_created_at_idx",
            "columns": [
              "tenant_id",
              "created_at"
            ]
          }
        ],
        "version": "1b3b9cec"
      },
      "importPath": "@happyvertical/smrt-projects"
    }
  },
  "moduleType": "smrt",
  "smrtDependencies": [
    "@happyvertical/smrt-core",
    "@happyvertical/smrt-prompts",
    "@happyvertical/smrt-subscriptions",
    "@happyvertical/smrt-tenancy"
  ]
}