@undefineds.co/linx 0.2.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 +91 -0
- package/dist/index.js +578 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/account-api.js +100 -0
- package/dist/lib/account-api.js.map +1 -0
- package/dist/lib/account-session.js +30 -0
- package/dist/lib/account-session.js.map +1 -0
- package/dist/lib/ai-command.js +411 -0
- package/dist/lib/ai-command.js.map +1 -0
- package/dist/lib/chat-api.js +122 -0
- package/dist/lib/chat-api.js.map +1 -0
- package/dist/lib/codex-plugin/bridge.js +109 -0
- package/dist/lib/codex-plugin/bridge.js.map +1 -0
- package/dist/lib/codex-plugin/codex-native-proxy.js +358 -0
- package/dist/lib/codex-plugin/codex-native-proxy.js.map +1 -0
- package/dist/lib/codex-plugin/index.js +4 -0
- package/dist/lib/codex-plugin/index.js.map +1 -0
- package/dist/lib/codex-plugin/runner.js +38 -0
- package/dist/lib/codex-plugin/runner.js.map +1 -0
- package/dist/lib/credentials-store.js +74 -0
- package/dist/lib/credentials-store.js.map +1 -0
- package/dist/lib/default-model.js +8 -0
- package/dist/lib/default-model.js.map +1 -0
- package/dist/lib/login-command.js +51 -0
- package/dist/lib/login-command.js.map +1 -0
- package/dist/lib/models.js +6 -0
- package/dist/lib/models.js.map +1 -0
- package/dist/lib/oidc-auth.js +451 -0
- package/dist/lib/oidc-auth.js.map +1 -0
- package/dist/lib/oidc-session-storage.js +37 -0
- package/dist/lib/oidc-session-storage.js.map +1 -0
- package/dist/lib/pi-adapter/auth.js +38 -0
- package/dist/lib/pi-adapter/auth.js.map +1 -0
- package/dist/lib/pi-adapter/branding.js +239 -0
- package/dist/lib/pi-adapter/branding.js.map +1 -0
- package/dist/lib/pi-adapter/index.js +4 -0
- package/dist/lib/pi-adapter/index.js.map +1 -0
- package/dist/lib/pi-adapter/interactive.js +63 -0
- package/dist/lib/pi-adapter/interactive.js.map +1 -0
- package/dist/lib/pi-adapter/runtime.js +271 -0
- package/dist/lib/pi-adapter/runtime.js.map +1 -0
- package/dist/lib/pi-adapter/stream.js +314 -0
- package/dist/lib/pi-adapter/stream.js.map +1 -0
- package/dist/lib/pi-adapter/theme.js +84 -0
- package/dist/lib/pi-adapter/theme.js.map +1 -0
- package/dist/lib/pod-chat-store.js +200 -0
- package/dist/lib/pod-chat-store.js.map +1 -0
- package/dist/lib/profile-identity.js +116 -0
- package/dist/lib/profile-identity.js.map +1 -0
- package/dist/lib/prompt.js +82 -0
- package/dist/lib/prompt.js.map +1 -0
- package/dist/lib/runtime-target.js +12 -0
- package/dist/lib/runtime-target.js.map +1 -0
- package/dist/lib/solid-auth.js +55 -0
- package/dist/lib/solid-auth.js.map +1 -0
- package/dist/lib/thread-utils.js +12 -0
- package/dist/lib/thread-utils.js.map +1 -0
- package/dist/lib/watch/archive.js +110 -0
- package/dist/lib/watch/archive.js.map +1 -0
- package/dist/lib/watch/auth.js +56 -0
- package/dist/lib/watch/auth.js.map +1 -0
- package/dist/lib/watch/codex-composer.js +219 -0
- package/dist/lib/watch/codex-composer.js.map +1 -0
- package/dist/lib/watch/codex-footer.js +88 -0
- package/dist/lib/watch/codex-footer.js.map +1 -0
- package/dist/lib/watch/codex-overlay.js +154 -0
- package/dist/lib/watch/codex-overlay.js.map +1 -0
- package/dist/lib/watch/codex-request-form.js +341 -0
- package/dist/lib/watch/codex-request-form.js.map +1 -0
- package/dist/lib/watch/codex-request-input.js +187 -0
- package/dist/lib/watch/codex-request-input.js.map +1 -0
- package/dist/lib/watch/display.js +1514 -0
- package/dist/lib/watch/display.js.map +1 -0
- package/dist/lib/watch/format.js +161 -0
- package/dist/lib/watch/format.js.map +1 -0
- package/dist/lib/watch/hooks/claude.js +12 -0
- package/dist/lib/watch/hooks/claude.js.map +1 -0
- package/dist/lib/watch/hooks/codebuddy.js +18 -0
- package/dist/lib/watch/hooks/codebuddy.js.map +1 -0
- package/dist/lib/watch/hooks/codex.js +13 -0
- package/dist/lib/watch/hooks/codex.js.map +1 -0
- package/dist/lib/watch/hooks/index.js +24 -0
- package/dist/lib/watch/hooks/index.js.map +1 -0
- package/dist/lib/watch/hooks/shared.js +19 -0
- package/dist/lib/watch/hooks/shared.js.map +1 -0
- package/dist/lib/watch/index.js +10 -0
- package/dist/lib/watch/index.js.map +1 -0
- package/dist/lib/watch/pod-ai.js +168 -0
- package/dist/lib/watch/pod-ai.js.map +1 -0
- package/dist/lib/watch/pod-approval.js +578 -0
- package/dist/lib/watch/pod-approval.js.map +1 -0
- package/dist/lib/watch/pod-persistence.js +226 -0
- package/dist/lib/watch/pod-persistence.js.map +1 -0
- package/dist/lib/watch/runner.js +1124 -0
- package/dist/lib/watch/runner.js.map +1 -0
- package/dist/lib/watch/types.js +2 -0
- package/dist/lib/watch/types.js.map +1 -0
- package/dist/watch-cli.js +142 -0
- package/dist/watch-cli.js.map +1 -0
- package/package.json +38 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oidc-auth.js","sourceRoot":"","sources":["../../src/lib/oidc-auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { chmodSync, existsSync, mkdirSync, readFileSync, unlinkSync, writeFileSync } from 'node:fs';
|
|
2
|
+
import { join } from 'node:path';
|
|
3
|
+
import { homedir } from 'node:os';
|
|
4
|
+
import { LINX_HOME_DIRNAME } from '@undefineds.co/models/client';
|
|
5
|
+
function linxDir() {
|
|
6
|
+
return join(homedir(), LINX_HOME_DIRNAME);
|
|
7
|
+
}
|
|
8
|
+
function storageDir() {
|
|
9
|
+
return join(linxDir(), 'oidc-storage');
|
|
10
|
+
}
|
|
11
|
+
function keyPath(key) {
|
|
12
|
+
return join(storageDir(), encodeURIComponent(key));
|
|
13
|
+
}
|
|
14
|
+
export function createOidcSessionStorage() {
|
|
15
|
+
return {
|
|
16
|
+
async get(key) {
|
|
17
|
+
const path = keyPath(key);
|
|
18
|
+
if (!existsSync(path)) {
|
|
19
|
+
return undefined;
|
|
20
|
+
}
|
|
21
|
+
return readFileSync(path, 'utf-8');
|
|
22
|
+
},
|
|
23
|
+
async set(key, value) {
|
|
24
|
+
mkdirSync(storageDir(), { recursive: true });
|
|
25
|
+
const path = keyPath(key);
|
|
26
|
+
writeFileSync(path, value, 'utf-8');
|
|
27
|
+
chmodSync(path, 0o600);
|
|
28
|
+
},
|
|
29
|
+
async delete(key) {
|
|
30
|
+
const path = keyPath(key);
|
|
31
|
+
if (existsSync(path)) {
|
|
32
|
+
unlinkSync(path);
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=oidc-session-storage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oidc-session-storage.js","sourceRoot":"","sources":["../../src/lib/oidc-session-storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACnG,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAEjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAEhE,SAAS,OAAO;IACd,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,iBAAiB,CAAC,CAAA;AAC3C,CAAC;AAED,SAAS,UAAU;IACjB,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,cAAc,CAAC,CAAA;AACxC,CAAC;AAED,SAAS,OAAO,CAAC,GAAW;IAC1B,OAAO,IAAI,CAAC,UAAU,EAAE,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAA;AACpD,CAAC;AAED,MAAM,UAAU,wBAAwB;IACtC,OAAO;QACL,KAAK,CAAC,GAAG,CAAC,GAAW;YACnB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;YACzB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtB,OAAO,SAAS,CAAA;YAClB,CAAC;YAED,OAAO,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACpC,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAa;YAClC,SAAS,CAAC,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;YACzB,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;YACnC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QACxB,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,GAAW;YACtB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;YACzB,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrB,UAAU,CAAC,IAAI,CAAC,CAAA;YAClB,CAAC;QACH,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { getClientCredentials, loadCredentials } from '../credentials-store.js';
|
|
2
|
+
import { getOidcAccessToken } from '../oidc-auth.js';
|
|
3
|
+
import { getAccessToken } from '../solid-auth.js';
|
|
4
|
+
export async function resolveLinxPiCloudOAuthCredential(issuerUrl, runtime = {
|
|
5
|
+
loadCredentials,
|
|
6
|
+
getClientCredentials,
|
|
7
|
+
getAccessToken,
|
|
8
|
+
}) {
|
|
9
|
+
const stored = runtime.loadCredentials();
|
|
10
|
+
if (!stored) {
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
const clientCredentials = runtime.getClientCredentials(stored);
|
|
14
|
+
if (!clientCredentials) {
|
|
15
|
+
const oidcAccessToken = await getOidcAccessToken(stored).catch(() => null);
|
|
16
|
+
if (!oidcAccessToken) {
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
return {
|
|
20
|
+
type: 'oauth',
|
|
21
|
+
refresh: 'linx-oidc-refresh',
|
|
22
|
+
access: oidcAccessToken,
|
|
23
|
+
expires: Date.now() + 60 * 60 * 1000,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
const resolvedIssuerUrl = issuerUrl?.trim() || stored.url;
|
|
27
|
+
const token = await runtime.getAccessToken(clientCredentials.clientId, clientCredentials.clientSecret, resolvedIssuerUrl);
|
|
28
|
+
if (!token) {
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
return {
|
|
32
|
+
type: 'oauth',
|
|
33
|
+
refresh: clientCredentials.clientSecret,
|
|
34
|
+
access: token.accessToken,
|
|
35
|
+
expires: token.expiresAt.getTime(),
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/lib/pi-adapter/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAajD,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACrD,SAAkB,EAClB,UAA+B;IAC7B,eAAe;IACf,oBAAoB;IACpB,cAAc;CACf;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAA;IACxC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,iBAAiB,GAAG,OAAO,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAA;IAC9D,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;QAC1E,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,OAAO,IAAI,CAAA;QACb,CAAC;QAED,OAAO;YACL,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,mBAAmB;YAC5B,MAAM,EAAE,eAAe;YACvB,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;SACrC,CAAA;IACH,CAAC;IAED,MAAM,iBAAiB,GAAG,SAAS,EAAE,IAAI,EAAE,IAAI,MAAM,CAAC,GAAG,CAAA;IACzD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,iBAAiB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAA;IACzH,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO;QACL,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,iBAAiB,CAAC,YAAY;QACvC,MAAM,EAAE,KAAK,CAAC,WAAW;QACzB,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE;KACnC,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
import { homedir } from 'node:os';
|
|
2
|
+
import { basename, join } from 'node:path';
|
|
3
|
+
import { readFileSync } from 'node:fs';
|
|
4
|
+
import { LINX_HOME_DIRNAME } from '@undefineds.co/models/client';
|
|
5
|
+
import { keyHint, rawKeyHint } from '@mariozechner/pi-coding-agent';
|
|
6
|
+
import { Text, truncateToWidth, visibleWidth, wrapTextWithAnsi } from '@mariozechner/pi-tui';
|
|
7
|
+
import { loadCredentials } from '../credentials-store.js';
|
|
8
|
+
import { extractUsernameFromWebId, resolveProfileDisplayName } from '../profile-identity.js';
|
|
9
|
+
export const LINX_AGENT_DIR = join(homedir(), LINX_HOME_DIRNAME, 'agent');
|
|
10
|
+
export const LINX_UPDATE_PACKAGE_NAME = '@undefineds.co/linx';
|
|
11
|
+
export const LINX_CHANGELOG_URL = 'https://github.com/undefineds-co/linx-cli/releases';
|
|
12
|
+
export const LINX_CLI_VERSION = readLinxCliVersion();
|
|
13
|
+
export function applyLinxInteractiveBranding(interactive) {
|
|
14
|
+
patchTerminalTitle(interactive);
|
|
15
|
+
patchVersionCheck(interactive);
|
|
16
|
+
patchUpdateNotification(interactive);
|
|
17
|
+
patchHeader(interactive);
|
|
18
|
+
}
|
|
19
|
+
function patchTerminalTitle(interactive) {
|
|
20
|
+
const original = interactive.updateTerminalTitle?.bind(interactive);
|
|
21
|
+
interactive.updateTerminalTitle = function patchedUpdateTerminalTitle() {
|
|
22
|
+
original?.();
|
|
23
|
+
const cwd = this.sessionManager?.getCwd?.() || process.cwd();
|
|
24
|
+
const sessionName = this.sessionManager?.getSessionName?.();
|
|
25
|
+
const suffix = sessionName ? `${sessionName} - ${basename(cwd)}` : basename(cwd);
|
|
26
|
+
this.ui?.terminal?.setTitle?.(`LinX - ${suffix}`);
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
function patchVersionCheck(interactive) {
|
|
30
|
+
interactive.checkForNewVersion = async function patchedCheckForNewVersion() {
|
|
31
|
+
if (process.env.PI_OFFLINE) {
|
|
32
|
+
return undefined;
|
|
33
|
+
}
|
|
34
|
+
try {
|
|
35
|
+
const response = await fetch(`https://registry.npmjs.org/${encodeURIComponent(LINX_UPDATE_PACKAGE_NAME)}/latest`, {
|
|
36
|
+
signal: AbortSignal.timeout(5000),
|
|
37
|
+
});
|
|
38
|
+
if (!response.ok) {
|
|
39
|
+
return undefined;
|
|
40
|
+
}
|
|
41
|
+
const body = await response.json();
|
|
42
|
+
const latest = typeof body.version === 'string' ? body.version.trim() : '';
|
|
43
|
+
if (!latest || latest === this.version) {
|
|
44
|
+
return undefined;
|
|
45
|
+
}
|
|
46
|
+
return latest;
|
|
47
|
+
}
|
|
48
|
+
catch {
|
|
49
|
+
return undefined;
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
function patchUpdateNotification(interactive) {
|
|
54
|
+
interactive.showNewVersionNotification = function patchedShowNewVersionNotification(newVersion) {
|
|
55
|
+
const lines = [
|
|
56
|
+
'\x1b[1m\x1b[33mLinX Update Available\x1b[39m\x1b[22m',
|
|
57
|
+
`\x1b[2mNew version ${newVersion} is available. \x1b[22m\x1b[36mRun: npm install -g @undefineds.co/linx\x1b[39m`,
|
|
58
|
+
`\x1b[2mChangelog: \x1b[22m\x1b[36m${LINX_CHANGELOG_URL}\x1b[39m`,
|
|
59
|
+
];
|
|
60
|
+
this.chatContainer?.addChild?.(new Text(lines.join('\n'), 1, 0));
|
|
61
|
+
this.ui?.requestRender?.();
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
function patchHeader(interactive) {
|
|
65
|
+
const originalInit = interactive.init.bind(interactive);
|
|
66
|
+
interactive.init = async function patchedInit() {
|
|
67
|
+
await originalInit();
|
|
68
|
+
const quietStartup = this.options?.verbose ? false : this.settingsManager?.getQuietStartup?.();
|
|
69
|
+
if (quietStartup) {
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
let profileDisplayName = null;
|
|
73
|
+
const replacement = new LinxWelcomeCard(() => buildHeaderState(this, profileDisplayName));
|
|
74
|
+
const currentHeader = this.customHeader ?? this.builtInHeader;
|
|
75
|
+
const index = this.headerContainer?.children?.indexOf?.(currentHeader) ?? -1;
|
|
76
|
+
if (index >= 0) {
|
|
77
|
+
this.headerContainer.children[index] = replacement;
|
|
78
|
+
}
|
|
79
|
+
this.customHeader = replacement;
|
|
80
|
+
this.ui?.requestRender?.();
|
|
81
|
+
this.updateTerminalTitle?.();
|
|
82
|
+
void suppressPodStatusOutput(() => resolveProfileDisplayName())
|
|
83
|
+
.then((displayName) => {
|
|
84
|
+
if (!displayName || displayName === profileDisplayName) {
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
profileDisplayName = displayName;
|
|
88
|
+
replacement.invalidate();
|
|
89
|
+
this.ui?.requestRender?.();
|
|
90
|
+
})
|
|
91
|
+
.catch(() => undefined);
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
class LinxWelcomeCard {
|
|
95
|
+
getState;
|
|
96
|
+
constructor(getState) {
|
|
97
|
+
this.getState = getState;
|
|
98
|
+
}
|
|
99
|
+
invalidate() { }
|
|
100
|
+
render(width) {
|
|
101
|
+
const innerWidth = Math.max(20, width - 4);
|
|
102
|
+
const state = this.getState();
|
|
103
|
+
const titleBlock = [
|
|
104
|
+
`\x1b[1mLinX\x1b[22m \x1b[2mv${LINX_CLI_VERSION}\x1b[22m`,
|
|
105
|
+
`\x1b[1mWelcome back, ${state.username}\x1b[22m`,
|
|
106
|
+
];
|
|
107
|
+
const rows = [
|
|
108
|
+
renderField('WebID', state.webId, innerWidth),
|
|
109
|
+
renderField('Provider', state.provider, innerWidth),
|
|
110
|
+
renderField('Model', state.model, innerWidth),
|
|
111
|
+
renderField('Workspace', state.workspace, innerWidth),
|
|
112
|
+
renderField('Session', state.session, innerWidth),
|
|
113
|
+
'',
|
|
114
|
+
truncateToWidth(`\x1b[2mNext\x1b[22m ${state.next}`, innerWidth),
|
|
115
|
+
];
|
|
116
|
+
const headerLines = titleBlock.map((line) => truncateToWidth(line, innerWidth));
|
|
117
|
+
const body = [
|
|
118
|
+
...headerLines.map((line) => padLine(line, innerWidth)),
|
|
119
|
+
padLine('', innerWidth),
|
|
120
|
+
...rows.flatMap((line) => wrapAndPad(line, innerWidth)),
|
|
121
|
+
];
|
|
122
|
+
return [
|
|
123
|
+
`┌${'─'.repeat(innerWidth + 2)}┐`,
|
|
124
|
+
...body.map((line) => `│ ${line} │`),
|
|
125
|
+
`└${'─'.repeat(innerWidth + 2)}┘`,
|
|
126
|
+
];
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
function buildHeaderState(interactive, profileDisplayName = null) {
|
|
130
|
+
const credentials = loadCredentials();
|
|
131
|
+
const webId = credentials?.webId ?? 'not logged in';
|
|
132
|
+
const workspace = interactive?.sessionManager?.getCwd?.() || process.cwd();
|
|
133
|
+
const sessionId = interactive?.sessionManager?.getSessionId?.();
|
|
134
|
+
const sessionName = interactive?.sessionManager?.getSessionName?.();
|
|
135
|
+
const session = sessionName && sessionId ? `${sessionName} (${shortSessionId(sessionId)})` : shortSessionId(sessionId);
|
|
136
|
+
const model = interactive?.session?.model?.id ?? 'unknown-model';
|
|
137
|
+
return {
|
|
138
|
+
webId,
|
|
139
|
+
username: profileDisplayName ?? extractUsernameFromWebId(webId),
|
|
140
|
+
provider: resolveRuntimeProviderLabel(interactive),
|
|
141
|
+
model,
|
|
142
|
+
workspace,
|
|
143
|
+
session,
|
|
144
|
+
next: [
|
|
145
|
+
keyHint('tui.input.submit', 'send'),
|
|
146
|
+
keyHint('app.model.select', 'model'),
|
|
147
|
+
rawKeyHint('/login', 'auth'),
|
|
148
|
+
rawKeyHint('/help', 'help'),
|
|
149
|
+
].join(' \x1b[2m·\x1b[22m '),
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
function renderField(label, value, width) {
|
|
153
|
+
const prefix = `\x1b[2m${label}\x1b[22m`;
|
|
154
|
+
const paddedPrefix = prefix + ' '.repeat(Math.max(1, 10 - visibleWidth(prefix)));
|
|
155
|
+
return truncateToWidth(`${paddedPrefix} ${value}`, width);
|
|
156
|
+
}
|
|
157
|
+
function wrapAndPad(line, width) {
|
|
158
|
+
if (!line) {
|
|
159
|
+
return [padLine('', width)];
|
|
160
|
+
}
|
|
161
|
+
const wrapped = wrapTextWithAnsi(line, width);
|
|
162
|
+
return wrapped.length > 0
|
|
163
|
+
? wrapped.map((entry) => padLine(entry, width))
|
|
164
|
+
: [padLine('', width)];
|
|
165
|
+
}
|
|
166
|
+
function shortSessionId(sessionId) {
|
|
167
|
+
if (typeof sessionId !== 'string' || !sessionId.trim()) {
|
|
168
|
+
return 'new session';
|
|
169
|
+
}
|
|
170
|
+
return sessionId.length > 12 ? sessionId.slice(0, 12) : sessionId;
|
|
171
|
+
}
|
|
172
|
+
function padLine(line, width) {
|
|
173
|
+
const visible = visibleWidth(line);
|
|
174
|
+
if (visible >= width) {
|
|
175
|
+
return truncateToWidth(line, width);
|
|
176
|
+
}
|
|
177
|
+
return `${line}${' '.repeat(width - visible)}`;
|
|
178
|
+
}
|
|
179
|
+
function readLinxCliVersion() {
|
|
180
|
+
try {
|
|
181
|
+
const raw = readFileSync(new URL('../../package.json', import.meta.url), 'utf-8');
|
|
182
|
+
const pkg = JSON.parse(raw);
|
|
183
|
+
return typeof pkg.version === 'string' && pkg.version.trim() ? pkg.version.trim() : '0.1.0';
|
|
184
|
+
}
|
|
185
|
+
catch {
|
|
186
|
+
return '0.1.0';
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
function resolveRuntimeProviderLabel(interactive) {
|
|
190
|
+
const bridge = interactive?.runtimeHost?.linxAuthBridge ?? interactive?.linxAuthBridge;
|
|
191
|
+
if (bridge?.providerLabel) {
|
|
192
|
+
return bridge.providerLabel;
|
|
193
|
+
}
|
|
194
|
+
return 'undefineds(cloud)';
|
|
195
|
+
}
|
|
196
|
+
async function suppressPodStatusOutput(operation) {
|
|
197
|
+
if (process.env.LINX_TUI_SHOW_POD_STATUS === '1') {
|
|
198
|
+
return await operation();
|
|
199
|
+
}
|
|
200
|
+
const restoreStdout = patchPodStatusWriter(process.stdout);
|
|
201
|
+
const restoreStderr = patchPodStatusWriter(process.stderr);
|
|
202
|
+
try {
|
|
203
|
+
return await operation();
|
|
204
|
+
}
|
|
205
|
+
finally {
|
|
206
|
+
restoreStdout();
|
|
207
|
+
restoreStderr();
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
function patchPodStatusWriter(stream) {
|
|
211
|
+
const originalWrite = stream.write.bind(stream);
|
|
212
|
+
stream.write = function patchedWrite(chunk, encodingOrCallback, callback) {
|
|
213
|
+
const encoding = typeof encodingOrCallback === 'string' ? encodingOrCallback : undefined;
|
|
214
|
+
const onComplete = typeof encodingOrCallback === 'function' ? encodingOrCallback : callback;
|
|
215
|
+
const text = typeof chunk === 'string' ? chunk : Buffer.from(chunk).toString(encoding);
|
|
216
|
+
const filtered = stripPodStatusLines(text);
|
|
217
|
+
if (!filtered) {
|
|
218
|
+
onComplete?.();
|
|
219
|
+
return true;
|
|
220
|
+
}
|
|
221
|
+
if (typeof chunk === 'string') {
|
|
222
|
+
return originalWrite(filtered, encodingOrCallback, callback);
|
|
223
|
+
}
|
|
224
|
+
return originalWrite(Buffer.from(filtered, encoding), callback);
|
|
225
|
+
};
|
|
226
|
+
return () => {
|
|
227
|
+
;
|
|
228
|
+
stream.write = originalWrite;
|
|
229
|
+
};
|
|
230
|
+
}
|
|
231
|
+
function stripPodStatusLines(input) {
|
|
232
|
+
const urlPattern = String.raw `https?:\/\/[A-Za-z0-9._~:/?#[\]@!$&'()*+,;=%-]+`;
|
|
233
|
+
return input
|
|
234
|
+
.replace(new RegExp(String.raw `\[Container\]\s*容器已存在:\s*${urlPattern}[ \t]*(?:\r?\n)?`, 'g'), '')
|
|
235
|
+
.replace(new RegExp(String.raw `Connecting to Solid Pod:\s*${urlPattern}[ \t]*(?:\r?\n)?`, 'g'), '')
|
|
236
|
+
.replace(new RegExp(String.raw `Using WebID:\s*${urlPattern}[ \t]*(?:\r?\n)?`, 'g'), '')
|
|
237
|
+
.replace(/Successfully connected to Solid Pod[ \t]*(?:\r?\n)?/g, '');
|
|
238
|
+
}
|
|
239
|
+
//# sourceMappingURL=branding.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"branding.js","sourceRoot":"","sources":["../../../src/lib/pi-adapter/branding.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/pi-adapter/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { InteractiveMode } from '@mariozechner/pi-coding-agent';
|
|
2
|
+
import { FooterComponent } from '@mariozechner/pi-coding-agent';
|
|
3
|
+
import { applyLinxInteractiveBranding } from './branding.js';
|
|
4
|
+
let footerPatched = false;
|
|
5
|
+
export function bootstrapPiInteractiveMode(runtime) {
|
|
6
|
+
patchPiFooter();
|
|
7
|
+
const interactive = new InteractiveMode(runtime, {});
|
|
8
|
+
applyLinxInteractiveBranding(interactive);
|
|
9
|
+
patchInteractiveExitMessage(interactive);
|
|
10
|
+
return {
|
|
11
|
+
async init() {
|
|
12
|
+
await interactive.init();
|
|
13
|
+
},
|
|
14
|
+
async run() {
|
|
15
|
+
await interactive.run();
|
|
16
|
+
},
|
|
17
|
+
stop() {
|
|
18
|
+
interactive.stop();
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
function patchInteractiveExitMessage(interactive) {
|
|
23
|
+
const originalInit = interactive.init?.bind(interactive);
|
|
24
|
+
const originalStop = interactive.stop?.bind(interactive);
|
|
25
|
+
let initialized = false;
|
|
26
|
+
let exitMessageWritten = false;
|
|
27
|
+
if (typeof originalInit === 'function') {
|
|
28
|
+
interactive.init = async function patchedInit(...args) {
|
|
29
|
+
const result = await originalInit(...args);
|
|
30
|
+
initialized = true;
|
|
31
|
+
return result;
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
if (typeof originalStop !== 'function') {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
interactive.stop = function patchedStop(...args) {
|
|
38
|
+
originalStop(...args);
|
|
39
|
+
if (!initialized || exitMessageWritten || process.env.LINX_TUI_NO_EXIT_MESSAGE === '1') {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
exitMessageWritten = true;
|
|
43
|
+
if (process.stdout.isTTY) {
|
|
44
|
+
process.stdout.write('\nLinX session closed.\n');
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
function patchPiFooter() {
|
|
49
|
+
if (footerPatched) {
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
const originalRender = FooterComponent.prototype.render;
|
|
53
|
+
FooterComponent.prototype.render = function patchedRender(width) {
|
|
54
|
+
const lines = originalRender.call(this, width);
|
|
55
|
+
if (Array.isArray(lines) && lines.length > 1 && typeof lines[1] === 'string') {
|
|
56
|
+
lines[1] = lines[1].replace(/\$0\.000 \(sub\)\s*/g, '');
|
|
57
|
+
lines[1] = lines[1].replace(/\(undefineds\)\s+/g, '');
|
|
58
|
+
}
|
|
59
|
+
return lines;
|
|
60
|
+
};
|
|
61
|
+
footerPatched = true;
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=interactive.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interactive.js","sourceRoot":"","sources":["../../../src/lib/pi-adapter/interactive.ts"],"names":[],"mappings":"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"}
|