@roj-ai/sdk 0.1.12 → 0.1.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/dist/bootstrap.d.ts +6 -0
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/core/sessions/session-manager.d.ts.map +1 -1
- package/dist/core/sessions/session-manager.js +13 -5
- package/dist/core/sessions/session-manager.js.map +1 -1
- package/dist/plugins/agents/plugin.d.ts +20 -0
- package/dist/plugins/agents/plugin.d.ts.map +1 -1
- package/dist/plugins/agents/plugin.js +189 -2
- package/dist/plugins/agents/plugin.js.map +1 -1
- package/dist/plugins/agents/supervision.integration.test.d.ts +2 -0
- package/dist/plugins/agents/supervision.integration.test.d.ts.map +1 -0
- package/dist/plugins/agents/supervision.integration.test.js +215 -0
- package/dist/plugins/agents/supervision.integration.test.js.map +1 -0
- package/dist/plugins/mailbox/plugin.d.ts +1 -0
- package/dist/plugins/mailbox/plugin.d.ts.map +1 -1
- package/dist/plugins/mailbox/plugin.js +17 -0
- package/dist/plugins/mailbox/plugin.js.map +1 -1
- package/dist/plugins/mailbox/schema.d.ts +1 -1
- package/dist/plugins/mailbox/schema.d.ts.map +1 -1
- package/dist/plugins/mailbox/state.d.ts +2 -1
- package/dist/plugins/mailbox/state.d.ts.map +1 -1
- package/dist/plugins/mailbox/state.js +1 -1
- package/dist/plugins/mailbox/state.js.map +1 -1
- package/dist/transport/http/middleware/error-handler.d.ts +1 -1
- package/dist/user-config.d.ts +14 -0
- package/dist/user-config.d.ts.map +1 -1
- package/dist/user-config.js.map +1 -1
- package/package.json +2 -2
- package/src/core/sessions/session-manager.ts +14 -5
- package/src/plugins/agents/plugin.ts +228 -3
- package/src/plugins/agents/supervision.integration.test.ts +249 -0
- package/src/plugins/mailbox/plugin.ts +20 -0
- package/src/plugins/mailbox/schema.ts +1 -0
- package/src/plugins/mailbox/state.ts +2 -1
- package/src/user-config.ts +15 -0
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
import { describe, expect, it } from 'bun:test';
|
|
2
|
+
import { MockLLMProvider } from '../../core/llm/mock.js';
|
|
3
|
+
import { ToolCallId } from '../../core/tools/schema.js';
|
|
4
|
+
import { agentsPlugin } from '../../plugins/agents/plugin.js';
|
|
5
|
+
import { mailboxEvents } from '../../plugins/mailbox/index.js';
|
|
6
|
+
import { createMultiAgentPreset, TestHarness } from '../../testing/index.js';
|
|
7
|
+
/**
|
|
8
|
+
* Helper — wait until at least one supervision message has landed in the parent's
|
|
9
|
+
* mailbox (or timeout). We poll because supervision ticks fire on real timers.
|
|
10
|
+
*/
|
|
11
|
+
async function waitForSupervisorMessage(session, toAgentId, timeoutMs = 2000) {
|
|
12
|
+
const deadline = Date.now() + timeoutMs;
|
|
13
|
+
while (Date.now() < deadline) {
|
|
14
|
+
const events = await session.getEventsByType(mailboxEvents, 'mailbox_message');
|
|
15
|
+
const found = events.find((e) => e.message.from === 'supervisor'
|
|
16
|
+
&& e.toAgentId === toAgentId
|
|
17
|
+
&& typeof e.message.content === 'string');
|
|
18
|
+
if (found)
|
|
19
|
+
return found;
|
|
20
|
+
await new Promise((r) => setTimeout(r, 25));
|
|
21
|
+
}
|
|
22
|
+
return undefined;
|
|
23
|
+
}
|
|
24
|
+
describe('agents plugin supervision', () => {
|
|
25
|
+
it('parent with active children receives a periodic <children-status> snapshot', async () => {
|
|
26
|
+
let orchestratorCalls = 0;
|
|
27
|
+
let workerCalls = 0;
|
|
28
|
+
const harness = new TestHarness({
|
|
29
|
+
presets: [{
|
|
30
|
+
...createMultiAgentPreset([
|
|
31
|
+
{ name: 'worker', system: 'Worker agent.', tools: [], agents: [] },
|
|
32
|
+
], { orchestratorSystem: 'Orchestrator agent.' }),
|
|
33
|
+
plugins: [{ pluginName: 'agents', definition: agentsPlugin, config: { superviseChildrenIntervalMs: 100 } }],
|
|
34
|
+
}],
|
|
35
|
+
mockHandler: (request) => {
|
|
36
|
+
if (request.systemPrompt.includes('Orchestrator')) {
|
|
37
|
+
orchestratorCalls++;
|
|
38
|
+
if (orchestratorCalls === 1) {
|
|
39
|
+
return {
|
|
40
|
+
content: null,
|
|
41
|
+
toolCalls: [{ id: ToolCallId('tc1'), name: 'start_worker', input: { message: 'Long-running task' } }],
|
|
42
|
+
finishReason: 'stop',
|
|
43
|
+
metrics: MockLLMProvider.defaultMetrics(),
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
// Subsequent calls: orchestrator does nothing more, just acknowledges.
|
|
47
|
+
return { content: 'noted', toolCalls: [], finishReason: 'stop', metrics: MockLLMProvider.defaultMetrics() };
|
|
48
|
+
}
|
|
49
|
+
// Worker: takes a long time — say something but never reports back.
|
|
50
|
+
workerCalls++;
|
|
51
|
+
return { content: `Working on step ${workerCalls}`, toolCalls: [], finishReason: 'stop', metrics: MockLLMProvider.defaultMetrics() };
|
|
52
|
+
},
|
|
53
|
+
});
|
|
54
|
+
const session = await harness.createSession('test');
|
|
55
|
+
await session.sendMessage('Start');
|
|
56
|
+
// Orchestrator is the entry agent in this preset. Wait for a tick.
|
|
57
|
+
const orchestratorId = session.getEntryAgentId();
|
|
58
|
+
const supervisorMsg = await waitForSupervisorMessage(session, orchestratorId);
|
|
59
|
+
expect(supervisorMsg).toBeDefined();
|
|
60
|
+
expect(supervisorMsg.message.content).toContain('<children-status>');
|
|
61
|
+
expect(supervisorMsg.message.content).toContain('worker_1');
|
|
62
|
+
// Cumulative LLM call count should be present
|
|
63
|
+
expect(supervisorMsg.message.content).toMatch(/worker_1[^,\n]*,[^,\n]*,\s*\d+ tools,\s*\d+ llm/);
|
|
64
|
+
await harness.shutdown();
|
|
65
|
+
});
|
|
66
|
+
it('default (no config) → supervision disabled, no tick fires', async () => {
|
|
67
|
+
const harness = new TestHarness({
|
|
68
|
+
presets: [createMultiAgentPreset([
|
|
69
|
+
{ name: 'worker', system: 'Worker agent.', tools: [], agents: [] },
|
|
70
|
+
], { orchestratorSystem: 'Orchestrator agent.' })],
|
|
71
|
+
mockHandler: (request) => {
|
|
72
|
+
if (request.systemPrompt.includes('Orchestrator')) {
|
|
73
|
+
return {
|
|
74
|
+
content: null,
|
|
75
|
+
toolCalls: [{ id: ToolCallId('tc1'), name: 'start_worker', input: { message: 'Do work' } }],
|
|
76
|
+
finishReason: 'stop',
|
|
77
|
+
metrics: MockLLMProvider.defaultMetrics(),
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
return { content: 'Working', toolCalls: [], finishReason: 'stop', metrics: MockLLMProvider.defaultMetrics() };
|
|
81
|
+
},
|
|
82
|
+
});
|
|
83
|
+
const session = await harness.createSession('test');
|
|
84
|
+
await session.sendMessage('Start');
|
|
85
|
+
// Wait long enough for ticks if they were enabled (they shouldn't).
|
|
86
|
+
await new Promise((r) => setTimeout(r, 300));
|
|
87
|
+
const events = await session.getEventsByType(mailboxEvents, 'mailbox_message');
|
|
88
|
+
const supervisorMessages = events.filter(e => e.message.from === 'supervisor');
|
|
89
|
+
expect(supervisorMessages).toHaveLength(0);
|
|
90
|
+
await harness.shutdown();
|
|
91
|
+
});
|
|
92
|
+
it('parent without children → no tick fires', async () => {
|
|
93
|
+
const harness = new TestHarness({
|
|
94
|
+
presets: [{
|
|
95
|
+
...createMultiAgentPreset([
|
|
96
|
+
{ name: 'worker', system: 'Worker agent.', tools: [], agents: [] },
|
|
97
|
+
], { orchestratorSystem: 'Orchestrator agent.' }),
|
|
98
|
+
plugins: [{ pluginName: 'agents', definition: agentsPlugin, config: { superviseChildrenIntervalMs: 100 } }],
|
|
99
|
+
}],
|
|
100
|
+
mockHandler: (request) => {
|
|
101
|
+
// Orchestrator never spawns anyone.
|
|
102
|
+
if (request.systemPrompt.includes('Orchestrator')) {
|
|
103
|
+
return { content: 'Done without spawning', toolCalls: [], finishReason: 'stop', metrics: MockLLMProvider.defaultMetrics() };
|
|
104
|
+
}
|
|
105
|
+
return { content: 'unused', toolCalls: [], finishReason: 'stop', metrics: MockLLMProvider.defaultMetrics() };
|
|
106
|
+
},
|
|
107
|
+
});
|
|
108
|
+
const session = await harness.createSession('test');
|
|
109
|
+
await session.sendAndWaitForIdle('Start');
|
|
110
|
+
// Give supervision plenty of room to fire (it shouldn't).
|
|
111
|
+
await new Promise((r) => setTimeout(r, 300));
|
|
112
|
+
const events = await session.getEventsByType(mailboxEvents, 'mailbox_message');
|
|
113
|
+
const supervisorMessages = events.filter(e => e.message.from === 'supervisor');
|
|
114
|
+
expect(supervisorMessages).toHaveLength(0);
|
|
115
|
+
await harness.shutdown();
|
|
116
|
+
});
|
|
117
|
+
it('snapshot includes "first words..last words" preview of last assistant turn', async () => {
|
|
118
|
+
let orchestratorCalls = 0;
|
|
119
|
+
const harness = new TestHarness({
|
|
120
|
+
presets: [{
|
|
121
|
+
...createMultiAgentPreset([
|
|
122
|
+
{ name: 'worker', system: 'Worker agent.', tools: [], agents: [] },
|
|
123
|
+
], { orchestratorSystem: 'Orchestrator agent.' }),
|
|
124
|
+
plugins: [{ pluginName: 'agents', definition: agentsPlugin, config: { superviseChildrenIntervalMs: 100 } }],
|
|
125
|
+
}],
|
|
126
|
+
mockHandler: (request) => {
|
|
127
|
+
if (request.systemPrompt.includes('Orchestrator')) {
|
|
128
|
+
orchestratorCalls++;
|
|
129
|
+
if (orchestratorCalls === 1) {
|
|
130
|
+
return {
|
|
131
|
+
content: null,
|
|
132
|
+
toolCalls: [{ id: ToolCallId('tc1'), name: 'start_worker', input: { message: 'Long task' } }],
|
|
133
|
+
finishReason: 'stop',
|
|
134
|
+
metrics: MockLLMProvider.defaultMetrics(),
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
return { content: 'ack', toolCalls: [], finishReason: 'stop', metrics: MockLLMProvider.defaultMetrics() };
|
|
138
|
+
}
|
|
139
|
+
// Worker says a long sentence that should be truncated to first..last words
|
|
140
|
+
return {
|
|
141
|
+
content: 'Started fetching data and now I am running through the pipeline analyzing the response carefully',
|
|
142
|
+
toolCalls: [],
|
|
143
|
+
finishReason: 'stop',
|
|
144
|
+
metrics: MockLLMProvider.defaultMetrics(),
|
|
145
|
+
};
|
|
146
|
+
},
|
|
147
|
+
});
|
|
148
|
+
const session = await harness.createSession('test');
|
|
149
|
+
await session.sendMessage('Start');
|
|
150
|
+
const orchestratorId = session.getEntryAgentId();
|
|
151
|
+
const msg = await waitForSupervisorMessage(session, orchestratorId);
|
|
152
|
+
expect(msg).toBeDefined();
|
|
153
|
+
// Should contain both head (first 5 words) and tail (last 5 words), joined by ".."
|
|
154
|
+
expect(msg.message.content).toContain('Started fetching data and now');
|
|
155
|
+
expect(msg.message.content).toContain('pipeline analyzing the response carefully');
|
|
156
|
+
expect(msg.message.content).toMatch(/\.\.pipeline/);
|
|
157
|
+
await harness.shutdown();
|
|
158
|
+
});
|
|
159
|
+
it('server restart re-establishes timers via onSessionReady', async () => {
|
|
160
|
+
const sharedEventStore = new (await import('../../core/events/memory.js')).MemoryEventStore();
|
|
161
|
+
// Counter shared across phases — phase 1 spawns once, then orchestrator goes idle;
|
|
162
|
+
// phase 2 just acknowledges any wake-up triggered by the supervision tick.
|
|
163
|
+
let orchestratorCalls = 0;
|
|
164
|
+
const buildHarness = (intervalMs) => new TestHarness({
|
|
165
|
+
eventStore: sharedEventStore,
|
|
166
|
+
presets: [{
|
|
167
|
+
...createMultiAgentPreset([
|
|
168
|
+
{ name: 'worker', system: 'Worker agent.', tools: [], agents: [] },
|
|
169
|
+
], { orchestratorSystem: 'Orchestrator agent.' }),
|
|
170
|
+
...(intervalMs !== undefined && {
|
|
171
|
+
plugins: [{ pluginName: 'agents', definition: agentsPlugin, config: { superviseChildrenIntervalMs: intervalMs } }],
|
|
172
|
+
}),
|
|
173
|
+
}],
|
|
174
|
+
mockHandler: (request) => {
|
|
175
|
+
if (request.systemPrompt.includes('Orchestrator')) {
|
|
176
|
+
orchestratorCalls++;
|
|
177
|
+
if (orchestratorCalls === 1) {
|
|
178
|
+
return {
|
|
179
|
+
content: null,
|
|
180
|
+
toolCalls: [{ id: ToolCallId('tc1'), name: 'start_worker', input: { message: 'Long task' } }],
|
|
181
|
+
finishReason: 'stop',
|
|
182
|
+
metrics: MockLLMProvider.defaultMetrics(),
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
return { content: 'noted', toolCalls: [], finishReason: 'stop', metrics: MockLLMProvider.defaultMetrics() };
|
|
186
|
+
}
|
|
187
|
+
return { content: 'still working', toolCalls: [], finishReason: 'stop', metrics: MockLLMProvider.defaultMetrics() };
|
|
188
|
+
},
|
|
189
|
+
});
|
|
190
|
+
// Phase 1: create session with supervision DISABLED (default) so no ticks pre-restart.
|
|
191
|
+
const harness1 = buildHarness(undefined);
|
|
192
|
+
const session1 = await harness1.createSession('test');
|
|
193
|
+
await session1.sendAndWaitForIdle('Start');
|
|
194
|
+
const hasWorker = () => {
|
|
195
|
+
for (const agent of session1.state.agents.values()) {
|
|
196
|
+
if (agent.definitionName === 'worker')
|
|
197
|
+
return true;
|
|
198
|
+
}
|
|
199
|
+
return false;
|
|
200
|
+
};
|
|
201
|
+
expect(hasWorker()).toBe(true);
|
|
202
|
+
const sessionId = session1.sessionId;
|
|
203
|
+
await harness1.shutdown();
|
|
204
|
+
// Phase 2: restart with supervision enabled. onSessionReady should
|
|
205
|
+
// re-arm the orchestrator's tick because it has a child.
|
|
206
|
+
const harness2 = buildHarness(100);
|
|
207
|
+
const session2 = await harness2.openSession(sessionId);
|
|
208
|
+
const orchestratorId = session2.getEntryAgentId();
|
|
209
|
+
const msg = await waitForSupervisorMessage(session2, orchestratorId, 1500);
|
|
210
|
+
expect(msg).toBeDefined();
|
|
211
|
+
expect(msg.message.content).toContain('worker_1');
|
|
212
|
+
await harness2.shutdown();
|
|
213
|
+
});
|
|
214
|
+
});
|
|
215
|
+
//# sourceMappingURL=supervision.integration.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"supervision.integration.test.js","sourceRoot":"","sources":["../../../src/plugins/agents/supervision.integration.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,6 +23,7 @@ export declare const mailboxPlugin: import("../../core/plugins/plugin-builder.js
|
|
|
23
23
|
content: string;
|
|
24
24
|
fromAgentId?: (string & z.core.$brand<"AgentId">) | undefined;
|
|
25
25
|
debug?: boolean | undefined;
|
|
26
|
+
fromSupervisor?: boolean | undefined;
|
|
26
27
|
};
|
|
27
28
|
output: {
|
|
28
29
|
messageId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/mailbox/plugin.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,CAAC,MAAM,QAAQ,CAAC;AAyBvB;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAErC;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAClC,wFAAwF;IACxF,qBAAqB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,eAAO,MAAM,aAAa
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/mailbox/plugin.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,CAAC,MAAM,QAAQ,CAAC;AAyBvB;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAErC;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAClC,wFAAwF;IACxF,qBAAqB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,eAAO,MAAM,aAAa;;;;;;;;;;;GAmPjB,CAAC"}
|
|
@@ -57,10 +57,27 @@ export const mailboxPlugin = definePlugin("mailbox")
|
|
|
57
57
|
toAgentId: agentIdSchema,
|
|
58
58
|
content: z.string(),
|
|
59
59
|
debug: z.boolean().optional(),
|
|
60
|
+
fromSupervisor: z.boolean().optional(),
|
|
60
61
|
}),
|
|
61
62
|
output: z.object({ messageId: z.string() }),
|
|
62
63
|
handler: async (ctx, input) => {
|
|
63
64
|
const { toAgentId, content } = input;
|
|
65
|
+
if (input.fromSupervisor) {
|
|
66
|
+
// System-emitted supervision status — bypasses communication validation.
|
|
67
|
+
const messageId = generateMessageId(getNextMessageSeq(ctx.pluginState));
|
|
68
|
+
await ctx.emitEvent(mailboxEvents.create("mailbox_message", {
|
|
69
|
+
toAgentId,
|
|
70
|
+
message: {
|
|
71
|
+
id: messageId,
|
|
72
|
+
from: "supervisor",
|
|
73
|
+
content,
|
|
74
|
+
timestamp: Date.now(),
|
|
75
|
+
consumed: false,
|
|
76
|
+
},
|
|
77
|
+
}));
|
|
78
|
+
ctx.scheduleAgent(toAgentId);
|
|
79
|
+
return Ok({ messageId });
|
|
80
|
+
}
|
|
64
81
|
if (input.debug) {
|
|
65
82
|
// Debug messages bypass communication validation
|
|
66
83
|
const messageId = generateMessageId(getNextMessageSeq(ctx.pluginState));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/plugins/mailbox/plugin.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/plugins/mailbox/plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,7 +32,7 @@ export declare const generateTestMessageId: () => MessageId;
|
|
|
32
32
|
* Sender of a mailbox message.
|
|
33
33
|
* Can be an agent, user, system roles, or a worker.
|
|
34
34
|
*/
|
|
35
|
-
export type MailboxMessageSender = AgentId | WorkerId | 'user' | 'debug' | typeof ORCHESTRATOR_ROLE | typeof COMMUNICATOR_ROLE;
|
|
35
|
+
export type MailboxMessageSender = AgentId | WorkerId | 'user' | 'debug' | 'supervisor' | typeof ORCHESTRATOR_ROLE | typeof COMMUNICATOR_ROLE;
|
|
36
36
|
/**
|
|
37
37
|
* Message in an agent's mailbox.
|
|
38
38
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/plugins/mailbox/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,CAAC,MAAM,QAAQ,CAAA;AACtB,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACvF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAC7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAMpD,uEAAuE;AACvE,eAAO,MAAM,eAAe,qDAAgC,CAAA;AAE5D,6BAA6B;AAC7B,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AAEvD,gCAAgC;AAChC,eAAO,MAAM,SAAS,GAAI,IAAI,MAAM,KAAG,SAA4B,CAAA;AAEnE;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,KAAK,MAAM,KAAG,SAAiC,CAAA;AAQjF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,QAAO,SAA2C,CAAA;AAMpF;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAC7B,OAAO,GACP,QAAQ,GACR,MAAM,GACN,OAAO,GACP,OAAO,iBAAiB,GACxB,OAAO,iBAAiB,CAAA;AAE3B;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC5B,EAAE,EAAE,SAAS,CAAA;IACb,IAAI,EAAE,oBAAoB,CAAA;IAC1B,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,OAAO,CAAA;IACjB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,8EAA8E;IAC9E,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,kDAAkD;IAClD,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAA;IACjC,mEAAmE;IACnE,OAAO,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA"}
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/plugins/mailbox/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,CAAC,MAAM,QAAQ,CAAA;AACtB,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACvF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAC7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAMpD,uEAAuE;AACvE,eAAO,MAAM,eAAe,qDAAgC,CAAA;AAE5D,6BAA6B;AAC7B,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AAEvD,gCAAgC;AAChC,eAAO,MAAM,SAAS,GAAI,IAAI,MAAM,KAAG,SAA4B,CAAA;AAEnE;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,KAAK,MAAM,KAAG,SAAiC,CAAA;AAQjF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,QAAO,SAA2C,CAAA;AAMpF;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAC7B,OAAO,GACP,QAAQ,GACR,MAAM,GACN,OAAO,GACP,YAAY,GACZ,OAAO,iBAAiB,GACxB,OAAO,iBAAiB,CAAA;AAE3B;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC5B,EAAE,EAAE,SAAS,CAAA;IACb,IAAI,EAAE,oBAAoB,CAAA;IAC1B,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,OAAO,CAAA;IACjB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,8EAA8E;IAC9E,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,kDAAkD;IAClD,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAA;IACjC,mEAAmE;IACnE,OAAO,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA"}
|
|
@@ -2,7 +2,7 @@ import z4 from 'zod/v4';
|
|
|
2
2
|
import { AgentId } from '../../core/agents';
|
|
3
3
|
import { COMMUNICATOR_ROLE, ORCHESTRATOR_ROLE } from '../../core/agents/agent-roles';
|
|
4
4
|
import { WorkerId } from '../workers/worker.js';
|
|
5
|
-
export type MailboxMessageSender = AgentId | WorkerId | 'user' | 'debug' | typeof ORCHESTRATOR_ROLE | typeof COMMUNICATOR_ROLE;
|
|
5
|
+
export type MailboxMessageSender = AgentId | WorkerId | 'user' | 'debug' | 'supervisor' | typeof ORCHESTRATOR_ROLE | typeof COMMUNICATOR_ROLE;
|
|
6
6
|
export declare const mailboxEvents: import("../../core/events/types").EventsFactory<{
|
|
7
7
|
mailbox_message: z4.ZodObject<{
|
|
8
8
|
toAgentId: z4.core.$ZodBranded<z4.ZodString, "AgentId", "out">;
|
|
@@ -13,6 +13,7 @@ export declare const mailboxEvents: import("../../core/events/types").EventsFact
|
|
|
13
13
|
communicator: "communicator";
|
|
14
14
|
user: "user";
|
|
15
15
|
debug: "debug";
|
|
16
|
+
supervisor: "supervisor";
|
|
16
17
|
}>]>;
|
|
17
18
|
content: z4.ZodString;
|
|
18
19
|
timestamp: z4.ZodNumber;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/plugins/mailbox/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,QAAQ,CAAA;AACvB,OAAO,EAAE,OAAO,EAAiB,MAAM,eAAe,CAAA;AACtD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAIhF,OAAO,EAAE,QAAQ,EAAkB,MAAM,sBAAsB,CAAA;AAE/D,MAAM,MAAM,oBAAoB,GAC7B,OAAO,GACP,QAAQ,GACR,MAAM,GACN,OAAO,GACP,OAAO,iBAAiB,GACxB,OAAO,iBAAiB,CAAA;AAE3B,eAAO,MAAM,aAAa
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/plugins/mailbox/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,QAAQ,CAAA;AACvB,OAAO,EAAE,OAAO,EAAiB,MAAM,eAAe,CAAA;AACtD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAIhF,OAAO,EAAE,QAAQ,EAAkB,MAAM,sBAAsB,CAAA;AAE/D,MAAM,MAAM,oBAAoB,GAC7B,OAAO,GACP,QAAQ,GACR,MAAM,GACN,OAAO,GACP,YAAY,GACZ,OAAO,iBAAiB,GACxB,OAAO,iBAAiB,CAAA;AAE3B,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgCxB,CAAA;AAEF,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAA;AACrF,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,QAAQ,CAAC,CAAC,kBAAkB,CAAC,CAAA"}
|
|
@@ -14,7 +14,7 @@ export const mailboxEvents = createEventsFactory({
|
|
|
14
14
|
from: z4.union([
|
|
15
15
|
agentIdSchema,
|
|
16
16
|
workerIdSchema,
|
|
17
|
-
z4.enum(['user', 'debug', COMMUNICATOR_ROLE, ORCHESTRATOR_ROLE]),
|
|
17
|
+
z4.enum(['user', 'debug', 'supervisor', COMMUNICATOR_ROLE, ORCHESTRATOR_ROLE]),
|
|
18
18
|
]),
|
|
19
19
|
content: z4.string(),
|
|
20
20
|
timestamp: z4.number(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/plugins/mailbox/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,QAAQ,CAAA;AACvB,OAAO,EAAW,aAAa,EAAE,MAAM,eAAe,CAAA;AACtD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAY,cAAc,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/plugins/mailbox/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,QAAQ,CAAA;AACvB,OAAO,EAAW,aAAa,EAAE,MAAM,eAAe,CAAA;AACtD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAY,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAW/D,MAAM,CAAC,MAAM,aAAa,GAAG,mBAAmB,CAAC;IAChD,MAAM,EAAE;QACP,eAAe,EAAE,EAAE,CAAC,MAAM,CAAC;YAC1B,SAAS,EAAE,aAAa;YACxB,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC;gBAClB,EAAE,EAAE,eAAe;gBACnB,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC;oBACd,aAAa;oBACb,cAAc;oBACd,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;iBAC9E,CAAC;gBACF,OAAO,EAAE,EAAE,CAAC,MAAM,EAAE;gBACpB,SAAS,EAAE,EAAE,CAAC,MAAM,EAAE;gBACtB,QAAQ,EAAE,EAAE,CAAC,OAAO,EAAE;gBACtB,QAAQ,EAAE,eAAe,CAAC,QAAQ,EAAE;gBACpC,WAAW,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;gBACpC,WAAW,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC;oBAC/B,QAAQ,EAAE,cAAc;oBACxB,QAAQ,EAAE,EAAE,CAAC,MAAM,EAAE;oBACrB,QAAQ,EAAE,EAAE,CAAC,MAAM,EAAE;oBACrB,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE;oBACjB,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE;oBACjB,gBAAgB,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;oBACxC,YAAY,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;iBAC9C,CAAC,CAAC,CAAC,QAAQ,EAAE;aACd,CAAC;SACF,CAAC;QACF,gBAAgB,EAAE,EAAE,CAAC,MAAM,CAAC;YAC3B,OAAO,EAAE,aAAa;YACtB,UAAU,EAAE,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC;SACrC,CAAC;KACF;CACD,CAAC,CAAA"}
|
|
@@ -17,5 +17,5 @@ export declare const errorHandler: (error: Error, c: Context<AppEnv>) => Respons
|
|
|
17
17
|
type: string;
|
|
18
18
|
message: string;
|
|
19
19
|
};
|
|
20
|
-
}, 100 | 500 | 404 | 409 | 400 | -1 | 429 | 401 | 200 | 501 | 201 | 102 | 103 | 202 | 203 | 206 | 207 | 208 | 226 |
|
|
20
|
+
}, 100 | 500 | 404 | 409 | 400 | -1 | 429 | 401 | 200 | 501 | 201 | 300 | 102 | 103 | 202 | 203 | 206 | 207 | 208 | 226 | 301 | 302 | 303 | 305 | 306 | 307 | 308 | 402 | 403 | 405 | 406 | 407 | 408 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 418 | 421 | 422 | 423 | 424 | 425 | 426 | 428 | 431 | 451 | 502 | 503 | 504 | 505 | 506 | 507 | 508 | 510 | 511, "json">;
|
|
21
21
|
//# sourceMappingURL=error-handler.d.ts.map
|
package/dist/user-config.d.ts
CHANGED
|
@@ -30,6 +30,20 @@ export interface RojConfig {
|
|
|
30
30
|
* `path` is resolved relative to the config file directory.
|
|
31
31
|
*/
|
|
32
32
|
localResources?: LocalResource[];
|
|
33
|
+
/**
|
|
34
|
+
* Bundle runtime delivery mode. When `external: true`, `roj build` emits a
|
|
35
|
+
* bundle that imports `@roj-ai/*` from the sandbox's installed SDK at run
|
|
36
|
+
* time instead of inlining it. The platform resolves the actual SDK version
|
|
37
|
+
* from `rojVersion` (build-time) and the lock policy below; only `lockMinor`
|
|
38
|
+
* is user-controllable — major is always locked, patch always floats.
|
|
39
|
+
*/
|
|
40
|
+
runtime?: RuntimeConfig;
|
|
41
|
+
}
|
|
42
|
+
export interface RuntimeConfig {
|
|
43
|
+
/** Opt into externalized SDK loading. Default: false (self-contained bundle). */
|
|
44
|
+
external?: boolean;
|
|
45
|
+
/** When true, only patch versions float; minor is pinned to build-time. Default: true. Ignored when external !== true. */
|
|
46
|
+
lockMinor?: boolean;
|
|
33
47
|
}
|
|
34
48
|
export interface LocalResource {
|
|
35
49
|
/** Resource slug — matched against preset.defaultResourceSlugs */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-config.d.ts","sourceRoot":"","sources":["../src/user-config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAE1D;;GAEG;AACH,MAAM,WAAW,SAAS;IACzB,iDAAiD;IACjD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,wDAAwD;IACxD,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,+EAA+E;IAC/E,WAAW,CAAC,EAAE,IAAI,CAAA;IAClB,qDAAqD;IACrD,UAAU,CAAC,EAAE,SAAS,EAAE,CAAA;IACxB,8CAA8C;IAC9C,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,aAAa,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"user-config.d.ts","sourceRoot":"","sources":["../src/user-config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAE1D;;GAEG;AACH,MAAM,WAAW,SAAS;IACzB,iDAAiD;IACjD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,wDAAwD;IACxD,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,+EAA+E;IAC/E,WAAW,CAAC,EAAE,IAAI,CAAA;IAClB,qDAAqD;IACrD,UAAU,CAAC,EAAE,SAAS,EAAE,CAAA;IACxB,8CAA8C;IAC9C,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,aAAa,EAAE,CAAA;IAChC;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,aAAa,CAAA;CACvB;AAED,MAAM,WAAW,aAAa;IAC7B,iFAAiF;IACjF,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,0HAA0H;IAC1H,SAAS,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,aAAa;IAC7B,kEAAkE;IAClE,IAAI,EAAE,MAAM,CAAA;IACZ,2FAA2F;IAC3F,IAAI,EAAE,MAAM,CAAA;IACZ,wEAAwE;IACxE,IAAI,CAAC,EAAE,MAAM,CAAA;CACb;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,CAEzD"}
|
package/dist/user-config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-config.js","sourceRoot":"","sources":["../src/user-config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"user-config.js","sourceRoot":"","sources":["../src/user-config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAuDH;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,MAAiB;IAC7C,OAAO,MAAM,CAAA;AACd,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@roj-ai/sdk",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.13",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"exports": {
|
|
@@ -135,7 +135,7 @@
|
|
|
135
135
|
"type-check": "tsc --noEmit"
|
|
136
136
|
},
|
|
137
137
|
"dependencies": {
|
|
138
|
-
"@roj-ai/transport": "^0.1.
|
|
138
|
+
"@roj-ai/transport": "^0.1.13",
|
|
139
139
|
"@hono/zod-validator": "0.7.6",
|
|
140
140
|
"hono": "4.12.5",
|
|
141
141
|
"ignore": "7.0.5",
|
|
@@ -677,15 +677,24 @@ export class SessionManager {
|
|
|
677
677
|
const plugins: ConfiguredPlugin[] = []
|
|
678
678
|
|
|
679
679
|
for (const pluginDef of this.systemPlugins) {
|
|
680
|
-
// Determine config:
|
|
680
|
+
// Determine config: merge infra (auto-derived) + preset explicit (overrides),
|
|
681
|
+
// fall back to whichever exists, else no config (void).
|
|
681
682
|
let config: unknown
|
|
682
683
|
let hasConfig = false
|
|
683
684
|
|
|
684
|
-
|
|
685
|
-
|
|
685
|
+
const presetConfig = presetConfigs.get(pluginDef.name)
|
|
686
|
+
const infraConfig = infraConfigs.get(pluginDef.name)
|
|
687
|
+
const isMergeable = (v: unknown): v is Record<string, unknown> =>
|
|
688
|
+
typeof v === 'object' && v !== null && !Array.isArray(v)
|
|
689
|
+
|
|
690
|
+
if (presetConfig !== undefined && infraConfig !== undefined && isMergeable(presetConfig) && isMergeable(infraConfig)) {
|
|
691
|
+
config = { ...infraConfig, ...presetConfig }
|
|
692
|
+
hasConfig = true
|
|
693
|
+
} else if (presetConfig !== undefined) {
|
|
694
|
+
config = presetConfig
|
|
686
695
|
hasConfig = true
|
|
687
|
-
} else if (
|
|
688
|
-
config =
|
|
696
|
+
} else if (infraConfig !== undefined) {
|
|
697
|
+
config = infraConfig
|
|
689
698
|
hasConfig = true
|
|
690
699
|
}
|
|
691
700
|
|