pantheon-opencode 1.5.2 → 1.6.0-beta.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.
- package/.pantheon/code-mode/README.md +4 -2
- package/.pantheon/code-mode/checkpoint_session.py +138 -102
- package/.pantheon/code-mode/compress-inline.py +102 -57
- package/.pantheon/code-mode/manifest.json +2 -8
- package/CHANGELOG.md +17 -0
- package/README.md +86 -52
- package/README.pt-BR.md +63 -43
- package/commands/pantheon-optimize.md +2 -2
- package/package.json +13 -1
- package/plugin.json +1 -1
- package/pyproject.toml +8 -15
- package/scripts/build-agents-md.mjs +2 -2
- package/scripts/check-plugin-v2-coverage.mjs +213 -0
- package/scripts/ci-validate-yaml.py +7 -5
- package/scripts/code_mode_server.py +116 -24
- package/scripts/doctor.mjs +85 -28
- package/scripts/install/cli-ui.mjs +1 -1
- package/scripts/install/config-migration.mjs +2 -2
- package/scripts/install/health-check.mjs +6 -19
- package/scripts/install/interactive.mjs +6 -6
- package/scripts/install/migrate.mjs +1 -1
- package/scripts/mcp_persistence_server.py +390 -76
- package/scripts/memory_mcp_server.py +370 -196
- package/scripts/postinstall.mjs +0 -7
- package/scripts/probe-context-rehydrate.mjs +28 -11
- package/scripts/prune.mjs +2 -2
- package/scripts/test-opencode-v2-sandbox.sh +1759 -0
- package/scripts/validate-routing.mjs +40 -0
- package/skills-lock.json +9 -10
- package/src/agents/mnemosyne.md +15 -16
- package/src/agents/zeus.md +1 -2
- package/src/mcp/code_mode_server.py +116 -24
- package/src/mcp/mcp_codemap_module.py +559 -129
- package/src/mcp/mcp_persistence_server.py +390 -76
- package/src/mcp/memory_mcp_server.py +371 -248
- package/src/mcp/pantheon_vision_server.py +136 -24
- package/src/mcp/requirements-mcp.txt +5 -3
- package/src/mcp/requirements-vision.txt +2 -0
- package/src/pantheon/model-command.ts +18 -7
- package/src/pantheon/todo-enforcer.ts +1 -1
- package/src/pantheon/vision.ts +1 -1
- package/src/plugin-v2.ts +134 -104
- package/src/plugins/tui/dist/tui.js +1 -1
- package/src/plugins/tui/package-lock.json +20 -20
- package/src/plugins/tui/package.json +12 -12
- package/src/routing.yml +0 -1
- package/src/skills/README.md +31 -36
- package/src/skills/auto-continue/SKILL.md +25 -75
- package/.pantheon/code-mode/eval-llm-judge.py +0 -255
- package/.pantheon/code-mode/eval-monte-carlo.py +0 -368
- package/.pantheon/code-mode/eval-run.py +0 -197
- package/.pantheon/code-mode/eval-static.py +0 -321
- package/.pantheon/code-mode/session-end-save.py +0 -186
- package/.pantheon/code-mode/session-end-save.sh +0 -18
- package/scripts/recover-zenodo-deposition.mjs +0 -146
- package/scripts/test-opencode-v1-v2-sandbox.sh +0 -862
- package/scripts/validate-zenodo-release.mjs +0 -154
- package/scripts/zenodo-artifact.mjs +0 -94
- package/scripts/zenodo-release-state.mjs +0 -53
- package/src/skills/orchestration-workflow/SKILL.md +0 -311
|
@@ -182,25 +182,12 @@ export function healthCheck(target, { dryRun = false, pythonTarget = target } =
|
|
|
182
182
|
results.failed.push({ check: 'mcp-sdk', detail: 'NOT INSTALLED — all MCP servers will fail' })
|
|
183
183
|
}
|
|
184
184
|
}
|
|
185
|
-
// Check 4:
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
)
|
|
192
|
-
if (result.status === 0) {
|
|
193
|
-
results.passed.push({
|
|
194
|
-
check: 'chromadb',
|
|
195
|
-
detail: result.stdout.toString().trim(),
|
|
196
|
-
})
|
|
197
|
-
} else {
|
|
198
|
-
results.warnings.push({
|
|
199
|
-
check: 'chromadb',
|
|
200
|
-
detail: 'NOT INSTALLED — semantic search will fail',
|
|
201
|
-
})
|
|
202
|
-
}
|
|
203
|
-
}
|
|
185
|
+
// Check 4: the memory server's only search backend is the stdlib's own
|
|
186
|
+
// SQLite FTS5 (check 5 below). The former "chromadb importable" probe
|
|
187
|
+
// imported fastembed, which the vector pipeline removal deleted, so it
|
|
188
|
+
// warned "semantic search will fail" on every install. Removed rather than
|
|
189
|
+
// repointed: check 5 already asserts the capability that matters, and a
|
|
190
|
+
// second sqlite3 import probe would tell us nothing new.
|
|
204
191
|
|
|
205
192
|
// Check 5: SQLite FTS5 available
|
|
206
193
|
if (python) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
3
|
import { emitKeypressEvents } from 'node:readline'
|
|
4
|
-
import { colors
|
|
4
|
+
import { colors } from './cli-ui.mjs'
|
|
5
5
|
|
|
6
6
|
const cursorHide = () => process.stdout.write('\x1b[?25l')
|
|
7
7
|
const cursorShow = () => process.stdout.write('\x1b[?25h')
|
|
@@ -95,7 +95,7 @@ export async function promptMultiSelect(
|
|
|
95
95
|
const lineCount = lines.length
|
|
96
96
|
if (previousLineCount > 0) cursorUp(previousLineCount)
|
|
97
97
|
clearDown()
|
|
98
|
-
process.stdout.write(lines.join('\n')
|
|
98
|
+
process.stdout.write(`${lines.join('\n')}\n`)
|
|
99
99
|
previousLineCount = lineCount
|
|
100
100
|
}
|
|
101
101
|
|
|
@@ -122,7 +122,7 @@ export async function promptMultiSelect(
|
|
|
122
122
|
reject(new Error('Canceled'))
|
|
123
123
|
}
|
|
124
124
|
|
|
125
|
-
function handler(
|
|
125
|
+
function handler(_str, key) {
|
|
126
126
|
if (!key) return
|
|
127
127
|
if ((key.ctrl && key.name === 'c') || key.name === 'escape') {
|
|
128
128
|
cancel()
|
|
@@ -184,7 +184,7 @@ export async function promptConfirm(message, { default: def = true } = {}) {
|
|
|
184
184
|
reject(new Error('Canceled'))
|
|
185
185
|
}
|
|
186
186
|
|
|
187
|
-
function handler(
|
|
187
|
+
function handler(_str, key) {
|
|
188
188
|
if (!key) return
|
|
189
189
|
if ((key.ctrl && key.name === 'c') || key.name === 'escape') {
|
|
190
190
|
cancel()
|
|
@@ -263,7 +263,7 @@ export async function promptList(options, { title = '' } = {}) {
|
|
|
263
263
|
const lineCount = lines.length
|
|
264
264
|
if (previousLineCount > 0) cursorUp(previousLineCount)
|
|
265
265
|
clearDown()
|
|
266
|
-
process.stdout.write(lines.join('\n')
|
|
266
|
+
process.stdout.write(`${lines.join('\n')}\n`)
|
|
267
267
|
previousLineCount = lineCount
|
|
268
268
|
}
|
|
269
269
|
|
|
@@ -290,7 +290,7 @@ export async function promptList(options, { title = '' } = {}) {
|
|
|
290
290
|
reject(new Error('Canceled'))
|
|
291
291
|
}
|
|
292
292
|
|
|
293
|
-
function handler(
|
|
293
|
+
function handler(_str, key) {
|
|
294
294
|
if (!key) return
|
|
295
295
|
if ((key.ctrl && key.name === 'c') || key.name === 'escape') {
|
|
296
296
|
cancel()
|
|
@@ -332,7 +332,7 @@ function main() {
|
|
|
332
332
|
if (list) {
|
|
333
333
|
const history = listAppliedMigrations(target)
|
|
334
334
|
if (!history.currentVersion) {
|
|
335
|
-
console.log(
|
|
335
|
+
console.log(` \u2139\uFE0F No install state found in: ${target}`)
|
|
336
336
|
return
|
|
337
337
|
}
|
|
338
338
|
console.log(` Current version: ${history.currentVersion}`)
|