@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.
|
|
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-
|
|
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
|
|
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(
|
|
875
|
-
for (var j = Math.max(0,
|
|
876
|
-
var i =
|
|
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[
|
|
883
|
+
out.words[k2] = rword | 0;
|
|
884
884
|
carry = ncarry | 0;
|
|
885
885
|
}
|
|
886
886
|
if (carry !== 0) {
|
|
887
|
-
out.words[
|
|
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
|
|
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(
|
|
1458
|
-
for (var j = Math.max(0,
|
|
1459
|
-
var i =
|
|
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[
|
|
1471
|
+
out.words[k2] = rword;
|
|
1472
1472
|
carry = ncarry;
|
|
1473
1473
|
ncarry = hncarry;
|
|
1474
1474
|
}
|
|
1475
1475
|
if (carry !== 0) {
|
|
1476
|
-
out.words[
|
|
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,
|
|
5483
|
-
console.warn(m2 + " [" +
|
|
5484
|
-
return
|
|
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,
|
|
5488
|
-
return
|
|
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,
|
|
6563
|
-
return
|
|
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,
|
|
6650
|
-
if (k22 === void 0) k22 =
|
|
6651
|
-
var desc = Object.getOwnPropertyDescriptor(m2,
|
|
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[
|
|
6654
|
+
return m2[k2];
|
|
6655
6655
|
} };
|
|
6656
6656
|
}
|
|
6657
6657
|
Object.defineProperty(o, k22, desc);
|
|
6658
|
-
}) : (function(o, m2,
|
|
6659
|
-
if (k22 === void 0) k22 =
|
|
6660
|
-
o[k22] = m2[
|
|
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
|
|
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,
|
|
6721
|
-
if (k22 === void 0) k22 =
|
|
6722
|
-
var desc = Object.getOwnPropertyDescriptor(m2,
|
|
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[
|
|
6725
|
+
return m2[k2];
|
|
6726
6726
|
} };
|
|
6727
6727
|
}
|
|
6728
6728
|
Object.defineProperty(o, k22, desc);
|
|
6729
|
-
}) : (function(o, m2,
|
|
6730
|
-
if (k22 === void 0) k22 =
|
|
6731
|
-
o[k22] = m2[
|
|
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
|
|
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,
|
|
6975
|
-
if (k22 === void 0) k22 =
|
|
6976
|
-
var desc = Object.getOwnPropertyDescriptor(m2,
|
|
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[
|
|
6979
|
+
return m2[k2];
|
|
6980
6980
|
} };
|
|
6981
6981
|
}
|
|
6982
6982
|
Object.defineProperty(o, k22, desc);
|
|
6983
|
-
}) : (function(o, m2,
|
|
6984
|
-
if (k22 === void 0) k22 =
|
|
6985
|
-
o[k22] = m2[
|
|
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
|
|
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((
|
|
9660
|
-
let values = params[
|
|
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 ?
|
|
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((
|
|
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
|
|
21273
|
-
if (typeof
|
|
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:
|
|
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-
|
|
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-
|
|
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
|
|
21426
|
-
import { dirname as p, isAbsolute as
|
|
21427
|
-
import { homedir as
|
|
21428
|
-
import { resolve as
|
|
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" || !
|
|
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
|
|
21448
|
-
if (n.mode & 18 && !
|
|
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
|
|
21453
|
+
function O(t, o = 65536, s = false) {
|
|
21454
21454
|
let r;
|
|
21455
21455
|
try {
|
|
21456
|
-
let i = u(t), l = process.geteuid(), n = (
|
|
21457
|
-
if (!
|
|
21458
|
-
return `${
|
|
21459
|
-
},
|
|
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) !==
|
|
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)) !==
|
|
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
|
|
21468
|
-
let S = e.openSync(
|
|
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 (
|
|
21474
|
+
if (c === p(c)) break;
|
|
21475
21475
|
}
|
|
21476
|
-
if (u(t) !== i || n(e.lstatSync(t)) !==
|
|
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
|
|
21485
|
+
function w(t, o) {
|
|
21486
21486
|
let s, r;
|
|
21487
21487
|
try {
|
|
21488
21488
|
try {
|
|
21489
|
-
return e.lstatSync(t), { token:
|
|
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 =
|
|
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
|
|
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
|
-
|
|
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:
|
|
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
|
|
21519
|
-
let o =
|
|
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
|
|
21524
|
-
var $2 = { brokerUrl: "wss://broker1.ours.network", port: 3050, stateDir:
|
|
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-
|
|
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
|
|
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 :
|
|
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(
|
|
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 =
|
|
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,
|
|
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 =
|
|
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(
|
|
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
|
|
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" }),
|
|
22136
|
-
if (!b2.ok || !
|
|
22137
|
-
let j =
|
|
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 :
|
|
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:
|
|
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-
|
|
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-
|
|
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.
|
|
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.
|
|
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.
|
|
49
|
-
"@ours.network/daemon": "3.8.1-nightly.
|
|
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",
|