@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.
- 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 +1 -1
- package/.next/standalone/apps/web/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/apps/web/.next/server/app/index.segments/_full.segment.rsc +1 -1
- 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/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/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/dist/server/basic-auth.js +5 -1
- package/dist/server/routes/terminal.js +6 -0
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
- package/scripts/monaco-editor.sh +3 -1
- /package/.next/standalone/apps/web/.next/static/{ry8Ez0jPeeq0ioBJhqhRc → qFhYHVMFeg5UIgHeTKOgs}/_buildManifest.js +0 -0
- /package/.next/standalone/apps/web/.next/static/{ry8Ez0jPeeq0ioBJhqhRc → qFhYHVMFeg5UIgHeTKOgs}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/apps/web/.next/static/{ry8Ez0jPeeq0ioBJhqhRc → qFhYHVMFeg5UIgHeTKOgs}/_ssgManifest.js +0 -0
|
@@ -11,7 +11,11 @@ import crypto from 'node:crypto';
|
|
|
11
11
|
*/
|
|
12
12
|
// ローカルからのみ認証を免除する内部連携エンドポイント。外部(cloudflared)からは
|
|
13
13
|
// これらであっても認証必須にする。
|
|
14
|
-
|
|
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);
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@minimalcorp/tsunagi",
|
|
3
|
-
"version": "0.1.
|
|
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.
|
|
9
|
+
"version": "0.1.15",
|
|
10
10
|
"license": "SEE LICENSE IN LICENSE",
|
|
11
11
|
"os": [
|
|
12
12
|
"darwin",
|
package/package.json
CHANGED
package/scripts/monaco-editor.sh
CHANGED
|
@@ -11,7 +11,9 @@
|
|
|
11
11
|
set -e
|
|
12
12
|
|
|
13
13
|
TMPFILE="$1"
|
|
14
|
-
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|