@happyvertical/smrt-languages 0.51.31 → 0.51.32

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.31\",\"objects\":{\"@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\"},\"@happyvertical/smrt-languages:LanguageTranslationTask\":{\"name\":\"languagetranslationtask\",\"className\":\"LanguageTranslationTask\",\"qualifiedName\":\"@happyvertical/smrt-languages:LanguageTranslationTask\",\"collection\":\"languagetranslationtasks\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/languages/src/jobs/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/jobs\"}},\"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.32\",\"objects\":{\"@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:LanguageTranslationTask\":{\"name\":\"languagetranslationtask\",\"className\":\"LanguageTranslationTask\",\"qualifiedName\":\"@happyvertical/smrt-languages:LanguageTranslationTask\",\"collection\":\"languagetranslationtasks\",\"filePath\":\"/home/runner/work/smrt/smrt/packages/languages/src/jobs/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/jobs\"},\"@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.31",
5
+ "packageVersion": "0.51.32",
6
6
  "objects": {
7
7
  "@happyvertical/smrt-languages:LanguageOverrideCollection": {
8
8
  "name": "languageoverridecollection",
@@ -234,6 +234,94 @@
234
234
  },
235
235
  "importPath": "@happyvertical/smrt-languages"
236
236
  },
237
+ "@happyvertical/smrt-languages:LanguageTranslationTask": {
238
+ "name": "languagetranslationtask",
239
+ "className": "LanguageTranslationTask",
240
+ "qualifiedName": "@happyvertical/smrt-languages:LanguageTranslationTask",
241
+ "collection": "languagetranslationtasks",
242
+ "filePath": "/home/runner/work/smrt/smrt/packages/languages/src/jobs/translation-job.ts",
243
+ "packageName": "@happyvertical/smrt-languages",
244
+ "fields": {},
245
+ "methods": {
246
+ "execute": {
247
+ "name": "execute",
248
+ "async": true,
249
+ "parameters": [
250
+ {
251
+ "name": "args",
252
+ "type": "TranslationJobPayload",
253
+ "optional": false
254
+ }
255
+ ],
256
+ "returnType": "Promise<object>",
257
+ "isStatic": false,
258
+ "isPublic": true
259
+ }
260
+ },
261
+ "decoratorConfig": {
262
+ "api": {
263
+ "include": []
264
+ },
265
+ "cli": {
266
+ "include": []
267
+ },
268
+ "mcp": {
269
+ "include": []
270
+ }
271
+ },
272
+ "extends": "SmrtObject",
273
+ "exportName": "LanguageTranslationTask",
274
+ "collectionExportName": "LanguageTranslationTaskCollection",
275
+ "schema": {
276
+ "tableName": "language_translation_tasks",
277
+ "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);",
278
+ "columns": {
279
+ "id": {
280
+ "type": "UUID",
281
+ "primaryKey": true,
282
+ "referenceKind": "id",
283
+ "notNull": true
284
+ },
285
+ "slug": {
286
+ "type": "TEXT",
287
+ "notNull": true
288
+ },
289
+ "context": {
290
+ "type": "TEXT",
291
+ "notNull": true,
292
+ "default": ""
293
+ },
294
+ "created_at": {
295
+ "type": "TIMESTAMP",
296
+ "notNull": true,
297
+ "default": "current_timestamp"
298
+ },
299
+ "updated_at": {
300
+ "type": "TIMESTAMP",
301
+ "notNull": true,
302
+ "default": "current_timestamp"
303
+ }
304
+ },
305
+ "indexes": [
306
+ {
307
+ "name": "language_translation_tasks_slug_context_idx",
308
+ "columns": [
309
+ "slug",
310
+ "context"
311
+ ],
312
+ "unique": true
313
+ },
314
+ {
315
+ "name": "language_translation_tasks_created_at_idx",
316
+ "columns": [
317
+ "created_at"
318
+ ]
319
+ }
320
+ ],
321
+ "version": "2cfc8812"
322
+ },
323
+ "importPath": "@happyvertical/smrt-languages/jobs"
324
+ },
237
325
  "@happyvertical/smrt-languages:LanguageOverride": {
238
326
  "name": "languageoverride",
239
327
  "className": "LanguageOverride",
@@ -503,94 +591,6 @@
503
591
  "version": "4bef8abc"
504
592
  },
505
593
  "importPath": "@happyvertical/smrt-languages"
506
- },
507
- "@happyvertical/smrt-languages:LanguageTranslationTask": {
508
- "name": "languagetranslationtask",
509
- "className": "LanguageTranslationTask",
510
- "qualifiedName": "@happyvertical/smrt-languages:LanguageTranslationTask",
511
- "collection": "languagetranslationtasks",
512
- "filePath": "/home/runner/work/smrt/smrt/packages/languages/src/jobs/translation-job.ts",
513
- "packageName": "@happyvertical/smrt-languages",
514
- "fields": {},
515
- "methods": {
516
- "execute": {
517
- "name": "execute",
518
- "async": true,
519
- "parameters": [
520
- {
521
- "name": "args",
522
- "type": "TranslationJobPayload",
523
- "optional": false
524
- }
525
- ],
526
- "returnType": "Promise<object>",
527
- "isStatic": false,
528
- "isPublic": true
529
- }
530
- },
531
- "decoratorConfig": {
532
- "api": {
533
- "include": []
534
- },
535
- "cli": {
536
- "include": []
537
- },
538
- "mcp": {
539
- "include": []
540
- }
541
- },
542
- "extends": "SmrtObject",
543
- "exportName": "LanguageTranslationTask",
544
- "collectionExportName": "LanguageTranslationTaskCollection",
545
- "schema": {
546
- "tableName": "language_translation_tasks",
547
- "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);",
548
- "columns": {
549
- "id": {
550
- "type": "UUID",
551
- "primaryKey": true,
552
- "referenceKind": "id",
553
- "notNull": true
554
- },
555
- "slug": {
556
- "type": "TEXT",
557
- "notNull": true
558
- },
559
- "context": {
560
- "type": "TEXT",
561
- "notNull": true,
562
- "default": ""
563
- },
564
- "created_at": {
565
- "type": "TIMESTAMP",
566
- "notNull": true,
567
- "default": "current_timestamp"
568
- },
569
- "updated_at": {
570
- "type": "TIMESTAMP",
571
- "notNull": true,
572
- "default": "current_timestamp"
573
- }
574
- },
575
- "indexes": [
576
- {
577
- "name": "language_translation_tasks_slug_context_idx",
578
- "columns": [
579
- "slug",
580
- "context"
581
- ],
582
- "unique": true
583
- },
584
- {
585
- "name": "language_translation_tasks_created_at_idx",
586
- "columns": [
587
- "created_at"
588
- ]
589
- }
590
- ],
591
- "version": "2cfc8812"
592
- },
593
- "importPath": "@happyvertical/smrt-languages/jobs"
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.31",
6
+ "packageVersion": "0.51.32",
7
7
  "sourceManifestPath": "dist/manifest.json",
8
8
  "agentDocPath": "AGENTS.md",
9
9
  "sourceHashes": {
10
- "manifest": "573128a90c44af363f5fde586d0a423aa05d5415bd37b6226a2092fb077fd81b",
11
- "packageJson": "adf743f59d37b3a548edd95bfb9fb45499b97674921cae441e60c988b5eba33d",
10
+ "manifest": "f6286254d6c978d77b2842bdf2c9e7b40ab85ace211e42b23d99b6913196302e",
11
+ "packageJson": "d2852d418787598bf0db19c00850419330a399327ad7390183d19a30387be145",
12
12
  "agents": "45d290839ba542a82a3cdf421d919a9dbc31f5280823ac432662bd678a087d7a"
13
13
  },
14
14
  "exports": [
@@ -234,6 +234,44 @@
234
234
  "tags": [],
235
235
  "risks": []
236
236
  },
237
+ {
238
+ "name": "LanguageTranslationTask",
239
+ "qualifiedName": "@happyvertical/smrt-languages:LanguageTranslationTask",
240
+ "collection": "languagetranslationtasks",
241
+ "tableName": "language_translation_tasks",
242
+ "packageName": "@happyvertical/smrt-languages",
243
+ "extends": "SmrtObject",
244
+ "fields": [],
245
+ "relationships": [],
246
+ "methods": [
247
+ "execute"
248
+ ],
249
+ "methodSignatures": [
250
+ {
251
+ "name": "execute",
252
+ "async": true,
253
+ "params": [
254
+ "args: TranslationJobPayload"
255
+ ],
256
+ "returns": "Promise<object>"
257
+ }
258
+ ],
259
+ "surfaces": [],
260
+ "withheldSurfaces": [
261
+ {
262
+ "kind": "api",
263
+ "operation": "execute",
264
+ "code": "not-included",
265
+ "reason": "not listed in api.include",
266
+ "objectName": "@happyvertical/smrt-languages:LanguageTranslationTask"
267
+ }
268
+ ],
269
+ "relationshipFeatures": [
270
+ "uuidColumns"
271
+ ],
272
+ "tags": [],
273
+ "risks": []
274
+ },
237
275
  {
238
276
  "name": "LanguageOverride",
239
277
  "qualifiedName": "@happyvertical/smrt-languages:LanguageOverride",
@@ -430,44 +468,6 @@
430
468
  ],
431
469
  "tags": [],
432
470
  "risks": []
433
- },
434
- {
435
- "name": "LanguageTranslationTask",
436
- "qualifiedName": "@happyvertical/smrt-languages:LanguageTranslationTask",
437
- "collection": "languagetranslationtasks",
438
- "tableName": "language_translation_tasks",
439
- "packageName": "@happyvertical/smrt-languages",
440
- "extends": "SmrtObject",
441
- "fields": [],
442
- "relationships": [],
443
- "methods": [
444
- "execute"
445
- ],
446
- "methodSignatures": [
447
- {
448
- "name": "execute",
449
- "async": true,
450
- "params": [
451
- "args: TranslationJobPayload"
452
- ],
453
- "returns": "Promise<object>"
454
- }
455
- ],
456
- "surfaces": [],
457
- "withheldSurfaces": [
458
- {
459
- "kind": "api",
460
- "operation": "execute",
461
- "code": "not-included",
462
- "reason": "not listed in api.include",
463
- "objectName": "@happyvertical/smrt-languages:LanguageTranslationTask"
464
- }
465
- ],
466
- "relationshipFeatures": [
467
- "uuidColumns"
468
- ],
469
- "tags": [],
470
- "risks": []
471
471
  }
472
472
  ],
473
473
  "surfaces": [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@happyvertical/smrt-languages",
3
- "version": "0.51.31",
3
+ "version": "0.51.32",
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.94.1",
31
31
  "@happyvertical/logger": "^0.94.1",
32
- "@happyvertical/smrt-config": "0.51.31",
33
- "@happyvertical/smrt-core": "0.51.31",
34
- "@happyvertical/smrt-features": "0.51.31",
35
- "@happyvertical/smrt-jobs": "0.51.31",
36
- "@happyvertical/smrt-prompts": "0.51.31",
37
- "@happyvertical/smrt-tenancy": "0.51.31",
32
+ "@happyvertical/smrt-config": "0.51.32",
33
+ "@happyvertical/smrt-core": "0.51.32",
34
+ "@happyvertical/smrt-features": "0.51.32",
35
+ "@happyvertical/smrt-jobs": "0.51.32",
36
+ "@happyvertical/smrt-prompts": "0.51.32",
37
+ "@happyvertical/smrt-tenancy": "0.51.32",
38
38
  "@happyvertical/sql": "^0.94.1"
39
39
  },
40
40
  "devDependencies": {
41
- "@happyvertical/smrt-cli": "0.51.31",
42
- "@happyvertical/smrt-vitest": "0.51.31",
41
+ "@happyvertical/smrt-cli": "0.51.32",
42
+ "@happyvertical/smrt-vitest": "0.51.32",
43
43
  "@types/node": "24.13.6",
44
44
  "typescript": "5.9.3",
45
45
  "vite": "8.1.4",