yc-component 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.en.md +36 -0
- package/README.md +216 -0
- package/dist/_virtual/_plugin-vue_export-helper.js +9 -0
- package/dist/ai-task/api/http.d.ts +6 -0
- package/dist/ai-task/api/http.d.ts.map +1 -0
- package/dist/ai-task/api/http.js +40 -0
- package/dist/ai-task/api/prompt.d.ts +11 -0
- package/dist/ai-task/api/prompt.d.ts.map +1 -0
- package/dist/ai-task/api/prompt.js +9 -0
- package/dist/ai-task/api/workflow.d.ts +51 -0
- package/dist/ai-task/api/workflow.d.ts.map +1 -0
- package/dist/ai-task/api/workflow.js +15 -0
- package/dist/ai-task/components/AiTaskPanel.css +1 -0
- package/dist/ai-task/components/AiTaskPanel.d.ts +4 -0
- package/dist/ai-task/components/AiTaskPanel.d.ts.map +1 -0
- package/dist/ai-task/components/AiTaskPanel.vue.js +7 -0
- package/dist/ai-task/components/AiTaskPanel.vue2.js +251 -0
- package/dist/ai-task/components/AiTaskProvider.d.ts +26 -0
- package/dist/ai-task/components/AiTaskProvider.d.ts.map +1 -0
- package/dist/ai-task/components/AiTaskProvider.vue.js +60 -0
- package/dist/ai-task/components/AiTaskProvider.vue2.js +4 -0
- package/dist/ai-task/components/AiUseDialog.css +1 -0
- package/dist/ai-task/components/AiUseDialog.d.ts +22 -0
- package/dist/ai-task/components/AiUseDialog.d.ts.map +1 -0
- package/dist/ai-task/components/AiUseDialog.vue.js +7 -0
- package/dist/ai-task/components/AiUseDialog.vue2.js +224 -0
- package/dist/ai-task/composables/useAiTask.d.ts +62 -0
- package/dist/ai-task/composables/useAiTask.d.ts.map +1 -0
- package/dist/ai-task/composables/useAiTask.js +11 -0
- package/dist/ai-task/config.d.ts +23 -0
- package/dist/ai-task/config.d.ts.map +1 -0
- package/dist/ai-task/config.js +23 -0
- package/dist/ai-task/context.d.ts +59 -0
- package/dist/ai-task/context.d.ts.map +1 -0
- package/dist/ai-task/context.js +42 -0
- package/dist/ai-task/dialog-state.d.ts +28 -0
- package/dist/ai-task/dialog-state.d.ts.map +1 -0
- package/dist/ai-task/dialog-state.js +28 -0
- package/dist/ai-task/index.d.ts +15 -0
- package/dist/ai-task/index.d.ts.map +1 -0
- package/dist/ai-task/index.js +24 -0
- package/dist/ai-task/inject.d.ts +307 -0
- package/dist/ai-task/inject.d.ts.map +1 -0
- package/dist/ai-task/inject.js +10 -0
- package/dist/ai-task/services/taskRunner.d.ts +11 -0
- package/dist/ai-task/services/taskRunner.d.ts.map +1 -0
- package/dist/ai-task/services/taskRunner.js +60 -0
- package/dist/ai-task/store/useAiTaskStore.d.ts +255 -0
- package/dist/ai-task/store/useAiTaskStore.d.ts.map +1 -0
- package/dist/ai-task/store/useAiTaskStore.js +230 -0
- package/dist/ai-task/style.css +3 -0
- package/dist/ai-task/types/index.d.ts +105 -0
- package/dist/ai-task/types/index.d.ts.map +1 -0
- package/dist/ai-task/useScopedStore.d.ts +255 -0
- package/dist/ai-task/useScopedStore.d.ts.map +1 -0
- package/dist/ai-task/useScopedStore.js +10 -0
- package/dist/ai-task/utils/runClientScript.d.ts +5 -0
- package/dist/ai-task/utils/runClientScript.d.ts.map +1 -0
- package/dist/ai-task/utils/runClientScript.js +26 -0
- package/dist/ai-task/utils/storage.d.ts +20 -0
- package/dist/ai-task/utils/storage.d.ts.map +1 -0
- package/dist/ai-task/utils/storage.js +45 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +31 -0
- package/dist/page-window/YcPageWindow.css +1 -0
- package/dist/page-window/YcPageWindow.d.ts +58 -0
- package/dist/page-window/YcPageWindow.d.ts.map +1 -0
- package/dist/page-window/YcPageWindow.vue.js +7 -0
- package/dist/page-window/YcPageWindow.vue2.js +230 -0
- package/dist/page-window/index.d.ts +5 -0
- package/dist/page-window/index.d.ts.map +1 -0
- package/dist/page-window/index.js +5 -0
- package/dist/page-window/style.css +1 -0
- package/dist/page-window/types.d.ts +32 -0
- package/dist/page-window/types.d.ts.map +1 -0
- package/dist/plugin.d.ts +14 -0
- package/dist/plugin.d.ts.map +1 -0
- package/dist/plugin.js +19 -0
- package/package.json +84 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { inject as o } from "vue";
|
|
2
|
+
import { createAiTaskApi as t } from "../context.js";
|
|
3
|
+
import { AI_TASK_INJECT_KEY as e } from "../inject.js";
|
|
4
|
+
import { useScopedAiTaskStore as i } from "../useScopedStore.js";
|
|
5
|
+
function f() {
|
|
6
|
+
const r = o(e, null);
|
|
7
|
+
return r || t(i());
|
|
8
|
+
}
|
|
9
|
+
export {
|
|
10
|
+
f as useAiTask
|
|
11
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Prompt } from './api/prompt';
|
|
2
|
+
export interface YcAiTaskConfig {
|
|
3
|
+
/** 工作流 projectId,默认 default-project */
|
|
4
|
+
projectId?: string;
|
|
5
|
+
/** localStorage 键名,默认 yc-ai-task-queue-v1 */
|
|
6
|
+
storageKey?: string;
|
|
7
|
+
/** API 根路径,留空则走当前站点相对路径(如 /yc-ai) */
|
|
8
|
+
baseURL?: string;
|
|
9
|
+
/**
|
|
10
|
+
* 可选:读取 Bearer Token。
|
|
11
|
+
* 默认不传则请求不带 Token,由 yc_ai_service 根据 Origin 域名白名单决定是否放行。
|
|
12
|
+
*/
|
|
13
|
+
getToken?: () => string | null;
|
|
14
|
+
/** 401 时回调(如跳转登录);仅配置了 getToken 的管理端场景需要 */
|
|
15
|
+
onUnauthorized?: () => void;
|
|
16
|
+
/** 自定义加载提示词列表,不传则请求 GET /yc-ai/ai/prompts */
|
|
17
|
+
listPrompts?: () => Promise<Prompt[]>;
|
|
18
|
+
}
|
|
19
|
+
export declare function setAiTaskConfig(partial: YcAiTaskConfig): void;
|
|
20
|
+
export declare function getAiTaskConfig(): YcAiTaskConfig;
|
|
21
|
+
export declare function getProjectId(): string;
|
|
22
|
+
export declare function getStorageKey(): string;
|
|
23
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/ai-task/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAE1C,MAAM,WAAW,cAAc;IAC7B,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,6CAA6C;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAA;IAC9B,4CAA4C;IAC5C,cAAc,CAAC,EAAE,MAAM,IAAI,CAAA;IAC3B,6CAA6C;IAC7C,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;CACtC;AASD,wBAAgB,eAAe,CAAC,OAAO,EAAE,cAAc,QAEtD;AAED,wBAAgB,eAAe,IAAI,cAAc,CAEhD;AAED,wBAAgB,YAAY,WAE3B;AAED,wBAAgB,aAAa,WAE5B"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
const t = {
|
|
2
|
+
projectId: "default-project",
|
|
3
|
+
storageKey: "yc-ai-task-queue-v1"
|
|
4
|
+
};
|
|
5
|
+
let e = { ...t };
|
|
6
|
+
function n(o) {
|
|
7
|
+
e = { ...e, ...o };
|
|
8
|
+
}
|
|
9
|
+
function r() {
|
|
10
|
+
return e;
|
|
11
|
+
}
|
|
12
|
+
function c() {
|
|
13
|
+
return e.projectId ?? t.projectId;
|
|
14
|
+
}
|
|
15
|
+
function g() {
|
|
16
|
+
return e.storageKey ?? t.storageKey;
|
|
17
|
+
}
|
|
18
|
+
export {
|
|
19
|
+
r as getAiTaskConfig,
|
|
20
|
+
c as getProjectId,
|
|
21
|
+
g as getStorageKey,
|
|
22
|
+
n as setAiTaskConfig
|
|
23
|
+
};
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { useAiTaskStore } from './store/useAiTaskStore';
|
|
2
|
+
import { AiTaskFinishHandler, AiTaskSubmitOptions, AiUseDialogOptions, AiTaskStatus, AiTaskItem } from './types';
|
|
3
|
+
import { Ref, ComputedRef } from 'vue';
|
|
4
|
+
export type AiTaskStore = ReturnType<typeof useAiTaskStore>;
|
|
5
|
+
export declare function createAiTaskApi(store: AiTaskStore): {
|
|
6
|
+
tasks: Ref<{
|
|
7
|
+
id: string;
|
|
8
|
+
title: string;
|
|
9
|
+
freeText: string;
|
|
10
|
+
promptId?: number | undefined;
|
|
11
|
+
autoMatch?: boolean | undefined;
|
|
12
|
+
status: AiTaskStatus;
|
|
13
|
+
progress: number;
|
|
14
|
+
summary: string;
|
|
15
|
+
runId?: number | undefined;
|
|
16
|
+
result?: Record<string, unknown> | undefined;
|
|
17
|
+
errorMessage?: string | undefined;
|
|
18
|
+
createdAt: number;
|
|
19
|
+
finishedAt?: number | undefined;
|
|
20
|
+
logs: string[];
|
|
21
|
+
}[], AiTaskItem[] | {
|
|
22
|
+
id: string;
|
|
23
|
+
title: string;
|
|
24
|
+
freeText: string;
|
|
25
|
+
promptId?: number | undefined;
|
|
26
|
+
autoMatch?: boolean | undefined;
|
|
27
|
+
status: AiTaskStatus;
|
|
28
|
+
progress: number;
|
|
29
|
+
summary: string;
|
|
30
|
+
runId?: number | undefined;
|
|
31
|
+
result?: Record<string, unknown> | undefined;
|
|
32
|
+
errorMessage?: string | undefined;
|
|
33
|
+
createdAt: number;
|
|
34
|
+
finishedAt?: number | undefined;
|
|
35
|
+
logs: string[];
|
|
36
|
+
}[]>;
|
|
37
|
+
panelVisible: Ref<boolean, boolean>;
|
|
38
|
+
panelMinimized: Ref<boolean, boolean>;
|
|
39
|
+
dialogVisible: Ref<boolean, boolean>;
|
|
40
|
+
runningCount: ComputedRef<number>;
|
|
41
|
+
activeCount: ComputedRef<number>;
|
|
42
|
+
panelTitle: ComputedRef<"AI 处理中" | "部分任务失败" | "AI 任务">;
|
|
43
|
+
panelSubtitle: ComputedRef<string>;
|
|
44
|
+
openUseDialog: (options?: AiUseDialogOptions) => void;
|
|
45
|
+
closeUseDialog: () => void;
|
|
46
|
+
openTaskPanel: () => void;
|
|
47
|
+
hideTaskPanel: () => void;
|
|
48
|
+
togglePanelMinimize: () => void;
|
|
49
|
+
submitTask: (options: AiTaskSubmitOptions) => string;
|
|
50
|
+
cancelTask: (id: string) => Promise<void>;
|
|
51
|
+
cancelAll: () => void;
|
|
52
|
+
clearFinished: () => void;
|
|
53
|
+
removeTask: (id: string) => void;
|
|
54
|
+
loadTaskResult: (id: string) => Promise<Record<string, unknown> | null>;
|
|
55
|
+
refreshTasks: () => Promise<void>;
|
|
56
|
+
onTaskFinish: (handler: AiTaskFinishHandler) => () => boolean;
|
|
57
|
+
};
|
|
58
|
+
export type AiTaskContext = ReturnType<typeof createAiTaskApi>;
|
|
59
|
+
//# sourceMappingURL=context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/ai-task/context.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,SAAS,CAAA;AAEhB,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;AAE3D,wBAAgB,eAAe,CAAC,KAAK,EAAE,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAqBpB,kBAAkB;;;;;0BAQtB,mBAAmB;qBACxB,MAAM;;;qBAGN,MAAM;yBACF,MAAM;;4BAEH,mBAAmB;EAE9C;AAED,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAA"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { storeToRefs as g } from "pinia";
|
|
2
|
+
import { showAiDialog as u } from "./dialog-state.js";
|
|
3
|
+
function p(e) {
|
|
4
|
+
const {
|
|
5
|
+
tasks: i,
|
|
6
|
+
panelVisible: l,
|
|
7
|
+
panelMinimized: n,
|
|
8
|
+
dialogVisible: s,
|
|
9
|
+
runningCount: c,
|
|
10
|
+
activeCount: o,
|
|
11
|
+
panelTitle: T,
|
|
12
|
+
panelSubtitle: k
|
|
13
|
+
} = g(e);
|
|
14
|
+
return {
|
|
15
|
+
tasks: i,
|
|
16
|
+
panelVisible: l,
|
|
17
|
+
panelMinimized: n,
|
|
18
|
+
dialogVisible: s,
|
|
19
|
+
runningCount: c,
|
|
20
|
+
activeCount: o,
|
|
21
|
+
panelTitle: T,
|
|
22
|
+
panelSubtitle: k,
|
|
23
|
+
openUseDialog: (a) => {
|
|
24
|
+
u(a ?? {}), e.openDialog(a ?? {});
|
|
25
|
+
},
|
|
26
|
+
closeUseDialog: () => e.closeDialog(),
|
|
27
|
+
openTaskPanel: () => e.showPanel(),
|
|
28
|
+
hideTaskPanel: () => e.hidePanel(),
|
|
29
|
+
togglePanelMinimize: () => e.toggleMinimize(),
|
|
30
|
+
submitTask: (a) => e.enqueue(a),
|
|
31
|
+
cancelTask: (a) => e.cancelTask(a),
|
|
32
|
+
cancelAll: () => e.cancelAll(),
|
|
33
|
+
clearFinished: () => e.clearFinished(),
|
|
34
|
+
removeTask: (a) => e.removeTask(a),
|
|
35
|
+
loadTaskResult: (a) => e.loadTaskResult(a),
|
|
36
|
+
refreshTasks: () => e.refreshActiveTasks(),
|
|
37
|
+
onTaskFinish: (a) => e.onTaskFinish(a)
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
export {
|
|
41
|
+
p as createAiTaskApi
|
|
42
|
+
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { AiUseDialogOptions, AiTaskFinishHandler } from './types';
|
|
2
|
+
export interface AiDialogState {
|
|
3
|
+
visible: boolean;
|
|
4
|
+
options: AiUseDialogOptions;
|
|
5
|
+
}
|
|
6
|
+
export declare const AI_DIALOG_OPEN_EVENT = "yc-component:ai-dialog-open";
|
|
7
|
+
export declare const aiDialogState: {
|
|
8
|
+
visible: boolean;
|
|
9
|
+
options: {
|
|
10
|
+
title?: string | undefined;
|
|
11
|
+
freeText?: string | undefined;
|
|
12
|
+
promptId?: number | undefined;
|
|
13
|
+
autoMatch?: boolean | undefined;
|
|
14
|
+
prompts?: {
|
|
15
|
+
id: number;
|
|
16
|
+
name: string;
|
|
17
|
+
content?: string | undefined;
|
|
18
|
+
category?: string | undefined;
|
|
19
|
+
workflowDefinitionKey?: string | undefined;
|
|
20
|
+
}[] | undefined;
|
|
21
|
+
onSubmitted?: ((taskId: string) => void) | undefined;
|
|
22
|
+
onFinish?: AiTaskFinishHandler | undefined;
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
export declare function showAiDialog(options?: AiUseDialogOptions): void;
|
|
26
|
+
export declare function hideAiDialog(): void;
|
|
27
|
+
export declare function openAiUseDialog(options?: AiUseDialogOptions): void;
|
|
28
|
+
//# sourceMappingURL=dialog-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dialog-state.d.ts","sourceRoot":"","sources":["../../src/ai-task/dialog-state.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAEjD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,kBAAkB,CAAA;CAC5B;AAGD,eAAO,MAAM,oBAAoB,gCAAgC,CAAA;AAajE,eAAO,MAAM,aAAa;aAlBf,OAAO;;;;;;;;;;;;;;;;CAkBqB,CAAA;AAEvC,wBAAgB,YAAY,CAAC,OAAO,GAAE,kBAAuB,QAM5D;AAED,wBAAgB,YAAY,SAE3B;AAED,wBAAgB,eAAe,CAAC,OAAO,GAAE,kBAAuB,QAE/D"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { reactive as e } from "vue";
|
|
2
|
+
const o = "__YC_COMPONENT_AI_DIALOG__", n = "yc-component:ai-dialog-open";
|
|
3
|
+
function a() {
|
|
4
|
+
const i = globalThis;
|
|
5
|
+
return i[o] || (i[o] = e({
|
|
6
|
+
visible: !1,
|
|
7
|
+
options: {}
|
|
8
|
+
})), i[o];
|
|
9
|
+
}
|
|
10
|
+
const t = a();
|
|
11
|
+
function s(i = {}) {
|
|
12
|
+
t.options = { ...i }, t.visible = !0, globalThis.dispatchEvent(
|
|
13
|
+
new CustomEvent(n, { detail: { ...i } })
|
|
14
|
+
);
|
|
15
|
+
}
|
|
16
|
+
function c() {
|
|
17
|
+
t.visible = !1;
|
|
18
|
+
}
|
|
19
|
+
function _(i = {}) {
|
|
20
|
+
s(i);
|
|
21
|
+
}
|
|
22
|
+
export {
|
|
23
|
+
n as AI_DIALOG_OPEN_EVENT,
|
|
24
|
+
t as aiDialogState,
|
|
25
|
+
c as hideAiDialog,
|
|
26
|
+
_ as openAiUseDialog,
|
|
27
|
+
s as showAiDialog
|
|
28
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export { default as YcAiTaskProvider } from './components/AiTaskProvider';
|
|
2
|
+
export { default as YcAiUseDialog } from './components/AiUseDialog';
|
|
3
|
+
export { default as YcAiTaskPanel } from './components/AiTaskPanel';
|
|
4
|
+
/** 兼容旧命名 */
|
|
5
|
+
export { default as AiTaskProvider } from './components/AiTaskProvider';
|
|
6
|
+
export { default as AiUseDialog } from './components/AiUseDialog';
|
|
7
|
+
export { default as AiTaskPanel } from './components/AiTaskPanel';
|
|
8
|
+
export { useAiTask } from './composables/useAiTask';
|
|
9
|
+
export { openAiUseDialog, showAiDialog, hideAiDialog } from './dialog-state';
|
|
10
|
+
export { listPrompts } from './api/prompt';
|
|
11
|
+
export { useAiTaskStore } from './store/useAiTaskStore';
|
|
12
|
+
export { setAiTaskConfig, getAiTaskConfig } from './config';
|
|
13
|
+
export type { YcAiTaskConfig } from './config';
|
|
14
|
+
export type { AiTaskItem, AiTaskStatus, AiTaskSubmitOptions, AiUseDialogOptions, AiUseDialogProps, AiPromptOption, AiTaskFinishPayload, AiTaskFinishHandler, } from './types';
|
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ai-task/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAC7E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,8BAA8B,CAAA;AACvE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAEvE,YAAY;AACZ,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,iCAAiC,CAAA;AAC3E,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAErE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC3D,YAAY,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAC9C,YAAY,EACV,UAAU,EACV,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,SAAS,CAAA"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { default as a, default as i } from "./components/AiTaskProvider.vue.js";
|
|
2
|
+
import { default as r, default as t } from "./components/AiUseDialog.vue.js";
|
|
3
|
+
import { default as l, default as A } from "./components/AiTaskPanel.vue.js";
|
|
4
|
+
import { useAiTask as d } from "./composables/useAiTask.js";
|
|
5
|
+
import { hideAiDialog as g, openAiUseDialog as k, showAiDialog as u } from "./dialog-state.js";
|
|
6
|
+
import { listPrompts as T } from "./api/prompt.js";
|
|
7
|
+
import { useAiTaskStore as D } from "./store/useAiTaskStore.js";
|
|
8
|
+
import { getAiTaskConfig as c, setAiTaskConfig as U } from "./config.js";
|
|
9
|
+
export {
|
|
10
|
+
l as AiTaskPanel,
|
|
11
|
+
a as AiTaskProvider,
|
|
12
|
+
r as AiUseDialog,
|
|
13
|
+
A as YcAiTaskPanel,
|
|
14
|
+
i as YcAiTaskProvider,
|
|
15
|
+
t as YcAiUseDialog,
|
|
16
|
+
c as getAiTaskConfig,
|
|
17
|
+
g as hideAiDialog,
|
|
18
|
+
T as listPrompts,
|
|
19
|
+
k as openAiUseDialog,
|
|
20
|
+
U as setAiTaskConfig,
|
|
21
|
+
u as showAiDialog,
|
|
22
|
+
d as useAiTask,
|
|
23
|
+
D as useAiTaskStore
|
|
24
|
+
};
|
|
@@ -0,0 +1,307 @@
|
|
|
1
|
+
import { InjectionKey, Ref, ComputedRef } from 'vue';
|
|
2
|
+
import { AiTaskStatus, AiTaskItem, AiUseDialogOptions, AiTaskSubmitOptions, AiTaskFinishHandler } from './types';
|
|
3
|
+
import { Store } from 'pinia';
|
|
4
|
+
export declare const AI_TASK_INJECT_KEY: InjectionKey<{
|
|
5
|
+
tasks: Ref<{
|
|
6
|
+
id: string;
|
|
7
|
+
title: string;
|
|
8
|
+
freeText: string;
|
|
9
|
+
promptId?: number | undefined;
|
|
10
|
+
autoMatch?: boolean | undefined;
|
|
11
|
+
status: AiTaskStatus;
|
|
12
|
+
progress: number;
|
|
13
|
+
summary: string;
|
|
14
|
+
runId?: number | undefined;
|
|
15
|
+
result?: Record<string, unknown> | undefined;
|
|
16
|
+
errorMessage?: string | undefined;
|
|
17
|
+
createdAt: number;
|
|
18
|
+
finishedAt?: number | undefined;
|
|
19
|
+
logs: string[];
|
|
20
|
+
}[], AiTaskItem[] | {
|
|
21
|
+
id: string;
|
|
22
|
+
title: string;
|
|
23
|
+
freeText: string;
|
|
24
|
+
promptId?: number | undefined;
|
|
25
|
+
autoMatch?: boolean | undefined;
|
|
26
|
+
status: AiTaskStatus;
|
|
27
|
+
progress: number;
|
|
28
|
+
summary: string;
|
|
29
|
+
runId?: number | undefined;
|
|
30
|
+
result?: Record<string, unknown> | undefined;
|
|
31
|
+
errorMessage?: string | undefined;
|
|
32
|
+
createdAt: number;
|
|
33
|
+
finishedAt?: number | undefined;
|
|
34
|
+
logs: string[];
|
|
35
|
+
}[]>;
|
|
36
|
+
panelVisible: Ref<boolean, boolean>;
|
|
37
|
+
panelMinimized: Ref<boolean, boolean>;
|
|
38
|
+
dialogVisible: Ref<boolean, boolean>;
|
|
39
|
+
runningCount: ComputedRef<number>;
|
|
40
|
+
activeCount: ComputedRef<number>;
|
|
41
|
+
panelTitle: ComputedRef<"AI 处理中" | "部分任务失败" | "AI 任务">;
|
|
42
|
+
panelSubtitle: ComputedRef<string>;
|
|
43
|
+
openUseDialog: (options?: AiUseDialogOptions) => void;
|
|
44
|
+
closeUseDialog: () => void;
|
|
45
|
+
openTaskPanel: () => void;
|
|
46
|
+
hideTaskPanel: () => void;
|
|
47
|
+
togglePanelMinimize: () => void;
|
|
48
|
+
submitTask: (options: AiTaskSubmitOptions) => string;
|
|
49
|
+
cancelTask: (id: string) => Promise<void>;
|
|
50
|
+
cancelAll: () => void;
|
|
51
|
+
clearFinished: () => void;
|
|
52
|
+
removeTask: (id: string) => void;
|
|
53
|
+
loadTaskResult: (id: string) => Promise<Record<string, unknown> | null>;
|
|
54
|
+
refreshTasks: () => Promise<void>;
|
|
55
|
+
onTaskFinish: (handler: AiTaskFinishHandler) => () => boolean;
|
|
56
|
+
}>;
|
|
57
|
+
export declare const AI_TASK_STORE_KEY: InjectionKey< Store<"ycAiTask", Pick<{
|
|
58
|
+
tasks: Ref<{
|
|
59
|
+
id: string;
|
|
60
|
+
title: string;
|
|
61
|
+
freeText: string;
|
|
62
|
+
promptId?: number | undefined;
|
|
63
|
+
autoMatch?: boolean | undefined;
|
|
64
|
+
status: AiTaskStatus;
|
|
65
|
+
progress: number;
|
|
66
|
+
summary: string;
|
|
67
|
+
runId?: number | undefined;
|
|
68
|
+
result?: Record<string, unknown> | undefined;
|
|
69
|
+
errorMessage?: string | undefined;
|
|
70
|
+
createdAt: number;
|
|
71
|
+
finishedAt?: number | undefined;
|
|
72
|
+
logs: string[];
|
|
73
|
+
}[], AiTaskItem[] | {
|
|
74
|
+
id: string;
|
|
75
|
+
title: string;
|
|
76
|
+
freeText: string;
|
|
77
|
+
promptId?: number | undefined;
|
|
78
|
+
autoMatch?: boolean | undefined;
|
|
79
|
+
status: AiTaskStatus;
|
|
80
|
+
progress: number;
|
|
81
|
+
summary: string;
|
|
82
|
+
runId?: number | undefined;
|
|
83
|
+
result?: Record<string, unknown> | undefined;
|
|
84
|
+
errorMessage?: string | undefined;
|
|
85
|
+
createdAt: number;
|
|
86
|
+
finishedAt?: number | undefined;
|
|
87
|
+
logs: string[];
|
|
88
|
+
}[]>;
|
|
89
|
+
panelVisible: Ref<boolean, boolean>;
|
|
90
|
+
panelMinimized: Ref<boolean, boolean>;
|
|
91
|
+
dialogVisible: Ref<boolean, boolean>;
|
|
92
|
+
dialogOptions: Ref<{
|
|
93
|
+
title?: string | undefined;
|
|
94
|
+
freeText?: string | undefined;
|
|
95
|
+
promptId?: number | undefined;
|
|
96
|
+
autoMatch?: boolean | undefined;
|
|
97
|
+
prompts?: {
|
|
98
|
+
id: number;
|
|
99
|
+
name: string;
|
|
100
|
+
content?: string | undefined;
|
|
101
|
+
category?: string | undefined;
|
|
102
|
+
workflowDefinitionKey?: string | undefined;
|
|
103
|
+
}[] | undefined;
|
|
104
|
+
onSubmitted?: ((taskId: string) => void) | undefined;
|
|
105
|
+
onFinish?: AiTaskFinishHandler | undefined;
|
|
106
|
+
}, AiUseDialogOptions | {
|
|
107
|
+
title?: string | undefined;
|
|
108
|
+
freeText?: string | undefined;
|
|
109
|
+
promptId?: number | undefined;
|
|
110
|
+
autoMatch?: boolean | undefined;
|
|
111
|
+
prompts?: {
|
|
112
|
+
id: number;
|
|
113
|
+
name: string;
|
|
114
|
+
content?: string | undefined;
|
|
115
|
+
category?: string | undefined;
|
|
116
|
+
workflowDefinitionKey?: string | undefined;
|
|
117
|
+
}[] | undefined;
|
|
118
|
+
onSubmitted?: ((taskId: string) => void) | undefined;
|
|
119
|
+
onFinish?: AiTaskFinishHandler | undefined;
|
|
120
|
+
}>;
|
|
121
|
+
hydrated: Ref<boolean, boolean>;
|
|
122
|
+
runningCount: ComputedRef<number>;
|
|
123
|
+
activeCount: ComputedRef<number>;
|
|
124
|
+
panelTitle: ComputedRef<"AI 处理中" | "部分任务失败" | "AI 任务">;
|
|
125
|
+
panelSubtitle: ComputedRef<string>;
|
|
126
|
+
hydrate: () => Promise<void>;
|
|
127
|
+
showPanel: () => void;
|
|
128
|
+
hidePanel: () => void;
|
|
129
|
+
toggleMinimize: () => void;
|
|
130
|
+
openDialog: (options?: AiUseDialogOptions) => void;
|
|
131
|
+
closeDialog: () => void;
|
|
132
|
+
enqueue: (options: AiTaskSubmitOptions) => string;
|
|
133
|
+
onTaskFinish: (handler: AiTaskFinishHandler) => () => boolean;
|
|
134
|
+
refreshActiveTasks: () => Promise<void>;
|
|
135
|
+
loadTaskResult: (id: string) => Promise<Record<string, unknown> | null>;
|
|
136
|
+
cancelTask: (id: string) => Promise<void>;
|
|
137
|
+
cancelAll: () => void;
|
|
138
|
+
clearFinished: () => void;
|
|
139
|
+
removeTask: (id: string) => void;
|
|
140
|
+
}, "tasks" | "panelVisible" | "panelMinimized" | "dialogVisible" | "dialogOptions" | "hydrated">, Pick<{
|
|
141
|
+
tasks: Ref<{
|
|
142
|
+
id: string;
|
|
143
|
+
title: string;
|
|
144
|
+
freeText: string;
|
|
145
|
+
promptId?: number | undefined;
|
|
146
|
+
autoMatch?: boolean | undefined;
|
|
147
|
+
status: AiTaskStatus;
|
|
148
|
+
progress: number;
|
|
149
|
+
summary: string;
|
|
150
|
+
runId?: number | undefined;
|
|
151
|
+
result?: Record<string, unknown> | undefined;
|
|
152
|
+
errorMessage?: string | undefined;
|
|
153
|
+
createdAt: number;
|
|
154
|
+
finishedAt?: number | undefined;
|
|
155
|
+
logs: string[];
|
|
156
|
+
}[], AiTaskItem[] | {
|
|
157
|
+
id: string;
|
|
158
|
+
title: string;
|
|
159
|
+
freeText: string;
|
|
160
|
+
promptId?: number | undefined;
|
|
161
|
+
autoMatch?: boolean | undefined;
|
|
162
|
+
status: AiTaskStatus;
|
|
163
|
+
progress: number;
|
|
164
|
+
summary: string;
|
|
165
|
+
runId?: number | undefined;
|
|
166
|
+
result?: Record<string, unknown> | undefined;
|
|
167
|
+
errorMessage?: string | undefined;
|
|
168
|
+
createdAt: number;
|
|
169
|
+
finishedAt?: number | undefined;
|
|
170
|
+
logs: string[];
|
|
171
|
+
}[]>;
|
|
172
|
+
panelVisible: Ref<boolean, boolean>;
|
|
173
|
+
panelMinimized: Ref<boolean, boolean>;
|
|
174
|
+
dialogVisible: Ref<boolean, boolean>;
|
|
175
|
+
dialogOptions: Ref<{
|
|
176
|
+
title?: string | undefined;
|
|
177
|
+
freeText?: string | undefined;
|
|
178
|
+
promptId?: number | undefined;
|
|
179
|
+
autoMatch?: boolean | undefined;
|
|
180
|
+
prompts?: {
|
|
181
|
+
id: number;
|
|
182
|
+
name: string;
|
|
183
|
+
content?: string | undefined;
|
|
184
|
+
category?: string | undefined;
|
|
185
|
+
workflowDefinitionKey?: string | undefined;
|
|
186
|
+
}[] | undefined;
|
|
187
|
+
onSubmitted?: ((taskId: string) => void) | undefined;
|
|
188
|
+
onFinish?: AiTaskFinishHandler | undefined;
|
|
189
|
+
}, AiUseDialogOptions | {
|
|
190
|
+
title?: string | undefined;
|
|
191
|
+
freeText?: string | undefined;
|
|
192
|
+
promptId?: number | undefined;
|
|
193
|
+
autoMatch?: boolean | undefined;
|
|
194
|
+
prompts?: {
|
|
195
|
+
id: number;
|
|
196
|
+
name: string;
|
|
197
|
+
content?: string | undefined;
|
|
198
|
+
category?: string | undefined;
|
|
199
|
+
workflowDefinitionKey?: string | undefined;
|
|
200
|
+
}[] | undefined;
|
|
201
|
+
onSubmitted?: ((taskId: string) => void) | undefined;
|
|
202
|
+
onFinish?: AiTaskFinishHandler | undefined;
|
|
203
|
+
}>;
|
|
204
|
+
hydrated: Ref<boolean, boolean>;
|
|
205
|
+
runningCount: ComputedRef<number>;
|
|
206
|
+
activeCount: ComputedRef<number>;
|
|
207
|
+
panelTitle: ComputedRef<"AI 处理中" | "部分任务失败" | "AI 任务">;
|
|
208
|
+
panelSubtitle: ComputedRef<string>;
|
|
209
|
+
hydrate: () => Promise<void>;
|
|
210
|
+
showPanel: () => void;
|
|
211
|
+
hidePanel: () => void;
|
|
212
|
+
toggleMinimize: () => void;
|
|
213
|
+
openDialog: (options?: AiUseDialogOptions) => void;
|
|
214
|
+
closeDialog: () => void;
|
|
215
|
+
enqueue: (options: AiTaskSubmitOptions) => string;
|
|
216
|
+
onTaskFinish: (handler: AiTaskFinishHandler) => () => boolean;
|
|
217
|
+
refreshActiveTasks: () => Promise<void>;
|
|
218
|
+
loadTaskResult: (id: string) => Promise<Record<string, unknown> | null>;
|
|
219
|
+
cancelTask: (id: string) => Promise<void>;
|
|
220
|
+
cancelAll: () => void;
|
|
221
|
+
clearFinished: () => void;
|
|
222
|
+
removeTask: (id: string) => void;
|
|
223
|
+
}, "runningCount" | "activeCount" | "panelTitle" | "panelSubtitle">, Pick<{
|
|
224
|
+
tasks: Ref<{
|
|
225
|
+
id: string;
|
|
226
|
+
title: string;
|
|
227
|
+
freeText: string;
|
|
228
|
+
promptId?: number | undefined;
|
|
229
|
+
autoMatch?: boolean | undefined;
|
|
230
|
+
status: AiTaskStatus;
|
|
231
|
+
progress: number;
|
|
232
|
+
summary: string;
|
|
233
|
+
runId?: number | undefined;
|
|
234
|
+
result?: Record<string, unknown> | undefined;
|
|
235
|
+
errorMessage?: string | undefined;
|
|
236
|
+
createdAt: number;
|
|
237
|
+
finishedAt?: number | undefined;
|
|
238
|
+
logs: string[];
|
|
239
|
+
}[], AiTaskItem[] | {
|
|
240
|
+
id: string;
|
|
241
|
+
title: string;
|
|
242
|
+
freeText: string;
|
|
243
|
+
promptId?: number | undefined;
|
|
244
|
+
autoMatch?: boolean | undefined;
|
|
245
|
+
status: AiTaskStatus;
|
|
246
|
+
progress: number;
|
|
247
|
+
summary: string;
|
|
248
|
+
runId?: number | undefined;
|
|
249
|
+
result?: Record<string, unknown> | undefined;
|
|
250
|
+
errorMessage?: string | undefined;
|
|
251
|
+
createdAt: number;
|
|
252
|
+
finishedAt?: number | undefined;
|
|
253
|
+
logs: string[];
|
|
254
|
+
}[]>;
|
|
255
|
+
panelVisible: Ref<boolean, boolean>;
|
|
256
|
+
panelMinimized: Ref<boolean, boolean>;
|
|
257
|
+
dialogVisible: Ref<boolean, boolean>;
|
|
258
|
+
dialogOptions: Ref<{
|
|
259
|
+
title?: string | undefined;
|
|
260
|
+
freeText?: string | undefined;
|
|
261
|
+
promptId?: number | undefined;
|
|
262
|
+
autoMatch?: boolean | undefined;
|
|
263
|
+
prompts?: {
|
|
264
|
+
id: number;
|
|
265
|
+
name: string;
|
|
266
|
+
content?: string | undefined;
|
|
267
|
+
category?: string | undefined;
|
|
268
|
+
workflowDefinitionKey?: string | undefined;
|
|
269
|
+
}[] | undefined;
|
|
270
|
+
onSubmitted?: ((taskId: string) => void) | undefined;
|
|
271
|
+
onFinish?: AiTaskFinishHandler | undefined;
|
|
272
|
+
}, AiUseDialogOptions | {
|
|
273
|
+
title?: string | undefined;
|
|
274
|
+
freeText?: string | undefined;
|
|
275
|
+
promptId?: number | undefined;
|
|
276
|
+
autoMatch?: boolean | undefined;
|
|
277
|
+
prompts?: {
|
|
278
|
+
id: number;
|
|
279
|
+
name: string;
|
|
280
|
+
content?: string | undefined;
|
|
281
|
+
category?: string | undefined;
|
|
282
|
+
workflowDefinitionKey?: string | undefined;
|
|
283
|
+
}[] | undefined;
|
|
284
|
+
onSubmitted?: ((taskId: string) => void) | undefined;
|
|
285
|
+
onFinish?: AiTaskFinishHandler | undefined;
|
|
286
|
+
}>;
|
|
287
|
+
hydrated: Ref<boolean, boolean>;
|
|
288
|
+
runningCount: ComputedRef<number>;
|
|
289
|
+
activeCount: ComputedRef<number>;
|
|
290
|
+
panelTitle: ComputedRef<"AI 处理中" | "部分任务失败" | "AI 任务">;
|
|
291
|
+
panelSubtitle: ComputedRef<string>;
|
|
292
|
+
hydrate: () => Promise<void>;
|
|
293
|
+
showPanel: () => void;
|
|
294
|
+
hidePanel: () => void;
|
|
295
|
+
toggleMinimize: () => void;
|
|
296
|
+
openDialog: (options?: AiUseDialogOptions) => void;
|
|
297
|
+
closeDialog: () => void;
|
|
298
|
+
enqueue: (options: AiTaskSubmitOptions) => string;
|
|
299
|
+
onTaskFinish: (handler: AiTaskFinishHandler) => () => boolean;
|
|
300
|
+
refreshActiveTasks: () => Promise<void>;
|
|
301
|
+
loadTaskResult: (id: string) => Promise<Record<string, unknown> | null>;
|
|
302
|
+
cancelTask: (id: string) => Promise<void>;
|
|
303
|
+
cancelAll: () => void;
|
|
304
|
+
clearFinished: () => void;
|
|
305
|
+
removeTask: (id: string) => void;
|
|
306
|
+
}, "hydrate" | "showPanel" | "hidePanel" | "toggleMinimize" | "openDialog" | "closeDialog" | "enqueue" | "onTaskFinish" | "refreshActiveTasks" | "loadTaskResult" | "cancelTask" | "cancelAll" | "clearFinished" | "removeTask">>>;
|
|
307
|
+
//# sourceMappingURL=inject.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inject.d.ts","sourceRoot":"","sources":["../../src/ai-task/inject.ts"],"names":[],"mappings":";;AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,KAAK,CAAA;AAevC,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA0C,CAAA;AACzE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kOAA0C,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { InvokeWorkflowStartParams, WorkflowInvokeResponse } from '../types';
|
|
2
|
+
export declare function startAiWorkflowRun(params: InvokeWorkflowStartParams): Promise<number>;
|
|
3
|
+
export interface SyncRunCallbacks {
|
|
4
|
+
onProgress?: (progress: number, summary: string) => void;
|
|
5
|
+
}
|
|
6
|
+
export declare function syncWorkflowRunStatus(runId: number, callbacks?: SyncRunCallbacks): Promise<WorkflowInvokeResponse | null>;
|
|
7
|
+
export declare function pollWorkflowRunUntilDone(runId: number, callbacks?: SyncRunCallbacks, signal?: AbortSignal): Promise<WorkflowInvokeResponse>;
|
|
8
|
+
export declare function fetchRunResult(runId: number): Promise<Record<string, unknown> | null>;
|
|
9
|
+
export declare function cancelRunOnServer(runId: number): Promise<void>;
|
|
10
|
+
export declare function isTerminalRunStatus(status: string): boolean;
|
|
11
|
+
//# sourceMappingURL=taskRunner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"taskRunner.d.ts","sourceRoot":"","sources":["../../../src/ai-task/services/taskRunner.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AAUjF,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,CAQ3F;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CACzD;AAED,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,gBAAgB,GAC3B,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAqCxC;AAED,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,gBAAgB,EAC5B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,sBAAsB,CAAC,CASjC;AAED,wBAAsB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAM3F;AAED,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,MAAM,iBAEpD;AAiBD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,WAEjD"}
|