@keyoku/openclaw 1.4.0 → 1.4.1
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.
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* npx @keyoku/openclaw update-engine
|
|
5
|
+
*
|
|
6
|
+
* Downloads the latest keyoku-engine binary, replacing the current one.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import('../dist/update-engine.js')
|
|
10
|
+
.then((m) => m.updateEngine())
|
|
11
|
+
.catch((err) => {
|
|
12
|
+
console.error('Update failed:', err);
|
|
13
|
+
process.exit(1);
|
|
14
|
+
});
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `npx @keyoku/openclaw update-engine`
|
|
3
|
+
*
|
|
4
|
+
* Downloads the latest keyoku-engine binary from GitHub releases,
|
|
5
|
+
* replacing the existing binary at ~/.keyoku/bin/keyoku.
|
|
6
|
+
*/
|
|
7
|
+
export declare function updateEngine(): Promise<void>;
|
|
8
|
+
//# sourceMappingURL=update-engine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-engine.d.ts","sourceRoot":"","sources":["../src/update-engine.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA0BH,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAmDlD"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `npx @keyoku/openclaw update-engine`
|
|
3
|
+
*
|
|
4
|
+
* Downloads the latest keyoku-engine binary from GitHub releases,
|
|
5
|
+
* replacing the existing binary at ~/.keyoku/bin/keyoku.
|
|
6
|
+
*/
|
|
7
|
+
import { existsSync, mkdirSync, chmodSync, createWriteStream } from 'node:fs';
|
|
8
|
+
import { join } from 'node:path';
|
|
9
|
+
import { pipeline } from 'node:stream/promises';
|
|
10
|
+
const HOME = process.env.HOME ?? '';
|
|
11
|
+
const KEYOKU_BIN_DIR = join(HOME, '.keyoku', 'bin');
|
|
12
|
+
const KEYOKU_BIN_PATH = join(KEYOKU_BIN_DIR, 'keyoku');
|
|
13
|
+
function getPlatformInfo() {
|
|
14
|
+
const osMap = {
|
|
15
|
+
darwin: 'darwin',
|
|
16
|
+
linux: 'linux',
|
|
17
|
+
win32: 'windows',
|
|
18
|
+
};
|
|
19
|
+
const archMap = {
|
|
20
|
+
x64: 'amd64',
|
|
21
|
+
arm64: 'arm64',
|
|
22
|
+
};
|
|
23
|
+
return {
|
|
24
|
+
os: osMap[process.platform] ?? process.platform,
|
|
25
|
+
arch: archMap[process.arch] ?? process.arch,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
export async function updateEngine() {
|
|
29
|
+
const { os, arch } = getPlatformInfo();
|
|
30
|
+
const assetName = `keyoku-server-${os}-${arch}${os === 'windows' ? '.exe' : ''}`;
|
|
31
|
+
const hasExisting = existsSync(KEYOKU_BIN_PATH);
|
|
32
|
+
console.log(`Platform: ${os}/${arch}`);
|
|
33
|
+
console.log(hasExisting ? `Existing binary: ${KEYOKU_BIN_PATH}` : 'No existing binary found.');
|
|
34
|
+
console.log('Fetching latest release...');
|
|
35
|
+
const releaseRes = await fetch('https://api.github.com/repos/keyoku-ai/keyoku-engine/releases/latest', { headers: { Accept: 'application/vnd.github.v3+json' } });
|
|
36
|
+
if (!releaseRes.ok) {
|
|
37
|
+
console.error(`Failed to fetch release info: ${releaseRes.status} ${releaseRes.statusText}`);
|
|
38
|
+
process.exit(1);
|
|
39
|
+
}
|
|
40
|
+
const release = (await releaseRes.json());
|
|
41
|
+
const asset = release.assets.find((a) => a.name === assetName);
|
|
42
|
+
if (!asset) {
|
|
43
|
+
console.error(`No binary found for ${os}/${arch} in release ${release.tag_name}`);
|
|
44
|
+
console.error(`Available: ${release.assets.map((a) => a.name).join(', ')}`);
|
|
45
|
+
process.exit(1);
|
|
46
|
+
}
|
|
47
|
+
console.log(`Downloading ${release.tag_name} (${asset.name})...`);
|
|
48
|
+
const downloadRes = await fetch(asset.browser_download_url);
|
|
49
|
+
if (!downloadRes.ok || !downloadRes.body) {
|
|
50
|
+
console.error(`Download failed: ${downloadRes.status}`);
|
|
51
|
+
process.exit(1);
|
|
52
|
+
}
|
|
53
|
+
mkdirSync(KEYOKU_BIN_DIR, { recursive: true });
|
|
54
|
+
const fileStream = createWriteStream(KEYOKU_BIN_PATH);
|
|
55
|
+
// @ts-expect-error — Node fetch body is a ReadableStream, pipeline handles it
|
|
56
|
+
await pipeline(downloadRes.body, fileStream);
|
|
57
|
+
if (os !== 'windows') {
|
|
58
|
+
chmodSync(KEYOKU_BIN_PATH, 0o755);
|
|
59
|
+
}
|
|
60
|
+
console.log(`${hasExisting ? 'Updated' : 'Installed'} ${release.tag_name} → ${KEYOKU_BIN_PATH}`);
|
|
61
|
+
console.log('Restart your engine or OpenClaw gateway to use the new version.');
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=update-engine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-engine.js","sourceRoot":"","sources":["../src/update-engine.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@keyoku/openclaw",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.1",
|
|
4
4
|
"description": "Keyoku memory plugin for OpenClaw — persistent memory, heartbeat enhancement, and scheduling",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
8
8
|
"bin": {
|
|
9
|
-
"keyoku-init": "bin/init.js"
|
|
9
|
+
"keyoku-init": "bin/init.js",
|
|
10
|
+
"keyoku-update-engine": "bin/update-engine.js"
|
|
10
11
|
},
|
|
11
12
|
"scripts": {
|
|
12
13
|
"build": "tsc"
|
|
13
14
|
},
|
|
14
15
|
"dependencies": {
|
|
15
|
-
"@keyoku/memory": "1.4.
|
|
16
|
-
"@keyoku/types": "1.4.
|
|
16
|
+
"@keyoku/memory": "1.4.1",
|
|
17
|
+
"@keyoku/types": "1.4.1",
|
|
17
18
|
"@sinclair/typebox": "^0.34.0"
|
|
18
19
|
},
|
|
19
20
|
"peerDependencies": {
|