@happyvertical/smrt-fields 0.54.2 → 0.54.4

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,11 +1,11 @@
1
- import { C as setCachedFieldPolicy, D as ensureFieldPolicyPermissionsRegistered, E as PERSONALIZE_FIELD_POLICY_PERMISSION, O as __exportAll, S as invalidateFieldPolicyCache, T as MANAGE_FIELD_POLICY_PERMISSION, _ as requireRegisteredObject, a as buildCodeSeedDelta, b as getCachedFieldPolicy, c as getCodeSeedGroup, d as isPolicyAddressableField, f as isRequiredField, g as isUsableRequiredDefault, h as isTransientField, i as assertDefaultValueMatchesFieldType, l as getFieldReadPermission, m as isStorableReferenceId, o as buildCodeSeedVisibility, p as isSensitiveField, r as FieldPolicy, s as getCodeDefault, t as FieldPolicyCollection, u as getObjectFieldMap, v as sanitizeFieldUIHints, w as FIELD_POLICY_PERMISSION_DEFINITIONS, x as getFieldPolicyCacheTtlMs, y as clearFieldPolicyCache } from "./chunks/FieldPolicyCollection--RxukfCX.js";
1
+ import { C as setCachedFieldPolicy, D as ensureFieldPolicyPermissionsRegistered, E as PERSONALIZE_FIELD_POLICY_PERMISSION, O as __exportAll, S as invalidateFieldPolicyCache, T as MANAGE_FIELD_POLICY_PERMISSION, _ as requireRegisteredObject, a as buildCodeSeedDelta, b as getCachedFieldPolicy, c as getCodeSeedGroup, d as isPolicyAddressableField, f as isRequiredField, g as isUsableRequiredDefault, h as isTransientField, i as assertDefaultValueMatchesFieldType, l as getFieldReadPermission, m as isStorableReferenceId, o as buildCodeSeedVisibility, p as isSensitiveField, r as FieldPolicy, s as getCodeDefault, t as FieldPolicyCollection, u as getObjectFieldMap, v as sanitizeFieldUIHints, w as FIELD_POLICY_PERMISSION_DEFINITIONS, x as getFieldPolicyCacheTtlMs, y as clearFieldPolicyCache } from "./chunks/FieldPolicyCollection-DSJcxvbK.js";
2
2
  import { APP_FIELD_POLICY_SCOPE_KEY, FIELD_POLICY_SCOPE_TYPES, FIELD_POLICY_SUGGESTION_KINDS, FIELD_POLICY_SUGGESTION_STATUSES, FIELD_POLICY_VISIBILITIES } from "./types.js";
3
3
  import { ObjectRegistry, SmrtCollection, SmrtObject, crossPackageRef, field, smrt } from "@happyvertical/smrt-core";
4
4
  import { assertOperationPermission } from "@happyvertical/smrt-users";
5
5
  import { TenantIsolationError, assertTenantReadAllowed, getCurrentTenant, isSuperAdminBypass, tenantId } from "@happyvertical/smrt-tenancy";
6
6
  import { importWorkspaceModule } from "@happyvertical/smrt-core/utils/import-workspace-module";
7
7
  //#region src/__smrt-register__.ts
8
- ObjectRegistry.registerPackageManifest(JSON.parse("{\"version\":\"1.0.0\",\"timestamp\":0,\"packageName\":\"@happyvertical/smrt-fields\",\"packageVersion\":\"0.54.2\",\"objects\":{\"@happyvertical/smrt-fields:FieldUsageLearningAgent\":{\"name\":\"fieldusagelearningagent\",\"className\":\"FieldUsageLearningAgent\",\"qualifiedName\":\"@happyvertical/smrt-fields:FieldUsageLearningAgent\",\"collection\":\"fieldusagelearningagents\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/fields/src/usage-learning.ts\",\"packageName\":\"@happyvertical/smrt-fields\",\"fields\":{},\"methods\":{\"runUsageMaintenance\":{\"name\":\"runUsageMaintenance\",\"async\":true,\"parameters\":[{\"name\":\"args\",\"type\":\"Record<string, unknown>\",\"optional\":true}],\"returnType\":\"Promise<FieldUsageMaintenanceSummary>\",\"isStatic\":false,\"isPublic\":true},\"runSuggestionGeneration\":{\"name\":\"runSuggestionGeneration\",\"async\":true,\"parameters\":[{\"name\":\"args\",\"type\":\"Record<string, unknown>\",\"optional\":true}],\"returnType\":\"Promise<FieldUsageSuggestionRunSummary>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tableName\":\"_smrt_field_usage_learning_agents\",\"api\":{\"include\":[]},\"cli\":false,\"mcp\":{\"include\":[]}},\"extends\":\"SmrtObject\",\"exportName\":\"FieldUsageLearningAgent\",\"collectionExportName\":\"FieldUsageLearningAgentCollection\",\"schema\":{\"tableName\":\"_smrt_field_usage_learning_agents\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"_smrt_field_usage_learning_agents\\\" (\\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\":\"_smrt_field_usage_learning_agents_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"_smrt_field_usage_learning_agents_created_at_idx\",\"columns\":[\"created_at\"]}],\"version\":\"183ee1d8\"},\"importPath\":\"@happyvertical/smrt-fields\"},\"@happyvertical/smrt-fields:FieldPolicyCollection\":{\"name\":\"fieldpolicycollection\",\"className\":\"FieldPolicyCollection\",\"qualifiedName\":\"@happyvertical/smrt-fields:FieldPolicyCollection\",\"collection\":\"fieldpolicies\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/fields/src/collections/FieldPolicyCollection.ts\",\"packageName\":\"@happyvertical/smrt-fields\",\"fields\":{},\"methods\":{\"policyAudit\":{\"name\":\"policyAudit\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":true,\"memberTypes\":[\"string[]\",\"boolean\"]}],\"returnType\":\"Promise<FieldPolicyAuditSnapshot>\",\"isStatic\":false,\"isPublic\":true},\"getAppRows\":{\"name\":\"getAppRows\",\"async\":true,\"parameters\":[{\"name\":\"objectRef\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Map<string, FieldPolicy>>\",\"isStatic\":false,\"isPublic\":true},\"getTenantRows\":{\"name\":\"getTenantRows\",\"async\":true,\"parameters\":[{\"name\":\"objectRef\",\"type\":\"string\",\"optional\":false},{\"name\":\"tenantIds\",\"type\":\"string[]\",\"optional\":false}],\"returnType\":\"Promise<Map<string, Map<string, FieldPolicy>>>\",\"isStatic\":false,\"isPublic\":true},\"getUserRows\":{\"name\":\"getUserRows\",\"async\":true,\"parameters\":[{\"name\":\"objectRef\",\"type\":\"string\",\"optional\":false},{\"name\":\"userId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<Map<string, FieldPolicy>>\",\"isStatic\":false,\"isPublic\":true},\"resolveBatch\":{\"name\":\"resolveBatch\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":true,\"memberTypes\":[\"string[]\"]}],\"returnType\":\"Promise<FieldPolicyBatchResult>\",\"isStatic\":false,\"isPublic\":true},\"getEditorState\":{\"name\":\"getEditorState\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":true,\"memberTypes\":[\"string\"]}],\"returnType\":\"Promise<FieldPolicyEditorStateResult>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"conflictColumns\":[\"object_ref\",\"field_name\",\"scope_type\",\"scope_key\"],\"api\":{\"include\":[\"create\",\"update\",\"delete\",\"resolveBatch\",\"getEditorState\",\"policyAudit\"],\"principalContext\":true,\"routes\":{\"resolveBatch\":{\"scope\":\"collection\",\"method\":\"POST\",\"path\":\"resolve\"},\"getEditorState\":{\"scope\":\"collection\",\"method\":\"POST\",\"path\":\"editor-state\"},\"policyAudit\":{\"scope\":\"collection\",\"method\":\"POST\",\"path\":\"policy-audit\"}}},\"cli\":false,\"mcp\":false,\"tableName\":\"_smrt_field_policies\"},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"FieldPolicy\",\"exportName\":\"FieldPolicyCollection\",\"collectionExportName\":\"FieldPolicyCollectionCollection\",\"schema\":{\"tableName\":\"_smrt_field_policies\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"_smrt_field_policies\\\" (\\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 \\\"object_ref\\\" TEXT NOT NULL DEFAULT '',\\n \\\"field_name\\\" TEXT NOT NULL DEFAULT '',\\n \\\"scope_type\\\" TEXT NOT NULL DEFAULT 'app',\\n \\\"tenant_id\\\" UUID,\\n \\\"user_id\\\" UUID,\\n \\\"scope_key\\\" TEXT NOT NULL,\\n \\\"default_value\\\" TEXT,\\n \\\"visibility\\\" TEXT,\\n \\\"help\\\" TEXT,\\n \\\"label\\\" TEXT,\\n \\\"display_order\\\" INTEGER,\\n \\\"locked\\\" BOOLEAN,\\n \\\"updated_by\\\" UUID\\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\"},\"object_ref\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"\"},\"field_name\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"\"},\"scope_type\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"app\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false},\"user_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false,\"unique\":false},\"scope_key\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false},\"default_value\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"visibility\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"help\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"label\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"display_order\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false},\"locked\":{\"type\":\"BOOLEAN\",\"notNull\":false,\"unique\":false},\"updated_by\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false,\"unique\":false}},\"indexes\":[{\"name\":\"_smrt_field_policies_object_ref_field_name_idx\",\"columns\":[\"object_ref\",\"field_name\",\"scope_type\",\"scope_key\"],\"unique\":true},{\"name\":\"_smrt_field_policies_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"_smrt_field_policies_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"_smrt_field_policies_user_id_idx\",\"columns\":[\"user_id\"]},{\"name\":\"_smrt_field_policies_updated_by_idx\",\"columns\":[\"updated_by\"]}],\"version\":\"34b355cc\"},\"importPath\":\"@happyvertical/smrt-fields\"},\"@happyvertical/smrt-fields:FieldPolicySuggestionCollection\":{\"name\":\"fieldpolicysuggestioncollection\",\"className\":\"FieldPolicySuggestionCollection\",\"qualifiedName\":\"@happyvertical/smrt-fields:FieldPolicySuggestionCollection\",\"collection\":\"fieldpolicysuggestions\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/fields/src/collections/FieldPolicySuggestionCollection.ts\",\"packageName\":\"@happyvertical/smrt-fields\",\"fields\":{},\"methods\":{\"pendingSuggestions\":{\"name\":\"pendingSuggestions\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":true,\"memberTypes\":[\"string[]\"]}],\"returnType\":\"Promise<PendingFieldPolicySuggestionsResult>\",\"isStatic\":false,\"isPublic\":true},\"acceptSuggestion\":{\"name\":\"acceptSuggestion\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":true,\"memberTypes\":[\"string\"]}],\"returnType\":\"Promise<AcceptFieldPolicySuggestionResult>\",\"isStatic\":false,\"isPublic\":true},\"dismissSuggestion\":{\"name\":\"dismissSuggestion\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":true,\"memberTypes\":[\"string\",\"number\"]}],\"returnType\":\"Promise<DismissFieldPolicySuggestionResult>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"conflictColumns\":[\"object_ref\",\"field_name\",\"tenant_id\",\"kind\",\"active_key\"],\"api\":{\"include\":[\"pendingSuggestions\",\"acceptSuggestion\",\"dismissSuggestion\"],\"principalContext\":true,\"routes\":{\"pendingSuggestions\":{\"scope\":\"collection\",\"method\":\"POST\",\"path\":\"pending\"},\"acceptSuggestion\":{\"scope\":\"collection\",\"method\":\"POST\",\"path\":\"accept\"},\"dismissSuggestion\":{\"scope\":\"collection\",\"method\":\"POST\",\"path\":\"dismiss\"}}},\"cli\":false,\"mcp\":false,\"tableName\":\"_smrt_field_policy_suggestions\"},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"FieldPolicySuggestion\",\"exportName\":\"FieldPolicySuggestionCollection\",\"collectionExportName\":\"FieldPolicySuggestionCollectionCollection\",\"schema\":{\"tableName\":\"_smrt_field_policy_suggestions\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"_smrt_field_policy_suggestions\\\" (\\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 \\\"object_ref\\\" TEXT NOT NULL DEFAULT '',\\n \\\"field_name\\\" TEXT NOT NULL DEFAULT '',\\n \\\"tenant_id\\\" UUID NOT NULL,\\n \\\"kind\\\" TEXT NOT NULL DEFAULT 'promote',\\n \\\"proposed_value\\\" TEXT,\\n \\\"evidence\\\" TEXT,\\n \\\"status\\\" TEXT NOT NULL DEFAULT 'pending',\\n \\\"active_key\\\" TEXT NOT NULL,\\n \\\"cooldown_until\\\" TIMESTAMP,\\n \\\"decided_by\\\" UUID,\\n \\\"decided_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\"},\"object_ref\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"\"},\"field_name\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":true,\"unique\":false},\"kind\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"promote\"},\"proposed_value\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"evidence\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"status\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"pending\"},\"active_key\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false},\"cooldown_until\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"decided_by\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false,\"unique\":false},\"decided_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false}},\"indexes\":[{\"name\":\"_smrt_field_policy_suggestions_object_ref_field_name_idx\",\"columns\":[\"object_ref\",\"field_name\",\"tenant_id\",\"kind\",\"active_key\"],\"unique\":true},{\"name\":\"_smrt_field_policy_suggestions_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"_smrt_field_policy_suggestions_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"_smrt_field_policy_suggestions_decided_by_idx\",\"columns\":[\"decided_by\"]}],\"version\":\"1bc8c6e5\"},\"importPath\":\"@happyvertical/smrt-fields\"},\"@happyvertical/smrt-fields:FieldUsageCounterCollection\":{\"name\":\"fieldusagecountercollection\",\"className\":\"FieldUsageCounterCollection\",\"qualifiedName\":\"@happyvertical/smrt-fields:FieldUsageCounterCollection\",\"collection\":\"fieldusagecounters\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/fields/src/collections/FieldUsageCounterCollection.ts\",\"packageName\":\"@happyvertical/smrt-fields\",\"fields\":{},\"methods\":{\"reportUsage\":{\"name\":\"reportUsage\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":true,\"memberTypes\":[\"FieldUsageReportEntry[]\"]}],\"returnType\":\"Promise<FieldUsageReportResult>\",\"isStatic\":false,\"isPublic\":true},\"listWindow\":{\"name\":\"listWindow\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false,\"memberTypes\":[\"string\",\"string | null\"]}],\"returnType\":\"Promise<FieldUsageCounter[]>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"conflictColumns\":[\"object_ref\",\"field_name\",\"tenant_id\",\"period\"],\"api\":{\"include\":[\"reportUsage\"],\"principalContext\":true,\"routes\":{\"reportUsage\":{\"scope\":\"collection\",\"method\":\"POST\",\"path\":\"report\"}}},\"cli\":false,\"mcp\":false,\"tableName\":\"_smrt_field_usage_counters\"},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"FieldUsageCounter\",\"exportName\":\"FieldUsageCounterCollection\",\"collectionExportName\":\"FieldUsageCounterCollectionCollection\",\"schema\":{\"tableName\":\"_smrt_field_usage_counters\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"_smrt_field_usage_counters\\\" (\\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 \\\"object_ref\\\" TEXT NOT NULL DEFAULT '',\\n \\\"field_name\\\" TEXT NOT NULL DEFAULT '',\\n \\\"tenant_id\\\" UUID NOT NULL,\\n \\\"period\\\" TEXT NOT NULL DEFAULT '',\\n \\\"submission_count\\\" INTEGER,\\n \\\"set_count\\\" INTEGER,\\n \\\"distinct_user_count\\\" INTEGER,\\n \\\"distinct_user_ids\\\" TEXT,\\n \\\"distinct_users_overflowed\\\" BOOLEAN,\\n \\\"value_histogram\\\" TEXT,\\n \\\"value_histogram_overflowed\\\" BOOLEAN\\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\"},\"object_ref\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"\"},\"field_name\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":true,\"unique\":false},\"period\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"\"},\"submission_count\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false},\"set_count\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false},\"distinct_user_count\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false},\"distinct_user_ids\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"distinct_users_overflowed\":{\"type\":\"BOOLEAN\",\"notNull\":false,\"unique\":false},\"value_histogram\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"value_histogram_overflowed\":{\"type\":\"BOOLEAN\",\"notNull\":false,\"unique\":false}},\"indexes\":[{\"name\":\"_smrt_field_usage_counters_object_ref_field_name_idx\",\"columns\":[\"object_ref\",\"field_name\",\"tenant_id\",\"period\"],\"unique\":true},{\"name\":\"_smrt_field_usage_counters_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"_smrt_field_usage_counters_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]}],\"version\":\"46fcebc6\"},\"importPath\":\"@happyvertical/smrt-fields\"},\"@happyvertical/smrt-fields:FieldUsageReportReceiptCollection\":{\"name\":\"fieldusagereportreceiptcollection\",\"className\":\"FieldUsageReportReceiptCollection\",\"qualifiedName\":\"@happyvertical/smrt-fields:FieldUsageReportReceiptCollection\",\"collection\":\"fieldusagereportreceipts\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/fields/src/collections/FieldUsageCounterCollection.ts\",\"packageName\":\"@happyvertical/smrt-fields\",\"fields\":{},\"methods\":{\"claim\":{\"name\":\"claim\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":false,\"memberTypes\":[\"string\"]}],\"returnType\":\"Promise<boolean>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"conflictColumns\":[\"tenant_id\",\"user_id\",\"object_ref\",\"field_name\",\"period\"],\"api\":false,\"cli\":false,\"mcp\":false,\"tableName\":\"_smrt_field_usage_report_receipts\"},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"FieldUsageReportReceipt\",\"exportName\":\"FieldUsageReportReceiptCollection\",\"collectionExportName\":\"FieldUsageReportReceiptCollectionCollection\",\"schema\":{\"tableName\":\"_smrt_field_usage_report_receipts\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"_smrt_field_usage_report_receipts\\\" (\\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 \\\"user_id\\\" UUID,\\n \\\"object_ref\\\" TEXT NOT NULL DEFAULT '',\\n \\\"field_name\\\" TEXT NOT NULL DEFAULT '',\\n \\\"period\\\" TEXT NOT NULL 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},\"user_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false,\"unique\":false},\"object_ref\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"\"},\"field_name\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"\"},\"period\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"_smrt_field_usage_report_receipts_tenant_id_user_id_idx\",\"columns\":[\"tenant_id\",\"user_id\",\"object_ref\",\"field_name\",\"period\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"_smrt_field_usage_report_receipts_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"_smrt_field_usage_report_receipts_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"_smrt_field_usage_report_receipts_user_id_idx\",\"columns\":[\"user_id\"]}],\"version\":\"c3119047\"},\"importPath\":\"@happyvertical/smrt-fields\"},\"@happyvertical/smrt-fields:FieldPolicy\":{\"name\":\"fieldpolicy\",\"className\":\"FieldPolicy\",\"qualifiedName\":\"@happyvertical/smrt-fields:FieldPolicy\",\"collection\":\"fieldpolicies\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/fields/src/models/FieldPolicy.ts\",\"packageName\":\"@happyvertical/smrt-fields\",\"fields\":{\"objectRef\":{\"type\":\"text\",\"required\":true,\"default\":\"\",\"_meta\":{\"required\":true}},\"fieldName\":{\"type\":\"text\",\"required\":true,\"default\":\"\",\"_meta\":{\"required\":true}},\"scopeType\":{\"type\":\"text\",\"required\":true,\"default\":\"app\",\"_meta\":{\"required\":true}},\"tenantId\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"sqlType\":\"UUID\",\"nullable\":true,\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":false,\"autoPopulate\":true,\"nullable\":true}}},\"userId\":{\"type\":\"crossPackageRef\",\"required\":false,\"related\":\"@happyvertical/smrt-users:User\",\"_meta\":{\"nullable\":true}},\"scopeKey\":{\"type\":\"text\",\"required\":true,\"_meta\":{\"required\":true}},\"defaultValue\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"nullable\":true}},\"visibility\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"nullable\":true}},\"help\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"nullable\":true}},\"label\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"nullable\":true}},\"displayOrder\":{\"type\":\"integer\",\"required\":false,\"_meta\":{\"nullable\":true}},\"locked\":{\"type\":\"boolean\",\"required\":false,\"_meta\":{\"nullable\":true}},\"updatedBy\":{\"type\":\"crossPackageRef\",\"required\":false,\"related\":\"@happyvertical/smrt-users:User\",\"_meta\":{\"nullable\":true}}},\"methods\":{\"getDefaultValue\":{\"name\":\"getDefaultValue\",\"async\":false,\"parameters\":[],\"returnType\":\"unknown\",\"isStatic\":false,\"isPublic\":true},\"setDefaultValue\":{\"name\":\"setDefaultValue\",\"async\":false,\"parameters\":[{\"name\":\"value\",\"type\":\"unknown\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true},\"delete\":{\"name\":\"delete\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tableName\":\"_smrt_field_policies\",\"conflictColumns\":[\"object_ref\",\"field_name\",\"scope_type\",\"scope_key\"],\"api\":{\"include\":[\"create\",\"update\",\"delete\"],\"principalContext\":true},\"cli\":{\"include\":[\"create\",\"update\",\"delete\"],\"exclude\":[\"getDefaultValue\",\"setDefaultValue\"]},\"mcp\":{\"include\":[]}},\"extends\":\"SmrtObject\",\"exportName\":\"FieldPolicy\",\"collectionExportName\":\"FieldPolicyCollection\",\"validationRules\":[{\"field\":\"objectRef\",\"rule\":\"required\",\"fieldType\":\"text\"},{\"field\":\"fieldName\",\"rule\":\"required\",\"fieldType\":\"text\"},{\"field\":\"scopeType\",\"rule\":\"required\",\"fieldType\":\"text\"},{\"field\":\"scopeKey\",\"rule\":\"required\",\"fieldType\":\"text\"}],\"schema\":{\"tableName\":\"_smrt_field_policies\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"_smrt_field_policies\\\" (\\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 \\\"object_ref\\\" TEXT NOT NULL DEFAULT '',\\n \\\"field_name\\\" TEXT NOT NULL DEFAULT '',\\n \\\"scope_type\\\" TEXT NOT NULL DEFAULT 'app',\\n \\\"tenant_id\\\" UUID,\\n \\\"user_id\\\" UUID,\\n \\\"scope_key\\\" TEXT NOT NULL,\\n \\\"default_value\\\" TEXT,\\n \\\"visibility\\\" TEXT,\\n \\\"help\\\" TEXT,\\n \\\"label\\\" TEXT,\\n \\\"display_order\\\" INTEGER,\\n \\\"locked\\\" BOOLEAN,\\n \\\"updated_by\\\" UUID\\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\"},\"object_ref\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"\"},\"field_name\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"\"},\"scope_type\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"app\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":false,\"unique\":false},\"user_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false,\"unique\":false},\"scope_key\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false},\"default_value\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"visibility\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"help\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"label\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"display_order\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false},\"locked\":{\"type\":\"BOOLEAN\",\"notNull\":false,\"unique\":false},\"updated_by\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false,\"unique\":false}},\"indexes\":[{\"name\":\"_smrt_field_policies_object_ref_field_name_idx\",\"columns\":[\"object_ref\",\"field_name\",\"scope_type\",\"scope_key\"],\"unique\":true},{\"name\":\"_smrt_field_policies_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"_smrt_field_policies_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"_smrt_field_policies_user_id_idx\",\"columns\":[\"user_id\"]},{\"name\":\"_smrt_field_policies_updated_by_idx\",\"columns\":[\"updated_by\"]}],\"version\":\"34b355cc\"},\"importPath\":\"@happyvertical/smrt-fields\"},\"@happyvertical/smrt-fields:FieldPolicySuggestion\":{\"name\":\"fieldpolicysuggestion\",\"className\":\"FieldPolicySuggestion\",\"qualifiedName\":\"@happyvertical/smrt-fields:FieldPolicySuggestion\",\"collection\":\"fieldpolicysuggestions\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/fields/src/models/FieldPolicySuggestion.ts\",\"packageName\":\"@happyvertical/smrt-fields\",\"fields\":{\"objectRef\":{\"type\":\"text\",\"required\":true,\"default\":\"\",\"_meta\":{\"required\":true}},\"fieldName\":{\"type\":\"text\",\"required\":true,\"default\":\"\",\"_meta\":{\"required\":true}},\"tenantId\":{\"type\":\"text\",\"required\":true,\"_meta\":{\"sqlType\":\"UUID\",\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":true,\"autoPopulate\":true,\"nullable\":false}}},\"kind\":{\"type\":\"text\",\"required\":true,\"default\":\"promote\",\"_meta\":{\"required\":true}},\"proposedValue\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"nullable\":true}},\"evidence\":{\"type\":\"text\",\"required\":false,\"_meta\":{}},\"status\":{\"type\":\"text\",\"required\":true,\"default\":\"pending\",\"_meta\":{\"required\":true}},\"activeKey\":{\"type\":\"text\",\"required\":true,\"_meta\":{\"required\":true}},\"cooldownUntil\":{\"type\":\"datetime\",\"required\":false,\"_meta\":{\"nullable\":true}},\"decidedBy\":{\"type\":\"crossPackageRef\",\"required\":false,\"related\":\"@happyvertical/smrt-users:User\",\"_meta\":{\"nullable\":true}},\"decidedAt\":{\"type\":\"datetime\",\"required\":false,\"_meta\":{\"nullable\":true}}},\"methods\":{\"getEvidence\":{\"name\":\"getEvidence\",\"async\":false,\"parameters\":[],\"returnType\":\"Record<string, unknown>\",\"isStatic\":false,\"isPublic\":true},\"setEvidence\":{\"name\":\"setEvidence\",\"async\":false,\"parameters\":[{\"name\":\"evidence\",\"type\":\"Record<string, unknown>\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"getProposedValue\":{\"name\":\"getProposedValue\",\"async\":false,\"parameters\":[],\"returnType\":\"unknown\",\"isStatic\":false,\"isPublic\":true},\"toSuggestionData\":{\"name\":\"toSuggestionData\",\"async\":false,\"parameters\":[],\"returnType\":\"FieldPolicySuggestionData\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true},\"delete\":{\"name\":\"delete\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tableName\":\"_smrt_field_policy_suggestions\",\"conflictColumns\":[\"object_ref\",\"field_name\",\"tenant_id\",\"kind\",\"active_key\"],\"api\":{\"include\":[]},\"cli\":false,\"mcp\":{\"include\":[]}},\"extends\":\"SmrtObject\",\"exportName\":\"FieldPolicySuggestion\",\"collectionExportName\":\"FieldPolicySuggestionCollection\",\"validationRules\":[{\"field\":\"objectRef\",\"rule\":\"required\",\"fieldType\":\"text\"},{\"field\":\"fieldName\",\"rule\":\"required\",\"fieldType\":\"text\"},{\"field\":\"kind\",\"rule\":\"required\",\"fieldType\":\"text\"},{\"field\":\"status\",\"rule\":\"required\",\"fieldType\":\"text\"},{\"field\":\"activeKey\",\"rule\":\"required\",\"fieldType\":\"text\"}],\"schema\":{\"tableName\":\"_smrt_field_policy_suggestions\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"_smrt_field_policy_suggestions\\\" (\\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 \\\"object_ref\\\" TEXT NOT NULL DEFAULT '',\\n \\\"field_name\\\" TEXT NOT NULL DEFAULT '',\\n \\\"tenant_id\\\" UUID NOT NULL,\\n \\\"kind\\\" TEXT NOT NULL DEFAULT 'promote',\\n \\\"proposed_value\\\" TEXT,\\n \\\"evidence\\\" TEXT,\\n \\\"status\\\" TEXT NOT NULL DEFAULT 'pending',\\n \\\"active_key\\\" TEXT NOT NULL,\\n \\\"cooldown_until\\\" TIMESTAMP,\\n \\\"decided_by\\\" UUID,\\n \\\"decided_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\"},\"object_ref\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"\"},\"field_name\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":true,\"unique\":false},\"kind\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"promote\"},\"proposed_value\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"evidence\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"status\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"pending\"},\"active_key\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false},\"cooldown_until\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false},\"decided_by\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false,\"unique\":false},\"decided_at\":{\"type\":\"TIMESTAMP\",\"notNull\":false,\"unique\":false}},\"indexes\":[{\"name\":\"_smrt_field_policy_suggestions_object_ref_field_name_idx\",\"columns\":[\"object_ref\",\"field_name\",\"tenant_id\",\"kind\",\"active_key\"],\"unique\":true},{\"name\":\"_smrt_field_policy_suggestions_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"_smrt_field_policy_suggestions_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"_smrt_field_policy_suggestions_decided_by_idx\",\"columns\":[\"decided_by\"]}],\"version\":\"1bc8c6e5\"},\"importPath\":\"@happyvertical/smrt-fields\"},\"@happyvertical/smrt-fields:FieldUsageCounter\":{\"name\":\"fieldusagecounter\",\"className\":\"FieldUsageCounter\",\"qualifiedName\":\"@happyvertical/smrt-fields:FieldUsageCounter\",\"collection\":\"fieldusagecounters\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/fields/src/models/FieldUsageCounter.ts\",\"packageName\":\"@happyvertical/smrt-fields\",\"fields\":{\"objectRef\":{\"type\":\"text\",\"required\":true,\"default\":\"\",\"_meta\":{\"required\":true}},\"fieldName\":{\"type\":\"text\",\"required\":true,\"default\":\"\",\"_meta\":{\"required\":true}},\"tenantId\":{\"type\":\"text\",\"required\":true,\"_meta\":{\"sqlType\":\"UUID\",\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":true,\"autoPopulate\":true,\"nullable\":false}}},\"period\":{\"type\":\"text\",\"required\":true,\"default\":\"\",\"_meta\":{\"required\":true}},\"submissionCount\":{\"type\":\"integer\",\"required\":false,\"_meta\":{}},\"setCount\":{\"type\":\"integer\",\"required\":false,\"_meta\":{}},\"distinctUserCount\":{\"type\":\"integer\",\"required\":false,\"_meta\":{}},\"distinctUserIds\":{\"type\":\"text\",\"required\":false,\"_meta\":{}},\"distinctUsersOverflowed\":{\"type\":\"boolean\",\"required\":false,\"_meta\":{}},\"valueHistogram\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"nullable\":true}},\"valueHistogramOverflowed\":{\"type\":\"boolean\",\"required\":false,\"_meta\":{}}},\"methods\":{\"getDistinctUserIds\":{\"name\":\"getDistinctUserIds\",\"async\":false,\"parameters\":[],\"returnType\":\"string[]\",\"isStatic\":false,\"isPublic\":true},\"addDistinctUser\":{\"name\":\"addDistinctUser\",\"async\":false,\"parameters\":[{\"name\":\"userId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"getValueHistogram\":{\"name\":\"getValueHistogram\",\"async\":false,\"parameters\":[],\"returnType\":\"Record<string, number>\",\"isStatic\":false,\"isPublic\":true},\"recordHistogramSample\":{\"name\":\"recordHistogramSample\",\"async\":false,\"parameters\":[{\"name\":\"key\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"void\",\"isStatic\":false,\"isPublic\":true},\"isLegacyBucket\":{\"name\":\"isLegacyBucket\",\"async\":false,\"parameters\":[],\"returnType\":\"boolean\",\"isStatic\":false,\"isPublic\":true},\"save\":{\"name\":\"save\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true},\"delete\":{\"name\":\"delete\",\"async\":true,\"parameters\":[],\"returnType\":\"Promise<void>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tableName\":\"_smrt_field_usage_counters\",\"conflictColumns\":[\"object_ref\",\"field_name\",\"tenant_id\",\"period\"],\"api\":{\"include\":[]},\"cli\":false,\"mcp\":{\"include\":[]}},\"extends\":\"SmrtObject\",\"exportName\":\"FieldUsageCounter\",\"collectionExportName\":\"FieldUsageCounterCollection\",\"validationRules\":[{\"field\":\"objectRef\",\"rule\":\"required\",\"fieldType\":\"text\"},{\"field\":\"fieldName\",\"rule\":\"required\",\"fieldType\":\"text\"},{\"field\":\"period\",\"rule\":\"required\",\"fieldType\":\"text\"}],\"schema\":{\"tableName\":\"_smrt_field_usage_counters\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"_smrt_field_usage_counters\\\" (\\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 \\\"object_ref\\\" TEXT NOT NULL DEFAULT '',\\n \\\"field_name\\\" TEXT NOT NULL DEFAULT '',\\n \\\"tenant_id\\\" UUID NOT NULL,\\n \\\"period\\\" TEXT NOT NULL DEFAULT '',\\n \\\"submission_count\\\" INTEGER,\\n \\\"set_count\\\" INTEGER,\\n \\\"distinct_user_count\\\" INTEGER,\\n \\\"distinct_user_ids\\\" TEXT,\\n \\\"distinct_users_overflowed\\\" BOOLEAN,\\n \\\"value_histogram\\\" TEXT,\\n \\\"value_histogram_overflowed\\\" BOOLEAN\\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\"},\"object_ref\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"\"},\"field_name\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"\"},\"tenant_id\":{\"type\":\"UUID\",\"referenceKind\":\"tenantId\",\"notNull\":true,\"unique\":false},\"period\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"\"},\"submission_count\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false},\"set_count\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false},\"distinct_user_count\":{\"type\":\"INTEGER\",\"notNull\":false,\"unique\":false},\"distinct_user_ids\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"distinct_users_overflowed\":{\"type\":\"BOOLEAN\",\"notNull\":false,\"unique\":false},\"value_histogram\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"value_histogram_overflowed\":{\"type\":\"BOOLEAN\",\"notNull\":false,\"unique\":false}},\"indexes\":[{\"name\":\"_smrt_field_usage_counters_object_ref_field_name_idx\",\"columns\":[\"object_ref\",\"field_name\",\"tenant_id\",\"period\"],\"unique\":true},{\"name\":\"_smrt_field_usage_counters_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"_smrt_field_usage_counters_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]}],\"version\":\"46fcebc6\"},\"importPath\":\"@happyvertical/smrt-fields\"},\"@happyvertical/smrt-fields:FieldUsageReportReceipt\":{\"name\":\"fieldusagereportreceipt\",\"className\":\"FieldUsageReportReceipt\",\"qualifiedName\":\"@happyvertical/smrt-fields:FieldUsageReportReceipt\",\"collection\":\"fieldusagereportreceipts\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/fields/src/models/FieldUsageReportReceipt.ts\",\"packageName\":\"@happyvertical/smrt-fields\",\"fields\":{\"tenantId\":{\"type\":\"text\",\"required\":true,\"_meta\":{\"sqlType\":\"UUID\",\"__tenancy\":{\"isTenantIdField\":true,\"autoFilter\":true,\"required\":true,\"autoPopulate\":true,\"nullable\":false}}},\"userId\":{\"type\":\"crossPackageRef\",\"required\":false,\"related\":\"@happyvertical/smrt-users:User\"},\"objectRef\":{\"type\":\"text\",\"required\":true,\"default\":\"\",\"_meta\":{\"required\":true}},\"fieldName\":{\"type\":\"text\",\"required\":true,\"default\":\"\",\"_meta\":{\"required\":true}},\"period\":{\"type\":\"text\",\"required\":true,\"default\":\"\",\"_meta\":{\"required\":true}}},\"methods\":{},\"decoratorConfig\":{\"tableName\":\"_smrt_field_usage_report_receipts\",\"conflictColumns\":[\"tenant_id\",\"user_id\",\"object_ref\",\"field_name\",\"period\"],\"api\":{\"include\":[]},\"cli\":false,\"mcp\":{\"include\":[]}},\"extends\":\"SmrtObject\",\"exportName\":\"FieldUsageReportReceipt\",\"collectionExportName\":\"FieldUsageReportReceiptCollection\",\"validationRules\":[{\"field\":\"objectRef\",\"rule\":\"required\",\"fieldType\":\"text\"},{\"field\":\"fieldName\",\"rule\":\"required\",\"fieldType\":\"text\"},{\"field\":\"period\",\"rule\":\"required\",\"fieldType\":\"text\"}],\"schema\":{\"tableName\":\"_smrt_field_usage_report_receipts\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"_smrt_field_usage_report_receipts\\\" (\\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 \\\"user_id\\\" UUID,\\n \\\"object_ref\\\" TEXT NOT NULL DEFAULT '',\\n \\\"field_name\\\" TEXT NOT NULL DEFAULT '',\\n \\\"period\\\" TEXT NOT NULL 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},\"user_id\":{\"type\":\"UUID\",\"referenceKind\":\"crossPackageRef\",\"notNull\":false,\"unique\":false},\"object_ref\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"\"},\"field_name\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"\"},\"period\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"\"}},\"indexes\":[{\"name\":\"_smrt_field_usage_report_receipts_tenant_id_user_id_idx\",\"columns\":[\"tenant_id\",\"user_id\",\"object_ref\",\"field_name\",\"period\"],\"unique\":true,\"nullsNotDistinct\":true},{\"name\":\"_smrt_field_usage_report_receipts_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"_smrt_field_usage_report_receipts_tenant_id_created_at_idx\",\"columns\":[\"tenant_id\",\"created_at\"]},{\"name\":\"_smrt_field_usage_report_receipts_user_id_idx\",\"columns\":[\"user_id\"]}],\"version\":\"c3119047\"},\"importPath\":\"@happyvertical/smrt-fields\"}},\"moduleType\":\"smrt\",\"smrtDependencies\":[\"@happyvertical/smrt-core\",\"@happyvertical/smrt-tenancy\",\"@happyvertical/smrt-users\"]}"));
8
+ ObjectRegistry.registerPackageManifest(JSON.parse(`{"version":"1.0.0","timestamp":0,"packageName":"@happyvertical/smrt-fields","packageVersion":"0.54.4","objects":{"@happyvertical/smrt-fields:FieldUsageLearningAgent":{"name":"fieldusagelearningagent","className":"FieldUsageLearningAgent","qualifiedName":"@happyvertical/smrt-fields:FieldUsageLearningAgent","collection":"fieldusagelearningagents","filePath":"/home/runner/work/smrt/smrt/packages/fields/src/usage-learning.ts","packageName":"@happyvertical/smrt-fields","fields":{},"methods":{"runUsageMaintenance":{"name":"runUsageMaintenance","async":true,"parameters":[{"name":"args","type":"Record<string, unknown>","optional":true}],"returnType":"Promise<FieldUsageMaintenanceSummary>","isStatic":false,"isPublic":true},"runSuggestionGeneration":{"name":"runSuggestionGeneration","async":true,"parameters":[{"name":"args","type":"Record<string, unknown>","optional":true}],"returnType":"Promise<FieldUsageSuggestionRunSummary>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableName":"_smrt_field_usage_learning_agents","api":{"include":[]},"cli":false,"mcp":{"include":[]}},"extends":"SmrtObject","exportName":"FieldUsageLearningAgent","collectionExportName":"FieldUsageLearningAgentCollection","schema":{"tableName":"_smrt_field_usage_learning_agents","ddl":"CREATE TABLE IF NOT EXISTS \\"_smrt_field_usage_learning_agents\\" (\\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":"_smrt_field_usage_learning_agents_slug_context_idx","columns":["slug","context"],"unique":true},{"name":"_smrt_field_usage_learning_agents_created_at_idx","columns":["created_at"]}],"version":"183ee1d8"},"importPath":"@happyvertical/smrt-fields"},"@happyvertical/smrt-fields:FieldPolicyCollection":{"name":"fieldpolicycollection","className":"FieldPolicyCollection","qualifiedName":"@happyvertical/smrt-fields:FieldPolicyCollection","collection":"fieldpolicies","filePath":"/home/runner/work/smrt/smrt/packages/fields/src/collections/FieldPolicyCollection.ts","packageName":"@happyvertical/smrt-fields","fields":{},"methods":{"policyAudit":{"name":"policyAudit","async":true,"parameters":[{"name":"options","type":"object","optional":true,"memberTypes":["string[]","boolean"]}],"returnType":"Promise<FieldPolicyAuditSnapshot>","isStatic":false,"isPublic":true},"getAppRows":{"name":"getAppRows","async":true,"parameters":[{"name":"objectRef","type":"string","optional":false}],"returnType":"Promise<Map<string, FieldPolicy>>","isStatic":false,"isPublic":true},"getTenantRows":{"name":"getTenantRows","async":true,"parameters":[{"name":"objectRef","type":"string","optional":false},{"name":"tenantIds","type":"string[]","optional":false}],"returnType":"Promise<Map<string, Map<string, FieldPolicy>>>","isStatic":false,"isPublic":true},"getUserRows":{"name":"getUserRows","async":true,"parameters":[{"name":"objectRef","type":"string","optional":false},{"name":"userId","type":"string","optional":false}],"returnType":"Promise<Map<string, FieldPolicy>>","isStatic":false,"isPublic":true},"resolveBatch":{"name":"resolveBatch","async":true,"parameters":[{"name":"options","type":"object","optional":true,"memberTypes":["string[]"]}],"returnType":"Promise<FieldPolicyBatchResult>","isStatic":false,"isPublic":true},"getEditorState":{"name":"getEditorState","async":true,"parameters":[{"name":"options","type":"object","optional":true,"memberTypes":["string"]}],"returnType":"Promise<FieldPolicyEditorStateResult>","isStatic":false,"isPublic":true}},"decoratorConfig":{"conflictColumns":["object_ref","field_name","scope_type","scope_key"],"api":{"include":["create","update","delete","resolveBatch","getEditorState","policyAudit"],"principalContext":true,"routes":{"resolveBatch":{"scope":"collection","method":"POST","path":"resolve"},"getEditorState":{"scope":"collection","method":"POST","path":"editor-state"},"policyAudit":{"scope":"collection","method":"POST","path":"policy-audit"}}},"cli":false,"mcp":false,"tableName":"_smrt_field_policies"},"extends":"SmrtCollection","extendsTypeArg":"FieldPolicy","exportName":"FieldPolicyCollection","collectionExportName":"FieldPolicyCollectionCollection","schema":{"tableName":"_smrt_field_policies","ddl":"CREATE TABLE IF NOT EXISTS \\"_smrt_field_policies\\" (\\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 \\"object_ref\\" TEXT NOT NULL DEFAULT '',\\n \\"field_name\\" TEXT NOT NULL DEFAULT '',\\n \\"scope_type\\" TEXT NOT NULL DEFAULT 'app',\\n \\"tenant_id\\" UUID,\\n \\"user_id\\" UUID,\\n \\"scope_key\\" TEXT NOT NULL,\\n \\"default_value\\" TEXT,\\n \\"visibility\\" TEXT,\\n \\"help\\" TEXT,\\n \\"label\\" TEXT,\\n \\"display_order\\" INTEGER,\\n \\"locked\\" BOOLEAN,\\n \\"updated_by\\" UUID\\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"},"object_ref":{"type":"TEXT","notNull":true,"unique":false,"default":""},"field_name":{"type":"TEXT","notNull":true,"unique":false,"default":""},"scope_type":{"type":"TEXT","notNull":true,"unique":false,"default":"app"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false,"unique":false},"user_id":{"type":"UUID","referenceKind":"crossPackageRef","notNull":false,"unique":false},"scope_key":{"type":"TEXT","notNull":true,"unique":false},"default_value":{"type":"TEXT","notNull":false,"unique":false},"visibility":{"type":"TEXT","notNull":false,"unique":false},"help":{"type":"TEXT","notNull":false,"unique":false},"label":{"type":"TEXT","notNull":false,"unique":false},"display_order":{"type":"INTEGER","notNull":false,"unique":false},"locked":{"type":"BOOLEAN","notNull":false,"unique":false},"updated_by":{"type":"UUID","referenceKind":"crossPackageRef","notNull":false,"unique":false}},"indexes":[{"name":"_smrt_field_policies_object_ref_field_name_idx","columns":["object_ref","field_name","scope_type","scope_key"],"unique":true},{"name":"_smrt_field_policies_slug_context_idx","columns":["slug","context"]},{"name":"_smrt_field_policies_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"_smrt_field_policies_user_id_idx","columns":["user_id"]},{"name":"_smrt_field_policies_updated_by_idx","columns":["updated_by"]}],"version":"34b355cc"},"importPath":"@happyvertical/smrt-fields"},"@happyvertical/smrt-fields:FieldPolicySuggestionCollection":{"name":"fieldpolicysuggestioncollection","className":"FieldPolicySuggestionCollection","qualifiedName":"@happyvertical/smrt-fields:FieldPolicySuggestionCollection","collection":"fieldpolicysuggestions","filePath":"/home/runner/work/smrt/smrt/packages/fields/src/collections/FieldPolicySuggestionCollection.ts","packageName":"@happyvertical/smrt-fields","fields":{},"methods":{"pendingSuggestions":{"name":"pendingSuggestions","async":true,"parameters":[{"name":"options","type":"object","optional":true,"memberTypes":["string[]"]}],"returnType":"Promise<PendingFieldPolicySuggestionsResult>","isStatic":false,"isPublic":true},"acceptSuggestion":{"name":"acceptSuggestion","async":true,"parameters":[{"name":"options","type":"object","optional":true,"memberTypes":["string"]}],"returnType":"Promise<AcceptFieldPolicySuggestionResult>","isStatic":false,"isPublic":true},"dismissSuggestion":{"name":"dismissSuggestion","async":true,"parameters":[{"name":"options","type":"object","optional":true,"memberTypes":["string","number"]}],"returnType":"Promise<DismissFieldPolicySuggestionResult>","isStatic":false,"isPublic":true}},"decoratorConfig":{"conflictColumns":["object_ref","field_name","tenant_id","kind","active_key"],"api":{"include":["pendingSuggestions","acceptSuggestion","dismissSuggestion"],"principalContext":true,"routes":{"pendingSuggestions":{"scope":"collection","method":"POST","path":"pending"},"acceptSuggestion":{"scope":"collection","method":"POST","path":"accept"},"dismissSuggestion":{"scope":"collection","method":"POST","path":"dismiss"}}},"cli":false,"mcp":false,"tableName":"_smrt_field_policy_suggestions"},"extends":"SmrtCollection","extendsTypeArg":"FieldPolicySuggestion","exportName":"FieldPolicySuggestionCollection","collectionExportName":"FieldPolicySuggestionCollectionCollection","schema":{"tableName":"_smrt_field_policy_suggestions","ddl":"CREATE TABLE IF NOT EXISTS \\"_smrt_field_policy_suggestions\\" (\\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 \\"object_ref\\" TEXT NOT NULL DEFAULT '',\\n \\"field_name\\" TEXT NOT NULL DEFAULT '',\\n \\"tenant_id\\" UUID NOT NULL,\\n \\"kind\\" TEXT NOT NULL DEFAULT 'promote',\\n \\"proposed_value\\" TEXT,\\n \\"evidence\\" TEXT,\\n \\"status\\" TEXT NOT NULL DEFAULT 'pending',\\n \\"active_key\\" TEXT NOT NULL,\\n \\"cooldown_until\\" TIMESTAMP,\\n \\"decided_by\\" UUID,\\n \\"decided_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"},"object_ref":{"type":"TEXT","notNull":true,"unique":false,"default":""},"field_name":{"type":"TEXT","notNull":true,"unique":false,"default":""},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":true,"unique":false},"kind":{"type":"TEXT","notNull":true,"unique":false,"default":"promote"},"proposed_value":{"type":"TEXT","notNull":false,"unique":false},"evidence":{"type":"TEXT","notNull":false,"unique":false},"status":{"type":"TEXT","notNull":true,"unique":false,"default":"pending"},"active_key":{"type":"TEXT","notNull":true,"unique":false},"cooldown_until":{"type":"TIMESTAMP","notNull":false,"unique":false},"decided_by":{"type":"UUID","referenceKind":"crossPackageRef","notNull":false,"unique":false},"decided_at":{"type":"TIMESTAMP","notNull":false,"unique":false}},"indexes":[{"name":"_smrt_field_policy_suggestions_object_ref_field_name_idx","columns":["object_ref","field_name","tenant_id","kind","active_key"],"unique":true},{"name":"_smrt_field_policy_suggestions_slug_context_idx","columns":["slug","context"]},{"name":"_smrt_field_policy_suggestions_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"_smrt_field_policy_suggestions_decided_by_idx","columns":["decided_by"]}],"version":"1bc8c6e5"},"importPath":"@happyvertical/smrt-fields"},"@happyvertical/smrt-fields:FieldUsageCounterCollection":{"name":"fieldusagecountercollection","className":"FieldUsageCounterCollection","qualifiedName":"@happyvertical/smrt-fields:FieldUsageCounterCollection","collection":"fieldusagecounters","filePath":"/home/runner/work/smrt/smrt/packages/fields/src/collections/FieldUsageCounterCollection.ts","packageName":"@happyvertical/smrt-fields","fields":{},"methods":{"reportUsage":{"name":"reportUsage","async":true,"parameters":[{"name":"options","type":"object","optional":true,"memberTypes":["FieldUsageReportEntry[]"]}],"returnType":"Promise<FieldUsageReportResult>","isStatic":false,"isPublic":true},"listWindow":{"name":"listWindow","async":true,"parameters":[{"name":"options","type":"object","optional":false,"memberTypes":["string","string | null"]}],"returnType":"Promise<FieldUsageCounter[]>","isStatic":false,"isPublic":true}},"decoratorConfig":{"conflictColumns":["object_ref","field_name","tenant_id","period"],"api":{"include":["reportUsage"],"principalContext":true,"routes":{"reportUsage":{"scope":"collection","method":"POST","path":"report"}}},"cli":false,"mcp":false,"tableName":"_smrt_field_usage_counters"},"extends":"SmrtCollection","extendsTypeArg":"FieldUsageCounter","exportName":"FieldUsageCounterCollection","collectionExportName":"FieldUsageCounterCollectionCollection","schema":{"tableName":"_smrt_field_usage_counters","ddl":"CREATE TABLE IF NOT EXISTS \\"_smrt_field_usage_counters\\" (\\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 \\"object_ref\\" TEXT NOT NULL DEFAULT '',\\n \\"field_name\\" TEXT NOT NULL DEFAULT '',\\n \\"tenant_id\\" UUID NOT NULL,\\n \\"period\\" TEXT NOT NULL DEFAULT '',\\n \\"submission_count\\" INTEGER,\\n \\"set_count\\" INTEGER,\\n \\"distinct_user_count\\" INTEGER,\\n \\"distinct_user_ids\\" TEXT,\\n \\"distinct_users_overflowed\\" BOOLEAN,\\n \\"value_histogram\\" TEXT,\\n \\"value_histogram_overflowed\\" BOOLEAN\\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"},"object_ref":{"type":"TEXT","notNull":true,"unique":false,"default":""},"field_name":{"type":"TEXT","notNull":true,"unique":false,"default":""},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":true,"unique":false},"period":{"type":"TEXT","notNull":true,"unique":false,"default":""},"submission_count":{"type":"INTEGER","notNull":false,"unique":false},"set_count":{"type":"INTEGER","notNull":false,"unique":false},"distinct_user_count":{"type":"INTEGER","notNull":false,"unique":false},"distinct_user_ids":{"type":"TEXT","notNull":false,"unique":false},"distinct_users_overflowed":{"type":"BOOLEAN","notNull":false,"unique":false},"value_histogram":{"type":"TEXT","notNull":false,"unique":false},"value_histogram_overflowed":{"type":"BOOLEAN","notNull":false,"unique":false}},"indexes":[{"name":"_smrt_field_usage_counters_object_ref_field_name_idx","columns":["object_ref","field_name","tenant_id","period"],"unique":true},{"name":"_smrt_field_usage_counters_slug_context_idx","columns":["slug","context"]},{"name":"_smrt_field_usage_counters_tenant_id_created_at_idx","columns":["tenant_id","created_at"]}],"version":"46fcebc6"},"importPath":"@happyvertical/smrt-fields"},"@happyvertical/smrt-fields:FieldUsageReportReceiptCollection":{"name":"fieldusagereportreceiptcollection","className":"FieldUsageReportReceiptCollection","qualifiedName":"@happyvertical/smrt-fields:FieldUsageReportReceiptCollection","collection":"fieldusagereportreceipts","filePath":"/home/runner/work/smrt/smrt/packages/fields/src/collections/FieldUsageCounterCollection.ts","packageName":"@happyvertical/smrt-fields","fields":{},"methods":{"claim":{"name":"claim","async":true,"parameters":[{"name":"options","type":"object","optional":false,"memberTypes":["string"]}],"returnType":"Promise<boolean>","isStatic":false,"isPublic":true}},"decoratorConfig":{"conflictColumns":["tenant_id","user_id","object_ref","field_name","period"],"api":false,"cli":false,"mcp":false,"tableName":"_smrt_field_usage_report_receipts"},"extends":"SmrtCollection","extendsTypeArg":"FieldUsageReportReceipt","exportName":"FieldUsageReportReceiptCollection","collectionExportName":"FieldUsageReportReceiptCollectionCollection","schema":{"tableName":"_smrt_field_usage_report_receipts","ddl":"CREATE TABLE IF NOT EXISTS \\"_smrt_field_usage_report_receipts\\" (\\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 \\"user_id\\" UUID,\\n \\"object_ref\\" TEXT NOT NULL DEFAULT '',\\n \\"field_name\\" TEXT NOT NULL DEFAULT '',\\n \\"period\\" TEXT NOT NULL 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},"user_id":{"type":"UUID","referenceKind":"crossPackageRef","notNull":false,"unique":false},"object_ref":{"type":"TEXT","notNull":true,"unique":false,"default":""},"field_name":{"type":"TEXT","notNull":true,"unique":false,"default":""},"period":{"type":"TEXT","notNull":true,"unique":false,"default":""}},"indexes":[{"name":"_smrt_field_usage_report_receipts_tenant_id_user_id_idx","columns":["tenant_id","user_id","object_ref","field_name","period"],"unique":true,"nullsNotDistinct":true},{"name":"_smrt_field_usage_report_receipts_slug_context_idx","columns":["slug","context"]},{"name":"_smrt_field_usage_report_receipts_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"_smrt_field_usage_report_receipts_user_id_idx","columns":["user_id"]}],"version":"c3119047"},"importPath":"@happyvertical/smrt-fields"},"@happyvertical/smrt-fields:FieldPolicy":{"name":"fieldpolicy","className":"FieldPolicy","qualifiedName":"@happyvertical/smrt-fields:FieldPolicy","collection":"fieldpolicies","filePath":"/home/runner/work/smrt/smrt/packages/fields/src/models/FieldPolicy.ts","packageName":"@happyvertical/smrt-fields","fields":{"objectRef":{"type":"text","required":true,"default":"","_meta":{"required":true}},"fieldName":{"type":"text","required":true,"default":"","_meta":{"required":true}},"scopeType":{"type":"text","required":true,"default":"app","_meta":{"required":true}},"tenantId":{"type":"text","required":false,"_meta":{"sqlType":"UUID","nullable":true,"__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":false,"autoPopulate":true,"nullable":true}}},"userId":{"type":"crossPackageRef","required":false,"related":"@happyvertical/smrt-users:User","_meta":{"nullable":true}},"scopeKey":{"type":"text","required":true,"_meta":{"required":true}},"defaultValue":{"type":"text","required":false,"_meta":{"nullable":true}},"visibility":{"type":"text","required":false,"_meta":{"nullable":true}},"help":{"type":"text","required":false,"_meta":{"nullable":true}},"label":{"type":"text","required":false,"_meta":{"nullable":true}},"displayOrder":{"type":"integer","required":false,"_meta":{"nullable":true}},"locked":{"type":"boolean","required":false,"_meta":{"nullable":true}},"updatedBy":{"type":"crossPackageRef","required":false,"related":"@happyvertical/smrt-users:User","_meta":{"nullable":true}}},"methods":{"getDefaultValue":{"name":"getDefaultValue","async":false,"parameters":[],"returnType":"unknown","isStatic":false,"isPublic":true},"setDefaultValue":{"name":"setDefaultValue","async":false,"parameters":[{"name":"value","type":"unknown","optional":false}],"returnType":"void","isStatic":false,"isPublic":true},"save":{"name":"save","async":true,"parameters":[],"returnType":"Promise<this>","isStatic":false,"isPublic":true},"delete":{"name":"delete","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableName":"_smrt_field_policies","conflictColumns":["object_ref","field_name","scope_type","scope_key"],"api":{"include":["create","update","delete"],"principalContext":true},"cli":{"include":["create","update","delete"],"exclude":["getDefaultValue","setDefaultValue"]},"mcp":{"include":[]}},"extends":"SmrtObject","exportName":"FieldPolicy","collectionExportName":"FieldPolicyCollection","validationRules":[{"field":"objectRef","rule":"required","fieldType":"text"},{"field":"fieldName","rule":"required","fieldType":"text"},{"field":"scopeType","rule":"required","fieldType":"text"},{"field":"scopeKey","rule":"required","fieldType":"text"}],"schema":{"tableName":"_smrt_field_policies","ddl":"CREATE TABLE IF NOT EXISTS \\"_smrt_field_policies\\" (\\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 \\"object_ref\\" TEXT NOT NULL DEFAULT '',\\n \\"field_name\\" TEXT NOT NULL DEFAULT '',\\n \\"scope_type\\" TEXT NOT NULL DEFAULT 'app',\\n \\"tenant_id\\" UUID,\\n \\"user_id\\" UUID,\\n \\"scope_key\\" TEXT NOT NULL,\\n \\"default_value\\" TEXT,\\n \\"visibility\\" TEXT,\\n \\"help\\" TEXT,\\n \\"label\\" TEXT,\\n \\"display_order\\" INTEGER,\\n \\"locked\\" BOOLEAN,\\n \\"updated_by\\" UUID\\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"},"object_ref":{"type":"TEXT","notNull":true,"unique":false,"default":""},"field_name":{"type":"TEXT","notNull":true,"unique":false,"default":""},"scope_type":{"type":"TEXT","notNull":true,"unique":false,"default":"app"},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":false,"unique":false},"user_id":{"type":"UUID","referenceKind":"crossPackageRef","notNull":false,"unique":false},"scope_key":{"type":"TEXT","notNull":true,"unique":false},"default_value":{"type":"TEXT","notNull":false,"unique":false},"visibility":{"type":"TEXT","notNull":false,"unique":false},"help":{"type":"TEXT","notNull":false,"unique":false},"label":{"type":"TEXT","notNull":false,"unique":false},"display_order":{"type":"INTEGER","notNull":false,"unique":false},"locked":{"type":"BOOLEAN","notNull":false,"unique":false},"updated_by":{"type":"UUID","referenceKind":"crossPackageRef","notNull":false,"unique":false}},"indexes":[{"name":"_smrt_field_policies_object_ref_field_name_idx","columns":["object_ref","field_name","scope_type","scope_key"],"unique":true},{"name":"_smrt_field_policies_slug_context_idx","columns":["slug","context"]},{"name":"_smrt_field_policies_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"_smrt_field_policies_user_id_idx","columns":["user_id"]},{"name":"_smrt_field_policies_updated_by_idx","columns":["updated_by"]}],"version":"34b355cc"},"importPath":"@happyvertical/smrt-fields"},"@happyvertical/smrt-fields:FieldPolicySuggestion":{"name":"fieldpolicysuggestion","className":"FieldPolicySuggestion","qualifiedName":"@happyvertical/smrt-fields:FieldPolicySuggestion","collection":"fieldpolicysuggestions","filePath":"/home/runner/work/smrt/smrt/packages/fields/src/models/FieldPolicySuggestion.ts","packageName":"@happyvertical/smrt-fields","fields":{"objectRef":{"type":"text","required":true,"default":"","_meta":{"required":true}},"fieldName":{"type":"text","required":true,"default":"","_meta":{"required":true}},"tenantId":{"type":"text","required":true,"_meta":{"sqlType":"UUID","__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":true,"autoPopulate":true,"nullable":false}}},"kind":{"type":"text","required":true,"default":"promote","_meta":{"required":true}},"proposedValue":{"type":"text","required":false,"_meta":{"nullable":true}},"evidence":{"type":"text","required":false,"_meta":{}},"status":{"type":"text","required":true,"default":"pending","_meta":{"required":true}},"activeKey":{"type":"text","required":true,"_meta":{"required":true}},"cooldownUntil":{"type":"datetime","required":false,"_meta":{"nullable":true}},"decidedBy":{"type":"crossPackageRef","required":false,"related":"@happyvertical/smrt-users:User","_meta":{"nullable":true}},"decidedAt":{"type":"datetime","required":false,"_meta":{"nullable":true}}},"methods":{"getEvidence":{"name":"getEvidence","async":false,"parameters":[],"returnType":"Record<string, unknown>","isStatic":false,"isPublic":true},"setEvidence":{"name":"setEvidence","async":false,"parameters":[{"name":"evidence","type":"Record<string, unknown>","optional":false}],"returnType":"void","isStatic":false,"isPublic":true},"getProposedValue":{"name":"getProposedValue","async":false,"parameters":[],"returnType":"unknown","isStatic":false,"isPublic":true},"toSuggestionData":{"name":"toSuggestionData","async":false,"parameters":[],"returnType":"FieldPolicySuggestionData","isStatic":false,"isPublic":true},"save":{"name":"save","async":true,"parameters":[],"returnType":"Promise<this>","isStatic":false,"isPublic":true},"delete":{"name":"delete","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableName":"_smrt_field_policy_suggestions","conflictColumns":["object_ref","field_name","tenant_id","kind","active_key"],"api":{"include":[]},"cli":false,"mcp":{"include":[]}},"extends":"SmrtObject","exportName":"FieldPolicySuggestion","collectionExportName":"FieldPolicySuggestionCollection","validationRules":[{"field":"objectRef","rule":"required","fieldType":"text"},{"field":"fieldName","rule":"required","fieldType":"text"},{"field":"kind","rule":"required","fieldType":"text"},{"field":"status","rule":"required","fieldType":"text"},{"field":"activeKey","rule":"required","fieldType":"text"}],"schema":{"tableName":"_smrt_field_policy_suggestions","ddl":"CREATE TABLE IF NOT EXISTS \\"_smrt_field_policy_suggestions\\" (\\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 \\"object_ref\\" TEXT NOT NULL DEFAULT '',\\n \\"field_name\\" TEXT NOT NULL DEFAULT '',\\n \\"tenant_id\\" UUID NOT NULL,\\n \\"kind\\" TEXT NOT NULL DEFAULT 'promote',\\n \\"proposed_value\\" TEXT,\\n \\"evidence\\" TEXT,\\n \\"status\\" TEXT NOT NULL DEFAULT 'pending',\\n \\"active_key\\" TEXT NOT NULL,\\n \\"cooldown_until\\" TIMESTAMP,\\n \\"decided_by\\" UUID,\\n \\"decided_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"},"object_ref":{"type":"TEXT","notNull":true,"unique":false,"default":""},"field_name":{"type":"TEXT","notNull":true,"unique":false,"default":""},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":true,"unique":false},"kind":{"type":"TEXT","notNull":true,"unique":false,"default":"promote"},"proposed_value":{"type":"TEXT","notNull":false,"unique":false},"evidence":{"type":"TEXT","notNull":false,"unique":false},"status":{"type":"TEXT","notNull":true,"unique":false,"default":"pending"},"active_key":{"type":"TEXT","notNull":true,"unique":false},"cooldown_until":{"type":"TIMESTAMP","notNull":false,"unique":false},"decided_by":{"type":"UUID","referenceKind":"crossPackageRef","notNull":false,"unique":false},"decided_at":{"type":"TIMESTAMP","notNull":false,"unique":false}},"indexes":[{"name":"_smrt_field_policy_suggestions_object_ref_field_name_idx","columns":["object_ref","field_name","tenant_id","kind","active_key"],"unique":true},{"name":"_smrt_field_policy_suggestions_slug_context_idx","columns":["slug","context"]},{"name":"_smrt_field_policy_suggestions_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"_smrt_field_policy_suggestions_decided_by_idx","columns":["decided_by"]}],"version":"1bc8c6e5"},"importPath":"@happyvertical/smrt-fields"},"@happyvertical/smrt-fields:FieldUsageCounter":{"name":"fieldusagecounter","className":"FieldUsageCounter","qualifiedName":"@happyvertical/smrt-fields:FieldUsageCounter","collection":"fieldusagecounters","filePath":"/home/runner/work/smrt/smrt/packages/fields/src/models/FieldUsageCounter.ts","packageName":"@happyvertical/smrt-fields","fields":{"objectRef":{"type":"text","required":true,"default":"","_meta":{"required":true}},"fieldName":{"type":"text","required":true,"default":"","_meta":{"required":true}},"tenantId":{"type":"text","required":true,"_meta":{"sqlType":"UUID","__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":true,"autoPopulate":true,"nullable":false}}},"period":{"type":"text","required":true,"default":"","_meta":{"required":true}},"submissionCount":{"type":"integer","required":false,"_meta":{}},"setCount":{"type":"integer","required":false,"_meta":{}},"distinctUserCount":{"type":"integer","required":false,"_meta":{}},"distinctUserIds":{"type":"text","required":false,"_meta":{}},"distinctUsersOverflowed":{"type":"boolean","required":false,"_meta":{}},"valueHistogram":{"type":"text","required":false,"_meta":{"nullable":true}},"valueHistogramOverflowed":{"type":"boolean","required":false,"_meta":{}}},"methods":{"getDistinctUserIds":{"name":"getDistinctUserIds","async":false,"parameters":[],"returnType":"string[]","isStatic":false,"isPublic":true},"addDistinctUser":{"name":"addDistinctUser","async":false,"parameters":[{"name":"userId","type":"string","optional":false}],"returnType":"void","isStatic":false,"isPublic":true},"getValueHistogram":{"name":"getValueHistogram","async":false,"parameters":[],"returnType":"Record<string, number>","isStatic":false,"isPublic":true},"recordHistogramSample":{"name":"recordHistogramSample","async":false,"parameters":[{"name":"key","type":"string","optional":false}],"returnType":"void","isStatic":false,"isPublic":true},"isLegacyBucket":{"name":"isLegacyBucket","async":false,"parameters":[],"returnType":"boolean","isStatic":false,"isPublic":true},"save":{"name":"save","async":true,"parameters":[],"returnType":"Promise<this>","isStatic":false,"isPublic":true},"delete":{"name":"delete","async":true,"parameters":[],"returnType":"Promise<void>","isStatic":false,"isPublic":true}},"decoratorConfig":{"tableName":"_smrt_field_usage_counters","conflictColumns":["object_ref","field_name","tenant_id","period"],"api":{"include":[]},"cli":false,"mcp":{"include":[]}},"extends":"SmrtObject","exportName":"FieldUsageCounter","collectionExportName":"FieldUsageCounterCollection","validationRules":[{"field":"objectRef","rule":"required","fieldType":"text"},{"field":"fieldName","rule":"required","fieldType":"text"},{"field":"period","rule":"required","fieldType":"text"}],"schema":{"tableName":"_smrt_field_usage_counters","ddl":"CREATE TABLE IF NOT EXISTS \\"_smrt_field_usage_counters\\" (\\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 \\"object_ref\\" TEXT NOT NULL DEFAULT '',\\n \\"field_name\\" TEXT NOT NULL DEFAULT '',\\n \\"tenant_id\\" UUID NOT NULL,\\n \\"period\\" TEXT NOT NULL DEFAULT '',\\n \\"submission_count\\" INTEGER,\\n \\"set_count\\" INTEGER,\\n \\"distinct_user_count\\" INTEGER,\\n \\"distinct_user_ids\\" TEXT,\\n \\"distinct_users_overflowed\\" BOOLEAN,\\n \\"value_histogram\\" TEXT,\\n \\"value_histogram_overflowed\\" BOOLEAN\\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"},"object_ref":{"type":"TEXT","notNull":true,"unique":false,"default":""},"field_name":{"type":"TEXT","notNull":true,"unique":false,"default":""},"tenant_id":{"type":"UUID","referenceKind":"tenantId","notNull":true,"unique":false},"period":{"type":"TEXT","notNull":true,"unique":false,"default":""},"submission_count":{"type":"INTEGER","notNull":false,"unique":false},"set_count":{"type":"INTEGER","notNull":false,"unique":false},"distinct_user_count":{"type":"INTEGER","notNull":false,"unique":false},"distinct_user_ids":{"type":"TEXT","notNull":false,"unique":false},"distinct_users_overflowed":{"type":"BOOLEAN","notNull":false,"unique":false},"value_histogram":{"type":"TEXT","notNull":false,"unique":false},"value_histogram_overflowed":{"type":"BOOLEAN","notNull":false,"unique":false}},"indexes":[{"name":"_smrt_field_usage_counters_object_ref_field_name_idx","columns":["object_ref","field_name","tenant_id","period"],"unique":true},{"name":"_smrt_field_usage_counters_slug_context_idx","columns":["slug","context"]},{"name":"_smrt_field_usage_counters_tenant_id_created_at_idx","columns":["tenant_id","created_at"]}],"version":"46fcebc6"},"importPath":"@happyvertical/smrt-fields"},"@happyvertical/smrt-fields:FieldUsageReportReceipt":{"name":"fieldusagereportreceipt","className":"FieldUsageReportReceipt","qualifiedName":"@happyvertical/smrt-fields:FieldUsageReportReceipt","collection":"fieldusagereportreceipts","filePath":"/home/runner/work/smrt/smrt/packages/fields/src/models/FieldUsageReportReceipt.ts","packageName":"@happyvertical/smrt-fields","fields":{"tenantId":{"type":"text","required":true,"_meta":{"sqlType":"UUID","__tenancy":{"isTenantIdField":true,"autoFilter":true,"required":true,"autoPopulate":true,"nullable":false}}},"userId":{"type":"crossPackageRef","required":false,"related":"@happyvertical/smrt-users:User"},"objectRef":{"type":"text","required":true,"default":"","_meta":{"required":true}},"fieldName":{"type":"text","required":true,"default":"","_meta":{"required":true}},"period":{"type":"text","required":true,"default":"","_meta":{"required":true}}},"methods":{},"decoratorConfig":{"tableName":"_smrt_field_usage_report_receipts","conflictColumns":["tenant_id","user_id","object_ref","field_name","period"],"api":{"include":[]},"cli":false,"mcp":{"include":[]}},"extends":"SmrtObject","exportName":"FieldUsageReportReceipt","collectionExportName":"FieldUsageReportReceiptCollection","validationRules":[{"field":"objectRef","rule":"required","fieldType":"text"},{"field":"fieldName","rule":"required","fieldType":"text"},{"field":"period","rule":"required","fieldType":"text"}],"schema":{"tableName":"_smrt_field_usage_report_receipts","ddl":"CREATE TABLE IF NOT EXISTS \\"_smrt_field_usage_report_receipts\\" (\\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 \\"user_id\\" UUID,\\n \\"object_ref\\" TEXT NOT NULL DEFAULT '',\\n \\"field_name\\" TEXT NOT NULL DEFAULT '',\\n \\"period\\" TEXT NOT NULL 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},"user_id":{"type":"UUID","referenceKind":"crossPackageRef","notNull":false,"unique":false},"object_ref":{"type":"TEXT","notNull":true,"unique":false,"default":""},"field_name":{"type":"TEXT","notNull":true,"unique":false,"default":""},"period":{"type":"TEXT","notNull":true,"unique":false,"default":""}},"indexes":[{"name":"_smrt_field_usage_report_receipts_tenant_id_user_id_idx","columns":["tenant_id","user_id","object_ref","field_name","period"],"unique":true,"nullsNotDistinct":true},{"name":"_smrt_field_usage_report_receipts_slug_context_idx","columns":["slug","context"]},{"name":"_smrt_field_usage_report_receipts_tenant_id_created_at_idx","columns":["tenant_id","created_at"]},{"name":"_smrt_field_usage_report_receipts_user_id_idx","columns":["user_id"]}],"version":"c3119047"},"importPath":"@happyvertical/smrt-fields"}},"moduleType":"smrt","smrtDependencies":["@happyvertical/smrt-core","@happyvertical/smrt-tenancy","@happyvertical/smrt-users"],"stampsConstructors":true}`));
9
9
  //#endregion
10
10
  //#region src/deterministic-id.ts
11
11
  async function deterministicFieldsUuid(parts) {
@@ -26,12 +26,19 @@ async function deterministicFieldsUuid(parts) {
26
26
  //#region src/models/FieldPolicySuggestion.ts
27
27
  var __defProp$5 = Object.defineProperty;
28
28
  var __getOwnPropDesc$5 = Object.getOwnPropertyDescriptor;
29
+ var __defNormalProp$5 = (obj, key, value) => key in obj ? __defProp$5(obj, key, {
30
+ enumerable: true,
31
+ configurable: true,
32
+ writable: true,
33
+ value
34
+ }) : obj[key] = value;
29
35
  var __decorateClass$5 = (decorators, target, key, kind) => {
30
36
  var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$5(target, key) : target;
31
37
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
32
38
  if (kind && result) __defProp$5(target, key, result);
33
39
  return result;
34
40
  };
41
+ var __publicField$5 = (obj, key, value) => __defNormalProp$5(obj, typeof key !== "symbol" ? key + "" : key, value);
35
42
  var ACTIVE_SUGGESTION_KEY = "active";
36
43
  var FieldPolicySuggestion = class extends SmrtObject {
37
44
  objectRef = "";
@@ -177,6 +184,7 @@ var FieldPolicySuggestion = class extends SmrtObject {
177
184
  }
178
185
  }
179
186
  };
187
+ __publicField$5(FieldPolicySuggestion, "__smrtPackage__", "@happyvertical/smrt-fields");
180
188
  __decorateClass$5([field({ required: true })], FieldPolicySuggestion.prototype, "objectRef", 2);
181
189
  __decorateClass$5([field({ required: true })], FieldPolicySuggestion.prototype, "fieldName", 2);
182
190
  __decorateClass$5([tenantId()], FieldPolicySuggestion.prototype, "tenantId", 2);
@@ -223,7 +231,7 @@ function toIsoOrNull(value) {
223
231
  //#region src/collections/FieldPolicySuggestionCollection.ts
224
232
  var __defProp$4 = Object.defineProperty;
225
233
  var __getOwnPropDesc$4 = Object.getOwnPropertyDescriptor;
226
- var __defNormalProp$2 = (obj, key, value) => key in obj ? __defProp$4(obj, key, {
234
+ var __defNormalProp$4 = (obj, key, value) => key in obj ? __defProp$4(obj, key, {
227
235
  enumerable: true,
228
236
  configurable: true,
229
237
  writable: true,
@@ -235,7 +243,7 @@ var __decorateClass$4 = (decorators, target, key, kind) => {
235
243
  if (kind && result) __defProp$4(target, key, result);
236
244
  return result;
237
245
  };
238
- var __publicField$2 = (obj, key, value) => __defNormalProp$2(obj, typeof key !== "symbol" ? key + "" : key, value);
246
+ var __publicField$4 = (obj, key, value) => __defNormalProp$4(obj, typeof key !== "symbol" ? key + "" : key, value);
239
247
  var FieldPolicySuggestionConflictError = class extends Error {
240
248
  /** Core's generated-REST status contract (own integer property). */
241
249
  httpStatus = 409;
@@ -519,7 +527,7 @@ var FieldPolicySuggestionCollection = class extends SmrtCollection {
519
527
  };
520
528
  const updatedId = await updatePolicyColumn(db, target);
521
529
  if (updatedId) return updatedId;
522
- const { FieldPolicyCollection } = await import("./chunks/FieldPolicyCollection--RxukfCX.js").then((n) => n.n);
530
+ const { FieldPolicyCollection } = await import("./chunks/FieldPolicyCollection-DSJcxvbK.js").then((n) => n.n);
523
531
  const policies = await FieldPolicyCollection.create(transactionBoundOptions(db));
524
532
  const deterministicId = await fieldPolicyRowId(tenantId, suggestion.objectRef, suggestion.fieldName);
525
533
  try {
@@ -579,7 +587,8 @@ var FieldPolicySuggestionCollection = class extends SmrtCollection {
579
587
  return suggestion;
580
588
  }
581
589
  };
582
- __publicField$2(FieldPolicySuggestionCollection, "_itemClass", FieldPolicySuggestion);
590
+ __publicField$4(FieldPolicySuggestionCollection, "__smrtPackage__", "@happyvertical/smrt-fields");
591
+ __publicField$4(FieldPolicySuggestionCollection, "_itemClass", FieldPolicySuggestion);
583
592
  FieldPolicySuggestionCollection = __decorateClass$4([smrt({
584
593
  conflictColumns: [
585
594
  "object_ref",
@@ -633,12 +642,19 @@ function normalizeCoolDownMs(raw) {
633
642
  //#region src/models/FieldUsageCounter.ts
634
643
  var __defProp$3 = Object.defineProperty;
635
644
  var __getOwnPropDesc$3 = Object.getOwnPropertyDescriptor;
645
+ var __defNormalProp$3 = (obj, key, value) => key in obj ? __defProp$3(obj, key, {
646
+ enumerable: true,
647
+ configurable: true,
648
+ writable: true,
649
+ value
650
+ }) : obj[key] = value;
636
651
  var __decorateClass$3 = (decorators, target, key, kind) => {
637
652
  var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$3(target, key) : target;
638
653
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
639
654
  if (kind && result) __defProp$3(target, key, result);
640
655
  return result;
641
656
  };
657
+ var __publicField$3 = (obj, key, value) => __defNormalProp$3(obj, typeof key !== "symbol" ? key + "" : key, value);
642
658
  var MAX_DISTINCT_USERS_PER_BUCKET = 100;
643
659
  var MAX_VALUE_HISTOGRAM_BUCKETS = 25;
644
660
  var FIELD_USAGE_PERIOD_PATTERN = /^\d{4}-\d{2}-\d{2}$/;
@@ -805,6 +821,7 @@ var FieldUsageCounter = class extends SmrtObject {
805
821
  return value === void 0 || value === null ? null : String(value);
806
822
  }
807
823
  };
824
+ __publicField$3(FieldUsageCounter, "__smrtPackage__", "@happyvertical/smrt-fields");
808
825
  __decorateClass$3([field({ required: true })], FieldUsageCounter.prototype, "objectRef", 2);
809
826
  __decorateClass$3([field({ required: true })], FieldUsageCounter.prototype, "fieldName", 2);
810
827
  __decorateClass$3([tenantId()], FieldUsageCounter.prototype, "tenantId", 2);
@@ -835,12 +852,19 @@ FieldUsageCounter = __decorateClass$3([smrt({
835
852
  //#region src/models/FieldUsageReportReceipt.ts
836
853
  var __defProp$2 = Object.defineProperty;
837
854
  var __getOwnPropDesc$2 = Object.getOwnPropertyDescriptor;
855
+ var __defNormalProp$2 = (obj, key, value) => key in obj ? __defProp$2(obj, key, {
856
+ enumerable: true,
857
+ configurable: true,
858
+ writable: true,
859
+ value
860
+ }) : obj[key] = value;
838
861
  var __decorateClass$2 = (decorators, target, key, kind) => {
839
862
  var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$2(target, key) : target;
840
863
  for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result;
841
864
  if (kind && result) __defProp$2(target, key, result);
842
865
  return result;
843
866
  };
867
+ var __publicField$2 = (obj, key, value) => __defNormalProp$2(obj, typeof key !== "symbol" ? key + "" : key, value);
844
868
  var FieldUsageReportReceipt = class extends SmrtObject {
845
869
  tenantId;
846
870
  userId = "";
@@ -856,6 +880,7 @@ var FieldUsageReportReceipt = class extends SmrtObject {
856
880
  if (options.period !== void 0) this.period = options.period;
857
881
  }
858
882
  };
883
+ __publicField$2(FieldUsageReportReceipt, "__smrtPackage__", "@happyvertical/smrt-fields");
859
884
  __decorateClass$2([tenantId()], FieldUsageReportReceipt.prototype, "tenantId", 2);
860
885
  __decorateClass$2([crossPackageRef("@happyvertical/smrt-users:User")], FieldUsageReportReceipt.prototype, "userId", 2);
861
886
  __decorateClass$2([field({ required: true })], FieldUsageReportReceipt.prototype, "objectRef", 2);
@@ -1106,6 +1131,7 @@ var FieldUsageCounterCollection = class extends SmrtCollection {
1106
1131
  await counter.save();
1107
1132
  }
1108
1133
  };
1134
+ __publicField$1(FieldUsageCounterCollection, "__smrtPackage__", "@happyvertical/smrt-fields");
1109
1135
  __publicField$1(FieldUsageCounterCollection, "_itemClass", FieldUsageCounter);
1110
1136
  FieldUsageCounterCollection = __decorateClass$1([smrt({
1111
1137
  conflictColumns: [
@@ -1143,6 +1169,7 @@ var FieldUsageReportReceiptCollection = class extends SmrtCollection {
1143
1169
  }
1144
1170
  }
1145
1171
  };
1172
+ __publicField$1(FieldUsageReportReceiptCollection, "__smrtPackage__", "@happyvertical/smrt-fields");
1146
1173
  __publicField$1(FieldUsageReportReceiptCollection, "_itemClass", FieldUsageReportReceipt);
1147
1174
  FieldUsageReportReceiptCollection = __decorateClass$1([smrt({
1148
1175
  conflictColumns: [
@@ -2008,6 +2035,7 @@ var FieldUsageLearningAgent = class extends SmrtObject {
2008
2035
  });
2009
2036
  }
2010
2037
  };
2038
+ __publicField(FieldUsageLearningAgent, "__smrtPackage__", "@happyvertical/smrt-fields");
2011
2039
  /**
2012
2040
  * The smrt-jobs opt-in background allowlist (S5 contract): ONLY these two
2013
2041
  * methods are reachable from a persisted job/schedule row.