@happyvertical/smrt-sites 0.41.0 → 0.42.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { ObjectRegistry, SmrtCollection, SmrtObject, foreignKey, smrt } from "@happyvertical/smrt-core";
2
2
  import { TenantScoped, tenantId } from "@happyvertical/smrt-tenancy";
3
3
  //#region src/__smrt-register__.ts
4
- ObjectRegistry.registerPackageManifest(JSON.parse("{\"version\":\"1.0.0\",\"timestamp\":0,\"packageName\":\"@happyvertical/smrt-sites\",\"packageVersion\":\"0.41.0\",\"objects\":{\"@happyvertical/smrt-sites:Site\":{\"name\":\"site\",\"className\":\"Site\",\"qualifiedName\":\"@happyvertical/smrt-sites:Site\",\"collection\":\"sites\",\"filePath\":\"/home/runner/_work/smrt/smrt/packages/sites/src/models/Site.ts\",\"packageName\":\"@happyvertical/smrt-sites\",\"fields\":{\"tenantId\":{\"type\":\"text\",\"required\":true,\"_meta\":{\"sqlType\":\"UUID\",\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":true,\"autoPopulate\":true,\"nullable\":false,\"mode\":\"required\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"name\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"domain\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"status\":{\"type\":\"text\",\"required\":false,\"default\":\"draft\"},\"tier\":{\"type\":\"text\",\"required\":false,\"default\":\"free\"},\"databaseUrl\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"databaseType\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"portalConfig\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"repositoryUrl\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"templateName\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"provisioningStatus\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"provisionedAt\":{\"type\":\"datetime\",\"required\":false},\"provisioningError\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"metadata\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"createdAt\":{\"type\":\"datetime\",\"required\":false},\"updatedAt\":{\"type\":\"datetime\",\"required\":false}},\"methods\":{\"isActive\":{\"name\":\"isActive\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isReady\":{\"name\":\"isReady\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"getPortalConfig\":{\"name\":\"getPortalConfig\",\"async\":false,\"parameters\":[],\"returnType\":\"SitePortalConfig\",\"isStatic\":false,\"isPublic\":true},\"setPortalConfig\":{\"name\":\"setPortalConfig\",\"async\":false,\"parameters\":[{\"name\":\"config\",\"type\":\"SitePortalConfig\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"getMetadata\":{\"name\":\"getMetadata\",\"async\":false,\"parameters\":[],\"returnType\":\"Record<string>\",\"isStatic\":false,\"isPublic\":true},\"setMetadata\":{\"name\":\"setMetadata\",\"async\":false,\"parameters\":[{\"name\":\"data\",\"type\":\"Record<string>\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"updateMetadata\":{\"name\":\"updateMetadata\",\"async\":false,\"parameters\":[{\"name\":\"updates\",\"type\":\"Record<string>\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tableName\":\"sites\",\"api\":{\"include\":[\"list\",\"get\",\"create\",\"update\",\"delete\"]},\"mcp\":{\"include\":[\"list\",\"get\",\"create\",\"update\"]},\"cli\":true,\"conflictColumns\":[\"tenant_id\",\"domain\"],\"tenantScoped\":{\"mode\":\"required\"}},\"extends\":\"SmrtObject\",\"exportName\":\"Site\",\"collectionExportName\":\"SiteCollection\",\"validationRules\":[{\"field\":\"tenantId\",\"rule\":\"required\",\"fieldType\":\"text\"}],\"schema\":{\"tableName\":\"sites\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"sites\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID NOT NULL,\\n \\\"name\\\" TEXT DEFAULT '',\\n \\\"domain\\\" TEXT DEFAULT '',\\n \\\"status\\\" TEXT DEFAULT 'draft',\\n \\\"tier\\\" TEXT DEFAULT 'free',\\n \\\"database_url\\\" TEXT DEFAULT '',\\n \\\"database_type\\\" TEXT DEFAULT '',\\n \\\"portal_config\\\" TEXT DEFAULT '',\\n \\\"repository_url\\\" TEXT DEFAULT '',\\n \\\"template_name\\\" TEXT DEFAULT '',\\n \\\"provisioning_status\\\" TEXT DEFAULT '',\\n \\\"provisioned_at\\\" TIMESTAMP,\\n \\\"provisioning_error\\\" TEXT DEFAULT '',\\n \\\"metadata\\\" 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\":true,\"unique\":false},\"name\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"domain\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"status\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"draft\"},\"tier\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"free\"},\"database_url\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"database_type\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"portal_config\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"repository_url\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"template_name\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"provisioning_status\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"provisioned_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"provisioning_error\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"metadata\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"sites_tenant_id_domain_idx\",\"columns\":[\"tenant_id\",\"domain\"],\"unique\":true},{\"name\":\"sites_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"sites_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]}],\"version\":\"1845042e\"}},\"@happyvertical/smrt-sites:SiteAgentBinding\":{\"name\":\"siteagentbinding\",\"className\":\"SiteAgentBinding\",\"qualifiedName\":\"@happyvertical/smrt-sites:SiteAgentBinding\",\"collection\":\"siteagentbindings\",\"filePath\":\"/home/runner/_work/smrt/smrt/packages/sites/src/models/SiteAgentBinding.ts\",\"packageName\":\"@happyvertical/smrt-sites\",\"fields\":{\"tenantId\":{\"type\":\"text\",\"required\":true,\"_meta\":{\"sqlType\":\"UUID\",\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":true,\"autoPopulate\":true,\"nullable\":false,\"mode\":\"required\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"siteId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Site\"},\"agentClass\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"enabled\":{\"type\":\"boolean\",\"required\":false,\"default\":true},\"config\":{\"type\":\"json\",\"required\":false,\"default\":{}},\"priority\":{\"type\":\"integer\",\"required\":false,\"default\":0}},\"methods\":{},\"decoratorConfig\":{\"tableName\":\"site_agent_bindings\",\"api\":{\"include\":[\"list\",\"get\",\"create\",\"update\",\"delete\"]},\"cli\":{\"include\":[\"list\",\"get\"]},\"mcp\":{\"include\":[\"list\",\"get\"]},\"conflictColumns\":[\"site_id\",\"agent_class\"],\"tenantScoped\":{\"mode\":\"required\"}},\"extends\":\"SmrtObject\",\"exportName\":\"SiteAgentBinding\",\"collectionExportName\":\"SiteAgentBindingCollection\",\"validationRules\":[{\"field\":\"tenantId\",\"rule\":\"required\",\"fieldType\":\"text\"}],\"schema\":{\"tableName\":\"site_agent_bindings\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"site_agent_bindings\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID NOT NULL,\\n \\\"site_id\\\" UUID,\\n \\\"agent_class\\\" TEXT DEFAULT '',\\n \\\"enabled\\\" BOOLEAN DEFAULT TRUE,\\n \\\"config\\\" JSON DEFAULT '{}',\\n \\\"priority\\\" INTEGER DEFAULT 0\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":true,\"unique\":false},\"site_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false},\"agent_class\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"enabled\":{\"type\":\"BOOLEAN\",\"notNull\":false,\"unique\":false,\"default\":true},\"config\":{\"type\":\"JSON\",\"notNull\":false,\"unique\":false,\"default\":{}},\"priority\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0}},\"indexes\":[{\"name\":\"site_agent_bindings_site_id_agent_class_idx\",\"columns\":[\"site_id\",\"agent_class\"],\"unique\":true},{\"name\":\"site_agent_bindings_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"site_agent_bindings_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]}],\"version\":\"e9a85893\"}},\"@happyvertical/smrt-sites:SiteAgentBindingCollection\":{\"name\":\"siteagentbindingcollection\",\"className\":\"SiteAgentBindingCollection\",\"qualifiedName\":\"@happyvertical/smrt-sites:SiteAgentBindingCollection\",\"collection\":\"siteagentbindings\",\"filePath\":\"/home/runner/_work/smrt/smrt/packages/sites/src/collections/SiteAgentBindingCollection.ts\",\"packageName\":\"@happyvertical/smrt-sites\",\"fields\":{},\"methods\":{\"findBySite\":{\"name\":\"findBySite\",\"async\":true,\"parameters\":[{\"name\":\"siteId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<SiteAgentBinding[]>\",\"isStatic\":false,\"isPublic\":true},\"findByAgent\":{\"name\":\"findByAgent\",\"async\":true,\"parameters\":[{\"name\":\"agentClass\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<SiteAgentBinding[]>\",\"isStatic\":false,\"isPublic\":true},\"findEnabled\":{\"name\":\"findEnabled\",\"async\":true,\"parameters\":[{\"name\":\"siteId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<SiteAgentBinding[]>\",\"isStatic\":false,\"isPublic\":true},\"findBySiteAndAgent\":{\"name\":\"findBySiteAndAgent\",\"async\":true,\"parameters\":[{\"name\":\"siteId\",\"type\":\"string\",\"optional\":false},{\"name\":\"agentClass\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<SiteAgentBinding | null>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tableName\":\"site_agent_bindings\"},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"SiteAgentBinding\",\"exportName\":\"SiteAgentBindingCollection\",\"collectionExportName\":\"SiteAgentBindingCollectionCollection\",\"schema\":{\"tableName\":\"site_agent_bindings\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"site_agent_bindings\\\" (\\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\":\"site_agent_bindings_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"site_agent_bindings_created_at_idx\",\"columns\":[\"created_at\"]}],\"version\":\"b7f2e6f8\"}},\"@happyvertical/smrt-sites:SiteCollection\":{\"name\":\"sitecollection\",\"className\":\"SiteCollection\",\"qualifiedName\":\"@happyvertical/smrt-sites:SiteCollection\",\"collection\":\"sites\",\"filePath\":\"/home/runner/_work/smrt/smrt/packages/sites/src/collections/SiteCollection.ts\",\"packageName\":\"@happyvertical/smrt-sites\",\"fields\":{},\"methods\":{\"findByDomain\":{\"name\":\"findByDomain\",\"async\":true,\"parameters\":[{\"name\":\"domain\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Site | null>\",\"isStatic\":false,\"isPublic\":true},\"findByTenant\":{\"name\":\"findByTenant\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Site[]>\",\"isStatic\":false,\"isPublic\":true},\"findByStatus\":{\"name\":\"findByStatus\",\"async\":true,\"parameters\":[{\"name\":\"status\",\"type\":\"SiteStatus\",\"optional\":false}],\"returnType\":\"Promise<Site[]>\",\"isStatic\":false,\"isPublic\":true},\"findActive\":{\"name\":\"findActive\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Site[]>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tableName\":\"sites\"},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"Site\",\"exportName\":\"SiteCollection\",\"collectionExportName\":\"SiteCollectionCollection\",\"schema\":{\"tableName\":\"sites\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"sites\\\" (\\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\":\"sites_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"sites_created_at_idx\",\"columns\":[\"created_at\"]}],\"version\":\"2f0752a0\"}}},\"moduleType\":\"smrt\",\"smrtDependencies\":[\"@happyvertical/smrt-core\",\"@happyvertical/smrt-tenancy\"]}"));
4
+ ObjectRegistry.registerPackageManifest(JSON.parse("{\"version\":\"1.0.0\",\"timestamp\":0,\"packageName\":\"@happyvertical/smrt-sites\",\"packageVersion\":\"0.42.0\",\"objects\":{\"@happyvertical/smrt-sites:SiteAgentBindingCollection\":{\"name\":\"siteagentbindingcollection\",\"className\":\"SiteAgentBindingCollection\",\"qualifiedName\":\"@happyvertical/smrt-sites:SiteAgentBindingCollection\",\"collection\":\"siteagentbindings\",\"filePath\":\"/home/runner/_work/smrt/smrt/packages/sites/src/collections/SiteAgentBindingCollection.ts\",\"packageName\":\"@happyvertical/smrt-sites\",\"fields\":{},\"methods\":{\"findBySite\":{\"name\":\"findBySite\",\"async\":true,\"parameters\":[{\"name\":\"siteId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<SiteAgentBinding[]>\",\"isStatic\":false,\"isPublic\":true},\"findByAgent\":{\"name\":\"findByAgent\",\"async\":true,\"parameters\":[{\"name\":\"agentClass\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<SiteAgentBinding[]>\",\"isStatic\":false,\"isPublic\":true},\"findEnabled\":{\"name\":\"findEnabled\",\"async\":true,\"parameters\":[{\"name\":\"siteId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<SiteAgentBinding[]>\",\"isStatic\":false,\"isPublic\":true},\"findBySiteAndAgent\":{\"name\":\"findBySiteAndAgent\",\"async\":true,\"parameters\":[{\"name\":\"siteId\",\"type\":\"string\",\"optional\":false},{\"name\":\"agentClass\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<SiteAgentBinding | null>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tableName\":\"site_agent_bindings\"},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"SiteAgentBinding\",\"exportName\":\"SiteAgentBindingCollection\",\"collectionExportName\":\"SiteAgentBindingCollectionCollection\",\"schema\":{\"tableName\":\"site_agent_bindings\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"site_agent_bindings\\\" (\\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\":\"site_agent_bindings_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"site_agent_bindings_created_at_idx\",\"columns\":[\"created_at\"]}],\"version\":\"b7f2e6f8\"}},\"@happyvertical/smrt-sites:SiteCollection\":{\"name\":\"sitecollection\",\"className\":\"SiteCollection\",\"qualifiedName\":\"@happyvertical/smrt-sites:SiteCollection\",\"collection\":\"sites\",\"filePath\":\"/home/runner/_work/smrt/smrt/packages/sites/src/collections/SiteCollection.ts\",\"packageName\":\"@happyvertical/smrt-sites\",\"fields\":{},\"methods\":{\"findByDomain\":{\"name\":\"findByDomain\",\"async\":true,\"parameters\":[{\"name\":\"domain\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Site | null>\",\"isStatic\":false,\"isPublic\":true},\"findByTenant\":{\"name\":\"findByTenant\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Site[]>\",\"isStatic\":false,\"isPublic\":true},\"findByStatus\":{\"name\":\"findByStatus\",\"async\":true,\"parameters\":[{\"name\":\"status\",\"type\":\"SiteStatus\",\"optional\":false}],\"returnType\":\"Promise<Site[]>\",\"isStatic\":false,\"isPublic\":true},\"findActive\":{\"name\":\"findActive\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<Site[]>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tableName\":\"sites\"},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"Site\",\"exportName\":\"SiteCollection\",\"collectionExportName\":\"SiteCollectionCollection\",\"schema\":{\"tableName\":\"sites\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"sites\\\" (\\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\":\"sites_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"sites_created_at_idx\",\"columns\":[\"created_at\"]}],\"version\":\"2f0752a0\"}},\"@happyvertical/smrt-sites:Site\":{\"name\":\"site\",\"className\":\"Site\",\"qualifiedName\":\"@happyvertical/smrt-sites:Site\",\"collection\":\"sites\",\"filePath\":\"/home/runner/_work/smrt/smrt/packages/sites/src/models/Site.ts\",\"packageName\":\"@happyvertical/smrt-sites\",\"fields\":{\"tenantId\":{\"type\":\"text\",\"required\":true,\"_meta\":{\"sqlType\":\"UUID\",\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":true,\"autoPopulate\":true,\"nullable\":false,\"mode\":\"required\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"name\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"domain\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"status\":{\"type\":\"text\",\"required\":false,\"default\":\"draft\"},\"tier\":{\"type\":\"text\",\"required\":false,\"default\":\"free\"},\"databaseUrl\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"databaseType\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"portalConfig\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"repositoryUrl\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"templateName\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"provisioningStatus\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"provisionedAt\":{\"type\":\"datetime\",\"required\":false},\"provisioningError\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"metadata\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"createdAt\":{\"type\":\"datetime\",\"required\":false},\"updatedAt\":{\"type\":\"datetime\",\"required\":false}},\"methods\":{\"isActive\":{\"name\":\"isActive\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"isReady\":{\"name\":\"isReady\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"getPortalConfig\":{\"name\":\"getPortalConfig\",\"async\":false,\"parameters\":[],\"returnType\":\"SitePortalConfig\",\"isStatic\":false,\"isPublic\":true},\"setPortalConfig\":{\"name\":\"setPortalConfig\",\"async\":false,\"parameters\":[{\"name\":\"config\",\"type\":\"SitePortalConfig\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"getMetadata\":{\"name\":\"getMetadata\",\"async\":false,\"parameters\":[],\"returnType\":\"Record<string>\",\"isStatic\":false,\"isPublic\":true},\"setMetadata\":{\"name\":\"setMetadata\",\"async\":false,\"parameters\":[{\"name\":\"data\",\"type\":\"Record<string>\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"updateMetadata\":{\"name\":\"updateMetadata\",\"async\":false,\"parameters\":[{\"name\":\"updates\",\"type\":\"Record<string>\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tableName\":\"sites\",\"api\":{\"include\":[\"list\",\"get\",\"create\",\"update\",\"delete\"]},\"mcp\":{\"include\":[\"list\",\"get\",\"create\",\"update\"]},\"cli\":true,\"conflictColumns\":[\"tenant_id\",\"domain\"],\"tenantScoped\":{\"mode\":\"required\"}},\"extends\":\"SmrtObject\",\"exportName\":\"Site\",\"collectionExportName\":\"SiteCollection\",\"validationRules\":[{\"field\":\"tenantId\",\"rule\":\"required\",\"fieldType\":\"text\"}],\"schema\":{\"tableName\":\"sites\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"sites\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID NOT NULL,\\n \\\"name\\\" TEXT DEFAULT '',\\n \\\"domain\\\" TEXT DEFAULT '',\\n \\\"status\\\" TEXT DEFAULT 'draft',\\n \\\"tier\\\" TEXT DEFAULT 'free',\\n \\\"database_url\\\" TEXT DEFAULT '',\\n \\\"database_type\\\" TEXT DEFAULT '',\\n \\\"portal_config\\\" TEXT DEFAULT '',\\n \\\"repository_url\\\" TEXT DEFAULT '',\\n \\\"template_name\\\" TEXT DEFAULT '',\\n \\\"provisioning_status\\\" TEXT DEFAULT '',\\n \\\"provisioned_at\\\" TIMESTAMP,\\n \\\"provisioning_error\\\" TEXT DEFAULT '',\\n \\\"metadata\\\" 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\":true,\"unique\":false},\"name\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"domain\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"status\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"draft\"},\"tier\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"free\"},\"database_url\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"database_type\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"portal_config\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"repository_url\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"template_name\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"provisioning_status\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"provisioned_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"provisioning_error\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"metadata\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"sites_tenant_id_domain_idx\",\"columns\":[\"tenant_id\",\"domain\"],\"unique\":true},{\"name\":\"sites_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"sites_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]}],\"version\":\"1845042e\"}},\"@happyvertical/smrt-sites:SiteAgentBinding\":{\"name\":\"siteagentbinding\",\"className\":\"SiteAgentBinding\",\"qualifiedName\":\"@happyvertical/smrt-sites:SiteAgentBinding\",\"collection\":\"siteagentbindings\",\"filePath\":\"/home/runner/_work/smrt/smrt/packages/sites/src/models/SiteAgentBinding.ts\",\"packageName\":\"@happyvertical/smrt-sites\",\"fields\":{\"tenantId\":{\"type\":\"text\",\"required\":true,\"_meta\":{\"sqlType\":\"UUID\",\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":true,\"autoPopulate\":true,\"nullable\":false,\"mode\":\"required\",\"field\":\"tenantId\",\"allowSuperAdminBypass\":false}}},\"siteId\":{\"type\":\"foreignKey\",\"required\":false,\"related\":\"Site\"},\"agentClass\":{\"type\":\"text\",\"required\":false,\"default\":\"\"},\"enabled\":{\"type\":\"boolean\",\"required\":false,\"default\":true},\"config\":{\"type\":\"json\",\"required\":false,\"default\":{}},\"priority\":{\"type\":\"integer\",\"required\":false,\"default\":0}},\"methods\":{},\"decoratorConfig\":{\"tableName\":\"site_agent_bindings\",\"api\":{\"include\":[\"list\",\"get\",\"create\",\"update\",\"delete\"]},\"cli\":{\"include\":[\"list\",\"get\"]},\"mcp\":{\"include\":[\"list\",\"get\"]},\"conflictColumns\":[\"site_id\",\"agent_class\"],\"tenantScoped\":{\"mode\":\"required\"}},\"extends\":\"SmrtObject\",\"exportName\":\"SiteAgentBinding\",\"collectionExportName\":\"SiteAgentBindingCollection\",\"validationRules\":[{\"field\":\"tenantId\",\"rule\":\"required\",\"fieldType\":\"text\"}],\"schema\":{\"tableName\":\"site_agent_bindings\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"site_agent_bindings\\\" (\\n \\\"id\\\" UUID PRIMARY KEY NOT NULL,\\n \\\"slug\\\" TEXT NOT NULL,\\n \\\"context\\\" TEXT NOT NULL DEFAULT '',\\n \\\"created_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"updated_at\\\" TIMESTAMP NOT NULL DEFAULT current_timestamp,\\n \\\"tenant_id\\\" UUID NOT NULL,\\n \\\"site_id\\\" UUID,\\n \\\"agent_class\\\" TEXT DEFAULT '',\\n \\\"enabled\\\" BOOLEAN DEFAULT TRUE,\\n \\\"config\\\" JSON DEFAULT '{}',\\n \\\"priority\\\" INTEGER DEFAULT 0\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":true,\"unique\":false},\"site_id\":{\"type\":\"UUID\",\"referenceKind\":\"foreignKey\",\"notNull\":false,\"unique\":false},\"agent_class\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false,\"default\":\"\"},\"enabled\":{\"type\":\"BOOLEAN\",\"notNull\":false,\"unique\":false,\"default\":true},\"config\":{\"type\":\"JSON\",\"notNull\":false,\"unique\":false,\"default\":{}},\"priority\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false,\"default\":0}},\"indexes\":[{\"name\":\"site_agent_bindings_site_id_agent_class_idx\",\"columns\":[\"site_id\",\"agent_class\"],\"unique\":true},{\"name\":\"site_agent_bindings_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"site_agent_bindings_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]}],\"version\":\"e9a85893\"}}},\"moduleType\":\"smrt\",\"smrtDependencies\":[\"@happyvertical/smrt-core\",\"@happyvertical/smrt-tenancy\"]}"));
5
5
  //#endregion
6
6
  //#region src/models/SiteAgentBinding.ts
7
7
  var __defProp$1 = Object.defineProperty;
@@ -2,8 +2,251 @@
2
2
  "version": "1.0.0",
3
3
  "timestamp": 0,
4
4
  "packageName": "@happyvertical/smrt-sites",
5
- "packageVersion": "0.41.0",
5
+ "packageVersion": "0.42.0",
6
6
  "objects": {
7
+ "@happyvertical/smrt-sites:SiteAgentBindingCollection": {
8
+ "name": "siteagentbindingcollection",
9
+ "className": "SiteAgentBindingCollection",
10
+ "qualifiedName": "@happyvertical/smrt-sites:SiteAgentBindingCollection",
11
+ "collection": "siteagentbindings",
12
+ "filePath": "/home/runner/_work/smrt/smrt/packages/sites/src/collections/SiteAgentBindingCollection.ts",
13
+ "packageName": "@happyvertical/smrt-sites",
14
+ "fields": {},
15
+ "methods": {
16
+ "findBySite": {
17
+ "name": "findBySite",
18
+ "async": true,
19
+ "parameters": [
20
+ {
21
+ "name": "siteId",
22
+ "type": "string",
23
+ "optional": false
24
+ }
25
+ ],
26
+ "returnType": "Promise<SiteAgentBinding[]>",
27
+ "isStatic": false,
28
+ "isPublic": true
29
+ },
30
+ "findByAgent": {
31
+ "name": "findByAgent",
32
+ "async": true,
33
+ "parameters": [
34
+ {
35
+ "name": "agentClass",
36
+ "type": "string",
37
+ "optional": false
38
+ }
39
+ ],
40
+ "returnType": "Promise<SiteAgentBinding[]>",
41
+ "isStatic": false,
42
+ "isPublic": true
43
+ },
44
+ "findEnabled": {
45
+ "name": "findEnabled",
46
+ "async": true,
47
+ "parameters": [
48
+ {
49
+ "name": "siteId",
50
+ "type": "string",
51
+ "optional": false
52
+ }
53
+ ],
54
+ "returnType": "Promise<SiteAgentBinding[]>",
55
+ "isStatic": false,
56
+ "isPublic": true
57
+ },
58
+ "findBySiteAndAgent": {
59
+ "name": "findBySiteAndAgent",
60
+ "async": true,
61
+ "parameters": [
62
+ {
63
+ "name": "siteId",
64
+ "type": "string",
65
+ "optional": false
66
+ },
67
+ {
68
+ "name": "agentClass",
69
+ "type": "string",
70
+ "optional": false
71
+ }
72
+ ],
73
+ "returnType": "Promise<SiteAgentBinding | null>",
74
+ "isStatic": false,
75
+ "isPublic": true
76
+ }
77
+ },
78
+ "decoratorConfig": {
79
+ "tableName": "site_agent_bindings"
80
+ },
81
+ "extends": "SmrtCollection",
82
+ "extendsTypeArg": "SiteAgentBinding",
83
+ "exportName": "SiteAgentBindingCollection",
84
+ "collectionExportName": "SiteAgentBindingCollectionCollection",
85
+ "schema": {
86
+ "tableName": "site_agent_bindings",
87
+ "ddl": "CREATE TABLE IF NOT EXISTS \"site_agent_bindings\" (\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);",
88
+ "columns": {
89
+ "id": {
90
+ "type": "UUID",
91
+ "primaryKey": true,
92
+ "referenceKind": "id",
93
+ "notNull": true
94
+ },
95
+ "slug": {
96
+ "type": "TEXT",
97
+ "notNull": true
98
+ },
99
+ "context": {
100
+ "type": "TEXT",
101
+ "notNull": true,
102
+ "default": ""
103
+ },
104
+ "created_at": {
105
+ "type": "TIMESTAMP",
106
+ "notNull": true,
107
+ "default": "current_timestamp"
108
+ },
109
+ "updated_at": {
110
+ "type": "TIMESTAMP",
111
+ "notNull": true,
112
+ "default": "current_timestamp"
113
+ }
114
+ },
115
+ "indexes": [
116
+ {
117
+ "name": "site_agent_bindings_slug_context_idx",
118
+ "columns": [
119
+ "slug",
120
+ "context"
121
+ ],
122
+ "unique": true
123
+ },
124
+ {
125
+ "name": "site_agent_bindings_created_at_idx",
126
+ "columns": [
127
+ "created_at"
128
+ ]
129
+ }
130
+ ],
131
+ "version": "b7f2e6f8"
132
+ }
133
+ },
134
+ "@happyvertical/smrt-sites:SiteCollection": {
135
+ "name": "sitecollection",
136
+ "className": "SiteCollection",
137
+ "qualifiedName": "@happyvertical/smrt-sites:SiteCollection",
138
+ "collection": "sites",
139
+ "filePath": "/home/runner/_work/smrt/smrt/packages/sites/src/collections/SiteCollection.ts",
140
+ "packageName": "@happyvertical/smrt-sites",
141
+ "fields": {},
142
+ "methods": {
143
+ "findByDomain": {
144
+ "name": "findByDomain",
145
+ "async": true,
146
+ "parameters": [
147
+ {
148
+ "name": "domain",
149
+ "type": "string",
150
+ "optional": false
151
+ }
152
+ ],
153
+ "returnType": "Promise<Site | null>",
154
+ "isStatic": false,
155
+ "isPublic": true
156
+ },
157
+ "findByTenant": {
158
+ "name": "findByTenant",
159
+ "async": true,
160
+ "parameters": [
161
+ {
162
+ "name": "tenantId",
163
+ "type": "string",
164
+ "optional": false
165
+ }
166
+ ],
167
+ "returnType": "Promise<Site[]>",
168
+ "isStatic": false,
169
+ "isPublic": true
170
+ },
171
+ "findByStatus": {
172
+ "name": "findByStatus",
173
+ "async": true,
174
+ "parameters": [
175
+ {
176
+ "name": "status",
177
+ "type": "SiteStatus",
178
+ "optional": false
179
+ }
180
+ ],
181
+ "returnType": "Promise<Site[]>",
182
+ "isStatic": false,
183
+ "isPublic": true
184
+ },
185
+ "findActive": {
186
+ "name": "findActive",
187
+ "async": true,
188
+ "parameters": [],
189
+ "returnType": "Promise<Site[]>",
190
+ "isStatic": false,
191
+ "isPublic": true
192
+ }
193
+ },
194
+ "decoratorConfig": {
195
+ "tableName": "sites"
196
+ },
197
+ "extends": "SmrtCollection",
198
+ "extendsTypeArg": "Site",
199
+ "exportName": "SiteCollection",
200
+ "collectionExportName": "SiteCollectionCollection",
201
+ "schema": {
202
+ "tableName": "sites",
203
+ "ddl": "CREATE TABLE IF NOT EXISTS \"sites\" (\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);",
204
+ "columns": {
205
+ "id": {
206
+ "type": "UUID",
207
+ "primaryKey": true,
208
+ "referenceKind": "id",
209
+ "notNull": true
210
+ },
211
+ "slug": {
212
+ "type": "TEXT",
213
+ "notNull": true
214
+ },
215
+ "context": {
216
+ "type": "TEXT",
217
+ "notNull": true,
218
+ "default": ""
219
+ },
220
+ "created_at": {
221
+ "type": "TIMESTAMP",
222
+ "notNull": true,
223
+ "default": "current_timestamp"
224
+ },
225
+ "updated_at": {
226
+ "type": "TIMESTAMP",
227
+ "notNull": true,
228
+ "default": "current_timestamp"
229
+ }
230
+ },
231
+ "indexes": [
232
+ {
233
+ "name": "sites_slug_context_idx",
234
+ "columns": [
235
+ "slug",
236
+ "context"
237
+ ],
238
+ "unique": true
239
+ },
240
+ {
241
+ "name": "sites_created_at_idx",
242
+ "columns": [
243
+ "created_at"
244
+ ]
245
+ }
246
+ ],
247
+ "version": "2f0752a0"
248
+ }
249
+ },
7
250
  "@happyvertical/smrt-sites:Site": {
8
251
  "name": "site",
9
252
  "className": "Site",
@@ -541,249 +784,6 @@
541
784
  ],
542
785
  "version": "e9a85893"
543
786
  }
544
- },
545
- "@happyvertical/smrt-sites:SiteAgentBindingCollection": {
546
- "name": "siteagentbindingcollection",
547
- "className": "SiteAgentBindingCollection",
548
- "qualifiedName": "@happyvertical/smrt-sites:SiteAgentBindingCollection",
549
- "collection": "siteagentbindings",
550
- "filePath": "/home/runner/_work/smrt/smrt/packages/sites/src/collections/SiteAgentBindingCollection.ts",
551
- "packageName": "@happyvertical/smrt-sites",
552
- "fields": {},
553
- "methods": {
554
- "findBySite": {
555
- "name": "findBySite",
556
- "async": true,
557
- "parameters": [
558
- {
559
- "name": "siteId",
560
- "type": "string",
561
- "optional": false
562
- }
563
- ],
564
- "returnType": "Promise<SiteAgentBinding[]>",
565
- "isStatic": false,
566
- "isPublic": true
567
- },
568
- "findByAgent": {
569
- "name": "findByAgent",
570
- "async": true,
571
- "parameters": [
572
- {
573
- "name": "agentClass",
574
- "type": "string",
575
- "optional": false
576
- }
577
- ],
578
- "returnType": "Promise<SiteAgentBinding[]>",
579
- "isStatic": false,
580
- "isPublic": true
581
- },
582
- "findEnabled": {
583
- "name": "findEnabled",
584
- "async": true,
585
- "parameters": [
586
- {
587
- "name": "siteId",
588
- "type": "string",
589
- "optional": false
590
- }
591
- ],
592
- "returnType": "Promise<SiteAgentBinding[]>",
593
- "isStatic": false,
594
- "isPublic": true
595
- },
596
- "findBySiteAndAgent": {
597
- "name": "findBySiteAndAgent",
598
- "async": true,
599
- "parameters": [
600
- {
601
- "name": "siteId",
602
- "type": "string",
603
- "optional": false
604
- },
605
- {
606
- "name": "agentClass",
607
- "type": "string",
608
- "optional": false
609
- }
610
- ],
611
- "returnType": "Promise<SiteAgentBinding | null>",
612
- "isStatic": false,
613
- "isPublic": true
614
- }
615
- },
616
- "decoratorConfig": {
617
- "tableName": "site_agent_bindings"
618
- },
619
- "extends": "SmrtCollection",
620
- "extendsTypeArg": "SiteAgentBinding",
621
- "exportName": "SiteAgentBindingCollection",
622
- "collectionExportName": "SiteAgentBindingCollectionCollection",
623
- "schema": {
624
- "tableName": "site_agent_bindings",
625
- "ddl": "CREATE TABLE IF NOT EXISTS \"site_agent_bindings\" (\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);",
626
- "columns": {
627
- "id": {
628
- "type": "UUID",
629
- "primaryKey": true,
630
- "referenceKind": "id",
631
- "notNull": true
632
- },
633
- "slug": {
634
- "type": "TEXT",
635
- "notNull": true
636
- },
637
- "context": {
638
- "type": "TEXT",
639
- "notNull": true,
640
- "default": ""
641
- },
642
- "created_at": {
643
- "type": "TIMESTAMP",
644
- "notNull": true,
645
- "default": "current_timestamp"
646
- },
647
- "updated_at": {
648
- "type": "TIMESTAMP",
649
- "notNull": true,
650
- "default": "current_timestamp"
651
- }
652
- },
653
- "indexes": [
654
- {
655
- "name": "site_agent_bindings_slug_context_idx",
656
- "columns": [
657
- "slug",
658
- "context"
659
- ],
660
- "unique": true
661
- },
662
- {
663
- "name": "site_agent_bindings_created_at_idx",
664
- "columns": [
665
- "created_at"
666
- ]
667
- }
668
- ],
669
- "version": "b7f2e6f8"
670
- }
671
- },
672
- "@happyvertical/smrt-sites:SiteCollection": {
673
- "name": "sitecollection",
674
- "className": "SiteCollection",
675
- "qualifiedName": "@happyvertical/smrt-sites:SiteCollection",
676
- "collection": "sites",
677
- "filePath": "/home/runner/_work/smrt/smrt/packages/sites/src/collections/SiteCollection.ts",
678
- "packageName": "@happyvertical/smrt-sites",
679
- "fields": {},
680
- "methods": {
681
- "findByDomain": {
682
- "name": "findByDomain",
683
- "async": true,
684
- "parameters": [
685
- {
686
- "name": "domain",
687
- "type": "string",
688
- "optional": false
689
- }
690
- ],
691
- "returnType": "Promise<Site | null>",
692
- "isStatic": false,
693
- "isPublic": true
694
- },
695
- "findByTenant": {
696
- "name": "findByTenant",
697
- "async": true,
698
- "parameters": [
699
- {
700
- "name": "tenantId",
701
- "type": "string",
702
- "optional": false
703
- }
704
- ],
705
- "returnType": "Promise<Site[]>",
706
- "isStatic": false,
707
- "isPublic": true
708
- },
709
- "findByStatus": {
710
- "name": "findByStatus",
711
- "async": true,
712
- "parameters": [
713
- {
714
- "name": "status",
715
- "type": "SiteStatus",
716
- "optional": false
717
- }
718
- ],
719
- "returnType": "Promise<Site[]>",
720
- "isStatic": false,
721
- "isPublic": true
722
- },
723
- "findActive": {
724
- "name": "findActive",
725
- "async": true,
726
- "parameters": [],
727
- "returnType": "Promise<Site[]>",
728
- "isStatic": false,
729
- "isPublic": true
730
- }
731
- },
732
- "decoratorConfig": {
733
- "tableName": "sites"
734
- },
735
- "extends": "SmrtCollection",
736
- "extendsTypeArg": "Site",
737
- "exportName": "SiteCollection",
738
- "collectionExportName": "SiteCollectionCollection",
739
- "schema": {
740
- "tableName": "sites",
741
- "ddl": "CREATE TABLE IF NOT EXISTS \"sites\" (\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);",
742
- "columns": {
743
- "id": {
744
- "type": "UUID",
745
- "primaryKey": true,
746
- "referenceKind": "id",
747
- "notNull": true
748
- },
749
- "slug": {
750
- "type": "TEXT",
751
- "notNull": true
752
- },
753
- "context": {
754
- "type": "TEXT",
755
- "notNull": true,
756
- "default": ""
757
- },
758
- "created_at": {
759
- "type": "TIMESTAMP",
760
- "notNull": true,
761
- "default": "current_timestamp"
762
- },
763
- "updated_at": {
764
- "type": "TIMESTAMP",
765
- "notNull": true,
766
- "default": "current_timestamp"
767
- }
768
- },
769
- "indexes": [
770
- {
771
- "name": "sites_slug_context_idx",
772
- "columns": [
773
- "slug",
774
- "context"
775
- ],
776
- "unique": true
777
- },
778
- {
779
- "name": "sites_created_at_idx",
780
- "columns": [
781
- "created_at"
782
- ]
783
- }
784
- ],
785
- "version": "2f0752a0"
786
- }
787
787
  }
788
788
  },
789
789
  "moduleType": "smrt",
@@ -3,12 +3,12 @@
3
3
  "sensitiveFieldsExcluded": true,
4
4
  "generatedAt": "1970-01-01T00:00:00.000Z",
5
5
  "packageName": "@happyvertical/smrt-sites",
6
- "packageVersion": "0.41.0",
6
+ "packageVersion": "0.42.0",
7
7
  "sourceManifestPath": "dist/manifest.json",
8
8
  "agentDocPath": "AGENTS.md",
9
9
  "sourceHashes": {
10
- "manifest": "d050d955f97db3085101ef719efef24c1d88ab020f325e66155bd9a3c564fe6a",
11
- "packageJson": "661a5feb0587581a6bdee875f37fafa2d9bbcef85a13842033188c7c5b2ca068",
10
+ "manifest": "92705d4b566b810b5c77c79e1d1ab34c83412c64cb9e6c22180e288c3fbe8c7a",
11
+ "packageJson": "2fd502b78100ebaa22efbd6defc0813fb6635f614baebc5317d4bd9e34995e2d",
12
12
  "agents": "20ecba2963426d3e132157f077fbdc5583a20bb0f68d8a7942cf7f8ada5d5aa2"
13
13
  },
14
14
  "exports": [
@@ -40,6 +40,116 @@
40
40
  "tags": [],
41
41
  "risks": [],
42
42
  "objects": [
43
+ {
44
+ "name": "SiteAgentBindingCollection",
45
+ "qualifiedName": "@happyvertical/smrt-sites:SiteAgentBindingCollection",
46
+ "collection": "siteagentbindings",
47
+ "tableName": "site_agent_bindings",
48
+ "packageName": "@happyvertical/smrt-sites",
49
+ "extends": "SmrtCollection",
50
+ "fields": [],
51
+ "relationships": [],
52
+ "methods": [
53
+ "findByAgent",
54
+ "findBySite",
55
+ "findBySiteAndAgent",
56
+ "findEnabled"
57
+ ],
58
+ "methodSignatures": [
59
+ {
60
+ "name": "findByAgent",
61
+ "async": true,
62
+ "params": [
63
+ "agentClass: string"
64
+ ],
65
+ "returns": "Promise<SiteAgentBinding[]>"
66
+ },
67
+ {
68
+ "name": "findBySite",
69
+ "async": true,
70
+ "params": [
71
+ "siteId: string"
72
+ ],
73
+ "returns": "Promise<SiteAgentBinding[]>"
74
+ },
75
+ {
76
+ "name": "findBySiteAndAgent",
77
+ "async": true,
78
+ "params": [
79
+ "siteId: string",
80
+ "agentClass: string"
81
+ ],
82
+ "returns": "Promise<SiteAgentBinding | null>"
83
+ },
84
+ {
85
+ "name": "findEnabled",
86
+ "async": true,
87
+ "params": [
88
+ "siteId: string"
89
+ ],
90
+ "returns": "Promise<SiteAgentBinding[]>"
91
+ }
92
+ ],
93
+ "surfaces": [],
94
+ "relationshipFeatures": [
95
+ "uuidColumns"
96
+ ],
97
+ "tags": [],
98
+ "risks": []
99
+ },
100
+ {
101
+ "name": "SiteCollection",
102
+ "qualifiedName": "@happyvertical/smrt-sites:SiteCollection",
103
+ "collection": "sites",
104
+ "tableName": "sites",
105
+ "packageName": "@happyvertical/smrt-sites",
106
+ "extends": "SmrtCollection",
107
+ "fields": [],
108
+ "relationships": [],
109
+ "methods": [
110
+ "findActive",
111
+ "findByDomain",
112
+ "findByStatus",
113
+ "findByTenant"
114
+ ],
115
+ "methodSignatures": [
116
+ {
117
+ "name": "findActive",
118
+ "async": true,
119
+ "returns": "Promise<Site[]>"
120
+ },
121
+ {
122
+ "name": "findByDomain",
123
+ "async": true,
124
+ "params": [
125
+ "domain: string"
126
+ ],
127
+ "returns": "Promise<Site | null>"
128
+ },
129
+ {
130
+ "name": "findByStatus",
131
+ "async": true,
132
+ "params": [
133
+ "status: SiteStatus"
134
+ ],
135
+ "returns": "Promise<Site[]>"
136
+ },
137
+ {
138
+ "name": "findByTenant",
139
+ "async": true,
140
+ "params": [
141
+ "tenantId: string"
142
+ ],
143
+ "returns": "Promise<Site[]>"
144
+ }
145
+ ],
146
+ "surfaces": [],
147
+ "relationshipFeatures": [
148
+ "uuidColumns"
149
+ ],
150
+ "tags": [],
151
+ "risks": []
152
+ },
43
153
  {
44
154
  "name": "Site",
45
155
  "qualifiedName": "@happyvertical/smrt-sites:Site",
@@ -458,116 +568,6 @@
458
568
  ],
459
569
  "tags": [],
460
570
  "risks": []
461
- },
462
- {
463
- "name": "SiteAgentBindingCollection",
464
- "qualifiedName": "@happyvertical/smrt-sites:SiteAgentBindingCollection",
465
- "collection": "siteagentbindings",
466
- "tableName": "site_agent_bindings",
467
- "packageName": "@happyvertical/smrt-sites",
468
- "extends": "SmrtCollection",
469
- "fields": [],
470
- "relationships": [],
471
- "methods": [
472
- "findByAgent",
473
- "findBySite",
474
- "findBySiteAndAgent",
475
- "findEnabled"
476
- ],
477
- "methodSignatures": [
478
- {
479
- "name": "findByAgent",
480
- "async": true,
481
- "params": [
482
- "agentClass: string"
483
- ],
484
- "returns": "Promise<SiteAgentBinding[]>"
485
- },
486
- {
487
- "name": "findBySite",
488
- "async": true,
489
- "params": [
490
- "siteId: string"
491
- ],
492
- "returns": "Promise<SiteAgentBinding[]>"
493
- },
494
- {
495
- "name": "findBySiteAndAgent",
496
- "async": true,
497
- "params": [
498
- "siteId: string",
499
- "agentClass: string"
500
- ],
501
- "returns": "Promise<SiteAgentBinding | null>"
502
- },
503
- {
504
- "name": "findEnabled",
505
- "async": true,
506
- "params": [
507
- "siteId: string"
508
- ],
509
- "returns": "Promise<SiteAgentBinding[]>"
510
- }
511
- ],
512
- "surfaces": [],
513
- "relationshipFeatures": [
514
- "uuidColumns"
515
- ],
516
- "tags": [],
517
- "risks": []
518
- },
519
- {
520
- "name": "SiteCollection",
521
- "qualifiedName": "@happyvertical/smrt-sites:SiteCollection",
522
- "collection": "sites",
523
- "tableName": "sites",
524
- "packageName": "@happyvertical/smrt-sites",
525
- "extends": "SmrtCollection",
526
- "fields": [],
527
- "relationships": [],
528
- "methods": [
529
- "findActive",
530
- "findByDomain",
531
- "findByStatus",
532
- "findByTenant"
533
- ],
534
- "methodSignatures": [
535
- {
536
- "name": "findActive",
537
- "async": true,
538
- "returns": "Promise<Site[]>"
539
- },
540
- {
541
- "name": "findByDomain",
542
- "async": true,
543
- "params": [
544
- "domain: string"
545
- ],
546
- "returns": "Promise<Site | null>"
547
- },
548
- {
549
- "name": "findByStatus",
550
- "async": true,
551
- "params": [
552
- "status: SiteStatus"
553
- ],
554
- "returns": "Promise<Site[]>"
555
- },
556
- {
557
- "name": "findByTenant",
558
- "async": true,
559
- "params": [
560
- "tenantId: string"
561
- ],
562
- "returns": "Promise<Site[]>"
563
- }
564
- ],
565
- "surfaces": [],
566
- "relationshipFeatures": [
567
- "uuidColumns"
568
- ],
569
- "tags": [],
570
- "risks": []
571
571
  }
572
572
  ],
573
573
  "surfaces": [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@happyvertical/smrt-sites",
3
- "version": "0.41.0",
3
+ "version": "0.42.0",
4
4
  "description": "Site lifecycle management for multi-tenant SMRT networks",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -19,8 +19,8 @@
19
19
  "./manifest.json": "./dist/manifest.json"
20
20
  },
21
21
  "dependencies": {
22
- "@happyvertical/smrt-tenancy": "0.41.0",
23
- "@happyvertical/smrt-core": "0.41.0"
22
+ "@happyvertical/smrt-tenancy": "0.42.0",
23
+ "@happyvertical/smrt-core": "0.42.0"
24
24
  },
25
25
  "devDependencies": {
26
26
  "@happyvertical/sql": "^0.88.0",
@@ -29,8 +29,8 @@
29
29
  "typescript": "5.9.3",
30
30
  "vite": "8.1.4",
31
31
  "vitest": "4.1.10",
32
- "@happyvertical/smrt-cli": "0.41.0",
33
- "@happyvertical/smrt-vitest": "0.41.0"
32
+ "@happyvertical/smrt-vitest": "0.42.0",
33
+ "@happyvertical/smrt-cli": "0.42.0"
34
34
  },
35
35
  "keywords": [
36
36
  "ai",