opencode-orchestrator 0.1.55 → 0.1.56

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
@@ -15,10 +15,11 @@
15
15
 
16
16
  A 6-agent collaborative system that turns **affordable LLMs into reliable engineering teams**.
17
17
 
18
+ - **Relentless Loop** — Auto-continues until mission complete
18
19
  - **Atomic Decomposition** — Tasks broken into verifiable micro-units
19
20
  - **PDCA Loop** — Plan → Do → Check → Act (self-correcting)
20
21
  - **Parallel DAG** — Independent tasks run concurrently
21
- - **Style Guardian** — Reviewer catches all errors before merge
22
+ - **Quality Gate** — Reviewer catches all errors before merge
22
23
 
23
24
  ---
24
25
 
@@ -34,16 +35,27 @@ Restart OpenCode after installation.
34
35
 
35
36
  ## Usage
36
37
 
38
+ ### Option 1: Select Orchestrator Agent
39
+ Press `tab` → Select **Orchestrator** → Just type your request!
40
+
41
+ ```
42
+ "Implement user authentication with JWT"
43
+ ```
44
+
45
+ ### Option 2: Use /task Command
37
46
  ```bash
38
47
  /task "Implement user authentication with JWT"
39
48
  ```
40
49
 
41
- The Orchestrator will:
50
+ Both methods activate **Relentless Loop** — the agent continues automatically until mission complete.
51
+
52
+ ### How It Works:
42
53
  1. **Plan** — Decompose into atomic tasks
43
54
  2. **Search** — Find patterns and context
44
55
  3. **Code** — Implement with precision
45
56
  4. **Review** — Verify via quality gate
46
57
  5. **Fix** — Self-heal if errors occur
58
+ 6. **Loop** — Repeat until ✅ MISSION COMPLETE
47
59
 
48
60
  ---
49
61
 
package/dist/index.d.ts CHANGED
@@ -73,5 +73,6 @@ declare const OrchestratorPlugin: (input: PluginInput) => Promise<{
73
73
  output: string;
74
74
  metadata: any;
75
75
  }) => Promise<void>;
76
+ "assistant.done": (input: any, output: any) => Promise<void>;
76
77
  }>;
77
78
  export default OrchestratorPlugin;
package/dist/index.js CHANGED
@@ -705,6 +705,17 @@ var OrchestratorPlugin = async (input) => {
705
705
  if (textPartIndex === -1) return;
706
706
  const originalText = parts[textPartIndex].text || "";
707
707
  const parsed = detectSlashCommand(originalText);
708
+ const agentName = input2.agent?.toLowerCase() || "";
709
+ if (agentName === "orchestrator" && !state.missionActive) {
710
+ const sessionID = input2.sessionID;
711
+ state.sessions.set(sessionID, {
712
+ enabled: true,
713
+ iterations: 0,
714
+ taskRetries: /* @__PURE__ */ new Map(),
715
+ currentTask: ""
716
+ });
717
+ state.missionActive = true;
718
+ }
708
719
  if (parsed) {
709
720
  const command = COMMANDS[parsed.command];
710
721
  if (command) {
@@ -839,6 +850,27 @@ ${session.graph.getTaskSummary()}${guidance}`;
839
850
 
840
851
  \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501
841
852
  [DAG STEP: ${session.iterations}/${state.maxIterations}]`;
853
+ },
854
+ // Relentless Loop: Auto-continue until mission complete
855
+ "assistant.done": async (input2, output) => {
856
+ if (!state.missionActive) return;
857
+ const session = state.sessions.get(input2.sessionID);
858
+ if (!session?.enabled) return;
859
+ const text = output.text || "";
860
+ const isComplete = text.includes("\u2705 MISSION COMPLETE") || text.includes("MISSION COMPLETE") || text.includes("\uBAA8\uB4E0 \uD0DC\uC2A4\uD06C \uC644\uB8CC") || text.includes("All tasks completed") || session.graph && session.graph.isCompleted?.();
861
+ if (isComplete) {
862
+ session.enabled = false;
863
+ state.missionActive = false;
864
+ state.sessions.delete(input2.sessionID);
865
+ return;
866
+ }
867
+ if (session.iterations >= state.maxIterations) {
868
+ session.enabled = false;
869
+ state.missionActive = false;
870
+ return;
871
+ }
872
+ output.continue = true;
873
+ output.continueMessage = "continue";
842
874
  }
843
875
  };
844
876
  };
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "opencode-orchestrator",
3
3
  "displayName": "OpenCode Orchestrator",
4
4
  "description": "Distributed Cognitive Architecture for OpenCode. Turns simple prompts into specialized multi-agent workflows (Planner, Coder, Reviewer).",
5
- "version": "0.1.55",
5
+ "version": "0.1.56",
6
6
  "author": "agnusdei1207",
7
7
  "license": "MIT",
8
8
  "repository": {