@undefineds.co/linx 0.2.19 → 0.2.24

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 (125) hide show
  1. package/README.md +23 -21
  2. package/dist/index.js +93 -142
  3. package/dist/index.js.map +1 -1
  4. package/dist/lib/ai-command.js +34 -30
  5. package/dist/lib/ai-command.js.map +1 -1
  6. package/dist/lib/auto-mode/archive.js +235 -0
  7. package/dist/lib/auto-mode/archive.js.map +1 -0
  8. package/dist/lib/{watch → auto-mode}/auth.js +6 -6
  9. package/dist/lib/auto-mode/auth.js.map +1 -0
  10. package/dist/lib/{watch → auto-mode}/codex-composer.js +1 -1
  11. package/dist/lib/auto-mode/codex-composer.js.map +1 -0
  12. package/dist/lib/auto-mode/codex-footer.js.map +1 -0
  13. package/dist/lib/auto-mode/codex-overlay.js.map +1 -0
  14. package/dist/lib/{watch → auto-mode}/codex-request-form.js +2 -2
  15. package/dist/lib/auto-mode/codex-request-form.js.map +1 -0
  16. package/dist/lib/auto-mode/codex-request-input.js.map +1 -0
  17. package/dist/lib/{watch → auto-mode}/display.js +63 -57
  18. package/dist/lib/auto-mode/display.js.map +1 -0
  19. package/dist/lib/{watch → auto-mode}/format.js +24 -16
  20. package/dist/lib/auto-mode/format.js.map +1 -0
  21. package/dist/lib/{watch → auto-mode}/hooks/claude.js +3 -2
  22. package/dist/lib/auto-mode/hooks/claude.js.map +1 -0
  23. package/dist/lib/{watch → auto-mode}/hooks/codebuddy.js +3 -2
  24. package/dist/lib/auto-mode/hooks/codebuddy.js.map +1 -0
  25. package/dist/lib/auto-mode/hooks/codex.js +18 -0
  26. package/dist/lib/auto-mode/hooks/codex.js.map +1 -0
  27. package/dist/lib/auto-mode/hooks/index.js +27 -0
  28. package/dist/lib/auto-mode/hooks/index.js.map +1 -0
  29. package/dist/lib/auto-mode/hooks/shared.js.map +1 -0
  30. package/dist/lib/auto-mode/index.js.map +1 -0
  31. package/dist/lib/auto-mode/pod-ai.js +116 -0
  32. package/dist/lib/auto-mode/pod-ai.js.map +1 -0
  33. package/dist/lib/{watch → auto-mode}/pod-approval.js +495 -325
  34. package/dist/lib/auto-mode/pod-approval.js.map +1 -0
  35. package/dist/lib/auto-mode/pod-persistence.js +412 -0
  36. package/dist/lib/auto-mode/pod-persistence.js.map +1 -0
  37. package/dist/lib/{watch → auto-mode}/runner.js +280 -193
  38. package/dist/lib/auto-mode/runner.js.map +1 -0
  39. package/dist/lib/{watch → auto-mode}/secretary.js +8 -8
  40. package/dist/lib/auto-mode/secretary.js.map +1 -0
  41. package/dist/lib/{watch → auto-mode}/types.js.map +1 -1
  42. package/dist/lib/auto-mode-command.js +114 -0
  43. package/dist/lib/auto-mode-command.js.map +1 -0
  44. package/dist/lib/codex-plugin/bridge.js +11 -12
  45. package/dist/lib/codex-plugin/bridge.js.map +1 -1
  46. package/dist/lib/codex-plugin/codex-native-proxy.js +11 -12
  47. package/dist/lib/codex-plugin/codex-native-proxy.js.map +1 -1
  48. package/dist/lib/linx-tui-contract.js +26 -0
  49. package/dist/lib/linx-tui-contract.js.map +1 -0
  50. package/dist/lib/login-command.js +9 -3
  51. package/dist/lib/login-command.js.map +1 -1
  52. package/dist/lib/models.js +2 -2
  53. package/dist/lib/models.js.map +1 -1
  54. package/dist/lib/oidc-auth.js +83 -104
  55. package/dist/lib/oidc-auth.js.map +1 -1
  56. package/dist/lib/oidc-session-storage.js +7 -1
  57. package/dist/lib/oidc-session-storage.js.map +1 -1
  58. package/dist/lib/pi-adapter/auth.js +9 -15
  59. package/dist/lib/pi-adapter/auth.js.map +1 -1
  60. package/dist/lib/pi-adapter/branding.js +14 -44
  61. package/dist/lib/pi-adapter/branding.js.map +1 -1
  62. package/dist/lib/pi-adapter/interactive.js +19 -23
  63. package/dist/lib/pi-adapter/interactive.js.map +1 -1
  64. package/dist/lib/pi-adapter/pod-approval.js +239 -1
  65. package/dist/lib/pi-adapter/pod-approval.js.map +1 -1
  66. package/dist/lib/pi-adapter/pod-mirror.js +64 -59
  67. package/dist/lib/pi-adapter/pod-mirror.js.map +1 -1
  68. package/dist/lib/pi-adapter/pod-native.js +479 -0
  69. package/dist/lib/pi-adapter/pod-native.js.map +1 -0
  70. package/dist/lib/pi-adapter/pod-tools.js +76 -40
  71. package/dist/lib/pi-adapter/pod-tools.js.map +1 -1
  72. package/dist/lib/pi-adapter/runtime.js +11 -66
  73. package/dist/lib/pi-adapter/runtime.js.map +1 -1
  74. package/dist/lib/pi-adapter/session.js +276 -33
  75. package/dist/lib/pi-adapter/session.js.map +1 -1
  76. package/dist/lib/pi-adapter/stream.js.map +1 -1
  77. package/dist/lib/pi-adapter/web-fetch.js +47 -30
  78. package/dist/lib/pi-adapter/web-fetch.js.map +1 -1
  79. package/dist/lib/pod-chat-store.js +36 -38
  80. package/dist/lib/pod-chat-store.js.map +1 -1
  81. package/dist/lib/pod-data-session.js +97 -30
  82. package/dist/lib/pod-data-session.js.map +1 -1
  83. package/package.json +3 -3
  84. package/vendor/agent-runtime/dist/auto-mode.d.ts +287 -0
  85. package/vendor/agent-runtime/dist/auto-mode.js +1498 -0
  86. package/vendor/agent-runtime/dist/index.d.ts +2 -0
  87. package/vendor/agent-runtime/dist/index.js +2 -0
  88. package/vendor/agent-runtime/dist/runtime.d.ts +47 -0
  89. package/vendor/agent-runtime/dist/runtime.js +36 -0
  90. package/vendor/agent-runtime/dist/turn-controller.d.ts +4 -4
  91. package/vendor/agent-runtime/dist/turn-controller.js +7 -7
  92. package/vendor/agent-runtime/package.json +2 -0
  93. package/dist/lib/watch/archive.js +0 -110
  94. package/dist/lib/watch/archive.js.map +0 -1
  95. package/dist/lib/watch/auth.js.map +0 -1
  96. package/dist/lib/watch/codex-composer.js.map +0 -1
  97. package/dist/lib/watch/codex-footer.js.map +0 -1
  98. package/dist/lib/watch/codex-overlay.js.map +0 -1
  99. package/dist/lib/watch/codex-request-form.js.map +0 -1
  100. package/dist/lib/watch/codex-request-input.js.map +0 -1
  101. package/dist/lib/watch/display.js.map +0 -1
  102. package/dist/lib/watch/format.js.map +0 -1
  103. package/dist/lib/watch/hooks/claude.js.map +0 -1
  104. package/dist/lib/watch/hooks/codebuddy.js.map +0 -1
  105. package/dist/lib/watch/hooks/codex.js +0 -17
  106. package/dist/lib/watch/hooks/codex.js.map +0 -1
  107. package/dist/lib/watch/hooks/index.js +0 -24
  108. package/dist/lib/watch/hooks/index.js.map +0 -1
  109. package/dist/lib/watch/hooks/shared.js.map +0 -1
  110. package/dist/lib/watch/index.js.map +0 -1
  111. package/dist/lib/watch/pod-ai.js +0 -160
  112. package/dist/lib/watch/pod-ai.js.map +0 -1
  113. package/dist/lib/watch/pod-approval.js.map +0 -1
  114. package/dist/lib/watch/pod-persistence.js +0 -334
  115. package/dist/lib/watch/pod-persistence.js.map +0 -1
  116. package/dist/lib/watch/runner.js.map +0 -1
  117. package/dist/lib/watch/secretary.js.map +0 -1
  118. package/dist/watch-cli.js +0 -116
  119. package/dist/watch-cli.js.map +0 -1
  120. /package/dist/lib/{watch → auto-mode}/codex-footer.js +0 -0
  121. /package/dist/lib/{watch → auto-mode}/codex-overlay.js +0 -0
  122. /package/dist/lib/{watch → auto-mode}/codex-request-input.js +0 -0
  123. /package/dist/lib/{watch → auto-mode}/hooks/shared.js +0 -0
  124. /package/dist/lib/{watch → auto-mode}/index.js +0 -0
  125. /package/dist/lib/{watch → auto-mode}/types.js +0 -0
@@ -1,5 +1,5 @@
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, };
1
+ import { XPOD_AI, XPOD_CREDENTIAL, aiConfigProviderRef, aiConfigModelUri, aiConfigProviderUri, aiModelResource, aiModelTable, aiProviderResource, aiProviderTable, approvalResource, approvalTable, auditTable, buildApprovalSubjectPath, buildAuditSubjectPath, buildGrantSubjectPath, buildSessionResourceId, buildSessionSubjectPath, buildAIConfigDisconnectPlan, buildAIConfigMutationPlan, buildAIConfigProviderStateMap, credentialResource, credentialTable, ContactType, auditResource, agentResource, agentTable, applySolidComunicaPatches, chatResource, chatTable, contactTable, drizzle, eq, getAIConfigProviderFamilyIds, getAIConfigProviderMetadata, getDefaultAIConfigCredentialId, getBuiltinModels as getSharedBuiltinModels, grantResource, grantTable, inboxNotificationResource, inboxNotificationTable, initSolidResources, initSolidTables, extractChatIdFromChatRef, extractSessionIdFromSessionRef, extractThreadIdFromThreadRef, solidResources, solidSchema, messageResource, messageTable, sessionResource, sessionTable, normalizeAIConfigProviderId, normalizeAIConfigResourceId, sameAIConfigProviderFamily, selectAIConfigCredential, sessionRepository, threadResource, threadTable, } from '@undefineds.co/models';
2
+ export { ContactType, agentResource, agentTable, applySolidComunicaPatches, aiConfigModelUri, aiConfigProviderRef, aiConfigProviderUri, aiModelResource, aiModelTable, aiProviderResource, aiProviderTable, approvalResource, approvalTable, auditTable, buildApprovalSubjectPath, buildAuditSubjectPath, buildGrantSubjectPath, buildSessionResourceId, buildSessionSubjectPath, buildAIConfigDisconnectPlan, buildAIConfigMutationPlan, buildAIConfigProviderStateMap, chatResource, chatTable, contactTable, credentialResource, credentialTable, auditResource, drizzle, eq, getAIConfigProviderFamilyIds, getAIConfigProviderMetadata, getDefaultAIConfigCredentialId, grantResource, grantTable, inboxNotificationResource, inboxNotificationTable, extractChatIdFromChatRef, extractSessionIdFromSessionRef, extractThreadIdFromThreadRef, solidSchema, solidResources, initSolidResources, initSolidTables, messageResource, messageTable, sessionResource, sessionTable, normalizeAIConfigProviderId, normalizeAIConfigResourceId, sameAIConfigProviderFamily, selectAIConfigCredential, sessionRepository, threadResource, 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,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"}
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/lib/models.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,wBAAwB,EACxB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,2BAA2B,EAC3B,yBAAyB,EACzB,6BAA6B,EAC7B,kBAAkB,EAClB,eAAe,EACf,WAAW,EACX,aAAa,EACb,aAAa,EACb,UAAU,EACV,yBAAyB,EACzB,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,OAAO,EACP,EAAE,EACF,4BAA4B,EAC5B,2BAA2B,EAC3B,8BAA8B,EAC9B,gBAAgB,IAAI,sBAAsB,EAC1C,aAAa,EACb,UAAU,EACV,yBAAyB,EACzB,sBAAsB,EACtB,kBAAkB,EAClB,eAAe,EACf,wBAAwB,EACxB,8BAA8B,EAC9B,4BAA4B,EAC5B,cAAc,EACd,WAAW,EACX,eAAe,EACf,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,2BAA2B,EAC3B,2BAA2B,EAC3B,0BAA0B,EAC1B,wBAAwB,EACxB,iBAAiB,EACjB,cAAc,EACd,WAAW,GAkBZ,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EACL,WAAW,EACX,aAAa,EACb,UAAU,EACV,yBAAyB,EACzB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,wBAAwB,EACxB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,2BAA2B,EAC3B,yBAAyB,EACzB,6BAA6B,EAC7B,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,OAAO,EACP,EAAE,EACF,4BAA4B,EAC5B,2BAA2B,EAC3B,8BAA8B,EAC9B,aAAa,EACb,UAAU,EACV,yBAAyB,EACzB,sBAAsB,EACtB,wBAAwB,EACxB,8BAA8B,EAC9B,4BAA4B,EAC5B,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,2BAA2B,EAC3B,2BAA2B,EAC3B,0BAA0B,EAC1B,wBAAwB,EACxB,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,OAAO,EACP,eAAe,GAChB,CAAA;AAqBD,MAAM,UAAU,gBAAgB;IAC9B,OAAO,sBAAsB,EAAE,CAAA;AACjC,CAAC"}
@@ -10,35 +10,9 @@ const execFileAsync = promisify(execFile);
10
10
  const DEFAULT_CALLBACK_HOST = '127.0.0.1';
11
11
  const DEFAULT_CALLBACK_PATH = '/auth/callback';
12
12
  const DEFAULT_CLIENT_NAME = 'LinX CLI';
13
- export class LinxOidcLoginExpiredError extends Error {
14
- authExpired = true;
15
- constructor(cause) {
16
- super('LinX Cloud login expired.');
17
- this.name = 'LinxOidcLoginExpiredError';
18
- if (cause !== undefined) {
19
- ;
20
- this.cause = cause;
21
- }
22
- }
23
- }
24
- export function isOidcLoginExpiredError(error) {
25
- if (error instanceof LinxOidcLoginExpiredError) {
26
- return true;
27
- }
28
- if (typeof error === 'object' && error !== null && 'authExpired' in error && error.authExpired === true) {
29
- return true;
30
- }
31
- const message = error instanceof Error ? error.message : String(error);
32
- const normalized = message.toLowerCase();
33
- return normalized.includes('linx cloud login expired')
34
- || normalized.includes('invalid refresh credentials')
35
- || normalized.includes('missing static client secret in storage')
36
- || normalized.includes('invalid_client')
37
- || normalized.includes('invalid_grant');
38
- }
39
13
  export async function ensureBrowserConsentLogin(options = {}) {
40
14
  if (!options.forceFresh) {
41
- const reused = await reuseBrowserConsentLogin(options).catch(() => null);
15
+ const reused = await reuseExistingBrowserConsentLogin(options).catch(() => null);
42
16
  if (reused) {
43
17
  return {
44
18
  ...reused,
@@ -118,6 +92,27 @@ export async function getOidcAccessToken(credentials, options = {}) {
118
92
  }
119
93
  return secrets.oidcAccessToken;
120
94
  }
95
+ export async function restoreStoredOidcSession(credentials, options = {}) {
96
+ if (credentials.authType !== 'oidc_oauth' || !isLinxOidcOAuthSecrets(credentials.secrets)) {
97
+ return null;
98
+ }
99
+ const storage = createOidcSessionStorage();
100
+ const sessionId = await resolveStoredOidcSessionId(storage, credentials.webId, credentials.url);
101
+ if (!sessionId) {
102
+ return null;
103
+ }
104
+ const session = await getSessionFromStorage(sessionId, {
105
+ storage,
106
+ refreshSession: false,
107
+ });
108
+ if (!session) {
109
+ return null;
110
+ }
111
+ if (options.forceRefresh || !session.info.isLoggedIn) {
112
+ await refreshSession(session, { storage });
113
+ }
114
+ return session.info.isLoggedIn ? session : null;
115
+ }
121
116
  export function serializeOidcCredentials(url, webId, tokenSet) {
122
117
  return {
123
118
  url,
@@ -133,10 +128,22 @@ export function serializeOidcCredentials(url, webId, tokenSet) {
133
128
  },
134
129
  };
135
130
  }
131
+ export function assertOidcCallbackDidNotReturnError(requestUrl) {
132
+ const url = new URL(requestUrl);
133
+ const error = url.searchParams.get('error');
134
+ if (!error)
135
+ return;
136
+ const description = url.searchParams.get('error_description');
137
+ throw new Error([`OIDC callback returned ${error}`, description ? `description: ${description}` : null, `redirect: ${url.origin}${url.pathname}`]
138
+ .filter(Boolean)
139
+ .join('; '));
140
+ }
136
141
  export async function withCallbackServer(host, pathname, startLogin, onCallback, manualRedirectUrl, signal) {
142
+ // Always provide a signal for manualRedirectUrl (for test/cancel compatibility)
143
+ const internalController = new AbortController();
144
+ const effectiveSignal = signal ?? internalController.signal;
137
145
  const server = createServer();
138
146
  const sockets = new Set();
139
- let manualRedirectAbortController;
140
147
  server.on('connection', (socket) => {
141
148
  sockets.add(socket);
142
149
  socket.on('close', () => {
@@ -196,27 +203,21 @@ export async function withCallbackServer(host, pathname, startLogin, onCallback,
196
203
  throw new Error('Failed to allocate local callback server port');
197
204
  }
198
205
  const callbackUrl = `http://${host}:${address.port}${pathname}`;
199
- const manualRedirectController = new AbortController();
200
- manualRedirectAbortController = manualRedirectController;
201
- const manualRedirectSignal = combineAbortSignals(manualRedirectController.signal, signal);
202
- const cancellableCallbackPromise = callbackPromise.finally(() => {
203
- manualRedirectController.abort();
204
- });
205
206
  await startLogin(callbackUrl);
206
- const manualRedirectPromise = waitForManualRedirect(onCallback, manualRedirectUrl, manualRedirectSignal).catch((error) => {
207
- if (manualRedirectController.signal.aborted) {
208
- return new Promise(() => undefined);
209
- }
210
- throw error;
211
- });
212
- await Promise.race([
213
- cancellableCallbackPromise,
214
- manualRedirectPromise,
215
- waitForAbort(signal),
207
+ // Abort manual redirect when callback completes (or external signal fires)
208
+ const cancellableCallback = callbackPromise.finally(() => internalController.abort());
209
+ const race = Promise.race([
210
+ cancellableCallback,
211
+ waitForManualRedirect(onCallback, manualRedirectUrl, effectiveSignal),
216
212
  ]);
213
+ if (signal) {
214
+ await Promise.race([race, waitForAbort(signal)]);
215
+ }
216
+ else {
217
+ await race;
218
+ }
217
219
  }
218
220
  finally {
219
- manualRedirectAbortController?.abort();
220
221
  server.closeIdleConnections?.();
221
222
  server.closeAllConnections?.();
222
223
  for (const socket of sockets) {
@@ -228,20 +229,6 @@ export async function withCallbackServer(host, pathname, startLogin, onCallback,
228
229
  await new Promise((resolve) => server.close(() => resolve()));
229
230
  }
230
231
  }
231
- export function assertOidcCallbackDidNotReturnError(requestUrl) {
232
- const url = new URL(requestUrl);
233
- const error = url.searchParams.get('error');
234
- if (!error) {
235
- return;
236
- }
237
- const description = url.searchParams.get('error_description');
238
- const details = [
239
- `OIDC callback returned ${error}`,
240
- description ? `description: ${description}` : null,
241
- `redirect: ${url.origin}${url.pathname}`,
242
- ].filter(Boolean);
243
- throw new Error(details.join('; '));
244
- }
245
232
  function renderCallbackPage(input) {
246
233
  const escapedTitle = escapeHtml(input.title);
247
234
  const escapedDescription = escapeHtml(input.description);
@@ -358,7 +345,7 @@ function renderCallbackPage(input) {
358
345
  </body>
359
346
  </html>`;
360
347
  }
361
- export async function reuseBrowserConsentLogin(options) {
348
+ async function reuseExistingBrowserConsentLogin(options) {
362
349
  const stored = loadCredentials();
363
350
  if (!stored || stored.authType !== 'oidc_oauth') {
364
351
  return null;
@@ -418,15 +405,7 @@ async function refreshStoredOidcSession(credentials, secrets) {
418
405
  session.events.on(EVENTS.NEW_TOKENS, (tokenSet) => {
419
406
  refreshedTokenSet = tokenSet;
420
407
  });
421
- try {
422
- await refreshSession(session, { storage });
423
- }
424
- catch (error) {
425
- if (isOidcLoginExpiredError(error)) {
426
- throw new LinxOidcLoginExpiredError(error);
427
- }
428
- throw error;
429
- }
408
+ await refreshSession(session, { storage });
430
409
  const nextTokenSet = refreshedTokenSet;
431
410
  if (!nextTokenSet?.accessToken) {
432
411
  return null;
@@ -495,6 +474,17 @@ function escapeHtml(value) {
495
474
  .replace(/"/g, '&quot;')
496
475
  .replace(/'/g, '&#39;');
497
476
  }
477
+ function waitForAbort(signal) {
478
+ if (!signal)
479
+ return new Promise(() => undefined);
480
+ return new Promise((_, reject) => {
481
+ if (signal.aborted) {
482
+ reject(new Error('Login cancelled'));
483
+ return;
484
+ }
485
+ signal.addEventListener('abort', () => reject(new Error('Login cancelled')), { once: true });
486
+ });
487
+ }
498
488
  async function waitForManualRedirect(onCallback, manualRedirectUrl, signal) {
499
489
  if (!manualRedirectUrl) {
500
490
  await new Promise(() => undefined);
@@ -505,50 +495,17 @@ async function waitForManualRedirect(onCallback, manualRedirectUrl, signal) {
505
495
  requestUrl = await manualRedirectUrl(signal);
506
496
  }
507
497
  catch (error) {
508
- if (signal?.aborted) {
498
+ if (signal?.aborted)
509
499
  throw error;
510
- }
511
500
  await new Promise(() => undefined);
512
501
  return;
513
502
  }
514
503
  if (signal?.aborted || !requestUrl) {
515
- await new Promise(() => undefined);
516
504
  return;
517
505
  }
506
+ assertOidcCallbackDidNotReturnError(requestUrl);
518
507
  await onCallback(requestUrl);
519
508
  }
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
- }
552
509
  export async function openBrowser(url) {
553
510
  if (process.platform === 'darwin') {
554
511
  await execFileAsync('open', [url]);
@@ -560,4 +517,26 @@ export async function openBrowser(url) {
560
517
  }
561
518
  await execFileAsync('xdg-open', [url]);
562
519
  }
520
+ export class LinxOidcLoginExpiredError extends Error {
521
+ authExpired = true;
522
+ constructor(cause) {
523
+ super('LinX Cloud login expired.');
524
+ this.name = 'LinxOidcLoginExpiredError';
525
+ if (cause !== undefined)
526
+ this.cause = cause;
527
+ }
528
+ }
529
+ export function isOidcLoginExpiredError(error) {
530
+ if (error instanceof LinxOidcLoginExpiredError)
531
+ return true;
532
+ if (typeof error === 'object' && error !== null && 'authExpired' in error && error.authExpired === true)
533
+ return true;
534
+ const message = error instanceof Error ? error.message : String(error);
535
+ const normalized = message.toLowerCase();
536
+ return normalized.includes('linx cloud login expired')
537
+ || normalized.includes('invalid refresh credentials')
538
+ || normalized.includes('missing static client secret')
539
+ || normalized.includes('invalid_client')
540
+ || normalized.includes('invalid_grant');
541
+ }
563
542
  //# sourceMappingURL=oidc-auth.js.map
@@ -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,4 +1,4 @@
1
- import { chmodSync, existsSync, mkdirSync, readFileSync, unlinkSync, writeFileSync } from 'node:fs';
1
+ import { chmodSync, existsSync, mkdirSync, readFileSync, rmSync, unlinkSync, writeFileSync } from 'node:fs';
2
2
  import { join } from 'node:path';
3
3
  import { homedir } from 'node:os';
4
4
  import { LINX_HOME_DIRNAME } from '@undefineds.co/models/client';
@@ -34,4 +34,10 @@ export function createOidcSessionStorage() {
34
34
  },
35
35
  };
36
36
  }
37
+ export function clearOidcSessionStorage() {
38
+ const dir = storageDir();
39
+ if (existsSync(dir)) {
40
+ rmSync(dir, { recursive: true, force: true });
41
+ }
42
+ }
37
43
  //# sourceMappingURL=oidc-session-storage.js.map
@@ -1 +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"}
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,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAC3G,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;AAED,MAAM,UAAU,uBAAuB;IACrC,MAAM,GAAG,GAAG,UAAU,EAAE,CAAA;IACxB,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACpB,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IAC/C,CAAC;AACH,CAAC"}
@@ -1,7 +1,7 @@
1
- import { getClientCredentialId, getClientCredentialKey, getClientCredentials, loadCredentials } from '../credentials-store.js';
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
- function isPiAuthBridgeRuntime(value) {
4
+ function isRuntimeOverride(value) {
5
5
  return typeof value === 'object'
6
6
  && value !== null
7
7
  && ('loadCredentials' in value
@@ -9,16 +9,10 @@ function isPiAuthBridgeRuntime(value) {
9
9
  || 'getAccessToken' in value
10
10
  || 'getOidcAccessToken' in value);
11
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();
12
+ function resolveOidcExpiresAt(credentials) {
13
+ const expiresAt = 'oidcExpiresAt' in credentials.secrets
14
+ ? new Date(credentials.secrets.oidcExpiresAt).getTime()
15
+ : NaN;
22
16
  return Number.isFinite(expiresAt) ? expiresAt : Date.now();
23
17
  }
24
18
  export async function resolveLinxPiCloudOAuthCredential(issuerUrl, optionsOrRuntime = {}, runtimeArg) {
@@ -28,12 +22,12 @@ export async function resolveLinxPiCloudOAuthCredential(issuerUrl, optionsOrRunt
28
22
  getAccessToken,
29
23
  getOidcAccessToken,
30
24
  };
31
- const options = isPiAuthBridgeRuntime(optionsOrRuntime)
25
+ const options = isRuntimeOverride(optionsOrRuntime)
32
26
  ? {}
33
27
  : optionsOrRuntime;
34
28
  const runtime = {
35
29
  ...defaultRuntime,
36
- ...(isPiAuthBridgeRuntime(optionsOrRuntime) ? optionsOrRuntime : runtimeArg),
30
+ ...(isRuntimeOverride(optionsOrRuntime) ? optionsOrRuntime : runtimeArg),
37
31
  };
38
32
  const stored = runtime.loadCredentials();
39
33
  if (!stored) {
@@ -54,7 +48,7 @@ export async function resolveLinxPiCloudOAuthCredential(issuerUrl, optionsOrRunt
54
48
  type: 'oauth',
55
49
  refresh: 'linx-oidc-refresh',
56
50
  access: oidcAccessToken,
57
- expires: resolveOidcExpiresAt(stored.secrets),
51
+ expires: resolveOidcExpiresAt(stored),
58
52
  };
59
53
  }
60
54
  const resolvedIssuerUrl = issuerUrl?.trim() || stored.url;
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/lib/pi-adapter/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/lib/pi-adapter/auth.ts"],"names":[],"mappings":"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"}
@@ -3,10 +3,13 @@ import { homedir } from 'node:os';
3
3
  import { basename, join } from 'node:path';
4
4
  import { readFileSync } from 'node:fs';
5
5
  import { LINX_HOME_DIRNAME } from '@undefineds.co/models/client';
6
- import { initTheme, keyHint, LoginDialogComponent, rawKeyHint } from '@mariozechner/pi-coding-agent';
6
+ import { keyHint, LoginDialogComponent, rawKeyHint } from '@mariozechner/pi-coding-agent';
7
7
  import { Text, truncateToWidth, visibleWidth, wrapTextWithAnsi } from '@mariozechner/pi-tui';
8
- import { loadCredentials } from '../credentials-store.js';
8
+ import { clearAccountSession } from '../account-session.js';
9
+ import { clearCredentials, loadCredentials } from '../credentials-store.js';
10
+ import { clearOidcSessionStorage } from '../oidc-session-storage.js';
9
11
  import { extractUsernameFromWebId, resolveProfileDisplayName } from '../profile-identity.js';
12
+ import { LINX_TUI_KEYMAP_COMMAND, LINX_TUI_KEYMAP_LABEL, LINX_TUI_LOGIN_COMMAND } from '../linx-tui-contract.js';
10
13
  export const LINX_AGENT_DIR = join(homedir(), LINX_HOME_DIRNAME, 'agent');
11
14
  export const LINX_UPDATE_PACKAGE_NAME = '@undefineds.co/linx';
12
15
  export const LINX_CHANGELOG_URL = 'https://github.com/undefineds-co/linx-cli/releases';
@@ -202,6 +205,9 @@ function patchNativeOAuthSelectors(interactive) {
202
205
  const authStorage = this.session?.modelRegistry?.authStorage;
203
206
  authStorage?.logout?.(LINX_PROVIDER_ID);
204
207
  authStorage?.setRuntimeApiKey?.(LINX_PROVIDER_ID, '');
208
+ clearAccountSession();
209
+ clearCredentials();
210
+ clearOidcSessionStorage();
205
211
  await refreshLinxAuthState(this);
206
212
  this.showStatus?.('Logged out of LinX Cloud.');
207
213
  return;
@@ -648,16 +654,8 @@ async function runLinxCloudLogin(interactive, authStorage, reason) {
648
654
  }
649
655
  async function runLinxCloudBrowserLogin(interactive, authStorage, reason) {
650
656
  if (canRenderLinxLoginDialog(interactive)) {
651
- try {
652
- await runLinxCloudLoginDialog(interactive, authStorage, reason);
653
- return;
654
- }
655
- catch (error) {
656
- if (!isThemeInitializationError(error)) {
657
- throw error;
658
- }
659
- interactive.showStatus?.('LinX Cloud login prompt unavailable before TUI theme initialization; falling back to browser login.');
660
- }
657
+ await runLinxCloudLoginDialog(interactive, authStorage, reason);
658
+ return;
661
659
  }
662
660
  await runLinxCloudLogin(interactive, authStorage, reason);
663
661
  }
@@ -665,12 +663,9 @@ function canRenderLinxLoginDialog(interactive) {
665
663
  return Boolean(interactive.ui
666
664
  && typeof interactive.editorContainer?.clear === 'function'
667
665
  && typeof interactive.editorContainer?.addChild === 'function'
668
- && typeof interactive.ui?.setFocus === 'function'
669
- && typeof interactive.ui?.requestRender === 'function'
670
666
  && interactive.editor);
671
667
  }
672
668
  async function runLinxCloudLoginDialog(interactive, authStorage, reason) {
673
- ensurePiThemeInitialized(interactive);
674
669
  const dialog = new LoginDialogComponent(interactive.ui, LINX_PROVIDER_ID, () => undefined);
675
670
  const restoreEditor = () => {
676
671
  interactive.editorContainer.clear();
@@ -895,38 +890,13 @@ export function buildLinxWelcomeCardState(interactive, profileDisplayName = null
895
890
  workspace,
896
891
  session,
897
892
  next: [
898
- safeKeyHint('tui.input.submit', 'send', 'enter send'),
899
- safeKeyHint('app.model.select', 'model', 'ctrl+l model'),
900
- rawKeyHint('/login', 'auth'),
901
- rawKeyHint('/hotkeys', 'keymap'),
893
+ keyHint('tui.input.submit', 'send'),
894
+ keyHint('app.model.select', 'model'),
895
+ rawKeyHint(LINX_TUI_LOGIN_COMMAND, 'auth'),
896
+ rawKeyHint(LINX_TUI_KEYMAP_COMMAND, LINX_TUI_KEYMAP_LABEL),
902
897
  ].join(' \x1b[2m·\x1b[22m '),
903
898
  };
904
899
  }
905
- function safeKeyHint(command, label, fallback) {
906
- try {
907
- return keyHint(command, label);
908
- }
909
- catch (error) {
910
- if (isThemeInitializationError(error)) {
911
- return fallback;
912
- }
913
- throw error;
914
- }
915
- }
916
- function isThemeInitializationError(error) {
917
- return error instanceof Error && error.message.includes('Theme not initialized');
918
- }
919
- function ensurePiThemeInitialized(interactive) {
920
- try {
921
- keyHint('tui.select.cancel', 'cancel');
922
- }
923
- catch (error) {
924
- if (!isThemeInitializationError(error)) {
925
- throw error;
926
- }
927
- initTheme(interactive?.settingsManager?.getTheme?.());
928
- }
929
- }
930
900
  function renderField(label, value, width) {
931
901
  const prefix = `\x1b[2m${label}\x1b[22m`;
932
902
  const paddedPrefix = prefix + ' '.repeat(Math.max(1, 10 - visibleWidth(prefix)));