thinkwell 0.4.4 → 0.4.5

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.
@@ -98,6 +98,18 @@ export declare function transformVirtualImports(source: string): string;
98
98
  * @returns A require function bound to the script's directory
99
99
  */
100
100
  export declare function createCustomRequire(scriptPath: string): NodeJS.Require;
101
+ /**
102
+ * Rewrite .js extensions to .ts in relative import specifiers when the .ts file exists.
103
+ *
104
+ * TypeScript convention allows importing `./foo.js` even when the source file is
105
+ * `./foo.ts` (since tsc compiles .ts to .js). Node's --experimental-transform-types
106
+ * does not perform this remapping, so we do it here to support the common convention.
107
+ *
108
+ * @param originalPath - Absolute path to the original script (used to resolve relative paths)
109
+ * @param source - The script source code
110
+ * @returns The source with .js extensions rewritten to .ts where the .ts file exists
111
+ */
112
+ export declare function rewriteJsToTsExtensions(originalPath: string, source: string): string;
101
113
  /**
102
114
  * Load and execute a user script with custom module resolution.
103
115
  *
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/cli/loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAqCH;;;GAGG;AACH,OAAO,CAAC,MAAM,CAAC;IAEb,IAAI,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;CACtD;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,IAAI,CAEN;AASD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAS/D;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAgB9D;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAqC9D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,GACjB,MAAM,CAAC,OAAO,CAqDhB;AAuDD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CA0DtD;AAED;;;;;;;;;GASG;AACH,wBAAsB,SAAS,CAC7B,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE,MAAM,EAAO,GAClB,OAAO,CAAC,IAAI,CAAC,CAyCf"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/cli/loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAqCH;;;GAGG;AACH,OAAO,CAAC,MAAM,CAAC;IAEb,IAAI,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;CACtD;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,IAAI,CAEN;AASD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAS/D;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAgB9D;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAqC9D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,GACjB,MAAM,CAAC,OAAO,CAqDhB;AA+BD;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CA4BpF;AAiCD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CA4DtD;AAED;;;;;;;;;GASG;AACH,wBAAsB,SAAS,CAC7B,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE,MAAM,EAAO,GAClB,OAAO,CAAC,IAAI,CAAC,CAyCf"}
@@ -21,9 +21,9 @@
21
21
  * Unlike the Bun plugin which runs at bundle time, this loader operates at
22
22
  * runtime when the user script is executed.
23
23
  */
24
- import { readFileSync, mkdtempSync, writeFileSync, rmSync } from "node:fs";
24
+ import { readFileSync, writeFileSync, rmSync, existsSync } from "node:fs";
25
25
  import { dirname, join, isAbsolute, resolve, basename } from "node:path";
26
- import { tmpdir } from "node:os";
26
+ import { randomBytes } from "node:crypto";
27
27
  import { createRequire } from "node:module";
28
28
  import { hasJsonSchemaMarkers, transformJsonSchemas } from "./schema.js";
29
29
  /**
@@ -232,6 +232,43 @@ function needsTransformation(source) {
232
232
  }
233
233
  return false;
234
234
  }
235
+ /**
236
+ * Generate a short random ID for temp file names.
237
+ */
238
+ function randomId() {
239
+ return randomBytes(6).toString("base64url");
240
+ }
241
+ /**
242
+ * Rewrite .js extensions to .ts in relative import specifiers when the .ts file exists.
243
+ *
244
+ * TypeScript convention allows importing `./foo.js` even when the source file is
245
+ * `./foo.ts` (since tsc compiles .ts to .js). Node's --experimental-transform-types
246
+ * does not perform this remapping, so we do it here to support the common convention.
247
+ *
248
+ * @param originalPath - Absolute path to the original script (used to resolve relative paths)
249
+ * @param source - The script source code
250
+ * @returns The source with .js extensions rewritten to .ts where the .ts file exists
251
+ */
252
+ export function rewriteJsToTsExtensions(originalPath, source) {
253
+ const scriptDir = dirname(originalPath);
254
+ // Match static imports/re-exports: from "./foo.js" or from '../bar.js'
255
+ source = source.replace(/(from\s+['"])(\.\.?\/[^'"]*?)\.js(['"])/g, (match, prefix, specifierBase, suffix) => {
256
+ const tsPath = resolve(scriptDir, `${specifierBase}.ts`);
257
+ if (existsSync(tsPath)) {
258
+ return `${prefix}${specifierBase}.ts${suffix}`;
259
+ }
260
+ return match;
261
+ });
262
+ // Match dynamic imports: import("./foo.js") or import('../bar.js')
263
+ source = source.replace(/(import\s*\(\s*['"])(\.\.?\/[^'"]*?)\.js(['"]\s*\))/g, (match, prefix, specifierBase, suffix) => {
264
+ const tsPath = resolve(scriptDir, `${specifierBase}.ts`);
265
+ if (existsSync(tsPath)) {
266
+ return `${prefix}${specifierBase}.ts${suffix}`;
267
+ }
268
+ return match;
269
+ });
270
+ return source;
271
+ }
235
272
  /**
236
273
  * Generate a preamble that patches import.meta properties to point to the original script.
237
274
  *
@@ -300,14 +337,15 @@ export function loadScript(scriptPath) {
300
337
  source = transformJsonSchemas(absolutePath, source);
301
338
  // Transform imports to use bundled modules (global.__bundled__)
302
339
  source = transformVirtualImports(source);
340
+ // Rewrite .js → .ts in relative imports for TypeScript convention compatibility
341
+ source = rewriteJsToTsExtensions(absolutePath, source);
303
342
  // Prepend import.meta.url patch so scripts can locate sibling files
304
343
  source = generateImportMetaPatch(absolutePath) + source;
305
- // Write transformed source to a temp file in os.tmpdir()
306
- // Use mkdtempSync for atomic directory creation to avoid race conditions
344
+ // Write transformed source as a sibling of the original script so that
345
+ // relative imports resolve correctly through Node's module loader.
307
346
  const ext = absolutePath.endsWith(".ts") ? ".ts" : ".js";
308
- const scriptName = basename(absolutePath, ext);
309
- const tempDir = mkdtempSync(join(tmpdir(), `thinkwell-${scriptName}-`));
310
- const tempFile = join(tempDir, `script${ext}`);
347
+ const scriptDir = dirname(absolutePath);
348
+ const tempFile = join(scriptDir, `.thinkwell-${basename(absolutePath, ext)}-${randomId()}${ext}`);
311
349
  try {
312
350
  // Write transformed source
313
351
  writeFileSync(tempFile, source, "utf-8");
@@ -317,9 +355,9 @@ export function loadScript(scriptPath) {
317
355
  return result;
318
356
  }
319
357
  finally {
320
- // Clean up temp directory and file
358
+ // Clean up temp file
321
359
  try {
322
- rmSync(tempDir, { recursive: true });
360
+ rmSync(tempFile);
323
361
  }
324
362
  catch {
325
363
  // Ignore cleanup errors
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/cli/loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/cli/loader.ts"],"names":[],"mappings":"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"}
@@ -238601,6 +238601,7 @@ __export(loader_exports, {
238601
238601
  extractShebang: () => extractShebang,
238602
238602
  initializeBundledRegistry: () => initializeBundledRegistry,
238603
238603
  loadScript: () => loadScript,
238604
+ rewriteJsToTsExtensions: () => rewriteJsToTsExtensions,
238604
238605
  rewriteThinkwellImports: () => rewriteThinkwellImports,
238605
238606
  runScript: () => runScript,
238606
238607
  transformVirtualImports: () => transformVirtualImports
@@ -238608,7 +238609,7 @@ __export(loader_exports, {
238608
238609
  module.exports = __toCommonJS(loader_exports);
238609
238610
  var import_node_fs2 = require("node:fs");
238610
238611
  var import_node_path2 = require("node:path");
238611
- var import_node_os = require("node:os");
238612
+ var import_node_crypto = require("node:crypto");
238612
238613
  var import_node_module = require("node:module");
238613
238614
 
238614
238615
  // dist/cli/schema.js
@@ -238908,6 +238909,29 @@ function needsTransformation(source) {
238908
238909
  return false;
238909
238910
  }
238910
238911
  __name(needsTransformation, "needsTransformation");
238912
+ function randomId() {
238913
+ return (0, import_node_crypto.randomBytes)(6).toString("base64url");
238914
+ }
238915
+ __name(randomId, "randomId");
238916
+ function rewriteJsToTsExtensions(originalPath, source) {
238917
+ const scriptDir = (0, import_node_path2.dirname)(originalPath);
238918
+ source = source.replace(/(from\s+['"])(\.\.?\/[^'"]*?)\.js(['"])/g, (match, prefix, specifierBase, suffix) => {
238919
+ const tsPath = (0, import_node_path2.resolve)(scriptDir, `${specifierBase}.ts`);
238920
+ if ((0, import_node_fs2.existsSync)(tsPath)) {
238921
+ return `${prefix}${specifierBase}.ts${suffix}`;
238922
+ }
238923
+ return match;
238924
+ });
238925
+ source = source.replace(/(import\s*\(\s*['"])(\.\.?\/[^'"]*?)\.js(['"]\s*\))/g, (match, prefix, specifierBase, suffix) => {
238926
+ const tsPath = (0, import_node_path2.resolve)(scriptDir, `${specifierBase}.ts`);
238927
+ if ((0, import_node_fs2.existsSync)(tsPath)) {
238928
+ return `${prefix}${specifierBase}.ts${suffix}`;
238929
+ }
238930
+ return match;
238931
+ });
238932
+ return source;
238933
+ }
238934
+ __name(rewriteJsToTsExtensions, "rewriteJsToTsExtensions");
238911
238935
  function generateImportMetaPatch(originalPath) {
238912
238936
  const fileUrl = `file://${originalPath}`;
238913
238937
  const originalDir = (0, import_node_path2.dirname)(originalPath);
@@ -238932,11 +238956,11 @@ function loadScript(scriptPath) {
238932
238956
  let source = rewriteThinkwellImports(sourceWithoutShebang);
238933
238957
  source = transformJsonSchemas(absolutePath, source);
238934
238958
  source = transformVirtualImports(source);
238959
+ source = rewriteJsToTsExtensions(absolutePath, source);
238935
238960
  source = generateImportMetaPatch(absolutePath) + source;
238936
238961
  const ext = absolutePath.endsWith(".ts") ? ".ts" : ".js";
238937
- const scriptName = (0, import_node_path2.basename)(absolutePath, ext);
238938
- const tempDir = (0, import_node_fs2.mkdtempSync)((0, import_node_path2.join)((0, import_node_os.tmpdir)(), `thinkwell-${scriptName}-`));
238939
- const tempFile = (0, import_node_path2.join)(tempDir, `script${ext}`);
238962
+ const scriptDir = (0, import_node_path2.dirname)(absolutePath);
238963
+ const tempFile = (0, import_node_path2.join)(scriptDir, `.thinkwell-${(0, import_node_path2.basename)(absolutePath, ext)}-${randomId()}${ext}`);
238940
238964
  try {
238941
238965
  (0, import_node_fs2.writeFileSync)(tempFile, source, "utf-8");
238942
238966
  const baseRequire = (0, import_node_module.createRequire)(absolutePath);
@@ -238944,7 +238968,7 @@ function loadScript(scriptPath) {
238944
238968
  return result;
238945
238969
  } finally {
238946
238970
  try {
238947
- (0, import_node_fs2.rmSync)(tempDir, { recursive: true });
238971
+ (0, import_node_fs2.rmSync)(tempFile);
238948
238972
  } catch {
238949
238973
  }
238950
238974
  }
@@ -238984,6 +239008,7 @@ __name(runScript, "runScript");
238984
239008
  extractShebang,
238985
239009
  initializeBundledRegistry,
238986
239010
  loadScript,
239011
+ rewriteJsToTsExtensions,
238987
239012
  rewriteThinkwellImports,
238988
239013
  runScript,
238989
239014
  transformVirtualImports
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "thinkwell",
3
- "version": "0.4.4",
3
+ "version": "0.4.5",
4
4
  "description": "TypeScript library for blending deterministic code with LLM-powered reasoning",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -40,9 +40,9 @@
40
40
  "@agentclientprotocol/sdk": "^0.12.0",
41
41
  "ts-json-schema-generator": "^2.4.0",
42
42
  "typescript": "^5.7.2",
43
- "@thinkwell/acp": "0.4.4",
44
- "@thinkwell/conductor": "0.4.4",
45
- "@thinkwell/protocol": "0.4.4"
43
+ "@thinkwell/acp": "0.4.5",
44
+ "@thinkwell/conductor": "0.4.5",
45
+ "@thinkwell/protocol": "0.4.5"
46
46
  },
47
47
  "devDependencies": {
48
48
  "@types/node": "^24.10.4",