@google/gemini-cli-core 0.21.0-nightly.20251204.3da4fd5f7 → 0.21.0-nightly.20251206.3cf44acc0

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 (81) hide show
  1. package/dist/google-gemini-cli-core-0.21.0-nightly.20251204.3da4fd5f7.tgz +0 -0
  2. package/dist/src/commands/restore.d.ts +19 -0
  3. package/dist/src/commands/restore.js +45 -0
  4. package/dist/src/commands/restore.js.map +1 -0
  5. package/dist/src/commands/restore.test.d.ts +6 -0
  6. package/dist/src/commands/restore.test.js +136 -0
  7. package/dist/src/commands/restore.test.js.map +1 -0
  8. package/dist/src/commands/types.d.ts +41 -0
  9. package/dist/src/commands/types.js +7 -0
  10. package/dist/src/commands/types.js.map +1 -0
  11. package/dist/src/core/client.js +2 -1
  12. package/dist/src/core/client.js.map +1 -1
  13. package/dist/src/core/client.test.js +19 -0
  14. package/dist/src/core/client.test.js.map +1 -1
  15. package/dist/src/core/geminiChat.js +16 -5
  16. package/dist/src/core/geminiChat.js.map +1 -1
  17. package/dist/src/core/geminiChat.test.js +7 -3
  18. package/dist/src/core/geminiChat.test.js.map +1 -1
  19. package/dist/src/core/geminiChat_network_retry.test.d.ts +6 -0
  20. package/dist/src/core/geminiChat_network_retry.test.js +195 -0
  21. package/dist/src/core/geminiChat_network_retry.test.js.map +1 -0
  22. package/dist/src/generated/git-commit.d.ts +2 -2
  23. package/dist/src/generated/git-commit.js +2 -2
  24. package/dist/src/index.d.ts +3 -0
  25. package/dist/src/index.js +3 -0
  26. package/dist/src/index.js.map +1 -1
  27. package/dist/src/output/json-formatter.d.ts +2 -2
  28. package/dist/src/output/json-formatter.js +6 -3
  29. package/dist/src/output/json-formatter.js.map +1 -1
  30. package/dist/src/output/json-formatter.test.js +35 -9
  31. package/dist/src/output/json-formatter.test.js.map +1 -1
  32. package/dist/src/output/types.d.ts +1 -0
  33. package/dist/src/output/types.js.map +1 -1
  34. package/dist/src/services/chatRecordingService.d.ts +9 -0
  35. package/dist/src/services/chatRecordingService.js +30 -0
  36. package/dist/src/services/chatRecordingService.js.map +1 -1
  37. package/dist/src/services/sessionSummaryService.d.ts +28 -0
  38. package/dist/src/services/sessionSummaryService.js +131 -0
  39. package/dist/src/services/sessionSummaryService.js.map +1 -0
  40. package/dist/src/services/sessionSummaryService.test.d.ts +6 -0
  41. package/dist/src/services/sessionSummaryService.test.js +785 -0
  42. package/dist/src/services/sessionSummaryService.test.js.map +1 -0
  43. package/dist/src/services/sessionSummaryUtils.d.ts +11 -0
  44. package/dist/src/services/sessionSummaryUtils.js +61 -0
  45. package/dist/src/services/sessionSummaryUtils.js.map +1 -0
  46. package/dist/src/services/sessionSummaryUtils.test.d.ts +6 -0
  47. package/dist/src/services/sessionSummaryUtils.test.js +298 -0
  48. package/dist/src/services/sessionSummaryUtils.test.js.map +1 -0
  49. package/dist/src/services/shellExecutionService.d.ts +2 -0
  50. package/dist/src/services/shellExecutionService.js +36 -21
  51. package/dist/src/services/shellExecutionService.js.map +1 -1
  52. package/dist/src/services/shellExecutionService.test.js +108 -3
  53. package/dist/src/services/shellExecutionService.test.js.map +1 -1
  54. package/dist/src/tools/mcp-client-manager.js +7 -1
  55. package/dist/src/tools/mcp-client-manager.js.map +1 -1
  56. package/dist/src/tools/mcp-client.d.ts +17 -2
  57. package/dist/src/tools/mcp-client.js +77 -7
  58. package/dist/src/tools/mcp-client.js.map +1 -1
  59. package/dist/src/tools/mcp-client.test.js +253 -8
  60. package/dist/src/tools/mcp-client.test.js.map +1 -1
  61. package/dist/src/tools/web-fetch.js +12 -4
  62. package/dist/src/tools/web-fetch.js.map +1 -1
  63. package/dist/src/tools/web-fetch.test.js +1 -0
  64. package/dist/src/tools/web-fetch.test.js.map +1 -1
  65. package/dist/src/utils/errors.js +7 -2
  66. package/dist/src/utils/errors.js.map +1 -1
  67. package/dist/src/utils/errors.test.js +120 -1
  68. package/dist/src/utils/errors.test.js.map +1 -1
  69. package/dist/src/utils/fetch.d.ts +1 -1
  70. package/dist/src/utils/fetch.js +3 -3
  71. package/dist/src/utils/fetch.js.map +1 -1
  72. package/dist/src/utils/retry.d.ts +8 -0
  73. package/dist/src/utils/retry.js +40 -6
  74. package/dist/src/utils/retry.js.map +1 -1
  75. package/dist/src/utils/retry.test.js +68 -7
  76. package/dist/src/utils/retry.test.js.map +1 -1
  77. package/dist/src/utils/terminalSerializer.test.js +17 -0
  78. package/dist/src/utils/terminalSerializer.test.js.map +1 -1
  79. package/dist/tsconfig.tsbuildinfo +1 -1
  80. package/package.json +1 -1
  81. package/dist/google-gemini-cli-core-0.21.0-nightly.20251202.2d935b379.tgz +0 -0
@@ -9,23 +9,34 @@ describe('JsonFormatter', () => {
9
9
  it('should format the response as JSON', () => {
10
10
  const formatter = new JsonFormatter();
11
11
  const response = 'This is a test response.';
12
- const formatted = formatter.format(response);
12
+ const formatted = formatter.format(undefined, response);
13
13
  const expected = {
14
14
  response,
15
15
  };
16
16
  expect(JSON.parse(formatted)).toEqual(expected);
17
17
  });
18
+ it('should format the response as JSON with a session ID', () => {
19
+ const formatter = new JsonFormatter();
20
+ const response = 'This is a test response.';
21
+ const sessionId = 'test-session-id';
22
+ const formatted = formatter.format(sessionId, response);
23
+ const expected = {
24
+ session_id: sessionId,
25
+ response,
26
+ };
27
+ expect(JSON.parse(formatted)).toEqual(expected);
28
+ });
18
29
  it('should strip ANSI escape sequences from response text', () => {
19
30
  const formatter = new JsonFormatter();
20
31
  const responseWithAnsi = '\x1B[31mRed text\x1B[0m and \x1B[32mGreen text\x1B[0m';
21
- const formatted = formatter.format(responseWithAnsi);
32
+ const formatted = formatter.format(undefined, responseWithAnsi);
22
33
  const parsed = JSON.parse(formatted);
23
34
  expect(parsed.response).toBe('Red text and Green text');
24
35
  });
25
36
  it('should strip control characters from response text', () => {
26
37
  const formatter = new JsonFormatter();
27
38
  const responseWithControlChars = 'Text with\x07 bell\x08 and\x0B vertical tab';
28
- const formatted = formatter.format(responseWithControlChars);
39
+ const formatted = formatter.format(undefined, responseWithControlChars);
29
40
  const parsed = JSON.parse(formatted);
30
41
  // Only ANSI codes are stripped, other control chars are preserved
31
42
  expect(parsed.response).toBe('Text with\x07 bell\x08 and\x0B vertical tab');
@@ -33,7 +44,7 @@ describe('JsonFormatter', () => {
33
44
  it('should preserve newlines and tabs in response text', () => {
34
45
  const formatter = new JsonFormatter();
35
46
  const responseWithWhitespace = 'Line 1\nLine 2\r\nLine 3\twith tab';
36
- const formatted = formatter.format(responseWithWhitespace);
47
+ const formatted = formatter.format(undefined, responseWithWhitespace);
37
48
  const parsed = JSON.parse(formatted);
38
49
  expect(parsed.response).toBe('Line 1\nLine 2\r\nLine 3\twith tab');
39
50
  });
@@ -104,7 +115,7 @@ describe('JsonFormatter', () => {
104
115
  totalLinesRemoved: 0,
105
116
  },
106
117
  };
107
- const formatted = formatter.format(response, stats);
118
+ const formatted = formatter.format(undefined, response, stats);
108
119
  const expected = {
109
120
  response,
110
121
  stats,
@@ -118,7 +129,7 @@ describe('JsonFormatter', () => {
118
129
  message: 'Invalid input provided',
119
130
  code: 400,
120
131
  };
121
- const formatted = formatter.format(undefined, undefined, error);
132
+ const formatted = formatter.format(undefined, undefined, undefined, error);
122
133
  const expected = {
123
134
  error,
124
135
  };
@@ -132,7 +143,7 @@ describe('JsonFormatter', () => {
132
143
  message: 'Request timed out',
133
144
  code: 'TIMEOUT',
134
145
  };
135
- const formatted = formatter.format(response, undefined, error);
146
+ const formatted = formatter.format(undefined, response, undefined, error);
136
147
  const expected = {
137
148
  response,
138
149
  error,
@@ -152,6 +163,21 @@ describe('JsonFormatter', () => {
152
163
  },
153
164
  });
154
165
  });
166
+ it('should format error using formatError method with a session ID', () => {
167
+ const formatter = new JsonFormatter();
168
+ const error = new Error('Something went wrong');
169
+ const sessionId = 'test-session-id';
170
+ const formatted = formatter.formatError(error, 500, sessionId);
171
+ const parsed = JSON.parse(formatted);
172
+ expect(parsed).toEqual({
173
+ session_id: sessionId,
174
+ error: {
175
+ type: 'Error',
176
+ message: 'Something went wrong',
177
+ code: 500,
178
+ },
179
+ });
180
+ });
155
181
  it('should format custom error using formatError method', () => {
156
182
  class CustomError extends Error {
157
183
  constructor(message) {
@@ -161,7 +187,7 @@ describe('JsonFormatter', () => {
161
187
  }
162
188
  const formatter = new JsonFormatter();
163
189
  const error = new CustomError('Custom error occurred');
164
- const formatted = formatter.formatError(error);
190
+ const formatted = formatter.formatError(error, undefined);
165
191
  const parsed = JSON.parse(formatted);
166
192
  expect(parsed).toEqual({
167
193
  error: {
@@ -198,7 +224,7 @@ describe('JsonFormatter', () => {
198
224
  message: 'Rate limit exceeded',
199
225
  code: 429,
200
226
  };
201
- const formatted = formatter.format(response, stats, error);
227
+ const formatted = formatter.format(undefined, response, stats, error);
202
228
  const expected = {
203
229
  response,
204
230
  stats,
@@ -1 +1 @@
1
- {"version":3,"file":"json-formatter.test.js","sourceRoot":"","sources":["../../../src/output/json-formatter.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"json-formatter.test.js","sourceRoot":"","sources":["../../../src/output/json-formatter.test.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,7 @@ export interface JsonError {
15
15
  code?: string | number;
16
16
  }
17
17
  export interface JsonOutput {
18
+ session_id?: string;
18
19
  response?: string;
19
20
  stats?: SessionMetrics;
20
21
  error?: JsonError;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/output/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,CAAN,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,6BAAa,CAAA;IACb,6BAAa,CAAA;IACb,2CAA2B,CAAA;AAC7B,CAAC,EAJW,YAAY,KAAZ,YAAY,QAIvB;AAcD,6BAA6B;AAC7B,MAAM,CAAN,IAAY,mBAOX;AAPD,WAAY,mBAAmB;IAC7B,oCAAa,CAAA;IACb,0CAAmB,CAAA;IACnB,4CAAqB,CAAA;IACrB,kDAA2B,CAAA;IAC3B,sCAAe,CAAA;IACf,wCAAiB,CAAA;AACnB,CAAC,EAPW,mBAAmB,KAAnB,mBAAmB,QAO9B"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/output/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,CAAN,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,6BAAa,CAAA;IACb,6BAAa,CAAA;IACb,2CAA2B,CAAA;AAC7B,CAAC,EAJW,YAAY,KAAZ,YAAY,QAIvB;AAeD,6BAA6B;AAC7B,MAAM,CAAN,IAAY,mBAOX;AAPD,WAAY,mBAAmB;IAC7B,oCAAa,CAAA;IACb,0CAAmB,CAAA;IACnB,4CAAqB,CAAA;IACrB,kDAA2B,CAAA;IAC3B,sCAAe,CAAA;IACf,wCAAiB,CAAA;AACnB,CAAC,EAPW,mBAAmB,KAAnB,mBAAmB,QAO9B"}
@@ -69,6 +69,7 @@ export interface ConversationRecord {
69
69
  startTime: string;
70
70
  lastUpdated: string;
71
71
  messages: MessageRecord[];
72
+ summary?: string;
72
73
  }
73
74
  /**
74
75
  * Data structure for resuming an existing session.
@@ -138,6 +139,14 @@ export declare class ChatRecordingService {
138
139
  * updating boilerplate.
139
140
  */
140
141
  private updateConversation;
142
+ /**
143
+ * Saves a summary for the current session.
144
+ */
145
+ saveSummary(summary: string): void;
146
+ /**
147
+ * Gets the current conversation data (for summary generation).
148
+ */
149
+ getConversation(): ConversationRecord | null;
141
150
  /**
142
151
  * Deletes a session file by session ID.
143
152
  */
@@ -314,6 +314,36 @@ export class ChatRecordingService {
314
314
  updateFn(conversation);
315
315
  this.writeConversation(conversation);
316
316
  }
317
+ /**
318
+ * Saves a summary for the current session.
319
+ */
320
+ saveSummary(summary) {
321
+ if (!this.conversationFile)
322
+ return;
323
+ try {
324
+ this.updateConversation((conversation) => {
325
+ conversation.summary = summary;
326
+ });
327
+ }
328
+ catch (error) {
329
+ debugLogger.error('Error saving summary to chat history.', error);
330
+ // Don't throw - we want graceful degradation
331
+ }
332
+ }
333
+ /**
334
+ * Gets the current conversation data (for summary generation).
335
+ */
336
+ getConversation() {
337
+ if (!this.conversationFile)
338
+ return null;
339
+ try {
340
+ return this.readConversation();
341
+ }
342
+ catch (error) {
343
+ debugLogger.error('Error reading conversation for summary.', error);
344
+ return null;
345
+ }
346
+ }
317
347
  /**
318
348
  * Deletes a session file by session ID.
319
349
  */
@@ -1 +1 @@
1
- {"version":3,"file":"chatRecordingService.js","sourceRoot":"","sources":["../../../src/services/chatRecordingService.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAe,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAe,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAuB,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAKzC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,MAAM,CAAC,MAAM,mBAAmB,GAAG,UAAU,CAAC;AA+E9C;;;;;;;;;;GAUG;AACH,MAAM,OAAO,oBAAoB;IACvB,gBAAgB,GAAkB,IAAI,CAAC;IACvC,kBAAkB,GAAkB,IAAI,CAAC;IACzC,SAAS,CAAS;IAClB,WAAW,CAAS;IACpB,cAAc,GAAkD,EAAE,CAAC;IACnE,YAAY,GAAyB,IAAI,CAAC;IAC1C,MAAM,CAAS;IAEvB,YAAY,MAAc;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QACvC,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,kBAAuC;QAChD,IAAI,CAAC;YACH,IAAI,kBAAkB,EAAE,CAAC;gBACvB,+BAA+B;gBAC/B,IAAI,CAAC,gBAAgB,GAAG,kBAAkB,CAAC,QAAQ,CAAC;gBACpD,IAAI,CAAC,SAAS,GAAG,kBAAkB,CAAC,YAAY,CAAC,SAAS,CAAC;gBAE3D,6CAA6C;gBAC7C,IAAI,CAAC,kBAAkB,CAAC,CAAC,YAAY,EAAE,EAAE;oBACvC,YAAY,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC1C,CAAC,CAAC,CAAC;gBAEH,6CAA6C;gBAC7C,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACN,qBAAqB;gBACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CACxB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,EACvC,OAAO,CACR,CAAC;gBACF,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAE5C,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE;qBACzB,WAAW,EAAE;qBACb,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;qBACZ,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBACtB,MAAM,QAAQ,GAAG,GAAG,mBAAmB,GAAG,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CACzE,CAAC,EACD,CAAC,CACF,OAAO,CAAC;gBACT,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAEtD,IAAI,CAAC,iBAAiB,CAAC;oBACrB,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACrC,QAAQ,EAAE,EAAE;iBACb,CAAC,CAAC;YACL,CAAC;YAED,oDAAoD;YACpD,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;YACzB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,WAAW,CAAC,KAAK,CAAC,4CAA4C,EAAE,KAAK,CAAC,CAAC;YACvE,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEO,cAAc,CACpB,YAAgC;QAEhC,OAAO,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC;IAEO,UAAU,CAChB,IAAqC,EACrC,OAAsB;QAEtB,OAAO;YACL,EAAE,EAAE,UAAU,EAAE;YAChB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,IAAI;YACJ,OAAO;SACR,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,OAIb;QACC,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAAE,OAAO;QAEnC,IAAI,CAAC;YACH,IAAI,CAAC,kBAAkB,CAAC,CAAC,YAAY,EAAE,EAAE;gBACvC,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;gBAC3D,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC1B,qEAAqE;oBACrE,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC;wBACzB,GAAG,GAAG;wBACN,QAAQ,EAAE,IAAI,CAAC,cAAc;wBAC7B,MAAM,EAAE,IAAI,CAAC,YAAY;wBACzB,KAAK,EAAE,OAAO,CAAC,KAAK;qBACrB,CAAC,CAAC;oBACH,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;oBACzB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBAC3B,CAAC;qBAAM,CAAC;oBACN,uBAAuB;oBACvB,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,WAAW,CAAC,KAAK,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC;YAClE,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,OAAuB;QACnC,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAAE,OAAO;QAEnC,IAAI,CAAC;YACH,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;gBACvB,GAAG,OAAO;gBACV,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,WAAW,CAAC,KAAK,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC;YAClE,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,mBAAmB,CACjB,iBAAuD;QAEvD,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAAE,OAAO;QAEnC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG;gBACb,KAAK,EAAE,iBAAiB,CAAC,gBAAgB,IAAI,CAAC;gBAC9C,MAAM,EAAE,iBAAiB,CAAC,oBAAoB,IAAI,CAAC;gBACnD,MAAM,EAAE,iBAAiB,CAAC,uBAAuB,IAAI,CAAC;gBACtD,QAAQ,EAAE,iBAAiB,CAAC,kBAAkB,IAAI,CAAC;gBACnD,IAAI,EAAE,iBAAiB,CAAC,uBAAuB,IAAI,CAAC;gBACpD,KAAK,EAAE,iBAAiB,CAAC,eAAe,IAAI,CAAC;aAC9C,CAAC;YACF,IAAI,CAAC,kBAAkB,CAAC,CAAC,YAAY,EAAE,EAAE;gBACvC,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;gBAClD,wFAAwF;gBACxF,6CAA6C;gBAC7C,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;oBAC5D,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;oBACxB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBAC3B,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;gBAC7B,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,WAAW,CAAC,KAAK,CACf,gDAAgD,EAChD,KAAK,CACN,CAAC;YACF,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,eAAe,CAAC,KAAa,EAAE,SAA2B;QACxD,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAAE,OAAO;QAEnC,wDAAwD;QACxD,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;QACnD,MAAM,iBAAiB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;YACnD,MAAM,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACzD,OAAO;gBACL,GAAG,QAAQ;gBACX,WAAW,EAAE,YAAY,EAAE,WAAW,IAAI,QAAQ,CAAC,IAAI;gBACvD,WAAW,EAAE,YAAY,EAAE,WAAW,IAAI,EAAE;gBAC5C,sBAAsB,EAAE,YAAY,EAAE,gBAAgB,IAAI,KAAK;aAChE,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,IAAI,CAAC,kBAAkB,CAAC,CAAC,YAAY,EAAE,EAAE;gBACvC,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;gBAClD,0FAA0F;gBAC1F,2FAA2F;gBAC3F,0FAA0F;gBAC1F,8BAA8B;gBAC9B,yFAAyF;gBACzF,uFAAuF;gBACvF,0DAA0D;gBAC1D,IACE,CAAC,OAAO;oBACR,OAAO,CAAC,IAAI,KAAK,QAAQ;oBACzB,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAC9B,CAAC;oBACD,MAAM,MAAM,GAAkB;wBAC5B,GAAG,IAAI,CAAC,UAAU,CAAC,QAAiB,EAAE,EAAE,CAAC;wBACzC,iEAAiE;wBACjE,4DAA4D;wBAC5D,gEAAgE;wBAChE,0DAA0D;wBAC1D,IAAI,EAAE,QAAiB;wBACvB,SAAS,EAAE,iBAAiB;wBAC5B,QAAQ,EAAE,IAAI,CAAC,cAAc;wBAC7B,KAAK;qBACN,CAAC;oBACF,8DAA8D;oBAC9D,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACnC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC;wBACtC,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;oBAC3B,CAAC;oBACD,6DAA6D;oBAC7D,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;wBACtB,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;wBAClC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;oBAC3B,CAAC;oBACD,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACrC,CAAC;qBAAM,CAAC;oBACN,yEAAyE;oBAEzE,yCAAyC;oBACzC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;wBACvB,OAAO,CAAC,SAAS,GAAG,EAAE,CAAC;oBACzB,CAAC;oBACD,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;wBACrD,mFAAmF;wBACnF,MAAM,gBAAgB,GAAG,SAAS,CAAC,IAAI,CACrC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,CAC9B,CAAC;wBACF,IAAI,gBAAgB,EAAE,CAAC;4BACrB,qFAAqF;4BACrF,6BAA6B;4BAC7B,OAAO,EAAE,GAAG,QAAQ,EAAE,GAAG,gBAAgB,EAAE,CAAC;wBAC9C,CAAC;6BAAM,CAAC;4BACN,OAAO,QAAQ,CAAC;wBAClB,CAAC;oBACH,CAAC,CAAC,CAAC;oBAEH,0DAA0D;oBAC1D,KAAK,MAAM,QAAQ,IAAI,iBAAiB,EAAE,CAAC;wBACzC,MAAM,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAC7C,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,CAC9B,CAAC;wBACF,IAAI,CAAC,gBAAgB,EAAE,CAAC;4BACtB,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;wBACnC,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,WAAW,CAAC,KAAK,CACf,oDAAoD,EACpD,KAAK,CACN,CAAC;YACF,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACK,gBAAgB;QACtB,IAAI,CAAC;YACH,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAiB,EAAE,MAAM,CAAC,CAAC;YAC1E,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACvD,WAAW,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;gBAC7D,MAAM,KAAK,CAAC;YACd,CAAC;YAED,wDAAwD;YACxD,OAAO;gBACL,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACrC,QAAQ,EAAE,EAAE;aACb,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,YAAgC;QACxD,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,gBAAgB;gBAAE,OAAO;YACnC,+DAA+D;YAC/D,IAAI,YAAY,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;YAE/C,4DAA4D;YAC5D,IAAI,IAAI,CAAC,kBAAkB,KAAK,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;gBACtE,YAAY,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBACpD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBACzD,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC;gBACrC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,WAAW,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;YAC7D,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,kBAAkB,CACxB,QAAoD;QAEpD,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC7C,QAAQ,CAAC,YAAY,CAAC,CAAC;QACvB,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,SAAiB;QAC7B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CACxB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,EACvC,OAAO,CACR,CAAC;YACF,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,SAAS,OAAO,CAAC,CAAC;YAC7D,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,WAAW,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;YACzD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"chatRecordingService.js","sourceRoot":"","sources":["../../../src/services/chatRecordingService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { MessageRecord } from './chatRecordingService.js';
7
+ import type { BaseLlmClient } from '../core/baseLlmClient.js';
8
+ /**
9
+ * Options for generating a session summary.
10
+ */
11
+ export interface GenerateSummaryOptions {
12
+ messages: MessageRecord[];
13
+ maxMessages?: number;
14
+ timeout?: number;
15
+ }
16
+ /**
17
+ * Service for generating AI summaries of chat sessions.
18
+ * Uses Gemini Flash Lite to create concise, user-intent-focused summaries.
19
+ */
20
+ export declare class SessionSummaryService {
21
+ private readonly baseLlmClient;
22
+ constructor(baseLlmClient: BaseLlmClient);
23
+ /**
24
+ * Generate a 1-line summary of a chat session focusing on user intent.
25
+ * Returns null if generation fails for any reason.
26
+ */
27
+ generateSummary(options: GenerateSummaryOptions): Promise<string | null>;
28
+ }
@@ -0,0 +1,131 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { partListUnionToString } from '../core/geminiRequest.js';
7
+ import { debugLogger } from '../utils/debugLogger.js';
8
+ import { getResponseText } from '../utils/partUtils.js';
9
+ const DEFAULT_MAX_MESSAGES = 20;
10
+ const DEFAULT_TIMEOUT_MS = 5000;
11
+ const MAX_MESSAGE_LENGTH = 500;
12
+ const SUMMARY_PROMPT = `Summarize the user's primary intent or goal in this conversation in ONE sentence (max 80 characters).
13
+ Focus on what the user was trying to accomplish.
14
+
15
+ Examples:
16
+ - "Add dark mode to the app"
17
+ - "Fix authentication bug in login flow"
18
+ - "Understand how the API routing works"
19
+ - "Refactor database connection logic"
20
+ - "Debug memory leak in production"
21
+
22
+ Conversation:
23
+ {conversation}
24
+
25
+ Summary (max 80 chars):`;
26
+ /**
27
+ * Service for generating AI summaries of chat sessions.
28
+ * Uses Gemini Flash Lite to create concise, user-intent-focused summaries.
29
+ */
30
+ export class SessionSummaryService {
31
+ baseLlmClient;
32
+ constructor(baseLlmClient) {
33
+ this.baseLlmClient = baseLlmClient;
34
+ }
35
+ /**
36
+ * Generate a 1-line summary of a chat session focusing on user intent.
37
+ * Returns null if generation fails for any reason.
38
+ */
39
+ async generateSummary(options) {
40
+ const { messages, maxMessages = DEFAULT_MAX_MESSAGES, timeout = DEFAULT_TIMEOUT_MS, } = options;
41
+ try {
42
+ // Filter to user/gemini messages only (exclude system messages)
43
+ const filteredMessages = messages.filter((msg) => {
44
+ // Skip system messages (info, error, warning)
45
+ if (msg.type !== 'user' && msg.type !== 'gemini') {
46
+ return false;
47
+ }
48
+ const content = partListUnionToString(msg.content);
49
+ return content.trim().length > 0;
50
+ });
51
+ // Apply sliding window selection: first N + last N messages
52
+ let relevantMessages;
53
+ if (filteredMessages.length <= maxMessages) {
54
+ // If fewer messages than max, include all
55
+ relevantMessages = filteredMessages;
56
+ }
57
+ else {
58
+ // Sliding window: take the first and last messages.
59
+ const firstWindowSize = Math.ceil(maxMessages / 2);
60
+ const lastWindowSize = Math.floor(maxMessages / 2);
61
+ const firstMessages = filteredMessages.slice(0, firstWindowSize);
62
+ const lastMessages = filteredMessages.slice(-lastWindowSize);
63
+ relevantMessages = firstMessages.concat(lastMessages);
64
+ }
65
+ if (relevantMessages.length === 0) {
66
+ debugLogger.debug('[SessionSummary] No messages to summarize');
67
+ return null;
68
+ }
69
+ // Format conversation for the prompt
70
+ const conversationText = relevantMessages
71
+ .map((msg) => {
72
+ const role = msg.type === 'user' ? 'User' : 'Assistant';
73
+ const content = partListUnionToString(msg.content);
74
+ // Truncate very long messages to avoid token limit
75
+ const truncated = content.length > MAX_MESSAGE_LENGTH
76
+ ? content.slice(0, MAX_MESSAGE_LENGTH) + '...'
77
+ : content;
78
+ return `${role}: ${truncated}`;
79
+ })
80
+ .join('\n\n');
81
+ const prompt = SUMMARY_PROMPT.replace('{conversation}', conversationText);
82
+ // Create abort controller with timeout
83
+ const abortController = new AbortController();
84
+ const timeoutId = setTimeout(() => {
85
+ abortController.abort();
86
+ }, timeout);
87
+ try {
88
+ const contents = [
89
+ {
90
+ role: 'user',
91
+ parts: [{ text: prompt }],
92
+ },
93
+ ];
94
+ const response = await this.baseLlmClient.generateContent({
95
+ modelConfigKey: { model: 'summarizer-default' },
96
+ contents,
97
+ abortSignal: abortController.signal,
98
+ promptId: 'session-summary-generation',
99
+ });
100
+ const summary = getResponseText(response);
101
+ if (!summary || summary.trim().length === 0) {
102
+ debugLogger.debug('[SessionSummary] Empty summary returned');
103
+ return null;
104
+ }
105
+ // Clean the summary
106
+ let cleanedSummary = summary
107
+ .replace(/\n+/g, ' ') // Collapse newlines to spaces
108
+ .replace(/\s+/g, ' ') // Normalize whitespace
109
+ .trim(); // Trim after all processing
110
+ // Remove quotes if the model added them
111
+ cleanedSummary = cleanedSummary.replace(/^["']|["']$/g, '');
112
+ debugLogger.debug(`[SessionSummary] Generated: "${cleanedSummary}"`);
113
+ return cleanedSummary;
114
+ }
115
+ finally {
116
+ clearTimeout(timeoutId);
117
+ }
118
+ }
119
+ catch (error) {
120
+ // Log the error but don't throw - we want graceful degradation
121
+ if (error instanceof Error && error.name === 'AbortError') {
122
+ debugLogger.debug('[SessionSummary] Timeout generating summary');
123
+ }
124
+ else {
125
+ debugLogger.debug(`[SessionSummary] Error generating summary: ${error instanceof Error ? error.message : String(error)}`);
126
+ }
127
+ return null;
128
+ }
129
+ }
130
+ }
131
+ //# sourceMappingURL=sessionSummaryService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionSummaryService.js","sourceRoot":"","sources":["../../../src/services/sessionSummaryService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export {};