@roj-ai/sdk 0.1.26 → 0.1.27
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 +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/testing/test-harness.d.ts +9 -2
- package/dist/testing/test-harness.d.ts.map +1 -1
- package/dist/testing/test-harness.js +31 -3
- package/dist/testing/test-harness.js.map +1 -1
- package/dist/testing/test-harness.test.js +41 -0
- package/dist/testing/test-harness.test.js.map +1 -1
- package/package.json +2 -2
- package/src/index.ts +2 -0
- package/src/testing/test-harness.test.ts +51 -0
- package/src/testing/test-harness.ts +37 -4
package/dist/index.d.ts
CHANGED
|
@@ -75,6 +75,8 @@ export { resultEvictionPlugin } from './plugins/result-eviction/plugin.js';
|
|
|
75
75
|
export type { EvictionAgentConfig, EvictionConfig } from './plugins/result-eviction/plugin.js';
|
|
76
76
|
export { servicePlugin } from './plugins/services/plugin.js';
|
|
77
77
|
export type { ServiceAgentConfig, ServiceStatusChangedEvent } from './plugins/services/plugin.js';
|
|
78
|
+
export { selectSessionStats, sessionStatsPlugin } from './plugins/session-stats/plugin.js';
|
|
79
|
+
export type { SessionStatsState } from './plugins/session-stats/plugin.js';
|
|
78
80
|
export { sessionStatePlugin } from './plugins/session-state/plugin.js';
|
|
79
81
|
export type { SessionStatePluginConfig } from './plugins/session-state/plugin.js';
|
|
80
82
|
export { presetsPlugin, sessionLifecyclePlugin } from './plugins/session-lifecycle/plugin.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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":"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"}
|
package/dist/index.js
CHANGED
|
@@ -47,6 +47,7 @@ export { limitsGuardPlugin, selectAgentCounters, sumSessionSpend } from './plugi
|
|
|
47
47
|
export { mailboxPlugin } from './plugins/mailbox/plugin.js';
|
|
48
48
|
export { resultEvictionPlugin } from './plugins/result-eviction/plugin.js';
|
|
49
49
|
export { servicePlugin } from './plugins/services/plugin.js';
|
|
50
|
+
export { selectSessionStats, sessionStatsPlugin } from './plugins/session-stats/plugin.js';
|
|
50
51
|
export { sessionStatePlugin } from './plugins/session-state/plugin.js';
|
|
51
52
|
export { presetsPlugin, sessionLifecyclePlugin } from './plugins/session-lifecycle/plugin.js';
|
|
52
53
|
export { selectAgentSkills, skillsPlugin } from './plugins/skills/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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"}
|
|
@@ -5,7 +5,7 @@ import type { DomainEvent } from '../core/events/types.js';
|
|
|
5
5
|
import type { LLMLogger } from '../core/llm/logger.js';
|
|
6
6
|
import { MockLLMProvider } from '../core/llm/mock.js';
|
|
7
7
|
import type { MockInferenceHandler } from '../core/llm/mock.js';
|
|
8
|
-
import type { PluginDefinition, PluginNotification } from '../core/plugins/plugin-builder.js';
|
|
8
|
+
import type { CallerContext, PluginDefinition, PluginNotification } from '../core/plugins/plugin-builder.js';
|
|
9
9
|
import type { Preset } from '../core/preset/index.js';
|
|
10
10
|
import type { SessionId } from '../core/sessions/schema.js';
|
|
11
11
|
import { SessionManager } from '../core/sessions/session-manager.js';
|
|
@@ -93,6 +93,10 @@ export declare class TestSession {
|
|
|
93
93
|
* Get notifications for this session.
|
|
94
94
|
*/
|
|
95
95
|
getNotifications(): PluginNotification[];
|
|
96
|
+
/**
|
|
97
|
+
* Read a plugin-owned state slice from the live session state.
|
|
98
|
+
*/
|
|
99
|
+
getPluginState<TState = unknown>(key: string): TState | undefined;
|
|
96
100
|
/**
|
|
97
101
|
* Get the current session state.
|
|
98
102
|
*/
|
|
@@ -108,7 +112,10 @@ export declare class TestSession {
|
|
|
108
112
|
/**
|
|
109
113
|
* Call a plugin method on the underlying session.
|
|
110
114
|
*/
|
|
111
|
-
callPluginMethod(method: string, input: unknown
|
|
115
|
+
callPluginMethod(method: string, input: unknown, options?: {
|
|
116
|
+
agentId?: AgentId;
|
|
117
|
+
caller?: CallerContext;
|
|
118
|
+
}): Promise<Result<unknown, DomainError>>;
|
|
112
119
|
/**
|
|
113
120
|
* Answer a user-chat question (convenience wrapper around callPluginMethod).
|
|
114
121
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-harness.d.ts","sourceRoot":"","sources":["../../src/testing/test-harness.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAEzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAErD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAA;
|
|
1
|
+
{"version":3,"file":"test-harness.d.ts","sourceRoot":"","sources":["../../src/testing/test-harness.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,16 +2,23 @@ import { MemoryEventStore } from '../core/events/memory.js';
|
|
|
2
2
|
import { SessionFileStore } from '../core/file-store/file-store.js';
|
|
3
3
|
import { LoggingLLMProvider } from '../core/llm/logging-provider.js';
|
|
4
4
|
import { MockLLMProvider } from '../core/llm/mock.js';
|
|
5
|
+
import { selectPluginState } from '../core/sessions/reducer.js';
|
|
5
6
|
import { SessionManager } from '../core/sessions/session-manager.js';
|
|
6
7
|
import { ToolExecutor } from '../core/tools/executor.js';
|
|
7
8
|
import { silentLogger } from '../lib/logger/logger.js';
|
|
8
9
|
import { createNodePlatform } from './node-platform.js';
|
|
10
|
+
import { agentStatusPlugin } from '../plugins/agent-status/plugin.js';
|
|
9
11
|
import { agentsPlugin } from '../plugins/agents/plugin.js';
|
|
10
12
|
import { filesystemPlugin } from '../plugins/filesystem/index.js';
|
|
13
|
+
import { gitStatusPlugin } from '../plugins/git-status/index.js';
|
|
11
14
|
import { llmDebugPlugin } from '../plugins/llm-debug/plugin.js';
|
|
12
15
|
import { logsPlugin } from '../plugins/logs/index.js';
|
|
13
16
|
import { mailboxPlugin } from '../plugins/mailbox/plugin.js';
|
|
17
|
+
import { resourcesPlugin } from '../plugins/resources/plugin.js';
|
|
18
|
+
import { servicePlugin } from '../plugins/services/plugin.js';
|
|
14
19
|
import { presetsPlugin, sessionLifecyclePlugin } from '../plugins/session-lifecycle/index.js';
|
|
20
|
+
import { sessionStatsPlugin } from '../plugins/session-stats/index.js';
|
|
21
|
+
import { sessionStatePlugin } from '../plugins/session-state/plugin.js';
|
|
15
22
|
import { uploadsPlugin } from '../plugins/uploads/plugin.js';
|
|
16
23
|
import { userChatPlugin } from '../plugins/user-chat/plugin.js';
|
|
17
24
|
import { NotificationCollector } from './notification-collector.js';
|
|
@@ -24,12 +31,27 @@ const defaultSystemPlugins = [
|
|
|
24
31
|
presetsPlugin,
|
|
25
32
|
mailboxPlugin,
|
|
26
33
|
agentsPlugin,
|
|
34
|
+
agentStatusPlugin,
|
|
27
35
|
userChatPlugin,
|
|
28
36
|
uploadsPlugin,
|
|
37
|
+
resourcesPlugin,
|
|
29
38
|
llmDebugPlugin,
|
|
39
|
+
servicePlugin,
|
|
30
40
|
filesystemPlugin,
|
|
31
41
|
logsPlugin,
|
|
42
|
+
sessionStatsPlugin,
|
|
43
|
+
sessionStatePlugin,
|
|
44
|
+
gitStatusPlugin,
|
|
32
45
|
];
|
|
46
|
+
const mergeSystemPlugins = (plugins) => {
|
|
47
|
+
const seen = new Set();
|
|
48
|
+
return plugins.filter(plugin => {
|
|
49
|
+
if (seen.has(plugin.name))
|
|
50
|
+
return false;
|
|
51
|
+
seen.add(plugin.name);
|
|
52
|
+
return true;
|
|
53
|
+
});
|
|
54
|
+
};
|
|
33
55
|
/**
|
|
34
56
|
* TestHarness — boots a real SessionManager with MemoryEventStore,
|
|
35
57
|
* MockLLMProvider, and in-memory notification collection.
|
|
@@ -87,7 +109,7 @@ export class TestHarness {
|
|
|
87
109
|
onUserOutput: (n) => this.notifications.push(n),
|
|
88
110
|
llmLogger: options.llmLogger,
|
|
89
111
|
platform,
|
|
90
|
-
systemPlugins: [...defaultSystemPlugins, ...(options.systemPlugins ?? [])],
|
|
112
|
+
systemPlugins: mergeSystemPlugins([...defaultSystemPlugins, ...(options.systemPlugins ?? [])]),
|
|
91
113
|
});
|
|
92
114
|
}
|
|
93
115
|
/**
|
|
@@ -182,6 +204,12 @@ export class TestSession {
|
|
|
182
204
|
getNotifications() {
|
|
183
205
|
return this.harness.notifications.getAll();
|
|
184
206
|
}
|
|
207
|
+
/**
|
|
208
|
+
* Read a plugin-owned state slice from the live session state.
|
|
209
|
+
*/
|
|
210
|
+
getPluginState(key) {
|
|
211
|
+
return selectPluginState(this.session.state, key);
|
|
212
|
+
}
|
|
185
213
|
/**
|
|
186
214
|
* Get the current session state.
|
|
187
215
|
*/
|
|
@@ -206,8 +234,8 @@ export class TestSession {
|
|
|
206
234
|
/**
|
|
207
235
|
* Call a plugin method on the underlying session.
|
|
208
236
|
*/
|
|
209
|
-
async callPluginMethod(method, input) {
|
|
210
|
-
return this.session.callPluginMethod(method, input);
|
|
237
|
+
async callPluginMethod(method, input, options) {
|
|
238
|
+
return this.session.callPluginMethod(method, input, options?.agentId, options?.caller);
|
|
211
239
|
}
|
|
212
240
|
/**
|
|
213
241
|
* Answer a user-chat question (convenience wrapper around callPluginMethod).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-harness.js","sourceRoot":"","sources":["../../src/testing/test-harness.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAE1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAElE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"test-harness.js","sourceRoot":"","sources":["../../src/testing/test-harness.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { describe, expect, it } from 'bun:test';
|
|
2
2
|
import { MockLLMProvider } from '../core/llm/mock.js';
|
|
3
3
|
import { ToolCallId } from '../core/tools/schema.js';
|
|
4
|
+
import { definePlugin, Ok, selectSessionStats, sessionStatsPlugin, z } from '../index.js';
|
|
4
5
|
import { createTestPreset, TestHarness } from './index.js';
|
|
5
6
|
describe('TestHarness', () => {
|
|
6
7
|
it('sendMessage → tell_user → notification', async () => {
|
|
@@ -47,5 +48,45 @@ describe('TestHarness', () => {
|
|
|
47
48
|
expect(sessionCreated).toHaveLength(1);
|
|
48
49
|
await harness.shutdown();
|
|
49
50
|
});
|
|
51
|
+
it('includes session stats by default and exposes plugin state', async () => {
|
|
52
|
+
expect(sessionStatsPlugin.name).toBe('session-stats');
|
|
53
|
+
const harness = new TestHarness({
|
|
54
|
+
presets: [createTestPreset()],
|
|
55
|
+
llmProvider: MockLLMProvider.withFixedResponse({
|
|
56
|
+
content: 'Done',
|
|
57
|
+
toolCalls: [],
|
|
58
|
+
metrics: MockLLMProvider.defaultMetricsWithCost(1.25),
|
|
59
|
+
}),
|
|
60
|
+
// Passing a default plugin explicitly should not register it twice.
|
|
61
|
+
systemPlugins: [sessionStatsPlugin],
|
|
62
|
+
});
|
|
63
|
+
const session = await harness.createSession('test');
|
|
64
|
+
await session.sendAndWaitForIdle('Test');
|
|
65
|
+
const stats = session.getPluginState('sessionStats');
|
|
66
|
+
expect(stats?.llmCalls).toBe(1);
|
|
67
|
+
expect(stats?.totalCost).toBe(1.25);
|
|
68
|
+
expect(selectSessionStats(session.state).totalCost).toBe(1.25);
|
|
69
|
+
await harness.shutdown();
|
|
70
|
+
});
|
|
71
|
+
it('callPluginMethod can pass caller context', async () => {
|
|
72
|
+
const callerPlugin = definePlugin('caller')
|
|
73
|
+
.method('whoami', {
|
|
74
|
+
input: z.object({}),
|
|
75
|
+
output: z.object({ source: z.string() }),
|
|
76
|
+
handler: async (ctx) => Ok({ source: ctx.caller.source }),
|
|
77
|
+
})
|
|
78
|
+
.build();
|
|
79
|
+
const harness = new TestHarness({
|
|
80
|
+
presets: [createTestPreset()],
|
|
81
|
+
systemPlugins: [callerPlugin],
|
|
82
|
+
});
|
|
83
|
+
const session = await harness.createSession('test');
|
|
84
|
+
const result = await session.callPluginMethod('caller.whoami', {}, { caller: { source: 'system', meta: {} } });
|
|
85
|
+
expect(result.ok).toBe(true);
|
|
86
|
+
if (result.ok) {
|
|
87
|
+
expect(result.value).toEqual({ source: 'system' });
|
|
88
|
+
}
|
|
89
|
+
await harness.shutdown();
|
|
90
|
+
});
|
|
50
91
|
});
|
|
51
92
|
//# sourceMappingURL=test-harness.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-harness.test.js","sourceRoot":"","sources":["../../src/testing/test-harness.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"test-harness.test.js","sourceRoot":"","sources":["../../src/testing/test-harness.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@roj-ai/sdk",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.27",
|
|
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.27",
|
|
139
139
|
"@hono/zod-validator": "0.7.6",
|
|
140
140
|
"hono": "4.12.5",
|
|
141
141
|
"ignore": "7.0.5",
|
package/src/index.ts
CHANGED
|
@@ -97,6 +97,8 @@ export { resultEvictionPlugin } from '~/plugins/result-eviction/plugin.js'
|
|
|
97
97
|
export type { EvictionAgentConfig, EvictionConfig } from '~/plugins/result-eviction/plugin.js'
|
|
98
98
|
export { servicePlugin } from '~/plugins/services/plugin.js'
|
|
99
99
|
export type { ServiceAgentConfig, ServiceStatusChangedEvent } from '~/plugins/services/plugin.js'
|
|
100
|
+
export { selectSessionStats, sessionStatsPlugin } from '~/plugins/session-stats/plugin.js'
|
|
101
|
+
export type { SessionStatsState } from '~/plugins/session-stats/plugin.js'
|
|
100
102
|
export { sessionStatePlugin } from '~/plugins/session-state/plugin.js'
|
|
101
103
|
export type { SessionStatePluginConfig } from '~/plugins/session-state/plugin.js'
|
|
102
104
|
export { presetsPlugin, sessionLifecyclePlugin } from '~/plugins/session-lifecycle/plugin.js'
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { describe, expect, it } from 'bun:test'
|
|
2
2
|
import { MockLLMProvider } from '~/core/llm/mock.js'
|
|
3
3
|
import { ToolCallId } from '~/core/tools/schema.js'
|
|
4
|
+
import { definePlugin, Ok, selectSessionStats, sessionStatsPlugin, type SessionStatsState, z } from '~/index.js'
|
|
4
5
|
import { createTestPreset, TestHarness } from './index.js'
|
|
5
6
|
|
|
6
7
|
describe('TestHarness', () => {
|
|
@@ -60,4 +61,54 @@ describe('TestHarness', () => {
|
|
|
60
61
|
|
|
61
62
|
await harness.shutdown()
|
|
62
63
|
})
|
|
64
|
+
|
|
65
|
+
it('includes session stats by default and exposes plugin state', async () => {
|
|
66
|
+
expect(sessionStatsPlugin.name).toBe('session-stats')
|
|
67
|
+
|
|
68
|
+
const harness = new TestHarness({
|
|
69
|
+
presets: [createTestPreset()],
|
|
70
|
+
llmProvider: MockLLMProvider.withFixedResponse({
|
|
71
|
+
content: 'Done',
|
|
72
|
+
toolCalls: [],
|
|
73
|
+
metrics: MockLLMProvider.defaultMetricsWithCost(1.25),
|
|
74
|
+
}),
|
|
75
|
+
// Passing a default plugin explicitly should not register it twice.
|
|
76
|
+
systemPlugins: [sessionStatsPlugin],
|
|
77
|
+
})
|
|
78
|
+
|
|
79
|
+
const session = await harness.createSession('test')
|
|
80
|
+
await session.sendAndWaitForIdle('Test')
|
|
81
|
+
|
|
82
|
+
const stats = session.getPluginState<SessionStatsState>('sessionStats')
|
|
83
|
+
expect(stats?.llmCalls).toBe(1)
|
|
84
|
+
expect(stats?.totalCost).toBe(1.25)
|
|
85
|
+
expect(selectSessionStats(session.state).totalCost).toBe(1.25)
|
|
86
|
+
|
|
87
|
+
await harness.shutdown()
|
|
88
|
+
})
|
|
89
|
+
|
|
90
|
+
it('callPluginMethod can pass caller context', async () => {
|
|
91
|
+
const callerPlugin = definePlugin('caller')
|
|
92
|
+
.method('whoami', {
|
|
93
|
+
input: z.object({}),
|
|
94
|
+
output: z.object({ source: z.string() }),
|
|
95
|
+
handler: async ctx => Ok({ source: ctx.caller.source }),
|
|
96
|
+
})
|
|
97
|
+
.build()
|
|
98
|
+
|
|
99
|
+
const harness = new TestHarness({
|
|
100
|
+
presets: [createTestPreset()],
|
|
101
|
+
systemPlugins: [callerPlugin],
|
|
102
|
+
})
|
|
103
|
+
|
|
104
|
+
const session = await harness.createSession('test')
|
|
105
|
+
const result = await session.callPluginMethod('caller.whoami', {}, { caller: { source: 'system', meta: {} } })
|
|
106
|
+
|
|
107
|
+
expect(result.ok).toBe(true)
|
|
108
|
+
if (result.ok) {
|
|
109
|
+
expect(result.value).toEqual({ source: 'system' })
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
await harness.shutdown()
|
|
113
|
+
})
|
|
63
114
|
})
|
|
@@ -7,8 +7,9 @@ import type { LLMLogger } from '~/core/llm/logger.js'
|
|
|
7
7
|
import { LoggingLLMProvider } from '~/core/llm/logging-provider.js'
|
|
8
8
|
import { MockLLMProvider } from '~/core/llm/mock.js'
|
|
9
9
|
import type { MockInferenceHandler } from '~/core/llm/mock.js'
|
|
10
|
-
import type { PluginDefinition, PluginNotification } from '~/core/plugins/plugin-builder.js'
|
|
10
|
+
import type { CallerContext, PluginDefinition, PluginNotification } from '~/core/plugins/plugin-builder.js'
|
|
11
11
|
import type { Preset } from '~/core/preset/index.js'
|
|
12
|
+
import { selectPluginState } from '~/core/sessions/reducer.js'
|
|
12
13
|
import type { SessionId } from '~/core/sessions/schema.js'
|
|
13
14
|
import { SessionManager } from '~/core/sessions/session-manager.js'
|
|
14
15
|
import type { Session } from '~/core/sessions/session.js'
|
|
@@ -17,12 +18,18 @@ import { ToolExecutor } from '~/core/tools/executor.js'
|
|
|
17
18
|
import { silentLogger } from '~/lib/logger/logger.js'
|
|
18
19
|
import { createNodePlatform } from './node-platform.js'
|
|
19
20
|
import type { Result } from '~/lib/utils/result.js'
|
|
21
|
+
import { agentStatusPlugin } from '~/plugins/agent-status/plugin.js'
|
|
20
22
|
import { agentsPlugin } from '~/plugins/agents/plugin.js'
|
|
21
23
|
import { filesystemPlugin } from '~/plugins/filesystem/index.js'
|
|
24
|
+
import { gitStatusPlugin } from '~/plugins/git-status/index.js'
|
|
22
25
|
import { llmDebugPlugin } from '~/plugins/llm-debug/plugin.js'
|
|
23
26
|
import { logsPlugin } from '~/plugins/logs/index.js'
|
|
24
27
|
import { mailboxPlugin } from '~/plugins/mailbox/plugin.js'
|
|
28
|
+
import { resourcesPlugin } from '~/plugins/resources/plugin.js'
|
|
29
|
+
import { servicePlugin } from '~/plugins/services/plugin.js'
|
|
25
30
|
import { presetsPlugin, sessionLifecyclePlugin } from '~/plugins/session-lifecycle/index.js'
|
|
31
|
+
import { sessionStatsPlugin } from '~/plugins/session-stats/index.js'
|
|
32
|
+
import { sessionStatePlugin } from '~/plugins/session-state/plugin.js'
|
|
26
33
|
import { uploadsPlugin } from '~/plugins/uploads/plugin.js'
|
|
27
34
|
import { userChatPlugin } from '~/plugins/user-chat/plugin.js'
|
|
28
35
|
import { NotificationCollector } from './notification-collector.js'
|
|
@@ -36,13 +43,28 @@ const defaultSystemPlugins: readonly PluginDefinition<string, any, any, any, any
|
|
|
36
43
|
presetsPlugin,
|
|
37
44
|
mailboxPlugin,
|
|
38
45
|
agentsPlugin,
|
|
46
|
+
agentStatusPlugin,
|
|
39
47
|
userChatPlugin,
|
|
40
48
|
uploadsPlugin,
|
|
49
|
+
resourcesPlugin,
|
|
41
50
|
llmDebugPlugin,
|
|
51
|
+
servicePlugin,
|
|
42
52
|
filesystemPlugin,
|
|
43
53
|
logsPlugin,
|
|
54
|
+
sessionStatsPlugin,
|
|
55
|
+
sessionStatePlugin,
|
|
56
|
+
gitStatusPlugin,
|
|
44
57
|
]
|
|
45
58
|
|
|
59
|
+
const mergeSystemPlugins = <TPlugin extends { name: string }>(plugins: readonly TPlugin[]): TPlugin[] => {
|
|
60
|
+
const seen = new Set<string>()
|
|
61
|
+
return plugins.filter(plugin => {
|
|
62
|
+
if (seen.has(plugin.name)) return false
|
|
63
|
+
seen.add(plugin.name)
|
|
64
|
+
return true
|
|
65
|
+
})
|
|
66
|
+
}
|
|
67
|
+
|
|
46
68
|
/**
|
|
47
69
|
* TestHarness — boots a real SessionManager with MemoryEventStore,
|
|
48
70
|
* MockLLMProvider, and in-memory notification collection.
|
|
@@ -116,7 +138,7 @@ export class TestHarness {
|
|
|
116
138
|
onUserOutput: (n: PluginNotification) => this.notifications.push(n),
|
|
117
139
|
llmLogger: options.llmLogger,
|
|
118
140
|
platform,
|
|
119
|
-
systemPlugins: [...defaultSystemPlugins, ...(options.systemPlugins ?? [])],
|
|
141
|
+
systemPlugins: mergeSystemPlugins([...defaultSystemPlugins, ...(options.systemPlugins ?? [])]),
|
|
120
142
|
})
|
|
121
143
|
}
|
|
122
144
|
|
|
@@ -232,6 +254,13 @@ export class TestSession {
|
|
|
232
254
|
return this.harness.notifications.getAll()
|
|
233
255
|
}
|
|
234
256
|
|
|
257
|
+
/**
|
|
258
|
+
* Read a plugin-owned state slice from the live session state.
|
|
259
|
+
*/
|
|
260
|
+
getPluginState<TState = unknown>(key: string): TState | undefined {
|
|
261
|
+
return selectPluginState<TState>(this.session.state, key)
|
|
262
|
+
}
|
|
263
|
+
|
|
235
264
|
/**
|
|
236
265
|
* Get the current session state.
|
|
237
266
|
*/
|
|
@@ -259,8 +288,12 @@ export class TestSession {
|
|
|
259
288
|
/**
|
|
260
289
|
* Call a plugin method on the underlying session.
|
|
261
290
|
*/
|
|
262
|
-
async callPluginMethod(
|
|
263
|
-
|
|
291
|
+
async callPluginMethod(
|
|
292
|
+
method: string,
|
|
293
|
+
input: unknown,
|
|
294
|
+
options?: { agentId?: AgentId; caller?: CallerContext },
|
|
295
|
+
): Promise<Result<unknown, DomainError>> {
|
|
296
|
+
return this.session.callPluginMethod(method, input, options?.agentId, options?.caller)
|
|
264
297
|
}
|
|
265
298
|
|
|
266
299
|
/**
|