@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.
- 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 +2 -2
- package/.next/standalone/apps/web/.next/server/chunks/ssr/[root-of-the-server]__0ro8-ey._.js +2 -2
- package/.next/standalone/apps/web/.next/server/chunks/ssr/_0g.cd6a._.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/{0kzrcfsni_2f9.js → 0092f2_1y376d.js} +2 -2
- package/.next/standalone/apps/web/.next/static/chunks/{17q4rvh.ble7w.js → 03lw1.jf3nzsp.js} +1 -1
- package/.next/standalone/apps/web/.next/static/chunks/{03gclil1~.ilq.js → 160s33.o3y2-d.js} +2 -2
- package/dist/server/index.js +6 -3
- 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/{S4tLe0s5NkjIVwap9QUdY → l2NiI3NMOwCnlAVOPpX6M}/_buildManifest.js +0 -0
- /package/.next/standalone/apps/web/.next/static/{S4tLe0s5NkjIVwap9QUdY → l2NiI3NMOwCnlAVOPpX6M}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/apps/web/.next/static/{S4tLe0s5NkjIVwap9QUdY → l2NiI3NMOwCnlAVOPpX6M}/_ssgManifest.js +0 -0
package/dist/server/index.js
CHANGED
|
@@ -53,10 +53,13 @@ async function start() {
|
|
|
53
53
|
});
|
|
54
54
|
}
|
|
55
55
|
const io = new SocketIOServer(fastify.server, {
|
|
56
|
-
|
|
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
|
|
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);
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@minimalcorp/tsunagi",
|
|
3
|
-
"version": "0.1.
|
|
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.
|
|
9
|
+
"version": "0.1.14",
|
|
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
|