helixlife-expert-cli 0.2.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -25
- package/cli/dist/core/api/client.d.ts.map +1 -1
- package/cli/dist/core/api/client.js +34 -9
- package/cli/dist/core/api/client.js.map +1 -1
- package/cli/dist/core/api/http.d.ts +3 -0
- package/cli/dist/core/api/http.d.ts.map +1 -1
- package/cli/dist/core/api/http.js +38 -6
- package/cli/dist/core/api/http.js.map +1 -1
- package/cli/dist/core/errors.d.ts +27 -0
- package/cli/dist/core/errors.d.ts.map +1 -1
- package/cli/dist/core/errors.js +49 -0
- package/cli/dist/core/errors.js.map +1 -1
- package/cli/dist/core/index.d.ts +3 -3
- package/cli/dist/core/index.d.ts.map +1 -1
- package/cli/dist/core/index.js +3 -3
- package/cli/dist/core/index.js.map +1 -1
- package/cli/dist/core/paths.d.ts +16 -0
- package/cli/dist/core/paths.d.ts.map +1 -1
- package/cli/dist/core/paths.js +70 -1
- package/cli/dist/core/paths.js.map +1 -1
- package/cli/dist/core/sse-utils.d.ts +6 -1
- package/cli/dist/core/sse-utils.d.ts.map +1 -1
- package/cli/dist/core/sse-utils.js +39 -5
- package/cli/dist/core/sse-utils.js.map +1 -1
- package/cli/dist/index.d.ts.map +1 -1
- package/cli/dist/index.js +27 -1
- package/cli/dist/index.js.map +1 -1
- package/cli/dist/modules/fund/clinical/commands/article-download.js +2 -2
- package/cli/dist/modules/fund/clinical/commands/article-download.js.map +1 -1
- package/cli/dist/modules/fund/clinical/session-cache.d.ts +1 -0
- package/cli/dist/modules/fund/clinical/session-cache.d.ts.map +1 -1
- package/cli/dist/modules/fund/clinical/session-cache.js +9 -5
- package/cli/dist/modules/fund/clinical/session-cache.js.map +1 -1
- package/cli/dist/modules/fund/nsfc/article-cache.d.ts +1 -1
- package/cli/dist/modules/fund/nsfc/article-cache.d.ts.map +1 -1
- package/cli/dist/modules/fund/nsfc/article-cache.js +9 -7
- package/cli/dist/modules/fund/nsfc/article-cache.js.map +1 -1
- package/cli/dist/modules/fund/nsfc/commands/article-download.js +2 -2
- package/cli/dist/modules/fund/nsfc/commands/article-download.js.map +1 -1
- package/cli/dist/modules/fund/nsfc/commands/hypothesis-figure.d.ts.map +1 -1
- package/cli/dist/modules/fund/nsfc/commands/hypothesis-figure.js +12 -3
- package/cli/dist/modules/fund/nsfc/commands/hypothesis-figure.js.map +1 -1
- package/cli/dist/modules/fund/nsfc/commands/tech-roadmap.js +2 -2
- package/cli/dist/modules/fund/nsfc/commands/tech-roadmap.js.map +1 -1
- package/cli/dist/modules/fund/nsfc/session-cache.d.ts +1 -1
- package/cli/dist/modules/fund/nsfc/session-cache.d.ts.map +1 -1
- package/cli/dist/modules/fund/nsfc/session-cache.js +9 -7
- package/cli/dist/modules/fund/nsfc/session-cache.js.map +1 -1
- package/cli/dist/modules/literature/commands/workflow-run.d.ts +1 -0
- package/cli/dist/modules/literature/commands/workflow-run.d.ts.map +1 -1
- package/cli/dist/modules/literature/commands/workflow-run.js +1 -0
- package/cli/dist/modules/literature/commands/workflow-run.js.map +1 -1
- package/cli/dist/modules/literature/index.d.ts.map +1 -1
- package/cli/dist/modules/literature/index.js +3 -0
- package/cli/dist/modules/literature/index.js.map +1 -1
- package/cli/dist/modules/meta/analysis.d.ts.map +1 -1
- package/cli/dist/modules/meta/analysis.js +12 -10
- package/cli/dist/modules/meta/analysis.js.map +1 -1
- package/cli/dist/modules/meta/extraction.d.ts.map +1 -1
- package/cli/dist/modules/meta/extraction.js +8 -8
- package/cli/dist/modules/meta/extraction.js.map +1 -1
- package/cli/dist/modules/meta/retrieve.d.ts.map +1 -1
- package/cli/dist/modules/meta/retrieve.js +2 -1
- package/cli/dist/modules/meta/retrieve.js.map +1 -1
- package/cli/dist/modules/meta/screening.d.ts.map +1 -1
- package/cli/dist/modules/meta/screening.js +6 -5
- package/cli/dist/modules/meta/screening.js.map +1 -1
- package/cli/dist/modules/meta/topic.d.ts.map +1 -1
- package/cli/dist/modules/meta/topic.js +2 -1
- package/cli/dist/modules/meta/topic.js.map +1 -1
- package/cli/dist/modules/meta/writing.d.ts.map +1 -1
- package/cli/dist/modules/meta/writing.js +14 -7
- package/cli/dist/modules/meta/writing.js.map +1 -1
- package/cli/dist/modules/proposal/commands/bioinfo-run.d.ts +1 -0
- package/cli/dist/modules/proposal/commands/bioinfo-run.d.ts.map +1 -1
- package/cli/dist/modules/proposal/commands/bioinfo-run.js +1 -0
- package/cli/dist/modules/proposal/commands/bioinfo-run.js.map +1 -1
- package/cli/dist/modules/proposal/commands/clinical-run.d.ts +1 -0
- package/cli/dist/modules/proposal/commands/clinical-run.d.ts.map +1 -1
- package/cli/dist/modules/proposal/commands/clinical-run.js +1 -0
- package/cli/dist/modules/proposal/commands/clinical-run.js.map +1 -1
- package/cli/dist/modules/proposal/index.d.ts.map +1 -1
- package/cli/dist/modules/proposal/index.js +5 -0
- package/cli/dist/modules/proposal/index.js.map +1 -1
- package/cli/dist/modules/sci/article-cache.d.ts +1 -1
- package/cli/dist/modules/sci/article-cache.d.ts.map +1 -1
- package/cli/dist/modules/sci/article-cache.js +12 -12
- package/cli/dist/modules/sci/article-cache.js.map +1 -1
- package/cli/dist/modules/sci/commands/article-download.d.ts.map +1 -1
- package/cli/dist/modules/sci/commands/article-download.js +5 -4
- package/cli/dist/modules/sci/commands/article-download.js.map +1 -1
- package/cli/dist/modules/sci/precheck-cache.js +1 -1
- package/cli/dist/modules/shared/result-wrapper.d.ts +4 -2
- package/cli/dist/modules/shared/result-wrapper.d.ts.map +1 -1
- package/cli/dist/modules/shared/result-wrapper.js +3 -1
- package/cli/dist/modules/shared/result-wrapper.js.map +1 -1
- package/cli/dist/modules/shared/workflow-app/command.d.ts +4 -1
- package/cli/dist/modules/shared/workflow-app/command.d.ts.map +1 -1
- package/cli/dist/modules/shared/workflow-app/command.js +88 -21
- package/cli/dist/modules/shared/workflow-app/command.js.map +1 -1
- package/cli/dist/modules/shared/workflow-app/form.d.ts +5 -1
- package/cli/dist/modules/shared/workflow-app/form.d.ts.map +1 -1
- package/cli/dist/modules/shared/workflow-app/form.js +6 -2
- package/cli/dist/modules/shared/workflow-app/form.js.map +1 -1
- package/cli/dist/modules/shared/workflow-app/index.d.ts +1 -1
- package/cli/dist/modules/shared/workflow-app/index.d.ts.map +1 -1
- package/cli/dist/modules/shared/workflow-app/index.js +1 -1
- package/cli/dist/modules/shared/workflow-app/index.js.map +1 -1
- package/cli/dist/modules/shared/workflow-app/run.d.ts.map +1 -1
- package/cli/dist/modules/shared/workflow-app/run.js +3 -7
- package/cli/dist/modules/shared/workflow-app/run.js.map +1 -1
- package/package.json +2 -1
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
// 工作流 params / run 两个命令体的共享实现。
|
|
2
2
|
// 文献调研、课题方案(临床研究 / 生信方案)等专家只需提供各自的工作流定义。
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
3
|
+
import { createHash } from "node:crypto";
|
|
4
|
+
import { existsSync, mkdirSync, readFileSync, statSync, writeFileSync } from "node:fs";
|
|
5
|
+
import { basename, join } from "node:path";
|
|
6
|
+
import { createStderrProgress, getHelixlifeOutputDir, getHelixlifeStateDir, helixlifeError, helixlifeErrorCode, printOutput, pruneStaleStateFiles, renderListAsMarkdown, resolveUserPath, sanitizeFilename, } from "../../../core/index.js";
|
|
6
7
|
import { wrapWorkbenchResult } from "../result-wrapper.js";
|
|
7
8
|
import { fetchWorkflowAppName, fetchWorkflowConfig } from "./api.js";
|
|
8
9
|
import { componentLabel, prepareQuery } from "./form.js";
|
|
@@ -129,43 +130,104 @@ function readInputsFile(path) {
|
|
|
129
130
|
}
|
|
130
131
|
return parsed;
|
|
131
132
|
}
|
|
132
|
-
/**
|
|
133
|
+
/** 完整结果落盘(下载目录;Open-Science 下为会话 handoff),避免长正文只存在于终端回显里 */
|
|
133
134
|
function writeResultMarkdown(text, workflow) {
|
|
134
135
|
const stamp = new Date()
|
|
135
136
|
.toISOString()
|
|
136
137
|
.replace(/[-:TZ.]/g, "")
|
|
137
138
|
.slice(0, 14);
|
|
138
139
|
const filename = `${sanitizeFilename(`${workflow.source}_${workflow.title}_${stamp}`)}.md`;
|
|
139
|
-
const
|
|
140
|
+
const outputDir = getHelixlifeOutputDir();
|
|
141
|
+
mkdirSync(outputDir, { recursive: true });
|
|
142
|
+
const mdPath = join(outputDir, filename);
|
|
140
143
|
writeFileSync(mdPath, text, "utf8");
|
|
141
144
|
return { mdPath, mdSize: Buffer.byteLength(text, "utf8") };
|
|
142
145
|
}
|
|
146
|
+
export const WORKFLOW_RUN_FRESH_HINT = "忽略本会话内相同入参的已完成结果,强制重新生成";
|
|
147
|
+
// 同入参结果复用窗口:覆盖「后台任务结果未取回 → Agent 原样重提」的场景,又不至于长期挡住重新生成
|
|
148
|
+
const RUN_REUSE_MAX_AGE_MS = 2 * 60 * 60 * 1000;
|
|
149
|
+
export function runRecordPath(source, query) {
|
|
150
|
+
const fields = Object.keys(query)
|
|
151
|
+
.sort()
|
|
152
|
+
.map((id) => [id, query[id].type, query[id].content]);
|
|
153
|
+
const fingerprint = createHash("sha256")
|
|
154
|
+
.update(JSON.stringify({ source, fields }))
|
|
155
|
+
.digest("hex")
|
|
156
|
+
.slice(0, 32);
|
|
157
|
+
return join(getHelixlifeStateDir("workflow-runs"), `${fingerprint}.json`);
|
|
158
|
+
}
|
|
159
|
+
function loadReusableRun(recordPath) {
|
|
160
|
+
try {
|
|
161
|
+
const record = JSON.parse(readFileSync(recordPath, "utf8"));
|
|
162
|
+
if (Date.now() - record.savedAt > RUN_REUSE_MAX_AGE_MS ||
|
|
163
|
+
!existsSync(record.mdPath) ||
|
|
164
|
+
!statSync(record.mdPath).isFile()) {
|
|
165
|
+
return undefined;
|
|
166
|
+
}
|
|
167
|
+
return record;
|
|
168
|
+
}
|
|
169
|
+
catch {
|
|
170
|
+
return undefined;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
async function saveRunRecord(recordPath, record) {
|
|
174
|
+
try {
|
|
175
|
+
const dir = getHelixlifeStateDir("workflow-runs");
|
|
176
|
+
mkdirSync(dir, { recursive: true });
|
|
177
|
+
await pruneStaleStateFiles(dir);
|
|
178
|
+
writeFileSync(recordPath, JSON.stringify(record), "utf8");
|
|
179
|
+
}
|
|
180
|
+
catch {
|
|
181
|
+
/* 复用记录写失败不影响本次结果 */
|
|
182
|
+
}
|
|
183
|
+
}
|
|
143
184
|
/** 执行工作流:读入参 → 校验 → SSE 执行 → 落盘并输出 */
|
|
144
185
|
export async function runWorkflowRun(options) {
|
|
145
186
|
const { workflow } = options;
|
|
146
187
|
const inputs = readInputsFile(options.inputsFile);
|
|
147
188
|
const config = await fetchWorkflowConfig(workflow.source);
|
|
148
189
|
const query = prepareQuery(config.components, inputs, workflow.anyOf);
|
|
149
|
-
const
|
|
150
|
-
const
|
|
151
|
-
progress.start(`正在执行 ${workflow.source} ${workflow.title}…`);
|
|
190
|
+
const recordPath = runRecordPath(workflow.source, query);
|
|
191
|
+
const reused = options.fresh ? undefined : loadReusableRun(recordPath);
|
|
152
192
|
let result;
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
193
|
+
let text;
|
|
194
|
+
let mdPath;
|
|
195
|
+
let mdSize;
|
|
196
|
+
if (reused) {
|
|
197
|
+
process.stderr.write(`相同入参已于 ${new Date(reused.savedAt).toISOString()} 生成完成,直接复用结果(需重新生成请加 --fresh)\n`);
|
|
198
|
+
result = { outputs: reused.outputs, recordId: reused.recordId };
|
|
199
|
+
text = readFileSync(reused.mdPath, "utf8");
|
|
200
|
+
mdPath = reused.mdPath;
|
|
201
|
+
mdSize = Buffer.byteLength(text, "utf8");
|
|
160
202
|
}
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
203
|
+
else {
|
|
204
|
+
const appName = (await fetchWorkflowAppName(workflow.source)) ?? workflow.name;
|
|
205
|
+
const progress = createStderrProgress(true);
|
|
206
|
+
progress.start(`正在执行 ${workflow.source} ${workflow.title}…`);
|
|
207
|
+
try {
|
|
208
|
+
result = await executeWorkflow({
|
|
209
|
+
source: workflow.source,
|
|
210
|
+
appName,
|
|
211
|
+
query,
|
|
212
|
+
onProgress: (received) => progress.update(received),
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
catch (error) {
|
|
216
|
+
progress.dispose();
|
|
217
|
+
throw error;
|
|
218
|
+
}
|
|
219
|
+
progress.finish("执行完成");
|
|
220
|
+
text = renderOutputsAsMarkdown(result.outputs, config.outputs);
|
|
221
|
+
({ mdPath, mdSize } = writeResultMarkdown(text, workflow));
|
|
222
|
+
await saveRunRecord(recordPath, {
|
|
223
|
+
savedAt: Date.now(),
|
|
224
|
+
mdPath,
|
|
225
|
+
recordId: result.recordId,
|
|
226
|
+
outputs: result.outputs,
|
|
227
|
+
});
|
|
164
228
|
}
|
|
165
|
-
progress.finish("执行完成");
|
|
166
|
-
const text = renderOutputsAsMarkdown(result.outputs, config.outputs);
|
|
167
|
-
const { mdPath, mdSize } = writeResultMarkdown(text, workflow);
|
|
168
229
|
const payload = {
|
|
230
|
+
reused: Boolean(reused),
|
|
169
231
|
source: workflow.source,
|
|
170
232
|
title: workflow.title,
|
|
171
233
|
// 分组 outputs 供 Agent 取用(如把上游输出转喂下游工作流)
|
|
@@ -173,6 +235,11 @@ export async function runWorkflowRun(options) {
|
|
|
173
235
|
text,
|
|
174
236
|
mdPath,
|
|
175
237
|
mdSize,
|
|
238
|
+
artifact: {
|
|
239
|
+
path: mdPath,
|
|
240
|
+
filename: basename(mdPath),
|
|
241
|
+
mimeType: "text/markdown",
|
|
242
|
+
},
|
|
176
243
|
};
|
|
177
244
|
if (options.format === "json") {
|
|
178
245
|
printOutput(wrapWorkbenchResult(payload, { step: "workflow-run", subType: workflow.source }, result.recordId ? { runRecordId: result.recordId } : undefined), "json");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../../src/modules/shared/workflow-app/command.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,yCAAyC;AACzC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../../src/modules/shared/workflow-app/command.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,yCAAyC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACvF,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,cAAc,EACd,kBAAkB,EAClB,WAAW,EACX,oBAAoB,EACpB,oBAAoB,EACpB,eAAe,EACf,gBAAgB,GAEjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAmBpE,+BAA+B;AAC/B,MAAM,UAAU,eAAe,CAAC,OAG/B;IACC,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC5C,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;KACtB,CAAC,CAAC,CAAC;IAEJ,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC9B,WAAW,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;QACnD,OAAO;IACT,CAAC;IAED,WAAW,CACT,oBAAoB,CAAC,IAAI,EAAE;QACzB,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;QAC/B,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE;QAC7B,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE;KAChC,CAAC,EACF,UAAU,CACX,CAAC;AACJ,CAAC;AAaD,SAAS,WAAW,CAAC,SAA4B;IAC/C,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpE,MAAM,YAAY,GAChB,SAAS,CAAC,KAAK,EAAE,YAAY;QAC7B,CAAC,SAAS,CAAC,KAAK,IAAI,IAAI,IAAI,SAAS,CAAC,KAAK,KAAK,EAAE;YAChD,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;YACzB,CAAC,CAAC,SAAS,CAAC,CAAC;IAEjB,OAAO;QACL,EAAE,EAAE,SAAS,CAAC,EAAE;QAChB,KAAK,EAAE,cAAc,CAAC,SAAS,CAAC;QAChC,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,QAAQ,EAAE,SAAS,CAAC,OAAO,KAAK,IAAI;QACpC,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS;YAC5B,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,SAAS,EAAE;YAC1C,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,WAAW;YAC9B,CAAC,CAAC,EAAE,WAAW,EAAE,SAAS,CAAC,KAAK,CAAC,WAAW,EAAE;YAC9C,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AAED,mCAAmC;AACnC,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAGvC;IACC,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAC7B,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAE1D,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU;SAC7B,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;SACvE,GAAG,CAAC,WAAW,CAAC,CAAC;IACpB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC5C,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,EAAE;KACjD,CAAC,CAAC,CAAC;IAEJ,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC9B,WAAW,CACT;YACE,EAAE,EAAE,IAAI;YACR,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,MAAM;YACN,OAAO;YACP,GAAG,CAAC,QAAQ,CAAC,KAAK;gBAChB,CAAC,CAAC;oBACE,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;wBACpC,MAAM,EAAE,KAAK,CAAC,MAAM;wBACpB,OAAO,EAAE,KAAK,CAAC,OAAO;qBACvB,CAAC,CAAC;iBACJ;gBACH,CAAC,CAAC,EAAE,CAAC;SACR,EACD,MAAM,CACP,CAAC;QACF,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG;QACf,KAAK,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,KAAK,EAAE;QACxC,QAAQ,CAAC,OAAO;QAChB,SAAS;QACT,oBAAoB,CAClB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACrB,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;YACpC,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,MAAM,EAAE;gBACN,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;gBAC/D,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE;gBAC3C,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,EAAE;aACjD;iBACE,MAAM,CAAC,OAAO,CAAC;iBACf,IAAI,CAAC,GAAG,CAAC;SACb,CAAC,CAAC,EACH;YACE,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;YAC1B,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE;YAC7B,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE;YAChC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE;YAC5B,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE;SAC/B,CACF;KACF,CAAC;IAEF,IAAI,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QAC3B,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAC/D,CAAC;IACJ,CAAC;IAED,QAAQ,CAAC,IAAI,CACX,SAAS,EACT,oBAAoB,CAAC,OAAO,EAAE;QAC5B,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;QAC1B,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE;KAC9B,CAAC,CACH,CAAC;IAEF,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC;AACjD,CAAC;AAED,uCAAuC;AACvC,SAAS,cAAc,CAAC,IAAY;IAClC,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC3E,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,cAAc,CACtB,kBAAkB,CAAC,gBAAgB,EACnC,mBAAmB,IAAI,EAAE,CAC1B,CAAC;IACJ,CAAC;IAED,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,cAAc,CACtB,kBAAkB,CAAC,gBAAgB,EACnC,uBAAuB,IAAI,EAAE,CAC9B,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,cAAc,CACtB,kBAAkB,CAAC,gBAAgB,EACnC,+CAA+C,CAChD,CAAC;IACJ,CAAC;IAED,OAAO,MAAiC,CAAC;AAC3C,CAAC;AAED,4DAA4D;AAC5D,SAAS,mBAAmB,CAC1B,IAAY,EACZ,QAA4B;IAE5B,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE;SACrB,WAAW,EAAE;SACb,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAChB,MAAM,QAAQ,GAAG,GAAG,gBAAgB,CAClC,GAAG,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,KAAK,IAAI,KAAK,EAAE,CAChD,KAAK,CAAC;IACP,MAAM,SAAS,GAAG,qBAAqB,EAAE,CAAC;IAC1C,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACzC,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACpC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;AAC7D,CAAC;AAED,MAAM,CAAC,MAAM,uBAAuB,GAClC,yBAAyB,CAAC;AAE5B,uDAAuD;AACvD,MAAM,oBAAoB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAShD,MAAM,UAAU,aAAa,CAAC,MAAc,EAAE,KAAoB;IAChE,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;SAC9B,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACxD,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC;SACrC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;SAC1C,MAAM,CAAC,KAAK,CAAC;SACb,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAChB,OAAO,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,EAAE,GAAG,WAAW,OAAO,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,eAAe,CAAC,UAAkB;IACzC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CACvB,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CACZ,CAAC;QACvB,IACE,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,OAAO,GAAG,oBAAoB;YAClD,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC;YAC1B,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EACjC,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,UAAkB,EAClB,MAAyB;IAEzB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,oBAAoB,CAAC,eAAe,CAAC,CAAC;QAClD,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACpC,MAAM,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAChC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;IAC5D,CAAC;IAAC,MAAM,CAAC;QACP,oBAAoB;IACtB,CAAC;AACH,CAAC;AAED,sCAAsC;AACtC,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAKpC;IACC,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAC7B,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAElD,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEtE,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;IAEvE,IAAI,MAA8D,CAAC;IACnE,IAAI,IAAY,CAAC;IACjB,IAAI,MAAc,CAAC;IACnB,IAAI,MAAc,CAAC;IACnB,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,iCAAiC,CAClF,CAAC;QACF,MAAM,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;QAChE,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC3C,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QACvB,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;SAAM,CAAC;QACN,MAAM,OAAO,GACX,CAAC,MAAM,oBAAoB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC;QAEjE,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAC5C,QAAQ,CAAC,KAAK,CAAC,QAAQ,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC;QAE7D,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,eAAe,CAAC;gBAC7B,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,OAAO;gBACP,KAAK;gBACL,UAAU,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC;aACpD,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,KAAK,CAAC;QACd,CAAC;QACD,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAExB,IAAI,GAAG,uBAAuB,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAC/D,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC3D,MAAM,aAAa,CAAC,UAAU,EAAE;YAC9B,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE;YACnB,MAAM;YACN,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,OAAO,GAAG;QACd,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC;QACvB,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,uCAAuC;QACvC,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,IAAI;QACJ,MAAM;QACN,MAAM;QACN,QAAQ,EAAE;YACR,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC;YAC1B,QAAQ,EAAE,eAAe;SAC1B;KACF,CAAC;IAEF,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC9B,WAAW,CACT,mBAAmB,CACjB,OAAO,EACP,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,QAAQ,CAAC,MAAM,EAAE,EAClD,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAC/D,EACD,MAAM,CACP,CAAC;QACF,OAAO;IACT,CAAC;IAED,WAAW,CAAC,GAAG,IAAI,uBAAuB,MAAM,EAAE,EAAE,UAAU,CAAC,CAAC;AAClE,CAAC"}
|
|
@@ -6,7 +6,11 @@ export declare function componentLabel(component: WorkflowComponent): string;
|
|
|
6
6
|
* 未知字段直接报错,避免拼错字段名后被后端静默忽略。
|
|
7
7
|
*/
|
|
8
8
|
export declare function buildQuery(components: WorkflowComponent[], inputs: Record<string, unknown>): WorkflowQuery;
|
|
9
|
-
/**
|
|
9
|
+
/**
|
|
10
|
+
* 用表单默认值补全未填字段(含 hidden,hidden 统一以 hidden 类型提交)。
|
|
11
|
+
* 可见字段即使无值也以空串提交:后端工作流引用了未提交的变量会直接报
|
|
12
|
+
* 「Parameter invalid, the service has been stopped」(病因研究的 exposure_range2/type2 即此情况)。
|
|
13
|
+
*/
|
|
10
14
|
export declare function applyDefaults(components: WorkflowComponent[], query: WorkflowQuery): WorkflowQuery;
|
|
11
15
|
/** 必填校验:只认后端显式 notNull === true */
|
|
12
16
|
export declare function validateRequired(components: WorkflowComponent[], query: WorkflowQuery): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../../../src/modules/shared/workflow-app/form.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EAEd,MAAM,YAAY,CAAC;AAMpB,+BAA+B;AAC/B,wBAAgB,cAAc,CAAC,SAAS,EAAE,iBAAiB,GAAG,MAAM,CAEnE;AAiBD;;;GAGG;AACH,wBAAgB,UAAU,CACxB,UAAU,EAAE,iBAAiB,EAAE,EAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,aAAa,CAsBf;AAED
|
|
1
|
+
{"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../../../src/modules/shared/workflow-app/form.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EAEd,MAAM,YAAY,CAAC;AAMpB,+BAA+B;AAC/B,wBAAgB,cAAc,CAAC,SAAS,EAAE,iBAAiB,GAAG,MAAM,CAEnE;AAiBD;;;GAGG;AACH,wBAAgB,UAAU,CACxB,UAAU,EAAE,iBAAiB,EAAE,EAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,aAAa,CAsBf;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,UAAU,EAAE,iBAAiB,EAAE,EAC/B,KAAK,EAAE,aAAa,GACnB,aAAa,CAkBf;AAED,mCAAmC;AACnC,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,iBAAiB,EAAE,EAC/B,KAAK,EAAE,aAAa,GACnB,IAAI,CAgBN;AAED,6BAA6B;AAC7B,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,iBAAiB,EAAE,EAC/B,KAAK,EAAE,aAAa,GACnB,IAAI,CAcN;AAED,oCAAoC;AACpC,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,iBAAiB,EAAE,EAC/B,KAAK,EAAE,aAAa,GACnB,IAAI,CAoBN;AAED,+CAA+C;AAC/C,wBAAgB,aAAa,CAC3B,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,SAAS,kBAAkB,EAAE,GAAG,SAAS,GAChD,IAAI,CAUN;AAED,0BAA0B;AAC1B,wBAAgB,YAAY,CAC1B,UAAU,EAAE,iBAAiB,EAAE,EAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,WAAW,CAAC,EAAE,SAAS,kBAAkB,EAAE,GAC1C,aAAa,CAOf"}
|
|
@@ -41,7 +41,11 @@ export function buildQuery(components, inputs) {
|
|
|
41
41
|
}
|
|
42
42
|
return query;
|
|
43
43
|
}
|
|
44
|
-
/**
|
|
44
|
+
/**
|
|
45
|
+
* 用表单默认值补全未填字段(含 hidden,hidden 统一以 hidden 类型提交)。
|
|
46
|
+
* 可见字段即使无值也以空串提交:后端工作流引用了未提交的变量会直接报
|
|
47
|
+
* 「Parameter invalid, the service has been stopped」(病因研究的 exposure_range2/type2 即此情况)。
|
|
48
|
+
*/
|
|
45
49
|
export function applyDefaults(components, query) {
|
|
46
50
|
const merged = { ...query };
|
|
47
51
|
for (const component of components) {
|
|
@@ -49,7 +53,7 @@ export function applyDefaults(components, query) {
|
|
|
49
53
|
continue;
|
|
50
54
|
}
|
|
51
55
|
const content = defaultContent(component);
|
|
52
|
-
if (!content) {
|
|
56
|
+
if (!content && isHidden(component)) {
|
|
53
57
|
continue;
|
|
54
58
|
}
|
|
55
59
|
merged[component.id] = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form.js","sourceRoot":"","sources":["../../../../src/modules/shared/workflow-app/form.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAQ5E,SAAS,QAAQ,CAAC,SAA4B;IAC5C,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,KAAK,IAAI,CAAC;AAClE,CAAC;AAED,+BAA+B;AAC/B,MAAM,UAAU,cAAc,CAAC,SAA4B;IACzD,OAAO,SAAS,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC,EAAE,CAAC;AAC7D,CAAC;AAED,SAAS,aAAa,CAAC,SAA4B;IACjD,OAAO,SAAS,CAAC,KAAK,EAAE,OAAO,IAAI,EAAE,CAAC;AACxC,CAAC;AAED,0CAA0C;AAC1C,SAAS,cAAc,CAAC,SAA4B;IAClD,IAAI,SAAS,CAAC,KAAK,IAAI,IAAI,IAAI,SAAS,CAAC,KAAK,KAAK,EAAE,EAAE,CAAC;QACtD,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IACD,IAAI,SAAS,CAAC,KAAK,EAAE,YAAY,IAAI,IAAI,EAAE,CAAC;QAC1C,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CACxB,UAA+B,EAC/B,MAA+B;IAE/B,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAChE,MAAM,KAAK,GAAkB,EAAE,CAAC;IAEhC,KAAK,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACzD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3D,MAAM,IAAI,cAAc,CACtB,kBAAkB,CAAC,gBAAgB,EACnC,WAAW,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACtD,CAAC;QACJ,CAAC;QACD,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;YACrB,SAAS;QACX,CAAC;QACD,MAAM,OAAO,GACX,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACrE,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC;IACrD,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"form.js","sourceRoot":"","sources":["../../../../src/modules/shared/workflow-app/form.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ export { buildWorkflowAppHeaders, WORKFLOW_APP_EXECUTE_PATH, WORKFLOW_APP_DETAIL
|
|
|
2
2
|
export { fetchWorkflowConfig, fetchWorkflowAppName } from "./api.js";
|
|
3
3
|
export { applyDefaults, buildQuery, componentLabel, prepareQuery, validateAnyOf, validateMaxLength, validateRequired, validateSelectValues, } from "./form.js";
|
|
4
4
|
export { executeWorkflow, renderOutputsAsMarkdown } from "./run.js";
|
|
5
|
-
export { runWorkflowList, runWorkflowParams, runWorkflowRun, } from "./command.js";
|
|
5
|
+
export { runWorkflowList, runWorkflowParams, runWorkflowRun, WORKFLOW_RUN_FRESH_HINT, } from "./command.js";
|
|
6
6
|
export type { WorkflowDefinition } from "./command.js";
|
|
7
7
|
export type { WorkflowAnyOfGroup, WorkflowComponent, WorkflowConfig, WorkflowExecuteBody, WorkflowExecuteResult, WorkflowFieldType, WorkflowOutput, WorkflowQuery, WorkflowQueryField, WorkflowSelectOption, } from "./types.js";
|
|
8
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/modules/shared/workflow-app/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,wBAAwB,EACxB,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AACrE,OAAO,EACL,aAAa,EACb,UAAU,EACV,cAAc,EACd,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AACpE,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/modules/shared/workflow-app/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,wBAAwB,EACxB,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AACrE,OAAO,EACL,aAAa,EACb,UAAU,EACV,cAAc,EACd,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AACpE,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,uBAAuB,GACxB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,YAAY,EACV,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,YAAY,CAAC"}
|
|
@@ -3,5 +3,5 @@ export { buildWorkflowAppHeaders, WORKFLOW_APP_EXECUTE_PATH, WORKFLOW_APP_DETAIL
|
|
|
3
3
|
export { fetchWorkflowConfig, fetchWorkflowAppName } from "./api.js";
|
|
4
4
|
export { applyDefaults, buildQuery, componentLabel, prepareQuery, validateAnyOf, validateMaxLength, validateRequired, validateSelectValues, } from "./form.js";
|
|
5
5
|
export { executeWorkflow, renderOutputsAsMarkdown } from "./run.js";
|
|
6
|
-
export { runWorkflowList, runWorkflowParams, runWorkflowRun, } from "./command.js";
|
|
6
|
+
export { runWorkflowList, runWorkflowParams, runWorkflowRun, WORKFLOW_RUN_FRESH_HINT, } from "./command.js";
|
|
7
7
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/shared/workflow-app/index.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,wBAAwB,EACxB,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AACrE,OAAO,EACL,aAAa,EACb,UAAU,EACV,cAAc,EACd,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AACpE,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/shared/workflow-app/index.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,wBAAwB,EACxB,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AACrE,OAAO,EACL,aAAa,EACb,UAAU,EACV,cAAc,EACd,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AACpE,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,uBAAuB,GACxB,MAAM,cAAc,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../../src/modules/shared/workflow-app/run.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../../src/modules/shared/workflow-app/run.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAEV,qBAAqB,EACrB,cAAc,EACd,aAAa,EACd,MAAM,YAAY,CAAC;AAcpB,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,aAAa,CAAC;IACrB,yBAAyB;IACzB,UAAU,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9C;AAED,wBAAsB,eAAe,CACnC,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,qBAAqB,CAAC,CA8ChC;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,QAAQ,EAAE,cAAc,EAAE,GACzB,MAAM,CAoBR"}
|
|
@@ -1,18 +1,14 @@
|
|
|
1
1
|
// 工作流执行:POST SSE,按 output id 收集结果
|
|
2
|
-
import { ApiClient, collectOutputs, extractRecordId, helixlifeError, helixlifeErrorCode, } from "../../../core/index.js";
|
|
2
|
+
import { ApiClient, collectOutputs, createSseErrorEventError, extractRecordId, helixlifeError, helixlifeErrorCode, } from "../../../core/index.js";
|
|
3
3
|
import { buildWorkflowAppHeaders, WORKFLOW_APP_EXECUTE_PATH, WORKFLOW_APP_RESPONSE_MODE, } from "./constants.js";
|
|
4
4
|
/** 终端事件:正常结束发 end_message,流关闭发 done */
|
|
5
5
|
const TERMINAL_EVENTS = new Set(["end_message", "done"]);
|
|
6
6
|
/** 后端把业务失败放在 error 事件里,HTTP 状态仍为 200,必须逐条检查 */
|
|
7
7
|
function assertNoErrorEvent(events) {
|
|
8
8
|
for (const event of events) {
|
|
9
|
-
if (event.event
|
|
10
|
-
|
|
9
|
+
if (event.event === "error") {
|
|
10
|
+
throw createSseErrorEventError(event, "工作流执行失败");
|
|
11
11
|
}
|
|
12
|
-
const message = (typeof event.message === "string" && event.message) ||
|
|
13
|
-
(typeof event.err_msg === "string" && event.err_msg) ||
|
|
14
|
-
"工作流执行失败";
|
|
15
|
-
throw new helixlifeError(helixlifeErrorCode.REQUEST_FAILED, message);
|
|
16
12
|
}
|
|
17
13
|
}
|
|
18
14
|
export async function executeWorkflow(options) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../../../src/modules/shared/workflow-app/run.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,OAAO,EACL,SAAS,EACT,cAAc,EACd,eAAe,EACf,cAAc,EACd,kBAAkB,GAEnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,gBAAgB,CAAC;AAQxB,uCAAuC;AACvC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;AAEzD,+CAA+C;AAC/C,SAAS,kBAAkB,CAAC,MAAwB;IAClD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;YAC5B,
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../../../src/modules/shared/workflow-app/run.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,OAAO,EACL,SAAS,EACT,cAAc,EACd,wBAAwB,EACxB,eAAe,EACf,cAAc,EACd,kBAAkB,GAEnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,gBAAgB,CAAC;AAQxB,uCAAuC;AACvC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;AAEzD,+CAA+C;AAC/C,SAAS,kBAAkB,CAAC,MAAwB;IAClD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;YAC5B,MAAM,wBAAwB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;AACH,CAAC;AAUD,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAA+B;IAE/B,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;IAC/B,MAAM,MAAM,GAAqB,EAAE,CAAC;IACpC,IAAI,QAAQ,GAAG,CAAC,CAAC;IAEjB,MAAM,IAAI,GAAwB;QAChC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,QAAQ,EAAE,OAAO,CAAC,OAAO;QACzB,aAAa,EAAE,0BAA0B;QACzC,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC;IAEF,MAAM,MAAM,CAAC,UAAU,CACrB,yBAAyB,EACzB;QACE,MAAM,EAAE,MAAM;QACd,IAAI;QACJ,OAAO,EAAE,uBAAuB,CAAC,OAAO,CAAC,MAAM,CAAC;KACjD,EACD,CAAC,OAAO,EAAE,EAAE;QACV,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACvC,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;YAClC,OAAO,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;IACH,CAAC,CACF,CAAC;IAEF,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAE3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,cAAc,CACtB,kBAAkB,CAAC,gBAAgB,EACnC,sBAAsB,CACvB,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACvC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,cAAc,CACtB,kBAAkB,CAAC,gBAAgB,EACnC,cAAc,CACf,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;AACxD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CACrC,OAA+B,EAC/B,QAA0B;IAE1B,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM;QAC7B,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACjC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,IAAI,GAAG,CACpB,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAC7E,CAAC;IAEF,OAAO,CAAC,GAAG,OAAO,EAAE,GAAG,MAAM,CAAC;SAC3B,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QACV,MAAM,OAAO,GAAG,OAAO,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;QACpC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,MAAM,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,OAAO,EAAE,CAAC;IACpD,CAAC,CAAC;SACD,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,MAAM,CAAC,CAAC;AAClB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "helixlife-expert-cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "helixlife 科研专家合集后台命令行工具",
|
|
6
6
|
"bin": {
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
"typecheck": "tsc -p cli/tsconfig.json --noEmit",
|
|
19
19
|
"test": "tsx --test cli/tests/*.test.ts",
|
|
20
20
|
"sync:skills": "node scripts/sync-skills.mjs",
|
|
21
|
+
"pack:skill": "node scripts/pack-skill.mjs",
|
|
21
22
|
"prepublishOnly": "npm run build"
|
|
22
23
|
},
|
|
23
24
|
"dependencies": {
|