openxiangda-devkit-core 2.59.0 → 2.60.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/dist/application-services.d.ts +43 -0
- package/dist/application-services.d.ts.map +1 -1
- package/dist/application-services.js +36 -0
- package/dist/application-services.js.map +1 -1
- package/dist/application-template-catalog.d.ts +101 -0
- package/dist/application-template-catalog.d.ts.map +1 -0
- package/dist/application-template-catalog.js +52 -0
- package/dist/application-template-catalog.js.map +1 -0
- package/dist/command-registry.d.ts +20 -0
- package/dist/command-registry.d.ts.map +1 -1
- package/dist/command-registry.js +2 -0
- package/dist/command-registry.js.map +1 -1
- package/dist/compiler/ai-catalog.d.ts.map +1 -1
- package/dist/compiler/ai-catalog.js +12 -0
- package/dist/compiler/ai-catalog.js.map +1 -1
- package/dist/compiler/bundle.d.ts.map +1 -1
- package/dist/compiler/bundle.js +6 -3
- package/dist/compiler/bundle.js.map +1 -1
- package/dist/compiler/config.d.ts +1 -0
- package/dist/compiler/config.d.ts.map +1 -1
- package/dist/compiler/config.js +22 -0
- package/dist/compiler/config.js.map +1 -1
- package/dist/compiler/permission-review.d.ts.map +1 -1
- package/dist/control-plane-client.d.ts +15 -0
- package/dist/control-plane-client.d.ts.map +1 -1
- package/dist/control-plane-client.js +12 -0
- package/dist/control-plane-client.js.map +1 -1
- package/dist/documentation.d.ts +7 -3
- package/dist/documentation.d.ts.map +1 -1
- package/dist/documentation.js +1 -0
- package/dist/documentation.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/internal/workflow.d.ts +7 -1
- package/dist/internal/workflow.d.ts.map +1 -1
- package/dist/internal/workflow.js +27 -18
- package/dist/internal/workflow.js.map +1 -1
- package/dist/session.d.ts +1 -1
- package/dist/workflow-source-sync.d.ts +59 -0
- package/dist/workflow-source-sync.d.ts.map +1 -0
- package/dist/workflow-source-sync.js +254 -0
- package/dist/workflow-source-sync.js.map +1 -0
- package/package.json +2 -2
package/dist/compiler/config.js
CHANGED
|
@@ -1044,6 +1044,12 @@ export function validateAppConfig(value) {
|
|
|
1044
1044
|
}
|
|
1045
1045
|
});
|
|
1046
1046
|
}
|
|
1047
|
+
(Array.isArray(source.filterWhere) ? source.filterWhere : []).forEach((rawFilter, filterIndex) => {
|
|
1048
|
+
const filterField = string(object(rawFilter).field);
|
|
1049
|
+
if (!targetFieldList.some(candidate => string(object(candidate).code) === filterField)) {
|
|
1050
|
+
diagnostics.push(diagnostic('APP_CONFIG_DATA_RESOURCE_SOURCE_FILTER_FIELD_NOT_FOUND', `动态来源筛选字段 ${filterField} 未在 ${targetCode} 声明`, `${sourcePath}.filterWhere[${filterIndex}].field`));
|
|
1051
|
+
}
|
|
1052
|
+
});
|
|
1047
1053
|
const sourceFilters = Array.isArray(source.filters) ? source.filters : [];
|
|
1048
1054
|
sourceFilters.forEach((rawFilter, filterIndex) => {
|
|
1049
1055
|
const filter = object(rawFilter);
|
|
@@ -2526,6 +2532,7 @@ export function validateAppConfig(value) {
|
|
|
2526
2532
|
'definitionVersion',
|
|
2527
2533
|
'bindingVersion',
|
|
2528
2534
|
'acceptedCommandDeactivationPolicy',
|
|
2535
|
+
'sourceBase',
|
|
2529
2536
|
].includes(key))) {
|
|
2530
2537
|
diagnostics.push(diagnostic('APP_CONFIG_WORKFLOW_ACTIVATION_INVALID', 'Workflow activation 只能声明固定版本与停用策略', path));
|
|
2531
2538
|
}
|
|
@@ -2537,6 +2544,11 @@ export function validateAppConfig(value) {
|
|
|
2537
2544
|
if ('environmentKey' in activation) {
|
|
2538
2545
|
diagnostics.push(diagnostic('APP_CONFIG_ENVIRONMENT_OVERRIDE_FORBIDDEN', 'Workflow activation 属于环境中立 AppVersion,不能声明 environmentKey', `${path}.environmentKey`));
|
|
2539
2546
|
}
|
|
2547
|
+
if (activation.sourceBase !== undefined) {
|
|
2548
|
+
const base = object(activation.sourceBase);
|
|
2549
|
+
if (Object.keys(base).length !== 2 || !['definitionDigest', 'bindingDigest'].every(key => /^(sha256:)?[a-f0-9]{64}$/.test(String(base[key] || ''))))
|
|
2550
|
+
diagnostics.push(diagnostic('APP_CONFIG_WORKFLOW_SOURCE_BASE_INVALID', '源码基线只能包含 definitionDigest 和 bindingDigest', `${path}.sourceBase`));
|
|
2551
|
+
}
|
|
2540
2552
|
const definitionVersion = Number(activation.definitionVersion);
|
|
2541
2553
|
const bindingVersion = Number(activation.bindingVersion);
|
|
2542
2554
|
const definition = definitionByKey.get(`${workflowCode}:${definitionVersion}`);
|
|
@@ -3229,6 +3241,15 @@ function validateBackendOperations(rawOperations, declaredResources, declaredRes
|
|
|
3229
3241
|
? ai.sideEffects
|
|
3230
3242
|
: [];
|
|
3231
3243
|
const risk = string(ai.risk);
|
|
3244
|
+
if (risk === 'external' && ai.reconcile === undefined) {
|
|
3245
|
+
diagnostics.push({
|
|
3246
|
+
...diagnostic('AI_EXTERNAL_RECONCILIATION_MISSING', '外部 AI 操作未声明业务结果核对能力,执行结果不确定时只能保留未知并人工核实', `${path}.ai.reconcile`),
|
|
3247
|
+
severity: 'warning',
|
|
3248
|
+
});
|
|
3249
|
+
}
|
|
3250
|
+
if (object(ai.reconcile).kind === 'platform-transaction') {
|
|
3251
|
+
diagnostics.push({ ...diagnostic('AI_APP_TRANSACTION_RECONCILIATION_UNSUPPORTED', '应用业务操作的 completing 平台事务核对尚未提供;请声明只读状态操作,否则保留结果未知', `${path}.ai.reconcile`), severity: 'warning' });
|
|
3252
|
+
}
|
|
3232
3253
|
const aiKeys = Object.keys(ai);
|
|
3233
3254
|
const allowedAiKeys = new Set([
|
|
3234
3255
|
'name',
|
|
@@ -3237,6 +3258,7 @@ function validateBackendOperations(rawOperations, declaredResources, declaredRes
|
|
|
3237
3258
|
'confirmation',
|
|
3238
3259
|
'resources',
|
|
3239
3260
|
'sideEffects',
|
|
3261
|
+
'reconcile',
|
|
3240
3262
|
'concurrency',
|
|
3241
3263
|
'timeoutMs',
|
|
3242
3264
|
'agent',
|