ltcai 4.0.1 → 4.2.0

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 (192) hide show
  1. package/README.md +33 -24
  2. package/desktop/electron/main.cjs +44 -0
  3. package/docs/CHANGELOG.md +84 -0
  4. package/docs/V4_1_FRONTEND_ARCHITECTURE_REVIEW.md +65 -0
  5. package/docs/V4_1_FRONTEND_MIGRATION_REPORT.md +70 -0
  6. package/docs/V4_1_VALIDATION_REPORT.md +47 -0
  7. package/docs/V4_2_BRAIN_CORE_ARCHITECTURE.md +97 -0
  8. package/docs/V4_2_STORAGE_MIGRATION_REPORT.md +91 -0
  9. package/docs/V4_2_VALIDATION_REPORT.md +89 -0
  10. package/docs/V4_DIGITAL_BRAIN_RECOVERY.md +31 -26
  11. package/frontend/index.html +24 -0
  12. package/frontend/openapi.json +14436 -0
  13. package/frontend/src/App.tsx +184 -0
  14. package/frontend/src/api/client.ts +320 -0
  15. package/frontend/src/api/openapi.ts +16921 -0
  16. package/frontend/src/components/primitives.tsx +204 -0
  17. package/frontend/src/components/ui/badge.tsx +27 -0
  18. package/frontend/src/components/ui/button.tsx +37 -0
  19. package/frontend/src/components/ui/card.tsx +22 -0
  20. package/frontend/src/components/ui/input.tsx +16 -0
  21. package/frontend/src/components/ui/textarea.tsx +16 -0
  22. package/frontend/src/lib/utils.ts +33 -0
  23. package/frontend/src/main.tsx +23 -0
  24. package/frontend/src/pages/Act.tsx +245 -0
  25. package/frontend/src/pages/Ask.tsx +200 -0
  26. package/frontend/src/pages/Brain.tsx +267 -0
  27. package/frontend/src/pages/Capture.tsx +158 -0
  28. package/frontend/src/pages/Library.tsx +187 -0
  29. package/frontend/src/pages/System.tsx +378 -0
  30. package/frontend/src/routes.ts +85 -0
  31. package/frontend/src/store/appStore.ts +54 -0
  32. package/frontend/src/styles.css +107 -0
  33. package/kg_schema.py +1 -1
  34. package/knowledge_graph.py +4 -4
  35. package/lattice_brain/__init__.py +70 -0
  36. package/lattice_brain/_kg_common.py +1 -0
  37. package/lattice_brain/archive.py +133 -0
  38. package/lattice_brain/context.py +3 -0
  39. package/lattice_brain/conversations.py +3 -0
  40. package/lattice_brain/core.py +82 -0
  41. package/lattice_brain/discovery.py +1 -0
  42. package/lattice_brain/documents.py +1 -0
  43. package/lattice_brain/embeddings.py +82 -0
  44. package/lattice_brain/identity.py +13 -0
  45. package/lattice_brain/ingest.py +1 -0
  46. package/lattice_brain/memory.py +3 -0
  47. package/lattice_brain/network.py +1 -0
  48. package/lattice_brain/projection.py +1 -0
  49. package/lattice_brain/provenance.py +1 -0
  50. package/lattice_brain/retrieval.py +1 -0
  51. package/lattice_brain/schema.py +1 -0
  52. package/lattice_brain/storage/__init__.py +22 -0
  53. package/lattice_brain/storage/base.py +72 -0
  54. package/lattice_brain/storage/docker.py +105 -0
  55. package/lattice_brain/storage/factory.py +31 -0
  56. package/lattice_brain/storage/migration.py +190 -0
  57. package/lattice_brain/storage/postgres.py +123 -0
  58. package/lattice_brain/storage/sqlite.py +128 -0
  59. package/lattice_brain/store.py +3 -0
  60. package/lattice_brain/write_master.py +1 -0
  61. package/latticeai/__init__.py +1 -1
  62. package/latticeai/api/portability.py +69 -0
  63. package/latticeai/api/setup.py +5 -4
  64. package/latticeai/api/static_routes.py +4 -4
  65. package/latticeai/app_factory.py +17 -10
  66. package/latticeai/brain/__init__.py +6 -6
  67. package/latticeai/brain/_kg_common.py +1 -1
  68. package/latticeai/brain/network.py +1 -1
  69. package/latticeai/brain/retrieval.py +15 -0
  70. package/latticeai/brain/store.py +22 -6
  71. package/latticeai/core/config.py +8 -0
  72. package/latticeai/core/marketplace.py +1 -1
  73. package/latticeai/core/multi_agent.py +1 -1
  74. package/latticeai/core/workspace_os.py +1 -1
  75. package/latticeai/services/kg_portability.py +82 -1
  76. package/package.json +55 -15
  77. package/scripts/build_frontend_assets.mjs +38 -0
  78. package/scripts/bump_version.py +4 -1
  79. package/scripts/export_openapi.py +31 -0
  80. package/scripts/lint_frontend.mjs +91 -0
  81. package/scripts/migrate_brain_storage.py +53 -0
  82. package/scripts/run_python.mjs +47 -0
  83. package/scripts/wheel_smoke.py +3 -0
  84. package/src-tauri/Cargo.lock +4833 -0
  85. package/src-tauri/Cargo.toml +19 -0
  86. package/src-tauri/build.rs +3 -0
  87. package/src-tauri/capabilities/default.json +7 -0
  88. package/src-tauri/src/main.rs +78 -0
  89. package/src-tauri/tauri.conf.json +39 -0
  90. package/static/app/asset-manifest.json +32 -0
  91. package/static/app/assets/core-CwxXejkd.js +2 -0
  92. package/static/app/assets/core-CwxXejkd.js.map +1 -0
  93. package/static/app/assets/index-CDjiH_se.css +2 -0
  94. package/static/app/assets/index-C_HAkbAg.js +333 -0
  95. package/static/app/assets/index-C_HAkbAg.js.map +1 -0
  96. package/static/app/index.html +25 -0
  97. package/static/manifest.json +2 -2
  98. package/static/sw.js +4 -4
  99. package/scripts/build_v3_assets.mjs +0 -170
  100. package/scripts/lint_v3.mjs +0 -120
  101. package/static/v3/asset-manifest.json +0 -63
  102. package/static/v3/css/lattice.base.49deefb5.css +0 -128
  103. package/static/v3/css/lattice.base.css +0 -128
  104. package/static/v3/css/lattice.components.cde18231.css +0 -472
  105. package/static/v3/css/lattice.components.css +0 -472
  106. package/static/v3/css/lattice.shell.29d36d85.css +0 -452
  107. package/static/v3/css/lattice.shell.css +0 -452
  108. package/static/v3/css/lattice.tokens.304cbc40.css +0 -135
  109. package/static/v3/css/lattice.tokens.css +0 -135
  110. package/static/v3/css/lattice.views.0a18b6c5.css +0 -360
  111. package/static/v3/css/lattice.views.css +0 -360
  112. package/static/v3/index.html +0 -68
  113. package/static/v3/js/app.c5c80c46.js +0 -26
  114. package/static/v3/js/app.js +0 -26
  115. package/static/v3/js/core/api.ba0fbf14.js +0 -625
  116. package/static/v3/js/core/api.js +0 -625
  117. package/static/v3/js/core/components.f25b3b93.js +0 -230
  118. package/static/v3/js/core/components.js +0 -230
  119. package/static/v3/js/core/dom.a2773eb0.js +0 -148
  120. package/static/v3/js/core/dom.js +0 -148
  121. package/static/v3/js/core/i18n.880e1fec.js +0 -575
  122. package/static/v3/js/core/i18n.js +0 -575
  123. package/static/v3/js/core/router.584570f2.js +0 -37
  124. package/static/v3/js/core/router.js +0 -37
  125. package/static/v3/js/core/routes.37522821.js +0 -101
  126. package/static/v3/js/core/routes.js +0 -101
  127. package/static/v3/js/core/shell.e3f6bbfa.js +0 -420
  128. package/static/v3/js/core/shell.js +0 -420
  129. package/static/v3/js/core/store.7b2aa044.js +0 -123
  130. package/static/v3/js/core/store.js +0 -123
  131. package/static/v3/js/views/account.eff40715.js +0 -143
  132. package/static/v3/js/views/account.js +0 -143
  133. package/static/v3/js/views/activity.0d271ef9.js +0 -67
  134. package/static/v3/js/views/activity.js +0 -67
  135. package/static/v3/js/views/admin-audit.660a1fb1.js +0 -185
  136. package/static/v3/js/views/admin-audit.js +0 -185
  137. package/static/v3/js/views/admin-permissions.a7ae5f09.js +0 -177
  138. package/static/v3/js/views/admin-permissions.js +0 -177
  139. package/static/v3/js/views/admin-policies.3658fd86.js +0 -102
  140. package/static/v3/js/views/admin-policies.js +0 -102
  141. package/static/v3/js/views/admin-private-vpc.7d342d36.js +0 -135
  142. package/static/v3/js/views/admin-private-vpc.js +0 -135
  143. package/static/v3/js/views/admin-security.07c66b72.js +0 -180
  144. package/static/v3/js/views/admin-security.js +0 -180
  145. package/static/v3/js/views/admin-users.f7ac7b43.js +0 -166
  146. package/static/v3/js/views/admin-users.js +0 -166
  147. package/static/v3/js/views/agents.17c5288d.js +0 -564
  148. package/static/v3/js/views/agents.js +0 -564
  149. package/static/v3/js/views/chat.e250e2cc.js +0 -624
  150. package/static/v3/js/views/chat.js +0 -624
  151. package/static/v3/js/views/files.adad14c1.js +0 -365
  152. package/static/v3/js/views/files.js +0 -365
  153. package/static/v3/js/views/graph-canvas.17c15d65.js +0 -509
  154. package/static/v3/js/views/graph-canvas.js +0 -509
  155. package/static/v3/js/views/home.24f8b8ae.js +0 -200
  156. package/static/v3/js/views/home.js +0 -200
  157. package/static/v3/js/views/hooks.37895880.js +0 -220
  158. package/static/v3/js/views/hooks.js +0 -220
  159. package/static/v3/js/views/hybrid-search.2fb63ed9.js +0 -194
  160. package/static/v3/js/views/hybrid-search.js +0 -194
  161. package/static/v3/js/views/knowledge-graph.4d09c537.js +0 -529
  162. package/static/v3/js/views/knowledge-graph.js +0 -529
  163. package/static/v3/js/views/marketplace.ab0583d4.js +0 -141
  164. package/static/v3/js/views/marketplace.js +0 -141
  165. package/static/v3/js/views/mcp.99b5c6a7.js +0 -114
  166. package/static/v3/js/views/mcp.js +0 -114
  167. package/static/v3/js/views/memory.4ebdf474.js +0 -147
  168. package/static/v3/js/views/memory.js +0 -147
  169. package/static/v3/js/views/models.a1ffa147.js +0 -256
  170. package/static/v3/js/views/models.js +0 -256
  171. package/static/v3/js/views/my-computer.d9d9ae1c.js +0 -463
  172. package/static/v3/js/views/my-computer.js +0 -463
  173. package/static/v3/js/views/network.52a4f181.js +0 -97
  174. package/static/v3/js/views/network.js +0 -97
  175. package/static/v3/js/views/pipeline.c522f1ce.js +0 -157
  176. package/static/v3/js/views/pipeline.js +0 -157
  177. package/static/v3/js/views/planning.4876fd77.js +0 -174
  178. package/static/v3/js/views/planning.js +0 -174
  179. package/static/v3/js/views/runs.b63b2afa.js +0 -144
  180. package/static/v3/js/views/runs.js +0 -144
  181. package/static/v3/js/views/settings.b7140634.js +0 -317
  182. package/static/v3/js/views/settings.js +0 -317
  183. package/static/v3/js/views/skills.c6c2f965.js +0 -109
  184. package/static/v3/js/views/skills.js +0 -109
  185. package/static/v3/js/views/snapshots.6f5db095.js +0 -135
  186. package/static/v3/js/views/snapshots.js +0 -135
  187. package/static/v3/js/views/tools.e4f11276.js +0 -108
  188. package/static/v3/js/views/tools.js +0 -108
  189. package/static/v3/js/views/workflows.7752225a.js +0 -213
  190. package/static/v3/js/views/workflows.js +0 -213
  191. package/static/v3/js/views/workspace-admin.c466029b.js +0 -156
  192. package/static/v3/js/views/workspace-admin.js +0 -156
@@ -1,575 +0,0 @@
1
- /* ============================================================================
2
- * Lattice AI v3 — i18n runtime
3
- *
4
- * Small, local-first dictionary loader for the SPA shell. The language choice is
5
- * stored on this device and applied without a backend round trip.
6
- * ========================================================================== */
7
-
8
- export const LANG_KEY = "lt3-lang";
9
- const DEFAULT_LANG = "en";
10
- const SUPPORTED = new Set(["en", "ko"]);
11
-
12
- function readLang() {
13
- try {
14
- const saved = localStorage.getItem(LANG_KEY);
15
- return SUPPORTED.has(saved) ? saved : DEFAULT_LANG;
16
- } catch {
17
- return DEFAULT_LANG;
18
- }
19
- }
20
-
21
- let currentLang = readLang();
22
-
23
- export function getI18nLanguage() {
24
- return currentLang;
25
- }
26
-
27
- export function setI18nLanguage(lang) {
28
- currentLang = SUPPORTED.has(lang) ? lang : DEFAULT_LANG;
29
- try { localStorage.setItem(LANG_KEY, currentLang); } catch {}
30
- document.documentElement.setAttribute("lang", currentLang);
31
- return currentLang;
32
- }
33
-
34
- export function languageOptions() {
35
- return [
36
- { key: "en", label: "English" },
37
- { key: "ko", label: "한국어" },
38
- ];
39
- }
40
-
41
- export function t(key, vars = {}) {
42
- const value = (DICT[currentLang] && DICT[currentLang][key]) || DICT.en[key] || key;
43
- return String(value).replace(/\{([a-zA-Z0-9_]+)\}/g, (_m, name) => (
44
- vars[name] == null ? "" : String(vars[name])
45
- ));
46
- }
47
-
48
- setI18nLanguage(currentLang);
49
-
50
- const DICT = {
51
- en: {
52
- "group.brain": "Brain",
53
- "group.ask": "Ask",
54
- "group.capture": "Capture",
55
- "group.act": "Act",
56
- "group.library": "Library",
57
- "group.system": "System",
58
- "group.admin": "Administration",
59
-
60
- "route.home.label": "Overview",
61
- "route.home.title": "Overview",
62
- "route.home.desc": "Your digital brain at a glance.",
63
- "route.account.label": "Account",
64
- "route.account.title": "Account",
65
- "route.account.desc": "Sign in, register, update profile, and manage local credentials.",
66
- "route.chat.label": "Chat",
67
- "route.chat.title": "Chat",
68
- "route.chat.desc": "Grounded conversation over your brain, with provenance.",
69
- "route.files.label": "Files",
70
- "route.files.title": "Files",
71
- "route.files.desc": "Connected sources and indexed documents.",
72
- "route.hybridSearch.label": "Search",
73
- "route.hybridSearch.title": "Hybrid Search",
74
- "route.hybridSearch.desc": "Graph structure fused with vector similarity.",
75
- "route.knowledgeGraph.label": "Knowledge Graph",
76
- "route.knowledgeGraph.title": "Knowledge Graph",
77
- "route.knowledgeGraph.desc": "Your digital brain — every source converges here.",
78
- "route.memory.label": "Memory",
79
- "route.memory.title": "Memory",
80
- "route.memory.desc": "Long-term workspace, project, agent, and conversation memory.",
81
- "route.models.label": "Models",
82
- "route.models.title": "Models",
83
- "route.models.desc": "Local MLX models and embeddings.",
84
- "route.agents.label": "Agents",
85
- "route.agents.title": "Agents",
86
- "route.agents.desc": "Multi-agent roles, runs, and handoffs.",
87
- "route.runs.label": "Runs",
88
- "route.runs.title": "Run Inbox",
89
- "route.runs.desc": "Live run progress, cancellation, approvals, and decisions.",
90
- "route.workflows.label": "Workflows",
91
- "route.workflows.title": "Workflow Agents",
92
- "route.workflows.desc": "Trigger, agent chain, tools, memory, and result.",
93
- "route.skills.label": "Skills",
94
- "route.skills.title": "Skills",
95
- "route.skills.desc": "Install, enable, and manage skills.",
96
- "route.hooks.label": "Hooks",
97
- "route.hooks.title": "Hooks",
98
- "route.hooks.desc": "Lifecycle hooks across runs, tools, and workflows.",
99
- "route.mcp.label": "MCP",
100
- "route.mcp.title": "MCP Manager",
101
- "route.mcp.desc": "Connected MCP servers, tools, and health.",
102
- "route.workspaceAdmin.label": "Workspaces",
103
- "route.workspaceAdmin.title": "Workspaces",
104
- "route.workspaceAdmin.desc": "Organizations, members, invitations, activation, and roles.",
105
- "route.snapshots.label": "Snapshots",
106
- "route.snapshots.title": "Snapshots",
107
- "route.snapshots.desc": "Create, compare, export, and merge-restore workspace checkpoints.",
108
- "route.activity.label": "Activity",
109
- "route.activity.title": "Activity",
110
- "route.activity.desc": "Realtime feed, presence, and workspace time-machine events.",
111
- "route.network.label": "Network",
112
- "route.network.title": "Brain Network",
113
- "route.network.desc": "Device fingerprint, peer registry, pairing, and signed pushes.",
114
- "route.settings.label": "Settings",
115
- "route.settings.title": "Settings",
116
- "route.settings.desc": "Appearance, workspace, language, and integrations.",
117
- "route.pipeline.label": "Pipeline",
118
- "route.pipeline.title": "Pipeline",
119
- "route.pipeline.desc": "Ingest, embed, and graph-build flows.",
120
- "route.planning.label": "Planning",
121
- "route.planning.title": "Autonomous Planning",
122
- "route.planning.desc": "Goal, plan, execute, review, and replan.",
123
- "route.myComputer.label": "My Computer",
124
- "route.myComputer.title": "My Computer",
125
- "route.myComputer.desc": "Local hardware, memory, and runtime.",
126
- "route.marketplace.label": "Marketplace",
127
- "route.marketplace.title": "Marketplace",
128
- "route.marketplace.desc": "Agent templates, agents, plugins, and skills.",
129
- "route.tools.label": "Tools",
130
- "route.tools.title": "Tool Registry",
131
- "route.tools.desc": "Local, workspace, and MCP tools with governance.",
132
- "route.adminUsers.label": "Users",
133
- "route.adminUsers.title": "Users",
134
- "route.adminUsers.desc": "Workspace members and access.",
135
- "route.adminPermissions.label": "Permissions",
136
- "route.adminPermissions.title": "Permissions",
137
- "route.adminPermissions.desc": "Roles and capability mapping.",
138
- "route.adminAudit.label": "Audit Logs",
139
- "route.adminAudit.title": "Audit Logs",
140
- "route.adminAudit.desc": "Activity and access trail.",
141
- "route.adminSecurity.label": "Security",
142
- "route.adminSecurity.title": "Security",
143
- "route.adminSecurity.desc": "Sensitive-data signals and DLP.",
144
- "route.adminPolicies.label": "Policies",
145
- "route.adminPolicies.title": "Policies",
146
- "route.adminPolicies.desc": "Governance and enforcement.",
147
- "route.adminVpc.label": "Private VPC",
148
- "route.adminVpc.title": "Private VPC",
149
- "route.adminVpc.desc": "Network isolation and peering.",
150
-
151
- "shell.skip": "Skip to content",
152
- "shell.primary": "Primary",
153
- "shell.closeMenu": "Close menu",
154
- "shell.privateRuntime": "Private runtime",
155
- "shell.account": "Account",
156
- "shell.toggleTheme": "Toggle theme",
157
- "shell.openMenu": "Open menu",
158
- "shell.searchCommands": "Search & commands",
159
- "shell.workspaceMode": "Workspace mode",
160
- "shell.mode.basic": "Basic",
161
- "shell.mode.advanced": "Advanced",
162
- "shell.mode.admin": "Admin",
163
- "shell.adminCrumb": "Admin",
164
- "shell.you": "You",
165
- "shell.local": "local",
166
- "shell.member": "member",
167
- "shell.indexPending": "Local index pending",
168
- "shell.indexReady": "{ready}/{total} retrieval signals ready",
169
- "shell.startBackend": "Start backend to sync live state",
170
- "shell.graphVectorHybrid": "Graph · vector · hybrid",
171
- "shell.documentTitle": "{title} · Lattice AI",
172
- "shell.viewFailed": "View \"{label}\" failed to load.",
173
- "shell.newOrganization": "New organization",
174
- "shell.orgCreationOpens": "Organization creation opens in Workspaces",
175
- "shell.goTo": "Go to",
176
- "shell.actions": "Actions",
177
- "shell.toggleLightDark": "Toggle light / dark theme",
178
- "shell.newChat": "New chat",
179
- "shell.runHybridSearch": "Run hybrid search",
180
- "shell.palettePlaceholder": "Search views, run a command…",
181
- "shell.commandPalette": "Command palette",
182
- "shell.noMatches": "No matches",
183
-
184
- "common.live": "Live",
185
- "common.unavailable": "Unavailable",
186
- "common.loading": "Loading",
187
- "common.refresh": "Refresh",
188
- "common.save": "Save",
189
- "common.create": "Create",
190
- "common.cancel": "Cancel",
191
- "common.stop": "Stop",
192
- "common.approve": "Approve",
193
- "common.deny": "Deny",
194
- "common.run": "Run",
195
- "common.status": "Status",
196
- "common.name": "Name",
197
- "common.role": "Role",
198
- "common.type": "Type",
199
- "common.actions": "Actions",
200
- "common.created": "Created",
201
- "common.updated": "Updated",
202
- "common.never": "Never",
203
- "common.none": "None",
204
- "common.owner": "Owner",
205
- "common.admin": "Admin",
206
- "common.member": "Member",
207
- "common.viewer": "Viewer",
208
-
209
- "account.eyebrow": "Identity",
210
- "account.title": "Account",
211
- "account.sub": "Token-native login, profile, password, and SSO status.",
212
- "account.login": "Sign in",
213
- "account.register": "Register",
214
- "account.email": "Email",
215
- "account.password": "Password",
216
- "account.newPassword": "New password",
217
- "account.currentPassword": "Current password",
218
- "account.name": "Name",
219
- "account.nickname": "Nickname",
220
- "account.profile": "Profile",
221
- "account.changePassword": "Change password",
222
- "account.logout": "Log out",
223
- "account.sso": "SSO",
224
- "account.signedIn": "Signed in",
225
- "account.notSignedIn": "Not signed in",
226
- "account.passwordRule": "Password must be at least 8 alphanumeric characters.",
227
- "account.loginOk": "Signed in.",
228
- "account.registerOk": "Account registered.",
229
- "account.profileOk": "Profile updated.",
230
- "account.passwordOk": "Password changed.",
231
- "account.logoutOk": "Signed out.",
232
-
233
- "workspace.eyebrow": "System",
234
- "workspace.title": "Workspaces",
235
- "workspace.sub": "Organization workspace management, membership, invitations, activation, and roles.",
236
- "workspace.createOrg": "Create organization",
237
- "workspace.orgName": "Organization name",
238
- "workspace.activate": "Activate",
239
- "workspace.archive": "Archive",
240
- "workspace.members": "Members",
241
- "workspace.invitations": "Invitations",
242
- "workspace.inviteEmail": "Invite email",
243
- "workspace.inviteToken": "Invitation token",
244
- "workspace.acceptInvite": "Accept invitation",
245
- "workspace.addMember": "Add member",
246
- "workspace.userId": "User ID",
247
- "workspace.memberAdded": "Member saved.",
248
- "workspace.inviteCreated": "Invitation created.",
249
- "workspace.inviteAccepted": "Invitation accepted.",
250
- "workspace.activated": "Workspace activated.",
251
- "workspace.archived": "Workspace archived.",
252
-
253
- "snapshots.eyebrow": "System",
254
- "snapshots.title": "Snapshots",
255
- "snapshots.sub": "Create, compare, export, and merge-restore workspace checkpoints.",
256
- "snapshots.create": "Create snapshot",
257
- "snapshots.name": "Snapshot name",
258
- "snapshots.compare": "Compare",
259
- "snapshots.export": "Export",
260
- "snapshots.restore": "Merge restore",
261
- "snapshots.timeline": "Time machine",
262
- "snapshots.created": "Snapshot created.",
263
- "snapshots.restored": "Snapshot merge-restored.",
264
-
265
- "activity.eyebrow": "System",
266
- "activity.title": "Activity",
267
- "activity.sub": "Realtime feed, presence, and time-machine events.",
268
- "activity.feed": "Realtime feed",
269
- "activity.presence": "Presence",
270
- "activity.timeMachine": "Time machine",
271
-
272
- "runs.eyebrow": "Act",
273
- "runs.title": "Run Inbox",
274
- "runs.sub": "Live progress, cancellation, approval pauses, and local permission decisions.",
275
- "runs.agentRuns": "Agent runs",
276
- "runs.workflowRuns": "Workflow runs",
277
- "runs.approvals": "Approvals",
278
- "runs.progress": "Progress",
279
- "runs.mode": "Mode",
280
- "runs.approvalPaused": "Approval pause",
281
- "runs.cancelled": "Cancellation requested.",
282
- "runs.decided": "Decision recorded.",
283
-
284
- "network.eyebrow": "System",
285
- "network.title": "Brain Network",
286
- "network.sub": "Device fingerprint, peer registry, pairing, and signed pushes.",
287
- "network.identity": "Device identity",
288
- "network.peers": "Peers",
289
- "network.pair": "Pair peer",
290
- "network.peerName": "Peer name",
291
- "network.baseUrl": "Base URL",
292
- "network.publicKey": "Public key",
293
- "network.push": "Push",
294
- "network.unpair": "Unpair",
295
- "network.paired": "Peer paired.",
296
- "network.unpaired": "Peer removed.",
297
- "network.pushed": "Signed push completed.",
298
-
299
- "chat.whyContext": "Why this context",
300
- "chat.traceUnavailable": "Trace appears after the next grounded answer.",
301
- "chat.traceQuestion": "Question",
302
- "chat.traceConfidence": "Confidence",
303
- "chat.traceReasons": "Reasons",
304
-
305
- "kg.provenanceCoverage": "Provenance coverage",
306
- "kg.coveredNodes": "Covered nodes",
307
- "kg.uncoveredTypes": "Uncovered types",
308
- "kg.sourceTypes": "Source types",
309
-
310
- "settings.language": "Language",
311
- "settings.languageSaved": "Interface language set to {language}.",
312
- },
313
- ko: {
314
- "group.brain": "브레인",
315
- "group.ask": "질문",
316
- "group.capture": "수집",
317
- "group.act": "실행",
318
- "group.library": "라이브러리",
319
- "group.system": "시스템",
320
- "group.admin": "관리",
321
-
322
- "route.home.label": "개요",
323
- "route.home.title": "개요",
324
- "route.home.desc": "디지털 브레인의 현재 상태입니다.",
325
- "route.account.label": "계정",
326
- "route.account.title": "계정",
327
- "route.account.desc": "로그인, 가입, 프로필, 로컬 자격 증명을 관리합니다.",
328
- "route.chat.label": "채팅",
329
- "route.chat.title": "채팅",
330
- "route.chat.desc": "출처가 남는 브레인 기반 대화입니다.",
331
- "route.files.label": "파일",
332
- "route.files.title": "파일",
333
- "route.files.desc": "연결된 소스와 색인된 문서입니다.",
334
- "route.hybridSearch.label": "검색",
335
- "route.hybridSearch.title": "하이브리드 검색",
336
- "route.hybridSearch.desc": "그래프 구조와 벡터 유사도를 결합합니다.",
337
- "route.knowledgeGraph.label": "지식 그래프",
338
- "route.knowledgeGraph.title": "지식 그래프",
339
- "route.knowledgeGraph.desc": "모든 소스가 모이는 디지털 브레인입니다.",
340
- "route.memory.label": "메모리",
341
- "route.memory.title": "메모리",
342
- "route.memory.desc": "워크스페이스, 프로젝트, 에이전트, 대화 메모리입니다.",
343
- "route.models.label": "모델",
344
- "route.models.title": "모델",
345
- "route.models.desc": "로컬 MLX 모델과 임베딩입니다.",
346
- "route.agents.label": "에이전트",
347
- "route.agents.title": "에이전트",
348
- "route.agents.desc": "멀티 에이전트 역할, 실행, 핸드오프입니다.",
349
- "route.runs.label": "실행함",
350
- "route.runs.title": "실행함",
351
- "route.runs.desc": "실시간 진행, 취소, 승인, 결정을 관리합니다.",
352
- "route.workflows.label": "워크플로",
353
- "route.workflows.title": "워크플로 에이전트",
354
- "route.workflows.desc": "트리거, 에이전트 체인, 도구, 메모리, 결과입니다.",
355
- "route.skills.label": "스킬",
356
- "route.skills.title": "스킬",
357
- "route.skills.desc": "스킬을 설치하고 활성화합니다.",
358
- "route.hooks.label": "훅",
359
- "route.hooks.title": "훅",
360
- "route.hooks.desc": "실행, 도구, 워크플로 생명주기 훅입니다.",
361
- "route.mcp.label": "MCP",
362
- "route.mcp.title": "MCP 관리자",
363
- "route.mcp.desc": "연결된 MCP 서버와 도구 상태입니다.",
364
- "route.workspaceAdmin.label": "워크스페이스",
365
- "route.workspaceAdmin.title": "워크스페이스",
366
- "route.workspaceAdmin.desc": "조직, 멤버, 초대, 활성화, 역할을 관리합니다.",
367
- "route.snapshots.label": "스냅샷",
368
- "route.snapshots.title": "스냅샷",
369
- "route.snapshots.desc": "워크스페이스 체크포인트를 생성, 비교, 내보내고 병합 복원합니다.",
370
- "route.activity.label": "활동",
371
- "route.activity.title": "활동",
372
- "route.activity.desc": "실시간 피드, 접속 상태, 타임머신 이벤트입니다.",
373
- "route.network.label": "네트워크",
374
- "route.network.title": "브레인 네트워크",
375
- "route.network.desc": "장치 지문, 피어 등록, 페어링, 서명 푸시입니다.",
376
- "route.settings.label": "설정",
377
- "route.settings.title": "설정",
378
- "route.settings.desc": "화면, 워크스페이스, 언어, 통합 설정입니다.",
379
- "route.pipeline.label": "파이프라인",
380
- "route.pipeline.title": "파이프라인",
381
- "route.pipeline.desc": "수집, 임베딩, 그래프 구축 흐름입니다.",
382
- "route.planning.label": "계획",
383
- "route.planning.title": "자율 계획",
384
- "route.planning.desc": "목표, 계획, 실행, 리뷰, 재계획입니다.",
385
- "route.myComputer.label": "내 컴퓨터",
386
- "route.myComputer.title": "내 컴퓨터",
387
- "route.myComputer.desc": "로컬 하드웨어, 메모리, 런타임입니다.",
388
- "route.marketplace.label": "마켓플레이스",
389
- "route.marketplace.title": "마켓플레이스",
390
- "route.marketplace.desc": "에이전트 템플릿, 플러그인, 스킬입니다.",
391
- "route.tools.label": "도구",
392
- "route.tools.title": "도구 레지스트리",
393
- "route.tools.desc": "로컬, 워크스페이스, MCP 도구와 거버넌스입니다.",
394
- "route.adminUsers.label": "사용자",
395
- "route.adminUsers.title": "사용자",
396
- "route.adminUsers.desc": "워크스페이스 멤버와 접근입니다.",
397
- "route.adminPermissions.label": "권한",
398
- "route.adminPermissions.title": "권한",
399
- "route.adminPermissions.desc": "역할과 기능 매핑입니다.",
400
- "route.adminAudit.label": "감사 로그",
401
- "route.adminAudit.title": "감사 로그",
402
- "route.adminAudit.desc": "활동과 접근 기록입니다.",
403
- "route.adminSecurity.label": "보안",
404
- "route.adminSecurity.title": "보안",
405
- "route.adminSecurity.desc": "민감 데이터 신호와 DLP입니다.",
406
- "route.adminPolicies.label": "정책",
407
- "route.adminPolicies.title": "정책",
408
- "route.adminPolicies.desc": "거버넌스와 집행입니다.",
409
- "route.adminVpc.label": "프라이빗 VPC",
410
- "route.adminVpc.title": "프라이빗 VPC",
411
- "route.adminVpc.desc": "네트워크 격리와 피어링입니다.",
412
-
413
- "shell.skip": "본문으로 건너뛰기",
414
- "shell.primary": "기본 내비게이션",
415
- "shell.closeMenu": "메뉴 닫기",
416
- "shell.privateRuntime": "프라이빗 런타임",
417
- "shell.account": "계정",
418
- "shell.toggleTheme": "테마 전환",
419
- "shell.openMenu": "메뉴 열기",
420
- "shell.searchCommands": "검색 및 명령",
421
- "shell.workspaceMode": "워크스페이스 모드",
422
- "shell.mode.basic": "기본",
423
- "shell.mode.advanced": "고급",
424
- "shell.mode.admin": "관리자",
425
- "shell.adminCrumb": "관리자",
426
- "shell.you": "사용자",
427
- "shell.local": "로컬",
428
- "shell.member": "멤버",
429
- "shell.indexPending": "로컬 색인 대기 중",
430
- "shell.indexReady": "{ready}/{total} 검색 신호 준비됨",
431
- "shell.startBackend": "백엔드를 시작하면 실시간 상태가 동기화됩니다",
432
- "shell.graphVectorHybrid": "그래프 · 벡터 · 하이브리드",
433
- "shell.documentTitle": "{title} · Lattice AI",
434
- "shell.viewFailed": "\"{label}\" 뷰를 불러오지 못했습니다.",
435
- "shell.newOrganization": "새 조직",
436
- "shell.orgCreationOpens": "조직 생성은 워크스페이스에서 열립니다",
437
- "shell.goTo": "이동",
438
- "shell.actions": "작업",
439
- "shell.toggleLightDark": "라이트/다크 테마 전환",
440
- "shell.newChat": "새 채팅",
441
- "shell.runHybridSearch": "하이브리드 검색 실행",
442
- "shell.palettePlaceholder": "뷰 검색 또는 명령 실행…",
443
- "shell.commandPalette": "명령 팔레트",
444
- "shell.noMatches": "결과 없음",
445
-
446
- "common.live": "실시간",
447
- "common.unavailable": "사용 불가",
448
- "common.loading": "불러오는 중",
449
- "common.refresh": "새로고침",
450
- "common.save": "저장",
451
- "common.create": "생성",
452
- "common.cancel": "취소",
453
- "common.stop": "중지",
454
- "common.approve": "승인",
455
- "common.deny": "거부",
456
- "common.run": "실행",
457
- "common.status": "상태",
458
- "common.name": "이름",
459
- "common.role": "역할",
460
- "common.type": "유형",
461
- "common.actions": "작업",
462
- "common.created": "생성됨",
463
- "common.updated": "수정됨",
464
- "common.never": "없음",
465
- "common.none": "없음",
466
- "common.owner": "소유자",
467
- "common.admin": "관리자",
468
- "common.member": "멤버",
469
- "common.viewer": "뷰어",
470
-
471
- "account.eyebrow": "아이덴티티",
472
- "account.title": "계정",
473
- "account.sub": "토큰 기반 로그인, 프로필, 비밀번호, SSO 상태입니다.",
474
- "account.login": "로그인",
475
- "account.register": "가입",
476
- "account.email": "이메일",
477
- "account.password": "비밀번호",
478
- "account.newPassword": "새 비밀번호",
479
- "account.currentPassword": "현재 비밀번호",
480
- "account.name": "이름",
481
- "account.nickname": "닉네임",
482
- "account.profile": "프로필",
483
- "account.changePassword": "비밀번호 변경",
484
- "account.logout": "로그아웃",
485
- "account.sso": "SSO",
486
- "account.signedIn": "로그인됨",
487
- "account.notSignedIn": "로그인되지 않음",
488
- "account.passwordRule": "비밀번호는 8자 이상의 영문/숫자여야 합니다.",
489
- "account.loginOk": "로그인했습니다.",
490
- "account.registerOk": "계정을 만들었습니다.",
491
- "account.profileOk": "프로필을 저장했습니다.",
492
- "account.passwordOk": "비밀번호를 변경했습니다.",
493
- "account.logoutOk": "로그아웃했습니다.",
494
-
495
- "workspace.eyebrow": "시스템",
496
- "workspace.title": "워크스페이스",
497
- "workspace.sub": "조직 워크스페이스, 멤버, 초대, 활성화, 역할을 관리합니다.",
498
- "workspace.createOrg": "조직 생성",
499
- "workspace.orgName": "조직 이름",
500
- "workspace.activate": "활성화",
501
- "workspace.archive": "보관",
502
- "workspace.members": "멤버",
503
- "workspace.invitations": "초대",
504
- "workspace.inviteEmail": "초대 이메일",
505
- "workspace.inviteToken": "초대 토큰",
506
- "workspace.acceptInvite": "초대 수락",
507
- "workspace.addMember": "멤버 추가",
508
- "workspace.userId": "사용자 ID",
509
- "workspace.memberAdded": "멤버를 저장했습니다.",
510
- "workspace.inviteCreated": "초대를 만들었습니다.",
511
- "workspace.inviteAccepted": "초대를 수락했습니다.",
512
- "workspace.activated": "워크스페이스를 활성화했습니다.",
513
- "workspace.archived": "워크스페이스를 보관했습니다.",
514
-
515
- "snapshots.eyebrow": "시스템",
516
- "snapshots.title": "스냅샷",
517
- "snapshots.sub": "워크스페이스 체크포인트를 생성, 비교, 내보내고 병합 복원합니다.",
518
- "snapshots.create": "스냅샷 생성",
519
- "snapshots.name": "스냅샷 이름",
520
- "snapshots.compare": "비교",
521
- "snapshots.export": "내보내기",
522
- "snapshots.restore": "병합 복원",
523
- "snapshots.timeline": "타임머신",
524
- "snapshots.created": "스냅샷을 만들었습니다.",
525
- "snapshots.restored": "스냅샷을 병합 복원했습니다.",
526
-
527
- "activity.eyebrow": "시스템",
528
- "activity.title": "활동",
529
- "activity.sub": "실시간 피드, 접속 상태, 타임머신 이벤트입니다.",
530
- "activity.feed": "실시간 피드",
531
- "activity.presence": "접속 상태",
532
- "activity.timeMachine": "타임머신",
533
-
534
- "runs.eyebrow": "실행",
535
- "runs.title": "실행함",
536
- "runs.sub": "실시간 진행, 취소, 승인 대기, 로컬 권한 결정을 처리합니다.",
537
- "runs.agentRuns": "에이전트 실행",
538
- "runs.workflowRuns": "워크플로 실행",
539
- "runs.approvals": "승인",
540
- "runs.progress": "진행",
541
- "runs.mode": "모드",
542
- "runs.approvalPaused": "승인 대기",
543
- "runs.cancelled": "취소를 요청했습니다.",
544
- "runs.decided": "결정을 기록했습니다.",
545
-
546
- "network.eyebrow": "시스템",
547
- "network.title": "브레인 네트워크",
548
- "network.sub": "장치 지문, 피어 등록, 페어링, 서명 푸시입니다.",
549
- "network.identity": "장치 아이덴티티",
550
- "network.peers": "피어",
551
- "network.pair": "피어 연결",
552
- "network.peerName": "피어 이름",
553
- "network.baseUrl": "기본 URL",
554
- "network.publicKey": "공개 키",
555
- "network.push": "푸시",
556
- "network.unpair": "연결 해제",
557
- "network.paired": "피어를 연결했습니다.",
558
- "network.unpaired": "피어를 제거했습니다.",
559
- "network.pushed": "서명 푸시를 완료했습니다.",
560
-
561
- "chat.whyContext": "이 컨텍스트가 쓰인 이유",
562
- "chat.traceUnavailable": "다음 근거 기반 답변 후 trace가 표시됩니다.",
563
- "chat.traceQuestion": "질문",
564
- "chat.traceConfidence": "신뢰도",
565
- "chat.traceReasons": "이유",
566
-
567
- "kg.provenanceCoverage": "출처 기록 커버리지",
568
- "kg.coveredNodes": "출처 있는 노드",
569
- "kg.uncoveredTypes": "출처 없는 유형",
570
- "kg.sourceTypes": "소스 유형",
571
-
572
- "settings.language": "언어",
573
- "settings.languageSaved": "인터페이스 언어를 {language}(으)로 설정했습니다.",
574
- },
575
- };