Compare commits
1 Commits
d79a04b8a3
...
fc7efd0227
| Author | SHA1 | Date | |
|---|---|---|---|
| fc7efd0227 |
17
dist/fabric/src/inbound.js
vendored
17
dist/fabric/src/inbound.js
vendored
@@ -233,8 +233,21 @@ export class FabricInbound {
|
||||
},
|
||||
onRecordError: (err) => this.log.warn(`fabric: session record failed agent=${agentId}: ${String(err)}`),
|
||||
onDispatchError: (err, info) => this.log.warn(`fabric: ${info.kind} dispatch failed agent=${agentId}: ${String(err)}`),
|
||||
// Fabric has no length limit: deliver the whole reply as ONE message.
|
||||
replyOptions: { disableBlockStreaming: true },
|
||||
// - disableBlockStreaming: Fabric has no length limit, deliver the
|
||||
// whole reply as ONE message.
|
||||
// - sourceReplyDeliveryMode 'automatic': OpenClaw defaults group
|
||||
// chats to "message_tool_only", which SUPPRESSES auto-delivery of
|
||||
// the agent's text reply (it expects the agent to call a message
|
||||
// tool). Fabric already gates *when* an agent speaks via the
|
||||
// per-recipient wakeup flag, so once a turn is dispatched the
|
||||
// reply must always flow back through `deliver`. Forcing
|
||||
// 'automatic' overrides the group default so the reply is
|
||||
// delivered. (source-reply-delivery-mode: a truthy `requested`
|
||||
// wins unless it's message_tool_only with no tool available.)
|
||||
replyOptions: {
|
||||
disableBlockStreaming: true,
|
||||
sourceReplyDeliveryMode: 'automatic',
|
||||
},
|
||||
});
|
||||
this.log.info(`fabric: dispatch returned agent=${agentId} channel=${channelId}`);
|
||||
}
|
||||
|
||||
@@ -279,8 +279,21 @@ export class FabricInbound {
|
||||
this.log.warn(`fabric: session record failed agent=${agentId}: ${String(err)}`),
|
||||
onDispatchError: (err: unknown, info: { kind: string }) =>
|
||||
this.log.warn(`fabric: ${info.kind} dispatch failed agent=${agentId}: ${String(err)}`),
|
||||
// Fabric has no length limit: deliver the whole reply as ONE message.
|
||||
replyOptions: { disableBlockStreaming: true } as never,
|
||||
// - disableBlockStreaming: Fabric has no length limit, deliver the
|
||||
// whole reply as ONE message.
|
||||
// - sourceReplyDeliveryMode 'automatic': OpenClaw defaults group
|
||||
// chats to "message_tool_only", which SUPPRESSES auto-delivery of
|
||||
// the agent's text reply (it expects the agent to call a message
|
||||
// tool). Fabric already gates *when* an agent speaks via the
|
||||
// per-recipient wakeup flag, so once a turn is dispatched the
|
||||
// reply must always flow back through `deliver`. Forcing
|
||||
// 'automatic' overrides the group default so the reply is
|
||||
// delivered. (source-reply-delivery-mode: a truthy `requested`
|
||||
// wins unless it's message_tool_only with no tool available.)
|
||||
replyOptions: {
|
||||
disableBlockStreaming: true,
|
||||
sourceReplyDeliveryMode: 'automatic',
|
||||
} as never,
|
||||
});
|
||||
this.log.info(`fabric: dispatch returned agent=${agentId} channel=${channelId}`);
|
||||
} catch (err) {
|
||||
|
||||
Reference in New Issue
Block a user