@minimalcorp/tsunagi 0.1.12 → 0.1.14

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.
Files changed (54) hide show
  1. package/.next/standalone/apps/web/.next/BUILD_ID +1 -1
  2. package/.next/standalone/apps/web/.next/build-manifest.json +3 -3
  3. package/.next/standalone/apps/web/.next/prerender-manifest.json +3 -3
  4. package/.next/standalone/apps/web/.next/server/app/_global-error.html +1 -1
  5. package/.next/standalone/apps/web/.next/server/app/_global-error.rsc +1 -1
  6. package/.next/standalone/apps/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  7. package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  8. package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  9. package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  10. package/.next/standalone/apps/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  11. package/.next/standalone/apps/web/.next/server/app/_not-found.html +1 -1
  12. package/.next/standalone/apps/web/.next/server/app/_not-found.rsc +1 -1
  13. package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  14. package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  15. package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  16. package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  17. package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  18. package/.next/standalone/apps/web/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  19. package/.next/standalone/apps/web/.next/server/app/index.html +1 -1
  20. package/.next/standalone/apps/web/.next/server/app/index.rsc +2 -2
  21. package/.next/standalone/apps/web/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  22. package/.next/standalone/apps/web/.next/server/app/index.segments/_full.segment.rsc +2 -2
  23. package/.next/standalone/apps/web/.next/server/app/index.segments/_head.segment.rsc +1 -1
  24. package/.next/standalone/apps/web/.next/server/app/index.segments/_index.segment.rsc +1 -1
  25. package/.next/standalone/apps/web/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  26. package/.next/standalone/apps/web/.next/server/app/page_client-reference-manifest.js +1 -1
  27. package/.next/standalone/apps/web/.next/server/app/settings.html +1 -1
  28. package/.next/standalone/apps/web/.next/server/app/settings.rsc +1 -1
  29. package/.next/standalone/apps/web/.next/server/app/settings.segments/_full.segment.rsc +1 -1
  30. package/.next/standalone/apps/web/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  31. package/.next/standalone/apps/web/.next/server/app/settings.segments/_index.segment.rsc +1 -1
  32. package/.next/standalone/apps/web/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
  33. package/.next/standalone/apps/web/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
  34. package/.next/standalone/apps/web/.next/server/app/settings.segments/settings.segment.rsc +1 -1
  35. package/.next/standalone/apps/web/.next/server/app/tasks/[id]/page_client-reference-manifest.js +1 -1
  36. package/.next/standalone/apps/web/.next/server/chunks/ssr/[root-of-the-server]__05isylw._.js +2 -2
  37. package/.next/standalone/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0ro8-ey._.js +2 -2
  38. package/.next/standalone/apps/web/.next/server/chunks/ssr/_0g.cd6a._.js +1 -1
  39. package/.next/standalone/apps/web/.next/server/middleware-build-manifest.js +3 -3
  40. package/.next/standalone/apps/web/.next/server/pages/404.html +1 -1
  41. package/.next/standalone/apps/web/.next/server/pages/500.html +1 -1
  42. package/.next/standalone/apps/web/.next/server/server-reference-manifest.js +1 -1
  43. package/.next/standalone/apps/web/.next/server/server-reference-manifest.json +1 -1
  44. package/.next/standalone/apps/web/.next/static/chunks/{0kzrcfsni_2f9.js → 0092f2_1y376d.js} +2 -2
  45. package/.next/standalone/apps/web/.next/static/chunks/{17q4rvh.ble7w.js → 03lw1.jf3nzsp.js} +1 -1
  46. package/.next/standalone/apps/web/.next/static/chunks/{03gclil1~.ilq.js → 160s33.o3y2-d.js} +2 -2
  47. package/dist/server/index.js +6 -3
  48. package/dist/server/routes/terminal.js +6 -0
  49. package/npm-shrinkwrap.json +2 -2
  50. package/package.json +1 -1
  51. package/scripts/monaco-editor.sh +3 -1
  52. /package/.next/standalone/apps/web/.next/static/{S4tLe0s5NkjIVwap9QUdY → l2NiI3NMOwCnlAVOPpX6M}/_buildManifest.js +0 -0
  53. /package/.next/standalone/apps/web/.next/static/{S4tLe0s5NkjIVwap9QUdY → l2NiI3NMOwCnlAVOPpX6M}/_clientMiddlewareManifest.js +0 -0
  54. /package/.next/standalone/apps/web/.next/static/{S4tLe0s5NkjIVwap9QUdY → l2NiI3NMOwCnlAVOPpX6M}/_ssgManifest.js +0 -0
@@ -53,10 +53,13 @@ async function start() {
53
53
  });
54
54
  }
55
55
  const io = new SocketIOServer(fastify.server, {
56
- transports: ['websocket'],
56
+ // polling を許可しておく。iOS Safari/Chrome(WebKit) は Basic 認証のキャッシュ
57
+ // 資格情報を WebSocket ハンドシェイクには付与しない既知の挙動があり、WS のみだと
58
+ // 認証付き公開時に iOS 端末から接続できず "connecting..." のまま固まる。polling は
59
+ // XHR なので Authorization が乗り、認証を通過できる(デスクトップは WS に自動昇格)。
60
+ transports: ['polling', 'websocket'],
57
61
  cors: { origin: corsOrigins },
58
- // Basic 認証(有効時)。WS ハンドシェイクの Authorization をブラウザがキャッシュ
59
- // 済み認証情報として送るため、ここで検証する。
62
+ // Basic 認証(有効時)。polling は XHR、WS はハンドシェイクの Authorization を検証する。
60
63
  allowRequest: basicAuth
61
64
  ? (req, callback) => callback(null, basicAuth.isAuthorized(req.headers, req.url, req.socket.remoteAddress))
62
65
  : undefined,
@@ -5,6 +5,9 @@ import { ptyManager } from '../pty-manager.js';
5
5
  import { prisma } from '../lib/db.js';
6
6
  // サーバーはプロジェクトルートから起動されるため process.cwd() でルートを取得
7
7
  const TSUNAGI_EDITOR_PATH = path.resolve(process.cwd(), 'scripts/monaco-editor.sh');
8
+ // Fastify(API) の公開ポート。index.ts と同じ既定値。monaco-editor.sh など PTY 内の
9
+ // プロセスが API を叩く際の同一ホスト向けベース URL に使う。
10
+ const SERVER_PORT = Number(process.env.PORT) || 2791;
8
11
  export async function terminalRoutes(fastify) {
9
12
  const io = fastify.io;
10
13
  // socket.io イベントハンドラ
@@ -190,6 +193,9 @@ export async function terminalRoutes(fastify) {
190
193
  const tsunagiDefaultEnv = {
191
194
  EDITOR: TSUNAGI_EDITOR_PATH,
192
195
  TSUNAGI_SESSION_ID: sessionId,
196
+ // monaco-editor.sh が API(Fastify) を叩くためのベース URL。サーバーと同一
197
+ // ホストなので localhost。単一ポート化で API は SERVER_PORT(既定 2791)。
198
+ TSUNAGI_API_BASE: `http://localhost:${SERVER_PORT}`,
193
199
  };
194
200
  const mergedEnv = { ...tsunagiDefaultEnv, ...globalEnv, ...env };
195
201
  const session = ptyManager.createSession(sessionId, workingDir, mergedEnv);
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@minimalcorp/tsunagi",
3
- "version": "0.1.12",
3
+ "version": "0.1.14",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@minimalcorp/tsunagi",
9
- "version": "0.1.12",
9
+ "version": "0.1.14",
10
10
  "license": "SEE LICENSE IN LICENSE",
11
11
  "os": [
12
12
  "darwin",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@minimalcorp/tsunagi",
3
- "version": "0.1.12",
3
+ "version": "0.1.14",
4
4
  "description": "Multi-repo GitHub project management with Claude AI integration, designed for visualizing and controlling AI-driven development locally.",
5
5
  "keywords": [
6
6
  "tsunagi",
@@ -11,7 +11,9 @@
11
11
  set -e
12
12
 
13
13
  TMPFILE="$1"
14
- API_BASE="http://localhost:2792"
14
+ # API ベース URL は PTY 生成時に terminal.ts が注入する(TSUNAGI_API_BASE)。
15
+ # 未設定時は単一ポート構成の Fastify 既定ポート(2791)へフォールバック。
16
+ API_BASE="${TSUNAGI_API_BASE:-http://localhost:2791}"
15
17
 
16
18
  if [ -z "$TMPFILE" ]; then
17
19
  echo "Usage: monaco-editor.sh <tmpfile>" >&2