opencode-orchestrator 0.6.10 → 0.6.11
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/dist/index.js +37 -45
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -16910,11 +16910,44 @@ var OrchestratorPlugin = async (input) => {
|
|
|
16910
16910
|
console.log(`[orchestrator] Default agent: ${AGENT_NAMES.COMMANDER}`);
|
|
16911
16911
|
},
|
|
16912
16912
|
// -----------------------------------------------------------------
|
|
16913
|
-
//
|
|
16913
|
+
// Event hook - handles OpenCode events (SDK official)
|
|
16914
|
+
// Replaces non-standard session.start/session.end hooks
|
|
16914
16915
|
// -----------------------------------------------------------------
|
|
16915
|
-
|
|
16916
|
-
|
|
16917
|
-
|
|
16916
|
+
event: async (input2) => {
|
|
16917
|
+
const { event } = input2;
|
|
16918
|
+
try {
|
|
16919
|
+
const manager = ParallelAgentManager.getInstance();
|
|
16920
|
+
manager.handleEvent(event);
|
|
16921
|
+
} catch {
|
|
16922
|
+
}
|
|
16923
|
+
if (event.type === "session.created") {
|
|
16924
|
+
const sessionID = event.properties?.id || "";
|
|
16925
|
+
log2("[index.ts] event: session.created", { sessionID });
|
|
16926
|
+
presets.missionStarted(`Session ${sessionID.slice(0, 12)}...`);
|
|
16927
|
+
}
|
|
16928
|
+
if (event.type === "session.deleted" || event.type === SESSION_EVENTS.DELETED) {
|
|
16929
|
+
const sessionID = event.properties?.id || event.properties?.info?.id || "";
|
|
16930
|
+
const session = sessions.get(sessionID);
|
|
16931
|
+
if (session) {
|
|
16932
|
+
const totalTime = Date.now() - session.startTime;
|
|
16933
|
+
const duration3 = totalTime < 6e4 ? `${Math.round(totalTime / 1e3)}s` : `${Math.round(totalTime / 6e4)}m`;
|
|
16934
|
+
log2("[index.ts] event: session.deleted", {
|
|
16935
|
+
sessionID,
|
|
16936
|
+
steps: session.step,
|
|
16937
|
+
duration: duration3
|
|
16938
|
+
});
|
|
16939
|
+
sessions.delete(sessionID);
|
|
16940
|
+
state.sessions.delete(sessionID);
|
|
16941
|
+
clearSession(sessionID);
|
|
16942
|
+
presets.sessionCompleted(sessionID, duration3);
|
|
16943
|
+
}
|
|
16944
|
+
}
|
|
16945
|
+
if (event.type === "session.error") {
|
|
16946
|
+
const sessionID = event.properties?.sessionId || "";
|
|
16947
|
+
const error45 = event.properties?.error || "Unknown error";
|
|
16948
|
+
log2("[index.ts] event: session.error", { sessionID, error: error45 });
|
|
16949
|
+
presets.taskFailed("session", error45.slice(0, 50));
|
|
16950
|
+
}
|
|
16918
16951
|
},
|
|
16919
16952
|
// -----------------------------------------------------------------
|
|
16920
16953
|
// chat.message hook - runs when user sends a message
|
|
@@ -17067,26 +17100,6 @@ Anomaly count: ${stateSession.anomalyCount}
|
|
|
17067
17100
|
\u23F1\uFE0F [${currentTime}] Step ${session.step}/${session.maxSteps} | This step: ${stepDuration} | Total: ${totalElapsed}`;
|
|
17068
17101
|
},
|
|
17069
17102
|
// -----------------------------------------------------------------
|
|
17070
|
-
// session.end hook - runs when a session ends
|
|
17071
|
-
// -----------------------------------------------------------------
|
|
17072
|
-
"session.end": async (input2) => {
|
|
17073
|
-
const session = sessions.get(input2.sessionID);
|
|
17074
|
-
if (session) {
|
|
17075
|
-
const totalTime = Date.now() - session.startTime;
|
|
17076
|
-
const duration3 = totalTime < 6e4 ? `${Math.round(totalTime / 1e3)}s` : `${Math.round(totalTime / 6e4)}m`;
|
|
17077
|
-
log2("[index.ts] session.end", {
|
|
17078
|
-
sessionID: input2.sessionID,
|
|
17079
|
-
reason: input2.reason,
|
|
17080
|
-
steps: session.step,
|
|
17081
|
-
duration: duration3
|
|
17082
|
-
});
|
|
17083
|
-
sessions.delete(input2.sessionID);
|
|
17084
|
-
state.sessions.delete(input2.sessionID);
|
|
17085
|
-
clearSession(input2.sessionID);
|
|
17086
|
-
presets.sessionCompleted(input2.sessionID, duration3);
|
|
17087
|
-
}
|
|
17088
|
-
},
|
|
17089
|
-
// -----------------------------------------------------------------
|
|
17090
17103
|
// assistant.done hook - runs when the LLM finishes responding
|
|
17091
17104
|
// This is the heart of the "relentless loop" - we keep pushing it
|
|
17092
17105
|
// to continue until we see MISSION COMPLETE or hit the limit
|
|
@@ -17198,27 +17211,6 @@ Anomaly count: ${stateSession.anomalyCount}
|
|
|
17198
17211
|
state.missionActive = false;
|
|
17199
17212
|
}
|
|
17200
17213
|
}
|
|
17201
|
-
},
|
|
17202
|
-
// -----------------------------------------------------------------
|
|
17203
|
-
// Event handler - cleans up when sessions are deleted
|
|
17204
|
-
// Uses 'event' hook (not 'handler')
|
|
17205
|
-
// -----------------------------------------------------------------
|
|
17206
|
-
event: async (input2) => {
|
|
17207
|
-
const { event } = input2;
|
|
17208
|
-
try {
|
|
17209
|
-
const manager = ParallelAgentManager.getInstance();
|
|
17210
|
-
manager.handleEvent(event);
|
|
17211
|
-
} catch {
|
|
17212
|
-
}
|
|
17213
|
-
if (event.type === SESSION_EVENTS.DELETED) {
|
|
17214
|
-
const props = event.properties;
|
|
17215
|
-
if (props?.info?.id) {
|
|
17216
|
-
const sessionId = props.info.id;
|
|
17217
|
-
sessions.delete(sessionId);
|
|
17218
|
-
state.sessions.delete(sessionId);
|
|
17219
|
-
clearSession(sessionId);
|
|
17220
|
-
}
|
|
17221
|
-
}
|
|
17222
17214
|
}
|
|
17223
17215
|
};
|
|
17224
17216
|
};
|
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.6.
|
|
5
|
+
"version": "0.6.11",
|
|
6
6
|
"author": "agnusdei1207",
|
|
7
7
|
"license": "MIT",
|
|
8
8
|
"repository": {
|