@deep-eye/core 1.2.25 → 1.2.27

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 (26) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/components/chat/components/ChatAttachments.vue.d.ts.map +1 -1
  3. package/dist/components/chat/components/ChatReasoning.vue.d.ts.map +1 -1
  4. package/dist/components/chat/components/ChatSender.vue.d.ts.map +1 -1
  5. package/dist/components/chat/components/InputContentParts.vue.d.ts.map +1 -1
  6. package/dist/components/chat/components/ToolCallPart.vue.d.ts.map +1 -1
  7. package/dist/components/chat/composables/index.d.ts +1 -0
  8. package/dist/components/chat/composables/index.d.ts.map +1 -1
  9. package/dist/components/chat/composables/useImageUrl.d.ts +10 -0
  10. package/dist/components/chat/composables/useImageUrl.d.ts.map +1 -0
  11. package/dist/components/chat/formatToolArguments.d.ts +13 -0
  12. package/dist/components/chat/formatToolArguments.d.ts.map +1 -0
  13. package/dist/components/chat/imageUrl.d.ts +13 -0
  14. package/dist/components/chat/imageUrl.d.ts.map +1 -0
  15. package/dist/components/chat/index.d.ts +3 -0
  16. package/dist/components/chat/index.d.ts.map +1 -1
  17. package/dist/components/chat/mdoc/ContentNodes.vue.d.ts.map +1 -1
  18. package/dist/components/chat/mdoc/MediaImageStack.vue.d.ts.map +1 -1
  19. package/dist/components/chat/mdoc/MediaPendingSkeleton.vue.d.ts +7 -0
  20. package/dist/components/chat/mdoc/MediaPendingSkeleton.vue.d.ts.map +1 -0
  21. package/dist/components/chat/mdoc/textContent.d.ts +14 -0
  22. package/dist/components/chat/mdoc/textContent.d.ts.map +1 -1
  23. package/dist/index.cjs +109 -100
  24. package/dist/index.js +15675 -15407
  25. package/dist/style.css +1 -1
  26. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,29 @@
2
2
 
3
3
  `@deep-eye/core` 的用户可见变更(语义化版本)。
4
4
 
5
+ ## [1.2.27] - 2026-08-06
6
+
7
+ ### Added
8
+
9
+ - 流式 `[IMG|VIDEO|AUDIO:{…}]`:标识符一出现即显示「生成中」占位动画,URL 收齐后再换成真实媒体。
10
+ - `formatToolArgumentsDisplay`:工具参数流式/完成后统一整齐展示(`\n` 软还原),避免从转义墙跳到格式化布局。
11
+
12
+ ### Changed
13
+
14
+ - `ToolCallPart`:详情超高约 10rem 截断并提供「展开更多」;完成后(success/error/denied/cancelled)自动折叠。
15
+ - `ToolCallPart` / `ChatReasoning`:文案色统一为 `#898781`。
16
+
17
+ ## [1.2.26] - 2026-08-06
18
+
19
+ ### Added
20
+
21
+ - `appendImageViewParams` / `useImageUrl`:对 `yxuer.com` 图片 URL 按需拼接七牛 `imageView2` 宽高参数;接入消息附件、MediaImageStack、输入区图片与 ChatSender 已上传缩略图,lightbox / 原图链接保持不变。
22
+
23
+ ### Changed
24
+
25
+ - `ToolCallPart`:展开时参数值展示完整 JSON;折叠态 summary 宽度按内容收缩,chevron 紧挨标题。
26
+ - `ToolCallPart` / `ChatReasoning`:running / streaming 扫光对比度加强,白底宿主下更易感知。
27
+
5
28
  ## [1.2.25] - 2026-08-05
6
29
 
7
30
  ### Fixed
@@ -1 +1 @@
1
- {"version":3,"file":"ChatAttachments.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/components/ChatAttachments.vue"],"names":[],"mappings":"AAwMA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAGhD,KAAK,WAAW,GAAG;IAAE,SAAS,EAAE,SAAS,gBAAgB,EAAE,CAAA;CAAE,CAAC;AA8J9D,QAAA,MAAM,YAAY;;;;kFAGhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
1
+ {"version":3,"file":"ChatAttachments.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/components/ChatAttachments.vue"],"names":[],"mappings":"AAgNA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAKhD,KAAK,WAAW,GAAG;IAAE,SAAS,EAAE,SAAS,gBAAgB,EAAE,CAAA;CAAE,CAAC;AAmK9D,QAAA,MAAM,YAAY;;;;kFAGhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChatReasoning.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/components/ChatReasoning.vue"],"names":[],"mappings":"AA0VA,KAAK,WAAW,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AA0O5D,QAAA,IAAI,QAAQ;;;CAAY,CAAE;AAC1B,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,QAAQ,KAAK,GAAG,CAAA;CAAE,CAAC;AAQhD,QAAA,MAAM,UAAU,kSAEd,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AACzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"ChatReasoning.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/components/ChatReasoning.vue"],"names":[],"mappings":"AAyVA,KAAK,WAAW,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AA0O5D,QAAA,IAAI,QAAQ;;;CAAY,CAAE;AAC1B,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,QAAQ,KAAK,GAAG,CAAA;CAAE,CAAC;AAQhD,QAAA,MAAM,UAAU,kSAEd,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AACzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChatSender.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/components/ChatSender.vue"],"names":[],"mappings":"AA6hGA,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,eAAe,EACf,0BAA0B,EAC1B,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,UAAU,CAAA;AAkDjB,KAAK,WAAW,GAAG;IACjB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE;QACvB,SAAS,EAAE,MAAM,CAAA;QACjB,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,EAAE,CAAC,OAAO,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,KAAK,IAAI,CAAA;QACxD,KAAK,EAAE,MAAM,IAAI,CAAA;QACjB,UAAU,EAAE,OAAO,GAAG,IAAI,CAAA;KAC3B,KAAK,OAAO,CAAA;IACb,4EAA4E;IAC5E,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,0BAA0B,KAAK,OAAO,CAAA;IACxD,6EAA6E;IAC7E,sBAAsB,CAAC,EAAE,MAAM,OAAO,CAAA;CACvC,CAAC;AAsrEF,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;mBA3sEyB,MAAM;;;mBACL,MAAM;eAAS,MAAM;;;mBACrB,MAAM;;;mBACL,MAAM;YAAM,MAAM;eAAS,MAAM;;;mBACjC,MAAM;YAAM,MAAM;eAAS,MAAM;;;;;;;;;;;;;;;;;;;;;;;;mBAJnC,MAAM;;;mBACL,MAAM;eAAS,MAAM;;;mBACrB,MAAM;;;mBACL,MAAM;YAAM,MAAM;eAAS,MAAM;;;mBACjC,MAAM;YAAM,MAAM;eAAS,MAAM;;;;;;;;;;;;;;;;;;;6EA2sE1E,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AAWzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"ChatSender.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/components/ChatSender.vue"],"names":[],"mappings":"AAsiGA,OAAO,KAAK,EACV,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,eAAe,EACf,0BAA0B,EAC1B,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,UAAU,CAAA;AAkDjB,KAAK,WAAW,GAAG;IACjB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE;QACvB,SAAS,EAAE,MAAM,CAAA;QACjB,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,EAAE,CAAC,OAAO,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,KAAK,IAAI,CAAA;QACxD,KAAK,EAAE,MAAM,IAAI,CAAA;QACjB,UAAU,EAAE,OAAO,GAAG,IAAI,CAAA;KAC3B,KAAK,OAAO,CAAA;IACb,4EAA4E;IAC5E,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,0BAA0B,KAAK,OAAO,CAAA;IACxD,6EAA6E;IAC7E,sBAAsB,CAAC,EAAE,MAAM,OAAO,CAAA;CACvC,CAAC;AA8rEF,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;mBAntEyB,MAAM;;;mBACL,MAAM;eAAS,MAAM;;;mBACrB,MAAM;;;mBACL,MAAM;YAAM,MAAM;eAAS,MAAM;;;mBACjC,MAAM;YAAM,MAAM;eAAS,MAAM;;;;;;;;;;;;;;;;;;;;;;;;mBAJnC,MAAM;;;mBACL,MAAM;eAAS,MAAM;;;mBACrB,MAAM;;;mBACL,MAAM;YAAM,MAAM;eAAS,MAAM;;;mBACjC,MAAM;YAAM,MAAM;eAAS,MAAM;;;;;;;;;;;;;;;;;;;6EAmtE1E,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AAWzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"InputContentParts.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/components/InputContentParts.vue"],"names":[],"mappings":"AA2JA,OAAO,KAAK,EAA2B,wBAAwB,EAAE,MAAM,UAAU,CAAA;AAIjF,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,wBAAwB,CAAA;CAClC,CAAC;AAoKF,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
1
+ {"version":3,"file":"InputContentParts.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/components/InputContentParts.vue"],"names":[],"mappings":"AAmKA,OAAO,KAAK,EAA2B,wBAAwB,EAAE,MAAM,UAAU,CAAA;AAKjF,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,wBAAwB,CAAA;CAClC,CAAC;AA4KF,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ToolCallPart.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/components/ToolCallPart.vue"],"names":[],"mappings":"AA2tBA,OAAO,EAAwB,KAAK,SAAS,EAAE,MAAM,KAAK,CAAA;AAC1D,OAAO,KAAK,EACV,qBAAqB,EACrB,aAAa,EACb,oBAAoB,EAEpB,WAAW,EACZ,MAAM,UAAU,CAAA;AACjB,OAAO,yBAAyB,CAAA;AAShC,KAAK,WAAW,GAAG;IACjB,QAAQ,EAAE,oBAAoB,CAAA;IAC9B,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,SAAS,CAAC,EAAE,aAAa,CAAA;IACzB,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAC;AA8iBF,QAAA,MAAM,YAAY;;;;kFAGhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
1
+ {"version":3,"file":"ToolCallPart.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/components/ToolCallPart.vue"],"names":[],"mappings":"AAwwBA,OAAO,EAAkC,KAAK,SAAS,EAAE,MAAM,KAAK,CAAA;AACpE,OAAO,KAAK,EACV,qBAAqB,EACrB,aAAa,EACb,oBAAoB,EAEpB,WAAW,EACZ,MAAM,UAAU,CAAA;AACjB,OAAO,yBAAyB,CAAA;AAYhC,KAAK,WAAW,GAAG;IACjB,QAAQ,EAAE,oBAAoB,CAAA;IAC9B,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,SAAS,CAAC,EAAE,aAAa,CAAA;IACzB,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAC;AAskBF,QAAA,MAAM,YAAY;;;;kFAGhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -1,2 +1,3 @@
1
1
  export { useConversation } from './useConversation';
2
+ export { useImageUrl } from './useImageUrl';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/composables/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/composables/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA"}
@@ -0,0 +1,10 @@
1
+ import { appendImageViewParams, type ImageViewSize } from '../imageUrl';
2
+ /**
3
+ * Thin Vue-facing wrapper around {@link appendImageViewParams} for thumbnail srcs.
4
+ * Only `yxuer.com` hosts are transformed; see that helper for full rules.
5
+ */
6
+ export declare function useImageUrl(): {
7
+ thumbnailUrl: (url: string, size?: ImageViewSize) => string;
8
+ appendImageViewParams: typeof appendImageViewParams;
9
+ };
10
+ //# sourceMappingURL=useImageUrl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useImageUrl.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/composables/useImageUrl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAA;AAEvE;;;GAGG;AACH,wBAAgB,WAAW;wBACE,MAAM,SAAQ,aAAa,KAAQ,MAAM;;EAKrE"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Formats tool-call `function.arguments` for display so streaming and completed
3
+ * states share one layout: a single monospace block that already shows real
4
+ * newlines instead of jumping from `\n` escapes to pretty JSON.
5
+ */
6
+ export declare function formatToolArgumentsDisplay(raw: string): string;
7
+ /**
8
+ * Inside JSON string literals only, turn common escapes into real characters so
9
+ * incomplete streamed payloads (e.g. a Python script mid-`\n`) already read as
10
+ * formatted code instead of a wall of escapes.
11
+ */
12
+ export declare function softUnescapeJsonStringLiterals(raw: string): string;
13
+ //# sourceMappingURL=formatToolArguments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatToolArguments.d.ts","sourceRoot":"","sources":["../../../src/components/chat/formatToolArguments.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAS9D;AAkCD;;;;GAIG;AACH,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAoDlE"}
@@ -0,0 +1,13 @@
1
+ export type ImageViewSize = {
2
+ width?: number;
3
+ height?: number;
4
+ };
5
+ /**
6
+ * Appends Qiniu `imageView2` resize params for thumbnail display.
7
+ * Only mutates URLs whose host includes `yxuer.com`; leaves blob/data/other
8
+ * hosts and URLs that already contain `imageView2` unchanged.
9
+ *
10
+ * Example: `…/photo.JPG` + `{ width: 200 }` → `…/photo.JPG?imageView2/2/w/200`
11
+ */
12
+ export declare function appendImageViewParams(url: string, size?: ImageViewSize): string;
13
+ //# sourceMappingURL=imageUrl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imageUrl.d.ts","sourceRoot":"","sources":["../../../src/components/chat/imageUrl.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,aAAkB,GAAG,MAAM,CAiBnF"}
@@ -9,6 +9,9 @@ export { CHART_TYPES, isChartType } from './mdoc/chart/schema';
9
9
  export type { ChartType } from './mdoc/chart/schema';
10
10
  export type * from './types';
11
11
  export { useConversation } from './composables';
12
+ export { appendImageViewParams } from './imageUrl';
13
+ export type { ImageViewSize } from './imageUrl';
14
+ export { useImageUrl } from './composables/useImageUrl';
12
15
  export { DEFAULT_CHAT_ATTACHMENT_LIMITS, buildChatSendPayload, classifyAttachment, createAttachmentFingerprint, createChatMessageId, getFileExtension, parseQiniuUploadResult, resourceToContentPart, toChatResourceFile, validateAttachmentFile, } from './attachments';
13
16
  export { createChatAttachmentController } from './attachmentController';
14
17
  export { getChatFileIconSrc } from './fileIcons';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/chat/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,6BAA6B,CAAA;AACnE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,eAAe,CAAA;AAClD,cAAc,cAAc,CAAA;AAE5B,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,2BAA2B,EAC3B,yBAAyB,GAC1B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,uBAAuB,CAAA;AAC9B,YAAY,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAC9D,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAC9D,YAAY,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAEpD,mBAAmB,SAAS,CAAA;AAE5B,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,EACL,8BAA8B,EAC9B,oBAAoB,EACpB,kBAAkB,EAClB,2BAA2B,EAC3B,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAA;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,2BAA2B,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC3E,OAAO,EAAE,wBAAwB,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACvF,OAAO,EACL,kBAAkB,EAClB,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAChD,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/chat/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,6BAA6B,CAAA;AACnE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,eAAe,CAAA;AAClD,cAAc,cAAc,CAAA;AAE5B,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,2BAA2B,EAC3B,yBAAyB,GAC1B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,uBAAuB,CAAA;AAC9B,YAAY,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAC9D,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAC9D,YAAY,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAEpD,mBAAmB,SAAS,CAAA;AAE5B,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAClD,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,EACL,8BAA8B,EAC9B,oBAAoB,EACpB,kBAAkB,EAClB,2BAA2B,EAC3B,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAA;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,2BAA2B,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC3E,OAAO,EAAE,wBAAwB,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACvF,OAAO,EACL,kBAAkB,EAClB,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAChD,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ContentNodes.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/mdoc/ContentNodes.vue"],"names":[],"mappings":"AA4SA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAcpD,OAAO,aAAa,CAAA;AAIpB,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,kCAAkC;IAClC,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;CAChC,CAAC;AA6XF,QAAA,MAAM,YAAY;;;;kFAGhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
1
+ {"version":3,"file":"ContentNodes.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/mdoc/ContentNodes.vue"],"names":[],"mappings":"AAiTA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAepD,OAAO,aAAa,CAAA;AAIpB,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,kCAAkC;IAClC,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;CAChC,CAAC;AAuYF,QAAA,MAAM,YAAY;;;;kFAGhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -1 +1 @@
1
- {"version":3,"file":"MediaImageStack.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/mdoc/MediaImageStack.vue"],"names":[],"mappings":"AA+VA,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,CAAA;AAQD,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,eAAe,EAAE,CAAA;CAC1B,CAAC;AAqWF,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
1
+ {"version":3,"file":"MediaImageStack.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/mdoc/MediaImageStack.vue"],"names":[],"mappings":"AAiXA,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,CAAA;AAYD,KAAK,WAAW,GAAG;IACjB,MAAM,EAAE,eAAe,EAAE,CAAA;CAC1B,CAAC;AA6WF,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -0,0 +1,7 @@
1
+ type __VLS_Props = {
2
+ mediaType: 'image' | 'video' | 'audio';
3
+ };
4
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
5
+ declare const _default: typeof __VLS_export;
6
+ export default _default;
7
+ //# sourceMappingURL=MediaPendingSkeleton.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaPendingSkeleton.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/mdoc/MediaPendingSkeleton.vue"],"names":[],"mappings":"AA0JA,KAAK,WAAW,GAAG;IACjB,SAAS,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAA;CACvC,CAAC;AA0IF,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -29,7 +29,21 @@ export type TextSegment = {
29
29
  id: string;
30
30
  url: string;
31
31
  title?: string;
32
+ } | {
33
+ type: 'media-pending';
34
+ id: string;
35
+ mediaType: 'image' | 'video' | 'audio';
32
36
  };
37
+ /**
38
+ * While streaming, the model emits `[IMG:{…}]` / `[VIDEO:{…}]` / `[AUDIO:{…}]`
39
+ * token-by-token. Until the closing `}]` lands, {@link MEDIA_RE} cannot match —
40
+ * return the trailing incomplete marker so the UI can show a generating skeleton
41
+ * instead of leaking raw marker text or rendering nothing.
42
+ */
43
+ export declare function findIncompleteMediaMarker(content: string): {
44
+ mediaType: 'image' | 'video' | 'audio';
45
+ startIndex: number;
46
+ } | null;
33
47
  /**
34
48
  * Turn a markdown text blob into renderable segments (html + media).
35
49
  * Markdown parsing (incl. tables and math) is fully delegated to md4x;
@@ -1 +1 @@
1
- {"version":3,"file":"textContent.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/mdoc/textContent.ts"],"names":[],"mappings":"AAOA,QAAA,MAAM,aAAa,qCAAa,CAAA;AAGhC,wBAAgB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAYnD;AAID,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AAED,OAAO,EAAE,aAAa,IAAI,aAAa,EAAE,CAAA;AAEzC,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GACxD;IACE,IAAI,EAAE,aAAa,CAAA;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CACzD,GACD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3D;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAyD9D;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAO,GACpC,WAAW,EAAE,CA+Df"}
1
+ {"version":3,"file":"textContent.d.ts","sourceRoot":"","sources":["../../../../src/components/chat/mdoc/textContent.ts"],"names":[],"mappings":"AAOA,QAAA,MAAM,aAAa,qCAAa,CAAA;AAGhC,wBAAgB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAYnD;AAID,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AAED,OAAO,EAAE,aAAa,IAAI,aAAa,EAAE,CAAA;AAEzC,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GACxD;IACE,IAAI,EAAE,aAAa,CAAA;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CACzD,GACD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3D;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1D;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAA;CAAE,CAAA;AA4DjF;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG;IAC1D,SAAS,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAA;IACtC,UAAU,EAAE,MAAM,CAAA;CACnB,GAAG,IAAI,CAeP;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAO,GACpC,WAAW,EAAE,CAqFf"}