@cereworker/cli 26.328.4 → 26.328.6
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 +7 -15
- package/dist/index.js.map +1 -1
- package/dist/upgrade.d.ts +2 -0
- package/dist/upgrade.d.ts.map +1 -0
- package/dist/upgrade.js +63 -0
- package/dist/upgrade.js.map +1 -0
- package/dist/warnings.d.ts +3 -0
- package/dist/warnings.d.ts.map +1 -0
- package/dist/warnings.js +51 -0
- package/dist/warnings.js.map +1 -0
- package/dist/warnings.test.d.ts +2 -0
- package/dist/warnings.test.d.ts.map +1 -0
- package/dist/warnings.test.js +23 -0
- package/dist/warnings.test.js.map +1 -0
- package/package.json +10 -10
- package/scripts/postinstall.mjs +36 -10
package/dist/index.js
CHANGED
|
@@ -1,20 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
// @ts-expect-error — filtering warning events before they reach stderr
|
|
6
|
-
process.emit = function (event, ...args) {
|
|
7
|
-
if (event === 'warning' && typeof args[0] === 'object' && args[0] !== null) {
|
|
8
|
-
const w = args[0];
|
|
9
|
-
// Suppress node:sqlite ExperimentalWarning (stable API, flag removed in Node 22.13+)
|
|
10
|
-
if (w.name === 'ExperimentalWarning' && String(w.message).includes('SQLite'))
|
|
11
|
-
return false;
|
|
12
|
-
// Suppress punycode deprecation from transitive dependencies
|
|
13
|
-
if (w.name === 'DeprecationWarning' && String(w.message).includes('punycode'))
|
|
14
|
-
return false;
|
|
15
|
-
}
|
|
16
|
-
return _origEmit.apply(this, [event, ...args]);
|
|
17
|
-
};
|
|
3
|
+
import { installWarningFilter } from './warnings.js';
|
|
4
|
+
installWarningFilter();
|
|
18
5
|
import { render, Text, Box } from 'ink';
|
|
19
6
|
import { createRequire } from 'node:module';
|
|
20
7
|
import { loadConfig } from '@cereworker/config';
|
|
@@ -109,6 +96,11 @@ async function main() {
|
|
|
109
96
|
}
|
|
110
97
|
await exitOneShot(0);
|
|
111
98
|
}
|
|
99
|
+
if (subcommand === 'upgrade') {
|
|
100
|
+
const { runUpgrade } = await import('./upgrade.js');
|
|
101
|
+
await runUpgrade();
|
|
102
|
+
await exitOneShot(0);
|
|
103
|
+
}
|
|
112
104
|
if (subcommand === 'serve') {
|
|
113
105
|
const { runHeadlessService } = await import('./serve.js');
|
|
114
106
|
const config = loadConfig();
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":";;AAEA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../src/upgrade.ts"],"names":[],"mappings":"AAGA,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CA+DhD"}
|
package/dist/upgrade.js
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { execSync } from 'node:child_process';
|
|
2
|
+
import { loadConfig } from '@cereworker/config';
|
|
3
|
+
export async function runUpgrade() {
|
|
4
|
+
const config = loadConfig();
|
|
5
|
+
const image = config.cerebellum.docker.image;
|
|
6
|
+
// Detect docker binary
|
|
7
|
+
let dockerBin = '';
|
|
8
|
+
try {
|
|
9
|
+
dockerBin = execSync('which docker', { stdio: 'pipe' }).toString().trim();
|
|
10
|
+
}
|
|
11
|
+
catch {
|
|
12
|
+
for (const c of ['/usr/bin/docker', '/usr/local/bin/docker', '/snap/bin/docker']) {
|
|
13
|
+
try {
|
|
14
|
+
execSync(`test -x ${c}`, { stdio: 'pipe' });
|
|
15
|
+
dockerBin = c;
|
|
16
|
+
break;
|
|
17
|
+
}
|
|
18
|
+
catch { }
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
if (!dockerBin) {
|
|
22
|
+
console.error('Docker is not installed.');
|
|
23
|
+
process.exit(1);
|
|
24
|
+
}
|
|
25
|
+
// Detect sudo requirement
|
|
26
|
+
let prefix = '';
|
|
27
|
+
try {
|
|
28
|
+
execSync(`${dockerBin} info`, { stdio: 'pipe', timeout: 10_000 });
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
try {
|
|
32
|
+
execSync(`sudo -n ${dockerBin} info`, { stdio: 'pipe', timeout: 10_000 });
|
|
33
|
+
prefix = 'sudo ';
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
console.error('Docker permission denied. Run: sudo usermod -aG docker $USER && newgrp docker');
|
|
37
|
+
process.exit(1);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
// Pull latest image
|
|
41
|
+
console.log(`Pulling ${image}...`);
|
|
42
|
+
try {
|
|
43
|
+
execSync(`${prefix}docker pull ${image}`, { stdio: 'inherit', timeout: 3_600_000 });
|
|
44
|
+
}
|
|
45
|
+
catch {
|
|
46
|
+
console.error(`Failed to pull ${image}`);
|
|
47
|
+
process.exit(1);
|
|
48
|
+
}
|
|
49
|
+
// Recreate container if it exists
|
|
50
|
+
try {
|
|
51
|
+
const existing = execSync(`${prefix}docker ps -aq -f name=cereworker-cerebellum`, { stdio: 'pipe' }).toString().trim();
|
|
52
|
+
if (existing) {
|
|
53
|
+
console.log('Stopping old container...');
|
|
54
|
+
execSync(`${prefix}docker rm -f cereworker-cerebellum`, { stdio: 'pipe' });
|
|
55
|
+
console.log('Old container removed. It will be recreated on next start.');
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
catch {
|
|
59
|
+
// No container to remove — that's fine
|
|
60
|
+
}
|
|
61
|
+
console.log('Upgrade complete.');
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=upgrade.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../src/upgrade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC;IAE7C,uBAAuB;IACvB,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,IAAI,CAAC;QACH,SAAS,GAAG,QAAQ,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;IAC5E,CAAC;IAAC,MAAM,CAAC;QACP,KAAK,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,uBAAuB,EAAE,kBAAkB,CAAC,EAAE,CAAC;YACjF,IAAI,CAAC;gBACH,QAAQ,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC5C,SAAS,GAAG,CAAC,CAAC;gBACd,MAAM;YACR,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACZ,CAAC;IACH,CAAC;IAED,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,0BAA0B;IAC1B,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,CAAC;QACH,QAAQ,CAAC,GAAG,SAAS,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IACpE,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC;YACH,QAAQ,CAAC,WAAW,SAAS,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YAC1E,MAAM,GAAG,OAAO,CAAC;QACnB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,KAAK,CAAC,+EAA+E,CAAC,CAAC;YAC/F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,oBAAoB;IACpB,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,KAAK,CAAC,CAAC;IACnC,IAAI,CAAC;QACH,QAAQ,CAAC,GAAG,MAAM,eAAe,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;IACtF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,KAAK,CAAC,kBAAkB,KAAK,EAAE,CAAC,CAAC;QACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,kCAAkC;IAClC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,QAAQ,CACvB,GAAG,MAAM,6CAA6C,EACtD,EAAE,KAAK,EAAE,MAAM,EAAE,CAClB,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;QAEpB,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;YACzC,QAAQ,CAAC,GAAG,MAAM,oCAAoC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YAC3E,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,uCAAuC;IACzC,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AACnC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"warnings.d.ts","sourceRoot":"","sources":["../src/warnings.ts"],"names":[],"mappings":"AA0BA,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAa9D;AAID,wBAAgB,oBAAoB,IAAI,IAAI,CAY3C"}
|
package/dist/warnings.js
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
function getWarningType(args) {
|
|
2
|
+
const second = args[1];
|
|
3
|
+
if (typeof second === 'string')
|
|
4
|
+
return second;
|
|
5
|
+
if (second && typeof second === 'object' && 'type' in second && typeof second.type === 'string') {
|
|
6
|
+
return second.type;
|
|
7
|
+
}
|
|
8
|
+
return undefined;
|
|
9
|
+
}
|
|
10
|
+
function getWarningName(args) {
|
|
11
|
+
const first = args[0];
|
|
12
|
+
if (first && typeof first === 'object' && 'name' in first && typeof first.name === 'string') {
|
|
13
|
+
return first.name;
|
|
14
|
+
}
|
|
15
|
+
return getWarningType(args);
|
|
16
|
+
}
|
|
17
|
+
function getWarningMessage(args) {
|
|
18
|
+
const first = args[0];
|
|
19
|
+
if (typeof first === 'string')
|
|
20
|
+
return first;
|
|
21
|
+
if (first && typeof first === 'object' && 'message' in first && typeof first.message === 'string') {
|
|
22
|
+
return first.message;
|
|
23
|
+
}
|
|
24
|
+
return '';
|
|
25
|
+
}
|
|
26
|
+
export function shouldSuppressWarning(args) {
|
|
27
|
+
const name = getWarningName(args);
|
|
28
|
+
const message = getWarningMessage(args);
|
|
29
|
+
if (name === 'ExperimentalWarning' && message.includes('SQLite')) {
|
|
30
|
+
return true;
|
|
31
|
+
}
|
|
32
|
+
if (name === 'DeprecationWarning' && message.includes('punycode')) {
|
|
33
|
+
return true;
|
|
34
|
+
}
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
let installed = false;
|
|
38
|
+
export function installWarningFilter() {
|
|
39
|
+
if (installed)
|
|
40
|
+
return;
|
|
41
|
+
installed = true;
|
|
42
|
+
const originalEmitWarning = process.emitWarning.bind(process);
|
|
43
|
+
process.emitWarning = ((warning, ...rest) => {
|
|
44
|
+
const args = [warning, ...rest];
|
|
45
|
+
if (shouldSuppressWarning(args)) {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
return originalEmitWarning(warning, ...rest);
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=warnings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"warnings.js","sourceRoot":"","sources":["../src/warnings.ts"],"names":[],"mappings":"AAAA,SAAS,cAAc,CAAC,IAAe;IACrC,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACvB,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC;IAC9C,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAChG,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,cAAc,CAAC,IAAe;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC5F,OAAO,KAAK,CAAC,IAAI,CAAC;IACpB,CAAC;IACD,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAe;IACxC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,SAAS,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAClG,OAAO,KAAK,CAAC,OAAO,CAAC;IACvB,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAe;IACnD,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAExC,IAAI,IAAI,KAAK,qBAAqB,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,IAAI,KAAK,oBAAoB,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAClE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,IAAI,SAAS,GAAG,KAAK,CAAC;AAEtB,MAAM,UAAU,oBAAoB;IAClC,IAAI,SAAS;QAAE,OAAO;IACtB,SAAS,GAAG,IAAI,CAAC;IAEjB,MAAM,mBAAmB,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9D,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC,OAAuB,EAAE,GAAG,IAAe,EAAE,EAAE;QACrE,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;QAChC,IAAI,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,OAAO;QACT,CAAC;QACD,OAAO,mBAAmB,CAAC,OAAyB,EAAE,GAAG,IAAU,CAAC,CAAC;IACvE,CAAC,CAA+B,CAAC;AACnC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"warnings.test.d.ts","sourceRoot":"","sources":["../src/warnings.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { describe, expect, it } from 'vitest';
|
|
2
|
+
import { shouldSuppressWarning } from './warnings.js';
|
|
3
|
+
describe('shouldSuppressWarning', () => {
|
|
4
|
+
it('suppresses the node:sqlite experimental warning', () => {
|
|
5
|
+
expect(shouldSuppressWarning([
|
|
6
|
+
'SQLite is an experimental feature and might change at any time',
|
|
7
|
+
'ExperimentalWarning',
|
|
8
|
+
])).toBe(true);
|
|
9
|
+
});
|
|
10
|
+
it('suppresses the transitive punycode deprecation warning', () => {
|
|
11
|
+
expect(shouldSuppressWarning([
|
|
12
|
+
'The punycode module is deprecated.',
|
|
13
|
+
'DeprecationWarning',
|
|
14
|
+
])).toBe(true);
|
|
15
|
+
});
|
|
16
|
+
it('does not suppress unrelated warnings', () => {
|
|
17
|
+
expect(shouldSuppressWarning([
|
|
18
|
+
'Something else happened',
|
|
19
|
+
'ExperimentalWarning',
|
|
20
|
+
])).toBe(false);
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
//# sourceMappingURL=warnings.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"warnings.test.js","sourceRoot":"","sources":["../src/warnings.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,MAAM,CAAC,qBAAqB,CAAC;YAC3B,gEAAgE;YAChE,qBAAqB;SACtB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,MAAM,CAAC,qBAAqB,CAAC;YAC3B,oCAAoC;YACpC,oBAAoB;SACrB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,CAAC,qBAAqB,CAAC;YAC3B,yBAAyB;YACzB,qBAAqB;SACtB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cereworker/cli",
|
|
3
|
-
"version": "26.328.
|
|
3
|
+
"version": "26.328.6",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"bin": {
|
|
6
6
|
"cereworker": "dist/index.js"
|
|
@@ -22,15 +22,15 @@
|
|
|
22
22
|
"ink": "^5.1.0",
|
|
23
23
|
"@inkjs/ui": "^2.0.0",
|
|
24
24
|
"react": "^18.3.1",
|
|
25
|
-
"@cereworker/core": "26.328.
|
|
26
|
-
"@cereworker/
|
|
27
|
-
"@cereworker/
|
|
28
|
-
"@cereworker/
|
|
29
|
-
"@cereworker/
|
|
30
|
-
"@cereworker/browser": "26.328.
|
|
31
|
-
"@cereworker/
|
|
32
|
-
"@cereworker/
|
|
33
|
-
"@cereworker/
|
|
25
|
+
"@cereworker/core": "26.328.6",
|
|
26
|
+
"@cereworker/config": "26.328.6",
|
|
27
|
+
"@cereworker/cerebrum": "26.328.6",
|
|
28
|
+
"@cereworker/cerebellum-client": "26.328.6",
|
|
29
|
+
"@cereworker/skills": "26.328.6",
|
|
30
|
+
"@cereworker/browser": "26.328.6",
|
|
31
|
+
"@cereworker/gateway": "26.328.6",
|
|
32
|
+
"@cereworker/channels": "26.328.6",
|
|
33
|
+
"@cereworker/hippocampus": "26.328.6"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"@types/react": "^18.3.0",
|
package/scripts/postinstall.mjs
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
//
|
|
2
|
+
// Post-install: copy browser extension + pull Cerebellum Docker image
|
|
3
3
|
|
|
4
4
|
import { existsSync, cpSync, mkdirSync } from 'node:fs';
|
|
5
5
|
import { homedir } from 'node:os';
|
|
6
|
-
import { join
|
|
6
|
+
import { join } from 'node:path';
|
|
7
7
|
import { createRequire } from 'node:module';
|
|
8
|
-
import {
|
|
8
|
+
import { execSync } from 'node:child_process';
|
|
9
|
+
|
|
10
|
+
// --- 1. Copy browser extension to ~/.cereworker/extension/ ---
|
|
9
11
|
|
|
10
12
|
const dest = join(homedir(), '.cereworker', 'extension');
|
|
11
13
|
|
|
@@ -14,15 +16,39 @@ try {
|
|
|
14
16
|
const browserPkg = require.resolve('@cereworker/browser');
|
|
15
17
|
const extensionSrc = join(browserPkg.substring(0, browserPkg.lastIndexOf('dist')), 'extension');
|
|
16
18
|
|
|
17
|
-
if (
|
|
18
|
-
|
|
19
|
+
if (existsSync(extensionSrc)) {
|
|
20
|
+
mkdirSync(dest, { recursive: true });
|
|
21
|
+
cpSync(extensionSrc, dest, { recursive: true });
|
|
22
|
+
console.log(`CereWorker: Browser extension copied to ${dest}`);
|
|
23
|
+
console.log(' Load it in Chrome: chrome://extensions → Load unpacked → select that folder');
|
|
24
|
+
}
|
|
25
|
+
} catch {
|
|
26
|
+
// Non-critical — don't fail the install
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
// --- 2. Pull latest Cerebellum Docker image ---
|
|
30
|
+
|
|
31
|
+
let dockerCmd = 'docker';
|
|
32
|
+
|
|
33
|
+
try {
|
|
34
|
+
execSync('docker info', { stdio: 'pipe', timeout: 10_000 });
|
|
35
|
+
} catch {
|
|
36
|
+
// Docker not available directly — try with sudo
|
|
37
|
+
try {
|
|
38
|
+
execSync('sudo -n docker info', { stdio: 'pipe', timeout: 10_000 });
|
|
39
|
+
dockerCmd = 'sudo docker';
|
|
40
|
+
} catch {
|
|
41
|
+
console.log('CereWorker: Docker not available — skipping Cerebellum image pull.');
|
|
42
|
+
console.log(' Install Docker and run "cereworker upgrade" to pull the image later.');
|
|
19
43
|
process.exit(0);
|
|
20
44
|
}
|
|
45
|
+
}
|
|
21
46
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
47
|
+
const image = 'cereworker/cerebellum:latest';
|
|
48
|
+
console.log(`CereWorker: Pulling ${image}...`);
|
|
49
|
+
try {
|
|
50
|
+
execSync(`${dockerCmd} pull ${image}`, { stdio: 'inherit', timeout: 3_600_000 });
|
|
51
|
+
console.log(`CereWorker: Cerebellum image updated.`);
|
|
26
52
|
} catch {
|
|
27
|
-
|
|
53
|
+
console.log(`CereWorker: Could not pull ${image} (non-fatal). Run "cereworker upgrade" to retry.`);
|
|
28
54
|
}
|