@happyvertical/smrt-projects 0.39.1 → 0.39.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -9,7 +9,7 @@ import { getProject } from "@happyvertical/projects";
9
9
  import { getModuleConfig } from "@happyvertical/smrt-config";
10
10
  import { getRepository } from "@happyvertical/repos";
11
11
  //#region src/__smrt-register__.ts
12
- ObjectRegistry.registerPackageManifest(JSON.parse("{\"version\":\"1.0.0\",\"timestamp\":1783729363414,\"packageName\":\"@happyvertical/smrt-projects\",\"packageVersion\":\"0.39.1\",\"objects\":{\"@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}],\"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}],\"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\":\"issue_collections\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"issue_collections\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"}},\"indexes\":[{\"name\":\"issue_collections_id_idx\",\"columns\":[\"id\"]},{\"name\":\"issue_collections_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true}],\"version\":\"93b3c6f0\"}},\"@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}],\"returnType\":\"Promise<Project>\",\"isStatic\":false,\"isPublic\":true},\"syncAll\":{\"name\":\"syncAll\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":true}],\"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\":\"project_collections\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"project_collections\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"}},\"indexes\":[{\"name\":\"project_collections_id_idx\",\"columns\":[\"id\"]},{\"name\":\"project_collections_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true}],\"version\":\"f713c200\"}},\"@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}],\"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},{\"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}],\"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 \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"}},\"indexes\":[{\"name\":\"issues_id_idx\",\"columns\":[\"id\"]},{\"name\":\"issues_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true}],\"version\":\"798511d0\"}},\"@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}],\"returnType\":\"Promise<Repository>\",\"isStatic\":false,\"isPublic\":true},\"syncAll\":{\"name\":\"syncAll\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":true}],\"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\":\"repository_collections\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"repository_collections\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"}},\"indexes\":[{\"name\":\"repository_collections_id_idx\",\"columns\":[\"id\"]},{\"name\":\"repository_collections_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true}],\"version\":\"a9b3565e\"}},\"@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\"}},\"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},\"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_id_idx\",\"columns\":[\"id\"]},{\"name\":\"comments_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true}],\"version\":\"ed899e3f\"}},\"@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\":{\"getAiUsageSnapshot\":{\"name\":\"getAiUsageSnapshot\",\"async\":false,\"parameters\":[],\"returnType\":\"AiUsageSnapshot | undefined\",\"isStatic\":false,\"isPublic\":true},\"resetAiUsage\":{\"name\":\"resetAiUsage\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"listAiUsage\":{\"name\":\"listAiUsage\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiUsageListOptions\",\"optional\":true}],\"returnType\":\"Promise<SmrtAiUsageRecord[]>\",\"isStatic\":false,\"isPublic\":true},\"summarizeAiUsage\":{\"name\":\"summarizeAiUsage\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiUsageSummaryOptions\",\"optional\":true}],\"returnType\":\"Promise<Record<string, AiUsageStats>>\",\"isStatic\":false,\"isPublic\":true},\"destroy\":{\"name\":\"destroy\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"markAsPersisted\":{\"name\":\"markAsPersisted\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"requireInsertOnSave\":{\"name\":\"requireInsertOnSave\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise\",\"isStatic\":false,\"isPublic\":true},\"loadDataFromDb\":{\"name\":\"loadDataFromDb\",\"async\":true,\"parameters\":[{\"name\":\"data\",\"type\":\"Record<string>\",\"optional\":false}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getFields\":{\"name\":\"getFields\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"toJSON\":{\"name\":\"toJSON\",\"async\":false,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"toPlainObject\":{\"name\":\"toPlainObject\",\"async\":false,\"parameters\":[],\"returnType\":\"Record<string>\",\"isStatic\":false,\"isPublic\":true},\"toPublicJSON\":{\"name\":\"toPublicJSON\",\"async\":false,\"parameters\":[{\"name\":\"options\",\"type\":\"PublicJsonOptions\",\"optional\":true}],\"returnType\":\"Record<string>\",\"isStatic\":false,\"isPublic\":true},\"getId\":{\"name\":\"getId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getSlug\":{\"name\":\"getSlug\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getSavedId\":{\"name\":\"getSavedId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"isSaved\":{\"name\":\"isSaved\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"classifyConstraintError\":{\"name\":\"classifyConstraintError\",\"async\":false,\"parameters\":[{\"name\":\"message\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"'unique' | 'not_null' | null\",\"isStatic\":true,\"isPublic\":true},\"loadFromId\":{\"name\":\"loadFromId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"loadFromSlug\":{\"name\":\"loadFromSlug\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"is\":{\"name\":\"is\",\"async\":true,\"parameters\":[{\"name\":\"criteria\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"do\":{\"name\":\"do\",\"async\":true,\"parameters\":[{\"name\":\"instructions\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"describe\":{\"name\":\"describe\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"delete\":{\"name\":\"delete\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"isRelatedLoaded\":{\"name\":\"isRelatedLoaded\",\"async\":false,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"_setLoadedRelationship\":{\"name\":\"_setLoadedRelationship\",\"async\":false,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"value\",\"type\":\"any\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"loadRelated\":{\"name\":\"loadRelated\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"loadRelatedMany\":{\"name\":\"loadRelatedMany\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any[]>\",\"isStatic\":false,\"isPublic\":true},\"getRelated\":{\"name\":\"getRelated\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"getAvailableTools\":{\"name\":\"getAvailableTools\",\"async\":false,\"parameters\":[],\"returnType\":\"AITool[]\",\"isStatic\":false,\"isPublic\":true},\"executeToolCall\":{\"name\":\"executeToolCall\",\"async\":true,\"parameters\":[{\"name\":\"toolCall\",\"type\":\"ToolCall\",\"optional\":false}],\"returnType\":\"Promise<ToolCallResult>\",\"isStatic\":false,\"isPublic\":true},\"remember\":{\"name\":\"remember\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"recall\":{\"name\":\"recall\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise\",\"isStatic\":false,\"isPublic\":true},\"recallAll\":{\"name\":\"recallAll\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":true}],\"returnType\":\"Promise<Map<string>>\",\"isStatic\":false,\"isPublic\":true},\"forget\":{\"name\":\"forget\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"forgetScope\":{\"name\":\"forgetScope\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"generateEmbeddings\":{\"name\":\"generateEmbeddings\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"GenerateEmbeddingsOptions\",\"optional\":true}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"getEmbedding\":{\"name\":\"getEmbedding\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"model\",\"type\":\"string\",\"optional\":true}],\"returnType\":\"Promise<number[] | null>\",\"isStatic\":false,\"isPublic\":true},\"hasStaleEmbeddings\":{\"name\":\"hasStaleEmbeddings\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<boolean>\",\"isStatic\":false,\"isPublic\":true},\"clearEmbeddings\":{\"name\":\"clearEmbeddings\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"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\",\"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\"}},\"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},\"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_id_idx\",\"columns\":[\"id\"]},{\"name\":\"issues_slug_context_meta_type_idx\",\"columns\":[\"slug\",\"context\",\"_meta_type\"],\"unique\":true},{\"name\":\"issues_meta_type_idx\",\"columns\":[\"_meta_type\"]}],\"version\":\"e187bb4a\"}},\"@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},\"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_id_idx\",\"columns\":[\"id\"]},{\"name\":\"labels_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true}],\"version\":\"698e39f8\"}},\"@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\",\"isStatic\":false,\"isPublic\":true},\"addItem\":{\"name\":\"addItem\",\"async\":true,\"parameters\":[{\"name\":\"item\",\"type\":\"Issue | PullRequest\",\"optional\":false}],\"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\":\"any\",\"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},{\"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\"}},\"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_id_idx\",\"columns\":[\"id\"]},{\"name\":\"projects_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true}],\"version\":\"2e8c344a\"}},\"@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\":{\"getAiUsageSnapshot\":{\"name\":\"getAiUsageSnapshot\",\"async\":false,\"parameters\":[],\"returnType\":\"AiUsageSnapshot | undefined\",\"isStatic\":false,\"isPublic\":true},\"resetAiUsage\":{\"name\":\"resetAiUsage\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"listAiUsage\":{\"name\":\"listAiUsage\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiUsageListOptions\",\"optional\":true}],\"returnType\":\"Promise<SmrtAiUsageRecord[]>\",\"isStatic\":false,\"isPublic\":true},\"summarizeAiUsage\":{\"name\":\"summarizeAiUsage\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiUsageSummaryOptions\",\"optional\":true}],\"returnType\":\"Promise<Record<string, AiUsageStats>>\",\"isStatic\":false,\"isPublic\":true},\"destroy\":{\"name\":\"destroy\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"markAsPersisted\":{\"name\":\"markAsPersisted\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"requireInsertOnSave\":{\"name\":\"requireInsertOnSave\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise\",\"isStatic\":false,\"isPublic\":true},\"loadDataFromDb\":{\"name\":\"loadDataFromDb\",\"async\":true,\"parameters\":[{\"name\":\"data\",\"type\":\"Record<string>\",\"optional\":false}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getFields\":{\"name\":\"getFields\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"toJSON\":{\"name\":\"toJSON\",\"async\":false,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"toPlainObject\":{\"name\":\"toPlainObject\",\"async\":false,\"parameters\":[],\"returnType\":\"Record<string>\",\"isStatic\":false,\"isPublic\":true},\"toPublicJSON\":{\"name\":\"toPublicJSON\",\"async\":false,\"parameters\":[{\"name\":\"options\",\"type\":\"PublicJsonOptions\",\"optional\":true}],\"returnType\":\"Record<string>\",\"isStatic\":false,\"isPublic\":true},\"getId\":{\"name\":\"getId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getSlug\":{\"name\":\"getSlug\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getSavedId\":{\"name\":\"getSavedId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"isSaved\":{\"name\":\"isSaved\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"classifyConstraintError\":{\"name\":\"classifyConstraintError\",\"async\":false,\"parameters\":[{\"name\":\"message\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"'unique' | 'not_null' | null\",\"isStatic\":true,\"isPublic\":true},\"loadFromId\":{\"name\":\"loadFromId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"loadFromSlug\":{\"name\":\"loadFromSlug\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"is\":{\"name\":\"is\",\"async\":true,\"parameters\":[{\"name\":\"criteria\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"do\":{\"name\":\"do\",\"async\":true,\"parameters\":[{\"name\":\"instructions\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"describe\":{\"name\":\"describe\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"delete\":{\"name\":\"delete\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"isRelatedLoaded\":{\"name\":\"isRelatedLoaded\",\"async\":false,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"_setLoadedRelationship\":{\"name\":\"_setLoadedRelationship\",\"async\":false,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"value\",\"type\":\"any\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"loadRelated\":{\"name\":\"loadRelated\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"loadRelatedMany\":{\"name\":\"loadRelatedMany\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any[]>\",\"isStatic\":false,\"isPublic\":true},\"getRelated\":{\"name\":\"getRelated\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"getAvailableTools\":{\"name\":\"getAvailableTools\",\"async\":false,\"parameters\":[],\"returnType\":\"AITool[]\",\"isStatic\":false,\"isPublic\":true},\"executeToolCall\":{\"name\":\"executeToolCall\",\"async\":true,\"parameters\":[{\"name\":\"toolCall\",\"type\":\"ToolCall\",\"optional\":false}],\"returnType\":\"Promise<ToolCallResult>\",\"isStatic\":false,\"isPublic\":true},\"remember\":{\"name\":\"remember\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"recall\":{\"name\":\"recall\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise\",\"isStatic\":false,\"isPublic\":true},\"recallAll\":{\"name\":\"recallAll\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":true}],\"returnType\":\"Promise<Map<string>>\",\"isStatic\":false,\"isPublic\":true},\"forget\":{\"name\":\"forget\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"forgetScope\":{\"name\":\"forgetScope\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"generateEmbeddings\":{\"name\":\"generateEmbeddings\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"GenerateEmbeddingsOptions\",\"optional\":true}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"getEmbedding\":{\"name\":\"getEmbedding\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"model\",\"type\":\"string\",\"optional\":true}],\"returnType\":\"Promise<number[] | null>\",\"isStatic\":false,\"isPublic\":true},\"hasStaleEmbeddings\":{\"name\":\"hasStaleEmbeddings\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<boolean>\",\"isStatic\":false,\"isPublic\":true},\"clearEmbeddings\":{\"name\":\"clearEmbeddings\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"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\",\"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},\"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_id_idx\",\"columns\":[\"id\"]},{\"name\":\"issues_slug_context_meta_type_idx\",\"columns\":[\"slug\",\"context\",\"_meta_type\"],\"unique\":true},{\"name\":\"issues_meta_type_idx\",\"columns\":[\"_meta_type\"]}],\"version\":\"f42d9cf0\"}},\"@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\",\"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\"}},\"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_id_idx\",\"columns\":[\"id\"]},{\"name\":\"repositories_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true}],\"version\":\"c302a5e5\"}}},\"moduleType\":\"smrt\",\"smrtDependencies\":[\"@happyvertical/smrt-core\",\"@happyvertical/smrt-prompts\",\"@happyvertical/smrt-tenancy\"]}"));
12
+ ObjectRegistry.registerPackageManifest(JSON.parse("{\"version\":\"1.0.0\",\"timestamp\":1783741866436,\"packageName\":\"@happyvertical/smrt-projects\",\"packageVersion\":\"0.39.2\",\"objects\":{\"@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}],\"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}],\"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\":\"issue_collections\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"issue_collections\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"}},\"indexes\":[{\"name\":\"issue_collections_id_idx\",\"columns\":[\"id\"]},{\"name\":\"issue_collections_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true}],\"version\":\"93b3c6f0\"}},\"@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}],\"returnType\":\"Promise<Project>\",\"isStatic\":false,\"isPublic\":true},\"syncAll\":{\"name\":\"syncAll\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":true}],\"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\":\"project_collections\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"project_collections\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"}},\"indexes\":[{\"name\":\"project_collections_id_idx\",\"columns\":[\"id\"]},{\"name\":\"project_collections_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true}],\"version\":\"f713c200\"}},\"@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}],\"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},{\"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}],\"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 \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"}},\"indexes\":[{\"name\":\"issues_id_idx\",\"columns\":[\"id\"]},{\"name\":\"issues_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true}],\"version\":\"798511d0\"}},\"@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}],\"returnType\":\"Promise<Repository>\",\"isStatic\":false,\"isPublic\":true},\"syncAll\":{\"name\":\"syncAll\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":true}],\"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\":\"repository_collections\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"repository_collections\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"}},\"indexes\":[{\"name\":\"repository_collections_id_idx\",\"columns\":[\"id\"]},{\"name\":\"repository_collections_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true}],\"version\":\"a9b3565e\"}},\"@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\"}},\"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},\"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_id_idx\",\"columns\":[\"id\"]},{\"name\":\"comments_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true}],\"version\":\"ed899e3f\"}},\"@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\":{\"getAiUsageSnapshot\":{\"name\":\"getAiUsageSnapshot\",\"async\":false,\"parameters\":[],\"returnType\":\"AiUsageSnapshot | undefined\",\"isStatic\":false,\"isPublic\":true},\"resetAiUsage\":{\"name\":\"resetAiUsage\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"listAiUsage\":{\"name\":\"listAiUsage\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiUsageListOptions\",\"optional\":true}],\"returnType\":\"Promise<SmrtAiUsageRecord[]>\",\"isStatic\":false,\"isPublic\":true},\"summarizeAiUsage\":{\"name\":\"summarizeAiUsage\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiUsageSummaryOptions\",\"optional\":true}],\"returnType\":\"Promise<Record<string, AiUsageStats>>\",\"isStatic\":false,\"isPublic\":true},\"destroy\":{\"name\":\"destroy\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"markAsPersisted\":{\"name\":\"markAsPersisted\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"requireInsertOnSave\":{\"name\":\"requireInsertOnSave\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise\",\"isStatic\":false,\"isPublic\":true},\"loadDataFromDb\":{\"name\":\"loadDataFromDb\",\"async\":true,\"parameters\":[{\"name\":\"data\",\"type\":\"Record<string>\",\"optional\":false}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getFields\":{\"name\":\"getFields\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"toJSON\":{\"name\":\"toJSON\",\"async\":false,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"toPlainObject\":{\"name\":\"toPlainObject\",\"async\":false,\"parameters\":[],\"returnType\":\"Record<string>\",\"isStatic\":false,\"isPublic\":true},\"toPublicJSON\":{\"name\":\"toPublicJSON\",\"async\":false,\"parameters\":[{\"name\":\"options\",\"type\":\"PublicJsonOptions\",\"optional\":true}],\"returnType\":\"Record<string>\",\"isStatic\":false,\"isPublic\":true},\"getId\":{\"name\":\"getId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getSlug\":{\"name\":\"getSlug\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getSavedId\":{\"name\":\"getSavedId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"isSaved\":{\"name\":\"isSaved\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"classifyConstraintError\":{\"name\":\"classifyConstraintError\",\"async\":false,\"parameters\":[{\"name\":\"message\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"'unique' | 'not_null' | null\",\"isStatic\":true,\"isPublic\":true},\"loadFromId\":{\"name\":\"loadFromId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"loadFromSlug\":{\"name\":\"loadFromSlug\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"is\":{\"name\":\"is\",\"async\":true,\"parameters\":[{\"name\":\"criteria\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"do\":{\"name\":\"do\",\"async\":true,\"parameters\":[{\"name\":\"instructions\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"describe\":{\"name\":\"describe\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"delete\":{\"name\":\"delete\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"isRelatedLoaded\":{\"name\":\"isRelatedLoaded\",\"async\":false,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"_setLoadedRelationship\":{\"name\":\"_setLoadedRelationship\",\"async\":false,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"value\",\"type\":\"any\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"loadRelated\":{\"name\":\"loadRelated\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"loadRelatedMany\":{\"name\":\"loadRelatedMany\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any[]>\",\"isStatic\":false,\"isPublic\":true},\"getRelated\":{\"name\":\"getRelated\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"getAvailableTools\":{\"name\":\"getAvailableTools\",\"async\":false,\"parameters\":[],\"returnType\":\"AITool[]\",\"isStatic\":false,\"isPublic\":true},\"executeToolCall\":{\"name\":\"executeToolCall\",\"async\":true,\"parameters\":[{\"name\":\"toolCall\",\"type\":\"ToolCall\",\"optional\":false}],\"returnType\":\"Promise<ToolCallResult>\",\"isStatic\":false,\"isPublic\":true},\"remember\":{\"name\":\"remember\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"recall\":{\"name\":\"recall\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise\",\"isStatic\":false,\"isPublic\":true},\"recallAll\":{\"name\":\"recallAll\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":true}],\"returnType\":\"Promise<Map<string>>\",\"isStatic\":false,\"isPublic\":true},\"forget\":{\"name\":\"forget\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"forgetScope\":{\"name\":\"forgetScope\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"generateEmbeddings\":{\"name\":\"generateEmbeddings\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"GenerateEmbeddingsOptions\",\"optional\":true}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"getEmbedding\":{\"name\":\"getEmbedding\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"model\",\"type\":\"string\",\"optional\":true}],\"returnType\":\"Promise<number[] | null>\",\"isStatic\":false,\"isPublic\":true},\"hasStaleEmbeddings\":{\"name\":\"hasStaleEmbeddings\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<boolean>\",\"isStatic\":false,\"isPublic\":true},\"clearEmbeddings\":{\"name\":\"clearEmbeddings\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"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\",\"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\"}},\"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},\"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_id_idx\",\"columns\":[\"id\"]},{\"name\":\"issues_slug_context_meta_type_idx\",\"columns\":[\"slug\",\"context\",\"_meta_type\"],\"unique\":true},{\"name\":\"issues_meta_type_idx\",\"columns\":[\"_meta_type\"]}],\"version\":\"e187bb4a\"}},\"@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},\"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_id_idx\",\"columns\":[\"id\"]},{\"name\":\"labels_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true}],\"version\":\"698e39f8\"}},\"@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\",\"isStatic\":false,\"isPublic\":true},\"addItem\":{\"name\":\"addItem\",\"async\":true,\"parameters\":[{\"name\":\"item\",\"type\":\"Issue | PullRequest\",\"optional\":false}],\"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\":\"any\",\"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},{\"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\"}},\"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_id_idx\",\"columns\":[\"id\"]},{\"name\":\"projects_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true}],\"version\":\"2e8c344a\"}},\"@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\":{\"getAiUsageSnapshot\":{\"name\":\"getAiUsageSnapshot\",\"async\":false,\"parameters\":[],\"returnType\":\"AiUsageSnapshot | undefined\",\"isStatic\":false,\"isPublic\":true},\"resetAiUsage\":{\"name\":\"resetAiUsage\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"listAiUsage\":{\"name\":\"listAiUsage\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiUsageListOptions\",\"optional\":true}],\"returnType\":\"Promise<SmrtAiUsageRecord[]>\",\"isStatic\":false,\"isPublic\":true},\"summarizeAiUsage\":{\"name\":\"summarizeAiUsage\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiUsageSummaryOptions\",\"optional\":true}],\"returnType\":\"Promise<Record<string, AiUsageStats>>\",\"isStatic\":false,\"isPublic\":true},\"destroy\":{\"name\":\"destroy\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"markAsPersisted\":{\"name\":\"markAsPersisted\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"requireInsertOnSave\":{\"name\":\"requireInsertOnSave\",\"async\":false,\"parameters\":[],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"initialize\":{\"name\":\"initialize\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise\",\"isStatic\":false,\"isPublic\":true},\"loadDataFromDb\":{\"name\":\"loadDataFromDb\",\"async\":true,\"parameters\":[{\"name\":\"data\",\"type\":\"Record<string>\",\"optional\":false}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getFields\":{\"name\":\"getFields\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"toJSON\":{\"name\":\"toJSON\",\"async\":false,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"toPlainObject\":{\"name\":\"toPlainObject\",\"async\":false,\"parameters\":[],\"returnType\":\"Record<string>\",\"isStatic\":false,\"isPublic\":true},\"toPublicJSON\":{\"name\":\"toPublicJSON\",\"async\":false,\"parameters\":[{\"name\":\"options\",\"type\":\"PublicJsonOptions\",\"optional\":true}],\"returnType\":\"Record<string>\",\"isStatic\":false,\"isPublic\":true},\"getId\":{\"name\":\"getId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getSlug\":{\"name\":\"getSlug\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"getSavedId\":{\"name\":\"getSavedId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"isSaved\":{\"name\":\"isSaved\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"classifyConstraintError\":{\"name\":\"classifyConstraintError\",\"async\":false,\"parameters\":[{\"name\":\"message\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"'unique' | 'not_null' | null\",\"isStatic\":true,\"isPublic\":true},\"loadFromId\":{\"name\":\"loadFromId\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"loadFromSlug\":{\"name\":\"loadFromSlug\",\"async\":true,\"parameters\":[],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"is\":{\"name\":\"is\",\"async\":true,\"parameters\":[{\"name\":\"criteria\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"do\":{\"name\":\"do\",\"async\":true,\"parameters\":[{\"name\":\"instructions\",\"type\":\"string\",\"optional\":false},{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"describe\":{\"name\":\"describe\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"AiOperationOptions\",\"optional\":true}],\"returnType\":\"any\",\"isStatic\":false,\"isPublic\":true},\"delete\":{\"name\":\"delete\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"isRelatedLoaded\":{\"name\":\"isRelatedLoaded\",\"async\":false,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"_setLoadedRelationship\":{\"name\":\"_setLoadedRelationship\",\"async\":false,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"value\",\"type\":\"any\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"loadRelated\":{\"name\":\"loadRelated\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"loadRelatedMany\":{\"name\":\"loadRelatedMany\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any[]>\",\"isStatic\":false,\"isPublic\":true},\"getRelated\":{\"name\":\"getRelated\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"opts\",\"type\":\"LoadRelatedOptions\",\"optional\":true}],\"returnType\":\"Promise<any>\",\"isStatic\":false,\"isPublic\":true},\"getAvailableTools\":{\"name\":\"getAvailableTools\",\"async\":false,\"parameters\":[],\"returnType\":\"AITool[]\",\"isStatic\":false,\"isPublic\":true},\"executeToolCall\":{\"name\":\"executeToolCall\",\"async\":true,\"parameters\":[{\"name\":\"toolCall\",\"type\":\"ToolCall\",\"optional\":false}],\"returnType\":\"Promise<ToolCallResult>\",\"isStatic\":false,\"isPublic\":true},\"remember\":{\"name\":\"remember\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"recall\":{\"name\":\"recall\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise\",\"isStatic\":false,\"isPublic\":true},\"recallAll\":{\"name\":\"recallAll\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":true}],\"returnType\":\"Promise<Map<string>>\",\"isStatic\":false,\"isPublic\":true},\"forget\":{\"name\":\"forget\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"forgetScope\":{\"name\":\"forgetScope\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false}],\"returnType\":\"Promise<number>\",\"isStatic\":false,\"isPublic\":true},\"generateEmbeddings\":{\"name\":\"generateEmbeddings\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"GenerateEmbeddingsOptions\",\"optional\":true}],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"getEmbedding\":{\"name\":\"getEmbedding\",\"async\":true,\"parameters\":[{\"name\":\"fieldName\",\"type\":\"string\",\"optional\":false},{\"name\":\"model\",\"type\":\"string\",\"optional\":true}],\"returnType\":\"Promise<number[] | null>\",\"isStatic\":false,\"isPublic\":true},\"hasStaleEmbeddings\":{\"name\":\"hasStaleEmbeddings\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<boolean>\",\"isStatic\":false,\"isPublic\":true},\"clearEmbeddings\":{\"name\":\"clearEmbeddings\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true},\"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\",\"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},\"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_id_idx\",\"columns\":[\"id\"]},{\"name\":\"issues_slug_context_meta_type_idx\",\"columns\":[\"slug\",\"context\",\"_meta_type\"],\"unique\":true},{\"name\":\"issues_meta_type_idx\",\"columns\":[\"_meta_type\"]}],\"version\":\"f42d9cf0\"}},\"@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\",\"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\"}},\"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_id_idx\",\"columns\":[\"id\"]},{\"name\":\"repositories_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true}],\"version\":\"c302a5e5\"}}},\"moduleType\":\"smrt\",\"smrtDependencies\":[\"@happyvertical/smrt-core\",\"@happyvertical/smrt-prompts\",\"@happyvertical/smrt-tenancy\"]}"));
13
13
  //#endregion
14
14
  //#region src/collections/Issues.ts
15
15
  var Issues_exports = /* @__PURE__ */ __exportAll({ IssueCollection: () => IssueCollection });
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "version": "1.0.0",
3
- "timestamp": 1783729363414,
3
+ "timestamp": 1783741866436,
4
4
  "packageName": "@happyvertical/smrt-projects",
5
- "packageVersion": "0.39.1",
5
+ "packageVersion": "0.39.2",
6
6
  "objects": {
7
7
  "@happyvertical/smrt-projects:IssueCollection": {
8
8
  "name": "issuecollection",
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "generatedAt": "2026-07-11T00:22:43.536Z",
3
+ "generatedAt": "2026-07-11T03:51:09.973Z",
4
4
  "packageName": "@happyvertical/smrt-projects",
5
- "packageVersion": "0.39.1",
5
+ "packageVersion": "0.39.2",
6
6
  "sourceManifestPath": "dist/manifest.json",
7
7
  "agentDocPath": "AGENTS.md",
8
8
  "sourceHashes": {
9
- "manifest": "408a1ac35fd832ade37092cc251f7483c01978fdf052a09f185d348704473f8d",
10
- "packageJson": "fc4bcf99966dbe0a3edc725532c438e3a4e4ccfefb3e6167ddb5ee75ecabf96f",
9
+ "manifest": "5f1cb2a5e976d285552103cfa5fa679d63d4609408f9682bc31566849833985c",
10
+ "packageJson": "820b5b04c75ad5e16145bab2fec4c46a7b1a7a4d0d48c138d9f6911b107b83e3",
11
11
  "agents": "31de38c962634d69c728bab8dff270448a49718fc36ee20b9cd12216cdbed95c"
12
12
  },
13
13
  "exports": [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@happyvertical/smrt-projects",
3
- "version": "0.39.1",
3
+ "version": "0.39.2",
4
4
  "description": "Provider-agnostic project management models (Issues, PRs, Repositories, Projects) for SMRT framework",
5
5
  "type": "module",
6
6
  "smrtRawPrimitives": "strict",
@@ -39,12 +39,12 @@
39
39
  "@happyvertical/repos": "^0.78.0",
40
40
  "@happyvertical/sql": "^0.78.0",
41
41
  "@happyvertical/utils": "^0.78.0",
42
- "@happyvertical/smrt-config": "0.39.1",
43
- "@happyvertical/smrt-core": "0.39.1",
44
- "@happyvertical/smrt-prompts": "0.39.1",
45
- "@happyvertical/smrt-tenancy": "0.39.1",
46
- "@happyvertical/smrt-types": "0.39.1",
47
- "@happyvertical/smrt-ui": "0.39.1"
42
+ "@happyvertical/smrt-config": "0.39.2",
43
+ "@happyvertical/smrt-core": "0.39.2",
44
+ "@happyvertical/smrt-prompts": "0.39.2",
45
+ "@happyvertical/smrt-types": "0.39.2",
46
+ "@happyvertical/smrt-tenancy": "0.39.2",
47
+ "@happyvertical/smrt-ui": "0.39.2"
48
48
  },
49
49
  "peerDependencies": {
50
50
  "svelte": "^5.56.4"
@@ -64,8 +64,8 @@
64
64
  "typescript": "^5.9.3",
65
65
  "vite": "^8.1.3",
66
66
  "vitest": "^4.1.9",
67
- "@happyvertical/smrt-cli": "0.39.1",
68
- "@happyvertical/smrt-vitest": "0.39.1"
67
+ "@happyvertical/smrt-cli": "0.39.2",
68
+ "@happyvertical/smrt-vitest": "0.39.2"
69
69
  },
70
70
  "keywords": [
71
71
  "ai",