agentquad 0.3.1 → 0.3.2

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.
@@ -5,7 +5,7 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <link rel="icon" type="image/png" href="/favicon.png" />
7
7
  <title>AgentQuad</title>
8
- <script type="module" crossorigin src="/assets/index-j5Dz0G5-.js"></script>
8
+ <script type="module" crossorigin src="/assets/index-oovKASxm.js"></script>
9
9
  <link rel="stylesheet" crossorigin href="/assets/index-Wl5vjZ8T.css">
10
10
  </head>
11
11
  <body>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentquad",
3
- "version": "0.3.1",
3
+ "version": "0.3.2",
4
4
  "description": "AgentQuad — local four-quadrant AI task scheduler with embedded Claude Code / Codex terminals",
5
5
  "license": "MIT",
6
6
  "author": "LIUZHENHUA521",
package/src/cli.js CHANGED
@@ -375,10 +375,7 @@ export async function runStart(cmdOpts = {}) {
375
375
  flags: { wizard: cmdOpts.wizard !== false },
376
376
  })
377
377
  if (need) {
378
- const r = await runFirstRunWizard()
379
- if (r.defaultTool) {
380
- setConfigValue('defaultTool', r.defaultTool, { rootDir })
381
- }
378
+ await runFirstRunWizard()
382
379
  }
383
380
  } catch (e) {
384
381
  console.warn(`⚠ first-run wizard skipped: ${e?.message || e}`)
package/src/config.js CHANGED
@@ -311,7 +311,6 @@ function defaultConfig() {
311
311
  // 要让同网段其他设备(含 Tailscale 虚拟网段 100.x.x.x)访问,可设为 "0.0.0.0"。
312
312
  // CLI 上也可以用 `agentquad start --expose` / `--host 0.0.0.0` 临时覆盖。
313
313
  host: "127.0.0.1",
314
- defaultTool: "claude",
315
314
  defaultCwd: homedir(),
316
315
  defaultPermissionMode: "default",
317
316
  tools: resolveToolsConfig(),
@@ -341,7 +340,7 @@ function defaultConfig() {
341
340
  }
342
341
 
343
342
  function normalizeDispatch(d = {}) {
344
- const channels = ['lark', 'telegram', 'web'];
343
+ const channels = ['lark', 'telegram'];
345
344
  const out = {};
346
345
  for (const ch of channels) {
347
346
  const src = (d && typeof d[ch] === 'object' && d[ch] !== null) ? d[ch] : {};
@@ -352,6 +351,9 @@ function normalizeDispatch(d = {}) {
352
351
 
353
352
  export function normalizeConfig(cfg = {}) {
354
353
  const defaults = defaultConfig();
354
+ // 旧 config.json 里残留的 defaultTool 字段(已废弃)。剥离后再 spread,
355
+ // 避免 ...cfg 把死字段又拷回 normalized config。
356
+ const { defaultTool: _ignoredDefaultTool, ...cfgRest } = cfg;
355
357
  const mergedTools = {
356
358
  ...defaults.tools,
357
359
  ...(cfg.tools || {}),
@@ -366,7 +368,7 @@ export function normalizeConfig(cfg = {}) {
366
368
  }
367
369
  return {
368
370
  ...defaults,
369
- ...cfg,
371
+ ...cfgRest,
370
372
  defaultPermissionMode: normalizePermissionMode(cfg.defaultPermissionMode, "default"),
371
373
  tools: {
372
374
  ...mergedTools,
package/src/dispatch.js CHANGED
@@ -8,6 +8,5 @@ export function resolveTool({ channel, userId, chatId, override } = {}, config =
8
8
  if (chatId && ch.perChat && SUPPORTED_TOOLS.includes(ch.perChat[chatId])) return ch.perChat[chatId]
9
9
  if (SUPPORTED_TOOLS.includes(ch.default)) return ch.default
10
10
  }
11
- if (SUPPORTED_TOOLS.includes(config?.defaultTool)) return config.defaultTool
12
11
  return 'claude'
13
12
  }
@@ -52,7 +52,7 @@ export async function runFirstRunWizard({
52
52
  let skippedInstall = false
53
53
 
54
54
  if (missing.length > 0) {
55
- log(`[1/2] 检测到未安装:${missing.join(', ')}(AI 终端必需)`)
55
+ log(`[1/1] 检测到未安装:${missing.join(', ')}(AI 终端必需)`)
56
56
  const ans = (await ask(` 运行 'agentquad install-tools --all' 自动安装?(Y/n) `)).trim().toLowerCase()
57
57
  if (ans === '' || ans === 'y' || ans === 'yes') {
58
58
  try {
@@ -67,16 +67,5 @@ export async function runFirstRunWizard({
67
67
  }
68
68
  }
69
69
 
70
- const available = []
71
- if (claudeOK || installedTools.includes('claude')) available.push('claude')
72
- if (codexOK || installedTools.includes('codex')) available.push('codex')
73
-
74
- let defaultTool = 'claude'
75
- if (available.length > 0) {
76
- const optsStr = available.join(' / ')
77
- const ans = (await ask(`[2/2] 选择默认 AI 工具 (${optsStr}) [默认: ${available[0]}]: `)).trim().toLowerCase()
78
- defaultTool = available.includes(ans) ? ans : available[0]
79
- }
80
-
81
- return { skipped: false, installedTools, defaultTool, skippedInstall }
70
+ return { skipped: false, installedTools, skippedInstall }
82
71
  }
@@ -341,7 +341,7 @@ function mapDispatcherResultToWizardReply(result, sid, imagePaths) {
341
341
  * - aiTerminal: spawnSession({sessionId, todoId, prompt, tool, cwd, permissionMode, label, extraEnv})
342
342
  * - openclaw: registerSessionRoute(sessionId, {targetUserId, threadId?, topicName?, ...})
343
343
  * - pending: submitReply(text), listPending() (不直接被调用,但提供给路由层判断)
344
- * - getConfig: () => 配置快照(拿 defaultCwd / port / defaultTool)
344
+ * - getConfig: () => 配置快照(拿 defaultCwd / port / dispatch / 渠道权限模式)
345
345
  * - telegramBot: 可选,提供 createForumTopic / sendMessage —— 启用每任务一 topic
346
346
  */
347
347
  export function createOpenClawWizard({
package/src/server.js CHANGED
@@ -549,7 +549,6 @@ export function createServer(opts = {}) {
549
549
  process.env.HOME ||
550
550
  process.cwd(),
551
551
  tools: tools || resolveToolsConfig(initialConfig?.tools),
552
- defaultTool: initialConfig?.defaultTool || "claude",
553
552
  };
554
553
  // Codex sidecar:把 AgentQuad session ↔ codex native id 的映射落到 ~/.agentquad/codex-sessions/,
555
554
  // 重启后 restoreFromDisk() 复活内存映射。Phase A 只暂存元数据;Phase C 起 IM 推送链路会用它
@@ -724,7 +723,6 @@ export function createServer(opts = {}) {
724
723
  saveConfig(next, { rootDir: configRootDir });
725
724
 
726
725
  runtimeConfig.defaultCwd = next.defaultCwd || runtimeConfig.defaultCwd;
727
- runtimeConfig.defaultTool = next.defaultTool || runtimeConfig.defaultTool;
728
726
  runtimeConfig.tools = resolveToolsConfig(next.tools);
729
727
  pty.tools = runtimeConfig.tools;
730
728
 
@@ -768,7 +766,6 @@ export function createServer(opts = {}) {
768
766
  toolDiagnostics: inspectToolsConfig(next.tools),
769
767
  runtimeApplied: {
770
768
  defaultCwd: runtimeConfig.defaultCwd,
771
- defaultTool: runtimeConfig.defaultTool,
772
769
  larkRestart,
773
770
  },
774
771
  telegramRestart,