@minimalcorp/tsunagi 0.1.13 → 0.1.15

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 (46) 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 +1 -1
  21. package/.next/standalone/apps/web/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  22. package/.next/standalone/apps/web/.next/server/app/index.segments/_full.segment.rsc +1 -1
  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/settings.html +1 -1
  27. package/.next/standalone/apps/web/.next/server/app/settings.rsc +1 -1
  28. package/.next/standalone/apps/web/.next/server/app/settings.segments/_full.segment.rsc +1 -1
  29. package/.next/standalone/apps/web/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  30. package/.next/standalone/apps/web/.next/server/app/settings.segments/_index.segment.rsc +1 -1
  31. package/.next/standalone/apps/web/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
  32. package/.next/standalone/apps/web/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +1 -1
  33. package/.next/standalone/apps/web/.next/server/app/settings.segments/settings.segment.rsc +1 -1
  34. package/.next/standalone/apps/web/.next/server/middleware-build-manifest.js +3 -3
  35. package/.next/standalone/apps/web/.next/server/pages/404.html +1 -1
  36. package/.next/standalone/apps/web/.next/server/pages/500.html +1 -1
  37. package/.next/standalone/apps/web/.next/server/server-reference-manifest.js +1 -1
  38. package/.next/standalone/apps/web/.next/server/server-reference-manifest.json +1 -1
  39. package/dist/server/basic-auth.js +5 -1
  40. package/dist/server/routes/terminal.js +6 -0
  41. package/npm-shrinkwrap.json +2 -2
  42. package/package.json +1 -1
  43. package/scripts/monaco-editor.sh +3 -1
  44. /package/.next/standalone/apps/web/.next/static/{ry8Ez0jPeeq0ioBJhqhRc → qFhYHVMFeg5UIgHeTKOgs}/_buildManifest.js +0 -0
  45. /package/.next/standalone/apps/web/.next/static/{ry8Ez0jPeeq0ioBJhqhRc → qFhYHVMFeg5UIgHeTKOgs}/_clientMiddlewareManifest.js +0 -0
  46. /package/.next/standalone/apps/web/.next/static/{ry8Ez0jPeeq0ioBJhqhRc → qFhYHVMFeg5UIgHeTKOgs}/_ssgManifest.js +0 -0
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "node": {},
3
3
  "edge": {},
4
- "encryptionKey": "FL5VMi5+JEcfVcP68dvJvy8UcQSfsMHzfZyWpPye54M="
4
+ "encryptionKey": "1Z6hFcB10ZSjjq6w4DwhDLHOgg4CSIN2qzW2JyXqtxY="
5
5
  }
@@ -11,7 +11,11 @@ import crypto from 'node:crypto';
11
11
  */
12
12
  // ローカルからのみ認証を免除する内部連携エンドポイント。外部(cloudflared)からは
13
13
  // これらであっても認証必須にする。
14
- const LOCAL_EXEMPT_PREFIXES = ['/health', '/api/hooks', '/api/internal', '/api/mcp'];
14
+ // - /api/editor: Ctrl+G で起動する monaco-editor.sh が PTY 内(=同一マシン)から
15
+ // localhost 経由で叩く。これを免除しないと Basic 認証有効時に 401 となり
16
+ // Monaco Editor が開かない。外部ブラウザからの /complete は cf ヘッダが付くため
17
+ // 引き続き認証必須。
18
+ const LOCAL_EXEMPT_PREFIXES = ['/health', '/api/hooks', '/api/internal', '/api/mcp', '/api/editor'];
15
19
  const LOOPBACK_ADDRESSES = new Set(['127.0.0.1', '::1', '::ffff:127.0.0.1']);
16
20
  export function createBasicAuth(env = process.env) {
17
21
  const user = env.TSUNAGI_BASIC_AUTH_USER;
@@ -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.13",
3
+ "version": "0.1.15",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@minimalcorp/tsunagi",
9
- "version": "0.1.13",
9
+ "version": "0.1.15",
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.13",
3
+ "version": "0.1.15",
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