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.
@@ -1 +1 @@
1
- {"version":3,"file":"ScriptPreprocessing.d.ts","sourceRoot":"","sources":["../src/ScriptPreprocessing.ts"],"names":[],"mappings":"AA8cA,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,KAAG,MAM/C,CAAA"}
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 collectCallArgumentIdentifiers = (script, functionName) => {
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, "writeFile", cursor);
185
+ const callStart = findNextIdentifier(out, functionName, cursor);
206
186
  if (callStart === -1) {
207
187
  break;
208
188
  }
209
- const openParen = skipWhitespace(out, callStart + "writeFile".length);
189
+ const openParen = skipWhitespace(out, callStart + functionName.length);
210
190
  if (out[openParen] !== "(") {
211
- cursor = callStart + "writeFile".length;
191
+ cursor = callStart + functionName.length;
212
192
  continue;
213
193
  }
214
- const contentKey = findNextIdentifier(out, "content", openParen + 1);
215
- if (contentKey === -1) {
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, contentKey + "content".length);
199
+ const colon = skipWhitespace(out, propertyKey + propertyName.length);
220
200
  if (out[colon] !== ":") {
221
- cursor = contentKey + "content".length;
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 collectWriteFileContentIdentifiers = (script) => {
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, "writeFile", cursor);
256
+ const callStart = findNextIdentifier(script, functionName, cursor);
250
257
  if (callStart === -1) {
251
258
  break;
252
259
  }
253
- const openParen = skipWhitespace(script, callStart + "writeFile".length);
260
+ const openParen = skipWhitespace(script, callStart + functionName.length);
254
261
  if (script[openParen] !== "(") {
255
- cursor = callStart + "writeFile".length;
262
+ cursor = callStart + functionName.length;
256
263
  continue;
257
264
  }
258
- const contentKey = findNextIdentifier(script, "content", openParen + 1);
259
- if (contentKey === -1) {
265
+ const propertyKey = findNextIdentifier(script, propertyName, openParen + 1);
266
+ if (propertyKey === -1) {
260
267
  cursor = openParen + 1;
261
268
  continue;
262
269
  }
263
- const afterContent = skipWhitespace(script, contentKey + "content".length);
264
- if (script[afterContent] === ":") {
265
- const valueStart = skipWhitespace(script, afterContent + 1);
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[afterContent] === "}" || script[afterContent] === ",") {
277
- out.add("content");
278
- cursor = afterContent + 1;
283
+ if (script[afterProperty] === "}" || script[afterProperty] === ",") {
284
+ out.add(propertyName);
285
+ cursor = afterProperty + 1;
279
286
  continue;
280
287
  }
281
- cursor = afterContent + 1;
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 identifier of collectWriteFileContentIdentifiers(script)) {
341
- identifiers.add(identifier);
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), fixWriteFileContentTemplates(script)));
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":"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,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,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,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,4BAA4B,GAAG,CAAC,MAAc,EAAU,EAAE;IAC9D,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,WAAW,EAAE,MAAM,CAAC,CAAA;QAC9D,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;YACrB,MAAK;QACP,CAAC;QAED,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,EAAE,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;QACrE,IAAI,GAAG,CAAC,SAAS,CAAC,KAAK,GAAG,EAAE,CAAC;YAC3B,MAAM,GAAG,SAAS,GAAG,WAAW,CAAC,MAAM,CAAA;YACvC,SAAQ;QACV,CAAC;QAED,MAAM,UAAU,GAAG,kBAAkB,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,GAAG,CAAC,CAAC,CAAA;QACpE,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;YACtB,MAAM,GAAG,SAAS,GAAG,CAAC,CAAA;YACtB,SAAQ;QACV,CAAC;QAED,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,EAAE,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,CAAA;QAChE,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;YACvB,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC,MAAM,CAAA;YACtC,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,kCAAkC,GAAG,CACzC,MAAc,EACO,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,WAAW,EAAE,MAAM,CAAC,CAAA;QACjE,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;YACrB,MAAK;QACP,CAAC;QAED,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,EAAE,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;QACxE,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,GAAG,EAAE,CAAC;YAC9B,MAAM,GAAG,SAAS,GAAG,WAAW,CAAC,MAAM,CAAA;YACvC,SAAQ;QACV,CAAC;QAED,MAAM,UAAU,GAAG,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,CAAC,CAAC,CAAA;QACvE,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;YACtB,MAAM,GAAG,SAAS,GAAG,CAAC,CAAA;YACtB,SAAQ;QACV,CAAC;QAED,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,CAAA;QAC1E,IAAI,MAAM,CAAC,YAAY,CAAC,KAAK,GAAG,EAAE,CAAC;YACjC,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,CAAC,CAAC,CAAA;YAC3D,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,YAAY,CAAC,KAAK,GAAG,IAAI,MAAM,CAAC,YAAY,CAAC,KAAK,GAAG,EAAE,CAAC;YACjE,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;YAClB,MAAM,GAAG,YAAY,GAAG,CAAC,CAAA;YACzB,SAAQ;QACV,CAAC;QAED,MAAM,GAAG,YAAY,GAAG,CAAC,CAAA;IAC3B,CAAC;IAED,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED,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,UAAU,IAAI,kCAAkC,CAAC,MAAM,CAAC,EAAE,CAAC;QACpE,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IAC7B,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,4BAA4B,CAAC,MAAM,CAAC,CACrC,CACF,CAAA"}
1
+ {"version":3,"file":"ScriptPreprocessing.js","sourceRoot":"","sources":["../src/ScriptPreprocessing.ts"],"names":[],"mappings":"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"}
@@ -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(["patch", "patch2", "patch3", "patch4", "patch5"])("fixes broken %s", (fixture) => {
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":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,MAAM,IAAI,GAAG,GAAG,CAAA;AAChB,MAAM,OAAO,GAAG,KAAK,CAAA;AACrB,MAAM,oBAAoB,GAAG,MAAM,CAAA;AACnC,MAAM,YAAY,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,EAAE,CAAA;AAExE,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,KAAK,GAAG;YACZ,oBAAoB;YACpB,iBAAiB;YACjB,iCAAiC;YACjC,IAAI;YACJ,yBAAyB;YACzB,yBAAyB;YACzB,eAAe;YACf,IAAI;SACL,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEZ,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAA;QAEtC,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,QAAQ,CAAC,qBAAqB,OAAO,MAAM,OAAO,EAAE,CAAC,EAC5D,IAAI,CACL,CAAA;QACD,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,QAAQ,CAAC,qBAAqB,OAAO,MAAM,OAAO,EAAE,CAAC,EAC5D,IAAI,CACL,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACjE,MAAM,KAAK,GAAG;YACZ,oBAAoB;YACpB,iBAAiB;YACjB,iCAAiC;YACjC,IAAI;YACJ,6BAA6B;YAC7B,eAAe;YACf,IAAI;SACL,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEZ,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAA;QAEtC,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,QAAQ,CAAC,kBAAkB,oBAAoB,YAAY,CAAC,EACnE,IAAI,CACL,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,KAAK,GAAG;YACZ,mBAAmB;YACnB,2BAA2B;YAC3B,oCAAoC;YACpC,IAAI;SACL,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEZ,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAA;QAEtC,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,QAAQ,CACb,YAAY,YAAY,CAAC,iBAAiB,OAAO,OAAO,OAAO,EAAE,CAAC,GAAG,CACtE,EACD,IAAI,CACL,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,MAAM,KAAK,GAAG,0DAA0D,CAAA;QAExE,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAA;QAEtC,MAAM,CAAC,WAAW,CAChB,MAAM,EACN,sBAAsB,YAAY,CAAC,eAAe,OAAO,cAAc,OAAO,WAAW,CAAC,GAAG,CAC9F,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;QAC3E,MAAM,KAAK,GAAG;YACZ,oBAAoB,YAAY,CAAC,iBAAiB,OAAO,OAAO,OAAO,EAAE,CAAC,GAAG;YAC7E,oBAAoB,YAAY,CAAC,iBAAiB,oBAAoB,OAAO,CAAC,GAAG;YACjF,sDAAsD,YAAY,CAAC,WAAW,OAAO,OAAO,OAAO,EAAE,CAAC,KAAK;YAC3G,sBAAsB,YAAY,CAAC,iBAAiB,OAAO,OAAO,OAAO,aAAa,CAAC,GAAG;SAC3F,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEZ,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAA;IACpD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,KAAK,GAAG,2CAA2C,CAAA;QAEzD,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAA;IACpD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,0EAA0E,EAAE,GAAG,EAAE;QAClF,MAAM,KAAK,GAAG;YACZ,gCAAgC;YAChC,iCAAiC;YACjC,IAAI;YACJ,yBAAyB;YACzB,yBAAyB;YACzB,iBAAiB;YACjB,yBAAyB;SAC1B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEZ,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAA;QAEtC,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,QAAQ,CAAC,qBAAqB,OAAO,MAAM,OAAO,EAAE,CAAC,EAC5D,IAAI,CACL,CAAA;QACD,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,QAAQ,CAAC,qBAAqB,OAAO,MAAM,OAAO,EAAE,CAAC,EAC5D,IAAI,CACL,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,4EAA4E,EAAE,GAAG,EAAE;QACpF,MAAM,KAAK,GAAG;YACZ,uDAAuD;YACvD,6BAA6B;SAC9B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEZ,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAA;QAEtC,MAAM,CAAC,WAAW,CAChB,MAAM,EACN;YACE,mBAAmB,YAAY,CAAC,eAAe,OAAO,cAAc,OAAO,WAAW,CAAC,GAAG;YAC1F,6BAA6B;SAC9B,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,uEAAuE,EAAE,GAAG,EAAE;QAC/E,MAAM,KAAK,GAAG;YACZ,sCAAsC;YACtC,mBAAmB;YACnB,2BAA2B;YAC3B,kBAAkB;YAClB,IAAI;SACL,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEZ,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAA;QAEtC,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,QAAQ,CACb,gBAAgB,YAAY,CAAC,iBAAiB,OAAO,OAAO,OAAO,EAAE,CAAC,GAAG,CAC1E,EACD,IAAI,CACL,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CACxD,iBAAiB,EACjB,CAAC,OAAO,EAAE,EAAE;QACV,MAAM,OAAO,GAAG,YAAY,CAC1B,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,GAAG,OAAO,aAAa,CAAC,EACpD,OAAO,CACR,CAAA;QACD,MAAM,KAAK,GAAG,YAAY,CACxB,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,GAAG,OAAO,YAAY,CAAC,EACnD,OAAO,CACR,CAAA;QACD,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAA;IAChD,CAAC,CACF,CAAA;AACH,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"ScriptPreprocessing.test.js","sourceRoot":"","sources":["../src/ScriptPreprocessing.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "clanka",
3
3
  "type": "module",
4
- "version": "0.2.17",
4
+ "version": "0.2.18",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
@@ -157,18 +157,23 @@ describe("preprocessScript", () => {
157
157
  )
158
158
  })
159
159
 
160
- it.each(["patch", "patch2", "patch3", "patch4", "patch5"])(
161
- "fixes broken %s",
162
- (fixture) => {
163
- const content = readFileSync(
164
- join(__dirname, "fixtures", `${fixture}-broken.txt`),
165
- "utf-8",
166
- )
167
- const fixed = readFileSync(
168
- join(__dirname, "fixtures", `${fixture}-fixed.txt`),
169
- "utf-8",
170
- )
171
- assert.equal(preprocessScript(content), fixed)
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 collectCallArgumentIdentifiers = (
236
+ const fixCallObjectPropertyTemplate = (
228
237
  script: string,
229
238
  functionName: string,
230
- ): ReadonlySet<string> => {
231
- const out = new Set<string>()
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, "writeFile", cursor)
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 + "writeFile".length)
250
+ const openParen = skipWhitespace(out, callStart + functionName.length)
275
251
  if (out[openParen] !== "(") {
276
- cursor = callStart + "writeFile".length
252
+ cursor = callStart + functionName.length
277
253
  continue
278
254
  }
279
255
 
280
- const contentKey = findNextIdentifier(out, "content", openParen + 1)
281
- if (contentKey === -1) {
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, contentKey + "content".length)
262
+ const colon = skipWhitespace(out, propertyKey + propertyName.length)
287
263
  if (out[colon] !== ":") {
288
- cursor = contentKey + "content".length
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 collectWriteFileContentIdentifiers = (
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, "writeFile", cursor)
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 + "writeFile".length)
349
+ const openParen = skipWhitespace(script, callStart + functionName.length)
335
350
  if (script[openParen] !== "(") {
336
- cursor = callStart + "writeFile".length
351
+ cursor = callStart + functionName.length
337
352
  continue
338
353
  }
339
354
 
340
- const contentKey = findNextIdentifier(script, "content", openParen + 1)
341
- if (contentKey === -1) {
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 afterContent = skipWhitespace(script, contentKey + "content".length)
347
- if (script[afterContent] === ":") {
348
- const valueStart = skipWhitespace(script, afterContent + 1)
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[afterContent] === "}" || script[afterContent] === ",") {
361
- out.add("content")
362
- cursor = afterContent + 1
378
+ if (script[afterProperty] === "}" || script[afterProperty] === ",") {
379
+ out.add(propertyName)
380
+ cursor = afterProperty + 1
363
381
  continue
364
382
  }
365
383
 
366
- cursor = afterContent + 1
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 identifier of collectWriteFileContentIdentifiers(script)) {
450
- identifiers.add(identifier)
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
- fixWriteFileContentTemplates(script),
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');