meeglesdk 0.1.8 → 0.2.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.
Files changed (61) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/README.md +164 -7
  3. package/RELEASE.md +48 -0
  4. package/dist/client.d.ts +9 -0
  5. package/dist/client.js +10 -0
  6. package/dist/core/base-service.d.ts +2 -0
  7. package/dist/core/base-service.js +12 -0
  8. package/dist/core/request/handler.js +3 -2
  9. package/dist/core/request/types.d.ts +2 -0
  10. package/dist/helpers/event.d.ts +1 -1
  11. package/dist/helpers/event.js +14 -0
  12. package/dist/index.d.ts +14 -10
  13. package/dist/index.js +3 -0
  14. package/dist/service/aifield/index.d.ts +26 -0
  15. package/dist/service/aifield/index.js +27 -0
  16. package/dist/service/config/resource.d.ts +3 -3
  17. package/dist/service/config/resource.js +5 -1
  18. package/dist/service/config/role.d.ts +2 -1
  19. package/dist/service/config/role.js +2 -1
  20. package/dist/service/measure/index.d.ts +8 -0
  21. package/dist/service/measure/index.js +10 -0
  22. package/dist/service/measure/query.d.ts +31 -1
  23. package/dist/service/measure/query.js +31 -16
  24. package/dist/service/view/query.d.ts +10 -1
  25. package/dist/service/view/query.js +15 -0
  26. package/dist/service/workitem/attachment.d.ts +12 -12
  27. package/dist/service/workitem/attachment.js +8 -8
  28. package/dist/service/workitem/comment.d.ts +11 -11
  29. package/dist/service/workitem/comment.js +7 -7
  30. package/dist/service/workitem/search.d.ts +3 -7
  31. package/dist/service/workitem/search.js +8 -8
  32. package/dist/service/workitem/wbsDraft/index.d.ts +191 -0
  33. package/dist/service/workitem/wbsDraft/index.js +264 -0
  34. package/dist/service/workitem/wbsDraft.d.ts +191 -0
  35. package/dist/service/workitem/wbsDraft.js +394 -0
  36. package/dist/service/workitem/wbsProjectKeyResolver.d.ts +34 -0
  37. package/dist/service/workitem/wbsProjectKeyResolver.js +133 -0
  38. package/dist/service/workitem/wbsView/index.d.ts +46 -0
  39. package/dist/service/workitem/wbsView/index.js +51 -0
  40. package/dist/service/workitem/wbsView.d.ts +48 -0
  41. package/dist/service/workitem/wbsView.js +86 -0
  42. package/dist/service/workitem/workItem.d.ts +30 -7
  43. package/dist/service/workitem/workItem.js +43 -10
  44. package/dist/service/workitem/workflow.d.ts +2 -2
  45. package/dist/service/workitem/workflow.js +1 -0
  46. package/dist/service/workitem/workhour.d.ts +3 -3
  47. package/dist/types/aifield.d.ts +12 -0
  48. package/dist/types/aifield.js +4 -0
  49. package/dist/types/ainode.d.ts +70 -40
  50. package/dist/types/ainode.js +0 -3
  51. package/dist/types/common.d.ts +7 -1
  52. package/dist/types/config.d.ts +85 -22
  53. package/dist/types/event.d.ts +176 -9
  54. package/dist/types/index.d.ts +2 -0
  55. package/dist/types/index.js +2 -0
  56. package/dist/types/measure.d.ts +7 -0
  57. package/dist/types/tenant.d.ts +17 -4
  58. package/dist/types/user.d.ts +5 -1
  59. package/dist/types/view.d.ts +6 -0
  60. package/dist/types/workitem.d.ts +1413 -159
  61. package/package.json +8 -4
@@ -0,0 +1,48 @@
1
+ /**
2
+ * WBS 发布态服务
3
+ *
4
+ * 计划表发布态接口和草稿态是两套能力边界,
5
+ * 单独拆出服务可以避免 draft/view 两类接口再次混用。
6
+ */
7
+ import { BaseService, type ServiceRequestOptions } from '../../core/base-service.js';
8
+ import type { QueryWbsViewStructureRequest, QueryWbsViewStructureResponse, QueryWbsViewRowDetailRequest, QueryWbsViewRowDetailResponse, QueryWbsInstanceExpandInfoRequest, QueryWbsInstanceExpandInfoResponse } from '../../types/workitem.js';
9
+ /** API 路径 */
10
+ export declare const API_PATHS: {
11
+ /** 查询全量计划表骨架 */
12
+ STRUCTURE: string;
13
+ /** 查询计划表行详情 */
14
+ DETAIL: string;
15
+ /** 查询计划表扩展信息 */
16
+ EXPAND: string;
17
+ };
18
+ /**
19
+ * WBS 发布态服务
20
+ */
21
+ export declare class WbsViewService extends BaseService {
22
+ private readonly projectKeyResolver;
23
+ constructor(requestHandler: ConstructorParameters<typeof BaseService>[0]);
24
+ /**
25
+ * 查询全量计划表骨架
26
+ *
27
+ * @param request 查询请求
28
+ * @param options 请求选项
29
+ * @returns 发布态计划表骨架
30
+ */
31
+ queryStructure(request: QueryWbsViewStructureRequest, options?: ServiceRequestOptions<QueryWbsViewStructureResponse>): Promise<QueryWbsViewStructureResponse>;
32
+ /**
33
+ * 查询计划表行详细信息
34
+ *
35
+ * @param request 查询请求
36
+ * @param options 请求选项
37
+ * @returns 发布态计划表行详情
38
+ */
39
+ queryRowDetails(request: QueryWbsViewRowDetailRequest, options?: ServiceRequestOptions<QueryWbsViewRowDetailResponse>): Promise<QueryWbsViewRowDetailResponse>;
40
+ /**
41
+ * 查询计划表扩展信息
42
+ *
43
+ * @param request 查询请求
44
+ * @param options 请求选项
45
+ * @returns 发布态计划表扩展信息
46
+ */
47
+ queryExpandInfo(request: QueryWbsInstanceExpandInfoRequest, options?: ServiceRequestOptions<QueryWbsInstanceExpandInfoResponse>): Promise<QueryWbsInstanceExpandInfoResponse>;
48
+ }
@@ -0,0 +1,86 @@
1
+ /**
2
+ * WBS 发布态服务
3
+ *
4
+ * 计划表发布态接口和草稿态是两套能力边界,
5
+ * 单独拆出服务可以避免 draft/view 两类接口再次混用。
6
+ */
7
+ import { BaseService } from '../../core/base-service.js';
8
+ import { WbsProjectKeyResolver } from './wbsProjectKeyResolver.js';
9
+ /** API 路径 */
10
+ export const API_PATHS = {
11
+ /** 查询全量计划表骨架 */
12
+ STRUCTURE: '/open_api/work_item/wbs_view/structure/query',
13
+ /** 查询计划表行详情 */
14
+ DETAIL: '/open_api/work_item/wbs_view/detail/query',
15
+ /** 查询计划表扩展信息 */
16
+ EXPAND: '/open_api/work_item/wbs_instance/expand/query',
17
+ };
18
+ /**
19
+ * WBS 发布态服务
20
+ */
21
+ export class WbsViewService extends BaseService {
22
+ projectKeyResolver;
23
+ constructor(requestHandler) {
24
+ super(requestHandler);
25
+ this.projectKeyResolver = new WbsProjectKeyResolver(requestHandler);
26
+ }
27
+ /**
28
+ * 查询全量计划表骨架
29
+ *
30
+ * @param request 查询请求
31
+ * @param options 请求选项
32
+ * @returns 发布态计划表骨架
33
+ */
34
+ async queryStructure(request, options) {
35
+ const projectKey = await this.projectKeyResolver.resolveProjectKey({
36
+ projectKey: request.project_key,
37
+ workItemId: request.work_item_id,
38
+ options,
39
+ });
40
+ const result = await this.post(API_PATHS.STRUCTURE, {
41
+ ...request,
42
+ project_key: projectKey,
43
+ }, options);
44
+ // 文档字段表与示例冲突,SDK 统一归一到 wbs_structure,避免调用方额外分支。
45
+ return {
46
+ wbs_structure: result.wbs_structure ?? result.wbs_draft_structure,
47
+ };
48
+ }
49
+ /**
50
+ * 查询计划表行详细信息
51
+ *
52
+ * @param request 查询请求
53
+ * @param options 请求选项
54
+ * @returns 发布态计划表行详情
55
+ */
56
+ async queryRowDetails(request, options) {
57
+ const projectKey = await this.projectKeyResolver.resolveProjectKey({
58
+ projectKey: request.project_key,
59
+ workItemId: request.work_item_id,
60
+ options,
61
+ });
62
+ return this.post(API_PATHS.DETAIL, {
63
+ ...request,
64
+ project_key: projectKey,
65
+ }, options);
66
+ }
67
+ /**
68
+ * 查询计划表扩展信息
69
+ *
70
+ * @param request 查询请求
71
+ * @param options 请求选项
72
+ * @returns 发布态计划表扩展信息
73
+ */
74
+ async queryExpandInfo(request, options) {
75
+ const projectKey = await this.projectKeyResolver.resolveProjectKey({
76
+ projectKey: request.project_key,
77
+ workItemId: request.work_item_id,
78
+ workItemTypeKey: request.work_item_type_key,
79
+ options,
80
+ });
81
+ return this.post(API_PATHS.EXPAND, {
82
+ ...request,
83
+ project_key: projectKey,
84
+ }, options);
85
+ }
86
+ }
@@ -11,12 +11,14 @@
11
11
  * - 附件管理 (attachment)
12
12
  * - 群聊管理 (chat)
13
13
  * - 工作流操作 (workflow)
14
+ * - 计划表草稿 (wbsDraft)
15
+ * - 计划表发布态 (wbsView)
14
16
  * - 工时登记 (workHour)
15
17
  * - 评审管理 (review)
16
18
  */
17
19
  import type { RequestHandler } from '../../core/request/index.js';
18
20
  import { BaseService, type ServiceRequestOptions } from '../../core/base-service.js';
19
- import type { WorkItem, QueryWorkItemRequest, CreateWorkItemRequest, UpdateWorkItemRequest, GetWorkItemMetaResponse, GetOperationRecordsRequest, GetOperationRecordsResponse, UpdateCompoundFieldRequest, WorkItemWithImages } from '../../types/workitem.js';
21
+ import type { WorkItem, QueryWorkItemRequest, CreateWorkItemRequest, UpdateWorkItemRequest, FreezeWorkItemRequest, GetWorkItemMetaResponse, GetOperationRecordsRequest, GetOperationRecordsResponse, GetFieldOptionsRequest, GetFieldOptionsResponse, UpdateCompoundFieldValueRequest, WorkItemWithImages } from '../../types/workitem.js';
20
22
  import { SearchService } from './search.js';
21
23
  import { BatchService } from './batch.js';
22
24
  import { CommentService } from './comment.js';
@@ -24,6 +26,8 @@ import { SubtaskService } from './subtask.js';
24
26
  import { AttachmentService } from './attachment.js';
25
27
  import { ChatService } from './chat.js';
26
28
  import { WorkflowService } from './workflow.js';
29
+ import { WbsDraftService } from './wbsDraft.js';
30
+ import { WbsViewService } from './wbsView.js';
27
31
  import { WorkHourService } from './workhour.js';
28
32
  import { ReviewService } from './review.js';
29
33
  /** API 路径 */
@@ -44,6 +48,8 @@ export declare const API_PATHS: {
44
48
  ABORT: string;
45
49
  /** 获取工作项操作记录 */
46
50
  OPERATION_RECORD: string;
51
+ /** 获取工作项指定字段可选选项 */
52
+ FIELD_OPTIONS: string;
47
53
  /** 按组更新复合字段值 */
48
54
  UPDATE_COMPOUND_FIELD: string;
49
55
  };
@@ -73,6 +79,8 @@ export interface QueryWorkItemOptions extends ServiceRequestOptions<WorkItem[]>
73
79
  * - attachment: 附件服务
74
80
  * - chat: 群聊服务
75
81
  * - workflow: 工作流服务
82
+ * - wbsDraft: 计划表草稿服务
83
+ * - wbsView: 计划表发布态服务
76
84
  */
77
85
  export declare class WorkItemService extends BaseService {
78
86
  /** 搜索服务 */
@@ -89,6 +97,10 @@ export declare class WorkItemService extends BaseService {
89
97
  readonly chat: ChatService;
90
98
  /** 工作流服务 */
91
99
  readonly workflow: WorkflowService;
100
+ /** 计划表草稿服务 */
101
+ readonly wbsDraft: WbsDraftService;
102
+ /** 计划表发布态服务 */
103
+ readonly wbsView: WbsViewService;
92
104
  /** 工时登记服务 */
93
105
  readonly workHour: WorkHourService;
94
106
  /** 评审服务 */
@@ -178,11 +190,10 @@ export declare class WorkItemService extends BaseService {
178
190
  /**
179
191
  * 冻结/解冻工作项
180
192
  *
181
- * @param workItemIds 工作项 ID 列表
182
- * @param freeze true: 冻结, false: 解冻
193
+ * @param request 冻结/解冻请求
183
194
  * @param options 请求选项
184
195
  */
185
- freeze(workItemIds: number[], freeze: boolean, options?: ServiceRequestOptions<void>): Promise<void>;
196
+ freeze(request: FreezeWorkItemRequest, options?: ServiceRequestOptions<void>): Promise<void>;
186
197
  /**
187
198
  * 终止工作项
188
199
  *
@@ -221,6 +232,18 @@ export declare class WorkItemService extends BaseService {
221
232
  * ```
222
233
  */
223
234
  getOperationRecords(request: GetOperationRecordsRequest, options?: ServiceRequestOptions<GetOperationRecordsResponse>): Promise<GetOperationRecordsResponse>;
235
+ /**
236
+ * 获取工作项指定字段可选选项
237
+ *
238
+ * @param request 请求参数
239
+ * @param request.project_key 空间 ID 或域名
240
+ * @param request.work_item_type_key 工作项类型 key
241
+ * @param request.work_item_id 工作项 ID
242
+ * @param request.field_key 字段 key
243
+ * @param options 请求选项
244
+ * @returns 可选选项列表
245
+ */
246
+ getFieldOptions(request: GetFieldOptionsRequest, options?: ServiceRequestOptions<GetFieldOptionsResponse>): Promise<GetFieldOptionsResponse>;
224
247
  /**
225
248
  * 按组更新复合字段值
226
249
  *
@@ -230,7 +253,7 @@ export declare class WorkItemService extends BaseService {
230
253
  * @example
231
254
  * ```typescript
232
255
  * // 添加一组复合字段数据
233
- * await client.workItem.updateCompoundField({
256
+ * await client.workItem.updateCompoundFieldValue({
234
257
  * project_key: 'my-project',
235
258
  * work_item_id: 123456,
236
259
  * field_key: 'field_xxx',
@@ -241,7 +264,7 @@ export declare class WorkItemService extends BaseService {
241
264
  * });
242
265
  *
243
266
  * // 删除一组复合字段数据
244
- * await client.workItem.updateCompoundField({
267
+ * await client.workItem.updateCompoundFieldValue({
245
268
  * project_key: 'my-project',
246
269
  * work_item_id: 123456,
247
270
  * field_key: 'field_xxx',
@@ -250,5 +273,5 @@ export declare class WorkItemService extends BaseService {
250
273
  * });
251
274
  * ```
252
275
  */
253
- updateCompoundField(request: UpdateCompoundFieldRequest, options?: ServiceRequestOptions<void>): Promise<void>;
276
+ updateCompoundFieldValue(request: UpdateCompoundFieldValueRequest, options?: ServiceRequestOptions<void>): Promise<void>;
254
277
  }
@@ -11,6 +11,8 @@
11
11
  * - 附件管理 (attachment)
12
12
  * - 群聊管理 (chat)
13
13
  * - 工作流操作 (workflow)
14
+ * - 计划表草稿 (wbsDraft)
15
+ * - 计划表发布态 (wbsView)
14
16
  * - 工时登记 (workHour)
15
17
  * - 评审管理 (review)
16
18
  */
@@ -23,6 +25,8 @@ import { SubtaskService } from './subtask.js';
23
25
  import { AttachmentService } from './attachment.js';
24
26
  import { ChatService } from './chat.js';
25
27
  import { WorkflowService } from './workflow.js';
28
+ import { WbsDraftService } from './wbsDraft.js';
29
+ import { WbsViewService } from './wbsView.js';
26
30
  import { WorkHourService } from './workhour.js';
27
31
  import { ReviewService } from './review.js';
28
32
  /** API 路径 */
@@ -43,6 +47,8 @@ export const API_PATHS = {
43
47
  ABORT: '/open_api/:project_key/work_item/:work_item_type_key/:work_item_id/abort',
44
48
  /** 获取工作项操作记录 */
45
49
  OPERATION_RECORD: '/open_api/op_record/work_item/list',
50
+ /** 获取工作项指定字段可选选项 */
51
+ FIELD_OPTIONS: '/open_api/work_item/field/options',
46
52
  /** 按组更新复合字段值 */
47
53
  UPDATE_COMPOUND_FIELD: '/open_api/work_item/field_value/update_compound_field',
48
54
  };
@@ -57,6 +63,8 @@ export const API_PATHS = {
57
63
  * - attachment: 附件服务
58
64
  * - chat: 群聊服务
59
65
  * - workflow: 工作流服务
66
+ * - wbsDraft: 计划表草稿服务
67
+ * - wbsView: 计划表发布态服务
60
68
  */
61
69
  export class WorkItemService extends BaseService {
62
70
  /** 搜索服务 */
@@ -73,6 +81,10 @@ export class WorkItemService extends BaseService {
73
81
  chat;
74
82
  /** 工作流服务 */
75
83
  workflow;
84
+ /** 计划表草稿服务 */
85
+ wbsDraft;
86
+ /** 计划表发布态服务 */
87
+ wbsView;
76
88
  /** 工时登记服务 */
77
89
  workHour;
78
90
  /** 评审服务 */
@@ -87,6 +99,8 @@ export class WorkItemService extends BaseService {
87
99
  this.attachment = new AttachmentService(requestHandler);
88
100
  this.chat = new ChatService(requestHandler);
89
101
  this.workflow = new WorkflowService(requestHandler);
102
+ this.wbsDraft = new WbsDraftService(requestHandler);
103
+ this.wbsView = new WbsViewService(requestHandler);
90
104
  this.workHour = new WorkHourService(requestHandler);
91
105
  this.review = new ReviewService(requestHandler);
92
106
  }
@@ -266,15 +280,11 @@ export class WorkItemService extends BaseService {
266
280
  /**
267
281
  * 冻结/解冻工作项
268
282
  *
269
- * @param workItemIds 工作项 ID 列表
270
- * @param freeze true: 冻结, false: 解冻
283
+ * @param request 冻结/解冻请求
271
284
  * @param options 请求选项
272
285
  */
273
- async freeze(workItemIds, freeze, options) {
274
- await this.put(API_PATHS.FREEZE, {
275
- work_item_ids: workItemIds,
276
- action: freeze ? 'freeze' : 'unfreeze',
277
- }, options);
286
+ async freeze(request, options) {
287
+ await this.put(API_PATHS.FREEZE, request, options);
278
288
  }
279
289
  /**
280
290
  * 终止工作项
@@ -336,6 +346,29 @@ export class WorkItemService extends BaseService {
336
346
  async getOperationRecords(request, options) {
337
347
  return this.post(API_PATHS.OPERATION_RECORD, request, options);
338
348
  }
349
+ /**
350
+ * 获取工作项指定字段可选选项
351
+ *
352
+ * @param request 请求参数
353
+ * @param request.project_key 空间 ID 或域名
354
+ * @param request.work_item_type_key 工作项类型 key
355
+ * @param request.work_item_id 工作项 ID
356
+ * @param request.field_key 字段 key
357
+ * @param options 请求选项
358
+ * @returns 可选选项列表
359
+ */
360
+ async getFieldOptions(request, options) {
361
+ const body = {
362
+ project_key: request.project_key,
363
+ work_item_type_key: request.work_item_type_key,
364
+ work_item_id: request.work_item_id,
365
+ field_key: request.field_key,
366
+ ...(request.first_option_key !== undefined
367
+ ? { first_option_key: request.first_option_key }
368
+ : {}),
369
+ };
370
+ return this.post(API_PATHS.FIELD_OPTIONS, body, options);
371
+ }
339
372
  /**
340
373
  * 按组更新复合字段值
341
374
  *
@@ -345,7 +378,7 @@ export class WorkItemService extends BaseService {
345
378
  * @example
346
379
  * ```typescript
347
380
  * // 添加一组复合字段数据
348
- * await client.workItem.updateCompoundField({
381
+ * await client.workItem.updateCompoundFieldValue({
349
382
  * project_key: 'my-project',
350
383
  * work_item_id: 123456,
351
384
  * field_key: 'field_xxx',
@@ -356,7 +389,7 @@ export class WorkItemService extends BaseService {
356
389
  * });
357
390
  *
358
391
  * // 删除一组复合字段数据
359
- * await client.workItem.updateCompoundField({
392
+ * await client.workItem.updateCompoundFieldValue({
360
393
  * project_key: 'my-project',
361
394
  * work_item_id: 123456,
362
395
  * field_key: 'field_xxx',
@@ -365,7 +398,7 @@ export class WorkItemService extends BaseService {
365
398
  * });
366
399
  * ```
367
400
  */
368
- async updateCompoundField(request, options) {
401
+ async updateCompoundFieldValue(request, options) {
369
402
  await this.post(API_PATHS.UPDATE_COMPOUND_FIELD, request, options);
370
403
  }
371
404
  }
@@ -10,7 +10,7 @@
10
10
  * - 获取工作流详情
11
11
  */
12
12
  import { BaseService, type ServiceRequestOptions } from '../../core/base-service.js';
13
- import type { StateChangeRequest, NodeOperateRequest, UpdateNodeRequest, TransitionRequiredInfoRequest, TransitionRequiredInfo, WorkflowInfo, WorkflowQueryRequest, WbsViewQueryParams, WbsViewRequest, WbsWorkItem } from '../../types/workitem.js';
13
+ import type { StateChangeRequest, NodeOperateRequest, UpdateNodeRequest, TransitionRequiredInfoRequest, TransitionRequiredInfo, WorkflowInfo, WorkflowQueryRequest, WbsViewQueryParams, WbsViewRequest, WbsViewResponse } from '../../types/workitem.js';
14
14
  /** API 路径 */
15
15
  export declare const API_PATHS: {
16
16
  /** 获取工作流详情 */
@@ -230,5 +230,5 @@ export declare class WorkflowService extends BaseService {
230
230
  query?: WbsViewQueryParams;
231
231
  /** 请求体(expand 等扩展参数) */
232
232
  body?: WbsViewRequest;
233
- }, options?: ServiceRequestOptions<WbsWorkItem>): Promise<WbsWorkItem>;
233
+ }, options?: ServiceRequestOptions<WbsViewResponse>): Promise<WbsViewResponse>;
234
234
  }
@@ -273,6 +273,7 @@ export class WorkflowService extends BaseService {
273
273
  const expandQuery = params?.body?.expand
274
274
  ? {
275
275
  need_union_deliverable: params.body.expand.need_union_deliverable,
276
+ need_schedule_table_agg: params.body.expand.need_schedule_table_agg,
276
277
  need_wbs_relation_chain_path: params.body.expand.need_wbs_relation_chain_path,
277
278
  need_wbs_relation_chain_entity: params.body.expand.need_wbs_relation_chain_entity,
278
279
  }
@@ -30,7 +30,7 @@ export declare class WorkHourService extends BaseService {
30
30
  * @param options 请求选项
31
31
  * @returns 新建工时记录列表
32
32
  */
33
- create(projectKey: string, workItemTypeKey: string, workItemId: number, request: CreateWorkHourRecordRequest, options?: ServiceRequestOptions<WorkHourRecord[]>): Promise<WorkHourRecord[]>;
33
+ create(projectKey: string, workItemTypeKey: string, workItemId: number | string, request: CreateWorkHourRecordRequest, options?: ServiceRequestOptions<WorkHourRecord[]>): Promise<WorkHourRecord[]>;
34
34
  /**
35
35
  * 更新工时登记记录
36
36
  *
@@ -40,7 +40,7 @@ export declare class WorkHourService extends BaseService {
40
40
  * @param request 更新请求
41
41
  * @param options 请求选项
42
42
  */
43
- update(projectKey: string, workItemTypeKey: string, workItemId: number, request: UpdateWorkHourRecordRequest, options?: ServiceRequestOptions<void>): Promise<void>;
43
+ update(projectKey: string, workItemTypeKey: string, workItemId: number | string, request: UpdateWorkHourRecordRequest, options?: ServiceRequestOptions<void>): Promise<void>;
44
44
  /**
45
45
  * 删除工时登记记录
46
46
  *
@@ -50,7 +50,7 @@ export declare class WorkHourService extends BaseService {
50
50
  * @param request 删除请求
51
51
  * @param options 请求选项
52
52
  */
53
- deleteRecords(projectKey: string, workItemTypeKey: string, workItemId: number, request: DeleteWorkHourRecordRequest, options?: ServiceRequestOptions<void>): Promise<void>;
53
+ deleteRecords(projectKey: string, workItemTypeKey: string, workItemId: number | string, request: DeleteWorkHourRecordRequest, options?: ServiceRequestOptions<void>): Promise<void>;
54
54
  /**
55
55
  * 获取工作项的工时登记记录列表
56
56
  *
@@ -0,0 +1,12 @@
1
+ /**
2
+ * AI 字段相关类型定义
3
+ */
4
+ /** AI 字段可回写的字段值 */
5
+ export type AIFieldValue = string | number | boolean | null | Record<string, unknown> | unknown[];
6
+ /** 更新 AI 字段请求 */
7
+ export interface AIFieldUpdateRequest {
8
+ /** AI 任务 ID */
9
+ ai_task_id: string;
10
+ /** 回写到 AI 字段的值 */
11
+ field_value: AIFieldValue;
12
+ }
@@ -0,0 +1,4 @@
1
+ /**
2
+ * AI 字段相关类型定义
3
+ */
4
+ export {};
@@ -1,11 +1,10 @@
1
1
  /**
2
- * AI Node types
3
2
  * AI 节点相关类型定义
4
3
  */
5
4
  /**
6
5
  * AI 节点运行状态
7
6
  */
8
- export type AINodeStatus = 'idle' | 'running' | 'done' | 'stopped' | 'error';
7
+ export type AINodeStatus = 'idle' | 'running' | 'done' | 'stopped';
9
8
  /**
10
9
  * AI 节点状态枚举
11
10
  */
@@ -18,9 +17,11 @@ export declare const AINodeRunningState: {
18
17
  readonly Done: "done";
19
18
  /** 停止状态 */
20
19
  readonly Stopped: "stopped";
21
- /** 错误状态 */
22
- readonly Error: "error";
23
20
  };
21
+ /** AI 节点流转状态 */
22
+ export type AINodeNodeState = 'REACHED' | 'UNREACH' | string;
23
+ /** AI 节点字段值 */
24
+ export type AINodeFieldValue = string | number | boolean | null | Record<string, unknown> | unknown[];
24
25
  /**
25
26
  * AI 节点字段
26
27
  */
@@ -29,8 +30,27 @@ export interface AINodeField {
29
30
  field_key: string;
30
31
  /** 字段类型 */
31
32
  field_type: string;
32
- /** 字段值 */
33
- value: string;
33
+ /** 字段名称 */
34
+ field_name?: string;
35
+ /** 查询接口字段值 */
36
+ value?: AINodeFieldValue;
37
+ /** 事件字段值 */
38
+ field_value?: AINodeFieldValue;
39
+ }
40
+ /** AI 节点自定义属性类型 */
41
+ export type AINodeCustomPropertyType = 'multiSelect' | 'select' | 'text' | 'number';
42
+ /**
43
+ * AI 节点自定义属性
44
+ */
45
+ export interface AINodeCustomProperty {
46
+ /** 查询接口属性类型 */
47
+ type?: AINodeCustomPropertyType | string;
48
+ /** 查询接口属性值 */
49
+ value?: string;
50
+ /** 事件属性类型 */
51
+ Type?: AINodeCustomPropertyType | string;
52
+ /** 事件属性值 */
53
+ Value?: string;
34
54
  }
35
55
  /**
36
56
  * AI 节点属性值
@@ -40,6 +60,8 @@ export interface AINodePropValue {
40
60
  field?: AINodeField[] | null;
41
61
  /** 节点字段列表 */
42
62
  node_field?: AINodeField[] | null;
63
+ /** 自定义属性 */
64
+ custom_property?: AINodeCustomProperty | null;
43
65
  }
44
66
  /**
45
67
  * AI 节点属性
@@ -48,7 +70,7 @@ export interface AINodeProp {
48
70
  /** 属性键(如 prop_key_1) */
49
71
  prop_key: string;
50
72
  /** AI 属性的类型列表 */
51
- prop_type: string[];
73
+ prop_type: string | string[];
52
74
  /** 属性值 */
53
75
  prop_value: AINodePropValue;
54
76
  }
@@ -79,7 +101,7 @@ export interface AINodeSubTask {
79
101
  /** 子任务 ID */
80
102
  task_id: number;
81
103
  /** 是否已完成 */
82
- is_finished: boolean;
104
+ is_finished: boolean | 0 | 1;
83
105
  }
84
106
  /**
85
107
  * 子工作项
@@ -88,37 +110,25 @@ export interface AINodeSubWorkItem {
88
110
  /** 关联 ID */
89
111
  relation_id: string;
90
112
  /** 关联的工作项 ID 列表 */
91
- workitem_ids: string[];
113
+ workitem_ids: Array<number | string>;
92
114
  /** 关联工作项类型 */
93
115
  work_item_type: string;
94
116
  }
95
117
  /**
96
- * 获取 AI 节点信息请求参数
118
+ * AI 节点定位参数
97
119
  */
98
- export interface AINodeQueryRequest {
99
- /** 空间 ID(project_key) */
100
- project_key: string;
101
- /** 工作项实例 ID */
102
- work_item_id: number;
120
+ export type AINodeLocator = {
103
121
  /**
104
122
  * 节点 ID(node_key / state_key)
105
123
  * 说明:node_uuid 和 state_key 必填一个
106
124
  */
107
- state_key?: string;
125
+ state_key: string;
108
126
  /**
109
127
  * 节点 uuid
110
128
  * 说明:node_uuid 和 state_key 必填一个
111
129
  */
112
130
  node_uuid?: string;
113
- }
114
- /**
115
- * 修改 AI 节点数据请求参数
116
- */
117
- export interface AINodeEditRequest {
118
- /** 空间 ID(project_key) */
119
- project_key?: string;
120
- /** 工作项实例 ID */
121
- work_item_id: number;
131
+ } | {
122
132
  /**
123
133
  * 节点 ID(node_key / state_key)
124
134
  * 说明:node_uuid 和 state_key 必填一个
@@ -128,7 +138,29 @@ export interface AINodeEditRequest {
128
138
  * 节点 uuid
129
139
  * 说明:node_uuid 和 state_key 必填一个
130
140
  */
131
- node_uuid?: string;
141
+ node_uuid: string;
142
+ };
143
+ /**
144
+ * 获取 AI 节点信息请求基础参数
145
+ */
146
+ export interface AINodeQueryRequestBase {
147
+ /** 空间 ID(project_key) */
148
+ project_key: string;
149
+ /** 工作项实例 ID */
150
+ work_item_id: number;
151
+ }
152
+ /**
153
+ * 获取 AI 节点信息请求参数
154
+ */
155
+ export type AINodeQueryRequest = AINodeQueryRequestBase & AINodeLocator;
156
+ /**
157
+ * 修改 AI 节点数据请求基础参数
158
+ */
159
+ export interface AINodeEditRequestBase {
160
+ /** 空间 ID(project_key) */
161
+ project_key?: string;
162
+ /** 工作项实例 ID */
163
+ work_item_id: number;
132
164
  /**
133
165
  * AI 运行状态
134
166
  * 目前仅支持从 running 流转到 done
@@ -139,6 +171,10 @@ export interface AINodeEditRequest {
139
171
  /** 节点表单,不传视为不更新 */
140
172
  conform_fields?: AINodeEditField[];
141
173
  }
174
+ /**
175
+ * 修改 AI 节点数据请求参数
176
+ */
177
+ export type AINodeEditRequest = AINodeEditRequestBase & AINodeLocator;
142
178
  /**
143
179
  * 修改 AI 节点字段
144
180
  */
@@ -148,33 +184,27 @@ export interface AINodeEditField {
148
184
  /** 字段键 */
149
185
  field_key?: string;
150
186
  /** 字段值 */
151
- value: string;
187
+ value: AINodeFieldValue;
152
188
  }
153
189
  /**
154
- * 完成 AI 节点请求参数
190
+ * 完成 AI 节点请求基础参数
155
191
  */
156
- export interface AINodeConfirmRequest {
192
+ export interface AINodeConfirmRequestBase {
157
193
  /** 空间 ID(project_key) */
158
194
  project_key: string;
159
195
  /** 工作项实例 ID */
160
196
  work_item_id: number;
161
- /**
162
- * 节点 ID(node_key / state_key)
163
- * 说明:node_uuid 和 state_key 必填一个
164
- */
165
- state_key?: string;
166
- /**
167
- * 节点 uuid
168
- * 说明:node_uuid 和 state_key 必填一个
169
- */
170
- node_uuid?: string;
171
197
  }
198
+ /**
199
+ * 完成 AI 节点请求参数
200
+ */
201
+ export type AINodeConfirmRequest = AINodeConfirmRequestBase & AINodeLocator;
172
202
  /**
173
203
  * 获取 AI 节点信息响应数据
174
204
  */
175
205
  export interface AINodeQueryResponse {
176
206
  /** 节点状态 */
177
- node_state: string;
207
+ node_state: AINodeNodeState;
178
208
  /** AI 信息 */
179
209
  ai_info: AINodeInfo;
180
210
  /** 节点字段(含系统字段) */
@@ -1,5 +1,4 @@
1
1
  /**
2
- * AI Node types
3
2
  * AI 节点相关类型定义
4
3
  */
5
4
  /**
@@ -14,6 +13,4 @@ export const AINodeRunningState = {
14
13
  Done: 'done',
15
14
  /** 停止状态 */
16
15
  Stopped: 'stopped',
17
- /** 错误状态 */
18
- Error: 'error',
19
16
  };