@super-pocock-ai/suite 2.0.7 → 2.0.9
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/index.js +48 -1
- package/package.json +9 -5
- package/postinstall.js +59 -0
package/index.js
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { readFileSync, writeFileSync, mkdirSync, existsSync, readdirSync, statSync } from 'fs'
|
|
2
2
|
import { join, dirname } from 'path'
|
|
3
3
|
import { fileURLToPath } from 'url'
|
|
4
|
+
import { execSync } from 'child_process'
|
|
5
|
+
|
|
6
|
+
const SUITE_VERSION = '2.0.7'
|
|
4
7
|
|
|
5
8
|
export const SuperPocockSuite = async ({ project, client, $, directory, worktree }) => {
|
|
6
9
|
const agentsDir = join(process.env.HOME, '.config', 'opencode', 'agents')
|
|
@@ -14,6 +17,50 @@ export const SuperPocockSuite = async ({ project, client, $, directory, worktree
|
|
|
14
17
|
}
|
|
15
18
|
|
|
16
19
|
const configDir = join(process.env.HOME, '.config', 'opencode', 'node_modules')
|
|
20
|
+
|
|
21
|
+
// Check and update packages if needed
|
|
22
|
+
const checkAndUpdate = async () => {
|
|
23
|
+
const suiteDir = join(configDir, '@super-pocock-ai', 'suite')
|
|
24
|
+
const suitePackageJson = join(suiteDir, 'package.json')
|
|
25
|
+
|
|
26
|
+
if (existsSync(suitePackageJson)) {
|
|
27
|
+
const installed = JSON.parse(readFileSync(suitePackageJson, 'utf-8'))
|
|
28
|
+
if (installed.version !== SUITE_VERSION) {
|
|
29
|
+
await client.app.log({
|
|
30
|
+
body: {
|
|
31
|
+
service: 'super-pocock-suite',
|
|
32
|
+
level: 'info',
|
|
33
|
+
message: `Updating suite from v${installed.version} to v${SUITE_VERSION}...`
|
|
34
|
+
}
|
|
35
|
+
})
|
|
36
|
+
|
|
37
|
+
try {
|
|
38
|
+
execSync('npm update @super-pocock-ai/suite --save', {
|
|
39
|
+
cwd: join(process.env.HOME, '.config', 'opencode'),
|
|
40
|
+
stdio: 'pipe'
|
|
41
|
+
})
|
|
42
|
+
|
|
43
|
+
await client.app.log({
|
|
44
|
+
body: {
|
|
45
|
+
service: 'super-pocock-suite',
|
|
46
|
+
level: 'info',
|
|
47
|
+
message: 'Suite updated successfully'
|
|
48
|
+
}
|
|
49
|
+
})
|
|
50
|
+
} catch (e) {
|
|
51
|
+
await client.app.log({
|
|
52
|
+
body: {
|
|
53
|
+
service: 'super-pocock-suite',
|
|
54
|
+
level: 'warn',
|
|
55
|
+
message: `Auto-update failed: ${e.message}. Please run: rm -rf ~/.cache/opencode/node_modules`
|
|
56
|
+
}
|
|
57
|
+
})
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
await checkAndUpdate()
|
|
17
64
|
|
|
18
65
|
// Helper: install agents from a directory
|
|
19
66
|
const installAgents = async (sourceDir, label) => {
|
|
@@ -88,7 +135,7 @@ export const SuperPocockSuite = async ({ project, client, $, directory, worktree
|
|
|
88
135
|
body: {
|
|
89
136
|
service: 'super-pocock-suite',
|
|
90
137
|
level: 'info',
|
|
91
|
-
message:
|
|
138
|
+
message: `Superpocock Suite v${SUITE_VERSION} loaded`
|
|
92
139
|
}
|
|
93
140
|
})
|
|
94
141
|
}
|
package/package.json
CHANGED
|
@@ -1,18 +1,22 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@super-pocock-ai/suite",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.9",
|
|
4
4
|
"description": "Superpocock 完整套件,包含记忆系统和工作流",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "index.js",
|
|
7
7
|
"files": [
|
|
8
8
|
"index.js",
|
|
9
|
+
"postinstall.js",
|
|
9
10
|
"README.md"
|
|
10
11
|
],
|
|
12
|
+
"scripts": {
|
|
13
|
+
"postinstall": "node postinstall.js"
|
|
14
|
+
},
|
|
11
15
|
"dependencies": {
|
|
12
|
-
"@super-pocock-ai/memory-core": "2.0.
|
|
13
|
-
"@super-pocock-ai/memory-agents": "2.0.
|
|
14
|
-
"@super-pocock-ai/compose-workflow": "2.0.
|
|
15
|
-
"@super-pocock-ai/compose-agents": "2.0.
|
|
16
|
+
"@super-pocock-ai/memory-core": "2.0.9",
|
|
17
|
+
"@super-pocock-ai/memory-agents": "2.0.9",
|
|
18
|
+
"@super-pocock-ai/compose-workflow": "2.0.9",
|
|
19
|
+
"@super-pocock-ai/compose-agents": "2.0.9"
|
|
16
20
|
},
|
|
17
21
|
"keywords": [
|
|
18
22
|
"opencode",
|
package/postinstall.js
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { existsSync, mkdirSync, readdirSync, statSync, copyFileSync } from 'fs'
|
|
3
|
+
import { join } from 'path'
|
|
4
|
+
|
|
5
|
+
const HOME = process.env.HOME
|
|
6
|
+
const CACHE_SUITE = join(HOME, '.cache', 'opencode', 'packages', '@super-pocock-ai', 'suite')
|
|
7
|
+
const CONFIG_MODULES = join(HOME, '.config', 'opencode', 'node_modules', '@super-pocock-ai')
|
|
8
|
+
|
|
9
|
+
// 确保目标目录存在
|
|
10
|
+
if (!existsSync(CONFIG_MODULES)) {
|
|
11
|
+
mkdirSync(CONFIG_MODULES, { recursive: true })
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
// 从缓存复制包到配置目录
|
|
15
|
+
const packages = ['suite', 'compose-agents', 'compose-workflow', 'memory-agents', 'memory-core']
|
|
16
|
+
|
|
17
|
+
for (const pkg of packages) {
|
|
18
|
+
const src = join(CACHE_SUITE, 'node_modules', '@super-pocock-ai', pkg)
|
|
19
|
+
const dest = join(CONFIG_MODULES, pkg)
|
|
20
|
+
|
|
21
|
+
if (existsSync(src) && !existsSync(dest)) {
|
|
22
|
+
mkdirSync(dest, { recursive: true })
|
|
23
|
+
|
|
24
|
+
// 复制 package.json
|
|
25
|
+
copyFileSync(join(src, 'package.json'), join(dest, 'package.json'))
|
|
26
|
+
|
|
27
|
+
// 复制其他文件和目录
|
|
28
|
+
const items = readdirSync(src)
|
|
29
|
+
for (const item of items) {
|
|
30
|
+
if (item === 'node_modules' || item === 'package.json') continue
|
|
31
|
+
|
|
32
|
+
const srcPath = join(src, item)
|
|
33
|
+
const destPath = join(dest, item)
|
|
34
|
+
|
|
35
|
+
if (statSync(srcPath).isDirectory()) {
|
|
36
|
+
// 递归复制目录
|
|
37
|
+
const copyDir = (s, d) => {
|
|
38
|
+
mkdirSync(d, { recursive: true })
|
|
39
|
+
for (const f of readdirSync(s)) {
|
|
40
|
+
const sf = join(s, f)
|
|
41
|
+
const df = join(d, f)
|
|
42
|
+
if (statSync(sf).isDirectory()) {
|
|
43
|
+
copyDir(sf, df)
|
|
44
|
+
} else {
|
|
45
|
+
copyFileSync(sf, df)
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
copyDir(srcPath, destPath)
|
|
50
|
+
} else {
|
|
51
|
+
copyFileSync(srcPath, destPath)
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
console.log(`[super-pocock-suite] Copied ${pkg} to config`)
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
console.log('[super-pocock-suite] Postinstall complete')
|