@ours.network/messenger-server 1.0.31-nightly.15 → 1.0.31-nightly.16

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.
@@ -38,7 +38,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
38
38
  var define_MESSENGER_BUILD_INFO_default;
39
39
  var init_define_MESSENGER_BUILD_INFO = __esm({
40
40
  "<define:__MESSENGER_BUILD_INFO__>"() {
41
- define_MESSENGER_BUILD_INFO_default = { name: "@ours.network/messenger-server", version: "1.0.31-nightly.15", sha: "67be7f7cdc2c8fb8d901fb2cb97920da2af048de", dirty: true };
41
+ define_MESSENGER_BUILD_INFO_default = { name: "@ours.network/messenger-server", version: "1.0.31-nightly.16", sha: "64376e7737f42d8375850bfb548840977e7250d2", dirty: true };
42
42
  }
43
43
  });
44
44
 
@@ -10,7 +10,7 @@ import {
10
10
  publicEngineError,
11
11
  publicInternalError,
12
12
  reportFailure
13
- } from "./chunk-YU46BKJ2.js";
13
+ } from "./chunk-NB6YYTBL.js";
14
14
 
15
15
  // node_modules/bn.js/lib/bn.js
16
16
  var require_bn = __commonJS({
@@ -868,23 +868,23 @@ var require_bn = __commonJS({
868
868
  var lo = r & 67108863;
869
869
  var carry = r / 67108864 | 0;
870
870
  out.words[0] = lo;
871
- for (var k3 = 1; k3 < len; k3++) {
871
+ for (var k2 = 1; k2 < len; k2++) {
872
872
  var ncarry = carry >>> 26;
873
873
  var rword = carry & 67108863;
874
- var maxJ = Math.min(k3, num.length - 1);
875
- for (var j = Math.max(0, k3 - self.length + 1); j <= maxJ; j++) {
876
- var i = k3 - j | 0;
874
+ var maxJ = Math.min(k2, num.length - 1);
875
+ for (var j = Math.max(0, k2 - self.length + 1); j <= maxJ; j++) {
876
+ var i = k2 - j | 0;
877
877
  a = self.words[i] | 0;
878
878
  b2 = num.words[j] | 0;
879
879
  r = a * b2 + rword;
880
880
  ncarry += r / 67108864 | 0;
881
881
  rword = r & 67108863;
882
882
  }
883
- out.words[k3] = rword | 0;
883
+ out.words[k2] = rword | 0;
884
884
  carry = ncarry | 0;
885
885
  }
886
886
  if (carry !== 0) {
887
- out.words[k3] = carry | 0;
887
+ out.words[k2] = carry | 0;
888
888
  } else {
889
889
  out.length--;
890
890
  }
@@ -1450,13 +1450,13 @@ var require_bn = __commonJS({
1450
1450
  out.length = self.length + num.length;
1451
1451
  var carry = 0;
1452
1452
  var hncarry = 0;
1453
- for (var k3 = 0; k3 < out.length - 1; k3++) {
1453
+ for (var k2 = 0; k2 < out.length - 1; k2++) {
1454
1454
  var ncarry = hncarry;
1455
1455
  hncarry = 0;
1456
1456
  var rword = carry & 67108863;
1457
- var maxJ = Math.min(k3, num.length - 1);
1458
- for (var j = Math.max(0, k3 - self.length + 1); j <= maxJ; j++) {
1459
- var i = k3 - j;
1457
+ var maxJ = Math.min(k2, num.length - 1);
1458
+ for (var j = Math.max(0, k2 - self.length + 1); j <= maxJ; j++) {
1459
+ var i = k2 - j;
1460
1460
  var a = self.words[i] | 0;
1461
1461
  var b2 = num.words[j] | 0;
1462
1462
  var r = a * b2;
@@ -1468,12 +1468,12 @@ var require_bn = __commonJS({
1468
1468
  hncarry += ncarry >>> 26;
1469
1469
  ncarry &= 67108863;
1470
1470
  }
1471
- out.words[k3] = rword;
1471
+ out.words[k2] = rword;
1472
1472
  carry = ncarry;
1473
1473
  ncarry = hncarry;
1474
1474
  }
1475
1475
  if (carry !== 0) {
1476
- out.words[k3] = carry;
1476
+ out.words[k2] = carry;
1477
1477
  } else {
1478
1478
  out.length--;
1479
1479
  }
@@ -5479,13 +5479,13 @@ var require_ece = __commonJS({
5479
5479
  var MODE_DECRYPT = "decrypt";
5480
5480
  var keylog;
5481
5481
  if (process.env.ECE_KEYLOG === "1") {
5482
- keylog = function(m2, k3) {
5483
- console.warn(m2 + " [" + k3.length + "]: " + k3.toString("base64url"));
5484
- return k3;
5482
+ keylog = function(m2, k2) {
5483
+ console.warn(m2 + " [" + k2.length + "]: " + k2.toString("base64url"));
5484
+ return k2;
5485
5485
  };
5486
5486
  } else {
5487
- keylog = function(m2, k3) {
5488
- return k3;
5487
+ keylog = function(m2, k2) {
5488
+ return k2;
5489
5489
  };
5490
5490
  }
5491
5491
  function decode(b2) {
@@ -6559,8 +6559,8 @@ var require_node2 = __commonJS({
6559
6559
  exports.inspectOpts = Object.keys(process.env).filter((key) => {
6560
6560
  return /^debug_/i.test(key);
6561
6561
  }).reduce((obj, key) => {
6562
- const prop = key.substring(6).toLowerCase().replace(/_([a-z])/g, (_2, k3) => {
6563
- return k3.toUpperCase();
6562
+ const prop = key.substring(6).toLowerCase().replace(/_([a-z])/g, (_2, k2) => {
6563
+ return k2.toUpperCase();
6564
6564
  });
6565
6565
  let val = process.env[key];
6566
6566
  if (/^(yes|on|true|enabled)$/i.test(val)) {
@@ -6646,18 +6646,18 @@ var require_helpers = __commonJS({
6646
6646
  "node_modules/agent-base/dist/helpers.js"(exports) {
6647
6647
  "use strict";
6648
6648
  init_define_MESSENGER_BUILD_INFO();
6649
- var __createBinding = exports && exports.__createBinding || (Object.create ? (function(o, m2, k3, k22) {
6650
- if (k22 === void 0) k22 = k3;
6651
- var desc = Object.getOwnPropertyDescriptor(m2, k3);
6649
+ var __createBinding = exports && exports.__createBinding || (Object.create ? (function(o, m2, k2, k22) {
6650
+ if (k22 === void 0) k22 = k2;
6651
+ var desc = Object.getOwnPropertyDescriptor(m2, k2);
6652
6652
  if (!desc || ("get" in desc ? !m2.__esModule : desc.writable || desc.configurable)) {
6653
6653
  desc = { enumerable: true, get: function() {
6654
- return m2[k3];
6654
+ return m2[k2];
6655
6655
  } };
6656
6656
  }
6657
6657
  Object.defineProperty(o, k22, desc);
6658
- }) : (function(o, m2, k3, k22) {
6659
- if (k22 === void 0) k22 = k3;
6660
- o[k22] = m2[k3];
6658
+ }) : (function(o, m2, k2, k22) {
6659
+ if (k22 === void 0) k22 = k2;
6660
+ o[k22] = m2[k2];
6661
6661
  }));
6662
6662
  var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? (function(o, v2) {
6663
6663
  Object.defineProperty(o, "default", { enumerable: true, value: v2 });
@@ -6668,7 +6668,7 @@ var require_helpers = __commonJS({
6668
6668
  if (mod && mod.__esModule) return mod;
6669
6669
  var result = {};
6670
6670
  if (mod != null) {
6671
- for (var k3 in mod) if (k3 !== "default" && Object.prototype.hasOwnProperty.call(mod, k3)) __createBinding(result, mod, k3);
6671
+ for (var k2 in mod) if (k2 !== "default" && Object.prototype.hasOwnProperty.call(mod, k2)) __createBinding(result, mod, k2);
6672
6672
  }
6673
6673
  __setModuleDefault(result, mod);
6674
6674
  return result;
@@ -6717,18 +6717,18 @@ var require_dist = __commonJS({
6717
6717
  "node_modules/agent-base/dist/index.js"(exports) {
6718
6718
  "use strict";
6719
6719
  init_define_MESSENGER_BUILD_INFO();
6720
- var __createBinding = exports && exports.__createBinding || (Object.create ? (function(o, m2, k3, k22) {
6721
- if (k22 === void 0) k22 = k3;
6722
- var desc = Object.getOwnPropertyDescriptor(m2, k3);
6720
+ var __createBinding = exports && exports.__createBinding || (Object.create ? (function(o, m2, k2, k22) {
6721
+ if (k22 === void 0) k22 = k2;
6722
+ var desc = Object.getOwnPropertyDescriptor(m2, k2);
6723
6723
  if (!desc || ("get" in desc ? !m2.__esModule : desc.writable || desc.configurable)) {
6724
6724
  desc = { enumerable: true, get: function() {
6725
- return m2[k3];
6725
+ return m2[k2];
6726
6726
  } };
6727
6727
  }
6728
6728
  Object.defineProperty(o, k22, desc);
6729
- }) : (function(o, m2, k3, k22) {
6730
- if (k22 === void 0) k22 = k3;
6731
- o[k22] = m2[k3];
6729
+ }) : (function(o, m2, k2, k22) {
6730
+ if (k22 === void 0) k22 = k2;
6731
+ o[k22] = m2[k2];
6732
6732
  }));
6733
6733
  var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? (function(o, v2) {
6734
6734
  Object.defineProperty(o, "default", { enumerable: true, value: v2 });
@@ -6739,7 +6739,7 @@ var require_dist = __commonJS({
6739
6739
  if (mod && mod.__esModule) return mod;
6740
6740
  var result = {};
6741
6741
  if (mod != null) {
6742
- for (var k3 in mod) if (k3 !== "default" && Object.prototype.hasOwnProperty.call(mod, k3)) __createBinding(result, mod, k3);
6742
+ for (var k2 in mod) if (k2 !== "default" && Object.prototype.hasOwnProperty.call(mod, k2)) __createBinding(result, mod, k2);
6743
6743
  }
6744
6744
  __setModuleDefault(result, mod);
6745
6745
  return result;
@@ -6971,18 +6971,18 @@ var require_dist2 = __commonJS({
6971
6971
  "node_modules/https-proxy-agent/dist/index.js"(exports) {
6972
6972
  "use strict";
6973
6973
  init_define_MESSENGER_BUILD_INFO();
6974
- var __createBinding = exports && exports.__createBinding || (Object.create ? (function(o, m2, k3, k22) {
6975
- if (k22 === void 0) k22 = k3;
6976
- var desc = Object.getOwnPropertyDescriptor(m2, k3);
6974
+ var __createBinding = exports && exports.__createBinding || (Object.create ? (function(o, m2, k2, k22) {
6975
+ if (k22 === void 0) k22 = k2;
6976
+ var desc = Object.getOwnPropertyDescriptor(m2, k2);
6977
6977
  if (!desc || ("get" in desc ? !m2.__esModule : desc.writable || desc.configurable)) {
6978
6978
  desc = { enumerable: true, get: function() {
6979
- return m2[k3];
6979
+ return m2[k2];
6980
6980
  } };
6981
6981
  }
6982
6982
  Object.defineProperty(o, k22, desc);
6983
- }) : (function(o, m2, k3, k22) {
6984
- if (k22 === void 0) k22 = k3;
6985
- o[k22] = m2[k3];
6983
+ }) : (function(o, m2, k2, k22) {
6984
+ if (k22 === void 0) k22 = k2;
6985
+ o[k22] = m2[k2];
6986
6986
  }));
6987
6987
  var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? (function(o, v2) {
6988
6988
  Object.defineProperty(o, "default", { enumerable: true, value: v2 });
@@ -6993,7 +6993,7 @@ var require_dist2 = __commonJS({
6993
6993
  if (mod && mod.__esModule) return mod;
6994
6994
  var result = {};
6995
6995
  if (mod != null) {
6996
- for (var k3 in mod) if (k3 !== "default" && Object.prototype.hasOwnProperty.call(mod, k3)) __createBinding(result, mod, k3);
6996
+ for (var k2 in mod) if (k2 !== "default" && Object.prototype.hasOwnProperty.call(mod, k2)) __createBinding(result, mod, k2);
6997
6997
  }
6998
6998
  __setModuleDefault(result, mod);
6999
6999
  return result;
@@ -9656,10 +9656,10 @@ var require_extension = __commonJS({
9656
9656
  if (!Array.isArray(configurations)) configurations = [configurations];
9657
9657
  return configurations.map((params) => {
9658
9658
  return [extension2].concat(
9659
- Object.keys(params).map((k3) => {
9660
- let values = params[k3];
9659
+ Object.keys(params).map((k2) => {
9660
+ let values = params[k2];
9661
9661
  if (!Array.isArray(values)) values = [values];
9662
- return values.map((v2) => v2 === true ? k3 : `${k3}=${v2}`).join("; ");
9662
+ return values.map((v2) => v2 === true ? k2 : `${k2}=${v2}`).join("; ");
9663
9663
  })
9664
9664
  ).join("; ");
9665
9665
  }).join(", ");
@@ -21110,7 +21110,7 @@ var ROUTES = {
21110
21110
  const serverCid = str(body, "serverCid").toUpperCase();
21111
21111
  if (!/^[A-F0-9]{64}$/.test(serverCid) || !/^[A-Za-z0-9_-]{43}$/.test(str(body, "hostWorkspaceId"))) throw bad("Invalid workspace proof");
21112
21112
  const challenge = body.challenge;
21113
- if (!challenge || !["nonce", "workspaceId", "accountId"].every((k3) => typeof challenge[k3] === "string" && /^[A-Za-z0-9_-]{43}$/.test(String(challenge[k3]))) || !Number.isFinite(challenge.expiresAt) || Number(challenge.expiresAt) <= Date.now() || Number(challenge.expiresAt) > Date.now() + 16 * 6e4) throw bad("Workspace challenge expired or invalid");
21113
+ if (!challenge || !["nonce", "workspaceId", "accountId"].every((k2) => typeof challenge[k2] === "string" && /^[A-Za-z0-9_-]{43}$/.test(String(challenge[k2]))) || !Number.isFinite(challenge.expiresAt) || Number(challenge.expiresAt) <= Date.now() || Number(challenge.expiresAt) > Date.now() + 16 * 6e4) throw bad("Workspace challenge expired or invalid");
21114
21114
  const preserveProfile = optBool(body, "preserveProfile") === true;
21115
21115
  let humanProfile;
21116
21116
  if (!preserveProfile) try {
@@ -21269,15 +21269,15 @@ var ROUTES = {
21269
21269
  if (keys === null || typeof keys !== "object" || Array.isArray(keys)) {
21270
21270
  throw bad("keys must be an object with p256dh and auth");
21271
21271
  }
21272
- const k3 = keys;
21273
- if (typeof k3.p256dh !== "string" || typeof k3.auth !== "string") {
21272
+ const k2 = keys;
21273
+ if (typeof k2.p256dh !== "string" || typeof k2.auth !== "string") {
21274
21274
  throw bad("keys.p256dh and keys.auth must be strings");
21275
21275
  }
21276
21276
  let saved;
21277
21277
  try {
21278
21278
  saved = deps.push.ensure({
21279
21279
  endpoint: str(body, "endpoint"),
21280
- keys: { p256dh: k3.p256dh, auth: k3.auth },
21280
+ keys: { p256dh: k2.p256dh, auth: k2.auth },
21281
21281
  label: optStr(body, "label"),
21282
21282
  preview: body.preview === void 0 ? void 0 : str(body, "preview"),
21283
21283
  bindingId: optStr(body, "binding_id")
@@ -21416,18 +21416,18 @@ import { randomBytes as randomBytes2 } from "node:crypto";
21416
21416
  // node_modules/@ours.network/sdk/dist/index.js
21417
21417
  init_define_MESSENGER_BUILD_INFO();
21418
21418
 
21419
- // node_modules/@ours.network/sdk/dist/chunk-H6U3YRJE.js
21419
+ // node_modules/@ours.network/sdk/dist/chunk-VJJU7HLN.js
21420
21420
  init_define_MESSENGER_BUILD_INFO();
21421
21421
 
21422
- // node_modules/@ours.network/sdk/dist/chunk-TQF3UMFZ.js
21422
+ // node_modules/@ours.network/sdk/dist/chunk-SHYFSAAM.js
21423
21423
  init_define_MESSENGER_BUILD_INFO();
21424
21424
  import * as e from "node:fs";
21425
- import { randomBytes as g } from "node:crypto";
21426
- import { dirname as p, isAbsolute as _, resolve as w } from "node:path";
21427
- import { homedir as v } from "node:os";
21428
- import { resolve as b, join as A, dirname as h, basename as R } from "node:path";
21425
+ import { randomBytes as m } from "node:crypto";
21426
+ import { dirname as p, isAbsolute as b, resolve as v } from "node:path";
21427
+ import { homedir as T } from "node:os";
21428
+ import { resolve as _, join as A, dirname as h, basename as R } from "node:path";
21429
21429
  function u(t, o = false) {
21430
- if (typeof process.geteuid != "function" || !e.constants.O_NOFOLLOW || !e.constants.O_NONBLOCK || typeof t != "string" || !_(t) || w(t) !== t) throw new Error();
21430
+ if (typeof process.geteuid != "function" || !e.constants.O_NOFOLLOW || !e.constants.O_NONBLOCK || typeof t != "string" || !b(t) || v(t) !== t) throw new Error();
21431
21431
  let s = process.geteuid(), r = [];
21432
21432
  for (let i = p(t); r.unshift(i), i !== p(i); i = p(i)) ;
21433
21433
  return r.map((i, l) => {
@@ -21444,36 +21444,36 @@ function u(t, o = false) {
21444
21444
  n = e.lstatSync(i);
21445
21445
  }
21446
21446
  if (!n.isDirectory() || n.uid !== 0 && n.uid !== s) throw new Error();
21447
- let c = n.uid === 0 && (n.mode & 512) !== 0;
21448
- if (n.mode & 18 && !c) throw new Error();
21447
+ let a = n.uid === 0 && (n.mode & 512) !== 0;
21448
+ if (n.mode & 18 && !a) throw new Error();
21449
21449
  if (l === r.length - 1 && (n.uid !== s || (n.mode & 4095) !== 448)) throw new Error();
21450
21450
  return `${n.dev}:${n.ino}:${n.uid}:${n.gid}:${n.mode}`;
21451
21451
  }).join("|");
21452
21452
  }
21453
- function m(t, o = 65536, s = false) {
21453
+ function O(t, o = 65536, s = false) {
21454
21454
  let r;
21455
21455
  try {
21456
- let i = u(t), l = process.geteuid(), n = (a) => {
21457
- if (!a.isFile() || a.uid !== l || (a.mode & 4095) !== 384 || a.size < 1 || a.size > o) throw new Error();
21458
- return `${a.dev}:${a.ino}:${a.uid}:${a.gid}:${a.mode}:${a.size}:${a.mtimeMs}:${a.ctimeMs}`;
21459
- }, c = n(e.lstatSync(t));
21456
+ let i = u(t), l = process.geteuid(), n = (c) => {
21457
+ if (!c.isFile() || c.uid !== l || (c.mode & 4095) !== 384 || c.size < 1 || c.size > o) throw new Error();
21458
+ return `${c.dev}:${c.ino}:${c.uid}:${c.gid}:${c.mode}:${c.size}:${c.mtimeMs}:${c.ctimeMs}`;
21459
+ }, a = n(e.lstatSync(t));
21460
21460
  r = e.openSync(t, e.constants.O_RDONLY | e.constants.O_NOFOLLOW | e.constants.O_NONBLOCK);
21461
21461
  let d2 = e.fstatSync(r);
21462
- if (n(d2) !== c || u(t) !== i || n(e.lstatSync(t)) !== c) throw new Error();
21462
+ if (n(d2) !== a || u(t) !== i || n(e.lstatSync(t)) !== a) throw new Error();
21463
21463
  let f = Buffer.alloc(d2.size);
21464
- if (e.readSync(r, f, 0, f.length, 0) !== f.length || n(e.fstatSync(r)) !== c || u(t) !== i || n(e.lstatSync(t)) !== c) throw new Error();
21464
+ if (e.readSync(r, f, 0, f.length, 0) !== f.length || n(e.fstatSync(r)) !== a || u(t) !== i || n(e.lstatSync(t)) !== a) throw new Error();
21465
21465
  if (s) {
21466
21466
  e.fsyncSync(r);
21467
- for (let a = p(t); ; a = p(a)) {
21468
- let S = e.openSync(a, e.constants.O_RDONLY | e.constants.O_DIRECTORY | e.constants.O_NOFOLLOW);
21467
+ for (let c = p(t); ; c = p(c)) {
21468
+ let S = e.openSync(c, e.constants.O_RDONLY | e.constants.O_DIRECTORY | e.constants.O_NOFOLLOW);
21469
21469
  try {
21470
21470
  e.fsyncSync(S);
21471
21471
  } finally {
21472
21472
  e.closeSync(S);
21473
21473
  }
21474
- if (a === p(a)) break;
21474
+ if (c === p(c)) break;
21475
21475
  }
21476
- if (u(t) !== i || n(e.lstatSync(t)) !== c) throw new Error();
21476
+ if (u(t) !== i || n(e.lstatSync(t)) !== a) throw new Error();
21477
21477
  }
21478
21478
  return f;
21479
21479
  } catch {
@@ -21482,24 +21482,24 @@ function m(t, o = 65536, s = false) {
21482
21482
  r !== void 0 && e.closeSync(r);
21483
21483
  }
21484
21484
  }
21485
- function T(t, o) {
21485
+ function w(t, o) {
21486
21486
  let s, r;
21487
21487
  try {
21488
21488
  try {
21489
- return e.lstatSync(t), { token: O(t), source: "file" };
21489
+ return e.lstatSync(t), { token: g(t), source: "file" };
21490
21490
  } catch (f) {
21491
21491
  if (f.code !== "ENOENT") throw f;
21492
21492
  }
21493
21493
  if (!o) return null;
21494
- let i = u(t, true), l = g(32).toString("hex"), n = `${t}.${g(16).toString("hex")}.tmp`;
21494
+ let i = u(t, true), l = m(32).toString("hex"), n = `${t}.${m(16).toString("hex")}.tmp`;
21495
21495
  if (r = e.openSync(n, e.constants.O_WRONLY | e.constants.O_CREAT | e.constants.O_EXCL | e.constants.O_NOFOLLOW, 384), s = n, e.fchmodSync(r, 384), e.writeFileSync(r, `${l}
21496
21496
  `), e.fsyncSync(r), e.closeSync(r), r = void 0, u(t) !== i) throw new Error();
21497
- let c = "generated";
21497
+ let a = "generated";
21498
21498
  try {
21499
21499
  e.linkSync(s, t);
21500
21500
  } catch (f) {
21501
21501
  if (f.code !== "EEXIST") throw f;
21502
- c = "file";
21502
+ a = "file";
21503
21503
  }
21504
21504
  e.unlinkSync(s), s = void 0;
21505
21505
  let d2 = e.openSync(p(t), e.constants.O_RDONLY | e.constants.O_DIRECTORY | e.constants.O_NOFOLLOW);
@@ -21508,29 +21508,29 @@ function T(t, o) {
21508
21508
  } finally {
21509
21509
  e.closeSync(d2);
21510
21510
  }
21511
- return { token: O(t), source: c };
21511
+ return { token: g(t), source: a };
21512
21512
  } catch {
21513
21513
  throw new Error("Credential publication or reuse failed; no in-memory fallback or automatic repair");
21514
21514
  } finally {
21515
21515
  r !== void 0 && e.closeSync(r), s !== void 0 && e.unlinkSync(s);
21516
21516
  }
21517
21517
  }
21518
- function O(t) {
21519
- let o = m(t, 4096).toString("utf8");
21518
+ function g(t) {
21519
+ let o = O(t, 4096).toString("utf8");
21520
21520
  if (!/^[\x21-\x7e]+(?:\r?\n)?$/.test(o)) throw new Error("Credential file contains an invalid token");
21521
21521
  return o.trimEnd();
21522
21522
  }
21523
- var k = 100 * 1024 * 1024;
21524
- var $2 = { brokerUrl: "wss://broker1.ours.network", port: 3050, stateDir: b(v(), ".ours"), gcIntervalMs: 36e5, historyMaxBytes: k, apiVisibility: "owner", apiAuthMode: "legacy" };
21523
+ var I = 100 * 1024 * 1024;
21524
+ var $2 = { brokerUrl: "wss://broker1.ours.network", port: 3050, stateDir: _(T(), ".ours"), gcIntervalMs: 36e5, historyMaxBytes: I, apiVisibility: "owner", apiAuthMode: "legacy" };
21525
21525
  var K = "daemon-token";
21526
21526
 
21527
- // node_modules/@ours.network/sdk/dist/chunk-H6U3YRJE.js
21527
+ // node_modules/@ours.network/sdk/dist/chunk-VJJU7HLN.js
21528
21528
  import { homedir as me } from "node:os";
21529
21529
  import { isAbsolute as ye, join as ge, resolve as ne } from "node:path";
21530
21530
  import { randomBytes as V } from "node:crypto";
21531
21531
  import { readFileSync as Ee } from "node:fs";
21532
21532
  import { homedir as ve } from "node:os";
21533
- import { join as M, resolve as P } from "node:path";
21533
+ import { join as M2, resolve as P } from "node:path";
21534
21534
  var d = class extends Error {
21535
21535
  constructor(n, r, i) {
21536
21536
  super(r);
@@ -21624,7 +21624,7 @@ var x = class {
21624
21624
  explicitApiToken;
21625
21625
  credentialPath;
21626
21626
  get apiToken() {
21627
- return this.credentialPath === void 0 ? this.explicitApiToken : O(this.credentialPath);
21627
+ return this.credentialPath === void 0 ? this.explicitApiToken : g(this.credentialPath);
21628
21628
  }
21629
21629
  fetchImpl;
21630
21630
  commandHandlers = /* @__PURE__ */ new Map();
@@ -21966,7 +21966,7 @@ function we(e2) {
21966
21966
  function re(e2 = process.env) {
21967
21967
  let t = he(e2), n;
21968
21968
  try {
21969
- n = JSON.parse(m(t).toString("utf8"));
21969
+ n = JSON.parse(O(t).toString("utf8"));
21970
21970
  } catch {
21971
21971
  throw new O2("selected profile is missing, invalid JSON or unsafe; require a 0700 directory and a 0600 regular file");
21972
21972
  }
@@ -21997,13 +21997,13 @@ function Oe(e2 = {}) {
21997
21997
  let t = e2.env ?? process.env;
21998
21998
  if (t.OURS_TLS_CERT !== void 0 || t.OURS_TLS_KEY !== void 0) throw new p2("INCOHERENT_SELECTION", "Daemon TLS is not supported in V1; remove OURS_TLS_CERT/OURS_TLS_KEY and explicitly configure HTTP");
21999
21999
  if (e2.endpoint !== void 0 && new URL(e2.endpoint).protocol !== "http:" && new URL(e2.endpoint).protocol !== "https:") throw new p2("INCOHERENT_SELECTION", "Client requires an HTTP or HTTPS daemon endpoint");
22000
- let n = e2.readTextFile ?? ((E) => Ee(E, "utf8")), r = e2.homeDir ?? ve(), i = k2(t, "OURS_INSTANCE");
22000
+ let n = e2.readTextFile ?? ((E) => Ee(E, "utf8")), r = e2.homeDir ?? ve(), i = k(t, "OURS_INSTANCE");
22001
22001
  if (i !== void 0) throw new p2("INCOHERENT_SELECTION", `OURS_INSTANCE=${JSON.stringify(i)} is set, but named daemon instances are not implemented. Select the daemon with an explicit endpoint/port option or with OURS_PORT, and unset OURS_INSTANCE.`);
22002
22002
  if (e2.stateDir !== void 0 && e2.expectStateDir !== void 0) {
22003
22003
  let E = P(e2.stateDir), T2 = P(e2.expectStateDir);
22004
22004
  if (E !== T2) throw new p2("INCOHERENT_SELECTION", `stateDir ${JSON.stringify(E)} and expectStateDir ${JSON.stringify(T2)} name different directories. The state directory decides which token is read; the expected one decides which daemon that token may be sent to. Reconcile them, or pass only one.`);
22005
22005
  }
22006
- let o = Re(e2.configPath, k2(t, "OURS_CONFIG")), s = o ? Se(o.value, n) : {}, a = ie(e2.port, Ae(k2(t, "OURS_PORT")), s.port, oe), c = ie(e2.stateDir ?? e2.expectStateDir, k2(t, "OURS_STATE_DIR"), s.stateDir, M(r, _e)), l = { value: P(c.value), source: c.source }, m2 = e2.endpoint !== void 0 ? { value: y(e2.endpoint), source: "explicit" } : { value: `http://127.0.0.1:${a.value}`, source: a.source }, f = k2(t, "OURS_API_TOKEN");
22006
+ let o = Re(e2.configPath, k(t, "OURS_CONFIG")), s = o ? Se(o.value, n) : {}, a = ie(e2.port, Ae(k(t, "OURS_PORT")), s.port, oe), c = ie(e2.stateDir ?? e2.expectStateDir, k(t, "OURS_STATE_DIR"), s.stateDir, M2(r, _e)), l = { value: P(c.value), source: c.source }, m2 = e2.endpoint !== void 0 ? { value: y(e2.endpoint), source: "explicit" } : { value: `http://127.0.0.1:${a.value}`, source: a.source }, f = k(t, "OURS_API_TOKEN");
22007
22007
  Te({ endpointSelected: e2.endpoint !== void 0 || a.source !== "default", endpointSource: m2.source, stateDirIntentional: Ie.includes(l.source), stateDirSource: l.source, hasExplicitToken: e2.token !== void 0 && e2.token !== "", hasEnvToken: f !== void 0, requireExplicitSelection: e2.requireExplicitSelection === true, portSource: a.source });
22008
22008
  let g2 = be(e2.token, f, s, l, e2.readTextFile);
22009
22009
  return { baseUrl: m2, port: a, stateDir: l, expectStateDir: e2.expectStateDir !== void 0 ? P(e2.expectStateDir) : l.value, ...g2 ? { token: g2 } : {}, ...o ? { configPath: o } : {} };
@@ -22026,11 +22026,11 @@ function be(e2, t, n, r, i) {
22026
22026
  let o = n.apiToken?.trim();
22027
22027
  if (o) return { value: o, source: "config-file" };
22028
22028
  if (i === void 0) {
22029
- let s = T(M(r.value, J), false);
22029
+ let s = w(M2(r.value, J), false);
22030
22030
  return s ? { value: s.token, source: "token-file" } : void 0;
22031
22031
  }
22032
22032
  try {
22033
- let s = i(M(r.value, J)).trim();
22033
+ let s = i(M2(r.value, J)).trim();
22034
22034
  if (s) return { value: s, source: "token-file" };
22035
22035
  } catch {
22036
22036
  }
@@ -22071,7 +22071,7 @@ function Se(e2, t) {
22071
22071
  }
22072
22072
  return o;
22073
22073
  }
22074
- function k2(e2, t) {
22074
+ function k(e2, t) {
22075
22075
  let n = e2[t];
22076
22076
  if (n === void 0) return;
22077
22077
  let r = n.trim();
@@ -22132,18 +22132,18 @@ async function G(e2 = {}) {
22132
22132
  if (i === "external") _2.includes("external-sessions-v1") || _2.push("external-sessions-v1");
22133
22133
  else if (_2.includes("external-sessions-v1")) throw new Error("External capabilities require explicit sessionMode: external; refusing local-mode fallback");
22134
22134
  {
22135
- let b2 = await globalThis.fetch(u2(T2, "/selection"), { signal: s ? AbortSignal.any([s, AbortSignal.timeout(5e3)]) : AbortSignal.timeout(5e3), redirect: "error" }), I = await F(b2);
22136
- if (!b2.ok || !I || Object.keys(I).length !== 3 || Object.keys(I).some((S) => !["schema", "instanceId", "capabilities"].includes(S)) || I.schema !== 1 || I.instanceId !== a) throw new Error("Daemon instance selection metadata is absent, incompatible or mismatched");
22137
- let j = I.capabilities;
22135
+ let b2 = await globalThis.fetch(u2(T2, "/selection"), { signal: s ? AbortSignal.any([s, AbortSignal.timeout(5e3)]) : AbortSignal.timeout(5e3), redirect: "error" }), I2 = await F(b2);
22136
+ if (!b2.ok || !I2 || Object.keys(I2).length !== 3 || Object.keys(I2).some((S) => !["schema", "instanceId", "capabilities"].includes(S)) || I2.schema !== 1 || I2.instanceId !== a) throw new Error("Daemon instance selection metadata is absent, incompatible or mismatched");
22137
+ let j = I2.capabilities;
22138
22138
  if (!Array.isArray(j) || j.some((S) => typeof S != "string") || _2.some((S) => !j.includes(S))) throw new Error("Daemon does not support the required capabilities; refusing local-mode fallback");
22139
22139
  }
22140
- let H = l === void 0 ? E : O(l);
22140
+ let H = l === void 0 ? E : g(l);
22141
22141
  if (typeof H != "string" || !H.trim()) throw new Error("Instance selection requires an explicit API token after daemon verification");
22142
22142
  return new x({ url: T2, sessionMode: i, requestSignal: s, ...l === void 0 ? { apiToken: H } : { credentialPath: l }, leaseToken: n ?? V(32).toString("hex"), clientPid: r });
22143
22143
  }
22144
22144
  if (c !== void 0) throw new Error("Capability selection requires an expected daemon instance");
22145
22145
  let f = Oe(m2);
22146
- return await Ne(f, { fetch: o }), new x({ url: f.baseUrl.value, leaseToken: n ?? V(32).toString("hex"), clientPid: r, ...f.token?.source === "token-file" && m2.readTextFile === void 0 ? { credentialPath: M(f.expectStateDir, J) } : { apiToken: f.token?.value }, fetch: o, requestSignal: s });
22146
+ return await Ne(f, { fetch: o }), new x({ url: f.baseUrl.value, leaseToken: n ?? V(32).toString("hex"), clientPid: r, ...f.token?.source === "token-file" && m2.readTextFile === void 0 ? { credentialPath: M2(f.expectStateDir, J) } : { apiToken: f.token?.value }, fetch: o, requestSignal: s });
22147
22147
  }
22148
22148
 
22149
22149
  // src/owner-session.ts
package/dist/cli.js CHANGED
@@ -7,7 +7,7 @@ import {
7
7
  normalizeBasePath,
8
8
  operatorError,
9
9
  reportFailure
10
- } from "./chunks/chunk-YU46BKJ2.js";
10
+ } from "./chunks/chunk-NB6YYTBL.js";
11
11
 
12
12
  // src/cli.ts
13
13
  init_define_MESSENGER_BUILD_INFO();
@@ -131,7 +131,7 @@ async function main() {
131
131
  }
132
132
  if (process.argv.length !== 3) throw new ConfigurationError("serve does not accept command-line options");
133
133
  const cfg = loadConfig();
134
- const { start } = await import("./chunks/server-XMJRG2WC.js");
134
+ const { start } = await import("./chunks/server-QMB6SIVE.js");
135
135
  const handle = await start(cfg, BUILD_INFO);
136
136
  let closing = false;
137
137
  const shutdown = (signal) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ours.network/messenger-server",
3
- "version": "1.0.31-nightly.15",
3
+ "version": "1.0.31-nightly.16",
4
4
  "description": "Self-hosted Messenger REST/SSE backend for one identity on a shared Ours daemon.",
5
5
  "type": "module",
6
6
  "license": "FSL-1.1-Apache-2.0",
@@ -39,14 +39,14 @@
39
39
  },
40
40
  "dependencies": {
41
41
  "@eslint-community/regexpp": "4.12.2",
42
- "@ours.network/sdk": "3.8.1-nightly.15",
42
+ "@ours.network/sdk": "3.8.1-nightly.16",
43
43
  "parse5": "^8.0.1",
44
44
  "web-push": "^3.6.7",
45
45
  "ws": "^8.21.0"
46
46
  },
47
47
  "devDependencies": {
48
- "@ours.network/cli": "2.8.1-nightly.13",
49
- "@ours.network/daemon": "3.8.1-nightly.7",
48
+ "@ours.network/cli": "2.8.1-nightly.14",
49
+ "@ours.network/daemon": "3.8.1-nightly.8",
50
50
  "@playwright/test": "^1.62.1",
51
51
  "@types/node": "^20.14.0",
52
52
  "@types/web-push": "^3.6.4",