@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.
Files changed (100) hide show
  1. package/README.md +91 -0
  2. package/dist/index.js +578 -0
  3. package/dist/index.js.map +1 -0
  4. package/dist/lib/account-api.js +100 -0
  5. package/dist/lib/account-api.js.map +1 -0
  6. package/dist/lib/account-session.js +30 -0
  7. package/dist/lib/account-session.js.map +1 -0
  8. package/dist/lib/ai-command.js +411 -0
  9. package/dist/lib/ai-command.js.map +1 -0
  10. package/dist/lib/chat-api.js +122 -0
  11. package/dist/lib/chat-api.js.map +1 -0
  12. package/dist/lib/codex-plugin/bridge.js +109 -0
  13. package/dist/lib/codex-plugin/bridge.js.map +1 -0
  14. package/dist/lib/codex-plugin/codex-native-proxy.js +358 -0
  15. package/dist/lib/codex-plugin/codex-native-proxy.js.map +1 -0
  16. package/dist/lib/codex-plugin/index.js +4 -0
  17. package/dist/lib/codex-plugin/index.js.map +1 -0
  18. package/dist/lib/codex-plugin/runner.js +38 -0
  19. package/dist/lib/codex-plugin/runner.js.map +1 -0
  20. package/dist/lib/credentials-store.js +74 -0
  21. package/dist/lib/credentials-store.js.map +1 -0
  22. package/dist/lib/default-model.js +8 -0
  23. package/dist/lib/default-model.js.map +1 -0
  24. package/dist/lib/login-command.js +51 -0
  25. package/dist/lib/login-command.js.map +1 -0
  26. package/dist/lib/models.js +6 -0
  27. package/dist/lib/models.js.map +1 -0
  28. package/dist/lib/oidc-auth.js +451 -0
  29. package/dist/lib/oidc-auth.js.map +1 -0
  30. package/dist/lib/oidc-session-storage.js +37 -0
  31. package/dist/lib/oidc-session-storage.js.map +1 -0
  32. package/dist/lib/pi-adapter/auth.js +38 -0
  33. package/dist/lib/pi-adapter/auth.js.map +1 -0
  34. package/dist/lib/pi-adapter/branding.js +239 -0
  35. package/dist/lib/pi-adapter/branding.js.map +1 -0
  36. package/dist/lib/pi-adapter/index.js +4 -0
  37. package/dist/lib/pi-adapter/index.js.map +1 -0
  38. package/dist/lib/pi-adapter/interactive.js +63 -0
  39. package/dist/lib/pi-adapter/interactive.js.map +1 -0
  40. package/dist/lib/pi-adapter/runtime.js +271 -0
  41. package/dist/lib/pi-adapter/runtime.js.map +1 -0
  42. package/dist/lib/pi-adapter/stream.js +314 -0
  43. package/dist/lib/pi-adapter/stream.js.map +1 -0
  44. package/dist/lib/pi-adapter/theme.js +84 -0
  45. package/dist/lib/pi-adapter/theme.js.map +1 -0
  46. package/dist/lib/pod-chat-store.js +200 -0
  47. package/dist/lib/pod-chat-store.js.map +1 -0
  48. package/dist/lib/profile-identity.js +116 -0
  49. package/dist/lib/profile-identity.js.map +1 -0
  50. package/dist/lib/prompt.js +82 -0
  51. package/dist/lib/prompt.js.map +1 -0
  52. package/dist/lib/runtime-target.js +12 -0
  53. package/dist/lib/runtime-target.js.map +1 -0
  54. package/dist/lib/solid-auth.js +55 -0
  55. package/dist/lib/solid-auth.js.map +1 -0
  56. package/dist/lib/thread-utils.js +12 -0
  57. package/dist/lib/thread-utils.js.map +1 -0
  58. package/dist/lib/watch/archive.js +110 -0
  59. package/dist/lib/watch/archive.js.map +1 -0
  60. package/dist/lib/watch/auth.js +56 -0
  61. package/dist/lib/watch/auth.js.map +1 -0
  62. package/dist/lib/watch/codex-composer.js +219 -0
  63. package/dist/lib/watch/codex-composer.js.map +1 -0
  64. package/dist/lib/watch/codex-footer.js +88 -0
  65. package/dist/lib/watch/codex-footer.js.map +1 -0
  66. package/dist/lib/watch/codex-overlay.js +154 -0
  67. package/dist/lib/watch/codex-overlay.js.map +1 -0
  68. package/dist/lib/watch/codex-request-form.js +341 -0
  69. package/dist/lib/watch/codex-request-form.js.map +1 -0
  70. package/dist/lib/watch/codex-request-input.js +187 -0
  71. package/dist/lib/watch/codex-request-input.js.map +1 -0
  72. package/dist/lib/watch/display.js +1514 -0
  73. package/dist/lib/watch/display.js.map +1 -0
  74. package/dist/lib/watch/format.js +161 -0
  75. package/dist/lib/watch/format.js.map +1 -0
  76. package/dist/lib/watch/hooks/claude.js +12 -0
  77. package/dist/lib/watch/hooks/claude.js.map +1 -0
  78. package/dist/lib/watch/hooks/codebuddy.js +18 -0
  79. package/dist/lib/watch/hooks/codebuddy.js.map +1 -0
  80. package/dist/lib/watch/hooks/codex.js +13 -0
  81. package/dist/lib/watch/hooks/codex.js.map +1 -0
  82. package/dist/lib/watch/hooks/index.js +24 -0
  83. package/dist/lib/watch/hooks/index.js.map +1 -0
  84. package/dist/lib/watch/hooks/shared.js +19 -0
  85. package/dist/lib/watch/hooks/shared.js.map +1 -0
  86. package/dist/lib/watch/index.js +10 -0
  87. package/dist/lib/watch/index.js.map +1 -0
  88. package/dist/lib/watch/pod-ai.js +168 -0
  89. package/dist/lib/watch/pod-ai.js.map +1 -0
  90. package/dist/lib/watch/pod-approval.js +578 -0
  91. package/dist/lib/watch/pod-approval.js.map +1 -0
  92. package/dist/lib/watch/pod-persistence.js +226 -0
  93. package/dist/lib/watch/pod-persistence.js.map +1 -0
  94. package/dist/lib/watch/runner.js +1124 -0
  95. package/dist/lib/watch/runner.js.map +1 -0
  96. package/dist/lib/watch/types.js +2 -0
  97. package/dist/lib/watch/types.js.map +1 -0
  98. package/dist/watch-cli.js +142 -0
  99. package/dist/watch-cli.js.map +1 -0
  100. 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":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAChE,OAAO,EAAE,OAAO,EAAW,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAC5E,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAC5F,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAA;AAE5F,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAA;AACzE,MAAM,CAAC,MAAM,wBAAwB,GAAG,qBAAqB,CAAA;AAC7D,MAAM,CAAC,MAAM,kBAAkB,GAAG,oDAAoD,CAAA;AACtF,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,EAAE,CAAA;AAEpD,MAAM,UAAU,4BAA4B,CAAC,WAAgB;IAC3D,kBAAkB,CAAC,WAAW,CAAC,CAAA;IAC/B,iBAAiB,CAAC,WAAW,CAAC,CAAA;IAC9B,uBAAuB,CAAC,WAAW,CAAC,CAAA;IACpC,WAAW,CAAC,WAAW,CAAC,CAAA;AAC1B,CAAC;AAED,SAAS,kBAAkB,CAAC,WAAgB;IAC1C,MAAM,QAAQ,GAAG,WAAW,CAAC,mBAAmB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;IACnE,WAAW,CAAC,mBAAmB,GAAG,SAAS,0BAA0B;QACnE,QAAQ,EAAE,EAAE,CAAA;QACZ,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,IAAI,OAAO,CAAC,GAAG,EAAE,CAAA;QAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,cAAc,EAAE,EAAE,CAAA;QAC3D,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,MAAM,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;QAChF,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,UAAU,MAAM,EAAE,CAAC,CAAA;IACnD,CAAC,CAAA;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,WAAgB;IACzC,WAAW,CAAC,kBAAkB,GAAG,KAAK,UAAU,yBAAyB;QACvE,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;YAC3B,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,8BAA8B,kBAAkB,CAAC,wBAAwB,CAAC,SAAS,EAAE;gBAChH,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;aAClC,CAAC,CAAA;YACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,OAAO,SAAS,CAAA;YAClB,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAA0B,CAAA;YAC1D,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;YAC1E,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;gBACvC,OAAO,SAAS,CAAA;YAClB,CAAC;YACD,OAAO,MAAM,CAAA;QACf,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAA;QAClB,CAAC;IACH,CAAC,CAAA;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,WAAgB;IAC/C,WAAW,CAAC,0BAA0B,GAAG,SAAS,iCAAiC,CAAC,UAAkB;QACpG,MAAM,KAAK,GAAG;YACZ,sDAAsD;YACtD,sBAAsB,UAAU,gFAAgF;YAChH,qCAAqC,kBAAkB,UAAU;SAClE,CAAA;QACD,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QAChE,IAAI,CAAC,EAAE,EAAE,aAAa,EAAE,EAAE,CAAA;IAC5B,CAAC,CAAA;AACH,CAAC;AAED,SAAS,WAAW,CAAC,WAAgB;IACnC,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IACvD,WAAW,CAAC,IAAI,GAAG,KAAK,UAAU,WAAW;QAC3C,MAAM,YAAY,EAAE,CAAA;QAEpB,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,eAAe,EAAE,EAAE,CAAA;QAC9F,IAAI,YAAY,EAAE,CAAC;YACjB,OAAM;QACR,CAAC;QAED,IAAI,kBAAkB,GAAkB,IAAI,CAAA;QAC5C,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAA;QACzF,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,aAAa,CAAA;QAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAA;QAC5E,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YACf,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,WAAW,CAAA;QACpD,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,WAAW,CAAA;QAC/B,IAAI,CAAC,EAAE,EAAE,aAAa,EAAE,EAAE,CAAA;QAC1B,IAAI,CAAC,mBAAmB,EAAE,EAAE,CAAA;QAE5B,KAAK,uBAAuB,CAAC,GAAG,EAAE,CAAC,yBAAyB,EAAE,CAAC;aAC5D,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE;YACpB,IAAI,CAAC,WAAW,IAAI,WAAW,KAAK,kBAAkB,EAAE,CAAC;gBACvD,OAAM;YACR,CAAC;YACD,kBAAkB,GAAG,WAAW,CAAA;YAChC,WAAW,CAAC,UAAU,EAAE,CAAA;YACxB,IAAI,CAAC,EAAE,EAAE,aAAa,EAAE,EAAE,CAAA;QAC5B,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;IAC3B,CAAC,CAAA;AACH,CAAC;AAYD,MAAM,eAAe;IACU;IAA7B,YAA6B,QAA2B;QAA3B,aAAQ,GAAR,QAAQ,CAAmB;IAAG,CAAC;IAE5D,UAAU,KAAU,CAAC;IAErB,MAAM,CAAC,KAAa;QAClB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;QAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;QAC7B,MAAM,UAAU,GAAG;YACjB,+BAA+B,gBAAgB,UAAU;YACzD,wBAAwB,KAAK,CAAC,QAAQ,UAAU;SACjD,CAAA;QACD,MAAM,IAAI,GAAG;YACX,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC;YAC7C,WAAW,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC;YACnD,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC;YAC7C,WAAW,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC;YACrD,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC;YACjD,EAAE;YACF,eAAe,CAAC,4BAA4B,KAAK,CAAC,IAAI,EAAE,EAAE,UAAU,CAAC;SACtE,CAAA;QAED,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAA;QAC/E,MAAM,IAAI,GAAG;YACX,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YACvD,OAAO,CAAC,EAAE,EAAE,UAAU,CAAC;YACvB,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;SACxD,CAAA;QAED,OAAO;YACL,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG;YACjC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC;YACpC,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG;SAClC,CAAA;IACH,CAAC;CACF;AAED,SAAS,gBAAgB,CAAC,WAAgB,EAAE,qBAAoC,IAAI;IAClF,MAAM,WAAW,GAAG,eAAe,EAAE,CAAA;IACrC,MAAM,KAAK,GAAG,WAAW,EAAE,KAAK,IAAI,eAAe,CAAA;IACnD,MAAM,SAAS,GAAG,WAAW,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,IAAI,OAAO,CAAC,GAAG,EAAE,CAAA;IAC1E,MAAM,SAAS,GAAG,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,EAAE,CAAA;IAC/D,MAAM,WAAW,GAAG,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,EAAE,CAAA;IACnE,MAAM,OAAO,GAAG,WAAW,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,WAAW,KAAK,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,CAAA;IACtH,MAAM,KAAK,GAAG,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,eAAe,CAAA;IAEhE,OAAO;QACL,KAAK;QACL,QAAQ,EAAE,kBAAkB,IAAI,wBAAwB,CAAC,KAAK,CAAC;QAC/D,QAAQ,EAAE,2BAA2B,CAAC,WAAW,CAAC;QAClD,KAAK;QACL,SAAS;QACT,OAAO;QACP,IAAI,EAAE;YACJ,OAAO,CAAC,kBAAkB,EAAE,MAAM,CAAC;YACnC,OAAO,CAAC,kBAAkB,EAAE,OAAO,CAAC;YACpC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC;YAC5B,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC;SAC5B,CAAC,IAAI,CAAC,oBAAoB,CAAC;KAC7B,CAAA;AACH,CAAC;AAED,SAAS,WAAW,CAAC,KAAa,EAAE,KAAa,EAAE,KAAa;IAC9D,MAAM,MAAM,GAAG,UAAU,KAAK,UAAU,CAAA;IACxC,MAAM,YAAY,GAAG,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAChF,OAAO,eAAe,CAAC,GAAG,YAAY,IAAI,KAAK,EAAE,EAAE,KAAK,CAAC,CAAA;AAC3D,CAAC;AAED,SAAS,UAAU,CAAC,IAAY,EAAE,KAAa;IAC7C,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAA;IAC7B,CAAC;IAED,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IAC7C,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC;QACvB,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAA;AAC1B,CAAC;AAED,SAAS,cAAc,CAAC,SAAkB;IACxC,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;QACvD,OAAO,aAAa,CAAA;IACtB,CAAC;IACD,OAAO,SAAS,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AACnE,CAAC;AAED,SAAS,OAAO,CAAC,IAAY,EAAE,KAAa;IAC1C,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;IAClC,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;QACrB,OAAO,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IACrC,CAAC;IACD,OAAO,GAAG,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,EAAE,CAAA;AAChD,CAAC;AAED,SAAS,kBAAkB;IACzB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,GAAG,CAAC,oBAAoB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAA;QACjF,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAyB,CAAA;QACnD,OAAO,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAA;IAC7F,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAA;IAChB,CAAC;AACH,CAAC;AAED,SAAS,2BAA2B,CAAC,WAAgB;IACnD,MAAM,MAAM,GAAG,WAAW,EAAE,WAAW,EAAE,cAAc,IAAI,WAAW,EAAE,cAAc,CAAA;IACtF,IAAI,MAAM,EAAE,aAAa,EAAE,CAAC;QAC1B,OAAO,MAAM,CAAC,aAAa,CAAA;IAC7B,CAAC;IACD,OAAO,mBAAmB,CAAA;AAC5B,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAI,SAA2B;IACnE,IAAI,OAAO,CAAC,GAAG,CAAC,wBAAwB,KAAK,GAAG,EAAE,CAAC;QACjD,OAAO,MAAM,SAAS,EAAE,CAAA;IAC1B,CAAC;IAED,MAAM,aAAa,GAAG,oBAAoB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAC1D,MAAM,aAAa,GAAG,oBAAoB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAC1D,IAAI,CAAC;QACH,OAAO,MAAM,SAAS,EAAE,CAAA;IAC1B,CAAC;YAAS,CAAC;QACT,aAAa,EAAE,CAAA;QACf,aAAa,EAAE,CAAA;IACjB,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,MAA0B;IACtD,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAwB,CACrE;IAAC,MAAoD,CAAC,KAAK,GAAG,SAAS,YAAY,CAClF,KAA0B,EAC1B,kBAAsE,EACtE,QAAyC;QAEzC,MAAM,QAAQ,GAAG,OAAO,kBAAkB,KAAK,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAA;QACxF,MAAM,UAAU,GAAG,OAAO,kBAAkB,KAAK,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,QAAQ,CAAA;QAC3F,MAAM,IAAI,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;QACtF,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAA;QAE1C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,UAAU,EAAE,EAAE,CAAA;YACd,OAAO,IAAI,CAAA;QACb,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,aAAa,CAAC,QAAQ,EAAE,kBAAoC,EAAE,QAAQ,CAAC,CAAA;QAChF,CAAC;QACD,OAAO,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAA;IACjE,CAAwB,CAAA;IAExB,OAAO,GAAG,EAAE;QACV,CAAC;QAAC,MAAoD,CAAC,KAAK,GAAG,aAAa,CAAA;IAC9E,CAAC,CAAA;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa;IACxC,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAA,iDAAiD,CAAA;IAC9E,OAAO,KAAK;SACT,OAAO,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA,4BAA4B,UAAU,kBAAkB,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC;SAChG,OAAO,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA,8BAA8B,UAAU,kBAAkB,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC;SAClG,OAAO,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA,kBAAkB,UAAU,kBAAkB,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC;SACtF,OAAO,CAAC,sDAAsD,EAAE,EAAE,CAAC,CAAA;AACxE,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './interactive.js';
2
+ export * from './runtime.js';
3
+ export * from './stream.js';
4
+ //# sourceMappingURL=index.js.map
@@ -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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"}