pantheon-opencode 1.6.0-beta.7 → 1.6.0-beta.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/AGENTS.md +58 -15
- package/CHANGELOG.md +61 -94
- package/README.md +81 -103
- package/README.pt-BR.md +19 -37
- package/commands/pantheon-audit.md +7 -1
- package/commands/pantheon-consolidate.md +1 -1
- package/commands/pantheon-focus.md +17 -0
- package/package.json +1 -2
- package/plugin.json +2 -2
- package/pyproject.toml +1 -1
- package/scripts/build-agents-md.mjs +2 -3
- package/scripts/doctor.mjs +22 -104
- package/scripts/hooks/scan-secrets.sh +97 -0
- package/scripts/install/config-migration.mjs +9 -42
- package/scripts/install/interactive.mjs +1 -1
- package/scripts/install/opencode.mjs +174 -77
- package/scripts/install/plugin.mjs +43 -9
- package/scripts/install/strings.mjs +0 -8
- package/scripts/probe-pantheon-cost.mjs +3 -16
- package/scripts/sync-artifacts.mjs +1 -0
- package/scripts/sync-tui.mjs +24 -3
- package/scripts/test-opencode-v2-sandbox.sh +203 -786
- package/scripts/validate-sandbox-install.mjs +138 -0
- package/skills-lock.json +4 -5
- package/src/agents/aphrodite.md +2 -9
- package/src/agents/demeter.md +0 -9
- package/src/agents/gaia.md +1 -0
- package/src/agents/hephaestus.md +0 -9
- package/src/agents/hermes.md +2 -9
- package/src/agents/mnemosyne.md +18 -53
- package/src/agents/prometheus.md +0 -9
- package/src/agents/themis.md +0 -1
- package/src/agents/zeus.md +180 -19
- package/src/instructions/agent-return-format.instructions.md +48 -3
- package/src/instructions/memory-protocol.instructions.md +8 -9
- package/src/instructions/zeus-anti-stall.instructions.md +54 -6
- package/src/instructions/zeus-council-synthesis.instructions.md +71 -0
- package/src/instructions/zeus-memory-operations.instructions.md +4 -4
- package/src/instructions/zeus-timeout-retry.instructions.md +81 -7
- package/src/pantheon/v2-delegation-enforce.ts +2 -1
- package/src/plugin-v2.ts +251 -168
- package/src/plugins/pantheon-hooks.ts +35 -82
- package/src/plugins/tui/dist/tui-v2.d.ts +9 -0
- package/src/plugins/tui/dist/tui-v2.d.ts.map +1 -0
- package/src/plugins/tui/dist/tui-v2.js +151 -0
- package/src/plugins/tui/dist/tui-v2.js.map +1 -0
- package/src/plugins/tui/dist/tui.d.ts.map +1 -1
- package/src/plugins/tui/dist/tui.js +29 -53
- package/src/plugins/tui/index-v2.ts +6 -0
- package/src/plugins/tui/package-lock.json +5411 -1292
- package/src/plugins/tui/package.json +10 -7
- package/src/plugins/tui/src/index-v2.tsx +108 -0
- package/src/plugins/tui/src/index.tsx +28 -63
- package/src/plugins/tui/src/opencode-v2.d.ts +13 -0
- package/src/plugins/tui/tsdown.config.ts +2 -2
- package/src/plugins/tui/tui-v2.ts +2 -0
- package/src/plugins/tui/tui.ts +3 -0
- package/src/routing.yml +4 -2
- package/src/skills/README.md +7 -12
- package/src/skills/agent-coordination/SKILL.md +83 -13
- package/src/skills/auto-continue/SKILL.md +13 -14
- package/src/skills/context-compression/SKILL.md +26 -879
- package/src/skills/session-goal/SKILL.md +14 -5
- package/src/pantheon/secret-scanner.ts +0 -489
- package/src/plugins/tui/README.md +0 -14
- package/src/skills/council-synthesis/SKILL.md +0 -29
package/scripts/sync-tui.mjs
CHANGED
|
@@ -14,6 +14,7 @@ import { existsSync, mkdirSync, readdirSync, readFileSync, rmSync, writeFileSync
|
|
|
14
14
|
import { homedir } from 'node:os'
|
|
15
15
|
import { join } from 'node:path'
|
|
16
16
|
import { fileURLToPath, pathToFileURL } from 'node:url'
|
|
17
|
+
import { resolveOpenCodeVersion } from './install/opencode-version.mjs'
|
|
17
18
|
|
|
18
19
|
const __dirname = fileURLToPath(new URL('.', import.meta.url))
|
|
19
20
|
const ROOT = join(__dirname, '..')
|
|
@@ -63,7 +64,7 @@ function resolveConfigDir() {
|
|
|
63
64
|
* The raw TSX source is never copied — the loader consumes only the bundle.
|
|
64
65
|
* @returns {{ created: number, skipped: number }}
|
|
65
66
|
*/
|
|
66
|
-
function copyPluginFiles(srcDir, dstDir) {
|
|
67
|
+
function copyPluginFiles(srcDir, dstDir, version) {
|
|
67
68
|
const result = { created: 0, skipped: 0 }
|
|
68
69
|
|
|
69
70
|
mkdirSync(dstDir, { recursive: true })
|
|
@@ -87,11 +88,30 @@ function copyPluginFiles(srcDir, dstDir) {
|
|
|
87
88
|
// package.json
|
|
88
89
|
const pkgSrc = join(srcDir, 'package.json')
|
|
89
90
|
if (existsSync(pkgSrc)) {
|
|
90
|
-
const
|
|
91
|
+
const packageJson = JSON.parse(readFileSync(pkgSrc, 'utf8'))
|
|
92
|
+
if (version === 'v2' && packageJson.exports?.['./tui-v2']) {
|
|
93
|
+
packageJson.exports['./tui'] = packageJson.exports['./tui-v2']
|
|
94
|
+
}
|
|
95
|
+
const content = `${JSON.stringify(packageJson, null, 2)}\n`
|
|
91
96
|
if (writeIfChanged(join(dstDir, 'package.json'), content)) result.created++
|
|
92
97
|
else result.skipped++
|
|
93
98
|
}
|
|
94
99
|
|
|
100
|
+
const tuiEntry = join(srcDir, version === 'v2' ? 'tui-v2.ts' : 'tui.ts')
|
|
101
|
+
if (existsSync(tuiEntry)) {
|
|
102
|
+
if (writeIfChanged(join(dstDir, 'tui.ts'), readFileSync(tuiEntry, 'utf8'))) result.created++
|
|
103
|
+
else result.skipped++
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
const v2ServerEntry = join(srcDir, 'index-v2.ts')
|
|
107
|
+
const v2ServerDestination = join(dstDir, 'index.ts')
|
|
108
|
+
if (version === 'v2' && existsSync(v2ServerEntry)) {
|
|
109
|
+
if (writeIfChanged(v2ServerDestination, readFileSync(v2ServerEntry, 'utf8'))) result.created++
|
|
110
|
+
else result.skipped++
|
|
111
|
+
} else if (existsSync(v2ServerDestination)) {
|
|
112
|
+
rmSync(v2ServerDestination, { force: true })
|
|
113
|
+
}
|
|
114
|
+
|
|
95
115
|
// Keep the copied plugin installable with deterministic npm ci.
|
|
96
116
|
const lockSrc = join(srcDir, 'package-lock.json')
|
|
97
117
|
if (existsSync(lockSrc)) {
|
|
@@ -169,7 +189,8 @@ async function main() {
|
|
|
169
189
|
const sourceVersion = readVersion(join(tuiSrcDir, 'package.json'))
|
|
170
190
|
|
|
171
191
|
// Copy fresh files
|
|
172
|
-
const {
|
|
192
|
+
const version = resolveOpenCodeVersion('auto', { warn: (message) => console.warn(message) })
|
|
193
|
+
const { created } = copyPluginFiles(tuiSrcDir, tuiCopyDir, version)
|
|
173
194
|
|
|
174
195
|
// Lockfile installation is the only accepted dependency path. Strip
|
|
175
196
|
// global-context npm vars so a global postinstall can't trigger ECIGLOBAL.
|