Remove terminal tool and dependencies.

- We now solely use the shell tool. This deletes all content around the legacy terminal tool so we can focus on improving the new Shell tool.
- Remove instances from sandboxing, tests, utilities etc.
This commit is contained in:
Taylor Mullen
2025-05-11 12:34:41 -07:00
committed by N. Taylor Mullen
parent dcb67c32a5
commit cf91f72c5c
7 changed files with 2 additions and 1552 deletions

View File

@@ -5,94 +5,9 @@
*/
import { describe, it, expect } from 'vitest';
import {
findSafeSplitPoint,
findLastSafeSplitPoint,
} from './markdownUtilities.js';
import { findLastSafeSplitPoint } from './markdownUtilities.js';
describe('markdownUtilities', () => {
describe('findSafeSplitPoint', () => {
it('should return content.length if content is shorter than idealMaxLength', () => {
const content = 'short content';
expect(findSafeSplitPoint(content, 100)).toBe(content.length);
});
it('should split before a code block if idealMaxLength is inside it', () => {
const content = 'text before ```code``` text after';
expect(findSafeSplitPoint(content, 15)).toBe(12);
});
it('should return 0 if idealMaxLength is inside a code block that starts at 0', () => {
const content = '```code``` text after';
expect(findSafeSplitPoint(content, 5)).toBe(0);
});
it('should split at a double newline if possible', () => {
const content = 'paragraph1\n\nparagraph2';
expect(findSafeSplitPoint(content, 12)).toBe(22); // Updated expectation
});
it('should split at a single newline if double newline is not available', () => {
const content = 'line1\nline2';
expect(findSafeSplitPoint(content, 7)).toBe(11); // Updated expectation
});
it('should return content.length if no safe split point is found', () => {
const content = 'longstringwithoutanysafesplitpoint';
expect(findSafeSplitPoint(content, 10)).toBe(content.length);
});
it('should handle content with multiple code blocks', () => {
const content = 'text ```code1``` text ```code2``` text';
expect(findSafeSplitPoint(content, 20)).toBe(38); // Updated expectation
});
it('should prioritize splitting before a code block over a newline', () => {
const content = 'text\nnewline ```code``` text';
expect(findSafeSplitPoint(content, 15)).toBe(5); // Updated expectation
});
// Known failure: Code has a bug
it.fails(
'should split after \n\n when idealMaxLength is not in a code block and a suitable \n\n exists after it',
() => {
const content = 'This is some text.\n\nThis is more text.';
// idealMaxLength is 10, which is before the \n\n
// The function should find the \n\n at index 20 and split after it (index 22)
expect(findSafeSplitPoint(content, 10)).toBe(22);
},
);
it('should return content.length when idealMaxLength is not in a code block and no \n\n exists after it', () => {
const content =
'This is some text. This is more text and no double newline.';
// idealMaxLength is 10
// No \n\n after index 10
expect(findSafeSplitPoint(content, 10)).toBe(content.length);
});
it('should correctly split before a code block that idealMaxLength is inside, even if \n\n exists before it', () => {
const content =
'Paragraph before.\n\n```\nCode block content\n```\nParagraph after.';
// idealMaxLength is 25, which is inside the code block
// The split should be at index 19 (start of the code block)
expect(findSafeSplitPoint(content, 25)).toBe(19);
});
it('should split at the last \n before a code block if idealMaxLength is in the code block and no \n\n is found before it', () => {
const content = 'Line before.\n```\nCode block\n```';
// idealMaxLength is 15 (inside code block)
// Split should be at 13 (after \n and before ```)
expect(findSafeSplitPoint(content, 15)).toBe(13);
});
it('should return 0 if idealMaxLength is in a code block starting at 0 and no prior newline exists', () => {
const content =
'```\nVery long code block that exceeds idealMaxLength\n```';
expect(findSafeSplitPoint(content, 10)).toBe(0);
});
});
describe('findLastSafeSplitPoint', () => {
it('should split at the last double newline if not in a code block', () => {
const content = 'paragraph1\n\nparagraph2\n\nparagraph3';