zcw-shared 2.11.0 → 2.12.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 (42) hide show
  1. package/dist/constants/apiErrorCodes.d.ts +2 -2
  2. package/dist/constants/apiErrorCodes.js +11 -12
  3. package/dist/constants/apiErrorCodes.js.map +1 -1
  4. package/dist/functions/chat/chatShellTabConfig.d.ts +6 -1
  5. package/dist/functions/chat/chatShellTabConfig.js +27 -24
  6. package/dist/functions/chat/chatShellTabConfig.js.map +1 -1
  7. package/dist/functions/chat/chatShellTabEditor.js +1 -0
  8. package/dist/functions/chat/chatShellTabEditor.js.map +1 -1
  9. package/dist/functions/dom/copyHtmlAndPlainToClipboard.d.ts +1 -0
  10. package/dist/functions/dom/copyHtmlAndPlainToClipboard.js +68 -0
  11. package/dist/functions/dom/copyHtmlAndPlainToClipboard.js.map +1 -0
  12. package/dist/functions/im/forwardBundlePayload.d.ts +23 -0
  13. package/dist/functions/im/forwardBundlePayload.js +59 -0
  14. package/dist/functions/im/forwardBundlePayload.js.map +1 -0
  15. package/dist/functions/im/getActiveMentionQuery.d.ts +4 -0
  16. package/dist/functions/im/getActiveMentionQuery.js +23 -0
  17. package/dist/functions/im/getActiveMentionQuery.js.map +1 -0
  18. package/dist/functions/im/imInlineContentTokens.d.ts +49 -0
  19. package/dist/functions/im/imInlineContentTokens.js +185 -0
  20. package/dist/functions/im/imInlineContentTokens.js.map +1 -0
  21. package/dist/functions/im/imRichClipboardPlain.d.ts +8 -0
  22. package/dist/functions/im/imRichClipboardPlain.js +162 -0
  23. package/dist/functions/im/imRichClipboardPlain.js.map +1 -0
  24. package/dist/functions/im/imRichContentHtml.d.ts +53 -0
  25. package/dist/functions/im/imRichContentHtml.js +476 -0
  26. package/dist/functions/im/imRichContentHtml.js.map +1 -0
  27. package/dist/functions/im/index.d.ts +4 -0
  28. package/dist/functions/im/index.js +5 -0
  29. package/dist/functions/im/index.js.map +1 -0
  30. package/dist/functions/im/parseImMentionSegments.d.ts +8 -4
  31. package/dist/functions/im/parseImMentionSegments.js +32 -2
  32. package/dist/functions/im/parseImMentionSegments.js.map +1 -1
  33. package/dist/functions/tencent-cloud/deploy.tcb.d.ts +0 -1
  34. package/dist/functions/tencent-cloud/deploy.tcb.js +0 -1
  35. package/dist/functions/tencent-cloud/deploy.tcb.js.map +1 -1
  36. package/dist/schemas/video.schema.d.ts +6 -6
  37. package/package.json +21 -15
  38. package/types/chat-shell-tab-config.d.ts +5 -4
  39. package/types/im-api.d.ts +11 -1
  40. package/types/im-chat.d.ts +40 -4
  41. package/types/im-forward.d.ts +37 -0
  42. package/types/im-reply.d.ts +6 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imInlineContentTokens.js","sourceRoot":"","sources":["../../../src/functions/im/imInlineContentTokens.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { type ImRichContentSegment, type MaterializeImRichHtmlOptions } from './imRichContentHtml';
2
+ export declare const IM_CLIPBOARD_PLAIN_SEP = "\u2060";
3
+ export declare function formatImMentionClipboardPlainToken(userId: string, label: string): string;
4
+ export declare function formatImImageClipboardPlainToken(url: string, alt?: string, width?: number, height?: number): string;
5
+ export declare function formatImFileClipboardPlainToken(path: string, label: string): string;
6
+ export declare function hasImRichClipboardPlainMarkers(text: string): boolean;
7
+ export declare function parseImRichClipboardPlainText(text: string): ImRichContentSegment[];
8
+ export declare function materializeImRichHtmlToRestorablePlainText(content: string, options?: MaterializeImRichHtmlOptions): string;
@@ -0,0 +1,162 @@
1
+ import { isImRichHtmlContent, parseImRichContentHtml, resolveImMentionDisplayLabel, } from './imRichContentHtml';
2
+ export const IM_CLIPBOARD_PLAIN_SEP = '\u2060';
3
+ const RE_PLAIN_MENTION = new RegExp(`@([^${IM_CLIPBOARD_PLAIN_SEP}@]+)${IM_CLIPBOARD_PLAIN_SEP}([^${IM_CLIPBOARD_PLAIN_SEP}]+)${IM_CLIPBOARD_PLAIN_SEP}`, 'g');
4
+ const RE_PLAIN_IMAGE = new RegExp(`\\[图片\\]${IM_CLIPBOARD_PLAIN_SEP}([^${IM_CLIPBOARD_PLAIN_SEP}]+)${IM_CLIPBOARD_PLAIN_SEP}(?:([^${IM_CLIPBOARD_PLAIN_SEP}]*)${IM_CLIPBOARD_PLAIN_SEP})?(?:(\\d+)${IM_CLIPBOARD_PLAIN_SEP}(\\d+)${IM_CLIPBOARD_PLAIN_SEP})?`, 'g');
5
+ const RE_PLAIN_FILE = new RegExp(`\\[文件\\]\\s*([^${IM_CLIPBOARD_PLAIN_SEP}]+)${IM_CLIPBOARD_PLAIN_SEP}([^${IM_CLIPBOARD_PLAIN_SEP}]+)${IM_CLIPBOARD_PLAIN_SEP}`, 'g');
6
+ export function formatImMentionClipboardPlainToken(userId, label) {
7
+ const uid = userId.trim();
8
+ const lb = label.trim() || uid;
9
+ if (!uid)
10
+ return lb ? `@${lb}` : '@';
11
+ return `@${lb}${IM_CLIPBOARD_PLAIN_SEP}${uid}${IM_CLIPBOARD_PLAIN_SEP}`;
12
+ }
13
+ export function formatImImageClipboardPlainToken(url, alt = '图片', width = 0, height = 0) {
14
+ const src = url.trim();
15
+ if (!src)
16
+ return '[图片]';
17
+ const lb = alt.trim() || '图片';
18
+ const w = width > 0 ? Math.floor(width) : 0;
19
+ const h = height > 0 ? Math.floor(height) : 0;
20
+ let out = `[图片]${IM_CLIPBOARD_PLAIN_SEP}${src}${IM_CLIPBOARD_PLAIN_SEP}${lb}${IM_CLIPBOARD_PLAIN_SEP}`;
21
+ if (w > 0 && h > 0) {
22
+ out += `${w}${IM_CLIPBOARD_PLAIN_SEP}${h}${IM_CLIPBOARD_PLAIN_SEP}`;
23
+ }
24
+ return out;
25
+ }
26
+ export function formatImFileClipboardPlainToken(path, label) {
27
+ const p = path.trim();
28
+ const lb = label.trim() || p.split(/[/\\]/).pop() || p;
29
+ if (!p && !lb)
30
+ return '[文件]';
31
+ return `[文件] ${lb}${IM_CLIPBOARD_PLAIN_SEP}${p}${IM_CLIPBOARD_PLAIN_SEP}`;
32
+ }
33
+ export function hasImRichClipboardPlainMarkers(text) {
34
+ const raw = text ?? '';
35
+ if (!raw.includes(IM_CLIPBOARD_PLAIN_SEP))
36
+ return false;
37
+ RE_PLAIN_MENTION.lastIndex = 0;
38
+ RE_PLAIN_IMAGE.lastIndex = 0;
39
+ RE_PLAIN_FILE.lastIndex = 0;
40
+ return (RE_PLAIN_MENTION.test(raw) ||
41
+ RE_PLAIN_IMAGE.test(raw) ||
42
+ RE_PLAIN_FILE.test(raw));
43
+ }
44
+ function collectPlainMatches(text) {
45
+ const out = [];
46
+ RE_PLAIN_MENTION.lastIndex = 0;
47
+ let mm;
48
+ while ((mm = RE_PLAIN_MENTION.exec(text)) !== null) {
49
+ const label = mm[1]?.trim() ?? '';
50
+ const userId = mm[2]?.trim() ?? '';
51
+ if (!userId)
52
+ continue;
53
+ out.push({
54
+ index: mm.index,
55
+ length: mm[0].length,
56
+ segment: { type: 'mention', userId, label: label || userId },
57
+ });
58
+ }
59
+ RE_PLAIN_IMAGE.lastIndex = 0;
60
+ let im;
61
+ while ((im = RE_PLAIN_IMAGE.exec(text)) !== null) {
62
+ const url = im[1]?.trim() ?? '';
63
+ const alt = im[2]?.trim() || '图片';
64
+ const w = Number.parseInt(im[3] ?? '', 10);
65
+ const h = Number.parseInt(im[4] ?? '', 10);
66
+ if (!url)
67
+ continue;
68
+ out.push({
69
+ index: im.index,
70
+ length: im[0].length,
71
+ segment: {
72
+ type: 'image',
73
+ url,
74
+ alt,
75
+ ...(Number.isFinite(w) && w > 0 && Number.isFinite(h) && h > 0
76
+ ? { width: w, height: h }
77
+ : {}),
78
+ },
79
+ });
80
+ }
81
+ RE_PLAIN_FILE.lastIndex = 0;
82
+ let fm;
83
+ while ((fm = RE_PLAIN_FILE.exec(text)) !== null) {
84
+ const label = fm[1]?.trim() ?? '';
85
+ const path = fm[2]?.trim() ?? '';
86
+ if (!path && !label)
87
+ continue;
88
+ out.push({
89
+ index: fm.index,
90
+ length: fm[0].length,
91
+ segment: { type: 'file', path, label: label || path },
92
+ });
93
+ }
94
+ out.sort((a, b) => a.index - b.index);
95
+ return out;
96
+ }
97
+ export function parseImRichClipboardPlainText(text) {
98
+ const raw = text ?? '';
99
+ if (!raw)
100
+ return [{ type: 'text', text: '' }];
101
+ if (!hasImRichClipboardPlainMarkers(raw)) {
102
+ return [{ type: 'text', text: raw }];
103
+ }
104
+ const matches = collectPlainMatches(raw);
105
+ if (matches.length === 0)
106
+ return [{ type: 'text', text: raw }];
107
+ const segments = [];
108
+ let cursor = 0;
109
+ for (const hit of matches) {
110
+ if (hit.index > cursor) {
111
+ const chunk = raw.slice(cursor, hit.index);
112
+ if (chunk)
113
+ segments.push({ type: 'text', text: chunk });
114
+ }
115
+ segments.push(hit.segment);
116
+ cursor = hit.index + hit.length;
117
+ }
118
+ if (cursor < raw.length) {
119
+ const tail = raw.slice(cursor);
120
+ if (tail)
121
+ segments.push({ type: 'text', text: tail });
122
+ }
123
+ return segments.length > 0 ? segments : [{ type: 'text', text: raw }];
124
+ }
125
+ export function materializeImRichHtmlToRestorablePlainText(content, options) {
126
+ const raw = content?.trim() ?? '';
127
+ if (!raw)
128
+ return '';
129
+ if (!isImRichHtmlContent(raw)) {
130
+ return raw.replace(/\n+$/, '');
131
+ }
132
+ const segments = parseImRichContentHtml(raw);
133
+ let out = '';
134
+ for (const seg of segments) {
135
+ if (seg.type === 'text') {
136
+ out += seg.text;
137
+ continue;
138
+ }
139
+ if (seg.type === 'mention') {
140
+ const id = seg.userId.trim();
141
+ const embedded = seg.label.trim();
142
+ const resolved = options?.resolveMentionLabel?.(id)?.trim() ||
143
+ options?.mentionFallbackLabel?.(id)?.trim();
144
+ const label = resolveImMentionDisplayLabel(id, embedded, resolved);
145
+ out += formatImMentionClipboardPlainToken(id, label);
146
+ continue;
147
+ }
148
+ if (seg.type === 'image') {
149
+ out += formatImImageClipboardPlainToken(seg.url, seg.alt ?? '图片', seg.width ?? 0, seg.height ?? 0);
150
+ continue;
151
+ }
152
+ if (seg.type === 'file') {
153
+ out += formatImFileClipboardPlainToken(seg.path, seg.label);
154
+ continue;
155
+ }
156
+ if (seg.type === 'emoji') {
157
+ out += seg.glyph;
158
+ }
159
+ }
160
+ return out;
161
+ }
162
+ //# sourceMappingURL=imRichClipboardPlain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imRichClipboardPlain.js","sourceRoot":"","sources":["../../../src/functions/im/imRichClipboardPlain.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ export declare const IM_RICH_MENTION_ATTR = "data-cw-mention";
2
+ export declare const IM_RICH_USER_ID_ATTR = "data-user-id";
3
+ export declare const IM_RICH_LABEL_ATTR = "data-label";
4
+ export declare const IM_RICH_INLINE_IMAGE_ATTR = "data-cw-inline-image";
5
+ export declare const IM_RICH_FILE_ATTR = "data-cw-file";
6
+ export declare const IM_RICH_FILE_PATH_ATTR = "data-path";
7
+ export declare const IM_RICH_EMOJI_ATTR = "data-emoji";
8
+ export declare const IM_RICH_EMOJI_WRAP_CLASS = "cw-emoji-wrap inline-flex items-center align-middle leading-none";
9
+ export declare const IM_RICH_EMOJI_IMG_CLASS = "cw-emoji shrink-0 object-contain inline-block h-[1.25em] w-[1.25em] align-middle [-webkit-user-drag:none]";
10
+ export type ImRichContentSegment = {
11
+ type: 'text';
12
+ text: string;
13
+ } | {
14
+ type: 'mention';
15
+ userId: string;
16
+ label: string;
17
+ } | {
18
+ type: 'file';
19
+ path: string;
20
+ label: string;
21
+ } | {
22
+ type: 'image';
23
+ url: string;
24
+ width?: number;
25
+ height?: number;
26
+ alt?: string;
27
+ } | {
28
+ type: 'emoji';
29
+ glyph: string;
30
+ src?: string;
31
+ };
32
+ export type MaterializeImRichHtmlOptions = {
33
+ resolveMentionLabel?: (userId: string) => string;
34
+ mentionFallbackLabel?: (userId: string) => string;
35
+ formatImage?: (url: string) => string;
36
+ formatFile?: (path: string, label: string) => string;
37
+ };
38
+ export declare function hasImRichInlineClipboardMarkers(html: string): boolean;
39
+ export declare function isImRichHtmlContent(content: string): boolean;
40
+ export declare function contentHasPendingInlineImages(html: string): boolean;
41
+ export declare function resolveImMentionDisplayLabel(userId: string, embeddedLabel: string | undefined, resolvedLabel?: string | undefined): string;
42
+ export declare function parseImRichContentHtml(content: string): ImRichContentSegment[];
43
+ export declare function extractImRichMentionUserIds(content: string): string[];
44
+ export declare function materializeImRichHtmlToPlainText(content: string, options?: MaterializeImRichHtmlOptions): string;
45
+ export declare function serializeImRichContentSegments(segments: readonly ImRichContentSegment[]): string;
46
+ export type DemoteOutOfScopeMentionsOptions = {
47
+ allowedUserIds: ReadonlySet<string> | readonly string[];
48
+ resolveMentionLabel?: (userId: string) => string;
49
+ };
50
+ export declare function demoteOutOfScopeMentionsInImRichHtml(content: string, options: DemoteOutOfScopeMentionsOptions): string;
51
+ export declare function sanitizeImRichContentHtml(html: string): string;
52
+ export declare function normalizeImRichEditorClipboardHtml(html: string): string;
53
+ export declare function replacePendingInlineImageSrcInHtml(html: string, upload: (dataUrl: string, alt: string) => Promise<string>): Promise<string>;