@freecallai/pro 0.0.0-stage → 0.0.1

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 (120) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +16 -2
  3. package/dist/FkpRichText.vue_vue_type_script_setup_true_lang-DnknqQTh.js +4115 -0
  4. package/dist/KnowledgeArea-OPR7smbt.js +923 -0
  5. package/dist/ToolForm-CWpUIVTl.js +185 -0
  6. package/dist/choice-DDg5gNtS.js +29 -0
  7. package/dist/guard-BCatAeT4.js +749 -0
  8. package/dist/index-5a9mHHzg.js +41 -0
  9. package/dist/index-BsQLwz91.js +5 -0
  10. package/dist/index-CJlAseSN.js +15 -0
  11. package/dist/index-CzpY61Qj.js +6 -0
  12. package/dist/index-D8bcFtWR.js +6 -0
  13. package/dist/index-DOEijEGU.js +49 -0
  14. package/dist/index-DSgEWJGP.js +6 -0
  15. package/dist/index-DxxX09iY.js +6 -0
  16. package/dist/index-nnvfy5q0.js +31 -0
  17. package/dist/index-urNonkMH.js +6 -0
  18. package/dist/index-xAjlBylT.js +5 -0
  19. package/dist/index.js +16 -0
  20. package/dist/inline-TT_dl8Y3.js +17 -0
  21. package/dist/knowledge-BZCmalF_.js +6 -0
  22. package/dist/knowledge-DnYGicjn.js +13 -0
  23. package/dist/media-extensions-ZoxmhIhH.js +276 -0
  24. package/dist/media-migration-CGOFwdYm.js +59 -0
  25. package/dist/media-upload-Dx45yv6a.js +69 -0
  26. package/dist/operations-JgnjGx3H.js +19 -0
  27. package/dist/question-D1--acV8.js +10 -0
  28. package/dist/question-DGC6JHy5.js +6 -0
  29. package/dist/rich-text/index.js +224 -0
  30. package/dist/rich-text/legacy-converter/index.js +485 -0
  31. package/dist/selection-state-D47jhx0U.js +20 -0
  32. package/dist/state-KfOqha3d.js +16 -0
  33. package/dist/style.css +1 -0
  34. package/dist/types/index.d.ts +10 -0
  35. package/dist/types/rich-text/FkpRichText.vue.d.ts +242 -0
  36. package/dist/types/rich-text/MediaView.vue.d.ts +92 -0
  37. package/dist/types/rich-text/__demo__/conversion-fixtures.d.ts +35 -0
  38. package/dist/types/rich-text/config/catalog.d.ts +3 -0
  39. package/dist/types/rich-text/config/descriptor.d.ts +58 -0
  40. package/dist/types/rich-text/config/media-options.d.ts +6 -0
  41. package/dist/types/rich-text/config/resolve.d.ts +17 -0
  42. package/dist/types/rich-text/config/selection-options.d.ts +6 -0
  43. package/dist/types/rich-text/extensions.d.ts +6 -0
  44. package/dist/types/rich-text/index.d.ts +17 -0
  45. package/dist/types/rich-text/legacy-converter/index.d.ts +45 -0
  46. package/dist/types/rich-text/media-extensions.d.ts +4 -0
  47. package/dist/types/rich-text/media-id.d.ts +2 -0
  48. package/dist/types/rich-text/model/agent-context.d.ts +7 -0
  49. package/dist/types/rich-text/model/capability-diff.d.ts +14 -0
  50. package/dist/types/rich-text/model/condition-contract.d.ts +10 -0
  51. package/dist/types/rich-text/model/convert.d.ts +6 -0
  52. package/dist/types/rich-text/model/guard.d.ts +7 -0
  53. package/dist/types/rich-text/model/json-value.d.ts +2 -0
  54. package/dist/types/rich-text/model/media-migration.d.ts +8 -0
  55. package/dist/types/rich-text/model/node-contract.d.ts +10 -0
  56. package/dist/types/rich-text/model/node-identity.d.ts +8 -0
  57. package/dist/types/rich-text/model/persistence-contract.d.ts +25 -0
  58. package/dist/types/rich-text/model/preview.d.ts +2 -0
  59. package/dist/types/rich-text/model/question-text.d.ts +15 -0
  60. package/dist/types/rich-text/model/reasoning-context.d.ts +24 -0
  61. package/dist/types/rich-text/model/scene-snapshot.d.ts +4 -0
  62. package/dist/types/rich-text/model/validate.d.ts +19 -0
  63. package/dist/types/rich-text/model/web-url.d.ts +2 -0
  64. package/dist/types/rich-text/plugins/agentSelect/descriptor.d.ts +2 -0
  65. package/dist/types/rich-text/plugins/attribute/descriptor.d.ts +2 -0
  66. package/dist/types/rich-text/plugins/attribute/index.d.ts +2 -0
  67. package/dist/types/rich-text/plugins/block.d.ts +3 -0
  68. package/dist/types/rich-text/plugins/choice.d.ts +4 -0
  69. package/dist/types/rich-text/plugins/image/descriptor.d.ts +2 -0
  70. package/dist/types/rich-text/plugins/image/index.d.ts +2 -0
  71. package/dist/types/rich-text/plugins/inline.d.ts +3 -0
  72. package/dist/types/rich-text/plugins/media-upload.d.ts +3 -0
  73. package/dist/types/rich-text/plugins/memory/descriptor.d.ts +2 -0
  74. package/dist/types/rich-text/plugins/memory/index.d.ts +2 -0
  75. package/dist/types/rich-text/plugins/operations.d.ts +86 -0
  76. package/dist/types/rich-text/plugins/originalReply/descriptor.d.ts +2 -0
  77. package/dist/types/rich-text/plugins/originalReply/knowledge.d.ts +2 -0
  78. package/dist/types/rich-text/plugins/originalReply/question.d.ts +2 -0
  79. package/dist/types/rich-text/plugins/reasoningPolish/descriptor.d.ts +2 -0
  80. package/dist/types/rich-text/plugins/reasoningPolish/index.d.ts +3 -0
  81. package/dist/types/rich-text/plugins/reasoningTemplate/descriptor.d.ts +2 -0
  82. package/dist/types/rich-text/plugins/reasoningTemplate/index.d.ts +3 -0
  83. package/dist/types/rich-text/plugins/registry.d.ts +14 -0
  84. package/dist/types/rich-text/plugins/selection-state.d.ts +4 -0
  85. package/dist/types/rich-text/plugins/separator/descriptor.d.ts +2 -0
  86. package/dist/types/rich-text/plugins/separator/index.d.ts +2 -0
  87. package/dist/types/rich-text/plugins/state.d.ts +3 -0
  88. package/dist/types/rich-text/plugins/tagged/descriptor.d.ts +2 -0
  89. package/dist/types/rich-text/plugins/tagged/index.d.ts +2 -0
  90. package/dist/types/rich-text/plugins/ticket/descriptor.d.ts +2 -0
  91. package/dist/types/rich-text/plugins/ticket/index.d.ts +2 -0
  92. package/dist/types/rich-text/plugins/todo/descriptor.d.ts +2 -0
  93. package/dist/types/rich-text/plugins/todo/knowledge.d.ts +2 -0
  94. package/dist/types/rich-text/plugins/todo/question.d.ts +2 -0
  95. package/dist/types/rich-text/plugins/tool/descriptor.d.ts +2 -0
  96. package/dist/types/rich-text/plugins/tool/index.d.ts +2 -0
  97. package/dist/types/rich-text/plugins/tool/operations.d.ts +4 -0
  98. package/dist/types/rich-text/plugins/tool/presentation.d.ts +7 -0
  99. package/dist/types/rich-text/plugins/variable/descriptor.d.ts +2 -0
  100. package/dist/types/rich-text/plugins/variable/index.d.ts +2 -0
  101. package/dist/types/rich-text/plugins/video/descriptor.d.ts +2 -0
  102. package/dist/types/rich-text/plugins/video/index.d.ts +2 -0
  103. package/dist/types/rich-text/public/types.d.ts +588 -0
  104. package/dist/types/rich-text/runtime/action-ports.d.ts +15 -0
  105. package/dist/types/rich-text/runtime/media-state.d.ts +6 -0
  106. package/dist/types/rich-text/runtime/media-target.d.ts +8 -0
  107. package/dist/types/rich-text/runtime/media-upload-session.d.ts +59 -0
  108. package/dist/types/rich-text/runtime/operations.d.ts +48 -0
  109. package/dist/types/rich-text/runtime/option-menu-session.d.ts +28 -0
  110. package/dist/types/rich-text/runtime/option-source.d.ts +10 -0
  111. package/dist/types/rich-text/runtime/port-result.d.ts +21 -0
  112. package/dist/types/rich-text/runtime/schema-plan.d.ts +17 -0
  113. package/dist/types/rich-text/runtime/tool-form-session.d.ts +39 -0
  114. package/dist/types/rich-text/runtime/tool-params.d.ts +5 -0
  115. package/dist/types/rich-text/types.d.ts +40 -0
  116. package/dist/types/rich-text/ui/CapabilityHelp.vue.d.ts +9 -0
  117. package/dist/types/rich-text/ui/KnowledgeArea.vue.d.ts +117 -0
  118. package/dist/types/rich-text/ui/ToolForm.vue.d.ts +14 -0
  119. package/dist/types/rich-text/ui/VariableOptionList.vue.d.ts +15 -0
  120. package/package.json +70 -3
@@ -0,0 +1,48 @@
1
+ import { JSONContent } from '@tiptap/core';
2
+ import { CapabilityDescriptor } from '../config/catalog';
3
+ import { PluginOperation } from '../plugins/operations';
4
+ export type NodeMutationPlan = {
5
+ ok: true;
6
+ kind: 'updateNode';
7
+ nodeId: string;
8
+ expectedNodeVersion: number;
9
+ node: JSONContent;
10
+ } | {
11
+ ok: true;
12
+ kind: 'removeNode';
13
+ nodeId: string;
14
+ expectedNodeVersion: number;
15
+ };
16
+ export type DocumentPlan = {
17
+ ok: true;
18
+ kind: 'doc';
19
+ content: JSONContent[];
20
+ } | {
21
+ ok: true;
22
+ kind: 'replaceDoc';
23
+ doc: JSONContent;
24
+ question?: string;
25
+ confirmation: string;
26
+ } | NodeMutationPlan | {
27
+ ok: true;
28
+ kind: 'batchNodes';
29
+ operations: readonly NodeMutationPlan[];
30
+ };
31
+ export type PluginPlan = {
32
+ ok: false;
33
+ reason: string;
34
+ } | {
35
+ ok: true;
36
+ kind: 'none';
37
+ } | {
38
+ ok: true;
39
+ kind: 'state';
40
+ data: Record<string, unknown>;
41
+ } | DocumentPlan | {
42
+ ok: true;
43
+ kind: 'compound';
44
+ data: Record<string, unknown>;
45
+ document: DocumentPlan;
46
+ };
47
+ /** Validate the whole plugin result before any scene or editor mutation. */
48
+ export declare function planPluginOperations(descriptor: CapabilityDescriptor, operations: readonly PluginOperation[]): PluginPlan;
@@ -0,0 +1,28 @@
1
+ import { ResolvedCapability } from '../config/resolve';
2
+ import { CapabilityId, CapabilityOption, PortRequestContext, PortResult, RichTextHostPorts } from '../public/types';
3
+ type PortError = Extract<PortResult<unknown>, {
4
+ ok: false;
5
+ }>['error'];
6
+ export interface OptionMenuSessionHost {
7
+ descriptor(id: CapabilityId): ResolvedCapability | undefined;
8
+ ports(): RichTextHostPorts | undefined;
9
+ context(id: CapabilityId, controller: AbortController): PortRequestContext;
10
+ isCurrent(id: CapabilityId): boolean;
11
+ track(controller: AbortController, start: boolean): void;
12
+ diagnostic(code: string, message: string, id: CapabilityId): void;
13
+ portDiagnostic(error: PortError, id: CapabilityId): void;
14
+ }
15
+ /** Owns option search, hierarchy, pagination, and cancellation as one menu session. */
16
+ export declare function createOptionMenuSession(host: OptionMenuSessionHost): {
17
+ query: import('vue').Ref<string, string>;
18
+ options: import('vue').ShallowRef<CapabilityOption[], CapabilityOption[]>;
19
+ path: import('vue').ShallowRef<CapabilityOption[], CapabilityOption[]>;
20
+ nextCursor: import('vue').Ref<string | null, string | null>;
21
+ loading: import('vue').Ref<boolean, boolean>;
22
+ abort: () => void;
23
+ reset: () => void;
24
+ enter: (option: CapabilityOption) => void;
25
+ back: () => boolean;
26
+ fetch: (id: CapabilityId, append?: boolean) => Promise<void>;
27
+ };
28
+ export {};
@@ -0,0 +1,10 @@
1
+ import { CapabilityDescriptor } from '../config/descriptor';
2
+ import { CapabilityOption, Page, PortRequestContext, PortResult, RichTextHostPorts } from '../public/types';
3
+ export interface OptionQuery {
4
+ search?: string;
5
+ cursor?: string;
6
+ parentId?: string;
7
+ limit: number;
8
+ }
9
+ /** Shared menu transport. Capability descriptors choose the source; host DTOs stay validated here. */
10
+ export declare function requestCapabilityOptions(descriptor: CapabilityDescriptor, query: OptionQuery, ports: RichTextHostPorts | undefined, request: PortRequestContext): Promise<PortResult<Page<CapabilityOption>> | null>;
@@ -0,0 +1,21 @@
1
+ import { JSONContent } from '@tiptap/core';
2
+ import { AgentPrompt, AgentSummary, CapabilityOption, EditorDiagnostic, MediaAsset, Page, PortResult, ToolFormDefinition, VariableOption } from '../public/types';
3
+ export declare function isDiagnostic(value: unknown): value is EditorDiagnostic;
4
+ export declare function parsePortResult<T>(raw: unknown, validData: (data: unknown) => data is T): PortResult<T>;
5
+ export declare const isVariablePage: (data: unknown) => data is Page<VariableOption>;
6
+ export declare const isAgentPage: (data: unknown) => data is Page<AgentSummary>;
7
+ export declare const isCapabilityPage: (data: unknown) => data is Page<CapabilityOption>;
8
+ export declare const isFlatTagPage: (data: unknown) => data is Page<CapabilityOption>;
9
+ export declare const isToolFormDefinition: (toolId: string, data: unknown) => data is ToolFormDefinition;
10
+ export interface ReasoningProposal {
11
+ proposedDoc: JSONContent;
12
+ explanation?: string;
13
+ }
14
+ export declare const isReasoningProposal: (data: unknown) => data is ReasoningProposal;
15
+ export interface ReasoningTemplate {
16
+ question: string;
17
+ doc: JSONContent;
18
+ }
19
+ export declare const isReasoningTemplate: (data: unknown) => data is ReasoningTemplate;
20
+ export declare const isAgentPrompt: (id: string, data: unknown) => data is AgentPrompt;
21
+ export declare const isMediaAsset: (kind: "image" | "video", data: unknown) => data is MediaAsset;
@@ -0,0 +1,17 @@
1
+ import { JSONContent } from '@tiptap/core';
2
+ import { CapabilityId, CapabilitySlot } from '../public/types';
3
+ type CapabilityAccess = {
4
+ id: CapabilityId;
5
+ slot: CapabilitySlot;
6
+ canInsert: boolean;
7
+ };
8
+ export interface KnowledgeSchemaPlan {
9
+ businessToken: boolean;
10
+ originalReply: boolean;
11
+ separator: boolean;
12
+ mediaBlock: boolean;
13
+ }
14
+ /** Keep stored nodes readable when their insert action has been revoked. */
15
+ export declare function planKnowledgeSchema(capabilities: readonly CapabilityAccess[], doc: JSONContent | null): KnowledgeSchemaPlan;
16
+ export declare function schemaPlanKey(plan: KnowledgeSchemaPlan): string;
17
+ export {};
@@ -0,0 +1,39 @@
1
+ import { MediaTarget } from './media-target';
2
+ import { KnowledgeType, PortRequestContext, PortResult, RichTextHostPorts, ToolFormDefinition } from '../public/types';
3
+ export interface ToolEditRequest {
4
+ key: string;
5
+ label: string;
6
+ params: Record<string, unknown>;
7
+ target?: MediaTarget;
8
+ nodeId?: string;
9
+ nodeVersion?: number;
10
+ sceneKey: string;
11
+ type: KnowledgeType;
12
+ }
13
+ type ToolFormPort = NonNullable<RichTextHostPorts['getToolForm']>;
14
+ type PortError = Extract<PortResult<unknown>, {
15
+ ok: false;
16
+ }>['error'];
17
+ export interface ToolFormSessionHost {
18
+ getPort(): ToolFormPort | undefined;
19
+ getScene(): {
20
+ sceneKey: string;
21
+ type: KnowledgeType;
22
+ };
23
+ canUse(): boolean;
24
+ context(controller: AbortController): PortRequestContext;
25
+ track(controller: AbortController, start: boolean): void;
26
+ diagnostic(code: string, message: string, source: 'config' | 'port' | 'validation'): void;
27
+ portDiagnostic(error: PortError): void;
28
+ }
29
+ /** Owns one tool-form request and its target bookmark from open through commit. */
30
+ export declare function createToolFormSession(host: ToolFormSessionHost): {
31
+ edit: import('vue').ShallowRef<ToolEditRequest | null, ToolEditRequest | null>;
32
+ definition: import('vue').ShallowRef<ToolFormDefinition | null, ToolFormDefinition | null>;
33
+ cancel: () => void;
34
+ portChanged: (current: ToolFormPort | undefined, previous: ToolFormPort | undefined) => void;
35
+ open: (request: ToolEditRequest) => Promise<void>;
36
+ recheck: (request: ToolEditRequest, initial: ToolFormDefinition) => Promise<boolean>;
37
+ releaseForInsert: () => void;
38
+ };
39
+ export {};
@@ -0,0 +1,5 @@
1
+ import { ToolFormDefinition, ToolFormField } from '../public/types';
2
+ /** Keep conditional fields and their editor controls on the same initial value. */
3
+ export declare function initialToolFieldValue(field: ToolFormField, params: Record<string, unknown>): string | boolean;
4
+ /** Editing must not silently coerce or drop parameters from an older form. */
5
+ export declare function findUnrepresentableToolParam(params: Record<string, unknown>, definition: ToolFormDefinition): string | null;
@@ -0,0 +1,40 @@
1
+ import { JSONContent } from '@tiptap/core';
2
+ export type KnowledgeMode = 'normal' | 'reasoning';
3
+ export interface KnowledgeSettings {
4
+ mode: KnowledgeMode;
5
+ memory: boolean;
6
+ tagged: boolean;
7
+ todo: boolean;
8
+ original: boolean;
9
+ }
10
+ export interface VariableOption {
11
+ key: string;
12
+ label: string;
13
+ group?: string;
14
+ }
15
+ export interface MediaUploadResult {
16
+ url: string;
17
+ id?: string;
18
+ poster?: string;
19
+ }
20
+ export type MediaUploader = (file: File, context: {
21
+ signal: AbortSignal;
22
+ }) => Promise<MediaUploadResult>;
23
+ export interface EditorChange {
24
+ json: JSONContent;
25
+ html: string;
26
+ text: string;
27
+ }
28
+ export interface FkpRichTextProps {
29
+ modelValue?: JSONContent;
30
+ question?: string;
31
+ settings?: KnowledgeSettings;
32
+ variables?: VariableOption[];
33
+ readonly?: boolean;
34
+ disabled?: boolean;
35
+ placeholder?: string;
36
+ maxHeight?: number;
37
+ maxFileSize?: number;
38
+ upload?: MediaUploader;
39
+ }
40
+ export declare const defaultSettings: () => KnowledgeSettings;
@@ -0,0 +1,9 @@
1
+ type __VLS_Props = {
2
+ capabilityId: 'originalReply' | 'memory' | 'separator';
3
+ };
4
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
5
+ help: () => any;
6
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
7
+ onHelp?: (() => any) | undefined;
8
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
9
+ export default _default;
@@ -0,0 +1,117 @@
1
+ import { JSONContent } from '@tiptap/core';
2
+ import { KnowledgeSchemaPlan } from '../runtime/schema-plan';
3
+ import { ChoiceTokenKind } from '../model/node-contract';
4
+ import { MediaNodeState } from '../runtime/media-state';
5
+ import { NodeMutationPlan, PluginPlan } from '../runtime/operations';
6
+ import { MediaTarget } from '../runtime/media-target';
7
+ type __VLS_Props = {
8
+ modelValue: JSONContent;
9
+ editable: boolean;
10
+ placeholder?: string;
11
+ referencePlaceholder?: boolean;
12
+ schemaPlan: KnowledgeSchemaPlan;
13
+ activeChoiceId?: string | null;
14
+ };
15
+ declare function insertToken(kind: string, key: string, label: string, token?: string): void;
16
+ declare function insertOriginal(): void;
17
+ declare function insertSeparator(): void;
18
+ declare function insertBatch(content: JSONContent[], target: MediaTarget, refocus: boolean): JSONContent | null;
19
+ declare function restoreDoc(doc: JSONContent): void;
20
+ declare function insertMedia(asset: {
21
+ id?: string;
22
+ url: string;
23
+ kind: 'image' | 'video';
24
+ posterUrl?: string;
25
+ }, name: string, target?: MediaTarget): boolean;
26
+ declare function insertPendingMedia(file: File, kind: 'image' | 'video', target: MediaTarget): string | null;
27
+ declare function getMediaState(id: string): MediaNodeState | null;
28
+ declare function applyNodeUpdate(plan: Extract<PluginPlan, {
29
+ kind: 'updateNode';
30
+ }>, owner: 'image' | 'video'): boolean;
31
+ declare function previewPluginNodeOperations(plans: readonly NodeMutationPlan[], owner: string): JSONContent | null;
32
+ declare function applyPluginNodeOperations(plans: readonly NodeMutationPlan[], owner: string): boolean;
33
+ declare function applyPluginNodeOperation(plan: NodeMutationPlan, owner: string): boolean;
34
+ declare function failMedia(id: string, message: string, expectedNodeVersion: number): boolean;
35
+ declare function retryMedia(id: string, expectedNodeVersion: number): boolean;
36
+ declare function reportMediaProgress(id: string, expectedNodeVersion: number, percent: number): boolean;
37
+ declare function captureSelection(): {
38
+ nodeCaret?: {
39
+ id: string;
40
+ kind: "inlineAfter";
41
+ offset: number;
42
+ } | {
43
+ id: string;
44
+ kind: "blockAfter";
45
+ offset: number;
46
+ siblingOffset: number;
47
+ } | undefined;
48
+ from: number;
49
+ to: number;
50
+ focused: boolean;
51
+ } | null;
52
+ declare function restoreSelection(selection: ReturnType<typeof captureSelection>): void;
53
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {
54
+ isSelectionInsideOriginalReply: () => boolean;
55
+ insertToken: typeof insertToken;
56
+ insertOriginal: typeof insertOriginal;
57
+ insertSeparator: typeof insertSeparator;
58
+ insertBatch: typeof insertBatch;
59
+ restoreDoc: typeof restoreDoc;
60
+ insertMedia: typeof insertMedia;
61
+ insertPendingMedia: typeof insertPendingMedia;
62
+ applyNodeUpdate: typeof applyNodeUpdate;
63
+ applyPluginNodeOperation: typeof applyPluginNodeOperation;
64
+ applyPluginNodeOperations: typeof applyPluginNodeOperations;
65
+ previewPluginNodeOperations: typeof previewPluginNodeOperations;
66
+ failMedia: typeof failMedia;
67
+ retryMedia: typeof retryMedia;
68
+ getMediaState: typeof getMediaState;
69
+ reportMediaProgress: typeof reportMediaProgress;
70
+ captureSelection: typeof captureSelection;
71
+ restoreSelection: typeof restoreSelection;
72
+ captureMediaTarget: () => MediaTarget | null;
73
+ captureMediaTargetAt: (clientX: number, clientY: number) => MediaTarget | null;
74
+ focus: () => boolean | undefined;
75
+ getJSON: () => import('@tiptap/core').DocumentType<Record<string, any> | undefined, import('@tiptap/core').NodeType<string, Record<string, any> | undefined, any, (import('@tiptap/core').NodeType<any, any, any, any> | import('@tiptap/core').TextType<import('@tiptap/core').MarkType<any, any>>)[]>[]> | undefined;
76
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
77
+ "update:modelValue": (value: JSONContent) => any;
78
+ "retry-media": (id: string) => any;
79
+ "load-error": (message: string) => any;
80
+ "edit-tool": (payload: {
81
+ nodeId: string;
82
+ nodeVersion: number;
83
+ key: string;
84
+ label: string;
85
+ params: Record<string, unknown> | null;
86
+ }) => any;
87
+ "choice-menu": (payload: {
88
+ nodeId: string;
89
+ nodeVersion: number;
90
+ key: string;
91
+ kind: ChoiceTokenKind;
92
+ anchor: HTMLElement;
93
+ }) => any;
94
+ "leave-choice": () => any;
95
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
96
+ "onUpdate:modelValue"?: ((value: JSONContent) => any) | undefined;
97
+ "onRetry-media"?: ((id: string) => any) | undefined;
98
+ "onLoad-error"?: ((message: string) => any) | undefined;
99
+ "onEdit-tool"?: ((payload: {
100
+ nodeId: string;
101
+ nodeVersion: number;
102
+ key: string;
103
+ label: string;
104
+ params: Record<string, unknown> | null;
105
+ }) => any) | undefined;
106
+ "onChoice-menu"?: ((payload: {
107
+ nodeId: string;
108
+ nodeVersion: number;
109
+ key: string;
110
+ kind: ChoiceTokenKind;
111
+ anchor: HTMLElement;
112
+ }) => any) | undefined;
113
+ "onLeave-choice"?: (() => any) | undefined;
114
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
115
+ areaRoot: HTMLDivElement;
116
+ }, any>;
117
+ export default _default;
@@ -0,0 +1,14 @@
1
+ import { ToolFormDefinition } from '../public/types';
2
+ type __VLS_Props = {
3
+ definition: ToolFormDefinition;
4
+ initialParams: Record<string, unknown>;
5
+ submitLabel: string;
6
+ };
7
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
8
+ cancel: () => any;
9
+ submit: (params: Record<string, string | boolean>, focusTrigger: EventTarget | null) => any;
10
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
11
+ onCancel?: (() => any) | undefined;
12
+ onSubmit?: ((params: Record<string, string | boolean>, focusTrigger: EventTarget | null) => any) | undefined;
13
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
14
+ export default _default;
@@ -0,0 +1,15 @@
1
+ import { CapabilityOption } from '../public/types';
2
+ type __VLS_Props = {
3
+ options: CapabilityOption[];
4
+ loading: boolean;
5
+ nextCursor: string | null;
6
+ query: string;
7
+ };
8
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
9
+ choose: (option: CapabilityOption, event: Event) => any;
10
+ loadMore: () => any;
11
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
12
+ onChoose?: ((option: CapabilityOption, event: Event) => any) | undefined;
13
+ onLoadMore?: (() => any) | undefined;
14
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
15
+ export default _default;
package/package.json CHANGED
@@ -1,6 +1,73 @@
1
1
  {
2
2
  "name": "@freecallai/pro",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
3
+ "version": "0.0.1",
4
+ "description": "福客AI业务组件库",
5
+ "license": "MIT",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+ssh://git@gitee.com/chengduzhihuige/fuker-ui.git",
9
+ "directory": "packages/web-vue-pro"
10
+ },
11
+ "type": "module",
12
+ "main": "./dist/index.js",
13
+ "module": "./dist/index.js",
14
+ "types": "./dist/types/index.d.ts",
15
+ "exports": {
16
+ ".": {
17
+ "types": "./dist/types/index.d.ts",
18
+ "import": "./dist/index.js"
19
+ },
20
+ "./rich-text": {
21
+ "types": "./dist/types/rich-text/index.d.ts",
22
+ "import": "./dist/rich-text/index.js"
23
+ },
24
+ "./rich-text/legacy-converter": {
25
+ "types": "./dist/types/rich-text/legacy-converter/index.d.ts",
26
+ "import": "./dist/rich-text/legacy-converter/index.js"
27
+ },
28
+ "./style.css": "./dist/style.css"
29
+ },
30
+ "files": [
31
+ "dist",
32
+ "LICENSE"
33
+ ],
34
+ "sideEffects": [
35
+ "**/*.css"
36
+ ],
37
+ "peerDependencies": {
38
+ "@freecallai/ui": "^0.0.1",
39
+ "vue": "^3.5.13"
40
+ },
41
+ "dependencies": {
42
+ "@tiptap/core": "^3.0.0",
43
+ "@tiptap/extension-placeholder": "^3.0.0",
44
+ "@tiptap/pm": "^3.0.0",
45
+ "@tiptap/starter-kit": "^3.0.0",
46
+ "@tiptap/vue-3": "^3.0.0",
47
+ "@freecallai/icons": "0.0.1"
48
+ },
49
+ "devDependencies": {
50
+ "@types/node": "^22.0.0",
51
+ "@vitejs/plugin-vue": "^5.2.0",
52
+ "jsdom": "^26.0.0",
53
+ "typescript": "~5.7.3",
54
+ "vite": "^6.4.0",
55
+ "vite-plugin-dts": "^4.5.0",
56
+ "vitest": "^3.2.0",
57
+ "vue": "^3.5.13",
58
+ "vue-tsc": "^2.2.0",
59
+ "@arco-design/arco-vue-scripts": "0.2.10",
60
+ "@freecallai/ui": "0.0.1"
61
+ },
62
+ "publishConfig": {
63
+ "registry": "https://registry.npmjs.org/",
64
+ "access": "public"
65
+ },
66
+ "scripts": {
67
+ "build": "node scripts/check-rich-text-boundaries.mjs && vue-tsc --noEmit && vite build",
68
+ "check:boundaries": "node scripts/check-rich-text-boundaries.mjs",
69
+ "docgen": "arco-vue-scripts docgen",
70
+ "typecheck": "vue-tsc --noEmit",
71
+ "test": "vitest run"
72
+ }
6
73
  }