opencode-orchestrator 0.9.11 โ†’ 0.9.13

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
@@ -55,77 +55,50 @@ Then in OpenCode:
55
55
  ## ๐Ÿ›๏ธ How It Works
56
56
 
57
57
  ```
58
- YOU
59
- โ”‚
60
- โ”‚ /task "Build REST API"
61
- โ–ผ
62
- โ•”โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•—
63
- โ•‘ ๐ŸŽฏ COMMANDER โ•‘
64
- โ•‘ "I orchestrate. I never sleep." โ•‘
65
- โ•šโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
66
- โ”‚
67
- โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
68
- โ”‚ โ”‚ โ”‚
69
- โ–ผ โ–ผ โ–ผ
70
- โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
71
- โ”‚๐Ÿ“‹ PLANNERโ”‚ โ”‚๐Ÿ”จ WORKER โ”‚ โ”‚๐Ÿ”จ WORKER โ”‚ x50 PARALLEL
72
- โ”‚ Plan & โ”‚ โ”‚ auth.ts โ”‚ โ”‚ api.ts โ”‚ SESSIONS
73
- โ”‚ Research โ”‚ โ”‚ (TDD) โ”‚ โ”‚ (TDD) โ”‚
74
- โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
75
- โ”‚ โ”‚ โ”‚
76
- โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
77
- โ–ผ
78
- โ•”โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•—
79
- โ•‘ โœ… REVIEWER โ•‘
80
- โ•‘ E2E Tests โ€ข Sync Check โ€ข Validate โ•‘
81
- โ•šโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
82
- โ”‚
83
- โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”
84
- โ”‚ Complete? โ”‚
85
- โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜
86
- No โ†™ โ†˜ Yes
87
- โ™ป๏ธ ๐ŸŽ–๏ธ
88
- LOOP SEALED
89
- (auto-fix) (mission done)
58
+ /task "Build REST API"
59
+ โ”‚
60
+ โ•”โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•งโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•—
61
+ โ•‘ ๐ŸŽฏ COMMANDER โ•‘
62
+ โ•‘ Delegate โ†’ Loop โ•‘
63
+ โ•šโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•คโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
64
+ โ”‚
65
+ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
66
+ โ”‚ โ”‚ โ”‚
67
+ โ–ผ โ–ผ โ–ผ
68
+ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
69
+ โ”‚๐Ÿ“‹PLANNERโ”‚ โ”‚๐Ÿ”จWORKER โ”‚ โ”‚๐Ÿ”จWORKER โ”‚
70
+ โ”‚ plan.md โ”‚ โ”‚ auth.ts โ”‚ โ”‚ api.ts โ”‚
71
+ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
72
+ โ”‚ โ”‚ โ”‚
73
+ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
74
+ โ”‚ โ”‚ ๐Ÿ”€ 50 PARALLEL SESSIONS โ”‚ โ”‚
75
+ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
76
+ โ”‚ โ”‚ โ”‚
77
+ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
78
+ โ–ผ
79
+ โ•”โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•งโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•—
80
+ โ•‘ โœ… REVIEWER โ•‘
81
+ โ•šโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•คโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
82
+ โ”‚
83
+ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
84
+ โ”‚ TODO 100%? โ”‚
85
+ โ”‚ Issues = 0? โ”‚
86
+ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
87
+ No โ†™ โ†˜ Yes
88
+ โ™ป๏ธ LOOP ๐ŸŽ–๏ธ SEALED
90
89
  ```
91
90
 
92
- ---
93
-
94
- ## ๐Ÿค– The 4 Agents
95
-
96
- | Agent | Role | Superpower |
97
- |-------|------|------------|
98
- | **๐ŸŽฏ Commander** | Orchestrator | Sees everything, delegates intelligently, never stops |
99
- | **๐Ÿ“‹ Planner** | Strategist | Web search, doc caching, file-level task breakdown |
100
- | **๐Ÿ”จ Worker** | Builder | TDD isolation, 1 file = 1 session, parallel execution |
101
- | **โœ… Reviewer** | Quality Gate | E2E tests, sync checks, integration validation |
102
-
103
- ---
104
-
105
- ## ๐Ÿ“Š System Specs
106
-
107
- | Capability | Value |
108
- |------------|-------|
109
- | **Parallel Sessions** | 50 simultaneous |
110
- | **Concurrency per Agent** | 10 default |
111
- | **Poll Interval** | 1 second |
112
- | **Session TTL** | 60 minutes |
113
- | **Auto-Recovery** | 3 attempts per session |
114
- | **Max Iterations** | 20 per mission |
115
- | **Memory Limit** | 1,000 tasks (auto GC) |
116
-
117
- ---
118
-
119
- ## ๐ŸŽฎ What Happens When You Run `/task`
91
+ ### ๐Ÿ”‘ Key Systems
120
92
 
121
- 1. **๐ŸŽฏ Commander** reads state, creates TODO
122
- 2. **๐Ÿ“‹ Planner** breaks down into file-level tasks
123
- 3. **๐Ÿ”จ Workers** build in parallel (50 simultaneous sessions!)
124
- 4. **โœ… Reviewer** validates, runs E2E tests
125
- 5. **โ™ป๏ธ Loop** until all TODOs checked + zero issues
126
- 6. **๐ŸŽ–๏ธ SEALED** โ€” mission complete
93
+ | System | What It Does |
94
+ |:------:|:-------------|
95
+ | **๐Ÿ”€ Multi-Session** | `delegate_task` โ†’ `client.session.create()` โ†’ new isolated session |
96
+ | **โšก Parallel Agents** | 50 sessions run simultaneously, `ConcurrencyController` manages slots |
97
+ | **๐Ÿ–ฅ๏ธ Background Tasks** | `run_background` โ†’ async shell commands, non-blocking |
98
+ | **๐Ÿ”„ Auto-Continuation** | `session.idle` โ†’ check TODOs โ†’ inject prompt โ†’ keep going |
99
+ | **๐Ÿ›ก๏ธ Self-Healing** | Rate limits, crashes โ†’ 3 auto-retries per session |
127
100
 
128
- > **Tip:** Stop anytime with `/stop`
101
+ > **Stop anytime:** `/stop`
129
102
 
130
103
  <div align="center">
131
104
  <p><strong>TUI</strong></p>
package/dist/index.js CHANGED
@@ -94,6 +94,7 @@ var MEMORY_LIMITS = {
94
94
  };
95
95
 
96
96
  // src/shared/task/constants/parallel-task.ts
97
+ var PARALLEL_LABEL = "parallel";
97
98
  var PARALLEL_TASK = {
98
99
  // Task lifecycle (24 hours for long tasks)
99
100
  TTL_MS: 24 * TIME.HOUR,
@@ -108,7 +109,12 @@ var PARALLEL_TASK = {
108
109
  MIN_IDLE_TIME_MS: 5 * TIME.SECOND,
109
110
  MIN_STABILITY_MS: 3 * TIME.SECOND,
110
111
  STABLE_POLLS_REQUIRED: 3,
111
- MAX_POLL_COUNT: 600
112
+ MAX_POLL_COUNT: 600,
113
+ // Session naming
114
+ SESSION_TITLE_PREFIX: "Parallel",
115
+ // Labels for output
116
+ LABEL: PARALLEL_LABEL,
117
+ GROUP_PREFIX: `${PARALLEL_LABEL}:`
112
118
  };
113
119
 
114
120
  // src/shared/task/constants/background-task.ts
@@ -15831,7 +15837,7 @@ var TaskLauncher = class {
15831
15837
  log2("[task-launcher.ts] concurrency acquired for", concurrencyKey);
15832
15838
  try {
15833
15839
  const createResult = await this.client.session.create({
15834
- body: { parentID: input.parentSessionID, title: `Parallel: ${input.description}` },
15840
+ body: { parentID: input.parentSessionID, title: `${PARALLEL_TASK.SESSION_TITLE_PREFIX}: ${input.description}` },
15835
15841
  query: { directory: this.directory }
15836
15842
  });
15837
15843
  if (createResult.error) {
@@ -13,4 +13,7 @@ export declare const PARALLEL_TASK: {
13
13
  readonly MIN_STABILITY_MS: number;
14
14
  readonly STABLE_POLLS_REQUIRED: 3;
15
15
  readonly MAX_POLL_COUNT: 600;
16
+ readonly SESSION_TITLE_PREFIX: "Parallel";
17
+ readonly LABEL: "parallel";
18
+ readonly GROUP_PREFIX: "parallel:";
16
19
  };
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.9.11",
5
+ "version": "0.9.13",
6
6
  "author": "agnusdei1207",
7
7
  "license": "MIT",
8
8
  "repository": {