@lcap/nasl 3.6.3-alpha.5 → 3.6.4-beta.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/out/concepts/CallFunction__.js +1 -1
- package/out/concepts/Logic__.d.ts +1 -1
- package/out/concepts/Logic__.js +2 -2
- package/out/concepts/Logic__.js.map +1 -1
- package/out/concepts/TypeAnnotation__.js +1 -1
- package/out/natural/genNaturalTS.js +22 -22
- package/out/natural/prompt/analyzeClaims.js +0 -2
- package/out/natural/prompt/analyzeClaims.js.map +1 -1
- package/out/natural/prompt/analyzeFormatOutput.js +0 -1
- package/out/natural/prompt/analyzeFormatOutput.js.map +1 -1
- package/out/natural/prompt/analyzeTasks.js +9 -13
- package/out/natural/prompt/analyzeTasks.js.map +1 -1
- package/out/natural/prompt/executeClaims.js +4 -4
- package/out/natural/transformTSCode.js +8 -1
- package/out/natural/transformTSCode.js.map +1 -1
- package/out/translator/types.d.ts +13 -2
- package/out/translator/utils.js +2 -2
- package/out/translator/utils.js.map +1 -1
- package/package.json +1 -1
- package/sandbox-natural/stdlib/nasl.util.ts +0 -2
- package/src/concepts/CallFunction__.ts +1 -1
- package/src/concepts/Logic__.ts +2 -2
- package/src/concepts/TypeAnnotation__.ts +1 -1
- package/src/natural/genNaturalTS.ts +22 -22
- package/src/natural/prompt/analyzeClaims.ts +0 -2
- package/src/natural/prompt/analyzeFormatOutput.ts +0 -1
- package/src/natural/prompt/analyzeTasks.ts +9 -13
- package/src/natural/prompt/executeClaims.ts +4 -4
- package/src/natural/transformTSCode.ts +7 -1
- package/src/translator/types.ts +20 -9
- package/src/translator/utils.ts +2 -2
|
@@ -445,7 +445,7 @@ let CallFunction = CallFunction_1 = class CallFunction extends LogicItem__1.defa
|
|
|
445
445
|
// 如果有内容
|
|
446
446
|
const typeAnnotation = this.typeArguments[0];
|
|
447
447
|
code += `<`;
|
|
448
|
-
code += `${typeAnnotation.toNaturalTS((0, translator_1.shiftState)({ ...state,
|
|
448
|
+
code += `${typeAnnotation.toNaturalTS((0, translator_1.shiftState)({ ...state, needNamespace: true }, code, { tabSize: 0 }))}>`;
|
|
449
449
|
}
|
|
450
450
|
if (this.arguments.length <= 3) {
|
|
451
451
|
code += '(';
|
|
@@ -591,7 +591,7 @@ export declare class Logic extends BaseNode {
|
|
|
591
591
|
toEmbeddedTSNoExport(state?: TranslatorState): string;
|
|
592
592
|
get tsName(): string;
|
|
593
593
|
toEmbeddedTS(state?: TranslatorState, prefix?: string, hideDefaultValue?: boolean): TranslatorGenerator;
|
|
594
|
-
toNaturalTS(state?: TranslatorState, prefix?: string, logicName?: string, currentNode?: BaseNode
|
|
594
|
+
toNaturalTS(state?: TranslatorState, prefix?: string, logicName?: string, currentNode?: BaseNode): string;
|
|
595
595
|
getRightCode(code: string, assignment: Assignment | BatchAssignment, rightNode: any): Generator<any, string, any>;
|
|
596
596
|
handleReplaceCode(code: string, variable: string, replaceCode: string): string;
|
|
597
597
|
handleForEachCode(code: string, forEachStatement: ForEachStatement): Generator<any, string, any>;
|
package/out/concepts/Logic__.js
CHANGED
|
@@ -1152,7 +1152,7 @@ let Logic = Logic_1 = class Logic extends BaseNode_1.default {
|
|
|
1152
1152
|
code += '\n';
|
|
1153
1153
|
return code;
|
|
1154
1154
|
}
|
|
1155
|
-
toNaturalTS(state = (0, translator_1.createCompilerState)(), prefix, logicName, currentNode
|
|
1155
|
+
toNaturalTS(state = (0, translator_1.createCompilerState)(), prefix, logicName, currentNode) {
|
|
1156
1156
|
// 如果传了不要前缀那就为空, 要不用传进来的,要是都没有就默认导出
|
|
1157
1157
|
let code = '';
|
|
1158
1158
|
if (currentNode === this) {
|
|
@@ -1250,7 +1250,7 @@ ${(0, translator_1.indent)(state.tabSize)} */\n`;
|
|
|
1250
1250
|
if (item.concept === 'End' && (!state?.focusedNodePath || item?.nodePath === state?.focusedNodePath))
|
|
1251
1251
|
code += `${(0, translator_1.indent)(state.tabSize + 1)}// 当前位置\n`;
|
|
1252
1252
|
if (item.toNaturalTS) {
|
|
1253
|
-
partialCode = item.toNaturalTS((0, translator_1.shiftState)(
|
|
1253
|
+
partialCode = item.toNaturalTS((0, translator_1.shiftState)(state, code, { tabSize: state.tabSize + 1 }));
|
|
1254
1254
|
}
|
|
1255
1255
|
else if (item.toEmbeddedTS) {
|
|
1256
1256
|
partialCode = (0, time_slicing_1.runGeneratorSync)(item.toEmbeddedTS((0, translator_1.shiftState)(state, code, { tabSize: state.tabSize + 1 })));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Logic__.js","sourceRoot":"","sources":["../../src/concepts/Logic__.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Logic__.js","sourceRoot":"","sources":["../../src/concepts/Logic__.ts"],"names":[],"mappings":"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"}
|
|
@@ -688,7 +688,7 @@ let TypeAnnotation = TypeAnnotation_1 = class TypeAnnotation extends BaseNode_1.
|
|
|
688
688
|
if (this.tsCalleeNamespace.startsWith('nasl.ui')) {
|
|
689
689
|
return `${this.tsCalleeNamespace}.${this.typeName}`;
|
|
690
690
|
}
|
|
691
|
-
return state?.
|
|
691
|
+
return state?.needNamespace ? `${this.typeNamespace}.${this.typeName}` : `${this.typeName}`;
|
|
692
692
|
}
|
|
693
693
|
return this.tsCalleeNamespace.startsWith('nasl.ui')
|
|
694
694
|
? `${this.tsCalleeNamespace}.${this.typeName}`
|
|
@@ -98,13 +98,13 @@ const getNaslOql = () => {
|
|
|
98
98
|
};
|
|
99
99
|
exports.getNaslOql = getNaslOql;
|
|
100
100
|
const getEnums = (app, state, moduleIndexList) => {
|
|
101
|
-
const
|
|
101
|
+
const needNamespace = moduleIndexList?.length >= 0;
|
|
102
102
|
const namespace = 'app.enums';
|
|
103
103
|
const data = [];
|
|
104
104
|
let code = '';
|
|
105
105
|
code += `declare namespace ${namespace} {\n`;
|
|
106
106
|
app.enums.forEach((enumeration) => {
|
|
107
|
-
const temp = `${enumeration?.toNaturalTS((0, translator_1.shiftState)({ ...state,
|
|
107
|
+
const temp = `${enumeration?.toNaturalTS((0, translator_1.shiftState)({ ...state, needNamespace }))}`;
|
|
108
108
|
code += temp;
|
|
109
109
|
data.push({ description: enumeration?.description || enumeration?.name, code: temp });
|
|
110
110
|
});
|
|
@@ -114,7 +114,7 @@ const getEnums = (app, state, moduleIndexList) => {
|
|
|
114
114
|
};
|
|
115
115
|
exports.getEnums = getEnums;
|
|
116
116
|
const getEntities = (app, state, moduleIndexList) => {
|
|
117
|
-
const
|
|
117
|
+
const needNamespace = moduleIndexList?.length >= 0;
|
|
118
118
|
const entities = [];
|
|
119
119
|
let code = '';
|
|
120
120
|
app.dataSources.forEach((dataSource) => {
|
|
@@ -124,8 +124,8 @@ const getEntities = (app, state, moduleIndexList) => {
|
|
|
124
124
|
dataSource.entities
|
|
125
125
|
.filter((entity) => !entity.name.startsWith('LCAP') || entity.name === 'LCAPUser')
|
|
126
126
|
.forEach((entity) => {
|
|
127
|
-
const entityName =
|
|
128
|
-
const tempCode = `${entity?.toNaturalTS((0, translator_1.shiftState)({ ...state,
|
|
127
|
+
const entityName = needNamespace ? `app.dataSources.${dataSource?.name}.entities.${entity?.name}` : undefined;
|
|
128
|
+
const tempCode = `${entity?.toNaturalTS((0, translator_1.shiftState)({ ...state, needNamespace }), entityName)}`;
|
|
129
129
|
code += tempCode;
|
|
130
130
|
data.push({ description: entity?.description || entity?.name, code: tempCode });
|
|
131
131
|
});
|
|
@@ -137,7 +137,7 @@ const getEntities = (app, state, moduleIndexList) => {
|
|
|
137
137
|
};
|
|
138
138
|
exports.getEntities = getEntities;
|
|
139
139
|
const getStructures = (app, state, moduleIndexList) => {
|
|
140
|
-
const
|
|
140
|
+
const needNamespace = moduleIndexList?.length >= 0;
|
|
141
141
|
const data = [];
|
|
142
142
|
const namespace = `app.structures`;
|
|
143
143
|
let code = '';
|
|
@@ -145,7 +145,7 @@ const getStructures = (app, state, moduleIndexList) => {
|
|
|
145
145
|
app.structures
|
|
146
146
|
.filter((entity) => !entity.name.startsWith('LCAP'))
|
|
147
147
|
.forEach((structure) => {
|
|
148
|
-
const tempCode = `${structure?.toNaturalTS((0, translator_1.shiftState)({ ...state,
|
|
148
|
+
const tempCode = `${structure?.toNaturalTS((0, translator_1.shiftState)({ ...state, needNamespace }))}`;
|
|
149
149
|
code += tempCode;
|
|
150
150
|
data.push({ description: structure?.description || structure?.name, code: tempCode });
|
|
151
151
|
});
|
|
@@ -166,8 +166,8 @@ const getLogics = (app, currentNode, moduleIndexList) => {
|
|
|
166
166
|
if (hasModuleIndexList && !moduleIndexList?.includes(logicIndex))
|
|
167
167
|
return;
|
|
168
168
|
const logicName = moduleIndexList?.length >= 0 ? logic?.calleewholeKey : undefined;
|
|
169
|
-
const
|
|
170
|
-
const tempCode = `${logic?.toNaturalTS((0, translator_1.createCompilerState)('', {
|
|
169
|
+
const needNamespace = moduleIndexList?.length >= 0;
|
|
170
|
+
const tempCode = `${logic?.toNaturalTS((0, translator_1.createCompilerState)('', { needNamespace }), 'inTsContext', logicName, currentNode)}`;
|
|
171
171
|
const description = logic?.description || '';
|
|
172
172
|
code += `[${logicIndex}]${description} ${tempCode}`;
|
|
173
173
|
data.push({ description, code: tempCode });
|
|
@@ -187,7 +187,7 @@ const getModuleInterfaces = (app, state, moduleIndexList) => {
|
|
|
187
187
|
const structureNamespace = `${namespace}.structures`;
|
|
188
188
|
const structureData = [];
|
|
189
189
|
interfaceDependency?.structures?.forEach((structure) => {
|
|
190
|
-
const tempCode = `${structure?.toNaturalTS((0, translator_1.shiftState)({ ...state,
|
|
190
|
+
const tempCode = `${structure?.toNaturalTS((0, translator_1.shiftState)({ ...state, needNamespace: true }))}`;
|
|
191
191
|
structureData.push({ description: structure?.description || structure?.name, code: tempCode });
|
|
192
192
|
});
|
|
193
193
|
structures = { namespace: structureNamespace, data: structureData };
|
|
@@ -199,8 +199,8 @@ const getModuleInterfaces = (app, state, moduleIndexList) => {
|
|
|
199
199
|
return;
|
|
200
200
|
const description = interface_?.description || '';
|
|
201
201
|
const interfaceName = moduleIndexList?.length >= 0 ? interface_?.calleewholeKey : undefined;
|
|
202
|
-
const
|
|
203
|
-
const tempCode = interface_?.toNaturalTS((0, translator_1.createCompilerState)('', {
|
|
202
|
+
const needNamespace = moduleIndexList?.length >= 0;
|
|
203
|
+
const tempCode = interface_?.toNaturalTS((0, translator_1.createCompilerState)('', { needNamespace }), interfaceName);
|
|
204
204
|
logicData.push({ description, code: tempCode });
|
|
205
205
|
if (moduleIndexList?.includes(interfaceIndex)) {
|
|
206
206
|
code += (0, exports.getLogicStructures)(interface_, 'interface', { description, codeStr: tempCode }, structureNamespace);
|
|
@@ -227,7 +227,7 @@ const getConnectors = (app, state, moduleIndexList) => {
|
|
|
227
227
|
const structureNamespace = `extensions.${connection?.connector?.name}.structures`;
|
|
228
228
|
const structureData = [];
|
|
229
229
|
connection?.connector?.structures?.forEach((structure) => {
|
|
230
|
-
const tempCode = `${structure?.toNaturalTS((0, translator_1.shiftState)({ ...state,
|
|
230
|
+
const tempCode = `${structure?.toNaturalTS((0, translator_1.shiftState)({ ...state, needNamespace: true }))}`;
|
|
231
231
|
structureData.push({ description: structure?.description || structure?.name, code: tempCode });
|
|
232
232
|
});
|
|
233
233
|
structures = { namespace: structureNamespace, data: structureData };
|
|
@@ -240,8 +240,8 @@ const getConnectors = (app, state, moduleIndexList) => {
|
|
|
240
240
|
return;
|
|
241
241
|
const description = `${logic?.description || logic?.title || ''}`;
|
|
242
242
|
const logicName = moduleIndexList?.length >= 0 ? `${connection?.name}.${logic?.calleewholeKey}` : undefined;
|
|
243
|
-
const
|
|
244
|
-
const tempCode = `${logic?.toNaturalTS((0, translator_1.shiftState)({ ...state,
|
|
243
|
+
const needNamespace = moduleIndexList?.length >= 0;
|
|
244
|
+
const tempCode = `${logic?.toNaturalTS((0, translator_1.shiftState)({ ...state, needNamespace }, code), 'inConnector', logicName)}`;
|
|
245
245
|
logicData.push({ description, code: tempCode });
|
|
246
246
|
if (moduleIndexList?.includes(logicIndex)) {
|
|
247
247
|
code += (0, exports.getLogicStructures)(logic, 'connector', { description, codeStr: tempCode }, structureNamespace);
|
|
@@ -258,8 +258,8 @@ const getConnectors = (app, state, moduleIndexList) => {
|
|
|
258
258
|
return;
|
|
259
259
|
const description = logic?.description || '';
|
|
260
260
|
const logicName = moduleIndexList?.length >= 0 ? `${connection?.name}.${logic?.calleewholeKey}` : undefined;
|
|
261
|
-
const
|
|
262
|
-
const tempCode = `${logic?.toNaturalTS((0, translator_1.shiftState)({ ...state,
|
|
261
|
+
const needNamespace = moduleIndexList?.length >= 0;
|
|
262
|
+
const tempCode = `${logic?.toNaturalTS((0, translator_1.shiftState)({ ...state, needNamespace }, code), 'inConnector', logicName)}`;
|
|
263
263
|
logicData.push({ description, code: tempCode });
|
|
264
264
|
if (moduleIndexList?.includes(logicIndex)) {
|
|
265
265
|
code += (0, exports.getLogicStructures)(logic, 'connector', { description, codeStr: tempCode }, structureNamespace);
|
|
@@ -289,7 +289,7 @@ const getDependencies = (app, state, moduleIndexList) => {
|
|
|
289
289
|
const structureNamespace = `${namespace}.structures`;
|
|
290
290
|
const structureData = [];
|
|
291
291
|
module?.structures?.forEach((structure) => {
|
|
292
|
-
const tempCode = `${structure?.toNaturalTS((0, translator_1.shiftState)({ ...state,
|
|
292
|
+
const tempCode = `${structure?.toNaturalTS((0, translator_1.shiftState)({ ...state, needNamespace: true }))}`;
|
|
293
293
|
structureData.push({ description: structure?.description || structure?.name, code: tempCode });
|
|
294
294
|
});
|
|
295
295
|
structures = { namespace: structureNamespace, data: structureData };
|
|
@@ -301,8 +301,8 @@ const getDependencies = (app, state, moduleIndexList) => {
|
|
|
301
301
|
return;
|
|
302
302
|
const description = logic?.description || '';
|
|
303
303
|
const logicName = moduleIndexList?.length >= 0 ? logic?.calleewholeKey : undefined;
|
|
304
|
-
const
|
|
305
|
-
const tempCode = `${logic?.toNaturalTS((0, translator_1.shiftState)({ ...state,
|
|
304
|
+
const needNamespace = moduleIndexList?.length >= 0;
|
|
305
|
+
const tempCode = `${logic?.toNaturalTS((0, translator_1.shiftState)({ ...state, needNamespace }, code), 'inDependency', logicName)}`;
|
|
306
306
|
logicData.push({ description, code: tempCode });
|
|
307
307
|
if (moduleIndexList?.includes(logicIndex)) {
|
|
308
308
|
code += (0, exports.getLogicStructures)(logic, 'extension', { description, codeStr: tempCode }, structureNamespace);
|
|
@@ -382,11 +382,11 @@ const getCurrentNodeContext = (currentNode, focusedNodePath) => {
|
|
|
382
382
|
code += ``;
|
|
383
383
|
if (view) {
|
|
384
384
|
// 为页面中的逻辑
|
|
385
|
-
code += view?.toNaturalTS((0, translator_1.createCompilerState)('', { focusedNodePath,
|
|
385
|
+
code += view?.toNaturalTS((0, translator_1.createCompilerState)('', { focusedNodePath, needNamespace: true }), currentNode);
|
|
386
386
|
}
|
|
387
387
|
else if (logic) {
|
|
388
388
|
// 为全局逻辑
|
|
389
|
-
code += logic?.toNaturalTS((0, translator_1.createCompilerState)('', { focusedNodePath,
|
|
389
|
+
code += logic?.toNaturalTS((0, translator_1.createCompilerState)('', { focusedNodePath, needNamespace: true }), undefined, undefined, currentNode);
|
|
390
390
|
}
|
|
391
391
|
return { code: (0, exports.genTsBlock)(code), currentLogic: code };
|
|
392
392
|
};
|
|
@@ -11,7 +11,6 @@ const analyzeClaims = (params) => {
|
|
|
11
11
|
- 如果用户的需求涉及定时或延时等操作,请提示用户:当前暂不支持定时或延时操作,请调整后重新输入。
|
|
12
12
|
- 如果用户的需求需要调用某个方法并且当前上下文中不存在时,请提示用户:当前应用中暂无该方法,请先导入相关依赖库或连接器模块
|
|
13
13
|
- 例如:加解密依赖库中的方法
|
|
14
|
-
- 如果用户的需求需要调用接口并且当前上下文中不存在此接口时,不需要再跟用户对话,直接返回 needImportInterface: true; executable: true; 以及 plan
|
|
15
14
|
`;
|
|
16
15
|
// global_logic、view_logic、event_logic、business_Logic
|
|
17
16
|
const claimsMap = {
|
|
@@ -25,7 +24,6 @@ const analyzeClaims = (params) => {
|
|
|
25
24
|
- 分析用户的需求,当需要从实体中获取或者查询数据时
|
|
26
25
|
- 优先使用 SQL 的查询和数据操纵能力: 例如 JOIN、SUM、GROUP_BY 等能力
|
|
27
26
|
- 使用 SQL 语句同时实现查询和计算
|
|
28
|
-
- 如果用户的需求需要调用接口并且当前上下文中不存在此接口时,不需要再跟用户对话,直接返回 needImportInterface: true; executable: true; 以及 plan
|
|
29
27
|
`
|
|
30
28
|
};
|
|
31
29
|
return claimsMap?.[logicType] || claims;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyzeClaims.js","sourceRoot":"","sources":["../../../src/natural/prompt/analyzeClaims.ts"],"names":[],"mappings":";;;AAAO,MAAM,aAAa,GAAG,CAAC,MAAW,EAAE,EAAE;IAC3C,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;IAC7B,MAAM,MAAM,GAAG
|
|
1
|
+
{"version":3,"file":"analyzeClaims.js","sourceRoot":"","sources":["../../../src/natural/prompt/analyzeClaims.ts"],"names":[],"mappings":";;;AAAO,MAAM,aAAa,GAAG,CAAC,MAAW,EAAE,EAAE;IAC3C,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;IAC7B,MAAM,MAAM,GAAG;;;;;;;;CAQhB,CAAC;IACA,qDAAqD;IACrD,MAAM,SAAS,GAAG;QAChB,YAAY,EAAE;;;;;;;;;;CAUjB;KACS,CAAC;IACT,OAAO,SAAS,EAAE,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC;AAC1C,CAAC,CAAC;AA1BW,QAAA,aAAa,iBA0BxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyzeFormatOutput.js","sourceRoot":"","sources":["../../../src/natural/prompt/analyzeFormatOutput.ts"],"names":[],"mappings":";;;AAAO,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACtC,OAAO
|
|
1
|
+
{"version":3,"file":"analyzeFormatOutput.js","sourceRoot":"","sources":["../../../src/natural/prompt/analyzeFormatOutput.ts"],"names":[],"mappings":";;;AAAO,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACtC,OAAO;;;;;;;;;;OAUF,CAAC;AACR,CAAC,CAAC;AAZW,QAAA,mBAAmB,uBAY9B"}
|
|
@@ -3,19 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.analyzeTasks = void 0;
|
|
4
4
|
const analyzeTasks = () => {
|
|
5
5
|
return `
|
|
6
|
-
-
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
|
|
10
|
-
-
|
|
11
|
-
-
|
|
12
|
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
- 用于下一步的具体实施,需要尽可能详细、精准的返回和执行计划相关的模块或方法索引。例如:"moduleIndexList": ['1','6-3','8-1-1-0']。
|
|
16
|
-
- needImportInterface
|
|
17
|
-
- 类型为 boolean, 如果你认为当前上下文无法满足需求,需要另外引入接口, 返回 true, 否则返回 false
|
|
18
|
-
- 如果用户的需求需要调用接口并且当前上下文中不存在此接口时,不需要再跟用户对话,直接返回 needImportInterface: true; executable: true; 以及 plan
|
|
6
|
+
- plan:
|
|
7
|
+
- 尽可能的帮助用户将需求梳理成可执行的计划,计划包含多个任务,每个任务下可能包含多个子任务(会缩进 4 个空格)
|
|
8
|
+
- 制定的计划最终将会作为调用代码补全接口的输入, 所以你需要考虑计划内容是否完整与充分, 如果不充分,你可以继续询问用户
|
|
9
|
+
- text: 如果你认为需求不够明确时,可以继续询问用户需求的细节,不可为空
|
|
10
|
+
- executable
|
|
11
|
+
- 类型为 boolean, 如果你认为需求比较明确并且 plan 可执行, 返回 true, 否则返回 false
|
|
12
|
+
- moduleIndexList
|
|
13
|
+
- 类型为 Array, 你需要根据用户的执行计划,从 Context Definition 中整理出执行需要用到的模块,返回对应的模块索引
|
|
14
|
+
- 用于下一步的具体实施,需要尽可能详细、精准的返回和执行计划相关的模块索引。例如:"moduleIndexList": ['1','6-3','8-1-1-0']。
|
|
19
15
|
`;
|
|
20
16
|
};
|
|
21
17
|
exports.analyzeTasks = analyzeTasks;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyzeTasks.js","sourceRoot":"","sources":["../../../src/natural/prompt/analyzeTasks.ts"],"names":[],"mappings":";;;AAAO,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,OAAO
|
|
1
|
+
{"version":3,"file":"analyzeTasks.js","sourceRoot":"","sources":["../../../src/natural/prompt/analyzeTasks.ts"],"names":[],"mappings":";;;AAAO,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,OAAO;;;;;;;;;;CAUR,CAAC;AACF,CAAC,CAAC;AAZW,QAAA,YAAY,gBAYvB"}
|
|
@@ -10,13 +10,13 @@ const executeClaims = (params) => {
|
|
|
10
10
|
- 函数名请使用 ${logicName}
|
|
11
11
|
- 函数内的变量声明
|
|
12
12
|
- 在使用变量或者参数前,请先查找低代码平台的 ts 定义中是否已声明,如果没有声明,请先声明,并遵循 nasl.core 中的规范
|
|
13
|
-
- 在调用方法时,出入参的类型必须和方法的类型声明一致
|
|
14
13
|
- 在使用枚举的时候,必须加上前缀, 格式为: app.enums.枚举['属性']
|
|
15
14
|
- 例如 app.enums.UserStatusEnum['Normal']
|
|
16
15
|
- 枚举值的类型为 枚举本身(eg: UserStatusEnum),如需文本(String),请使用 nasl.util.EnumValueToText() 方法进行转换
|
|
17
16
|
- 禁止使用 result 作为变量名称,你可以使用其它变量名代替
|
|
18
17
|
- 禁止使用 new 关键字
|
|
19
|
-
-
|
|
18
|
+
- 禁止使用 any、Any 和 undefined 类型
|
|
19
|
+
- 在调用接口、依赖库中的方法时,出入参的类型必须和接口、依赖库的定义一致
|
|
20
20
|
- 函数体
|
|
21
21
|
- 只能返回一个函数体,你需要在一个函数体中实现所有的功能
|
|
22
22
|
- 你只能使用 nasl.util 中的已有的函数或方法
|
|
@@ -44,13 +44,13 @@ const executeClaims = (params) => {
|
|
|
44
44
|
- 函数名请使用 ${logicName}
|
|
45
45
|
- 函数内的变量声明
|
|
46
46
|
- 在使用变量或者参数前,请先查找低代码平台的 ts 定义中是否已声明,如果没有声明,请先声明,并遵循 nasl.core 中的规范
|
|
47
|
-
- 在调用方法时,出入参的类型必须和方法的类型声明一致
|
|
48
47
|
- 在使用枚举的时候,必须加上前缀, 格式为: app.enums.枚举['属性']
|
|
49
48
|
- 例如 app.enums.UserStatusEnum['Normal']
|
|
50
49
|
- 枚举值的类型为 枚举本身(eg: UserStatusEnum),如需文本(String),请使用 nasl.util.EnumValueToText() 方法进行转换
|
|
51
50
|
- 禁止使用 result 作为变量名称,你可以使用其它变量名代替
|
|
52
51
|
- 禁止使用 new 关键字
|
|
53
|
-
-
|
|
52
|
+
- 禁止使用 any、Any 和 undefined 类型
|
|
53
|
+
- 在调用接口、连接器、依赖库中的方法时,出入参的类型必须和接口、连接器、依赖库的定义一致
|
|
54
54
|
- 函数体
|
|
55
55
|
- 只能返回一个函数体,你需要在一个函数体中实现所有的功能
|
|
56
56
|
- 只能使用 nasl.util 中的已有的函数或方法
|
|
@@ -88,6 +88,8 @@ function transformTSCode(tsCode, contextLogicName, type) {
|
|
|
88
88
|
const logic = new naslTypes.Logic();
|
|
89
89
|
logic.body = [];
|
|
90
90
|
function transformTypeAnnotation(node) {
|
|
91
|
+
if (!node)
|
|
92
|
+
return null;
|
|
91
93
|
if (node.type === 'TSTypeReference') {
|
|
92
94
|
const typeName = node.typeName.name;
|
|
93
95
|
const primitiveType = naslTypes.primitiveTypeList.find((ta) => ta.typeName === typeName);
|
|
@@ -345,9 +347,14 @@ function transformTSCode(tsCode, contextLogicName, type) {
|
|
|
345
347
|
}
|
|
346
348
|
if (decl.init) {
|
|
347
349
|
if (decl.init.type !== 'ArrayExpression' && decl.init.type !== 'ObjectExpression') {
|
|
350
|
+
const calleeName = (0, generator_1.default)(decl?.init?.callee).code;
|
|
348
351
|
if (type === 'expression') {
|
|
349
352
|
return transformLogicNode(decl.init);
|
|
350
353
|
}
|
|
354
|
+
const varTypeAnnotation = decl?.id?.typeAnnotation?.typeAnnotation;
|
|
355
|
+
if (calleeName === 'nasl.oql.query' && varTypeAnnotation) {
|
|
356
|
+
decl.init.typeAnnotations = varTypeAnnotation;
|
|
357
|
+
}
|
|
351
358
|
newNode = new naslTypes.Assignment({
|
|
352
359
|
left: new naslTypes.Identifier({
|
|
353
360
|
name: variableName,
|
|
@@ -391,7 +398,7 @@ function transformTSCode(tsCode, contextLogicName, type) {
|
|
|
391
398
|
return new naslTypes.OqlQueryComponent({
|
|
392
399
|
dataSource: 'app.dataSources.defaultDS',
|
|
393
400
|
code: (0, generator_1.default)(node.arguments[0]).code.trim().slice(1, -1),
|
|
394
|
-
|
|
401
|
+
typeAnnotation: transformTypeAnnotation(node?.typeAnnotations)
|
|
395
402
|
});
|
|
396
403
|
}
|
|
397
404
|
}
|