clanka 0.0.15 → 0.0.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.js CHANGED
@@ -331,7 +331,7 @@ const generateSystemMulti = (toolsDts) => {
331
331
 
332
332
  - Use \`console.log\` to print any output you need.
333
333
  - Top level await is supported.
334
- - **Prefer using the functions provided** over the bash tool
334
+ - AVOID passing scripts into the "bash" function, and instead write javascript.
335
335
 
336
336
  **When you have fully completed your task**, call the "taskComplete" function with the final output.
337
337
  Make sure every detail of the task is done before calling "taskComplete".
@@ -350,7 +350,7 @@ const generateSystemSingle = (toolsDts) => {
350
350
 
351
351
  - Use \`console.log\` to print any output you need.
352
352
  - Top level await is supported.
353
- - **Prefer using the functions provided** over the bash tool
353
+ - AVOID passing scripts into the "bash" function, and instead write javascript.
354
354
 
355
355
  You have the following functions available to you:
356
356
 
@@ -49,7 +49,7 @@ export declare const AgentTools: Toolkit.Toolkit<{
49
49
  readonly failure: Schema.Never;
50
50
  readonly failureMode: "error";
51
51
  }, CurrentDirectory>;
52
- readonly createFile: Tool.Tool<"createFile", {
52
+ readonly writeFile: Tool.Tool<"writeFile", {
53
53
  readonly parameters: Schema.Struct<{
54
54
  readonly path: Schema.String;
55
55
  readonly content: Schema.String;
@@ -153,7 +153,7 @@ export declare const AgentToolHandlers: import("effect/Layer").Layer<Tool.Handle
153
153
  readonly failure: Schema.Never;
154
154
  readonly failureMode: "error";
155
155
  }, CurrentDirectory>;
156
- readonly createFile: Tool.Tool<"createFile", {
156
+ readonly writeFile: Tool.Tool<"writeFile", {
157
157
  readonly parameters: Schema.Struct<{
158
158
  readonly path: Schema.String;
159
159
  readonly content: Schema.String;
@@ -1 +1 @@
1
- {"version":3,"file":"AgentTools.d.ts","sourceRoot":"","sources":["../src/AgentTools.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAGL,QAAQ,EACR,MAAM,EACN,UAAU,EACV,IAAI,EAEJ,MAAM,EACN,UAAU,EAEX,MAAM,QAAQ,CAAA;AACf,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAgB,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;;AAI3E;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,qBAGG;CAAG;;AAE5C;;;GAGG;AACH,qBAAa,oBAAqB,SAAQ,yBAGG;CAAG;;mBAS7B;QAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;;AAPtE;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,oBAKG;CAAG;AAE3C;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,qFAMzC,CAAA;AAEH;;;GAGG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0HtB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uFAkT7B,CAAA"}
1
+ {"version":3,"file":"AgentTools.d.ts","sourceRoot":"","sources":["../src/AgentTools.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAGL,QAAQ,EACR,MAAM,EACN,UAAU,EACV,IAAI,EAEJ,MAAM,EACN,UAAU,EAEX,MAAM,QAAQ,CAAA;AACf,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAgB,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;;AAI3E;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,qBAGG;CAAG;;AAE5C;;;GAGG;AACH,qBAAa,oBAAqB,SAAQ,yBAGG;CAAG;;mBAS7B;QAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;;AAPtE;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,oBAKG;CAAG;AAE3C;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,qFAMzC,CAAA;AAEH;;;GAGG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2HtB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uFAkT7B,CAAA"}
@@ -44,15 +44,15 @@ export const AgentTools = Toolkit.make(Tool.make("readFile", {
44
44
  }),
45
45
  success: Schema.NullOr(Schema.String),
46
46
  dependencies: [CurrentDirectory],
47
- }), Tool.make("createFile", {
48
- description: "Write content to a file, creating parent directories if needed.",
47
+ }), Tool.make("writeFile", {
48
+ description: "Write content to a file, creating parent directories if needed. PREFER USING applyPatch to update existing files.",
49
49
  parameters: Schema.Struct({
50
50
  path: Schema.String,
51
51
  content: Schema.String,
52
52
  }),
53
53
  dependencies: [CurrentDirectory],
54
54
  }), Tool.make("applyPatch", {
55
- description: "Apply a wrapped patch with Add/Delete/Update sections.",
55
+ description: "Apply a git diff / unified diff patch across one or more files.",
56
56
  parameters: Schema.String.annotate({
57
57
  identifier: "patch",
58
58
  }),
@@ -167,8 +167,8 @@ export const AgentToolHandlers = AgentTools.toLayer(Effect.gen(function* () {
167
167
  }
168
168
  return yield* Stream.runCollect(stream).pipe(Effect.map(Array.join("\n")), Effect.catchReason("PlatformError", "NotFound", () => Effect.succeed(null)), Effect.orDie);
169
169
  }),
170
- createFile: Effect.fn("AgentTools.createFile")(function* (options) {
171
- yield* Effect.logInfo(`Calling "createFile"`).pipe(Effect.annotateLogs({ path: options.path }));
170
+ writeFile: Effect.fn("AgentTools.writeFile")(function* (options) {
171
+ yield* Effect.logInfo(`Calling "writeFile"`).pipe(Effect.annotateLogs({ path: options.path }));
172
172
  const cwd = yield* CurrentDirectory;
173
173
  const path = pathService.resolve(cwd, options.path);
174
174
  if (yield* fs.exists(path)) {
@@ -1 +1 @@
1
- {"version":3,"file":"AgentTools.js","sourceRoot":"","sources":["../src/AgentTools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentTools.js","sourceRoot":"","sources":["../src/AgentTools.ts"],"names":[],"mappings":"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"}
@@ -23,7 +23,7 @@ describe("AgentTools", () => {
23
23
  expect(output).toContain("readonly path: string;");
24
24
  expect(output).toContain("readonly startLine?: number | undefined;");
25
25
  expect(output).toContain("readonly endLine?: number | undefined;");
26
- expect(output).toContain("/** Apply a wrapped patch with Add/Delete/Update sections. */");
26
+ expect(output).toContain("/** Apply a git diff / unified diff patch across one or more files. */");
27
27
  expect(output).toContain("declare function applyPatch(patch: string): Promise<string>");
28
28
  expect(output).not.toContain("declare function python(");
29
29
  }).pipe(Effect.provide([
@@ -44,16 +44,25 @@ describe("AgentTools", () => {
44
44
  tools,
45
45
  script: [
46
46
  "const output = await applyPatch(`",
47
- "*** Begin Patch",
48
- "*** Add File: notes/hello.txt",
49
- "+hello",
50
- "*** Update File: src/app.txt",
51
- "*** Move to: src/main.txt",
52
- "@@",
47
+ "diff --git a/src/app.txt b/src/main.txt",
48
+ "similarity index 100%",
49
+ "rename from src/app.txt",
50
+ "rename to src/main.txt",
51
+ "--- a/src/app.txt",
52
+ "+++ b/src/main.txt",
53
+ "@@ -1 +1 @@",
53
54
  "-old",
54
55
  "+new",
55
- "*** Delete File: obsolete.txt",
56
- "*** End Patch",
56
+ "diff --git a/obsolete.txt b/obsolete.txt",
57
+ "deleted file mode 100644",
58
+ "--- a/obsolete.txt",
59
+ "+++ /dev/null",
60
+ "diff --git a/dev/null b/notes/hello.txt",
61
+ "new file mode 100644",
62
+ "--- /dev/null",
63
+ "+++ b/notes/hello.txt",
64
+ "@@ -0,0 +1 @@",
65
+ "+hello",
57
66
  "`)",
58
67
  "console.log(output)",
59
68
  ].join("\n"),
@@ -83,23 +92,33 @@ describe("AgentTools", () => {
83
92
  tools,
84
93
  script: [
85
94
  "const output = await applyPatch(`",
86
- "*** Begin Patch",
87
- "*** Add File: notes/hello.txt",
95
+ "diff --git a/dev/null b/notes/hello.txt",
96
+ "new file mode 100644",
97
+ "--- /dev/null",
98
+ "+++ b/notes/hello.txt",
99
+ "@@ -0,0 +1 @@",
88
100
  "+hello",
89
- "*** Update File: notes/hello.txt",
90
- "@@",
101
+ "diff --git a/notes/hello.txt b/notes/hello.txt",
102
+ "--- a/notes/hello.txt",
103
+ "+++ b/notes/hello.txt",
104
+ "@@ -1 +1 @@",
91
105
  "-hello",
92
106
  "+hello again",
93
- "*** Update File: src/app.txt",
94
- "*** Move to: src/main.txt",
95
- "@@",
107
+ "diff --git a/src/app.txt b/src/main.txt",
108
+ "similarity index 100%",
109
+ "rename from src/app.txt",
110
+ "rename to src/main.txt",
111
+ "--- a/src/app.txt",
112
+ "+++ b/src/main.txt",
113
+ "@@ -1 +1 @@",
96
114
  "-old",
97
115
  "+new",
98
- "*** Update File: src/main.txt",
99
- "@@",
116
+ "diff --git a/src/main.txt b/src/main.txt",
117
+ "--- a/src/main.txt",
118
+ "+++ b/src/main.txt",
119
+ "@@ -1 +1 @@",
100
120
  "-new",
101
121
  "+newer",
102
- "*** End Patch",
103
122
  "`)",
104
123
  "console.log(output)",
105
124
  ].join("\n"),
@@ -1 +1 @@
1
- {"version":3,"file":"AgentTools.test.js","sourceRoot":"","sources":["../src/AgentTools.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentTools.test.js","sourceRoot":"","sources":["../src/AgentTools.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ApplyPatch.d.ts","sourceRoot":"","sources":["../src/ApplyPatch.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACnC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACpC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA;AAOD,MAAM,MAAM,SAAS,GACjB;IACE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAA;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,CAAA;IACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAC3B,CAAA;AAgKL,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,KAAG,aAAa,CAAC,SAAS,CAuFjE,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,KAAG,MAAM,GAAG,SAMpD,CAAA;AA8JD,eAAO,MAAM,WAAW,GACtB,MAAM,MAAM,EACZ,OAAO,MAAM,EACb,QAAQ,aAAa,CAAC,KAAK,CAAC,KAC3B,MAkBF,CAAA;AAED,eAAO,MAAM,YAAY,GACvB,MAAM,MAAM,EACZ,OAAO,MAAM,EACb,WAAW,MAAM,KAChB,MAAoD,CAAA"}
1
+ {"version":3,"file":"ApplyPatch.d.ts","sourceRoot":"","sources":["../src/ApplyPatch.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACnC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IACpC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAA;CACvB,CAAA;AAOD,MAAM,MAAM,SAAS,GACjB;IACE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAA;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,CAAA;IACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAC3B,CAAA;AAmUL,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,KAAG,aAAa,CAAC,SAAS,CAgGjE,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,KAAG,MAAM,GAAG,SAcpD,CAAA;AA8JD,eAAO,MAAM,WAAW,GACtB,MAAM,MAAM,EACZ,OAAO,MAAM,EACb,QAAQ,aAAa,CAAC,KAAK,CAAC,KAC3B,MAkBF,CAAA;AAED,eAAO,MAAM,YAAY,GACvB,MAAM,MAAM,EACZ,OAAO,MAAM,EACb,WAAW,MAAM,KAChB,MAAoD,CAAA"}
@@ -28,19 +28,31 @@ const locate = (text) => {
28
28
  end,
29
29
  };
30
30
  };
31
+ const parseChunkHeader = (line) => {
32
+ if (line === "@@") {
33
+ return;
34
+ }
35
+ const unified = line.match(/^@@\s+-\d+(?:,\d+)?\s+\+\d+(?:,\d+)?\s+@@(?:\s?(.*))?$/);
36
+ if (unified) {
37
+ const ctx = unified[1]?.trim();
38
+ return ctx === undefined || ctx.length === 0 ? undefined : ctx;
39
+ }
40
+ const ctx = line.slice(2).trim();
41
+ return ctx.length === 0 ? undefined : ctx;
42
+ };
31
43
  const parseChunks = (lines, start, end = lines.length) => {
32
44
  const chunks = Array();
33
45
  let i = start;
34
46
  while (i < end) {
35
47
  const line = lines[i];
36
- if (line.startsWith("***")) {
48
+ if (line.startsWith("***") || line.startsWith("diff --git ")) {
37
49
  break;
38
50
  }
39
51
  if (!line.startsWith("@@")) {
40
52
  i++;
41
53
  continue;
42
54
  }
43
- const ctx = line.slice(2).trim();
55
+ const ctx = parseChunkHeader(line);
44
56
  const old = Array();
45
57
  const next = Array();
46
58
  let eof = false;
@@ -52,7 +64,9 @@ const parseChunks = (lines, start, end = lines.length) => {
52
64
  i++;
53
65
  break;
54
66
  }
55
- if (line.startsWith("@@") || line.startsWith("***")) {
67
+ if (line.startsWith("@@") ||
68
+ line.startsWith("***") ||
69
+ line.startsWith("diff --git ")) {
56
70
  break;
57
71
  }
58
72
  if (line.startsWith(" ")) {
@@ -66,12 +80,14 @@ const parseChunks = (lines, start, end = lines.length) => {
66
80
  else if (line.startsWith("+")) {
67
81
  next.push(line.slice(1));
68
82
  }
83
+ else if (line === "\") {
84
+ }
69
85
  i++;
70
86
  }
71
87
  chunks.push({
72
88
  old,
73
89
  next,
74
- ...(ctx.length > 0 ? { ctx } : {}),
90
+ ...(ctx === undefined ? {} : { ctx }),
75
91
  ...(eof ? { eof: true } : {}),
76
92
  });
77
93
  }
@@ -134,91 +150,224 @@ const parseAdd = (lines, start, end) => {
134
150
  next: i,
135
151
  };
136
152
  };
137
- export const parsePatch = (input) => {
138
- const text = normalize(input);
139
- if (text.length === 0) {
140
- throw new Error("patchText is required");
153
+ const normalizeDiffPath = (path) => {
154
+ if (path === "/dev/null") {
155
+ return path;
141
156
  }
142
- if (text === `${BEGIN}\n${END}`) {
143
- throw new Error("patch rejected: empty patch");
157
+ if (path.startsWith("a/") || path.startsWith("b/")) {
158
+ return path.slice(2);
144
159
  }
145
- const { lines, begin, end } = locate(text);
160
+ return path;
161
+ };
162
+ const parseHeaderPath = (line, prefix) => {
163
+ const body = line.slice(prefix.length);
164
+ const tabIndex = body.indexOf("\t");
165
+ const value = tabIndex === -1 ? body : body.slice(0, tabIndex);
166
+ return normalizeDiffPath(value.trim());
167
+ };
168
+ const parseDiffGitPaths = (line) => {
169
+ const match = line.match(/^diff --git a\/(.+) b\/(.+)$/);
170
+ if (!match) {
171
+ return;
172
+ }
173
+ return [match[1], match[2]];
174
+ };
175
+ const hasDiffHeaders = (lines) => lines.some((line) => line.startsWith("diff --git ") ||
176
+ line.startsWith("--- ") ||
177
+ line.startsWith("rename from ") ||
178
+ line.startsWith("rename to "));
179
+ const parseGitPatch = (text) => {
180
+ const lines = text.split("\n");
146
181
  const out = Array();
147
- let i = begin + 1;
148
- while (i < end) {
149
- while (i < end && lines[i].trim() === "") {
182
+ let i = 0;
183
+ while (i < lines.length) {
184
+ while (i < lines.length && lines[i].trim() === "") {
150
185
  i++;
151
186
  }
152
- if (i === end) {
187
+ if (i >= lines.length) {
153
188
  break;
154
189
  }
155
- const line = lines[i];
156
- if (line.startsWith(ADD)) {
157
- const path = line.slice(ADD.length).trim();
158
- if (path.length === 0) {
159
- fail("missing add file path");
190
+ let oldPath;
191
+ let newPath;
192
+ let renameFrom;
193
+ let renameTo;
194
+ if (lines[i].startsWith("diff --git ")) {
195
+ const parsedPaths = parseDiffGitPaths(lines[i]);
196
+ if (!parsedPaths) {
197
+ return fail(`invalid git diff header: ${lines[i]}`);
198
+ }
199
+ const [parsedOldPath, parsedNewPath] = parsedPaths;
200
+ oldPath = parsedOldPath;
201
+ newPath = parsedNewPath;
202
+ i++;
203
+ }
204
+ while (i < lines.length) {
205
+ const line = lines[i];
206
+ if (line.startsWith("diff --git ")) {
207
+ break;
208
+ }
209
+ if (line.startsWith("rename from ")) {
210
+ renameFrom = line.slice("rename from ".length).trim();
211
+ i++;
212
+ continue;
213
+ }
214
+ if (line.startsWith("rename to ")) {
215
+ renameTo = line.slice("rename to ".length).trim();
216
+ i++;
217
+ continue;
218
+ }
219
+ if (line.startsWith("--- ")) {
220
+ oldPath = parseHeaderPath(line, "--- ");
221
+ i++;
222
+ if (i >= lines.length || !lines[i].startsWith("+++ ")) {
223
+ fail("missing new file header");
224
+ }
225
+ newPath = parseHeaderPath(lines[i], "+++ ");
226
+ i++;
227
+ break;
228
+ }
229
+ if (line.startsWith("@@")) {
230
+ break;
231
+ }
232
+ i++;
233
+ }
234
+ const parsed = parseChunks(lines, i);
235
+ i = parsed.next;
236
+ const fromPath = normalizeDiffPath(renameFrom ?? oldPath ?? "/dev/null");
237
+ const toPath = normalizeDiffPath(renameTo ?? newPath ?? fromPath);
238
+ if (fromPath === "/dev/null") {
239
+ if (toPath === "/dev/null") {
240
+ fail("invalid diff: both file paths are /dev/null");
160
241
  }
161
- const parsed = parseAdd(lines, i + 1, end);
162
242
  out.push({
163
243
  type: "add",
164
- path,
165
- content: parsed.content,
244
+ path: toPath,
245
+ content: patchChunks(toPath, "", parsed.chunks),
166
246
  });
167
- i = parsed.next;
168
247
  continue;
169
248
  }
170
- if (line.startsWith(DELETE)) {
171
- const path = line.slice(DELETE.length).trim();
172
- if (path.length === 0) {
173
- fail("missing delete file path");
174
- }
249
+ if (toPath === "/dev/null") {
175
250
  out.push({
176
251
  type: "delete",
177
- path,
252
+ path: fromPath,
178
253
  });
179
- i++;
180
254
  continue;
181
255
  }
182
- if (line.startsWith(UPDATE)) {
183
- const path = line.slice(UPDATE.length).trim();
184
- if (path.length === 0) {
185
- fail("missing update file path");
256
+ if (parsed.chunks.length === 0 && fromPath === toPath) {
257
+ fail(`no hunks found for ${fromPath}`);
258
+ }
259
+ out.push({
260
+ type: "update",
261
+ path: fromPath,
262
+ chunks: parsed.chunks,
263
+ ...(toPath === fromPath ? {} : { movePath: toPath }),
264
+ });
265
+ }
266
+ if (out.length === 0) {
267
+ fail("no hunks found");
268
+ }
269
+ return out;
270
+ };
271
+ export const parsePatch = (input) => {
272
+ const text = normalize(input);
273
+ if (text.length === 0) {
274
+ throw new Error("patchText is required");
275
+ }
276
+ if (text === `${BEGIN}\n${END}`) {
277
+ throw new Error("patch rejected: empty patch");
278
+ }
279
+ if (text.startsWith(BEGIN)) {
280
+ const { lines, begin, end } = locate(text);
281
+ const out = Array();
282
+ let i = begin + 1;
283
+ while (i < end) {
284
+ while (i < end && lines[i].trim() === "") {
285
+ i++;
186
286
  }
187
- i++;
188
- let movePath;
189
- if (i < end && lines[i].startsWith(MOVE)) {
190
- movePath = lines[i].slice(MOVE.length).trim();
191
- if (movePath.length === 0) {
192
- fail("missing move file path");
287
+ if (i === end) {
288
+ break;
289
+ }
290
+ const line = lines[i];
291
+ if (line.startsWith(ADD)) {
292
+ const path = line.slice(ADD.length).trim();
293
+ if (path.length === 0) {
294
+ fail("missing add file path");
295
+ }
296
+ const parsed = parseAdd(lines, i + 1, end);
297
+ out.push({
298
+ type: "add",
299
+ path,
300
+ content: parsed.content,
301
+ });
302
+ i = parsed.next;
303
+ continue;
304
+ }
305
+ if (line.startsWith(DELETE)) {
306
+ const path = line.slice(DELETE.length).trim();
307
+ if (path.length === 0) {
308
+ fail("missing delete file path");
193
309
  }
310
+ out.push({
311
+ type: "delete",
312
+ path,
313
+ });
194
314
  i++;
315
+ continue;
195
316
  }
196
- const parsed = parseChunks(lines, i, end);
197
- if (parsed.chunks.length === 0) {
198
- fail("no hunks found");
317
+ if (line.startsWith(UPDATE)) {
318
+ const path = line.slice(UPDATE.length).trim();
319
+ if (path.length === 0) {
320
+ fail("missing update file path");
321
+ }
322
+ i++;
323
+ let movePath;
324
+ if (i < end && lines[i].startsWith(MOVE)) {
325
+ movePath = lines[i].slice(MOVE.length).trim();
326
+ if (movePath.length === 0) {
327
+ fail("missing move file path");
328
+ }
329
+ i++;
330
+ }
331
+ const parsed = parseChunks(lines, i, end);
332
+ if (parsed.chunks.length === 0) {
333
+ fail("no hunks found");
334
+ }
335
+ out.push({
336
+ type: "update",
337
+ path,
338
+ chunks: parsed.chunks,
339
+ ...(movePath === undefined ? {} : { movePath }),
340
+ });
341
+ i = parsed.next;
342
+ continue;
199
343
  }
200
- out.push({
201
- type: "update",
202
- path,
203
- chunks: parsed.chunks,
204
- ...(movePath === undefined ? {} : { movePath }),
205
- });
206
- i = parsed.next;
207
- continue;
344
+ fail(`unexpected line in wrapped patch: ${line}`);
208
345
  }
209
- fail(`unexpected line in wrapped patch: ${line}`);
346
+ if (out.length === 0) {
347
+ fail("no hunks found");
348
+ }
349
+ return out;
210
350
  }
211
- if (out.length === 0) {
212
- fail("no hunks found");
351
+ const lines = text.split("\n");
352
+ if (hasDiffHeaders(lines)) {
353
+ return parseGitPatch(text);
213
354
  }
214
- return out;
355
+ return fail("Invalid patch format: expected git/unified diff");
215
356
  };
216
357
  export const wrappedPath = (input) => {
217
358
  const text = normalize(input);
218
- if (!text.startsWith(BEGIN)) {
359
+ if (text.startsWith(BEGIN)) {
360
+ return parseWrapped(text).path;
361
+ }
362
+ const lines = text.split("\n");
363
+ if (!hasDiffHeaders(lines)) {
364
+ return;
365
+ }
366
+ const patch = parseGitPatch(text);
367
+ if (patch.length !== 1 || patch[0].type !== "update") {
219
368
  return;
220
369
  }
221
- return parseWrapped(text).path;
370
+ return patch[0].path;
222
371
  };
223
372
  const parse = (input) => {
224
373
  const text = normalize(input);