@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/chunks/{FieldPolicyCollection--RxukfCX.js → FieldPolicyCollection-DSJcxvbK.js} +10 -1
- package/dist/chunks/FieldPolicyCollection-DSJcxvbK.js.map +1 -0
- package/dist/index.js +34 -6
- package/dist/index.js.map +1 -1
- package/dist/manifest.json +3 -2
- package/dist/smrt-knowledge.json +3 -3
- package/package.json +9 -9
- package/dist/chunks/FieldPolicyCollection--RxukfCX.js.map +0 -1
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
|
|
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$
|
|
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$
|
|
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
|
|
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$
|
|
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.
|