@customize-agent/server 4.0.59 → 4.0.61

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.
Files changed (38) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +3 -3
  3. package/.next/prerender-manifest.json +3 -3
  4. package/.next/server/chunks/6697.js +10 -10
  5. package/.next/server/middleware-build-manifest.js +1 -1
  6. package/.next/server/pages/404.html +1 -1
  7. package/.next/server/pages/500.html +1 -1
  8. package/.next/server/pages/api/assets/generated/preview.js +1 -1
  9. package/.next/server/pages/api/assets/generated.js +1 -1
  10. package/.next/server/pages/api/documents/export.js +1 -1
  11. package/.next/server/pages/api/documents/generate.js +1 -1
  12. package/.next/server/pages/api/documents/generated/[id].js +1 -1
  13. package/.next/server/pages/api/documents/generated.js +1 -1
  14. package/.next/server/pages/asset-library.html +1 -1
  15. package/.next/server/pages/context/long-term.html +1 -1
  16. package/.next/server/pages/context/short-term.html +1 -1
  17. package/.next/server/pages/document-roles.html +1 -1
  18. package/.next/server/pages/documents.html +1 -1
  19. package/.next/server/pages/guide.html +1 -1
  20. package/.next/server/pages/index.html +1 -1
  21. package/.next/server/pages/knowledge/file-detail.html +1 -1
  22. package/.next/server/pages/knowledge/files.html +1 -1
  23. package/.next/server/pages/knowledge/manage.html +1 -1
  24. package/.next/server/pages/knowledge/search.html +1 -1
  25. package/.next/server/pages/knowledge.html +1 -1
  26. package/.next/server/pages/models.html +1 -1
  27. package/.next/server/pages/overview.html +1 -1
  28. package/.next/server/pages/prompt.html +1 -1
  29. package/.next/server/pages/settings.html +1 -1
  30. package/.next/server/pages/system/logs.html +1 -1
  31. package/.next/server/pages-manifest.json +23 -23
  32. package/.next/static/{wqFguWd59uWhcZWSeWsai → 2V4R1PKQLOG478wnOyKXT}/_buildManifest.js +1 -1
  33. package/.next/static/chunks/pages/documents-73cbf7cdbcc4e6f6.js +1 -0
  34. package/messages/en-US.json +460 -0
  35. package/messages/zh-CN.json +460 -0
  36. package/package.json +5 -4
  37. package/.next/static/chunks/pages/documents-5ce3bdfd70f29481.js +0 -1
  38. /package/.next/static/{wqFguWd59uWhcZWSeWsai → 2V4R1PKQLOG478wnOyKXT}/_ssgManifest.js +0 -0
@@ -0,0 +1,460 @@
1
+ {
2
+ "app": {
3
+ "title": "Customize Agent",
4
+ "subtitle": "Admin Console"
5
+ },
6
+ "nav": {
7
+ "overview": "Overview",
8
+ "knowledge": "Knowledge Base",
9
+ "knowledgeManage": "KB Management",
10
+ "fileManagement": "File Management",
11
+ "knowledgeSearch": "KB Search",
12
+ "documents": "Workflow Templates",
13
+ "assetLibrary": "Generated Assets",
14
+ "documentRoles": "Role Config",
15
+ "documentSpecs": "Document Specs",
16
+ "guide": "Guide",
17
+ "models": "Model Config",
18
+ "settings": "Settings",
19
+ "contextEngineering": "Context Engineering",
20
+ "longTermContext": "Long-term Context",
21
+ "shortTermContext": "Short-term Context",
22
+ "promptManagement": "Prompt Management",
23
+ "systemLogs": "System Logs"
24
+ },
25
+ "overview": {
26
+ "title": "System Overview",
27
+ "description": "Monitor Customize Agent status and key metrics",
28
+ "status": "Service Status",
29
+ "statusRunning": "Running",
30
+ "statusError": "Error",
31
+ "knowledgeBase": "Knowledge Base",
32
+ "modelConfig": "Model Config",
33
+ "filesCount": "Total Files",
34
+ "chunksCount": "Total Chunks",
35
+ "storageSize": "Storage Size",
36
+ "providersCount": "Models",
37
+ "quickActions": "Quick Actions",
38
+ "goToKnowledge": "Manage Knowledge Base",
39
+ "goToModels": "Configure Models",
40
+ "goToSettings": "System Settings",
41
+ "cores": "cores",
42
+ "memory": "Memory",
43
+ "tokensUsed": "Total Tokens",
44
+ "tasksTotal": "Total Tasks",
45
+ "successRate": "Success Rate",
46
+ "topModel": "Most Used Model",
47
+ "taskTypes": "Task Types",
48
+ "calls": "calls"
49
+ },
50
+ "knowledge": {
51
+ "title": "Knowledge Base",
52
+ "description": "Manage local files and knowledge base index",
53
+ "manageTitle": "KB Management",
54
+ "manageDesc": "View knowledge base statistics, categories, and features",
55
+ "stats": "Statistics",
56
+ "files": "File Management",
57
+ "settings": "KB Settings",
58
+ "totalFiles": "Total Files",
59
+ "totalChunks": "Total Chunks",
60
+ "totalSize": "Total Size",
61
+ "lastIndexed": "Last Indexed",
62
+ "categories": "File Categories",
63
+ "fileCount": "File Count",
64
+ "search": "Search Files",
65
+ "searchPlaceholder": "Search by filename or content...",
66
+ "filterCategory": "Filter Category",
67
+ "allCategories": "All Types",
68
+ "upload": "Upload File",
69
+ "uploadHint": "Click or drag to upload (PDF, Word, Excel, images, code, etc.)",
70
+ "uploading": "Uploading...",
71
+ "reindex": "Reindex",
72
+ "reindexing": "Reindexing...",
73
+ "delete": "Delete",
74
+ "deleteConfirm": "Are you sure you want to delete this file? This action cannot be undone.",
75
+ "fileList": "File List",
76
+ "fileName": "File Name",
77
+ "fileSize": "Size",
78
+ "fileCategory": "Category",
79
+ "fileDate": "Modified",
80
+ "noFiles": "No files yet. Upload files to get started.",
81
+ "loadError": "Failed to load file list",
82
+ "emptySearch": "No matching files found",
83
+ "ignoreRules": "Ignore Rules",
84
+ "ignoreHint": "One glob pattern per line. Matching files will be skipped.",
85
+ "saveIgnore": "Save Rules",
86
+ "duplicates": "Duplicate Files",
87
+ "noDuplicates": "No duplicate files found",
88
+ "duplicatesFound": "Found {count} duplicate groups",
89
+ "features": "Feature Status",
90
+ "featureName": "Feature",
91
+ "featureDesc": "Description",
92
+ "featureValue": "Implementation",
93
+ "featureVectorStoreDesc": "Vector database for storing document embeddings",
94
+ "featureEmbeddingDesc": "Text embedding model for converting text to vectors",
95
+ "featureDedup": "Dedup Engine",
96
+ "featureDedupDesc": "Detects and removes duplicate/similar documents",
97
+ "featureChunker": "Chunker",
98
+ "featureChunkerDesc": "Splits documents into retrievable semantic chunks",
99
+ "globalSearch": "Global Search",
100
+ "projectSearch": "Project Search",
101
+ "autoIndex": "Auto Index",
102
+ "enabled": "Enabled",
103
+ "disabled": "Disabled",
104
+ "parentChunks": "Parent Chunks",
105
+ "childChunks": "Child Chunks",
106
+ "parentChunkId": "Parent ID",
107
+ "chunkIndex": "Chunk Index",
108
+ "chunkType": "Type",
109
+ "sectionOrRange": "Section / Range",
110
+ "chunkContent": "Content",
111
+ "parentChunkHint": "A parent chunk is the context bundle of child chunks with the same parentId. If a parent contains only one child, identical content in both tables is expected.",
112
+ "parentMatches": "Parent Matches",
113
+ "childMatches": "Child Matches",
114
+ "filterTerm": "Filter",
115
+ "searchTitle": "Knowledge Base Search",
116
+ "searchDesc": "Inspect hybrid retrieval, parent backfill, chunk sources, and score details. The document workspace uses the same retrieval pipeline to automatically recall chapter evidence.",
117
+ "goToDocuments": "Open Document Workspace",
118
+ "autoSearchFirst": "Automatic retrieval first, manual confirmation second",
119
+ "autoSearchFirstDesc": "The document workspace automatically retrieves evidence by chapter. Copy file paths as advanced priority evidence only when official documents, drawings, or tables must be specified.",
120
+ "searchContentPlaceholder": "Enter knowledge base content to search",
121
+ "searchAction": "Search",
122
+ "searchFailed": "Search failed",
123
+ "recallWeightTuning": "Recall Weight Tuning",
124
+ "debugPanel": "Retrieval Debug Panel",
125
+ "originalQuery": "Original Query",
126
+ "reranker": "Reranker",
127
+ "rewrittenQueries": "Query Rewrites",
128
+ "recallCounts": "Recall Counts",
129
+ "recallWeights": "Recall Weights",
130
+ "searchResults": "Search Results",
131
+ "noSearchResults": "No results",
132
+ "resultIndex": "No.",
133
+ "rowRange": "Rows",
134
+ "copyAsPriorityEvidence": "Copy as Priority Evidence",
135
+ "copyPriorityEvidenceSuccess": "File path copied. Paste it into advanced priority evidence only when manual evidence selection is required.",
136
+ "expand": "Expand",
137
+ "weights": {
138
+ "keyword": "Keyword Weight",
139
+ "vector": "Vector Weight",
140
+ "rewrite": "Rewrite Weight",
141
+ "hybridBonus": "Hybrid Bonus"
142
+ },
143
+ "recallSources": {
144
+ "keyword": "Keyword Retrieval",
145
+ "vector": "Vector Retrieval",
146
+ "rewrite": "Query Rewrite",
147
+ "hybrid": "Hybrid Retrieval",
148
+ "rerank": "Rerank"
149
+ },
150
+ "scopes": {
151
+ "project": "Current Project",
152
+ "global": "Global"
153
+ },
154
+ "scoreDetails": {
155
+ "keywordScore": "Keyword Score",
156
+ "bm25Score": "BM25 Score",
157
+ "vectorScore": "Vector Score",
158
+ "rerankBoost": "Rerank Boost",
159
+ "hybridScore": "Hybrid Score"
160
+ }
161
+ },
162
+ "models": {
163
+ "title": "Model Configuration",
164
+ "description": "Manage LLM models and tier assignments",
165
+ "modelList": "Model List",
166
+ "addModel": "Add Model",
167
+ "editModel": "Edit Model",
168
+ "providerName": "Provider Name",
169
+ "modelName": "Model Name",
170
+ "apiKey": "API Key",
171
+ "baseUrl": "Base URL",
172
+ "protocol": "Protocol",
173
+ "testConnection": "Test Connection",
174
+ "testing": "Testing...",
175
+ "connected": "Connected",
176
+ "connectionFailed": "Connection Failed",
177
+ "noProviders": "No models yet. Add one to get started.",
178
+ "modelTiers": "Model Tier Assignment",
179
+ "tierReader": "Reader (Read-only)",
180
+ "tierReaderDesc": "Handles low-risk, read-only, and cost-sensitive work such as reading files, searching the knowledge base, text search, and context organization. Prefer fast, inexpensive models with stable long-context support.",
181
+ "tierReasoning": "Reasoning (Analysis)",
182
+ "tierReasoningDesc": "Handles deeper analysis, planning, code understanding, and multi-step reasoning. Prefer models with stronger reasoning quality and reliability.",
183
+ "tierAction": "Action (Write/Execute)",
184
+ "tierActionDesc": "Handles side-effect operations such as writing files, changing code, running commands, and calling external tools. Prefer reliable models with strong instruction-following and verified behavior.",
185
+ "activeModel": "Active Model",
186
+ "deleteProvider": "Delete",
187
+ "deleteProviderConfirm": "Are you sure you want to delete this model and all its configs?",
188
+ "modelNamePlaceholder": "e.g. gpt-4o / deepseek-chat",
189
+ "selectModelPlaceholder": "No model selected",
190
+ "apiKeyEditHint": "Configured keys are shown as a masked value. Focus the field to enter a new key; the mask cannot be copied. Leave empty or keep the mask to avoid changes.",
191
+ "apiKeyEditPlaceholder": "Enter a new API key, or leave empty to keep current",
192
+ "embeddingConfig": "Embedding Configuration",
193
+ "embeddingProvider": "Embedding Provider",
194
+ "embeddingProviderHash": "Local Semantic Embedding",
195
+ "embeddingProviderOpenAI": "OpenAI-compatible Embedding",
196
+ "embeddingHint": "Embedding is used for knowledge base vector retrieval. After changing the embedding model or dimensions, reindex the knowledge base.",
197
+ "model": "Model",
198
+ "dimensions": "Dimensions",
199
+ "status": "Status",
200
+ "localHash": "Local Semantic Embedding",
201
+ "openAICompatible": "OpenAI-compatible",
202
+ "saveEmbedding": "Save Embedding Config",
203
+ "testEmbedding": "Test Embedding",
204
+ "embeddingApiKeyHint": "Leave empty or keep the masked value to avoid changing the key",
205
+ "optional": "Optional",
206
+ "save": "Save",
207
+ "cancel": "Cancel"
208
+ },
209
+ "context": {
210
+ "title": "Context Engineering",
211
+ "longTermDesc": "Persistent context from memory store (cross-session)",
212
+ "shortTermDesc": "Short-term context from recent session logs",
213
+ "longTermSource": "Source: ~/.customize-agent/memory.db (Memory Store)",
214
+ "shortTermSource": "Source: ~/.customize-agent/logs/ (Session Logs)",
215
+ "importance": "Importance",
216
+ "content": "Content",
217
+ "tags": "Tags",
218
+ "source": "Source",
219
+ "sourceHint": "Optional additional source/context description",
220
+ "updatedAt": "Updated"
221
+ },
222
+ "prompt": {
223
+ "title": "Prompt Management",
224
+ "description": "Manage CUSTOMIZE.md system prompt files per project",
225
+ "filePath": "File Path",
226
+ "lastModified": "Last Modified",
227
+ "hasFile": "Configured",
228
+ "noFile": "Not Configured",
229
+ "noProjects": "No projects found. Initialize a Customize Agent project first."
230
+ },
231
+ "documents": {
232
+ "title": "Workflow Templates",
233
+ "description": "Generate, edit, and validate business documents from templates and the local knowledge base",
234
+ "templateLibrary": "Template Library",
235
+ "workflow": "Template Workflow",
236
+ "template": "Template",
237
+ "selected": "Selected",
238
+ "boundPrompts": "Bound Prompts",
239
+ "boundFiles": "Bound Knowledge Files",
240
+ "boundPromptsRequired": "Select prompts",
241
+ "boundFilesRequired": "Select knowledge files",
242
+ "promptRole": "Prompt Role",
243
+ "fileRole": "File Role",
244
+ "manageRoles": "Manage Roles",
245
+ "roleEditor": "Role Editor",
246
+ "roleType": "Role Type",
247
+ "roleName": "Role Name",
248
+ "roleDescription": "Role Description",
249
+ "addPromptBinding": "Add Prompt Binding",
250
+ "addFileBinding": "Add File Binding",
251
+ "structuredFacts": "Structured Facts",
252
+ "exportGate": "Export Gate",
253
+ "executionStages": "Execution Stages",
254
+ "executionStatus": "Execution Status",
255
+ "flowPrepare": "Prepare Config",
256
+ "flowPrepareDesc": "Load template, project role config, file roles, and prompt roles",
257
+ "flowPrepareDone": "Config loaded",
258
+ "flowFactExtraction": "Fact Extraction",
259
+ "flowFactExtractionDesc": "Extract JSON facts and table structures by file processing type",
260
+ "flowChapterGeneration": "Chapter Generation",
261
+ "flowChapterGenerationDesc": "Generate chapter drafts from evidence, facts, and prompts",
262
+ "flowValidation": "Strict Validation",
263
+ "flowValidationDesc": "Check fact completeness, source traceability, and chapter evidence",
264
+ "flowFormatting": "Formal Formatting",
265
+ "flowFormattingDesc": "Generate cover, table of contents, page breaks, and formal document structure",
266
+ "flowDone": "Completed",
267
+ "flowDoneDesc": "Generation completed; ready for editing and export",
268
+ "flowGateFailed": "Generation completed, but export gate failed. Check validation results",
269
+ "projectRoleConfig": "Project Role Config",
270
+ "documentSpec": "Document Spec Package",
271
+ "documentSpecPlaceholder": "Select a document spec package",
272
+ "exportDocx": "Export Word",
273
+ "projectRoleConfigRequired": "Select a project role config",
274
+ "noRoleConfig": "No project role config bound",
275
+ "evidenceLimit": "Evidence per Chapter",
276
+ "requirement": "Generation Requirement",
277
+ "requirementPlaceholder": "Example: Generate a construction organization design draft from uploaded tender files, drawings, and BOQ sheets.",
278
+ "generate": "Generate",
279
+ "editor": "Generate / Editor",
280
+ "edit": "Edit",
281
+ "chapters": "Chapters",
282
+ "sources": "Sources",
283
+ "missingItems": "Missing Items",
284
+ "validation": "Validation",
285
+ "evidenceCount": "Evidence Count",
286
+ "missingCount": "Missing Facts",
287
+ "downloadMarkdown": "Download Markdown",
288
+ "exportHtml": "Export HTML",
289
+ "exportPdf": "Export PDF",
290
+ "saveDraft": "Save Draft",
291
+ "draftHistory": "Draft History",
292
+ "regenerateChapter": "Regenerate Chapter",
293
+ "newTemplate": "New Template",
294
+ "templateEditor": "Template Editor",
295
+ "templateName": "Template Name",
296
+ "templateCategory": "Template Category",
297
+ "templateDescription": "Template Description",
298
+ "outputTitle": "Output Title",
299
+ "chapter": "Chapter",
300
+ "chapterTitle": "Chapter Title",
301
+ "chapterPurpose": "Chapter Purpose",
302
+ "chapterQueries": "Search Queries",
303
+ "requiredFacts": "Required Facts",
304
+ "addChapter": "Add Chapter",
305
+ "builtIn": "Built-in",
306
+ "deleteTemplateConfirm": "Delete this template?",
307
+ "noDraft": "Select a template and generate a draft"
308
+ },
309
+ "specs": {
310
+ "title": "Document Spec Packages",
311
+ "description": "Configure fact fields, chapter rules, and executable gate rules. Both system and custom gate types participate in validation.",
312
+ "newSpec": "New Spec",
313
+ "list": "Spec List",
314
+ "editor": "Spec Editor",
315
+ "name": "Spec Name",
316
+ "specDescription": "Description",
317
+ "wordTemplatePath": "Word Template Path",
318
+ "facts": "Fact Fields",
319
+ "chapters": "Chapter Rules",
320
+ "gates": "Gate Rules",
321
+ "factName": "Field Name",
322
+ "factType": "Field Type",
323
+ "required": "Required",
324
+ "sourceRoles": "Source File Roles",
325
+ "extractionHint": "Extraction Hint",
326
+ "validationHint": "Validation Hint",
327
+ "addFact": "Add Fact Field",
328
+ "chapterTitle": "Chapter Title",
329
+ "order": "Order",
330
+ "minWords": "Min Words",
331
+ "requiredFacts": "Required Facts",
332
+ "requiredFileRoles": "Required File Roles",
333
+ "requiredPromptRoles": "Required Prompt Roles",
334
+ "generationHint": "Generation Hint",
335
+ "addChapter": "Add Chapter Rule",
336
+ "gateName": "Gate Name",
337
+ "addGate": "Add Gate Rule",
338
+ "plainGuideTitle": "Plain explanation: what is a document spec package?",
339
+ "plainGuideDesc": "A document spec package is not a fixed template. It is a configurable production rule set: fact fields define what must be known, chapter rules define required chapters and constraints, and gate rules define checks before generation and export. Users can create custom gate types by choosing a validation subject and operator; saved custom types run just like system gate types."
340
+ },
341
+ "guide": {
342
+ "title": "Guide: Run the Full Document Generation Flow",
343
+ "description": "This guide walks users through model setup, uploading their own files, prompts, role configuration, spec packages, template creation, generation, validation, and export.",
344
+ "fullFlow": "Full Flow",
345
+ "stepModel": "1. Configure Models",
346
+ "stepModelDesc": "Open Model Config, add providers and models, set an active model, and run health checks.",
347
+ "stepKnowledge": "2. Upload Knowledge Files",
348
+ "stepKnowledgeDesc": "Upload tender files, project descriptions, tables, drawings, specifications, and standards, then wait for indexing.",
349
+ "stepPrompt": "3. Create Prompts",
350
+ "stepPromptDesc": "Create prompts for fact extraction, chapter generation, validation, and formatting.",
351
+ "stepRole": "4. Configure Roles",
352
+ "stepRoleDesc": "Create file roles and prompt roles, bind resources, then create an ordered project role config.",
353
+ "stepTemplate": "5. Create Template",
354
+ "stepTemplateDesc": "Create a template in Workflow Templates and bind a project role config.",
355
+ "stepGenerate": "6. Generate",
356
+ "stepGenerateDesc": "Click Generate and observe the execution status card for progress.",
357
+ "stepReview": "7. Review",
358
+ "stepReviewDesc": "Review facts, sources, missing items, validation, export gate, and execution stages.",
359
+ "stepExport": "8. Export",
360
+ "stepExportDesc": "Export Markdown, HTML, or PDF. PDF export enforces the export gate.",
361
+ "roleDesign": "Role Design",
362
+ "roleDesignDesc": "Roles connect user-defined names to executable system behavior through execution or processing types.",
363
+ "fileRole": "File Role",
364
+ "fileRoleDesc": "A file role binds a knowledge file and declares its processing type.",
365
+ "promptRole": "Prompt Role",
366
+ "promptRoleDesc": "A prompt role binds a prompt and declares its execution type.",
367
+ "projectConfig": "Project Role Config",
368
+ "projectConfigDesc": "A project role config combines and orders file roles and prompt roles. Templates bind configs directly.",
369
+ "generationEngine": "Generation Engine",
370
+ "generationEngineDesc": "The engine organizes resources by roles and runs fact extraction, table parsing, generation, validation, and formatting.",
371
+ "prepareTitle": "How should I prepare files?",
372
+ "prepareContent": "Prepare project facts, rules, tables, drawings, and specifications. Make table headers clear and include drawing descriptions when possible.",
373
+ "rolesTitle": "How should roles be named?",
374
+ "rolesContent": "Use business names such as Tender Fact Source, Labor Plan Table, or Chapter Generation Prompt. System behavior depends on types, not names.",
375
+ "templateTitle": "How should templates be created?",
376
+ "templateContent": "Templates define document entry and output title. Bind a project role config instead of selecting files and prompts directly.",
377
+ "generateTitle": "How do I see progress?",
378
+ "generateContent": "The generation page shows an execution status card. The current step is highlighted and final backend stages appear after completion.",
379
+ "qaTitle": "How do I know whether export is allowed?",
380
+ "qaContent": "Check the export gate. PDF export should only proceed when there are no blocking errors and facts/sources/chapters are complete."
381
+ },
382
+ "roles": {
383
+ "title": "Role Config",
384
+ "description": "Create file roles and prompt roles, then combine them into ordered project role configs for templates",
385
+ "newFileRole": "New File Role",
386
+ "newPromptRole": "New Prompt Role",
387
+ "newConfig": "New Project Config",
388
+ "fileRoles": "File Roles",
389
+ "promptRoles": "Prompt Roles",
390
+ "configs": "Project Role Configs",
391
+ "roleEditor": "Role Editor",
392
+ "configEditor": "Project Role Config Editor",
393
+ "roleType": "Role Type",
394
+ "fileRole": "File Role",
395
+ "promptRole": "Prompt Role",
396
+ "roleName": "Role Name",
397
+ "roleDescription": "Role Description",
398
+ "bindFile": "Bind Knowledge File",
399
+ "bindPrompt": "Bind Prompt",
400
+ "executionType": "Execution Type",
401
+ "processingType": "Processing Type",
402
+ "factExtraction": "Fact Extraction",
403
+ "chapterGeneration": "Chapter Generation",
404
+ "validation": "Validation",
405
+ "formatting": "Formatting",
406
+ "llmReview": "LLM Review",
407
+ "reference": "Reference",
408
+ "ruleFile": "Rule File",
409
+ "projectFactFile": "Project Fact File",
410
+ "tableFile": "Table Data",
411
+ "drawingFile": "Drawing File",
412
+ "specificationFile": "Specification File",
413
+ "configName": "Config Name",
414
+ "configDescription": "Config Description",
415
+ "addRole": "Add Role",
416
+ "plainGuideTitle": "Plain explanation: what are file roles and prompt roles?",
417
+ "plainGuideDesc": "File roles label what files are used for. Rule files define requirements; project fact files contain real project info; table data means spreadsheets; drawing files mean drawing catalogs/descriptions; specification files are standards; references are only supporting materials. Prompt roles label when prompts are used. A role can bind multiple files or prompts when one purpose needs multiple resources.",
418
+ "executionTypeHelp": "Which stage this prompt is used in: fact extraction, chapter generation, validation, formatting, or reference.",
419
+ "processingTypeHelp": "What this file does in generation: rules, facts, tables, drawings, specifications, or references.",
420
+ "multiBindFileHelp": "Multiple files are allowed when one purpose has multiple source files.",
421
+ "multiBindPromptHelp": "Multiple prompts are allowed when one stage needs multiple prompt rules."
422
+ },
423
+ "settings": {
424
+ "title": "System Settings",
425
+ "description": "Manage language, theme, and other preferences",
426
+ "language": "Language",
427
+ "languageDesc": "Interface display language",
428
+ "theme": "Theme",
429
+ "themeDesc": "Light / Dark mode",
430
+ "light": "Light",
431
+ "dark": "Dark",
432
+ "system": "System",
433
+ "about": "About",
434
+ "version": "Version",
435
+ "port": "Service Port"
436
+ },
437
+ "common": {
438
+ "save": "Save",
439
+ "cancel": "Cancel",
440
+ "confirm": "Confirm",
441
+ "delete": "Delete",
442
+ "edit": "Edit",
443
+ "add": "Add",
444
+ "search": "Search",
445
+ "loading": "Loading...",
446
+ "error": "Something went wrong",
447
+ "success": "Success",
448
+ "retry": "Retry",
449
+ "close": "Close",
450
+ "back": "Back",
451
+ "more": "More",
452
+ "noData": "No data",
453
+ "bytes": "bytes",
454
+ "kb": "KB",
455
+ "mb": "MB",
456
+ "gb": "GB",
457
+ "unknown": "Unknown",
458
+ "never": "Never"
459
+ }
460
+ }