shennian 0.1.25 → 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.
@@ -3,7 +3,8 @@ import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
3
3
  import fs from 'node:fs';
4
4
  import path from 'node:path';
5
5
  import os from 'node:os';
6
- const { MockAgent } = vi.hoisted(() => {
6
+ const { MockAgent, createdAgents } = vi.hoisted(() => {
7
+ const createdAgents = [];
7
8
  class MockAgent {
8
9
  _state;
9
10
  listeners = [];
@@ -20,20 +21,21 @@ const { MockAgent } = vi.hoisted(() => {
20
21
  thinkingLevel: 'off',
21
22
  };
22
23
  this._transformContext = opts?.transformContext;
24
+ createdAgents.push(this);
23
25
  }
24
26
  get state() { return this._state; }
25
27
  subscribe(fn) {
26
28
  this.listeners.push(fn);
27
- return () => { this.listeners = this.listeners.filter((l) => l !== fn); };
29
+ return () => { this.listeners = this.listeners.filter((listener) => listener !== fn); };
28
30
  }
29
- appendMessage(m) { this._state.messages.push(m); }
30
- replaceMessages(ms) { this._state.messages = ms; }
31
+ appendMessage(message) { this._state.messages.push(message); }
32
+ replaceMessages(messages) { this._state.messages = messages; }
31
33
  async prompt(text) {
32
34
  this._state.messages.push({ role: 'user', content: [{ type: 'text', text }], timestamp: Date.now() });
33
35
  if (this._transformContext)
34
36
  await this._transformContext(this._state.messages);
35
- this.listeners.forEach((fn) => fn({ type: 'agent_start' }));
36
- this.listeners.forEach((fn) => fn({
37
+ this.listeners.forEach((listener) => listener({ type: 'agent_start' }));
38
+ this.listeners.forEach((listener) => listener({
37
39
  type: 'message_update',
38
40
  message: { role: 'assistant', content: [{ type: 'text', text: 'response' }] },
39
41
  assistantMessageEvent: {},
@@ -42,12 +44,12 @@ const { MockAgent } = vi.hoisted(() => {
42
44
  role: 'assistant', content: [{ type: 'text', text: 'response' }],
43
45
  timestamp: Date.now(), usage: { input: 10, output: 20 },
44
46
  });
45
- this.listeners.forEach((fn) => fn({ type: 'agent_end', messages: this._state.messages }));
47
+ this.listeners.forEach((listener) => listener({ type: 'agent_end', messages: this._state.messages }));
46
48
  }
47
- setModel(_m) { }
49
+ setModel(_model) { }
48
50
  abort() { }
49
51
  }
50
- return { MockAgent };
52
+ return { MockAgent, createdAgents };
51
53
  });
52
54
  vi.mock('@mariozechner/pi-agent-core', () => ({
53
55
  Agent: MockAgent,
@@ -64,25 +66,30 @@ vi.mock('../region.js', () => ({
64
66
  }));
65
67
  import { PiAdapter } from '../agents/pi.js';
66
68
  import { loadConfig } from '../config/index.js';
69
+ function getSessionDir(sessionId) {
70
+ return path.join(os.homedir(), '.shennian', 'sessions', sessionId);
71
+ }
67
72
  describe('PiAdapter — context management', () => {
68
73
  const tmpDir = path.join(os.tmpdir(), `pi-test-${Date.now()}`);
69
74
  const sessionId = `test-session-${Date.now()}`;
70
75
  beforeEach(() => {
71
76
  vi.clearAllMocks();
77
+ createdAgents.length = 0;
72
78
  fs.mkdirSync(tmpDir, { recursive: true });
73
79
  });
74
80
  afterEach(() => {
75
81
  fs.rmSync(tmpDir, { recursive: true, force: true });
82
+ fs.rmSync(getSessionDir(sessionId), { recursive: true, force: true });
76
83
  });
77
84
  it('reuses Agent instance across multiple send() calls', async () => {
78
85
  const adapter = new PiAdapter();
79
86
  await adapter.start(sessionId, tmpDir);
80
87
  const events = [];
81
- adapter.on('agentEvent', (e) => events.push(e));
88
+ adapter.on('agentEvent', (event) => events.push(event));
82
89
  await adapter.send('hello');
83
90
  await adapter.send('world');
84
91
  await adapter.stop();
85
- const finals = events.filter((e) => e.state === 'final');
92
+ const finals = events.filter((event) => event.state === 'final');
86
93
  expect(finals).toHaveLength(2);
87
94
  expect(finals[0].runId).not.toBe(finals[1].runId);
88
95
  });
@@ -90,10 +97,10 @@ describe('PiAdapter — context management', () => {
90
97
  const adapter = new PiAdapter();
91
98
  await adapter.start(sessionId, tmpDir);
92
99
  const events = [];
93
- adapter.on('agentEvent', (e) => events.push(e));
100
+ adapter.on('agentEvent', (event) => events.push(event));
94
101
  await adapter.send('hi');
95
102
  await adapter.stop();
96
- const states = events.map((e) => e.state);
103
+ const states = events.map((event) => event.state);
97
104
  expect(states).toContain('init');
98
105
  expect(states).toContain('start');
99
106
  expect(states).toContain('final');
@@ -103,31 +110,32 @@ describe('PiAdapter — context management', () => {
103
110
  const adapter = new PiAdapter();
104
111
  await adapter.start(sessionId, tmpDir);
105
112
  const events = [];
106
- adapter.on('agentEvent', (e) => events.push(e));
113
+ adapter.on('agentEvent', (event) => events.push(event));
107
114
  await adapter.send('test');
108
115
  await adapter.stop();
109
- const error = events.find((e) => e.state === 'error');
116
+ const error = events.find((event) => event.state === 'error');
110
117
  expect(error).toBeDefined();
118
+ if (!error)
119
+ throw new Error('expected error event');
111
120
  expect(error.message).toContain('未配对');
112
121
  });
113
122
  });
114
- describe('PiAdapter — summary persistence', () => {
123
+ describe('PiAdapter — local persistence', () => {
115
124
  const sessionId = `summary-test-${Date.now()}`;
116
- const summaryDir = path.join(os.homedir(), '.shennian', 'sessions', sessionId);
117
- const summaryPath = path.join(summaryDir, 'pi-context.json');
125
+ const sessionDir = getSessionDir(sessionId);
126
+ const legacySummaryPath = path.join(sessionDir, 'pi-context.json');
127
+ const summaryPath = path.join(sessionDir, 'summary.json');
128
+ const snapshotPath = path.join(sessionDir, 'snapshot.json');
129
+ const messagesPath = path.join(sessionDir, 'messages.jsonl');
130
+ beforeEach(() => {
131
+ createdAgents.length = 0;
132
+ });
118
133
  afterEach(() => {
119
- try {
120
- fs.unlinkSync(summaryPath);
121
- }
122
- catch { }
123
- try {
124
- fs.rmdirSync(summaryDir);
125
- }
126
- catch { }
134
+ fs.rmSync(sessionDir, { recursive: true, force: true });
127
135
  });
128
- it('loads summary from existing file on start()', async () => {
129
- fs.mkdirSync(summaryDir, { recursive: true });
130
- fs.writeFileSync(summaryPath, JSON.stringify({
136
+ it('loads legacy summary from existing file on start()', async () => {
137
+ fs.mkdirSync(sessionDir, { recursive: true });
138
+ fs.writeFileSync(legacySummaryPath, JSON.stringify({
131
139
  summary: '之前讨论了文件读写功能',
132
140
  summarizedCount: 5,
133
141
  updatedAt: Date.now(),
@@ -135,30 +143,65 @@ describe('PiAdapter — summary persistence', () => {
135
143
  const adapter = new PiAdapter();
136
144
  await adapter.start(sessionId, '/tmp');
137
145
  const events = [];
138
- adapter.on('agentEvent', (e) => events.push(e));
146
+ adapter.on('agentEvent', (event) => events.push(event));
139
147
  await adapter.send('继续');
140
148
  await adapter.stop();
141
- expect(events.some((e) => e.state === 'final')).toBe(true);
149
+ expect(events.some((event) => event.state === 'final')).toBe(true);
150
+ expect(createdAgents[0].state.messages[0].content[0].text).toContain('之前讨论了文件读写功能');
142
151
  });
143
152
  it('handles missing summary file gracefully', async () => {
144
153
  const adapter = new PiAdapter();
145
154
  await adapter.start(sessionId, '/tmp');
146
155
  const events = [];
147
- adapter.on('agentEvent', (e) => events.push(e));
156
+ adapter.on('agentEvent', (event) => events.push(event));
148
157
  await adapter.send('hi');
149
158
  await adapter.stop();
150
- expect(events.some((e) => e.state === 'final')).toBe(true);
159
+ expect(events.some((event) => event.state === 'final')).toBe(true);
160
+ expect(fs.existsSync(summaryPath)).toBe(true);
161
+ expect(fs.existsSync(snapshotPath)).toBe(true);
162
+ expect(fs.existsSync(messagesPath)).toBe(true);
151
163
  });
152
164
  it('handles corrupt summary file gracefully', async () => {
153
- fs.mkdirSync(summaryDir, { recursive: true });
165
+ fs.mkdirSync(sessionDir, { recursive: true });
154
166
  fs.writeFileSync(summaryPath, 'not json at all');
155
167
  const adapter = new PiAdapter();
156
168
  await adapter.start(sessionId, '/tmp');
157
169
  const events = [];
158
- adapter.on('agentEvent', (e) => events.push(e));
170
+ adapter.on('agentEvent', (event) => events.push(event));
159
171
  await adapter.send('hi');
160
172
  await adapter.stop();
161
- expect(events.some((e) => e.state === 'final')).toBe(true);
173
+ expect(events.some((event) => event.state === 'final')).toBe(true);
174
+ });
175
+ it('persists snapshot and message log after each completed turn', async () => {
176
+ const adapter = new PiAdapter();
177
+ await adapter.start(sessionId, '/tmp');
178
+ await adapter.send('hello');
179
+ await adapter.stop();
180
+ const snapshot = JSON.parse(fs.readFileSync(snapshotPath, 'utf-8'));
181
+ const summary = JSON.parse(fs.readFileSync(summaryPath, 'utf-8'));
182
+ const lines = fs.readFileSync(messagesPath, 'utf-8').trim().split('\n');
183
+ expect(snapshot.messages).toHaveLength(2);
184
+ expect(snapshot.messages[0].role).toBe('user');
185
+ expect(snapshot.messages[1].role).toBe('assistant');
186
+ expect(summary.summary).toContain('response');
187
+ expect(lines).toHaveLength(2);
188
+ });
189
+ it('restores local snapshot when a new adapter instance resumes the same session', async () => {
190
+ const first = new PiAdapter();
191
+ await first.start(sessionId, '/tmp');
192
+ await first.send('hello');
193
+ await first.stop();
194
+ const second = new PiAdapter();
195
+ await second.start(sessionId, '/tmp');
196
+ await second.send('继续');
197
+ expect(createdAgents).toHaveLength(2);
198
+ const secondMessages = createdAgents[1].state.messages;
199
+ expect(secondMessages).toHaveLength(4);
200
+ expect(secondMessages[0].role).toBe('user');
201
+ expect(secondMessages[0].content[0].text).toBe('hello');
202
+ expect(secondMessages[2].role).toBe('user');
203
+ expect(secondMessages[2].content[0].text).toBe('继续');
204
+ await second.stop();
162
205
  });
163
206
  });
164
207
  //# sourceMappingURL=pi-context.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pi-context.test.js","sourceRoot":"","sources":["../../../src/__tests__/pi-context.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pi-context.test.js","sourceRoot":"","sources":["../../../src/__tests__/pi-context.test.ts"],"names":[],"mappings":"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"}
@@ -10,10 +10,16 @@ export declare class PiAdapter extends AgentAdapter {
10
10
  private terminalState;
11
11
  private authToken;
12
12
  private proxyUrl;
13
+ private sessionDir;
14
+ private messagesPath;
15
+ private snapshotPath;
13
16
  private summaryPath;
14
17
  private cachedSummary;
18
+ private restoredMessages;
15
19
  private compressing;
16
20
  private lastSummaryMsgCount;
21
+ private pendingBaseMessages;
22
+ private finalizePromise;
17
23
  start(sessionId: string, workDir: string, _agentSessionId?: string | null): Promise<void>;
18
24
  send(text: string, modelId?: string): Promise<void>;
19
25
  private initAgent;
@@ -30,8 +36,13 @@ export declare class PiAdapter extends AgentAdapter {
30
36
  private compressContext;
31
37
  private splitMessages;
32
38
  private generateSummary;
39
+ private loadSnapshot;
33
40
  private loadSummary;
34
41
  private saveSummary;
42
+ private saveSnapshot;
43
+ private appendMessagesLog;
44
+ private getTurnMessages;
45
+ private finalizeTurn;
35
46
  resume(_agentSessionId: string): Promise<void>;
36
47
  stop(): Promise<void>;
37
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pi.d.ts","sourceRoot":"","sources":["../../../src/agents/pi.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,YAAY,EAAiB,MAAM,cAAc,CAAA;AAqM1D,qBAAa,SAAU,SAAQ,YAAY;IACzC,QAAQ,CAAC,IAAI,EAAG,IAAI,CAAS;IAE7B,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,GAAG,CAAI;IACf,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,aAAa,CAAqC;IAE1D,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,mBAAmB,CAAI;IAEzB,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IASzF,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkDzD,OAAO,CAAC,SAAS;IA0GjB;;;OAGG;YACW,kBAAkB;IAwBhC;;;;OAIG;YACW,eAAe;IAc7B,OAAO,CAAC,aAAa;YAaP,eAAe;IAqC7B,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,WAAW;IAcb,MAAM,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAI5B"}
1
+ {"version":3,"file":"pi.d.ts","sourceRoot":"","sources":["../../../src/agents/pi.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,YAAY,EAAiB,MAAM,cAAc,CAAA;AAgV1D,qBAAa,SAAU,SAAQ,YAAY;IACzC,QAAQ,CAAC,IAAI,EAAG,IAAI,CAAS;IAE7B,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,GAAG,CAAI;IACf,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,aAAa,CAAqC;IAE1D,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,UAAU,CAAsB;IACxC,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,gBAAgB,CAAqB;IAC7C,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,mBAAmB,CAAI;IAC/B,OAAO,CAAC,mBAAmB,CAAqB;IAChD,OAAO,CAAC,eAAe,CAAmC;IAEpD,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAazF,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsDzD,OAAO,CAAC,SAAS;IAgHjB;;;OAGG;YACW,kBAAkB;IAuBhC;;;;OAIG;YACW,eAAe;IAc7B,OAAO,CAAC,aAAa;YAaP,eAAe;IAsB7B,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,WAAW;IAqBnB,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,YAAY;IAmBpB,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,eAAe;YAKT,YAAY;IAkBpB,MAAM,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ9C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAU5B"}