clanka 0.2.17 → 0.2.18
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/ScriptPreprocessing.d.ts.map +1 -1
- package/dist/ScriptPreprocessing.js +65 -51
- package/dist/ScriptPreprocessing.js.map +1 -1
- package/dist/ScriptPreprocessing.test.js +9 -1
- package/dist/ScriptPreprocessing.test.js.map +1 -1
- package/package.json +1 -1
- package/src/ScriptPreprocessing.test.ts +19 -14
- package/src/ScriptPreprocessing.ts +95 -59
- package/src/fixtures/patch6-broken.txt +20 -0
- package/src/fixtures/patch6-fixed.txt +20 -0
- package/src/fixtures/patch7-broken.txt +12 -0
- package/src/fixtures/patch7-fixed.txt +12 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScriptPreprocessing.d.ts","sourceRoot":"","sources":["../src/ScriptPreprocessing.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ScriptPreprocessing.d.ts","sourceRoot":"","sources":["../src/ScriptPreprocessing.ts"],"names":[],"mappings":"AAkfA,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,KAAG,MAM/C,CAAA"}
|
|
@@ -57,6 +57,7 @@ const normalizePatchEscapedQuotes = (text) => text.includes("*** Begin Patch")
|
|
|
57
57
|
: text;
|
|
58
58
|
const escapeTemplateLiteralContent = (text) => {
|
|
59
59
|
const normalized = normalizePatchEscapedQuotes(text);
|
|
60
|
+
const isPatchContent = normalized.includes("*** Begin Patch");
|
|
60
61
|
if (!needsTemplateEscaping(normalized)) {
|
|
61
62
|
return normalized;
|
|
62
63
|
}
|
|
@@ -64,6 +65,12 @@ const escapeTemplateLiteralContent = (text) => {
|
|
|
64
65
|
for (let i = 0; i < normalized.length; i++) {
|
|
65
66
|
const char = normalized[i];
|
|
66
67
|
if (char === "\\") {
|
|
68
|
+
if (!isPatchContent &&
|
|
69
|
+
(normalized[i + 1] === "`" ||
|
|
70
|
+
(normalized[i + 1] === "$" && normalized[i + 2] === "{"))) {
|
|
71
|
+
out += "\\";
|
|
72
|
+
continue;
|
|
73
|
+
}
|
|
67
74
|
out += "\\\\";
|
|
68
75
|
continue;
|
|
69
76
|
}
|
|
@@ -171,54 +178,27 @@ const fixCallTemplateArgument = (script, functionName) => {
|
|
|
171
178
|
}
|
|
172
179
|
return out;
|
|
173
180
|
};
|
|
174
|
-
const
|
|
175
|
-
const out = new Set();
|
|
176
|
-
let cursor = 0;
|
|
177
|
-
while (cursor < script.length) {
|
|
178
|
-
const callStart = findNextIdentifier(script, functionName, cursor);
|
|
179
|
-
if (callStart === -1) {
|
|
180
|
-
break;
|
|
181
|
-
}
|
|
182
|
-
const openParen = skipWhitespace(script, callStart + functionName.length);
|
|
183
|
-
if (script[openParen] !== "(") {
|
|
184
|
-
cursor = callStart + functionName.length;
|
|
185
|
-
continue;
|
|
186
|
-
}
|
|
187
|
-
const argumentStart = skipWhitespace(script, openParen + 1);
|
|
188
|
-
const identifier = parseIdentifier(script, argumentStart);
|
|
189
|
-
if (identifier === undefined) {
|
|
190
|
-
cursor = openParen + 1;
|
|
191
|
-
continue;
|
|
192
|
-
}
|
|
193
|
-
const argumentEnd = skipWhitespace(script, identifier.end);
|
|
194
|
-
if (script[argumentEnd] === ")" || script[argumentEnd] === ",") {
|
|
195
|
-
out.add(identifier.name);
|
|
196
|
-
}
|
|
197
|
-
cursor = identifier.end;
|
|
198
|
-
}
|
|
199
|
-
return out;
|
|
200
|
-
};
|
|
201
|
-
const fixWriteFileContentTemplates = (script) => {
|
|
181
|
+
const fixCallObjectPropertyTemplate = (script, functionName, propertyName) => {
|
|
202
182
|
let out = script;
|
|
203
183
|
let cursor = 0;
|
|
204
184
|
while (cursor < out.length) {
|
|
205
|
-
const callStart = findNextIdentifier(out,
|
|
185
|
+
const callStart = findNextIdentifier(out, functionName, cursor);
|
|
206
186
|
if (callStart === -1) {
|
|
207
187
|
break;
|
|
208
188
|
}
|
|
209
|
-
const openParen = skipWhitespace(out, callStart +
|
|
189
|
+
const openParen = skipWhitespace(out, callStart + functionName.length);
|
|
210
190
|
if (out[openParen] !== "(") {
|
|
211
|
-
cursor = callStart +
|
|
191
|
+
cursor = callStart + functionName.length;
|
|
212
192
|
continue;
|
|
213
193
|
}
|
|
214
|
-
const
|
|
215
|
-
if (
|
|
194
|
+
const propertyKey = findNextIdentifier(out, propertyName, openParen + 1);
|
|
195
|
+
if (propertyKey === -1) {
|
|
216
196
|
cursor = openParen + 1;
|
|
217
197
|
continue;
|
|
218
198
|
}
|
|
219
|
-
const colon = skipWhitespace(out,
|
|
199
|
+
const colon = skipWhitespace(out, propertyKey + propertyName.length);
|
|
220
200
|
if (out[colon] !== ":") {
|
|
221
|
-
cursor =
|
|
201
|
+
cursor = propertyKey + propertyName.length;
|
|
222
202
|
continue;
|
|
223
203
|
}
|
|
224
204
|
const templateStart = skipWhitespace(out, colon + 1);
|
|
@@ -242,27 +222,54 @@ const fixWriteFileContentTemplates = (script) => {
|
|
|
242
222
|
}
|
|
243
223
|
return out;
|
|
244
224
|
};
|
|
245
|
-
const
|
|
225
|
+
const collectCallArgumentIdentifiers = (script, functionName) => {
|
|
226
|
+
const out = new Set();
|
|
227
|
+
let cursor = 0;
|
|
228
|
+
while (cursor < script.length) {
|
|
229
|
+
const callStart = findNextIdentifier(script, functionName, cursor);
|
|
230
|
+
if (callStart === -1) {
|
|
231
|
+
break;
|
|
232
|
+
}
|
|
233
|
+
const openParen = skipWhitespace(script, callStart + functionName.length);
|
|
234
|
+
if (script[openParen] !== "(") {
|
|
235
|
+
cursor = callStart + functionName.length;
|
|
236
|
+
continue;
|
|
237
|
+
}
|
|
238
|
+
const argumentStart = skipWhitespace(script, openParen + 1);
|
|
239
|
+
const identifier = parseIdentifier(script, argumentStart);
|
|
240
|
+
if (identifier === undefined) {
|
|
241
|
+
cursor = openParen + 1;
|
|
242
|
+
continue;
|
|
243
|
+
}
|
|
244
|
+
const argumentEnd = skipWhitespace(script, identifier.end);
|
|
245
|
+
if (script[argumentEnd] === ")" || script[argumentEnd] === ",") {
|
|
246
|
+
out.add(identifier.name);
|
|
247
|
+
}
|
|
248
|
+
cursor = identifier.end;
|
|
249
|
+
}
|
|
250
|
+
return out;
|
|
251
|
+
};
|
|
252
|
+
const collectCallObjectPropertyIdentifiers = (script, functionName, propertyName) => {
|
|
246
253
|
const out = new Set();
|
|
247
254
|
let cursor = 0;
|
|
248
255
|
while (cursor < script.length) {
|
|
249
|
-
const callStart = findNextIdentifier(script,
|
|
256
|
+
const callStart = findNextIdentifier(script, functionName, cursor);
|
|
250
257
|
if (callStart === -1) {
|
|
251
258
|
break;
|
|
252
259
|
}
|
|
253
|
-
const openParen = skipWhitespace(script, callStart +
|
|
260
|
+
const openParen = skipWhitespace(script, callStart + functionName.length);
|
|
254
261
|
if (script[openParen] !== "(") {
|
|
255
|
-
cursor = callStart +
|
|
262
|
+
cursor = callStart + functionName.length;
|
|
256
263
|
continue;
|
|
257
264
|
}
|
|
258
|
-
const
|
|
259
|
-
if (
|
|
265
|
+
const propertyKey = findNextIdentifier(script, propertyName, openParen + 1);
|
|
266
|
+
if (propertyKey === -1) {
|
|
260
267
|
cursor = openParen + 1;
|
|
261
268
|
continue;
|
|
262
269
|
}
|
|
263
|
-
const
|
|
264
|
-
if (script[
|
|
265
|
-
const valueStart = skipWhitespace(script,
|
|
270
|
+
const afterProperty = skipWhitespace(script, propertyKey + propertyName.length);
|
|
271
|
+
if (script[afterProperty] === ":") {
|
|
272
|
+
const valueStart = skipWhitespace(script, afterProperty + 1);
|
|
266
273
|
const identifier = parseIdentifier(script, valueStart);
|
|
267
274
|
if (identifier !== undefined) {
|
|
268
275
|
const valueEnd = skipWhitespace(script, identifier.end);
|
|
@@ -273,15 +280,20 @@ const collectWriteFileContentIdentifiers = (script) => {
|
|
|
273
280
|
cursor = valueStart + 1;
|
|
274
281
|
continue;
|
|
275
282
|
}
|
|
276
|
-
if (script[
|
|
277
|
-
out.add(
|
|
278
|
-
cursor =
|
|
283
|
+
if (script[afterProperty] === "}" || script[afterProperty] === ",") {
|
|
284
|
+
out.add(propertyName);
|
|
285
|
+
cursor = afterProperty + 1;
|
|
279
286
|
continue;
|
|
280
287
|
}
|
|
281
|
-
cursor =
|
|
288
|
+
cursor = afterProperty + 1;
|
|
282
289
|
}
|
|
283
290
|
return out;
|
|
284
291
|
};
|
|
292
|
+
const callObjectPropertyTargets = [
|
|
293
|
+
["writeFile", "content"],
|
|
294
|
+
["updateTask", "description"],
|
|
295
|
+
];
|
|
296
|
+
const fixTargetCallObjectPropertyTemplates = (script) => callObjectPropertyTargets.reduce((current, [functionName, propertyName]) => fixCallObjectPropertyTemplate(current, functionName, propertyName), script);
|
|
285
297
|
const fixAssignedTemplate = (script, variableName) => {
|
|
286
298
|
let out = script;
|
|
287
299
|
let cursor = 0;
|
|
@@ -337,8 +349,10 @@ const fixAssignedTemplatesForToolCalls = (script) => {
|
|
|
337
349
|
identifiers.add(identifier);
|
|
338
350
|
}
|
|
339
351
|
}
|
|
340
|
-
for (const
|
|
341
|
-
|
|
352
|
+
for (const [functionName, propertyName] of callObjectPropertyTargets) {
|
|
353
|
+
for (const identifier of collectCallObjectPropertyIdentifiers(script, functionName, propertyName)) {
|
|
354
|
+
identifiers.add(identifier);
|
|
355
|
+
}
|
|
342
356
|
}
|
|
343
357
|
if (script.includes("*** Begin Patch")) {
|
|
344
358
|
identifiers.add("patch");
|
|
@@ -349,5 +363,5 @@ const fixAssignedTemplatesForToolCalls = (script) => {
|
|
|
349
363
|
}
|
|
350
364
|
return out;
|
|
351
365
|
};
|
|
352
|
-
export const preprocessScript = (script) => fixAssignedTemplatesForToolCalls(["applyPatch", "taskComplete"].reduce((current, functionName) => fixCallTemplateArgument(current, functionName),
|
|
366
|
+
export const preprocessScript = (script) => fixAssignedTemplatesForToolCalls(["applyPatch", "taskComplete"].reduce((current, functionName) => fixCallTemplateArgument(current, functionName), fixTargetCallObjectPropertyTemplates(script)));
|
|
353
367
|
//# sourceMappingURL=ScriptPreprocessing.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScriptPreprocessing.js","sourceRoot":"","sources":["../src/ScriptPreprocessing.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ScriptPreprocessing.js","sourceRoot":"","sources":["../src/ScriptPreprocessing.ts"],"names":[],"mappings":"AAAA,MAAM,gBAAgB,GAAG,CAAC,IAAwB,EAAW,EAAE,CAC7D,IAAI,KAAK,SAAS,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAElD,MAAM,qBAAqB,GAAG,CAAC,IAAwB,EAAW,EAAE,CAClE,IAAI,KAAK,SAAS,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAE/C,MAAM,qBAAqB,GAAG,CAC5B,IAAY,EACZ,KAAa,EACb,MAAc,EACL,EAAE,CACX,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAA;AAE/E,MAAM,kBAAkB,GAAG,CACzB,IAAY,EACZ,UAAkB,EAClB,IAAY,EACJ,EAAE;IACV,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;IAC1C,OAAO,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;QACpB,IAAI,qBAAqB,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1D,OAAO,KAAK,CAAA;QACd,CAAC;QACD,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;IAC7D,CAAC;IACD,OAAO,CAAC,CAAC,CAAA;AACX,CAAC,CAAA;AAED,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,KAAa,EAAU,EAAE;IAC7D,IAAI,CAAC,GAAG,KAAK,CAAA;IACb,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,EAAE,CAAC;QAC9C,CAAC,EAAE,CAAA;IACL,CAAC;IACD,OAAO,CAAC,CAAA;AACV,CAAC,CAAA;AAED,MAAM,eAAe,GAAG,CACtB,IAAY,EACZ,KAAa,EACgD,EAAE;IAC/D,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QACxC,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,IAAI,GAAG,GAAG,KAAK,GAAG,CAAC,CAAA;IACnB,OAAO,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QACxD,GAAG,EAAE,CAAA;IACP,CAAC;IACD,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC;QAC5B,GAAG;KACJ,CAAA;AACH,CAAC,CAAA;AAED,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,KAAa,EAAW,EAAE;IACzD,IAAI,UAAU,GAAG,CAAC,CAAA;IAClB,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,CAAA;IACjB,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAClC,UAAU,EAAE,CAAA;QACZ,CAAC,EAAE,CAAA;IACL,CAAC;IACD,OAAO,UAAU,GAAG,CAAC,KAAK,CAAC,CAAA;AAC7B,CAAC,CAAA;AAED,MAAM,qBAAqB,GAAG,CAAC,IAAY,EAAW,EAAE;IACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAE,CAAA;QACrB,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;YACxC,OAAO,IAAI,CAAA;QACb,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;YAC/D,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED,MAAM,2BAA2B,GAAG,CAAC,IAAY,EAAU,EAAE,CAC3D,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IAC9B,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,2BAA2B,EAAE,MAAM,CAAC;IACnD,CAAC,CAAC,IAAI,CAAA;AAEV,MAAM,4BAA4B,GAAG,CAAC,IAAY,EAAU,EAAE;IAC5D,MAAM,UAAU,GAAG,2BAA2B,CAAC,IAAI,CAAC,CAAA;IACpD,MAAM,cAAc,GAAG,UAAU,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAA;IAC7D,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,EAAE,CAAC;QACvC,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,IAAI,GAAG,GAAG,EAAE,CAAA;IACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAE,CAAA;QAC3B,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,IACE,CAAC,cAAc;gBACf,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG;oBACxB,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,EAC3D,CAAC;gBACD,GAAG,IAAI,IAAI,CAAA;gBACX,SAAQ;YACV,CAAC;YACD,GAAG,IAAI,MAAM,CAAA;YACb,SAAQ;QACV,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC;YAC9C,GAAG,IAAI,KAAK,CAAA;YACZ,SAAQ;QACV,CAAC;QACD,IACE,IAAI,KAAK,GAAG;YACZ,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG;YACzB,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,EACzB,CAAC;YACD,GAAG,IAAI,KAAK,CAAA;YACZ,SAAQ;QACV,CAAC;QACD,GAAG,IAAI,IAAI,CAAA;IACb,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED,MAAM,eAAe,GAAG,CACtB,IAAY,EACZ,KAAa,EACb,YAAmD,EAC3C,EAAE;IACV,IAAI,GAAG,GAAG,CAAC,CAAC,CAAA;IACZ,KAAK,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;YAC1C,SAAQ;QACV,CAAC;QACD,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;QACxC,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YAC7B,GAAG,GAAG,CAAC,CAAA;QACT,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED,MAAM,4BAA4B,GAAG,CAAC,IAAY,EAAE,KAAa,EAAU,EAAE;IAC3E,IAAI,CAAC,GAAG,KAAK,CAAA;IACb,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAE,CAAA;QACrB,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,OAAO,CAAC,CAAA;QACV,CAAC;QACD,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YAClC,OAAO,CAAC,CAAC,CAAA;QACX,CAAC;QACD,CAAC,EAAE,CAAA;IACL,CAAC;IACD,OAAO,CAAC,CAAC,CAAA;AACX,CAAC,CAAA;AAED,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAE,SAAiB,EAAU,EAAE;IACnE,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,KAAK,IAAI,CAAC,GAAG,SAAS,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACjD,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAE,CAAA;QACrB,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,KAAK,EAAE,CAAA;YACP,SAAQ;QACV,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,KAAK,EAAE,CAAA;YACP,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBAChB,OAAO,CAAC,CAAA;YACV,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC,CAAA;AACX,CAAC,CAAA;AAED,MAAM,mBAAmB,GAAG,CAC1B,IAAY,EACZ,aAAqB,EACrB,SAAiB,EACT,EAAE;IACV,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;IACpD,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,CAAC,CAAA;IACX,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC;QACpD,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;YAC3C,OAAO,CAAC,CAAA;QACV,CAAC;IACH,CAAC;IAED,OAAO,CAAC,CAAC,CAAA;AACX,CAAC,CAAA;AAED,MAAM,uBAAuB,GAAG,CAC9B,MAAc,EACd,YAAoB,EACZ,EAAE;IACV,IAAI,GAAG,GAAG,MAAM,CAAA;IAChB,IAAI,MAAM,GAAG,CAAC,CAAA;IAEd,OAAO,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,kBAAkB,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,CAAC,CAAA;QAC/D,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;YACrB,MAAK;QACP,CAAC;QAED,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,EAAE,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;QACtE,IAAI,GAAG,CAAC,SAAS,CAAC,KAAK,GAAG,EAAE,CAAC;YAC3B,MAAM,GAAG,SAAS,GAAG,YAAY,CAAC,MAAM,CAAA;YACxC,SAAQ;QACV,CAAC;QAED,MAAM,aAAa,GAAG,cAAc,CAAC,GAAG,EAAE,SAAS,GAAG,CAAC,CAAC,CAAA;QACxD,IAAI,GAAG,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE,CAAC;YAC/B,MAAM,GAAG,SAAS,GAAG,CAAC,CAAA;YACtB,SAAQ;QACV,CAAC;QAED,MAAM,WAAW,GAAG,mBAAmB,CAAC,GAAG,EAAE,aAAa,EAAE,SAAS,CAAC,CAAA;QACtE,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE,CAAC;YACvB,MAAM,GAAG,aAAa,GAAG,CAAC,CAAA;YAC1B,SAAQ;QACV,CAAC;QAED,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC,EAAE,WAAW,CAAC,CAAA;QAC1D,MAAM,OAAO,GAAG,4BAA4B,CAAC,QAAQ,CAAC,CAAA;QACtD,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;YACzB,GAAG,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,GAAG,CAAC,CAAC,GAAG,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAA;YAC7E,MAAM,GAAG,WAAW,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YAC7D,SAAQ;QACV,CAAC;QAED,MAAM,GAAG,WAAW,GAAG,CAAC,CAAA;IAC1B,CAAC;IAED,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED,MAAM,6BAA6B,GAAG,CACpC,MAAc,EACd,YAAoB,EACpB,YAAoB,EACZ,EAAE;IACV,IAAI,GAAG,GAAG,MAAM,CAAA;IAChB,IAAI,MAAM,GAAG,CAAC,CAAA;IAEd,OAAO,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,kBAAkB,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,CAAC,CAAA;QAC/D,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;YACrB,MAAK;QACP,CAAC;QAED,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,EAAE,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;QACtE,IAAI,GAAG,CAAC,SAAS,CAAC,KAAK,GAAG,EAAE,CAAC;YAC3B,MAAM,GAAG,SAAS,GAAG,YAAY,CAAC,MAAM,CAAA;YACxC,SAAQ;QACV,CAAC;QAED,MAAM,WAAW,GAAG,kBAAkB,CAAC,GAAG,EAAE,YAAY,EAAE,SAAS,GAAG,CAAC,CAAC,CAAA;QACxE,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE,CAAC;YACvB,MAAM,GAAG,SAAS,GAAG,CAAC,CAAA;YACtB,SAAQ;QACV,CAAC;QAED,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,EAAE,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;QACpE,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;YACvB,MAAM,GAAG,WAAW,GAAG,YAAY,CAAC,MAAM,CAAA;YAC1C,SAAQ;QACV,CAAC;QAED,MAAM,aAAa,GAAG,cAAc,CAAC,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;QACpD,IAAI,GAAG,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE,CAAC;YAC/B,MAAM,GAAG,aAAa,GAAG,CAAC,CAAA;YAC1B,SAAQ;QACV,CAAC;QAED,MAAM,WAAW,GAAG,eAAe,CACjC,GAAG,EACH,aAAa,EACb,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,CACvC,CAAA;QACD,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE,CAAC;YACvB,MAAM,GAAG,aAAa,GAAG,CAAC,CAAA;YAC1B,SAAQ;QACV,CAAC;QAED,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC,EAAE,WAAW,CAAC,CAAA;QAC1D,MAAM,OAAO,GAAG,4BAA4B,CAAC,QAAQ,CAAC,CAAA;QACtD,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;YACzB,GAAG,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,GAAG,CAAC,CAAC,GAAG,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAA;YAC7E,MAAM,GAAG,WAAW,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YAC7D,SAAQ;QACV,CAAC;QAED,MAAM,GAAG,WAAW,GAAG,CAAC,CAAA;IAC1B,CAAC;IAED,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED,MAAM,8BAA8B,GAAG,CACrC,MAAc,EACd,YAAoB,EACC,EAAE;IACvB,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAA;IAC7B,IAAI,MAAM,GAAG,CAAC,CAAA;IAEd,OAAO,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,CAAA;QAClE,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;YACrB,MAAK;QACP,CAAC;QAED,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,EAAE,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;QACzE,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,GAAG,EAAE,CAAC;YAC9B,MAAM,GAAG,SAAS,GAAG,YAAY,CAAC,MAAM,CAAA;YACxC,SAAQ;QACV,CAAC;QAED,MAAM,aAAa,GAAG,cAAc,CAAC,MAAM,EAAE,SAAS,GAAG,CAAC,CAAC,CAAA;QAC3D,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;QACzD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,GAAG,SAAS,GAAG,CAAC,CAAA;YACtB,SAAQ;QACV,CAAC;QAED,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,CAAA;QAC1D,IAAI,MAAM,CAAC,WAAW,CAAC,KAAK,GAAG,IAAI,MAAM,CAAC,WAAW,CAAC,KAAK,GAAG,EAAE,CAAC;YAC/D,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QAC1B,CAAC;QAED,MAAM,GAAG,UAAU,CAAC,GAAG,CAAA;IACzB,CAAC;IAED,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED,MAAM,oCAAoC,GAAG,CAC3C,MAAc,EACd,YAAoB,EACpB,YAAoB,EACC,EAAE;IACvB,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAA;IAC7B,IAAI,MAAM,GAAG,CAAC,CAAA;IAEd,OAAO,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,CAAA;QAClE,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;YACrB,MAAK;QACP,CAAC;QAED,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,EAAE,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;QACzE,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,GAAG,EAAE,CAAC;YAC9B,MAAM,GAAG,SAAS,GAAG,YAAY,CAAC,MAAM,CAAA;YACxC,SAAQ;QACV,CAAC;QAED,MAAM,WAAW,GAAG,kBAAkB,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,GAAG,CAAC,CAAC,CAAA;QAC3E,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE,CAAC;YACvB,MAAM,GAAG,SAAS,GAAG,CAAC,CAAA;YACtB,SAAQ;QACV,CAAC;QAED,MAAM,aAAa,GAAG,cAAc,CAClC,MAAM,EACN,WAAW,GAAG,YAAY,CAAC,MAAM,CAClC,CAAA;QACD,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE,CAAC;YAClC,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,CAAC,CAAC,CAAA;YAC5D,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;YACtD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC7B,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,CAAA;gBACvD,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC;oBACzD,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;gBAC1B,CAAC;YACH,CAAC;YACD,MAAM,GAAG,UAAU,GAAG,CAAC,CAAA;YACvB,SAAQ;QACV,CAAC;QAED,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE,CAAC;YACnE,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;YACrB,MAAM,GAAG,aAAa,GAAG,CAAC,CAAA;YAC1B,SAAQ;QACV,CAAC;QAED,MAAM,GAAG,aAAa,GAAG,CAAC,CAAA;IAC5B,CAAC;IAED,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED,MAAM,yBAAyB,GAAG;IAChC,CAAC,WAAW,EAAE,SAAS,CAAC;IACxB,CAAC,YAAY,EAAE,aAAa,CAAC;CACrB,CAAA;AAEV,MAAM,oCAAoC,GAAG,CAAC,MAAc,EAAU,EAAE,CACtE,yBAAyB,CAAC,MAAM,CAC9B,CAAC,OAAO,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC,EAAE,EAAE,CACxC,6BAA6B,CAAC,OAAO,EAAE,YAAY,EAAE,YAAY,CAAC,EACpE,MAAM,CACP,CAAA;AAEH,MAAM,mBAAmB,GAAG,CAAC,MAAc,EAAE,YAAoB,EAAU,EAAE;IAC3E,IAAI,GAAG,GAAG,MAAM,CAAA;IAChB,IAAI,MAAM,GAAG,CAAC,CAAA;IAEd,OAAO,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;QAC3B,MAAM,aAAa,GAAG,kBAAkB,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,CAAC,CAAA;QACnE,IAAI,aAAa,KAAK,CAAC,CAAC,EAAE,CAAC;YACzB,MAAK;QACP,CAAC;QAED,IAAI,eAAe,GAAG,cAAc,CAClC,GAAG,EACH,aAAa,GAAG,YAAY,CAAC,MAAM,CACpC,CAAA;QACD,IAAI,GAAG,CAAC,eAAe,CAAC,KAAK,GAAG,EAAE,CAAC;YACjC,eAAe,GAAG,4BAA4B,CAAC,GAAG,EAAE,eAAe,GAAG,CAAC,CAAC,CAAA;YACxE,IAAI,eAAe,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC3B,MAAM,GAAG,aAAa,GAAG,YAAY,CAAC,MAAM,CAAA;gBAC5C,SAAQ;YACV,CAAC;QACH,CAAC;QAED,IACE,GAAG,CAAC,eAAe,CAAC,KAAK,GAAG;YAC5B,GAAG,CAAC,eAAe,GAAG,CAAC,CAAC,KAAK,GAAG;YAChC,GAAG,CAAC,eAAe,GAAG,CAAC,CAAC,KAAK,GAAG,EAChC,CAAC;YACD,MAAM,GAAG,aAAa,GAAG,YAAY,CAAC,MAAM,CAAA;YAC5C,SAAQ;QACV,CAAC;QAED,MAAM,aAAa,GAAG,cAAc,CAAC,GAAG,EAAE,eAAe,GAAG,CAAC,CAAC,CAAA;QAC9D,IAAI,GAAG,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE,CAAC;YAC/B,MAAM,GAAG,aAAa,GAAG,CAAC,CAAA;YAC1B,SAAQ;QACV,CAAC;QAED,MAAM,WAAW,GAAG,eAAe,CACjC,GAAG,EACH,aAAa,EACb,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,KAAK,SAAS;YAClB,IAAI,KAAK,GAAG;YACZ,IAAI,KAAK,GAAG;YACZ,IAAI,KAAK,GAAG;YACZ,IAAI,KAAK,GAAG;YACZ,IAAI,KAAK,GAAG,CACf,CAAA;QACD,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE,CAAC;YACvB,MAAM,GAAG,aAAa,GAAG,CAAC,CAAA;YAC1B,SAAQ;QACV,CAAC;QAED,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC,EAAE,WAAW,CAAC,CAAA;QAC1D,MAAM,OAAO,GAAG,4BAA4B,CAAC,QAAQ,CAAC,CAAA;QACtD,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;YACzB,GAAG,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,GAAG,CAAC,CAAC,GAAG,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAA;YAC7E,MAAM,GAAG,WAAW,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YAC7D,SAAQ;QACV,CAAC;QAED,MAAM,GAAG,WAAW,GAAG,CAAC,CAAA;IAC1B,CAAC;IAED,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED,MAAM,gCAAgC,GAAG,CAAC,MAAc,EAAU,EAAE;IAClE,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAA;IACrC,KAAK,MAAM,YAAY,IAAI,CAAC,YAAY,EAAE,cAAc,CAAU,EAAE,CAAC;QACnE,KAAK,MAAM,UAAU,IAAI,8BAA8B,CACrD,MAAM,EACN,YAAY,CACb,EAAE,CAAC;YACF,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QAC7B,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,YAAY,EAAE,YAAY,CAAC,IAAI,yBAAyB,EAAE,CAAC;QACrE,KAAK,MAAM,UAAU,IAAI,oCAAoC,CAC3D,MAAM,EACN,YAAY,EACZ,YAAY,CACb,EAAE,CAAC;YACF,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QAC7B,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACvC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAC1B,CAAC;IAED,IAAI,GAAG,GAAG,MAAM,CAAA;IAChB,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,GAAG,GAAG,mBAAmB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;IAC5C,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAAU,EAAE,CACzD,gCAAgC,CAC9B,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC,MAAM,CACnC,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,CAAC,uBAAuB,CAAC,OAAO,EAAE,YAAY,CAAC,EACzE,oCAAoC,CAAC,MAAM,CAAC,CAC7C,CACF,CAAA"}
|
|
@@ -99,7 +99,15 @@ describe("preprocessScript", () => {
|
|
|
99
99
|
const output = preprocessScript(input);
|
|
100
100
|
assert.strictEqual(output.includes(`const body = ${wrapTemplate(`const value = ${escaped}next${escaped}`)};`), true);
|
|
101
101
|
});
|
|
102
|
-
it.each([
|
|
102
|
+
it.each([
|
|
103
|
+
"patch",
|
|
104
|
+
"patch2",
|
|
105
|
+
"patch3",
|
|
106
|
+
"patch4",
|
|
107
|
+
"patch5",
|
|
108
|
+
"patch6",
|
|
109
|
+
"patch7",
|
|
110
|
+
])("fixes broken %s", (fixture) => {
|
|
103
111
|
const content = readFileSync(join(__dirname, "fixtures", `${fixture}-broken.txt`), "utf-8");
|
|
104
112
|
const fixed = readFileSync(join(__dirname, "fixtures", `${fixture}-fixed.txt`), "utf-8");
|
|
105
113
|
assert.equal(preprocessScript(content), fixed);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScriptPreprocessing.test.js","sourceRoot":"","sources":["../src/ScriptPreprocessing.test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ScriptPreprocessing.test.js","sourceRoot":"","sources":["../src/ScriptPreprocessing.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -157,18 +157,23 @@ describe("preprocessScript", () => {
|
|
|
157
157
|
)
|
|
158
158
|
})
|
|
159
159
|
|
|
160
|
-
it.each([
|
|
161
|
-
"
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
)
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
160
|
+
it.each([
|
|
161
|
+
"patch",
|
|
162
|
+
"patch2",
|
|
163
|
+
"patch3",
|
|
164
|
+
"patch4",
|
|
165
|
+
"patch5",
|
|
166
|
+
"patch6",
|
|
167
|
+
"patch7",
|
|
168
|
+
])("fixes broken %s", (fixture) => {
|
|
169
|
+
const content = readFileSync(
|
|
170
|
+
join(__dirname, "fixtures", `${fixture}-broken.txt`),
|
|
171
|
+
"utf-8",
|
|
172
|
+
)
|
|
173
|
+
const fixed = readFileSync(
|
|
174
|
+
join(__dirname, "fixtures", `${fixture}-fixed.txt`),
|
|
175
|
+
"utf-8",
|
|
176
|
+
)
|
|
177
|
+
assert.equal(preprocessScript(content), fixed)
|
|
178
|
+
})
|
|
174
179
|
})
|
|
@@ -81,6 +81,7 @@ const normalizePatchEscapedQuotes = (text: string): string =>
|
|
|
81
81
|
|
|
82
82
|
const escapeTemplateLiteralContent = (text: string): string => {
|
|
83
83
|
const normalized = normalizePatchEscapedQuotes(text)
|
|
84
|
+
const isPatchContent = normalized.includes("*** Begin Patch")
|
|
84
85
|
if (!needsTemplateEscaping(normalized)) {
|
|
85
86
|
return normalized
|
|
86
87
|
}
|
|
@@ -89,6 +90,14 @@ const escapeTemplateLiteralContent = (text: string): string => {
|
|
|
89
90
|
for (let i = 0; i < normalized.length; i++) {
|
|
90
91
|
const char = normalized[i]!
|
|
91
92
|
if (char === "\\") {
|
|
93
|
+
if (
|
|
94
|
+
!isPatchContent &&
|
|
95
|
+
(normalized[i + 1] === "`" ||
|
|
96
|
+
(normalized[i + 1] === "$" && normalized[i + 2] === "{"))
|
|
97
|
+
) {
|
|
98
|
+
out += "\\"
|
|
99
|
+
continue
|
|
100
|
+
}
|
|
92
101
|
out += "\\\\"
|
|
93
102
|
continue
|
|
94
103
|
}
|
|
@@ -224,68 +233,35 @@ const fixCallTemplateArgument = (
|
|
|
224
233
|
return out
|
|
225
234
|
}
|
|
226
235
|
|
|
227
|
-
const
|
|
236
|
+
const fixCallObjectPropertyTemplate = (
|
|
228
237
|
script: string,
|
|
229
238
|
functionName: string,
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
let cursor = 0
|
|
233
|
-
|
|
234
|
-
while (cursor < script.length) {
|
|
235
|
-
const callStart = findNextIdentifier(script, functionName, cursor)
|
|
236
|
-
if (callStart === -1) {
|
|
237
|
-
break
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
const openParen = skipWhitespace(script, callStart + functionName.length)
|
|
241
|
-
if (script[openParen] !== "(") {
|
|
242
|
-
cursor = callStart + functionName.length
|
|
243
|
-
continue
|
|
244
|
-
}
|
|
245
|
-
|
|
246
|
-
const argumentStart = skipWhitespace(script, openParen + 1)
|
|
247
|
-
const identifier = parseIdentifier(script, argumentStart)
|
|
248
|
-
if (identifier === undefined) {
|
|
249
|
-
cursor = openParen + 1
|
|
250
|
-
continue
|
|
251
|
-
}
|
|
252
|
-
|
|
253
|
-
const argumentEnd = skipWhitespace(script, identifier.end)
|
|
254
|
-
if (script[argumentEnd] === ")" || script[argumentEnd] === ",") {
|
|
255
|
-
out.add(identifier.name)
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
cursor = identifier.end
|
|
259
|
-
}
|
|
260
|
-
|
|
261
|
-
return out
|
|
262
|
-
}
|
|
263
|
-
|
|
264
|
-
const fixWriteFileContentTemplates = (script: string): string => {
|
|
239
|
+
propertyName: string,
|
|
240
|
+
): string => {
|
|
265
241
|
let out = script
|
|
266
242
|
let cursor = 0
|
|
267
243
|
|
|
268
244
|
while (cursor < out.length) {
|
|
269
|
-
const callStart = findNextIdentifier(out,
|
|
245
|
+
const callStart = findNextIdentifier(out, functionName, cursor)
|
|
270
246
|
if (callStart === -1) {
|
|
271
247
|
break
|
|
272
248
|
}
|
|
273
249
|
|
|
274
|
-
const openParen = skipWhitespace(out, callStart +
|
|
250
|
+
const openParen = skipWhitespace(out, callStart + functionName.length)
|
|
275
251
|
if (out[openParen] !== "(") {
|
|
276
|
-
cursor = callStart +
|
|
252
|
+
cursor = callStart + functionName.length
|
|
277
253
|
continue
|
|
278
254
|
}
|
|
279
255
|
|
|
280
|
-
const
|
|
281
|
-
if (
|
|
256
|
+
const propertyKey = findNextIdentifier(out, propertyName, openParen + 1)
|
|
257
|
+
if (propertyKey === -1) {
|
|
282
258
|
cursor = openParen + 1
|
|
283
259
|
continue
|
|
284
260
|
}
|
|
285
261
|
|
|
286
|
-
const colon = skipWhitespace(out,
|
|
262
|
+
const colon = skipWhitespace(out, propertyKey + propertyName.length)
|
|
287
263
|
if (out[colon] !== ":") {
|
|
288
|
-
cursor =
|
|
264
|
+
cursor = propertyKey + propertyName.length
|
|
289
265
|
continue
|
|
290
266
|
}
|
|
291
267
|
|
|
@@ -319,33 +295,75 @@ const fixWriteFileContentTemplates = (script: string): string => {
|
|
|
319
295
|
return out
|
|
320
296
|
}
|
|
321
297
|
|
|
322
|
-
const
|
|
298
|
+
const collectCallArgumentIdentifiers = (
|
|
299
|
+
script: string,
|
|
300
|
+
functionName: string,
|
|
301
|
+
): ReadonlySet<string> => {
|
|
302
|
+
const out = new Set<string>()
|
|
303
|
+
let cursor = 0
|
|
304
|
+
|
|
305
|
+
while (cursor < script.length) {
|
|
306
|
+
const callStart = findNextIdentifier(script, functionName, cursor)
|
|
307
|
+
if (callStart === -1) {
|
|
308
|
+
break
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
const openParen = skipWhitespace(script, callStart + functionName.length)
|
|
312
|
+
if (script[openParen] !== "(") {
|
|
313
|
+
cursor = callStart + functionName.length
|
|
314
|
+
continue
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
const argumentStart = skipWhitespace(script, openParen + 1)
|
|
318
|
+
const identifier = parseIdentifier(script, argumentStart)
|
|
319
|
+
if (identifier === undefined) {
|
|
320
|
+
cursor = openParen + 1
|
|
321
|
+
continue
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
const argumentEnd = skipWhitespace(script, identifier.end)
|
|
325
|
+
if (script[argumentEnd] === ")" || script[argumentEnd] === ",") {
|
|
326
|
+
out.add(identifier.name)
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
cursor = identifier.end
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
return out
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
const collectCallObjectPropertyIdentifiers = (
|
|
323
336
|
script: string,
|
|
337
|
+
functionName: string,
|
|
338
|
+
propertyName: string,
|
|
324
339
|
): ReadonlySet<string> => {
|
|
325
340
|
const out = new Set<string>()
|
|
326
341
|
let cursor = 0
|
|
327
342
|
|
|
328
343
|
while (cursor < script.length) {
|
|
329
|
-
const callStart = findNextIdentifier(script,
|
|
344
|
+
const callStart = findNextIdentifier(script, functionName, cursor)
|
|
330
345
|
if (callStart === -1) {
|
|
331
346
|
break
|
|
332
347
|
}
|
|
333
348
|
|
|
334
|
-
const openParen = skipWhitespace(script, callStart +
|
|
349
|
+
const openParen = skipWhitespace(script, callStart + functionName.length)
|
|
335
350
|
if (script[openParen] !== "(") {
|
|
336
|
-
cursor = callStart +
|
|
351
|
+
cursor = callStart + functionName.length
|
|
337
352
|
continue
|
|
338
353
|
}
|
|
339
354
|
|
|
340
|
-
const
|
|
341
|
-
if (
|
|
355
|
+
const propertyKey = findNextIdentifier(script, propertyName, openParen + 1)
|
|
356
|
+
if (propertyKey === -1) {
|
|
342
357
|
cursor = openParen + 1
|
|
343
358
|
continue
|
|
344
359
|
}
|
|
345
360
|
|
|
346
|
-
const
|
|
347
|
-
|
|
348
|
-
|
|
361
|
+
const afterProperty = skipWhitespace(
|
|
362
|
+
script,
|
|
363
|
+
propertyKey + propertyName.length,
|
|
364
|
+
)
|
|
365
|
+
if (script[afterProperty] === ":") {
|
|
366
|
+
const valueStart = skipWhitespace(script, afterProperty + 1)
|
|
349
367
|
const identifier = parseIdentifier(script, valueStart)
|
|
350
368
|
if (identifier !== undefined) {
|
|
351
369
|
const valueEnd = skipWhitespace(script, identifier.end)
|
|
@@ -357,18 +375,30 @@ const collectWriteFileContentIdentifiers = (
|
|
|
357
375
|
continue
|
|
358
376
|
}
|
|
359
377
|
|
|
360
|
-
if (script[
|
|
361
|
-
out.add(
|
|
362
|
-
cursor =
|
|
378
|
+
if (script[afterProperty] === "}" || script[afterProperty] === ",") {
|
|
379
|
+
out.add(propertyName)
|
|
380
|
+
cursor = afterProperty + 1
|
|
363
381
|
continue
|
|
364
382
|
}
|
|
365
383
|
|
|
366
|
-
cursor =
|
|
384
|
+
cursor = afterProperty + 1
|
|
367
385
|
}
|
|
368
386
|
|
|
369
387
|
return out
|
|
370
388
|
}
|
|
371
389
|
|
|
390
|
+
const callObjectPropertyTargets = [
|
|
391
|
+
["writeFile", "content"],
|
|
392
|
+
["updateTask", "description"],
|
|
393
|
+
] as const
|
|
394
|
+
|
|
395
|
+
const fixTargetCallObjectPropertyTemplates = (script: string): string =>
|
|
396
|
+
callObjectPropertyTargets.reduce(
|
|
397
|
+
(current, [functionName, propertyName]) =>
|
|
398
|
+
fixCallObjectPropertyTemplate(current, functionName, propertyName),
|
|
399
|
+
script,
|
|
400
|
+
)
|
|
401
|
+
|
|
372
402
|
const fixAssignedTemplate = (script: string, variableName: string): string => {
|
|
373
403
|
let out = script
|
|
374
404
|
let cursor = 0
|
|
@@ -446,8 +476,14 @@ const fixAssignedTemplatesForToolCalls = (script: string): string => {
|
|
|
446
476
|
identifiers.add(identifier)
|
|
447
477
|
}
|
|
448
478
|
}
|
|
449
|
-
for (const
|
|
450
|
-
|
|
479
|
+
for (const [functionName, propertyName] of callObjectPropertyTargets) {
|
|
480
|
+
for (const identifier of collectCallObjectPropertyIdentifiers(
|
|
481
|
+
script,
|
|
482
|
+
functionName,
|
|
483
|
+
propertyName,
|
|
484
|
+
)) {
|
|
485
|
+
identifiers.add(identifier)
|
|
486
|
+
}
|
|
451
487
|
}
|
|
452
488
|
if (script.includes("*** Begin Patch")) {
|
|
453
489
|
identifiers.add("patch")
|
|
@@ -464,6 +500,6 @@ export const preprocessScript = (script: string): string =>
|
|
|
464
500
|
fixAssignedTemplatesForToolCalls(
|
|
465
501
|
["applyPatch", "taskComplete"].reduce(
|
|
466
502
|
(current, functionName) => fixCallTemplateArgument(current, functionName),
|
|
467
|
-
|
|
503
|
+
fixTargetCallObjectPropertyTemplates(script),
|
|
468
504
|
),
|
|
469
505
|
)
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
const description = `Implemented in PR #1805 (branch: lalph/EFF-736, target: main).
|
|
2
|
+
|
|
3
|
+
Key discoveries for future work:
|
|
4
|
+
|
|
5
|
+
* Root cause in \
|
|
6
|
+
\`packages/effect/src/internal/effect.ts\` (`cachedInvalidateWithTTL`): expiry was computed from start time (`now + ttlMillis` before running `self`), so long-running effects could expire before producing a value.
|
|
7
|
+
* Cache behavior reference: \
|
|
8
|
+
\`packages/effect/src/Cache.ts\` computes expiry from completion (`onExit`); `Effect.cachedWithTTL` should match this model.
|
|
9
|
+
* Regression coverage is in \
|
|
10
|
+
\`packages/effect/test/Effect.test.ts\`: `cachedWithTTL starts ttl from value creation` uses `TestClock` with 2s runtime and 1s TTL; immediate post-completion call must reuse cached value.
|
|
11
|
+
* PR review follow-up: in `cachedInvalidateWithTTL`, capture `const clock = fiber.getRef(ClockRef)` once and reuse it for both `now` and `expiresAt` to avoid duplicate `getRef` calls.
|
|
12
|
+
|
|
13
|
+
Validation run:
|
|
14
|
+
|
|
15
|
+
* pnpm lint-fix
|
|
16
|
+
* pnpm test packages/effect/test/Effect.test.ts
|
|
17
|
+
* pnpm check:tsgo
|
|
18
|
+
* pnpm docgen`;
|
|
19
|
+
await updateTask({ taskId: 'EFF-736', state: 'in-review', description });
|
|
20
|
+
console.log('task updated');
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
const description = `Implemented in PR #1805 (branch: lalph/EFF-736, target: main).
|
|
2
|
+
|
|
3
|
+
Key discoveries for future work:
|
|
4
|
+
|
|
5
|
+
* Root cause in \\
|
|
6
|
+
\`packages/effect/src/internal/effect.ts\` (\`cachedInvalidateWithTTL\`): expiry was computed from start time (\`now + ttlMillis\` before running \`self\`), so long-running effects could expire before producing a value.
|
|
7
|
+
* Cache behavior reference: \\
|
|
8
|
+
\`packages/effect/src/Cache.ts\` computes expiry from completion (\`onExit\`); \`Effect.cachedWithTTL\` should match this model.
|
|
9
|
+
* Regression coverage is in \\
|
|
10
|
+
\`packages/effect/test/Effect.test.ts\`: \`cachedWithTTL starts ttl from value creation\` uses \`TestClock\` with 2s runtime and 1s TTL; immediate post-completion call must reuse cached value.
|
|
11
|
+
* PR review follow-up: in \`cachedInvalidateWithTTL\`, capture \`const clock = fiber.getRef(ClockRef)\` once and reuse it for both \`now\` and \`expiresAt\` to avoid duplicate \`getRef\` calls.
|
|
12
|
+
|
|
13
|
+
Validation run:
|
|
14
|
+
|
|
15
|
+
* pnpm lint-fix
|
|
16
|
+
* pnpm test packages/effect/test/Effect.test.ts
|
|
17
|
+
* pnpm check:tsgo
|
|
18
|
+
* pnpm docgen`;
|
|
19
|
+
await updateTask({ taskId: 'EFF-736', state: 'in-review', description });
|
|
20
|
+
console.log('task updated');
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
await updateTask({
|
|
2
|
+
taskId:'EFF-736',
|
|
3
|
+
state:'in-review',
|
|
4
|
+
description:`Implemented in PR #1805.
|
|
5
|
+
|
|
6
|
+
Key discoveries for future work:
|
|
7
|
+
- Root cause was in packages/effect/src/internal/effect.ts (cachedInvalidateWithTTL): expiry used a timestamp captured before running the effect (`now + ttlMillis`), so long-running effects could expire immediately after completion.
|
|
8
|
+
- Cache module behavior in packages/effect/src/Cache.ts already bases TTL from completion time (expiry set in onExit using current clock), and cachedWithTTL should match this.
|
|
9
|
+
- Regression test added in packages/effect/test/Effect.test.ts (`cachedWithTTL / starts ttl from value creation`) using TestClock: effect runtime (2s) > TTL (1s), verifies second call immediately after first completion reuses cached value.
|
|
10
|
+
- Validation commands that passed: pnpm lint-fix, pnpm test packages/effect/test/Effect.test.ts, pnpm check:tsgo, pnpm docgen.`
|
|
11
|
+
});
|
|
12
|
+
console.log('task updated');
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
await updateTask({
|
|
2
|
+
taskId:'EFF-736',
|
|
3
|
+
state:'in-review',
|
|
4
|
+
description:`Implemented in PR #1805.
|
|
5
|
+
|
|
6
|
+
Key discoveries for future work:
|
|
7
|
+
- Root cause was in packages/effect/src/internal/effect.ts (cachedInvalidateWithTTL): expiry used a timestamp captured before running the effect (\`now + ttlMillis\`), so long-running effects could expire immediately after completion.
|
|
8
|
+
- Cache module behavior in packages/effect/src/Cache.ts already bases TTL from completion time (expiry set in onExit using current clock), and cachedWithTTL should match this.
|
|
9
|
+
- Regression test added in packages/effect/test/Effect.test.ts (\`cachedWithTTL / starts ttl from value creation\`) using TestClock: effect runtime (2s) > TTL (1s), verifies second call immediately after first completion reuses cached value.
|
|
10
|
+
- Validation commands that passed: pnpm lint-fix, pnpm test packages/effect/test/Effect.test.ts, pnpm check:tsgo, pnpm docgen.`
|
|
11
|
+
});
|
|
12
|
+
console.log('task updated');
|