ofw-mcp 2.12.0 → 2.13.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.
@@ -6,7 +6,7 @@
6
6
  },
7
7
  "metadata": {
8
8
  "description": "OurFamilyWizard tools for Claude Code",
9
- "version": "2.12.0"
9
+ "version": "2.13.0"
10
10
  },
11
11
  "plugins": [
12
12
  {
@@ -14,7 +14,7 @@
14
14
  "displayName": "OurFamilyWizard",
15
15
  "source": "./",
16
16
  "description": "OurFamilyWizard co-parenting tools for Claude — messages, calendar, expenses, and journal via MCP",
17
- "version": "2.12.0",
17
+ "version": "2.13.0",
18
18
  "author": {
19
19
  "name": "Chris Chall"
20
20
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ofw",
3
3
  "displayName": "OurFamilyWizard",
4
- "version": "2.12.0",
4
+ "version": "2.13.0",
5
5
  "description": "OurFamilyWizard co-parenting tools for Claude — messages, calendar, expenses, and journal via MCP",
6
6
  "author": {
7
7
  "name": "Chris Chall"
package/dist/bundle.js CHANGED
@@ -3314,8 +3314,8 @@ var require_utils = __commonJS({
3314
3314
  var HOST_DELIMS = { "@": "%40", "/": "%2F", "?": "%3F", "#": "%23", ":": "%3A" };
3315
3315
  var HOST_DELIM_RE = /[@/?#:]/g;
3316
3316
  var HOST_DELIM_NO_COLON_RE = /[@/?#]/g;
3317
- function reescapeHostDelimiters(host, isIP) {
3318
- const re = isIP ? HOST_DELIM_NO_COLON_RE : HOST_DELIM_RE;
3317
+ function reescapeHostDelimiters(host, isIP2) {
3318
+ const re = isIP2 ? HOST_DELIM_NO_COLON_RE : HOST_DELIM_RE;
3319
3319
  re.lastIndex = 0;
3320
3320
  return host.replace(re, (ch) => HOST_DELIMS[ch]);
3321
3321
  }
@@ -3804,7 +3804,7 @@ var require_fast_uri = __commonJS({
3804
3804
  fragment: void 0
3805
3805
  };
3806
3806
  let malformedAuthorityOrPort = false;
3807
- let isIP = false;
3807
+ let isIP2 = false;
3808
3808
  if (options.reference === "suffix") {
3809
3809
  if (options.scheme) {
3810
3810
  uri = options.scheme + ":" + uri;
@@ -3853,9 +3853,9 @@ var require_fast_uri = __commonJS({
3853
3853
  if (ipv4result === false) {
3854
3854
  const ipv6result = normalizeIPv6(parsed.host);
3855
3855
  parsed.host = ipv6result.host.toLowerCase();
3856
- isIP = ipv6result.isIPV6;
3856
+ isIP2 = ipv6result.isIPV6;
3857
3857
  } else {
3858
- isIP = true;
3858
+ isIP2 = true;
3859
3859
  }
3860
3860
  }
3861
3861
  if (parsed.scheme === void 0 && parsed.userinfo === void 0 && parsed.host === void 0 && parsed.port === void 0 && parsed.query === void 0 && !parsed.path) {
@@ -3872,7 +3872,7 @@ var require_fast_uri = __commonJS({
3872
3872
  }
3873
3873
  const schemeHandler = getSchemeHandler(options.scheme || parsed.scheme);
3874
3874
  if (!options.unicodeSupport && (!schemeHandler || !schemeHandler.unicodeSupport)) {
3875
- if (parsed.host && (options.domainHost || schemeHandler && schemeHandler.domainHost) && isIP === false && nonSimpleDomain(parsed.host)) {
3875
+ if (parsed.host && (options.domainHost || schemeHandler && schemeHandler.domainHost) && isIP2 === false && nonSimpleDomain(parsed.host)) {
3876
3876
  try {
3877
3877
  parsed.host = new URL("http://" + parsed.host).hostname;
3878
3878
  } catch (e) {
@@ -3886,7 +3886,7 @@ var require_fast_uri = __commonJS({
3886
3886
  parsed.scheme = unescape(parsed.scheme);
3887
3887
  }
3888
3888
  if (parsed.host !== void 0) {
3889
- parsed.host = reescapeHostDelimiters(unescape(parsed.host), isIP);
3889
+ parsed.host = reescapeHostDelimiters(unescape(parsed.host), isIP2);
3890
3890
  }
3891
3891
  }
3892
3892
  if (parsed.path) {
@@ -7199,7 +7199,7 @@ var require_permessage_deflate = __commonJS({
7199
7199
  acceptAsServer(offers) {
7200
7200
  const opts = this._options;
7201
7201
  const accepted = offers.find((params) => {
7202
- if (opts.serverNoContextTakeover === false && params.server_no_context_takeover || params.server_max_window_bits && (opts.serverMaxWindowBits === false || typeof opts.serverMaxWindowBits === "number" && opts.serverMaxWindowBits > params.server_max_window_bits) || typeof opts.clientMaxWindowBits === "number" && !params.client_max_window_bits) {
7202
+ if (opts.serverNoContextTakeover === false && params.server_no_context_takeover || params.server_max_window_bits && (opts.serverMaxWindowBits === false || typeof opts.serverMaxWindowBits === "number" && opts.serverMaxWindowBits > params.server_max_window_bits) || typeof opts.clientMaxWindowBits === "number" && (typeof params.client_max_window_bits === "number" ? opts.clientMaxWindowBits > params.client_max_window_bits : !params.client_max_window_bits)) {
7203
7203
  return false;
7204
7204
  }
7205
7205
  return true;
@@ -37331,6 +37331,7 @@ function classifyBridgeError(err) {
37331
37331
  }
37332
37332
 
37333
37333
  // node_modules/@fetchproxy/server/dist/ws-server.js
37334
+ import { isIP } from "node:net";
37334
37335
  function envWsPort() {
37335
37336
  const raw = process.env.FETCHPROXY_WS_PORT;
37336
37337
  if (raw === void 0 || raw.trim() === "")
@@ -37342,6 +37343,15 @@ function envWsPort() {
37342
37343
  return void 0;
37343
37344
  return port;
37344
37345
  }
37346
+ function envWsHost() {
37347
+ const raw = process.env.FETCHPROXY_WS_HOST;
37348
+ if (raw === void 0)
37349
+ return void 0;
37350
+ const host = raw.trim();
37351
+ if (host === "" || isIP(host) === 0)
37352
+ return void 0;
37353
+ return host;
37354
+ }
37345
37355
  var FetchproxyProtocolError = class extends Error {
37346
37356
  constructor(message) {
37347
37357
  super(message);
@@ -37590,7 +37600,7 @@ var FetchproxyServer = class {
37590
37600
  }
37591
37601
  this.opts = {
37592
37602
  port: opts.port ?? envWsPort() ?? 37149,
37593
- host: opts.host ?? "127.0.0.1",
37603
+ host: opts.host ?? envWsHost() ?? "127.0.0.1",
37594
37604
  serverName: opts.serverName,
37595
37605
  version: opts.version,
37596
37606
  domains: [...opts.domains],
@@ -37876,6 +37886,7 @@ var FetchproxyServer = class {
37876
37886
  return {
37877
37887
  role: this.role,
37878
37888
  port: this.opts.port,
37889
+ host: this.opts.host,
37879
37890
  serverVersion: this.opts.version,
37880
37891
  fetchTimeoutMs: this.opts.fetchTimeoutMs ?? 0,
37881
37892
  bridgeReviveDelayMs: this.opts.bridgeReviveDelayMs ?? 0,
@@ -39420,7 +39431,7 @@ async function loginWithPassword(username, password) {
39420
39431
  // package.json
39421
39432
  var package_default = {
39422
39433
  name: "ofw-mcp",
39423
- version: "2.12.0",
39434
+ version: "2.13.0",
39424
39435
  license: "MIT",
39425
39436
  mcpName: "io.github.chrischall/ofw-mcp",
39426
39437
  description: "OurFamilyWizard MCP server for Claude \u2014 developed and maintained by AI (Claude Code)",
@@ -39455,7 +39466,7 @@ var package_default = {
39455
39466
  },
39456
39467
  dependencies: {
39457
39468
  "@chrischall/mcp-utils": "^0.18.0",
39458
- "@fetchproxy/bootstrap": "^2.0.0",
39469
+ "@fetchproxy/bootstrap": "^2.2.0",
39459
39470
  "@modelcontextprotocol/sdk": "^1.29.0",
39460
39471
  dotenv: "^17.4.2",
39461
39472
  zod: "^4.4.3"
@@ -44233,7 +44244,7 @@ var nodeCacheProvider = () => nodeCache ??= OFWCache.open(getCacheDbPath());
44233
44244
  var nodeAttachmentIO = new NodeAttachmentIO();
44234
44245
  await runMcp({
44235
44246
  name: "ofw",
44236
- version: "2.12.0",
44247
+ version: "2.13.0",
44237
44248
  // x-release-please-version
44238
44249
  deps: client,
44239
44250
  tools: [
package/dist/index.js CHANGED
@@ -35,7 +35,7 @@ const nodeAttachmentIO = new NodeAttachmentIO();
35
35
  // always succeeds before any credential check runs.
36
36
  await runMcp({
37
37
  name: 'ofw',
38
- version: '2.12.0', // x-release-please-version
38
+ version: '2.13.0', // x-release-please-version
39
39
  deps: client,
40
40
  tools: [
41
41
  registerUserTools,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ofw-mcp",
3
- "version": "2.12.0",
3
+ "version": "2.13.0",
4
4
  "license": "MIT",
5
5
  "mcpName": "io.github.chrischall/ofw-mcp",
6
6
  "description": "OurFamilyWizard MCP server for Claude — developed and maintained by AI (Claude Code)",
@@ -35,7 +35,7 @@
35
35
  },
36
36
  "dependencies": {
37
37
  "@chrischall/mcp-utils": "^0.18.0",
38
- "@fetchproxy/bootstrap": "^2.0.0",
38
+ "@fetchproxy/bootstrap": "^2.2.0",
39
39
  "@modelcontextprotocol/sdk": "^1.29.0",
40
40
  "dotenv": "^17.4.2",
41
41
  "zod": "^4.4.3"
package/server.json CHANGED
@@ -6,12 +6,12 @@
6
6
  "url": "https://github.com/chrischall/ofw-mcp",
7
7
  "source": "github"
8
8
  },
9
- "version": "2.12.0",
9
+ "version": "2.13.0",
10
10
  "packages": [
11
11
  {
12
12
  "registryType": "npm",
13
13
  "identifier": "ofw-mcp",
14
- "version": "2.12.0",
14
+ "version": "2.13.0",
15
15
  "transport": {
16
16
  "type": "stdio"
17
17
  },