@undefineds.co/linx 0.2.16 → 0.2.18

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 (42) hide show
  1. package/dist/generated/version.js +3 -0
  2. package/dist/generated/version.js.map +1 -0
  3. package/dist/index.js +10 -17
  4. package/dist/index.js.map +1 -1
  5. package/dist/lib/ai-command.js +169 -301
  6. package/dist/lib/ai-command.js.map +1 -1
  7. package/dist/lib/login-command.js +30 -22
  8. package/dist/lib/login-command.js.map +1 -1
  9. package/dist/lib/models.js +2 -2
  10. package/dist/lib/models.js.map +1 -1
  11. package/dist/lib/oidc-auth.js +59 -12
  12. package/dist/lib/oidc-auth.js.map +1 -1
  13. package/dist/lib/pi-adapter/auth.js +36 -7
  14. package/dist/lib/pi-adapter/auth.js.map +1 -1
  15. package/dist/lib/pi-adapter/branding.js +215 -5
  16. package/dist/lib/pi-adapter/branding.js.map +1 -1
  17. package/dist/lib/pi-adapter/interactive.js +25 -1
  18. package/dist/lib/pi-adapter/interactive.js.map +1 -1
  19. package/dist/lib/pi-adapter/pod-mirror.js +219 -137
  20. package/dist/lib/pi-adapter/pod-mirror.js.map +1 -1
  21. package/dist/lib/pi-adapter/pod-tools.js +104 -0
  22. package/dist/lib/pi-adapter/pod-tools.js.map +1 -0
  23. package/dist/lib/pi-adapter/runtime.js +207 -23
  24. package/dist/lib/pi-adapter/runtime.js.map +1 -1
  25. package/dist/lib/pi-adapter/session.js +63 -182
  26. package/dist/lib/pi-adapter/session.js.map +1 -1
  27. package/dist/lib/pi-adapter/web-fetch.js +154 -0
  28. package/dist/lib/pi-adapter/web-fetch.js.map +1 -0
  29. package/dist/lib/pod-chat-store.js +40 -30
  30. package/dist/lib/pod-chat-store.js.map +1 -1
  31. package/dist/lib/pod-data-session.js.map +1 -1
  32. package/dist/lib/watch/pod-approval.js +275 -303
  33. package/dist/lib/watch/pod-approval.js.map +1 -1
  34. package/dist/lib/watch/pod-persistence.js +37 -35
  35. package/dist/lib/watch/pod-persistence.js.map +1 -1
  36. package/dist/skills/drizzle-solid/SKILL.md +340 -0
  37. package/dist/skills/pod-storage/SKILL.md +60 -0
  38. package/dist/skills/solid-modeling/SKILL.md +274 -0
  39. package/dist/skills/xpod-componentsjs/SKILL.md +284 -0
  40. package/package.json +2 -2
  41. package/dist/lib/pi-adapter/pod-native.js +0 -478
  42. package/dist/lib/pi-adapter/pod-native.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"login-command.js","sourceRoot":"","sources":["../../src/lib/login-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"login-command.js","sourceRoot":"","sources":["../../src/lib/login-command.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { XPOD_AI, XPOD_CREDENTIAL, aiConfigModelUri, aiConfigProviderUri, aiModelTable, aiProviderTable, buildAIConfigMutationPlan, buildAIConfigProviderStateMap, buildWatchThreadMetadata, buildWatchTranscriptMessages, credentialTable, ContactType, agentTable, applySolidComunicaPatches, chatTable, contactTable, drizzle, eq, getAIConfigProviderFamilyIds, getAIConfigProviderMetadata, getDefaultAIConfigCredentialId, getBuiltinModels as getSharedBuiltinModels, findPodRowByStorageId, initSolidTables, whereByPodStorageId, solidSchema, messageTable, sessionTable, normalizeAIConfigProviderId, normalizeAIConfigResourceId, sameAIConfigProviderFamily, sessionRepository, threadTable, } from '@undefineds.co/models';
2
- export { ContactType, agentTable, applySolidComunicaPatches, aiConfigModelUri, aiConfigProviderUri, aiModelTable, aiProviderTable, buildAIConfigMutationPlan, buildAIConfigProviderStateMap, buildWatchThreadMetadata, buildWatchTranscriptMessages, chatTable, contactTable, credentialTable, drizzle, eq, getAIConfigProviderFamilyIds, getAIConfigProviderMetadata, getDefaultAIConfigCredentialId, findPodRowByStorageId, solidSchema, initSolidTables, whereByPodStorageId, messageTable, sessionTable, normalizeAIConfigProviderId, normalizeAIConfigResourceId, sameAIConfigProviderFamily, sessionRepository, threadTable, XPOD_AI, XPOD_CREDENTIAL, };
1
+ import { XPOD_AI, XPOD_CREDENTIAL, aiConfigModelRef, aiConfigProviderRef, aiModelTable, aiProviderTable, buildAIConfigMutationPlan, buildAIConfigProviderStateMap, buildWatchThreadMetadata, buildWatchTranscriptMessages, credentialTable, ContactType, extractChatIdFromChatRef, extractThreadIdFromThreadRef, agentTable, approvalResource, auditResource, applySolidComunicaPatches, chatTable, contactTable, drizzle, eq, getAIConfigProviderFamilyIds, getAIConfigProviderMetadata, getDefaultAIConfigCredentialId, getBuiltinModels as getSharedBuiltinModels, grantResource, inboxNotificationTable, initSolidTables, solidSchema, messageTable, sessionTable, normalizeAIConfigProviderId, normalizeAIConfigModelId, normalizeAIConfigResourceId, sameAIConfigProviderFamily, sessionRepository, threadTable, } from '@undefineds.co/models';
2
+ export { ContactType, extractChatIdFromChatRef, extractThreadIdFromThreadRef, agentTable, approvalResource, auditResource, applySolidComunicaPatches, aiConfigModelRef, aiConfigProviderRef, aiModelTable, aiProviderTable, buildAIConfigMutationPlan, buildAIConfigProviderStateMap, buildWatchThreadMetadata, buildWatchTranscriptMessages, chatTable, contactTable, credentialTable, drizzle, eq, getAIConfigProviderFamilyIds, getAIConfigProviderMetadata, getDefaultAIConfigCredentialId, grantResource, inboxNotificationTable, solidSchema, initSolidTables, messageTable, sessionTable, normalizeAIConfigProviderId, normalizeAIConfigModelId, normalizeAIConfigResourceId, sameAIConfigProviderFamily, sessionRepository, threadTable, XPOD_AI, XPOD_CREDENTIAL, };
3
3
  export function getBuiltinModels() {
4
4
  return getSharedBuiltinModels();
5
5
  }
@@ -1 +1 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/lib/models.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,YAAY,EACZ,eAAe,EACf,yBAAyB,EACzB,6BAA6B,EAC7B,wBAAwB,EACxB,4BAA4B,EAC5B,eAAe,EACf,WAAW,EACX,UAAU,EACV,yBAAyB,EACzB,SAAS,EACT,YAAY,EACZ,OAAO,EACP,EAAE,EACF,4BAA4B,EAC5B,2BAA2B,EAC3B,8BAA8B,EAC9B,gBAAgB,IAAI,sBAAsB,EAC1C,qBAAqB,EACrB,eAAe,EACf,mBAAmB,EACnB,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,2BAA2B,EAC3B,2BAA2B,EAC3B,0BAA0B,EAC1B,iBAAiB,EACjB,WAAW,GAmBZ,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EACL,WAAW,EACX,UAAU,EACV,yBAAyB,EACzB,gBAAgB,EAChB,mBAAmB,EACnB,YAAY,EACZ,eAAe,EACf,yBAAyB,EACzB,6BAA6B,EAC7B,wBAAwB,EACxB,4BAA4B,EAC5B,SAAS,EACT,YAAY,EACZ,eAAe,EACf,OAAO,EACP,EAAE,EACF,4BAA4B,EAC5B,2BAA2B,EAC3B,8BAA8B,EAC9B,qBAAqB,EACrB,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,2BAA2B,EAC3B,2BAA2B,EAC3B,0BAA0B,EAC1B,iBAAiB,EACjB,WAAW,EACX,OAAO,EACP,eAAe,GAChB,CAAA;AAsBD,MAAM,UAAU,gBAAgB;IAC9B,OAAO,sBAAsB,EAAE,CAAA;AACjC,CAAC"}
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/lib/models.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,YAAY,EACZ,eAAe,EACf,yBAAyB,EACzB,6BAA6B,EAC7B,wBAAwB,EACxB,4BAA4B,EAC5B,eAAe,EACf,WAAW,EACX,wBAAwB,EACxB,4BAA4B,EAC5B,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,yBAAyB,EACzB,SAAS,EACT,YAAY,EACZ,OAAO,EACP,EAAE,EACF,4BAA4B,EAC5B,2BAA2B,EAC3B,8BAA8B,EAC9B,gBAAgB,IAAI,sBAAsB,EAC1C,aAAa,EACb,sBAAsB,EACtB,eAAe,EACf,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,2BAA2B,EAC3B,wBAAwB,EACxB,2BAA2B,EAC3B,0BAA0B,EAC1B,iBAAiB,EACjB,WAAW,GA0BZ,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EACL,WAAW,EACX,wBAAwB,EACxB,4BAA4B,EAC5B,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,yBAAyB,EACzB,gBAAgB,EAChB,mBAAmB,EACnB,YAAY,EACZ,eAAe,EACf,yBAAyB,EACzB,6BAA6B,EAC7B,wBAAwB,EACxB,4BAA4B,EAC5B,SAAS,EACT,YAAY,EACZ,eAAe,EACf,OAAO,EACP,EAAE,EACF,4BAA4B,EAC5B,2BAA2B,EAC3B,8BAA8B,EAC9B,aAAa,EACb,sBAAsB,EACtB,WAAW,EACX,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,2BAA2B,EAC3B,wBAAwB,EACxB,2BAA2B,EAC3B,0BAA0B,EAC1B,iBAAiB,EACjB,WAAW,EACX,OAAO,EACP,eAAe,GAChB,CAAA;AA6BD,MAAM,UAAU,gBAAgB;IAC9B,OAAO,sBAAsB,EAAE,CAAA;AACjC,CAAC"}
@@ -38,7 +38,7 @@ export function isOidcLoginExpiredError(error) {
38
38
  }
39
39
  export async function ensureBrowserConsentLogin(options = {}) {
40
40
  if (!options.forceFresh) {
41
- const reused = await reuseExistingBrowserConsentLogin(options).catch(() => null);
41
+ const reused = await reuseBrowserConsentLogin(options).catch(() => null);
42
42
  if (reused) {
43
43
  return {
44
44
  ...reused,
@@ -87,7 +87,7 @@ export async function loginWithBrowserConsent(options = {}) {
87
87
  }, async (requestUrl) => {
88
88
  assertOidcCallbackDidNotReturnError(requestUrl);
89
89
  await session.handleIncomingRedirect(requestUrl);
90
- }, options.manualRedirectUrl);
90
+ }, options.manualRedirectUrl, options.signal);
91
91
  if (!session.info.isLoggedIn || !session.info.webId) {
92
92
  throw new Error('Login did not complete successfully');
93
93
  }
@@ -104,12 +104,12 @@ export async function loginWithBrowserConsent(options = {}) {
104
104
  persistBrowserLoginResult(result);
105
105
  return result;
106
106
  }
107
- export async function getOidcAccessToken(credentials) {
107
+ export async function getOidcAccessToken(credentials, options = {}) {
108
108
  if (credentials.authType !== 'oidc_oauth' || !isLinxOidcOAuthSecrets(credentials.secrets)) {
109
109
  return null;
110
110
  }
111
111
  const secrets = credentials.secrets;
112
- if (!secrets.oidcAccessToken) {
112
+ if (options.forceRefresh || !secrets.oidcAccessToken) {
113
113
  return refreshStoredOidcSession(credentials, secrets);
114
114
  }
115
115
  const expiresAt = secrets.oidcExpiresAt ? new Date(secrets.oidcExpiresAt).getTime() : 0;
@@ -133,9 +133,10 @@ export function serializeOidcCredentials(url, webId, tokenSet) {
133
133
  },
134
134
  };
135
135
  }
136
- export async function withCallbackServer(host, pathname, startLogin, onCallback, manualRedirectUrl) {
136
+ export async function withCallbackServer(host, pathname, startLogin, onCallback, manualRedirectUrl, signal) {
137
137
  const server = createServer();
138
138
  const sockets = new Set();
139
+ let manualRedirectAbortController;
139
140
  server.on('connection', (socket) => {
140
141
  sockets.add(socket);
141
142
  socket.on('close', () => {
@@ -195,13 +196,15 @@ export async function withCallbackServer(host, pathname, startLogin, onCallback,
195
196
  throw new Error('Failed to allocate local callback server port');
196
197
  }
197
198
  const callbackUrl = `http://${host}:${address.port}${pathname}`;
198
- const manualRedirectAbortController = new AbortController();
199
+ const manualRedirectController = new AbortController();
200
+ manualRedirectAbortController = manualRedirectController;
201
+ const manualRedirectSignal = combineAbortSignals(manualRedirectController.signal, signal);
199
202
  const cancellableCallbackPromise = callbackPromise.finally(() => {
200
- manualRedirectAbortController.abort();
203
+ manualRedirectController.abort();
201
204
  });
202
205
  await startLogin(callbackUrl);
203
- const manualRedirectPromise = waitForManualRedirect(onCallback, manualRedirectUrl, manualRedirectAbortController.signal).catch((error) => {
204
- if (manualRedirectAbortController.signal.aborted) {
206
+ const manualRedirectPromise = waitForManualRedirect(onCallback, manualRedirectUrl, manualRedirectSignal).catch((error) => {
207
+ if (manualRedirectController.signal.aborted) {
205
208
  return new Promise(() => undefined);
206
209
  }
207
210
  throw error;
@@ -209,9 +212,11 @@ export async function withCallbackServer(host, pathname, startLogin, onCallback,
209
212
  await Promise.race([
210
213
  cancellableCallbackPromise,
211
214
  manualRedirectPromise,
215
+ waitForAbort(signal),
212
216
  ]);
213
217
  }
214
218
  finally {
219
+ manualRedirectAbortController?.abort();
215
220
  server.closeIdleConnections?.();
216
221
  server.closeAllConnections?.();
217
222
  for (const socket of sockets) {
@@ -353,7 +358,7 @@ function renderCallbackPage(input) {
353
358
  </body>
354
359
  </html>`;
355
360
  }
356
- async function reuseExistingBrowserConsentLogin(options) {
361
+ export async function reuseBrowserConsentLogin(options) {
357
362
  const stored = loadCredentials();
358
363
  if (!stored || stored.authType !== 'oidc_oauth') {
359
364
  return null;
@@ -366,7 +371,7 @@ async function reuseExistingBrowserConsentLogin(options) {
366
371
  if (requestedIssuer !== storedIssuer) {
367
372
  return null;
368
373
  }
369
- const accessToken = await getOidcAccessToken(stored);
374
+ const accessToken = await getOidcAccessToken(stored, { forceRefresh: options.forceRefreshExisting });
370
375
  if (!accessToken || !isLinxOidcOAuthSecrets(stored.secrets)) {
371
376
  return null;
372
377
  }
@@ -495,13 +500,55 @@ async function waitForManualRedirect(onCallback, manualRedirectUrl, signal) {
495
500
  await new Promise(() => undefined);
496
501
  return;
497
502
  }
498
- const requestUrl = await manualRedirectUrl(signal);
503
+ let requestUrl;
504
+ try {
505
+ requestUrl = await manualRedirectUrl(signal);
506
+ }
507
+ catch (error) {
508
+ if (signal?.aborted) {
509
+ throw error;
510
+ }
511
+ await new Promise(() => undefined);
512
+ return;
513
+ }
499
514
  if (signal?.aborted || !requestUrl) {
500
515
  await new Promise(() => undefined);
501
516
  return;
502
517
  }
503
518
  await onCallback(requestUrl);
504
519
  }
520
+ function waitForAbort(signal) {
521
+ if (!signal) {
522
+ return new Promise(() => undefined);
523
+ }
524
+ return new Promise((_, reject) => {
525
+ const rejectCancelled = () => reject(new Error('Login cancelled'));
526
+ if (signal.aborted) {
527
+ rejectCancelled();
528
+ return;
529
+ }
530
+ signal.addEventListener('abort', rejectCancelled, { once: true });
531
+ });
532
+ }
533
+ function combineAbortSignals(...signals) {
534
+ const activeSignals = signals.filter((entry) => Boolean(entry));
535
+ if (activeSignals.length === 0) {
536
+ return undefined;
537
+ }
538
+ if (activeSignals.length === 1) {
539
+ return activeSignals[0];
540
+ }
541
+ const controller = new AbortController();
542
+ const abort = () => controller.abort();
543
+ for (const entry of activeSignals) {
544
+ if (entry.aborted) {
545
+ controller.abort();
546
+ break;
547
+ }
548
+ entry.addEventListener('abort', abort, { once: true });
549
+ }
550
+ return controller.signal;
551
+ }
505
552
  export async function openBrowser(url) {
506
553
  if (process.platform === 'darwin') {
507
554
  await execFileAsync('open', [url]);
@@ -1 +1 @@
1
- {"version":3,"file":"oidc-auth.js","sourceRoot":"","sources":["../../src/lib/oidc-auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oidc-auth.js","sourceRoot":"","sources":["../../src/lib/oidc-auth.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,47 @@
1
1
  import { getClientCredentialId, getClientCredentialKey, getClientCredentials, loadCredentials } from '../credentials-store.js';
2
2
  import { getOidcAccessToken, isOidcLoginExpiredError } from '../oidc-auth.js';
3
3
  import { getAccessToken } from '../solid-auth.js';
4
- export async function resolveLinxPiCloudOAuthCredential(issuerUrl, runtime = {
5
- loadCredentials,
6
- getClientCredentials,
7
- getAccessToken,
8
- }) {
4
+ function isPiAuthBridgeRuntime(value) {
5
+ return typeof value === 'object'
6
+ && value !== null
7
+ && ('loadCredentials' in value
8
+ || 'getClientCredentials' in value
9
+ || 'getAccessToken' in value
10
+ || 'getOidcAccessToken' in value);
11
+ }
12
+ function resolveOidcExpiresAt(secrets) {
13
+ const rawExpiresAt = typeof secrets === 'object'
14
+ && secrets !== null
15
+ && 'oidcExpiresAt' in secrets
16
+ ? secrets.oidcExpiresAt
17
+ : undefined;
18
+ if (typeof rawExpiresAt !== 'string') {
19
+ return Date.now();
20
+ }
21
+ const expiresAt = new Date(rawExpiresAt).getTime();
22
+ return Number.isFinite(expiresAt) ? expiresAt : Date.now();
23
+ }
24
+ export async function resolveLinxPiCloudOAuthCredential(issuerUrl, optionsOrRuntime = {}, runtimeArg) {
25
+ const defaultRuntime = {
26
+ loadCredentials,
27
+ getClientCredentials,
28
+ getAccessToken,
29
+ getOidcAccessToken,
30
+ };
31
+ const options = isPiAuthBridgeRuntime(optionsOrRuntime)
32
+ ? {}
33
+ : optionsOrRuntime;
34
+ const runtime = {
35
+ ...defaultRuntime,
36
+ ...(isPiAuthBridgeRuntime(optionsOrRuntime) ? optionsOrRuntime : runtimeArg),
37
+ };
9
38
  const stored = runtime.loadCredentials();
10
39
  if (!stored) {
11
40
  return null;
12
41
  }
13
42
  const clientCredentials = runtime.getClientCredentials(stored);
14
43
  if (!clientCredentials) {
15
- const oidcAccessToken = await getOidcAccessToken(stored).catch((error) => {
44
+ const oidcAccessToken = await runtime.getOidcAccessToken(stored, { forceRefresh: options.forceRefresh }).catch((error) => {
16
45
  if (isOidcLoginExpiredError(error)) {
17
46
  throw error;
18
47
  }
@@ -25,7 +54,7 @@ export async function resolveLinxPiCloudOAuthCredential(issuerUrl, runtime = {
25
54
  type: 'oauth',
26
55
  refresh: 'linx-oidc-refresh',
27
56
  access: oidcAccessToken,
28
- expires: Date.now() + 60 * 60 * 1000,
57
+ expires: resolveOidcExpiresAt(stored.secrets),
29
58
  };
30
59
  }
31
60
  const resolvedIssuerUrl = issuerUrl?.trim() || stored.url;
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/lib/pi-adapter/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAC9H,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AAC7E,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,CAAC,KAAK,EAAE,EAAE;YACvE,IAAI,uBAAuB,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnC,MAAM,KAAK,CAAA;YACb,CAAC;YACD,OAAO,IAAI,CAAA;QACb,CAAC,CAAC,CAAA;QACF,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,QAAQ,GAAG,qBAAqB,CAAC,iBAAiB,CAAC,CAAA;IACzD,MAAM,YAAY,GAAG,sBAAsB,CAAC,iBAAiB,CAAC,CAAA;IAC9D,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,YAAY,EAAE,iBAAiB,CAAC,CAAA;IACrF,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO;QACL,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,YAAY;QACrB,MAAM,EAAE,KAAK,CAAC,WAAW;QACzB,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE;KACnC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/lib/pi-adapter/auth.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ export const LINX_CHANGELOG_URL = 'https://github.com/undefineds-co/linx-cli/rel
13
13
  export const LINX_CLI_VERSION = readLinxCliVersion();
14
14
  const LINX_AUTH_LOGIN_IN_PROGRESS = Symbol.for('linx.tui.authLoginInProgress');
15
15
  const LINX_AUTH_LOGIN_ON_INIT = Symbol.for('linx.tui.authLoginOnInit');
16
+ const LINX_AUTH_PENDING_RETRY = Symbol.for('linx.tui.authPendingRetry');
16
17
  const LINX_AUTH_LOGIN_SCHEDULED = Symbol.for('linx.tui.authLoginScheduled');
17
18
  const LINX_AUTH_REPORTING_ERROR = Symbol.for('linx.tui.authReportingError');
18
19
  const LINX_UPDATE_IN_PROGRESS = Symbol.for('linx.tui.updateInProgress');
@@ -222,10 +223,13 @@ function patchAuthExpiredSessionEvents(interactive) {
222
223
  return;
223
224
  }
224
225
  interactive.handleEvent = async function patchedHandleEvent(event) {
225
- const result = await originalHandleEvent(event);
226
226
  if (eventHasLinxAuthExpiredError(event)) {
227
+ prepareLinxAuthExpiredRetry(this);
228
+ suppressLinxAuthExpiredAssistantError(this);
227
229
  scheduleLinxCloudLogin(this, 'expired');
230
+ return undefined;
228
231
  }
232
+ const result = await originalHandleEvent(event);
229
233
  return result;
230
234
  };
231
235
  }
@@ -283,7 +287,7 @@ async function startLinxCloudLogin(interactive, options = {}) {
283
287
  }
284
288
  await runLinxCloudBrowserLogin(interactive, authStorage, reason);
285
289
  await refreshLinxAuthState(interactive);
286
- interactive.showStatus?.(`${authStatusPrefix(reason)} Browser authorization complete. Retry your message.`);
290
+ await finishLinxAuthSuccess(interactive, reason, 'Browser authorization complete.');
287
291
  return;
288
292
  }
289
293
  if (selected === AUTH_OPTION_API_KEY) {
@@ -403,7 +407,210 @@ async function promptForLinxApiKey(interactive, reason) {
403
407
  authStorage?.setRuntimeApiKey?.(LINX_PROVIDER_ID, trimmed);
404
408
  authStorage?.set?.(LINX_PROVIDER_ID, { type: 'api_key', key: trimmed });
405
409
  await refreshLinxAuthState(interactive);
406
- interactive.showStatus?.(`${authStatusPrefix(reason)} API key saved for this TUI session. Retry your message.`);
410
+ await finishLinxAuthSuccess(interactive, reason, 'API key saved for this TUI session.');
411
+ }
412
+ async function finishLinxAuthSuccess(interactive, reason, detail) {
413
+ const prefix = authStatusPrefix(reason);
414
+ const retryStarted = await retryPendingLinxAuthTurn(interactive, reason);
415
+ if (retryStarted) {
416
+ interactive.showStatus?.(`${prefix} ${detail} Retrying your message...`);
417
+ return;
418
+ }
419
+ const suffix = reason === 'expired' ? ' Retry your message.' : '';
420
+ interactive.showStatus?.(`${prefix} ${detail}${suffix}`);
421
+ }
422
+ function prepareLinxAuthExpiredRetry(interactive) {
423
+ if (interactive[LINX_AUTH_PENDING_RETRY]) {
424
+ return;
425
+ }
426
+ const session = interactive.session;
427
+ const sessionManager = session?.sessionManager;
428
+ const leafId = typeof sessionManager?.getLeafId === 'function'
429
+ ? sessionManager.getLeafId()
430
+ : undefined;
431
+ const leafEntry = leafId && typeof sessionManager?.getEntry === 'function'
432
+ ? sessionManager.getEntry(leafId)
433
+ : undefined;
434
+ const leafMessage = leafEntry?.type === 'message' ? leafEntry.message : undefined;
435
+ const userEntry = findLastUserMessageEntry(sessionManager, leafId);
436
+ const promptText = extractUserMessageText(userEntry?.message)
437
+ ?? extractUserMessageText(leafMessage)
438
+ ?? findLastUserMessageText(session?.state?.messages);
439
+ const pending = {
440
+ continueFromId: userEntry?.id ?? (leafMessage?.role === 'user' ? leafId : undefined),
441
+ promptText,
442
+ promptParentId: userEntry?.parentId ?? (leafMessage?.role === 'user' ? leafEntry.parentId : undefined),
443
+ };
444
+ interactive[LINX_AUTH_PENDING_RETRY] = pending;
445
+ // AgentSession persists the assistant error after TUI subscribers run. Restore
446
+ // the active branch on the next tick so "continue" never resumes from the
447
+ // failed auth assistant message if the user cancels or login fails.
448
+ setTimeout(() => {
449
+ if (interactive[LINX_AUTH_PENDING_RETRY] === pending) {
450
+ restoreLinxRetryBranch(interactive.session, pending.continueFromId);
451
+ }
452
+ }, 0);
453
+ }
454
+ function suppressLinxAuthExpiredAssistantError(interactive) {
455
+ const streamingComponent = interactive.streamingComponent;
456
+ if (streamingComponent) {
457
+ interactive.chatContainer?.removeChild?.(streamingComponent);
458
+ }
459
+ interactive.streamingComponent = undefined;
460
+ interactive.streamingMessage = undefined;
461
+ interactive.footer?.invalidate?.();
462
+ interactive.ui?.requestRender?.();
463
+ }
464
+ async function retryPendingLinxAuthTurn(interactive, reason) {
465
+ if (reason !== 'expired') {
466
+ return false;
467
+ }
468
+ const pending = interactive[LINX_AUTH_PENDING_RETRY];
469
+ if (!pending) {
470
+ return false;
471
+ }
472
+ interactive[LINX_AUTH_PENDING_RETRY] = undefined;
473
+ const session = interactive.session;
474
+ const sessionManager = session?.sessionManager;
475
+ if (!session || !sessionManager) {
476
+ return false;
477
+ }
478
+ await session.agent?.waitForIdle?.();
479
+ try {
480
+ restoreLinxRetryBranch(session, pending.continueFromId);
481
+ if (typeof session.agent?.continue === 'function') {
482
+ startLinxContinuation(interactive, session, pending);
483
+ return true;
484
+ }
485
+ }
486
+ catch (error) {
487
+ if (!pending.promptText) {
488
+ throw error;
489
+ }
490
+ }
491
+ if (!pending.promptText || typeof session.prompt !== 'function') {
492
+ return false;
493
+ }
494
+ restoreLinxRetryBranch(session, pending.promptParentId);
495
+ const promptResult = session.prompt(pending.promptText);
496
+ if (isPromiseLike(promptResult)) {
497
+ promptResult.catch((error) => {
498
+ const message = error instanceof Error ? error.message : String(error);
499
+ interactive.showError?.(`LinX Cloud retry failed: ${message}`);
500
+ });
501
+ }
502
+ return true;
503
+ }
504
+ function startLinxContinuation(interactive, session, pending) {
505
+ try {
506
+ const result = session.agent.continue();
507
+ if (isPromiseLike(result)) {
508
+ result.catch((error) => {
509
+ void retryLinxPromptFallback(interactive, session, pending, error);
510
+ });
511
+ }
512
+ }
513
+ catch (error) {
514
+ void retryLinxPromptFallback(interactive, session, pending, error);
515
+ }
516
+ }
517
+ async function retryLinxPromptFallback(interactive, session, pending, cause) {
518
+ if (!pending.promptText || typeof session?.prompt !== 'function') {
519
+ const message = cause instanceof Error ? cause.message : String(cause);
520
+ interactive.showError?.(`LinX Cloud retry failed: ${message}`);
521
+ return;
522
+ }
523
+ try {
524
+ restoreLinxRetryBranch(session, pending.promptParentId);
525
+ await session.prompt(pending.promptText);
526
+ }
527
+ catch (error) {
528
+ const message = error instanceof Error ? error.message : String(error);
529
+ interactive.showError?.(`LinX Cloud retry failed: ${message}`);
530
+ }
531
+ }
532
+ function restoreLinxRetryBranch(session, leafId) {
533
+ const sessionManager = session?.sessionManager;
534
+ if (!sessionManager) {
535
+ return;
536
+ }
537
+ if (typeof leafId === 'string' && leafId) {
538
+ sessionManager.branch?.(leafId);
539
+ }
540
+ else if (leafId === null) {
541
+ sessionManager.resetLeaf?.();
542
+ }
543
+ const context = sessionManager.buildSessionContext?.();
544
+ if (context?.messages && session.agent?.state) {
545
+ session.agent.state.messages = context.messages;
546
+ }
547
+ }
548
+ function findLastUserMessageText(messages) {
549
+ if (!Array.isArray(messages)) {
550
+ return undefined;
551
+ }
552
+ for (let index = messages.length - 1; index >= 0; index -= 1) {
553
+ const text = extractUserMessageText(messages[index]);
554
+ if (text) {
555
+ return text;
556
+ }
557
+ }
558
+ return undefined;
559
+ }
560
+ function findLastUserMessageEntry(sessionManager, leafId) {
561
+ const branch = typeof sessionManager?.getBranch === 'function' && typeof leafId === 'string'
562
+ ? sessionManager.getBranch(leafId)
563
+ : undefined;
564
+ const entries = Array.isArray(branch) && branch.length > 0
565
+ ? branch
566
+ : typeof sessionManager?.getEntries === 'function'
567
+ ? sessionManager.getEntries()
568
+ : [];
569
+ if (!Array.isArray(entries)) {
570
+ return undefined;
571
+ }
572
+ for (let index = entries.length - 1; index >= 0; index -= 1) {
573
+ const entry = entries[index];
574
+ if (isRecord(entry)
575
+ && entry.type === 'message'
576
+ && typeof entry.id === 'string'
577
+ && isRecord(entry.message)
578
+ && entry.message.role === 'user') {
579
+ return {
580
+ id: entry.id,
581
+ parentId: normalizeParentId(entry.parentId),
582
+ message: entry.message,
583
+ };
584
+ }
585
+ }
586
+ return undefined;
587
+ }
588
+ function normalizeParentId(parentId) {
589
+ if (typeof parentId === 'string') {
590
+ return parentId;
591
+ }
592
+ if (parentId === null) {
593
+ return null;
594
+ }
595
+ return undefined;
596
+ }
597
+ function extractUserMessageText(message) {
598
+ if (!isRecord(message) || message.role !== 'user') {
599
+ return undefined;
600
+ }
601
+ const content = message.content;
602
+ if (typeof content === 'string') {
603
+ return content.trim() || undefined;
604
+ }
605
+ if (!Array.isArray(content)) {
606
+ return undefined;
607
+ }
608
+ const text = content
609
+ .filter((entry) => (isRecord(entry) && entry.type === 'text' && typeof entry.text === 'string'))
610
+ .map((entry) => entry.text)
611
+ .join('')
612
+ .trim();
613
+ return text || undefined;
407
614
  }
408
615
  async function refreshLinxAuthState(interactive) {
409
616
  interactive.session?.modelRegistry?.refresh?.();
@@ -421,7 +628,7 @@ function authStatusPrefix(reason) {
421
628
  }
422
629
  async function runLinxCloudLogin(interactive, authStorage, reason) {
423
630
  await authStorage.login(LINX_PROVIDER_ID, {
424
- forceFresh: reason === 'expired',
631
+ forceFresh: true,
425
632
  onAuth(info) {
426
633
  showLinxLoginUrl(interactive, info);
427
634
  openLoginUrl(info.url, interactive);
@@ -472,7 +679,7 @@ async function runLinxCloudLoginDialog(interactive, authStorage, reason) {
472
679
  });
473
680
  try {
474
681
  await authStorage.login(LINX_PROVIDER_ID, {
475
- forceFresh: reason === 'expired',
682
+ forceFresh: true,
476
683
  onAuth(info) {
477
684
  dialog.showAuth(info.url, info.instructions);
478
685
  dialog.showManualInput('Paste redirect URL below, or complete login in browser:')
@@ -805,4 +1012,7 @@ function isRecord(value) {
805
1012
  function stripAnsi(text) {
806
1013
  return text.replace(/\x1b\[[0-?]*[ -/]*[@-~]/g, '');
807
1014
  }
1015
+ function isPromiseLike(value) {
1016
+ return isRecord(value) && typeof value.then === 'function';
1017
+ }
808
1018
  //# sourceMappingURL=branding.js.map