indusagi 0.12.16 → 0.12.17
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.
- package/dist/agent/agent.d.ts +2 -108
- package/dist/agent/agent.d.ts.map +1 -1
- package/dist/agent/agent.js +17 -210
- package/dist/agent/agent.js.map +1 -1
- package/dist/agent/event-bus.js +3 -1
- package/dist/agent/event-bus.js.map +1 -1
- package/dist/agent/index.d.ts +5 -11
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +8 -19
- package/dist/agent/index.js.map +1 -1
- package/dist/agent/messages.d.ts +48 -2
- package/dist/agent/messages.d.ts.map +1 -1
- package/dist/agent/messages.js.map +1 -1
- package/dist/agent/proxy.js.map +1 -1
- package/dist/agent/session-manager.d.ts +3 -2
- package/dist/agent/session-manager.d.ts.map +1 -1
- package/dist/agent/session-manager.js +6 -10
- package/dist/agent/session-manager.js.map +1 -1
- package/dist/agent/state-manager.js +0 -1
- package/dist/agent/state-manager.js.map +1 -1
- package/dist/agent/telemetry.js +3 -1
- package/dist/agent/telemetry.js.map +1 -1
- package/dist/agent/tools/bash.js +0 -1
- package/dist/agent/tools/bash.js.map +1 -1
- package/dist/agent/tools/index.d.ts +26 -26
- package/dist/agent/tools/registry.js +4 -2
- package/dist/agent/tools/registry.js.map +1 -1
- package/dist/agent/tools/todo-store.js +1 -2
- package/dist/agent/tools/todo-store.js.map +1 -1
- package/dist/agent/tools/utils/hook-runner.js +3 -1
- package/dist/agent/tools/utils/hook-runner.js.map +1 -1
- package/dist/agent/types.d.ts +2 -139
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/types.js.map +1 -1
- package/dist/ai/api-registry.js +3 -1
- package/dist/ai/api-registry.js.map +1 -1
- package/dist/ai/models.generated.d.ts +4 -19
- package/dist/ai/models.generated.d.ts.map +1 -1
- package/dist/ai/models.generated.js +14 -29
- package/dist/ai/models.generated.js.map +1 -1
- package/dist/ai/models.js +1 -2
- package/dist/ai/models.js.map +1 -1
- package/dist/ai/providers/amazon-bedrock.d.ts +0 -6
- package/dist/ai/providers/amazon-bedrock.d.ts.map +1 -1
- package/dist/ai/providers/amazon-bedrock.js +9 -47
- package/dist/ai/providers/amazon-bedrock.js.map +1 -1
- package/dist/ai/providers/anthropic.d.ts +0 -8
- package/dist/ai/providers/anthropic.d.ts.map +1 -1
- package/dist/ai/providers/anthropic.js +12 -28
- package/dist/ai/providers/anthropic.js.map +1 -1
- package/dist/ai/providers/azure-openai-responses.js +0 -1
- package/dist/ai/providers/azure-openai-responses.js.map +1 -1
- package/dist/ai/providers/google-shared.d.ts.map +1 -1
- package/dist/ai/providers/google-shared.js +22 -16
- package/dist/ai/providers/google-shared.js.map +1 -1
- package/dist/ai/providers/google-vertex.d.ts.map +1 -1
- package/dist/ai/providers/google-vertex.js +5 -28
- package/dist/ai/providers/google-vertex.js.map +1 -1
- package/dist/ai/providers/google.js +0 -1
- package/dist/ai/providers/google.js.map +1 -1
- package/dist/ai/providers/kimi.js +0 -1
- package/dist/ai/providers/kimi.js.map +1 -1
- package/dist/ai/providers/openai-codex-responses.js +2 -3
- package/dist/ai/providers/openai-codex-responses.js.map +1 -1
- package/dist/ai/providers/openai-completions.js +0 -2
- package/dist/ai/providers/openai-completions.js.map +1 -1
- package/dist/ai/providers/openai-responses.d.ts.map +1 -1
- package/dist/ai/providers/openai-responses.js +0 -30
- package/dist/ai/providers/openai-responses.js.map +1 -1
- package/dist/ai/providers/register-builtins.d.ts.map +1 -1
- package/dist/ai/providers/register-builtins.js +0 -6
- package/dist/ai/providers/register-builtins.js.map +1 -1
- package/dist/ai/providers/simple-options.js +0 -2
- package/dist/ai/providers/simple-options.js.map +1 -1
- package/dist/ai/providers/transform-messages.js +9 -3
- package/dist/ai/providers/transform-messages.js.map +1 -1
- package/dist/ai/stream.js +3 -1
- package/dist/ai/stream.js.map +1 -1
- package/dist/ai/types.d.ts +1 -34
- package/dist/ai/types.d.ts.map +1 -1
- package/dist/ai/types.js.map +1 -1
- package/dist/ai/utils/base-stream-handler.js +0 -1
- package/dist/ai/utils/base-stream-handler.js.map +1 -1
- package/dist/ai/utils/event-stream.js +4 -9
- package/dist/ai/utils/event-stream.js.map +1 -1
- package/dist/ai/utils/index.d.ts +0 -1
- package/dist/ai/utils/index.d.ts.map +1 -1
- package/dist/ai/utils/index.js +0 -1
- package/dist/ai/utils/index.js.map +1 -1
- package/dist/ai/utils/oauth/github-copilot.d.ts.map +1 -1
- package/dist/ai/utils/oauth/github-copilot.js +8 -19
- package/dist/ai/utils/oauth/github-copilot.js.map +1 -1
- package/dist/ai/utils/overflow.d.ts.map +1 -1
- package/dist/ai/utils/overflow.js +0 -4
- package/dist/ai/utils/overflow.js.map +1 -1
- package/dist/ai/utils/provider-adapter.js +0 -9
- package/dist/ai/utils/provider-adapter.js.map +1 -1
- package/dist/ai/utils/provider-client-builder.js +1 -1
- package/dist/ai/utils/provider-client-builder.js.map +1 -1
- package/dist/ai/utils/provider-errors.js +0 -2
- package/dist/ai/utils/provider-errors.js.map +1 -1
- package/dist/ai/utils/stream-event-helper.js +0 -3
- package/dist/ai/utils/stream-event-helper.js.map +1 -1
- package/dist/ai/utils/stream-handler-types.js +0 -5
- package/dist/ai/utils/stream-handler-types.js.map +1 -1
- package/dist/ai/utils/streaming-state-manager.js +2 -4
- package/dist/ai/utils/streaming-state-manager.js.map +1 -1
- package/dist/mcp/client-pool.js +2 -3
- package/dist/mcp/client-pool.js.map +1 -1
- package/dist/mcp/client.js +5 -18
- package/dist/mcp/client.js.map +1 -1
- package/dist/mcp/errors.js +0 -8
- package/dist/mcp/errors.js.map +1 -1
- package/dist/mcp/server.js +3 -8
- package/dist/mcp/server.js.map +1 -1
- package/dist/memory/embedder/openai.js +1 -7
- package/dist/memory/embedder/openai.js.map +1 -1
- package/dist/memory/memory.js +1 -6
- package/dist/memory/memory.js.map +1 -1
- package/dist/memory/processors/message-history.js +2 -4
- package/dist/memory/processors/message-history.js.map +1 -1
- package/dist/memory/processors/observational-memory/index.js +2 -7
- package/dist/memory/processors/observational-memory/index.js.map +1 -1
- package/dist/memory/processors/observational-memory/token-counter.js +3 -3
- package/dist/memory/processors/observational-memory/token-counter.js.map +1 -1
- package/dist/memory/processors/semantic-recall.js +2 -11
- package/dist/memory/processors/semantic-recall.js.map +1 -1
- package/dist/memory/processors/working-memory.js +2 -7
- package/dist/memory/processors/working-memory.js.map +1 -1
- package/dist/memory/storage/base.js +6 -4
- package/dist/memory/storage/base.js.map +1 -1
- package/dist/memory/storage/inmemory.js +2 -3
- package/dist/memory/storage/inmemory.js.map +1 -1
- package/dist/memory/vector/base.js +6 -4
- package/dist/memory/vector/base.js.map +1 -1
- package/dist/memory/vector/inmemory.js +5 -2
- package/dist/memory/vector/inmemory.js.map +1 -1
- package/dist/tui/autocomplete.js +1 -5
- package/dist/tui/autocomplete.js.map +1 -1
- package/dist/tui/components/box.js +1 -9
- package/dist/tui/components/box.js.map +1 -1
- package/dist/tui/components/cancellable-loader.js +4 -3
- package/dist/tui/components/cancellable-loader.js.map +1 -1
- package/dist/tui/components/editor.d.ts +3 -39
- package/dist/tui/components/editor.d.ts.map +1 -1
- package/dist/tui/components/editor.js +133 -162
- package/dist/tui/components/editor.js.map +1 -1
- package/dist/tui/components/image.js +0 -8
- package/dist/tui/components/image.js.map +1 -1
- package/dist/tui/components/input.js +11 -10
- package/dist/tui/components/input.js.map +1 -1
- package/dist/tui/components/loader.js +4 -7
- package/dist/tui/components/loader.js.map +1 -1
- package/dist/tui/components/markdown.js +0 -10
- package/dist/tui/components/markdown.js.map +1 -1
- package/dist/tui/components/select-list.js +4 -8
- package/dist/tui/components/select-list.js.map +1 -1
- package/dist/tui/components/settings-list.js +4 -12
- package/dist/tui/components/settings-list.js.map +1 -1
- package/dist/tui/components/spacer.js +0 -1
- package/dist/tui/components/spacer.js.map +1 -1
- package/dist/tui/components/text.js +0 -5
- package/dist/tui/components/text.js.map +1 -1
- package/dist/tui/components/truncated-text.js +0 -3
- package/dist/tui/components/truncated-text.js.map +1 -1
- package/dist/tui/fuzzy.js +1 -4
- package/dist/tui/fuzzy.js.map +1 -1
- package/dist/tui/keybindings.js +2 -3
- package/dist/tui/keybindings.js.map +1 -1
- package/dist/tui/keys.d.ts +1 -17
- package/dist/tui/keys.d.ts.map +1 -1
- package/dist/tui/keys.js +0 -56
- package/dist/tui/keys.js.map +1 -1
- package/dist/tui/stdin-buffer.js +5 -6
- package/dist/tui/stdin-buffer.js.map +1 -1
- package/dist/tui/terminal-image.js +3 -1
- package/dist/tui/terminal-image.js.map +1 -1
- package/dist/tui/terminal.d.ts +0 -13
- package/dist/tui/terminal.d.ts.map +1 -1
- package/dist/tui/terminal.js +7 -70
- package/dist/tui/terminal.js.map +1 -1
- package/dist/tui/tui.d.ts +0 -36
- package/dist/tui/tui.d.ts.map +1 -1
- package/dist/tui/tui.js +29 -101
- package/dist/tui/tui.js.map +1 -1
- package/dist/tui/utils.js +16 -12
- package/dist/tui/utils.js.map +1 -1
- package/package.json +29 -38
- package/dist/agent/agent-session.d.ts +0 -352
- package/dist/agent/agent-session.d.ts.map +0 -1
- package/dist/agent/agent-session.js +0 -870
- package/dist/agent/agent-session.js.map +0 -1
- package/dist/agent/agent-session.test.d.ts +0 -5
- package/dist/agent/agent-session.test.d.ts.map +0 -1
- package/dist/agent/agent-session.test.js +0 -129
- package/dist/agent/agent-session.test.js.map +0 -1
- package/dist/agent/bash-executor.d.ts +0 -33
- package/dist/agent/bash-executor.d.ts.map +0 -1
- package/dist/agent/bash-executor.js +0 -197
- package/dist/agent/bash-executor.js.map +0 -1
- package/dist/agent/compaction/compaction.d.ts +0 -87
- package/dist/agent/compaction/compaction.d.ts.map +0 -1
- package/dist/agent/compaction/compaction.js +0 -598
- package/dist/agent/compaction/compaction.js.map +0 -1
- package/dist/agent/compaction/index.d.ts +0 -6
- package/dist/agent/compaction/index.d.ts.map +0 -1
- package/dist/agent/compaction/index.js +0 -6
- package/dist/agent/compaction/index.js.map +0 -1
- package/dist/agent/compaction/utils.d.ts +0 -41
- package/dist/agent/compaction/utils.d.ts.map +0 -1
- package/dist/agent/compaction/utils.js +0 -240
- package/dist/agent/compaction/utils.js.map +0 -1
- package/dist/agent/settings-manager.d.ts +0 -204
- package/dist/agent/settings-manager.d.ts.map +0 -1
- package/dist/agent/settings-manager.js +0 -594
- package/dist/agent/settings-manager.js.map +0 -1
- package/dist/agent/tools/edit.test.d.ts +0 -6
- package/dist/agent/tools/edit.test.d.ts.map +0 -1
- package/dist/agent/tools/edit.test.js +0 -196
- package/dist/agent/tools/edit.test.js.map +0 -1
- package/dist/ai/providers/github-copilot-headers.d.ts +0 -33
- package/dist/ai/providers/github-copilot-headers.d.ts.map +0 -1
- package/dist/ai/providers/github-copilot-headers.js +0 -51
- package/dist/ai/providers/github-copilot-headers.js.map +0 -1
- package/dist/ai/providers/mistral.d.ts +0 -22
- package/dist/ai/providers/mistral.d.ts.map +0 -1
- package/dist/ai/providers/mistral.js +0 -497
- package/dist/ai/providers/mistral.js.map +0 -1
- package/dist/ai/types.test.d.ts +0 -8
- package/dist/ai/types.test.d.ts.map +0 -1
- package/dist/ai/types.test.js +0 -389
- package/dist/ai/types.test.js.map +0 -1
- package/dist/ai/utils/hash.d.ts +0 -6
- package/dist/ai/utils/hash.d.ts.map +0 -1
- package/dist/ai/utils/hash.js +0 -17
- package/dist/ai/utils/hash.js.map +0 -1
- package/dist/tui/kill-ring.d.ts +0 -28
- package/dist/tui/kill-ring.d.ts.map +0 -1
- package/dist/tui/kill-ring.js +0 -44
- package/dist/tui/kill-ring.js.map +0 -1
- package/dist/tui/undo-stack.d.ts +0 -17
- package/dist/tui/undo-stack.d.ts.map +0 -1
- package/dist/tui/undo-stack.js +0 -25
- package/dist/tui/undo-stack.js.map +0 -1
|
@@ -1,196 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Comprehensive tests for edit tool fuzzy matching and edge cases.
|
|
3
|
-
* Tests patterns from pi-mono tools.test.ts to ensure parity.
|
|
4
|
-
*/
|
|
5
|
-
import { describe, it, expect, beforeEach, afterEach } from "vitest";
|
|
6
|
-
import { mkdirSync, rmSync, writeFileSync, readFileSync } from "fs";
|
|
7
|
-
import { join } from "path";
|
|
8
|
-
import { tmpdir } from "os";
|
|
9
|
-
import { editTool } from "./edit.js";
|
|
10
|
-
/**
|
|
11
|
-
* Helper to extract text content from tool result
|
|
12
|
-
*/
|
|
13
|
-
function getTextOutput(result) {
|
|
14
|
-
if (result.content && Array.isArray(result.content)) {
|
|
15
|
-
const textContent = result.content.find((c) => c.type === "text");
|
|
16
|
-
return textContent?.text ?? "";
|
|
17
|
-
}
|
|
18
|
-
return "";
|
|
19
|
-
}
|
|
20
|
-
describe("edit tool - Fuzzy Matching", () => {
|
|
21
|
-
let testDir;
|
|
22
|
-
beforeEach(() => {
|
|
23
|
-
testDir = join(tmpdir(), `indusagi-fuzzy-test-${Date.now()}`);
|
|
24
|
-
mkdirSync(testDir, { recursive: true });
|
|
25
|
-
});
|
|
26
|
-
afterEach(() => {
|
|
27
|
-
rmSync(testDir, { recursive: true, force: true });
|
|
28
|
-
});
|
|
29
|
-
it("should match text with trailing whitespace stripped", async () => {
|
|
30
|
-
const testFile = join(testDir, "trailing-ws.txt");
|
|
31
|
-
// File has trailing spaces on lines
|
|
32
|
-
writeFileSync(testFile, "line one \nline two \nline three\n");
|
|
33
|
-
// oldText without trailing whitespace should still match
|
|
34
|
-
const result = await editTool.execute("test-fuzzy-1", {
|
|
35
|
-
path: testFile,
|
|
36
|
-
oldText: "line one\nline two\n",
|
|
37
|
-
newText: "replaced\n",
|
|
38
|
-
});
|
|
39
|
-
expect(getTextOutput(result)).toContain("Successfully");
|
|
40
|
-
const content = readFileSync(testFile, "utf-8");
|
|
41
|
-
expect(content).toBe("replaced\nline three\n");
|
|
42
|
-
});
|
|
43
|
-
it("should match smart single quotes to ASCII quotes", async () => {
|
|
44
|
-
const testFile = join(testDir, "smart-quotes.txt");
|
|
45
|
-
// File has smart/curly single quotes (U+2018, U+2019)
|
|
46
|
-
writeFileSync(testFile, "console.log(\u2018hello\u2019);\n");
|
|
47
|
-
// oldText with ASCII quotes should match
|
|
48
|
-
const result = await editTool.execute("test-fuzzy-2", {
|
|
49
|
-
path: testFile,
|
|
50
|
-
oldText: "console.log('hello');",
|
|
51
|
-
newText: "console.log('world');",
|
|
52
|
-
});
|
|
53
|
-
expect(getTextOutput(result)).toContain("Successfully");
|
|
54
|
-
const content = readFileSync(testFile, "utf-8");
|
|
55
|
-
expect(content).toContain("world");
|
|
56
|
-
});
|
|
57
|
-
it("should match smart double quotes to ASCII quotes", async () => {
|
|
58
|
-
const testFile = join(testDir, "smart-double-quotes.txt");
|
|
59
|
-
// File has smart/curly double quotes (U+201C, U+201D)
|
|
60
|
-
writeFileSync(testFile, 'const msg = \u201CHello World\u201D;\n');
|
|
61
|
-
// oldText with ASCII quotes should match
|
|
62
|
-
const result = await editTool.execute("test-fuzzy-3", {
|
|
63
|
-
path: testFile,
|
|
64
|
-
oldText: 'const msg = "Hello World";',
|
|
65
|
-
newText: 'const msg = "Goodbye";',
|
|
66
|
-
});
|
|
67
|
-
expect(getTextOutput(result)).toContain("Successfully");
|
|
68
|
-
const content = readFileSync(testFile, "utf-8");
|
|
69
|
-
expect(content).toContain("Goodbye");
|
|
70
|
-
});
|
|
71
|
-
it("should match Unicode dashes to ASCII hyphen", async () => {
|
|
72
|
-
const testFile = join(testDir, "unicode-dashes.txt");
|
|
73
|
-
// File has en-dash (U+2013) and em-dash (U+2014)
|
|
74
|
-
writeFileSync(testFile, "range: 1\u20135\nbreak\u2014here\n");
|
|
75
|
-
// oldText with ASCII hyphens should match
|
|
76
|
-
const result = await editTool.execute("test-fuzzy-4", {
|
|
77
|
-
path: testFile,
|
|
78
|
-
oldText: "range: 1-5\nbreak-here",
|
|
79
|
-
newText: "range: 10-50\nbreak--here",
|
|
80
|
-
});
|
|
81
|
-
expect(getTextOutput(result)).toContain("Successfully");
|
|
82
|
-
const content = readFileSync(testFile, "utf-8");
|
|
83
|
-
expect(content).toContain("10-50");
|
|
84
|
-
});
|
|
85
|
-
it("should match non-breaking space to regular space", async () => {
|
|
86
|
-
const testFile = join(testDir, "nbsp.txt");
|
|
87
|
-
// File has non-breaking space (U+00A0)
|
|
88
|
-
writeFileSync(testFile, "hello\u00A0world\n");
|
|
89
|
-
// oldText with regular space should match
|
|
90
|
-
const result = await editTool.execute("test-fuzzy-5", {
|
|
91
|
-
path: testFile,
|
|
92
|
-
oldText: "hello world",
|
|
93
|
-
newText: "hello universe",
|
|
94
|
-
});
|
|
95
|
-
expect(getTextOutput(result)).toContain("Successfully");
|
|
96
|
-
const content = readFileSync(testFile, "utf-8");
|
|
97
|
-
expect(content).toContain("universe");
|
|
98
|
-
});
|
|
99
|
-
it("should prefer exact match over fuzzy match", async () => {
|
|
100
|
-
const testFile = join(testDir, "exact-preferred.txt");
|
|
101
|
-
// File has both exact and fuzzy-matchable content
|
|
102
|
-
writeFileSync(testFile, "const x = 'exact';\nconst y = 'other';\n");
|
|
103
|
-
const result = await editTool.execute("test-fuzzy-6", {
|
|
104
|
-
path: testFile,
|
|
105
|
-
oldText: "const x = 'exact';",
|
|
106
|
-
newText: "const x = 'changed';",
|
|
107
|
-
});
|
|
108
|
-
expect(getTextOutput(result)).toContain("Successfully");
|
|
109
|
-
const content = readFileSync(testFile, "utf-8");
|
|
110
|
-
expect(content).toBe("const x = 'changed';\nconst y = 'other';\n");
|
|
111
|
-
});
|
|
112
|
-
it("should still fail when text is not found even with fuzzy matching", async () => {
|
|
113
|
-
const testFile = join(testDir, "no-match.txt");
|
|
114
|
-
writeFileSync(testFile, "completely different content\n");
|
|
115
|
-
await expect(editTool.execute("test-fuzzy-7", {
|
|
116
|
-
path: testFile,
|
|
117
|
-
oldText: "this does not exist",
|
|
118
|
-
newText: "replacement",
|
|
119
|
-
})).rejects.toThrow(/not found|not match/i);
|
|
120
|
-
});
|
|
121
|
-
it("should detect duplicates after fuzzy normalization", async () => {
|
|
122
|
-
const testFile = join(testDir, "fuzzy-dups.txt");
|
|
123
|
-
// Two lines that are identical after trailing whitespace is stripped
|
|
124
|
-
writeFileSync(testFile, "hello world \nhello world\n");
|
|
125
|
-
await expect(editTool.execute("test-fuzzy-8", {
|
|
126
|
-
path: testFile,
|
|
127
|
-
oldText: "hello world",
|
|
128
|
-
newText: "replaced",
|
|
129
|
-
})).rejects.toThrow(/multiple|duplicate|more than one/i);
|
|
130
|
-
});
|
|
131
|
-
});
|
|
132
|
-
describe("edit tool - CRLF Handling", () => {
|
|
133
|
-
let testDir;
|
|
134
|
-
beforeEach(() => {
|
|
135
|
-
testDir = join(tmpdir(), `indusagi-crlf-test-${Date.now()}`);
|
|
136
|
-
mkdirSync(testDir, { recursive: true });
|
|
137
|
-
});
|
|
138
|
-
afterEach(() => {
|
|
139
|
-
rmSync(testDir, { recursive: true, force: true });
|
|
140
|
-
});
|
|
141
|
-
it("should handle CRLF line endings correctly", async () => {
|
|
142
|
-
const testFile = join(testDir, "crlf-file.txt");
|
|
143
|
-
// Create file with Windows CRLF line endings (\r\n)
|
|
144
|
-
writeFileSync(testFile, "line one\r\nline two\r\nline three\r\n");
|
|
145
|
-
// oldText with LF should still match CRLF in file
|
|
146
|
-
const result = await editTool.execute("test-crlf-1", {
|
|
147
|
-
path: testFile,
|
|
148
|
-
oldText: "line one\nline two\n",
|
|
149
|
-
newText: "replaced\n",
|
|
150
|
-
});
|
|
151
|
-
expect(getTextOutput(result)).toContain("Successfully");
|
|
152
|
-
const content = readFileSync(testFile, "utf-8");
|
|
153
|
-
// Should preserve CRLF in remaining content or normalize appropriately
|
|
154
|
-
expect(content).toContain("line three");
|
|
155
|
-
});
|
|
156
|
-
it("should handle mixed LF and CRLF in same file", async () => {
|
|
157
|
-
const testFile = join(testDir, "mixed-endings.txt");
|
|
158
|
-
// File with mixed line endings
|
|
159
|
-
writeFileSync(testFile, "line one\r\nline two\nline three\r\n");
|
|
160
|
-
const result = await editTool.execute("test-crlf-2", {
|
|
161
|
-
path: testFile,
|
|
162
|
-
oldText: "line one\nline two",
|
|
163
|
-
newText: "replaced",
|
|
164
|
-
});
|
|
165
|
-
expect(getTextOutput(result)).toContain("Successfully");
|
|
166
|
-
const content = readFileSync(testFile, "utf-8");
|
|
167
|
-
expect(content).toContain("replaced");
|
|
168
|
-
});
|
|
169
|
-
it("should preserve line ending style when replacing", async () => {
|
|
170
|
-
const testFile = join(testDir, "preserve-endings.txt");
|
|
171
|
-
// Create CRLF file
|
|
172
|
-
writeFileSync(testFile, "first\r\nsecond\r\nthird\r\n");
|
|
173
|
-
const result = await editTool.execute("test-crlf-3", {
|
|
174
|
-
path: testFile,
|
|
175
|
-
oldText: "first\nsecond",
|
|
176
|
-
newText: "modified",
|
|
177
|
-
});
|
|
178
|
-
expect(getTextOutput(result)).toContain("Successfully");
|
|
179
|
-
const content = readFileSync(testFile, "utf-8");
|
|
180
|
-
// After replacement, should maintain file's native line endings where possible
|
|
181
|
-
expect(content).toContain("modified");
|
|
182
|
-
});
|
|
183
|
-
});
|
|
184
|
-
describe("edit tool - Dynamic Tool Registration", () => {
|
|
185
|
-
it("should support tool registration via Agent API", async () => {
|
|
186
|
-
// This tests the dynamic tool registration capability
|
|
187
|
-
// The actual test would need an Agent instance
|
|
188
|
-
// Just verify the tool exists and has required properties
|
|
189
|
-
expect(editTool).toBeDefined();
|
|
190
|
-
expect(editTool.name).toBe("edit");
|
|
191
|
-
expect(editTool.label).toBeDefined();
|
|
192
|
-
expect(editTool.execute).toBeDefined();
|
|
193
|
-
expect(typeof editTool.execute).toBe("function");
|
|
194
|
-
});
|
|
195
|
-
});
|
|
196
|
-
//# sourceMappingURL=edit.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"edit.test.js","sourceRoot":"","sources":["../../../src/agent/tools/edit.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import type { Message } from "../types.js";
|
|
2
|
-
/**
|
|
3
|
-
* Infer the initiator of a Copilot conversation.
|
|
4
|
-
*
|
|
5
|
-
* Copilot expects X-Initiator header to indicate whether the request is user-initiated
|
|
6
|
-
* or agent-initiated (e.g. follow-up after assistant/tool messages).
|
|
7
|
-
*
|
|
8
|
-
* @param messages - The conversation messages
|
|
9
|
-
* @returns "user" if last message is from user, "agent" otherwise
|
|
10
|
-
*/
|
|
11
|
-
export declare function inferCopilotInitiator(messages: Message[]): "user" | "agent";
|
|
12
|
-
/**
|
|
13
|
-
* Check if any message contains image content.
|
|
14
|
-
*
|
|
15
|
-
* Copilot requires Copilot-Vision-Request header when sending images.
|
|
16
|
-
*
|
|
17
|
-
* @param messages - The conversation messages
|
|
18
|
-
* @returns true if any user or tool result message contains images
|
|
19
|
-
*/
|
|
20
|
-
export declare function hasCopilotVisionInput(messages: Message[]): boolean;
|
|
21
|
-
/**
|
|
22
|
-
* Build dynamic headers for GitHub Copilot API requests.
|
|
23
|
-
*
|
|
24
|
-
* @param params - Parameters for building headers
|
|
25
|
-
* @param params.messages - The conversation messages
|
|
26
|
-
* @param params.hasImages - Whether the request contains images (can be pre-computed)
|
|
27
|
-
* @returns Record of headers to include in the API request
|
|
28
|
-
*/
|
|
29
|
-
export declare function buildCopilotDynamicHeaders(params: {
|
|
30
|
-
messages: Message[];
|
|
31
|
-
hasImages: boolean;
|
|
32
|
-
}): Record<string, string>;
|
|
33
|
-
//# sourceMappingURL=github-copilot-headers.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"github-copilot-headers.d.ts","sourceRoot":"","sources":["../../../src/ai/providers/github-copilot-headers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,GAAG,OAAO,CAG3E;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAUlE;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE;IAClD,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;CACnB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAWzB"}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Infer the initiator of a Copilot conversation.
|
|
3
|
-
*
|
|
4
|
-
* Copilot expects X-Initiator header to indicate whether the request is user-initiated
|
|
5
|
-
* or agent-initiated (e.g. follow-up after assistant/tool messages).
|
|
6
|
-
*
|
|
7
|
-
* @param messages - The conversation messages
|
|
8
|
-
* @returns "user" if last message is from user, "agent" otherwise
|
|
9
|
-
*/
|
|
10
|
-
export function inferCopilotInitiator(messages) {
|
|
11
|
-
const last = messages[messages.length - 1];
|
|
12
|
-
return last && last.role !== "user" ? "agent" : "user";
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Check if any message contains image content.
|
|
16
|
-
*
|
|
17
|
-
* Copilot requires Copilot-Vision-Request header when sending images.
|
|
18
|
-
*
|
|
19
|
-
* @param messages - The conversation messages
|
|
20
|
-
* @returns true if any user or tool result message contains images
|
|
21
|
-
*/
|
|
22
|
-
export function hasCopilotVisionInput(messages) {
|
|
23
|
-
return messages.some((msg) => {
|
|
24
|
-
if (msg.role === "user" && Array.isArray(msg.content)) {
|
|
25
|
-
return msg.content.some((c) => c.type === "image");
|
|
26
|
-
}
|
|
27
|
-
if (msg.role === "toolResult" && Array.isArray(msg.content)) {
|
|
28
|
-
return msg.content.some((c) => c.type === "image");
|
|
29
|
-
}
|
|
30
|
-
return false;
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Build dynamic headers for GitHub Copilot API requests.
|
|
35
|
-
*
|
|
36
|
-
* @param params - Parameters for building headers
|
|
37
|
-
* @param params.messages - The conversation messages
|
|
38
|
-
* @param params.hasImages - Whether the request contains images (can be pre-computed)
|
|
39
|
-
* @returns Record of headers to include in the API request
|
|
40
|
-
*/
|
|
41
|
-
export function buildCopilotDynamicHeaders(params) {
|
|
42
|
-
const headers = {
|
|
43
|
-
"X-Initiator": inferCopilotInitiator(params.messages),
|
|
44
|
-
"Openai-Intent": "conversation-edits",
|
|
45
|
-
};
|
|
46
|
-
if (params.hasImages) {
|
|
47
|
-
headers["Copilot-Vision-Request"] = "true";
|
|
48
|
-
}
|
|
49
|
-
return headers;
|
|
50
|
-
}
|
|
51
|
-
//# sourceMappingURL=github-copilot-headers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"github-copilot-headers.js","sourceRoot":"","sources":["../../../src/ai/providers/github-copilot-headers.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAmB;IACxD,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC3C,OAAO,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;AACxD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAmB;IACxD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;QAC5B,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACvD,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7D,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,0BAA0B,CAAC,MAG1C;IACA,MAAM,OAAO,GAA2B;QACvC,aAAa,EAAE,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC;QACrD,eAAe,EAAE,oBAAoB;KACrC,CAAC;IAEF,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACtB,OAAO,CAAC,wBAAwB,CAAC,GAAG,MAAM,CAAC;IAC5C,CAAC;IAED,OAAO,OAAO,CAAC;AAChB,CAAC"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import type { SimpleStreamOptions, StreamFunction, StreamOptions } from "../types.js";
|
|
2
|
-
/**
|
|
3
|
-
* Provider-specific options for the Mistral API.
|
|
4
|
-
*/
|
|
5
|
-
export interface MistralOptions extends StreamOptions {
|
|
6
|
-
toolChoice?: "auto" | "none" | "any" | "required" | {
|
|
7
|
-
type: "function";
|
|
8
|
-
function: {
|
|
9
|
-
name: string;
|
|
10
|
-
};
|
|
11
|
-
};
|
|
12
|
-
promptMode?: "reasoning";
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Stream responses from Mistral using chat.stream.
|
|
16
|
-
*/
|
|
17
|
-
export declare const streamMistral: StreamFunction<"mistral-conversations", MistralOptions>;
|
|
18
|
-
/**
|
|
19
|
-
* Maps provider-agnostic SimpleStreamOptions to Mistral options.
|
|
20
|
-
*/
|
|
21
|
-
export declare const streamSimpleMistral: StreamFunction<"mistral-conversations", SimpleStreamOptions>;
|
|
22
|
-
//# sourceMappingURL=mistral.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mistral.d.ts","sourceRoot":"","sources":["../../../src/ai/providers/mistral.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAKX,mBAAmB,EAEnB,cAAc,EACd,aAAa,EAKb,MAAM,aAAa,CAAC;AAcrB;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,aAAa;IACpD,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,UAAU,GAAG;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,QAAQ,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;IACrG,UAAU,CAAC,EAAE,WAAW,CAAC;CACzB;AAeD;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,cAAc,CAAC,uBAAuB,EAAE,cAAc,CAyDjF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,cAAc,CAAC,uBAAuB,EAAE,mBAAmB,CAiB5F,CAAC"}
|