@happyvertical/smrt-languages 0.51.32 → 0.51.34

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.
@@ -0,0 +1,45 @@
1
+ import { type SmrtClassOptions, SmrtObject } from '@happyvertical/smrt-core';
2
+ import type { TranslationJobPayload } from '../types.js';
3
+ /** Feature flag key honored as the kill-switch for AI auto-translation. */
4
+ export declare const AUTO_TRANSLATE_FEATURE_KEY = "smrt-languages.auto_translate";
5
+ /**
6
+ * Prompt key registered with `smrt-prompts` so ops can tune the AI translation
7
+ * style without redeploying. The prompt itself is referenced by the job
8
+ * handler when calling `@happyvertical/ai`.
9
+ */
10
+ export declare const TRANSLATION_PROMPT_KEY = "smrt-languages.translation";
11
+ /**
12
+ * SmrtObject that owns the translation job's `execute` method. The TaskRunner
13
+ * resolves jobs by `objectType` so the registered class name needs to match
14
+ * what `enqueueTranslationJob` writes.
15
+ */
16
+ export declare class LanguageTranslationTask extends SmrtObject {
17
+ /**
18
+ * Job-runner entrypoint. Reads the translation payload, calls
19
+ * `@happyvertical/ai`, and upserts a `LanguageOverride` row.
20
+ */
21
+ execute(args: TranslationJobPayload): Promise<{
22
+ skipped?: 'feature_disabled' | 'not_supported' | 'budget' | 'stale';
23
+ template?: string;
24
+ }>;
25
+ }
26
+ interface EnqueueTranslationOptions {
27
+ key: string;
28
+ targetLocale: string;
29
+ sourceLocale?: string;
30
+ tenantId?: string | null;
31
+ db: SmrtClassOptions['db'];
32
+ /** When true, skip the dedup check and force a fresh job. */
33
+ force?: boolean;
34
+ }
35
+ /**
36
+ * Enqueue a translation job for `(key, targetLocale)`, deduplicated against
37
+ * any already-pending job for the same target. Returns the (possibly existing)
38
+ * job's deterministic ID.
39
+ */
40
+ export declare function enqueueTranslationJob(options: EnqueueTranslationOptions): Promise<{
41
+ id: string;
42
+ status: 'enqueued' | 'duplicate' | 'skipped';
43
+ }>;
44
+ export {};
45
+ //# sourceMappingURL=translation-job.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translation-job.d.ts","sourceRoot":"","sources":["../../src/jobs/translation-job.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,gBAAgB,EACrB,UAAU,EAEX,MAAM,0BAA0B,CAAC;AAQlC,OAAO,KAAK,EAEV,qBAAqB,EACtB,MAAM,aAAa,CAAC;AASrB,2EAA2E;AAC3E,eAAO,MAAM,0BAA0B,kCAAkC,CAAC;AAE1E;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,+BAA+B,CAAC;AA4BnE;;;;GAIG;AACH,qBAKa,uBAAwB,SAAQ,UAAU;IACrD;;;OAGG;IACG,OAAO,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC;QAClD,OAAO,CAAC,EAAE,kBAAkB,GAAG,eAAe,GAAG,QAAQ,GAAG,OAAO,CAAC;QACpE,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CAsJH;AAED,UAAU,yBAAyB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,EAAE,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC3B,6DAA6D;IAC7D,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,UAAU,GAAG,WAAW,GAAG,SAAS,CAAA;CAAE,CAAC,CA2DvE"}
package/dist/jobs.d.ts CHANGED
@@ -1,68 +1,14 @@
1
- import { SmrtClassOptions } from '@happyvertical/smrt-core';
2
- import { SmrtObject } from '@happyvertical/smrt-core';
3
-
4
- /** Feature flag key honored as the kill-switch for AI auto-translation. */
5
- export declare const AUTO_TRANSLATE_FEATURE_KEY = "smrt-languages.auto_translate";
6
-
7
- /**
8
- * Enqueue a translation job for `(key, targetLocale)`, deduplicated against
9
- * any already-pending job for the same target. Returns the (possibly existing)
10
- * job's deterministic ID.
11
- */
12
- export declare function enqueueTranslationJob(options: EnqueueTranslationOptions): Promise<{
13
- id: string;
14
- status: 'enqueued' | 'duplicate' | 'skipped';
15
- }>;
16
-
17
- declare interface EnqueueTranslationOptions {
18
- key: string;
19
- targetLocale: string;
20
- sourceLocale?: string;
21
- tenantId?: string | null;
22
- db: SmrtClassOptions['db'];
23
- /** When true, skip the dedup check and force a fresh job. */
24
- force?: boolean;
25
- }
26
-
27
- /**
28
- * SmrtObject that owns the translation job's `execute` method. The TaskRunner
29
- * resolves jobs by `objectType` so the registered class name needs to match
30
- * what `enqueueTranslationJob` writes.
31
- */
32
- export declare class LanguageTranslationTask extends SmrtObject {
33
- /**
34
- * Job-runner entrypoint. Reads the translation payload, calls
35
- * `@happyvertical/ai`, and upserts a `LanguageOverride` row.
36
- */
37
- execute(args: TranslationJobPayload): Promise<{
38
- skipped?: 'feature_disabled' | 'not_supported' | 'budget' | 'stale';
39
- template?: string;
40
- }>;
41
- }
42
-
43
- /**
44
- * Prompt key registered with `smrt-prompts` so ops can tune the AI translation
45
- * style without redeploying. The prompt itself is referenced by the job
46
- * handler when calling `@happyvertical/ai`.
47
- */
48
- export declare const TRANSLATION_PROMPT_KEY = "smrt-languages.translation";
49
-
50
- /** Payload pushed to the smrt-jobs translation handler. */
51
- export declare interface TranslationJobPayload {
52
- key: string;
53
- sourceLocale: string;
54
- sourceTemplate: string;
55
- sourceHash: string;
56
- targetLocale: string;
57
- tenantId?: string | null;
58
- /** Optional model override; defaults to config / @happyvertical/ai default. */
59
- model?: string;
60
- [key: string]: unknown;
61
- }
62
-
63
- export { }
64
-
65
-
66
- declare global {
67
- var __smrtLanguageRegistry: Map<string, Map<string, LanguageStringDefinition>> | undefined;
68
- }
1
+ /**
2
+ * Subpath entry: `@happyvertical/smrt-languages/jobs`.
3
+ *
4
+ * Importing this module is what pulls in `@happyvertical/ai`, smrt-jobs,
5
+ * smrt-features, and smrt-prompts. Keeping it off the package root means
6
+ * consumers that only need `defineLanguageString` / `resolveLanguageString`
7
+ * do not pay for the translation-worker stack in their bundles.
8
+ *
9
+ * Use this entry from background workers, CLI tools, and tests that need
10
+ * to enqueue or run translation jobs directly.
11
+ */
12
+ export { AUTO_TRANSLATE_FEATURE_KEY, enqueueTranslationJob, LanguageTranslationTask, TRANSLATION_PROMPT_KEY, } from './jobs/translation-job.js';
13
+ export type { TranslationJobPayload } from './types.js';
14
+ //# sourceMappingURL=jobs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jobs.d.ts","sourceRoot":"","sources":["../src/jobs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { LanguageStringDefinition, LanguageStringDefinitionInput } from './types.js';
2
+ declare global {
3
+ var __smrtLanguageRegistry: Map<string, Map<string, LanguageStringDefinition>> | undefined;
4
+ }
5
+ export declare const LanguageRegistry: {
6
+ register(input: LanguageStringDefinitionInput): LanguageStringDefinition;
7
+ get(key: string, locale: string): LanguageStringDefinition | undefined;
8
+ has(key: string, locale: string): boolean;
9
+ hasKey(key: string): boolean;
10
+ /** Return the locales that have a registered code default for the given key. */
11
+ getLocalesForKey(key: string): string[];
12
+ /** All registered (key, locale, template) triples. Used by the batch translator. */
13
+ getAll(): LanguageStringDefinition[];
14
+ /** Distinct keys currently registered. */
15
+ getKeys(): string[];
16
+ clear(): void;
17
+ };
18
+ export declare function defineLanguageString(input: LanguageStringDefinitionInput): LanguageStringDefinition;
19
+ //# sourceMappingURL=language-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"language-registry.d.ts","sourceRoot":"","sources":["../src/language-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,6BAA6B,EAC9B,MAAM,YAAY,CAAC;AAGpB,OAAO,CAAC,MAAM,CAAC;IAEb,IAAI,sBAAsB,EACtB,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC,GAClD,SAAS,CAAC;CACf;AAgBD,eAAO,MAAM,gBAAgB;oBACX,6BAA6B,GAAG,wBAAwB;aA4C/D,MAAM,UAAU,MAAM,GAAG,wBAAwB,GAAG,SAAS;aAI7D,MAAM,UAAU,MAAM,GAAG,OAAO;gBAI7B,MAAM,GAAG,OAAO;IAI5B,gFAAgF;0BAC1D,MAAM,GAAG,MAAM,EAAE;IAKvC,oFAAoF;cAC1E,wBAAwB,EAAE;IAUpC,0CAA0C;eAC/B,MAAM,EAAE;aAIV,IAAI;CAGd,CAAC;AAEF,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,6BAA6B,GACnC,wBAAwB,CAE1B"}
@@ -0,0 +1,4 @@
1
+ import type { ResolvedLanguageString, ResolveLanguageStringOptions } from './types.js';
2
+ export declare function resolveLanguageString(key: string, options?: ResolveLanguageStringOptions): Promise<ResolvedLanguageString>;
3
+ export declare function invalidateResolvedLanguageCache(key: string, locale: string, tenantId: string | null | undefined, db: unknown): void;
4
+ //# sourceMappingURL=language-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"language-resolver.d.ts","sourceRoot":"","sources":["../src/language-resolver.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAGV,sBAAsB,EACtB,4BAA4B,EAC7B,MAAM,YAAY,CAAC;AAuLpB,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,4BAAiC,GACzC,OAAO,CAAC,sBAAsB,CAAC,CAuFjC;AAuCD,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACnC,EAAE,EAAE,OAAO,GACV,IAAI,CAEN"}
@@ -2,8 +2,96 @@
2
2
  "version": "1.0.0",
3
3
  "timestamp": 0,
4
4
  "packageName": "@happyvertical/smrt-languages",
5
- "packageVersion": "0.51.32",
5
+ "packageVersion": "0.51.34",
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",
@@ -0,0 +1,34 @@
1
+ import { SmrtObject, type SmrtObjectOptions } from '@happyvertical/smrt-core';
2
+ import type { LanguageOverrideOptions } from '../types.js';
3
+ export interface LanguageOverrideCtorOptions extends SmrtObjectOptions, LanguageOverrideOptions {
4
+ }
5
+ export declare class LanguageOverride extends SmrtObject {
6
+ key: string;
7
+ locale: string;
8
+ tenantId: string | null;
9
+ template: string;
10
+ /** True when this row was produced by the AI translation job. */
11
+ auto_generated: boolean;
12
+ /** sha256 of the source template at translation time, for re-translation gating. */
13
+ source_hash: string | null;
14
+ /** AI model identifier (null for human-edited rows). */
15
+ ai_model: string | null;
16
+ /** ISO timestamp marking admin review of an auto-generated row. */
17
+ reviewed_at: string | null;
18
+ /** User ID of the reviewer. */
19
+ reviewed_by: string | null;
20
+ constructor(options?: LanguageOverrideCtorOptions);
21
+ save(): Promise<this>;
22
+ private saveAfterIdentityChange;
23
+ private saveAfterIdentityChangeInTransaction;
24
+ private saveAfterIdentityChangeWithDeferredDelete;
25
+ delete(): Promise<void>;
26
+ /**
27
+ * Mark this auto-generated row as reviewed by an admin. Useful for the
28
+ * admin review queue surfaced via `smrt languages approve <id>`.
29
+ */
30
+ approve(reviewerId: string): Promise<this>;
31
+ private getPersistedIdentity;
32
+ }
33
+ export type { LanguageOverrideOptions } from '../types.js';
34
+ //# sourceMappingURL=LanguageOverride.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LanguageOverride.d.ts","sourceRoot":"","sources":["../../src/models/LanguageOverride.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EACV,KAAK,iBAAiB,EAEvB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAQ3D,MAAM,WAAW,2BACf,SAAQ,iBAAiB,EACvB,uBAAuB;CAAG;AAE9B,qBAYa,gBAAiB,SAAQ,UAAU;IAE9C,GAAG,EAAE,MAAM,CAAM;IAGjB,MAAM,EAAE,MAAM,CAAM;IAGpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAG/B,QAAQ,EAAE,MAAM,CAAM;IAEtB,iEAAiE;IAEjE,cAAc,EAAE,OAAO,CAAS;IAEhC,oFAAoF;IAEpF,WAAW,EAAE,MAAM,GAAG,IAAI,CAAQ;IAElC,wDAAwD;IAExD,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE/B,mEAAmE;IAEnE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAQ;IAElC,+BAA+B;IAE/B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAQ;gBAEtB,OAAO,GAAE,2BAAgC;IAoBtC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;YA+CtB,uBAAuB;YAOvB,oCAAoC;YA+BpC,yCAAyC;IA4BxC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAQtC;;;OAGG;IACG,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAMlC,oBAAoB;CA0BnC;AAED,YAAY,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC"}
@@ -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.32",
6
+ "packageVersion": "0.51.34",
7
7
  "sourceManifestPath": "dist/manifest.json",
8
8
  "agentDocPath": "AGENTS.md",
9
9
  "sourceHashes": {
10
- "manifest": "f6286254d6c978d77b2842bdf2c9e7b40ab85ace211e42b23d99b6913196302e",
11
- "packageJson": "d2852d418787598bf0db19c00850419330a399327ad7390183d19a30387be145",
10
+ "manifest": "acd14b54d45fd04621afb29c371424e7b5be8c60cd22c1f3ea4f4a22ff6b0f6f",
11
+ "packageJson": "62445ce0e86f4a087942bb54ee3c14977ea696d667318c922d529bf45c5091d3",
12
12
  "agents": "45d290839ba542a82a3cdf421d919a9dbc31f5280823ac432662bd678a087d7a"
13
13
  },
14
14
  "exports": [
@@ -31,7 +31,7 @@
31
31
  "@happyvertical/smrt-cli": "workspace:*",
32
32
  "@happyvertical/smrt-vitest": "workspace:*",
33
33
  "@types/node": "24.13.6",
34
- "typescript": "5.9.3",
34
+ "typescript": "6.0.3",
35
35
  "vite": "8.1.4",
36
36
  "vitest": "4.1.10"
37
37
  },
@@ -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",