@theia/ai-ide 1.70.0-next.21 → 1.70.0-next.26

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.
@@ -39,8 +39,15 @@ export declare class FileContentFunction implements ToolProvider {
39
39
  protected readonly fileService: FileService;
40
40
  protected readonly workspaceScope: WorkspaceFunctionScope;
41
41
  protected readonly monacoWorkspace: MonacoWorkspace;
42
+ protected readonly preferences: PreferenceService;
42
43
  private parseArg;
43
44
  private getFileContent;
45
+ private handleEditorContent;
46
+ private handleFullDiskRead;
47
+ private readStreamedSlice;
48
+ private sizeInKB;
49
+ private buildFileSizeLimitError;
50
+ private buildSliceSizeLimitError;
44
51
  }
45
52
  export declare class GetWorkspaceFileList implements ToolProvider {
46
53
  static ID: string;
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-functions.d.ts","sourceRoot":"","sources":["../../src/browser/workspace-functions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace-functions.d.ts","sourceRoot":"","sources":["../../src/browser/workspace-functions.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ const tslib_1 = require("tslib");
6
6
  const core_1 = require("@theia/core");
7
7
  const inversify_1 = require("@theia/core/shared/inversify");
8
8
  const file_service_1 = require("@theia/filesystem/lib/browser/file-service");
9
+ const files_1 = require("@theia/filesystem/lib/common/files");
9
10
  const browser_1 = require("@theia/workspace/lib/browser");
10
11
  const workspace_functions_1 = require("../common/workspace-functions");
11
12
  const ignore_1 = require("ignore");
@@ -239,7 +240,12 @@ let FileContentFunction = class FileContentFunction {
239
240
  'If the file is currently open in an editor with unsaved changes, returns the editor\'s current content (not the saved file on disk). ' +
240
241
  'Binary files may not be readable and will return an error. ' +
241
242
  'Use this tool to read file contents before making any edits with replacement functions. ' +
242
- 'Do NOT use this for files you haven\'t located yet - use findFilesByPattern or searchInWorkspace first.',
243
+ 'Do NOT use this for files you haven\'t located yet - use findFilesByPattern or searchInWorkspace first. ' +
244
+ 'Files exceeding the configured size limit will return an error. ' +
245
+ 'It is recommended to read the whole file by not providing offset or limit parameters, ' +
246
+ 'unless you expect it to be very large. ' +
247
+ 'If the size limit is hit, do NOT attempt to read the full file in chunks using offset and limit — ' +
248
+ 'this wastes context window. Use searchInWorkspace to find the specific content you need instead.',
243
249
  parameters: {
244
250
  type: 'object',
245
251
  properties: {
@@ -247,20 +253,30 @@ let FileContentFunction = class FileContentFunction {
247
253
  type: 'string',
248
254
  description: 'The relative path to the target file within the workspace (e.g., "src/index.ts", "package.json"). ' +
249
255
  'Must be relative to the workspace root. Absolute paths and paths outside the workspace will result in an error.',
256
+ },
257
+ offset: {
258
+ type: 'number',
259
+ description: 'Zero-based line offset to start reading from (default: 0). ' +
260
+ 'Use together with limit to page through large files.'
261
+ },
262
+ limit: {
263
+ type: 'number',
264
+ description: 'Maximum number of lines to return. Defaults to the rest of the file.'
250
265
  }
251
266
  },
252
267
  required: ['file']
253
268
  },
254
269
  handler: (arg_string, ctx) => {
255
- const file = this.parseArg(arg_string);
256
- return this.getFileContent(file, ctx?.cancellationToken);
270
+ const { file, offset, limit } = this.parseArg(arg_string);
271
+ return this.getFileContent(file, ctx?.cancellationToken, offset, limit);
257
272
  },
258
273
  providerName: undefined,
259
274
  getArgumentsShortLabel: (args) => {
260
275
  try {
261
276
  const parsed = JSON.parse(args);
262
277
  if (parsed && typeof parsed === 'object' && 'file' in parsed) {
263
- return { label: String(parsed.file), hasMore: false };
278
+ const hasMore = 'offset' in parsed || 'limit' in parsed;
279
+ return { label: String(parsed.file), hasMore };
264
280
  }
265
281
  }
266
282
  catch {
@@ -272,12 +288,18 @@ let FileContentFunction = class FileContentFunction {
272
288
  }
273
289
  parseArg(arg_string) {
274
290
  const result = JSON.parse(arg_string);
275
- return result.file;
291
+ return { file: result.file, offset: result.offset, limit: result.limit };
276
292
  }
277
- async getFileContent(file, cancellationToken) {
293
+ async getFileContent(file, cancellationToken, offset, limit) {
278
294
  if (cancellationToken?.isCancellationRequested) {
279
295
  return JSON.stringify({ error: 'Operation cancelled by user' });
280
296
  }
297
+ if (offset !== undefined && (!Number.isInteger(offset) || offset < 0)) {
298
+ return JSON.stringify({ error: 'offset must be a non-negative integer.' });
299
+ }
300
+ if (limit !== undefined && (!Number.isInteger(limit) || limit <= 0)) {
301
+ return JSON.stringify({ error: 'limit must be a positive integer.' });
302
+ }
281
303
  let targetUri;
282
304
  try {
283
305
  const workspaceRoot = await this.workspaceScope.getWorkspaceRoot();
@@ -287,20 +309,162 @@ let FileContentFunction = class FileContentFunction {
287
309
  catch (error) {
288
310
  return JSON.stringify({ error: error.message });
289
311
  }
312
+ if (cancellationToken?.isCancellationRequested) {
313
+ return JSON.stringify({ error: 'Operation cancelled by user' });
314
+ }
315
+ const openEditorValue = this.monacoWorkspace.getTextDocument(targetUri.toString())?.getText();
316
+ const maxSizeKB = this.preferences.get(workspace_preferences_1.FILE_CONTENT_MAX_SIZE_KB_PREF, 256);
317
+ const isEditorOpen = openEditorValue !== undefined;
318
+ const isPaginated = offset !== undefined || limit !== undefined;
319
+ if (isEditorOpen) {
320
+ return this.handleEditorContent(openEditorValue, maxSizeKB, offset, limit);
321
+ }
322
+ else if (isPaginated) {
323
+ return this.readStreamedSlice(targetUri, maxSizeKB, offset, limit);
324
+ }
325
+ else {
326
+ return this.handleFullDiskRead(targetUri, maxSizeKB);
327
+ }
328
+ }
329
+ handleEditorContent(content, maxSizeKB, offset, limit) {
330
+ if (offset === undefined && limit === undefined) {
331
+ const sizeKB = this.sizeInKB(content);
332
+ if (sizeKB > maxSizeKB) {
333
+ return this.buildFileSizeLimitError(sizeKB, maxSizeKB);
334
+ }
335
+ return content;
336
+ }
337
+ const lines = content.split('\n');
338
+ const startOffset = offset ?? 0;
339
+ const sliced = limit !== undefined ? lines.slice(startOffset, startOffset + limit) : lines.slice(startOffset);
340
+ const result = sliced.join('\n');
341
+ const resultSizeKB = this.sizeInKB(result);
342
+ if (resultSizeKB > maxSizeKB) {
343
+ return this.buildSliceSizeLimitError(resultSizeKB, maxSizeKB);
344
+ }
345
+ const startLine = startOffset + 1;
346
+ const endLine = startOffset + sliced.length;
347
+ const header = `[Lines ${startLine}\u2013${endLine} of ${lines.length} total. Use offset and limit to read other ranges.]`;
348
+ return `${header}\n${result}`;
349
+ }
350
+ async handleFullDiskRead(targetUri, maxSizeKB) {
290
351
  try {
291
- if (cancellationToken?.isCancellationRequested) {
292
- return JSON.stringify({ error: 'Operation cancelled by user' });
352
+ const stat = await this.fileService.resolve(targetUri);
353
+ if (stat.size !== undefined) {
354
+ const statSizeKB = Math.round(stat.size / 1024);
355
+ if (statSizeKB > maxSizeKB) {
356
+ return this.buildFileSizeLimitError(statSizeKB, maxSizeKB);
357
+ }
358
+ }
359
+ else {
360
+ // Size is unknown from stat; use the streaming path to avoid loading
361
+ // an arbitrarily large file into memory, with a post-read size check.
362
+ return this.readStreamedSlice(targetUri, maxSizeKB);
293
363
  }
294
- const openEditorValue = this.monacoWorkspace.getTextDocument(targetUri.toString())?.getText();
295
- if (openEditorValue !== undefined) {
296
- return openEditorValue;
364
+ const rawContent = (await this.fileService.read(targetUri)).value;
365
+ const sizeKB = this.sizeInKB(rawContent);
366
+ if (sizeKB > maxSizeKB) {
367
+ return this.buildFileSizeLimitError(sizeKB, maxSizeKB);
297
368
  }
298
- const fileContent = await this.fileService.read(targetUri);
299
- return fileContent.value;
369
+ return rawContent;
300
370
  }
301
371
  catch (error) {
372
+ if (error instanceof files_1.FileOperationError) {
373
+ if (error.fileOperationResult === 7 /* FileOperationResult.FILE_TOO_LARGE */ ||
374
+ error.fileOperationResult === 9 /* FileOperationResult.FILE_EXCEEDS_MEMORY_LIMIT */) {
375
+ return this.buildFileSizeLimitError(undefined, maxSizeKB);
376
+ }
377
+ }
378
+ return JSON.stringify({ error: 'File not found' });
379
+ }
380
+ }
381
+ async readStreamedSlice(targetUri, maxSizeKB, startLine, limit) {
382
+ const isPaginated = startLine !== undefined || limit !== undefined;
383
+ const effectiveStartLine = startLine ?? 0;
384
+ let streamValue;
385
+ try {
386
+ // Bypass the files.maxFileSizeMB preference: the streaming path never loads the
387
+ // full file into memory, so the OS-level size cap is not appropriate here.
388
+ // Our own per-result maxSizeKB check still applies to the collected slice.
389
+ streamValue = (await this.fileService.readStream(targetUri, { limits: { size: Number.MAX_SAFE_INTEGER } })).value;
390
+ }
391
+ catch (e) {
392
+ if (e instanceof files_1.FileOperationError &&
393
+ (e.fileOperationResult === 7 /* FileOperationResult.FILE_TOO_LARGE */ ||
394
+ e.fileOperationResult === 9 /* FileOperationResult.FILE_EXCEEDS_MEMORY_LIMIT */)) {
395
+ return JSON.stringify({
396
+ error: 'File exceeds the configured ' + maxSizeKB + 'KB size limit. ' +
397
+ 'Use the \'offset\' (0-based) and \'limit\' parameters to read specific line ranges, ' +
398
+ 'or use searchInWorkspace to find specific content.',
399
+ maxSizeKB
400
+ });
401
+ }
302
402
  return JSON.stringify({ error: 'File not found' });
303
403
  }
404
+ return new Promise(resolve => {
405
+ let pending = '';
406
+ let lineIndex = 0;
407
+ const sliceLines = [];
408
+ streamValue.on('data', (chunk) => {
409
+ const parts = (pending + chunk).split('\n');
410
+ pending = parts.pop();
411
+ for (const line of parts) {
412
+ if (lineIndex >= effectiveStartLine && (limit === undefined || lineIndex < effectiveStartLine + limit)) {
413
+ sliceLines.push(line);
414
+ }
415
+ lineIndex++;
416
+ }
417
+ });
418
+ streamValue.on('end', () => {
419
+ if (pending.length > 0) {
420
+ if (lineIndex >= effectiveStartLine && (limit === undefined || lineIndex < effectiveStartLine + limit)) {
421
+ sliceLines.push(pending);
422
+ }
423
+ lineIndex++;
424
+ }
425
+ const result = sliceLines.join('\n');
426
+ const resultSizeKB = this.sizeInKB(result);
427
+ if (resultSizeKB > maxSizeKB) {
428
+ const sizeError = isPaginated
429
+ ? this.buildSliceSizeLimitError(resultSizeKB, maxSizeKB)
430
+ : this.buildFileSizeLimitError(resultSizeKB, maxSizeKB);
431
+ resolve(sizeError);
432
+ return;
433
+ }
434
+ if (isPaginated) {
435
+ const header = `[Lines ${effectiveStartLine + 1}\u2013${effectiveStartLine + sliceLines.length} of ${lineIndex} total. ` +
436
+ 'Use offset and limit to read other ranges.]';
437
+ resolve(`${header}\n${result}`);
438
+ }
439
+ else {
440
+ resolve(result);
441
+ }
442
+ });
443
+ streamValue.on('error', () => resolve(JSON.stringify({ error: 'File not found' })));
444
+ });
445
+ }
446
+ sizeInKB(content) {
447
+ return Math.round(Buffer.byteLength(content, 'utf8') / 1024);
448
+ }
449
+ buildFileSizeLimitError(sizeKB, maxSizeKB) {
450
+ const sizeInfo = sizeKB !== undefined ? ` (${sizeKB}KB)` : '';
451
+ const result = {
452
+ error: `File exceeds the configured ${maxSizeKB}KB size limit${sizeInfo}. ` +
453
+ 'Use the \'offset\' (0-based) and \'limit\' parameters to read specific line ranges, or use searchInWorkspace to find specific content.',
454
+ maxSizeKB
455
+ };
456
+ if (sizeKB !== undefined) {
457
+ result.sizeKB = sizeKB;
458
+ }
459
+ return JSON.stringify(result);
460
+ }
461
+ buildSliceSizeLimitError(resultSizeKB, maxSizeKB) {
462
+ return JSON.stringify({
463
+ error: 'Requested range exceeds the configured ' + maxSizeKB + 'KB size limit (' + resultSizeKB + 'KB). ' +
464
+ 'Use a smaller limit to read fewer lines at a time.',
465
+ resultSizeKB,
466
+ maxSizeKB
467
+ });
304
468
  }
305
469
  };
306
470
  exports.FileContentFunction = FileContentFunction;
@@ -316,6 +480,10 @@ tslib_1.__decorate([
316
480
  (0, inversify_1.inject)(monaco_workspace_1.MonacoWorkspace),
317
481
  tslib_1.__metadata("design:type", monaco_workspace_1.MonacoWorkspace)
318
482
  ], FileContentFunction.prototype, "monacoWorkspace", void 0);
483
+ tslib_1.__decorate([
484
+ (0, inversify_1.inject)(core_1.PreferenceService),
485
+ tslib_1.__metadata("design:type", Object)
486
+ ], FileContentFunction.prototype, "preferences", void 0);
319
487
  exports.FileContentFunction = FileContentFunction = FileContentFunction_1 = tslib_1.__decorate([
320
488
  (0, inversify_1.injectable)()
321
489
  ], FileContentFunction);
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-functions.js","sourceRoot":"","sources":["../../src/browser/workspace-functions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace-functions.js","sourceRoot":"","sources":["../../src/browser/workspace-functions.ts"],"names":[],"mappings":"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"}