shennian 0.2.54 → 0.2.56
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/src/agents/adapter.d.ts +2 -2
- package/dist/src/agents/claude.d.ts +2 -0
- package/dist/src/agents/claude.js +31 -2
- package/dist/src/agents/codex.d.ts +2 -2
- package/dist/src/agents/codex.js +29 -7
- package/dist/src/agents/config-status.d.ts +17 -0
- package/dist/src/agents/config-status.js +205 -0
- package/dist/src/agents/external-channel-instructions.js +8 -3
- package/dist/src/agents/model-registry/discovery.js +5 -2
- package/dist/src/agents/model-registry/parsers.d.ts +5 -3
- package/dist/src/agents/model-registry/parsers.js +39 -4
- package/dist/src/agents/model-registry/service.js +11 -4
- package/dist/src/agents/model-registry.d.ts +3 -1
- package/dist/src/agents/model-registry.js +3 -1
- package/dist/src/channels/reply-split.d.ts +1 -0
- package/dist/src/channels/reply-split.js +89 -0
- package/dist/src/channels/runtime.js +13 -1
- package/dist/src/commands/external.js +100 -5
- package/dist/src/manager/prompt.d.ts +1 -1
- package/dist/src/manager/prompt.js +2 -1
- package/dist/src/manager/runtime.js +53 -15
- package/dist/src/session/handlers/agent-config.d.ts +7 -0
- package/dist/src/session/handlers/agent-config.js +71 -0
- package/dist/src/session/handlers/chat.d.ts +1 -1
- package/dist/src/session/handlers/chat.js +46 -12
- package/dist/src/session/manager.js +13 -0
- package/dist/src/session/queue.js +7 -0
- package/package.json +1 -1
|
@@ -7,6 +7,7 @@ import { getRegisteredAgents, unregisterAgent } from '../agents/adapter.js';
|
|
|
7
7
|
import { loadConfig } from '../config/index.js';
|
|
8
8
|
import { handleUpgradeStart, handleUpgradeStatus } from '../commands/upgrade.js';
|
|
9
9
|
import { handleAgentsRefresh, handleModelsRefresh } from './handlers/agents.js';
|
|
10
|
+
import { handleAgentConfigClear, handleAgentConfigGet, handleAgentConfigTest, handleAgentConfigUpsert, } from './handlers/agent-config.js';
|
|
10
11
|
import { handleChatAbort, handleChatSend } from './handlers/chat.js';
|
|
11
12
|
import { cleanupPendingTransfers, handleFsLs, handleFsRead, handleFsTransfer, handleFsTransferAbort, handleFsTransferChunk, handleFsTransferFinish, handleFsTransferStart, } from './handlers/fs.js';
|
|
12
13
|
import { handleRegionProbe, handleRegionSwitch, handleUpgradeSetPolicy } from './handlers/control.js';
|
|
@@ -171,6 +172,18 @@ export class SessionManager {
|
|
|
171
172
|
case 'models.refresh':
|
|
172
173
|
await handleModelsRefresh(runtime, req);
|
|
173
174
|
break;
|
|
175
|
+
case 'agent.config.get':
|
|
176
|
+
await handleAgentConfigGet(runtime, req);
|
|
177
|
+
break;
|
|
178
|
+
case 'agent.config.upsert':
|
|
179
|
+
await handleAgentConfigUpsert(runtime, req);
|
|
180
|
+
break;
|
|
181
|
+
case 'agent.config.clear':
|
|
182
|
+
await handleAgentConfigClear(runtime, req);
|
|
183
|
+
break;
|
|
184
|
+
case 'agent.config.test':
|
|
185
|
+
await handleAgentConfigTest(runtime, req);
|
|
186
|
+
break;
|
|
174
187
|
case 'manager.channel.get':
|
|
175
188
|
case 'manager.channel.upsert':
|
|
176
189
|
await runtime.managerRuntime?.handleAppReq(req);
|
|
@@ -11,6 +11,9 @@ function emptyQueue() {
|
|
|
11
11
|
function nowIso() {
|
|
12
12
|
return new Date().toISOString();
|
|
13
13
|
}
|
|
14
|
+
function forwardedReqId(reqId) {
|
|
15
|
+
return `enqueue-send-${reqId}-${randomUUID()}`;
|
|
16
|
+
}
|
|
14
17
|
function readQueue() {
|
|
15
18
|
try {
|
|
16
19
|
const parsed = JSON.parse(fs.readFileSync(QUEUE_FILE, 'utf-8'));
|
|
@@ -38,6 +41,7 @@ function normalizeAttachments(value) {
|
|
|
38
41
|
path: typeof entry.path === 'string' ? entry.path : '',
|
|
39
42
|
name: typeof entry.name === 'string' ? entry.name : '',
|
|
40
43
|
mimeType: typeof entry.mimeType === 'string' ? entry.mimeType : '',
|
|
44
|
+
...(typeof entry.previewData === 'string' && entry.previewData.trim() ? { previewData: entry.previewData.trim() } : {}),
|
|
41
45
|
};
|
|
42
46
|
return attachment.path && attachment.name && attachment.mimeType ? attachment : null;
|
|
43
47
|
})
|
|
@@ -94,9 +98,11 @@ export class ChatQueueManager {
|
|
|
94
98
|
if (!isBusy && !(readQueue().sessions[params.sessionId]?.length)) {
|
|
95
99
|
await this.opts.dispatchReq({
|
|
96
100
|
...req,
|
|
101
|
+
id: forwardedReqId(req.id),
|
|
97
102
|
method: 'chat.send',
|
|
98
103
|
params: {
|
|
99
104
|
...params,
|
|
105
|
+
responseId: req.id,
|
|
100
106
|
clientMessageId: params.clientMessageId ?? params.queueMessageId,
|
|
101
107
|
waitForDispatch: true,
|
|
102
108
|
},
|
|
@@ -263,6 +269,7 @@ export class ChatQueueManager {
|
|
|
263
269
|
clientMessageId: message.clientMessageId ?? message.id,
|
|
264
270
|
attachments: message.attachments,
|
|
265
271
|
externalChannel: message.externalChannel,
|
|
272
|
+
waitForDispatch: true,
|
|
266
273
|
},
|
|
267
274
|
});
|
|
268
275
|
}
|