pantheon-opencode 1.3.2 → 1.3.4
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/README.md +154 -1
- package/bin/pantheon-init.mjs +160 -120
- package/opencode.json +0 -1
- package/package.json +10 -5
- package/scripts/cost.mjs +69 -0
- package/scripts/doctor.mjs +56 -22
- package/scripts/hooks/on-subagent-delegation-stop.sh +22 -5
- package/scripts/install/opencode.mjs +132 -32
- package/scripts/install/plugin.mjs +112 -28
- package/scripts/install-mcp.mjs +1 -1
- package/scripts/redaction-gate.mjs +69 -0
- package/scripts/release-notes.mjs +317 -0
- package/scripts/test-context-compression.sh +5 -2
- package/scripts/validate-package.mjs +56 -0
- package/scripts/versioning.mjs +117 -18
- package/src/agents/zeus.md +80 -0
- package/src/pantheon/background-job-board.ts +115 -40
- package/src/pantheon/chat-reminders.ts +79 -0
- package/src/pantheon/compaction-assert.ts +160 -0
- package/src/pantheon/cost-command.ts +208 -0
- package/src/pantheon/cost-tracker.ts +108 -0
- package/src/pantheon/delegation-compaction.ts +237 -0
- package/src/pantheon/delegation-enforce.ts +144 -0
- package/src/pantheon/delegation-finalize.ts +277 -0
- package/src/pantheon/delegation-notify.ts +100 -0
- package/src/pantheon/delegation.ts +690 -0
- package/src/pantheon/dispatch-guard.ts +107 -0
- package/src/pantheon/file-persistence.ts +10 -6
- package/src/pantheon/goal-loop.ts +300 -0
- package/src/pantheon/goal-store.ts +97 -0
- package/src/pantheon/hashline/core.ts +91 -0
- package/src/pantheon/hashline/read-enhancer.ts +66 -0
- package/src/pantheon/hashline/tool.ts +260 -0
- package/src/pantheon/hashline/xxhash.ts +53 -0
- package/src/pantheon/idle-continuation.ts +54 -0
- package/src/pantheon/logger.ts +117 -0
- package/src/pantheon/plugin-once.ts +76 -0
- package/src/pantheon/preemptive-compact.ts +76 -0
- package/src/pantheon/presets.d.mts +31 -0
- package/src/pantheon/presets.mjs +105 -3
- package/src/pantheon/todo-enforcer.ts +421 -0
- package/src/pantheon/todo-preserve.ts +295 -0
- package/src/plugin.ts +406 -13
- package/src/plugins/pantheon-hooks.ts +52 -30
- package/src/plugins/tui/dist/server.d.ts +17 -0
- package/src/plugins/tui/dist/server.d.ts.map +1 -0
- package/src/plugins/tui/dist/server.js +20 -0
- package/src/plugins/tui/dist/server.js.map +1 -0
- package/src/plugins/tui/dist/tui.d.ts +303 -1
- package/src/plugins/tui/dist/tui.d.ts.map +1 -1
- package/src/plugins/tui/dist/tui.js +977 -350
- package/src/plugins/tui/dist/tui.tsx +1427 -150
- package/src/plugins/tui/package.json +4 -3
- package/src/plugins/tui/src/index.tsx +1427 -150
- package/src/plugins/tui/src/server.ts +15 -0
- package/src/plugins/tui/tsdown.config.ts +1 -1
- package/src/routing.yml +35 -2
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* No-op server stub for the opencode plugin loader.
|
|
3
|
+
*
|
|
4
|
+
* The opencode plugin host requires every plugin (TUI included) to expose a
|
|
5
|
+
* `server()` entry via `exports["./server"]` (or package.json `main`). When
|
|
6
|
+
* that entry is missing the host fails to attach the plugin's server half and
|
|
7
|
+
* the TUI runtime never wires the reactive channel — the initial JSX mounts
|
|
8
|
+
* but effects/refresh/events stay dead (the "mudo panel" symptom).
|
|
9
|
+
*
|
|
10
|
+
* This stub satisfies the loader contract; pantheon-tui is TUI-only and has
|
|
11
|
+
* no background server work of its own.
|
|
12
|
+
*/
|
|
13
|
+
export default function server() {
|
|
14
|
+
return {}
|
|
15
|
+
}
|
package/src/routing.yml
CHANGED
|
@@ -14,7 +14,8 @@ presets:
|
|
|
14
14
|
apiKeyEnv: PANTHEON_OPENCODE_API_KEY
|
|
15
15
|
agents:
|
|
16
16
|
athena: { model: opencode/deepseek-v4-pro, reasoning_effort: high, fallback_models: [opencode/mimo-v2.5] }
|
|
17
|
-
themis
|
|
17
|
+
# themis (PR #46 W4): phase reviews run on v4-flash (cost/empty-signature fix); pro only for the FINAL gate (manual override).
|
|
18
|
+
themis: { model: opencode/deepseek-v4-flash, reasoning_effort: high, fallback_models: [opencode/mimo-v2.5] }
|
|
18
19
|
zeus: { model: opencode/deepseek-v4-flash, reasoning_effort: medium, fallback_models: [opencode/mimo-v2.5] }
|
|
19
20
|
hermes: { model: opencode/deepseek-v4-flash, reasoning_effort: medium, fallback_models: [opencode/mimo-v2.5] }
|
|
20
21
|
aphrodite: { model: opencode/deepseek-v4-flash, reasoning_effort: medium, fallback_models: [opencode/mimo-v2.5] }
|
|
@@ -555,4 +556,36 @@ platforms:
|
|
|
555
556
|
background_job_board:
|
|
556
557
|
max_concurrent_per_agent: 3
|
|
557
558
|
signal_dir: .pantheon/deepwork/board-signals/
|
|
558
|
-
|
|
559
|
+
persistence_path: .pantheon/board/state.json
|
|
560
|
+
background_delegation:
|
|
561
|
+
timeout_ms: 900000 # 15 min
|
|
562
|
+
poll_ms: 250
|
|
563
|
+
max_compaction_items: 10
|
|
564
|
+
prune_ttl_ms: 86400000 # 24h
|
|
565
|
+
read_only_agents: [apollo, gaia]
|
|
566
|
+
session_max: 3
|
|
567
|
+
retry_count: 1
|
|
568
|
+
todo_enforcer:
|
|
569
|
+
enabled: true
|
|
570
|
+
cooldown_base_ms: 5000 # base backoff between injections
|
|
571
|
+
max_consecutive_failures: 5 # stop injecting after this many failures
|
|
572
|
+
failure_reset_ms: 300000 # quiet period before the counter resets (5 min)
|
|
573
|
+
user_activity_quiet_ms: 30000 # skip injection this long after a user message (30s)
|
|
574
|
+
child_active_ms: 120000 # native (non-board) background child newer than this = still running → skip (2 min).
|
|
575
|
+
# Board children (delegations) are resolved by taskID instead: running → skip;
|
|
576
|
+
# terminal jobs (completed/error/cancelled/reconciled) NEVER suppress (T6 fix).
|
|
577
|
+
# Runtime kill-switch: PANTHEON_TODO_ENFORCER=off (doc mirror only — the
|
|
578
|
+
# env var is the real switch, read at plugin construction).
|
|
579
|
+
hashline:
|
|
580
|
+
enabled: true
|
|
581
|
+
enhance_read: true
|
|
582
|
+
# Wave 2 (PR #46): tag-anchored edits. enhance_read augments `read` output
|
|
583
|
+
# with per-line sha256 tags (12#XJ|content); hashline_edit anchors edits to
|
|
584
|
+
# those refs. Documentation mirror — the plugin resolves behavior in code.
|
|
585
|
+
full_auto:
|
|
586
|
+
enabled: false # opt-in: goal continuations are OFF by default
|
|
587
|
+
max_continuations: 25 # hard cap on goal continuations per session
|
|
588
|
+
# Wave 3 (PR #46): full-auto goal loop. One active goal per session
|
|
589
|
+
# (pending → in_progress → done); while active, idle sessions are
|
|
590
|
+
# continued automatically toward the objective. Documentation mirror —
|
|
591
|
+
# the plugin resolves behavior in code (GOAL_LOOP_DEFAULTS).
|