botmux 3.18.3 → 3.18.4
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/dist/.runtime-build-id +1 -1
- package/dist/adapters/hook-installer.d.ts.map +1 -1
- package/dist/adapters/hook-installer.js +75 -2
- package/dist/adapters/hook-installer.js.map +1 -1
- package/dist/cli/current-actor.d.ts.map +1 -1
- package/dist/cli/current-actor.js +2 -1
- package/dist/cli/current-actor.js.map +1 -1
- package/dist/cli/dashboard-endpoint.d.ts.map +1 -1
- package/dist/cli/dashboard-endpoint.js +5 -2
- package/dist/cli/dashboard-endpoint.js.map +1 -1
- package/dist/cli/exact-chat-grant-client.d.ts.map +1 -1
- package/dist/cli/exact-chat-grant-client.js +2 -1
- package/dist/cli/exact-chat-grant-client.js.map +1 -1
- package/dist/cli/vc-agent.d.ts.map +1 -1
- package/dist/cli/vc-agent.js +2 -1
- package/dist/cli/vc-agent.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +7 -6
- package/dist/cli.js.map +1 -1
- package/dist/core/daemon-ipc-auth.d.ts +9 -1
- package/dist/core/daemon-ipc-auth.d.ts.map +1 -1
- package/dist/core/daemon-ipc-auth.js +14 -3
- package/dist/core/daemon-ipc-auth.js.map +1 -1
- package/dist/core/loopback-fetch.d.ts +59 -0
- package/dist/core/loopback-fetch.d.ts.map +1 -0
- package/dist/core/loopback-fetch.js +347 -0
- package/dist/core/loopback-fetch.js.map +1 -0
- package/dist/core/managed-origin-attestation.d.ts.map +1 -1
- package/dist/core/managed-origin-attestation.js +2 -1
- package/dist/core/managed-origin-attestation.js.map +1 -1
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +2 -1
- package/dist/daemon.js.map +1 -1
- package/dist/dashboard/aggregator.d.ts.map +1 -1
- package/dist/dashboard/aggregator.js +2 -1
- package/dist/dashboard/aggregator.js.map +1 -1
- package/dist/dashboard/daemon-internal-client.d.ts.map +1 -1
- package/dist/dashboard/daemon-internal-client.js +6 -1
- package/dist/dashboard/daemon-internal-client.js.map +1 -1
- package/dist/dashboard/groups-action-helpers.d.ts +0 -10
- package/dist/dashboard/groups-action-helpers.d.ts.map +1 -1
- package/dist/dashboard/groups-action-helpers.js +3 -2
- package/dist/dashboard/groups-action-helpers.js.map +1 -1
- package/dist/dashboard.js +2 -1
- package/dist/dashboard.js.map +1 -1
- package/dist/services/hook-runner.d.ts.map +1 -1
- package/dist/services/hook-runner.js +2 -1
- package/dist/services/hook-runner.js.map +1 -1
- package/dist/services/voice/openai.d.ts.map +1 -1
- package/dist/services/voice/openai.js +10 -1
- package/dist/services/voice/openai.js.map +1 -1
- package/dist/services/worktree-slug-ai.d.ts.map +1 -1
- package/dist/services/worktree-slug-ai.js +8 -1
- package/dist/services/worktree-slug-ai.js.map +1 -1
- package/dist/workflows/v3/daemon-ipc-client.d.ts.map +1 -1
- package/dist/workflows/v3/daemon-ipc-client.js +2 -1
- package/dist/workflows/v3/daemon-ipc-client.js.map +1 -1
- package/dist/workflows/v3/session-relay-client.d.ts.map +1 -1
- package/dist/workflows/v3/session-relay-client.js +2 -1
- package/dist/workflows/v3/session-relay-client.js.map +1 -1
- package/package.json +8 -7
- package/scripts/install-path-entry.mjs +263 -0
- package/scripts/postinstall-bin.mjs +41 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook-runner.d.ts","sourceRoot":"","sources":["../../src/services/hook-runner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hook-runner.d.ts","sourceRoot":"","sources":["../../src/services/hook-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ import { logger } from '../utils/logger.js';
|
|
|
7
7
|
import { fetchDaemonIpc, loadDaemonIpcSecret } from '../core/daemon-ipc-auth.js';
|
|
8
8
|
import { resolveSessionContext } from '../core/session-marker.js';
|
|
9
9
|
import { readManagedOriginCapability } from '../core/managed-origin-capability.js';
|
|
10
|
+
import { loopbackFetch } from '../core/loopback-fetch.js';
|
|
10
11
|
export const HOOK_EVENTS = [
|
|
11
12
|
'topic.new',
|
|
12
13
|
'thread.reply',
|
|
@@ -439,7 +440,7 @@ export async function forwardEmitToDaemon(event, payload, larkAppId, managedOrig
|
|
|
439
440
|
catch { /* Seatbelt/read-isolated CLI */ }
|
|
440
441
|
const res = secret
|
|
441
442
|
? await fetchDaemonIpc(ipcPort, '/api/hooks/emit', request, secret)
|
|
442
|
-
: await
|
|
443
|
+
: await loopbackFetch(`http://127.0.0.1:${ipcPort}/api/hooks/emit`, request);
|
|
443
444
|
if (!res.ok) {
|
|
444
445
|
logger.warn(`[hooks] CLI forward ${event} → daemon: HTTP ${res.status}`);
|
|
445
446
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook-runner.js","sourceRoot":"","sources":["../../src/services/hook-runner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hook-runner.js","sourceRoot":"","sources":["../../src/services/hook-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../../src/services/voice/openai.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../../src/services/voice/openai.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAC;AAG5D,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAID,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,eAAe,EACrB,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,GAAG,CAAC,CA+Cd"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { isLoopbackUrl, loopbackFetch } from '../../core/loopback-fetch.js';
|
|
1
2
|
const OPENAI_PCM_SR = 24000; // OpenAI /audio/speech pcm output is 24kHz s16le mono
|
|
2
3
|
export async function openaiSynthesizePcm(cfg, text, opts, effects = {}) {
|
|
3
4
|
const clean = text.trim();
|
|
@@ -18,7 +19,15 @@ export async function openaiSynthesizePcm(cfg, text, opts, effects = {}) {
|
|
|
18
19
|
const timer = setTimeout(() => controller.abort(), opts.timeoutMs ?? 60000);
|
|
19
20
|
try {
|
|
20
21
|
await effects.beforeProviderEffect?.();
|
|
21
|
-
|
|
22
|
+
// A self-hosted endpoint is the documented case here (the config hint literally
|
|
23
|
+
// suggests `http://127.0.0.1:8880/v1`), and this request carries the API key.
|
|
24
|
+
// Under Bun the global fetch proxies 127.0.0.1 whenever `no_proxy` does not name
|
|
25
|
+
// that literal address — measured: the `Authorization: Bearer …` header arrived
|
|
26
|
+
// at the proxy and the call failed with the proxy's 403. Dispatch on the resolved
|
|
27
|
+
// URL so a local endpoint bypasses the proxy while a remote one still gets the
|
|
28
|
+
// native fetch (TLS, redirects, real proxying).
|
|
29
|
+
const send = isLoopbackUrl(url) ? loopbackFetch : fetch;
|
|
30
|
+
const res = await send(url, {
|
|
22
31
|
method: 'POST',
|
|
23
32
|
headers: {
|
|
24
33
|
'Content-Type': 'application/json',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../../src/services/voice/openai.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../../src/services/voice/openai.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worktree-slug-ai.d.ts","sourceRoot":"","sources":["../../src/services/worktree-slug-ai.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"worktree-slug-ai.d.ts","sourceRoot":"","sources":["../../src/services/worktree-slug-ai.ts"],"names":[],"mappings":"AAoCA,wBAAgB,4BAA4B,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAErG;AAED,wBAAsB,yBAAyB,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAiDjH"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { config } from '../config.js';
|
|
2
2
|
import { logger } from '../utils/logger.js';
|
|
3
3
|
import { slugFromWorktreeText } from './git-worktree.js';
|
|
4
|
+
import { isLoopbackUrl, loopbackFetch } from '../core/loopback-fetch.js';
|
|
4
5
|
const SYSTEM_PROMPT = `You generate short, stable git branch slugs for coding tasks.
|
|
5
6
|
Return ONLY one lowercase ASCII slug, no markdown, no quotes.
|
|
6
7
|
Rules:
|
|
@@ -44,7 +45,13 @@ export async function worktreeSlugFromContextAI(title, firstPrompt) {
|
|
|
44
45
|
return fallback;
|
|
45
46
|
try {
|
|
46
47
|
const url = `${c.baseUrl.replace(/\/+$/, '')}/chat/completions`;
|
|
47
|
-
|
|
48
|
+
// Same hazard as the self-hosted TTS endpoint: `baseUrl` is user-configured and
|
|
49
|
+
// may well be a local model, while this request carries `Authorization: Bearer`.
|
|
50
|
+
// Under Bun the global fetch proxies 127.0.0.1 unless `no_proxy` names that
|
|
51
|
+
// literal address — measured with a canary, the token reached the proxy and the
|
|
52
|
+
// call then fell back silently. Dispatch on the resolved URL; remote stays native.
|
|
53
|
+
const send = isLoopbackUrl(url) ? loopbackFetch : fetch;
|
|
54
|
+
const resp = await send(url, {
|
|
48
55
|
method: 'POST',
|
|
49
56
|
headers: {
|
|
50
57
|
'Content-Type': 'application/json',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worktree-slug-ai.js","sourceRoot":"","sources":["../../src/services/worktree-slug-ai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"worktree-slug-ai.js","sourceRoot":"","sources":["../../src/services/worktree-slug-ai.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon-ipc-client.d.ts","sourceRoot":"","sources":["../../../src/workflows/v3/daemon-ipc-client.ts"],"names":[],"mappings":"AAAA,oEAAoE;AAEpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"daemon-ipc-client.d.ts","sourceRoot":"","sources":["../../../src/workflows/v3/daemon-ipc-client.ts"],"names":[],"mappings":"AAAA,oEAAoE;AAEpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAExE,OAAO,EAML,KAAK,uBAAuB,EAC7B,MAAM,sBAAsB,CAAC;AAE9B,MAAM,MAAM,sBAAsB,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;AAE5E,MAAM,WAAW,8BAA8B;IAC7C,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,oCAAqC,SAAQ,KAAK;aAChB,UAAU,CAAC,EAAE,OAAO;gBAArD,OAAO,EAAE,MAAM,EAAkB,UAAU,CAAC,EAAE,OAAO,YAAA;CAIlE;AAED,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,IAAI,CACV,gBAAgB,EAChB,WAAW,GAAG,SAAS,GAAG,gBAAgB,GAAG,qBAAqB,CACnE,GACA,uBAAuB,CAWzB;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,sBAAsB,GAC/B,MAAM,CAER;AAED;;;;GAIG;AACH,wBAAsB,0BAA0B,CAAC,KAAK,EAAE;IACtD,MAAM,EAAE,IAAI,CACV,gBAAgB,EAChB,WAAW,GAAG,SAAS,GAAG,gBAAgB,GAAG,qBAAqB,CACnE,CAAC;IACF,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,sBAAsB,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAgD1C"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/** Shared client for authenticated Workflow v3 daemon mutations. */
|
|
2
|
+
import { loopbackFetchImpl } from '../../core/loopback-fetch.js';
|
|
2
3
|
import { generateWorkflowDaemonIpcNonce, loadWorkflowDaemonIpcSecret, WORKFLOW_DAEMON_IPC_ROUTE_PREFIX, verifyWorkflowDaemonIpcResponse, workflowDaemonIpcHeaders, } from './daemon-ipc-auth.js';
|
|
3
4
|
export class WorkflowDaemonMutationTransportError extends Error {
|
|
4
5
|
causeValue;
|
|
@@ -42,7 +43,7 @@ export async function postWorkflowDaemonMutation(input) {
|
|
|
42
43
|
timestamp,
|
|
43
44
|
nonce,
|
|
44
45
|
});
|
|
45
|
-
const fetchImpl = input.fetchImpl ??
|
|
46
|
+
const fetchImpl = input.fetchImpl ?? loopbackFetchImpl;
|
|
46
47
|
let response;
|
|
47
48
|
try {
|
|
48
49
|
response = await fetchImpl(`http://127.0.0.1:${target.ipcPort}${pathWithQuery}`, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon-ipc-client.js","sourceRoot":"","sources":["../../../src/workflows/v3/daemon-ipc-client.ts"],"names":[],"mappings":"AAAA,oEAAoE;AAGpE,OAAO,EACL,8BAA8B,EAC9B,2BAA2B,EAC3B,gCAAgC,EAChC,+BAA+B,EAC/B,wBAAwB,GAEzB,MAAM,sBAAsB,CAAC;AAU9B,MAAM,OAAO,oCAAqC,SAAQ,KAAK;IAChB;IAA7C,YAAY,OAAe,EAAkB,UAAoB;QAC/D,KAAK,CAAC,OAAO,CAAC,CAAC;QAD4B,eAAU,GAAV,UAAU,CAAU;QAE/D,IAAI,CAAC,IAAI,GAAG,sCAAsC,CAAC;IACrD,CAAC;CACF;AAED,MAAM,UAAU,4BAA4B,CAC1C,MAGC;IAED,IAAI,MAAM,CAAC,mBAAmB,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;QAClE,MAAM,IAAI,oCAAoC,CAC5C,UAAU,MAAM,CAAC,SAAS,8CAA8C,CACzE,CAAC;IACJ,CAAC;IACD,OAAO;QACL,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,cAAc,EAAE,MAAM,CAAC,cAAc;KACtC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,KAAa,EACb,QAAgC;IAEhC,OAAO,GAAG,gCAAgC,IAAI,kBAAkB,CAAC,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC;AACxF,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,KAahD;IACC,MAAM,MAAM,GAAG,4BAA4B,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,2BAA2B,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC7E,MAAM,aAAa,GAAG,0BAA0B,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC9E,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,8BAA8B,EAAE,CAAC;IAC9D,MAAM,OAAO,GAAG,wBAAwB,CAAC;QACvC,MAAM;QACN,MAAM,EAAE,MAAM;QACd,aAAa;QACb,OAAO;QACP,MAAM;QACN,SAAS;QACT,KAAK;KACN,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,
|
|
1
|
+
{"version":3,"file":"daemon-ipc-client.js","sourceRoot":"","sources":["../../../src/workflows/v3/daemon-ipc-client.ts"],"names":[],"mappings":"AAAA,oEAAoE;AAGpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EACL,8BAA8B,EAC9B,2BAA2B,EAC3B,gCAAgC,EAChC,+BAA+B,EAC/B,wBAAwB,GAEzB,MAAM,sBAAsB,CAAC;AAU9B,MAAM,OAAO,oCAAqC,SAAQ,KAAK;IAChB;IAA7C,YAAY,OAAe,EAAkB,UAAoB;QAC/D,KAAK,CAAC,OAAO,CAAC,CAAC;QAD4B,eAAU,GAAV,UAAU,CAAU;QAE/D,IAAI,CAAC,IAAI,GAAG,sCAAsC,CAAC;IACrD,CAAC;CACF;AAED,MAAM,UAAU,4BAA4B,CAC1C,MAGC;IAED,IAAI,MAAM,CAAC,mBAAmB,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;QAClE,MAAM,IAAI,oCAAoC,CAC5C,UAAU,MAAM,CAAC,SAAS,8CAA8C,CACzE,CAAC;IACJ,CAAC;IACD,OAAO;QACL,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,cAAc,EAAE,MAAM,CAAC,cAAc;KACtC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,KAAa,EACb,QAAgC;IAEhC,OAAO,GAAG,gCAAgC,IAAI,kBAAkB,CAAC,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC;AACxF,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,KAahD;IACC,MAAM,MAAM,GAAG,4BAA4B,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,2BAA2B,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC7E,MAAM,aAAa,GAAG,0BAA0B,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC9E,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,8BAA8B,EAAE,CAAC;IAC9D,MAAM,OAAO,GAAG,wBAAwB,CAAC;QACvC,MAAM;QACN,MAAM,EAAE,MAAM;QACd,aAAa;QACb,OAAO;QACP,MAAM;QACN,SAAS;QACT,KAAK;KACN,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,iBAAiB,CAAC;IACvD,IAAI,QAAkB,CAAC;IACvB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,SAAS,CAAC,oBAAoB,MAAM,CAAC,OAAO,GAAG,aAAa,EAAE,EAAE;YAC/E,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,GAAG,OAAO,EAAE;YAC3D,IAAI,EAAE,OAAO;SACd,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,oCAAoC,CAC5C,qBAAqB,MAAM,CAAC,OAAO,MAAM,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAC3F,GAAG,CACJ,CAAC;IACJ,CAAC;IACD,MAAM,eAAe,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC9C,MAAM,iBAAiB,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IAC3F,IAAI,CAAC,+BAA+B,CAAC;QACnC,MAAM;QACN,YAAY,EAAE,KAAK;QACnB,MAAM,EAAE,MAAM;QACd,aAAa;QACb,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,IAAI,EAAE,eAAe;QACrB,MAAM;QACN,SAAS,EAAE,iBAAiB;KAC7B,CAAC,EAAE,CAAC;QACH,MAAM,IAAI,oCAAoC,CAC5C,sDAAsD;YACtD,2BAA2B,CAC5B,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;AAChF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-relay-client.d.ts","sourceRoot":"","sources":["../../../src/workflows/v3/session-relay-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EACL,2BAA2B,EAC5B,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,KAAK,EAAE,sBAAsB,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"session-relay-client.d.ts","sourceRoot":"","sources":["../../../src/workflows/v3/session-relay-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EACL,2BAA2B,EAC5B,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,KAAK,EAAE,sBAAsB,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AAKrG,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,+BAA+B,CAAC,OAAO,EAAE;IACvD,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB;IAClB,SAAS,CAAC,EAAE,OAAO,2BAA2B,CAAC;IAC/C,UAAU,CAAC,EAAE,OAAO,0BAA0B,CAAC;CAChD,GAAG,2BAA2B,GAAG,IAAI,CAgCrC;AAED;;;;GAIG;AACH,wBAAsB,8BAA8B,CAAC,KAAK,EAAE;IAC1D,OAAO,EAAE,2BAA2B,CAAC;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,sBAAsB,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,8EAA8E;IAC9E,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,KAAK,MAAM,GAAG,SAAS,CAAC;IACvE,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAqC1C"}
|
|
@@ -16,6 +16,7 @@ import { readManagedOriginCapability, } from '../../core/managed-origin-capabili
|
|
|
16
16
|
import { findAncestorSessionContext } from '../../core/session-marker.js';
|
|
17
17
|
import { WorkflowDaemonMutationTransportError } from './daemon-ipc-client.js';
|
|
18
18
|
import { V3_SESSION_RUN_MUTATION_ROUTE_PREFIX } from './session-relay.js';
|
|
19
|
+
import { loopbackFetchImpl } from '../../core/loopback-fetch.js';
|
|
19
20
|
/**
|
|
20
21
|
* Detect an isolated session and load its per-turn capability.
|
|
21
22
|
*
|
|
@@ -83,7 +84,7 @@ export async function postWorkflowSessionRunMutation(input) {
|
|
|
83
84
|
? { originDispatchAttempt: input.context.dispatchAttempt }
|
|
84
85
|
: {}),
|
|
85
86
|
});
|
|
86
|
-
const fetchImpl = input.fetchImpl ??
|
|
87
|
+
const fetchImpl = input.fetchImpl ?? loopbackFetchImpl;
|
|
87
88
|
let response;
|
|
88
89
|
try {
|
|
89
90
|
response = await fetchImpl(`http://127.0.0.1:${ipcPort}${path}`, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-relay-client.js","sourceRoot":"","sources":["../../../src/workflows/v3/session-relay-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EACL,2BAA2B,GAC5B,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE1E,OAAO,EAAE,oCAAoC,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,oCAAoC,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"session-relay-client.js","sourceRoot":"","sources":["../../../src/workflows/v3/session-relay-client.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "botmux",
|
|
3
|
-
"version": "3.18.
|
|
3
|
+
"version": "3.18.4",
|
|
4
4
|
"description": "Bridge between IM platforms and AI coding CLIs — one topic, one CLI session with live streaming",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index-daemon.js",
|
|
7
7
|
"files": [
|
|
8
8
|
"dist/",
|
|
9
9
|
"scripts/postinstall-bin.mjs",
|
|
10
|
+
"scripts/install-path-entry.mjs",
|
|
10
11
|
"ecosystem.config.cjs",
|
|
11
12
|
"README.md",
|
|
12
13
|
"README.en.md",
|
|
@@ -79,12 +80,12 @@
|
|
|
79
80
|
},
|
|
80
81
|
"optionalDependencies": {
|
|
81
82
|
"@napi-rs/canvas": "^0.1.65",
|
|
82
|
-
"botmux-darwin-arm64": "3.18.
|
|
83
|
-
"botmux-darwin-x64": "3.18.
|
|
84
|
-
"botmux-linux-arm64": "3.18.
|
|
85
|
-
"botmux-linux-arm64-musl": "3.18.
|
|
86
|
-
"botmux-linux-x64": "3.18.
|
|
87
|
-
"botmux-linux-x64-musl": "3.18.
|
|
83
|
+
"botmux-darwin-arm64": "3.18.4",
|
|
84
|
+
"botmux-darwin-x64": "3.18.4",
|
|
85
|
+
"botmux-linux-arm64": "3.18.4",
|
|
86
|
+
"botmux-linux-arm64-musl": "3.18.4",
|
|
87
|
+
"botmux-linux-x64": "3.18.4",
|
|
88
|
+
"botmux-linux-x64-musl": "3.18.4"
|
|
88
89
|
},
|
|
89
90
|
"devDependencies": {
|
|
90
91
|
"@midscene/web": "^1.7.6",
|
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Put `~/.botmux/bin` on the user's PATH by writing their shell's startup file.
|
|
3
|
+
*
|
|
4
|
+
* WHY THIS EXISTS
|
|
5
|
+
* `npm i -g botmux` has no `bin` field (removed with the Node fallback — see
|
|
6
|
+
* postinstall-bin.mjs), so the ONLY `botmux` command is the launcher written to
|
|
7
|
+
* `~/.botmux/bin/botmux`. If that directory is not on PATH, a successful install
|
|
8
|
+
* still leaves the user with `botmux: command not found`.
|
|
9
|
+
*
|
|
10
|
+
* Both installers used to just PRINT a hint, and the hint was:
|
|
11
|
+
*
|
|
12
|
+
* echo 'export PATH="…"' >> ~/.profile
|
|
13
|
+
*
|
|
14
|
+
* which is wrong for a large share of users, because **zsh never reads
|
|
15
|
+
* `~/.profile`** (measured: `zsh -lic` on a home dir containing `.profile` reads
|
|
16
|
+
* `.zshenv` + `.zprofile` + `.zshrc` and the `.profile` echo never fires). A zsh
|
|
17
|
+
* user who followed the hint verbatim got a file that is silently ignored — the
|
|
18
|
+
* command stayed missing with no indication why. That was the reported bug.
|
|
19
|
+
*
|
|
20
|
+
* ── WHICH FILE PER SHELL (all measured, not recalled) ─────────────────────────
|
|
21
|
+
* Startup files actually sourced, by shell and invocation mode:
|
|
22
|
+
*
|
|
23
|
+
* zsh -c → .zshenv
|
|
24
|
+
* -i → .zshenv .zshrc
|
|
25
|
+
* -li → .zshenv .zprofile .zshrc
|
|
26
|
+
* bash -c → (none)
|
|
27
|
+
* -i → .bashrc
|
|
28
|
+
* -li → the FIRST of .bash_profile → .bash_login → .profile
|
|
29
|
+
* fish → ~/.config/fish/conf.d/*.fish in all three modes
|
|
30
|
+
*
|
|
31
|
+
* So the target per shell is the file that covers the most modes:
|
|
32
|
+
* • zsh → ~/.zshenv (the only file read in all 3)
|
|
33
|
+
* • bash → ~/.bashrc AND its login file (login vs interactive are disjoint)
|
|
34
|
+
* • fish → ~/.config/fish/conf.d/botmux.fish
|
|
35
|
+
*
|
|
36
|
+
* bash genuinely needs both: writing only `.bashrc` misses login shells, and
|
|
37
|
+
* writing only the login file misses ordinary interactive ones.
|
|
38
|
+
*
|
|
39
|
+
* ⚠️ bash's login file is "the first that EXISTS", not always `.bash_profile` —
|
|
40
|
+
* see bashLoginFile() below for why creating the wrong one destroys the user's
|
|
41
|
+
* existing login config.
|
|
42
|
+
*
|
|
43
|
+
* ── fish SYNTAX ──────────────────────────────────────────────────────────────
|
|
44
|
+
* fish is not POSIX; `export PATH="$INSTALL_DIR:$PATH"` is not its syntax. (fish
|
|
45
|
+
* 3.6 happens to tolerate `export` as a compatibility shim and even produces a
|
|
46
|
+
* correct PATH — measured — but `set -gx` is the real form and is what we write.)
|
|
47
|
+
*/
|
|
48
|
+
|
|
49
|
+
import { existsSync, readFileSync, appendFileSync, mkdirSync, writeFileSync } from 'node:fs';
|
|
50
|
+
import { join, dirname } from 'node:path';
|
|
51
|
+
import { homedir } from 'node:os';
|
|
52
|
+
import { basename } from 'node:path';
|
|
53
|
+
|
|
54
|
+
/** Marker so we can detect our own previous edit and never write twice. */
|
|
55
|
+
export const PATH_ENTRY_MARKER = '# added by botmux installer';
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Which shell is the user actually on? `$SHELL` is the login shell recorded in
|
|
59
|
+
* passwd, which is what future terminals will start — the right question here,
|
|
60
|
+
* and better than `process.ppid` guessing (the parent of a postinstall is npm,
|
|
61
|
+
* not the user's shell).
|
|
62
|
+
*/
|
|
63
|
+
export function detectShell(env = process.env) {
|
|
64
|
+
const shell = env.SHELL ?? '';
|
|
65
|
+
const name = basename(shell);
|
|
66
|
+
if (name.includes('zsh')) return 'zsh';
|
|
67
|
+
if (name.includes('fish')) return 'fish';
|
|
68
|
+
if (name.includes('bash')) return 'bash';
|
|
69
|
+
// Unknown or unset (containers, cron, exotic shells): POSIX `.profile` is the
|
|
70
|
+
// most portable thing we can offer, and sh/ksh/dash all read it at login.
|
|
71
|
+
return name ? 'other' : 'unknown';
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* bash's LOGIN startup file, chosen without shadowing anything.
|
|
76
|
+
*
|
|
77
|
+
* ⚠️ bash reads only the FIRST of `.bash_profile` → `.bash_login` → `.profile`.
|
|
78
|
+
* So creating `.bash_profile` on a machine whose login config lives in
|
|
79
|
+
* `.profile` (or `.bash_login`) silently stops that file from ever being read.
|
|
80
|
+
* Measured — a sentinel exported from `.profile` is visible to `bash -lic`, and
|
|
81
|
+
* becomes MISSING the moment an unrelated `.bash_profile` appears; same for
|
|
82
|
+
* `.bash_login`. That is destroying the user's environment to fix a PATH entry,
|
|
83
|
+
* which is far worse than the bug being fixed.
|
|
84
|
+
*
|
|
85
|
+
* So: append to whichever of the three already exists (that is the file bash is
|
|
86
|
+
* actually reading), and only fall back to CREATING `.bash_profile` when none of
|
|
87
|
+
* them exists — in which case there is nothing to shadow.
|
|
88
|
+
*/
|
|
89
|
+
function bashLoginFile(home) {
|
|
90
|
+
for (const name of ['.bash_profile', '.bash_login', '.profile']) {
|
|
91
|
+
const file = join(home, name);
|
|
92
|
+
if (existsSync(file)) return file;
|
|
93
|
+
}
|
|
94
|
+
return join(home, '.bash_profile');
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Quote a path for literal use inside a shell startup file.
|
|
99
|
+
*
|
|
100
|
+
* ⚠️ SECURITY, not cosmetics. The install dir is caller-controlled
|
|
101
|
+
* (`BOTMUX_INSTALL_DIR`, or just an unusual home), and the line we write is
|
|
102
|
+
* EXECUTED by the user's shell on every startup. Interpolating it into double
|
|
103
|
+
* quotes lets `$(…)`, backticks and `$VAR` run: measured — an install dir
|
|
104
|
+
* containing `$(touch /tmp/PWNED)` created that file the first time zsh started,
|
|
105
|
+
* and did so on every shell thereafter.
|
|
106
|
+
*
|
|
107
|
+
* Single quotes make the shell treat every byte literally; the only character
|
|
108
|
+
* needing care is `'` itself, closed and re-opened via `'\''`. This form is
|
|
109
|
+
* identical in POSIX shells and in fish.
|
|
110
|
+
*/
|
|
111
|
+
function shellQuote(value) {
|
|
112
|
+
return `'${String(value).replace(/'/g, `'\\''`)}'`;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* The startup files to write for a shell, plus the line to write into each.
|
|
117
|
+
* Returns [] when we have nothing safe to say.
|
|
118
|
+
*
|
|
119
|
+
* `env` is read for the two relocation variables below; both are honoured
|
|
120
|
+
* because writing the un-relocated path produces a file the shell never reads —
|
|
121
|
+
* the same class of bug as writing `.profile` for zsh.
|
|
122
|
+
*/
|
|
123
|
+
export function pathEntryTargets(shell, installDir, home = homedir(), env = process.env) {
|
|
124
|
+
const q = shellQuote(installDir);
|
|
125
|
+
// ⚠️ The STATEMENT has to be idempotent too, not just the file write. An
|
|
126
|
+
// unconditional `export PATH=<dir>:$PATH` re-prepends on every shell startup, so
|
|
127
|
+
// a nested or re-sourced shell keeps growing PATH — measured: the same directory
|
|
128
|
+
// appeared twice at nesting depth 2, and `.bash_profile` files that source
|
|
129
|
+
// `.bashrc` hit it within a single login. `case` is POSIX and quote-safe (no
|
|
130
|
+
// subshell, no `grep`), and the `:` padding makes it an exact ELEMENT test, so a
|
|
131
|
+
// sibling like `<dir>-old` never satisfies it.
|
|
132
|
+
const posix = `case ":$PATH:" in *:${q}:*) ;; *) export PATH=${q}":$PATH" ;; esac ${PATH_ENTRY_MARKER}`;
|
|
133
|
+
switch (shell) {
|
|
134
|
+
case 'zsh': {
|
|
135
|
+
// ⚠️ zsh reads its dotfiles from $ZDOTDIR when that is set, falling back to
|
|
136
|
+
// $HOME. Writing $HOME/.zshenv on a machine with ZDOTDIR set produces a file
|
|
137
|
+
// zsh never reads — measured: `zsh -c botmux` → "command not found".
|
|
138
|
+
const zdotdir = env.ZDOTDIR?.trim();
|
|
139
|
+
const base = zdotdir ? zdotdir : home;
|
|
140
|
+
return [{ file: join(base, '.zshenv'), line: posix }];
|
|
141
|
+
}
|
|
142
|
+
case 'bash': {
|
|
143
|
+
// Disjoint coverage — see header. Both, or one of the two common ways of
|
|
144
|
+
// opening a terminal is left broken. The login half must not shadow (above).
|
|
145
|
+
const login = bashLoginFile(home);
|
|
146
|
+
const targets = [{ file: join(home, '.bashrc'), line: posix }];
|
|
147
|
+
// When bash's login file IS .bashrc-adjacent there is nothing more to add;
|
|
148
|
+
// dedupe so we never append the same line to the same file twice.
|
|
149
|
+
if (login !== join(home, '.bashrc')) targets.push({ file: login, line: posix });
|
|
150
|
+
return targets;
|
|
151
|
+
}
|
|
152
|
+
case 'fish': {
|
|
153
|
+
// ⚠️ fish's config dir is $XDG_CONFIG_HOME/fish, defaulting to ~/.config/fish.
|
|
154
|
+
// Same failure as ZDOTDIR above — measured: with XDG_CONFIG_HOME set, a file
|
|
155
|
+
// under ~/.config/fish is ignored, while the same line under
|
|
156
|
+
// $XDG_CONFIG_HOME/fish/conf.d works (positive control).
|
|
157
|
+
const xdg = env.XDG_CONFIG_HOME?.trim();
|
|
158
|
+
const configHome = xdg ? xdg : join(home, '.config');
|
|
159
|
+
return [{
|
|
160
|
+
file: join(configHome, 'fish', 'conf.d', 'botmux.fish'),
|
|
161
|
+
// fish: `contains` is its own exact list-element test — PATH is a real list
|
|
162
|
+
// here, so no delimiter padding is needed.
|
|
163
|
+
line: `contains ${q} $PATH; or set -gx PATH ${q} $PATH ${PATH_ENTRY_MARKER}`,
|
|
164
|
+
}];
|
|
165
|
+
}
|
|
166
|
+
case 'other':
|
|
167
|
+
case 'unknown':
|
|
168
|
+
default:
|
|
169
|
+
return [{ file: join(home, '.profile'), line: posix }];
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
/** Is `installDir` already handled by this file (ours or the user's own line)? */
|
|
174
|
+
export function fileAlreadyHasEntry(file, installDir) {
|
|
175
|
+
if (!existsSync(file)) return false;
|
|
176
|
+
let text;
|
|
177
|
+
try { text = readFileSync(file, 'utf8'); } catch { return false; }
|
|
178
|
+
|
|
179
|
+
// ⚠️ TWO SEPARATE PREDICATES, deliberately not one clever one.
|
|
180
|
+
//
|
|
181
|
+
// Attempt #1 searched for the raw directory as a substring: `<installDir>-old`,
|
|
182
|
+
// `/backup<installDir>` and `<installDir>/other` all counted as configured, so
|
|
183
|
+
// the REAL directory was never written (measured, written=0 for each).
|
|
184
|
+
// Attempt #2 split the line into tokens and compared them — but the line we
|
|
185
|
+
// WRITE for a directory containing a quote is
|
|
186
|
+
// export PATH='/x/q'\''bin'":$PATH"
|
|
187
|
+
// and ANY tokenizer that treats `'` as a separator shreds that into `/x/q`,
|
|
188
|
+
// `\`, `bin`, so the quoted spelling can never match a token (measured: marker
|
|
189
|
+
// count 1 → 2 on every re-install). Shell quoting cannot be undone by splitting
|
|
190
|
+
// on characters.
|
|
191
|
+
//
|
|
192
|
+
// So: recognise OUR line by its own known syntax (marker + the exact quoted
|
|
193
|
+
// form we would generate), and use conservative whole-token matching only for a
|
|
194
|
+
// line the USER wrote by hand.
|
|
195
|
+
const ourQuoted = shellQuote(installDir);
|
|
196
|
+
const lines = text.split('\n').filter(l => !/^\s*#/.test(l));
|
|
197
|
+
|
|
198
|
+
// (a) Our own line, byte-for-byte on the part that identifies the directory.
|
|
199
|
+
// `PATH=` + the exact quoted dir is enough; the suffix may legitimately
|
|
200
|
+
// differ (`":$PATH"` vs fish's ` $PATH`).
|
|
201
|
+
if (lines.some(l => l.includes(PATH_ENTRY_MARKER) && l.includes(ourQuoted))) return true;
|
|
202
|
+
|
|
203
|
+
// (b) A hand-written line. Compare whole PATH elements, and do NOT treat quotes
|
|
204
|
+
// as element separators — strip the wrapping quotes first, then split on the
|
|
205
|
+
// characters that actually delimit PATH elements.
|
|
206
|
+
const PATH_ASSIGNMENT = new RegExp(
|
|
207
|
+
[
|
|
208
|
+
'export\\s+PATH\\s*=', // POSIX: export PATH="…"
|
|
209
|
+
'^\\s*PATH\\s*=', // POSIX: PATH=…
|
|
210
|
+
'set\\s+(-\\w+\\s+)*PATH', // fish: set -gx PATH …
|
|
211
|
+
'fish_add_path', // fish: fish_add_path …
|
|
212
|
+
'\\bpath\\+=', // zsh: path+=(…)
|
|
213
|
+
'\\bpath=\\(', // zsh: path=(…)
|
|
214
|
+
].join('|'),
|
|
215
|
+
'i',
|
|
216
|
+
);
|
|
217
|
+
const target = installDir.replace(/\/+$/, '');
|
|
218
|
+
return lines.some(l => {
|
|
219
|
+
if (!PATH_ASSIGNMENT.test(l)) return false;
|
|
220
|
+
// Quotes here are shell syntax around a plain path (the quote-containing case
|
|
221
|
+
// is handled by (a)); dropping them leaves the path bytes intact.
|
|
222
|
+
const bare = l.replace(/["']/g, '');
|
|
223
|
+
return bare
|
|
224
|
+
.split(/[:\s()=]+/)
|
|
225
|
+
.map(t => t.replace(/\/+$/, ''))
|
|
226
|
+
.some(t => t !== '' && t === target);
|
|
227
|
+
});
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
/**
|
|
231
|
+
* Append the PATH line to every startup file the user's shell reads.
|
|
232
|
+
*
|
|
233
|
+
* Returns `{ written: string[], skipped: string[], failed: [{file, error}] }`.
|
|
234
|
+
* Never throws: a PATH edit failing must not fail the install (the launcher is
|
|
235
|
+
* already in place and the caller prints a manual fallback).
|
|
236
|
+
*/
|
|
237
|
+
export function ensurePathEntry(opts) {
|
|
238
|
+
const installDir = opts.installDir;
|
|
239
|
+
const env = opts.env ?? process.env;
|
|
240
|
+
const home = opts.home ?? homedir();
|
|
241
|
+
const shell = opts.shell ?? detectShell(env);
|
|
242
|
+
const targets = pathEntryTargets(shell, installDir, home, env);
|
|
243
|
+
|
|
244
|
+
const written = [], skipped = [], failed = [];
|
|
245
|
+
for (const { file, line } of targets) {
|
|
246
|
+
if (fileAlreadyHasEntry(file, installDir)) { skipped.push(file); continue; }
|
|
247
|
+
try {
|
|
248
|
+
mkdirSync(dirname(file), { recursive: true });
|
|
249
|
+
if (existsSync(file)) {
|
|
250
|
+
// Keep the user's file intact; only append, and only with a leading
|
|
251
|
+
// newline so we never glue onto an unterminated last line.
|
|
252
|
+
const prev = readFileSync(file, 'utf8');
|
|
253
|
+
appendFileSync(file, `${prev.endsWith('\n') || prev === '' ? '' : '\n'}${line}\n`);
|
|
254
|
+
} else {
|
|
255
|
+
writeFileSync(file, `${line}\n`);
|
|
256
|
+
}
|
|
257
|
+
written.push(file);
|
|
258
|
+
} catch (err) {
|
|
259
|
+
failed.push({ file, error: err && err.message ? err.message : String(err) });
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
return { shell, written, skipped, failed };
|
|
263
|
+
}
|