Skip to content

Commit 8bbade5

Browse files
committed
feat(prompts): add workflows for post-upload and document extraction reviews
Introduce two new review workflows to improve translation task management: - Add post-upload review workflow enabling creation of language-specific review tasks for files already uploaded to the platform with flexible assignee mapping and optional confirmation prior to task creation. - Add document extraction review workflow that parses raw document content into translation keys, creates them in bulk, and sets up translation tasks with language-based assignee assignments. Additionally, enhance key listing functionality by supporting filename-based filtering to precisely select keys associated with specific files, improving task scope accuracy. These additions streamline review and translation setup processes for files and document content, reducing manual overhead and enhancing assignment flexibility.
1 parent 399c0a3 commit 8bbade5

5 files changed

Lines changed: 340 additions & 73 deletions

File tree

src/domains/keys/keys.controller.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ async function listKeys(
6363
include_translations: args.includeTranslations,
6464
filter_keys: args.filterKeys,
6565
filter_platforms: args.filterPlatforms,
66+
filter_filenames: args.filterFilenames,
6667
pagination: "cursor", // Use cursor pagination for better performance
6768
};
6869

src/domains/keys/keys.service.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ export interface KeyListParams extends ApiRequestOptions {
4242
filter_keys?: string[];
4343
filter_platforms?: string[];
4444
filter_tags?: string[];
45+
filter_filenames?: string[];
4546
pagination?: "offset" | "cursor";
4647
cursor?: string;
4748
}
@@ -161,6 +162,9 @@ export async function getKeys(
161162
if (options.filter_tags && options.filter_tags.length > 0) {
162163
apiParams.filter_tags = options.filter_tags.join(",");
163164
}
165+
if (options.filter_filenames && options.filter_filenames.length > 0) {
166+
apiParams.filter_filenames = options.filter_filenames.join(",");
167+
}
164168

165169
const result = await api.keys().list(apiParams);
166170

src/domains/keys/keys.types.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,12 @@ export const ListKeysToolArgs = z
2727
.array(z.enum(["ios", "android", "web", "other"]))
2828
.optional()
2929
.describe("Filter by platforms (ios, android, web, other)"),
30+
filterFilenames: z
31+
.array(z.string())
32+
.optional()
33+
.describe(
34+
"Filter by specific filenames (e.g., ['document.docx', 'strings.json'])",
35+
),
3036
})
3137
.strict();
3238

0 commit comments

Comments
 (0)