@roj-ai/sdk 0.1.21 → 0.1.23

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.d.ts CHANGED
@@ -60,7 +60,8 @@ export { ChatMessageId } from './plugins/user-chat/schema.js';
60
60
  export type { AskUserInputType, AskUserInputTypeSchema, AskUserOption } from './plugins/user-chat/schema.js';
61
61
  export type { BuiltinEvent } from './builtin-events.js';
62
62
  export type { AgentChatMessage, AskUserChatMessage, ChatMessage, UserChatMessage } from './plugins/user-chat/index.js';
63
- export { agentStatusPlugin } from './plugins/agent-status/plugin.js';
63
+ export { agentStatusPlugin, agentStoppedNotificationSchema } from './plugins/agent-status/plugin.js';
64
+ export type { AgentStoppedNotification } from './plugins/agent-status/plugin.js';
64
65
  export { agentsPlugin } from './plugins/agents/plugin.js';
65
66
  export type { AgentsPluginConfig } from './plugins/agents/plugin.js';
66
67
  export { contextCompactPlugin } from './plugins/context-compact/plugin.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACxD,YAAY,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAGzC,OAAO,EAAE,SAAS,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAA;AACpE,YAAY,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAG9C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,YAAY,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAGnE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAC1F,YAAY,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACjF,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AACjE,YAAY,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAChE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAG9D,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAGhE,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AACjG,YAAY,EAAE,oBAAoB,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AAG7G,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAC9C,YAAY,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAA;AACnE,YAAY,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAA;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAGpE,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACtG,YAAY,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAGpD,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AACjD,YAAY,EAAE,WAAW,IAAI,iBAAiB,EAAE,mBAAmB,EAAE,mBAAmB,IAAI,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACxI,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,YAAY,EAAE,gBAAgB,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACtF,YAAY,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACzD,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AACtD,YAAY,EAAE,sBAAsB,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AAC7H,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAC7D,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AACtI,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC9C,YAAY,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AACrD,YAAY,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAC/G,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AACrD,YAAY,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAA;AACtF,YAAY,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC5D,YAAY,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACxD,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAChF,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AACvD,YAAY,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AACjE,YAAY,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAC7D,YAAY,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAC5G,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAGvD,YAAY,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAGtH,OAAO,EAAE,iBAAiB,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAA;AACpG,YAAY,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAA;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACzD,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAA;AAC1E,YAAY,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAA;AACrF,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAC1G,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AAC7G,YAAY,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAA;AACxF,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAC3D,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAC1F,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAA;AAC1E,YAAY,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAA;AAC9F,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,YAAY,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAA;AACjG,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AACtE,YAAY,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAA;AACjF,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAA;AAC7F,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC5E,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AACvF,YAAY,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAClE,YAAY,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,YAAY,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AACpE,YAAY,EACX,iBAAiB,EACjB,qBAAqB,EACrB,cAAc,EACd,cAAc,GACd,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EAAE,0BAA0B,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAA;AACpG,YAAY,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAC9D,YAAY,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AAGrH,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACzD,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AACvF,YAAY,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAA;AACnE,YAAY,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC/D,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAG3E,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAC/D,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AAGzG,OAAO,EAAE,OAAO,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAGrC,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAA;AAC/C,YAAY,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAGnD,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAGtE,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAA;AAC1D,YAAY,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAGrF,YAAY,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAA;AAIhF,YAAY,EACX,YAAY,EACZ,MAAM,EACN,eAAe,EACf,cAAc,EACd,UAAU,EACV,UAAU,EACV,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,KAAK,GACL,MAAM,qBAAqB,CAAA"}
package/dist/index.js CHANGED
@@ -40,7 +40,7 @@ export { getAgentMailbox, selectMailboxState } from './plugins/mailbox/query.js'
40
40
  export { MessageId } from './plugins/mailbox/schema.js';
41
41
  export { ChatMessageId } from './plugins/user-chat/schema.js';
42
42
  // Plugins
43
- export { agentStatusPlugin } from './plugins/agent-status/plugin.js';
43
+ export { agentStatusPlugin, agentStoppedNotificationSchema } from './plugins/agent-status/plugin.js';
44
44
  export { agentsPlugin } from './plugins/agents/plugin.js';
45
45
  export { contextCompactPlugin } from './plugins/context-compact/plugin.js';
46
46
  export { limitsGuardPlugin, selectAgentCounters, sumSessionSpend } from './plugins/limits-guard/plugin.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=agent-status.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-status.test.d.ts","sourceRoot":"","sources":["../../../src/plugins/agent-status/agent-status.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,136 @@
1
+ import { describe, expect, it } from 'bun:test';
2
+ import { AgentId } from '../../core/agents/schema.js';
3
+ import { MockLLMProvider } from '../../core/llm/mock.js';
4
+ import { ToolCallId } from '../../core/tools/schema.js';
5
+ import { limitsGuardPlugin } from '../../plugins/limits-guard/plugin.js';
6
+ import { createMultiAgentPreset, createTestPreset, TestHarness } from '../../testing/index.js';
7
+ import { agentStatusPlugin } from './plugin.js';
8
+ const agentStatusNotifications = (session) => session.getNotifications()
9
+ .filter((n) => n.pluginName === 'agent-status' && n.type === 'agentStatus')
10
+ .map((n) => n.payload);
11
+ const agentStoppedNotifications = (session) => session.getNotifications()
12
+ .filter((n) => n.pluginName === 'agent-status' && n.type === 'agentStopped')
13
+ .map((n) => n.payload);
14
+ async function waitForAgentStatus(session, agentId, status, timeoutMs = 5000) {
15
+ const deadline = Date.now() + timeoutMs;
16
+ while (Date.now() < deadline) {
17
+ const agentState = session.state.agents.get(agentId);
18
+ if (agentState?.status === status)
19
+ return;
20
+ await new Promise((r) => setTimeout(r, 10));
21
+ }
22
+ throw new Error(`waitForAgentStatus timed out after ${timeoutMs}ms (wanted ${status}) for agent ${agentId}`);
23
+ }
24
+ describe('agent-status plugin', () => {
25
+ describe('agentStatus (existing behavior)', () => {
26
+ it('emits thinking on start and idle on completion', async () => {
27
+ const harness = new TestHarness({
28
+ presets: [createTestPreset()],
29
+ systemPlugins: [agentStatusPlugin],
30
+ llmProvider: MockLLMProvider.withFixedResponse({ content: 'Done', toolCalls: [] }),
31
+ });
32
+ const session = await harness.createSession('test');
33
+ const entryAgentId = session.getEntryAgentId();
34
+ await session.sendAndWaitForIdle('Hello');
35
+ const statuses = agentStatusNotifications(session).map((p) => p.status);
36
+ expect(statuses).toContain('thinking');
37
+ expect(statuses).toContain('idle');
38
+ // No abnormal-terminal notification for a normal completion.
39
+ expect(agentStoppedNotifications(session)).toHaveLength(0);
40
+ await harness.shutdown();
41
+ });
42
+ });
43
+ describe('agentStopped on pause', () => {
44
+ it('manual pause → agentStopped kind:paused reason:manual with message', async () => {
45
+ let orchestratorCalls = 0;
46
+ const harness = new TestHarness({
47
+ presets: [createMultiAgentPreset([{ name: 'worker', system: 'Worker agent.', tools: [], agents: [] }], { orchestratorSystem: 'Orchestrator agent.' })],
48
+ systemPlugins: [agentStatusPlugin],
49
+ mockHandler: (request) => {
50
+ if (request.systemPrompt.includes('Orchestrator')) {
51
+ orchestratorCalls++;
52
+ if (orchestratorCalls === 1) {
53
+ return {
54
+ content: null,
55
+ toolCalls: [{ id: ToolCallId('tc1'), name: 'start_worker', input: { message: 'Work' } }],
56
+ finishReason: 'stop',
57
+ metrics: MockLLMProvider.defaultMetrics(),
58
+ };
59
+ }
60
+ return { content: 'Done', toolCalls: [], finishReason: 'stop', metrics: MockLLMProvider.defaultMetrics() };
61
+ }
62
+ return { content: 'Worker done', toolCalls: [], finishReason: 'stop', metrics: MockLLMProvider.defaultMetrics() };
63
+ },
64
+ });
65
+ const session = await harness.createSession('test');
66
+ await session.sendAndWaitForIdle('Start');
67
+ // Manual pause via Session.pauseAgent — the real manual-pause API that
68
+ // runs onPause hooks (agents.pause only emits the event, no hooks).
69
+ const innerSession = session.session;
70
+ const result = await innerSession.pauseAgent(AgentId('worker_1'), 'Pausing for review');
71
+ expect(result.ok).toBe(true);
72
+ const stopped = agentStoppedNotifications(session).filter((n) => n.agentId === 'worker_1');
73
+ expect(stopped).toHaveLength(1);
74
+ expect(stopped[0].kind).toBe('paused');
75
+ expect(stopped[0].reason).toBe('manual');
76
+ expect(stopped[0].message).toBe('Pausing for review');
77
+ expect(stopped[0].definitionName).toBe('worker');
78
+ expect(typeof stopped[0].timestamp).toBe('number');
79
+ // idle agentStatus still emitted alongside.
80
+ expect(agentStatusNotifications(session).some((p) => p.agentId === 'worker_1' && p.status === 'idle')).toBe(true);
81
+ await harness.shutdown();
82
+ });
83
+ it('limits-guard hard limit → agentStopped kind:paused with reason and message', async () => {
84
+ let inferenceCount = 0;
85
+ const harness = new TestHarness({
86
+ presets: [createTestPreset({
87
+ orchestratorSystem: 'Test agent.',
88
+ orchestratorPlugins: [limitsGuardPlugin.configureAgent({ limits: { maxTurns: 2 } })],
89
+ })],
90
+ systemPlugins: [agentStatusPlugin, limitsGuardPlugin],
91
+ mockHandler: () => {
92
+ inferenceCount++;
93
+ return {
94
+ content: null,
95
+ toolCalls: [{ id: ToolCallId(`tc${inferenceCount}`), name: 'tell_user', input: { message: `Turn ${inferenceCount}` } }],
96
+ finishReason: 'stop',
97
+ metrics: MockLLMProvider.defaultMetrics(),
98
+ };
99
+ },
100
+ });
101
+ const session = await harness.createSession('test');
102
+ const entryAgentId = session.getEntryAgentId();
103
+ await session.sendMessage('Start');
104
+ await waitForAgentStatus(session, entryAgentId, 'paused');
105
+ const stopped = agentStoppedNotifications(session).filter((n) => n.agentId === String(entryAgentId));
106
+ expect(stopped.length).toBeGreaterThanOrEqual(1);
107
+ expect(stopped[0].kind).toBe('paused');
108
+ // limits-guard pauses via beforeInference {action:'pause'} → reason 'handler',
109
+ // with the human-readable budget detail in `message`.
110
+ expect(stopped[0].reason).toBe('handler');
111
+ expect(stopped[0].message).toBeTruthy();
112
+ await harness.shutdown();
113
+ });
114
+ });
115
+ describe('agentStopped on error', () => {
116
+ it('non-retryable LLM error → agentStopped kind:errored with message', async () => {
117
+ const harness = new TestHarness({
118
+ presets: [createTestPreset()],
119
+ systemPlugins: [agentStatusPlugin],
120
+ llmProvider: MockLLMProvider.withError({ type: 'invalid_request', message: 'Bad request' }),
121
+ });
122
+ const session = await harness.createSession('test');
123
+ const entryAgentId = session.getEntryAgentId();
124
+ await session.sendMessage('Trigger error');
125
+ await waitForAgentStatus(session, entryAgentId, 'errored');
126
+ const stopped = agentStoppedNotifications(session).filter((n) => n.agentId === String(entryAgentId));
127
+ expect(stopped).toHaveLength(1);
128
+ expect(stopped[0].kind).toBe('errored');
129
+ expect(stopped[0].reason).toBeUndefined();
130
+ expect(stopped[0].message).toBe('Bad request');
131
+ expect(stopped[0].definitionName).toBeDefined();
132
+ await harness.shutdown();
133
+ });
134
+ });
135
+ });
136
+ //# sourceMappingURL=agent-status.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-status.test.js","sourceRoot":"","sources":["../../../src/plugins/agent-status/agent-status.test.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,33 @@
14
14
  * `idle` fires on `onComplete`, `onError`, and `onPause` — covers every terminal
15
15
  * state of an agent turn, including hard-limit pauses (limits-guard) and manual
16
16
  * `Session.pauseAgent` calls that would otherwise leave the indicator hung.
17
+ *
18
+ * Alongside the `idle` status, abnormal terminal states (pause / error) also emit
19
+ * a dedicated `agentStopped` notification carrying the pause reason / error detail,
20
+ * so consumers (e.g. a Cloudflare worker) can alert on a budget pause or crash —
21
+ * which the coarse `idle` status alone can't distinguish from a normal completion.
22
+ */
23
+ import z from 'zod/v4';
24
+ /**
25
+ * Payload for the `agentStopped` notification — emitted when an agent reaches an
26
+ * abnormal terminal state (paused or errored), as opposed to a normal idle.
17
27
  */
28
+ export declare const agentStoppedNotificationSchema: z.ZodObject<{
29
+ sessionId: z.core.$ZodBranded<z.ZodString, "SessionId", "out">;
30
+ agentId: z.core.$ZodBranded<z.ZodString, "AgentId", "out">;
31
+ definitionName: z.ZodOptional<z.ZodString>;
32
+ kind: z.ZodEnum<{
33
+ errored: "errored";
34
+ paused: "paused";
35
+ }>;
36
+ reason: z.ZodOptional<z.ZodEnum<{
37
+ limit: "limit";
38
+ handler: "handler";
39
+ manual: "manual";
40
+ }>>;
41
+ message: z.ZodOptional<z.ZodString>;
42
+ timestamp: z.ZodNumber;
43
+ }, z.core.$strip>;
44
+ export type AgentStoppedNotification = z.infer<typeof agentStoppedNotificationSchema>;
18
45
  export declare const agentStatusPlugin: import("../../core/plugins/index.js").PluginDefinition<"agent-status", void, void, {}, {}>;
19
46
  //# sourceMappingURL=plugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/agent-status/plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAOH,eAAO,MAAM,iBAAiB,wFA4ErB,CAAA"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/agent-status/plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,CAAC,MAAM,QAAQ,CAAA;AAKtB;;;GAGG;AACH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;iBAUzC,CAAA;AAEF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAA;AAErF,eAAO,MAAM,iBAAiB,wFAsGrB,CAAA"}
@@ -14,11 +14,31 @@
14
14
  * `idle` fires on `onComplete`, `onError`, and `onPause` — covers every terminal
15
15
  * state of an agent turn, including hard-limit pauses (limits-guard) and manual
16
16
  * `Session.pauseAgent` calls that would otherwise leave the indicator hung.
17
+ *
18
+ * Alongside the `idle` status, abnormal terminal states (pause / error) also emit
19
+ * a dedicated `agentStopped` notification carrying the pause reason / error detail,
20
+ * so consumers (e.g. a Cloudflare worker) can alert on a budget pause or crash —
21
+ * which the coarse `idle` status alone can't distinguish from a normal completion.
17
22
  */
18
23
  import z from 'zod/v4';
19
24
  import { agentIdSchema, protocolAgentStatusSchema } from '../../core/agents/schema.js';
20
25
  import { definePlugin } from '../../core/plugins/index.js';
21
26
  import { sessionIdSchema } from '../../core/sessions/schema.js';
27
+ /**
28
+ * Payload for the `agentStopped` notification — emitted when an agent reaches an
29
+ * abnormal terminal state (paused or errored), as opposed to a normal idle.
30
+ */
31
+ export const agentStoppedNotificationSchema = z.object({
32
+ sessionId: sessionIdSchema,
33
+ agentId: agentIdSchema,
34
+ definitionName: z.string().optional(),
35
+ kind: z.enum(['paused', 'errored']),
36
+ /** Present when kind === 'paused' — why the agent was paused. */
37
+ reason: z.enum(['limit', 'handler', 'manual']).optional(),
38
+ /** Human-readable detail (budget message / error message). */
39
+ message: z.string().optional(),
40
+ timestamp: z.number(),
41
+ });
22
42
  export const agentStatusPlugin = definePlugin('agent-status')
23
43
  .notification('agentStatus', {
24
44
  schema: z.object({
@@ -28,6 +48,9 @@ export const agentStatusPlugin = definePlugin('agent-status')
28
48
  definitionName: z.string().optional(),
29
49
  timestamp: z.number(),
30
50
  }),
51
+ })
52
+ .notification('agentStopped', {
53
+ schema: agentStoppedNotificationSchema,
31
54
  })
32
55
  .hook('onStart', async (ctx) => {
33
56
  ctx.notify('agentStatus', {
@@ -80,6 +103,15 @@ export const agentStatusPlugin = definePlugin('agent-status')
80
103
  definitionName: ctx.agentState.definitionName,
81
104
  timestamp: Date.now(),
82
105
  });
106
+ // Additive abnormal-terminal signal for alerting (e.g. worker crash alert).
107
+ ctx.notify('agentStopped', {
108
+ sessionId: ctx.sessionId,
109
+ agentId: ctx.agentId,
110
+ definitionName: ctx.agentState.definitionName,
111
+ kind: 'errored',
112
+ message: ctx.error,
113
+ timestamp: Date.now(),
114
+ });
83
115
  return null;
84
116
  })
85
117
  .hook('onPause', async (ctx) => {
@@ -93,6 +125,20 @@ export const agentStatusPlugin = definePlugin('agent-status')
93
125
  definitionName: ctx.agentState.definitionName,
94
126
  timestamp: Date.now(),
95
127
  });
128
+ // Additive abnormal-terminal signal carrying the structured pause reason and
129
+ // message. Read from agentState (set by the agent_paused reducer) rather than
130
+ // the loosely-typed `ctx.reason`, which actually carries the message string.
131
+ // A budget breach surfaces as reason:'handler' with the budget detail in
132
+ // `message` (limits-guard pauses via beforeInference `{action:'pause'}`).
133
+ ctx.notify('agentStopped', {
134
+ sessionId: ctx.sessionId,
135
+ agentId: ctx.agentId,
136
+ definitionName: ctx.agentState.definitionName,
137
+ kind: 'paused',
138
+ reason: ctx.agentState.pauseReason,
139
+ message: ctx.agentState.pauseMessage,
140
+ timestamp: Date.now(),
141
+ });
96
142
  return null;
97
143
  })
98
144
  .build();
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/plugins/agent-status/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/plugins/agent-status/plugin.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,10 @@ export declare class ServiceExecutor {
30
30
  private readonly services;
31
31
  private readonly allocatedPorts;
32
32
  private readonly waiters;
33
+ /** Per-type lock collapsing concurrent start() calls onto a single in-flight start. */
34
+ private readonly startInFlight;
35
+ /** Per-type counter bounding automatic EADDRINUSE port re-allocation retries. */
36
+ private readonly portConflictRetries;
33
37
  private readonly logger;
34
38
  private readonly portPool;
35
39
  private readonly fs;
@@ -46,8 +50,19 @@ export declare class ServiceExecutor {
46
50
  waitForReady(serviceType: string, timeoutMs?: number): Promise<Result<void, ToolError>>;
47
51
  /**
48
52
  * Start a service. Idempotent — returns Ok if already running or starting.
53
+ *
54
+ * Concurrent calls for the same service type are collapsed onto a single
55
+ * in-flight start. The executor mutates its per-type state (`services` /
56
+ * `allocatedPorts`) only between awaits, so without this guard two overlapping
57
+ * starts could both pass the "already running" check and spawn two processes
58
+ * on the same allocated port: one wins the port, the other dies with
59
+ * EADDRINUSE, and — because state is keyed by service type — the loser's
60
+ * `failed` event overwrites the winner's `ready`, leaving a healthy-but-
61
+ * untracked listener while the control plane believes the service failed.
62
+ * Deduping here guarantees exactly one process per type.
49
63
  */
50
64
  start(config: ServiceConfig, sessionId: SessionId, workspaceDir?: string, preferredPort?: number): Promise<Result<void, ToolError>>;
65
+ private startInternal;
51
66
  /**
52
67
  * Stop a running service gracefully.
53
68
  * Port is NOT released — kept for session-level stability across restarts.
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/plugins/services/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/plugins/services/service.ts"],"names":[],"mappings":"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"}
@@ -36,10 +36,23 @@ export async function getProcessStartTime(fs, pid) {
36
36
  return undefined;
37
37
  }
38
38
  }
39
+ /** Matches a port bind-conflict across the Node and Bun runtimes. */
40
+ const PORT_CONFLICT_PATTERN = /EADDRINUSE|address already in use/i;
41
+ /**
42
+ * How many times {@link ServiceExecutor.start} will silently re-allocate a fresh
43
+ * port and retry when the chosen port is already held by a foreign process
44
+ * (EADDRINUSE). Bounded so a service that is genuinely unstartable still ends up
45
+ * `failed` instead of looping forever.
46
+ */
47
+ const MAX_PORT_CONFLICT_RETRIES = 3;
39
48
  export class ServiceExecutor {
40
49
  services = new Map();
41
50
  allocatedPorts = new Map();
42
51
  waiters = new Map();
52
+ /** Per-type lock collapsing concurrent start() calls onto a single in-flight start. */
53
+ startInFlight = new Map();
54
+ /** Per-type counter bounding automatic EADDRINUSE port re-allocation retries. */
55
+ portConflictRetries = new Map();
43
56
  logger;
44
57
  portPool;
45
58
  fs;
@@ -102,8 +115,31 @@ export class ServiceExecutor {
102
115
  }
103
116
  /**
104
117
  * Start a service. Idempotent — returns Ok if already running or starting.
118
+ *
119
+ * Concurrent calls for the same service type are collapsed onto a single
120
+ * in-flight start. The executor mutates its per-type state (`services` /
121
+ * `allocatedPorts`) only between awaits, so without this guard two overlapping
122
+ * starts could both pass the "already running" check and spawn two processes
123
+ * on the same allocated port: one wins the port, the other dies with
124
+ * EADDRINUSE, and — because state is keyed by service type — the loser's
125
+ * `failed` event overwrites the winner's `ready`, leaving a healthy-but-
126
+ * untracked listener while the control plane believes the service failed.
127
+ * Deduping here guarantees exactly one process per type.
105
128
  */
106
129
  async start(config, sessionId, workspaceDir, preferredPort) {
130
+ const inFlight = this.startInFlight.get(config.type);
131
+ if (inFlight)
132
+ return inFlight;
133
+ const promise = this.startInternal(config, sessionId, workspaceDir, preferredPort);
134
+ this.startInFlight.set(config.type, promise);
135
+ try {
136
+ return await promise;
137
+ }
138
+ finally {
139
+ this.startInFlight.delete(config.type);
140
+ }
141
+ }
142
+ async startInternal(config, sessionId, workspaceDir, preferredPort) {
107
143
  const existing = this.services.get(config.type);
108
144
  if (existing && (existing.status === 'starting' || existing.status === 'ready')) {
109
145
  return Ok(undefined);
@@ -155,6 +191,9 @@ export class ServiceExecutor {
155
191
  this.notifyStatusChanged(sessionId, config.type, 'starting', port, undefined, child.pid, pidStartTime);
156
192
  const logs = new RingBuffer(logBufferSize);
157
193
  const startTime = Date.now();
194
+ // Set when the child reports a port bind-conflict; read by the close handler
195
+ // to decide between a fresh-port retry and a terminal failure.
196
+ let portConflictDetected = false;
158
197
  const entry = {
159
198
  config,
160
199
  process: child,
@@ -166,6 +205,9 @@ export class ServiceExecutor {
166
205
  this.services.set(config.type, entry);
167
206
  const processLine = (line) => {
168
207
  logs.push(line);
208
+ if (PORT_CONFLICT_PATTERN.test(line)) {
209
+ portConflictDetected = true;
210
+ }
169
211
  const current = this.services.get(config.type);
170
212
  if (!current || current.process !== child)
171
213
  return;
@@ -178,6 +220,7 @@ export class ServiceExecutor {
178
220
  current.status = 'ready';
179
221
  if (startupTimer)
180
222
  clearTimeout(startupTimer);
223
+ this.portConflictRetries.delete(config.type);
181
224
  const startupDurationMs = Date.now() - startTime;
182
225
  this.notifyStatusChanged(sessionId, config.type, 'ready', current.port);
183
226
  this.logger.info('Service ready', {
@@ -250,6 +293,27 @@ export class ServiceExecutor {
250
293
  this.notifyStatusChanged(sessionId, config.type, 'stopped');
251
294
  }
252
295
  else if (current.status === 'starting' || current.status === 'ready') {
296
+ const retries = this.portConflictRetries.get(config.type) ?? 0;
297
+ if (portConflictDetected && retries < MAX_PORT_CONFLICT_RETRIES) {
298
+ // The chosen port is held by a foreign process (e.g. a service
299
+ // leaked from another session, or a survivor of a previous boot).
300
+ // Re-allocate a fresh port and retry so the service recovers on a
301
+ // different port instead of wedging on the occupied one. The
302
+ // conflicted port stays reserved in the pool — it is physically in
303
+ // use, so releasing it would let a later allocation hand it out and
304
+ // collide again — while we drop only our type→port pin so the retry
305
+ // picks a new one.
306
+ this.portConflictRetries.set(config.type, retries + 1);
307
+ this.logger.warn('Service port in use — re-allocating to a fresh port', {
308
+ serviceType: config.type,
309
+ conflictedPort: current.port,
310
+ attempt: retries + 1,
311
+ });
312
+ this.allocatedPorts.delete(config.type);
313
+ this.services.delete(config.type);
314
+ void this.start(config, sessionId, workspaceDir);
315
+ return;
316
+ }
253
317
  // Unexpected exit
254
318
  current.status = 'failed';
255
319
  const errorMsg = `Process exited unexpectedly with code ${code}`;
@@ -258,6 +322,7 @@ export class ServiceExecutor {
258
322
  serviceType: config.type,
259
323
  code,
260
324
  });
325
+ this.portConflictRetries.delete(config.type);
261
326
  }
262
327
  });
263
328
  this.logger.info('Service starting', {
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/plugins/services/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/plugins/services/service.ts"],"names":[],"mappings":"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"}