intention-coding 0.2.5 → 0.3.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/dist/config.d.ts +6 -2
- package/dist/index.js +6247 -4482
- package/dist/services/api-test/add-tasks-to-plan.d.ts +8 -8
- package/dist/services/api-test/api-test.d.ts +4 -4
- package/dist/services/api-test/index.d.ts +14 -14
- package/dist/services/api-test/test-plan.d.ts +10 -10
- package/dist/services/api-test/update-task.d.ts +8 -8
- package/dist/services/change-summarizer/prompt/change-analysis.d.ts +1 -1
- package/dist/services/claude-code/index.d.ts +6 -6
- package/dist/services/code-generator/database-manager.d.ts +4 -4
- package/dist/services/code-generator/enhanced-tools.d.ts +12 -12
- package/dist/services/image-converter/converter.d.ts +84 -0
- package/dist/services/image-converter/index.d.ts +132 -0
- package/dist/services/index.d.ts +0 -5
- package/dist/services/project-template/index.d.ts +7 -7
- package/dist/services/project-template/prompt/project-rules.d.ts +1 -0
- package/dist/services/requirement-analyzer/chunk-reader.d.ts +37 -0
- package/dist/services/requirement-analyzer/index.d.ts +30 -90
- package/dist/services/requirement-analyzer/prompt/api-template.d.ts +1 -0
- package/dist/services/requirement-analyzer/prompt/app-template.d.ts +1 -0
- package/dist/services/requirement-analyzer/prompt/enhanced-feature-extraction.d.ts +1 -0
- package/dist/services/requirement-analyzer/prompt/fallback-document.d.ts +1 -0
- package/dist/services/requirement-analyzer/prompt/feature-dependency-analysis.d.ts +1 -0
- package/dist/services/requirement-analyzer/prompt/feature-extraction.d.ts +2 -0
- package/dist/services/requirement-analyzer/prompt/pc-page-template.d.ts +1 -0
- package/dist/services/requirement-analyzer/prompt/requirement-analysis.d.ts +2 -0
- package/dist/services/requirement-analyzer/prompt/sdk-template.d.ts +1 -0
- package/dist/utils/openai.d.ts +31 -0
- package/dist/utils/pack.d.ts +1 -1
- package/package.json +4 -2
- package/dist/prompt/change-analysis.ts +0 -53
- package/dist/prompt/initialize-project-standard.xml +0 -66
- package/dist/prompt/instructions.md +0 -235
- package/dist/prompt/velocity-template-generation.xml +0 -112
- package/dist/services/requirement-analyzer/auto-trigger.d.ts +0 -1
- package/dist/services/velocity-template/index.d.ts +0 -334
- package/dist/utils/openai-service.d.ts +0 -59
|
@@ -1,235 +0,0 @@
|
|
|
1
|
-
# Velocity模板使用说明
|
|
2
|
-
|
|
3
|
-
## 概述
|
|
4
|
-
本工具将标准代码转换为Velocity模板,支持动态字段配置和权限控制。
|
|
5
|
-
|
|
6
|
-
## 使用方法
|
|
7
|
-
|
|
8
|
-
### 基本参数
|
|
9
|
-
```javascript
|
|
10
|
-
{
|
|
11
|
-
"businessName": "用户管理",
|
|
12
|
-
"moduleName": "user",
|
|
13
|
-
"packageName": "com.example.system",
|
|
14
|
-
"apiPrefix": "/api/system/user",
|
|
15
|
-
"columns": [
|
|
16
|
-
{
|
|
17
|
-
"name": "username",
|
|
18
|
-
"type": "string",
|
|
19
|
-
"label": "用户名",
|
|
20
|
-
"query": true,
|
|
21
|
-
"list": true,
|
|
22
|
-
"insert": true,
|
|
23
|
-
"edit": true,
|
|
24
|
-
"required": true,
|
|
25
|
-
"maxLength": 50
|
|
26
|
-
}
|
|
27
|
-
],
|
|
28
|
-
"permissions": {
|
|
29
|
-
"add": "system:user:add",
|
|
30
|
-
"edit": "system:user:edit",
|
|
31
|
-
"delete": "system:user:delete",
|
|
32
|
-
"view": "system:user:view",
|
|
33
|
-
"export": "system:user:export"
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
### 字段类型支持
|
|
39
|
-
- **string**: 文本输入框
|
|
40
|
-
- **number**: 数字输入框
|
|
41
|
-
- **date**: 日期选择器
|
|
42
|
-
- **dict**: 下拉选择框(需要dictCode)
|
|
43
|
-
- **multiselect**: 多选下拉框
|
|
44
|
-
- **boolean**: 开关组件
|
|
45
|
-
- **textarea**: 多行文本框
|
|
46
|
-
- **email**: 邮箱输入框
|
|
47
|
-
- **phone**: 手机号输入框
|
|
48
|
-
|
|
49
|
-
### 字段属性说明
|
|
50
|
-
- **query**: 是否支持查询
|
|
51
|
-
- **list**: 是否在列表中显示
|
|
52
|
-
- **insert**: 是否支持新增
|
|
53
|
-
- **edit**: 是否支持编辑
|
|
54
|
-
- **required**: 是否必填
|
|
55
|
-
|
|
56
|
-
### 特殊配置
|
|
57
|
-
|
|
58
|
-
#### 字典类型字段
|
|
59
|
-
```javascript
|
|
60
|
-
{
|
|
61
|
-
"name": "status",
|
|
62
|
-
"type": "dict",
|
|
63
|
-
"label": "状态",
|
|
64
|
-
"dictCode": "sys_user_status"
|
|
65
|
-
}
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
#### 多选类型字段
|
|
69
|
-
```javascript
|
|
70
|
-
{
|
|
71
|
-
"name": "roles",
|
|
72
|
-
"type": "multiselect",
|
|
73
|
-
"label": "角色",
|
|
74
|
-
"options": [
|
|
75
|
-
{"label": "管理员", "value": "admin"},
|
|
76
|
-
{"label": "普通用户", "value": "user"}
|
|
77
|
-
]
|
|
78
|
-
}
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
#### 日期类型字段
|
|
82
|
-
```javascript
|
|
83
|
-
{
|
|
84
|
-
"name": "createTime",
|
|
85
|
-
"type": "date",
|
|
86
|
-
"label": "创建时间",
|
|
87
|
-
"format": "yyyy-MM-dd HH:mm:ss"
|
|
88
|
-
}
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
## 模板输出说明
|
|
92
|
-
|
|
93
|
-
### 文件结构
|
|
94
|
-
生成的模板包含以下部分:
|
|
95
|
-
1. **查询表单**: 根据query=true的字段生成
|
|
96
|
-
2. **数据表格**: 根据list=true的字段生成列
|
|
97
|
-
3. **弹窗表单**: 根据insert=true或edit=true的字段生成
|
|
98
|
-
4. **JavaScript**: 包含CRUD操作的完整逻辑
|
|
99
|
-
|
|
100
|
-
### 占位符说明
|
|
101
|
-
- `${businessName}`: 业务名称
|
|
102
|
-
- `${moduleName}`: 模块名称
|
|
103
|
-
- `${packageName}`: 包名
|
|
104
|
-
- `${apiPrefix}`: API接口前缀
|
|
105
|
-
- `${columns}`: 字段配置数组
|
|
106
|
-
- `${permission.xxx}`: 权限控制
|
|
107
|
-
|
|
108
|
-
### 使用示例
|
|
109
|
-
|
|
110
|
-
#### 1. 用户管理模板
|
|
111
|
-
```javascript
|
|
112
|
-
const params = {
|
|
113
|
-
businessName: '用户管理',
|
|
114
|
-
moduleName: 'user',
|
|
115
|
-
packageName: 'com.example.system',
|
|
116
|
-
apiPrefix: '/api/system/user',
|
|
117
|
-
columns: [
|
|
118
|
-
{
|
|
119
|
-
name: 'username',
|
|
120
|
-
type: 'string',
|
|
121
|
-
label: '用户名',
|
|
122
|
-
query: true,
|
|
123
|
-
list: true,
|
|
124
|
-
insert: true,
|
|
125
|
-
edit: false,
|
|
126
|
-
required: true
|
|
127
|
-
},
|
|
128
|
-
{
|
|
129
|
-
name: 'email',
|
|
130
|
-
type: 'email',
|
|
131
|
-
label: '邮箱',
|
|
132
|
-
query: false,
|
|
133
|
-
list: true,
|
|
134
|
-
insert: true,
|
|
135
|
-
edit: true,
|
|
136
|
-
required: true
|
|
137
|
-
},
|
|
138
|
-
{
|
|
139
|
-
name: 'status',
|
|
140
|
-
type: 'dict',
|
|
141
|
-
label: '状态',
|
|
142
|
-
dictCode: 'sys_user_status',
|
|
143
|
-
query: true,
|
|
144
|
-
list: true,
|
|
145
|
-
insert: true,
|
|
146
|
-
edit: true
|
|
147
|
-
}
|
|
148
|
-
],
|
|
149
|
-
permissions: {
|
|
150
|
-
add: 'system:user:add',
|
|
151
|
-
edit: 'system:user:edit',
|
|
152
|
-
delete: 'system:user:delete',
|
|
153
|
-
view: 'system:user:view',
|
|
154
|
-
export: 'system:user:export'
|
|
155
|
-
}
|
|
156
|
-
};
|
|
157
|
-
```
|
|
158
|
-
|
|
159
|
-
#### 2. 订单管理模板
|
|
160
|
-
```javascript
|
|
161
|
-
const params = {
|
|
162
|
-
businessName: '订单管理',
|
|
163
|
-
moduleName: 'order',
|
|
164
|
-
packageName: 'com.example.sales',
|
|
165
|
-
apiPrefix: '/api/sales/order',
|
|
166
|
-
columns: [
|
|
167
|
-
{
|
|
168
|
-
name: 'orderNo',
|
|
169
|
-
type: 'string',
|
|
170
|
-
label: '订单编号',
|
|
171
|
-
query: true,
|
|
172
|
-
list: true,
|
|
173
|
-
insert: false,
|
|
174
|
-
edit: false,
|
|
175
|
-
required: false
|
|
176
|
-
},
|
|
177
|
-
{
|
|
178
|
-
name: 'customerName',
|
|
179
|
-
type: 'string',
|
|
180
|
-
label: '客户名称',
|
|
181
|
-
query: true,
|
|
182
|
-
list: true,
|
|
183
|
-
insert: true,
|
|
184
|
-
edit: true,
|
|
185
|
-
required: true
|
|
186
|
-
},
|
|
187
|
-
{
|
|
188
|
-
name: 'amount',
|
|
189
|
-
type: 'number',
|
|
190
|
-
label: '订单金额',
|
|
191
|
-
query: true,
|
|
192
|
-
list: true,
|
|
193
|
-
insert: true,
|
|
194
|
-
edit: true,
|
|
195
|
-
required: true
|
|
196
|
-
},
|
|
197
|
-
{
|
|
198
|
-
name: 'orderDate',
|
|
199
|
-
type: 'date',
|
|
200
|
-
label: '订单日期',
|
|
201
|
-
format: 'yyyy-MM-dd',
|
|
202
|
-
query: true,
|
|
203
|
-
list: true,
|
|
204
|
-
insert: true,
|
|
205
|
-
edit: true
|
|
206
|
-
}
|
|
207
|
-
],
|
|
208
|
-
permissions: {
|
|
209
|
-
add: 'sales:order:add',
|
|
210
|
-
edit: 'sales:order:edit',
|
|
211
|
-
delete: 'sales:order:delete',
|
|
212
|
-
view: 'sales:order:view',
|
|
213
|
-
export: 'sales:order:export'
|
|
214
|
-
}
|
|
215
|
-
};
|
|
216
|
-
```
|
|
217
|
-
|
|
218
|
-
## 注意事项
|
|
219
|
-
|
|
220
|
-
1. **必填字段**: 设置required=true的字段会在表单中添加验证
|
|
221
|
-
2. **字典数据**: dict类型字段需要在后端提供对应的字典数据
|
|
222
|
-
3. **权限控制**: 权限字符串会控制按钮的显示和隐藏
|
|
223
|
-
4. **API接口**: 确保后端提供对应的CRUD接口
|
|
224
|
-
5. **日期格式**: 日期类型字段支持自定义格式字符串
|
|
225
|
-
|
|
226
|
-
## 扩展说明
|
|
227
|
-
|
|
228
|
-
模板支持以下扩展功能:
|
|
229
|
-
- 自定义验证规则
|
|
230
|
-
- 动态表单字段
|
|
231
|
-
- 复杂权限控制
|
|
232
|
-
- 数据格式化显示
|
|
233
|
-
- 批量操作支持
|
|
234
|
-
|
|
235
|
-
生成的模板可以直接用于Layui框架,包含完整的页面交互逻辑。
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<instructions>
|
|
3
|
-
<task>将用户提供的代码转换为Velocity模板</task>
|
|
4
|
-
<objective>根据业务需求和字段配置,生成符合Velocity语法规范的模板文件</objective>
|
|
5
|
-
|
|
6
|
-
<conversion_rules>
|
|
7
|
-
<rule>保留原始代码的功能和结构,仅将可变部分模板化</rule>
|
|
8
|
-
<rule>使用#foreach循环遍历字段集合($columns)</rule>
|
|
9
|
-
<rule>严格遵循字段属性(query/list/insert/edit)控制代码块生成</rule>
|
|
10
|
-
<rule>使用占位符替换业务相关部分,如${businessName}、${moduleName}等</rule>
|
|
11
|
-
<rule>权限控制使用${permission.xxx}格式,如${permission.add}、${permission.edit}</rule>
|
|
12
|
-
</conversion_rules>
|
|
13
|
-
|
|
14
|
-
<field_handling>
|
|
15
|
-
<query_fields>
|
|
16
|
-
<condition>字段配置中query=true</condition>
|
|
17
|
-
<generation>生成查询表单字段,包含输入框、下拉框、日期选择器等</generation>
|
|
18
|
-
<types>
|
|
19
|
-
<type name="string">文本输入框</type>
|
|
20
|
-
<type name="date">日期选择器,支持自定义格式</type>
|
|
21
|
-
<type name="dict">下拉选择框,关联字典数据</type>
|
|
22
|
-
<type name="multiselect">多选下拉框</type>
|
|
23
|
-
</types>
|
|
24
|
-
</query_fields>
|
|
25
|
-
|
|
26
|
-
<list_fields>
|
|
27
|
-
<condition>字段配置中list=true</condition>
|
|
28
|
-
<generation>生成表格列,支持数据格式化显示</generation>
|
|
29
|
-
<formatting>
|
|
30
|
-
<date>使用layui.util.toDateString格式化日期</date>
|
|
31
|
-
<dict>通过$dictMap.get()获取字典标签</dict>
|
|
32
|
-
</formatting>
|
|
33
|
-
</list_fields>
|
|
34
|
-
|
|
35
|
-
<form_fields>
|
|
36
|
-
<condition>字段配置中insert=true或edit=true</condition>
|
|
37
|
-
<generation>生成弹窗表单字段,支持新增和编辑模式</generation>
|
|
38
|
-
<validation>
|
|
39
|
-
<required>使用lay-verify="required"标记必填字段</required>
|
|
40
|
-
<pattern>使用正则表达式验证输入格式</pattern>
|
|
41
|
-
<length>支持maxlength和minlength属性</length>
|
|
42
|
-
</validation>
|
|
43
|
-
</form_fields>
|
|
44
|
-
</field_handling>
|
|
45
|
-
|
|
46
|
-
<special_field_types>
|
|
47
|
-
<dict_type>
|
|
48
|
-
<description>字典类型字段,需要dictCode配置</description>
|
|
49
|
-
<usage>通过$dictMap.get('$column.dictCode')获取字典列表</usage>
|
|
50
|
-
</dict_type>
|
|
51
|
-
|
|
52
|
-
<multiselect_type>
|
|
53
|
-
<description>多选类型字段,支持options配置</description>
|
|
54
|
-
<usage>使用multiple属性创建多选下拉框</usage>
|
|
55
|
-
</multiselect_type>
|
|
56
|
-
|
|
57
|
-
<date_type>
|
|
58
|
-
<description>日期类型字段,支持format配置</description>
|
|
59
|
-
<usage>集成layui.laydate实现日期选择</usage>
|
|
60
|
-
</date_type>
|
|
61
|
-
|
|
62
|
-
<boolean_type>
|
|
63
|
-
<description>布尔类型字段,使用开关组件</description>
|
|
64
|
-
<usage>使用lay-skin="switch"创建开关控件</usage>
|
|
65
|
-
</boolean_type>
|
|
66
|
-
</special_field_types>
|
|
67
|
-
|
|
68
|
-
<template_structure>
|
|
69
|
-
<html_structure>
|
|
70
|
-
<head>包含必要的CSS和JavaScript引用</head>
|
|
71
|
-
<body>包含查询表单、数据表格、弹窗表单</body>
|
|
72
|
-
</html_structure>
|
|
73
|
-
|
|
74
|
-
<sections>
|
|
75
|
-
<query_form>查询条件区域,支持动态字段渲染</query_form>
|
|
76
|
-
<data_table>数据展示表格,包含操作按钮</data_table>
|
|
77
|
-
<modal_form>弹窗表单,用于新增和编辑操作</modal_form>
|
|
78
|
-
<javascript>页面交互逻辑,包含CRUD操作</javascript>
|
|
79
|
-
</sections>
|
|
80
|
-
</template_structure>
|
|
81
|
-
|
|
82
|
-
<permission_handling>
|
|
83
|
-
<levels>
|
|
84
|
-
<add>新增权限控制${permission.add}</add>
|
|
85
|
-
<edit>编辑权限控制${permission.edit}</edit>
|
|
86
|
-
<delete>删除权限控制${permission.delete}</delete>
|
|
87
|
-
<view>查看权限控制${permission.view}</view>
|
|
88
|
-
<export>导出权限控制${permission.export}</export>
|
|
89
|
-
</levels>
|
|
90
|
-
<implementation>
|
|
91
|
-
<toolbar>工具栏按钮权限控制</toolbar>
|
|
92
|
-
<row_operations>行级操作按钮权限控制</row_operations>
|
|
93
|
-
</implementation>
|
|
94
|
-
</permission_handling>
|
|
95
|
-
|
|
96
|
-
<api_integration>
|
|
97
|
-
<endpoints>
|
|
98
|
-
<list>GET ${apiPrefix}/list - 数据列表查询</list>
|
|
99
|
-
<add>POST ${apiPrefix}/add - 新增数据</add>
|
|
100
|
-
<edit>POST ${apiPrefix}/edit - 编辑数据</edit>
|
|
101
|
-
<delete>POST ${apiPrefix}/delete - 删除数据</delete>
|
|
102
|
-
<export>GET ${apiPrefix}/export - 数据导出</export>
|
|
103
|
-
</endpoints>
|
|
104
|
-
</api_integration>
|
|
105
|
-
|
|
106
|
-
<validation_rules>
|
|
107
|
-
<template_check>验证Velocity语法正确性</template_check>
|
|
108
|
-
<html_check>验证HTML结构完整性</html_check>
|
|
109
|
-
<js_check>验证JavaScript代码正确性</js_check>
|
|
110
|
-
<placeholder_check>验证所有占位符正确替换</placeholder_check>
|
|
111
|
-
</validation_rules>
|
|
112
|
-
</instructions>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function extractTaskDescriptionFromRequirement(requirementDoc: string, featureName: string): Promise<string>;
|
|
@@ -1,334 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
declare const VelocityTemplateParamsSchema: z.ZodObject<{
|
|
3
|
-
originalCode: z.ZodString;
|
|
4
|
-
businessName: z.ZodString;
|
|
5
|
-
moduleName: z.ZodString;
|
|
6
|
-
packageName: z.ZodString;
|
|
7
|
-
columns: z.ZodArray<z.ZodObject<{
|
|
8
|
-
name: z.ZodString;
|
|
9
|
-
type: z.ZodEnum<["string", "number", "date", "dict", "multiselect", "boolean", "textarea", "email", "phone"]>;
|
|
10
|
-
label: z.ZodString;
|
|
11
|
-
query: z.ZodBoolean;
|
|
12
|
-
list: z.ZodBoolean;
|
|
13
|
-
insert: z.ZodBoolean;
|
|
14
|
-
edit: z.ZodBoolean;
|
|
15
|
-
required: z.ZodOptional<z.ZodBoolean>;
|
|
16
|
-
dictCode: z.ZodOptional<z.ZodString>;
|
|
17
|
-
options: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
18
|
-
label: z.ZodString;
|
|
19
|
-
value: z.ZodString;
|
|
20
|
-
}, "strip", z.ZodTypeAny, {
|
|
21
|
-
value: string;
|
|
22
|
-
label: string;
|
|
23
|
-
}, {
|
|
24
|
-
value: string;
|
|
25
|
-
label: string;
|
|
26
|
-
}>, "many">>;
|
|
27
|
-
format: z.ZodOptional<z.ZodString>;
|
|
28
|
-
maxLength: z.ZodOptional<z.ZodNumber>;
|
|
29
|
-
minLength: z.ZodOptional<z.ZodNumber>;
|
|
30
|
-
pattern: z.ZodOptional<z.ZodString>;
|
|
31
|
-
placeholder: z.ZodOptional<z.ZodString>;
|
|
32
|
-
}, "strip", z.ZodTypeAny, {
|
|
33
|
-
type: "string" | "number" | "boolean" | "date" | "dict" | "multiselect" | "textarea" | "email" | "phone";
|
|
34
|
-
name: string;
|
|
35
|
-
query: boolean;
|
|
36
|
-
list: boolean;
|
|
37
|
-
label: string;
|
|
38
|
-
insert: boolean;
|
|
39
|
-
edit: boolean;
|
|
40
|
-
format?: string | undefined;
|
|
41
|
-
options?: {
|
|
42
|
-
value: string;
|
|
43
|
-
label: string;
|
|
44
|
-
}[] | undefined;
|
|
45
|
-
pattern?: string | undefined;
|
|
46
|
-
required?: boolean | undefined;
|
|
47
|
-
dictCode?: string | undefined;
|
|
48
|
-
maxLength?: number | undefined;
|
|
49
|
-
minLength?: number | undefined;
|
|
50
|
-
placeholder?: string | undefined;
|
|
51
|
-
}, {
|
|
52
|
-
type: "string" | "number" | "boolean" | "date" | "dict" | "multiselect" | "textarea" | "email" | "phone";
|
|
53
|
-
name: string;
|
|
54
|
-
query: boolean;
|
|
55
|
-
list: boolean;
|
|
56
|
-
label: string;
|
|
57
|
-
insert: boolean;
|
|
58
|
-
edit: boolean;
|
|
59
|
-
format?: string | undefined;
|
|
60
|
-
options?: {
|
|
61
|
-
value: string;
|
|
62
|
-
label: string;
|
|
63
|
-
}[] | undefined;
|
|
64
|
-
pattern?: string | undefined;
|
|
65
|
-
required?: boolean | undefined;
|
|
66
|
-
dictCode?: string | undefined;
|
|
67
|
-
maxLength?: number | undefined;
|
|
68
|
-
minLength?: number | undefined;
|
|
69
|
-
placeholder?: string | undefined;
|
|
70
|
-
}>, "many">;
|
|
71
|
-
permissions: z.ZodOptional<z.ZodObject<{
|
|
72
|
-
add: z.ZodString;
|
|
73
|
-
edit: z.ZodString;
|
|
74
|
-
delete: z.ZodString;
|
|
75
|
-
view: z.ZodString;
|
|
76
|
-
export: z.ZodString;
|
|
77
|
-
}, "strip", z.ZodTypeAny, {
|
|
78
|
-
delete: string;
|
|
79
|
-
export: string;
|
|
80
|
-
edit: string;
|
|
81
|
-
add: string;
|
|
82
|
-
view: string;
|
|
83
|
-
}, {
|
|
84
|
-
delete: string;
|
|
85
|
-
export: string;
|
|
86
|
-
edit: string;
|
|
87
|
-
add: string;
|
|
88
|
-
view: string;
|
|
89
|
-
}>>;
|
|
90
|
-
apiPrefix: z.ZodString;
|
|
91
|
-
}, "strip", z.ZodTypeAny, {
|
|
92
|
-
originalCode: string;
|
|
93
|
-
businessName: string;
|
|
94
|
-
moduleName: string;
|
|
95
|
-
packageName: string;
|
|
96
|
-
columns: {
|
|
97
|
-
type: "string" | "number" | "boolean" | "date" | "dict" | "multiselect" | "textarea" | "email" | "phone";
|
|
98
|
-
name: string;
|
|
99
|
-
query: boolean;
|
|
100
|
-
list: boolean;
|
|
101
|
-
label: string;
|
|
102
|
-
insert: boolean;
|
|
103
|
-
edit: boolean;
|
|
104
|
-
format?: string | undefined;
|
|
105
|
-
options?: {
|
|
106
|
-
value: string;
|
|
107
|
-
label: string;
|
|
108
|
-
}[] | undefined;
|
|
109
|
-
pattern?: string | undefined;
|
|
110
|
-
required?: boolean | undefined;
|
|
111
|
-
dictCode?: string | undefined;
|
|
112
|
-
maxLength?: number | undefined;
|
|
113
|
-
minLength?: number | undefined;
|
|
114
|
-
placeholder?: string | undefined;
|
|
115
|
-
}[];
|
|
116
|
-
apiPrefix: string;
|
|
117
|
-
permissions?: {
|
|
118
|
-
delete: string;
|
|
119
|
-
export: string;
|
|
120
|
-
edit: string;
|
|
121
|
-
add: string;
|
|
122
|
-
view: string;
|
|
123
|
-
} | undefined;
|
|
124
|
-
}, {
|
|
125
|
-
originalCode: string;
|
|
126
|
-
businessName: string;
|
|
127
|
-
moduleName: string;
|
|
128
|
-
packageName: string;
|
|
129
|
-
columns: {
|
|
130
|
-
type: "string" | "number" | "boolean" | "date" | "dict" | "multiselect" | "textarea" | "email" | "phone";
|
|
131
|
-
name: string;
|
|
132
|
-
query: boolean;
|
|
133
|
-
list: boolean;
|
|
134
|
-
label: string;
|
|
135
|
-
insert: boolean;
|
|
136
|
-
edit: boolean;
|
|
137
|
-
format?: string | undefined;
|
|
138
|
-
options?: {
|
|
139
|
-
value: string;
|
|
140
|
-
label: string;
|
|
141
|
-
}[] | undefined;
|
|
142
|
-
pattern?: string | undefined;
|
|
143
|
-
required?: boolean | undefined;
|
|
144
|
-
dictCode?: string | undefined;
|
|
145
|
-
maxLength?: number | undefined;
|
|
146
|
-
minLength?: number | undefined;
|
|
147
|
-
placeholder?: string | undefined;
|
|
148
|
-
}[];
|
|
149
|
-
apiPrefix: string;
|
|
150
|
-
permissions?: {
|
|
151
|
-
delete: string;
|
|
152
|
-
export: string;
|
|
153
|
-
edit: string;
|
|
154
|
-
add: string;
|
|
155
|
-
view: string;
|
|
156
|
-
} | undefined;
|
|
157
|
-
}>;
|
|
158
|
-
export declare const codeToVelocityTemplate: {
|
|
159
|
-
name: string;
|
|
160
|
-
description: string;
|
|
161
|
-
parameters: z.ZodObject<{
|
|
162
|
-
originalCode: z.ZodString;
|
|
163
|
-
businessName: z.ZodString;
|
|
164
|
-
moduleName: z.ZodString;
|
|
165
|
-
packageName: z.ZodString;
|
|
166
|
-
columns: z.ZodArray<z.ZodObject<{
|
|
167
|
-
name: z.ZodString;
|
|
168
|
-
type: z.ZodEnum<["string", "number", "date", "dict", "multiselect", "boolean", "textarea", "email", "phone"]>;
|
|
169
|
-
label: z.ZodString;
|
|
170
|
-
query: z.ZodBoolean;
|
|
171
|
-
list: z.ZodBoolean;
|
|
172
|
-
insert: z.ZodBoolean;
|
|
173
|
-
edit: z.ZodBoolean;
|
|
174
|
-
required: z.ZodOptional<z.ZodBoolean>;
|
|
175
|
-
dictCode: z.ZodOptional<z.ZodString>;
|
|
176
|
-
options: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
177
|
-
label: z.ZodString;
|
|
178
|
-
value: z.ZodString;
|
|
179
|
-
}, "strip", z.ZodTypeAny, {
|
|
180
|
-
value: string;
|
|
181
|
-
label: string;
|
|
182
|
-
}, {
|
|
183
|
-
value: string;
|
|
184
|
-
label: string;
|
|
185
|
-
}>, "many">>;
|
|
186
|
-
format: z.ZodOptional<z.ZodString>;
|
|
187
|
-
maxLength: z.ZodOptional<z.ZodNumber>;
|
|
188
|
-
minLength: z.ZodOptional<z.ZodNumber>;
|
|
189
|
-
pattern: z.ZodOptional<z.ZodString>;
|
|
190
|
-
placeholder: z.ZodOptional<z.ZodString>;
|
|
191
|
-
}, "strip", z.ZodTypeAny, {
|
|
192
|
-
type: "string" | "number" | "boolean" | "date" | "dict" | "multiselect" | "textarea" | "email" | "phone";
|
|
193
|
-
name: string;
|
|
194
|
-
query: boolean;
|
|
195
|
-
list: boolean;
|
|
196
|
-
label: string;
|
|
197
|
-
insert: boolean;
|
|
198
|
-
edit: boolean;
|
|
199
|
-
format?: string | undefined;
|
|
200
|
-
options?: {
|
|
201
|
-
value: string;
|
|
202
|
-
label: string;
|
|
203
|
-
}[] | undefined;
|
|
204
|
-
pattern?: string | undefined;
|
|
205
|
-
required?: boolean | undefined;
|
|
206
|
-
dictCode?: string | undefined;
|
|
207
|
-
maxLength?: number | undefined;
|
|
208
|
-
minLength?: number | undefined;
|
|
209
|
-
placeholder?: string | undefined;
|
|
210
|
-
}, {
|
|
211
|
-
type: "string" | "number" | "boolean" | "date" | "dict" | "multiselect" | "textarea" | "email" | "phone";
|
|
212
|
-
name: string;
|
|
213
|
-
query: boolean;
|
|
214
|
-
list: boolean;
|
|
215
|
-
label: string;
|
|
216
|
-
insert: boolean;
|
|
217
|
-
edit: boolean;
|
|
218
|
-
format?: string | undefined;
|
|
219
|
-
options?: {
|
|
220
|
-
value: string;
|
|
221
|
-
label: string;
|
|
222
|
-
}[] | undefined;
|
|
223
|
-
pattern?: string | undefined;
|
|
224
|
-
required?: boolean | undefined;
|
|
225
|
-
dictCode?: string | undefined;
|
|
226
|
-
maxLength?: number | undefined;
|
|
227
|
-
minLength?: number | undefined;
|
|
228
|
-
placeholder?: string | undefined;
|
|
229
|
-
}>, "many">;
|
|
230
|
-
permissions: z.ZodOptional<z.ZodObject<{
|
|
231
|
-
add: z.ZodString;
|
|
232
|
-
edit: z.ZodString;
|
|
233
|
-
delete: z.ZodString;
|
|
234
|
-
view: z.ZodString;
|
|
235
|
-
export: z.ZodString;
|
|
236
|
-
}, "strip", z.ZodTypeAny, {
|
|
237
|
-
delete: string;
|
|
238
|
-
export: string;
|
|
239
|
-
edit: string;
|
|
240
|
-
add: string;
|
|
241
|
-
view: string;
|
|
242
|
-
}, {
|
|
243
|
-
delete: string;
|
|
244
|
-
export: string;
|
|
245
|
-
edit: string;
|
|
246
|
-
add: string;
|
|
247
|
-
view: string;
|
|
248
|
-
}>>;
|
|
249
|
-
apiPrefix: z.ZodString;
|
|
250
|
-
}, "strip", z.ZodTypeAny, {
|
|
251
|
-
originalCode: string;
|
|
252
|
-
businessName: string;
|
|
253
|
-
moduleName: string;
|
|
254
|
-
packageName: string;
|
|
255
|
-
columns: {
|
|
256
|
-
type: "string" | "number" | "boolean" | "date" | "dict" | "multiselect" | "textarea" | "email" | "phone";
|
|
257
|
-
name: string;
|
|
258
|
-
query: boolean;
|
|
259
|
-
list: boolean;
|
|
260
|
-
label: string;
|
|
261
|
-
insert: boolean;
|
|
262
|
-
edit: boolean;
|
|
263
|
-
format?: string | undefined;
|
|
264
|
-
options?: {
|
|
265
|
-
value: string;
|
|
266
|
-
label: string;
|
|
267
|
-
}[] | undefined;
|
|
268
|
-
pattern?: string | undefined;
|
|
269
|
-
required?: boolean | undefined;
|
|
270
|
-
dictCode?: string | undefined;
|
|
271
|
-
maxLength?: number | undefined;
|
|
272
|
-
minLength?: number | undefined;
|
|
273
|
-
placeholder?: string | undefined;
|
|
274
|
-
}[];
|
|
275
|
-
apiPrefix: string;
|
|
276
|
-
permissions?: {
|
|
277
|
-
delete: string;
|
|
278
|
-
export: string;
|
|
279
|
-
edit: string;
|
|
280
|
-
add: string;
|
|
281
|
-
view: string;
|
|
282
|
-
} | undefined;
|
|
283
|
-
}, {
|
|
284
|
-
originalCode: string;
|
|
285
|
-
businessName: string;
|
|
286
|
-
moduleName: string;
|
|
287
|
-
packageName: string;
|
|
288
|
-
columns: {
|
|
289
|
-
type: "string" | "number" | "boolean" | "date" | "dict" | "multiselect" | "textarea" | "email" | "phone";
|
|
290
|
-
name: string;
|
|
291
|
-
query: boolean;
|
|
292
|
-
list: boolean;
|
|
293
|
-
label: string;
|
|
294
|
-
insert: boolean;
|
|
295
|
-
edit: boolean;
|
|
296
|
-
format?: string | undefined;
|
|
297
|
-
options?: {
|
|
298
|
-
value: string;
|
|
299
|
-
label: string;
|
|
300
|
-
}[] | undefined;
|
|
301
|
-
pattern?: string | undefined;
|
|
302
|
-
required?: boolean | undefined;
|
|
303
|
-
dictCode?: string | undefined;
|
|
304
|
-
maxLength?: number | undefined;
|
|
305
|
-
minLength?: number | undefined;
|
|
306
|
-
placeholder?: string | undefined;
|
|
307
|
-
}[];
|
|
308
|
-
apiPrefix: string;
|
|
309
|
-
permissions?: {
|
|
310
|
-
delete: string;
|
|
311
|
-
export: string;
|
|
312
|
-
edit: string;
|
|
313
|
-
add: string;
|
|
314
|
-
view: string;
|
|
315
|
-
} | undefined;
|
|
316
|
-
}>;
|
|
317
|
-
execute: (params: z.infer<typeof VelocityTemplateParamsSchema>) => Promise<{
|
|
318
|
-
template: string;
|
|
319
|
-
prompt: string;
|
|
320
|
-
validation: {
|
|
321
|
-
valid: boolean;
|
|
322
|
-
issues: string[];
|
|
323
|
-
};
|
|
324
|
-
metadata: {
|
|
325
|
-
businessName: string;
|
|
326
|
-
moduleName: string;
|
|
327
|
-
fieldCount: number;
|
|
328
|
-
queryFields: number;
|
|
329
|
-
listFields: number;
|
|
330
|
-
formFields: number;
|
|
331
|
-
};
|
|
332
|
-
}>;
|
|
333
|
-
};
|
|
334
|
-
export {};
|