@happyvertical/smrt-languages 0.51.3 → 0.51.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
@@ -3,7 +3,7 @@ import { ObjectRegistry } from "@happyvertical/smrt-core";
3
3
  import { getPackageConfig } from "@happyvertical/smrt-config";
4
4
  import { getTenantId } from "@happyvertical/smrt-tenancy";
5
5
  //#region src/__smrt-register__.ts
6
- ObjectRegistry.registerPackageManifest(JSON.parse("{\"version\":\"1.0.0\",\"timestamp\":0,\"packageName\":\"@happyvertical/smrt-languages\",\"packageVersion\":\"0.51.3\",\"objects\":{\"@happyvertical/smrt-languages:LanguageTranslationTask\":{\"name\":\"languagetranslationtask\",\"className\":\"LanguageTranslationTask\",\"qualifiedName\":\"@happyvertical/smrt-languages:LanguageTranslationTask\",\"collection\":\"languagetranslationtasks\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/languages/src/translation-job.ts\",\"packageName\":\"@happyvertical/smrt-languages\",\"fields\":{},\"methods\":{\"execute\":{\"name\":\"execute\",\"async\":true,\"parameters\":[{\"name\":\"args\",\"type\":\"TranslationJobPayload\",\"optional\":false}],\"returnType\":\"Promise<object>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"api\":{\"include\":[]},\"cli\":{\"include\":[]},\"mcp\":{\"include\":[]}},\"extends\":\"SmrtObject\",\"exportName\":\"LanguageTranslationTask\",\"collectionExportName\":\"LanguageTranslationTaskCollection\",\"schema\":{\"tableName\":\"language_translation_tasks\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"language_translation_tasks\\\" (\\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\":\"language_translation_tasks_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"language_translation_tasks_created_at_idx\",\"columns\":[\"created_at\"]}],\"version\":\"2cfc8812\"},\"importPath\":\"@happyvertical/smrt-languages\"},\"@happyvertical/smrt-languages:LanguageOverride\":{\"name\":\"languageoverride\",\"className\":\"LanguageOverride\",\"qualifiedName\":\"@happyvertical/smrt-languages:LanguageOverride\",\"collection\":\"languageoverrides\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/languages/src/models/LanguageOverride.ts\",\"packageName\":\"@happyvertical/smrt-languages\",\"fields\":{\"key\":{\"type\":\"text\",\"required\":true,\"default\":\"\",\"_meta\":{\"required\":true}},\"locale\":{\"type\":\"text\",\"required\":true,\"default\":\"\",\"_meta\":{\"required\":true}},\"tenantId\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"nullable\":true}},\"template\":{\"type\":\"text\",\"required\":true,\"_meta\":{\"required\":true}},\"auto_generated\":{\"type\":\"boolean\",\"required\":true,\"default\":false,\"_meta\":{\"required\":true,\"default\":false}},\"source_hash\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"nullable\":true}},\"ai_model\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"nullable\":true}},\"reviewed_at\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"nullable\":true}},\"reviewed_by\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"nullable\":true}}},\"methods\":{\"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},\"approve\":{\"name\":\"approve\",\"async\":true,\"parameters\":[{\"name\":\"reviewerId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tableName\":\"_smrt_language_overrides\",\"conflictColumns\":[\"key\",\"locale\",\"context\"],\"api\":{\"include\":[\"list\",\"get\",\"create\",\"update\",\"delete\"]},\"cli\":{\"include\":[\"list\",\"get\",\"create\",\"update\",\"delete\",\"approve\"],\"skipApiCheck\":true},\"mcp\":{\"include\":[]}},\"extends\":\"SmrtObject\",\"exportName\":\"LanguageOverride\",\"collectionExportName\":\"LanguageOverrideCollection\",\"validationRules\":[{\"field\":\"key\",\"rule\":\"required\",\"fieldType\":\"text\"},{\"field\":\"locale\",\"rule\":\"required\",\"fieldType\":\"text\"},{\"field\":\"template\",\"rule\":\"required\",\"fieldType\":\"text\"},{\"field\":\"auto_generated\",\"rule\":\"required\",\"fieldType\":\"boolean\"}],\"schema\":{\"tableName\":\"_smrt_language_overrides\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"_smrt_language_overrides\\\" (\\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 \\\"key\\\" TEXT NOT NULL DEFAULT '',\\n \\\"locale\\\" TEXT NOT NULL DEFAULT '',\\n \\\"tenant_id\\\" TEXT,\\n \\\"template\\\" TEXT NOT NULL,\\n \\\"auto_generated\\\" BOOLEAN NOT NULL DEFAULT FALSE,\\n \\\"source_hash\\\" TEXT,\\n \\\"ai_model\\\" TEXT,\\n \\\"reviewed_at\\\" TEXT,\\n \\\"reviewed_by\\\" TEXT\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"key\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"\"},\"locale\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"\"},\"tenant_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"template\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false},\"auto_generated\":{\"type\":\"BOOLEAN\",\"notNull\":true,\"unique\":false,\"default\":false},\"source_hash\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"ai_model\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"reviewed_at\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"reviewed_by\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false}},\"indexes\":[{\"name\":\"_smrt_language_overrides_key_locale_idx\",\"columns\":[\"key\",\"locale\",\"context\"],\"unique\":true},{\"name\":\"_smrt_language_overrides_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"_smrt_language_overrides_created_at_idx\",\"columns\":[\"created_at\"]}],\"version\":\"4bef8abc\"},\"importPath\":\"@happyvertical/smrt-languages\"},\"@happyvertical/smrt-languages:LanguageOverrideCollection\":{\"name\":\"languageoverridecollection\",\"className\":\"LanguageOverrideCollection\",\"qualifiedName\":\"@happyvertical/smrt-languages:LanguageOverrideCollection\",\"collection\":\"languageoverrides\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/languages/src/collections/LanguageOverrideCollection.ts\",\"packageName\":\"@happyvertical/smrt-languages\",\"fields\":{},\"methods\":{\"getAppOverride\":{\"name\":\"getAppOverride\",\"async\":true,\"parameters\":[{\"name\":\"key\",\"type\":\"string\",\"optional\":false},{\"name\":\"locale\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<LanguageOverride | null>\",\"isStatic\":false,\"isPublic\":true},\"getTenantOverride\":{\"name\":\"getTenantOverride\",\"async\":true,\"parameters\":[{\"name\":\"key\",\"type\":\"string\",\"optional\":false},{\"name\":\"locale\",\"type\":\"string\",\"optional\":false},{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<LanguageOverride | null>\",\"isStatic\":false,\"isPublic\":true},\"getResolutionLayers\":{\"name\":\"getResolutionLayers\",\"async\":true,\"parameters\":[{\"name\":\"key\",\"type\":\"string\",\"optional\":false},{\"name\":\"locale\",\"type\":\"string\",\"optional\":false},{\"name\":\"tenantId\",\"type\":\"string | null\",\"optional\":true,\"unionBranches\":[{\"type\":\"string\"},{\"type\":\"null\"}]}],\"returnType\":\"Promise<object>\",\"isStatic\":false,\"isPublic\":true},\"listTenantOverrides\":{\"name\":\"listTenantOverrides\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<LanguageOverride[]>\",\"isStatic\":false,\"isPublic\":true},\"listUnreviewedAutoTranslations\":{\"name\":\"listUnreviewedAutoTranslations\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":true,\"memberTypes\":[\"string\",\"number\"]}],\"returnType\":\"Promise<LanguageOverride[]>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tableName\":\"_smrt_language_overrides\"},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"LanguageOverride\",\"exportName\":\"LanguageOverrideCollection\",\"collectionExportName\":\"LanguageOverrideCollectionCollection\",\"schema\":{\"tableName\":\"_smrt_language_overrides\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"_smrt_language_overrides\\\" (\\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 \\\"key\\\" TEXT NOT NULL DEFAULT '',\\n \\\"locale\\\" TEXT NOT NULL DEFAULT '',\\n \\\"tenant_id\\\" TEXT,\\n \\\"template\\\" TEXT NOT NULL,\\n \\\"auto_generated\\\" BOOLEAN NOT NULL DEFAULT FALSE,\\n \\\"source_hash\\\" TEXT,\\n \\\"ai_model\\\" TEXT,\\n \\\"reviewed_at\\\" TEXT,\\n \\\"reviewed_by\\\" TEXT\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"key\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"\"},\"locale\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"\"},\"tenant_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"template\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false},\"auto_generated\":{\"type\":\"BOOLEAN\",\"notNull\":true,\"unique\":false,\"default\":false},\"source_hash\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"ai_model\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"reviewed_at\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"reviewed_by\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false}},\"indexes\":[{\"name\":\"_smrt_language_overrides_key_locale_idx\",\"columns\":[\"key\",\"locale\",\"context\"],\"unique\":true},{\"name\":\"_smrt_language_overrides_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"_smrt_language_overrides_created_at_idx\",\"columns\":[\"created_at\"]}],\"version\":\"4bef8abc\"},\"importPath\":\"@happyvertical/smrt-languages\"}},\"moduleType\":\"smrt\",\"smrtDependencies\":[\"@happyvertical/smrt-core\",\"@happyvertical/smrt-features\",\"@happyvertical/smrt-jobs\",\"@happyvertical/smrt-prompts\",\"@happyvertical/smrt-tenancy\"]}"));
6
+ ObjectRegistry.registerPackageManifest(JSON.parse("{\"version\":\"1.0.0\",\"timestamp\":0,\"packageName\":\"@happyvertical/smrt-languages\",\"packageVersion\":\"0.51.4\",\"objects\":{\"@happyvertical/smrt-languages:LanguageTranslationTask\":{\"name\":\"languagetranslationtask\",\"className\":\"LanguageTranslationTask\",\"qualifiedName\":\"@happyvertical/smrt-languages:LanguageTranslationTask\",\"collection\":\"languagetranslationtasks\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/languages/src/translation-job.ts\",\"packageName\":\"@happyvertical/smrt-languages\",\"fields\":{},\"methods\":{\"execute\":{\"name\":\"execute\",\"async\":true,\"parameters\":[{\"name\":\"args\",\"type\":\"TranslationJobPayload\",\"optional\":false}],\"returnType\":\"Promise<object>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"api\":{\"include\":[]},\"cli\":{\"include\":[]},\"mcp\":{\"include\":[]}},\"extends\":\"SmrtObject\",\"exportName\":\"LanguageTranslationTask\",\"collectionExportName\":\"LanguageTranslationTaskCollection\",\"schema\":{\"tableName\":\"language_translation_tasks\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"language_translation_tasks\\\" (\\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\":\"language_translation_tasks_slug_context_idx\",\"columns\":[\"slug\",\"context\"],\"unique\":true},{\"name\":\"language_translation_tasks_created_at_idx\",\"columns\":[\"created_at\"]}],\"version\":\"2cfc8812\"},\"importPath\":\"@happyvertical/smrt-languages\"},\"@happyvertical/smrt-languages:LanguageOverrideCollection\":{\"name\":\"languageoverridecollection\",\"className\":\"LanguageOverrideCollection\",\"qualifiedName\":\"@happyvertical/smrt-languages:LanguageOverrideCollection\",\"collection\":\"languageoverrides\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/languages/src/collections/LanguageOverrideCollection.ts\",\"packageName\":\"@happyvertical/smrt-languages\",\"fields\":{},\"methods\":{\"getAppOverride\":{\"name\":\"getAppOverride\",\"async\":true,\"parameters\":[{\"name\":\"key\",\"type\":\"string\",\"optional\":false},{\"name\":\"locale\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<LanguageOverride | null>\",\"isStatic\":false,\"isPublic\":true},\"getTenantOverride\":{\"name\":\"getTenantOverride\",\"async\":true,\"parameters\":[{\"name\":\"key\",\"type\":\"string\",\"optional\":false},{\"name\":\"locale\",\"type\":\"string\",\"optional\":false},{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<LanguageOverride | null>\",\"isStatic\":false,\"isPublic\":true},\"getResolutionLayers\":{\"name\":\"getResolutionLayers\",\"async\":true,\"parameters\":[{\"name\":\"key\",\"type\":\"string\",\"optional\":false},{\"name\":\"locale\",\"type\":\"string\",\"optional\":false},{\"name\":\"tenantId\",\"type\":\"string | null\",\"optional\":true,\"unionBranches\":[{\"type\":\"string\"},{\"type\":\"null\"}]}],\"returnType\":\"Promise<object>\",\"isStatic\":false,\"isPublic\":true},\"listTenantOverrides\":{\"name\":\"listTenantOverrides\",\"async\":true,\"parameters\":[{\"name\":\"tenantId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<LanguageOverride[]>\",\"isStatic\":false,\"isPublic\":true},\"listUnreviewedAutoTranslations\":{\"name\":\"listUnreviewedAutoTranslations\",\"async\":true,\"parameters\":[{\"name\":\"options\",\"type\":\"object\",\"optional\":true,\"memberTypes\":[\"string\",\"number\"]}],\"returnType\":\"Promise<LanguageOverride[]>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tableName\":\"_smrt_language_overrides\"},\"extends\":\"SmrtCollection\",\"extendsTypeArg\":\"LanguageOverride\",\"exportName\":\"LanguageOverrideCollection\",\"collectionExportName\":\"LanguageOverrideCollectionCollection\",\"schema\":{\"tableName\":\"_smrt_language_overrides\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"_smrt_language_overrides\\\" (\\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 \\\"key\\\" TEXT NOT NULL DEFAULT '',\\n \\\"locale\\\" TEXT NOT NULL DEFAULT '',\\n \\\"tenant_id\\\" TEXT,\\n \\\"template\\\" TEXT NOT NULL,\\n \\\"auto_generated\\\" BOOLEAN NOT NULL DEFAULT FALSE,\\n \\\"source_hash\\\" TEXT,\\n \\\"ai_model\\\" TEXT,\\n \\\"reviewed_at\\\" TEXT,\\n \\\"reviewed_by\\\" TEXT\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"key\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"\"},\"locale\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"\"},\"tenant_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"template\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false},\"auto_generated\":{\"type\":\"BOOLEAN\",\"notNull\":true,\"unique\":false,\"default\":false},\"source_hash\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"ai_model\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"reviewed_at\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"reviewed_by\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false}},\"indexes\":[{\"name\":\"_smrt_language_overrides_key_locale_idx\",\"columns\":[\"key\",\"locale\",\"context\"],\"unique\":true},{\"name\":\"_smrt_language_overrides_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"_smrt_language_overrides_created_at_idx\",\"columns\":[\"created_at\"]}],\"version\":\"4bef8abc\"},\"importPath\":\"@happyvertical/smrt-languages\"},\"@happyvertical/smrt-languages:LanguageOverride\":{\"name\":\"languageoverride\",\"className\":\"LanguageOverride\",\"qualifiedName\":\"@happyvertical/smrt-languages:LanguageOverride\",\"collection\":\"languageoverrides\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/languages/src/models/LanguageOverride.ts\",\"packageName\":\"@happyvertical/smrt-languages\",\"fields\":{\"key\":{\"type\":\"text\",\"required\":true,\"default\":\"\",\"_meta\":{\"required\":true}},\"locale\":{\"type\":\"text\",\"required\":true,\"default\":\"\",\"_meta\":{\"required\":true}},\"tenantId\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"nullable\":true}},\"template\":{\"type\":\"text\",\"required\":true,\"_meta\":{\"required\":true}},\"auto_generated\":{\"type\":\"boolean\",\"required\":true,\"default\":false,\"_meta\":{\"required\":true,\"default\":false}},\"source_hash\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"nullable\":true}},\"ai_model\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"nullable\":true}},\"reviewed_at\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"nullable\":true}},\"reviewed_by\":{\"type\":\"text\",\"required\":false,\"_meta\":{\"nullable\":true}}},\"methods\":{\"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},\"approve\":{\"name\":\"approve\",\"async\":true,\"parameters\":[{\"name\":\"reviewerId\",\"type\":\"string\",\"optional\":false}],\"returnType\":\"Promise<this>\",\"isStatic\":false,\"isPublic\":true}},\"decoratorConfig\":{\"tableName\":\"_smrt_language_overrides\",\"conflictColumns\":[\"key\",\"locale\",\"context\"],\"api\":{\"include\":[\"list\",\"get\",\"create\",\"update\",\"delete\"]},\"cli\":{\"include\":[\"list\",\"get\",\"create\",\"update\",\"delete\",\"approve\"],\"skipApiCheck\":true},\"mcp\":{\"include\":[]}},\"extends\":\"SmrtObject\",\"exportName\":\"LanguageOverride\",\"collectionExportName\":\"LanguageOverrideCollection\",\"validationRules\":[{\"field\":\"key\",\"rule\":\"required\",\"fieldType\":\"text\"},{\"field\":\"locale\",\"rule\":\"required\",\"fieldType\":\"text\"},{\"field\":\"template\",\"rule\":\"required\",\"fieldType\":\"text\"},{\"field\":\"auto_generated\",\"rule\":\"required\",\"fieldType\":\"boolean\"}],\"schema\":{\"tableName\":\"_smrt_language_overrides\",\"ddl\":\"CREATE TABLE IF NOT EXISTS \\\"_smrt_language_overrides\\\" (\\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 \\\"key\\\" TEXT NOT NULL DEFAULT '',\\n \\\"locale\\\" TEXT NOT NULL DEFAULT '',\\n \\\"tenant_id\\\" TEXT,\\n \\\"template\\\" TEXT NOT NULL,\\n \\\"auto_generated\\\" BOOLEAN NOT NULL DEFAULT FALSE,\\n \\\"source_hash\\\" TEXT,\\n \\\"ai_model\\\" TEXT,\\n \\\"reviewed_at\\\" TEXT,\\n \\\"reviewed_by\\\" TEXT\\n);\",\"columns\":{\"id\":{\"type\":\"UUID\",\"primaryKey\":true,\"referenceKind\":\"id\",\"notNull\":true},\"slug\":{\"type\":\"TEXT\",\"notNull\":true},\"context\":{\"type\":\"TEXT\",\"notNull\":true,\"default\":\"\"},\"created_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"updated_at\":{\"type\":\"TIMESTAMP\",\"notNull\":true,\"default\":\"current_timestamp\"},\"key\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"\"},\"locale\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false,\"default\":\"\"},\"tenant_id\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"template\":{\"type\":\"TEXT\",\"notNull\":true,\"unique\":false},\"auto_generated\":{\"type\":\"BOOLEAN\",\"notNull\":true,\"unique\":false,\"default\":false},\"source_hash\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"ai_model\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"reviewed_at\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false},\"reviewed_by\":{\"type\":\"TEXT\",\"notNull\":false,\"unique\":false}},\"indexes\":[{\"name\":\"_smrt_language_overrides_key_locale_idx\",\"columns\":[\"key\",\"locale\",\"context\"],\"unique\":true},{\"name\":\"_smrt_language_overrides_slug_context_idx\",\"columns\":[\"slug\",\"context\"]},{\"name\":\"_smrt_language_overrides_created_at_idx\",\"columns\":[\"created_at\"]}],\"version\":\"4bef8abc\"},\"importPath\":\"@happyvertical/smrt-languages\"}},\"moduleType\":\"smrt\",\"smrtDependencies\":[\"@happyvertical/smrt-core\",\"@happyvertical/smrt-features\",\"@happyvertical/smrt-jobs\",\"@happyvertical/smrt-prompts\",\"@happyvertical/smrt-tenancy\"]}"));
7
7
  //#endregion
8
8
  //#region src/language-resolver.ts
9
9
  var DEFAULT_LOCALE = "en";
@@ -2,7 +2,7 @@
2
2
  "version": "1.0.0",
3
3
  "timestamp": 0,
4
4
  "packageName": "@happyvertical/smrt-languages",
5
- "packageVersion": "0.51.3",
5
+ "packageVersion": "0.51.4",
6
6
  "objects": {
7
7
  "@happyvertical/smrt-languages:LanguageTranslationTask": {
8
8
  "name": "languagetranslationtask",
@@ -92,6 +92,236 @@
92
92
  },
93
93
  "importPath": "@happyvertical/smrt-languages"
94
94
  },
95
+ "@happyvertical/smrt-languages:LanguageOverrideCollection": {
96
+ "name": "languageoverridecollection",
97
+ "className": "LanguageOverrideCollection",
98
+ "qualifiedName": "@happyvertical/smrt-languages:LanguageOverrideCollection",
99
+ "collection": "languageoverrides",
100
+ "filePath": "/home/runner/work/smrt/smrt/packages/languages/src/collections/LanguageOverrideCollection.ts",
101
+ "packageName": "@happyvertical/smrt-languages",
102
+ "fields": {},
103
+ "methods": {
104
+ "getAppOverride": {
105
+ "name": "getAppOverride",
106
+ "async": true,
107
+ "parameters": [
108
+ {
109
+ "name": "key",
110
+ "type": "string",
111
+ "optional": false
112
+ },
113
+ {
114
+ "name": "locale",
115
+ "type": "string",
116
+ "optional": false
117
+ }
118
+ ],
119
+ "returnType": "Promise<LanguageOverride | null>",
120
+ "isStatic": false,
121
+ "isPublic": true
122
+ },
123
+ "getTenantOverride": {
124
+ "name": "getTenantOverride",
125
+ "async": true,
126
+ "parameters": [
127
+ {
128
+ "name": "key",
129
+ "type": "string",
130
+ "optional": false
131
+ },
132
+ {
133
+ "name": "locale",
134
+ "type": "string",
135
+ "optional": false
136
+ },
137
+ {
138
+ "name": "tenantId",
139
+ "type": "string",
140
+ "optional": false
141
+ }
142
+ ],
143
+ "returnType": "Promise<LanguageOverride | null>",
144
+ "isStatic": false,
145
+ "isPublic": true
146
+ },
147
+ "getResolutionLayers": {
148
+ "name": "getResolutionLayers",
149
+ "async": true,
150
+ "parameters": [
151
+ {
152
+ "name": "key",
153
+ "type": "string",
154
+ "optional": false
155
+ },
156
+ {
157
+ "name": "locale",
158
+ "type": "string",
159
+ "optional": false
160
+ },
161
+ {
162
+ "name": "tenantId",
163
+ "type": "string | null",
164
+ "optional": true,
165
+ "unionBranches": [
166
+ {
167
+ "type": "string"
168
+ },
169
+ {
170
+ "type": "null"
171
+ }
172
+ ]
173
+ }
174
+ ],
175
+ "returnType": "Promise<object>",
176
+ "isStatic": false,
177
+ "isPublic": true
178
+ },
179
+ "listTenantOverrides": {
180
+ "name": "listTenantOverrides",
181
+ "async": true,
182
+ "parameters": [
183
+ {
184
+ "name": "tenantId",
185
+ "type": "string",
186
+ "optional": false
187
+ }
188
+ ],
189
+ "returnType": "Promise<LanguageOverride[]>",
190
+ "isStatic": false,
191
+ "isPublic": true
192
+ },
193
+ "listUnreviewedAutoTranslations": {
194
+ "name": "listUnreviewedAutoTranslations",
195
+ "async": true,
196
+ "parameters": [
197
+ {
198
+ "name": "options",
199
+ "type": "object",
200
+ "optional": true,
201
+ "memberTypes": [
202
+ "string",
203
+ "number"
204
+ ]
205
+ }
206
+ ],
207
+ "returnType": "Promise<LanguageOverride[]>",
208
+ "isStatic": false,
209
+ "isPublic": true
210
+ }
211
+ },
212
+ "decoratorConfig": {
213
+ "tableName": "_smrt_language_overrides"
214
+ },
215
+ "extends": "SmrtCollection",
216
+ "extendsTypeArg": "LanguageOverride",
217
+ "exportName": "LanguageOverrideCollection",
218
+ "collectionExportName": "LanguageOverrideCollectionCollection",
219
+ "schema": {
220
+ "tableName": "_smrt_language_overrides",
221
+ "ddl": "CREATE TABLE IF NOT EXISTS \"_smrt_language_overrides\" (\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 \"key\" TEXT NOT NULL DEFAULT '',\n \"locale\" TEXT NOT NULL DEFAULT '',\n \"tenant_id\" TEXT,\n \"template\" TEXT NOT NULL,\n \"auto_generated\" BOOLEAN NOT NULL DEFAULT FALSE,\n \"source_hash\" TEXT,\n \"ai_model\" TEXT,\n \"reviewed_at\" TEXT,\n \"reviewed_by\" TEXT\n);",
222
+ "columns": {
223
+ "id": {
224
+ "type": "UUID",
225
+ "primaryKey": true,
226
+ "referenceKind": "id",
227
+ "notNull": true
228
+ },
229
+ "slug": {
230
+ "type": "TEXT",
231
+ "notNull": true
232
+ },
233
+ "context": {
234
+ "type": "TEXT",
235
+ "notNull": true,
236
+ "default": ""
237
+ },
238
+ "created_at": {
239
+ "type": "TIMESTAMP",
240
+ "notNull": true,
241
+ "default": "current_timestamp"
242
+ },
243
+ "updated_at": {
244
+ "type": "TIMESTAMP",
245
+ "notNull": true,
246
+ "default": "current_timestamp"
247
+ },
248
+ "key": {
249
+ "type": "TEXT",
250
+ "notNull": true,
251
+ "unique": false,
252
+ "default": ""
253
+ },
254
+ "locale": {
255
+ "type": "TEXT",
256
+ "notNull": true,
257
+ "unique": false,
258
+ "default": ""
259
+ },
260
+ "tenant_id": {
261
+ "type": "TEXT",
262
+ "notNull": false,
263
+ "unique": false
264
+ },
265
+ "template": {
266
+ "type": "TEXT",
267
+ "notNull": true,
268
+ "unique": false
269
+ },
270
+ "auto_generated": {
271
+ "type": "BOOLEAN",
272
+ "notNull": true,
273
+ "unique": false,
274
+ "default": false
275
+ },
276
+ "source_hash": {
277
+ "type": "TEXT",
278
+ "notNull": false,
279
+ "unique": false
280
+ },
281
+ "ai_model": {
282
+ "type": "TEXT",
283
+ "notNull": false,
284
+ "unique": false
285
+ },
286
+ "reviewed_at": {
287
+ "type": "TEXT",
288
+ "notNull": false,
289
+ "unique": false
290
+ },
291
+ "reviewed_by": {
292
+ "type": "TEXT",
293
+ "notNull": false,
294
+ "unique": false
295
+ }
296
+ },
297
+ "indexes": [
298
+ {
299
+ "name": "_smrt_language_overrides_key_locale_idx",
300
+ "columns": [
301
+ "key",
302
+ "locale",
303
+ "context"
304
+ ],
305
+ "unique": true
306
+ },
307
+ {
308
+ "name": "_smrt_language_overrides_slug_context_idx",
309
+ "columns": [
310
+ "slug",
311
+ "context"
312
+ ]
313
+ },
314
+ {
315
+ "name": "_smrt_language_overrides_created_at_idx",
316
+ "columns": [
317
+ "created_at"
318
+ ]
319
+ }
320
+ ],
321
+ "version": "4bef8abc"
322
+ },
323
+ "importPath": "@happyvertical/smrt-languages"
324
+ },
95
325
  "@happyvertical/smrt-languages:LanguageOverride": {
96
326
  "name": "languageoverride",
97
327
  "className": "LanguageOverride",
@@ -361,236 +591,6 @@
361
591
  "version": "4bef8abc"
362
592
  },
363
593
  "importPath": "@happyvertical/smrt-languages"
364
- },
365
- "@happyvertical/smrt-languages:LanguageOverrideCollection": {
366
- "name": "languageoverridecollection",
367
- "className": "LanguageOverrideCollection",
368
- "qualifiedName": "@happyvertical/smrt-languages:LanguageOverrideCollection",
369
- "collection": "languageoverrides",
370
- "filePath": "/home/runner/work/smrt/smrt/packages/languages/src/collections/LanguageOverrideCollection.ts",
371
- "packageName": "@happyvertical/smrt-languages",
372
- "fields": {},
373
- "methods": {
374
- "getAppOverride": {
375
- "name": "getAppOverride",
376
- "async": true,
377
- "parameters": [
378
- {
379
- "name": "key",
380
- "type": "string",
381
- "optional": false
382
- },
383
- {
384
- "name": "locale",
385
- "type": "string",
386
- "optional": false
387
- }
388
- ],
389
- "returnType": "Promise<LanguageOverride | null>",
390
- "isStatic": false,
391
- "isPublic": true
392
- },
393
- "getTenantOverride": {
394
- "name": "getTenantOverride",
395
- "async": true,
396
- "parameters": [
397
- {
398
- "name": "key",
399
- "type": "string",
400
- "optional": false
401
- },
402
- {
403
- "name": "locale",
404
- "type": "string",
405
- "optional": false
406
- },
407
- {
408
- "name": "tenantId",
409
- "type": "string",
410
- "optional": false
411
- }
412
- ],
413
- "returnType": "Promise<LanguageOverride | null>",
414
- "isStatic": false,
415
- "isPublic": true
416
- },
417
- "getResolutionLayers": {
418
- "name": "getResolutionLayers",
419
- "async": true,
420
- "parameters": [
421
- {
422
- "name": "key",
423
- "type": "string",
424
- "optional": false
425
- },
426
- {
427
- "name": "locale",
428
- "type": "string",
429
- "optional": false
430
- },
431
- {
432
- "name": "tenantId",
433
- "type": "string | null",
434
- "optional": true,
435
- "unionBranches": [
436
- {
437
- "type": "string"
438
- },
439
- {
440
- "type": "null"
441
- }
442
- ]
443
- }
444
- ],
445
- "returnType": "Promise<object>",
446
- "isStatic": false,
447
- "isPublic": true
448
- },
449
- "listTenantOverrides": {
450
- "name": "listTenantOverrides",
451
- "async": true,
452
- "parameters": [
453
- {
454
- "name": "tenantId",
455
- "type": "string",
456
- "optional": false
457
- }
458
- ],
459
- "returnType": "Promise<LanguageOverride[]>",
460
- "isStatic": false,
461
- "isPublic": true
462
- },
463
- "listUnreviewedAutoTranslations": {
464
- "name": "listUnreviewedAutoTranslations",
465
- "async": true,
466
- "parameters": [
467
- {
468
- "name": "options",
469
- "type": "object",
470
- "optional": true,
471
- "memberTypes": [
472
- "string",
473
- "number"
474
- ]
475
- }
476
- ],
477
- "returnType": "Promise<LanguageOverride[]>",
478
- "isStatic": false,
479
- "isPublic": true
480
- }
481
- },
482
- "decoratorConfig": {
483
- "tableName": "_smrt_language_overrides"
484
- },
485
- "extends": "SmrtCollection",
486
- "extendsTypeArg": "LanguageOverride",
487
- "exportName": "LanguageOverrideCollection",
488
- "collectionExportName": "LanguageOverrideCollectionCollection",
489
- "schema": {
490
- "tableName": "_smrt_language_overrides",
491
- "ddl": "CREATE TABLE IF NOT EXISTS \"_smrt_language_overrides\" (\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 \"key\" TEXT NOT NULL DEFAULT '',\n \"locale\" TEXT NOT NULL DEFAULT '',\n \"tenant_id\" TEXT,\n \"template\" TEXT NOT NULL,\n \"auto_generated\" BOOLEAN NOT NULL DEFAULT FALSE,\n \"source_hash\" TEXT,\n \"ai_model\" TEXT,\n \"reviewed_at\" TEXT,\n \"reviewed_by\" TEXT\n);",
492
- "columns": {
493
- "id": {
494
- "type": "UUID",
495
- "primaryKey": true,
496
- "referenceKind": "id",
497
- "notNull": true
498
- },
499
- "slug": {
500
- "type": "TEXT",
501
- "notNull": true
502
- },
503
- "context": {
504
- "type": "TEXT",
505
- "notNull": true,
506
- "default": ""
507
- },
508
- "created_at": {
509
- "type": "TIMESTAMP",
510
- "notNull": true,
511
- "default": "current_timestamp"
512
- },
513
- "updated_at": {
514
- "type": "TIMESTAMP",
515
- "notNull": true,
516
- "default": "current_timestamp"
517
- },
518
- "key": {
519
- "type": "TEXT",
520
- "notNull": true,
521
- "unique": false,
522
- "default": ""
523
- },
524
- "locale": {
525
- "type": "TEXT",
526
- "notNull": true,
527
- "unique": false,
528
- "default": ""
529
- },
530
- "tenant_id": {
531
- "type": "TEXT",
532
- "notNull": false,
533
- "unique": false
534
- },
535
- "template": {
536
- "type": "TEXT",
537
- "notNull": true,
538
- "unique": false
539
- },
540
- "auto_generated": {
541
- "type": "BOOLEAN",
542
- "notNull": true,
543
- "unique": false,
544
- "default": false
545
- },
546
- "source_hash": {
547
- "type": "TEXT",
548
- "notNull": false,
549
- "unique": false
550
- },
551
- "ai_model": {
552
- "type": "TEXT",
553
- "notNull": false,
554
- "unique": false
555
- },
556
- "reviewed_at": {
557
- "type": "TEXT",
558
- "notNull": false,
559
- "unique": false
560
- },
561
- "reviewed_by": {
562
- "type": "TEXT",
563
- "notNull": false,
564
- "unique": false
565
- }
566
- },
567
- "indexes": [
568
- {
569
- "name": "_smrt_language_overrides_key_locale_idx",
570
- "columns": [
571
- "key",
572
- "locale",
573
- "context"
574
- ],
575
- "unique": true
576
- },
577
- {
578
- "name": "_smrt_language_overrides_slug_context_idx",
579
- "columns": [
580
- "slug",
581
- "context"
582
- ]
583
- },
584
- {
585
- "name": "_smrt_language_overrides_created_at_idx",
586
- "columns": [
587
- "created_at"
588
- ]
589
- }
590
- ],
591
- "version": "4bef8abc"
592
- },
593
- "importPath": "@happyvertical/smrt-languages"
594
594
  }
595
595
  },
596
596
  "moduleType": "smrt",
@@ -3,12 +3,12 @@
3
3
  "sensitiveFieldsExcluded": true,
4
4
  "generatedAt": "1970-01-01T00:00:00.000Z",
5
5
  "packageName": "@happyvertical/smrt-languages",
6
- "packageVersion": "0.51.3",
6
+ "packageVersion": "0.51.4",
7
7
  "sourceManifestPath": "dist/manifest.json",
8
8
  "agentDocPath": "AGENTS.md",
9
9
  "sourceHashes": {
10
- "manifest": "509be4af251956105b1750afa3abb150a6d9657b977a7777d63a6eb0187a4250",
11
- "packageJson": "e82e12b7f43c1f28325724a129085db843851b7f6404cdbb266e7bddbad863b1",
10
+ "manifest": "b2d8a71050e5950525c29e66df86b383816327865df088058bb9eb500c4f7295",
11
+ "packageJson": "0e2c693ab1c5d429bd18a826af376836c95a8b80f6bbf9eaa156e2b2b964d3e5",
12
12
  "agents": "01ffc8428512e53dd3c5d2ffbc21f1ae700b7599f8409ca03d9c045a7cae755c"
13
13
  },
14
14
  "exports": [
@@ -101,6 +101,177 @@
101
101
  "tags": [],
102
102
  "risks": []
103
103
  },
104
+ {
105
+ "name": "LanguageOverrideCollection",
106
+ "qualifiedName": "@happyvertical/smrt-languages:LanguageOverrideCollection",
107
+ "collection": "languageoverrides",
108
+ "tableName": "_smrt_language_overrides",
109
+ "packageName": "@happyvertical/smrt-languages",
110
+ "extends": "SmrtCollection",
111
+ "fields": [],
112
+ "relationships": [],
113
+ "methods": [
114
+ "getAppOverride",
115
+ "getResolutionLayers",
116
+ "getTenantOverride",
117
+ "listTenantOverrides",
118
+ "listUnreviewedAutoTranslations"
119
+ ],
120
+ "methodSignatures": [
121
+ {
122
+ "name": "getAppOverride",
123
+ "async": true,
124
+ "params": [
125
+ "key: string",
126
+ "locale: string"
127
+ ],
128
+ "returns": "Promise<LanguageOverride | null>"
129
+ },
130
+ {
131
+ "name": "getResolutionLayers",
132
+ "async": true,
133
+ "params": [
134
+ "key: string",
135
+ "locale: string",
136
+ "tenantId?: string | null"
137
+ ],
138
+ "returns": "Promise<object>"
139
+ },
140
+ {
141
+ "name": "getTenantOverride",
142
+ "async": true,
143
+ "params": [
144
+ "key: string",
145
+ "locale: string",
146
+ "tenantId: string"
147
+ ],
148
+ "returns": "Promise<LanguageOverride | null>"
149
+ },
150
+ {
151
+ "name": "listTenantOverrides",
152
+ "async": true,
153
+ "params": [
154
+ "tenantId: string"
155
+ ],
156
+ "returns": "Promise<LanguageOverride[]>"
157
+ },
158
+ {
159
+ "name": "listUnreviewedAutoTranslations",
160
+ "async": true,
161
+ "params": [
162
+ "options?: object"
163
+ ],
164
+ "returns": "Promise<LanguageOverride[]>"
165
+ }
166
+ ],
167
+ "surfaces": [
168
+ {
169
+ "kind": "api",
170
+ "name": "languageoverrides.getAppOverride",
171
+ "operation": "getAppOverride",
172
+ "objectName": "@happyvertical/smrt-languages:LanguageOverrideCollection",
173
+ "path": "/languageoverrides/getAppOverride",
174
+ "method": "POST"
175
+ },
176
+ {
177
+ "kind": "api",
178
+ "name": "languageoverrides.getTenantOverride",
179
+ "operation": "getTenantOverride",
180
+ "objectName": "@happyvertical/smrt-languages:LanguageOverrideCollection",
181
+ "path": "/languageoverrides/getTenantOverride",
182
+ "method": "POST"
183
+ },
184
+ {
185
+ "kind": "api",
186
+ "name": "languageoverrides.getResolutionLayers",
187
+ "operation": "getResolutionLayers",
188
+ "objectName": "@happyvertical/smrt-languages:LanguageOverrideCollection",
189
+ "path": "/languageoverrides/getResolutionLayers",
190
+ "method": "POST"
191
+ },
192
+ {
193
+ "kind": "api",
194
+ "name": "languageoverrides.listTenantOverrides",
195
+ "operation": "listTenantOverrides",
196
+ "objectName": "@happyvertical/smrt-languages:LanguageOverrideCollection",
197
+ "path": "/languageoverrides/listTenantOverrides",
198
+ "method": "POST"
199
+ },
200
+ {
201
+ "kind": "api",
202
+ "name": "languageoverrides.listUnreviewedAutoTranslations",
203
+ "operation": "listUnreviewedAutoTranslations",
204
+ "objectName": "@happyvertical/smrt-languages:LanguageOverrideCollection",
205
+ "path": "/languageoverrides/listUnreviewedAutoTranslations",
206
+ "method": "POST"
207
+ },
208
+ {
209
+ "kind": "cli",
210
+ "name": "languageoverridecollection_getAppOverride",
211
+ "operation": "getAppOverride",
212
+ "objectName": "@happyvertical/smrt-languages:LanguageOverrideCollection"
213
+ },
214
+ {
215
+ "kind": "cli",
216
+ "name": "languageoverridecollection_getTenantOverride",
217
+ "operation": "getTenantOverride",
218
+ "objectName": "@happyvertical/smrt-languages:LanguageOverrideCollection"
219
+ },
220
+ {
221
+ "kind": "cli",
222
+ "name": "languageoverridecollection_getResolutionLayers",
223
+ "operation": "getResolutionLayers",
224
+ "objectName": "@happyvertical/smrt-languages:LanguageOverrideCollection"
225
+ },
226
+ {
227
+ "kind": "cli",
228
+ "name": "languageoverridecollection_listTenantOverrides",
229
+ "operation": "listTenantOverrides",
230
+ "objectName": "@happyvertical/smrt-languages:LanguageOverrideCollection"
231
+ },
232
+ {
233
+ "kind": "cli",
234
+ "name": "languageoverridecollection_listUnreviewedAutoTranslations",
235
+ "operation": "listUnreviewedAutoTranslations",
236
+ "objectName": "@happyvertical/smrt-languages:LanguageOverrideCollection"
237
+ },
238
+ {
239
+ "kind": "mcp",
240
+ "name": "languageoverridecollection_getappoverride",
241
+ "operation": "getAppOverride",
242
+ "objectName": "@happyvertical/smrt-languages:LanguageOverrideCollection"
243
+ },
244
+ {
245
+ "kind": "mcp",
246
+ "name": "languageoverridecollection_gettenantoverride",
247
+ "operation": "getTenantOverride",
248
+ "objectName": "@happyvertical/smrt-languages:LanguageOverrideCollection"
249
+ },
250
+ {
251
+ "kind": "mcp",
252
+ "name": "languageoverridecollection_getresolutionlayers",
253
+ "operation": "getResolutionLayers",
254
+ "objectName": "@happyvertical/smrt-languages:LanguageOverrideCollection"
255
+ },
256
+ {
257
+ "kind": "mcp",
258
+ "name": "languageoverridecollection_listtenantoverrides",
259
+ "operation": "listTenantOverrides",
260
+ "objectName": "@happyvertical/smrt-languages:LanguageOverrideCollection"
261
+ },
262
+ {
263
+ "kind": "mcp",
264
+ "name": "languageoverridecollection_listunreviewedautotranslations",
265
+ "operation": "listUnreviewedAutoTranslations",
266
+ "objectName": "@happyvertical/smrt-languages:LanguageOverrideCollection"
267
+ }
268
+ ],
269
+ "relationshipFeatures": [
270
+ "uuidColumns"
271
+ ],
272
+ "tags": [],
273
+ "risks": []
274
+ },
104
275
  {
105
276
  "name": "LanguageOverride",
106
277
  "qualifiedName": "@happyvertical/smrt-languages:LanguageOverride",
@@ -297,256 +468,9 @@
297
468
  ],
298
469
  "tags": [],
299
470
  "risks": []
300
- },
301
- {
302
- "name": "LanguageOverrideCollection",
303
- "qualifiedName": "@happyvertical/smrt-languages:LanguageOverrideCollection",
304
- "collection": "languageoverrides",
305
- "tableName": "_smrt_language_overrides",
306
- "packageName": "@happyvertical/smrt-languages",
307
- "extends": "SmrtCollection",
308
- "fields": [],
309
- "relationships": [],
310
- "methods": [
311
- "getAppOverride",
312
- "getResolutionLayers",
313
- "getTenantOverride",
314
- "listTenantOverrides",
315
- "listUnreviewedAutoTranslations"
316
- ],
317
- "methodSignatures": [
318
- {
319
- "name": "getAppOverride",
320
- "async": true,
321
- "params": [
322
- "key: string",
323
- "locale: string"
324
- ],
325
- "returns": "Promise<LanguageOverride | null>"
326
- },
327
- {
328
- "name": "getResolutionLayers",
329
- "async": true,
330
- "params": [
331
- "key: string",
332
- "locale: string",
333
- "tenantId?: string | null"
334
- ],
335
- "returns": "Promise<object>"
336
- },
337
- {
338
- "name": "getTenantOverride",
339
- "async": true,
340
- "params": [
341
- "key: string",
342
- "locale: string",
343
- "tenantId: string"
344
- ],
345
- "returns": "Promise<LanguageOverride | null>"
346
- },
347
- {
348
- "name": "listTenantOverrides",
349
- "async": true,
350
- "params": [
351
- "tenantId: string"
352
- ],
353
- "returns": "Promise<LanguageOverride[]>"
354
- },
355
- {
356
- "name": "listUnreviewedAutoTranslations",
357
- "async": true,
358
- "params": [
359
- "options?: object"
360
- ],
361
- "returns": "Promise<LanguageOverride[]>"
362
- }
363
- ],
364
- "surfaces": [
365
- {
366
- "kind": "api",
367
- "name": "languageoverrides.getAppOverride",
368
- "operation": "getAppOverride",
369
- "objectName": "@happyvertical/smrt-languages:LanguageOverrideCollection",
370
- "path": "/languageoverrides/getAppOverride",
371
- "method": "POST"
372
- },
373
- {
374
- "kind": "api",
375
- "name": "languageoverrides.getTenantOverride",
376
- "operation": "getTenantOverride",
377
- "objectName": "@happyvertical/smrt-languages:LanguageOverrideCollection",
378
- "path": "/languageoverrides/getTenantOverride",
379
- "method": "POST"
380
- },
381
- {
382
- "kind": "api",
383
- "name": "languageoverrides.getResolutionLayers",
384
- "operation": "getResolutionLayers",
385
- "objectName": "@happyvertical/smrt-languages:LanguageOverrideCollection",
386
- "path": "/languageoverrides/getResolutionLayers",
387
- "method": "POST"
388
- },
389
- {
390
- "kind": "api",
391
- "name": "languageoverrides.listTenantOverrides",
392
- "operation": "listTenantOverrides",
393
- "objectName": "@happyvertical/smrt-languages:LanguageOverrideCollection",
394
- "path": "/languageoverrides/listTenantOverrides",
395
- "method": "POST"
396
- },
397
- {
398
- "kind": "api",
399
- "name": "languageoverrides.listUnreviewedAutoTranslations",
400
- "operation": "listUnreviewedAutoTranslations",
401
- "objectName": "@happyvertical/smrt-languages:LanguageOverrideCollection",
402
- "path": "/languageoverrides/listUnreviewedAutoTranslations",
403
- "method": "POST"
404
- },
405
- {
406
- "kind": "cli",
407
- "name": "languageoverridecollection_getAppOverride",
408
- "operation": "getAppOverride",
409
- "objectName": "@happyvertical/smrt-languages:LanguageOverrideCollection"
410
- },
411
- {
412
- "kind": "cli",
413
- "name": "languageoverridecollection_getTenantOverride",
414
- "operation": "getTenantOverride",
415
- "objectName": "@happyvertical/smrt-languages:LanguageOverrideCollection"
416
- },
417
- {
418
- "kind": "cli",
419
- "name": "languageoverridecollection_getResolutionLayers",
420
- "operation": "getResolutionLayers",
421
- "objectName": "@happyvertical/smrt-languages:LanguageOverrideCollection"
422
- },
423
- {
424
- "kind": "cli",
425
- "name": "languageoverridecollection_listTenantOverrides",
426
- "operation": "listTenantOverrides",
427
- "objectName": "@happyvertical/smrt-languages:LanguageOverrideCollection"
428
- },
429
- {
430
- "kind": "cli",
431
- "name": "languageoverridecollection_listUnreviewedAutoTranslations",
432
- "operation": "listUnreviewedAutoTranslations",
433
- "objectName": "@happyvertical/smrt-languages:LanguageOverrideCollection"
434
- },
435
- {
436
- "kind": "mcp",
437
- "name": "languageoverridecollection_getappoverride",
438
- "operation": "getAppOverride",
439
- "objectName": "@happyvertical/smrt-languages:LanguageOverrideCollection"
440
- },
441
- {
442
- "kind": "mcp",
443
- "name": "languageoverridecollection_gettenantoverride",
444
- "operation": "getTenantOverride",
445
- "objectName": "@happyvertical/smrt-languages:LanguageOverrideCollection"
446
- },
447
- {
448
- "kind": "mcp",
449
- "name": "languageoverridecollection_getresolutionlayers",
450
- "operation": "getResolutionLayers",
451
- "objectName": "@happyvertical/smrt-languages:LanguageOverrideCollection"
452
- },
453
- {
454
- "kind": "mcp",
455
- "name": "languageoverridecollection_listtenantoverrides",
456
- "operation": "listTenantOverrides",
457
- "objectName": "@happyvertical/smrt-languages:LanguageOverrideCollection"
458
- },
459
- {
460
- "kind": "mcp",
461
- "name": "languageoverridecollection_listunreviewedautotranslations",
462
- "operation": "listUnreviewedAutoTranslations",
463
- "objectName": "@happyvertical/smrt-languages:LanguageOverrideCollection"
464
- }
465
- ],
466
- "relationshipFeatures": [
467
- "uuidColumns"
468
- ],
469
- "tags": [],
470
- "risks": []
471
471
  }
472
472
  ],
473
473
  "surfaces": [
474
- {
475
- "kind": "api",
476
- "name": "languageoverrides.list",
477
- "operation": "list",
478
- "objectName": "@happyvertical/smrt-languages:LanguageOverride",
479
- "path": "/languageoverrides",
480
- "method": "GET"
481
- },
482
- {
483
- "kind": "api",
484
- "name": "languageoverrides.get",
485
- "operation": "get",
486
- "objectName": "@happyvertical/smrt-languages:LanguageOverride",
487
- "path": "/languageoverrides/[id]",
488
- "method": "GET"
489
- },
490
- {
491
- "kind": "api",
492
- "name": "languageoverrides.create",
493
- "operation": "create",
494
- "objectName": "@happyvertical/smrt-languages:LanguageOverride",
495
- "path": "/languageoverrides",
496
- "method": "POST"
497
- },
498
- {
499
- "kind": "api",
500
- "name": "languageoverrides.update",
501
- "operation": "update",
502
- "objectName": "@happyvertical/smrt-languages:LanguageOverride",
503
- "path": "/languageoverrides/[id]",
504
- "method": "PATCH"
505
- },
506
- {
507
- "kind": "api",
508
- "name": "languageoverrides.delete",
509
- "operation": "delete",
510
- "objectName": "@happyvertical/smrt-languages:LanguageOverride",
511
- "path": "/languageoverrides/[id]",
512
- "method": "DELETE"
513
- },
514
- {
515
- "kind": "cli",
516
- "name": "languageoverride_list",
517
- "operation": "list",
518
- "objectName": "@happyvertical/smrt-languages:LanguageOverride"
519
- },
520
- {
521
- "kind": "cli",
522
- "name": "languageoverride_get",
523
- "operation": "get",
524
- "objectName": "@happyvertical/smrt-languages:LanguageOverride"
525
- },
526
- {
527
- "kind": "cli",
528
- "name": "languageoverride_create",
529
- "operation": "create",
530
- "objectName": "@happyvertical/smrt-languages:LanguageOverride"
531
- },
532
- {
533
- "kind": "cli",
534
- "name": "languageoverride_update",
535
- "operation": "update",
536
- "objectName": "@happyvertical/smrt-languages:LanguageOverride"
537
- },
538
- {
539
- "kind": "cli",
540
- "name": "languageoverride_delete",
541
- "operation": "delete",
542
- "objectName": "@happyvertical/smrt-languages:LanguageOverride"
543
- },
544
- {
545
- "kind": "cli",
546
- "name": "languageoverride_approve",
547
- "operation": "approve",
548
- "objectName": "@happyvertical/smrt-languages:LanguageOverride"
549
- },
550
474
  {
551
475
  "kind": "api",
552
476
  "name": "languageoverrides.getAppOverride",
@@ -646,6 +570,82 @@
646
570
  "name": "languageoverridecollection_listunreviewedautotranslations",
647
571
  "operation": "listUnreviewedAutoTranslations",
648
572
  "objectName": "@happyvertical/smrt-languages:LanguageOverrideCollection"
573
+ },
574
+ {
575
+ "kind": "api",
576
+ "name": "languageoverrides.list",
577
+ "operation": "list",
578
+ "objectName": "@happyvertical/smrt-languages:LanguageOverride",
579
+ "path": "/languageoverrides",
580
+ "method": "GET"
581
+ },
582
+ {
583
+ "kind": "api",
584
+ "name": "languageoverrides.get",
585
+ "operation": "get",
586
+ "objectName": "@happyvertical/smrt-languages:LanguageOverride",
587
+ "path": "/languageoverrides/[id]",
588
+ "method": "GET"
589
+ },
590
+ {
591
+ "kind": "api",
592
+ "name": "languageoverrides.create",
593
+ "operation": "create",
594
+ "objectName": "@happyvertical/smrt-languages:LanguageOverride",
595
+ "path": "/languageoverrides",
596
+ "method": "POST"
597
+ },
598
+ {
599
+ "kind": "api",
600
+ "name": "languageoverrides.update",
601
+ "operation": "update",
602
+ "objectName": "@happyvertical/smrt-languages:LanguageOverride",
603
+ "path": "/languageoverrides/[id]",
604
+ "method": "PATCH"
605
+ },
606
+ {
607
+ "kind": "api",
608
+ "name": "languageoverrides.delete",
609
+ "operation": "delete",
610
+ "objectName": "@happyvertical/smrt-languages:LanguageOverride",
611
+ "path": "/languageoverrides/[id]",
612
+ "method": "DELETE"
613
+ },
614
+ {
615
+ "kind": "cli",
616
+ "name": "languageoverride_list",
617
+ "operation": "list",
618
+ "objectName": "@happyvertical/smrt-languages:LanguageOverride"
619
+ },
620
+ {
621
+ "kind": "cli",
622
+ "name": "languageoverride_get",
623
+ "operation": "get",
624
+ "objectName": "@happyvertical/smrt-languages:LanguageOverride"
625
+ },
626
+ {
627
+ "kind": "cli",
628
+ "name": "languageoverride_create",
629
+ "operation": "create",
630
+ "objectName": "@happyvertical/smrt-languages:LanguageOverride"
631
+ },
632
+ {
633
+ "kind": "cli",
634
+ "name": "languageoverride_update",
635
+ "operation": "update",
636
+ "objectName": "@happyvertical/smrt-languages:LanguageOverride"
637
+ },
638
+ {
639
+ "kind": "cli",
640
+ "name": "languageoverride_delete",
641
+ "operation": "delete",
642
+ "objectName": "@happyvertical/smrt-languages:LanguageOverride"
643
+ },
644
+ {
645
+ "kind": "cli",
646
+ "name": "languageoverride_approve",
647
+ "operation": "approve",
648
+ "objectName": "@happyvertical/smrt-languages:LanguageOverride"
649
649
  }
650
650
  ],
651
651
  "prompts": [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@happyvertical/smrt-languages",
3
- "version": "0.51.3",
3
+ "version": "0.51.4",
4
4
  "description": "Code-first language strings with config + tenant overrides and AI auto-translation for SMRT",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -29,17 +29,17 @@
29
29
  "dependencies": {
30
30
  "@happyvertical/ai": "^0.89.11",
31
31
  "@happyvertical/logger": "^0.89.11",
32
- "@happyvertical/smrt-config": "0.51.3",
33
- "@happyvertical/smrt-core": "0.51.3",
34
- "@happyvertical/smrt-features": "0.51.3",
35
- "@happyvertical/smrt-jobs": "0.51.3",
36
- "@happyvertical/smrt-prompts": "0.51.3",
37
- "@happyvertical/smrt-tenancy": "0.51.3",
32
+ "@happyvertical/smrt-config": "0.51.4",
33
+ "@happyvertical/smrt-core": "0.51.4",
34
+ "@happyvertical/smrt-features": "0.51.4",
35
+ "@happyvertical/smrt-jobs": "0.51.4",
36
+ "@happyvertical/smrt-prompts": "0.51.4",
37
+ "@happyvertical/smrt-tenancy": "0.51.4",
38
38
  "@happyvertical/sql": "^0.89.11"
39
39
  },
40
40
  "devDependencies": {
41
- "@happyvertical/smrt-cli": "0.51.3",
42
- "@happyvertical/smrt-vitest": "0.51.3",
41
+ "@happyvertical/smrt-cli": "0.51.4",
42
+ "@happyvertical/smrt-vitest": "0.51.4",
43
43
  "@types/node": "24.13.2",
44
44
  "typescript": "5.9.3",
45
45
  "vite": "8.1.4",