@hua-labs/tap 0.4.2 → 0.5.1
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/README.md +34 -85
- package/dist/bridges/codex-app-server-auth-gateway.mjs +23 -4
- package/dist/bridges/codex-app-server-auth-gateway.mjs.map +1 -1
- package/dist/bridges/codex-app-server-bridge.d.mts +12 -0
- package/dist/bridges/codex-app-server-bridge.mjs +84 -41
- package/dist/bridges/codex-app-server-bridge.mjs.map +1 -1
- package/dist/bridges/codex-bridge-runner.d.mts +2 -1
- package/dist/bridges/codex-bridge-runner.mjs +25 -3
- package/dist/bridges/codex-bridge-runner.mjs.map +1 -1
- package/dist/bridges/gemini-ide-companion-runner.mjs +28 -21973
- package/dist/bridges/gemini-ide-companion-runner.mjs.map +1 -1
- package/dist/cli.mjs +2245 -716
- package/dist/cli.mjs.map +1 -1
- package/dist/index.d.mts +59 -1
- package/dist/index.mjs +5668 -26544
- package/dist/index.mjs.map +1 -1
- package/dist/mcp-server.mjs +1483 -21479
- package/dist/mcp-server.mjs.map +1 -1
- package/package.json +6 -3
|
@@ -8,5 +8,6 @@ interface BridgeScriptArgsOptions {
|
|
|
8
8
|
}
|
|
9
9
|
declare function resolveBridgeDaemonScript(repoRoot: string, runnerUrl?: string, fileExists?: (candidate: string) => boolean): string | null;
|
|
10
10
|
declare function buildBridgeScriptArgs(scriptPath: string, options: BridgeScriptArgsOptions): string[];
|
|
11
|
+
declare function buildBridgeDaemonEnv(parentEnv: NodeJS.ProcessEnv, runtimeEnv: NodeJS.ProcessEnv): NodeJS.ProcessEnv;
|
|
11
12
|
|
|
12
|
-
export { buildBridgeScriptArgs, resolveBridgeDaemonScript };
|
|
13
|
+
export { buildBridgeDaemonEnv, buildBridgeScriptArgs, resolveBridgeDaemonScript };
|
|
@@ -1142,6 +1142,12 @@ function buildBridgeScriptArgs(scriptPath, options) {
|
|
|
1142
1142
|
}
|
|
1143
1143
|
return args;
|
|
1144
1144
|
}
|
|
1145
|
+
function buildBridgeDaemonEnv(parentEnv, runtimeEnv) {
|
|
1146
|
+
return {
|
|
1147
|
+
...parentEnv,
|
|
1148
|
+
...runtimeEnv
|
|
1149
|
+
};
|
|
1150
|
+
}
|
|
1145
1151
|
async function main() {
|
|
1146
1152
|
const repoRootHint = findRepoRootFromRunner() ?? void 0;
|
|
1147
1153
|
const { config } = resolveConfig({}, repoRootHint);
|
|
@@ -1156,8 +1162,22 @@ async function main() {
|
|
|
1156
1162
|
Number.isFinite(instancePort) ? instancePort : void 0
|
|
1157
1163
|
);
|
|
1158
1164
|
const instanceId = process.env.TAP_BRIDGE_INSTANCE_ID;
|
|
1159
|
-
const envStateDir = process.env.
|
|
1160
|
-
|
|
1165
|
+
const envStateDir = process.env.TAP_RUNTIME_STATE_DIR;
|
|
1166
|
+
let stateDir;
|
|
1167
|
+
if (envStateDir) {
|
|
1168
|
+
stateDir = envStateDir;
|
|
1169
|
+
} else if (instanceId) {
|
|
1170
|
+
const resolved2 = path7.resolve(
|
|
1171
|
+
path7.join(repoRoot, ".tmp", `codex-app-server-bridge-${instanceId}`)
|
|
1172
|
+
);
|
|
1173
|
+
const expectedBase = path7.resolve(repoRoot, ".tmp") + path7.sep;
|
|
1174
|
+
if (!resolved2.startsWith(expectedBase)) {
|
|
1175
|
+
throw new Error(
|
|
1176
|
+
`Path traversal blocked: runtime state dir escapes .tmp/ directory`
|
|
1177
|
+
);
|
|
1178
|
+
}
|
|
1179
|
+
stateDir = resolved2;
|
|
1180
|
+
}
|
|
1161
1181
|
const preResolved = process.env.TAP_RESOLVED_NODE;
|
|
1162
1182
|
const resolved = preResolved ? {
|
|
1163
1183
|
command: preResolved,
|
|
@@ -1203,9 +1223,10 @@ Expected a packaged dist/bridges/codex-app-server-bridge.mjs or monorepo bridge
|
|
|
1203
1223
|
if (process.env.TAP_PROCESS_EXISTING === "true")
|
|
1204
1224
|
args.push("--process-existing-messages");
|
|
1205
1225
|
const runtimeEnv = buildRuntimeEnv(repoRoot);
|
|
1226
|
+
const daemonEnv = buildBridgeDaemonEnv(process.env, runtimeEnv);
|
|
1206
1227
|
const child = spawn(command, args, {
|
|
1207
1228
|
cwd: repoRoot,
|
|
1208
|
-
env:
|
|
1229
|
+
env: daemonEnv,
|
|
1209
1230
|
stdio: "inherit"
|
|
1210
1231
|
});
|
|
1211
1232
|
maybeStartHeadlessLoop(repoRoot, commsDir, stateDir);
|
|
@@ -1233,6 +1254,7 @@ if (isDirectExecution()) {
|
|
|
1233
1254
|
});
|
|
1234
1255
|
}
|
|
1235
1256
|
export {
|
|
1257
|
+
buildBridgeDaemonEnv,
|
|
1236
1258
|
buildBridgeScriptArgs,
|
|
1237
1259
|
resolveBridgeDaemonScript
|
|
1238
1260
|
};
|