@divaltor/academy 0.4.0 → 0.4.1
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 +2 -1
- package/package.json +1 -1
- package/src/index.ts +3 -2
- package/src/session-communication.ts +1 -0
package/README.md
CHANGED
|
@@ -32,6 +32,7 @@ Add Academy to `opencode.jsonc`. All options are optional:
|
|
|
32
32
|
},
|
|
33
33
|
"experimental": {
|
|
34
34
|
"communication": {
|
|
35
|
+
"enabled": true,
|
|
35
36
|
"thread_summary": "opencode-go/glm-5.3-flash",
|
|
36
37
|
},
|
|
37
38
|
},
|
|
@@ -58,7 +59,7 @@ Each agent under `agents` accepts `name`, `color`, and `model`. Colors may be si
|
|
|
58
59
|
>
|
|
59
60
|
> An agent's name is also its session ID. Renaming it can prevent existing sessions from continuing.
|
|
60
61
|
|
|
61
|
-
Session tools are experimental and off by default; set `experimental.communication` to enable them. They are available under Code Mode's `academy` namespace. Only the root primary session can create threads; omit `agent` for a general coding session.
|
|
62
|
+
Session tools are experimental and off by default; set `experimental.communication.enabled` to `true` to enable them. They are available under Code Mode's `academy` namespace. Only the root primary session can create threads; omit `agent` for a general coding session.
|
|
62
63
|
|
|
63
64
|
> [!NOTE]
|
|
64
65
|
>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@divaltor/academy",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.1",
|
|
4
4
|
"description": "An OpenCode plugin that trains a Tracen Academy roster of specialist coding agents to research, build, and review.",
|
|
5
5
|
"homepage": "https://github.com/divaltor/academy#readme",
|
|
6
6
|
"bugs": {
|
package/src/index.ts
CHANGED
|
@@ -54,6 +54,7 @@ const setup = Effect.fn("Academy.setup")(function* setup(ctx: Plugin.Context) {
|
|
|
54
54
|
Agent.ID.make(agentOptions[id]?.name ?? id);
|
|
55
55
|
const configuredAgentIDs = agents.map((agent) => agentID(agent.id));
|
|
56
56
|
const communication = options.experimental?.communication;
|
|
57
|
+
const communicationEnabled = communication?.enabled === true;
|
|
57
58
|
|
|
58
59
|
if (new Set(configuredAgentIDs).size !== configuredAgentIDs.length) {
|
|
59
60
|
return yield* Effect.die(
|
|
@@ -102,7 +103,7 @@ const setup = Effect.fn("Academy.setup")(function* setup(ctx: Plugin.Context) {
|
|
|
102
103
|
agent.color =
|
|
103
104
|
agentOptions[definition.id]?.color ?? agent.color ?? definition.color;
|
|
104
105
|
const base =
|
|
105
|
-
definition.id === "rudolf" &&
|
|
106
|
+
definition.id === "rudolf" && communicationEnabled
|
|
106
107
|
? definition.system.replace(
|
|
107
108
|
"# Communication",
|
|
108
109
|
`${rudolfCommunicationPrompt}\n\n# Communication`
|
|
@@ -133,7 +134,7 @@ const setup = Effect.fn("Academy.setup")(function* setup(ctx: Plugin.Context) {
|
|
|
133
134
|
editor.default(agentID("rudolf"));
|
|
134
135
|
});
|
|
135
136
|
|
|
136
|
-
if (communication !== undefined) {
|
|
137
|
+
if (communication !== undefined && communicationEnabled) {
|
|
137
138
|
yield* SessionCommunication.register(ctx, communication, agentID("rudolf"));
|
|
138
139
|
}
|
|
139
140
|
});
|