repoburg 1.3.136 → 1.3.138

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 (172) hide show
  1. package/CODEMAP.md +3 -11
  2. package/README.md +4 -4
  3. package/backend/.env +2 -2
  4. package/backend/CODEMAP.md +2 -3
  5. package/backend/dist/src/core-entities/llm-call-log.entity.d.ts +1 -1
  6. package/backend/dist/src/core-entities/llm-call-log.entity.js +3 -3
  7. package/backend/dist/src/core-entities/llm-call-log.entity.js.map +1 -1
  8. package/backend/dist/src/core-entities/session.entity.js +2 -2
  9. package/backend/dist/src/core-entities/session.entity.js.map +1 -1
  10. package/backend/dist/src/core-entities/system-prompt.entity.js +1 -1
  11. package/backend/dist/src/core-entities/system-prompt.entity.js.map +1 -1
  12. package/backend/dist/src/llm-call-logs/dto/llm-call-log.dto.d.ts +1 -1
  13. package/backend/dist/src/llm-call-logs/dto/llm-call-log.dto.js +1 -1
  14. package/backend/dist/src/llm-call-logs/dto/llm-call-log.dto.js.map +1 -1
  15. package/backend/dist/src/llm-call-logs/llm-call-logs.controller.js +1 -1
  16. package/backend/dist/src/llm-orchestration/action-handlers/manage-sub-agents.handler.js +1 -1
  17. package/backend/dist/src/llm-orchestration/action-handlers/overwrite-file.handler.js +1 -0
  18. package/backend/dist/src/llm-orchestration/action-handlers/overwrite-file.handler.js.map +1 -1
  19. package/backend/dist/src/llm-orchestration/action-handlers/quick-edit.handler.js +3 -0
  20. package/backend/dist/src/llm-orchestration/action-handlers/quick-edit.handler.js.map +1 -1
  21. package/backend/dist/src/llm-provider/llm-provider.interface.d.ts +3 -9
  22. package/backend/dist/src/llm-provider/llm-provider.interface.js +2 -9
  23. package/backend/dist/src/llm-provider/llm-provider.interface.js.map +1 -1
  24. package/backend/dist/src/llm-provider/llm-provider.module.js +1 -2
  25. package/backend/dist/src/llm-provider/llm-provider.module.js.map +1 -1
  26. package/backend/dist/src/llm-provider/proxy-llm.provider.d.ts +1 -3
  27. package/backend/dist/src/llm-provider/proxy-llm.provider.js +4 -12
  28. package/backend/dist/src/llm-provider/proxy-llm.provider.js.map +1 -1
  29. package/backend/dist/src/llm-responses/dto/sync-conversation.dto.js +2 -2
  30. package/backend/dist/src/llm-responses/dto/sync-conversation.dto.js.map +1 -1
  31. package/backend/dist/src/sessions/dto/session.dto.d.ts +1 -1
  32. package/backend/dist/src/sessions/dto/session.dto.js +7 -7
  33. package/backend/dist/src/sessions/dto/session.dto.js.map +1 -1
  34. package/backend/dist/src/sessions/sessions.service.js +14 -5
  35. package/backend/dist/src/sessions/sessions.service.js.map +1 -1
  36. package/backend/dist/src/sub-agents/dto/create-sub-agent.dto.js +1 -1
  37. package/backend/dist/src/sub-agents/dto/create-sub-agent.dto.js.map +1 -1
  38. package/backend/dist/src/sub-agents/dto/update-sub-agent.dto.js +1 -1
  39. package/backend/dist/src/sub-agents/dto/update-sub-agent.dto.js.map +1 -1
  40. package/backend/dist/src/sub-agents/sub-agent.entity.js +1 -1
  41. package/backend/dist/src/sub-agents/sub-agent.entity.js.map +1 -1
  42. package/backend/dist/src/system-prompts/dto/system-prompt.dto.js +2 -2
  43. package/backend/dist/src/system-prompts/dto/system-prompt.dto.js.map +1 -1
  44. package/backend/dist/tsconfig.build.tsbuildinfo +1 -1
  45. package/package.json +1 -2
  46. package/backend/dist/packages/gemini-core/examples/simple.d.ts +0 -1
  47. package/backend/dist/packages/gemini-core/examples/simple.js +0 -73
  48. package/backend/dist/packages/gemini-core/examples/simple.js.map +0 -1
  49. package/backend/dist/packages/gemini-core/index.d.ts +0 -3
  50. package/backend/dist/packages/gemini-core/index.js +0 -27
  51. package/backend/dist/packages/gemini-core/index.js.map +0 -1
  52. package/backend/dist/packages/gemini-core/src/code_assist/codeAssist.d.ts +0 -5
  53. package/backend/dist/packages/gemini-core/src/code_assist/codeAssist.js +0 -17
  54. package/backend/dist/packages/gemini-core/src/code_assist/codeAssist.js.map +0 -1
  55. package/backend/dist/packages/gemini-core/src/code_assist/converter.d.ts +0 -69
  56. package/backend/dist/packages/gemini-core/src/code_assist/converter.js +0 -129
  57. package/backend/dist/packages/gemini-core/src/code_assist/converter.js.map +0 -1
  58. package/backend/dist/packages/gemini-core/src/code_assist/oauth-credential-storage.d.ts +0 -8
  59. package/backend/dist/packages/gemini-core/src/code_assist/oauth-credential-storage.js +0 -84
  60. package/backend/dist/packages/gemini-core/src/code_assist/oauth-credential-storage.js.map +0 -1
  61. package/backend/dist/packages/gemini-core/src/code_assist/oauth2.d.ts +0 -12
  62. package/backend/dist/packages/gemini-core/src/code_assist/oauth2.js +0 -371
  63. package/backend/dist/packages/gemini-core/src/code_assist/oauth2.js.map +0 -1
  64. package/backend/dist/packages/gemini-core/src/code_assist/server.d.ts +0 -28
  65. package/backend/dist/packages/gemini-core/src/code_assist/server.js +0 -135
  66. package/backend/dist/packages/gemini-core/src/code_assist/server.js.map +0 -1
  67. package/backend/dist/packages/gemini-core/src/code_assist/setup.d.ts +0 -10
  68. package/backend/dist/packages/gemini-core/src/code_assist/setup.js +0 -94
  69. package/backend/dist/packages/gemini-core/src/code_assist/setup.js.map +0 -1
  70. package/backend/dist/packages/gemini-core/src/code_assist/types.d.ts +0 -106
  71. package/backend/dist/packages/gemini-core/src/code_assist/types.js +0 -28
  72. package/backend/dist/packages/gemini-core/src/code_assist/types.js.map +0 -1
  73. package/backend/dist/packages/gemini-core/src/config/config.d.ts +0 -22
  74. package/backend/dist/packages/gemini-core/src/config/config.js +0 -38
  75. package/backend/dist/packages/gemini-core/src/config/config.js.map +0 -1
  76. package/backend/dist/packages/gemini-core/src/config/models.d.ts +0 -6
  77. package/backend/dist/packages/gemini-core/src/config/models.js +0 -13
  78. package/backend/dist/packages/gemini-core/src/config/models.js.map +0 -1
  79. package/backend/dist/packages/gemini-core/src/config/storage.d.ts +0 -8
  80. package/backend/dist/packages/gemini-core/src/config/storage.js +0 -25
  81. package/backend/dist/packages/gemini-core/src/config/storage.js.map +0 -1
  82. package/backend/dist/packages/gemini-core/src/core/contentGenerator.d.ts +0 -23
  83. package/backend/dist/packages/gemini-core/src/core/contentGenerator.js +0 -63
  84. package/backend/dist/packages/gemini-core/src/core/contentGenerator.js.map +0 -1
  85. package/backend/dist/packages/gemini-core/src/core/geminiChat.d.ts +0 -34
  86. package/backend/dist/packages/gemini-core/src/core/geminiChat.js +0 -247
  87. package/backend/dist/packages/gemini-core/src/core/geminiChat.js.map +0 -1
  88. package/backend/dist/packages/gemini-core/src/core/geminiRequest.d.ts +0 -3
  89. package/backend/dist/packages/gemini-core/src/core/geminiRequest.js +0 -8
  90. package/backend/dist/packages/gemini-core/src/core/geminiRequest.js.map +0 -1
  91. package/backend/dist/packages/gemini-core/src/core/prompts.d.ts +0 -7
  92. package/backend/dist/packages/gemini-core/src/core/prompts.js +0 -69
  93. package/backend/dist/packages/gemini-core/src/core/prompts.js.map +0 -1
  94. package/backend/dist/packages/gemini-core/src/core/tokenLimits.d.ts +0 -5
  95. package/backend/dist/packages/gemini-core/src/core/tokenLimits.js +0 -25
  96. package/backend/dist/packages/gemini-core/src/core/tokenLimits.js.map +0 -1
  97. package/backend/dist/packages/gemini-core/src/index.d.ts +0 -18
  98. package/backend/dist/packages/gemini-core/src/index.js +0 -37
  99. package/backend/dist/packages/gemini-core/src/index.js.map +0 -1
  100. package/backend/dist/packages/gemini-core/src/mcp/token-storage/base-token-storage.d.ts +0 -14
  101. package/backend/dist/packages/gemini-core/src/mcp/token-storage/base-token-storage.js +0 -34
  102. package/backend/dist/packages/gemini-core/src/mcp/token-storage/base-token-storage.js.map +0 -1
  103. package/backend/dist/packages/gemini-core/src/mcp/token-storage/file-token-storage.d.ts +0 -19
  104. package/backend/dist/packages/gemini-core/src/mcp/token-storage/file-token-storage.js +0 -141
  105. package/backend/dist/packages/gemini-core/src/mcp/token-storage/file-token-storage.js.map +0 -1
  106. package/backend/dist/packages/gemini-core/src/mcp/token-storage/hybrid-token-storage.d.ts +0 -18
  107. package/backend/dist/packages/gemini-core/src/mcp/token-storage/hybrid-token-storage.js +0 -74
  108. package/backend/dist/packages/gemini-core/src/mcp/token-storage/hybrid-token-storage.js.map +0 -1
  109. package/backend/dist/packages/gemini-core/src/mcp/token-storage/index.d.ts +0 -6
  110. package/backend/dist/packages/gemini-core/src/mcp/token-storage/index.js +0 -24
  111. package/backend/dist/packages/gemini-core/src/mcp/token-storage/index.js.map +0 -1
  112. package/backend/dist/packages/gemini-core/src/mcp/token-storage/keychain-token-storage.d.ts +0 -26
  113. package/backend/dist/packages/gemini-core/src/mcp/token-storage/keychain-token-storage.js +0 -188
  114. package/backend/dist/packages/gemini-core/src/mcp/token-storage/keychain-token-storage.js.map +0 -1
  115. package/backend/dist/packages/gemini-core/src/mcp/token-storage/types.d.ts +0 -27
  116. package/backend/dist/packages/gemini-core/src/mcp/token-storage/types.js +0 -9
  117. package/backend/dist/packages/gemini-core/src/mcp/token-storage/types.js.map +0 -1
  118. package/backend/dist/packages/gemini-core/src/utils/errors.d.ts +0 -34
  119. package/backend/dist/packages/gemini-core/src/utils/errors.js +0 -103
  120. package/backend/dist/packages/gemini-core/src/utils/errors.js.map +0 -1
  121. package/backend/dist/packages/gemini-core/src/utils/partUtils.d.ts +0 -7
  122. package/backend/dist/packages/gemini-core/src/utils/partUtils.js +0 -108
  123. package/backend/dist/packages/gemini-core/src/utils/partUtils.js.map +0 -1
  124. package/backend/dist/packages/gemini-core/src/utils/quotaErrorDetection.d.ts +0 -16
  125. package/backend/dist/packages/gemini-core/src/utils/quotaErrorDetection.js +0 -60
  126. package/backend/dist/packages/gemini-core/src/utils/quotaErrorDetection.js.map +0 -1
  127. package/backend/dist/packages/gemini-core/src/utils/retry.d.ts +0 -14
  128. package/backend/dist/packages/gemini-core/src/utils/retry.js +0 -154
  129. package/backend/dist/packages/gemini-core/src/utils/retry.js.map +0 -1
  130. package/backend/dist/packages/gemini-core/src/utils/session.d.ts +0 -1
  131. package/backend/dist/packages/gemini-core/src/utils/session.js +0 -6
  132. package/backend/dist/packages/gemini-core/src/utils/session.js.map +0 -1
  133. package/backend/dist/packages/gemini-core/src/utils/userAccountManager.d.ts +0 -10
  134. package/backend/dist/packages/gemini-core/src/utils/userAccountManager.js +0 -106
  135. package/backend/dist/packages/gemini-core/src/utils/userAccountManager.js.map +0 -1
  136. package/backend/dist/src/gemini/gemini-llm.provider.d.ts +0 -12
  137. package/backend/dist/src/gemini/gemini-llm.provider.js +0 -126
  138. package/backend/dist/src/gemini/gemini-llm.provider.js.map +0 -1
  139. package/backend/dist/src/gemini/gemini.module.d.ts +0 -2
  140. package/backend/dist/src/gemini/gemini.module.js +0 -21
  141. package/backend/dist/src/gemini/gemini.module.js.map +0 -1
  142. package/backend/packages/gemini-core/CODEMAP.md +0 -30
  143. package/backend/packages/gemini-core/examples/simple.ts +0 -120
  144. package/backend/packages/gemini-core/index.ts +0 -15
  145. package/backend/packages/gemini-core/src/code_assist/codeAssist.ts +0 -37
  146. package/backend/packages/gemini-core/src/code_assist/converter.ts +0 -250
  147. package/backend/packages/gemini-core/src/code_assist/oauth-credential-storage.ts +0 -129
  148. package/backend/packages/gemini-core/src/code_assist/oauth2.ts +0 -541
  149. package/backend/packages/gemini-core/src/code_assist/server.ts +0 -236
  150. package/backend/packages/gemini-core/src/code_assist/setup.ts +0 -124
  151. package/backend/packages/gemini-core/src/code_assist/types.ts +0 -201
  152. package/backend/packages/gemini-core/src/config/config.ts +0 -75
  153. package/backend/packages/gemini-core/src/config/models.ts +0 -23
  154. package/backend/packages/gemini-core/src/config/storage.ts +0 -30
  155. package/backend/packages/gemini-core/src/core/contentGenerator.ts +0 -136
  156. package/backend/packages/gemini-core/src/core/geminiChat.ts +0 -385
  157. package/backend/packages/gemini-core/src/core/geminiRequest.ts +0 -19
  158. package/backend/packages/gemini-core/src/core/prompts.ts +0 -109
  159. package/backend/packages/gemini-core/src/core/tokenLimits.ts +0 -32
  160. package/backend/packages/gemini-core/src/index.ts +0 -35
  161. package/backend/packages/gemini-core/src/mcp/token-storage/base-token-storage.ts +0 -49
  162. package/backend/packages/gemini-core/src/mcp/token-storage/file-token-storage.ts +0 -184
  163. package/backend/packages/gemini-core/src/mcp/token-storage/hybrid-token-storage.ts +0 -97
  164. package/backend/packages/gemini-core/src/mcp/token-storage/index.ts +0 -14
  165. package/backend/packages/gemini-core/src/mcp/token-storage/keychain-token-storage.ts +0 -251
  166. package/backend/packages/gemini-core/src/mcp/token-storage/types.ts +0 -42
  167. package/backend/packages/gemini-core/src/utils/errors.ts +0 -112
  168. package/backend/packages/gemini-core/src/utils/partUtils.ts +0 -169
  169. package/backend/packages/gemini-core/src/utils/quotaErrorDetection.ts +0 -102
  170. package/backend/packages/gemini-core/src/utils/retry.ts +0 -265
  171. package/backend/packages/gemini-core/src/utils/session.ts +0 -9
  172. package/backend/packages/gemini-core/src/utils/userAccountManager.ts +0 -140
@@ -1 +0,0 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../../../packages/gemini-core/src/code_assist/setup.ts"],"names":[],"mappings":"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"}
@@ -1,106 +0,0 @@
1
- export interface ClientMetadata {
2
- ideType?: ClientMetadataIdeType;
3
- ideVersion?: string;
4
- pluginVersion?: string;
5
- platform?: ClientMetadataPlatform;
6
- updateChannel?: string;
7
- duetProject?: string;
8
- pluginType?: ClientMetadataPluginType;
9
- ideName?: string;
10
- }
11
- export type ClientMetadataIdeType = 'IDE_UNSPECIFIED' | 'VSCODE' | 'INTELLIJ' | 'VSCODE_CLOUD_WORKSTATION' | 'INTELLIJ_CLOUD_WORKSTATION' | 'CLOUD_SHELL';
12
- export type ClientMetadataPlatform = 'PLATFORM_UNSPECIFIED' | 'DARWIN_AMD64' | 'DARWIN_ARM64' | 'LINUX_AMD64' | 'LINUX_ARM64' | 'WINDOWS_AMD64';
13
- export type ClientMetadataPluginType = 'PLUGIN_UNSPECIFIED' | 'CLOUD_CODE' | 'GEMINI' | 'AIPLUGIN_INTELLIJ' | 'AIPLUGIN_STUDIO';
14
- export interface LoadCodeAssistRequest {
15
- cloudaicompanionProject?: string;
16
- metadata: ClientMetadata;
17
- }
18
- export interface LoadCodeAssistResponse {
19
- currentTier?: GeminiUserTier | null;
20
- allowedTiers?: GeminiUserTier[] | null;
21
- ineligibleTiers?: IneligibleTier[] | null;
22
- cloudaicompanionProject?: string | null;
23
- }
24
- export interface GeminiUserTier {
25
- id: UserTierId;
26
- name?: string;
27
- description?: string;
28
- userDefinedCloudaicompanionProject?: boolean | null;
29
- isDefault?: boolean;
30
- privacyNotice?: PrivacyNotice;
31
- hasAcceptedTos?: boolean;
32
- hasOnboardedPreviously?: boolean;
33
- }
34
- export interface IneligibleTier {
35
- reasonCode: IneligibleTierReasonCode;
36
- reasonMessage: string;
37
- tierId: UserTierId;
38
- tierName: string;
39
- }
40
- export declare enum IneligibleTierReasonCode {
41
- DASHER_USER = "DASHER_USER",
42
- INELIGIBLE_ACCOUNT = "INELIGIBLE_ACCOUNT",
43
- NON_USER_ACCOUNT = "NON_USER_ACCOUNT",
44
- RESTRICTED_AGE = "RESTRICTED_AGE",
45
- RESTRICTED_NETWORK = "RESTRICTED_NETWORK",
46
- UNKNOWN = "UNKNOWN",
47
- UNKNOWN_LOCATION = "UNKNOWN_LOCATION",
48
- UNSUPPORTED_LOCATION = "UNSUPPORTED_LOCATION"
49
- }
50
- export declare enum UserTierId {
51
- FREE = "free-tier",
52
- LEGACY = "legacy-tier",
53
- STANDARD = "standard-tier"
54
- }
55
- export interface PrivacyNotice {
56
- showNotice: boolean;
57
- noticeText?: string;
58
- }
59
- export interface OnboardUserRequest {
60
- tierId: string | undefined;
61
- cloudaicompanionProject: string | undefined;
62
- metadata: ClientMetadata | undefined;
63
- }
64
- export interface LongRunningOperationResponse {
65
- name: string;
66
- done?: boolean;
67
- response?: OnboardUserResponse;
68
- }
69
- export interface OnboardUserResponse {
70
- cloudaicompanionProject?: {
71
- id: string;
72
- name: string;
73
- };
74
- }
75
- export declare enum OnboardUserStatusCode {
76
- Default = "DEFAULT",
77
- Notice = "NOTICE",
78
- Warning = "WARNING",
79
- Error = "ERROR"
80
- }
81
- export interface OnboardUserStatus {
82
- statusCode: OnboardUserStatusCode;
83
- displayMessage: string;
84
- helpLink: HelpLinkUrl | undefined;
85
- }
86
- export interface HelpLinkUrl {
87
- description: string;
88
- url: string;
89
- }
90
- export interface SetCodeAssistGlobalUserSettingRequest {
91
- cloudaicompanionProject?: string;
92
- freeTierDataCollectionOptin: boolean;
93
- }
94
- export interface CodeAssistGlobalUserSettingResponse {
95
- cloudaicompanionProject?: string;
96
- freeTierDataCollectionOptin: boolean;
97
- }
98
- export interface GoogleRpcResponse {
99
- error?: {
100
- details?: GoogleRpcErrorInfo[];
101
- };
102
- }
103
- interface GoogleRpcErrorInfo {
104
- reason?: string;
105
- }
106
- export {};
@@ -1,28 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OnboardUserStatusCode = exports.UserTierId = exports.IneligibleTierReasonCode = void 0;
4
- var IneligibleTierReasonCode;
5
- (function (IneligibleTierReasonCode) {
6
- IneligibleTierReasonCode["DASHER_USER"] = "DASHER_USER";
7
- IneligibleTierReasonCode["INELIGIBLE_ACCOUNT"] = "INELIGIBLE_ACCOUNT";
8
- IneligibleTierReasonCode["NON_USER_ACCOUNT"] = "NON_USER_ACCOUNT";
9
- IneligibleTierReasonCode["RESTRICTED_AGE"] = "RESTRICTED_AGE";
10
- IneligibleTierReasonCode["RESTRICTED_NETWORK"] = "RESTRICTED_NETWORK";
11
- IneligibleTierReasonCode["UNKNOWN"] = "UNKNOWN";
12
- IneligibleTierReasonCode["UNKNOWN_LOCATION"] = "UNKNOWN_LOCATION";
13
- IneligibleTierReasonCode["UNSUPPORTED_LOCATION"] = "UNSUPPORTED_LOCATION";
14
- })(IneligibleTierReasonCode || (exports.IneligibleTierReasonCode = IneligibleTierReasonCode = {}));
15
- var UserTierId;
16
- (function (UserTierId) {
17
- UserTierId["FREE"] = "free-tier";
18
- UserTierId["LEGACY"] = "legacy-tier";
19
- UserTierId["STANDARD"] = "standard-tier";
20
- })(UserTierId || (exports.UserTierId = UserTierId = {}));
21
- var OnboardUserStatusCode;
22
- (function (OnboardUserStatusCode) {
23
- OnboardUserStatusCode["Default"] = "DEFAULT";
24
- OnboardUserStatusCode["Notice"] = "NOTICE";
25
- OnboardUserStatusCode["Warning"] = "WARNING";
26
- OnboardUserStatusCode["Error"] = "ERROR";
27
- })(OnboardUserStatusCode || (exports.OnboardUserStatusCode = OnboardUserStatusCode = {}));
28
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../packages/gemini-core/src/code_assist/types.ts"],"names":[],"mappings":";;;AAuFA,IAAY,wBAWX;AAXD,WAAY,wBAAwB;IAElC,uDAA2B,CAAA;IAC3B,qEAAyC,CAAA;IACzC,iEAAqC,CAAA;IACrC,6DAAiC,CAAA;IACjC,qEAAyC,CAAA;IACzC,+CAAmB,CAAA;IACnB,iEAAqC,CAAA;IACrC,yEAA6C,CAAA;AAE/C,CAAC,EAXW,wBAAwB,wCAAxB,wBAAwB,QAWnC;AAMD,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,gCAAkB,CAAA;IAClB,oCAAsB,CAAA;IACtB,wCAA0B,CAAA;AAC5B,CAAC,EAJW,UAAU,0BAAV,UAAU,QAIrB;AA+CD,IAAY,qBAKX;AALD,WAAY,qBAAqB;IAC/B,4CAAmB,CAAA;IACnB,0CAAiB,CAAA;IACjB,4CAAmB,CAAA;IACnB,wCAAe,CAAA;AACjB,CAAC,EALW,qBAAqB,qCAArB,qBAAqB,QAKhC"}
@@ -1,22 +0,0 @@
1
- import type { ContentGenerator, ContentGeneratorConfig } from '../core/contentGenerator';
2
- import { AuthType } from '../core/contentGenerator';
3
- import { DEFAULT_GEMINI_FLASH_MODEL } from './models';
4
- export interface ConfigParameters {
5
- sessionId: string;
6
- model: string;
7
- }
8
- export declare class Config {
9
- private contentGeneratorConfig;
10
- private contentGenerator;
11
- private readonly sessionId;
12
- private model;
13
- constructor(params: ConfigParameters);
14
- getContentGenerator(): ContentGenerator;
15
- refreshAuth(authMethod: AuthType): Promise<void>;
16
- getSessionId(): string;
17
- getModel(): string;
18
- setModel(newModel: string): void;
19
- isBrowserLaunchSuppressed(): boolean;
20
- getContentGeneratorConfig(): ContentGeneratorConfig;
21
- }
22
- export { DEFAULT_GEMINI_FLASH_MODEL };
@@ -1,38 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DEFAULT_GEMINI_FLASH_MODEL = exports.Config = void 0;
4
- const node_process_1 = require("node:process");
5
- const contentGenerator_1 = require("../core/contentGenerator");
6
- const models_1 = require("./models");
7
- Object.defineProperty(exports, "DEFAULT_GEMINI_FLASH_MODEL", { enumerable: true, get: function () { return models_1.DEFAULT_GEMINI_FLASH_MODEL; } });
8
- class Config {
9
- constructor(params) {
10
- this.sessionId = params.sessionId;
11
- this.model = params.model;
12
- }
13
- getContentGenerator() {
14
- return this.contentGenerator;
15
- }
16
- async refreshAuth(authMethod) {
17
- const newContentGeneratorConfig = (0, contentGenerator_1.createContentGeneratorConfig)(this, authMethod);
18
- this.contentGenerator = await (0, contentGenerator_1.createContentGenerator)(newContentGeneratorConfig, this, this.getSessionId());
19
- this.contentGeneratorConfig = newContentGeneratorConfig;
20
- }
21
- getSessionId() {
22
- return this.sessionId;
23
- }
24
- getModel() {
25
- return this.model;
26
- }
27
- setModel(newModel) {
28
- this.model = newModel;
29
- }
30
- isBrowserLaunchSuppressed() {
31
- return node_process_1.default.env['NO_BROWSER'] === 'true';
32
- }
33
- getContentGeneratorConfig() {
34
- return this.contentGeneratorConfig;
35
- }
36
- }
37
- exports.Config = Config;
38
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../packages/gemini-core/src/config/config.ts"],"names":[],"mappings":";;;AAMA,+CAAmC;AAKnC,+DAIkC;AAClC,qCAAsD;AA0D7C,2GA1DA,mCAA0B,OA0DA;AAnDnC,MAAa,MAAM;IAMjB,YAAY,MAAwB;QAClC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAC5B,CAAC;IAED,mBAAmB;QACjB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,UAAoB;QACpC,MAAM,yBAAyB,GAAG,IAAA,+CAA4B,EAC5D,IAAI,EACJ,UAAU,CACX,CAAC;QACF,IAAI,CAAC,gBAAgB,GAAG,MAAM,IAAA,yCAAsB,EAClD,yBAAyB,EACzB,IAAI,EACJ,IAAI,CAAC,YAAY,EAAE,CACpB,CAAC;QAEF,IAAI,CAAC,sBAAsB,GAAG,yBAAyB,CAAC;IAC1D,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,QAAQ,CAAC,QAAgB;QACvB,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;IACxB,CAAC;IAGD,yBAAyB;QACvB,OAAO,sBAAO,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,MAAM,CAAC;IAC9C,CAAC;IAED,yBAAyB;QACvB,OAAO,IAAI,CAAC,sBAAsB,CAAC;IACrC,CAAC;CACF;AAjDD,wBAiDC"}
@@ -1,6 +0,0 @@
1
- export declare const DEFAULT_GEMINI_MODEL = "gemini-2.5-pro";
2
- export declare const DEFAULT_GEMINI_FLASH_MODEL = "gemini-2.5-flash";
3
- export declare const DEFAULT_GEMINI_FLASH_LITE_MODEL = "gemini-2.5-flash-lite";
4
- export declare const DEFAULT_GEMINI_MODEL_AUTO = "auto";
5
- export declare const DEFAULT_GEMINI_EMBEDDING_MODEL = "gemini-embedding-001";
6
- export declare function getEffectiveModel(requestedModel: string): string;
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DEFAULT_GEMINI_EMBEDDING_MODEL = exports.DEFAULT_GEMINI_MODEL_AUTO = exports.DEFAULT_GEMINI_FLASH_LITE_MODEL = exports.DEFAULT_GEMINI_FLASH_MODEL = exports.DEFAULT_GEMINI_MODEL = void 0;
4
- exports.getEffectiveModel = getEffectiveModel;
5
- exports.DEFAULT_GEMINI_MODEL = 'gemini-2.5-pro';
6
- exports.DEFAULT_GEMINI_FLASH_MODEL = 'gemini-2.5-flash';
7
- exports.DEFAULT_GEMINI_FLASH_LITE_MODEL = 'gemini-2.5-flash-lite';
8
- exports.DEFAULT_GEMINI_MODEL_AUTO = 'auto';
9
- exports.DEFAULT_GEMINI_EMBEDDING_MODEL = 'gemini-embedding-001';
10
- function getEffectiveModel(requestedModel) {
11
- return requestedModel;
12
- }
13
- //# sourceMappingURL=models.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../../../../../packages/gemini-core/src/config/models.ts"],"names":[],"mappings":";;;AAoBA,8CAEC;AAhBY,QAAA,oBAAoB,GAAG,gBAAgB,CAAC;AACxC,QAAA,0BAA0B,GAAG,kBAAkB,CAAC;AAChD,QAAA,+BAA+B,GAAG,uBAAuB,CAAC;AAE1D,QAAA,yBAAyB,GAAG,MAAM,CAAC;AAEnC,QAAA,8BAA8B,GAAG,sBAAsB,CAAC;AAQrE,SAAgB,iBAAiB,CAAC,cAAsB;IACtD,OAAO,cAAc,CAAC;AACxB,CAAC"}
@@ -1,8 +0,0 @@
1
- export declare const GEMINI_DIR = ".gemini";
2
- export declare const GOOGLE_ACCOUNTS_FILENAME = "google_accounts.json";
3
- export declare const OAUTH_FILE = "oauth_creds.json";
4
- export declare class Storage {
5
- static getGlobalGeminiDir(): string;
6
- static getGoogleAccountsPath(): string;
7
- static getOAuthCredsPath(): string;
8
- }
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Storage = exports.OAUTH_FILE = exports.GOOGLE_ACCOUNTS_FILENAME = exports.GEMINI_DIR = void 0;
4
- const path = require("node:path");
5
- const os = require("node:os");
6
- exports.GEMINI_DIR = '.gemini';
7
- exports.GOOGLE_ACCOUNTS_FILENAME = 'google_accounts.json';
8
- exports.OAUTH_FILE = 'oauth_creds.json';
9
- class Storage {
10
- static getGlobalGeminiDir() {
11
- const homeDir = os.homedir();
12
- if (!homeDir) {
13
- return path.join(os.tmpdir(), '.gemini');
14
- }
15
- return path.join(homeDir, exports.GEMINI_DIR);
16
- }
17
- static getGoogleAccountsPath() {
18
- return path.join(Storage.getGlobalGeminiDir(), exports.GOOGLE_ACCOUNTS_FILENAME);
19
- }
20
- static getOAuthCredsPath() {
21
- return path.join(Storage.getGlobalGeminiDir(), exports.OAUTH_FILE);
22
- }
23
- }
24
- exports.Storage = Storage;
25
- //# sourceMappingURL=storage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../../../packages/gemini-core/src/config/storage.ts"],"names":[],"mappings":";;;AAMA,kCAAkC;AAClC,8BAA8B;AAEjB,QAAA,UAAU,GAAG,SAAS,CAAC;AACvB,QAAA,wBAAwB,GAAG,sBAAsB,CAAC;AAClD,QAAA,UAAU,GAAG,kBAAkB,CAAC;AAE7C,MAAa,OAAO;IAClB,MAAM,CAAC,kBAAkB;QACvB,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,kBAAU,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,CAAC,qBAAqB;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,gCAAwB,CAAC,CAAC;IAC3E,CAAC;IAED,MAAM,CAAC,iBAAiB;QACtB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,kBAAU,CAAC,CAAC;IAC7D,CAAC;CACF;AAhBD,0BAgBC"}
@@ -1,23 +0,0 @@
1
- import type { CountTokensResponse, GenerateContentResponse, GenerateContentParameters, CountTokensParameters, EmbedContentResponse, EmbedContentParameters } from '@google/genai';
2
- import type { Config } from '../config/config';
3
- import type { UserTierId } from '../code_assist/types';
4
- export interface ContentGenerator {
5
- generateContent(request: GenerateContentParameters, userPromptId: string): Promise<GenerateContentResponse>;
6
- generateContentStream(request: GenerateContentParameters, userPromptId: string): Promise<AsyncGenerator<GenerateContentResponse>>;
7
- countTokens(request: CountTokensParameters): Promise<CountTokensResponse>;
8
- embedContent(request: EmbedContentParameters): Promise<EmbedContentResponse>;
9
- userTier?: UserTierId;
10
- }
11
- export declare enum AuthType {
12
- LOGIN_WITH_GOOGLE = "oauth-personal",
13
- USE_GEMINI = "gemini-api-key",
14
- USE_VERTEX_AI = "vertex-ai",
15
- CLOUD_SHELL = "cloud-shell"
16
- }
17
- export type ContentGeneratorConfig = {
18
- apiKey?: string;
19
- vertexai?: boolean;
20
- authType?: AuthType;
21
- };
22
- export declare function createContentGeneratorConfig(config: Config, authType: AuthType | undefined): ContentGeneratorConfig;
23
- export declare function createContentGenerator(config: ContentGeneratorConfig, gcConfig: Config, sessionId?: string): Promise<ContentGenerator>;
@@ -1,63 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AuthType = void 0;
4
- exports.createContentGeneratorConfig = createContentGeneratorConfig;
5
- exports.createContentGenerator = createContentGenerator;
6
- const genai_1 = require("@google/genai");
7
- const codeAssist_1 = require("../code_assist/codeAssist");
8
- var AuthType;
9
- (function (AuthType) {
10
- AuthType["LOGIN_WITH_GOOGLE"] = "oauth-personal";
11
- AuthType["USE_GEMINI"] = "gemini-api-key";
12
- AuthType["USE_VERTEX_AI"] = "vertex-ai";
13
- AuthType["CLOUD_SHELL"] = "cloud-shell";
14
- })(AuthType || (exports.AuthType = AuthType = {}));
15
- function createContentGeneratorConfig(config, authType) {
16
- const geminiApiKey = process.env['GEMINI_API_KEY'] || undefined;
17
- const googleApiKey = process.env['GOOGLE_API_KEY'] || undefined;
18
- const googleCloudProject = process.env['GOOGLE_CLOUD_PROJECT'] || undefined;
19
- const googleCloudLocation = process.env['GOOGLE_CLOUD_LOCATION'] || undefined;
20
- const contentGeneratorConfig = {
21
- authType,
22
- };
23
- if (authType === AuthType.LOGIN_WITH_GOOGLE ||
24
- authType === AuthType.CLOUD_SHELL) {
25
- return contentGeneratorConfig;
26
- }
27
- if (authType === AuthType.USE_GEMINI && geminiApiKey) {
28
- contentGeneratorConfig.apiKey = geminiApiKey;
29
- contentGeneratorConfig.vertexai = false;
30
- return contentGeneratorConfig;
31
- }
32
- if (authType === AuthType.USE_VERTEX_AI &&
33
- (googleApiKey || (googleCloudProject && googleCloudLocation))) {
34
- contentGeneratorConfig.apiKey = googleApiKey;
35
- contentGeneratorConfig.vertexai = true;
36
- return contentGeneratorConfig;
37
- }
38
- return contentGeneratorConfig;
39
- }
40
- async function createContentGenerator(config, gcConfig, sessionId) {
41
- const version = process.env['CLI_VERSION'] || process.version;
42
- const userAgent = `GeminiCLI/${version} (${process.platform}; ${process.arch})`;
43
- const baseHeaders = {
44
- 'User-Agent': userAgent,
45
- };
46
- if (config.authType === AuthType.LOGIN_WITH_GOOGLE ||
47
- config.authType === AuthType.CLOUD_SHELL) {
48
- const httpOptions = { headers: baseHeaders };
49
- return (0, codeAssist_1.createCodeAssistContentGenerator)(httpOptions, config.authType, gcConfig, sessionId);
50
- }
51
- if (config.authType === AuthType.USE_GEMINI ||
52
- config.authType === AuthType.USE_VERTEX_AI) {
53
- const httpOptions = { headers: baseHeaders };
54
- const googleGenAI = new genai_1.GoogleGenAI({
55
- apiKey: config.apiKey === '' ? undefined : config.apiKey,
56
- vertexai: config.vertexai,
57
- httpOptions,
58
- });
59
- return googleGenAI.models;
60
- }
61
- throw new Error(`Error creating contentGenerator: Unsupported authType: ${config.authType}`);
62
- }
63
- //# sourceMappingURL=contentGenerator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"contentGenerator.js","sourceRoot":"","sources":["../../../../../packages/gemini-core/src/core/contentGenerator.ts"],"names":[],"mappings":";;;AAsDA,oEAuCC;AAED,wDAwCC;AAzHD,yCAA4C;AAC5C,0DAA6E;AA0B7E,IAAY,QAKX;AALD,WAAY,QAAQ;IAClB,gDAAoC,CAAA;IACpC,yCAA6B,CAAA;IAC7B,uCAA2B,CAAA;IAC3B,uCAA2B,CAAA;AAC7B,CAAC,EALW,QAAQ,wBAAR,QAAQ,QAKnB;AAQD,SAAgB,4BAA4B,CAC1C,MAAc,EACd,QAA8B;IAE9B,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,SAAS,CAAC;IAChE,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,SAAS,CAAC;IAChE,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,IAAI,SAAS,CAAC;IAC5E,MAAM,mBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,IAAI,SAAS,CAAC;IAE9E,MAAM,sBAAsB,GAA2B;QACrD,QAAQ;KACT,CAAC;IAGF,IACE,QAAQ,KAAK,QAAQ,CAAC,iBAAiB;QACvC,QAAQ,KAAK,QAAQ,CAAC,WAAW,EACjC,CAAC;QACD,OAAO,sBAAsB,CAAC;IAChC,CAAC;IAED,IAAI,QAAQ,KAAK,QAAQ,CAAC,UAAU,IAAI,YAAY,EAAE,CAAC;QACrD,sBAAsB,CAAC,MAAM,GAAG,YAAY,CAAC;QAC7C,sBAAsB,CAAC,QAAQ,GAAG,KAAK,CAAC;QAExC,OAAO,sBAAsB,CAAC;IAChC,CAAC;IAED,IACE,QAAQ,KAAK,QAAQ,CAAC,aAAa;QACnC,CAAC,YAAY,IAAI,CAAC,kBAAkB,IAAI,mBAAmB,CAAC,CAAC,EAC7D,CAAC;QACD,sBAAsB,CAAC,MAAM,GAAG,YAAY,CAAC;QAC7C,sBAAsB,CAAC,QAAQ,GAAG,IAAI,CAAC;QAEvC,OAAO,sBAAsB,CAAC;IAChC,CAAC;IAED,OAAO,sBAAsB,CAAC;AAChC,CAAC;AAEM,KAAK,UAAU,sBAAsB,CAC1C,MAA8B,EAC9B,QAAgB,EAChB,SAAkB;IAElB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC;IAC9D,MAAM,SAAS,GAAG,aAAa,OAAO,KAAK,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,IAAI,GAAG,CAAC;IAChF,MAAM,WAAW,GAA2B;QAC1C,YAAY,EAAE,SAAS;KACxB,CAAC;IAEF,IACE,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,iBAAiB;QAC9C,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,WAAW,EACxC,CAAC;QACD,MAAM,WAAW,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;QAC7C,OAAO,IAAA,6CAAgC,EACrC,WAAW,EACX,MAAM,CAAC,QAAQ,EACf,QAAQ,EACR,SAAS,CACV,CAAC;IACJ,CAAC;IAED,IACE,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,UAAU;QACvC,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,aAAa,EAC1C,CAAC;QACD,MAAM,WAAW,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;QAE7C,MAAM,WAAW,GAAG,IAAI,mBAAW,CAAC;YAClC,MAAM,EAAE,MAAM,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM;YACxD,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,WAAW;SACZ,CAAC,CAAC;QACH,OAAO,WAAW,CAAC,MAAM,CAAC;IAC5B,CAAC;IACD,MAAM,IAAI,KAAK,CACb,0DAA0D,MAAM,CAAC,QAAQ,EAAE,CAC5E,CAAC;AACJ,CAAC"}
@@ -1,34 +0,0 @@
1
- import { GenerateContentResponse, type Content, type GenerateContentConfig, type SendMessageParameters, type Part } from '@google/genai';
2
- import type { Config } from '../config/config';
3
- export declare enum StreamEventType {
4
- CHUNK = "chunk",
5
- RETRY = "retry"
6
- }
7
- export type StreamEvent = {
8
- type: StreamEventType.CHUNK;
9
- value: GenerateContentResponse;
10
- } | {
11
- type: StreamEventType.RETRY;
12
- };
13
- export declare function isValidNonThoughtTextPart(part: Part): boolean;
14
- export declare class InvalidStreamError extends Error {
15
- readonly type: 'NO_FINISH_REASON' | 'NO_RESPONSE_TEXT';
16
- constructor(message: string, type: 'NO_FINISH_REASON' | 'NO_RESPONSE_TEXT');
17
- }
18
- export declare class GeminiChat {
19
- private readonly config;
20
- private readonly generationConfig;
21
- private history;
22
- private sendPromise;
23
- constructor(config: Config, generationConfig?: GenerateContentConfig, history?: Content[]);
24
- setSystemInstruction(sysInstr: string): void;
25
- sendMessageStream(model: string, params: SendMessageParameters, prompt_id: string): Promise<AsyncGenerator<StreamEvent>>;
26
- private makeApiCallAndProcessStream;
27
- getHistory(curated?: boolean): Content[];
28
- clearHistory(): void;
29
- addHistory(content: Content): void;
30
- setHistory(history: Content[]): void;
31
- private processStreamResponse;
32
- }
33
- export declare function isSchemaDepthError(errorMessage: string): boolean;
34
- export declare function isInvalidArgumentError(errorMessage: string): boolean;
@@ -1,247 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GeminiChat = exports.InvalidStreamError = exports.StreamEventType = void 0;
4
- exports.isValidNonThoughtTextPart = isValidNonThoughtTextPart;
5
- exports.isSchemaDepthError = isSchemaDepthError;
6
- exports.isInvalidArgumentError = isInvalidArgumentError;
7
- const genai_1 = require("@google/genai");
8
- const genai_2 = require("@google/genai");
9
- const retry_1 = require("../utils/retry");
10
- const models_1 = require("../config/models");
11
- var StreamEventType;
12
- (function (StreamEventType) {
13
- StreamEventType["CHUNK"] = "chunk";
14
- StreamEventType["RETRY"] = "retry";
15
- })(StreamEventType || (exports.StreamEventType = StreamEventType = {}));
16
- const INVALID_CONTENT_RETRY_OPTIONS = {
17
- maxAttempts: 2,
18
- initialDelayMs: 500,
19
- };
20
- function isValidResponse(response) {
21
- if (response.candidates === undefined || response.candidates.length === 0) {
22
- return false;
23
- }
24
- const content = response.candidates[0]?.content;
25
- if (content === undefined) {
26
- return false;
27
- }
28
- return isValidContent(content);
29
- }
30
- function isValidNonThoughtTextPart(part) {
31
- return (typeof part.text === 'string' &&
32
- !part.thought &&
33
- !part.inlineData &&
34
- !part.fileData);
35
- }
36
- function isValidContent(content) {
37
- if (content.parts === undefined || content.parts.length === 0) {
38
- return false;
39
- }
40
- for (const part of content.parts) {
41
- if (part === undefined || Object.keys(part).length === 0) {
42
- return false;
43
- }
44
- if (!part.thought && part.text !== undefined && part.text === '') {
45
- return false;
46
- }
47
- }
48
- return true;
49
- }
50
- function validateHistory(history) {
51
- for (const content of history) {
52
- if (content.role !== 'user' && content.role !== 'model') {
53
- throw new Error(`Role must be user or model, but got ${content.role}.`);
54
- }
55
- }
56
- }
57
- function extractCuratedHistory(comprehensiveHistory) {
58
- if (comprehensiveHistory === undefined || comprehensiveHistory.length === 0) {
59
- return [];
60
- }
61
- const curatedHistory = [];
62
- const length = comprehensiveHistory.length;
63
- let i = 0;
64
- while (i < length) {
65
- if (comprehensiveHistory[i].role === 'user') {
66
- curatedHistory.push(comprehensiveHistory[i]);
67
- i++;
68
- }
69
- else {
70
- const modelOutput = [];
71
- let isValid = true;
72
- while (i < length && comprehensiveHistory[i].role === 'model') {
73
- modelOutput.push(comprehensiveHistory[i]);
74
- if (isValid && !isValidContent(comprehensiveHistory[i])) {
75
- isValid = false;
76
- }
77
- i++;
78
- }
79
- if (isValid) {
80
- curatedHistory.push(...modelOutput);
81
- }
82
- }
83
- }
84
- return curatedHistory;
85
- }
86
- class InvalidStreamError extends Error {
87
- constructor(message, type) {
88
- super(message);
89
- this.name = 'InvalidStreamError';
90
- this.type = type;
91
- }
92
- }
93
- exports.InvalidStreamError = InvalidStreamError;
94
- class GeminiChat {
95
- constructor(config, generationConfig = {}, history = []) {
96
- this.config = config;
97
- this.generationConfig = generationConfig;
98
- this.history = history;
99
- this.sendPromise = Promise.resolve();
100
- validateHistory(history);
101
- }
102
- setSystemInstruction(sysInstr) {
103
- this.generationConfig.systemInstruction = sysInstr;
104
- }
105
- async sendMessageStream(model, params, prompt_id) {
106
- await this.sendPromise;
107
- let streamDoneResolver;
108
- const streamDonePromise = new Promise((resolve) => {
109
- streamDoneResolver = resolve;
110
- });
111
- this.sendPromise = streamDonePromise;
112
- const userContent = (0, genai_2.createUserContent)(params.message);
113
- this.history.push(userContent);
114
- const requestContents = this.getHistory(true);
115
- const self = this;
116
- return (async function* () {
117
- try {
118
- let lastError = new Error('Request failed after all retries.');
119
- for (let attempt = 0; attempt < INVALID_CONTENT_RETRY_OPTIONS.maxAttempts; attempt++) {
120
- try {
121
- if (attempt > 0) {
122
- yield { type: StreamEventType.RETRY };
123
- }
124
- const stream = await self.makeApiCallAndProcessStream(model, requestContents, params, prompt_id);
125
- for await (const chunk of stream) {
126
- yield { type: StreamEventType.CHUNK, value: chunk };
127
- }
128
- lastError = null;
129
- break;
130
- }
131
- catch (error) {
132
- lastError = error;
133
- const isContentError = error instanceof InvalidStreamError;
134
- if (isContentError) {
135
- if (attempt < INVALID_CONTENT_RETRY_OPTIONS.maxAttempts - 1) {
136
- await new Promise((res) => setTimeout(res, INVALID_CONTENT_RETRY_OPTIONS.initialDelayMs *
137
- (attempt + 1)));
138
- continue;
139
- }
140
- }
141
- break;
142
- }
143
- }
144
- if (lastError) {
145
- if (self.history[self.history.length - 1] === userContent) {
146
- self.history.pop();
147
- }
148
- throw lastError;
149
- }
150
- }
151
- finally {
152
- streamDoneResolver();
153
- }
154
- })();
155
- }
156
- async makeApiCallAndProcessStream(model, requestContents, params, prompt_id) {
157
- const apiCall = () => {
158
- const modelToUse = (0, models_1.getEffectiveModel)(model);
159
- return this.config.getContentGenerator().generateContentStream({
160
- model: modelToUse,
161
- contents: requestContents,
162
- config: { ...this.generationConfig, ...params.config },
163
- }, prompt_id);
164
- };
165
- const streamResponse = await (0, retry_1.retryWithBackoff)(apiCall, {
166
- shouldRetryOnError: (error) => {
167
- if (error instanceof genai_1.ApiError && error.message) {
168
- if (error.status === 400)
169
- return false;
170
- if (isSchemaDepthError(error.message))
171
- return false;
172
- if (error.status === 429)
173
- return true;
174
- if (error.status >= 500 && error.status < 600)
175
- return true;
176
- }
177
- return false;
178
- },
179
- authType: this.config.getContentGeneratorConfig()?.authType,
180
- });
181
- return this.processStreamResponse(model, streamResponse);
182
- }
183
- getHistory(curated = false) {
184
- const history = curated
185
- ? extractCuratedHistory(this.history)
186
- : this.history;
187
- return structuredClone(history);
188
- }
189
- clearHistory() {
190
- this.history = [];
191
- }
192
- addHistory(content) {
193
- this.history.push(content);
194
- }
195
- setHistory(history) {
196
- this.history = history;
197
- }
198
- async *processStreamResponse(model, streamResponse) {
199
- const modelResponseParts = [];
200
- let hasFinishReason = false;
201
- for await (const chunk of streamResponse) {
202
- hasFinishReason =
203
- chunk?.candidates?.some((candidate) => candidate.finishReason) ?? false;
204
- if (isValidResponse(chunk)) {
205
- const content = chunk.candidates?.[0]?.content;
206
- if (content?.parts) {
207
- modelResponseParts.push(...content.parts.filter((part) => !part.thought));
208
- }
209
- }
210
- yield chunk;
211
- }
212
- const consolidatedParts = [];
213
- for (const part of modelResponseParts) {
214
- const lastPart = consolidatedParts[consolidatedParts.length - 1];
215
- if (lastPart?.text &&
216
- isValidNonThoughtTextPart(lastPart) &&
217
- isValidNonThoughtTextPart(part)) {
218
- lastPart.text += part.text;
219
- }
220
- else {
221
- consolidatedParts.push(part);
222
- }
223
- }
224
- const responseText = consolidatedParts
225
- .filter((part) => part.text)
226
- .map((part) => part.text)
227
- .join('')
228
- .trim();
229
- if (!hasFinishReason || !responseText) {
230
- if (!hasFinishReason) {
231
- throw new InvalidStreamError('Model stream ended without a finish reason.', 'NO_FINISH_REASON');
232
- }
233
- else {
234
- throw new InvalidStreamError('Model stream ended with empty response text.', 'NO_RESPONSE_TEXT');
235
- }
236
- }
237
- this.history.push({ role: 'model', parts: consolidatedParts });
238
- }
239
- }
240
- exports.GeminiChat = GeminiChat;
241
- function isSchemaDepthError(errorMessage) {
242
- return errorMessage.includes('maximum schema depth exceeded');
243
- }
244
- function isInvalidArgumentError(errorMessage) {
245
- return errorMessage.includes('Request contains an invalid argument');
246
- }
247
- //# sourceMappingURL=geminiChat.js.map