@camstack/addon-smtp-nodemailer 1.1.2 → 1.1.4

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.
@@ -4665,7 +4665,7 @@ function _instanceof(cls, params = {}) {
4665
4665
  return inst;
4666
4666
  }
4667
4667
  //#endregion
4668
- //#region ../types/dist/sleep-BV7rLc6Y.mjs
4668
+ //#region ../types/dist/sleep-_J5S7OEP.mjs
4669
4669
  var EventCategory = /* @__PURE__ */ function(EventCategory) {
4670
4670
  EventCategory["SystemBoot"] = "system.boot";
4671
4671
  EventCategory["SystemAddonsReady"] = "system.addons-ready";
@@ -5780,15 +5780,24 @@ var BaseAddon = class {
5780
5780
  } catch {}
5781
5781
  }
5782
5782
  /**
5783
- * Resolve the shared models directory path via the storage capability.
5784
- * Falls back to `camstack-data/models` if storage is unavailable.
5785
- * Used by inference addons (detection-pipeline, audio-classifier, embedding-encoder).
5783
+ * Resolve the shared, node-local models directory: `<nodeDataDir>/models`.
5784
+ *
5785
+ * This is the SINGLE centralized models-dir resolver for every inference addon
5786
+ * (detection-pipeline, audio-analyzer, embedding-encoder, model-studio). It is
5787
+ * anchored at the node's own writable data root (`ctx.nodeDataDir`, i.e.
5788
+ * `CAMSTACK_DATA` ?? the kernel boot dir) — never the hub-singleton `storage`
5789
+ * cap, which returns the hub's `/data/models` to every node and breaks any node
5790
+ * whose real data dir differs (e.g. the macOS electron agent).
5791
+ *
5792
+ * `node:path`/`node:fs` are imported dynamically so the `@camstack/types` root
5793
+ * barrel (re-exported into browser bundles) stays free of node builtins.
5786
5794
  */
5787
5795
  async resolveModelsDir() {
5788
- return this.ctx.api.storage.resolve.query({
5789
- location: "models",
5790
- relativePath: ""
5791
- }).catch(() => "camstack-data/models");
5796
+ const { join } = await import("node:path");
5797
+ const { promises: fsp } = await import("node:fs");
5798
+ const dir = join(this.ctx.nodeDataDir, "models");
5799
+ await fsp.mkdir(dir, { recursive: true });
5800
+ return dir;
5792
5801
  }
5793
5802
  /**
5794
5803
  * Access the runtime capability registry for in-process provider lookups.
@@ -4663,7 +4663,7 @@ function _instanceof(cls, params = {}) {
4663
4663
  return inst;
4664
4664
  }
4665
4665
  //#endregion
4666
- //#region ../types/dist/sleep-BV7rLc6Y.mjs
4666
+ //#region ../types/dist/sleep-_J5S7OEP.mjs
4667
4667
  var EventCategory = /* @__PURE__ */ function(EventCategory) {
4668
4668
  EventCategory["SystemBoot"] = "system.boot";
4669
4669
  EventCategory["SystemAddonsReady"] = "system.addons-ready";
@@ -5778,15 +5778,24 @@ var BaseAddon = class {
5778
5778
  } catch {}
5779
5779
  }
5780
5780
  /**
5781
- * Resolve the shared models directory path via the storage capability.
5782
- * Falls back to `camstack-data/models` if storage is unavailable.
5783
- * Used by inference addons (detection-pipeline, audio-classifier, embedding-encoder).
5781
+ * Resolve the shared, node-local models directory: `<nodeDataDir>/models`.
5782
+ *
5783
+ * This is the SINGLE centralized models-dir resolver for every inference addon
5784
+ * (detection-pipeline, audio-analyzer, embedding-encoder, model-studio). It is
5785
+ * anchored at the node's own writable data root (`ctx.nodeDataDir`, i.e.
5786
+ * `CAMSTACK_DATA` ?? the kernel boot dir) — never the hub-singleton `storage`
5787
+ * cap, which returns the hub's `/data/models` to every node and breaks any node
5788
+ * whose real data dir differs (e.g. the macOS electron agent).
5789
+ *
5790
+ * `node:path`/`node:fs` are imported dynamically so the `@camstack/types` root
5791
+ * barrel (re-exported into browser bundles) stays free of node builtins.
5784
5792
  */
5785
5793
  async resolveModelsDir() {
5786
- return this.ctx.api.storage.resolve.query({
5787
- location: "models",
5788
- relativePath: ""
5789
- }).catch(() => "camstack-data/models");
5794
+ const { join } = await import("node:path");
5795
+ const { promises: fsp } = await import("node:fs");
5796
+ const dir = join(this.ctx.nodeDataDir, "models");
5797
+ await fsp.mkdir(dir, { recursive: true });
5798
+ return dir;
5790
5799
  }
5791
5800
  /**
5792
5801
  * Access the runtime capability registry for in-process provider lookups.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-smtp-nodemailer",
3
- "version": "1.1.2",
3
+ "version": "1.1.4",
4
4
  "description": "SMTP email provider addon for CamStack — wraps `nodemailer` and registers a `smtp-provider` cap collection entry. Used by magic-link login + notifier addons.",
5
5
  "keywords": [
6
6
  "camstack",