@zhin.js/agent 1.1.33 → 1.1.35
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 +16 -0
- package/lib/config/agent-interfaces.d.ts +4 -3
- package/lib/config/agent-interfaces.d.ts.map +1 -1
- package/lib/config/agent-interfaces.js +0 -6
- package/lib/config/agent-interfaces.js.map +1 -1
- package/lib/config/zhin-agent-config.d.ts +2 -2
- package/lib/config/zhin-agent-defaults.js +1 -1
- package/lib/config/zhin-agent-defaults.js.map +1 -1
- package/lib/core/agent-core-run.d.ts +3 -0
- package/lib/core/agent-core-run.d.ts.map +1 -1
- package/lib/core/agent-core-run.js +86 -26
- package/lib/core/agent-core-run.js.map +1 -1
- package/lib/core/exhausted-turn-reply.d.ts +1 -0
- package/lib/core/exhausted-turn-reply.d.ts.map +1 -1
- package/lib/core/exhausted-turn-reply.js +4 -4
- package/lib/core/exhausted-turn-reply.js.map +1 -1
- package/lib/core/structured-reply-recovery.d.ts +15 -0
- package/lib/core/structured-reply-recovery.d.ts.map +1 -0
- package/lib/core/structured-reply-recovery.js +37 -0
- package/lib/core/structured-reply-recovery.js.map +1 -0
- package/lib/event/turn-event.d.ts +3 -2
- package/lib/event/turn-event.d.ts.map +1 -1
- package/lib/event/turn-event.js.map +1 -1
- package/lib/event/turn-to-agent-stream.d.ts.map +1 -1
- package/lib/event/turn-to-agent-stream.js +2 -11
- package/lib/event/turn-to-agent-stream.js.map +1 -1
- package/lib/index.d.ts +2 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/internal/agent-host.d.ts +3 -2
- package/lib/internal/agent-host.d.ts.map +1 -1
- package/lib/media/deliver-subagent-result.d.ts +2 -6
- package/lib/media/deliver-subagent-result.d.ts.map +1 -1
- package/lib/media/deliver-subagent-result.js.map +1 -1
- package/lib/media/media-publisher.d.ts +2 -2
- package/lib/media/media-publisher.d.ts.map +1 -1
- package/lib/media/media-publisher.js +26 -1
- package/lib/media/media-publisher.js.map +1 -1
- package/lib/media/media-tool-bridge.d.ts +3 -3
- package/lib/media/media-tool-bridge.d.ts.map +1 -1
- package/lib/media/media-tool-bridge.js.map +1 -1
- package/lib/outbound/agent-output.d.ts +10 -0
- package/lib/outbound/agent-output.d.ts.map +1 -0
- package/lib/outbound/agent-output.js +16 -0
- package/lib/outbound/agent-output.js.map +1 -0
- package/lib/outbound/send-proactive.d.ts +2 -2
- package/lib/outbound/send-proactive.d.ts.map +1 -1
- package/lib/outbound/structured-reply.d.ts +5 -0
- package/lib/outbound/structured-reply.d.ts.map +1 -0
- package/lib/outbound/structured-reply.js +32 -0
- package/lib/outbound/structured-reply.js.map +1 -0
- package/lib/schedule-domain/execution-domain.d.ts.map +1 -1
- package/lib/schedule-domain/execution-domain.js +3 -0
- package/lib/schedule-domain/execution-domain.js.map +1 -1
- package/lib/security/outbound-leak-guard.d.ts +3 -3
- package/lib/security/outbound-leak-guard.d.ts.map +1 -1
- package/lib/security/outbound-leak-guard.js +21 -0
- package/lib/security/outbound-leak-guard.js.map +1 -1
- package/lib/subagent/subagent-runtime.d.ts +1 -1
- package/lib/subagent/subagent-runtime.d.ts.map +1 -1
- package/lib/turn/deferred-delivery.d.ts +2 -2
- package/lib/turn/deferred-delivery.d.ts.map +1 -1
- package/lib/turn/deferred-delivery.js.map +1 -1
- package/lib/turn/prompt-api.d.ts +3 -2
- package/lib/turn/prompt-api.d.ts.map +1 -1
- package/lib/turn/prompt-api.js.map +1 -1
- package/lib/turn/turn-complete.d.ts +3 -3
- package/lib/turn/turn-complete.d.ts.map +1 -1
- package/lib/turn/turn-complete.js +1 -1
- package/lib/turn/turn-complete.js.map +1 -1
- package/lib/turn/turn-event-source.d.ts +2 -2
- package/lib/turn/turn-event-source.d.ts.map +1 -1
- package/lib/turn/turn-event-source.js.map +1 -1
- package/lib/turn/turn-ingress.d.ts +5 -4
- package/lib/turn/turn-ingress.d.ts.map +1 -1
- package/lib/turn/turn-ingress.js.map +1 -1
- package/lib/turn/turn-metrics.d.ts +4 -3
- package/lib/turn/turn-metrics.d.ts.map +1 -1
- package/lib/turn/turn-metrics.js +4 -1
- package/lib/turn/turn-metrics.js.map +1 -1
- package/lib/turn/turn-pipeline.d.ts +2 -2
- package/lib/turn/turn-pipeline.d.ts.map +1 -1
- package/lib/zhin-agent/index.d.ts +5 -4
- package/lib/zhin-agent/index.d.ts.map +1 -1
- package/lib/zhin-agent/index.js.map +1 -1
- package/package.json +5 -4
package/README.md
CHANGED
|
@@ -536,3 +536,19 @@ pnpm clean # 清理 lib
|
|
|
536
536
|
## 许可证
|
|
537
537
|
|
|
538
538
|
MIT License
|
|
539
|
+
|
|
540
|
+
## Structured IM replies
|
|
541
|
+
|
|
542
|
+
IM conversations default to schema-constrained `{ "segments": [...] }` final
|
|
543
|
+
answers, composing text, Markdown, mentions, images and other media in order. Agent validates the complete object once and
|
|
544
|
+
carries an `AgentOutputElement` (`type: 'message'`, canonical `segments`) through
|
|
545
|
+
the terminal journal, reply port and media publisher. The AI package's generic
|
|
546
|
+
`OutputElement` contract remains transport-neutral. Tools and host notices can
|
|
547
|
+
still produce generic output elements.
|
|
548
|
+
|
|
549
|
+
Mention targets are platform user IDs from the conversation or member lookup
|
|
550
|
+
tools. The schema does not verify membership or resolve ambiguous nicknames.
|
|
551
|
+
Detached and non-IM turns do not inherit the IM preset; an explicit custom schema
|
|
552
|
+
belongs to its caller. See [结构化回复](../../../docs/ai/structured-replies.md) for
|
|
553
|
+
validation, provider requirements, failure behavior and the delivery boundary
|
|
554
|
+
([English](../../../docs/en/ai/structured-replies.md)).
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
import type { AgentOutputElement } from '../outbound/agent-output.js';
|
|
1
2
|
/**
|
|
2
3
|
* ZhinAgent 公共 API 接口定义
|
|
3
4
|
*
|
|
4
5
|
* 按职责拆分为 4 个接口,便于测试 mock 和依赖注入。
|
|
5
6
|
* ZhinAgent 类实现所有接口;外部消费方按需使用具体接口而非完整类。
|
|
6
7
|
*/
|
|
7
|
-
import type { AgentMessage, AgentEvent, MediaContentBlock
|
|
8
|
+
import type { AgentMessage, AgentEvent, MediaContentBlock } from '@zhin.js/ai';
|
|
8
9
|
import type { Message, Tool } from '../resource-hub/types.js';
|
|
9
10
|
import type { SubagentSystem } from '../subagent/index.js';
|
|
10
11
|
import type { ZhinAgentEventEmitter } from '../event/event-emitter.js';
|
|
@@ -14,11 +15,11 @@ import type { OnChunkCallback } from './zhin-agent-config.js';
|
|
|
14
15
|
* Turn 处理 —— 核心 AI 交互入口
|
|
15
16
|
*/
|
|
16
17
|
export interface IAgentTurnProcessor {
|
|
17
|
-
process(content: string, commMessage: Message, externalTools?: Tool[], onChunk?: OnChunkCallback): Promise<
|
|
18
|
+
process(content: string, commMessage: Message, externalTools?: Tool[], onChunk?: OnChunkCallback): Promise<AgentOutputElement[]>;
|
|
18
19
|
prompt(input: string | AgentMessage | AgentMessage[], commMessage: Message, options?: {
|
|
19
20
|
media?: MediaContentBlock[];
|
|
20
21
|
onChunk?: OnChunkCallback;
|
|
21
|
-
}): Promise<
|
|
22
|
+
}): Promise<AgentOutputElement[]>;
|
|
22
23
|
steer(message: AgentMessage, commMessage: Message): void;
|
|
23
24
|
followUp(message: AgentMessage, commMessage: Message): void;
|
|
24
25
|
subscribe(listener: (event: AgentEvent, signal: AbortSignal) => void | Promise<void>): () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-interfaces.d.ts","sourceRoot":"","sources":["../../src/config/agent-interfaces.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"agent-interfaces.d.ts","sourceRoot":"","sources":["../../src/config/agent-interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACtE;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC/E,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAI9D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,OAAO,CACL,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,OAAO,EACpB,aAAa,CAAC,EAAE,IAAI,EAAE,EACtB,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAEjC,MAAM,CACJ,KAAK,EAAE,MAAM,GAAG,YAAY,GAAG,YAAY,EAAE,EAC7C,WAAW,EAAE,OAAO,EACpB,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,iBAAiB,EAAE,CAAC;QAAC,OAAO,CAAC,EAAE,eAAe,CAAA;KAAE,GACnE,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAEjC,KAAK,CAAC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,GAAG,IAAI,CAAC;IACzD,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,GAAG,IAAI,CAAC;IAC5D,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,CAAC;IAClG,KAAK,IAAI,IAAI,CAAC;IACd,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,YAAY,IAAI,OAAO,CAAC;IACxB,kBAAkB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9C,kBAAkB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/C;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9E,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACrD,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3C,kBAAkB,IAAI,oBAAoB,GAAG,IAAI,CAAC;IAClD,yBAAyB,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI,CAAC;CAC7C;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,iBAAiB,IAAI,cAAc,GAAG,IAAI,CAAC;IAC3C,eAAe,IAAI,qBAAqB,CAAC;IACzC,kBAAkB,IAAI,oBAAoB,GAAG,IAAI,CAAC;CACnD;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,8BAA8B,EAAE,qBAAqB,CAAC,GAAG,IAAI,CAAC;CAC9F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-interfaces.js","sourceRoot":"","sources":["../../src/config/agent-interfaces.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"agent-interfaces.js","sourceRoot":"","sources":["../../src/config/agent-interfaces.ts"],"names":[],"mappings":""}
|
|
@@ -122,8 +122,8 @@ export interface ZhinAgentConfig {
|
|
|
122
122
|
workerBaseTools?: string[];
|
|
123
123
|
/**
|
|
124
124
|
* AI 结构化输出(AI SDK Output.object):
|
|
125
|
-
* - false
|
|
126
|
-
* - true | 'segments'
|
|
125
|
+
* - false:显式使用纯文本回复;
|
|
126
|
+
* - 缺省 | true | 'segments':IM 会话最终回复为 { segments: [...] };隔离/非 IM 调用不应用此预设;
|
|
127
127
|
* - 对象:自定义 JSON Schema 原样透传给模型。
|
|
128
128
|
*/
|
|
129
129
|
outputSchema?: boolean | 'segments' | Record<string, unknown>;
|
|
@@ -57,7 +57,7 @@ export const DEFAULT_CONFIG = {
|
|
|
57
57
|
followUpMode: DEFAULT_FOLLOW_UP_MODE,
|
|
58
58
|
deferredAutoContinue: false,
|
|
59
59
|
deferredAutoContinueMaxDepth: 8,
|
|
60
|
-
outputSchema:
|
|
60
|
+
outputSchema: 'segments',
|
|
61
61
|
gitStatus: true,
|
|
62
62
|
contextPaths: [],
|
|
63
63
|
systemPromptMaxChars: 100_000,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zhin-agent-defaults.js","sourceRoot":"","sources":["../../src/config/zhin-agent-defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpG,OAAO,EAAE,kCAAkC,EAAE,MAAM,kCAAkC,CAAC;AACtF,OAAO,EAEL,6BAA6B,GAC9B,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,OAAO,EAAE,4LAA4L;IACrM,aAAa,EAAE,EAAE;IACjB,OAAO,EAAE,OAAO;IAChB,cAAc,EAAE,MAAM;IACtB,QAAQ,EAAE,EAAE;IACZ,uBAAuB,EAAE,kCAAkC;IAC3D,SAAS,EAAE,EAAE;IACb,aAAa,EAAE,IAAI;IACnB,SAAS,EAAE,EAAE;IACb,WAAW,EAAE,EAAE;IACf,aAAa,EAAE,sBAAsB;IACrC,eAAe,EAAE,GAAG;IACpB,UAAU,EAAE;QACV,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,IAAI;QACV,gBAAgB,EAAE,MAAM;QACxB,YAAY,EAAE,CAAC;KAChB;IACD,aAAa,EAAE,EAAE;IACjB,YAAY,EAAE,EAAE;IAChB,YAAY,EAAE,MAAM;IACpB,UAAU,EAAE,QAAQ;IACpB,aAAa,EAAE,EAAE;IACjB,gBAAgB,EAAE,MAAM;IACxB,wBAAwB,EAAE,MAAM;IAChC,oBAAoB,EAAE,CAAC;IACvB,aAAa,EAAE,QAAQ;IACvB,oBAAoB,EAAE,IAAI;IAC1B,wBAAwB,EAAE,KAAK;IAC/B,sBAAsB,EAAE,MAAM;IAC9B,qBAAqB,EAAE,EAAE;IACzB,gBAAgB,EAAE,KAAK;IACvB,UAAU,EAAE,EAAE,GAAG,mBAAmB,EAAE;IACtC,cAAc,EAAE,EAAE,GAAG,uBAAuB,EAAE,kBAAkB,EAAE,EAAE,EAAE;IACtE,UAAU,EAAE,EAAE,GAAG,mBAAmB,EAAE;IACtC,aAAa,EAAE,EAAE;IACjB,kBAAkB,EAAE,OAAO;IAC3B,aAAa,EAAE,EAAE;IACjB,wBAAwB,EAAE,CAAC;IAC3B,YAAY,EAAE,EAAE;IAChB,UAAU,EAAE,KAAK;IACjB,YAAY,EAAE,GAAG,EAAE,GAAE,CAAC;IACtB,kBAAkB,EAAE,KAAK;IACzB,oBAAoB,EAAE,WAAW;IACjC,oBAAoB,EAAE,MAAM;IAC5B,aAAa,EAAE,EAAE,GAAG,6BAA6B,EAAE;IACnD,eAAe,EAAE,CAAC,GAAG,yBAAyB,CAAC;IAC/C,YAAY,EAAE,qBAAqB;IACnC,YAAY,EAAE,sBAAsB;IACpC,oBAAoB,EAAE,KAAK;IAC3B,4BAA4B,EAAE,CAAC;IAC/B,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"zhin-agent-defaults.js","sourceRoot":"","sources":["../../src/config/zhin-agent-defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpG,OAAO,EAAE,kCAAkC,EAAE,MAAM,kCAAkC,CAAC;AACtF,OAAO,EAEL,6BAA6B,GAC9B,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,OAAO,EAAE,4LAA4L;IACrM,aAAa,EAAE,EAAE;IACjB,OAAO,EAAE,OAAO;IAChB,cAAc,EAAE,MAAM;IACtB,QAAQ,EAAE,EAAE;IACZ,uBAAuB,EAAE,kCAAkC;IAC3D,SAAS,EAAE,EAAE;IACb,aAAa,EAAE,IAAI;IACnB,SAAS,EAAE,EAAE;IACb,WAAW,EAAE,EAAE;IACf,aAAa,EAAE,sBAAsB;IACrC,eAAe,EAAE,GAAG;IACpB,UAAU,EAAE;QACV,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,IAAI;QACV,gBAAgB,EAAE,MAAM;QACxB,YAAY,EAAE,CAAC;KAChB;IACD,aAAa,EAAE,EAAE;IACjB,YAAY,EAAE,EAAE;IAChB,YAAY,EAAE,MAAM;IACpB,UAAU,EAAE,QAAQ;IACpB,aAAa,EAAE,EAAE;IACjB,gBAAgB,EAAE,MAAM;IACxB,wBAAwB,EAAE,MAAM;IAChC,oBAAoB,EAAE,CAAC;IACvB,aAAa,EAAE,QAAQ;IACvB,oBAAoB,EAAE,IAAI;IAC1B,wBAAwB,EAAE,KAAK;IAC/B,sBAAsB,EAAE,MAAM;IAC9B,qBAAqB,EAAE,EAAE;IACzB,gBAAgB,EAAE,KAAK;IACvB,UAAU,EAAE,EAAE,GAAG,mBAAmB,EAAE;IACtC,cAAc,EAAE,EAAE,GAAG,uBAAuB,EAAE,kBAAkB,EAAE,EAAE,EAAE;IACtE,UAAU,EAAE,EAAE,GAAG,mBAAmB,EAAE;IACtC,aAAa,EAAE,EAAE;IACjB,kBAAkB,EAAE,OAAO;IAC3B,aAAa,EAAE,EAAE;IACjB,wBAAwB,EAAE,CAAC;IAC3B,YAAY,EAAE,EAAE;IAChB,UAAU,EAAE,KAAK;IACjB,YAAY,EAAE,GAAG,EAAE,GAAE,CAAC;IACtB,kBAAkB,EAAE,KAAK;IACzB,oBAAoB,EAAE,WAAW;IACjC,oBAAoB,EAAE,MAAM;IAC5B,aAAa,EAAE,EAAE,GAAG,6BAA6B,EAAE;IACnD,eAAe,EAAE,CAAC,GAAG,yBAAyB,CAAC;IAC/C,YAAY,EAAE,qBAAqB;IACnC,YAAY,EAAE,sBAAsB;IACpC,oBAAoB,EAAE,KAAK;IAC3B,4BAA4B,EAAE,CAAC;IAC/B,YAAY,EAAE,UAAU;IACxB,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,EAAE;IAChB,oBAAoB,EAAE,OAAO;IAC7B,eAAe,EAAE,KAAK;IACtB,wBAAwB,EAAE,GAAG;IAC7B,QAAQ,EAAE;QACR,MAAM,EAAE;YACN,SAAS,EAAE,MAAM;YACjB,YAAY,EAAE,EAAE;YAChB,SAAS,EAAE,OAAO;SACnB;QACD,QAAQ,EAAE;YACR,UAAU,EAAE,UAAU;YACtB,cAAc,EAAE,EAAE;SACnB;KACF;CACsC,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* agentLoop turn runner (ADR 0009) — used when ContextRepository is wired.
|
|
3
3
|
*/
|
|
4
|
+
import { type AgentOutputElement } from '../outbound/agent-output.js';
|
|
4
5
|
import { type AgentTool, type Usage, type AgentMessage, type ModelInputModality } from '@zhin.js/ai';
|
|
5
6
|
import type { AgentRunJournal } from '@zhin.js/ai/agent-stream';
|
|
6
7
|
import { type ToolCallRecord } from './tool-calls-user-format.js';
|
|
@@ -80,6 +81,8 @@ export interface AgentLoopTurnInput {
|
|
|
80
81
|
}
|
|
81
82
|
export interface AgentLoopTurnResult {
|
|
82
83
|
reply: string;
|
|
84
|
+
/** Validated final output, shared by terminal journal and delivery. */
|
|
85
|
+
output?: AgentOutputElement[];
|
|
83
86
|
usage: Usage;
|
|
84
87
|
path: 'chat' | 'agent' | 'multimodal';
|
|
85
88
|
iterations: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-core-run.d.ts","sourceRoot":"","sources":["../../src/core/agent-core-run.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,KAAK,EAAuF,KAAK,YAAY,EAA4H,KAAK,kBAAkB,EAA6H,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-core-run.d.ts","sourceRoot":"","sources":["../../src/core/agent-core-run.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* agentLoop turn runner (ADR 0009) — used when ContextRepository is wired.
|
|
3
3
|
*/
|
|
4
|
-
import { aiOutboundJsonSchema
|
|
4
|
+
import { aiOutboundJsonSchema } from '@zhin.js/core';
|
|
5
|
+
import { decodeStructuredReply, STRUCTURED_REPLY_INSTRUCTION } from '../outbound/structured-reply.js';
|
|
6
|
+
import { renderAgentOutput } from '../outbound/agent-output.js';
|
|
7
|
+
import { mergeToolOutboundElements } from '../media/media-tool-bridge.js';
|
|
5
8
|
import { formatCompact, truncatePreview, getLogger } from '@zhin.js/logger';
|
|
6
|
-
import { agentLoop, agentContextFrom, assistantText, createUserMessage, agentToolsToLlmTools, createResilientCompletionPort, isProviderFailureMessage, resolveProviderConfigResilience, resolveProviderResilienceConfig } from '@zhin.js/ai';
|
|
9
|
+
import { parseOutput, agentLoop, agentContextFrom, assistantText, createUserMessage, agentToolsToLlmTools, createResilientCompletionPort, isProviderFailureMessage, resolveProviderConfigResilience, resolveProviderResilienceConfig } from '@zhin.js/ai';
|
|
7
10
|
import { tokenUsageToLegacy } from './agent-run-shared.js';
|
|
8
11
|
import { applyExecPolicyToTools } from '../security/exec-policy.js';
|
|
9
12
|
import { resolveModelHarness } from '../config/model-harness-runtime.js';
|
|
@@ -13,6 +16,7 @@ import { planToolRun } from '../tool/runtime.js';
|
|
|
13
16
|
import { sanitizeAssistantReply, unwrapJsonStringLayers } from './text-sanitize.js';
|
|
14
17
|
import { formatToolCallsForUser } from './tool-calls-user-format.js';
|
|
15
18
|
import { summarizeExhaustedTurn } from './exhausted-turn-reply.js';
|
|
19
|
+
import { recoverStructuredReply } from './structured-reply-recovery.js';
|
|
16
20
|
import { shouldSuppressReplyForSpawnDelegation } from './spawn-delegation.js';
|
|
17
21
|
import { logPhase, tokenUsageLogFields, logAgentLoopIterationEnd } from '../internal/phase-trace.js';
|
|
18
22
|
import { buildAgentPromptCacheStreamOptions } from '../config/index.js';
|
|
@@ -333,7 +337,15 @@ export async function* runAgentLoopTextTurnRun(input) {
|
|
|
333
337
|
? await planToolRun(resolvedTools, host.config.preExecTimeout)
|
|
334
338
|
: { mode: 'agent', preExecution: { tools: [], data: '' } };
|
|
335
339
|
const preData = toolRun.preExecution.data;
|
|
336
|
-
|
|
340
|
+
// IM conversations get a message contract. Detached/programmatic turns keep
|
|
341
|
+
// their text/custom-schema contract and never inherit the IM preset.
|
|
342
|
+
const configuredSchema = host.config.outputSchema ?? 'segments';
|
|
343
|
+
const imReply = input.turnContext.origin.kind === 'im'
|
|
344
|
+
&& input.conversationPersistence !== 'none'
|
|
345
|
+
&& (configuredSchema === true || configuredSchema === 'segments');
|
|
346
|
+
const outputSchema = resolveAgentOutputSchema(configuredSchema === true || configuredSchema === 'segments'
|
|
347
|
+
? (imReply ? 'segments' : false)
|
|
348
|
+
: configuredSchema);
|
|
337
349
|
const turnShellPolicy = input.turnContext.policy?.shell;
|
|
338
350
|
const execPolicyConfig = turnShellPolicy
|
|
339
351
|
? {
|
|
@@ -356,8 +368,9 @@ export async function* runAgentLoopTextTurnRun(input) {
|
|
|
356
368
|
runtime: input.promptRuntime,
|
|
357
369
|
})
|
|
358
370
|
: buildChatPathSystemPrompt(host, personaEnhanced, input.promptProfile, input.promptRuntime);
|
|
359
|
-
|
|
360
|
-
|
|
371
|
+
const proseSystemPrompt = systemPrompt;
|
|
372
|
+
if (imReply) {
|
|
373
|
+
systemPrompt = `${systemPrompt}\n\n${STRUCTURED_REPLY_INSTRUCTION}`;
|
|
361
374
|
}
|
|
362
375
|
const agentTools = hasTools
|
|
363
376
|
? turnShellPolicy
|
|
@@ -693,6 +706,7 @@ export async function* runAgentLoopTextTurnRun(input) {
|
|
|
693
706
|
let segmentPrompt = promptMessages;
|
|
694
707
|
let segmentContext = loopContext;
|
|
695
708
|
let lastAssistantHadToolCalls = false;
|
|
709
|
+
let lastAssistantNeedsHostReply = false;
|
|
696
710
|
const reporter = input.progressSink && hasTools && toolBudget.progressMaxUpdates > 0
|
|
697
711
|
? new TurnProgressReporter({
|
|
698
712
|
sink: input.progressSink,
|
|
@@ -701,7 +715,7 @@ export async function* runAgentLoopTextTurnRun(input) {
|
|
|
701
715
|
summarize: () => summarizeProgress({
|
|
702
716
|
transport: host.llmRuntime,
|
|
703
717
|
model: llmModel,
|
|
704
|
-
systemPrompt,
|
|
718
|
+
systemPrompt: proseSystemPrompt,
|
|
705
719
|
messages: [...loaded.messages, ...turnTranscript, ...segmentMessages],
|
|
706
720
|
sessionId,
|
|
707
721
|
signal,
|
|
@@ -719,6 +733,8 @@ export async function* runAgentLoopTextTurnRun(input) {
|
|
|
719
733
|
segmentMessages = [...segmentPrompt];
|
|
720
734
|
for await (const event of agentLoop(segmentPrompt, segmentContext, loopConfig, signal)) {
|
|
721
735
|
for (const te of mapAgentEventToTurnEvents(event, mapperState)) {
|
|
736
|
+
if (imReply && te.type === 'chunk')
|
|
737
|
+
continue;
|
|
722
738
|
if (input.toolEventSource === 'authority'
|
|
723
739
|
&& (te.type === 'tool_call' || te.type === 'tool_result'))
|
|
724
740
|
continue;
|
|
@@ -730,7 +746,7 @@ export async function* runAgentLoopTextTurnRun(input) {
|
|
|
730
746
|
if (reporter && progress.progressedSince(lastReportIteration + 1)) {
|
|
731
747
|
const sent = await reporter.report(extensionPending ? 'extension' : 'progress', {
|
|
732
748
|
steps: iterations,
|
|
733
|
-
interimText: lastAssistantHadToolCalls ? lastAssistantText : undefined,
|
|
749
|
+
interimText: !imReply && lastAssistantHadToolCalls ? lastAssistantText : undefined,
|
|
734
750
|
});
|
|
735
751
|
if (sent)
|
|
736
752
|
lastReportIteration = iterations;
|
|
@@ -740,16 +756,22 @@ export async function* runAgentLoopTextTurnRun(input) {
|
|
|
740
756
|
}
|
|
741
757
|
if (event.type === 'message_end')
|
|
742
758
|
segmentMessages.push(event.message);
|
|
743
|
-
if (event.type === 'message_update' && event.delta?.type === 'text_delta') {
|
|
759
|
+
if (!imReply && event.type === 'message_update' && event.delta?.type === 'text_delta') {
|
|
744
760
|
onChunk?.(event.delta.text, lastAssistantText + event.delta.text);
|
|
745
761
|
}
|
|
746
762
|
if (event.type === 'message_end' && event.message.role === 'assistant') {
|
|
747
763
|
const assistant = event.message;
|
|
748
|
-
|
|
764
|
+
lastAssistantHadToolCalls = assistant.content.some((block) => block.type === 'toolCall');
|
|
765
|
+
const answerText = assistant.content
|
|
766
|
+
.filter((block) => block.type === 'text')
|
|
767
|
+
.map(block => block.text).join('');
|
|
768
|
+
lastAssistantNeedsHostReply = Boolean(assistant.errorMessage)
|
|
769
|
+
|| (!lastAssistantHadToolCalls && !answerText.trim());
|
|
770
|
+
lastAssistantText = imReply && !lastAssistantNeedsHostReply ? answerText
|
|
771
|
+
: resolveAssistantReplyText(imReply ? { ...assistant, content: [] } : assistant);
|
|
749
772
|
lastUsage = assistant.usage;
|
|
750
773
|
if (assistant.usage)
|
|
751
774
|
turnTokens += tokenUsageToLegacy(assistant.usage).total_tokens;
|
|
752
|
-
lastAssistantHadToolCalls = assistant.content.some((block) => block.type === 'toolCall');
|
|
753
775
|
logAssistantIterationFailure(assistant, modelId, sessionId);
|
|
754
776
|
const toolNames = assistant.content
|
|
755
777
|
.filter((b) => b.type === 'toolCall')
|
|
@@ -763,7 +785,8 @@ export async function* runAgentLoopTextTurnRun(input) {
|
|
|
763
785
|
stopReason: assistant.stopReason,
|
|
764
786
|
toolNames: toolNames || undefined,
|
|
765
787
|
});
|
|
766
|
-
|
|
788
|
+
if (!imReply)
|
|
789
|
+
onChunk?.(lastAssistantText, lastAssistantText);
|
|
767
790
|
}
|
|
768
791
|
if (event.type === 'agent_end') {
|
|
769
792
|
if (signal?.aborted)
|
|
@@ -790,7 +813,7 @@ export async function* runAgentLoopTextTurnRun(input) {
|
|
|
790
813
|
const checkpoint = await summarizeExhaustedTurn({
|
|
791
814
|
transport: host.llmRuntime,
|
|
792
815
|
model: llmModel,
|
|
793
|
-
systemPrompt,
|
|
816
|
+
systemPrompt: proseSystemPrompt,
|
|
794
817
|
messages: [...loaded.messages, ...turnTranscript],
|
|
795
818
|
maxIterations: iterations - segmentStartIteration,
|
|
796
819
|
sessionId,
|
|
@@ -851,8 +874,9 @@ export async function* runAgentLoopTextTurnRun(input) {
|
|
|
851
874
|
const needsReplyRecovery = !delegatedOnly
|
|
852
875
|
&& hasTools
|
|
853
876
|
&& (toolCalls.length > 0 || iterations >= maxIterations)
|
|
854
|
-
&& !lastAssistantText.trim();
|
|
855
|
-
let
|
|
877
|
+
&& (!lastAssistantText.trim() || (imReply && lastAssistantHadToolCalls));
|
|
878
|
+
let rawReply = lastAssistantText;
|
|
879
|
+
let hostReply = lastAssistantNeedsHostReply;
|
|
856
880
|
if (needsReplyRecovery) {
|
|
857
881
|
const summary = await summarizeExhaustedTurn({
|
|
858
882
|
transport: host.llmRuntime,
|
|
@@ -862,36 +886,72 @@ export async function* runAgentLoopTextTurnRun(input) {
|
|
|
862
886
|
maxIterations,
|
|
863
887
|
sessionId,
|
|
864
888
|
signal,
|
|
889
|
+
outputSchema,
|
|
865
890
|
});
|
|
866
891
|
const lastBatch = conversationBatches.at(-1);
|
|
867
892
|
if (summary.assistant && lastBatch) {
|
|
868
893
|
lastBatch.messages.push(summary.assistant);
|
|
869
894
|
lastBatch.messageExtras.push(undefined);
|
|
870
895
|
}
|
|
871
|
-
|
|
872
|
-
|
|
896
|
+
rawReply = summary.reply;
|
|
897
|
+
hostReply = !summary.assistant;
|
|
873
898
|
}
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
899
|
+
const structuredReply = imReply && !hostReply;
|
|
900
|
+
const continuationPrefix = continuations > 0
|
|
901
|
+
? `(任务步骤较多,已自动续跑 ${continuations} 次)\n\n` : '';
|
|
902
|
+
const proseReply = structuredReply ? ''
|
|
903
|
+
: sanitizeAssistantReply(rawReply, { toolSummary: formatToolCallsForUser(toolCalls) });
|
|
904
|
+
const textReply = delegatedOnly ? '' : proseReply.trim() ? continuationPrefix + proseReply : proseReply;
|
|
905
|
+
let output = delegatedOnly || structuredReply ? [] : parseOutput(textReply);
|
|
906
|
+
if (!delegatedOnly && structuredReply) {
|
|
907
|
+
try {
|
|
908
|
+
output = decodeStructuredReply(rawReply);
|
|
909
|
+
}
|
|
910
|
+
catch (error) {
|
|
911
|
+
const recovery = await recoverStructuredReply({
|
|
912
|
+
transport: host.llmRuntime, model: llmModel, raw: rawReply,
|
|
913
|
+
error: error instanceof Error ? error : new Error('Invalid structured reply'), signal,
|
|
914
|
+
});
|
|
915
|
+
output = recovery.output;
|
|
916
|
+
const lastBatch = conversationBatches.at(-1);
|
|
917
|
+
if (recovery.exchange) {
|
|
918
|
+
lastBatch?.messages.push(...recovery.exchange);
|
|
919
|
+
lastBatch?.messageExtras.push(undefined, undefined);
|
|
920
|
+
lastUsage = recovery.exchange[1].usage;
|
|
921
|
+
}
|
|
922
|
+
}
|
|
923
|
+
}
|
|
924
|
+
if (!delegatedOnly) {
|
|
925
|
+
if (structuredReply && continuationPrefix && output[0]?.type === 'message') {
|
|
926
|
+
output[0].segments.unshift({ type: 'text', data: { text: continuationPrefix } });
|
|
927
|
+
}
|
|
928
|
+
output = mergeToolOutboundElements(output, toolCalls);
|
|
929
|
+
}
|
|
930
|
+
const finalReply = imReply ? renderAgentOutput(output) : textReply;
|
|
931
|
+
if (!imReply && needsReplyRecovery)
|
|
932
|
+
onChunk?.(finalReply, finalReply);
|
|
933
|
+
if (imReply && finalReply) {
|
|
934
|
+
// Never expose partial JSON through streaming callbacks or activity ports.
|
|
935
|
+
onChunk?.(finalReply, finalReply);
|
|
936
|
+
const chunk = { type: 'chunk', text: finalReply, accumulated: finalReply };
|
|
937
|
+
emitTurnEvent(chunk);
|
|
938
|
+
yield chunk;
|
|
878
939
|
}
|
|
879
|
-
const finalReply = delegatedOnly
|
|
880
|
-
? ''
|
|
881
|
-
: continuations > 0 && reply.trim()
|
|
882
|
-
? `(任务步骤较多,已自动续跑 ${continuations} 次)\n\n${reply}`
|
|
883
|
-
: reply;
|
|
884
940
|
logPhase(host.phaseConfig, 'agent_loop.turn.end', sessionId, {
|
|
885
941
|
iterations,
|
|
886
942
|
...tokenUsageLogFields(lastUsage),
|
|
887
943
|
});
|
|
888
944
|
const usage = lastUsage ? tokenUsageToLegacy(lastUsage) : { prompt_tokens: 0, completion_tokens: 0, total_tokens: 0 };
|
|
889
|
-
const endEvent =
|
|
945
|
+
const endEvent = {
|
|
946
|
+
type: 'turn_end', output,
|
|
947
|
+
usage: { promptTokens: usage.prompt_tokens, completionTokens: usage.completion_tokens, totalTokens: usage.total_tokens },
|
|
948
|
+
};
|
|
890
949
|
emitTurnEvent(endEvent);
|
|
891
950
|
yield endEvent;
|
|
892
951
|
const thinking = mapperState.accumulatedThinking.trim() || undefined;
|
|
893
952
|
return {
|
|
894
953
|
reply: finalReply,
|
|
954
|
+
output,
|
|
895
955
|
usage,
|
|
896
956
|
path: hasTools ? 'agent' : 'chat',
|
|
897
957
|
iterations,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-core-run.js","sourceRoot":"","sources":["../../src/core/agent-core-run.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent-core-run.js","sourceRoot":"","sources":["../../src/core/agent-core-run.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,6 +23,7 @@ export interface ExhaustedTurnSummaryInput {
|
|
|
23
23
|
readonly sessionId?: string;
|
|
24
24
|
readonly signal?: AbortSignal;
|
|
25
25
|
readonly timeoutMs?: number;
|
|
26
|
+
readonly outputSchema?: Record<string, unknown>;
|
|
26
27
|
}
|
|
27
28
|
export interface ExhaustedTurnSummary {
|
|
28
29
|
readonly reply: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exhausted-turn-reply.d.ts","sourceRoot":"","sources":["../../src/core/exhausted-turn-reply.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,KAAK,EACX,MAAM,aAAa,CAAC;AAKrB,+EAA+E;AAC/E,eAAO,MAAM,iCAAiC,QAAS,CAAC;AAExD,gFAAgF;AAChF,eAAO,MAAM,6BAA6B,2SACW,CAAC;AAEtD,wBAAgB,6BAA6B,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAS3E;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,wFAAwF;IACxF,QAAQ,CAAC,QAAQ,EAAE,SAAS,YAAY,EAAE,CAAC;IAC3C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"exhausted-turn-reply.d.ts","sourceRoot":"","sources":["../../src/core/exhausted-turn-reply.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,KAAK,EACX,MAAM,aAAa,CAAC;AAKrB,+EAA+E;AAC/E,eAAO,MAAM,iCAAiC,QAAS,CAAC;AAExD,gFAAgF;AAChF,eAAO,MAAM,6BAA6B,2SACW,CAAC;AAEtD,wBAAgB,6BAA6B,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAS3E;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,wFAAwF;IACxF,QAAQ,CAAC,QAAQ,EAAE,SAAS,YAAY,EAAE,CAAC;IAC3C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,oGAAoG;IACpG,QAAQ,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAC;CACvC;AAED,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,yBAAyB,GAC/B,OAAO,CAAC,oBAAoB,CAAC,CAgC/B"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* with tools disabled and ask the model to summarize its progress. If that
|
|
8
8
|
* call fails, return a fixed message. Raw tool bodies never reach the user.
|
|
9
9
|
*/
|
|
10
|
-
import {
|
|
10
|
+
import { assistantAnswerText, createUserMessage, } from '@zhin.js/ai';
|
|
11
11
|
import { formatCompact, getLogger, truncatePreview } from '@zhin.js/logger';
|
|
12
12
|
const logger = getLogger('ZhinAgent:ExhaustedTurnReply');
|
|
13
13
|
/** Upper bound for the summary call, on top of the turn's own abort signal. */
|
|
@@ -21,7 +21,7 @@ export function buildExhaustedTurnInstruction(maxIterations) {
|
|
|
21
21
|
'1. What you have done or found so far.',
|
|
22
22
|
'2. What is still left to do.',
|
|
23
23
|
'3. Ask whether they want you to continue.',
|
|
24
|
-
'Do not paste file contents, search results, logs or other raw tool output. Do not attempt
|
|
24
|
+
'Do not paste file contents, search results, logs or other raw tool output. Do not attempt business tool calls. A supplied json response tool is still available to submit the final structured reply.',
|
|
25
25
|
].join('\n');
|
|
26
26
|
}
|
|
27
27
|
export async function summarizeExhaustedTurn(input) {
|
|
@@ -35,8 +35,8 @@ export async function summarizeExhaustedTurn(input) {
|
|
|
35
35
|
createUserMessage(buildExhaustedTurnInstruction(input.maxIterations)),
|
|
36
36
|
],
|
|
37
37
|
tools: undefined,
|
|
38
|
-
}, { signal, sessionId: input.sessionId });
|
|
39
|
-
const text =
|
|
38
|
+
}, { signal, sessionId: input.sessionId, outputSchema: input.outputSchema });
|
|
39
|
+
const text = assistantAnswerText(assistant).trim();
|
|
40
40
|
if (!text || assistant.errorMessage) {
|
|
41
41
|
throw new Error(assistant.errorMessage ?? 'summary completion returned no text');
|
|
42
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exhausted-turn-reply.js","sourceRoot":"","sources":["../../src/core/exhausted-turn-reply.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"exhausted-turn-reply.js","sourceRoot":"","sources":["../../src/core/exhausted-turn-reply.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EACL,mBAAmB,EACnB,iBAAiB,GAKlB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAE5E,MAAM,MAAM,GAAG,SAAS,CAAC,8BAA8B,CAAC,CAAC;AAEzD,+EAA+E;AAC/E,MAAM,CAAC,MAAM,iCAAiC,GAAG,MAAM,CAAC;AAExD,gFAAgF;AAChF,MAAM,CAAC,MAAM,6BAA6B,GACxC,mDAAmD,CAAC;AAEtD,MAAM,UAAU,6BAA6B,CAAC,aAAqB;IACjE,OAAO;QACL,qCAAqC,aAAa,6DAA6D;QAC/G,+FAA+F;QAC/F,wCAAwC;QACxC,8BAA8B;QAC9B,2CAA2C;QAC3C,uMAAuM;KACxM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAqBD,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,KAAgC;IAEhC,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,IAAI,iCAAiC,CAAC,CAAC;IAChG,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;IAE7F,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,QAAQ,CAC9C,KAAK,CAAC,KAAK,EACX;YACE,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,QAAQ,EAAE;gBACR,GAAG,KAAK,CAAC,QAAQ;gBACjB,iBAAiB,CAAC,6BAA6B,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;aACtE;YACD,KAAK,EAAE,SAAS;SACjB,EACD,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CACzE,CAAC;QAEF,MAAM,IAAI,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;QACnD,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC,YAAY,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,YAAY,IAAI,qCAAqC,CAAC,CAAC;QACnF,CAAC;QAED,OAAO;YACL,KAAK,EAAE,IAAI;YACX,SAAS,EAAE,EAAE,GAAG,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE;SAC/D,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,oBAAoB,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9F,OAAO,EAAE,KAAK,EAAE,6BAA6B,EAAE,CAAC;IAClD,CAAC;AACH,CAAC"}
|