@cocorograph/hub-agent 0.7.23 → 0.7.24
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/package.json +1 -1
- package/src/tmux.mjs +11 -3
package/package.json
CHANGED
package/src/tmux.mjs
CHANGED
|
@@ -1204,8 +1204,12 @@ export async function answerAskUserQuestion(name, answers, opts = {}) {
|
|
|
1204
1204
|
continue
|
|
1205
1205
|
}
|
|
1206
1206
|
|
|
1207
|
+
// 全回答済みなのにメニューが残る = 直前回答の反映ラグ (特に自由入力で Type something の
|
|
1208
|
+
// ラベルが入力文字へ変わり waitChanged が早期復帰した場合)。ここで「質問が余っている」と
|
|
1209
|
+
// 誤判定して ok:false を返すと frontend が回答済みカードを復元してしまう。完了待ち
|
|
1210
|
+
// (final block) へ抜けてメニュー消失を確認する。
|
|
1211
|
+
if (answered >= answers.length) break
|
|
1207
1212
|
const entry = answers[answered]
|
|
1208
|
-
if (!entry) return { ok: false, error: "more questions than answers", answered }
|
|
1209
1213
|
const labels = Array.isArray(entry.labels) ? entry.labels : []
|
|
1210
1214
|
const sigBefore = _askMenuSig(menu)
|
|
1211
1215
|
|
|
@@ -1270,7 +1274,11 @@ export async function answerAskUserQuestion(name, answers, opts = {}) {
|
|
|
1270
1274
|
await waitChanged(sigBefore) // 質問遷移 / 消失を確認してから次へ (二重回答防止)
|
|
1271
1275
|
}
|
|
1272
1276
|
|
|
1273
|
-
//
|
|
1277
|
+
// 完了待ち: メニューが消える (= 回答が claude に届いた) まで待つ。"Submit answers" が
|
|
1278
|
+
// 残っていれば確定する。消失を確認できたら ok:true。dismissMs 経っても残っている =
|
|
1279
|
+
// 回答が届いていない (真の失敗) ので ok:false を返す。ok の正確性が肝: ok:true なら
|
|
1280
|
+
// 回答後の tool_result を 1-A が検知して cancel でカードを畳む / ok:false なら frontend が
|
|
1281
|
+
// カードを復元して再回答できるようにする。両者が食い違うとカード状態が競合する。
|
|
1274
1282
|
const finalDl = Date.now() + dismissMs
|
|
1275
1283
|
while (Date.now() < finalDl) {
|
|
1276
1284
|
const m = parseAskMenu(await cap())
|
|
@@ -1283,7 +1291,7 @@ export async function answerAskUserQuestion(name, answers, opts = {}) {
|
|
|
1283
1291
|
{ session: name, answered },
|
|
1284
1292
|
"answerAskUserQuestion: menu still visible after retries",
|
|
1285
1293
|
)
|
|
1286
|
-
return { ok:
|
|
1294
|
+
return { ok: false, error: "menu still visible after answering", answered }
|
|
1287
1295
|
}
|
|
1288
1296
|
|
|
1289
1297
|
/**
|