@happyvertical/smrt-languages 0.54.0 → 0.54.1

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.54.0\",\"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\\\" UUID,\\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\":\"UUID\",\"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\":\"91442913\"},\"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\":{\"sqlType\":\"UUID\",\"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\\\" UUID,\\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\":\"UUID\",\"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\":\"91442913\"},\"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.54.1\",\"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/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: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\\\" UUID,\\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\":\"UUID\",\"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\":\"91442913\"},\"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\":{\"sqlType\":\"UUID\",\"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\\\" UUID,\\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\":\"UUID\",\"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\":\"91442913\"},\"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,8 +2,96 @@
2
2
  "version": "1.0.0",
3
3
  "timestamp": 0,
4
4
  "packageName": "@happyvertical/smrt-languages",
5
- "packageVersion": "0.54.0",
5
+ "packageVersion": "0.54.1",
6
6
  "objects": {
7
+ "@happyvertical/smrt-languages:LanguageTranslationTask": {
8
+ "name": "languagetranslationtask",
9
+ "className": "LanguageTranslationTask",
10
+ "qualifiedName": "@happyvertical/smrt-languages:LanguageTranslationTask",
11
+ "collection": "languagetranslationtasks",
12
+ "filePath": "/home/runner/work/smrt/smrt/packages/languages/src/jobs/translation-job.ts",
13
+ "packageName": "@happyvertical/smrt-languages",
14
+ "fields": {},
15
+ "methods": {
16
+ "execute": {
17
+ "name": "execute",
18
+ "async": true,
19
+ "parameters": [
20
+ {
21
+ "name": "args",
22
+ "type": "TranslationJobPayload",
23
+ "optional": false
24
+ }
25
+ ],
26
+ "returnType": "Promise<object>",
27
+ "isStatic": false,
28
+ "isPublic": true
29
+ }
30
+ },
31
+ "decoratorConfig": {
32
+ "api": {
33
+ "include": []
34
+ },
35
+ "cli": {
36
+ "include": []
37
+ },
38
+ "mcp": {
39
+ "include": []
40
+ }
41
+ },
42
+ "extends": "SmrtObject",
43
+ "exportName": "LanguageTranslationTask",
44
+ "collectionExportName": "LanguageTranslationTaskCollection",
45
+ "schema": {
46
+ "tableName": "language_translation_tasks",
47
+ "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);",
48
+ "columns": {
49
+ "id": {
50
+ "type": "UUID",
51
+ "primaryKey": true,
52
+ "referenceKind": "id",
53
+ "notNull": true
54
+ },
55
+ "slug": {
56
+ "type": "TEXT",
57
+ "notNull": true
58
+ },
59
+ "context": {
60
+ "type": "TEXT",
61
+ "notNull": true,
62
+ "default": ""
63
+ },
64
+ "created_at": {
65
+ "type": "TIMESTAMP",
66
+ "notNull": true,
67
+ "default": "current_timestamp"
68
+ },
69
+ "updated_at": {
70
+ "type": "TIMESTAMP",
71
+ "notNull": true,
72
+ "default": "current_timestamp"
73
+ }
74
+ },
75
+ "indexes": [
76
+ {
77
+ "name": "language_translation_tasks_slug_context_idx",
78
+ "columns": [
79
+ "slug",
80
+ "context"
81
+ ],
82
+ "unique": true
83
+ },
84
+ {
85
+ "name": "language_translation_tasks_created_at_idx",
86
+ "columns": [
87
+ "created_at"
88
+ ]
89
+ }
90
+ ],
91
+ "version": "2cfc8812"
92
+ },
93
+ "importPath": "@happyvertical/smrt-languages/jobs"
94
+ },
7
95
  "@happyvertical/smrt-languages:LanguageOverrideCollection": {
8
96
  "name": "languageoverridecollection",
9
97
  "className": "LanguageOverrideCollection",
@@ -234,94 +322,6 @@
234
322
  },
235
323
  "importPath": "@happyvertical/smrt-languages"
236
324
  },
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
- },
325
325
  "@happyvertical/smrt-languages:LanguageOverride": {
326
326
  "name": "languageoverride",
327
327
  "className": "LanguageOverride",
@@ -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.54.0",
6
+ "packageVersion": "0.54.1",
7
7
  "sourceManifestPath": "dist/manifest.json",
8
8
  "agentDocPath": "AGENTS.md",
9
9
  "sourceHashes": {
10
- "manifest": "beba47d5670d1df5d91c3e89e9ddf9a856f679b00b412a0213cbeea57d00340a",
11
- "packageJson": "3f81d7e5ad8b6ed126a73a0a1242bb21b63ca356fb99b4cd9c25956facc876b0",
10
+ "manifest": "d5e1b26b4c6cefd9cfc81ac02d6bc4d44cc8b060590a6890c4dc1b3291892459",
11
+ "packageJson": "ec967fd9e0d6aef5edf80c693dcf95ca889e3c98e9746edd6401f5b549394818",
12
12
  "agents": "45d290839ba542a82a3cdf421d919a9dbc31f5280823ac432662bd678a087d7a"
13
13
  },
14
14
  "exports": [
@@ -63,6 +63,44 @@
63
63
  "sensitive-fields-excluded"
64
64
  ],
65
65
  "objects": [
66
+ {
67
+ "name": "LanguageTranslationTask",
68
+ "qualifiedName": "@happyvertical/smrt-languages:LanguageTranslationTask",
69
+ "collection": "languagetranslationtasks",
70
+ "tableName": "language_translation_tasks",
71
+ "packageName": "@happyvertical/smrt-languages",
72
+ "extends": "SmrtObject",
73
+ "fields": [],
74
+ "relationships": [],
75
+ "methods": [
76
+ "execute"
77
+ ],
78
+ "methodSignatures": [
79
+ {
80
+ "name": "execute",
81
+ "async": true,
82
+ "params": [
83
+ "args: TranslationJobPayload"
84
+ ],
85
+ "returns": "Promise<object>"
86
+ }
87
+ ],
88
+ "surfaces": [],
89
+ "withheldSurfaces": [
90
+ {
91
+ "kind": "api",
92
+ "operation": "execute",
93
+ "code": "not-included",
94
+ "reason": "not listed in api.include",
95
+ "objectName": "@happyvertical/smrt-languages:LanguageTranslationTask"
96
+ }
97
+ ],
98
+ "relationshipFeatures": [
99
+ "uuidColumns"
100
+ ],
101
+ "tags": [],
102
+ "risks": []
103
+ },
66
104
  {
67
105
  "name": "LanguageOverrideCollection",
68
106
  "qualifiedName": "@happyvertical/smrt-languages:LanguageOverrideCollection",
@@ -234,44 +272,6 @@
234
272
  "tags": [],
235
273
  "risks": []
236
274
  },
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
- },
275
275
  {
276
276
  "name": "LanguageOverride",
277
277
  "qualifiedName": "@happyvertical/smrt-languages:LanguageOverride",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@happyvertical/smrt-languages",
3
- "version": "0.54.0",
3
+ "version": "0.54.1",
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.100.3",
31
31
  "@happyvertical/logger": "^0.100.3",
32
- "@happyvertical/smrt-config": "0.54.0",
33
- "@happyvertical/smrt-core": "0.54.0",
34
- "@happyvertical/smrt-features": "0.54.0",
35
- "@happyvertical/smrt-jobs": "0.54.0",
36
- "@happyvertical/smrt-prompts": "0.54.0",
37
- "@happyvertical/smrt-tenancy": "0.54.0",
32
+ "@happyvertical/smrt-config": "0.54.1",
33
+ "@happyvertical/smrt-core": "0.54.1",
34
+ "@happyvertical/smrt-features": "0.54.1",
35
+ "@happyvertical/smrt-jobs": "0.54.1",
36
+ "@happyvertical/smrt-prompts": "0.54.1",
37
+ "@happyvertical/smrt-tenancy": "0.54.1",
38
38
  "@happyvertical/sql": "^0.100.3"
39
39
  },
40
40
  "devDependencies": {
41
- "@happyvertical/smrt-cli": "0.54.0",
42
- "@happyvertical/smrt-vitest": "0.54.0",
41
+ "@happyvertical/smrt-cli": "0.54.1",
42
+ "@happyvertical/smrt-vitest": "0.54.1",
43
43
  "@types/node": "24.13.6",
44
44
  "typescript": "6.0.3",
45
45
  "vite": "8.1.4",