@freecallai/pro 0.0.12 → 0.0.14

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 (55) hide show
  1. package/README.md +23 -2
  2. package/dist/{FkpRichText.vue_vue_type_script_setup_true_lang-DiS7CZdc.js → FkpRichText.vue_vue_type_script_setup_true_lang-D-SOdFra.js} +1364 -1349
  3. package/dist/{KnowledgeArea-FGgCcubh.js → KnowledgeArea-ClZoLiaZ.js} +1 -1
  4. package/dist/KnowledgeArea.vue_vue_type_script_setup_true_lang-CoFF-WCe.js +1830 -0
  5. package/dist/{ToolForm-CHmdyhjh.js → ToolForm-BK9epxdr.js} +1 -1
  6. package/dist/agent-prompt-editor/index.js +510 -495
  7. package/dist/agent-prompt-editor/legacy-converter/index.js +2 -2
  8. package/dist/{choice-CUCsR2dN.js → choice-UgePgrSl.js} +1 -1
  9. package/dist/{guard-DgExtfXo.js → guard-DPwe4mCm.js} +1 -0
  10. package/dist/{index-DqJvaPTD.js → index-BIi3k45j.js} +1 -1
  11. package/dist/index-BMHUPL5x.js +5 -0
  12. package/dist/{index-pdr6mUf0.js → index-CaA13lC9.js} +1 -1
  13. package/dist/{index-C54ce9Tn.js → index-ChuzFuNm.js} +1 -1
  14. package/dist/index-DJLfgC4v.js +5 -0
  15. package/dist/{index-dnsGFj0F.js → index-DfKH-RZq.js} +2 -2
  16. package/dist/{index-DaGfiqBX.js → index-DiLMgNEe.js} +1 -1
  17. package/dist/{index-BwZXmefJ.js → index-RHu4JIw7.js} +1 -1
  18. package/dist/{index-DIMONp3g.js → index-v1UD08i6.js} +1 -1
  19. package/dist/index.js +3 -3
  20. package/dist/{inline-BpwAryXp.js → inline-CVF1zEsG.js} +1 -1
  21. package/dist/{knowledge-DIzYk2iM.js → knowledge-DWM6tWnP.js} +1 -1
  22. package/dist/{media-migration-Bnfn27i9.js → media-migration-BctCLEuT.js} +1 -1
  23. package/dist/{media-policy-tG5OHWSj.js → media-policy-B1UuSN2e.js} +1 -1
  24. package/dist/{media-upload-_xeZtn3i.js → media-upload-DtH-oCtw.js} +1 -1
  25. package/dist/{model-DlAjlPai.js → model-VLLhEQfn.js} +1 -1
  26. package/dist/rich-text/index.js +6 -6
  27. package/dist/rich-text/legacy-converter/index.js +2 -2
  28. package/dist/style.css +1 -1
  29. package/dist/types/agent-prompt-editor/FkpAgentPromptEditor.vue.d.ts +33 -2
  30. package/dist/types/agent-prompt-editor/index.d.ts +1 -0
  31. package/dist/types/agent-prompt-editor/types.d.ts +4 -0
  32. package/dist/types/filters/FkpFilter.vue.d.ts +2 -2
  33. package/dist/types/filters/FkpFilterDateRange.vue.d.ts +2 -2
  34. package/dist/types/filters/FkpFilterPeriod.vue.d.ts +2 -2
  35. package/dist/types/filters/FkpSearchableMultiSelect.vue.d.ts +2 -2
  36. package/dist/types/index.d.ts +1 -0
  37. package/dist/types/rich-text/FkpRichText.vue.d.ts +18 -2
  38. package/dist/types/rich-text/index.d.ts +1 -0
  39. package/dist/types/rich-text/plugins/attribute/token.d.ts +1 -0
  40. package/dist/types/rich-text/plugins/tableKnowledge/token.d.ts +1 -0
  41. package/dist/types/rich-text/plugins/ticket/token.d.ts +2 -1
  42. package/dist/types/rich-text/plugins/token-catalog.d.ts +4 -1
  43. package/dist/types/rich-text/plugins/token-definition.d.ts +2 -0
  44. package/dist/types/rich-text/public/types.d.ts +5 -0
  45. package/dist/types/rich-text/runtime/document-adapter.d.ts +3 -0
  46. package/dist/types/rich-text/runtime/tag-validity.d.ts +46 -0
  47. package/dist/types/rich-text/ui/FkpKnowledgeTypePicker.vue.d.ts +2 -2
  48. package/dist/types/rich-text/ui/KnowledgeArea.vue.d.ts +9 -0
  49. package/dist/types/rich-text/ui/MediaSourceControls.vue.d.ts +10 -10
  50. package/dist/types/rich-text/ui/ToolForm.vue.d.ts +2 -2
  51. package/dist/types/switcher/FkpSwitcher.vue.d.ts +2 -2
  52. package/package.json +5 -4
  53. package/dist/KnowledgeArea.vue_vue_type_script_setup_true_lang-JH_F4CFe.js +0 -1663
  54. package/dist/index-CMl5mgFR.js +0 -5
  55. package/dist/index-Cs38tTe4.js +0 -5
@@ -1,3 +1,4 @@
1
+ import { TagValidityPort, TagValidityReport } from '../rich-text/runtime/tag-validity';
1
2
  import { CapabilityOption, MediaAsset, Page, PortResult, RichTextInsertOption, RichTextInsertResult, VariableOption } from '../rich-text/public/types';
2
3
  import { AgentPromptCapabilityId, AgentPromptIssue } from './model';
3
4
  export interface AgentPromptCapabilityRuleV1 {
@@ -19,6 +20,8 @@ export interface AgentPromptPortContext {
19
20
  reportProgress?: (percent: number) => void;
20
21
  }
21
22
  export interface AgentPromptPorts {
23
+ /** 校验提示词正文标签的当前业务状态。 */
24
+ validateTags?: TagValidityPort;
22
25
  uploadMedia?: (input: {
23
26
  file: File;
24
27
  kind: 'image' | 'video';
@@ -50,6 +53,7 @@ export type AgentPromptInsertInput = {
50
53
  option?: RichTextInsertOption;
51
54
  };
52
55
  export interface AgentPromptEditorHandle {
56
+ validateTagValidity(): Promise<TagValidityReport>;
53
57
  insertContent(input: AgentPromptInsertInput): Promise<RichTextInsertResult>;
54
58
  focus(): void;
55
59
  validate(): AgentPromptIssue[];
@@ -7,14 +7,14 @@ type __VLS_Props = {
7
7
  declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
8
8
  search: (value: string, field: string | undefined) => any;
9
9
  clear: () => any;
10
- "update:modelValue": (value: FilterModelValue) => any;
11
10
  change: (value: FilterModelValue) => any;
11
+ "update:modelValue": (value: FilterModelValue) => any;
12
12
  "update:field": (field: string) => any;
13
13
  }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
14
14
  onSearch?: ((value: string, field: string | undefined) => any) | undefined;
15
15
  onClear?: (() => any) | undefined;
16
- "onUpdate:modelValue"?: ((value: FilterModelValue) => any) | undefined;
17
16
  onChange?: ((value: FilterModelValue) => any) | undefined;
17
+ "onUpdate:modelValue"?: ((value: FilterModelValue) => any) | undefined;
18
18
  "onUpdate:field"?: ((field: string) => any) | undefined;
19
19
  }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
20
20
  export default _default;
@@ -4,10 +4,10 @@ type __VLS_Props = {
4
4
  disabled?: boolean;
5
5
  };
6
6
  declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
7
- "update:modelValue": (value: string[]) => any;
8
7
  change: (value: string[]) => any;
8
+ "update:modelValue": (value: string[]) => any;
9
9
  }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
10
- "onUpdate:modelValue"?: ((value: string[]) => any) | undefined;
11
10
  onChange?: ((value: string[]) => any) | undefined;
11
+ "onUpdate:modelValue"?: ((value: string[]) => any) | undefined;
12
12
  }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
13
13
  export default _default;
@@ -8,10 +8,10 @@ type __VLS_Props = {
8
8
  disabled?: boolean;
9
9
  };
10
10
  declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
11
- "update:modelValue": (value: string | number) => any;
12
11
  change: (value: string | number) => any;
12
+ "update:modelValue": (value: string | number) => any;
13
13
  }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
14
- "onUpdate:modelValue"?: ((value: string | number) => any) | undefined;
15
14
  onChange?: ((value: string | number) => any) | undefined;
15
+ "onUpdate:modelValue"?: ((value: string | number) => any) | undefined;
16
16
  }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
17
17
  export default _default;
@@ -22,11 +22,11 @@ declare function __VLS_template(): {
22
22
  };
23
23
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
24
24
  declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
25
- "update:modelValue": (value: FilterValue[]) => any;
26
25
  change: (value: FilterValue[]) => any;
26
+ "update:modelValue": (value: FilterValue[]) => any;
27
27
  }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
28
- "onUpdate:modelValue"?: ((value: FilterValue[]) => any) | undefined;
29
28
  onChange?: ((value: FilterValue[]) => any) | undefined;
29
+ "onUpdate:modelValue"?: ((value: FilterValue[]) => any) | undefined;
30
30
  }>, {
31
31
  modelValue: FilterValue[];
32
32
  placeholder: string;
@@ -8,6 +8,7 @@ export { default as FkpKnowledgeTypePicker } from './knowledge-type-picker';
8
8
  export type { FkpKnowledgeTypePickerProps } from './knowledge-type-picker';
9
9
  export type { MediaSource, MediaSourceOptions, } from './rich-text/runtime/media-sources';
10
10
  export type { KnowledgeMode } from './rich-text/types';
11
+ export type { TagValidityInput, TagValidityItem, TagValidityContext, TagValidityPort, TagValidityReport, } from './rich-text/runtime/tag-validity';
11
12
  export type { FkpRichTextProps, CapabilityModuleLoader, FkpRichTextHandle, RichTextInsertInput, RichTextInsertOption, RichTextInsertResult, KnowledgeSceneV1, KnowledgeConditionV1, LoadedConditionV1, SaveConditionInputV1, SavedConditionV1, KnowledgePersistenceAdapterV1, KnowledgeType, AddKnowledgeSceneRequest, DeleteKnowledgeSceneRequest, CapabilityId, CapabilitySlot, CapabilityRuleV1, SceneConfigInputV1, RichTextHostPorts, PortRequestContext, PortResult, PortErrorCode, Page, CapabilityOption, ToolFormField, ToolFormDefinition, VariableOption, AgentSummary, AgentPrompt, AgentPromptPreviewPart, MediaAsset, SceneConfigLayersV1, HostPolicySnapshotV1, EditorDiagnostic, ChangeMeta, } from './rich-text/public/types';
12
13
  export type { CapabilityDescriptor } from './rich-text/config/descriptor';
13
14
  export type { CapabilityModule, PluginInput, PluginOperation, PluginActionContext, } from './rich-text/plugins/operations';
@@ -4,12 +4,13 @@ import { MediaTarget } from './runtime/media-target';
4
4
  import { PluginPlan } from './runtime/operations';
5
5
  import { CapabilityId, AddKnowledgeSceneRequest, DeleteKnowledgeSceneRequest, ChangeMeta, EditorDiagnostic, FkpRichTextProps, RichTextInsertInput, RichTextInsertResult, KnowledgeSceneV1 } from './public/types';
6
6
  declare const _default: import('vue').DefineComponent<FkpRichTextProps, {
7
+ validateTagValidity(): Promise<import('.').TagValidityReport>;
7
8
  undoTypeSwitch(): boolean;
8
9
  insertContent(input: RichTextInsertInput): Promise<RichTextInsertResult>;
9
10
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
11
+ change: (scene: KnowledgeSceneV1, meta: ChangeMeta) => any;
10
12
  delete: (request: DeleteKnowledgeSceneRequest) => any;
11
13
  "update:modelValue": (scene: KnowledgeSceneV1) => any;
12
- change: (scene: KnowledgeSceneV1, meta: ChangeMeta) => any;
13
14
  help: (request: {
14
15
  capabilityId: CapabilityId;
15
16
  }) => any;
@@ -23,9 +24,9 @@ declare const _default: import('vue').DefineComponent<FkpRichTextProps, {
23
24
  }) => any;
24
25
  "add-scene": (request: AddKnowledgeSceneRequest) => any;
25
26
  }, string, import('vue').PublicProps, Readonly<FkpRichTextProps> & Readonly<{
27
+ onChange?: ((scene: KnowledgeSceneV1, meta: ChangeMeta) => any) | undefined;
26
28
  onDelete?: ((request: DeleteKnowledgeSceneRequest) => any) | undefined;
27
29
  "onUpdate:modelValue"?: ((scene: KnowledgeSceneV1) => any) | undefined;
28
- onChange?: ((scene: KnowledgeSceneV1, meta: ChangeMeta) => any) | undefined;
29
30
  onHelp?: ((request: {
30
31
  capabilityId: CapabilityId;
31
32
  }) => any) | undefined;
@@ -52,6 +53,8 @@ declare const _default: import('vue').DefineComponent<FkpRichTextProps, {
52
53
  toolbarLeft: HTMLDivElement;
53
54
  area: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
54
55
  modelValue: JSONContent;
56
+ tagValidityPort?: import('.').TagValidityPort;
57
+ tagValidityKey?: string;
55
58
  editable: boolean;
56
59
  placeholder?: string;
57
60
  referencePlaceholder?: boolean;
@@ -63,6 +66,7 @@ declare const _default: import('vue').DefineComponent<FkpRichTextProps, {
63
66
  "onUpdate:modelValue"?: ((value: JSONContent) => any) | undefined;
64
67
  "onRetry-media"?: ((id: string) => any) | undefined;
65
68
  "onLoad-error"?: ((message: string) => any) | undefined;
69
+ "onTag-validity-error"?: ((message: string) => any) | undefined;
66
70
  "onEdit-tool"?: ((payload: {
67
71
  nodeId: string;
68
72
  nodeVersion: number;
@@ -79,6 +83,10 @@ declare const _default: import('vue').DefineComponent<FkpRichTextProps, {
79
83
  }) => any) | undefined;
80
84
  "onLeave-choice"?: (() => any) | undefined;
81
85
  }>, {
86
+ validateTagValidity: () => Promise<import('.').TagValidityReport | {
87
+ status: "unavailable";
88
+ items: never[];
89
+ }>;
82
90
  pasteClipboardContent: (event: ClipboardEvent) => MediaTarget | null;
83
91
  isSelectionInsideOriginalReply: () => boolean;
84
92
  insertToken: (kind: string, key: string, label: string, token?: string, params?: Record<string, unknown>) => boolean;
@@ -157,6 +165,7 @@ declare const _default: import('vue').DefineComponent<FkpRichTextProps, {
157
165
  "update:modelValue": (value: JSONContent) => any;
158
166
  "retry-media": (id: string) => any;
159
167
  "load-error": (message: string) => any;
168
+ "tag-validity-error": (message: string) => any;
160
169
  "edit-tool": (payload: {
161
170
  nodeId: string;
162
171
  nodeVersion: number;
@@ -183,6 +192,8 @@ declare const _default: import('vue').DefineComponent<FkpRichTextProps, {
183
192
  Defaults: {};
184
193
  }, Readonly<{
185
194
  modelValue: JSONContent;
195
+ tagValidityPort?: import('.').TagValidityPort;
196
+ tagValidityKey?: string;
186
197
  editable: boolean;
187
198
  placeholder?: string;
188
199
  referencePlaceholder?: boolean;
@@ -194,6 +205,7 @@ declare const _default: import('vue').DefineComponent<FkpRichTextProps, {
194
205
  "onUpdate:modelValue"?: ((value: JSONContent) => any) | undefined;
195
206
  "onRetry-media"?: ((id: string) => any) | undefined;
196
207
  "onLoad-error"?: ((message: string) => any) | undefined;
208
+ "onTag-validity-error"?: ((message: string) => any) | undefined;
197
209
  "onEdit-tool"?: ((payload: {
198
210
  nodeId: string;
199
211
  nodeVersion: number;
@@ -210,6 +222,10 @@ declare const _default: import('vue').DefineComponent<FkpRichTextProps, {
210
222
  }) => any) | undefined;
211
223
  "onLeave-choice"?: (() => any) | undefined;
212
224
  }>, {
225
+ validateTagValidity: () => Promise<import('.').TagValidityReport | {
226
+ status: "unavailable";
227
+ items: never[];
228
+ }>;
213
229
  pasteClipboardContent: (event: ClipboardEvent) => MediaTarget | null;
214
230
  isSelectionInsideOriginalReply: () => boolean;
215
231
  insertToken: (kind: string, key: string, label: string, token?: string, params?: Record<string, unknown>) => boolean;
@@ -20,3 +20,4 @@ export { buildAgentInvocationContext } from './model/agent-context';
20
20
  export type { AgentInvocationContext } from './model/agent-context';
21
21
  export { serializeQuestionForModel, serializeQuestionTagsForModel, } from './model/question-text';
22
22
  export type { SceneValidationResult, SceneValidationIssue, } from './model/validate';
23
+ export type { TagValidityInput, TagValidityItem, TagValidityContext, TagValidityPort, TagValidityReport, } from './runtime/tag-validity';
@@ -1,5 +1,6 @@
1
1
  export declare const attributeToken: {
2
2
  allowInOriginalReply: false;
3
+ validateValidity?: false;
3
4
  choice: true;
4
5
  requiresInsertToken?: true;
5
6
  allowsParams?: true;
@@ -1,5 +1,6 @@
1
1
  export declare const tableKnowledgeToken: {
2
2
  validate: (attrs: Readonly<Record<string, unknown>>) => "label" | null;
3
+ validateValidity?: false;
3
4
  choice: true;
4
5
  requiresInsertToken?: true;
5
6
  allowsParams?: true;
@@ -1,6 +1,7 @@
1
1
  export declare const ticketToken: {
2
2
  allowsParams: true;
3
- validate(attrs: Readonly<Record<string, unknown>>): "label" | "params" | "key" | null;
3
+ validate(attrs: Readonly<Record<string, unknown>>): "params" | "key" | "label" | null;
4
+ validateValidity?: false;
4
5
  choice: true;
5
6
  requiresInsertToken?: true;
6
7
  allowInOriginalReply?: false;
@@ -6,7 +6,8 @@ export declare const tokenCatalog: {
6
6
  };
7
7
  ticket: {
8
8
  allowsParams: true;
9
- validate(attrs: Readonly<Record<string, unknown>>): "label" | "params" | "key" | null;
9
+ validate(attrs: Readonly<Record<string, unknown>>): "params" | "key" | "label" | null;
10
+ validateValidity?: false;
10
11
  choice: true;
11
12
  requiresInsertToken?: true;
12
13
  allowInOriginalReply?: false;
@@ -15,6 +16,7 @@ export declare const tokenCatalog: {
15
16
  };
16
17
  tableKnowledge: {
17
18
  validate: (attrs: Readonly<Record<string, unknown>>) => "label" | null;
19
+ validateValidity?: false;
18
20
  choice: true;
19
21
  requiresInsertToken?: true;
20
22
  allowsParams?: true;
@@ -25,6 +27,7 @@ export declare const tokenCatalog: {
25
27
  variable: BusinessTokenDefinition;
26
28
  attribute: {
27
29
  allowInOriginalReply: false;
30
+ validateValidity?: false;
28
31
  choice: true;
29
32
  requiresInsertToken?: true;
30
33
  allowsParams?: true;
@@ -10,6 +10,8 @@ export interface TokenPresentation {
10
10
  }
11
11
  /** Pure metadata/codecs: importing these contracts never loads editor views. */
12
12
  export interface BusinessTokenDefinition {
13
+ /** Fixed markers do not refer to a host-owned object. */
14
+ validateValidity?: false;
13
15
  choice?: true;
14
16
  requiresInsertToken?: true;
15
17
  allowsParams?: true;
@@ -1,3 +1,4 @@
1
+ import { TagValidityPort, TagValidityReport } from '../runtime/tag-validity';
1
2
  import { JSONContent } from '@tiptap/core';
2
3
  import { CapabilityDescriptor } from '../config/descriptor';
3
4
  import { CapabilityModule } from '../plugins/operations';
@@ -504,6 +505,8 @@ export interface MediaAsset {
504
505
  posterUrl?: string;
505
506
  }
506
507
  export interface RichTextHostPorts {
508
+ /** 校验正文标签的当前业务状态;失败不等同于失效。 */
509
+ validateTags?: TagValidityPort;
507
510
  /** 分页查询变量,返回含 token 的平铺变量选项;可用 group 在前端分栏。
508
511
  * @en Search flat, paged variable options with tokens; group controls the client-side columns.
509
512
  */
@@ -629,6 +632,8 @@ export interface FkpRichTextProps {
629
632
  }
630
633
  export type CapabilityModuleLoader = (descriptor: Readonly<CapabilityDescriptor>) => CapabilityModule | undefined | Promise<CapabilityModule | undefined>;
631
634
  export interface FkpRichTextHandle {
635
+ /** 刷新正文标签状态;不会修改正文。 */
636
+ validateTagValidity(): Promise<TagValidityReport>;
632
637
  /** 撤销最近一次尚未被后续编辑覆盖的知识类型切换。
633
638
  * @en Undo the most recent uninterrupted knowledge type switch.
634
639
  */
@@ -1,9 +1,12 @@
1
1
  import { Extensions } from '@tiptap/core';
2
+ import { Node as ProseMirrorNode } from '@tiptap/pm/model';
3
+ import { TagValidityInput } from './tag-validity';
2
4
  import { KnowledgeClipboardAdapter } from './knowledge-clipboard';
3
5
  /** Private seam between the document editor and its scene-specific host. */
4
6
  export interface DocumentAdapter {
5
7
  ariaLabel: string;
6
8
  placeholder: string;
7
9
  extensions?: Extensions;
10
+ describeTagValidity?: (node: ProseMirrorNode) => Omit<TagValidityInput, 'requestItemId'> | undefined;
8
11
  clipboard?: KnowledgeClipboardAdapter;
9
12
  }
@@ -0,0 +1,46 @@
1
+ import { Extension, Editor } from '@tiptap/core';
2
+ import { Node as ProseMirrorNode } from '@tiptap/pm/model';
3
+ import { PortResult } from '../public/types';
4
+ /** Host-facing description of an inline business reference. */
5
+ export interface TagValidityInput {
6
+ requestItemId: string;
7
+ kind: string;
8
+ key?: string;
9
+ label: string;
10
+ token?: string;
11
+ params?: Record<string, unknown>;
12
+ }
13
+ export interface TagValidityItem {
14
+ requestItemId: string;
15
+ status: 'valid' | 'invalid' | 'unknown';
16
+ reason?: string;
17
+ }
18
+ export interface TagValidityContext {
19
+ editorKey: string;
20
+ requestId: string;
21
+ signal: AbortSignal;
22
+ }
23
+ export type TagValidityPort = (input: {
24
+ tags: TagValidityInput[];
25
+ }, context: TagValidityContext) => Promise<PortResult<{
26
+ items: TagValidityItem[];
27
+ }>>;
28
+ export interface TagValidityReport {
29
+ status: 'complete' | 'unavailable' | 'cancelled' | 'error';
30
+ items: Array<TagValidityItem & Omit<TagValidityInput, 'requestItemId'>>;
31
+ message?: string;
32
+ }
33
+ /** Transient state: never put validity or display suffixes in the document. */
34
+ export declare function createTagValiditySession(options: {
35
+ editor: () => Editor | undefined;
36
+ port: () => TagValidityPort | undefined;
37
+ editorKey: () => string;
38
+ onError?: (message: string) => void;
39
+ describeExtra?: (node: ProseMirrorNode) => Omit<TagValidityInput, 'requestItemId'> | undefined;
40
+ }): {
41
+ extension: Extension<any, any>;
42
+ schedule: () => void;
43
+ refresh: () => Promise<TagValidityReport>;
44
+ reset: () => void;
45
+ dispose(): void;
46
+ };
@@ -14,11 +14,11 @@ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
14
14
  declare const __VLS_component: import('vue').DefineComponent<FkpKnowledgeTypePickerProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
15
15
  select: (type: KnowledgeType) => any;
16
16
  create: (request: AddKnowledgeSceneRequest) => any;
17
- "update:open": (open: boolean, source: "click" | "hover" | "select" | "leave" | "outside" | "escape") => any;
17
+ "update:open": (open: boolean, source: "click" | "select" | "hover" | "leave" | "outside" | "escape") => any;
18
18
  }, string, import('vue').PublicProps, Readonly<FkpKnowledgeTypePickerProps> & Readonly<{
19
19
  onSelect?: ((type: KnowledgeType) => any) | undefined;
20
20
  onCreate?: ((request: AddKnowledgeSceneRequest) => any) | undefined;
21
- "onUpdate:open"?: ((open: boolean, source: "click" | "hover" | "select" | "leave" | "outside" | "escape") => any) | undefined;
21
+ "onUpdate:open"?: ((open: boolean, source: "click" | "select" | "hover" | "leave" | "outside" | "escape") => any) | undefined;
22
22
  }>, {
23
23
  open: boolean | null;
24
24
  disabled: boolean;
@@ -1,4 +1,5 @@
1
1
  import { JSONContent } from '@tiptap/core';
2
+ import { TagValidityPort } from '../runtime/tag-validity';
2
3
  import { KnowledgeSchemaPlan } from '../runtime/schema-plan';
3
4
  import { DocumentAdapter } from '../runtime/document-adapter';
4
5
  import { PasteCapability } from '../runtime/knowledge-clipboard';
@@ -8,6 +9,8 @@ import { NodeMutationPlan, PluginPlan } from '../runtime/operations';
8
9
  import { MediaTarget } from '../runtime/media-target';
9
10
  type __VLS_Props = {
10
11
  modelValue: JSONContent;
12
+ tagValidityPort?: TagValidityPort;
13
+ tagValidityKey?: string;
11
14
  editable: boolean;
12
15
  placeholder?: string;
13
16
  referencePlaceholder?: boolean;
@@ -70,6 +73,10 @@ declare function captureSelection(): {
70
73
  declare function restoreSelection(selection: ReturnType<typeof captureSelection>): void;
71
74
  declare function pasteClipboardContent(event: ClipboardEvent): MediaTarget | null;
72
75
  declare const _default: import('vue').DefineComponent<__VLS_Props, {
76
+ validateTagValidity: () => Promise<import('..').TagValidityReport | {
77
+ status: "unavailable";
78
+ items: never[];
79
+ }>;
73
80
  pasteClipboardContent: typeof pasteClipboardContent;
74
81
  isSelectionInsideOriginalReply: () => boolean;
75
82
  insertToken: typeof insertToken;
@@ -104,6 +111,7 @@ declare const _default: import('vue').DefineComponent<__VLS_Props, {
104
111
  "update:modelValue": (value: JSONContent) => any;
105
112
  "retry-media": (id: string) => any;
106
113
  "load-error": (message: string) => any;
114
+ "tag-validity-error": (message: string) => any;
107
115
  "edit-tool": (payload: {
108
116
  nodeId: string;
109
117
  nodeVersion: number;
@@ -123,6 +131,7 @@ declare const _default: import('vue').DefineComponent<__VLS_Props, {
123
131
  "onUpdate:modelValue"?: ((value: JSONContent) => any) | undefined;
124
132
  "onRetry-media"?: ((id: string) => any) | undefined;
125
133
  "onLoad-error"?: ((message: string) => any) | undefined;
134
+ "onTag-validity-error"?: ((message: string) => any) | undefined;
126
135
  "onEdit-tool"?: ((payload: {
127
136
  nodeId: string;
128
137
  nodeVersion: number;
@@ -7,21 +7,21 @@ type __VLS_Props = {
7
7
  sources: readonly MediaSource[];
8
8
  };
9
9
  declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
10
- choose: (source: MediaSource) => any;
10
+ close: () => any;
11
11
  submit: (url: string) => any;
12
+ choose: (source: MediaSource) => any;
12
13
  "submit-qianniu": (value: {
13
14
  id: string;
14
15
  url: string;
15
16
  }) => any;
16
- close: () => any;
17
17
  }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
18
- onChoose?: ((source: MediaSource) => any) | undefined;
18
+ onClose?: (() => any) | undefined;
19
19
  onSubmit?: ((url: string) => any) | undefined;
20
+ onChoose?: ((source: MediaSource) => any) | undefined;
20
21
  "onSubmit-qianniu"?: ((value: {
21
22
  id: string;
22
23
  url: string;
23
24
  }) => any) | undefined;
24
- onClose?: (() => any) | undefined;
25
25
  }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
26
26
  input: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
27
27
  modelValue: StringConstructor;
@@ -76,12 +76,12 @@ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {
76
76
  prepend: StringConstructor;
77
77
  append: StringConstructor;
78
78
  }>> & Readonly<{
79
- onClear?: ((ev: MouseEvent) => any) | undefined;
80
79
  onFocus?: ((ev: FocusEvent) => any) | undefined;
80
+ onClear?: ((ev: MouseEvent) => any) | undefined;
81
81
  onInput?: ((value: string, ev: Event) => any) | undefined;
82
- onChange?: ((value: string, ev: Event) => any) | undefined;
83
82
  onBlur?: ((ev: FocusEvent) => any) | undefined;
84
83
  "onUpdate:modelValue"?: ((value: string) => any) | undefined;
84
+ onChange?: ((value: string, ev: Event) => any) | undefined;
85
85
  onPressEnter?: ((ev: KeyboardEvent) => any) | undefined;
86
86
  }>, {
87
87
  inputRef: import('vue').Ref<HTMLInputElement | undefined, HTMLInputElement | undefined>;
@@ -101,9 +101,9 @@ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {
101
101
  type: "text" | "password";
102
102
  disabled: boolean;
103
103
  error: boolean;
104
+ defaultValue: string;
104
105
  readonly: boolean;
105
106
  allowClear: boolean;
106
- defaultValue: string;
107
107
  maxLength: number | {
108
108
  length: number;
109
109
  errorOnly?: boolean;
@@ -169,12 +169,12 @@ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {
169
169
  prepend: StringConstructor;
170
170
  append: StringConstructor;
171
171
  }>> & Readonly<{
172
- onClear?: ((ev: MouseEvent) => any) | undefined;
173
172
  onFocus?: ((ev: FocusEvent) => any) | undefined;
173
+ onClear?: ((ev: MouseEvent) => any) | undefined;
174
174
  onInput?: ((value: string, ev: Event) => any) | undefined;
175
- onChange?: ((value: string, ev: Event) => any) | undefined;
176
175
  onBlur?: ((ev: FocusEvent) => any) | undefined;
177
176
  "onUpdate:modelValue"?: ((value: string) => any) | undefined;
177
+ onChange?: ((value: string, ev: Event) => any) | undefined;
178
178
  onPressEnter?: ((ev: KeyboardEvent) => any) | undefined;
179
179
  }>, {
180
180
  inputRef: import('vue').Ref<HTMLInputElement | undefined, HTMLInputElement | undefined>;
@@ -186,9 +186,9 @@ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {
186
186
  type: "text" | "password";
187
187
  disabled: boolean;
188
188
  error: boolean;
189
+ defaultValue: string;
189
190
  readonly: boolean;
190
191
  allowClear: boolean;
191
- defaultValue: string;
192
192
  maxLength: number | {
193
193
  length: number;
194
194
  errorOnly?: boolean;
@@ -5,10 +5,10 @@ type __VLS_Props = {
5
5
  submitLabel: string;
6
6
  };
7
7
  declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
8
- submit: (params: Record<string, string | boolean>, focusTrigger: EventTarget | null) => any;
9
8
  cancel: () => any;
9
+ submit: (params: Record<string, string | boolean>, focusTrigger: EventTarget | null) => any;
10
10
  }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
11
- onSubmit?: ((params: Record<string, string | boolean>, focusTrigger: EventTarget | null) => any) | undefined;
12
11
  onCancel?: (() => any) | undefined;
12
+ onSubmit?: ((params: Record<string, string | boolean>, focusTrigger: EventTarget | null) => any) | undefined;
13
13
  }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
14
14
  export default _default;
@@ -27,11 +27,11 @@ declare function __VLS_template(): {
27
27
  };
28
28
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
29
29
  declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
30
- "update:modelValue": (value: SwitcherValue) => any;
31
30
  change: (value: SwitcherValue, option: SwitcherOption) => any;
31
+ "update:modelValue": (value: SwitcherValue) => any;
32
32
  }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
33
- "onUpdate:modelValue"?: ((value: SwitcherValue) => any) | undefined;
34
33
  onChange?: ((value: SwitcherValue, option: SwitcherOption) => any) | undefined;
34
+ "onUpdate:modelValue"?: ((value: SwitcherValue) => any) | undefined;
35
35
  }>, {
36
36
  options: SwitcherOption[];
37
37
  disabled: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@freecallai/pro",
3
- "version": "0.0.12",
3
+ "version": "0.0.14",
4
4
  "description": "福客AI业务组件库",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -63,7 +63,7 @@
63
63
  "**/*.css"
64
64
  ],
65
65
  "peerDependencies": {
66
- "@freecallai/ui": "^0.0.8",
66
+ "@freecallai/ui": "^0.0.9",
67
67
  "vue": "^3.5.13"
68
68
  },
69
69
  "dependencies": {
@@ -84,7 +84,7 @@
84
84
  "vitest": "^3.2.0",
85
85
  "vue": "^3.5.13",
86
86
  "vue-tsc": "^2.2.0",
87
- "@freecallai/ui": "0.0.8",
87
+ "@freecallai/ui": "0.0.9",
88
88
  "@arco-design/arco-vue-scripts": "0.2.10"
89
89
  },
90
90
  "publishConfig": {
@@ -92,7 +92,8 @@
92
92
  "access": "public"
93
93
  },
94
94
  "scripts": {
95
- "build": "pnpm check:boundaries && vue-tsc --noEmit && vite build",
95
+ "build": "pnpm check:boundaries && vue-tsc --noEmit && vite build && pnpm check:exports",
96
+ "check:exports": "node scripts/check-exports.mjs",
96
97
  "check:boundaries": "node scripts/check-workspace-boundaries.mjs && node scripts/check-rich-text-boundaries.mjs",
97
98
  "docgen": "arco-vue-scripts docgen",
98
99
  "typecheck": "vue-tsc --noEmit",