@vybestack/llxprt-code 0.7.0 → 0.8.0-nightly.260101.f35159d03

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 (169) hide show
  1. package/dist/package.json +4 -3
  2. package/dist/src/auth/BucketFailoverHandlerImpl.spec.js +1 -1
  3. package/dist/src/auth/BucketFailoverHandlerImpl.spec.js.map +1 -1
  4. package/dist/src/auth/__tests__/oauthManager.safety.test.js +2 -2
  5. package/dist/src/auth/__tests__/oauthManager.safety.test.js.map +1 -1
  6. package/dist/src/auth/anthropic-oauth-provider.d.ts +3 -1
  7. package/dist/src/auth/anthropic-oauth-provider.js +40 -29
  8. package/dist/src/auth/anthropic-oauth-provider.js.map +1 -1
  9. package/dist/src/auth/codex-oauth-provider.d.ts +3 -2
  10. package/dist/src/auth/codex-oauth-provider.js +41 -2
  11. package/dist/src/auth/codex-oauth-provider.js.map +1 -1
  12. package/dist/src/auth/gemini-oauth-provider.d.ts +2 -1
  13. package/dist/src/auth/gemini-oauth-provider.js +5 -1
  14. package/dist/src/auth/gemini-oauth-provider.js.map +1 -1
  15. package/dist/src/auth/oauth-manager.bucketFailover.spec.js +1 -1
  16. package/dist/src/auth/oauth-manager.bucketFailover.spec.js.map +1 -1
  17. package/dist/src/auth/oauth-manager.bucketRefresh.spec.d.ts +6 -0
  18. package/dist/src/auth/oauth-manager.bucketRefresh.spec.js +56 -0
  19. package/dist/src/auth/oauth-manager.bucketRefresh.spec.js.map +1 -0
  20. package/dist/src/auth/oauth-manager.concurrency.spec.js +1 -1
  21. package/dist/src/auth/oauth-manager.concurrency.spec.js.map +1 -1
  22. package/dist/src/auth/oauth-manager.d.ts +19 -2
  23. package/dist/src/auth/oauth-manager.js +262 -10
  24. package/dist/src/auth/oauth-manager.js.map +1 -1
  25. package/dist/src/auth/oauth-manager.logout.spec.js +3 -3
  26. package/dist/src/auth/oauth-manager.logout.spec.js.map +1 -1
  27. package/dist/src/auth/oauth-manager.spec.js +2 -1
  28. package/dist/src/auth/oauth-manager.spec.js.map +1 -1
  29. package/dist/src/auth/qwen-oauth-provider.d.ts +3 -1
  30. package/dist/src/auth/qwen-oauth-provider.js +87 -21
  31. package/dist/src/auth/qwen-oauth-provider.js.map +1 -1
  32. package/dist/src/commands/extensions/install.js +2 -2
  33. package/dist/src/commands/extensions/install.js.map +1 -1
  34. package/dist/src/commands/extensions/install.test.js +28 -28
  35. package/dist/src/commands/extensions/install.test.js.map +1 -1
  36. package/dist/src/commands/extensions/link.js +2 -2
  37. package/dist/src/commands/extensions/link.js.map +1 -1
  38. package/dist/src/commands/extensions/uninstall.js +1 -1
  39. package/dist/src/commands/extensions/uninstall.js.map +1 -1
  40. package/dist/src/commands/mcp/list.js +2 -2
  41. package/dist/src/commands/mcp/list.js.map +1 -1
  42. package/dist/src/config/__tests__/sandboxConfig.test.d.ts +6 -0
  43. package/dist/src/config/__tests__/sandboxConfig.test.js +81 -0
  44. package/dist/src/config/__tests__/sandboxConfig.test.js.map +1 -0
  45. package/dist/src/config/config.d.ts +6 -4
  46. package/dist/src/config/config.js +50 -13
  47. package/dist/src/config/config.js.map +1 -1
  48. package/dist/src/config/config.loadMemory.test.js +4 -1
  49. package/dist/src/config/config.loadMemory.test.js.map +1 -1
  50. package/dist/src/config/extension.d.ts +19 -18
  51. package/dist/src/config/extension.js +68 -55
  52. package/dist/src/config/extension.js.map +1 -1
  53. package/dist/src/config/extensions/extensionEnablement.d.ts +2 -2
  54. package/dist/src/config/extensions/extensionEnablement.js +1 -1
  55. package/dist/src/config/extensions/extensionEnablement.js.map +1 -1
  56. package/dist/src/config/extensions/extensionEnablement.test.js +4 -4
  57. package/dist/src/config/extensions/extensionEnablement.test.js.map +1 -1
  58. package/dist/src/config/extensions/github.js +1 -1
  59. package/dist/src/config/extensions/github.js.map +1 -1
  60. package/dist/src/config/extensions/github.test.js +5 -0
  61. package/dist/src/config/extensions/github.test.js.map +1 -1
  62. package/dist/src/config/extensions/update.js +3 -4
  63. package/dist/src/config/extensions/update.js.map +1 -1
  64. package/dist/src/config/sandboxConfig.d.ts +2 -0
  65. package/dist/src/config/sandboxConfig.js +309 -9
  66. package/dist/src/config/sandboxConfig.js.map +1 -1
  67. package/dist/src/config/sandboxProfiles.d.ts +32 -0
  68. package/dist/src/config/sandboxProfiles.js +81 -0
  69. package/dist/src/config/sandboxProfiles.js.map +1 -0
  70. package/dist/src/config/settings.js +56 -1
  71. package/dist/src/config/settings.js.map +1 -1
  72. package/dist/src/config/settingsSchema.d.ts +31 -9
  73. package/dist/src/config/settingsSchema.js +31 -9
  74. package/dist/src/config/settingsSchema.js.map +1 -1
  75. package/dist/src/extensions/extensionAutoUpdater.d.ts +1 -2
  76. package/dist/src/extensions/extensionAutoUpdater.js +14 -13
  77. package/dist/src/extensions/extensionAutoUpdater.js.map +1 -1
  78. package/dist/src/extensions/extensionAutoUpdater.test.js +5 -6
  79. package/dist/src/extensions/extensionAutoUpdater.test.js.map +1 -1
  80. package/dist/src/gemini.js +69 -19
  81. package/dist/src/gemini.js.map +1 -1
  82. package/dist/src/gemini.renderOptions.test.js +1 -1
  83. package/dist/src/gemini.renderOptions.test.js.map +1 -1
  84. package/dist/src/gemini.test.js +20 -8
  85. package/dist/src/gemini.test.js.map +1 -1
  86. package/dist/src/generated/git-commit.d.ts +2 -2
  87. package/dist/src/generated/git-commit.js +2 -2
  88. package/dist/src/integration-tests/__tests__/oauth-buckets.integration.spec.js +2 -2
  89. package/dist/src/integration-tests/__tests__/oauth-buckets.integration.spec.js.map +1 -1
  90. package/dist/src/integration-tests/todo-continuation.integration.test.js +3 -3
  91. package/dist/src/integration-tests/todo-continuation.integration.test.js.map +1 -1
  92. package/dist/src/nonInteractiveCli.js +47 -11
  93. package/dist/src/nonInteractiveCli.js.map +1 -1
  94. package/dist/src/providers/aliases/mistral.config +8 -0
  95. package/dist/src/runtime/runtimeSettings.js +8 -0
  96. package/dist/src/runtime/runtimeSettings.js.map +1 -1
  97. package/dist/src/services/FileCommandLoader.d.ts +1 -1
  98. package/dist/src/services/FileCommandLoader.js +4 -4
  99. package/dist/src/services/FileCommandLoader.js.map +1 -1
  100. package/dist/src/ui/AppContainer.js +66 -9
  101. package/dist/src/ui/AppContainer.js.map +1 -1
  102. package/dist/src/ui/commands/memoryCommand.d.ts +1 -1
  103. package/dist/src/ui/commands/memoryCommand.js +8 -5
  104. package/dist/src/ui/commands/memoryCommand.js.map +1 -1
  105. package/dist/src/ui/commands/restoreCommand.js +1 -1
  106. package/dist/src/ui/commands/restoreCommand.js.map +1 -1
  107. package/dist/src/ui/components/Composer.js +1 -1
  108. package/dist/src/ui/components/Composer.js.map +1 -1
  109. package/dist/src/ui/components/DialogManager.js +3 -3
  110. package/dist/src/ui/components/DialogManager.js.map +1 -1
  111. package/dist/src/ui/components/FolderTrustDialog.js +10 -4
  112. package/dist/src/ui/components/FolderTrustDialog.js.map +1 -1
  113. package/dist/src/ui/components/FolderTrustDialog.test.js +6 -10
  114. package/dist/src/ui/components/FolderTrustDialog.test.js.map +1 -1
  115. package/dist/src/ui/components/WorkspaceMigrationDialog.d.ts +2 -2
  116. package/dist/src/ui/components/WorkspaceMigrationDialog.js +2 -2
  117. package/dist/src/ui/components/WorkspaceMigrationDialog.js.map +1 -1
  118. package/dist/src/ui/components/messages/CompressionMessage.js +28 -4
  119. package/dist/src/ui/components/messages/CompressionMessage.js.map +1 -1
  120. package/dist/src/ui/contexts/KeypressContext.js +26 -30
  121. package/dist/src/ui/contexts/KeypressContext.js.map +1 -1
  122. package/dist/src/ui/contexts/KeypressContext.test.js +127 -1
  123. package/dist/src/ui/contexts/KeypressContext.test.js.map +1 -1
  124. package/dist/src/ui/contexts/UIStateContext.d.ts +4 -5
  125. package/dist/src/ui/hooks/slashCommandProcessor.d.ts +1 -1
  126. package/dist/src/ui/hooks/slashCommandProcessor.js +25 -9
  127. package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
  128. package/dist/src/ui/hooks/useExtensionUpdates.test.js +3 -0
  129. package/dist/src/ui/hooks/useExtensionUpdates.test.js.map +1 -1
  130. package/dist/src/ui/hooks/useFolderTrust.d.ts +4 -1
  131. package/dist/src/ui/hooks/useFolderTrust.js +18 -3
  132. package/dist/src/ui/hooks/useFolderTrust.js.map +1 -1
  133. package/dist/src/ui/hooks/useGeminiStream.js +55 -5
  134. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  135. package/dist/src/ui/hooks/useHistoryManager.d.ts +1 -1
  136. package/dist/src/ui/hooks/useHistoryManager.js +11 -8
  137. package/dist/src/ui/hooks/useHistoryManager.js.map +1 -1
  138. package/dist/src/ui/hooks/useReactToolScheduler.js +16 -3
  139. package/dist/src/ui/hooks/useReactToolScheduler.js.map +1 -1
  140. package/dist/src/ui/hooks/useWorkspaceMigration.d.ts +2 -2
  141. package/dist/src/ui/hooks/useWorkspaceMigration.js +13 -8
  142. package/dist/src/ui/hooks/useWorkspaceMigration.js.map +1 -1
  143. package/dist/src/ui/oauth-submission.test.js +2 -2
  144. package/dist/src/ui/oauth-submission.test.js.map +1 -1
  145. package/dist/src/ui/utils/ui-sizing.d.ts +7 -0
  146. package/dist/src/ui/utils/ui-sizing.js +22 -0
  147. package/dist/src/ui/utils/ui-sizing.js.map +1 -0
  148. package/dist/src/utils/commentJson.d.ts +9 -0
  149. package/dist/src/utils/commentJson.js +130 -0
  150. package/dist/src/utils/commentJson.js.map +1 -0
  151. package/dist/src/utils/commentJson.test.d.ts +6 -0
  152. package/dist/src/utils/commentJson.test.js +307 -0
  153. package/dist/src/utils/commentJson.test.js.map +1 -0
  154. package/dist/src/utils/errors.d.ts +25 -0
  155. package/dist/src/utils/errors.js +78 -0
  156. package/dist/src/utils/errors.js.map +1 -1
  157. package/dist/src/utils/errors.test.d.ts +6 -0
  158. package/dist/src/utils/errors.test.js +178 -0
  159. package/dist/src/utils/errors.test.js.map +1 -0
  160. package/dist/src/utils/math.d.ts +13 -0
  161. package/dist/src/utils/math.js +14 -0
  162. package/dist/src/utils/math.js.map +1 -0
  163. package/dist/src/utils/sandbox.d.ts +1 -1
  164. package/dist/src/utils/sandbox.js +186 -13
  165. package/dist/src/utils/sandbox.js.map +1 -1
  166. package/dist/src/validateNonInterActiveAuth.js +58 -3
  167. package/dist/src/validateNonInterActiveAuth.js.map +1 -1
  168. package/dist/tsconfig.build.tsbuildinfo +1 -1
  169. package/package.json +4 -3
@@ -3,7 +3,7 @@
3
3
  * Copyright 2025 Vybestack LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { AuthType } from '@vybestack/llxprt-code-core';
6
+ import { AuthType, JsonFormatter, OutputFormat, } from '@vybestack/llxprt-code-core';
7
7
  import { USER_SETTINGS_PATH } from './config/settings.js';
8
8
  import { validateAuthMethod } from './config/auth.js';
9
9
  function getAuthTypeFromEnv() {
@@ -20,7 +20,62 @@ function getAuthTypeFromEnv() {
20
20
  }
21
21
  return undefined;
22
22
  }
23
+ function getEnforcedAuthTypeFromSettings(settings) {
24
+ const enforcedType = settings?.merged?.['security'];
25
+ const enforcedAuth = enforcedType?.['auth'];
26
+ const raw = enforcedAuth?.['enforcedType'];
27
+ if (typeof raw !== 'string') {
28
+ return undefined;
29
+ }
30
+ const trimmed = raw.trim();
31
+ if (trimmed.length === 0) {
32
+ return undefined;
33
+ }
34
+ const validAuthTypes = new Set(Object.values(AuthType));
35
+ if (!validAuthTypes.has(trimmed)) {
36
+ throw new Error(`Invalid security.auth.enforcedType: "${trimmed}". Valid values: ${Array.from(validAuthTypes).join(', ')}`);
37
+ }
38
+ return trimmed;
39
+ }
40
+ function getCurrentGoogleAuthTypeFromEnv() {
41
+ if (process.env.GOOGLE_GENAI_USE_GCA === 'true') {
42
+ return AuthType.LOGIN_WITH_GOOGLE;
43
+ }
44
+ if (process.env.GOOGLE_GENAI_USE_VERTEXAI === 'true') {
45
+ return AuthType.USE_VERTEX_AI;
46
+ }
47
+ if (process.env.GEMINI_API_KEY || process.env.LLXPRT_API_KEY) {
48
+ return AuthType.USE_GEMINI;
49
+ }
50
+ return undefined;
51
+ }
52
+ function reportNonInteractiveAuthError(config, message) {
53
+ const outputFormat = typeof config.getOutputFormat === 'function'
54
+ ? config.getOutputFormat()
55
+ : OutputFormat.TEXT;
56
+ if (outputFormat === OutputFormat.JSON) {
57
+ const formatter = new JsonFormatter();
58
+ process.stderr.write(`${formatter.formatError(new Error(message), 1)}\n`);
59
+ return;
60
+ }
61
+ console.error(message);
62
+ }
23
63
  export async function validateNonInteractiveAuth(configuredAuthType, useExternalAuth, nonInteractiveConfig, settings) {
64
+ let enforcedAuthType;
65
+ try {
66
+ enforcedAuthType = getEnforcedAuthTypeFromSettings(settings);
67
+ }
68
+ catch (error) {
69
+ reportNonInteractiveAuthError(nonInteractiveConfig, error instanceof Error ? error.message : String(error));
70
+ process.exit(1);
71
+ }
72
+ if (enforcedAuthType) {
73
+ const currentAuthType = getCurrentGoogleAuthTypeFromEnv();
74
+ if (currentAuthType && enforcedAuthType !== currentAuthType) {
75
+ reportNonInteractiveAuthError(nonInteractiveConfig, `Auth type mismatch: configured auth type is ${enforcedAuthType}, current auth type is ${currentAuthType}.`);
76
+ process.exit(1);
77
+ }
78
+ }
24
79
  // Check if a provider is already configured via command line
25
80
  const providerManager = nonInteractiveConfig.getProviderManager?.();
26
81
  const configProvider = nonInteractiveConfig.getProvider?.();
@@ -52,13 +107,13 @@ export async function validateNonInteractiveAuth(configuredAuthType, useExternal
52
107
  }
53
108
  const effectiveAuthType = configuredAuthType || getAuthTypeFromEnv();
54
109
  if (!effectiveAuthType) {
55
- console.error(`Please set an Auth method in your ${USER_SETTINGS_PATH} or specify one of the following environment variables before running: GEMINI_API_KEY, LLXPRT_API_KEY, GOOGLE_GENAI_USE_VERTEXAI, GOOGLE_GENAI_USE_GCA, OPENAI_API_KEY, ANTHROPIC_API_KEY`);
110
+ reportNonInteractiveAuthError(nonInteractiveConfig, `Please set an Auth method in your ${USER_SETTINGS_PATH} or specify one of the following environment variables before running: GEMINI_API_KEY, LLXPRT_API_KEY, GOOGLE_GENAI_USE_VERTEXAI, GOOGLE_GENAI_USE_GCA, OPENAI_API_KEY, ANTHROPIC_API_KEY`);
56
111
  process.exit(1);
57
112
  }
58
113
  if (!useExternalAuth) {
59
114
  const err = validateAuthMethod(effectiveAuthType);
60
115
  if (err != null) {
61
- console.error(err);
116
+ reportNonInteractiveAuthError(nonInteractiveConfig, err);
62
117
  process.exit(1);
63
118
  }
64
119
  }
@@ -1 +1 @@
1
- {"version":3,"file":"validateNonInterActiveAuth.js","sourceRoot":"","sources":["../../src/validateNonInterActiveAuth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validateNonInterActiveAuth.js","sourceRoot":"","sources":["../../src/validateNonInterActiveAuth.ts"],"names":[],"mappings":"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"}