@freecallai/pro 0.0.4 → 0.0.6
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.
- package/LICENSE +20 -20
- package/README.md +23 -23
- package/dist/FkpKnowledgeTypePicker.vue_vue_type_script_setup_true_lang--MPtqZY_.js +193 -0
- package/dist/FkpRichText.vue_vue_type_script_setup_true_lang-DIIFWISD.js +4995 -0
- package/dist/KnowledgeArea-CEX1esVZ.js +4 -0
- package/dist/KnowledgeArea.vue_vue_type_script_setup_true_lang-Bg1e7xYT.js +1653 -0
- package/dist/ToolForm-Ch1YRmMw.js +196 -0
- package/dist/agent-prompt-editor/index.js +917 -0
- package/dist/agent-prompt-editor/legacy-converter/index.js +490 -0
- package/dist/{choice-C1SxozNA.js → choice-2dbddjJU.js} +1 -1
- package/dist/edition-info/index.js +1 -1
- package/dist/filters/index.js +1 -1
- package/dist/{guard-CXpVx8UR.js → guard-Cr_ny-sR.js} +226 -213
- package/dist/{index-B8jg37Wj.js → index-5FRWdHnd.js} +1 -1
- package/dist/index-7x1OTv0m.js +98 -0
- package/dist/{index-CM0MN2DT.js → index-BBxrpF3v.js} +1 -1
- package/dist/index-CEjD03Kk.js +5 -0
- package/dist/{index-UjI4WA5F.js → index-CK_CrdQW.js} +1 -1
- package/dist/index-Ck8RYpuE.js +816 -0
- package/dist/{index-lNhA3N9x.js → index-DBQsQ1ZK.js} +1 -0
- package/dist/{index-BqXNMfLG.js → index-DiaPY8Db.js} +2 -2
- package/dist/{index-bSNw0XAf.js → index-DmdrsEvk.js} +1 -1
- package/dist/index-DnmCPdCI.js +168 -0
- package/dist/{index-Cy4DqT8R.js → index-DwDYy2lj.js} +1 -1
- package/dist/{index-CZc2Gyjb.js → index-aic1yCBs.js} +1 -1
- package/dist/index-sWjZ9xuV.js +5 -0
- package/dist/index.js +13 -13
- package/dist/{inline-Zj7Hqg-_.js → inline-8aNfINLF.js} +1 -1
- package/dist/knowledge-type-picker/index.js +1 -1
- package/dist/{knowledge-DaTnF2IW.js → knowledge-y2j0ijgx.js} +1 -1
- package/dist/media-id-b2dgniSy.js +15 -0
- package/dist/{media-migration-C2QLMSpd.js → media-migration-Dy_rbdkK.js} +1 -1
- package/dist/media-policy-BwKjZPWt.js +158 -0
- package/dist/{media-upload-D9MYBbLg.js → media-upload-BetGuTLJ.js} +1 -1
- package/dist/model-DvukseoR.js +146 -0
- package/dist/navigation/index.js +1 -1
- package/dist/rich-text/index.js +75 -73
- package/dist/rich-text/legacy-converter/index.js +822 -799
- package/dist/style.css +1 -1
- package/dist/switcher/index.js +1 -1
- package/dist/types/agent-prompt-editor/FkpAgentPromptEditor.vue.d.ts +550 -0
- package/dist/types/agent-prompt-editor/agent-size-chart.d.ts +3 -0
- package/dist/types/agent-prompt-editor/document-adapter.d.ts +3 -0
- package/dist/types/agent-prompt-editor/index.d.ts +6 -0
- package/dist/types/agent-prompt-editor/legacy-converter-index.d.ts +2 -0
- package/dist/types/agent-prompt-editor/legacy-converter.d.ts +26 -0
- package/dist/types/agent-prompt-editor/model.d.ts +21 -0
- package/dist/types/agent-prompt-editor/types.d.ts +56 -0
- package/dist/types/edition-info/FkpEditionInfo.vue.d.ts +1 -3
- package/dist/types/edition-info/presets.d.ts +8 -0
- package/dist/types/edition-info/types.d.ts +1 -0
- package/dist/types/filters/FkpFilter.vue.d.ts +2 -2
- package/dist/types/filters/FkpFilterDateRange.vue.d.ts +2 -2
- package/dist/types/filters/FkpFilterPeriod.vue.d.ts +2 -2
- package/dist/types/filters/FkpSearchableMultiSelect.vue.d.ts +2 -2
- package/dist/types/index.d.ts +4 -1
- package/dist/types/navigation/FkpNavigation.vue.d.ts +20 -29
- package/dist/types/navigation/NavigationButton.vue.d.ts +26 -0
- package/dist/types/navigation/NavigationGroup.vue.d.ts +45 -0
- package/dist/types/navigation/NavigationIcon.vue.d.ts +28 -0
- package/dist/types/navigation/NavigationNodes.vue.d.ts +40 -0
- package/dist/types/navigation/index.d.ts +1 -1
- package/dist/types/navigation/types.d.ts +43 -5
- package/dist/types/navigation/use-navigation-tree.d.ts +13 -0
- package/dist/types/rich-text/FkpRichText.vue.d.ts +31 -9
- package/dist/types/rich-text/config/descriptor.d.ts +1 -0
- package/dist/types/rich-text/config/resolve.d.ts +1 -1
- package/dist/types/rich-text/index.d.ts +4 -1
- package/dist/types/rich-text/knowledge-document-adapter.d.ts +2 -0
- package/dist/types/rich-text/model/question-text.d.ts +1 -1
- package/dist/types/rich-text/plugins/registry.d.ts +2 -1
- package/dist/types/rich-text/public/types.d.ts +16 -0
- package/dist/types/rich-text/runtime/document-adapter.d.ts +9 -0
- package/dist/types/rich-text/runtime/knowledge-clipboard.d.ts +9 -3
- package/dist/types/rich-text/runtime/media-sources.d.ts +7 -0
- package/dist/types/rich-text/runtime/media-upload-session.d.ts +2 -0
- package/dist/types/rich-text/ui/FkpKnowledgeTypePicker.vue.d.ts +3 -3
- package/dist/types/rich-text/ui/KnowledgeArea.vue.d.ts +18 -3
- package/dist/types/rich-text/ui/MediaSourceControls.vue.d.ts +190 -0
- package/dist/types/rich-text/ui/ToolForm.vue.d.ts +2 -2
- package/dist/types/rich-text/ui/token-renderer.d.ts +3 -0
- package/dist/types/rich-text/ui/useMediaHint.d.ts +6 -0
- package/dist/types/switcher/FkpSwitcher.vue.d.ts +2 -2
- package/dist/types-PvYB5e85.js +14 -0
- package/package.json +13 -5
- package/dist/FkpKnowledgeTypePicker.vue_vue_type_script_setup_true_lang-DYwu7oQs.js +0 -187
- package/dist/FkpRichText.vue_vue_type_script_setup_true_lang-BowbZoTQ.js +0 -4885
- package/dist/KnowledgeArea-BH-_uF6R.js +0 -1438
- package/dist/ToolForm-C6XW31Y7.js +0 -185
- package/dist/index-CS2xQQ8W.js +0 -168
- package/dist/index-D0bJAQSN.js +0 -327
- package/dist/index-DAZ1ulyA.js +0 -5
- package/dist/index-DCmHHi07.js +0 -71
- package/dist/index-F7lDP1lI.js +0 -5
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { CapabilityOption, MediaAsset, Page, PortResult, RichTextInsertOption, RichTextInsertResult, VariableOption } from '../rich-text/public/types';
|
|
2
|
+
import { AgentPromptCapabilityId, AgentPromptIssue } from './model';
|
|
3
|
+
export interface AgentPromptCapabilityRuleV1 {
|
|
4
|
+
/** 已安装的提示词能力。 */
|
|
5
|
+
id: AgentPromptCapabilityId;
|
|
6
|
+
/** 是否显示工具栏入口;省略时默认显示,不影响程序化插入和已有内容。 */
|
|
7
|
+
visible?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export interface AgentPromptConfigV1 {
|
|
10
|
+
schemaVersion: 1;
|
|
11
|
+
rules: AgentPromptCapabilityRuleV1[];
|
|
12
|
+
}
|
|
13
|
+
export type { MediaSource, MediaSourceOptions, } from '../rich-text/runtime/media-sources';
|
|
14
|
+
export interface AgentPromptPortContext {
|
|
15
|
+
promptKey: string;
|
|
16
|
+
capabilityId: AgentPromptCapabilityId;
|
|
17
|
+
requestId: string;
|
|
18
|
+
signal: AbortSignal;
|
|
19
|
+
reportProgress?: (percent: number) => void;
|
|
20
|
+
}
|
|
21
|
+
export interface AgentPromptPorts {
|
|
22
|
+
uploadMedia?: (input: {
|
|
23
|
+
file: File;
|
|
24
|
+
kind: 'image' | 'video';
|
|
25
|
+
}, context: AgentPromptPortContext) => Promise<PortResult<MediaAsset>>;
|
|
26
|
+
listVariables?: (query: {
|
|
27
|
+
search?: string;
|
|
28
|
+
cursor?: string;
|
|
29
|
+
limit: number;
|
|
30
|
+
}, context: AgentPromptPortContext) => Promise<PortResult<Page<VariableOption>>>;
|
|
31
|
+
listCapabilityOptions?: (query: {
|
|
32
|
+
capabilityId: AgentPromptCapabilityId;
|
|
33
|
+
search?: string;
|
|
34
|
+
cursor?: string;
|
|
35
|
+
limit: number;
|
|
36
|
+
}, context: AgentPromptPortContext) => Promise<PortResult<Page<CapabilityOption>>>;
|
|
37
|
+
}
|
|
38
|
+
export type AgentPromptInsertInput = {
|
|
39
|
+
type: 'text';
|
|
40
|
+
text: string;
|
|
41
|
+
placement?: 'lastCaret' | 'end';
|
|
42
|
+
selectInserted?: boolean;
|
|
43
|
+
} | {
|
|
44
|
+
type: 'media';
|
|
45
|
+
asset: MediaAsset;
|
|
46
|
+
name?: string;
|
|
47
|
+
} | {
|
|
48
|
+
type: 'capability';
|
|
49
|
+
capabilityId: AgentPromptCapabilityId;
|
|
50
|
+
option?: RichTextInsertOption;
|
|
51
|
+
};
|
|
52
|
+
export interface AgentPromptEditorHandle {
|
|
53
|
+
insertContent(input: AgentPromptInsertInput): Promise<RichTextInsertResult>;
|
|
54
|
+
focus(): void;
|
|
55
|
+
validate(): AgentPromptIssue[];
|
|
56
|
+
}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
1
|
import { EditionInfo } from './types';
|
|
2
|
-
declare const _default: import('vue').DefineComponent<EditionInfo, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<EditionInfo> & Readonly<{}>, {
|
|
3
|
-
badgeLabel: string;
|
|
4
|
-
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLSpanElement>;
|
|
2
|
+
declare const _default: import('vue').DefineComponent<EditionInfo, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<EditionInfo> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLSpanElement>;
|
|
5
3
|
export default _default;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { default as standardConnector } from './assets/description-connector-standard.png?url';
|
|
2
|
+
import { default as customConnector } from './assets/description-connector-custom.png?url';
|
|
3
|
+
interface EditionBadgePreset {
|
|
4
|
+
readonly url: string;
|
|
5
|
+
readonly width: number;
|
|
6
|
+
}
|
|
7
|
+
export { standardConnector, customConnector };
|
|
8
|
+
export declare const editionBadges: Readonly<Partial<Record<number, EditionBadgePreset>>>;
|
|
@@ -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
|
-
change: (value: FilterModelValue) => any;
|
|
11
10
|
"update:modelValue": (value: FilterModelValue) => any;
|
|
11
|
+
change: (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
|
-
onChange?: ((value: FilterModelValue) => any) | undefined;
|
|
17
16
|
"onUpdate:modelValue"?: ((value: FilterModelValue) => any) | undefined;
|
|
17
|
+
onChange?: ((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
|
-
change: (value: string[]) => any;
|
|
8
7
|
"update:modelValue": (value: string[]) => any;
|
|
8
|
+
change: (value: string[]) => any;
|
|
9
9
|
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
10
|
-
onChange?: ((value: string[]) => any) | undefined;
|
|
11
10
|
"onUpdate:modelValue"?: ((value: string[]) => any) | undefined;
|
|
11
|
+
onChange?: ((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
|
-
change: (value: string | number) => any;
|
|
12
11
|
"update:modelValue": (value: string | number) => any;
|
|
12
|
+
change: (value: string | number) => any;
|
|
13
13
|
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
14
|
-
onChange?: ((value: string | number) => any) | undefined;
|
|
15
14
|
"onUpdate:modelValue"?: ((value: string | number) => any) | undefined;
|
|
15
|
+
onChange?: ((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
|
-
change: (value: FilterValue[]) => any;
|
|
26
25
|
"update:modelValue": (value: FilterValue[]) => any;
|
|
26
|
+
change: (value: FilterValue[]) => any;
|
|
27
27
|
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
28
|
-
onChange?: ((value: FilterValue[]) => any) | undefined;
|
|
29
28
|
"onUpdate:modelValue"?: ((value: FilterValue[]) => any) | undefined;
|
|
29
|
+
onChange?: ((value: FilterValue[]) => any) | undefined;
|
|
30
30
|
}>, {
|
|
31
31
|
modelValue: FilterValue[];
|
|
32
32
|
placeholder: string;
|
package/dist/types/index.d.ts
CHANGED
|
@@ -6,8 +6,11 @@ export * from './navigation';
|
|
|
6
6
|
export { default as FkpRichText } from './rich-text';
|
|
7
7
|
export { default as FkpKnowledgeTypePicker } from './knowledge-type-picker';
|
|
8
8
|
export type { FkpKnowledgeTypePickerProps } from './knowledge-type-picker';
|
|
9
|
+
export type { MediaSource, MediaSourceOptions, } from './rich-text/runtime/media-sources';
|
|
9
10
|
export type { KnowledgeMode } from './rich-text/types';
|
|
10
|
-
export type { FkpRichTextProps, FkpRichTextHandle, RichTextInsertInput, RichTextInsertOption, RichTextInsertResult, KnowledgeSceneV1, KnowledgeConditionV1, LoadedConditionV1, SaveConditionInputV1, SavedConditionV1, KnowledgePersistenceAdapterV1, KnowledgeType, AddKnowledgeSceneRequest, 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';
|
|
11
|
+
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
|
+
export type { CapabilityDescriptor } from './rich-text/config/descriptor';
|
|
13
|
+
export type { CapabilityModule, PluginInput, PluginOperation, PluginActionContext, } from './rich-text/plugins/operations';
|
|
11
14
|
export { emptyScene, resolveSceneConfig } from './rich-text';
|
|
12
15
|
export { serializeQuestionForModel, serializeQuestionTagsForModel, } from './rich-text';
|
|
13
16
|
declare const _default: {
|
|
@@ -1,47 +1,38 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ProNavSection, ProNavPanelChange, ProNavSlots } from './types';
|
|
2
2
|
type __VLS_Props = {
|
|
3
|
-
|
|
4
|
-
groups?: ProNavGroup[];
|
|
5
|
-
productOrder?: string[];
|
|
3
|
+
sections: readonly ProNavSection[];
|
|
6
4
|
selectedKey?: string;
|
|
5
|
+
expandedKeys?: readonly string[];
|
|
7
6
|
collapsed?: boolean;
|
|
7
|
+
showSectionTitles?: boolean;
|
|
8
|
+
reordering?: boolean;
|
|
9
|
+
ariaLabel?: string;
|
|
8
10
|
};
|
|
9
11
|
declare function __VLS_template(): {
|
|
10
12
|
attrs: Partial<{}>;
|
|
11
|
-
slots:
|
|
12
|
-
|
|
13
|
-
item: any;
|
|
14
|
-
}): any;
|
|
15
|
-
'product-icon'?(_: {
|
|
16
|
-
item: ProNavItem;
|
|
17
|
-
}): any;
|
|
18
|
-
'product-icon'?(_: {
|
|
19
|
-
item: ProNavItem;
|
|
20
|
-
}): any;
|
|
21
|
-
};
|
|
22
|
-
refs: {
|
|
23
|
-
editButton: HTMLButtonElement;
|
|
24
|
-
};
|
|
13
|
+
slots: Readonly<ProNavSlots> & ProNavSlots;
|
|
14
|
+
refs: {};
|
|
25
15
|
rootEl: HTMLElement;
|
|
26
16
|
};
|
|
27
17
|
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
28
18
|
declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
29
|
-
open: (key: string, item: ProNavItem) => any;
|
|
19
|
+
open: (key: string, item: import('./types').ProNavItem) => any;
|
|
30
20
|
select: (key: string) => any;
|
|
31
|
-
"update:
|
|
32
|
-
|
|
21
|
+
"update:expandedKeys": (keys: string[]) => any;
|
|
22
|
+
reorder: (payload: import('./types').ProNavReorder) => any;
|
|
23
|
+
"panel-open": (payload: ProNavPanelChange) => any;
|
|
33
24
|
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
34
|
-
onOpen?: ((key: string, item: ProNavItem) => any) | undefined;
|
|
25
|
+
onOpen?: ((key: string, item: import('./types').ProNavItem) => any) | undefined;
|
|
35
26
|
onSelect?: ((key: string) => any) | undefined;
|
|
36
|
-
"onUpdate:
|
|
37
|
-
|
|
27
|
+
"onUpdate:expandedKeys"?: ((keys: string[]) => any) | undefined;
|
|
28
|
+
onReorder?: ((payload: import('./types').ProNavReorder) => any) | undefined;
|
|
29
|
+
"onPanel-open"?: ((payload: ProNavPanelChange) => any) | undefined;
|
|
38
30
|
}>, {
|
|
39
|
-
groups: ProNavGroup[];
|
|
40
|
-
productOrder: string[];
|
|
41
31
|
collapsed: boolean;
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
32
|
+
showSectionTitles: boolean;
|
|
33
|
+
reordering: boolean;
|
|
34
|
+
ariaLabel: string;
|
|
35
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLElement>;
|
|
45
36
|
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
46
37
|
export default _default;
|
|
47
38
|
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { ProNavItem, ProNavSection, ProNavSlots } from './types';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
item: ProNavItem;
|
|
4
|
+
section: ProNavSection;
|
|
5
|
+
selectedKey?: string;
|
|
6
|
+
collapsed?: boolean;
|
|
7
|
+
};
|
|
8
|
+
declare function __VLS_template(): {
|
|
9
|
+
attrs: Partial<{}>;
|
|
10
|
+
slots: Readonly<ProNavSlots> & ProNavSlots;
|
|
11
|
+
refs: {};
|
|
12
|
+
rootEl: HTMLButtonElement;
|
|
13
|
+
};
|
|
14
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
15
|
+
declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
16
|
+
select: (key: string) => any;
|
|
17
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
18
|
+
onSelect?: ((key: string) => any) | undefined;
|
|
19
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLButtonElement>;
|
|
20
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
21
|
+
export default _default;
|
|
22
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
23
|
+
new (): {
|
|
24
|
+
$slots: S;
|
|
25
|
+
};
|
|
26
|
+
};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { ProNavItem, ProNavSection, ProNavSlots } from './types';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
item: ProNavItem;
|
|
4
|
+
section: ProNavSection;
|
|
5
|
+
level: number;
|
|
6
|
+
selectedKey?: string;
|
|
7
|
+
expandedKeys: readonly string[];
|
|
8
|
+
collapsed?: boolean;
|
|
9
|
+
inPopup?: boolean;
|
|
10
|
+
disabled?: boolean;
|
|
11
|
+
panelVisible?: boolean;
|
|
12
|
+
activeGroupKey?: string;
|
|
13
|
+
};
|
|
14
|
+
declare function __VLS_template(): {
|
|
15
|
+
attrs: Partial<{}>;
|
|
16
|
+
slots: Readonly<ProNavSlots> & ProNavSlots;
|
|
17
|
+
refs: {
|
|
18
|
+
triggerButton: HTMLButtonElement;
|
|
19
|
+
popupContent: HTMLDivElement;
|
|
20
|
+
};
|
|
21
|
+
rootEl: any;
|
|
22
|
+
};
|
|
23
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
24
|
+
declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
25
|
+
select: (key: string) => any;
|
|
26
|
+
"group-open": () => any;
|
|
27
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
28
|
+
onSelect?: ((key: string) => any) | undefined;
|
|
29
|
+
"onGroup-open"?: (() => any) | undefined;
|
|
30
|
+
}>, {
|
|
31
|
+
disabled: boolean;
|
|
32
|
+
panelVisible: boolean;
|
|
33
|
+
collapsed: boolean;
|
|
34
|
+
inPopup: boolean;
|
|
35
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
|
|
36
|
+
triggerButton: HTMLButtonElement;
|
|
37
|
+
popupContent: HTMLDivElement;
|
|
38
|
+
}, any>;
|
|
39
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
40
|
+
export default _default;
|
|
41
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
42
|
+
new (): {
|
|
43
|
+
$slots: S;
|
|
44
|
+
};
|
|
45
|
+
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { FkpIconName } from '@freecallai/icons';
|
|
2
|
+
import { VNode } from 'vue';
|
|
3
|
+
type __VLS_Props = {
|
|
4
|
+
icon?: FkpIconName;
|
|
5
|
+
iconUrl?: string;
|
|
6
|
+
size?: number;
|
|
7
|
+
};
|
|
8
|
+
declare function __VLS_template(): {
|
|
9
|
+
attrs: Partial<{}>;
|
|
10
|
+
slots: Readonly<{
|
|
11
|
+
default?: () => VNode[];
|
|
12
|
+
}> & {
|
|
13
|
+
default?: () => VNode[];
|
|
14
|
+
};
|
|
15
|
+
refs: {};
|
|
16
|
+
rootEl: HTMLSpanElement;
|
|
17
|
+
};
|
|
18
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
19
|
+
declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
20
|
+
size: number;
|
|
21
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLSpanElement>;
|
|
22
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
23
|
+
export default _default;
|
|
24
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
25
|
+
new (): {
|
|
26
|
+
$slots: S;
|
|
27
|
+
};
|
|
28
|
+
};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { ProNavItem, ProNavSection, ProNavSlots } from './types';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
items: readonly ProNavItem[];
|
|
4
|
+
section: ProNavSection;
|
|
5
|
+
level?: number;
|
|
6
|
+
selectedKey?: string;
|
|
7
|
+
expandedKeys?: readonly string[];
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
collapsed?: boolean;
|
|
10
|
+
inPopup?: boolean;
|
|
11
|
+
panelVisible?: boolean;
|
|
12
|
+
};
|
|
13
|
+
declare function __VLS_template(): {
|
|
14
|
+
attrs: Partial<{}>;
|
|
15
|
+
slots: Readonly<ProNavSlots> & ProNavSlots;
|
|
16
|
+
refs: {};
|
|
17
|
+
rootEl: any;
|
|
18
|
+
};
|
|
19
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
20
|
+
declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
21
|
+
select: (key: string) => any;
|
|
22
|
+
"group-open": () => any;
|
|
23
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
24
|
+
onSelect?: ((key: string) => any) | undefined;
|
|
25
|
+
"onGroup-open"?: (() => any) | undefined;
|
|
26
|
+
}>, {
|
|
27
|
+
disabled: boolean;
|
|
28
|
+
level: number;
|
|
29
|
+
panelVisible: boolean;
|
|
30
|
+
collapsed: boolean;
|
|
31
|
+
expandedKeys: readonly string[];
|
|
32
|
+
inPopup: boolean;
|
|
33
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
34
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
35
|
+
export default _default;
|
|
36
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
37
|
+
new (): {
|
|
38
|
+
$slots: S;
|
|
39
|
+
};
|
|
40
|
+
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { default as FkpNavigation } from './FkpNavigation.vue';
|
|
2
|
-
export type { ProNavItem,
|
|
2
|
+
export type { ProNavItem, ProNavSection, ProNavReorder, ProNavPanelChange, ProNavIconSlotProps, ProNavSlots, ProNavEmits, } from './types';
|
|
@@ -1,15 +1,53 @@
|
|
|
1
1
|
import { FkpIconName } from '@freecallai/icons';
|
|
2
|
+
import { Slot } from 'vue';
|
|
2
3
|
export interface ProNavItem {
|
|
3
4
|
key: string;
|
|
4
5
|
label: string;
|
|
5
6
|
icon?: FkpIconName;
|
|
6
7
|
iconUrl?: string;
|
|
7
8
|
disabled?: boolean;
|
|
8
|
-
/**
|
|
9
|
+
/** The host owns navigation; external items emit open instead of select. */
|
|
9
10
|
opensInNewTab?: boolean;
|
|
11
|
+
children?: readonly ProNavItem[];
|
|
10
12
|
}
|
|
11
|
-
export interface
|
|
12
|
-
|
|
13
|
+
export interface ProNavSection {
|
|
14
|
+
key: string;
|
|
15
|
+
title?: string;
|
|
16
|
+
items: readonly ProNavItem[];
|
|
17
|
+
/** Only flat sections can be reordered; input item order is authoritative. */
|
|
18
|
+
sortable?: boolean;
|
|
19
|
+
/** Positive integer; only applies to flat sections. */
|
|
20
|
+
maxVisible?: number;
|
|
21
|
+
}
|
|
22
|
+
export interface ProNavReorder {
|
|
23
|
+
sectionKey: string;
|
|
24
|
+
keys: string[];
|
|
25
|
+
}
|
|
26
|
+
export interface ProNavPanelChange {
|
|
27
|
+
sectionKey: string;
|
|
28
|
+
panel: 'more' | 'sort';
|
|
29
|
+
visible: boolean;
|
|
30
|
+
}
|
|
31
|
+
export interface ProNavIconSlotProps {
|
|
32
|
+
item: ProNavItem;
|
|
33
|
+
section: ProNavSection;
|
|
34
|
+
/** 从 0 开始的菜单层级。 */
|
|
35
|
+
level: number;
|
|
36
|
+
}
|
|
37
|
+
export interface ProNavSlots {
|
|
38
|
+
'item-icon'?: Slot<ProNavIconSlotProps>;
|
|
39
|
+
}
|
|
40
|
+
/** 内部菜单项的选择意图,由入口组件统一处理。 */
|
|
41
|
+
export interface NavigationItemEmits {
|
|
42
|
+
select: [key: string];
|
|
43
|
+
}
|
|
44
|
+
/** 递归节点与分组共享的内部事件,不从包入口导出。 */
|
|
45
|
+
export interface NavigationNodeEmits extends NavigationItemEmits {
|
|
46
|
+
'group-open': [];
|
|
47
|
+
}
|
|
48
|
+
export interface ProNavEmits extends NavigationItemEmits {
|
|
49
|
+
'open': [key: string, item: ProNavItem];
|
|
50
|
+
'update:expandedKeys': [keys: string[]];
|
|
51
|
+
'reorder': [payload: ProNavReorder];
|
|
52
|
+
'panel-open': [payload: ProNavPanelChange];
|
|
13
53
|
}
|
|
14
|
-
/** Ignore stale/duplicate saved keys and append newly authorized products. */
|
|
15
|
-
export declare function resolveProductOrder(products: ProNavItem[], order: string[]): ProNavItem[];
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ProNavItem, ProNavSection } from './types';
|
|
2
|
+
interface NavigationTreeProps {
|
|
3
|
+
sections: readonly ProNavSection[];
|
|
4
|
+
selectedKey?: string;
|
|
5
|
+
expandedKeys?: readonly string[];
|
|
6
|
+
}
|
|
7
|
+
export declare const useNavigationTree: (props: NavigationTreeProps, onExpandedKeysChange: (keys: string[]) => void) => {
|
|
8
|
+
expandedKeys: import('vue').ComputedRef<string[]>;
|
|
9
|
+
selectedKeys: import('vue').ComputedRef<string[]>;
|
|
10
|
+
updateSectionExpandedKeys: (sectionKey: string, keys: string[]) => void;
|
|
11
|
+
getSelectableItem: (key: string) => ProNavItem | undefined;
|
|
12
|
+
};
|
|
13
|
+
export {};
|
|
@@ -2,16 +2,17 @@ import { JSONContent } from '@tiptap/core';
|
|
|
2
2
|
import { ChoiceTokenKind } from './model/node-contract';
|
|
3
3
|
import { MediaTarget } from './runtime/media-target';
|
|
4
4
|
import { PluginPlan } from './runtime/operations';
|
|
5
|
-
import { CapabilityId, AddKnowledgeSceneRequest, ChangeMeta, EditorDiagnostic, FkpRichTextProps, RichTextInsertInput, RichTextInsertResult, KnowledgeSceneV1 } from './public/types';
|
|
5
|
+
import { CapabilityId, AddKnowledgeSceneRequest, DeleteKnowledgeSceneRequest, ChangeMeta, EditorDiagnostic, FkpRichTextProps, RichTextInsertInput, RichTextInsertResult, KnowledgeSceneV1 } from './public/types';
|
|
6
6
|
declare const _default: import('vue').DefineComponent<FkpRichTextProps, {
|
|
7
7
|
undoTypeSwitch(): boolean;
|
|
8
8
|
insertContent(input: RichTextInsertInput): Promise<RichTextInsertResult>;
|
|
9
9
|
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
10
|
+
delete: (request: DeleteKnowledgeSceneRequest) => any;
|
|
11
|
+
"update:modelValue": (scene: KnowledgeSceneV1) => any;
|
|
10
12
|
change: (scene: KnowledgeSceneV1, meta: ChangeMeta) => any;
|
|
11
13
|
help: (request: {
|
|
12
14
|
capabilityId: CapabilityId;
|
|
13
15
|
}) => any;
|
|
14
|
-
"update:modelValue": (scene: KnowledgeSceneV1) => any;
|
|
15
16
|
diagnostic: (issue: EditorDiagnostic) => any;
|
|
16
17
|
"busy-change": (busy: {
|
|
17
18
|
uploading: number;
|
|
@@ -22,11 +23,12 @@ declare const _default: import('vue').DefineComponent<FkpRichTextProps, {
|
|
|
22
23
|
}) => any;
|
|
23
24
|
"add-scene": (request: AddKnowledgeSceneRequest) => any;
|
|
24
25
|
}, string, import('vue').PublicProps, Readonly<FkpRichTextProps> & Readonly<{
|
|
26
|
+
onDelete?: ((request: DeleteKnowledgeSceneRequest) => any) | undefined;
|
|
27
|
+
"onUpdate:modelValue"?: ((scene: KnowledgeSceneV1) => any) | undefined;
|
|
25
28
|
onChange?: ((scene: KnowledgeSceneV1, meta: ChangeMeta) => any) | undefined;
|
|
26
29
|
onHelp?: ((request: {
|
|
27
30
|
capabilityId: CapabilityId;
|
|
28
31
|
}) => any) | undefined;
|
|
29
|
-
"onUpdate:modelValue"?: ((scene: KnowledgeSceneV1) => any) | undefined;
|
|
30
32
|
onDiagnostic?: ((issue: EditorDiagnostic) => any) | undefined;
|
|
31
33
|
"onBusy-change"?: ((busy: {
|
|
32
34
|
uploading: number;
|
|
@@ -56,6 +58,7 @@ declare const _default: import('vue').DefineComponent<FkpRichTextProps, {
|
|
|
56
58
|
schemaPlan: import('./runtime/schema-plan').KnowledgeSchemaPlan;
|
|
57
59
|
pasteCapabilities?: readonly import('./runtime/knowledge-clipboard').PasteCapability[];
|
|
58
60
|
activeChoiceId?: string | null;
|
|
61
|
+
documentAdapter: import('./runtime/document-adapter').DocumentAdapter;
|
|
59
62
|
}> & Readonly<{
|
|
60
63
|
"onUpdate:modelValue"?: ((value: JSONContent) => any) | undefined;
|
|
61
64
|
"onRetry-media"?: ((id: string) => any) | undefined;
|
|
@@ -78,9 +81,12 @@ declare const _default: import('vue').DefineComponent<FkpRichTextProps, {
|
|
|
78
81
|
}>, {
|
|
79
82
|
pasteClipboardContent: (event: ClipboardEvent) => MediaTarget | null;
|
|
80
83
|
isSelectionInsideOriginalReply: () => boolean;
|
|
81
|
-
insertToken: (kind: string, key: string, label: string, token?: string) =>
|
|
82
|
-
|
|
83
|
-
|
|
84
|
+
insertToken: (kind: string, key: string, label: string, token?: string, params?: Record<string, unknown>) => boolean;
|
|
85
|
+
upsertToken: (kind: string, key: string, label: string, params: Record<string, unknown>) => boolean;
|
|
86
|
+
insertInlineNode: (type: string, attrs: Record<string, unknown>) => boolean;
|
|
87
|
+
insertText: (text: string, placement?: "lastCaret" | "end", selectInserted?: boolean) => boolean;
|
|
88
|
+
insertOriginal: () => boolean;
|
|
89
|
+
insertSeparator: () => boolean;
|
|
84
90
|
insertBatch: (content: JSONContent[], target: MediaTarget, refocus: boolean) => JSONContent | null;
|
|
85
91
|
restoreDoc: (doc: JSONContent) => void;
|
|
86
92
|
insertMedia: (asset: {
|
|
@@ -101,6 +107,12 @@ declare const _default: import('vue').DefineComponent<FkpRichTextProps, {
|
|
|
101
107
|
applyPluginNodeOperations: (plans: readonly import('./runtime/operations').NodeMutationPlan[], owner: string) => boolean;
|
|
102
108
|
previewPluginNodeOperations: (plans: readonly import('./runtime/operations').NodeMutationPlan[], owner: string) => JSONContent | null;
|
|
103
109
|
failMedia: (id: string, message: string, expectedNodeVersion: number) => boolean;
|
|
110
|
+
completeMedia: (id: string, expectedNodeVersion: number, asset: {
|
|
111
|
+
id?: string;
|
|
112
|
+
url: string;
|
|
113
|
+
kind: "image" | "video";
|
|
114
|
+
posterUrl?: string;
|
|
115
|
+
}) => boolean;
|
|
104
116
|
retryMedia: (id: string, expectedNodeVersion: number) => boolean;
|
|
105
117
|
getMediaState: (id: string) => import('./runtime/media-state').MediaNodeState | null;
|
|
106
118
|
reportMediaProgress: (id: string, expectedNodeVersion: number, percent: number) => boolean;
|
|
@@ -176,6 +188,7 @@ declare const _default: import('vue').DefineComponent<FkpRichTextProps, {
|
|
|
176
188
|
schemaPlan: import('./runtime/schema-plan').KnowledgeSchemaPlan;
|
|
177
189
|
pasteCapabilities?: readonly import('./runtime/knowledge-clipboard').PasteCapability[];
|
|
178
190
|
activeChoiceId?: string | null;
|
|
191
|
+
documentAdapter: import('./runtime/document-adapter').DocumentAdapter;
|
|
179
192
|
}> & Readonly<{
|
|
180
193
|
"onUpdate:modelValue"?: ((value: JSONContent) => any) | undefined;
|
|
181
194
|
"onRetry-media"?: ((id: string) => any) | undefined;
|
|
@@ -198,9 +211,12 @@ declare const _default: import('vue').DefineComponent<FkpRichTextProps, {
|
|
|
198
211
|
}>, {
|
|
199
212
|
pasteClipboardContent: (event: ClipboardEvent) => MediaTarget | null;
|
|
200
213
|
isSelectionInsideOriginalReply: () => boolean;
|
|
201
|
-
insertToken: (kind: string, key: string, label: string, token?: string) =>
|
|
202
|
-
|
|
203
|
-
|
|
214
|
+
insertToken: (kind: string, key: string, label: string, token?: string, params?: Record<string, unknown>) => boolean;
|
|
215
|
+
upsertToken: (kind: string, key: string, label: string, params: Record<string, unknown>) => boolean;
|
|
216
|
+
insertInlineNode: (type: string, attrs: Record<string, unknown>) => boolean;
|
|
217
|
+
insertText: (text: string, placement?: "lastCaret" | "end", selectInserted?: boolean) => boolean;
|
|
218
|
+
insertOriginal: () => boolean;
|
|
219
|
+
insertSeparator: () => boolean;
|
|
204
220
|
insertBatch: (content: JSONContent[], target: MediaTarget, refocus: boolean) => JSONContent | null;
|
|
205
221
|
restoreDoc: (doc: JSONContent) => void;
|
|
206
222
|
insertMedia: (asset: {
|
|
@@ -221,6 +237,12 @@ declare const _default: import('vue').DefineComponent<FkpRichTextProps, {
|
|
|
221
237
|
applyPluginNodeOperations: (plans: readonly import('./runtime/operations').NodeMutationPlan[], owner: string) => boolean;
|
|
222
238
|
previewPluginNodeOperations: (plans: readonly import('./runtime/operations').NodeMutationPlan[], owner: string) => JSONContent | null;
|
|
223
239
|
failMedia: (id: string, message: string, expectedNodeVersion: number) => boolean;
|
|
240
|
+
completeMedia: (id: string, expectedNodeVersion: number, asset: {
|
|
241
|
+
id?: string;
|
|
242
|
+
url: string;
|
|
243
|
+
kind: "image" | "video";
|
|
244
|
+
posterUrl?: string;
|
|
245
|
+
}) => boolean;
|
|
224
246
|
retryMedia: (id: string, expectedNodeVersion: number) => boolean;
|
|
225
247
|
getMediaState: (id: string) => import('./runtime/media-state').MediaNodeState | null;
|
|
226
248
|
reportMediaProgress: (id: string, expectedNodeVersion: number, percent: number) => boolean;
|
|
@@ -16,4 +16,4 @@ export interface ResolvedSceneConfig {
|
|
|
16
16
|
diagnostics: EditorDiagnostic[];
|
|
17
17
|
fingerprint: string;
|
|
18
18
|
}
|
|
19
|
-
export declare function resolveSceneConfig(type: KnowledgeType, input: Pick<FkpRichTextProps, 'config' | 'policy' | 'ports' | 'readonly' | 'disabled'>, now?: number): ResolvedSceneConfig;
|
|
19
|
+
export declare function resolveSceneConfig(type: KnowledgeType, input: Pick<FkpRichTextProps, 'config' | 'policy' | 'ports' | 'readonly' | 'disabled' | 'mediaSources'>, now?: number): ResolvedSceneConfig;
|
|
@@ -2,7 +2,10 @@ export { default } from './FkpRichText.vue';
|
|
|
2
2
|
export { default as FkpRichText } from './FkpRichText.vue';
|
|
3
3
|
export { default as FkpKnowledgeTypePicker } from './ui/FkpKnowledgeTypePicker.vue';
|
|
4
4
|
export type { FkpKnowledgeTypePickerProps } from './ui/knowledge-type-picker-types';
|
|
5
|
-
export type {
|
|
5
|
+
export type { MediaSource, MediaSourceOptions } from './runtime/media-sources';
|
|
6
|
+
export type { FkpRichTextProps, CapabilityModuleLoader, FkpRichTextHandle, RichTextInsertInput, RichTextInsertOption, RichTextInsertResult, KnowledgeSceneV1, KnowledgeConditionV1, MigrationIssueV1, LoadedConditionV1, LegacyReadonlyConditionV1, ConditionLoadV1, 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 './public/types';
|
|
7
|
+
export type { CapabilityDescriptor } from './config/descriptor';
|
|
8
|
+
export type { CapabilityModule, PluginInput, PluginOperation, PluginActionContext, } from './plugins/operations';
|
|
6
9
|
export { emptyScene, emptyDoc } from './public/types';
|
|
7
10
|
export { resolveSceneConfig } from './config/resolve';
|
|
8
11
|
export { validateKnowledgeScenes } from './model/validate';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CapabilityId, KnowledgeSceneV1 } from '../public/types';
|
|
2
|
-
/**
|
|
2
|
+
/** ASCII model delimiters and line breaks are reserved; full-width brackets may be balanced intent text. */
|
|
3
3
|
export declare function hasQuestionDelimiter(text: string): boolean;
|
|
4
4
|
/** Plan labels must remain one unambiguous model-protocol token. */
|
|
5
5
|
export declare function hasPlanLabelDelimiter(label: string): boolean;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { CapabilityDescriptor } from '../config/descriptor';
|
|
2
|
+
import { CapabilityModuleLoader } from '../public/types';
|
|
2
3
|
import { CapabilityModule } from './operations';
|
|
3
4
|
export type CapabilityLoader = () => Promise<{
|
|
4
5
|
default: CapabilityModule;
|
|
@@ -11,4 +12,4 @@ export type CapabilityLoadResult = {
|
|
|
11
12
|
ok: false;
|
|
12
13
|
reason: 'NOT_REGISTERED' | 'VERSION_MISMATCH';
|
|
13
14
|
};
|
|
14
|
-
export declare function loadCapability(descriptor: CapabilityDescriptor): Promise<CapabilityLoadResult>;
|
|
15
|
+
export declare function loadCapability(descriptor: CapabilityDescriptor, override?: CapabilityModuleLoader): Promise<CapabilityLoadResult>;
|