opencode-orchestrator 1.3.12 → 1.5.0

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 CHANGED
@@ -6,7 +6,7 @@
6
6
  [![MIT License](https://img.shields.io/badge/license-MIT-red.svg)](LICENSE)
7
7
  [![npm](https://img.shields.io/npm/v/opencode-orchestrator.svg)](https://www.npmjs.com/package/opencode-orchestrator)
8
8
  <!-- VERSION:START -->
9
- **Version:** `1.3.12`
9
+ **Version:** `1.5.0`
10
10
  <!-- VERSION:END -->
11
11
  </div>
12
12
 
@@ -34,8 +34,8 @@ Manual fallback: remove `"opencode-orchestrator"` or `["opencode-orchestrator",
34
34
  Tested compatibility:
35
35
 
36
36
  1. Node.js `24+`
37
- 2. `@opencode-ai/plugin` `1.17.3`
38
- 3. `@opencode-ai/sdk` `1.17.3`
37
+ 2. `@opencode-ai/plugin` `1.17.4`
38
+ 3. `@opencode-ai/sdk` `1.17.4`
39
39
 
40
40
  OpenCode plugin options belong inside the `plugin` array as `["plugin-name", {...}]` tuples. Configure `agentConcurrency` and `missionLoop` there:
41
41
 
@@ -99,6 +99,35 @@ Mission controls:
99
99
  3. `/cancel` and `/stop` deactivate the current mission loop.
100
100
  4. The default mission iteration ceiling is `1,000,000,000`.
101
101
 
102
+ ### Authorized Shell Listener TUI
103
+
104
+ For owned lab machines or explicitly authorized test environments, the bundled Rust CLI can run a multi-session TCP shell listener:
105
+
106
+ ```bash
107
+ orchestrator shell-listener --bind 127.0.0.1 --port 4444
108
+ ```
109
+
110
+ The listener is intentionally outside the OpenCode JSON-RPC tool surface. It is an operator-driven terminal workflow, not an LLM-callable tool.
111
+
112
+ Safety defaults:
113
+
114
+ 1. Loopback-only bind by default.
115
+ 2. Non-loopback bind addresses require `--allow-remote`.
116
+ 3. Raw stream logs are stored under `.opencode-orchestrator/shell-listener/`.
117
+ 4. The CLI does not generate payloads, exploit targets, or bypass authentication.
118
+
119
+ TUI commands:
120
+
121
+ | Command | Purpose |
122
+ | --- | --- |
123
+ | `sessions` | Show connected sessions, peer addresses, status, and raw log paths. |
124
+ | `use <id>` | Select the active session. |
125
+ | `send <text>` | Send one input line to the active session. Use this for login, registry, CDK, or reverse-proxy prompts that need human input. |
126
+ | `run <cmd>` | Send a command followed by a unique sentinel marker so completion can be recognized in output. |
127
+ | `pty` | Send a manual PTY helper to the active session when the remote environment supports Python. |
128
+ | `close [id]` | Close a session. |
129
+ | `quit` | Stop the listener UI. |
130
+
102
131
  ## 4. How It Works
103
132
 
104
133
  ```mermaid
Binary file
Binary file
@@ -2,7 +2,7 @@
2
2
  * ╔════════════════════════════════════════════════════════════╗
3
3
  * ║ DISCOVERY CORE PHILOSOPHY ║
4
4
  * ╠════════════════════════════════════════════════════════════╣
5
- * ║ 발견 단계의 핵심 철학: 실행 충분한 탐색
5
+ * ║ Core Philosophy of Discovery: Thorough Exploration Before Execution
6
6
  * ╚════════════════════════════════════════════════════════════╝
7
7
  */
8
8
  export declare const DISCOVERY_CORE = "\n# Discovery Phase Philosophy\n\nBefore any execution, thoroughly explore:\n1. Workspace structure\n2. Environment capabilities\n3. Available skills and tools\n4. Project patterns and conventions\n\nThe discovery phase sets the foundation for all subsequent actions.\n";
@@ -2,7 +2,7 @@
2
2
  * ╔════════════════════════════════════════════════════════════╗
3
3
  * ║ PLANNING CORE PHILOSOPHY ║
4
4
  * ╠════════════════════════════════════════════════════════════╣
5
- * ║ 계획 단계의 핵심 철학: 실행 가능한 명확한 계획 수립
5
+ * ║ Core Philosophy of Planning: Establishing Clear, Actionable Plans
6
6
  * ╚════════════════════════════════════════════════════════════╝
7
7
  */
8
8
  export declare const PLANNING_CORE = "\n# Planning Phase Philosophy\n\nCreate actionable, granular plans:\n1. Break down complex tasks into atomic units\n2. Identify dependencies and execution order\n3. Plan for parallel execution where possible\n4. Define clear success criteria\n\nGood planning makes execution straightforward.\n";
@@ -2,7 +2,7 @@
2
2
  * ╔════════════════════════════════════════════════════════════╗
3
3
  * ║ EXECUTION CORE PHILOSOPHY ║
4
4
  * ╠════════════════════════════════════════════════════════════╣
5
- * ║ 실행 단계의 핵심 철학: 계획을 정확하게 실행
5
+ * ║ Core Philosophy of Execution: Executing Plans with Precision
6
6
  * ╚════════════════════════════════════════════════════════════╝
7
7
  */
8
8
  export declare const EXECUTION_CORE = "\n# Execution Phase Philosophy\n\nExecute with precision and quality:\n1. Follow the plan systematically\n2. Handle errors gracefully\n3. Provide clear progress updates\n4. Maintain code quality standards\n\nExecution transforms plans into reality.\n";
@@ -2,7 +2,7 @@
2
2
  * ╔════════════════════════════════════════════════════════════╗
3
3
  * ║ VERIFICATION CORE PHILOSOPHY ║
4
4
  * ╠════════════════════════════════════════════════════════════╣
5
- * ║ 검증 단계의 핵심 철학: 실행 기반 품질 보증
5
+ * ║ Core Philosophy of Verification: Execution-Based Quality Assurance
6
6
  * ╚════════════════════════════════════════════════════════════╝
7
7
  */
8
8
  export declare const VERIFICATION_CORE = "\n# Verification Phase Philosophy\n\nVerify through actual execution:\n1. Build the project\n2. Run tests\n3. Check linting and type errors\n4. Validate runtime behavior\n\nReal execution is the ultimate verification.\n";
@@ -2,7 +2,7 @@
2
2
  * ╔════════════════════════════════════════════════════════════╗
3
3
  * ║ MISSION CORE PHILOSOPHY ║
4
4
  * ╠════════════════════════════════════════════════════════════╣
5
- * ║ 미션 관리의 핵심 철학: 전체 생명주기 관리
5
+ * ║ Core Philosophy of Mission Control: Managing Full Lifecycle
6
6
  * ╚════════════════════════════════════════════════════════════╝
7
7
  */
8
8
  export declare const MISSION_CORE = "\n# Mission Management Philosophy\n\nManage the entire mission lifecycle:\n1. Track mission status throughout execution\n2. Handle recovery from failures\n3. Determine completion conditions\n4. Ensure clean mission closure\n\nA mission succeeds when all objectives are met.\n";
@@ -2,7 +2,7 @@
2
2
  * ╔════════════════════════════════════════════════════════════╗
3
3
  * ║ TOOLS CORE PHILOSOPHY ║
4
4
  * ╠════════════════════════════════════════════════════════════╣
5
- * ║ 도구 사용의 핵심 철학: 올바른 도구를 올바르게 사용
5
+ * ║ Core Philosophy of Tools: Using the Right Tools Correctly
6
6
  * ╚════════════════════════════════════════════════════════════╝
7
7
  */
8
8
  export declare const TOOLS_CORE = "\n# Tools Usage Philosophy\n\nUse the right tool for the right job:\n1. Understand each tool's capabilities and limitations\n2. Choose the most appropriate tool for each task\n3. Use tools efficiently and correctly\n4. Validate tool outputs\n\nProper tool usage amplifies effectiveness.\n";
package/dist/index.js CHANGED
@@ -36515,15 +36515,15 @@ var CONTINUE_INSTRUCTION = `<auto_continue>
36515
36515
  </auto_continue>`;
36516
36516
  var STAGNATION_INTERVENTION = `
36517
36517
  <system_intervention type="stagnation_detected">
36518
- \u26A0\uFE0F **\uACBD\uACE0: \uC9C4\uD589 \uC815\uCCB4 \uAC10\uC9C0 (STAGNATION DETECTED)**
36519
- \uCD5C\uADFC \uC5EC\uB7EC \uD134 \uB3D9\uC548 \uC2E4\uC9C8\uC801\uC778 \uC9C4\uC804\uC774 \uAC10\uC9C0\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. \uB2E8\uC21C "\uBAA8\uB2C8\uD130\uB9C1"\uC774\uB098 \uAC19\uC740 \uD589\uB3D9\uC744 \uBC18\uBCF5\uD558\uB294 \uAC83\uC740 \uAE08\uC9C0\uB429\uB2C8\uB2E4.
36518
+ \u26A0\uFE0F **WARNING: STAGNATION DETECTED**
36519
+ No substantive progress has been detected for the past several turns. Repeating the same action or merely "monitoring" is prohibited.
36520
36520
 
36521
- **\uC790\uC728\uC801 \uC9C4\uB2E8 \uBC0F \uD574\uACB0 \uC9C0\uCE68:**
36522
- 1. **\uC2E4\uC2DC\uAC04 \uB85C\uADF8 \uD655\uC778**: \`check_background_task\` \uB610\uB294 \`read_file\`\uC744 \uC0AC\uC6A9\uD558\uC5EC \uC9C4\uD589 \uC911\uC778 \uC791\uC5C5\uC758 \uCD9C\uB825 \uB85C\uADF8\uB97C \uC9C1\uC811 \uD655\uC778\uD558\uC2ED\uC2DC\uC624.
36523
- 2. **\uD504\uB85C\uC138\uC2A4 \uC0DD\uC874 \uC9C4\uB2E8**: \uC791\uC5C5\uC774 \uC880\uBE44 \uC0C1\uD0DC\uC774\uAC70\uB098 \uBA48\uCD98 \uAC83 \uAC19\uB2E4\uBA74 \uACFC\uAC10\uD558\uAC8C \`kill\`\uD558\uACE0 \uB2E8\uACC4\uB97C \uC138\uBD84\uD654\uD558\uC5EC \uB2E4\uC2DC \uC2E4\uD589\uD558\uC2ED\uC2DC\uC624.
36524
- 3. **\uC804\uB7B5 \uC804\uD658**: \uB3D9\uC77C\uD55C \uC811\uADFC \uBC29\uC2DD\uC774 \uC2E4\uD328\uD558\uACE0 \uC788\uB2E4\uBA74, \uB2E4\uB978 \uB3C4\uAD6C\uB098 \uBC29\uBC95\uC744 \uC0AC\uC6A9\uD558\uC5EC \uBAA9\uD45C\uC5D0 \uB3C4\uB2EC\uD558\uC2ED\uC2DC\uC624.
36521
+ **Guidelines for Autonomous Diagnosis and Resolution:**
36522
+ 1. **Check Real-time Logs**: Use \`check_background_task\` or \`read_file\` to directly check the output logs of the running task.
36523
+ 2. **Process Liveness Diagnosis**: If the task appears to be in a zombie state or hung, proactively \`kill\` it, break down the steps, and run it again.
36524
+ 3. **Strategy Pivot**: If the same approach keeps failing, use alternative tools or methods to reach the goal.
36525
36525
 
36526
- **\uC9C0\uAE08 \uBC14\uB85C \uB2A5\uB3D9\uC801\uC73C\uB85C \uAC1C\uC785\uD558\uC2ED\uC2DC\uC624. \uB300\uAE30\uD558\uC9C0 \uB9C8\uC2ED\uC2DC\uC624.**
36526
+ **Intervene proactively right now. Do not wait.**
36527
36527
  </system_intervention>`;
36528
36528
  var CLEANUP_INSTRUCTION = `
36529
36529
  <system_maintenance type="continuous_hygiene">
@@ -21,5 +21,5 @@ export declare const MISSION_MESSAGES: {
21
21
  };
22
22
  export declare const COMPACTION_PROMPT: string;
23
23
  export declare const CONTINUE_INSTRUCTION: string;
24
- export declare const STAGNATION_INTERVENTION = "\n<system_intervention type=\"stagnation_detected\">\n\u26A0\uFE0F **\uACBD\uACE0: \uC9C4\uD589 \uC815\uCCB4 \uAC10\uC9C0 (STAGNATION DETECTED)**\n\uCD5C\uADFC \uC5EC\uB7EC \uD134 \uB3D9\uC548 \uC2E4\uC9C8\uC801\uC778 \uC9C4\uC804\uC774 \uAC10\uC9C0\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. \uB2E8\uC21C \"\uBAA8\uB2C8\uD130\uB9C1\"\uC774\uB098 \uAC19\uC740 \uD589\uB3D9\uC744 \uBC18\uBCF5\uD558\uB294 \uAC83\uC740 \uAE08\uC9C0\uB429\uB2C8\uB2E4.\n\n**\uC790\uC728\uC801 \uC9C4\uB2E8 \uBC0F \uD574\uACB0 \uC9C0\uCE68:**\n1. **\uC2E4\uC2DC\uAC04 \uB85C\uADF8 \uD655\uC778**: `check_background_task` \uB610\uB294 `read_file`\uC744 \uC0AC\uC6A9\uD558\uC5EC \uC9C4\uD589 \uC911\uC778 \uC791\uC5C5\uC758 \uCD9C\uB825 \uB85C\uADF8\uB97C \uC9C1\uC811 \uD655\uC778\uD558\uC2ED\uC2DC\uC624.\n2. **\uD504\uB85C\uC138\uC2A4 \uC0DD\uC874 \uC9C4\uB2E8**: \uC791\uC5C5\uC774 \uC880\uBE44 \uC0C1\uD0DC\uC774\uAC70\uB098 \uBA48\uCD98 \uAC83 \uAC19\uB2E4\uBA74 \uACFC\uAC10\uD558\uAC8C `kill`\uD558\uACE0 \uB2E8\uACC4\uB97C \uC138\uBD84\uD654\uD558\uC5EC \uB2E4\uC2DC \uC2E4\uD589\uD558\uC2ED\uC2DC\uC624.\n3. **\uC804\uB7B5 \uC804\uD658**: \uB3D9\uC77C\uD55C \uC811\uADFC \uBC29\uC2DD\uC774 \uC2E4\uD328\uD558\uACE0 \uC788\uB2E4\uBA74, \uB2E4\uB978 \uB3C4\uAD6C\uB098 \uBC29\uBC95\uC744 \uC0AC\uC6A9\uD558\uC5EC \uBAA9\uD45C\uC5D0 \uB3C4\uB2EC\uD558\uC2ED\uC2DC\uC624.\n\n**\uC9C0\uAE08 \uBC14\uB85C \uB2A5\uB3D9\uC801\uC73C\uB85C \uAC1C\uC785\uD558\uC2ED\uC2DC\uC624. \uB300\uAE30\uD558\uC9C0 \uB9C8\uC2ED\uC2DC\uC624.**\n</system_intervention>";
24
+ export declare const STAGNATION_INTERVENTION = "\n<system_intervention type=\"stagnation_detected\">\n\u26A0\uFE0F **WARNING: STAGNATION DETECTED**\nNo substantive progress has been detected for the past several turns. Repeating the same action or merely \"monitoring\" is prohibited.\n\n**Guidelines for Autonomous Diagnosis and Resolution:**\n1. **Check Real-time Logs**: Use `check_background_task` or `read_file` to directly check the output logs of the running task.\n2. **Process Liveness Diagnosis**: If the task appears to be in a zombie state or hung, proactively `kill` it, break down the steps, and run it again.\n3. **Strategy Pivot**: If the same approach keeps failing, use alternative tools or methods to reach the goal.\n\n**Intervene proactively right now. Do not wait.**\n</system_intervention>";
25
25
  export declare const CLEANUP_INSTRUCTION = "\n<system_maintenance type=\"continuous_hygiene\">\n\uD83E\uDDF9 **DOCUMENTATION & STATE HYGIENE (Iteration %ITER%)**\nYou must maintain a pristine workspace. **As part of your move**, perform these checks:\n\n1. **Relevance Assessment**:\n - Review active documents (`.opencode/*.md`). Are they needed for the *current* objective?\n - If a file represents a solved problem or obsolete context, **Archive it** to `.opencode/archive/` or delete it.\n\n2. **Synchronization**:\n - Verify `TODO.md` matches the actual code state. Mark completed items immediately.\n - Check `sync-issues.md`. If issues are resolved, remove them.\n\n3. **Context Optimization**:\n - If `work-log.md` is getting noisy, summarize key decisions into `summary.md` and truncate the log.\n - Keep context lightweight.\n\n**Rule**: A cluttered workspace leads to hallucinations. Clean as you go.\n</system_maintenance>\n";
package/package.json CHANGED
@@ -2,14 +2,14 @@
2
2
  "name": "opencode-orchestrator",
3
3
  "displayName": "OpenCode Orchestrator",
4
4
  "description": "Multi-agent mission control for OpenCode with Commander, Planner, Worker, and Reviewer workflows.",
5
- "version": "1.3.12",
5
+ "version": "1.5.0",
6
6
  "author": "agnusdei1207",
7
7
  "license": "MIT",
8
8
  "repository": {
9
9
  "type": "git",
10
10
  "url": "git+https://github.com/agnusdei1207/opencode-orchestrator.git"
11
11
  },
12
- "homepage": "https://github.com/agnusdei1207/opencode-orchestrator/issues",
12
+ "homepage": "https://agnusdei1207.github.io/opencode-orchestrator/",
13
13
  "bugs": {
14
14
  "url": "https://github.com/agnusdei1207/opencode-orchestrator/issues"
15
15
  },
@@ -74,8 +74,8 @@
74
74
  "node": ">=24"
75
75
  },
76
76
  "dependencies": {
77
- "@opencode-ai/plugin": "1.17.3",
78
- "@opencode-ai/sdk": "1.17.3",
77
+ "@opencode-ai/plugin": "1.17.4",
78
+ "@opencode-ai/sdk": "1.17.4",
79
79
  "jsonc-parser": "^3.3.1",
80
80
  "zod": "^4.3.6"
81
81
  },