common-memory-core 0.2.0 → 0.2.1

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/CHANGELOG.md CHANGED
@@ -1,5 +1,28 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.2.1 — 2026-09-10
4
+
5
+ ### Usability
6
+
7
+ - Replace module-oriented TUI navigation with a Chinese task menu: read memory,
8
+ import Markdown, connect assistants, manage permissions, and recover work.
9
+ - Shorten first-time setup and offer optional connection, permission and test steps
10
+ after saving. Remember the last home action and keep cancellation local.
11
+ - Rotate API keys independently of model setup. Replace advanced JSON editing with
12
+ validated, single-setting menus and numeric inputs that preserve unrelated values.
13
+ - Offer an explicit permission flow before Markdown import; retain source attribution
14
+ and distinguish queued material from processed or retained memory.
15
+ - Make Codex/Work technical previews optional, show an export summary before writing,
16
+ and provide installation steps without claiming the assistant is already connected.
17
+ - Use readable empty states, progress and session summaries; retain raw job diagnostics
18
+ for troubleshooting. Fix false configuration-conflict detection from key ordering.
19
+
20
+ ### Boundaries
21
+
22
+ - No storage schema, model protocol, host trust or memory authorization changes.
23
+ - Generated bundles still require activation in the actual assistant. No automatic
24
+ permission grant, data migration, or real-model/desktop validation is added.
25
+
3
26
  ## 0.2.0 — 2026-09-10
4
27
 
5
28
  Initial public v0.2 release under the MIT license. Requires Node 24.x; Linux, macOS
package/README.md CHANGED
@@ -10,7 +10,7 @@ Common Memory 把长期内容保存在本机的 Markdown 中,通过 Pi 扩展
10
10
  会话接入和本地 MCP,让助手读取获授权的个人偏好、背景与项目上下文。模型提出维护决定,
11
11
  本地 Core 校验后写入;你可以直接查看和编辑文件。
12
12
 
13
- **v0.2** · npm 包名 `common-memory-core` · 命令 `common-memory` · MIT 许可证。
13
+ **v0.2.1** · npm 包名 `common-memory-core` · 命令 `common-memory` · MIT 许可证。
14
14
  这是早期版本;安装可用不等于所有真实宿主和模型行为均已验证,具体边界见下文。
15
15
 
16
16
  ## 一行安装
@@ -18,7 +18,7 @@ Common Memory 把长期内容保存在本机的 Markdown 中,通过 Pi 扩展
18
18
  在 **Linux、macOS 或 Windows 的 WSL 终端**中执行(需已安装 **Node.js 24.x**,包含 npm):
19
19
 
20
20
  ```sh
21
- npm install -g common-memory-core@0.2.0
21
+ npm install -g common-memory-core@0.2.1
22
22
  ```
23
23
 
24
24
  安装后运行 `common-memory` 打开交互工作台。无需克隆仓库、手动构建或先启动 Pi。
@@ -27,19 +27,23 @@ npm install -g common-memory-core@0.2.0
27
27
  安装,或用现有版本管理器切换。上面的一行命令安装 Common Memory,**不会安装 Node 或 WSL**。
28
28
  - Windows 用户在 WSL 内安装,不要在原生 PowerShell 中安装另一份 Core。
29
29
  - 如遇全局安装权限错误,使用用户级 Node 版本管理器;不建议 `sudo npm install`。
30
- - 不想全局安装?可用 `npx --yes common-memory-core@0.2.0` 打开工作台。
30
+ - 不想全局安装?可用 `npx --yes common-memory-core@0.2.1` 打开工作台。
31
31
  - 本版仍有必需的 Pi **0.84.4** peer 依赖:仅使用 CLI/MCP 也会安装该依赖树,但不会自动启动或配置 Pi。
32
32
 
33
33
  ## 第一次使用
34
34
 
35
- 1. **配置模型**:运行 `common-memory` 配置 OpenAI-compatible API 地址、模型和凭据。
36
- 支持 Responses 和 Chat Completions,两者显式选择,不会静默切换。
37
- 2. **确认权限**:选择可以披露和写入的范围。项目注册不自动授权;Markdown 导入、其他
38
- Agent 的理解、assistant/tool 上下文需要分别授权。
39
- 3. **连接助手**:在 Integrations 中管理 Pi 资源,或预览、导出 Codex / Work / MCP 配置。
40
- 在实际宿主中合并配置并完成 Hook 信任;**生成配置不等于已经连接**。
41
- 4. **检查结果**:在 Memory 中浏览,或运行 `common-memory show`。有待处理工作时查看
42
- Maintenance / `common-memory status`,不要把“已排队”当成“已记住”。
35
+ 1. **开始设置**:运行 `common-memory`,填写 API 地址、模型,选择 Responses
36
+ Chat Completions。密钥可稍后填写;保存后可继续连接助手、测试连接或直接返回首页。
37
+ 2. **确认权限**:在「项目与权限」中分别选择能读取、更新的记忆和可发送给模型的材料。
38
+ 添加项目不自动授权;导入 Markdown 时,如未授权会引导你先设置,不会自行开启。
39
+ 3. **连接助手**:选择「连接 / 管理 AI 助手」,管理 Pi 扩展或生成 Codex / Work / MCP
40
+ 接入文件。可按需预览技术内容;生成后按提示在实际助手中安装并信任 Hook
41
+ **生成配置不等于已经连接**。
42
+ 4. **检查结果**:首页直接「查看记忆」或「导入 Markdown」。遇到问题可打开
43
+ 「处理未完成任务」;改密钥、代理或测试连接在「模型与设置」,不用重新跑完整设置。
44
+
45
+ 上下键选择,Enter 确认,多选用空格,Esc 返回(首页退出)。取消后续步骤不会撤回
46
+ 已保存的配置或已排队材料。高级设置按选项、数字逐项修改,不需要编辑 JSON。
43
47
 
44
48
  默认配置位于 `~/.common-memory/config.json`,API Key 保存在同目录的私有 `.env` 中;
45
49
  `COMMON_MEMORY_HOME` 可指定其他配置目录。默认长期记忆位于
@@ -1 +1 @@
1
- {"version":3,"file":"tui-integrations.d.ts","sourceRoot":"","sources":["../../src/cli/tui-integrations.ts"],"names":[],"mappings":"AAIA,OAAO,EAA+B,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAW3F,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,CAYvE;AAmFD,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAuBxD"}
1
+ {"version":3,"file":"tui-integrations.d.ts","sourceRoot":"","sources":["../../src/cli/tui-integrations.ts"],"names":[],"mappings":"AAIA,OAAO,EAA+B,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAW3F,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,CAWvE;AA6FD,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAsBxD"}
@@ -13,125 +13,134 @@ import { attempt, confirm, expandPath, menu, note, terminalText, text, unwrap, v
13
13
  const packageRoot = fileURLToPath(new URL('../../', import.meta.url));
14
14
  export function integrationReadiness(config) {
15
15
  return [
16
- `Runtime: Node ${process.versions.node}; home: ${configDirectory()}`,
17
- `Store: ${config.dataRoot}`,
18
- `Read: no API key needed; scopes: ${config.disclosure.allowedScopes.join(', ')}`,
19
- `Capture: user_explicit ${config.disclosure.allowedProvenance.includes('user_explicit') ? 'authorized' : 'not authorized'}`,
20
- `Init: agent_observation ${config.disclosure.allowedProvenance.includes('agent_observation') ? 'authorized' : 'not authorized'}`,
21
- `Writer credential: ${hasApiKey(config) ? 'configured (not tested)' : 'missing'}`,
22
- `Writable scopes: ${config.writableScopes.join(', ') || '(none)'}`,
23
- 'Host installation / enabled tools / hook trust: NOT VERIFIED by these local checks.',
24
- 'Generated does not mean installed, trusted, connected, or successfully committed.',
16
+ `Node ${process.versions.node} · 配置目录:${configDirectory()}`,
17
+ `记忆存储:${config.dataRoot}`,
18
+ `读取:不需要 API Key · ${config.disclosure.allowedScopes.join(', ')}`,
19
+ `对话捕获:${config.disclosure.allowedProvenance.includes('user_explicit') ? '已授权' : '未授权'}`,
20
+ `AI 理解导入:${config.disclosure.allowedProvenance.includes('agent_observation') ? '已授权' : '未授权'}`,
21
+ `模型密钥:${hasApiKey(config) ? '已配置,未测试' : '未配置,可只读'}`,
22
+ `可更新范围:${config.writableScopes.join(', ') || '无(只读)'}`,
23
+ '以上是本机配置,不代表助手已安装、启用或信任连接。',
25
24
  ].join('\n');
26
25
  }
27
26
  async function chooseWorkspaces(config) {
28
27
  const projects = listProjects(config);
29
28
  if (!projects.length)
30
29
  return [];
31
- return unwrap(await clack.multiselect({ message: 'Optional registered project reads (global is included separately)', required: false,
32
- options: projects.map(p => ({ value: p.root, label: terminalText(p.name), hint: terminalText(`${p.root} · ${config.disclosure.allowedScopes.includes(`project:${p.id}`) ? 'disclosure allowed' : 'NOT authorized'}`) })), initialValues: [] }));
30
+ return unwrap(await clack.multiselect({ message: '还要让助手读取哪些项目?(空格勾选,可不选;个人记忆另行包含)', required: false,
31
+ options: projects.map(p => ({ value: p.root, label: terminalText(p.name), hint: terminalText(`${p.root} · ${config.disclosure.allowedScopes.includes(`project:${p.id}`) ? '已授权读取' : '尚未授权读取'}`) })), initialValues: [] }));
33
32
  }
34
33
  async function launchMode() {
35
34
  // A WSL terminal does not establish the agent's operating environment.
36
- const mode = await menu('Where does the agent process run?', [
37
- { value: 'posix', label: 'Same POSIX environment as Common Memory', hint: 'macOS or agent inside this WSL/Linux runtime' },
38
- { value: 'wsl', label: 'Native Windows agent → this WSL runtime', hint: 'Explicit distribution and Linux user; no Windows-native Core' },
35
+ const mode = await menu('你的 AI 助手运行在哪里?', [
36
+ { value: 'posix', label: '和当前终端在同一环境', hint: 'macOS / Linux / WSL 内运行的助手' },
37
+ { value: 'wsl', label: 'Windows 桌面上', hint: '通过桥接访问当前 WSL 中的记忆' },
39
38
  ]);
40
39
  if (mode === 'posix')
41
40
  return { wsl: false, workspaces: [] };
42
- return { wsl: true, distro: await text('WSL distribution', process.env.WSL_DISTRO_NAME ?? ''), user: await text('Linux user in that distribution'), workspaces: [] };
41
+ return { wsl: true, distro: await text('WSL 发行版名称', process.env.WSL_DISTRO_NAME ?? ''), user: await text('该发行版中的 Linux 用户名'), workspaces: [] };
43
42
  }
44
43
  async function generateHost(config, client) {
45
44
  const options = await launchMode();
46
45
  options.workspaces = await chooseWorkspaces(config);
47
- const output = expandPath(await text('New bundle directory (must not already exist)'));
46
+ const output = expandPath(await text('把接入文件保存到哪个新目录?(不能是已有目录)'));
48
47
  const args = ['--mode', options.wsl ? 'windows-wsl' : 'posix', '--output', output, ...options.workspaces.flatMap(w => ['--workspace', w])];
49
48
  if (options.wsl) {
50
49
  args.push('--distro', options.distro, '--user', options.user);
51
- const bridge = await text('Absolute Windows destination of common-memory-bridge.ps1 (blank: translate output with wslpath)', '', true);
50
+ const bridge = await text('Windows 桥接脚本的绝对路径(留空用 wslpath 转换输出目录)', '', true);
52
51
  if (bridge)
53
52
  args.push('--bridge-path', bridge);
54
53
  }
55
54
  const prepared = prepareHostBundle(config, args, client);
56
- await viewText(`${client} configuration preview`, prepared.bundle.config);
57
- await viewText('Explicit refresh skill preview', prepared.bundle.skill + '\n' + prepared.bundle.policy);
58
- if (prepared.bundle.bridge)
59
- await viewText('Windows bridge preview', prepared.bundle.bridge);
60
- if (!await confirm(`Write this reviewed bundle to ${output}? Host config and trust will NOT be changed.`))
55
+ note(`助手:${client}\n保存到:${output}\n包含:连接配置、刷新记忆的 Skill${prepared.bundle.bridge ? '、Windows 桥接脚本' : ''}\n只生成文件,不修改助手设置或 Hook 信任。`, '准备接入文件');
56
+ for (;;) {
57
+ const action = await menu('接下来做什么?', [
58
+ { value: 'save', label: '生成接入文件', hint: '下一步会说明如何安装到助手' },
59
+ { value: 'config', label: '预览连接配置' },
60
+ { value: 'skill', label: '预览刷新记忆 Skill' },
61
+ ...(prepared.bundle.bridge ? [{ value: 'bridge', label: '预览 Windows 桥接脚本' }] : []),
62
+ { value: 'back', label: '返回,不生成文件' },
63
+ ]);
64
+ if (action === 'back')
65
+ return;
66
+ if (action === 'save')
67
+ break;
68
+ await viewText(action === 'config' ? '连接配置预览' : action === 'skill' ? '刷新记忆 Skill 预览' : 'Windows 桥接预览', action === 'config' ? prepared.bundle.config : action === 'skill' ? prepared.bundle.skill + '\n' + prepared.bundle.policy : prepared.bundle.bridge);
69
+ }
70
+ if (!await confirm(`将接入文件写入 ${output}?`))
61
71
  return;
62
72
  checkConfigUnchanged(config);
63
73
  if (existsSync(output))
64
- throw new Error('Choose a new bundle directory. Existing destinations are not changed by this wizard.');
74
+ throw new Error('这个目录已存在。请选择新目录,不会覆盖已有文件。');
65
75
  writeHostBundle(prepared.output, prepared.bundle);
66
76
  note([
67
- `Generated: ${output}`,
68
- '1. Inspect common-memory.config.toml and merge/install it in the ACTUAL agent configuration directory; keep Work and Codex profiles separate.',
69
- client === 'codex' ? '2. For Codex, use the common-memory profile: codex --profile common-memory.' : '2. Select the corresponding profile in the Work local agent environment (ordinary Chat is not covered).',
70
- '3. Install skills/memory-refresh in that agent’s skills directory. For Windows, place the bridge at the exact previewed Windows path.',
71
- '4. Review and trust commands through the host /hooks interface. No trust bypass was installed.',
72
- '5. Start a fresh host process. Review memory here and check Maintenance for actual session processing.',
73
- 'Refresh stays inside the live host: /memory-refresh. The TUI cannot select an activation by cwd.',
74
- 'Disable/remove: use host /hooks and its MCP settings, then remove only the config/skill entries you installed; canonical memory remains intact.',
75
- 'Regenerate into a NEW directory after changing Node, installation path, home or workspace selection.',
76
- ].join('\n'), 'Generated — host activation still required');
77
+ `已生成:${output}`,
78
+ '1. 审阅 common-memory.config.toml,合并到实际使用的助手配置。Work Codex 的配置请分开。',
79
+ '2. skills/memory-refresh 放入该助手的 skills 目录;Windows 还需将桥接脚本放到指定路径。',
80
+ '3. 在助手 /hooks 中审阅并信任命令,然后启动新会话。',
81
+ client === 'codex' ? '启动:codex --profile common-memory' : '在 Work 本地 Agent 中选择对应配置;不适用于普通 Chat。',
82
+ '会话内用 /memory-refresh 刷新。回到「查看记忆」和「处理未完成任务」检查结果。',
83
+ '停用请在助手 /hooks MCP 设置中操作,再移除自己安装的配置与 Skill;记忆文件保留。',
84
+ 'Node、安装位置、配置目录或项目选择改变后,请生成新的接入文件。',
85
+ ].join('\n'), '文件已生成 · 还需在助手中启用');
77
86
  }
78
87
  async function generateMcp(config) {
79
88
  const options = await launchMode();
80
89
  options.workspaces = await chooseWorkspaces(config);
81
90
  const body = renderMcpConfig(config, options);
82
- await viewText('MCP configuration preview (separate init/read processes)', body);
83
- if (await confirm('Export this configuration to a new file?')) {
84
- const output = expandPath(await text('New TOML file (parent directory must exist)'));
91
+ await viewText('MCP 配置预览(读取与初始化为独立进程)', body);
92
+ if (await confirm('导出到一个新文件?')) {
93
+ const output = expandPath(await text(' TOML 文件路径(父目录必须存在)'));
85
94
  checkConfigUnchanged(config);
86
95
  writeFileSync(output, body, { flag: 'wx', mode: 0o600 });
87
- clack.log.success(`Exported to ${terminalText(output)}; not installed in the host.`);
96
+ clack.log.success(`已导出到 ${terminalText(output)};尚未安装到助手。`);
88
97
  }
89
- note('Merge only the desired blocks into the actual MCP host configuration. Read and Init stay separate; Codex should disable the Init server. Restart the host and inspect its tool list. Disable/remove through host MCP settings; do not delete the store. Relay remains an explicit trusted-host opt-in via the automation CLI, never enabled by these templates.', 'MCP activation / removal');
98
+ note('将需要的配置块合并到助手的 MCP 设置,读取与初始化保持分离;Codex 应禁用 Init。\n重启助手并检查工具列表。停用请用助手的 MCP 设置,不要删除记忆存储。\n这些模板不会启用 Relay;可信宿主需要通过 CLI 单独配置。', '下一步 · 在助手中启用');
90
99
  }
91
100
  async function piIntegration() {
92
- note(`Package: ${packageRoot}\nPi 0.84.4 extension; run Pi in the same POSIX/WSL environment.\nUse the same COMMON_MEMORY_HOME. Installation does not grant memory scopes.\nNative /memory-refresh and /memory-flush remain in the active Pi session.\nPi settings and trust remain owned by Pi; no Common Memory host-settings editor is added.`, 'Pi management');
93
- const action = await menu('Pi · official package manager', [
94
- { value: 'list', label: 'Inspect installed packages (pi list)' },
95
- { value: 'install', label: 'Register this local package for the current user' },
96
- { value: 'config', label: 'Enable / disable resources in Pi’s own UI' },
97
- { value: 'remove', label: 'Remove this package registration', hint: 'Does not remove Common Memory data' },
98
- { value: 'back', label: 'Back' },
101
+ note('在同一终端环境中使用 Pi 0.84.4,配置目录需保持一致。\n安装不会自动授权记忆。启停与信任交给 Pi 自己管理。', '连接 Pi');
102
+ const action = await menu('想对 Pi 做什么?', [
103
+ { value: 'install', label: '安装 Common Memory 扩展', hint: '为当前用户登记本地包' },
104
+ { value: 'list', label: '查看已安装扩展', hint: 'pi list' },
105
+ { value: 'config', label: '启用 / 停用扩展', hint: '打开 Pi 自己的配置界面' },
106
+ { value: 'remove', label: '移除扩展', hint: '不会删除记忆' },
107
+ { value: 'back', label: '返回' },
99
108
  ]);
100
109
  if (action === 'back')
101
110
  return;
102
111
  if (action === 'install' && !existsSync(join(packageRoot, 'dist/pi-extension/index.js')))
103
- throw new Error('Build the package before registering the Pi extension.');
112
+ throw new Error('未找到构建产物。请先构建 Common Memory,再安装扩展。');
104
113
  const args = ['install', 'remove'].includes(action) ? [action, packageRoot] : [action];
105
- note(`pi ${args.map(shellQuote).join(' ')}\nCOMMON_MEMORY_HOME=${configDirectory()}\nUses the pi executable on PATH. Install/remove use user settings; Pi may request its own project trust.`, 'Native host handoff');
106
- if (!await confirm('Run this Pi command?'))
114
+ note(`pi ${args.map(shellQuote).join(' ')}\nCOMMON_MEMORY_HOME=${configDirectory()}\n使用 PATH 中的 Pi;安装和移除影响用户配置。Pi 可能要求项目信任。`, '即将交给 Pi 执行');
115
+ if (!await confirm('执行以上 Pi 命令?'))
107
116
  return;
108
117
  const code = await runInteractiveProcess('pi', args, { ...process.env, COMMON_MEMORY_HOME: configDirectory() });
109
118
  if (code !== 0)
110
- throw new Error(`Pi command failed or was cancelled (exit ${code}); host state was not verified.`);
111
- clack.log.success('Pi command finished. Restart Pi after changes; this does not prove a live capture or memory read.');
119
+ throw new Error(`Pi 命令未完成或已取消(退出码 ${code}),请在 Pi 中检查状态。`);
120
+ clack.log.success('Pi 命令已结束。修改后请重启 Pi,再检查实际的捕获与记忆读取。');
121
+ note('在 Pi 会话中用 /memory-refresh 刷新记忆,/memory-flush 处理队列。', '下一步');
112
122
  }
113
123
  export async function integrationsScreen() {
114
124
  for (;;) {
115
125
  const config = loadConfig();
116
126
  if (!config)
117
- throw new Error('Configure Common Memory first');
118
- const action = await menu('Common Memory / Integrations', [
119
- { value: 'readiness', label: 'Local readiness and authority' },
120
- { value: 'pi', label: 'Pi · manage extension via Pi' },
121
- { value: 'codex', label: 'Codex · generate session-hook + read bundle' },
122
- { value: 'work', label: 'ChatGPT Work · generate session + read/init bundle' },
123
- { value: 'mcp', label: 'MCP-only · preview/export stdio configurations' },
124
- { value: 'back', label: 'Back' },
127
+ throw new Error('请先完成模型设置。');
128
+ const action = await menu('要连接哪个 AI 助手?', [
129
+ { value: 'pi', label: 'Pi', hint: '安装、启停或移除扩展' },
130
+ { value: 'codex', label: 'Codex', hint: '生成会话与记忆读取配置' },
131
+ { value: 'work', label: 'ChatGPT Work', hint: '生成本地 Agent 接入文件' },
132
+ { value: 'mcp', label: '其他 MCP 助手', hint: '预览、导出 stdio 配置' },
133
+ { value: 'readiness', label: '检查本机接入条件', hint: '不检测助手是否已连接' },
134
+ { value: 'back', label: '返回' },
125
135
  ]);
126
136
  if (action === 'back')
127
137
  return;
128
138
  await attempt(async () => {
129
139
  if (action === 'readiness')
130
- note(integrationReadiness(config), 'Local readiness — not host detection');
140
+ note(integrationReadiness(config), '本机接入条件');
131
141
  else if (action === 'pi')
132
142
  await piIntegration();
133
143
  else {
134
- note(integrationReadiness(config), 'Integration prerequisites');
135
144
  if (action === 'mcp')
136
145
  await generateMcp(config);
137
146
  else
@@ -1 +1 @@
1
- {"version":3,"file":"tui-integrations.js","sourceRoot":"","sources":["../../src/cli/tui-integrations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tui-integrations.js","sourceRoot":"","sources":["../../src/cli/tui-integrations.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,9 @@ export declare function menu(message: string, options: {
14
14
  value: string;
15
15
  label: string;
16
16
  hint?: string;
17
- }[]): Promise<string>;
17
+ }[], initialValue?: string): Promise<string>;
18
+ /** One numeric field at a time; final configuration still uses the shared validator. */
19
+ export declare function numberInput(message: string, initialValue: number | undefined, min?: number, max?: number, optional?: boolean): Promise<number | undefined>;
18
20
  /** Local pagination only, not retrieval. Every line of the selected document remains available. */
19
21
  export declare function viewText(title: string, body: string): Promise<void>;
20
22
  /** Cancel/error stays inside the current area; a cancelled home menu exits the application. */
@@ -1 +1 @@
1
- {"version":3,"file":"tui-prompts.d.ts","sourceRoot":"","sources":["../../src/cli/tui-prompts.ts"],"names":[],"mappings":"AAIA,qBAAa,aAAc,SAAQ,KAAK;;CAEvC;AACD,wBAAgB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,GAAG,CAAC,CAG9C;AACD,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AACD,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhD;AACD,iGAAiG;AACjG,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAElD;AACD,eAAO,MAAM,IAAI,GAAI,MAAM,MAAM,EAAE,OAAO,MAAM,KAAG,IAA2D,CAAC;AAC/G,eAAO,MAAM,GAAG,GAAI,MAAM,MAAM,KAAG,IAA0C,CAAC;AAC9E,wBAAsB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE/D;AACD,wBAAsB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,SAAK,EAAE,QAAQ,UAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAEhG;AACD,wBAAsB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAEvH;AAED,mGAAmG;AACnG,wBAAsB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAezE;AAED,+FAA+F;AAC/F,wBAAsB,OAAO,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAM3E"}
1
+ {"version":3,"file":"tui-prompts.d.ts","sourceRoot":"","sources":["../../src/cli/tui-prompts.ts"],"names":[],"mappings":"AAIA,qBAAa,aAAc,SAAQ,KAAK;;CAEvC;AACD,wBAAgB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,GAAG,CAAC,CAG9C;AACD,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AACD,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhD;AACD,iGAAiG;AACjG,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAElD;AACD,eAAO,MAAM,IAAI,GAAI,MAAM,MAAM,EAAE,OAAO,MAAM,KAAG,IAA2D,CAAC;AAC/G,eAAO,MAAM,GAAG,GAAI,MAAM,MAAM,KAAG,IAA0C,CAAC;AAC9E,wBAAsB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE/D;AACD,wBAAsB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,SAAK,EAAE,QAAQ,UAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAEhG;AACD,wBAAsB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAE9I;AAED,wFAAwF;AACxF,wBAAsB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,SAAI,EAAE,GAAG,SAA0B,EAAE,QAAQ,UAAQ,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAO1K;AAED,mGAAmG;AACnG,wBAAsB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAezE;AAED,+FAA+F;AAC/F,wBAAsB,OAAO,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAM3E"}
@@ -23,13 +23,23 @@ export function terminalText(value) {
23
23
  export const note = (body, title) => clack.note(terminalText(body), terminalText(title));
24
24
  export const log = (body) => clack.log.info(terminalText(body));
25
25
  export async function confirm(message) {
26
- return unwrap(await clack.confirm({ message: terminalText(message), initialValue: false }));
26
+ return unwrap(await clack.confirm({ message: terminalText(message), active: '确认', inactive: '暂不', initialValue: false }));
27
27
  }
28
28
  export async function text(message, initialValue = '', optional = false) {
29
- return unwrap(await clack.text({ message, initialValue, ...(optional ? { defaultValue: '' } : {}), validate: value => optional || value?.trim() ? undefined : 'A value is required' })).trim();
29
+ return unwrap(await clack.text({ message: terminalText(message), initialValue, ...(optional ? { defaultValue: '' } : {}), validate: value => optional || value?.trim() ? undefined : '请填写内容' })).trim();
30
30
  }
31
- export async function menu(message, options) {
32
- return unwrap(await clack.select({ message, options: options.map(o => ({ ...o, label: terminalText(o.label), ...(o.hint ? { hint: terminalText(o.hint) } : {}) })), maxItems: 10 }));
31
+ export async function menu(message, options, initialValue) {
32
+ return unwrap(await clack.select({ message: terminalText(message), options: options.map(o => ({ ...o, label: terminalText(o.label), ...(o.hint ? { hint: terminalText(o.hint) } : {}) })), maxItems: 10, ...(initialValue === undefined ? {} : { initialValue }) }));
33
+ }
34
+ /** One numeric field at a time; final configuration still uses the shared validator. */
35
+ export async function numberInput(message, initialValue, min = 1, max = Number.MAX_SAFE_INTEGER, optional = false) {
36
+ const raw = unwrap(await clack.text({ message, initialValue: initialValue === undefined ? '' : String(initialValue), ...(optional ? { defaultValue: '' } : {}), validate: value => {
37
+ if (optional && !value?.trim())
38
+ return;
39
+ const n = Number(value);
40
+ return value?.trim() && Number.isSafeInteger(n) && n >= min && n <= max ? undefined : `请输入 ${min}–${max} 之间的整数`;
41
+ } })).trim();
42
+ return raw ? Number(raw) : undefined;
33
43
  }
34
44
  /** Local pagination only, not retrieval. Every line of the selected document remains available. */
35
45
  export async function viewText(title, body) {
@@ -38,11 +48,11 @@ export async function viewText(title, body) {
38
48
  for (;;) {
39
49
  const size = Math.max(5, Math.min(30, (process.stdout.rows || 24) - 12));
40
50
  const end = Math.min(lines.length, start + size);
41
- note(lines.slice(start, end).join('\n') || '(empty)', `${title} · lines ${start + 1}–${end}/${lines.length}`);
42
- const action = await menu('Viewer', [
43
- ...(end < lines.length ? [{ value: 'next', label: 'Next page' }] : []),
44
- ...(start ? [{ value: 'previous', label: 'Previous page' }] : []),
45
- { value: 'back', label: 'Back' },
51
+ note(lines.slice(start, end).join('\n') || '(暂无内容)', `${title} · ${start + 1}–${end} 行,共 ${lines.length} 行`);
52
+ const action = await menu('阅读', [
53
+ ...(end < lines.length ? [{ value: 'next', label: '下一页' }] : []),
54
+ ...(start ? [{ value: 'previous', label: '上一页' }] : []),
55
+ { value: 'back', label: '返回' },
46
56
  ]);
47
57
  if (action === 'back')
48
58
  return;
@@ -56,9 +66,9 @@ export async function attempt(action) {
56
66
  }
57
67
  catch (error) {
58
68
  if (error instanceof UserCancelled)
59
- clack.log.info('Cancelled; no further action.');
69
+ clack.log.info('已取消这一步,返回菜单。');
60
70
  else
61
- clack.log.error(terminalText(error instanceof Error ? error.message : 'Operation failed'));
71
+ clack.log.error(terminalText(error instanceof Error ? error.message : '操作未完成,请检查后重试。'));
62
72
  }
63
73
  }
64
74
  //# sourceMappingURL=tui-prompts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tui-prompts.js","sourceRoot":"","sources":["../../src/cli/tui-prompts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE1C,MAAM,OAAO,aAAc,SAAQ,KAAK;IACtC,gBAAgB,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC;CACnE;AACD,MAAM,UAAU,MAAM,CAAI,KAAiB;IACzC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,aAAa,EAAE,CAAC;IACrD,OAAO,KAAU,CAAC;AACpB,CAAC;AACD,MAAM,UAAU,kBAAkB;IAChC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,qIAAqI,CAAC,CAAC;AAC5M,CAAC;AACD,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,OAAO,OAAO,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAC/G,CAAC;AACD,iGAAiG;AACjG,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,OAAO,KAAK,CAAC,OAAO,CAAC,2DAA2D,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;AAChJ,CAAC;AACD,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,KAAa,EAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;AAC/G,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,IAAY,EAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9E,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,OAAe;IAC3C,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAC9F,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,OAAe,EAAE,YAAY,GAAG,EAAE,EAAE,QAAQ,GAAG,KAAK;IAC7E,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,QAAQ,IAAI,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACjM,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,OAAe,EAAE,OAA0D;IACpG,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;AACvL,CAAC;AAED,mGAAmG;AACnG,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,KAAa,EAAE,IAAY;IACxD,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,SAAS,CAAC;QACR,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACzE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,SAAS,EAAE,GAAG,KAAK,YAAY,KAAK,GAAG,CAAC,IAAI,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAC9G,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE;YAClC,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACtE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACjE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;SACjC,CAAC,CAAC;QACH,IAAI,MAAM,KAAK,MAAM;YAAE,OAAO;QAC9B,KAAK,GAAG,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC;AAED,+FAA+F;AAC/F,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,MAA8B;IAC1D,IAAI,CAAC;QAAC,MAAM,MAAM,EAAE,CAAC;IAAC,CAAC;IACvB,OAAO,KAAK,EAAE,CAAC;QACb,IAAI,KAAK,YAAY,aAAa;YAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;;YAC/E,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAClG,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"tui-prompts.js","sourceRoot":"","sources":["../../src/cli/tui-prompts.ts"],"names":[],"mappings":"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"}
@@ -13,9 +13,10 @@ export declare function hasApiKey(config: CommonMemoryConfig): boolean;
13
13
  export declare function statusLines(config: CommonMemoryConfig): string[];
14
14
  export declare function showStatus(config: CommonMemoryConfig): void;
15
15
  export declare function printStatus(): void;
16
+ export declare function runCredentialsWizard(current: CommonMemoryConfig): Promise<void>;
16
17
  export declare function runPermissionsWizard(current: CommonMemoryConfig): Promise<void>;
17
18
  export declare function runNetworkWizard(existing?: CommonMemoryConfig | null): Promise<CommonMemoryConfig>;
18
- /** Less common knobs share the existing validator, not a second configuration schema. */
19
+ /** Edit one setting per visit; validate the complete result with Core's existing schema. */
19
20
  export declare function runAdvancedWizard(current: CommonMemoryConfig): Promise<void>;
20
21
  export {};
21
22
  //# sourceMappingURL=tui-settings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tui-settings.d.ts","sourceRoot":"","sources":["../../src/cli/tui-settings.ts"],"names":[],"mappings":"AAKA,OAAO,EAA8H,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAM1L,KAAK,UAAU,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAChF,eAAO,MAAM,kBAAkB,EAAE;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAKlF,CAAC;AAEF,qFAAqF;AACrF,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI,GAAG,IAAI,CAE9E;AACD,wBAAgB,YAAY,CAAC,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAIzF;AAED,wBAAsB,cAAc,CAAC,QAAQ,GAAE,kBAAkB,GAAG,IAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAkCpH;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAE7D;AAKD,wBAAgB,WAAW,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,EAAE,CAGhE;AACD,wBAAgB,UAAU,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAAkE;AAC9H,wBAAgB,WAAW,IAAI,IAAI,CAGlC;AAED,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CASrF;AAED,wBAAsB,gBAAgB,CAAC,QAAQ,GAAE,kBAAkB,GAAG,IAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAgCtH;AAED,yFAAyF;AACzF,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkClF"}
1
+ {"version":3,"file":"tui-settings.d.ts","sourceRoot":"","sources":["../../src/cli/tui-settings.ts"],"names":[],"mappings":"AAMA,OAAO,EAA8G,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAQ1K,KAAK,UAAU,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAChF,eAAO,MAAM,kBAAkB,EAAE;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAKlF,CAAC;AAEF,qFAAqF;AACrF,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI,GAAG,IAAI,CAE9E;AACD,wBAAgB,YAAY,CAAC,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAIzF;AAED,wBAAsB,cAAc,CAAC,QAAQ,GAAE,kBAAkB,GAAG,IAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAkCpH;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAE7D;AAKD,wBAAgB,WAAW,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,EAAE,CAGhE;AACD,wBAAgB,UAAU,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAAkE;AAC9H,wBAAgB,WAAW,IAAI,IAAI,CAGlC;AAED,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBrF;AAMD,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAWrF;AAED,wBAAsB,gBAAgB,CAAC,QAAQ,GAAE,kBAAkB,GAAG,IAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAgCtH;AAED,4FAA4F;AAC5F,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoGlF"}