intention-coding 0.4.0 → 0.4.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 (51) hide show
  1. package/package.json +2 -3
  2. package/dist/db/file-storage.js +0 -638
  3. package/dist/index.js +0 -26
  4. package/dist/server/index.js +0 -88
  5. package/dist/services/bug-fix-agent/index.js +0 -320
  6. package/dist/services/change-summarizer/index.js +0 -123
  7. package/dist/services/change-summarizer/prompt/change-analysis.js +0 -56
  8. package/dist/services/code-generator/index.js +0 -403
  9. package/dist/services/code-generator/stages/execution-stage.js +0 -549
  10. package/dist/services/code-generator/stages/ideation-stage.js +0 -267
  11. package/dist/services/code-generator/stages/optimization-stage.js +0 -334
  12. package/dist/services/code-generator/stages/planning-stage.js +0 -295
  13. package/dist/services/code-generator/stages/research-stage.js +0 -283
  14. package/dist/services/code-generator/stages/review-stage.js +0 -270
  15. package/dist/services/code-generator/types.js +0 -37
  16. package/dist/services/code-generator/utils/instruction-executor.js +0 -207
  17. package/dist/services/code-generator/workflow-manager.js +0 -252
  18. package/dist/services/image-analysis/analyzer.js +0 -530
  19. package/dist/services/image-analysis/index.js +0 -406
  20. package/dist/services/image-analysis/types.js +0 -46
  21. package/dist/services/image-converter/converter.js +0 -310
  22. package/dist/services/image-converter/index.js +0 -262
  23. package/dist/services/image-converter/types.js +0 -31
  24. package/dist/services/integrated-generator/index.js +0 -1297
  25. package/dist/services/pdf2md/index.js +0 -180
  26. package/dist/services/project-template/index.js +0 -83
  27. package/dist/services/project-template/prompt/project-rules.js +0 -98
  28. package/dist/services/requirement-analyzer/chunk-reader.js +0 -218
  29. package/dist/services/requirement-analyzer/core/document-generator.js +0 -254
  30. package/dist/services/requirement-analyzer/core/intelligent-analyzer.js +0 -169
  31. package/dist/services/requirement-analyzer/core/project-analyzer.js +0 -199
  32. package/dist/services/requirement-analyzer/core/requirement-analyzer-service.js +0 -191
  33. package/dist/services/requirement-analyzer/core/template-selector.js +0 -124
  34. package/dist/services/requirement-analyzer/core/types.js +0 -23
  35. package/dist/services/requirement-analyzer/index.js +0 -177
  36. package/dist/services/requirement-analyzer/prompt/api-template.js +0 -302
  37. package/dist/services/requirement-analyzer/prompt/app-template.js +0 -455
  38. package/dist/services/requirement-analyzer/prompt/intelligent-requirement-analysis.js +0 -92
  39. package/dist/services/requirement-analyzer/prompt/pc-page-template.js +0 -582
  40. package/dist/services/requirement-analyzer/prompt/requirement-analysis.js +0 -664
  41. package/dist/services/requirement-analyzer/prompt/sdk-template.js +0 -582
  42. package/dist/services/requirement-analyzer/utils/file-reader.js +0 -169
  43. package/dist/services/world2md/index.js +0 -157
  44. package/dist/types/index.js +0 -2
  45. package/dist/utils/common.js +0 -72
  46. package/dist/utils/config.js +0 -163
  47. package/dist/utils/context-manager.js +0 -114
  48. package/dist/utils/dify.js +0 -243
  49. package/dist/utils/logger.js +0 -129
  50. package/dist/utils/openai.js +0 -225
  51. package/dist/utils/pack.js +0 -75
@@ -1,302 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.apiTemplatePrompt = void 0;
4
- exports.apiTemplatePrompt = `你是一位专业的后端技术文档编写专家。请基于用户提供的输入内容,生成一份完整、详细的API接口技术需求文档。
5
-
6
- ## 任务要求
7
- - 必须输出完整的Markdown格式技术需求文档
8
- - 不要只给出总结,要输出完整的文档内容
9
- - 每个章节都要有详细的内容,不能省略
10
- - 文档长度应该在3000字以上
11
- - 重点描述API接口设计、数据结构、交互逻辑等后端相关内容
12
-
13
- ## 输入信息
14
- - **功能名称**: {featureName}
15
- - **业务领域**: {businessDomain}
16
- - **生成时序图**: {generateSequenceDiagram}
17
-
18
- ## 原始需求内容
19
- \`\`\`
20
- {inputContent}
21
- \`\`\`
22
-
23
- ## 文档结构要求
24
- 请严格按照以下结构输出完整的需求文档,每个章节都要有详实的内容:
25
-
26
- # {featureName} - API接口技术需求文档
27
-
28
- > **生成时间**: {currentTime}
29
- > **业务领域**: {businessDomain}
30
- > **接口类型**: RESTful API
31
-
32
- ---
33
-
34
- ## 1. 需求背景
35
-
36
- **背景**: [详细描述API接口的背景、业务需求和目标]
37
-
38
- **关键功能**: [列出API接口的主要功能点]
39
-
40
- **涉及角色**: [列出所有相关系统角色]
41
-
42
- ## 2. {featureName}功能设计说明
43
-
44
- | | | | | |
45
- |---|---|---|---|---|
46
- |**流程编号**|F001|**流程名称**|{featureName}|
47
- |**业务功能编号**|BF001|**业务功能名称**|{featureName}|
48
- |**功能设计编号**|FD001|**系统功能名称**|{featureName}|
49
- |**前置条件**|[详细描述API调用的前置条件]|
50
- |**角色(岗位)**|[详细描述调用方角色及其权限]|
51
- |**入口渠道**|[描述API调用入口]|
52
- |**功能描述**|[详细的功能描述]|
53
- |**调用能力域/中心**|[如适用的其他系统接口]|
54
-
55
- ## 3. 数据建模
56
- ## 3.1 ER逻辑图设计
57
-
58
- [描述数据库表之间的关系和ER图设计]
59
- \`\`\`mermaid
60
- \`\`\`
61
-
62
- ## 4. 数据表实体设计
63
-
64
- [详细描述涉及的数据表实体结构,包括字段名、类型、约束条件等]
65
-
66
- ## 5. API接口设计
67
-
68
- ### 5.1 接口列表
69
- [列出所有相关的API接口]
70
-
71
- ### 5.2 接口详细说明
72
-
73
- #### 5.2.1 接口1 - [接口名称]
74
- #### 5.2.2 基本信息
75
- - **接口地址**: [URL路径]
76
- - **请求方法**: [只允许使用POST请求]
77
- - **协议**: [只允许使用HTTPS]
78
- - **内容类型**: [application/json等]
79
-
80
- #### 5.2.3 请求参数
81
- [详细说明请求参数]
82
-
83
- |参数名|类型|是否必填|位置|说明|
84
- |------|----|--------|----|----|
85
- |[参数1]|[string/int等]|[是/否]|[query/body/path]|[详细说明]|
86
- |[参数2]|[string/int等]|[是/否]|[query/body/path]|[详细说明]|
87
-
88
- #### 5.2.4 响应参数
89
- [详细说明响应参数]
90
-
91
- |参数名|类型|说明|
92
- |------|----|----|
93
- |[参数1]|[string/object等]|[详细说明]|
94
- |[参数2]|[string/object等]|[详细说明]|
95
-
96
- #### 5.2.5 错误码说明
97
- [详细说明该接口的错误码]
98
-
99
- |错误码|说明|
100
- |------|----|
101
- |[错误码1]|[详细说明]|
102
- |[错误码2]|[详细说明]|
103
-
104
- #### 5.2.6 详细实现逻辑
105
- [分步骤详细描述该接口的详细逻辑,如果存在sql语句,需要添加sql语句并在sql语句中添加注释说明]
106
-
107
- ## 6. 业务对象时序图
108
-
109
- #### 6.2.1 正向流程
110
- \`\`\`mermaid
111
- sequenceDiagram
112
- participant 客户端
113
- participant API网关
114
- participant 认证服务
115
- participant 权限服务
116
- participant 业务服务
117
- participant 日志服务
118
-
119
- 客户端->>API网关: 发送API请求
120
- API网关->>认证服务: 验证请求令牌
121
- alt 令牌有效
122
- 认证服务-->>API网关: 返回认证成功
123
- API网关->>权限服务: 检查访问权限
124
- 权限服务-->>API网关: 返回权限信息
125
- API网关->>业务服务: 转发请求
126
- 业务服务-->>API网关: 返回响应数据
127
- API网关->>客户端: 返回响应
128
- else 令牌无效
129
- 认证服务-->>API网关: 返回认证失败
130
- API网关->>日志服务: 记录认证失败
131
- API网关->>客户端: 返回401错误
132
- end
133
- \`\`\`
134
-
135
- ### 6.3 异常流程(逻辑中出现异常情况的下的处理)
136
-
137
- #### 6.3.1 xx异常处理流程
138
- \`\`\`mermaid
139
- sequenceDiagram
140
- participant 客户端
141
- participant API网关
142
- participant 限流服务
143
- participant 日志服务
144
-
145
- 客户端->>API网关: 发送API请求
146
- API网关->>限流服务: 检查请求频率
147
- 限流服务-->>API网关: 返回限流决定
148
- alt 请求频率正常
149
- API网关->>后续服务: 处理请求
150
- else 请求频率过高
151
- API网关->>日志服务: 记录限流事件
152
- API网关->>客户端: 返回429错误(请求过多)
153
- end
154
- \`\`\`
155
-
156
- #### 6.3.2 xx异常处理流程
157
- \`\`\`mermaid
158
- sequenceDiagram
159
- participant 客户端
160
- participant API网关
161
- participant 业务服务
162
- participant 数据验证器
163
- participant 日志服务
164
-
165
- 客户端->>API网关: 发送包含无效数据的请求
166
- API网关->>业务服务: 转发请求
167
- 业务服务->>数据验证器: 验证数据格式
168
- 数据验证器-->>业务服务: 返回验证失败
169
- 业务服务->>日志服务: 记录验证错误
170
- 业务服务-->>API网关: 返回400错误(请求数据无效)
171
- API网关->>客户端: 返回400错误及错误详情
172
- \`\`\`
173
-
174
- ### 6.4 边缘情况流程(并发、超时、数据边界等)
175
-
176
- #### 6.4.1 并发冲突处理
177
- \`\`\`mermaid
178
- sequenceDiagram
179
- participant 客户端
180
- participant API网关
181
- participant 数据库
182
- participant 日志服务
183
- participant 缓存服务
184
-
185
- alt 高并发场景
186
- 客户端->>API网关: 并发请求
187
- API网关->>数据库: 执行数据操作
188
- 数据库-->>API网关: 返回结果
189
- API网关->>缓存服务: 缓存响应数据
190
- API网关->>日志服务: 记录并发冲突
191
- else 非高并发场景
192
- API网关->>数据库: 执行数据操作
193
- 数据库-->>API网关: 返回结果
194
- API网关->>缓存服务: 缓存响应数据
195
- end
196
- API网关->>客户端: 返回响应
197
- \`\`\`
198
- #### 6.4.2 超时处理
199
- \`\`\`mermaid
200
- sequenceDiagram
201
- participant 客户端
202
- participant API网关
203
- participant 业务服务
204
- participant 日志服务
205
- participant 监控服务
206
- participant 备用服务
207
-
208
- 客户端->>API网关: 发送包含无效数据的请求
209
- API网关->>业务服务: 转发请求
210
- 业务服务->>日志服务: 记录超时事件
211
- 业务服务->>监控服务: 上报超时指标
212
- 业务服务-->>业务服务: 重试请求
213
- 业务服务-->>API网关: 返回408错误(请求超时)
214
- API网关->>备用服务: 转发请求
215
- 备用服务-->>API网关: 返回错误响应
216
- API网关->>日志服务: 日志记录备用服务响应
217
- API网关->>监控服务: 记录备用服务失败
218
- API网关->>客户端: 返回备用服务响应
219
- \`\`\`
220
-
221
- ## 7. 业务状态描述
222
-
223
- | | | |
224
- |---|---|---|
225
- |**状态编号**|**状态名称**|**描述**|
226
- |01|收到审核申请|当接收到审核申请时,系统会记录申请信息并返回审核中状态|
227
- |02|审批审核状态|当审批人对申请进行审批后,系统会更新审核状态并返回审批结果|
228
- |[添加更多状态...]||
229
-
230
- ## 8. 伪代码示例
231
-
232
- \`\`\`gherkin
233
- Scenario Outline: 用户通过API查询订单信息
234
- Given 用户已通过认证并拥有查询权限
235
- When 用户向/orders/<order_id>接口发送POST请求
236
- Then 系统应返回订单信息或 <error_message>
237
-
238
- Examples:
239
- | order_id | error_message |
240
- | 12345 | null (成功返回订单信息) |
241
- | 99999 | "订单不存在" |
242
-
243
- Scenario Outline: API认证与授权流程
244
- Given 客户端使用<auth_type>方式进行认证
245
- When 客户端访问<api_endpoint>接口时
246
- Then 系统应:
247
- 1. 验证认证凭证的有效性
248
- 2. 检查用户权限
249
- 3. 根据验证结果返回相应响应
250
-
251
- Examples:
252
- | auth_type | api_endpoint | 预期行为 |
253
- | Bearer Token | /orders | 验证令牌有效性,检查订单访问权限 |
254
- | API Key | /products | 验证API Key,检查产品访问权限 |
255
- | 无效令牌 | /orders | 返回401未授权错误 |
256
- | 无权限用户 | /admin | 返回403禁止访问错误 |
257
-
258
- Scenario Outline: API调用与数据处理流程
259
- Given 客户端向<api_endpoint>发送<http_method>请求
260
- When 请求包含<data_status>数据时
261
- Then 系统应:
262
- 1. 验证请求参数格式
263
- 2. 执行业务逻辑处理
264
- 3. 返回标准化响应格式
265
-
266
- Examples:
267
- | api_endpoint | http_method | data_status | 处理逻辑 |
268
- | /users | POST | 有效数据 | 创建新用户,返回用户ID和创建时间 |
269
- | /users | POST | 缺失必填项 | 返回400错误,详细说明缺失字段 |
270
- | /users/123 | PUT | 更新数据 | 更新用户信息,返回更新后的完整用户信息 |
271
- | /users/123 | DELETE | 存在资源 | 删除用户,返回204状态码 |
272
- | /users/999 | POST | 不存在资源 | 返回404错误,说明资源未找到 |
273
- | /users | POST | 大量数据 | 分页返回用户列表,包含总数和分页信息 |
274
-
275
- Scenario Outline: API限流与错误恢复处理
276
- Given 客户端在<time_window>内发送<request_count>个请求
277
- When 系统检测到<traffic_pattern>时
278
- Then 系统应:
279
- 1. 应用限流策略控制请求频率
280
- 2. 返回适当的限流响应码
281
- 3. 提供重试建议和时间窗口信息
282
-
283
- Examples:
284
- | time_window | request_count | traffic_pattern | 限流策略 |
285
- | 1分钟 | 60个请求 | 正常流量 | 允许请求通过,记录访问日志 |
286
- | 1分钟 | 120个请求 | 突发流量 | 返回429状态码,建议等待30秒后重试 |
287
- | 1分钟 | 1000个请求 | 恶意攻击 | 立即拒绝请求,记录IP并触发安全防护机制 |
288
- | 5分钟 | 50个请求 | 周期性请求 | 允许请求通过,优化缓存策略提升响应速度 |
289
- | 1小时 | 10000个请求 | 正常业务高峰 | 动态调整限流阈值,启用负载均衡策略 |
290
- \`\`\`
291
-
292
- ---
293
-
294
- **重要提醒**:
295
- 1. 请输出完整的Markdown文档,不要省略任何章节
296
- 2. 每个章节都要有实质性的内容,不能只是模板
297
- 3. 根据输入的原始内容进行具体分析,不要使用通用模板
298
- 4. 文档总长度应该在3000字以上
299
- 5. 表格中的内容要填写具体信息,不要保留占位符
300
- 6. 重点关注API接口设计、数据结构、交互逻辑等技术细节
301
-
302
- 现在请开始生成完整的API接口技术需求文档:`;