@nodetool-ai/config 0.8.2 → 0.8.3

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
- 2026-10-07T23:09:15.591Z
1
+ 2026-10-12T12:29:42.496Z
@@ -18,6 +18,16 @@ describe("creditModelAllowlist", () => {
18
18
  ]);
19
19
  });
20
20
  });
21
+ describe("creditModelAllowlist with one entry", () => {
22
+ it("restricts to a single configured model", () => {
23
+ // One id is still a whitelist. Reading it as "nothing configured" would
24
+ // open the whole catalog to managed credits.
25
+ const allowed = creditModelAllowlist(env({ [CREDIT_MODELS_ENV]: "m" }));
26
+ expect(allowed).not.toBeNull();
27
+ expect([...allowed]).toEqual(["m"]);
28
+ expect(isCreditModelAllowed("nodetool/seedream", env({ [CREDIT_MODELS_ENV]: "m" }))).toBe(false);
29
+ });
30
+ });
21
31
  describe("isCreditModelAllowed", () => {
22
32
  it("allows everything when nothing is whitelisted", () => {
23
33
  expect(isCreditModelAllowed("nodetool/seedream", {})).toBe(true);
@@ -39,6 +49,9 @@ describe("signupGrantCredits", () => {
39
49
  expect(signupGrantCredits(env({ [SIGNUP_CREDITS_ENV]: "1200" }))).toBe(1200);
40
50
  expect(signupGrantCredits(env({ [SIGNUP_CREDITS_ENV]: "12.9" }))).toBe(12);
41
51
  });
52
+ it("grants a single credit when configured to 1", () => {
53
+ expect(signupGrantCredits(env({ [SIGNUP_CREDITS_ENV]: "1" }))).toBe(1);
54
+ });
42
55
  it("treats zero, negatives, and junk as no welcome grant", () => {
43
56
  for (const raw of ["0", "-5", "lots"]) {
44
57
  expect(signupGrantCredits(env({ [SIGNUP_CREDITS_ENV]: raw }))).toBe(0);
@@ -1 +1 @@
1
- {"version":3,"file":"credit-policy.test.js","sourceRoot":"","sources":["../../src/__tests__/credit-policy.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"credit-policy.test.js","sourceRoot":"","sources":["../../src/__tests__/credit-policy.test.ts"],"names":[],"mappings":"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"}
@@ -54,6 +54,17 @@ describe("parseEnvFile", () => {
54
54
  it("treats hashes after backslashes in unquoted values as comments", () => {
55
55
  expect(parseEnvFile("A=bar\\#comment")).toEqual({ A: "bar\\" });
56
56
  });
57
+ it("skips comment lines that contain =", () => {
58
+ expect(parseEnvFile("# DISABLED=1\nA=1")).toEqual({ A: "1" });
59
+ });
60
+ it("keeps a hash that ends a quoted value", () => {
61
+ expect(parseEnvFile('A="ends with #" # comment')).toEqual({
62
+ A: "ends with #"
63
+ });
64
+ });
65
+ it("unquotes an empty quoted value", () => {
66
+ expect(parseEnvFile("A=\"\"\nB=''")).toEqual({ A: "", B: "" });
67
+ });
57
68
  it("ignores lines without = and empty keys", () => {
58
69
  expect(parseEnvFile("NOTAKEY\n=value\nA=1")).toEqual({ A: "1" });
59
70
  });
@@ -1 +1 @@
1
- {"version":3,"file":"env-file.test.js","sourceRoot":"","sources":["../../src/__tests__/env-file.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"env-file.test.js","sourceRoot":"","sources":["../../src/__tests__/env-file.test.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -10,7 +10,7 @@ export { setLogHook, type LogHook, type LogEntry, configureLogging, getLogLevel,
10
10
  export { importOptionalModule } from "./optional-modules.js";
11
11
  export { PACKAGE_RUNTIME_ASSETS, PACKAGE_RUNTIME_ASSET_DIRS, SHIPPED_SANDBOX_PACKS_SOURCE_DIR, SHIPPED_SANDBOX_PACKS_BUNDLE_DIR, SHIPPED_SYSTEM_SKILLS_SOURCE_DIR, SHIPPED_SYSTEM_SKILLS_BUNDLE_DIR, findPackageAsset, type PackageAssetRef } from "./package-asset-registry.js";
12
12
  export { resolvePackageAssetPath, loadPackageAssetJson, getPackageAssetResolutions, type PackageAssetResolution } from "./package-assets.js";
13
- export { getNodetoolDataDir, getNodetoolCacheDir, getDefaultDbPath, getPostgresDatabaseUrl, getDefaultVectorstoreDbPath, getDefaultAssetsPath, getDefaultTransformersJsCacheDir, getAssetFilePath, buildAssetUrl, getManagedWorkspacesDir, getManagedWorkspaceDir, managedWorkspaceKey, workspaceStorageKind } from "./paths.js";
13
+ export { getNodetoolDataDir, getNodetoolCacheDir, getDefaultDbPath, getPostgresDatabaseUrl, getDefaultVectorstoreDbPath, getDefaultAssetsPath, getDefaultTransformersJsCacheDir, getHfHubCacheDir, getHfHomeDir, getLlamaCppCacheDir, getAssetFilePath, buildAssetUrl, getManagedWorkspacesDir, getManagedWorkspaceDir, managedWorkspaceKey, workspaceStorageKind } from "./paths.js";
14
14
  export { loadAssetStorageConfig, loadTempStorageConfig, SIGNED_URL_TTL, type StorageConfig } from "./storage-config.js";
15
- export { redactPrivateKeys, redactTraceText } from "./trace-redaction.js";
15
+ export { createTraceTextRedactor, redactPrivateKeys, redactTraceText } from "./trace-redaction.js";
16
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,YAAY,EACb,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,eAAe,EACf,MAAM,EACN,UAAU,EACV,gBAAgB,EACjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,EAAE,gCAAgC,EAAE,MAAM,gBAAgB,CAAC;AAElE,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,KAAK,mBAAmB,EACzB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,UAAU,EACV,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,KAAK,QAAQ,EACb,KAAK,cAAc,EACnB,KAAK,MAAM,EACZ,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,gCAAgC,EAChC,gCAAgC,EAChC,gCAAgC,EAChC,gCAAgC,EAChC,gBAAgB,EAChB,KAAK,eAAe,EACrB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,0BAA0B,EAC1B,KAAK,sBAAsB,EAC5B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,2BAA2B,EAC3B,oBAAoB,EACpB,gCAAgC,EAChC,gBAAgB,EAChB,aAAa,EACb,uBAAuB,EACvB,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,cAAc,EACd,KAAK,aAAa,EACnB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,YAAY,EACb,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,eAAe,EACf,MAAM,EACN,UAAU,EACV,gBAAgB,EACjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,EAAE,gCAAgC,EAAE,MAAM,gBAAgB,CAAC;AAElE,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,KAAK,mBAAmB,EACzB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,UAAU,EACV,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,KAAK,QAAQ,EACb,KAAK,cAAc,EACnB,KAAK,MAAM,EACZ,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,gCAAgC,EAChC,gCAAgC,EAChC,gCAAgC,EAChC,gCAAgC,EAChC,gBAAgB,EAChB,KAAK,eAAe,EACrB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,0BAA0B,EAC1B,KAAK,sBAAsB,EAC5B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,2BAA2B,EAC3B,oBAAoB,EACpB,gCAAgC,EAChC,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,uBAAuB,EACvB,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,cAAc,EACd,KAAK,aAAa,EACnB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC"}
package/dist/index.js CHANGED
@@ -10,7 +10,7 @@ export { setLogHook, configureLogging, getLogLevel, createLogger } from "./loggi
10
10
  export { importOptionalModule } from "./optional-modules.js";
11
11
  export { PACKAGE_RUNTIME_ASSETS, PACKAGE_RUNTIME_ASSET_DIRS, SHIPPED_SANDBOX_PACKS_SOURCE_DIR, SHIPPED_SANDBOX_PACKS_BUNDLE_DIR, SHIPPED_SYSTEM_SKILLS_SOURCE_DIR, SHIPPED_SYSTEM_SKILLS_BUNDLE_DIR, findPackageAsset } from "./package-asset-registry.js";
12
12
  export { resolvePackageAssetPath, loadPackageAssetJson, getPackageAssetResolutions } from "./package-assets.js";
13
- export { getNodetoolDataDir, getNodetoolCacheDir, getDefaultDbPath, getPostgresDatabaseUrl, getDefaultVectorstoreDbPath, getDefaultAssetsPath, getDefaultTransformersJsCacheDir, getAssetFilePath, buildAssetUrl, getManagedWorkspacesDir, getManagedWorkspaceDir, managedWorkspaceKey, workspaceStorageKind } from "./paths.js";
13
+ export { getNodetoolDataDir, getNodetoolCacheDir, getDefaultDbPath, getPostgresDatabaseUrl, getDefaultVectorstoreDbPath, getDefaultAssetsPath, getDefaultTransformersJsCacheDir, getHfHubCacheDir, getHfHomeDir, getLlamaCppCacheDir, getAssetFilePath, buildAssetUrl, getManagedWorkspacesDir, getManagedWorkspaceDir, managedWorkspaceKey, workspaceStorageKind } from "./paths.js";
14
14
  export { loadAssetStorageConfig, loadTempStorageConfig, SIGNED_URL_TTL } from "./storage-config.js";
15
- export { redactPrivateKeys, redactTraceText } from "./trace-redaction.js";
15
+ export { createTraceTextRedactor, redactPrivateKeys, redactTraceText } from "./trace-redaction.js";
16
16
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,YAAY,EACb,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,eAAe,EACf,MAAM,EACN,UAAU,EACV,gBAAgB,EACjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,EAAE,gCAAgC,EAAE,MAAM,gBAAgB,CAAC;AAElE,OAAO,EACL,cAAc,EACd,iBAAiB,EAElB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,UAAU,EAGV,gBAAgB,EAChB,WAAW,EACX,YAAY,EAIb,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,gCAAgC,EAChC,gCAAgC,EAChC,gCAAgC,EAChC,gCAAgC,EAChC,gBAAgB,EAEjB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,0BAA0B,EAE3B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,2BAA2B,EAC3B,oBAAoB,EACpB,gCAAgC,EAChC,gBAAgB,EAChB,aAAa,EACb,uBAAuB,EACvB,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,cAAc,EAEf,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,YAAY,EACb,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,eAAe,EACf,MAAM,EACN,UAAU,EACV,gBAAgB,EACjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,EAAE,gCAAgC,EAAE,MAAM,gBAAgB,CAAC;AAElE,OAAO,EACL,cAAc,EACd,iBAAiB,EAElB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,UAAU,EAGV,gBAAgB,EAChB,WAAW,EACX,YAAY,EAIb,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,gCAAgC,EAChC,gCAAgC,EAChC,gCAAgC,EAChC,gCAAgC,EAChC,gBAAgB,EAEjB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,0BAA0B,EAE3B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,2BAA2B,EAC3B,oBAAoB,EACpB,gCAAgC,EAChC,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,uBAAuB,EACvB,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,cAAc,EAEf,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC"}
package/dist/logging.d.ts CHANGED
@@ -29,6 +29,10 @@ export type LogHook = (entry: LogEntry) => {
29
29
  };
30
30
  /** Install the runtime hook without making configuration depend on telemetry. */
31
31
  export declare function setLogHook(hook: LogHook | null): void;
32
+ /** The log file rotates when a write would take it past this size. */
33
+ export declare const MAX_LOG_FILE_BYTES: number;
34
+ /** Rotated copies kept as <file>.1 … <file>.N; older ones are overwritten. */
35
+ export declare const MAX_ROTATED_LOG_FILES = 3;
32
36
  /**
33
37
  * Configure the global log level.
34
38
  * Priority: explicit option > NODETOOL_LOG_LEVEL env > LOG_LEVEL env > "info"
@@ -1 +1 @@
1
- {"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../src/logging.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAcH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3D,MAAM,WAAW,MAAM;IACrB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC7C,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC5C,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC5C,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;CAC9C;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,QAAQ,CAAC;CAClB;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,SAAS,OAAO,EAAE,CAAC;CACnC;AACD,MAAM,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,QAAQ,KAAK;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,SAAS,OAAO,EAAE,CAAA;CAAE,CAAC;AAIzF,iFAAiF;AACjF,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,GAAG,IAAI,CAAoB;AAoC1E;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,GAAE,cAAmB,GAAG,IAAI,CAiBhE;AAED,wCAAwC;AACxC,wBAAgB,WAAW,IAAI,QAAQ,CAEtC;AA2HD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAOjD"}
1
+ {"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../src/logging.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAmBH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3D,MAAM,WAAW,MAAM;IACrB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC7C,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC5C,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC5C,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;CAC9C;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,QAAQ,CAAC;CAClB;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,SAAS,OAAO,EAAE,CAAC;CACnC;AACD,MAAM,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,QAAQ,KAAK;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,SAAS,OAAO,EAAE,CAAA;CAAE,CAAC;AAIzF,iFAAiF;AACjF,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,GAAG,IAAI,CAAoB;AAiC1E,sEAAsE;AACtE,eAAO,MAAM,kBAAkB,QAAmB,CAAC;AAEnD,8EAA8E;AAC9E,eAAO,MAAM,qBAAqB,IAAI,CAAC;AA6CvC;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,GAAE,cAAmB,GAAG,IAAI,CAiBhE;AAED,wCAAwC;AACxC,wBAAgB,WAAW,IAAI,QAAQ,CAEtC;AAgID;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAOjD"}
package/dist/logging.js CHANGED
@@ -37,8 +37,50 @@ function normalizeLevel(raw) {
37
37
  // where `process` is undefined.
38
38
  const ENV = IS_NODE ? process.env : {};
39
39
  let currentLevel = normalizeLevel(ENV["NODETOOL_LOG_LEVEL"] ?? ENV["LOG_LEVEL"] ?? "") ?? "info";
40
+ /** The log file rotates when a write would take it past this size. */
41
+ export const MAX_LOG_FILE_BYTES = 10 * 1024 * 1024;
42
+ /** Rotated copies kept as <file>.1 … <file>.N; older ones are overwritten. */
43
+ export const MAX_ROTATED_LOG_FILES = 3;
40
44
  /** File descriptor for log output. Defaults to stderr; set via NODETOOL_LOG_FILE. */
41
45
  let logFd = null;
46
+ let logFilePath = null;
47
+ let logFileBytes = 0;
48
+ function openLogFile(fs, file) {
49
+ const fd = fs.openSync(file, "a");
50
+ logFd = fd;
51
+ logFilePath = file;
52
+ logFileBytes = fs.fstatSync(fd).size;
53
+ return fd;
54
+ }
55
+ /**
56
+ * Shifts <file> → .1 → .2 … and drops the oldest copy. If a rename fails,
57
+ * the live file is truncated so the log never grows without bound.
58
+ */
59
+ function rotateLogFile(fs, fd, file) {
60
+ fs.closeSync(fd);
61
+ logFd = null;
62
+ try {
63
+ for (let i = MAX_ROTATED_LOG_FILES - 1; i >= 1; i--) {
64
+ if (fs.existsSync(`${file}.${i}`)) {
65
+ fs.renameSync(`${file}.${i}`, `${file}.${i + 1}`);
66
+ }
67
+ }
68
+ fs.renameSync(file, `${file}.1`);
69
+ }
70
+ catch {
71
+ fs.truncateSync(file, 0);
72
+ }
73
+ return openLogFile(fs, file);
74
+ }
75
+ function writeLogFile(fs, fd, line) {
76
+ const lineBytes = Buffer.byteLength(line);
77
+ let target = fd;
78
+ if (logFilePath && logFileBytes > 0 && logFileBytes + lineBytes > MAX_LOG_FILE_BYTES) {
79
+ target = rotateLogFile(fs, fd, logFilePath);
80
+ }
81
+ fs.writeSync(target, line);
82
+ logFileBytes += lineBytes;
83
+ }
42
84
  /**
43
85
  * Configure the global log level.
44
86
  * Priority: explicit option > NODETOOL_LOG_LEVEL env > LOG_LEVEL env > "info"
@@ -58,7 +100,7 @@ export function configureLogging(opts = {}) {
58
100
  const logFile = ENV["NODETOOL_LOG_FILE"];
59
101
  if (logFile && logFd === null && fsSync) {
60
102
  try {
61
- logFd = fsSync.openSync(logFile, "a");
103
+ openLogFile(fsSync, logFile);
62
104
  }
63
105
  catch {
64
106
  // Fall back to stderr silently
@@ -157,7 +199,13 @@ function write(level, name, msg, args) {
157
199
  const nm = `${C.cyan}${name}${C.reset}`;
158
200
  const line = `${ts} | ${lv} | ${nm} | ${msg}${formatArgs(args)}\n`;
159
201
  if (logFd !== null && fsSync) {
160
- fsSync.writeSync(logFd, line);
202
+ try {
203
+ writeLogFile(fsSync, logFd, line);
204
+ }
205
+ catch {
206
+ logFd = null;
207
+ process.stderr.write(line);
208
+ }
161
209
  }
162
210
  else if (IS_NODE) {
163
211
  process.stderr.write(line);
@@ -1 +1 @@
1
- {"version":3,"file":"logging.js","sourceRoot":"","sources":["../src/logging.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logging.js","sourceRoot":"","sources":["../src/logging.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,33 @@
4
4
  * NODETOOL_OPTIONAL_NODE_MODULES. The fallback path is Node-only; on
5
5
  * browsers / Edge we just re-throw the original import failure.
6
6
  */
7
+ import { z } from "zod";
7
8
  export declare function importOptionalModule<T>(packageName: string, options?: {
8
9
  commonJs?: boolean;
9
10
  }): Promise<T>;
11
+ /** One value of a package's `exports` field, parsed. */
12
+ type ExportNode = {
13
+ kind: "path";
14
+ path: string;
15
+ } | {
16
+ kind: "blocked";
17
+ } | {
18
+ kind: "list";
19
+ entries: ExportNode[];
20
+ } | {
21
+ kind: "map";
22
+ entries: [string, ExportNode][];
23
+ };
24
+ /** The part of a `package.json` that decides what an import loads. */
25
+ export declare const packageManifestSchema: z.ZodObject<{
26
+ exports: z.ZodOptional<z.ZodType<ExportNode, unknown, z.core.$ZodTypeInternals<ExportNode, unknown>>>;
27
+ main: z.ZodOptional<z.ZodString>;
28
+ }, z.core.$strip>;
29
+ export type PackageManifest = z.infer<typeof packageManifestSchema>;
30
+ /**
31
+ * The file an ESM import of `subpath` (`"."` or `"./name"`) loads from a
32
+ * package with this manifest, or null when the package does not export it.
33
+ */
34
+ export declare function esmExportPath(manifest: PackageManifest, subpath: string): string | null;
35
+ export {};
10
36
  //# sourceMappingURL=optional-modules.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"optional-modules.d.ts","sourceRoot":"","sources":["../src/optional-modules.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,wBAAsB,oBAAoB,CAAC,CAAC,EAC1C,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAO,GACnC,OAAO,CAAC,CAAC,CAAC,CAyDZ"}
1
+ {"version":3,"file":"optional-modules.d.ts","sourceRoot":"","sources":["../src/optional-modules.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,wBAAsB,oBAAoB,CAAC,CAAC,EAC1C,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAO,GACnC,OAAO,CAAC,CAAC,CAAC,CAwEZ;AAKD,wDAAwD;AACxD,KAAK,UAAU,GACX;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,UAAU,EAAE,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,CAAA;CAAE,CAAC;AAiBrD,sEAAsE;AACtE,eAAO,MAAM,qBAAqB;;;iBAGhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AA+BpE;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,MAAM,GACd,MAAM,GAAG,IAAI,CAsCf"}
@@ -4,6 +4,7 @@
4
4
  * NODETOOL_OPTIONAL_NODE_MODULES. The fallback path is Node-only; on
5
5
  * browsers / Edge we just re-throw the original import failure.
6
6
  */
7
+ import { z } from "zod";
7
8
  import { IS_NODE, importNodeBuiltin, importHidden } from "./node-import.js";
8
9
  export async function importOptionalModule(packageName, options = {}) {
9
10
  try {
@@ -43,7 +44,19 @@ export async function importOptionalModule(packageName, options = {}) {
43
44
  // SAFETY: The caller supplies the API type for this trusted runtime package.
44
45
  return requireFromOptional(packageName);
45
46
  }
46
- const resolved = requireFromOptional.resolve(packageName);
47
+ let resolved;
48
+ try {
49
+ resolved = requireFromOptional.resolve(packageName);
50
+ }
51
+ catch (resolveError) {
52
+ // `require.resolve` sees only the `require` export condition, so an
53
+ // ESM-only package (`"exports": { "import": … }`) is invisible to it.
54
+ const esmEntry = await resolveEsmEntry(optionalNodeModules, packageName, pathMod);
55
+ if (esmEntry === null) {
56
+ throw resolveError;
57
+ }
58
+ resolved = esmEntry;
59
+ }
47
60
  const fileMod = await importHidden(urlMod.pathToFileURL(resolved).href);
48
61
  if (fileMod === null) {
49
62
  throw error;
@@ -55,4 +68,120 @@ export async function importOptionalModule(packageName, options = {}) {
55
68
  }
56
69
  }
57
70
  }
71
+ /** The export conditions a Node ESM `import` matches. */
72
+ const ESM_CONDITIONS = new Set(["node", "import", "default"]);
73
+ const exportNodeSchema = z.lazy(() => z.union([
74
+ z.string().transform((path) => ({ kind: "path", path })),
75
+ z.null().transform(() => ({ kind: "blocked" })),
76
+ z
77
+ .array(exportNodeSchema)
78
+ .transform((entries) => ({ kind: "list", entries })),
79
+ z
80
+ .record(z.string(), exportNodeSchema)
81
+ .transform((record) => ({ kind: "map", entries: Object.entries(record) }))
82
+ ]));
83
+ /** The part of a `package.json` that decides what an import loads. */
84
+ export const packageManifestSchema = z.object({
85
+ exports: exportNodeSchema.optional(),
86
+ main: z.string().optional()
87
+ });
88
+ /** The first path an export maps to under {@link ESM_CONDITIONS}. */
89
+ function exportTarget(node) {
90
+ switch (node.kind) {
91
+ case "path":
92
+ return node.path;
93
+ case "blocked":
94
+ return null;
95
+ case "list":
96
+ for (const entry of node.entries) {
97
+ const resolved = exportTarget(entry);
98
+ if (resolved !== null) {
99
+ return resolved;
100
+ }
101
+ }
102
+ return null;
103
+ case "map":
104
+ // Node walks conditions in the object's key order.
105
+ for (const [condition, value] of node.entries) {
106
+ if (ESM_CONDITIONS.has(condition)) {
107
+ const resolved = exportTarget(value);
108
+ if (resolved !== null) {
109
+ return resolved;
110
+ }
111
+ }
112
+ }
113
+ return null;
114
+ }
115
+ }
116
+ /**
117
+ * The file an ESM import of `subpath` (`"."` or `"./name"`) loads from a
118
+ * package with this manifest, or null when the package does not export it.
119
+ */
120
+ export function esmExportPath(manifest, subpath) {
121
+ const { exports } = manifest;
122
+ if (exports === undefined) {
123
+ if (subpath !== ".") {
124
+ return subpath;
125
+ }
126
+ return manifest.main ?? "./index.js";
127
+ }
128
+ const subpaths = exports.kind === "map" &&
129
+ exports.entries.some(([key]) => key.startsWith("."))
130
+ ? exports.entries
131
+ : null;
132
+ if (subpaths === null) {
133
+ return subpath === "." ? exportTarget(exports) : null;
134
+ }
135
+ const exact = subpaths.find(([key]) => key === subpath);
136
+ if (exact !== undefined) {
137
+ return exportTarget(exact[1]);
138
+ }
139
+ for (const [pattern, value] of subpaths) {
140
+ const star = pattern.indexOf("*");
141
+ if (star === -1) {
142
+ continue;
143
+ }
144
+ const prefix = pattern.slice(0, star);
145
+ const suffix = pattern.slice(star + 1);
146
+ if (subpath.length >= prefix.length + suffix.length &&
147
+ subpath.startsWith(prefix) &&
148
+ subpath.endsWith(suffix)) {
149
+ const target = exportTarget(value);
150
+ const match = subpath.slice(prefix.length, subpath.length - suffix.length);
151
+ return target === null ? null : target.replaceAll("*", match);
152
+ }
153
+ }
154
+ return null;
155
+ }
156
+ /** Resolve an ESM-only package inside the optional `node_modules`. */
157
+ async function resolveEsmEntry(optionalNodeModules, specifier, pathMod) {
158
+ const fsMod = await importNodeBuiltin("node:fs/promises");
159
+ if (!fsMod) {
160
+ return null;
161
+ }
162
+ const parts = specifier.split("/");
163
+ const nameLength = specifier.startsWith("@") ? 2 : 1;
164
+ const packageDir = pathMod.join(optionalNodeModules, ...parts.slice(0, nameLength));
165
+ const rest = parts.slice(nameLength);
166
+ const subpath = rest.length === 0 ? "." : `./${rest.join("/")}`;
167
+ let raw;
168
+ try {
169
+ raw = await fsMod.readFile(pathMod.join(packageDir, "package.json"), "utf8");
170
+ }
171
+ catch {
172
+ return null;
173
+ }
174
+ let parsed;
175
+ try {
176
+ parsed = packageManifestSchema.safeParse(JSON.parse(raw));
177
+ }
178
+ catch {
179
+ return null;
180
+ }
181
+ if (!parsed.success) {
182
+ return null;
183
+ }
184
+ const target = esmExportPath(parsed.data, subpath);
185
+ return target === null ? null : pathMod.join(packageDir, target);
186
+ }
58
187
  //# sourceMappingURL=optional-modules.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"optional-modules.js","sourceRoot":"","sources":["../src/optional-modules.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAE5E,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,WAAmB,EACnB,OAAO,GAA2B,EAAE;IAEpC,IAAI,CAAC;QACH,2EAA2E;QAC3E,mDAAmD;QACnD,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,EAAE,CAAC;YAChC,MAAM,MAAM,GACV,MAAM,iBAAiB,CAA+B,aAAa,CAAC,CAAC;YACvE,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;YACvD,CAAC;YACD,iFAAiF;YACjF,OAAO,MAAM,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,CAAM,CAAC;QACjE,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,YAAY,CAAI,WAAW,CAAC,CAAC;QAC/C,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACb,yBAAyB,WAAW,0BAA0B,CAC/D,CAAC;QACJ,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,KAAK,CAAC;QACd,CAAC;QACD,MAAM,mBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAC1E,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACzB,MAAM,KAAK,CAAC;QACd,CAAC;QACD,IAAI,CAAC;YACH,MAAM,MAAM,GACV,MAAM,iBAAiB,CAA+B,aAAa,CAAC,CAAC;YACvE,MAAM,OAAO,GACX,MAAM,iBAAiB,CAA6B,WAAW,CAAC,CAAC;YACnE,MAAM,MAAM,GACV,MAAM,iBAAiB,CAA4B,UAAU,CAAC,CAAC;YACjE,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;gBACnC,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,mBAAmB,GAAG,MAAM,CAAC,aAAa,CAC9C,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,EAAE,cAAc,CAAC,CACxD,CAAC;YACF,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrB,6EAA6E;gBAC7E,OAAO,mBAAmB,CAAC,WAAW,CAAM,CAAC;YAC/C,CAAC;YACD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAC1D,MAAM,OAAO,GAAG,MAAM,YAAY,CAChC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,IAAI,CACpC,CAAC;YACF,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBACrB,MAAM,KAAK,CAAC;YACd,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"optional-modules.js","sourceRoot":"","sources":["../src/optional-modules.ts"],"names":[],"mappings":"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"}
package/dist/paths.d.ts CHANGED
@@ -36,6 +36,38 @@ export declare function getDefaultAssetsPath(): string;
36
36
  * under the Nodetool data directory rather than alongside `~/.cache/huggingface`.
37
37
  */
38
38
  export declare function getDefaultTransformersJsCacheDir(): string;
39
+ /**
40
+ * Hugging Face Hub cache root (the directory holding `models--org--name`).
41
+ *
42
+ * Resolves the variables in the order Python `huggingface_hub` does
43
+ * (`huggingface_hub/constants.py`), so the TypeScript server, the desktop
44
+ * app and the Python worker read and write one cache:
45
+ *
46
+ * 1. `$HF_HUB_CACHE`
47
+ * 2. `$HUGGINGFACE_HUB_CACHE` (legacy name)
48
+ * 3. `$HF_HOME/hub`
49
+ * 4. `$XDG_CACHE_HOME/huggingface/hub`
50
+ * 5. `~/.cache/huggingface/hub`
51
+ *
52
+ * Blank values count as unset. A leading `~` is expanded.
53
+ */
54
+ export declare function getHfHubCacheDir(): string;
55
+ /**
56
+ * Hugging Face home directory (`$HF_HOME`, else `$XDG_CACHE_HOME/huggingface`,
57
+ * else `~/.cache/huggingface`), as Python `huggingface_hub` resolves it. The
58
+ * token file lives here.
59
+ */
60
+ export declare function getHfHomeDir(): string;
61
+ /**
62
+ * Directory llama.cpp caches GGUF downloads in, resolved the way llama.cpp's
63
+ * `fs_get_cache_directory` does:
64
+ *
65
+ * - `$LLAMA_CACHE` when set, on every platform.
66
+ * - macOS: `~/Library/Caches/llama.cpp`
67
+ * - Windows: `%LOCALAPPDATA%\llama.cpp` (fallback `~/AppData/Local/llama.cpp`)
68
+ * - Linux: `$XDG_CACHE_HOME/llama.cpp` (fallback `~/.cache/llama.cpp`)
69
+ */
70
+ export declare function getLlamaCppCacheDir(): string;
39
71
  /**
40
72
  * Per-user cache root for derived artifacts NodeTool can always rebuild.
41
73
  *
@@ -1 +1 @@
1
- {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AA0BH;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAa3C;AAqBD,wBAAgB,sBAAsB,IAAI,MAAM,GAAG,SAAS,CAO3D;AA+CD,wFAAwF;AACxF,wBAAgB,gBAAgB,IAAI,MAAM,CAOzC;AAED,qFAAqF;AACrF,wBAAgB,2BAA2B,IAAI,MAAM,CAKpD;AAED,wFAAwF;AACxF,wBAAgB,oBAAoB,IAAI,MAAM,CAM7C;AAED;;;;;;;GAOG;AACH,wBAAgB,gCAAgC,IAAI,MAAM,CAKzD;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAe5C;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAUjD;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAKhD;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE7D;AAOD;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,GAAG,OAAO,CAIxD"}
1
+ {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AA0BH;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAa3C;AAqBD,wBAAgB,sBAAsB,IAAI,MAAM,GAAG,SAAS,CAO3D;AA+CD,wFAAwF;AACxF,wBAAgB,gBAAgB,IAAI,MAAM,CAOzC;AAED,qFAAqF;AACrF,wBAAgB,2BAA2B,IAAI,MAAM,CAKpD;AAED,wFAAwF;AACxF,wBAAgB,oBAAoB,IAAI,MAAM,CAM7C;AAED;;;;;;;GAOG;AACH,wBAAgB,gCAAgC,IAAI,MAAM,CAKzD;AAiBD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAKzC;AAED;;;;GAIG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAMrC;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAe5C;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAe5C;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAUjD;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,CAKhD;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE7D;AAOD;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,GAAG,OAAO,CAIxD"}
package/dist/paths.js CHANGED
@@ -129,6 +129,81 @@ export function getDefaultTransformersJsCacheDir() {
129
129
  return (process.env["TRANSFORMERS_JS_CACHE_DIR"] ??
130
130
  join(getNodetoolDataDir(), "transformers-js-cache"));
131
131
  }
132
+ /** Expand a leading `~` (alone or followed by a separator) to the home directory. */
133
+ function expandHome(value) {
134
+ if (value === "~")
135
+ return homedir();
136
+ if (value.startsWith("~/") || value.startsWith("~\\")) {
137
+ return join(homedir(), value.slice(2));
138
+ }
139
+ return value;
140
+ }
141
+ /** The value of an environment variable, or undefined when unset or blank. */
142
+ function envValue(name) {
143
+ const value = process.env[name]?.trim();
144
+ return value ? value : undefined;
145
+ }
146
+ /**
147
+ * Hugging Face Hub cache root (the directory holding `models--org--name`).
148
+ *
149
+ * Resolves the variables in the order Python `huggingface_hub` does
150
+ * (`huggingface_hub/constants.py`), so the TypeScript server, the desktop
151
+ * app and the Python worker read and write one cache:
152
+ *
153
+ * 1. `$HF_HUB_CACHE`
154
+ * 2. `$HUGGINGFACE_HUB_CACHE` (legacy name)
155
+ * 3. `$HF_HOME/hub`
156
+ * 4. `$XDG_CACHE_HOME/huggingface/hub`
157
+ * 5. `~/.cache/huggingface/hub`
158
+ *
159
+ * Blank values count as unset. A leading `~` is expanded.
160
+ */
161
+ export function getHfHubCacheDir() {
162
+ if (!IS_NODE)
163
+ return notOnNode("getHfHubCacheDir");
164
+ const hubCache = envValue("HF_HUB_CACHE") ?? envValue("HUGGINGFACE_HUB_CACHE");
165
+ if (hubCache)
166
+ return expandHome(hubCache);
167
+ return join(getHfHomeDir(), "hub");
168
+ }
169
+ /**
170
+ * Hugging Face home directory (`$HF_HOME`, else `$XDG_CACHE_HOME/huggingface`,
171
+ * else `~/.cache/huggingface`), as Python `huggingface_hub` resolves it. The
172
+ * token file lives here.
173
+ */
174
+ export function getHfHomeDir() {
175
+ if (!IS_NODE)
176
+ return notOnNode("getHfHomeDir");
177
+ const hfHome = envValue("HF_HOME");
178
+ if (hfHome)
179
+ return expandHome(hfHome);
180
+ const xdgCache = envValue("XDG_CACHE_HOME");
181
+ return join(xdgCache ? expandHome(xdgCache) : join(homedir(), ".cache"), "huggingface");
182
+ }
183
+ /**
184
+ * Directory llama.cpp caches GGUF downloads in, resolved the way llama.cpp's
185
+ * `fs_get_cache_directory` does:
186
+ *
187
+ * - `$LLAMA_CACHE` when set, on every platform.
188
+ * - macOS: `~/Library/Caches/llama.cpp`
189
+ * - Windows: `%LOCALAPPDATA%\llama.cpp` (fallback `~/AppData/Local/llama.cpp`)
190
+ * - Linux: `$XDG_CACHE_HOME/llama.cpp` (fallback `~/.cache/llama.cpp`)
191
+ */
192
+ export function getLlamaCppCacheDir() {
193
+ if (!IS_NODE)
194
+ return notOnNode("getLlamaCppCacheDir");
195
+ const override = envValue("LLAMA_CACHE");
196
+ if (override)
197
+ return expandHome(override);
198
+ if (process.platform === "darwin") {
199
+ return join(homedir(), "Library", "Caches", "llama.cpp");
200
+ }
201
+ if (process.platform === "win32") {
202
+ return join(envValue("LOCALAPPDATA") ?? join(homedir(), "AppData", "Local"), "llama.cpp");
203
+ }
204
+ const xdgCache = envValue("XDG_CACHE_HOME");
205
+ return join(xdgCache ? expandHome(xdgCache) : join(homedir(), ".cache"), "llama.cpp");
206
+ }
132
207
  /**
133
208
  * Per-user cache root for derived artifacts NodeTool can always rebuild.
134
209
  *
package/dist/paths.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"paths.js","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"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"}
@@ -50,9 +50,10 @@ function sec(envVar, group, description) {
50
50
  // Folders / paths
51
51
  s("FONT_PATH", "Folders", "Location of font folder used by image processing nodes like RenderText. If not specified, the system will use default fonts.");
52
52
  s("BLENDER_PATH", "Folders", "Path to the Blender executable used by the nodetool.blender nodes. If not specified, the nodes look for blender on PATH and in the well-known install locations.");
53
+ s("MANIMGX_PATH", "Folders", "Path to the manimgx executable used by the nodetool.manimgx nodes. If not specified, the nodes look for manimgx on PATH and in ~/.local/bin.");
53
54
  s("VECTORSTORE_DB_PATH", "Folders", "Location of the sqlite-vec vector database file. Used to store and retrieve embeddings for semantic search and RAG applications.");
54
55
  s("USERS_FILE", "Folders", "Path to the users.json registry of API users and hashed bearer tokens. Defaults to ~/.config/nodetool/users.json, or %APPDATA%\\nodetool\\users.json on Windows.");
55
- s("TRANSFORMERS_JS_CACHE_DIR", "TransformersJs", "Cache directory for Transformers.js (@huggingface/transformers) model downloads. Defaults to <data-dir>/transformers-js-cache. This is separate from the Python HuggingFace Hub cache because the on-disk layout differs.");
56
+ s("TRANSFORMERS_JS_CACHE_DIR", "TransformersJs", "Cache directory for Transformers.js (@huggingface/transformers) model downloads. Defaults to <data-dir>/transformers-js-cache. This is separate from the Python HuggingFace Hub cache because the on-disk layout differs. Restart the backend after changing this setting.");
56
57
  s("NODETOOL_EXTERNAL_ASSET_THRESHOLD_BYTES", "Folders", "Desktop app only: files imported at or above this size, in bytes, stay where they are and the asset references them in place instead of copying them into the asset folder (default: 1073741824, 1 GiB).");
57
58
  s("NODETOOL_VIDEO_PROXY_MIN_SIZE_PX", "Folders", "Desktop app only: an imported video whose longer side is at least this many pixels gets a smaller all-intra preview proxy, made in the background, so timeline scrubbing seeks fast. Export always reads the original. 0 makes a proxy for every video, a negative value turns background proxies off (default: 1920).");
58
59
  // Autosave
@@ -64,6 +65,7 @@ s("AUTOSAVE_KEEP_DAYS", "Autosave", "Number of days to keep autosave versions be
64
65
  // Execution
65
66
  s("MAX_CONCURRENT_JOBS", "Execution", "Maximum number of workflow runs a single client can execute at once (default: 4). Additional runs are queued and start automatically as running ones finish, preventing provider/API overload.");
66
67
  s("MAX_CONCURRENT_RUNS_PER_WORKFLOW", "Execution", "Maximum number of concurrent runs of the same workflow before additional runs queue (default: 4). Only applies to runs that opt into concurrency (e.g. timeline/sketch generation); canvas runs always stay sequential per workflow. Also bounded by MAX_CONCURRENT_JOBS.");
68
+ s("NODETOOL_PYTHON_ON_DEMAND", "Execution", "Start the Python worker when a workflow first needs it instead of at server launch (default: false). Python-only providers such as huggingface-local appear once the worker has started. Restart the backend after changing this setting.", ["true", "false"]);
67
69
  // Agent budgets — the bounds one agent run shares across every loop it starts
68
70
  // (a chat turn, its sub-agents, an AgentNode it spawns). See A1 in
69
71
  // docs/plans/agent-system-improvements.md.
@@ -79,15 +81,20 @@ s("NODETOOL_CHAT_COMPACTION_TOKENS", "Agents", "Prompt size, in tokens, at which
79
81
  s("NODETOOL_CHAT_COMPACTION_KEEP_TURNS", "Agents", "How many of the most recent user turns a compaction leaves verbatim (default: 4). Everything before them becomes the summary. The cut always lands on a user message, so a tool call is never separated from its result.");
80
82
  s("NODETOOL_COMPACTION_MODEL", "Agents", "Model that writes the compaction summary, as `provider/model` or a bare model id on the turn's own provider. Unset, the turn summarizes with the model it is already running. A summarizer that fails leaves the thread uncompacted and the turn runs against the full history.");
81
83
  // Provider endpoints
82
- s("VLLM_BASE_URL", "vLLM", "Base URL for the vLLM OpenAI-compatible server (e.g., http://localhost:7777)");
84
+ s("VLLM_BASE_URL", "vLLM", "Base URL for the vLLM OpenAI-compatible server (e.g., http://127.0.0.1:8000, vLLM's default port).");
85
+ s("OLLAMA_API_URL", "Ollama", "Base URL of the Ollama server (default: http://127.0.0.1:11434). Set it when Ollama runs on another host or port, for example in WSL, Docker or on another machine.");
86
+ s("OLLAMA_KEEP_ALIVE", "Ollama", "How long Ollama keeps a model loaded after a request, in Ollama's duration syntax (default: 10m). -1 keeps it loaded, 0 unloads it at once.");
83
87
  s("OLLAMA_CONTEXT_LENGTH", "Ollama", "Context window size (in tokens) for Ollama models. If not set, the provider will query the model for its default context length.");
84
88
  s("LLAMA_CPP_URL", "LlamaCpp", "Base URL for the llama.cpp server (e.g., http://127.0.0.1:8080).");
85
- s("LLAMA_CPP_CONTEXT_LENGTH", "LlamaCpp", "Context window size (in tokens) for llama.cpp models. Defaults to 128000.");
89
+ s("LLAMA_CPP_CONTEXT_LENGTH", "LlamaCpp", "Context size (in tokens) the llama.cpp server was started with (its -c option). The server does not report it, so NodeTool uses this value to budget prompts. Unset, the model's published context window is used.");
86
90
  s("NODE_LLAMA_CPP_MODELS_DIR", "NodeLlamaCpp", "Directory containing local GGUF model files for in-process llama.cpp inference. Defaults to the platform llama.cpp cache directory.");
87
91
  s("NODE_LLAMA_CPP_GPU_BACKEND", "NodeLlamaCpp", "GPU backend for in-process llama.cpp inference. 'auto' lets node-llama-cpp detect the best backend.", ["auto", "metal", "cuda", "vulkan", "cpu"]);
88
92
  s("LMSTUDIO_API_URL", "LMStudio", "Base URL for the LM Studio OpenAI-compatible server (e.g., http://localhost:1234)");
93
+ sec("LMSTUDIO_API_KEY", "LMStudio", "API key for an LM Studio server that requires authentication. Leave empty for a default LM Studio install.");
89
94
  s("WHISPER_CPP_MODELS_DIR", "WhisperCpp", "Additional directory containing local ggml whisper.cpp and VAD model files. The Hugging Face hub cache is always scanned.");
90
- s("WHISPER_CPP_GPU_BACKEND", "WhisperCpp", "Backend for in-process whisper.cpp inference. 'auto' uses the default build (Metal on macOS). Restart the backend after changing this setting.", ["auto", "metal", "cuda", "vulkan", "cpu"]);
95
+ s("WHISPER_CPP_GPU_BACKEND", "WhisperCpp", "Backend for in-process whisper.cpp inference. 'auto' uses Metal on macOS, and on Windows and Linux tries the CUDA build, then the Vulkan build, then the default CPU build. Restart the backend after changing this setting.", ["auto", "metal", "cuda", "vulkan", "cpu"]);
96
+ s("WAN2GP_MCP_URL", "Wan2GP", "MCP endpoint of the Wan2GP server the Wan2GP nodes call (default: http://127.0.0.1:7866/mcp). A node's own server URL field overrides it. Restart the backend after changing this setting, because the Python worker reads it at start.");
97
+ s("NODETOOL_TORCH_DEVICE", "PythonNodes", "Device the Python worker runs PyTorch models on: cuda, cuda:N for a specific GPU, mps, or cpu. Unset, the worker picks MPS, then CUDA, then CPU. Restart the backend after changing this setting, because the Python worker reads it at start.");
91
98
  s("WHISPER_CPP_SERVER_URL", "WhisperCppServer", "Base URL for a user-run whisper.cpp server (e.g., http://127.0.0.1:8080).");
92
99
  // NodeSupabase
93
100
  s("NODE_SUPABASE_URL", "NodeSupabase", "Supabase project URL used by user-provided nodes (separate from core SUPABASE_URL)");
@@ -105,6 +112,8 @@ s("ZAI_USE_CODING_PLAN", "ZAI", "Use Z.AI coding plan endpoint instead of normal
105
112
  sec("OPENAI_API_KEY", "OpenAI", "OpenAI API key for accessing GPT models, GPT-Image, and other OpenAI services. Get yours at https://platform.openai.com/api-keys");
106
113
  sec("OPENROUTER_API_KEY", "OpenRouter", "OpenRouter API key for accessing multiple AI models through a unified API. Get yours at https://openrouter.ai/settings/keys");
107
114
  sec("REQUESTY_API_KEY", "Requesty", "Requesty API key for accessing multiple AI models through one OpenAI-compatible router. Get yours at https://app.requesty.ai/api-keys");
115
+ sec("OPPER_API_KEY", "Opper", "Opper API key for accessing multiple AI models through one EU-hosted OpenAI-compatible gateway. Get yours at https://platform.opper.ai");
116
+ sec("API_ROUTE_API_KEY", "API Route", "API Route key for hosted OpenAI-compatible chat models. Get yours at https://www.api-route.com/api-keys");
108
117
  sec("ANTHROPIC_API_KEY", "Anthropic", "Anthropic API key for accessing Claude models and other Anthropic services. Get yours at https://console.anthropic.com/settings/keys");
109
118
  sec("DASHSCOPE_API_KEY", "Alibaba Cloud", "Alibaba Cloud Model Studio (DashScope) API key for accessing Qwen models through the OpenAI-compatible endpoint. Get yours at https://modelstudio.console.alibabacloud.com/");
110
119
  s("DASHSCOPE_BASE_URL", "Alibaba Cloud", "Base URL for Alibaba Cloud Model Studio's OpenAI-compatible endpoint. Model Studio keys are region-scoped; set this to your region's endpoint (default: https://dashscope-intl.aliyuncs.com/compatible-mode/v1, the international/Singapore region)");
@@ -1 +1 @@
1
- {"version":3,"file":"setting-catalog.js","sourceRoot":"","sources":["../src/setting-catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setting-catalog.js","sourceRoot":"","sources":["../src/setting-catalog.ts"],"names":[],"mappings":"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"}
@@ -2,4 +2,9 @@
2
2
  export declare function redactPrivateKeys(text: string): string;
3
3
  /** Credential-only fallback used before a database-backed trace sanitizer is installed. */
4
4
  export declare function redactTraceText(text: string, secretValues?: ReadonlySet<string>): string;
5
+ /**
6
+ * Build a redactor that reads secret-named environment variables once.
7
+ * Use it to redact every string of one record, since scanning the environment per string dominates large traces.
8
+ */
9
+ export declare function createTraceTextRedactor(secretValues?: ReadonlySet<string>): (text: string) => string;
5
10
  //# sourceMappingURL=trace-redaction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"trace-redaction.d.ts","sourceRoot":"","sources":["../src/trace-redaction.ts"],"names":[],"mappings":"AAEA,sEAAsE;AACtE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAoBtD;AAED,2FAA2F;AAC3F,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,GAAE,WAAW,CAAC,MAAM,CAAa,GAAG,MAAM,CAiBnG"}
1
+ {"version":3,"file":"trace-redaction.d.ts","sourceRoot":"","sources":["../src/trace-redaction.ts"],"names":[],"mappings":"AAEA,sEAAsE;AACtE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAoBtD;AAED,2FAA2F;AAC3F,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,GAAE,WAAW,CAAC,MAAM,CAAa,GAAG,MAAM,CAEnG;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,GAAE,WAAW,CAAC,MAAM,CAAa,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAkB/G"}
@@ -27,25 +27,33 @@ export function redactPrivateKeys(text) {
27
27
  }
28
28
  /** Credential-only fallback used before a database-backed trace sanitizer is installed. */
29
29
  export function redactTraceText(text, secretValues = new Set()) {
30
- let value = text;
30
+ return createTraceTextRedactor(secretValues)(text);
31
+ }
32
+ /**
33
+ * Build a redactor that reads secret-named environment variables once.
34
+ * Use it to redact every string of one record, since scanning the environment per string dominates large traces.
35
+ */
36
+ export function createTraceTextRedactor(secretValues = new Set()) {
31
37
  const secrets = new Set(secretValues);
32
38
  for (const [key, secret] of Object.entries(safeProcessEnv())) {
33
39
  if (secret && secret.length >= 8 && /(?:KEY|TOKEN|SECRET|PASSWORD|PASS|CREDENTIALS?|DATABASE_URL|_DSN)$/i.test(key)) {
34
40
  secrets.add(secret);
35
41
  }
36
42
  }
37
- for (const secret of [...secrets].sort((a, b) => b.length - a.length)) {
38
- if (secret.length > 0) {
43
+ const ordered = [...secrets].filter((secret) => secret.length > 0).sort((a, b) => b.length - a.length);
44
+ return (text) => {
45
+ let value = text;
46
+ for (const secret of ordered) {
39
47
  value = value.split(secret).join("[REDACTED:secret]");
40
48
  }
41
- }
42
- return redactPrivateKeys(value)
43
- .replace(/\b(?:Bearer|Basic|Token)\s+[A-Za-z0-9._~+/=-]{8,}/gi, "[REDACTED:authorization]")
44
- .replace(/\b(?:sk-[A-Za-z0-9_-]{16,}|(?:ghp|gho|ghu|ghs|ghr)_[A-Za-z0-9]{20,}|github_pat_[A-Za-z0-9_]{20,}|hf_[A-Za-z0-9]{20,}|r8_[A-Za-z0-9]{20,}|AIza[0-9A-Za-z_-]{35}|(?:AKIA|ASIA)[A-Z0-9]{16})\b/g, "[REDACTED:api-key]")
45
- .replace(/\beyJ[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{8,}/g, "[REDACTED:jwt]")
46
- .replace(/([a-z][a-z0-9+.-]*:\/\/)[^\s/@:]+:[^\s/@]+@/gi, "$1[REDACTED]@")
47
- .replace(/(["']?[\w.-]*(?:api[_-]?key|token|secret|password|authorization|cookie|signature)[\w.-]*["']?\s*[:=]\s*)["']?[^\s,;}"']+["']?/gi, "$1[REDACTED:credential]")
48
- .replace(/data:[^\s"']+/gi, "[REDACTED:media]")
49
- .replace(/\b[A-Za-z0-9_+/=-]{100,}\b/g, "[REDACTED:blob]");
49
+ return redactPrivateKeys(value)
50
+ .replace(/\b(?:Bearer|Basic|Token)\s+[A-Za-z0-9._~+/=-]{8,}/gi, "[REDACTED:authorization]")
51
+ .replace(/\b(?:sk-[A-Za-z0-9_-]{16,}|(?:ghp|gho|ghu|ghs|ghr)_[A-Za-z0-9]{20,}|github_pat_[A-Za-z0-9_]{20,}|hf_[A-Za-z0-9]{20,}|r8_[A-Za-z0-9]{20,}|AIza[0-9A-Za-z_-]{35}|(?:AKIA|ASIA)[A-Z0-9]{16})\b/g, "[REDACTED:api-key]")
52
+ .replace(/\beyJ[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{8,}/g, "[REDACTED:jwt]")
53
+ .replace(/([a-z][a-z0-9+.-]*:\/\/)[^\s/@:]+:[^\s/@]+@/gi, "$1[REDACTED]@")
54
+ .replace(/(["']?[\w.-]*(?:api[_-]?key|token|secret|password|authorization|cookie|signature)[\w.-]*["']?\s*[:=]\s*)["']?[^\s,;}"']+["']?/gi, "$1[REDACTED:credential]")
55
+ .replace(/data:[^\s"']+/gi, "[REDACTED:media]")
56
+ .replace(/\b[A-Za-z0-9_+/=-]{100,}\b/g, "[REDACTED:blob]");
57
+ };
50
58
  }
51
59
  //# sourceMappingURL=trace-redaction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"trace-redaction.js","sourceRoot":"","sources":["../src/trace-redaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,sEAAsE;AACtE,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC;IACf,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,2CAA2C,CAAC,EAAE,CAAC;QAChF,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;YAC1B,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YAAC,CAAC;QAC1C,CAAC;aAAM,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,wBAAwB,CAAC,CAAC;YAChE,MAAM,GAAG,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YACzC,KAAK,GAAG,CAAC,CAAC,CAAC;QACb,CAAC;IACH,CAAC;IACD,uEAAuE;IACvE,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,wBAAwB,CAAC,CAAC;IAClE,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACxB,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,YAAY,GAAwB,IAAI,GAAG,EAAE;IACzF,IAAI,KAAK,GAAG,IAAI,CAAC;IACjB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;IACtC,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC;QAC7D,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,qEAAqE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAAC,CAAC;IAC/I,CAAC;IACD,KAAK,MAAM,MAAM,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACtE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAAC,CAAC;IACnF,CAAC;IACD,OAAO,iBAAiB,CAAC,KAAK,CAAC;SAC5B,OAAO,CAAC,qDAAqD,EAAE,0BAA0B,CAAC;SAC1F,OAAO,CAAC,8LAA8L,EAAE,oBAAoB,CAAC;SAC7N,OAAO,CAAC,+DAA+D,EAAE,gBAAgB,CAAC;SAC1F,OAAO,CAAC,+CAA+C,EAAE,eAAe,CAAC;SACzE,OAAO,CAAC,iIAAiI,EAAE,yBAAyB,CAAC;SACrK,OAAO,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;SAC9C,OAAO,CAAC,6BAA6B,EAAE,iBAAiB,CAAC,CAAC;AAC/D,CAAC"}
1
+ {"version":3,"file":"trace-redaction.js","sourceRoot":"","sources":["../src/trace-redaction.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nodetool-ai/config",
3
- "version": "0.8.2",
3
+ "version": "0.8.3",
4
4
  "type": "module",
5
5
  "engines": {
6
6
  "node": ">=22.0.0"
@@ -10,9 +10,13 @@
10
10
  "scripts": {
11
11
  "build": "node ../../scripts/build-typescript-workspace.mjs",
12
12
  "test": "node ../../scripts/run-vitest.mjs run",
13
- "test:mutation": "stryker run",
13
+ "test:mutation": "node ../mutator/dist/cli.js --root ../.. src",
14
+ "test:mutation:stryker": "stryker run",
14
15
  "lint": "node ../../scripts/run-tsc.mjs --noEmit"
15
16
  },
17
+ "dependencies": {
18
+ "zod": "^4.4.3"
19
+ },
16
20
  "devDependencies": {
17
21
  "@stryker-mutator/core": "^9.6.1",
18
22
  "@stryker-mutator/vitest-runner": "^9.6.1",