@minimalcorp/tsunagi 0.1.9 → 0.1.10
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/.next/standalone/apps/web/.next/BUILD_ID +1 -1
- package/.next/standalone/apps/web/.next/build-manifest.json +3 -3
- package/.next/standalone/apps/web/.next/prerender-manifest.json +3 -3
- package/.next/standalone/apps/web/.next/server/app/_global-error.html +1 -1
- package/.next/standalone/apps/web/.next/server/app/_global-error.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/apps/web/.next/server/app/_not-found.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/index.html +1 -1
- package/.next/standalone/apps/web/.next/server/app/index.rsc +2 -2
- package/.next/standalone/apps/web/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/apps/web/.next/server/app/index.segments/_full.segment.rsc +2 -2
- package/.next/standalone/apps/web/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/index.segments/_index.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/apps/web/.next/server/app/settings.html +1 -1
- package/.next/standalone/apps/web/.next/server/app/settings.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/settings.segments/_full.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/settings.segments/_head.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/settings.segments/_index.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/settings.segments/settings.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/tasks/[id]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/apps/web/.next/server/chunks/ssr/[root-of-the-server]__05isylw._.js +1 -1
- package/.next/standalone/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0ro8-ey._.js +1 -1
- package/.next/standalone/apps/web/.next/server/middleware-build-manifest.js +3 -3
- package/.next/standalone/apps/web/.next/server/pages/404.html +1 -1
- package/.next/standalone/apps/web/.next/server/pages/500.html +1 -1
- package/.next/standalone/apps/web/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/apps/web/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/apps/web/.next/static/chunks/{15.7-djf_199c.js → 0.x8varnp-h_t.js} +1 -1
- package/.next/standalone/apps/web/.next/static/chunks/{06_irvllfqezu.js → 06_62n-hhlvr-.js} +1 -1
- package/dist/server/routes/editor.js +4 -18
- package/package.json +1 -1
- package/scripts/monaco-editor.sh +4 -8
- /package/.next/standalone/apps/web/.next/static/{fRTKzDZgyRhJqPkdZ7VuZ → V_tDJMo16s0PvbVL8oDEq}/_buildManifest.js +0 -0
- /package/.next/standalone/apps/web/.next/static/{fRTKzDZgyRhJqPkdZ7VuZ → V_tDJMo16s0PvbVL8oDEq}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/apps/web/.next/static/{fRTKzDZgyRhJqPkdZ7VuZ → V_tDJMo16s0PvbVL8oDEq}/_ssgManifest.js +0 -0
|
@@ -59,24 +59,10 @@ export async function editorRoutes(fastify) {
|
|
|
59
59
|
}
|
|
60
60
|
await writeFile(session.filePath, request.body.content, 'utf8');
|
|
61
61
|
session.status = 'done';
|
|
62
|
-
//
|
|
63
|
-
//
|
|
64
|
-
//
|
|
65
|
-
//
|
|
66
|
-
// 300ms: server が /complete を受信した時点が T=0。sh の polling(最大100ms) +
|
|
67
|
-
// exit + claude foreground 復帰 で ~150ms。余裕を持たせた値。
|
|
68
|
-
if (session.tabId) {
|
|
69
|
-
const ptySession = ptyManager.getSession(session.tabId);
|
|
70
|
-
if (ptySession) {
|
|
71
|
-
const { cols, rows } = ptySession.pty;
|
|
72
|
-
setTimeout(() => {
|
|
73
|
-
ptySession.pty.resize(cols + 1, rows);
|
|
74
|
-
setTimeout(() => {
|
|
75
|
-
ptySession.pty.resize(cols, rows);
|
|
76
|
-
}, 100);
|
|
77
|
-
}, 300);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
62
|
+
// Ink の <Static> 再 emit を発火させる cols bump はフロントエンド (TerminalView)
|
|
63
|
+
// 側で行う。理由: ユーザー操作の window resize と同等の挙動(xterm と PTY が
|
|
64
|
+
// 同時に新サイズになる)にしたいため。サーバー側で PTY だけ resize すると xterm
|
|
65
|
+
// との dimension mismatch が発生する。
|
|
80
66
|
return reply.send({ ok: true });
|
|
81
67
|
});
|
|
82
68
|
}
|
package/package.json
CHANGED
package/scripts/monaco-editor.sh
CHANGED
|
@@ -18,12 +18,11 @@ if [ -z "$TMPFILE" ]; then
|
|
|
18
18
|
exit 1
|
|
19
19
|
fi
|
|
20
20
|
|
|
21
|
-
#
|
|
22
|
-
# vim/nano 等の通常の $EDITOR
|
|
23
|
-
#
|
|
24
|
-
#
|
|
21
|
+
# alt screen に切り替えて $EDITOR フローの間は main buffer を凍結する。
|
|
22
|
+
# vim/nano 等の通常の $EDITOR と同じ作法。これにより:
|
|
23
|
+
# - sh script の(潜在的な)出力や claude の Ink 再描画の副作用が main buffer に影響しない
|
|
24
|
+
# - sh exit 時の `\033[?1049l` で main buffer が pre-Ctrl+G 時の状態に完全復元される
|
|
25
25
|
printf '\033[?1049h'
|
|
26
|
-
# どんな経路で終了しても alt screen から確実に復帰させる
|
|
27
26
|
trap 'printf "\033[?1049l"' EXIT
|
|
28
27
|
|
|
29
28
|
# エラー報告用: alt screen から抜けてから stderr に出す
|
|
@@ -46,9 +45,6 @@ if [ -z "$SESSION_ID" ]; then
|
|
|
46
45
|
fi
|
|
47
46
|
|
|
48
47
|
# 完了までポーリング(無制限、0.1秒間隔。Ctrl+C で中断可能)
|
|
49
|
-
# 速めの polling 間隔にしているのは、Cmd+Enter Submit 後に sh が foreground PG から
|
|
50
|
-
# 抜けるまでの遅延を最小化するため(TerminalView 側の resize nudge が claude に
|
|
51
|
-
# 届くように)。
|
|
52
48
|
# レスポンスはプレーンテキスト "done" or "pending"(JSON パース不要)
|
|
53
49
|
while true; do
|
|
54
50
|
STATUS=$(curl -sf "$API_BASE/api/editor/session/$SESSION_ID" 2>/dev/null || echo "pending")
|
|
File without changes
|
|
File without changes
|
|
File without changes
|