dsh-mnemon-source-memory-spaces 0.5.3 → 0.5.5
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/README.md +3 -1
- package/lib/client.js +201 -178
- package/lib/contracts.d.ts +44 -22
- package/lib/{definitions-CEpa-tvm.d.ts → definitions-C5y84OE6.d.ts} +22 -17
- package/lib/index.d.ts +3 -3
- package/lib/index.js +255 -208
- package/lib/native-cli.d.ts +3 -1
- package/lib/native-cli.js +8 -1
- package/lib/{process-B-t3UflO.js → process-BvrgxPNP.js} +7 -2
- package/lib/provider-sdk.d.ts +11 -9
- package/lib/provider-sdk.js +8 -5
- package/lib/testing.d.ts +3 -3
- package/lib/types/client/api.d.ts +13 -9
- package/lib/types/client/pages.d.ts +8 -6
- package/lib/types/contracts.d.ts +49 -22
- package/package.json +11 -11
- package/presentation/locales.json +80 -60
- package/presentation/page.module.css +7 -3
- package/presentation/sidebar.module.css +6 -1
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
{
|
|
2
2
|
"zh": {
|
|
3
|
-
"term.space": "
|
|
4
|
-
"term.spaces": "
|
|
3
|
+
"term.space": "记忆空间",
|
|
4
|
+
"term.spaces": "记忆空间",
|
|
5
5
|
"category.decision": "决策",
|
|
6
6
|
"category.preference": "偏好",
|
|
7
7
|
"category.fact": "事实",
|
|
8
8
|
"category.insight": "洞察",
|
|
9
9
|
"category.context": "上下文",
|
|
10
10
|
"category.general": "通用",
|
|
11
|
-
"nav.memory.aria": "
|
|
11
|
+
"nav.memory.aria": "记忆空间页面",
|
|
12
12
|
"nav.overview": "概览",
|
|
13
|
-
"nav.bodies": "
|
|
13
|
+
"nav.bodies": "记忆空间",
|
|
14
14
|
"nav.search": "检索",
|
|
15
15
|
"nav.entities": "实体",
|
|
16
16
|
"nav.rememberAction": "沉淀记忆",
|
|
17
17
|
"nav.content": "内容",
|
|
18
|
-
"overview.title": "
|
|
19
|
-
"overview.description": "
|
|
20
|
-
"overview.pageDescription": "
|
|
18
|
+
"overview.title": "记忆空间",
|
|
19
|
+
"overview.description": "统一管理由 Mnemon Native 或第三方 Provider 承载的记忆空间;已激活的空间共同参与读取、路由与实时快照。",
|
|
20
|
+
"overview.pageDescription": "创建和启停记忆空间,查看每个 Provider 的存储状态与实时关联快照。",
|
|
21
21
|
"overview.interval": "进入时全量同步 · 点击卡片按需同步",
|
|
22
22
|
"overview.fullSyncPending": "等待首次全量同步",
|
|
23
23
|
"overview.fullSyncJustNow": "上次全量同步:刚刚",
|
|
@@ -27,27 +27,27 @@
|
|
|
27
27
|
"overview.fullSyncDays": "上次全量同步:{count} 天前",
|
|
28
28
|
"overview.syncing": "同步中…",
|
|
29
29
|
"overview.syncNow": "立即同步",
|
|
30
|
-
"overview.directory": "
|
|
31
|
-
"overview.directory.description": "
|
|
30
|
+
"overview.directory": "记忆空间目录",
|
|
31
|
+
"overview.directory.description": "每张卡片对应一个记忆空间。第三方 Provider 首次接入时建立映射,之后点击卡片只检测该空间;本地维护的标题与说明不会被重连覆盖。",
|
|
32
32
|
"overview.directory.waiting": "等待目录",
|
|
33
33
|
"overview.directory.unsynced": "目录尚未同步",
|
|
34
34
|
"overview.directory.unsyncedBadge": "目录待同步",
|
|
35
|
-
"overview.directoryLoading": "
|
|
36
|
-
"overview.healthLoading": "
|
|
35
|
+
"overview.directoryLoading": "正在加载记忆空间目录",
|
|
36
|
+
"overview.healthLoading": "正在检测各记忆空间状态",
|
|
37
37
|
"overview.storageHealthy": "存储正常",
|
|
38
38
|
"overview.storageUnhealthy": "存储异常",
|
|
39
39
|
"overview.storageChecking": "检测中",
|
|
40
40
|
"overview.reconnecting": "重连中",
|
|
41
|
-
"overview.reconnectHint": "
|
|
41
|
+
"overview.reconnectHint": "点击卡片重新检测并同步这个记忆空间",
|
|
42
42
|
"overview.reconnectAria": "重新连接{name}",
|
|
43
|
-
"overview.snapshotLoading": "
|
|
43
|
+
"overview.snapshotLoading": "正在加载多记忆空间实时快照",
|
|
44
44
|
"overview.metadataAction": "AI 维护元信息",
|
|
45
|
-
"overview.metadataTitle": "AI
|
|
46
|
-
"overview.metadataDescription": "
|
|
45
|
+
"overview.metadataTitle": "AI 维护记忆空间元信息",
|
|
46
|
+
"overview.metadataDescription": "选择一个或多个已激活记忆空间。系统会分别通过各 Provider 最快的原生查询路径读取少量样本,再由独立任务 Agent 生成标题与说明。",
|
|
47
47
|
"overview.metadataUnavailable": "暂时无法运行:未找到与当前记忆范围匹配的活跃 Agent",
|
|
48
|
-
"overview.metadataLoading": "
|
|
49
|
-
"overview.metadataEmpty": "当前没有可由 AI
|
|
50
|
-
"overview.metadataSelected": "已选择 {count}
|
|
48
|
+
"overview.metadataLoading": "正在载入可维护的记忆空间…",
|
|
49
|
+
"overview.metadataEmpty": "当前没有可由 AI 维护元信息的已激活记忆空间。",
|
|
50
|
+
"overview.metadataSelected": "已选择 {count} 个记忆空间",
|
|
51
51
|
"overview.metadataSelectAll": "全选",
|
|
52
52
|
"overview.metadataClear": "清空",
|
|
53
53
|
"overview.metadataSafety": "仅更新本地标题与说明,不会修改、移动或删除记忆内容。Provider 关闭后,这些本地元数据会随映射一起清理。",
|
|
@@ -58,30 +58,30 @@
|
|
|
58
58
|
"overview.metadataTaskSuccess": "已更新",
|
|
59
59
|
"overview.metadataTaskError": "失败:{error}",
|
|
60
60
|
"overview.metadataTaskUnknown": "未知错误",
|
|
61
|
-
"overview.metadataCompleted": "已更新 {count}
|
|
61
|
+
"overview.metadataCompleted": "已更新 {count} 个记忆空间的元信息。",
|
|
62
62
|
"overview.mnemonDefault": "Mnemon 默认",
|
|
63
63
|
"overview.toggleAria": "{name}读取开关",
|
|
64
64
|
"overview.toggling": "切换中",
|
|
65
65
|
"overview.noDescription": "尚未提供路由说明。",
|
|
66
|
-
"overview.unsyncedTitle": "
|
|
66
|
+
"overview.unsyncedTitle": "记忆空间目录尚未同步",
|
|
67
67
|
"overview.unsyncedShort": "当前 Web 客户端与 DSH Host 状态不一致;重启 Host 后会重新登记既有 Store。",
|
|
68
68
|
"overview.unsyncedLong": "当前 Host 仍在使用旧插件契约;重启 DSH 后会重新发现既有 Store,期间不会删除任何 .db。",
|
|
69
|
-
"overview.emptyTitle": "
|
|
70
|
-
"overview.emptyShort": "
|
|
71
|
-
"overview.emptyLong": "创建一个 Mnemon
|
|
72
|
-
"overview.noActiveTitle": "
|
|
73
|
-
"overview.noActiveText": "
|
|
74
|
-
"overview.noContentTitle": "
|
|
75
|
-
"overview.noContentText": "
|
|
76
|
-
"overview.createTitle": "
|
|
77
|
-
"overview.createDialogHint": "
|
|
78
|
-
"overview.createIdentityTitle": "
|
|
69
|
+
"overview.emptyTitle": "还没有记忆空间",
|
|
70
|
+
"overview.emptyShort": "创建第一个记忆空间并写入稳定上下文后,它会出现在这里。",
|
|
71
|
+
"overview.emptyLong": "创建一个 Mnemon 记忆空间,或在“设置 → 记忆系统”启用第三方 Provider 以同步其已有记忆空间。",
|
|
72
|
+
"overview.noActiveTitle": "没有激活的记忆空间",
|
|
73
|
+
"overview.noActiveText": "开启至少一个记忆空间的读取开关,即可在这里聚合它的实时图谱。",
|
|
74
|
+
"overview.noContentTitle": "已激活记忆空间尚无内容",
|
|
75
|
+
"overview.noContentText": "向任意记忆空间沉淀稳定上下文后,这里会聚合呈现节点与关系。",
|
|
76
|
+
"overview.createTitle": "创建记忆空间",
|
|
77
|
+
"overview.createDialogHint": "这里定义记忆空间用途并选择底层 Provider;服务、凭据和全局数据位置沿用“设置 → 记忆系统”的配置。",
|
|
78
|
+
"overview.createIdentityTitle": "记忆空间信息",
|
|
79
79
|
"overview.createIdentityHint": "名称用于识别;描述会帮助 Agent 判断什么内容应写入和召回。",
|
|
80
|
-
"overview.createPlacementTitle": "
|
|
80
|
+
"overview.createPlacementTitle": "记忆空间 Provider",
|
|
81
81
|
"overview.createPlacementHint": "这是一次明确的手动创建;选择一个已启用 Provider。自动选择由“沉淀策略”统一管理。",
|
|
82
|
-
"overview.createName": "
|
|
82
|
+
"overview.createName": "新记忆空间名称",
|
|
83
83
|
"overview.createNamePlaceholder": "名称",
|
|
84
|
-
"overview.createDescription": "
|
|
84
|
+
"overview.createDescription": "新记忆空间描述",
|
|
85
85
|
"overview.createDescriptionPlaceholder": "说明哪些内容属于它,以及何时应被召回",
|
|
86
86
|
"overview.placementMode": "底层选择方式",
|
|
87
87
|
"overview.placementManual": "手动指定",
|
|
@@ -125,21 +125,21 @@
|
|
|
125
125
|
"overview.providerNativeHint": "官方原生、本地优先,保留完整图谱与软删除能力",
|
|
126
126
|
"strategy.action": "沉淀策略",
|
|
127
127
|
"strategy.title": "沉淀策略",
|
|
128
|
-
"strategy.description": "定义 Agent
|
|
128
|
+
"strategy.description": "定义 Agent 在沉淀过程中需要新建记忆空间时,如何选择底层 Provider。已有记忆空间仍会优先按名称、描述与能力路由。",
|
|
129
129
|
"strategy.loading": "正在读取 Provider 目录…",
|
|
130
130
|
"strategy.modeTitle": "Provider 选择方式",
|
|
131
|
-
"strategy.modeHint": "该策略只影响 Agent
|
|
131
|
+
"strategy.modeHint": "该策略只影响 Agent 沉淀时的新记忆空间创建;手动点击“创建记忆空间”始终由你指定。",
|
|
132
132
|
"strategy.manualHint": "固定使用一个 Provider,Agent 无法改选",
|
|
133
133
|
"strategy.automaticHint": "先执行硬规则,再由任务 Agent 选择合格 Provider",
|
|
134
134
|
"strategy.manualTitle": "固定 Provider",
|
|
135
|
-
"strategy.manualDescription": "
|
|
135
|
+
"strategy.manualDescription": "当现有记忆空间都不适合时,新记忆空间固定创建在这个 Provider 中。",
|
|
136
136
|
"strategy.automaticTitle": "智能选择规则",
|
|
137
137
|
"strategy.automaticDescription": "数据边界与能力要求由主机强制执行,Prompt 只影响合格候选之间的判断。",
|
|
138
138
|
"strategy.taskAgentReady": "任务 Agent 就绪",
|
|
139
139
|
"strategy.taskAgentUnavailable": "等待任务 Agent",
|
|
140
140
|
"strategy.save": "保存策略",
|
|
141
141
|
"strategy.saving": "保存中…",
|
|
142
|
-
"overview.providerOpenVikingHint": "连接已有 OpenViking
|
|
142
|
+
"overview.providerOpenVikingHint": "连接已有 OpenViking 服务,由记忆空间工作流统一调度",
|
|
143
143
|
"overview.providerSummary.mnemon-native": "官方原生、本地优先,保留完整图谱与软删除能力",
|
|
144
144
|
"overview.providerSummary.openviking": "文件系统形态的共享记忆,支持分层读取与自动语义提炼",
|
|
145
145
|
"overview.providerSummary.honcho": "跨会话用户建模、Peer 档案、辩证推理与持久结论",
|
|
@@ -204,19 +204,19 @@
|
|
|
204
204
|
"overview.deleteBody": "删除",
|
|
205
205
|
"overview.deleteBodyAria": "删除{name}",
|
|
206
206
|
"overview.deleteTitle": "删除“{name}”?",
|
|
207
|
-
"overview.deleteWarning": "
|
|
208
|
-
"overview.lastStoreDeleteHint": "Mnemon 需要保留至少一个原生 Store
|
|
207
|
+
"overview.deleteWarning": "该操作会永久删除这个记忆空间及其中的全部记忆与关系,无法撤销。",
|
|
208
|
+
"overview.lastStoreDeleteHint": "Mnemon 需要保留至少一个原生 Store;可将最后一个记忆空间设为未激活,但不能删除。",
|
|
209
209
|
"overview.deleteAction": "确认删除",
|
|
210
210
|
"overview.disconnectBody": "断开",
|
|
211
211
|
"overview.disconnectBodyAria": "断开{name}",
|
|
212
212
|
"overview.disconnectTitle": "断开“{name}”?",
|
|
213
|
-
"overview.disconnectWarning": "这里只会从 DSH
|
|
213
|
+
"overview.disconnectWarning": "这里只会从 DSH 记忆空间目录移除 {provider} 连接;底层引擎中的记忆不会被删除。",
|
|
214
214
|
"overview.disconnectAction": "确认断开",
|
|
215
215
|
"overview.deletingBody": "删除中…",
|
|
216
|
-
"overview.snapshot": "
|
|
216
|
+
"overview.snapshot": "多记忆空间实时快照",
|
|
217
217
|
"overview.snapshotSources": "快照可观察范围",
|
|
218
|
-
"overview.snapshotSourcesHint": "
|
|
219
|
-
"overview.noVisualTitle": "
|
|
218
|
+
"overview.snapshotSourcesHint": "真实关系图、无边内容投影和查询型记忆空间分别呈现,不伪造 Provider 不具备的关系。",
|
|
219
|
+
"overview.noVisualTitle": "当前记忆空间只支持按需查询",
|
|
220
220
|
"overview.noVisualText": "这些 Provider 不提供可枚举内容或图谱;请前往“检索”输入明确问题。",
|
|
221
221
|
"overview.waitingSnapshot": "等待首个快照",
|
|
222
222
|
"overview.updatedAt": "更新于 {time}",
|
|
@@ -229,19 +229,19 @@
|
|
|
229
229
|
"overview.graphCount": "展示 {visible} / {total} 个元素",
|
|
230
230
|
"overview.graphEdges": "{count} 条图谱连接",
|
|
231
231
|
"overview.inspector": "记忆详情",
|
|
232
|
-
"overview.inspectorSpace": "
|
|
232
|
+
"overview.inspectorSpace": "记忆空间详情",
|
|
233
233
|
"overview.inspectorEntity": "实体详情",
|
|
234
234
|
"overview.selectNode": "选择一个图谱元素",
|
|
235
|
-
"overview.selectNodeText": "
|
|
235
|
+
"overview.selectNodeText": "查看记忆空间、实体或记忆的精确上下文。",
|
|
236
236
|
"overview.closeInspector": "关闭节点详情",
|
|
237
237
|
"overview.memoryId": "记忆 ID",
|
|
238
|
-
"overview.spaceId": "
|
|
238
|
+
"overview.spaceId": "记忆空间 ID",
|
|
239
239
|
"overview.containedMemories": "包含记忆",
|
|
240
240
|
"overview.entityMentions": "索引次数",
|
|
241
241
|
"overview.exploreNode": "围绕它检索",
|
|
242
242
|
"overview.previewAria": "查看全文",
|
|
243
243
|
"overview.previewTitle": "内容全文",
|
|
244
|
-
"overview.loading": "
|
|
244
|
+
"overview.loading": "正在同步多记忆空间实时快照…",
|
|
245
245
|
"graph.layoutAria": "图谱布局",
|
|
246
246
|
"graph.layoutNatural": "自然布局",
|
|
247
247
|
"graph.layoutUniform": "均匀布局",
|
|
@@ -251,10 +251,10 @@
|
|
|
251
251
|
"graph.naturalAction": "自然铺开",
|
|
252
252
|
"graph.uniformAction": "均匀重置",
|
|
253
253
|
"graph.aria": "Mnemon 实时记忆图谱,{nodes} 个元素,{edges} 条连接",
|
|
254
|
-
"graph.kindSpace": "
|
|
254
|
+
"graph.kindSpace": "记忆空间",
|
|
255
255
|
"graph.kindEntity": "实体",
|
|
256
256
|
"search.title": "检索记忆",
|
|
257
|
-
"search.description": "
|
|
257
|
+
"search.description": "跨已激活记忆空间检索原始证据;每个 Provider 使用自己的原生召回方式并保留来源。",
|
|
258
258
|
"search.maxResults": "最多 {count} 条",
|
|
259
259
|
"search.placeholder": "为什么选用 SQLite?这个项目有哪些发布约定?",
|
|
260
260
|
"search.queryAria": "记忆查询",
|
|
@@ -281,9 +281,9 @@
|
|
|
281
281
|
"search.noRelated": "没有找到两跳内的关联节点。",
|
|
282
282
|
"search.sourcesTitle": "本次检索范围",
|
|
283
283
|
"entities.title": "实体查阅",
|
|
284
|
-
"entities.description": "
|
|
284
|
+
"entities.description": "只在真正提供实体索引的记忆空间中,查阅实体跨越事实、决策与上下文的关系。",
|
|
285
285
|
"entities.sourcesTitle": "实体能力范围",
|
|
286
|
-
"entities.unsupportedTitle": "
|
|
286
|
+
"entities.unsupportedTitle": "没有支持实体索引的记忆空间",
|
|
287
287
|
"entities.unsupportedText": "当前激活 Provider 仍可通过“检索”召回,但不会在这里伪装成实体图谱。",
|
|
288
288
|
"entities.count": "{count} 个活跃实体",
|
|
289
289
|
"entities.nameAria": "实体名称",
|
|
@@ -300,7 +300,7 @@
|
|
|
300
300
|
"entities.emptyTitle": "没有关联记忆",
|
|
301
301
|
"entities.emptyText": "尝试更完整的名称或另一个实体别名。",
|
|
302
302
|
"remember.title": "沉淀记忆",
|
|
303
|
-
"remember.description": "候选内容会进入无会话历史的独立任务 Agent
|
|
303
|
+
"remember.description": "候选内容会进入无会话历史的独立任务 Agent,由它选择记忆空间、查重、提炼并执行写入,不占用主对话上下文。",
|
|
304
304
|
"remember.readOnlyTitle": "当前为只读模式",
|
|
305
305
|
"remember.readOnlyText": "当前部署禁止记忆写入;如需调整,请修改 DSH 的 Mnemon 配置并保存。",
|
|
306
306
|
"remember.delegateTitle": "交给独立任务 Agent",
|
|
@@ -316,10 +316,10 @@
|
|
|
316
316
|
"remember.processing": "独立任务 Agent 处理中…",
|
|
317
317
|
"remember.action": "调度独立任务 Agent 判断并沉淀",
|
|
318
318
|
"remember.advanced": "人工高级选项",
|
|
319
|
-
"remember.advancedHint": "为独立任务 Agent
|
|
319
|
+
"remember.advancedHint": "为独立任务 Agent 指定目标记忆空间与元数据约束",
|
|
320
320
|
"remember.expand": "展开",
|
|
321
|
-
"remember.target": "
|
|
322
|
-
"remember.asyncProviderHint": "
|
|
321
|
+
"remember.target": "目标记忆空间",
|
|
322
|
+
"remember.asyncProviderHint": "该记忆空间会等待远程提炼任务完成后再返回真实写入回执。",
|
|
323
323
|
"remember.entities": "实体(逗号分隔)",
|
|
324
324
|
"remember.tags": "标签(逗号分隔)",
|
|
325
325
|
"remember.advancedText": "高级选项是约束而不是绕过监督;独立任务 Agent 仍会查重并返回结构化回执。",
|
|
@@ -339,12 +339,22 @@
|
|
|
339
339
|
"content.categoryAria": "记忆分类",
|
|
340
340
|
"content.apply": "应用筛选",
|
|
341
341
|
"content.notice": "内容页直接调用 Provider 的只读浏览契约;查询型引擎仅在输入查询后执行检索。",
|
|
342
|
-
"content.queryRequiredTitle": "
|
|
342
|
+
"content.queryRequiredTitle": "查询型记忆空间等待问题",
|
|
343
343
|
"content.queryRequiredText": "输入一个明确查询即可读取 ByteRover 等不提供全量列表的 Provider。",
|
|
344
344
|
"content.showing": "当前显示 {visible} / {total}",
|
|
345
345
|
"content.showMore": "再显示 {count} 条",
|
|
346
346
|
"content.emptyTitle": "没有符合条件的记忆",
|
|
347
|
-
"content.emptyText": "清空筛选,或前往“沉淀”写入第一条稳定上下文。"
|
|
347
|
+
"content.emptyText": "清空筛选,或前往“沉淀”写入第一条稳定上下文。",
|
|
348
|
+
"nav.spaces": "记忆空间",
|
|
349
|
+
"overview.editSpace": "编辑",
|
|
350
|
+
"overview.editSpaceAria": "编辑{name}",
|
|
351
|
+
"overview.saveSpace": "保存",
|
|
352
|
+
"overview.savingSpace": "保存中…",
|
|
353
|
+
"overview.deleteSpace": "删除",
|
|
354
|
+
"overview.deleteSpaceAria": "删除{name}",
|
|
355
|
+
"overview.disconnectSpace": "断开",
|
|
356
|
+
"overview.disconnectSpaceAria": "断开{name}",
|
|
357
|
+
"overview.deletingSpace": "删除中…"
|
|
348
358
|
},
|
|
349
359
|
"en": {
|
|
350
360
|
"term.space": "Memory Space",
|
|
@@ -363,7 +373,7 @@
|
|
|
363
373
|
"nav.rememberAction": "Remember",
|
|
364
374
|
"nav.content": "Content",
|
|
365
375
|
"overview.title": "Memory Spaces",
|
|
366
|
-
"overview.description": "Manage Mnemon
|
|
376
|
+
"overview.description": "Manage memory spaces backed by Mnemon Native or third-party Providers. Active spaces participate in reads, routing, and live snapshots.",
|
|
367
377
|
"overview.pageDescription": "Create and activate Memory Spaces, then inspect storage health and live relation snapshots across providers.",
|
|
368
378
|
"overview.interval": "Full sync on entry · Click a card to sync on demand",
|
|
369
379
|
"overview.fullSyncPending": "Waiting for the first full sync",
|
|
@@ -375,7 +385,7 @@
|
|
|
375
385
|
"overview.syncing": "Syncing…",
|
|
376
386
|
"overview.syncNow": "Sync now",
|
|
377
387
|
"overview.directory": "Memory Space Directory",
|
|
378
|
-
"overview.directory.description": "Each card represents a
|
|
388
|
+
"overview.directory.description": "Each card represents a memory space. A third-party Provider creates its mapping on first connection; later card clicks check only that space, without overwriting locally maintained titles or descriptions.",
|
|
379
389
|
"overview.directory.waiting": "Waiting for directory",
|
|
380
390
|
"overview.directory.unsynced": "Directory not synchronized",
|
|
381
391
|
"overview.directory.unsyncedBadge": "Directory pending",
|
|
@@ -691,6 +701,16 @@
|
|
|
691
701
|
"content.showing": "Showing {visible} / {total}",
|
|
692
702
|
"content.showMore": "Show {count} more",
|
|
693
703
|
"content.emptyTitle": "No matching memories",
|
|
694
|
-
"content.emptyText": "Clear the filters or distill the first durable memory."
|
|
704
|
+
"content.emptyText": "Clear the filters or distill the first durable memory.",
|
|
705
|
+
"nav.spaces": "Memory Spaces",
|
|
706
|
+
"overview.editSpace": "Edit",
|
|
707
|
+
"overview.editSpaceAria": "Edit {name}",
|
|
708
|
+
"overview.saveSpace": "Save",
|
|
709
|
+
"overview.savingSpace": "Saving…",
|
|
710
|
+
"overview.deleteSpace": "Delete",
|
|
711
|
+
"overview.deleteSpaceAria": "Delete {name}",
|
|
712
|
+
"overview.disconnectSpace": "Disconnect",
|
|
713
|
+
"overview.disconnectSpaceAria": "Disconnect {name}",
|
|
714
|
+
"overview.deletingSpace": "Deleting…"
|
|
695
715
|
}
|
|
696
716
|
}
|
|
@@ -41,10 +41,11 @@ button.readSourceCard:hover { border-color: color-mix(in srgb, var(--mn-provider
|
|
|
41
41
|
.readSourceState small { color: var(--mn-faint); font-size: 8px; white-space: nowrap; }
|
|
42
42
|
|
|
43
43
|
.bodyDirectory { position: relative; margin-bottom: 12px; padding: 12px 14px; border: 1px solid var(--mn-line); border-radius: 11px; background: color-mix(in srgb, var(--mn-layer-1) 72%, var(--mn-bg)); }
|
|
44
|
-
.bodyDirectoryHeader { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 10px; }
|
|
44
|
+
.bodyDirectoryHeader { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 10px; }
|
|
45
|
+
.bodyDirectoryHeader > div:first-child { min-width: 0; flex: 1 1 260px; }
|
|
45
46
|
.bodyDirectoryHeader h3 { margin: 1px 0; font-size: 13px; }
|
|
46
47
|
.bodyDirectoryHeader p { margin: 0; color: var(--mn-muted); font-size: 10px; }
|
|
47
|
-
.bodyDirectoryPath { display: block; max-width:
|
|
48
|
+
.bodyDirectoryPath { display: block; max-width: 100%; margin-top: 4px; overflow: hidden; color: var(--mn-faint); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
|
|
48
49
|
.bodyDirectoryControls { display: flex; flex: 0 0 auto; align-items: center; justify-content: flex-end; gap: 6px; padding-right: 28px; }
|
|
49
50
|
.bodyDirectoryControls > strong { flex: 0 0 auto; padding: 5px 8px; border-radius: 999px; color: var(--mn-accent); background: color-mix(in srgb, var(--mn-accent) 9%, transparent); font: 650 9px var(--mn-code); }
|
|
50
51
|
.bodyGrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(245px, 1fr)); gap: 7px; }
|
|
@@ -448,7 +449,10 @@ button.readSourceCard:hover { border-color: color-mix(in srgb, var(--mn-provider
|
|
|
448
449
|
.searchActions > button { flex: 1; }
|
|
449
450
|
.searchControls select { width: 100%; min-width: 0; }
|
|
450
451
|
.listToolbar { grid-template-columns: 1fr; }
|
|
451
|
-
.bodyDirectoryHeader { display: grid; }
|
|
452
|
+
.bodyDirectoryHeader { display: grid; grid-template-columns: minmax(0, 1fr); }
|
|
453
|
+
.bodyDirectoryHeader > div { min-width: 0; }
|
|
454
|
+
.bodyDirectoryPath { max-width: 100%; }
|
|
455
|
+
.bodyDirectoryControls { flex-wrap: wrap; justify-content: flex-start; padding-right: 0; }
|
|
452
456
|
.createIdentityGrid,
|
|
453
457
|
.placementMode,
|
|
454
458
|
.placementRuleGrid,
|
|
@@ -204,8 +204,9 @@
|
|
|
204
204
|
.shell .bodyCardMeta {
|
|
205
205
|
display: flex;
|
|
206
206
|
min-width: 0;
|
|
207
|
+
flex-wrap: wrap;
|
|
207
208
|
align-items: center;
|
|
208
|
-
gap: 8px;
|
|
209
|
+
gap: 4px 8px;
|
|
209
210
|
}
|
|
210
211
|
.shell .bodyCardMeta code {
|
|
211
212
|
min-width: 0;
|
|
@@ -273,6 +274,10 @@
|
|
|
273
274
|
.shell .memoryTabs button { padding-inline: 10px; }
|
|
274
275
|
}
|
|
275
276
|
|
|
277
|
+
@media (max-width: 520px) {
|
|
278
|
+
.shell .memoryTabs button { padding-inline: 8px; font-size: 12px; }
|
|
279
|
+
}
|
|
280
|
+
|
|
276
281
|
@media (prefers-reduced-motion: reduce) {
|
|
277
282
|
.shell [class*='inspectorEye'],
|
|
278
283
|
.shell [class*='inspectorHeading'] button {
|