oasis_test_v2 2.2.102 → 2.2.103
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.
- package/dist/index.js +44 -6
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -247578,7 +247578,8 @@ function nodesDomain(deps) {
|
|
|
247578
247578
|
resolve11({ ok: false, code: "timeout", reason: `\u8FD9\u53F0\u8282\u70B9\u6CA1\u5728 ${Math.round(RUNTIME_DETECT_TIMEOUT_MS / 1e3)} \u79D2\u5185\u56DE\u8BDD\uFF0C\u6CA1\u62FF\u5230\u63A2\u6D4B\u7ED3\u679C` });
|
|
247579
247579
|
}, RUNTIME_DETECT_TIMEOUT_MS);
|
|
247580
247580
|
runtimeDetectWaiters.set(requestId, {
|
|
247581
|
-
|
|
247581
|
+
nodeId,
|
|
247582
|
+
resolve: (r) => resolve11(r.ok ? { ok: true, runtimes: r.runtimes ?? [] } : { ok: false, code: r.code ?? "node", reason: r.reason ?? "\u8FD9\u53F0\u8282\u70B9\u63A2\u6D4B\u8FD0\u884C\u65F6\u65F6\u51FA\u9519\u4E86" }),
|
|
247582
247583
|
timer
|
|
247583
247584
|
});
|
|
247584
247585
|
const sent = hub.dispatch(nodeId, { type: "detect_runtimes", requestId });
|
|
@@ -247594,6 +247595,27 @@ function nodesDomain(deps) {
|
|
|
247594
247595
|
runtimeDetectInFlight.set(nodeId, task);
|
|
247595
247596
|
return task;
|
|
247596
247597
|
}
|
|
247598
|
+
const reenrollDetects = /* @__PURE__ */ new Map();
|
|
247599
|
+
const REENROLL_DETECT_TTL_MS = 30 * 6e4;
|
|
247600
|
+
function startReenrollDetect(enrollToken, nodeId, conn) {
|
|
247601
|
+
const nowMs = Date.now();
|
|
247602
|
+
for (const [k2, v2] of reenrollDetects) if (v2.expiresAt <= nowMs) reenrollDetects.delete(k2);
|
|
247603
|
+
const rec2 = { nodeId, conn, expiresAt: nowMs + REENROLL_DETECT_TTL_MS };
|
|
247604
|
+
reenrollDetects.set(enrollToken, rec2);
|
|
247605
|
+
void detectNodeRuntimes(nodeId).then((outcome) => {
|
|
247606
|
+
rec2.outcome = outcome;
|
|
247607
|
+
if (!outcome.ok) console.log(`[nodes] \u91CD\u65B0\u63A5\u5165\u65F6\u73B0\u573A\u63A2\u6D4B\u6CA1\u62FF\u5230\u7ED3\u679C(node=${nodeId})\uFF1A${outcome.reason}\uFF1B\u7B2C 3 \u6B65\u9000\u56DE\u8FD9\u53F0\u8282\u70B9\u4E0A\u6B21\u4E0A\u62A5\u7684\u5217\u8868`);
|
|
247608
|
+
});
|
|
247609
|
+
}
|
|
247610
|
+
function detectedForEnrollment(enrollToken, nodeId) {
|
|
247611
|
+
const latest = detectedRuntimesOf(nodeId);
|
|
247612
|
+
const rec2 = reenrollDetects.get(enrollToken);
|
|
247613
|
+
if (!rec2 || rec2.nodeId !== nodeId) return latest;
|
|
247614
|
+
const conn = deps.getHub()?.connectedDaemons().find((d) => d.daemonId === nodeId);
|
|
247615
|
+
if (!conn || conn !== rec2.conn) return latest;
|
|
247616
|
+
if (!rec2.outcome) return void 0;
|
|
247617
|
+
return rec2.outcome.ok ? rec2.outcome.runtimes : latest;
|
|
247618
|
+
}
|
|
247597
247619
|
let hubWired = false;
|
|
247598
247620
|
function wireHub(hub) {
|
|
247599
247621
|
if (hubWired) return;
|
|
@@ -247691,6 +247713,14 @@ function nodesDomain(deps) {
|
|
|
247691
247713
|
deps.onStatusChange?.();
|
|
247692
247714
|
}
|
|
247693
247715
|
});
|
|
247716
|
+
hub.addDisconnectListener?.((daemonId) => {
|
|
247717
|
+
for (const [requestId, waiter] of runtimeDetectWaiters) {
|
|
247718
|
+
if (waiter.nodeId !== daemonId) continue;
|
|
247719
|
+
runtimeDetectWaiters.delete(requestId);
|
|
247720
|
+
clearTimeout(waiter.timer);
|
|
247721
|
+
waiter.resolve({ ok: false, code: "offline", reason: "\u8FDE\u63A5\u65AD\u5F00\u4E86\uFF0C\u8282\u70B9\u6CA1\u6765\u5F97\u53CA\u56DE\u62A5\u63A2\u6D4B\u7ED3\u679C" });
|
|
247722
|
+
}
|
|
247723
|
+
});
|
|
247694
247724
|
hub.onDaemonDisconnected = async (daemonId) => {
|
|
247695
247725
|
quotaByNode.delete(daemonId);
|
|
247696
247726
|
try {
|
|
@@ -247895,7 +247925,7 @@ function nodesDomain(deps) {
|
|
|
247895
247925
|
const crossCompany = raw?.companyId !== void 0 && companyId !== void 0 && raw.companyId !== companyId;
|
|
247896
247926
|
const entry = crossCompany ? null : raw;
|
|
247897
247927
|
const nodeId = entry?.issuedNodeId;
|
|
247898
|
-
const detected = nodeId !== void 0 ?
|
|
247928
|
+
const detected = nodeId !== void 0 ? detectedForEnrollment(enrollToken, nodeId) : void 0;
|
|
247899
247929
|
const nodeConnected = nodeId !== void 0 && (deps.getHub()?.connectedDaemons() ?? []).some((d) => d.daemonId === nodeId);
|
|
247900
247930
|
const boundNodeReady = nodeId !== void 0 && (nodeConnected || usable.some((r) => r.nodeId === nodeId));
|
|
247901
247931
|
const boundNode = boundNodeReady && nodeId !== void 0 ? await deps.nodeStore.getNode(nodeId) : null;
|
|
@@ -247987,6 +248017,8 @@ function nodesDomain(deps) {
|
|
|
247987
248017
|
deps.nodeTokens.clearRevocations(nodeId);
|
|
247988
248018
|
const existing = deps.nodeTokens.list().find((e) => e.nodeId === nodeId);
|
|
247989
248019
|
const token2 = existing?.token ?? deps.nodeTokens.issue(nodeId);
|
|
248020
|
+
const liveConn = deps.getHub()?.connectedDaemons().find((d) => d.daemonId === nodeId);
|
|
248021
|
+
if (liveConn) startReenrollDetect(enrollToken, nodeId, liveConn);
|
|
247990
248022
|
return { status: 200, body: { nodeId, token: token2 } };
|
|
247991
248023
|
});
|
|
247992
248024
|
router.patch("/api/nodes/:nodeId", async (req) => {
|
|
@@ -297882,7 +297914,7 @@ async function waitForCommandAuthorization(base, headers, draftId, fallback) {
|
|
|
297882
297914
|
}
|
|
297883
297915
|
}
|
|
297884
297916
|
}
|
|
297885
|
-
var CLI_VERSION = "2.2.
|
|
297917
|
+
var CLI_VERSION = "2.2.103" ? "2.2.103" : "dev";
|
|
297886
297918
|
function apiHeaders(token2, company) {
|
|
297887
297919
|
const headers = {
|
|
297888
297920
|
authorization: `Bearer ${token2}`,
|
|
@@ -301918,7 +301950,7 @@ function shimScript() {
|
|
|
301918
301950
|
}
|
|
301919
301951
|
|
|
301920
301952
|
// src/index.ts
|
|
301921
|
-
var PKG_VERSION = true ? "2.2.
|
|
301953
|
+
var PKG_VERSION = true ? "2.2.103" : "dev";
|
|
301922
301954
|
var LOCAL_BIN = localBin();
|
|
301923
301955
|
var NPM_PREFIX = npmPrefix();
|
|
301924
301956
|
var INSTANCE = DEFAULT_INSTANCE;
|
|
@@ -302310,8 +302342,14 @@ async function startOneInstance(o) {
|
|
|
302310
302342
|
}
|
|
302311
302343
|
const pidNow = readPid();
|
|
302312
302344
|
const alive2 = !!pidNow && isRunning2(pidNow);
|
|
302313
|
-
|
|
302314
|
-
|
|
302345
|
+
const identityChanged = !!prev && (prev.nodeId !== nodeId || prev.token !== token2);
|
|
302346
|
+
if (alive2 && label2 === before && !serverChanged && !companyChanged && !identityChanged) {
|
|
302347
|
+
if (enrollToken) {
|
|
302348
|
+
console.log(`\u2713 ${INSTANCE}\uFF1A\u5DF2\u5728\u8FD0\u884C\uFF0C\u672A\u91CD\u542F\uFF08PID ${pidNow}\uFF0C${label2 ?? "?"}\uFF09\uFF1B\u63A5\u5165\u5DF2\u786E\u8BA4\uFF0C\u8BF7\u56DE\u5230\u9875\u9762\u9009\u62E9\u8981\u6DFB\u52A0\u7684\u8FD0\u884C\u65F6`);
|
|
302349
|
+
} else {
|
|
302350
|
+
console.log(`\u2713 ${INSTANCE}\uFF1A\u5DF2\u5728\u8DD1\uFF08PID ${pidNow}\uFF0C${label2 ?? "?"}\uFF09\uFF0C\u7248\u672C\u4E0E\u914D\u7F6E\u5747\u672A\u53D8\uFF0C\u672A\u91CD\u542F`);
|
|
302351
|
+
}
|
|
302352
|
+
if (nameChanged) console.log(` \u672C\u673A\u8BB0\u5F55\u7684\u8282\u70B9\u540D\u5DF2\u66F4\u65B0\uFF1A${prev.name} \u2192 ${name}`);
|
|
302315
302353
|
return;
|
|
302316
302354
|
}
|
|
302317
302355
|
stopDaemon(INSTANCE);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "oasis_test_v2",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.103",
|
|
4
4
|
"description": "Oasis node daemon + CLI — background daemon, auto-start, full server CLI",
|
|
5
5
|
"bin": {
|
|
6
6
|
"oasis": "./dist/index.js"
|
|
@@ -26,6 +26,6 @@
|
|
|
26
26
|
"node": ">=20"
|
|
27
27
|
},
|
|
28
28
|
"oasisRelease": {
|
|
29
|
-
"sourceHead": "
|
|
29
|
+
"sourceHead": "be78091fa39438c497835a6207b5df1d519afcc9"
|
|
30
30
|
}
|
|
31
31
|
}
|