@openclaw/crabline 0.1.17 → 0.1.19
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/README.md +8 -0
- package/dist/src/openclaw/private-file.js +71 -24
- package/dist/src/openclaw/private-file.js.map +1 -1
- package/dist/src/platform/process-owned-lock.d.ts +5 -2
- package/dist/src/platform/process-owned-lock.js +20 -10
- package/dist/src/platform/process-owned-lock.js.map +1 -1
- package/dist/src/servers/discord.js +25 -35
- package/dist/src/servers/discord.js.map +1 -1
- package/dist/src/servers/http.d.ts +3 -0
- package/dist/src/servers/http.js +15 -0
- package/dist/src/servers/http.js.map +1 -1
- package/dist/src/servers/matrix.js +8 -8
- package/dist/src/servers/matrix.js.map +1 -1
- package/dist/src/servers/mattermost.js +7 -10
- package/dist/src/servers/mattermost.js.map +1 -1
- package/dist/src/servers/recorder.d.ts +16 -6
- package/dist/src/servers/recorder.js +52 -12
- package/dist/src/servers/recorder.js.map +1 -1
- package/dist/src/servers/signal.js +8 -8
- package/dist/src/servers/signal.js.map +1 -1
- package/dist/src/servers/slack.js +8 -8
- package/dist/src/servers/slack.js.map +1 -1
- package/dist/src/servers/telegram.d.ts +2 -2
- package/dist/src/servers/telegram.js +8 -8
- package/dist/src/servers/telegram.js.map +1 -1
- package/dist/src/servers/whatsapp-baileys-websocket.js +4 -3
- package/dist/src/servers/whatsapp-baileys-websocket.js.map +1 -1
- package/dist/src/servers/whatsapp.js +13 -18
- package/dist/src/servers/whatsapp.js.map +1 -1
- package/dist/src/servers/zalo.js +8 -7
- package/dist/src/servers/zalo.js.map +1 -1
- package/docs/channel-setup.md +14 -1
- package/package.json +11 -11
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import fs from "node:fs";
|
|
2
2
|
export declare function isDeadLinuxProcessState(value: string): boolean;
|
|
3
|
-
|
|
3
|
+
type ProcessOwnedLockOptions = {
|
|
4
4
|
beforeDirectoryRemoval?: (directoryPath: string) => void;
|
|
5
5
|
machineIdentityReader?: () => string | null;
|
|
6
6
|
onDirectoryOwned?: (directoryPath: string, identity: {
|
|
@@ -8,4 +8,7 @@ export declare function createProcessOwnedLockFileSystem(options?: {
|
|
|
8
8
|
ino: bigint;
|
|
9
9
|
}) => void;
|
|
10
10
|
processIdentityReader?: (pid: number) => string | null;
|
|
11
|
-
}
|
|
11
|
+
};
|
|
12
|
+
export declare function initializeProcessOwnedLockIdentity(): void;
|
|
13
|
+
export declare function createProcessOwnedLockFileSystem(options?: ProcessOwnedLockOptions): typeof fs;
|
|
14
|
+
export {};
|
|
@@ -789,16 +789,7 @@ function isRecoverableUnknownOwner(candidate, status, stats) {
|
|
|
789
789
|
Date.now() - candidate.publishedAtMs >= OWNERLESS_LOCK_RECOVERY_MS &&
|
|
790
790
|
Date.now() - statMtimeMs(stats) >= OWNERLESS_LOCK_RECOVERY_MS);
|
|
791
791
|
}
|
|
792
|
-
|
|
793
|
-
if (process.platform !== "linux" &&
|
|
794
|
-
process.platform !== "darwin" &&
|
|
795
|
-
process.platform !== "win32") {
|
|
796
|
-
return fs;
|
|
797
|
-
}
|
|
798
|
-
const token = randomUUID();
|
|
799
|
-
const removeLockDirectorySync = (directoryPath, expectedIdentity, expectedMtimeMs, afterClaim) => {
|
|
800
|
-
removeVerifiedLockDirectorySync(directoryPath, expectedIdentity, expectedMtimeMs, options.beforeDirectoryRemoval, afterClaim);
|
|
801
|
-
};
|
|
792
|
+
function readCurrentLockOwner(options) {
|
|
802
793
|
const identityReader = options.processIdentityReader ?? readProcessIdentity;
|
|
803
794
|
let currentProcessIdentity;
|
|
804
795
|
if (options.processIdentityReader) {
|
|
@@ -838,6 +829,25 @@ export function createProcessOwnedLockFileSystem(options = {}) {
|
|
|
838
829
|
if (process.platform === "linux" && currentProcessNamespace === null) {
|
|
839
830
|
throw new Error("Recorder lock process namespace is unavailable.");
|
|
840
831
|
}
|
|
832
|
+
return { currentProcessIdentity, currentMachineIdentity, currentProcessNamespace };
|
|
833
|
+
}
|
|
834
|
+
export function initializeProcessOwnedLockIdentity() {
|
|
835
|
+
if (["linux", "darwin", "win32"].includes(process.platform)) {
|
|
836
|
+
readCurrentLockOwner({});
|
|
837
|
+
}
|
|
838
|
+
}
|
|
839
|
+
export function createProcessOwnedLockFileSystem(options = {}) {
|
|
840
|
+
if (process.platform !== "linux" &&
|
|
841
|
+
process.platform !== "darwin" &&
|
|
842
|
+
process.platform !== "win32") {
|
|
843
|
+
return fs;
|
|
844
|
+
}
|
|
845
|
+
const { currentProcessIdentity, currentMachineIdentity, currentProcessNamespace } = readCurrentLockOwner(options);
|
|
846
|
+
const identityReader = options.processIdentityReader ?? readProcessIdentity;
|
|
847
|
+
const token = randomUUID();
|
|
848
|
+
const removeLockDirectorySync = (directoryPath, expectedIdentity, expectedMtimeMs, afterClaim) => {
|
|
849
|
+
removeVerifiedLockDirectorySync(directoryPath, expectedIdentity, expectedMtimeMs, options.beforeDirectoryRemoval, afterClaim);
|
|
850
|
+
};
|
|
841
851
|
const ownedDirectories = new Map();
|
|
842
852
|
const interruptedPublicationIdentities = new Map();
|
|
843
853
|
let cachedForeignIdentity;
|