jiren 3.9.1 → 4.1.0

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/README.md CHANGED
@@ -740,13 +740,13 @@ export async function GET() {
740
740
  - **Bun** v1.0.0+
741
741
  - **Node.js** v18.0.0+ (macOS/Linux/Windows)
742
742
  - **OS**:
743
- - Native mode: macOS (ARM64/x64) or Linux (x64)
744
- - Compatibility mode: Windows (fetch fallback, reduced performance/features)
743
+ - Native mode: macOS (ARM64/x64), Linux (x64), and Windows (x64) when the bundled native runtime is present
744
+ - Compatibility mode: automatic fetch fallback when the native library is unavailable
745
745
  - **Optional**: set `JIREN_FORCE_FETCH_FALLBACK=1` to force compatibility mode.
746
746
 
747
747
  ### Node Entrypoints
748
748
 
749
- - `import { JirenClient } from "jiren"`: compatibility mode (safe default)
749
+ - `import { JirenClient } from "jiren"`: auto-select native mode when available, otherwise fetch fallback
750
750
  - `import { JirenClient } from "jiren/native"`: native mode (max performance, supported CPUs only)
751
751
 
752
752
  ---
@@ -1,5 +1,5 @@
1
1
  // Main client
2
- export { JirenClient } from "./client-bun";
2
+ export { JirenClient } from "./client";
3
3
 
4
4
  // Types
5
5
  export type {
@@ -2,39 +2,59 @@ import koffi from "koffi";
2
2
  import path from "path";
3
3
  import fs from "fs";
4
4
  import { fileURLToPath } from "url";
5
+ import {
6
+ resolveNativeLibraryCandidates,
7
+ resolveNativeRuntimeDirectories,
8
+ } from "./native-path.js";
5
9
 
6
10
  const __filename = fileURLToPath(import.meta.url);
7
11
  const __dirname = path.dirname(__filename);
8
12
 
9
- const platform = process.platform;
13
+ const libCandidates = resolveNativeLibraryCandidates(__dirname);
14
+ const runtimeDirectories = resolveNativeRuntimeDirectories(__dirname);
15
+ let libPath = libCandidates[0];
10
16
 
11
- let suffix = "so";
12
- if (platform === "darwin") {
13
- suffix = "dylib";
14
- } else if (platform === "win32") {
15
- suffix = "dll";
16
- }
17
+ function prepareWindowsRuntimeDirectories() {
18
+ if (process.platform !== "win32") {
19
+ return;
20
+ }
17
21
 
18
- // Reverted to flat structure based on user request
19
- let libPath = path.join(__dirname, `../lib/libhttpclient.${suffix}`);
22
+ const existingPath = process.env.PATH ?? "";
23
+ const nextPathEntries = runtimeDirectories.filter((dir) =>
24
+ fs.existsSync(dir),
25
+ );
20
26
 
21
- if (!fs.existsSync(libPath)) {
22
- // Try one level up (monorepo/dev context)
23
- libPath = path.join(__dirname, `../../lib/libhttpclient.${suffix}`);
27
+ if (nextPathEntries.length > 0) {
28
+ process.env.PATH = `${nextPathEntries.join(path.delimiter)}${path.delimiter}${existingPath}`;
29
+ }
24
30
  }
25
31
 
26
32
  let lib: any = null;
27
33
  let nativeLoadError: Error | null = null;
28
34
 
29
- try {
30
- if (!fs.existsSync(libPath)) {
31
- nativeLoadError = new Error(`Native library not found at: ${libPath}`);
32
- } else {
33
- lib = koffi.load(libPath);
35
+ prepareWindowsRuntimeDirectories();
36
+
37
+ for (const candidate of libCandidates) {
38
+ if (!fs.existsSync(candidate)) {
39
+ continue;
34
40
  }
35
- } catch (error) {
36
- nativeLoadError =
37
- error instanceof Error ? error : new Error("Unknown native load error");
41
+
42
+ libPath = candidate;
43
+
44
+ try {
45
+ lib = koffi.load(candidate);
46
+ nativeLoadError = null;
47
+ break;
48
+ } catch (error) {
49
+ nativeLoadError =
50
+ error instanceof Error ? error : new Error("Unknown native load error");
51
+ }
52
+ }
53
+
54
+ if (!lib && !nativeLoadError) {
55
+ nativeLoadError = new Error(
56
+ `Native library not found. Checked: ${libCandidates.join(", ")}`,
57
+ );
38
58
  }
39
59
 
40
60
  export const isNativeAvailable = lib !== null;
@@ -0,0 +1,47 @@
1
+ import path from "path";
2
+
3
+ export function nativeSuffixForPlatform(platform = process.platform): string {
4
+ if (platform === "darwin") {
5
+ return "dylib";
6
+ }
7
+
8
+ if (platform === "win32") {
9
+ return "dll";
10
+ }
11
+
12
+ return "so";
13
+ }
14
+
15
+ export function resolveNativeLibraryCandidates(
16
+ baseDir: string,
17
+ platform = process.platform,
18
+ arch = process.arch,
19
+ ): string[] {
20
+ const fileName = `libhttpclient.${nativeSuffixForPlatform(platform)}`;
21
+ return resolveNativeRuntimeDirectories(baseDir, platform, arch).map((dir) =>
22
+ path.join(dir, fileName),
23
+ );
24
+ }
25
+
26
+ export function resolveNativeRuntimeDirectories(
27
+ baseDir: string,
28
+ platform = process.platform,
29
+ arch = process.arch,
30
+ ): string[] {
31
+ const baseLibDirs = [
32
+ path.join(baseDir, "../lib"),
33
+ path.join(baseDir, "../../lib"),
34
+ ];
35
+ const runtimeDirs = [`${platform}-${arch}`, platform];
36
+ const directories: string[] = [];
37
+
38
+ for (const libDir of baseLibDirs) {
39
+ for (const runtimeDir of runtimeDirs) {
40
+ directories.push(path.join(libDir, runtimeDir));
41
+ }
42
+
43
+ directories.push(libDir);
44
+ }
45
+
46
+ return directories;
47
+ }
@@ -1,36 +1,48 @@
1
- import { dlopen, FFIType, suffix } from "bun:ffi";
2
- import fs from "fs";
3
- import { delimiter, dirname, join } from "path";
1
+ import { dlopen, FFIType } from "bun:ffi";
2
+ import { existsSync, readdirSync } from "fs";
3
+ import path from "path";
4
+ import {
5
+ resolveNativeLibraryCandidates,
6
+ resolveNativeRuntimeDirectories,
7
+ } from "./native-path";
4
8
 
5
- // Reverted to flat structure
6
- const libPath = join(import.meta.dir, `../lib/libhttpclient.${suffix}`);
7
- const libDir = dirname(libPath);
9
+ const libCandidates = resolveNativeLibraryCandidates(import.meta.dir);
10
+ const runtimeDirectories = resolveNativeRuntimeDirectories(import.meta.dir);
8
11
 
9
- if (process.platform === "win32") {
10
- // Ensure dependent DLLs (e.g. libcurl.dll, zlib1.dll) in jiren/lib are discoverable.
11
- const currentPath = process.env.PATH ?? process.env.Path ?? "";
12
- const hasLibDir = currentPath
13
- .split(delimiter)
14
- .some((entry) => entry.toLowerCase() === libDir.toLowerCase());
15
- if (!hasLibDir) {
16
- const nextPath = `${libDir}${delimiter}${currentPath}`;
17
- process.env.PATH = nextPath;
18
- process.env.Path = nextPath;
12
+ function prepareWindowsRuntimeDirectories() {
13
+ if (process.platform !== "win32") {
14
+ return;
19
15
  }
20
- }
21
16
 
22
- const preloadedWindowsDeps: Array<ReturnType<typeof dlopen>> = [];
17
+ const existingPath = process.env.PATH ?? "";
18
+ const nextPathEntries: string[] = [];
23
19
 
24
- if (process.platform === "win32") {
25
- const dependencies = ["zlib1.dll", "libcurl.dll"];
26
- for (const dependency of dependencies) {
27
- const dependencyPath = join(libDir, dependency);
28
- if (!fs.existsSync(dependencyPath)) continue;
29
- try {
30
- preloadedWindowsDeps.push(dlopen(dependencyPath, {} as any));
31
- } catch {
32
- // Best-effort: dlopen of libhttpclient.dll may still succeed via PATH/system lookup.
20
+ for (const runtimeDir of runtimeDirectories) {
21
+ if (!existsSync(runtimeDir)) {
22
+ continue;
33
23
  }
24
+
25
+ nextPathEntries.push(runtimeDir);
26
+
27
+ for (const entry of readdirSync(runtimeDir)) {
28
+ if (!entry.toLowerCase().endsWith(".dll")) {
29
+ continue;
30
+ }
31
+
32
+ if (entry.toLowerCase() === "libhttpclient.dll") {
33
+ continue;
34
+ }
35
+
36
+ try {
37
+ dlopen(path.join(runtimeDir, entry), {});
38
+ } catch {
39
+ // Ignore here and let the main library load surface the real error.
40
+ }
41
+ }
42
+ }
43
+
44
+ if (nextPathEntries.length > 0) {
45
+ process.env.PATH = `${nextPathEntries.join(path.delimiter)}${path.delimiter}${existingPath}`;
34
46
  }
35
47
  }
36
48
 
@@ -410,37 +422,30 @@ export const ffiDef = {
410
422
  },
411
423
  } as const;
412
424
 
413
- let nativeLib: ReturnType<typeof dlopen> | null = null;
414
- let nativeLoadError: Error | null = null;
425
+ let openError: unknown = null;
426
+ let openedLib: ReturnType<typeof dlopen> | null = null;
427
+
428
+ prepareWindowsRuntimeDirectories();
429
+
430
+ for (const candidate of libCandidates) {
431
+ if (!existsSync(candidate)) {
432
+ continue;
433
+ }
415
434
 
416
- try {
417
- if (!fs.existsSync(libPath)) {
418
- nativeLoadError = new Error(`Native library not found at: ${libPath}`);
419
- } else {
420
- nativeLib = dlopen(libPath, ffiDef);
435
+ try {
436
+ openedLib = dlopen(candidate, ffiDef);
437
+ break;
438
+ } catch (error) {
439
+ openError = error;
421
440
  }
422
- } catch (error) {
423
- nativeLoadError =
424
- error instanceof Error ? error : new Error("Unknown native load error");
425
441
  }
426
442
 
427
- export const isNativeAvailable = nativeLib !== null;
428
- export const nativeLibraryPath = libPath;
429
- export const nativeAvailabilityError = nativeLoadError;
443
+ if (!openedLib) {
444
+ if (openError) {
445
+ throw openError;
446
+ }
430
447
 
431
- function unavailableSymbol(symbol: string) {
432
- return () => {
433
- const reason = nativeLoadError?.message || "Native runtime unavailable";
434
- throw new Error(
435
- `[Jiren] Native symbol "${symbol}" is unavailable. ${reason}`,
436
- );
437
- };
448
+ throw new Error(`Native library not found. Checked: ${libCandidates.join(", ")}`);
438
449
  }
439
450
 
440
- const unavailableSymbols = new Proxy({} as Record<string, any>, {
441
- get(_target, symbol) {
442
- return unavailableSymbol(String(symbol));
443
- },
444
- });
445
-
446
- export const lib = (nativeLib ?? { symbols: unavailableSymbols }) as any;
451
+ export const lib = openedLib;
@@ -1 +1 @@
1
- {"version":3,"file":"native-node.d.ts","sourceRoot":"","sources":["../../components/native-node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"native-node.d.ts","sourceRoot":"","sources":["../../components/native-node.ts"],"names":[],"mappings":"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"}
@@ -2,35 +2,42 @@ import koffi from "koffi";
2
2
  import path from "path";
3
3
  import fs from "fs";
4
4
  import { fileURLToPath } from "url";
5
+ import { resolveNativeLibraryCandidates, resolveNativeRuntimeDirectories, } from "./native-path.js";
5
6
  const __filename = fileURLToPath(import.meta.url);
6
7
  const __dirname = path.dirname(__filename);
7
- const platform = process.platform;
8
- let suffix = "so";
9
- if (platform === "darwin") {
10
- suffix = "dylib";
11
- }
12
- else if (platform === "win32") {
13
- suffix = "dll";
14
- }
15
- // Reverted to flat structure based on user request
16
- let libPath = path.join(__dirname, `../lib/libhttpclient.${suffix}`);
17
- if (!fs.existsSync(libPath)) {
18
- // Try one level up (monorepo/dev context)
19
- libPath = path.join(__dirname, `../../lib/libhttpclient.${suffix}`);
8
+ const libCandidates = resolveNativeLibraryCandidates(__dirname);
9
+ const runtimeDirectories = resolveNativeRuntimeDirectories(__dirname);
10
+ let libPath = libCandidates[0];
11
+ function prepareWindowsRuntimeDirectories() {
12
+ if (process.platform !== "win32") {
13
+ return;
14
+ }
15
+ const existingPath = process.env.PATH ?? "";
16
+ const nextPathEntries = runtimeDirectories.filter((dir) => fs.existsSync(dir));
17
+ if (nextPathEntries.length > 0) {
18
+ process.env.PATH = `${nextPathEntries.join(path.delimiter)}${path.delimiter}${existingPath}`;
19
+ }
20
20
  }
21
21
  let lib = null;
22
22
  let nativeLoadError = null;
23
- try {
24
- if (!fs.existsSync(libPath)) {
25
- nativeLoadError = new Error(`Native library not found at: ${libPath}`);
23
+ prepareWindowsRuntimeDirectories();
24
+ for (const candidate of libCandidates) {
25
+ if (!fs.existsSync(candidate)) {
26
+ continue;
26
27
  }
27
- else {
28
- lib = koffi.load(libPath);
28
+ libPath = candidate;
29
+ try {
30
+ lib = koffi.load(candidate);
31
+ nativeLoadError = null;
32
+ break;
33
+ }
34
+ catch (error) {
35
+ nativeLoadError =
36
+ error instanceof Error ? error : new Error("Unknown native load error");
29
37
  }
30
38
  }
31
- catch (error) {
32
- nativeLoadError =
33
- error instanceof Error ? error : new Error("Unknown native load error");
39
+ if (!lib && !nativeLoadError) {
40
+ nativeLoadError = new Error(`Native library not found. Checked: ${libCandidates.join(", ")}`);
34
41
  }
35
42
  export const isNativeAvailable = lib !== null;
36
43
  export const nativeLibraryPath = libPath;
@@ -1 +1 @@
1
- {"version":3,"file":"native-node.js","sourceRoot":"","sources":["../../components/native-node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"native-node.js","sourceRoot":"","sources":["../../components/native-node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare function nativeSuffixForPlatform(platform?: NodeJS.Platform): string;
2
+ export declare function resolveNativeLibraryCandidates(baseDir: string, platform?: NodeJS.Platform, arch?: NodeJS.Architecture): string[];
3
+ export declare function resolveNativeRuntimeDirectories(baseDir: string, platform?: NodeJS.Platform, arch?: NodeJS.Architecture): string[];
4
+ //# sourceMappingURL=native-path.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native-path.d.ts","sourceRoot":"","sources":["../../components/native-path.ts"],"names":[],"mappings":"AAEA,wBAAgB,uBAAuB,CAAC,QAAQ,kBAAmB,GAAG,MAAM,CAU3E;AAED,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,MAAM,EACf,QAAQ,kBAAmB,EAC3B,IAAI,sBAAe,GAClB,MAAM,EAAE,CAKV;AAED,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,MAAM,EACf,QAAQ,kBAAmB,EAC3B,IAAI,sBAAe,GAClB,MAAM,EAAE,CAiBV"}
@@ -0,0 +1,30 @@
1
+ import path from "path";
2
+ export function nativeSuffixForPlatform(platform = process.platform) {
3
+ if (platform === "darwin") {
4
+ return "dylib";
5
+ }
6
+ if (platform === "win32") {
7
+ return "dll";
8
+ }
9
+ return "so";
10
+ }
11
+ export function resolveNativeLibraryCandidates(baseDir, platform = process.platform, arch = process.arch) {
12
+ const fileName = `libhttpclient.${nativeSuffixForPlatform(platform)}`;
13
+ return resolveNativeRuntimeDirectories(baseDir, platform, arch).map((dir) => path.join(dir, fileName));
14
+ }
15
+ export function resolveNativeRuntimeDirectories(baseDir, platform = process.platform, arch = process.arch) {
16
+ const baseLibDirs = [
17
+ path.join(baseDir, "../lib"),
18
+ path.join(baseDir, "../../lib"),
19
+ ];
20
+ const runtimeDirs = [`${platform}-${arch}`, platform];
21
+ const directories = [];
22
+ for (const libDir of baseLibDirs) {
23
+ for (const runtimeDir of runtimeDirs) {
24
+ directories.push(path.join(libDir, runtimeDir));
25
+ }
26
+ directories.push(libDir);
27
+ }
28
+ return directories;
29
+ }
30
+ //# sourceMappingURL=native-path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native-path.js","sourceRoot":"","sources":["../../components/native-path.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,UAAU,uBAAuB,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ;IACjE,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,OAAe,EACf,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAC3B,IAAI,GAAG,OAAO,CAAC,IAAI;IAEnB,MAAM,QAAQ,GAAG,iBAAiB,uBAAuB,CAAC,QAAQ,CAAC,EAAE,CAAC;IACtE,OAAO,+BAA+B,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAC1E,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CACzB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,+BAA+B,CAC7C,OAAe,EACf,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAC3B,IAAI,GAAG,OAAO,CAAC,IAAI;IAEnB,MAAM,WAAW,GAAG;QAClB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC;KAChC,CAAC;IACF,MAAM,WAAW,GAAG,CAAC,GAAG,QAAQ,IAAI,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAC;IACtD,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE,CAAC;QACjC,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACrC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;QAClD,CAAC;QAED,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC"}
@@ -1,3 +1,3 @@
1
- export { JirenClient } from "./components/client-node-fetch.js";
1
+ export { JirenClient } from "./components/client-node.js";
2
2
  export * from "./components/types.js";
3
3
  //# sourceMappingURL=index-node.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-node.d.ts","sourceRoot":"","sources":["../index-node.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAIhE,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index-node.d.ts","sourceRoot":"","sources":["../index-node.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAI1D,cAAc,uBAAuB,CAAC"}
@@ -1,5 +1,5 @@
1
- // Main client (Node.js compatibility path, no native crash on unsupported CPUs)
2
- export { JirenClient } from "./components/client-node-fetch.js";
1
+ // Main client (auto-select native when available, otherwise fetch fallback)
2
+ export { JirenClient } from "./components/client-node.js";
3
3
  // Types
4
4
  export * from "./components/types.js";
5
5
  //# sourceMappingURL=index-node.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-node.js","sourceRoot":"","sources":["../index-node.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAEhE,QAAQ;AAER,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index-node.js","sourceRoot":"","sources":["../index-node.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE1D,QAAQ;AAER,cAAc,uBAAuB,CAAC"}
package/index-node.ts CHANGED
@@ -1,5 +1,5 @@
1
- // Main client (Node.js compatibility path, no native crash on unsupported CPUs)
2
- export { JirenClient } from "./components/client-node-fetch.js";
1
+ // Main client (auto-select native when available, otherwise fetch fallback)
2
+ export { JirenClient } from "./components/client-node.js";
3
3
 
4
4
  // Types
5
5
 
Binary file
Binary file
Binary file
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jiren",
3
- "version": "3.9.1",
3
+ "version": "4.1.0",
4
4
  "author": "",
5
5
  "main": "index.ts",
6
6
  "module": "index.ts",
@@ -1,16 +0,0 @@
1
- import { JirenClient as NativeJirenClient } from "./client";
2
- import { JirenClient as FetchJirenClient } from "./client-node-fetch";
3
- import { isNativeAvailable, nativeAvailabilityError } from "./native";
4
-
5
- const forceFallback = process.env.JIREN_FORCE_FETCH_FALLBACK === "1";
6
- let didWarnNativeUnavailable = false;
7
-
8
- if (!forceFallback && !isNativeAvailable && !didWarnNativeUnavailable) {
9
- didWarnNativeUnavailable = true;
10
- const reason = nativeAvailabilityError?.message ?? "unknown reason";
11
- console.warn(`[Jiren] Bun native unavailable, using fetch fallback. ${reason}`);
12
- }
13
-
14
- export const JirenClient = (
15
- !forceFallback && isNativeAvailable ? NativeJirenClient : FetchJirenClient
16
- ) as unknown as typeof NativeJirenClient;
package/lib/libcurl.dll DELETED
Binary file
Binary file