helixlife-expert-cli 0.3.2 → 0.3.3

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 (57) hide show
  1. package/README.md +3 -3
  2. package/cli/dist/modules/analysis/api.d.ts +28 -0
  3. package/cli/dist/modules/analysis/api.d.ts.map +1 -0
  4. package/cli/dist/modules/analysis/api.js +264 -0
  5. package/cli/dist/modules/analysis/api.js.map +1 -0
  6. package/cli/dist/modules/analysis/bio.d.ts +159 -0
  7. package/cli/dist/modules/analysis/bio.d.ts.map +1 -0
  8. package/cli/dist/modules/analysis/bio.js +275 -0
  9. package/cli/dist/modules/analysis/bio.js.map +1 -0
  10. package/cli/dist/modules/analysis/catalog.d.ts +21 -0
  11. package/cli/dist/modules/analysis/catalog.d.ts.map +1 -0
  12. package/cli/dist/modules/analysis/catalog.js +123 -0
  13. package/cli/dist/modules/analysis/catalog.js.map +1 -0
  14. package/cli/dist/modules/analysis/commands.d.ts +15 -0
  15. package/cli/dist/modules/analysis/commands.d.ts.map +1 -0
  16. package/cli/dist/modules/analysis/commands.js +463 -0
  17. package/cli/dist/modules/analysis/commands.js.map +1 -0
  18. package/cli/dist/modules/analysis/constants.d.ts +14 -0
  19. package/cli/dist/modules/analysis/constants.d.ts.map +1 -1
  20. package/cli/dist/modules/analysis/constants.js +15 -0
  21. package/cli/dist/modules/analysis/constants.js.map +1 -1
  22. package/cli/dist/modules/analysis/errors.d.ts +11 -0
  23. package/cli/dist/modules/analysis/errors.d.ts.map +1 -0
  24. package/cli/dist/modules/analysis/errors.js +84 -0
  25. package/cli/dist/modules/analysis/errors.js.map +1 -0
  26. package/cli/dist/modules/analysis/files.d.ts +2 -0
  27. package/cli/dist/modules/analysis/files.d.ts.map +1 -0
  28. package/cli/dist/modules/analysis/files.js +33 -0
  29. package/cli/dist/modules/analysis/files.js.map +1 -0
  30. package/cli/dist/modules/analysis/flags.d.ts +27 -0
  31. package/cli/dist/modules/analysis/flags.d.ts.map +1 -0
  32. package/cli/dist/modules/analysis/flags.js +58 -0
  33. package/cli/dist/modules/analysis/flags.js.map +1 -0
  34. package/cli/dist/modules/analysis/index.d.ts.map +1 -1
  35. package/cli/dist/modules/analysis/index.js +154 -8
  36. package/cli/dist/modules/analysis/index.js.map +1 -1
  37. package/cli/dist/modules/analysis/inputs.d.ts +36 -0
  38. package/cli/dist/modules/analysis/inputs.d.ts.map +1 -0
  39. package/cli/dist/modules/analysis/inputs.js +120 -0
  40. package/cli/dist/modules/analysis/inputs.js.map +1 -0
  41. package/cli/dist/modules/analysis/json.d.ts +7 -0
  42. package/cli/dist/modules/analysis/json.d.ts.map +1 -0
  43. package/cli/dist/modules/analysis/json.js +30 -0
  44. package/cli/dist/modules/analysis/json.js.map +1 -0
  45. package/cli/dist/modules/analysis/overrides.d.ts +5 -0
  46. package/cli/dist/modules/analysis/overrides.d.ts.map +1 -0
  47. package/cli/dist/modules/analysis/overrides.js +150 -0
  48. package/cli/dist/modules/analysis/overrides.js.map +1 -0
  49. package/cli/dist/modules/analysis/prepare.d.ts +47 -0
  50. package/cli/dist/modules/analysis/prepare.d.ts.map +1 -0
  51. package/cli/dist/modules/analysis/prepare.js +910 -0
  52. package/cli/dist/modules/analysis/prepare.js.map +1 -0
  53. package/cli/dist/modules/analysis/schema.d.ts +5 -0
  54. package/cli/dist/modules/analysis/schema.d.ts.map +1 -0
  55. package/cli/dist/modules/analysis/schema.js +39 -0
  56. package/cli/dist/modules/analysis/schema.js.map +1 -0
  57. package/package.json +1 -1
@@ -0,0 +1,275 @@
1
+ import { callBioApi, callBioApiEnvelope, bioBody, historyId } from "./api.js";
2
+ import { AnalysisError } from "./errors.js";
3
+ import { asArray, asObject, textOf } from "./json.js";
4
+ export async function fetchAllArgs(moduleId, uuid) {
5
+ const data = asObject(await callBioApi(bioBody("public.args.fetch-all", {
6
+ id: { module_id: moduleId, uuid },
7
+ })));
8
+ return normalizeFetchAll(data);
9
+ }
10
+ export async function updateArgs(input) {
11
+ const data = asObject(await callBioApi(bioBody("public.args.update-args", {
12
+ args_data: input.argsData,
13
+ args_key: input.argsKey,
14
+ args_main: input.argsMain,
15
+ args_specific: input.argsSpecific,
16
+ id: { module_id: input.moduleId, uuid: input.uuid },
17
+ })));
18
+ return normalizeFetchAll(data);
19
+ }
20
+ export async function searchSpecificOptions(input) {
21
+ const data = asObject(await callBioApi(bioBody("public.search.main", {
22
+ args_data: input.argsData,
23
+ args_key: input.argsKey,
24
+ id: { module_id: input.moduleId, uuid: input.uuid },
25
+ listen: input.listen,
26
+ search_string: input.searchString,
27
+ selected: input.selected,
28
+ })));
29
+ return asArray(data?.options);
30
+ }
31
+ export async function fetchCloudPage(input) {
32
+ const info = {};
33
+ if (input.selectedRecord) {
34
+ info[input.argsKey] = input.selectedRecord;
35
+ }
36
+ const data = asObject(await callBioApi(bioBody("public.clouds.fetch-data", {
37
+ id: { module_id: input.moduleId, uuid: input.uuid },
38
+ current_page: input.currentPage,
39
+ filter: input.filter,
40
+ args_key: input.argsKey,
41
+ args_data: { duid: "cloud", info },
42
+ })));
43
+ const filter = asObject(data?.filter);
44
+ return {
45
+ columnAttrs: asArray(data?.column_attrs),
46
+ currentPage: typeof data?.current_page === "number" ? data.current_page : input.currentPage,
47
+ filter: {
48
+ options: asArray(filter?.options),
49
+ value: asArray(filter?.value),
50
+ },
51
+ info: textOf(data?.info),
52
+ lastPage: typeof data?.last_page === "number"
53
+ ? data.last_page
54
+ : typeof data?.current_page === "number"
55
+ ? data.current_page
56
+ : input.currentPage,
57
+ perPage: typeof data?.per_page === "number" ? data.per_page : 0,
58
+ records: asArray(data?.data_records).flatMap(asRecord),
59
+ total: typeof data?.total === "number" ? data.total : 0,
60
+ };
61
+ }
62
+ export async function verifyUpload(input) {
63
+ const data = asObject(await callBioApi(bioBody("public.verify.upload", {
64
+ id: { module_id: input.moduleId, uuid: input.uuid },
65
+ args_data: { duid: "", info: uploadInfo(input.uploads) },
66
+ args_main: input.argsMain,
67
+ })));
68
+ const duid = textOf(asObject(data?.id)?.duid);
69
+ if (!duid) {
70
+ throw new AnalysisError("未获取到 duid");
71
+ }
72
+ return { duid, schema: asArray(data?.args_main) };
73
+ }
74
+ export async function submitModule(input) {
75
+ const payload = await callBioApiEnvelope(bioBody("common.module", {
76
+ action: "submit",
77
+ id: { module_id: input.moduleId, uuid: input.uuid },
78
+ args_data: input.argsData,
79
+ args_main: input.argsMain,
80
+ args_specific: input.argsSpecific,
81
+ }, { name: input.route }), { allowSubmittedMessage: true });
82
+ const data = asObject(payload.data);
83
+ const message = textOf(payload.message);
84
+ const file = textOf(data?.file) || undefined;
85
+ const body = textOf(data?.body);
86
+ const downloads = collectResultDownloads(data?.data);
87
+ if (!file && !body && downloads.length === 0) {
88
+ if (message.includes("任务提交成功")) {
89
+ return { asyncSubmission: true, body, downloads, file, message };
90
+ }
91
+ throw new AnalysisError(message || "未获取到可用结果");
92
+ }
93
+ return { asyncSubmission: false, body, downloads, file, message };
94
+ }
95
+ export async function resolveDownloadUrl(input) {
96
+ const data = asObject(await callBioApi(bioBody(input.item.endpoint, {
97
+ tag: "download",
98
+ name: input.item.endpoint,
99
+ fuid: input.item.fuid,
100
+ sign: input.item.sign,
101
+ device: input.item.device,
102
+ index: input.item.index,
103
+ info: input.item.info,
104
+ pos: input.item.pos,
105
+ id: { uuid: input.uuid, module_id: input.moduleId },
106
+ })));
107
+ const url = textOf(data?.url);
108
+ if (!url) {
109
+ throw new AnalysisError("未获取到下载链接");
110
+ }
111
+ return { url, fileName: textOf(data?.file_name) || undefined };
112
+ }
113
+ export async function saveOutput(input) {
114
+ await callBioApi(bioBody("public.output.save", {
115
+ tag: "msg-box",
116
+ type: "all",
117
+ name: "public.output.save",
118
+ fuid: input.fuid,
119
+ pos: "main",
120
+ id: { uuid: input.uuid, module_id: input.moduleId },
121
+ value: input.name,
122
+ }));
123
+ }
124
+ export async function fetchHistoryPage(currentPage) {
125
+ const data = asObject(await callBioApi(bioBody("public.records.fetch", {
126
+ id: historyId(),
127
+ current_page: currentPage,
128
+ })));
129
+ return {
130
+ currentPage: typeof data?.current_page === "number" ? data.current_page : currentPage,
131
+ info: textOf(data?.info),
132
+ lastPage: typeof data?.last_page === "number" ? data.last_page : 1,
133
+ perPage: typeof data?.per_page === "number" ? data.per_page : 10,
134
+ records: asArray(data?.data_records).flatMap(asRecord),
135
+ total: typeof data?.total === "number" ? data.total : 0,
136
+ };
137
+ }
138
+ export async function fetchHistoryDownloads(fuid) {
139
+ const data = asObject(await callBioApi(bioBody("public.records.download-buttons", {
140
+ id: historyId(fuid),
141
+ })));
142
+ return {
143
+ body: textOf(data?.body),
144
+ downloads: asArray(data?.data).flatMap(readDownloadItem),
145
+ };
146
+ }
147
+ export async function renameHistory(fuid, newName) {
148
+ await callBioApi(bioBody("public.records.rename", {
149
+ id: historyId(fuid),
150
+ new_name: newName,
151
+ }));
152
+ }
153
+ export async function deleteHistory(fuid) {
154
+ await callBioApi(bioBody("public.records.delete", {
155
+ id: historyId(fuid),
156
+ }));
157
+ }
158
+ export async function findHistoryByFuid(fuid) {
159
+ const wanted = fuid.trim();
160
+ if (!wanted)
161
+ return null;
162
+ let page = 1;
163
+ let last = 1;
164
+ do {
165
+ const batch = await fetchHistoryPage(page);
166
+ const found = batch.records.find((record) => textOf(record.fuid) === wanted);
167
+ if (found)
168
+ return found;
169
+ page += 1;
170
+ last = batch.lastPage;
171
+ } while (page <= last);
172
+ return null;
173
+ }
174
+ export function historyStatus(record) {
175
+ return stripTags(textOf(record.status)) || "未知";
176
+ }
177
+ export function isHistoryFinished(status) {
178
+ return status.includes("完成");
179
+ }
180
+ export function isHistoryFailed(status) {
181
+ return ["失败", "异常", "取消", "终止"].some((word) => status.includes(word));
182
+ }
183
+ export function collectResultDownloads(data) {
184
+ const root = asObject(data);
185
+ const buttons = [...asArray(root?.buttons)];
186
+ for (const tab of asArray(root?.tabs)) {
187
+ for (const section of asArray(asObject(tab)?.sections)) {
188
+ buttons.push(...asArray(asObject(section)?.button));
189
+ }
190
+ }
191
+ return buttons.flatMap(readDownloadItem);
192
+ }
193
+ export function uploadInfo(uploads) {
194
+ return Object.fromEntries(uploads.map((item) => [
195
+ item.key,
196
+ {
197
+ file_oss: item.upload.fileOssPath ?? item.upload.fileOss,
198
+ file_name: item.upload.fileName,
199
+ file_size: item.upload.fileSizeForXiantao ?? item.upload.fileSize,
200
+ type: "upload",
201
+ },
202
+ ]));
203
+ }
204
+ export function buildSubmitArgsData(duid, input) {
205
+ if (input.kind === "none") {
206
+ return { duid, info: {} };
207
+ }
208
+ if (input.kind === "cloud") {
209
+ return { duid, info: { [input.cloud.key]: withCloudType(input.cloud.record) } };
210
+ }
211
+ if (input.kind === "record") {
212
+ return {
213
+ duid,
214
+ info: {
215
+ [input.record.key]: {
216
+ label: input.record.label,
217
+ module_id: input.record.moduleId,
218
+ module_name: input.record.moduleName,
219
+ record_id: input.record.recordId,
220
+ record_name: input.record.recordName,
221
+ time: input.record.time,
222
+ type: "record",
223
+ },
224
+ },
225
+ };
226
+ }
227
+ return { duid, info: uploadInfo(input.uploads) };
228
+ }
229
+ function normalizeFetchAll(data) {
230
+ return {
231
+ args_main: asArray(data?.args_main),
232
+ args_specific: asArray(data?.args_specific),
233
+ args_data: asArray(data?.args_data),
234
+ notice: textOf(data?.notice),
235
+ id: asObject(data?.id) ?? {},
236
+ };
237
+ }
238
+ function withCloudType(record) {
239
+ const copy = structuredClone(record);
240
+ if (!textOf(copy.type)) {
241
+ copy.type = "cloud";
242
+ }
243
+ return copy;
244
+ }
245
+ function readDownloadItem(value) {
246
+ const item = asObject(value);
247
+ if (!item || item.tag !== "download")
248
+ return [];
249
+ const device = textOf(item.device);
250
+ const endpoint = textOf(item.endpoint);
251
+ const fuid = textOf(item.fuid);
252
+ const label = textOf(item.label);
253
+ if (!device || !endpoint || !fuid || !label)
254
+ return [];
255
+ return [
256
+ {
257
+ device,
258
+ endpoint,
259
+ fuid,
260
+ index: item.index,
261
+ info: item.info,
262
+ label,
263
+ pos: item.pos,
264
+ sign: item.sign,
265
+ },
266
+ ];
267
+ }
268
+ function asRecord(value) {
269
+ const record = asObject(value);
270
+ return record ? [record] : [];
271
+ }
272
+ function stripTags(value) {
273
+ return value.replace(/<[^>]+>/g, " ").replace(/\s+/g, " ").trim();
274
+ }
275
+ //# sourceMappingURL=bio.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bio.js","sourceRoot":"","sources":["../../../src/modules/analysis/bio.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { type JsonObject } from "./json.js";
2
+ export interface ResolvedTool {
3
+ code: string;
4
+ path: string;
5
+ route: string;
6
+ title: string;
7
+ uuid: string;
8
+ }
9
+ export interface MenuSummary {
10
+ module_id: string;
11
+ path: string;
12
+ route: string;
13
+ title: string;
14
+ }
15
+ export declare function loadResolvedTools(toolProductUuid: string): Promise<ResolvedTool[]>;
16
+ export declare function listResolvedTools(nodes: unknown[]): ResolvedTool[];
17
+ export declare function listMenuSummaries(nodes: unknown[]): MenuSummary[];
18
+ export declare function searchTools(nodes: unknown[], keyword: string): ResolvedTool[];
19
+ export declare function resolveToolByCode(toolProductUuid: string, moduleId: string): Promise<ResolvedTool>;
20
+ export declare function fetchToolMenuOrFallback(menu: string, toolProductUuid: string): Promise<JsonObject>;
21
+ //# sourceMappingURL=catalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../../src/modules/analysis/catalog.ts"],"names":[],"mappings":"AAEA,OAAO,EAA6B,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvE,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAsB,iBAAiB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAExF;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,YAAY,EAAE,CAElE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,WAAW,EAAE,CAOjE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,YAAY,EAAE,CAS7E;AAED,wBAAsB,iBAAiB,CACrC,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,YAAY,CAAC,CAcvB;AAGD,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,MAAM,EACZ,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,UAAU,CAAC,CAgBrB"}
@@ -0,0 +1,123 @@
1
+ import { fetchToolMenu, fetchToolMenus } from "./api.js";
2
+ import { AnalysisError } from "./errors.js";
3
+ import { asArray, asObject, textOf } from "./json.js";
4
+ export async function loadResolvedTools(toolProductUuid) {
5
+ return listResolvedTools(await fetchToolMenus(toolProductUuid));
6
+ }
7
+ export function listResolvedTools(nodes) {
8
+ return walkTools(nodes);
9
+ }
10
+ export function listMenuSummaries(nodes) {
11
+ return walkTools(nodes).map((item) => ({
12
+ module_id: item.code,
13
+ path: item.path,
14
+ route: item.route,
15
+ title: item.title,
16
+ }));
17
+ }
18
+ export function searchTools(nodes, keyword) {
19
+ const query = keyword.trim().toLowerCase();
20
+ return walkTools(nodes)
21
+ .filter((item) => [item.code, item.title, item.path, item.route].some((field) => field.toLowerCase().includes(query)))
22
+ .sort((left, right) => scoreTool(right, query) - scoreTool(left, query));
23
+ }
24
+ export async function resolveToolByCode(toolProductUuid, moduleId) {
25
+ const code = moduleId.trim();
26
+ const matches = walkTools(await fetchToolMenus(toolProductUuid), code);
27
+ if (matches.length === 0) {
28
+ throw new AnalysisError(`未找到模块 ${code},请确认 module_id 或 tool_product_uuid 是否正确。`);
29
+ }
30
+ if (matches.length > 1) {
31
+ throw new AnalysisError(`模块 ${code} 匹配到多个结果,请改用 \`--uuid\` 显式指定。`);
32
+ }
33
+ return matches[0];
34
+ }
35
+ // 详情接口下架时回退到全量菜单里按 uuid / id 查找
36
+ export async function fetchToolMenuOrFallback(menu, toolProductUuid) {
37
+ try {
38
+ const data = await fetchToolMenu(menu, toolProductUuid);
39
+ const node = asObject(data);
40
+ if (!node) {
41
+ throw new AnalysisError("菜单详情不是有效对象。");
42
+ }
43
+ return node;
44
+ }
45
+ catch (error) {
46
+ if (!(error instanceof AnalysisError) || !error.message.includes("已下架")) {
47
+ throw error;
48
+ }
49
+ const found = findNode(await fetchToolMenus(toolProductUuid), menu.trim());
50
+ if (found)
51
+ return found;
52
+ throw error;
53
+ }
54
+ }
55
+ function walkTools(nodes, code) {
56
+ const found = [];
57
+ for (const item of nodes) {
58
+ const node = asObject(item);
59
+ if (!node)
60
+ continue;
61
+ const moduleId = textOf(node.code);
62
+ if ((!code || moduleId === code) && isRunnable(node)) {
63
+ found.push({
64
+ code: moduleId,
65
+ path: textOf(node.path),
66
+ route: textOf(node.route),
67
+ title: textOf(node.title),
68
+ uuid: textOf(node.uuid),
69
+ });
70
+ }
71
+ const children = asArray(node.children).filter((child) => {
72
+ const row = asObject(child);
73
+ return !!(textOf(row?.title) || textOf(row?.code));
74
+ });
75
+ if (children.length > 0) {
76
+ found.push(...walkTools(children, code));
77
+ }
78
+ }
79
+ return found;
80
+ }
81
+ function isRunnable(node) {
82
+ return !!(textOf(node.code) && textOf(node.route) && textOf(node.title) && textOf(node.uuid));
83
+ }
84
+ function findNode(nodes, id) {
85
+ for (const item of nodes) {
86
+ const node = asObject(item);
87
+ if (!node)
88
+ continue;
89
+ if (textOf(node.uuid) === id || String(node.id ?? "").trim() === id) {
90
+ return node;
91
+ }
92
+ const children = asArray(node.children);
93
+ const nested = findNode(children, id);
94
+ if (nested)
95
+ return nested;
96
+ }
97
+ return undefined;
98
+ }
99
+ function scoreTool(tool, query) {
100
+ let score = 0;
101
+ const code = tool.code.toLowerCase();
102
+ const title = tool.title.toLowerCase();
103
+ const path = tool.path.toLowerCase();
104
+ const route = tool.route.toLowerCase();
105
+ if (code === query)
106
+ score += 500;
107
+ else if (code.startsWith(query))
108
+ score += 300;
109
+ else if (code.includes(query))
110
+ score += 150;
111
+ if (title === query)
112
+ score += 400;
113
+ else if (title.startsWith(query))
114
+ score += 250;
115
+ else if (title.includes(query))
116
+ score += 120;
117
+ if (path.includes(query))
118
+ score += 80;
119
+ if (route.includes(query))
120
+ score += 40;
121
+ return score;
122
+ }
123
+ //# sourceMappingURL=catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../../src/modules/analysis/catalog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ export declare function runAnalysisCommand(command: string, action: () => Promise<Record<string, unknown>>): Promise<void>;
2
+ export declare function runToolSearch(keyword: string, toolProductUuid: string | undefined): Promise<Record<string, unknown>>;
3
+ export declare function runToolMenus(toolProductUuid: string | undefined): Promise<Record<string, unknown>>;
4
+ export declare function runToolInspect(tool: string, toolProductUuid: string | undefined): Promise<Record<string, unknown>>;
5
+ export declare function runToolPrepare(tool: string, rawFlags: Record<string, unknown>): Promise<Record<string, unknown>>;
6
+ export declare function runToolExec(tool: string, rawFlags: Record<string, unknown>): Promise<Record<string, unknown>>;
7
+ export declare function runToolCloud(tool: string, raw: Record<string, unknown>): Promise<Record<string, unknown>>;
8
+ export declare function runSpecificSearch(tool: string, argsKey: string, query: string, rawFlags: Record<string, unknown>): Promise<Record<string, unknown>>;
9
+ export declare function runHistoryList(pageRaw: unknown): Promise<Record<string, unknown>>;
10
+ export declare function runHistoryView(fuid: string): Promise<Record<string, unknown>>;
11
+ export declare function runHistoryDownload(fuid: string, raw: Record<string, unknown>): Promise<Record<string, unknown>>;
12
+ export declare function runHistoryRename(fuid: string, name: string): Promise<Record<string, unknown>>;
13
+ export declare function runHistoryDelete(fuid: string): Promise<Record<string, unknown>>;
14
+ export declare function runHistorySave(fuid: string, uuid: string, moduleId: string, name: string): Promise<Record<string, unknown>>;
15
+ //# sourceMappingURL=commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../../src/modules/analysis/commands.ts"],"names":[],"mappings":"AAsCA,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAC7C,OAAO,CAAC,IAAI,CAAC,CAcf;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAU1H;AAED,wBAAsB,YAAY,CAAC,eAAe,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CASxG;AAED,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,eAAe,EAAE,MAAM,GAAG,SAAS,GAClC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAuBlC;AAED,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAElC;AAED,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAElC;AAED,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAuElC;AAED,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAkDlC;AAED,wBAAsB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAqBvF;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAQnF;AAED,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAmClC;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAUnG;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAUrF;AAED,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CASlC"}