@j0hanz/cortex-mcp 1.2.0 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/engine/config.d.ts +2 -1
- package/dist/engine/config.d.ts.map +1 -1
- package/dist/engine/config.js +7 -3
- package/dist/engine/config.js.map +1 -1
- package/dist/engine/context.d.ts +4 -4
- package/dist/engine/context.d.ts.map +1 -1
- package/dist/engine/context.js +3 -0
- package/dist/engine/context.js.map +1 -1
- package/dist/engine/events.d.ts +8 -9
- package/dist/engine/events.d.ts.map +1 -1
- package/dist/engine/events.js +6 -3
- package/dist/engine/events.js.map +1 -1
- package/dist/engine/reasoner.d.ts.map +1 -1
- package/dist/engine/reasoner.js +62 -33
- package/dist/engine/reasoner.js.map +1 -1
- package/dist/engine/session-store.d.ts +12 -1
- package/dist/engine/session-store.d.ts.map +1 -1
- package/dist/engine/session-store.js +109 -78
- package/dist/engine/session-store.js.map +1 -1
- package/dist/index.js +14 -7
- package/dist/index.js.map +1 -1
- package/dist/instructions.md +13 -13
- package/dist/lib/errors.d.ts.map +1 -1
- package/dist/lib/errors.js +16 -7
- package/dist/lib/errors.js.map +1 -1
- package/dist/lib/formatting.d.ts.map +1 -1
- package/dist/lib/formatting.js +32 -24
- package/dist/lib/formatting.js.map +1 -1
- package/dist/lib/instructions.d.ts.map +1 -1
- package/dist/lib/instructions.js +20 -4
- package/dist/lib/instructions.js.map +1 -1
- package/dist/lib/text.d.ts.map +1 -1
- package/dist/lib/text.js +23 -17
- package/dist/lib/text.js.map +1 -1
- package/dist/lib/tool-response.d.ts.map +1 -1
- package/dist/lib/tool-response.js +9 -6
- package/dist/lib/tool-response.js.map +1 -1
- package/dist/lib/types.d.ts +22 -12
- package/dist/lib/types.d.ts.map +1 -1
- package/dist/lib/validators.d.ts.map +1 -1
- package/dist/lib/validators.js +12 -10
- package/dist/lib/validators.js.map +1 -1
- package/dist/prompts/index.d.ts.map +1 -1
- package/dist/prompts/index.js +49 -75
- package/dist/prompts/index.js.map +1 -1
- package/dist/resources/index.d.ts.map +1 -1
- package/dist/resources/index.js +66 -65
- package/dist/resources/index.js.map +1 -1
- package/dist/schemas/inputs.d.ts.map +1 -1
- package/dist/schemas/inputs.js +27 -48
- package/dist/schemas/inputs.js.map +1 -1
- package/dist/schemas/outputs.d.ts.map +1 -1
- package/dist/schemas/outputs.js +46 -24
- package/dist/schemas/outputs.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +69 -53
- package/dist/server.js.map +1 -1
- package/dist/tools/index.d.ts +0 -3
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +4 -4
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/reasoning-think.d.ts.map +1 -1
- package/dist/tools/reasoning-think.js +105 -77
- package/dist/tools/reasoning-think.js.map +1 -1
- package/package.json +10 -7
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
import { Buffer } from 'node:buffer';
|
|
2
2
|
import { randomUUID } from 'node:crypto';
|
|
3
|
-
import {
|
|
3
|
+
import { getLevelConfig } from './config.js';
|
|
4
4
|
import { engineEvents } from './events.js';
|
|
5
5
|
const DEFAULT_TTL_MS = 30 * 60 * 1000; // 30 minutes
|
|
6
6
|
const DEFAULT_MAX_SESSIONS = 100;
|
|
7
7
|
const DEFAULT_MAX_TOTAL_TOKENS = 500_000;
|
|
8
|
+
const TOKEN_ESTIMATE_DIVISOR = 4;
|
|
9
|
+
const MIN_SWEEP_INTERVAL_MS = 10;
|
|
10
|
+
const MAX_SWEEP_INTERVAL_MS = 60_000;
|
|
8
11
|
function estimateTokens(text) {
|
|
9
12
|
const byteLength = Buffer.byteLength(text, 'utf8');
|
|
10
|
-
return Math.max(1, Math.ceil(byteLength /
|
|
13
|
+
return Math.max(1, Math.ceil(byteLength / TOKEN_ESTIMATE_DIVISOR));
|
|
14
|
+
}
|
|
15
|
+
function resolveSweepInterval(ttlMs) {
|
|
16
|
+
return Math.max(MIN_SWEEP_INTERVAL_MS, Math.min(MAX_SWEEP_INTERVAL_MS, ttlMs));
|
|
11
17
|
}
|
|
12
18
|
export class SessionStore {
|
|
13
19
|
sessions = new Map();
|
|
@@ -24,7 +30,7 @@ export class SessionStore {
|
|
|
24
30
|
this.ttlMs = ttlMs;
|
|
25
31
|
this.maxSessions = maxSessions;
|
|
26
32
|
this.maxTotalTokens = maxTotalTokens;
|
|
27
|
-
const sweepInterval =
|
|
33
|
+
const sweepInterval = resolveSweepInterval(ttlMs);
|
|
28
34
|
this.cleanupInterval = setInterval(() => {
|
|
29
35
|
this.sweep();
|
|
30
36
|
}, sweepInterval);
|
|
@@ -32,7 +38,7 @@ export class SessionStore {
|
|
|
32
38
|
}
|
|
33
39
|
create(level, totalThoughts) {
|
|
34
40
|
this.evictIfAtCapacity();
|
|
35
|
-
const config =
|
|
41
|
+
const config = getLevelConfig(level);
|
|
36
42
|
const now = Date.now();
|
|
37
43
|
const session = {
|
|
38
44
|
id: randomUUID(),
|
|
@@ -56,10 +62,13 @@ export class SessionStore {
|
|
|
56
62
|
const session = this.sessions.get(id);
|
|
57
63
|
return session ? this.snapshotSession(session) : undefined;
|
|
58
64
|
}
|
|
65
|
+
getSummary(id) {
|
|
66
|
+
const session = this.sessions.get(id);
|
|
67
|
+
return session ? this.snapshotSessionSummary(session) : undefined;
|
|
68
|
+
}
|
|
59
69
|
list() {
|
|
60
|
-
this.sortedSessionIdsCache ??= this.buildSortedSessionIdsCache();
|
|
61
70
|
const sessions = [];
|
|
62
|
-
for (const sessionId of this.
|
|
71
|
+
for (const sessionId of this.getSessionIdsForIteration()) {
|
|
63
72
|
const session = this.sessions.get(sessionId);
|
|
64
73
|
if (session) {
|
|
65
74
|
sessions.push(this.snapshotSession(session));
|
|
@@ -67,6 +76,20 @@ export class SessionStore {
|
|
|
67
76
|
}
|
|
68
77
|
return sessions;
|
|
69
78
|
}
|
|
79
|
+
listSessionIds() {
|
|
80
|
+
this.sortedSessionIdsCache ??= this.buildSortedSessionIdsCache();
|
|
81
|
+
return [...this.sortedSessionIdsCache];
|
|
82
|
+
}
|
|
83
|
+
listSummaries() {
|
|
84
|
+
const summaries = [];
|
|
85
|
+
for (const sessionId of this.getSessionIdsForIteration()) {
|
|
86
|
+
const session = this.sessions.get(sessionId);
|
|
87
|
+
if (session) {
|
|
88
|
+
summaries.push(this.snapshotSessionSummary(session));
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
return summaries;
|
|
92
|
+
}
|
|
70
93
|
getTtlMs() {
|
|
71
94
|
return this.ttlMs;
|
|
72
95
|
}
|
|
@@ -86,8 +109,7 @@ export class SessionStore {
|
|
|
86
109
|
return false;
|
|
87
110
|
}
|
|
88
111
|
engineEvents.emit('session:deleted', { sessionId: id });
|
|
89
|
-
this.
|
|
90
|
-
this.emitSessionsResourceUpdated();
|
|
112
|
+
this.emitSessionsCollectionUpdated();
|
|
91
113
|
return true;
|
|
92
114
|
}
|
|
93
115
|
addThought(sessionId, content) {
|
|
@@ -105,10 +127,7 @@ export class SessionStore {
|
|
|
105
127
|
session.thoughts.push(thought);
|
|
106
128
|
session.tokensUsed += tokens;
|
|
107
129
|
this.totalTokens += tokens;
|
|
108
|
-
|
|
109
|
-
this.touchOrder(session.id);
|
|
110
|
-
this.sortedSessionIdsCache = null;
|
|
111
|
-
this.emitSessionResourcesUpdated(sessionId);
|
|
130
|
+
this.markSessionTouched(session);
|
|
112
131
|
return this.snapshotThought(thought);
|
|
113
132
|
}
|
|
114
133
|
reviseThought(sessionId, thoughtIndex, content) {
|
|
@@ -134,30 +153,20 @@ export class SessionStore {
|
|
|
134
153
|
session.thoughts[thoughtIndex] = revised;
|
|
135
154
|
session.tokensUsed = session.tokensUsed - oldTokens + newTokens;
|
|
136
155
|
this.totalTokens += delta;
|
|
137
|
-
|
|
138
|
-
this.touchOrder(session.id);
|
|
139
|
-
this.sortedSessionIdsCache = null;
|
|
140
|
-
this.emitSessionResourcesUpdated(sessionId);
|
|
156
|
+
this.markSessionTouched(session);
|
|
141
157
|
return this.snapshotThought(revised);
|
|
142
158
|
}
|
|
143
159
|
markCompleted(sessionId) {
|
|
144
|
-
|
|
145
|
-
if (session?.status === 'active') {
|
|
146
|
-
session.status = 'completed';
|
|
147
|
-
session.updatedAt = Date.now();
|
|
148
|
-
this.touchOrder(session.id);
|
|
149
|
-
this.sortedSessionIdsCache = null;
|
|
150
|
-
this.emitSessionResourcesUpdated(sessionId);
|
|
151
|
-
}
|
|
160
|
+
this.updateSessionStatus(sessionId, 'completed');
|
|
152
161
|
}
|
|
153
162
|
markCancelled(sessionId) {
|
|
163
|
+
this.updateSessionStatus(sessionId, 'cancelled');
|
|
164
|
+
}
|
|
165
|
+
updateSessionStatus(sessionId, status) {
|
|
154
166
|
const session = this.sessions.get(sessionId);
|
|
155
167
|
if (session?.status === 'active') {
|
|
156
|
-
session.status =
|
|
157
|
-
|
|
158
|
-
this.touchOrder(session.id);
|
|
159
|
-
this.sortedSessionIdsCache = null;
|
|
160
|
-
this.emitSessionResourcesUpdated(sessionId);
|
|
168
|
+
session.status = status;
|
|
169
|
+
this.markSessionTouched(session);
|
|
161
170
|
}
|
|
162
171
|
}
|
|
163
172
|
evictIfAtCapacity() {
|
|
@@ -166,12 +175,7 @@ export class SessionStore {
|
|
|
166
175
|
if (!oldest)
|
|
167
176
|
break;
|
|
168
177
|
this.deleteSessionInternal(oldest.id);
|
|
169
|
-
|
|
170
|
-
sessionId: oldest.id,
|
|
171
|
-
reason: 'max_sessions',
|
|
172
|
-
});
|
|
173
|
-
this.emitSessionsListChanged();
|
|
174
|
-
this.emitSessionsResourceUpdated();
|
|
178
|
+
this.emitSessionEvicted(oldest.id, 'max_sessions');
|
|
175
179
|
}
|
|
176
180
|
}
|
|
177
181
|
evictForTokenHeadroom(neededTokens, protectedSessionId) {
|
|
@@ -181,12 +185,7 @@ export class SessionStore {
|
|
|
181
185
|
if (!oldest)
|
|
182
186
|
break;
|
|
183
187
|
this.deleteSessionInternal(oldest.id);
|
|
184
|
-
|
|
185
|
-
sessionId: oldest.id,
|
|
186
|
-
reason: 'max_total_tokens',
|
|
187
|
-
});
|
|
188
|
-
this.emitSessionsListChanged();
|
|
189
|
-
this.emitSessionsResourceUpdated();
|
|
188
|
+
this.emitSessionEvicted(oldest.id, 'max_total_tokens');
|
|
190
189
|
}
|
|
191
190
|
}
|
|
192
191
|
findOldestSession(excludeId) {
|
|
@@ -201,23 +200,26 @@ export class SessionStore {
|
|
|
201
200
|
}
|
|
202
201
|
sweep() {
|
|
203
202
|
const now = Date.now();
|
|
204
|
-
const expiredSessionIds = [];
|
|
205
203
|
let changed = false;
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
if (!this.deleteSessionInternal(sessionId)) {
|
|
204
|
+
let currentId = this.oldestSessionId;
|
|
205
|
+
while (currentId) {
|
|
206
|
+
const nextId = this.sessionOrder.get(currentId)?.nextId;
|
|
207
|
+
const session = this.sessions.get(currentId);
|
|
208
|
+
if (!session) {
|
|
209
|
+
currentId = nextId;
|
|
213
210
|
continue;
|
|
214
211
|
}
|
|
215
|
-
|
|
216
|
-
|
|
212
|
+
if (session.updatedAt + this.ttlMs >= now) {
|
|
213
|
+
break;
|
|
214
|
+
}
|
|
215
|
+
if (this.deleteSessionInternal(currentId)) {
|
|
216
|
+
engineEvents.emit('session:expired', { sessionId: currentId });
|
|
217
|
+
changed = true;
|
|
218
|
+
}
|
|
219
|
+
currentId = nextId;
|
|
217
220
|
}
|
|
218
221
|
if (changed) {
|
|
219
|
-
this.
|
|
220
|
-
this.emitSessionsResourceUpdated();
|
|
222
|
+
this.emitSessionsCollectionUpdated();
|
|
221
223
|
}
|
|
222
224
|
}
|
|
223
225
|
buildSortedSessionIdsCache() {
|
|
@@ -238,10 +240,7 @@ export class SessionStore {
|
|
|
238
240
|
}
|
|
239
241
|
const node = { prevId: undefined, nextId: undefined };
|
|
240
242
|
if (this.newestSessionId) {
|
|
241
|
-
|
|
242
|
-
if (newest) {
|
|
243
|
-
newest.nextId = sessionId;
|
|
244
|
-
}
|
|
243
|
+
this.setNextId(this.newestSessionId, sessionId);
|
|
245
244
|
node.prevId = this.newestSessionId;
|
|
246
245
|
}
|
|
247
246
|
else {
|
|
@@ -261,27 +260,18 @@ export class SessionStore {
|
|
|
261
260
|
}
|
|
262
261
|
const { prevId, nextId } = node;
|
|
263
262
|
if (prevId) {
|
|
264
|
-
|
|
265
|
-
if (previous) {
|
|
266
|
-
previous.nextId = nextId;
|
|
267
|
-
}
|
|
263
|
+
this.setNextId(prevId, nextId);
|
|
268
264
|
}
|
|
269
265
|
else {
|
|
270
266
|
this.oldestSessionId = nextId;
|
|
271
267
|
}
|
|
272
268
|
if (nextId) {
|
|
273
|
-
|
|
274
|
-
if (next) {
|
|
275
|
-
next.prevId = prevId;
|
|
276
|
-
}
|
|
269
|
+
this.setPrevId(nextId, prevId);
|
|
277
270
|
}
|
|
278
271
|
node.prevId = this.newestSessionId;
|
|
279
272
|
node.nextId = undefined;
|
|
280
273
|
if (this.newestSessionId) {
|
|
281
|
-
|
|
282
|
-
if (newest) {
|
|
283
|
-
newest.nextId = sessionId;
|
|
284
|
-
}
|
|
274
|
+
this.setNextId(this.newestSessionId, sessionId);
|
|
285
275
|
}
|
|
286
276
|
else {
|
|
287
277
|
this.oldestSessionId = sessionId;
|
|
@@ -295,25 +285,31 @@ export class SessionStore {
|
|
|
295
285
|
}
|
|
296
286
|
const { prevId, nextId } = node;
|
|
297
287
|
if (prevId) {
|
|
298
|
-
|
|
299
|
-
if (previous) {
|
|
300
|
-
previous.nextId = nextId;
|
|
301
|
-
}
|
|
288
|
+
this.setNextId(prevId, nextId);
|
|
302
289
|
}
|
|
303
290
|
else {
|
|
304
291
|
this.oldestSessionId = nextId;
|
|
305
292
|
}
|
|
306
293
|
if (nextId) {
|
|
307
|
-
|
|
308
|
-
if (next) {
|
|
309
|
-
next.prevId = prevId;
|
|
310
|
-
}
|
|
294
|
+
this.setPrevId(nextId, prevId);
|
|
311
295
|
}
|
|
312
296
|
else {
|
|
313
297
|
this.newestSessionId = prevId;
|
|
314
298
|
}
|
|
315
299
|
this.sessionOrder.delete(sessionId);
|
|
316
300
|
}
|
|
301
|
+
setNextId(sessionId, nextId) {
|
|
302
|
+
const node = this.sessionOrder.get(sessionId);
|
|
303
|
+
if (node) {
|
|
304
|
+
node.nextId = nextId;
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
setPrevId(sessionId, prevId) {
|
|
308
|
+
const node = this.sessionOrder.get(sessionId);
|
|
309
|
+
if (node) {
|
|
310
|
+
node.prevId = prevId;
|
|
311
|
+
}
|
|
312
|
+
}
|
|
317
313
|
deleteSessionInternal(id) {
|
|
318
314
|
const session = this.sessions.get(id);
|
|
319
315
|
if (!session) {
|
|
@@ -325,6 +321,16 @@ export class SessionStore {
|
|
|
325
321
|
this.sortedSessionIdsCache = null;
|
|
326
322
|
return session;
|
|
327
323
|
}
|
|
324
|
+
markSessionTouched(session) {
|
|
325
|
+
session.updatedAt = Date.now();
|
|
326
|
+
this.touchOrder(session.id);
|
|
327
|
+
this.sortedSessionIdsCache = null;
|
|
328
|
+
this.emitSessionResourcesUpdated(session.id);
|
|
329
|
+
}
|
|
330
|
+
getSessionIdsForIteration() {
|
|
331
|
+
this.sortedSessionIdsCache ??= this.buildSortedSessionIdsCache();
|
|
332
|
+
return this.sortedSessionIdsCache;
|
|
333
|
+
}
|
|
328
334
|
snapshotThought(thought) {
|
|
329
335
|
return {
|
|
330
336
|
index: thought.index,
|
|
@@ -333,11 +339,25 @@ export class SessionStore {
|
|
|
333
339
|
};
|
|
334
340
|
}
|
|
335
341
|
snapshotSession(session) {
|
|
342
|
+
const thoughts = session.thoughts.map((thought) => this.snapshotThought(thought));
|
|
336
343
|
return {
|
|
337
344
|
id: session.id,
|
|
338
345
|
level: session.level,
|
|
339
346
|
status: session.status,
|
|
340
|
-
thoughts
|
|
347
|
+
thoughts,
|
|
348
|
+
totalThoughts: session.totalThoughts,
|
|
349
|
+
tokenBudget: session.tokenBudget,
|
|
350
|
+
tokensUsed: session.tokensUsed,
|
|
351
|
+
createdAt: session.createdAt,
|
|
352
|
+
updatedAt: session.updatedAt,
|
|
353
|
+
};
|
|
354
|
+
}
|
|
355
|
+
snapshotSessionSummary(session) {
|
|
356
|
+
return {
|
|
357
|
+
id: session.id,
|
|
358
|
+
level: session.level,
|
|
359
|
+
status: session.status,
|
|
360
|
+
generatedThoughts: session.thoughts.length,
|
|
341
361
|
totalThoughts: session.totalThoughts,
|
|
342
362
|
tokenBudget: session.tokenBudget,
|
|
343
363
|
tokensUsed: session.tokensUsed,
|
|
@@ -351,6 +371,17 @@ export class SessionStore {
|
|
|
351
371
|
emitSessionsResourceUpdated() {
|
|
352
372
|
engineEvents.emit('resource:updated', { uri: 'reasoning://sessions' });
|
|
353
373
|
}
|
|
374
|
+
emitSessionsCollectionUpdated() {
|
|
375
|
+
this.emitSessionsListChanged();
|
|
376
|
+
this.emitSessionsResourceUpdated();
|
|
377
|
+
}
|
|
378
|
+
emitSessionEvicted(sessionId, reason) {
|
|
379
|
+
engineEvents.emit('session:evicted', {
|
|
380
|
+
sessionId,
|
|
381
|
+
reason,
|
|
382
|
+
});
|
|
383
|
+
this.emitSessionsCollectionUpdated();
|
|
384
|
+
}
|
|
354
385
|
emitSessionResourcesUpdated(sessionId) {
|
|
355
386
|
engineEvents.emit('resource:updated', {
|
|
356
387
|
uri: `reasoning://sessions/${sessionId}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-store.js","sourceRoot":"","sources":["../../src/engine/session-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session-store.js","sourceRoot":"","sources":["../../src/engine/session-store.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
import { isMainThread, threadId } from 'node:worker_threads';
|
|
3
3
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
4
4
|
import { createServer } from './server.js';
|
|
5
|
+
const FATAL_SHUTDOWN_REASON = 'fatal error';
|
|
6
|
+
const SHUTDOWN_SIGNALS = ['SIGTERM', 'SIGINT'];
|
|
5
7
|
let activeServer;
|
|
6
8
|
let shutdownPromise;
|
|
7
9
|
function assertMainThread() {
|
|
@@ -16,6 +18,11 @@ async function main() {
|
|
|
16
18
|
const transport = new StdioServerTransport();
|
|
17
19
|
await activeServer.connect(transport);
|
|
18
20
|
}
|
|
21
|
+
function registerShutdownSignals() {
|
|
22
|
+
for (const signal of SHUTDOWN_SIGNALS) {
|
|
23
|
+
registerShutdownSignal(signal);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
19
26
|
async function shutdown(exitCode, reason) {
|
|
20
27
|
if (shutdownPromise) {
|
|
21
28
|
return shutdownPromise;
|
|
@@ -35,14 +42,14 @@ async function shutdown(exitCode, reason) {
|
|
|
35
42
|
})();
|
|
36
43
|
return shutdownPromise;
|
|
37
44
|
}
|
|
45
|
+
function registerShutdownSignal(signal) {
|
|
46
|
+
process.once(signal, () => {
|
|
47
|
+
void shutdown(0, signal);
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
registerShutdownSignals();
|
|
38
51
|
main().catch((err) => {
|
|
39
52
|
console.error('Fatal error:', err);
|
|
40
|
-
void shutdown(1,
|
|
41
|
-
});
|
|
42
|
-
process.once('SIGTERM', () => {
|
|
43
|
-
void shutdown(0, 'SIGTERM');
|
|
44
|
-
});
|
|
45
|
-
process.once('SIGINT', () => {
|
|
46
|
-
void shutdown(0, 'SIGINT');
|
|
53
|
+
void shutdown(1, FATAL_SHUTDOWN_REASON);
|
|
47
54
|
});
|
|
48
55
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEjF,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,IAAI,YAAyD,CAAC;AAC9D,IAAI,eAA0C,CAAC;AAE/C,SAAS,gBAAgB;IACvB,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO;IACT,CAAC;IACD,MAAM,IAAI,KAAK,CACb,kEAAkE,MAAM,CAAC,QAAQ,CAAC,IAAI,CACvF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,gBAAgB,EAAE,CAAC;IACnB,YAAY,GAAG,YAAY,EAAE,CAAC;IAC9B,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACxC,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,QAAgB,EAAE,MAAc;IACtD,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,eAAe,GAAG,CAAC,KAAK,IAAI,EAAE;QAC5B,IAAI,YAAY,GAAG,QAAQ,CAAC;QAE5B,IAAI,CAAC;YACH,MAAM,YAAY,EAAE,KAAK,EAAE,CAAC;QAC9B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,YAAY,GAAG,CAAC,CAAC;YACjB,OAAO,CAAC,KAAK,CAAC,qBAAqB,MAAM,IAAI,EAAE,GAAG,CAAC,CAAC;QACtD,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IAEL,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEjF,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,qBAAqB,GAAG,aAAa,CAAC;AAE5C,MAAM,gBAAgB,GAA8B,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AAE1E,IAAI,YAAyD,CAAC;AAC9D,IAAI,eAA0C,CAAC;AAE/C,SAAS,gBAAgB;IACvB,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO;IACT,CAAC;IACD,MAAM,IAAI,KAAK,CACb,kEAAkE,MAAM,CAAC,QAAQ,CAAC,IAAI,CACvF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,gBAAgB,EAAE,CAAC;IACnB,YAAY,GAAG,YAAY,EAAE,CAAC;IAC9B,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,uBAAuB;IAC9B,KAAK,MAAM,MAAM,IAAI,gBAAgB,EAAE,CAAC;QACtC,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,QAAgB,EAAE,MAAc;IACtD,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,eAAe,GAAG,CAAC,KAAK,IAAI,EAAE;QAC5B,IAAI,YAAY,GAAG,QAAQ,CAAC;QAE5B,IAAI,CAAC;YACH,MAAM,YAAY,EAAE,KAAK,EAAE,CAAC;QAC9B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,YAAY,GAAG,CAAC,CAAC;YACjB,OAAO,CAAC,KAAK,CAAC,qBAAqB,MAAM,IAAI,EAAE,GAAG,CAAC,CAAC;QACtD,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IAEL,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAsB;IACpD,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;QACxB,KAAK,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,uBAAuB,EAAE,CAAC;AAE1B,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;IAC5B,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IACnC,KAAK,QAAQ,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC"}
|
package/dist/instructions.md
CHANGED
|
@@ -8,7 +8,7 @@ These instructions are available as a resource (internal://instructions) or prom
|
|
|
8
8
|
|
|
9
9
|
- Domain: Multi-level reasoning engine that decomposes queries into structured thought chains at configurable depth levels (basic, normal, high).
|
|
10
10
|
- Primary Resources: Reasoning sessions (in-memory, 30-minute TTL), thought chains, progress notifications.
|
|
11
|
-
- Tools: `
|
|
11
|
+
- Tools: `reasoning_think` (WRITE — creates/extends sessions with LLM-authored thoughts).
|
|
12
12
|
|
|
13
13
|
---
|
|
14
14
|
|
|
@@ -40,7 +40,7 @@ These instructions are available as a resource (internal://instructions) or prom
|
|
|
40
40
|
## PROGRESS & TASKS
|
|
41
41
|
|
|
42
42
|
- Include `_meta.progressToken` in requests to receive `notifications/progress` updates during reasoning.
|
|
43
|
-
- Task-augmented tool calls are supported for `
|
|
43
|
+
- Task-augmented tool calls are supported for `reasoning_think`:
|
|
44
44
|
- `execution.taskSupport: "optional"` — invoke normally or as a task.
|
|
45
45
|
- Send `tools/call` with `task` to get a task id.
|
|
46
46
|
- Poll `tasks/get` and fetch results via `tasks/result`.
|
|
@@ -54,7 +54,7 @@ These instructions are available as a resource (internal://instructions) or prom
|
|
|
54
54
|
|
|
55
55
|
### WORKFLOW A: Sequential Reasoning (Most Common)
|
|
56
56
|
|
|
57
|
-
1. Call `
|
|
57
|
+
1. Call `reasoning_think` with `{ query: "...", level: "basic", thought: "Your detailed reasoning for step 1..." }`.
|
|
58
58
|
2. Read the response — note the `sessionId` and `remainingThoughts` fields.
|
|
59
59
|
3. **You MUST continue**: Call again with `{ sessionId: "<from response>", level: "<same level>", thought: "Your next reasoning step..." }`.
|
|
60
60
|
4. Repeat step 3 until the response shows `status: "completed"` or `remainingThoughts: 0`.
|
|
@@ -62,20 +62,20 @@ These instructions are available as a resource (internal://instructions) or prom
|
|
|
62
62
|
|
|
63
63
|
### WORKFLOW B: Multi-Turn Reasoning (Session Continuation)
|
|
64
64
|
|
|
65
|
-
1. Call `
|
|
66
|
-
2. Call `
|
|
65
|
+
1. Call `reasoning_think` with `{ query: "initial question", level: "normal", thought: "Your first reasoning step..." }` — note the returned `sessionId`.
|
|
66
|
+
2. Call `reasoning_think` with `{ sessionId: "<id>", level: "normal", thought: "Your next reasoning step..." }` (optional: add `query` for follow-up context).
|
|
67
67
|
3. Repeat until `status: "completed"` or `remainingThoughts: 0`, then read `reasoning://sessions/{sessionId}` for the full chain.
|
|
68
|
-
NOTE: The `level`
|
|
68
|
+
NOTE: The `level` parameter is optional when continuing; if provided and mismatched, the session level is used.
|
|
69
69
|
|
|
70
70
|
### WORKFLOW C: Controlled Depth Reasoning
|
|
71
71
|
|
|
72
|
-
1. Call `
|
|
72
|
+
1. Call `reasoning_think` with `{ query: "...", level: "normal", targetThoughts: 8, thought: "Your reasoning..." }` to set the session's planned step count.
|
|
73
73
|
2. Repeat calls with the returned `sessionId` and your next `thought` until `result.totalThoughts` is reached.
|
|
74
74
|
NOTE: `targetThoughts` must fall within the level range (basic: 3–5, normal: 6–10, high: 15–25). Out-of-range values return `E_INVALID_THOUGHT_COUNT`.
|
|
75
75
|
|
|
76
76
|
### WORKFLOW D: Async Task Execution
|
|
77
77
|
|
|
78
|
-
1. Call `
|
|
78
|
+
1. Call `reasoning_think` as a task (send `tools/call` with `task` field) for long-running `high`-level reasoning.
|
|
79
79
|
2. Poll `tasks/get` until status is `completed` or `failed`.
|
|
80
80
|
3. Retrieve the result via `tasks/result`.
|
|
81
81
|
4. Use `tasks/cancel` to abort if needed.
|
|
@@ -90,7 +90,7 @@ These instructions are available as a resource (internal://instructions) or prom
|
|
|
90
90
|
|
|
91
91
|
## TOOL NUANCES & GOTCHAS
|
|
92
92
|
|
|
93
|
-
`
|
|
93
|
+
`reasoning_think`
|
|
94
94
|
|
|
95
95
|
- Purpose: Generate a multi-step reasoning chain for a given query at a specified depth level.
|
|
96
96
|
- Input:
|
|
@@ -99,7 +99,7 @@ These instructions are available as a resource (internal://instructions) or prom
|
|
|
99
99
|
- `runMode` (enum: `step` | `run_to_completion`, optional): Execution mode. Defaults to `step`.
|
|
100
100
|
- `thought` (string, 1–100,000 chars, **required**): Your full reasoning content for this step. The server stores this text verbatim as the thought in the session trace. Write your complete analysis, observations, and conclusions here — this is what appears in trace.md.
|
|
101
101
|
- `thoughts` (array of string, optional): Additional thought inputs consumed in order when `runMode` is `run_to_completion`.
|
|
102
|
-
- `targetThoughts` (int, 1–25, optional): Override automatic step count. Must fit within the level range.
|
|
102
|
+
- `targetThoughts` (int, 1–25, optional): Override automatic step count. Must fit within the level's min/max range.
|
|
103
103
|
- `sessionId` (string, 1–128 chars, optional): Continue an existing session. Level must match.
|
|
104
104
|
- Output: `{ ok, result: { sessionId, level, status, thoughts[], generatedThoughts, requestedThoughts, totalThoughts, remainingThoughts, tokenBudget, tokensUsed, ttlMs, expiresAt, createdAt, updatedAt, summary } }`
|
|
105
105
|
- Side effects: Creates or modifies an in-memory session. Sessions expire after 30 minutes of inactivity.
|
|
@@ -117,9 +117,9 @@ These instructions are available as a resource (internal://instructions) or prom
|
|
|
117
117
|
|
|
118
118
|
## CROSS-FEATURE RELATIONSHIPS
|
|
119
119
|
|
|
120
|
-
- Use `reasoning.basic` / `reasoning.normal` / `reasoning.high` prompts to construct a correctly parameterized `
|
|
120
|
+
- Use `reasoning.basic` / `reasoning.normal` / `reasoning.high` prompts to construct a correctly parameterized `reasoning_think` call.
|
|
121
121
|
- Use `reasoning.continue` prompt to construct a session-continuation call — it enforces `sessionId` and `level` pairing.
|
|
122
|
-
- After calling `
|
|
122
|
+
- After calling `reasoning_think`, read `reasoning://sessions/{sessionId}` to retrieve the full session state including all accumulated thoughts.
|
|
123
123
|
- Use `reasoning://sessions` to discover active sessions before attempting continuation — avoids `E_SESSION_NOT_FOUND`.
|
|
124
124
|
|
|
125
125
|
---
|
|
@@ -140,9 +140,9 @@ These instructions are available as a resource (internal://instructions) or prom
|
|
|
140
140
|
## ERROR HANDLING STRATEGY
|
|
141
141
|
|
|
142
142
|
- `E_SESSION_NOT_FOUND`: Session expired or never existed. Call `reasoning://sessions` to list active sessions, or start a new session without `sessionId`.
|
|
143
|
-
- `E_SESSION_LEVEL_MISMATCH`: Requested level differs from the existing session. Use the same level as the original session, or start a new session.
|
|
144
143
|
- `E_INVALID_THOUGHT_COUNT`: `targetThoughts` is outside the level range. Check ranges: basic (3–5), normal (6–10), high (15–25).
|
|
145
144
|
- `E_INSUFFICIENT_THOUGHTS`: In `run_to_completion`, the request did not provide enough thought inputs for planned remaining steps.
|
|
146
145
|
- `E_INVALID_RUN_MODE_ARGS`: Invalid `runMode` argument combination (for example, missing `targetThoughts` when starting a new run-to-completion session).
|
|
147
146
|
- `E_ABORTED`: Reasoning was cancelled via abort signal or task cancellation. Retry with a new request if needed.
|
|
147
|
+
- `E_SERVER_BUSY`: Too many concurrent task-mode reasoning calls (default cap: 32). Retry after a short delay, or use normal (non-task) invocation.
|
|
148
148
|
- `E_REASONING`: Unexpected engine error. Check the error `message` field for details and retry.
|
package/dist/lib/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"AAQA,UAAU,aAAa;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC1C,iBAAiB,EAAE;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;IAC3E,OAAO,EAAE,IAAI,CAAC;CACf;AAuBD,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAetD;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd,aAAa,CAQf"}
|
package/dist/lib/errors.js
CHANGED
|
@@ -3,6 +3,10 @@ const INSPECT_OPTIONS = {
|
|
|
3
3
|
depth: 3,
|
|
4
4
|
breakLength: 120,
|
|
5
5
|
};
|
|
6
|
+
const UNKNOWN_ERROR_MESSAGE = 'Unknown error';
|
|
7
|
+
function isRecord(value) {
|
|
8
|
+
return typeof value === 'object' && value !== null;
|
|
9
|
+
}
|
|
6
10
|
function stringifyUnknown(value) {
|
|
7
11
|
try {
|
|
8
12
|
return JSON.stringify(value);
|
|
@@ -12,6 +16,12 @@ function stringifyUnknown(value) {
|
|
|
12
16
|
}
|
|
13
17
|
return inspect(value, INSPECT_OPTIONS);
|
|
14
18
|
}
|
|
19
|
+
function getMessageFromErrorLike(value) {
|
|
20
|
+
if (!isRecord(value)) {
|
|
21
|
+
return undefined;
|
|
22
|
+
}
|
|
23
|
+
return typeof value.message === 'string' ? value.message : undefined;
|
|
24
|
+
}
|
|
15
25
|
export function getErrorMessage(error) {
|
|
16
26
|
if (typeof error === 'string') {
|
|
17
27
|
return error;
|
|
@@ -20,20 +30,19 @@ export function getErrorMessage(error) {
|
|
|
20
30
|
return error.message;
|
|
21
31
|
}
|
|
22
32
|
if (error === null || error === undefined) {
|
|
23
|
-
return
|
|
33
|
+
return UNKNOWN_ERROR_MESSAGE;
|
|
24
34
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
return maybeError.message;
|
|
29
|
-
}
|
|
35
|
+
const errorLikeMessage = getMessageFromErrorLike(error);
|
|
36
|
+
if (errorLikeMessage !== undefined) {
|
|
37
|
+
return errorLikeMessage;
|
|
30
38
|
}
|
|
31
39
|
return stringifyUnknown(error);
|
|
32
40
|
}
|
|
33
41
|
export function createErrorResponse(code, message) {
|
|
34
42
|
const structured = { ok: false, error: { code, message } };
|
|
43
|
+
const text = JSON.stringify(structured);
|
|
35
44
|
return {
|
|
36
|
-
content: [{ type: 'text', text
|
|
45
|
+
content: [{ type: 'text', text }],
|
|
37
46
|
structuredContent: structured,
|
|
38
47
|
isError: true,
|
|
39
48
|
};
|
package/dist/lib/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,eAAe,GAAG;IACtB,KAAK,EAAE,CAAC;IACR,WAAW,EAAE,GAAG;CACR,CAAC;
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,eAAe,GAAG;IACtB,KAAK,EAAE,CAAC;IACR,WAAW,EAAE,GAAG;CACR,CAAC;AACX,MAAM,qBAAqB,GAAG,eAAe,CAAC;AAS9C,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACrD,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,+CAA+C;IACjD,CAAC;IACD,OAAO,OAAO,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAc;IAC7C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,OAAO,CAAC;IACvB,CAAC;IACD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,qBAAqB,CAAC;IAC/B,CAAC;IACD,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IACxD,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;QACnC,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IACD,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,IAAY,EACZ,OAAe;IAEf,MAAM,UAAU,GAAG,EAAE,EAAE,EAAE,KAAc,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC;IACpE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACxC,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC;QAC1C,iBAAiB,EAAE,UAAU;QAC7B,OAAO,EAAE,IAAa;KACvB,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatting.d.ts","sourceRoot":"","sources":["../../src/lib/formatting.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAMnD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;
|
|
1
|
+
{"version":3,"file":"formatting.d.ts","sourceRoot":"","sources":["../../src/lib/formatting.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAMnD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAWD;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,SAAS,OAAO,EAAE,GAC3B,SAAS,aAAa,EAAE,CAwC1B;AAiDD;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,EAC1B,KAAK,CAAC,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACrC,MAAM,CA+BR"}
|