@zhin.js/agent 1.0.9 → 1.1.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.
Files changed (196) hide show
  1. package/README.md +46 -11
  2. package/lib/aop/index.d.ts +0 -2
  3. package/lib/aop/index.d.ts.map +1 -1
  4. package/lib/aop/index.js +0 -1
  5. package/lib/aop/index.js.map +1 -1
  6. package/lib/builtin/analyze-media-tool.d.ts.map +1 -1
  7. package/lib/builtin/analyze-media-tool.js +9 -8
  8. package/lib/builtin/analyze-media-tool.js.map +1 -1
  9. package/lib/collaboration/{inbound-turn-pipeline.d.ts → inbound-turn-compat.d.ts} +10 -6
  10. package/lib/collaboration/inbound-turn-compat.d.ts.map +1 -0
  11. package/lib/collaboration/inbound-turn-compat.js +30 -0
  12. package/lib/collaboration/inbound-turn-compat.js.map +1 -0
  13. package/lib/collaboration/index.d.ts +2 -5
  14. package/lib/collaboration/index.d.ts.map +1 -1
  15. package/lib/collaboration/index.js +1 -4
  16. package/lib/collaboration/index.js.map +1 -1
  17. package/lib/config/agent-interfaces.d.ts +3 -3
  18. package/lib/config/agent-interfaces.d.ts.map +1 -1
  19. package/lib/config/validate-ai-config.js +1 -1
  20. package/lib/config/validate-ai-config.js.map +1 -1
  21. package/lib/core/agent-core-run.d.ts +13 -0
  22. package/lib/core/agent-core-run.d.ts.map +1 -1
  23. package/lib/core/agent-core-run.js +38 -2
  24. package/lib/core/agent-core-run.js.map +1 -1
  25. package/lib/core/agent-loop-standalone.d.ts +3 -2
  26. package/lib/core/agent-loop-standalone.d.ts.map +1 -1
  27. package/lib/core/agent-loop-standalone.js +14 -7
  28. package/lib/core/agent-loop-standalone.js.map +1 -1
  29. package/lib/event/publish-agent-stream.d.ts +2 -2
  30. package/lib/event/publish-agent-stream.d.ts.map +1 -1
  31. package/lib/event/publish-agent-stream.js +2 -2
  32. package/lib/event/publish-agent-stream.js.map +1 -1
  33. package/lib/event/turn-event.d.ts +9 -1
  34. package/lib/event/turn-event.d.ts.map +1 -1
  35. package/lib/event/turn-event.js +3 -1
  36. package/lib/event/turn-event.js.map +1 -1
  37. package/lib/event/turn-to-agent-stream.d.ts +2 -1
  38. package/lib/event/turn-to-agent-stream.d.ts.map +1 -1
  39. package/lib/event/turn-to-agent-stream.js +29 -15
  40. package/lib/event/turn-to-agent-stream.js.map +1 -1
  41. package/lib/index.d.ts +4 -1
  42. package/lib/index.d.ts.map +1 -1
  43. package/lib/index.js +2 -1
  44. package/lib/index.js.map +1 -1
  45. package/lib/init/output-renderer.d.ts +3 -3
  46. package/lib/init/output-renderer.d.ts.map +1 -1
  47. package/lib/init/output-renderer.js +1 -1
  48. package/lib/init/output-renderer.js.map +1 -1
  49. package/lib/init.d.ts +0 -1
  50. package/lib/init.d.ts.map +1 -1
  51. package/lib/init.js +0 -3
  52. package/lib/init.js.map +1 -1
  53. package/lib/internal/agent-host.d.ts +3 -0
  54. package/lib/internal/agent-host.d.ts.map +1 -1
  55. package/lib/internal/host-types.d.ts +1 -0
  56. package/lib/internal/host-types.d.ts.map +1 -1
  57. package/lib/media/inbound-refs.d.ts +9 -0
  58. package/lib/media/inbound-refs.d.ts.map +1 -0
  59. package/lib/media/inbound-refs.js +18 -0
  60. package/lib/media/inbound-refs.js.map +1 -0
  61. package/lib/media/index.d.ts +1 -0
  62. package/lib/media/index.d.ts.map +1 -1
  63. package/lib/media/index.js +1 -0
  64. package/lib/media/index.js.map +1 -1
  65. package/lib/media/media-normalize.d.ts +15 -4
  66. package/lib/media/media-normalize.d.ts.map +1 -1
  67. package/lib/media/media-normalize.js +92 -88
  68. package/lib/media/media-normalize.js.map +1 -1
  69. package/lib/media/media-publisher.d.ts +3 -3
  70. package/lib/media/media-publisher.d.ts.map +1 -1
  71. package/lib/media/media-publisher.js +25 -27
  72. package/lib/media/media-publisher.js.map +1 -1
  73. package/lib/media/media-router.d.ts +5 -3
  74. package/lib/media/media-router.d.ts.map +1 -1
  75. package/lib/media/media-router.js +14 -5
  76. package/lib/media/media-router.js.map +1 -1
  77. package/lib/media/media-types.d.ts +8 -2
  78. package/lib/media/media-types.d.ts.map +1 -1
  79. package/lib/media/media-types.js.map +1 -1
  80. package/lib/media/subagent-inbound.d.ts +5 -4
  81. package/lib/media/subagent-inbound.d.ts.map +1 -1
  82. package/lib/media/subagent-inbound.js +10 -5
  83. package/lib/media/subagent-inbound.js.map +1 -1
  84. package/lib/orchestrator/bootstrap-executors.d.ts.map +1 -1
  85. package/lib/orchestrator/bootstrap-executors.js +5 -5
  86. package/lib/orchestrator/bootstrap-executors.js.map +1 -1
  87. package/lib/routing/match-rules.d.ts +4 -0
  88. package/lib/routing/match-rules.d.ts.map +1 -0
  89. package/lib/routing/match-rules.js +29 -0
  90. package/lib/routing/match-rules.js.map +1 -0
  91. package/lib/routing/route-matcher.d.ts +1 -2
  92. package/lib/routing/route-matcher.d.ts.map +1 -1
  93. package/lib/routing/route-matcher.js +2 -58
  94. package/lib/routing/route-matcher.js.map +1 -1
  95. package/lib/service.d.ts +4 -3
  96. package/lib/service.d.ts.map +1 -1
  97. package/lib/service.js.map +1 -1
  98. package/lib/session/resolve-session-interaction-port.d.ts +2 -2
  99. package/lib/session/resolve-session-interaction-port.d.ts.map +1 -1
  100. package/lib/session/resolve-session-interaction-port.js +5 -1
  101. package/lib/session/resolve-session-interaction-port.js.map +1 -1
  102. package/lib/session/session-interaction-port.d.ts +7 -2
  103. package/lib/session/session-interaction-port.d.ts.map +1 -1
  104. package/lib/session/session-interaction-port.js +3 -1
  105. package/lib/session/session-interaction-port.js.map +1 -1
  106. package/lib/subagent/subagent-runtime.d.ts +4 -3
  107. package/lib/subagent/subagent-runtime.d.ts.map +1 -1
  108. package/lib/subagent/subagent-runtime.js +8 -2
  109. package/lib/subagent/subagent-runtime.js.map +1 -1
  110. package/lib/tool/tool-approval-gate.d.ts +9 -4
  111. package/lib/tool/tool-approval-gate.d.ts.map +1 -1
  112. package/lib/tool/tool-approval-gate.js +19 -8
  113. package/lib/tool/tool-approval-gate.js.map +1 -1
  114. package/lib/turn/agent-turn-context.d.ts +13 -0
  115. package/lib/turn/agent-turn-context.d.ts.map +1 -0
  116. package/lib/turn/agent-turn-context.js +13 -0
  117. package/lib/turn/agent-turn-context.js.map +1 -0
  118. package/lib/turn/inbound-media.d.ts +26 -0
  119. package/lib/turn/inbound-media.d.ts.map +1 -0
  120. package/lib/turn/inbound-media.js +128 -0
  121. package/lib/turn/inbound-media.js.map +1 -0
  122. package/lib/turn/inbound-queue-runtime.d.ts +1 -0
  123. package/lib/turn/inbound-queue-runtime.d.ts.map +1 -1
  124. package/lib/turn/inbound-queue-runtime.js +1 -0
  125. package/lib/turn/inbound-queue-runtime.js.map +1 -1
  126. package/lib/turn/inbound-turn-queue.d.ts +5 -0
  127. package/lib/turn/inbound-turn-queue.d.ts.map +1 -1
  128. package/lib/turn/inbound-turn-queue.js +46 -1
  129. package/lib/turn/inbound-turn-queue.js.map +1 -1
  130. package/lib/turn/index.d.ts +4 -5
  131. package/lib/turn/index.d.ts.map +1 -1
  132. package/lib/turn/index.js +4 -5
  133. package/lib/turn/index.js.map +1 -1
  134. package/lib/turn/process-stream.d.ts.map +1 -1
  135. package/lib/turn/process-stream.js +21 -13
  136. package/lib/turn/process-stream.js.map +1 -1
  137. package/lib/turn/prompt-api.d.ts +2 -2
  138. package/lib/turn/prompt-api.d.ts.map +1 -1
  139. package/lib/turn/prompt-api.js +1 -1
  140. package/lib/turn/prompt-api.js.map +1 -1
  141. package/lib/turn/prompt-controller.d.ts +7 -0
  142. package/lib/turn/prompt-controller.d.ts.map +1 -1
  143. package/lib/turn/prompt-controller.js +52 -7
  144. package/lib/turn/prompt-controller.js.map +1 -1
  145. package/lib/turn/prompt-input.d.ts +2 -2
  146. package/lib/turn/prompt-input.d.ts.map +1 -1
  147. package/lib/turn/prompt-input.js +2 -2
  148. package/lib/turn/prompt-input.js.map +1 -1
  149. package/lib/turn/turn-context-bridge.d.ts +6 -1
  150. package/lib/turn/turn-context-bridge.d.ts.map +1 -1
  151. package/lib/turn/turn-context-bridge.js +8 -5
  152. package/lib/turn/turn-context-bridge.js.map +1 -1
  153. package/lib/turn/turn-pipeline.d.ts +8 -2
  154. package/lib/turn/turn-pipeline.d.ts.map +1 -1
  155. package/lib/turn/turn-pipeline.js +13 -101
  156. package/lib/turn/turn-pipeline.js.map +1 -1
  157. package/lib/turn/turn-terminal.d.ts +14 -0
  158. package/lib/turn/turn-terminal.d.ts.map +1 -0
  159. package/lib/turn/turn-terminal.js +44 -0
  160. package/lib/turn/turn-terminal.js.map +1 -0
  161. package/lib/zhin-agent/index.d.ts +30 -5
  162. package/lib/zhin-agent/index.d.ts.map +1 -1
  163. package/lib/zhin-agent/index.js +61 -9
  164. package/lib/zhin-agent/index.js.map +1 -1
  165. package/package.json +8 -8
  166. package/lib/collaboration/inbound-turn-enrich.d.ts +0 -25
  167. package/lib/collaboration/inbound-turn-enrich.d.ts.map +0 -1
  168. package/lib/collaboration/inbound-turn-enrich.js +0 -51
  169. package/lib/collaboration/inbound-turn-enrich.js.map +0 -1
  170. package/lib/collaboration/inbound-turn-execute.d.ts +0 -33
  171. package/lib/collaboration/inbound-turn-execute.d.ts.map +0 -1
  172. package/lib/collaboration/inbound-turn-execute.js +0 -73
  173. package/lib/collaboration/inbound-turn-execute.js.map +0 -1
  174. package/lib/collaboration/inbound-turn-outbound-stage.d.ts +0 -27
  175. package/lib/collaboration/inbound-turn-outbound-stage.d.ts.map +0 -1
  176. package/lib/collaboration/inbound-turn-outbound-stage.js +0 -74
  177. package/lib/collaboration/inbound-turn-outbound-stage.js.map +0 -1
  178. package/lib/collaboration/inbound-turn-pipeline.d.ts.map +0 -1
  179. package/lib/collaboration/inbound-turn-pipeline.js +0 -202
  180. package/lib/collaboration/inbound-turn-pipeline.js.map +0 -1
  181. package/lib/collaboration/inbound-turn-route.d.ts +0 -42
  182. package/lib/collaboration/inbound-turn-route.d.ts.map +0 -1
  183. package/lib/collaboration/inbound-turn-route.js +0 -107
  184. package/lib/collaboration/inbound-turn-route.js.map +0 -1
  185. package/lib/init/message-media.d.ts +0 -11
  186. package/lib/init/message-media.d.ts.map +0 -1
  187. package/lib/init/message-media.js +0 -107
  188. package/lib/init/message-media.js.map +0 -1
  189. package/lib/init/register-ai-trigger.d.ts +0 -7
  190. package/lib/init/register-ai-trigger.d.ts.map +0 -1
  191. package/lib/init/register-ai-trigger.js +0 -72
  192. package/lib/init/register-ai-trigger.js.map +0 -1
  193. package/lib/turn/multimodal-message.d.ts +0 -9
  194. package/lib/turn/multimodal-message.d.ts.map +0 -1
  195. package/lib/turn/multimodal-message.js +0 -72
  196. package/lib/turn/multimodal-message.js.map +0 -1
@@ -1,72 +0,0 @@
1
- /**
2
- * ContentPart[] → agentLoop UserMessage(ADR 0009 D2:image blocks)
3
- */
4
- import { createUserMessage } from '@zhin.js/ai';
5
- import { normalizeContentPartsToPayloads } from '../media/media-normalize.js';
6
- function parseDataUri(dataUri) {
7
- const m = /^data:([^;]+);base64,(.+)$/i.exec(dataUri.trim());
8
- if (!m)
9
- return null;
10
- return { mime: m[1], base64: m[2] };
11
- }
12
- function imageUrlToContent(url) {
13
- const parsed = parseDataUri(url);
14
- if (parsed) {
15
- return { type: 'image', data: parsed.base64, mimeType: parsed.mime };
16
- }
17
- if (url.startsWith('http://') || url.startsWith('https://')) {
18
- return { type: 'image', data: url, mimeType: 'image/jpeg' };
19
- }
20
- return null;
21
- }
22
- /** 从 ContentPart 拼会话可见文本(含 [图片] 等占位) */
23
- export function summarizeMultimodalParts(parts, supportsVision) {
24
- const fragments = [];
25
- for (const p of parts) {
26
- switch (p.type) {
27
- case 'text':
28
- fragments.push(p.text);
29
- break;
30
- case 'image_url':
31
- fragments.push('[图片]');
32
- break;
33
- case 'video_url':
34
- fragments.push('[视频]');
35
- break;
36
- case 'audio':
37
- fragments.push('[音频]');
38
- break;
39
- case 'face':
40
- fragments.push(p.face.text || `[表情:${p.face.id}]`);
41
- break;
42
- }
43
- }
44
- return fragments.join(' ') || '[多模态消息]';
45
- }
46
- /** 构建带 image blocks 的 UserMessage(vision 模型走 agentLoop) */
47
- export async function buildVisionUserMessage(sessionUserContent, parts, supportsVision, maxFileBytes) {
48
- const images = [];
49
- if (supportsVision) {
50
- const payloads = await normalizeContentPartsToPayloads(parts, maxFileBytes);
51
- for (const payload of payloads) {
52
- if (payload.kind === 'image') {
53
- images.push({
54
- type: 'image',
55
- data: payload.base64,
56
- mimeType: payload.mimeType,
57
- });
58
- }
59
- }
60
- if (images.length === 0) {
61
- for (const p of parts) {
62
- if (p.type !== 'image_url')
63
- continue;
64
- const block = imageUrlToContent(p.image_url.url);
65
- if (block)
66
- images.push(block);
67
- }
68
- }
69
- }
70
- return createUserMessage(sessionUserContent, images.length > 0 ? images : undefined);
71
- }
72
- //# sourceMappingURL=multimodal-message.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"multimodal-message.js","sourceRoot":"","sources":["../../src/turn/multimodal-message.ts"],"names":[],"mappings":"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"}