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)}`),
|
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)}`),
|
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.
|
// - disableBlockStreaming: Fabric has no length limit, deliver the
|
||||||
replyOptions: { disableBlockStreaming: true },
|
// 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}`);
|
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)}`),
|
this.log.warn(`fabric: session record failed agent=${agentId}: ${String(err)}`),
|
||||||
onDispatchError: (err: unknown, info: { kind: string }) =>
|
onDispatchError: (err: unknown, info: { kind: string }) =>
|
||||||
this.log.warn(`fabric: ${info.kind} dispatch failed agent=${agentId}: ${String(err)}`),
|
this.log.warn(`fabric: ${info.kind} dispatch failed agent=${agentId}: ${String(err)}`),
|
||||||
// Fabric has no length limit: deliver the whole reply as ONE message.
|
// - disableBlockStreaming: Fabric has no length limit, deliver the
|
||||||
replyOptions: { disableBlockStreaming: true } as never,
|
// 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}`);
|
this.log.info(`fabric: dispatch returned agent=${agentId} channel=${channelId}`);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
|
|||||||
Reference in New Issue
Block a user