meeglesdk 0.1.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 (190) hide show
  1. package/README.md +191 -0
  2. package/dist/client.d.ts +186 -0
  3. package/dist/client.d.ts.map +1 -0
  4. package/dist/client.js +197 -0
  5. package/dist/client.js.map +1 -0
  6. package/dist/core/base-service.d.ts +156 -0
  7. package/dist/core/base-service.d.ts.map +1 -0
  8. package/dist/core/base-service.js +240 -0
  9. package/dist/core/base-service.js.map +1 -0
  10. package/dist/core/errors.d.ts +181 -0
  11. package/dist/core/errors.d.ts.map +1 -0
  12. package/dist/core/errors.js +250 -0
  13. package/dist/core/errors.js.map +1 -0
  14. package/dist/core/rate-limiter.d.ts +72 -0
  15. package/dist/core/rate-limiter.d.ts.map +1 -0
  16. package/dist/core/rate-limiter.js +269 -0
  17. package/dist/core/rate-limiter.js.map +1 -0
  18. package/dist/core/request.d.ts +270 -0
  19. package/dist/core/request.d.ts.map +1 -0
  20. package/dist/core/request.js +842 -0
  21. package/dist/core/request.js.map +1 -0
  22. package/dist/core/token-manager.d.ts +134 -0
  23. package/dist/core/token-manager.d.ts.map +1 -0
  24. package/dist/core/token-manager.js +412 -0
  25. package/dist/core/token-manager.js.map +1 -0
  26. package/dist/helpers/auth.d.ts +7 -0
  27. package/dist/helpers/auth.d.ts.map +1 -0
  28. package/dist/helpers/auth.js +19 -0
  29. package/dist/helpers/auth.js.map +1 -0
  30. package/dist/index.d.ts +72 -0
  31. package/dist/index.d.ts.map +1 -0
  32. package/dist/index.js +61 -0
  33. package/dist/index.js.map +1 -0
  34. package/dist/service/auth/index.d.ts +96 -0
  35. package/dist/service/auth/index.d.ts.map +1 -0
  36. package/dist/service/auth/index.js +163 -0
  37. package/dist/service/auth/index.js.map +1 -0
  38. package/dist/service/config/basic.d.ts +37 -0
  39. package/dist/service/config/basic.d.ts.map +1 -0
  40. package/dist/service/config/basic.js +54 -0
  41. package/dist/service/config/basic.js.map +1 -0
  42. package/dist/service/config/config.d.ts +27 -0
  43. package/dist/service/config/config.d.ts.map +1 -0
  44. package/dist/service/config/config.js +34 -0
  45. package/dist/service/config/config.js.map +1 -0
  46. package/dist/service/config/field.d.ts +50 -0
  47. package/dist/service/config/field.d.ts.map +1 -0
  48. package/dist/service/config/field.js +74 -0
  49. package/dist/service/config/field.js.map +1 -0
  50. package/dist/service/config/relation.d.ts +53 -0
  51. package/dist/service/config/relation.d.ts.map +1 -0
  52. package/dist/service/config/relation.js +66 -0
  53. package/dist/service/config/relation.js.map +1 -0
  54. package/dist/service/config/resource.d.ts +59 -0
  55. package/dist/service/config/resource.d.ts.map +1 -0
  56. package/dist/service/config/resource.js +75 -0
  57. package/dist/service/config/resource.js.map +1 -0
  58. package/dist/service/config/role.d.ts +55 -0
  59. package/dist/service/config/role.d.ts.map +1 -0
  60. package/dist/service/config/role.js +90 -0
  61. package/dist/service/config/role.js.map +1 -0
  62. package/dist/service/config/template.d.ts +65 -0
  63. package/dist/service/config/template.d.ts.map +1 -0
  64. package/dist/service/config/template.js +95 -0
  65. package/dist/service/config/template.js.map +1 -0
  66. package/dist/service/measure/index.d.ts +26 -0
  67. package/dist/service/measure/index.d.ts.map +1 -0
  68. package/dist/service/measure/index.js +36 -0
  69. package/dist/service/measure/index.js.map +1 -0
  70. package/dist/service/measure/query.d.ts +56 -0
  71. package/dist/service/measure/query.d.ts.map +1 -0
  72. package/dist/service/measure/query.js +86 -0
  73. package/dist/service/measure/query.js.map +1 -0
  74. package/dist/service/space/relation.d.ts +63 -0
  75. package/dist/service/space/relation.d.ts.map +1 -0
  76. package/dist/service/space/relation.js +102 -0
  77. package/dist/service/space/relation.js.map +1 -0
  78. package/dist/service/space/space.d.ts +81 -0
  79. package/dist/service/space/space.d.ts.map +1 -0
  80. package/dist/service/space/space.js +110 -0
  81. package/dist/service/space/space.js.map +1 -0
  82. package/dist/service/tenant/tenant.d.ts +52 -0
  83. package/dist/service/tenant/tenant.d.ts.map +1 -0
  84. package/dist/service/tenant/tenant.js +75 -0
  85. package/dist/service/tenant/tenant.js.map +1 -0
  86. package/dist/service/user/group.d.ts +47 -0
  87. package/dist/service/user/group.d.ts.map +1 -0
  88. package/dist/service/user/group.js +70 -0
  89. package/dist/service/user/group.js.map +1 -0
  90. package/dist/service/user/query.d.ts +25 -0
  91. package/dist/service/user/query.d.ts.map +1 -0
  92. package/dist/service/user/query.js +26 -0
  93. package/dist/service/user/query.js.map +1 -0
  94. package/dist/service/user/search.d.ts +25 -0
  95. package/dist/service/user/search.d.ts.map +1 -0
  96. package/dist/service/user/search.js +26 -0
  97. package/dist/service/user/search.js.map +1 -0
  98. package/dist/service/user/user.d.ts +37 -0
  99. package/dist/service/user/user.d.ts.map +1 -0
  100. package/dist/service/user/user.js +46 -0
  101. package/dist/service/user/user.js.map +1 -0
  102. package/dist/service/view/query.d.ts +52 -0
  103. package/dist/service/view/query.d.ts.map +1 -0
  104. package/dist/service/view/query.js +76 -0
  105. package/dist/service/view/query.js.map +1 -0
  106. package/dist/service/view/view.d.ts +76 -0
  107. package/dist/service/view/view.d.ts.map +1 -0
  108. package/dist/service/view/view.js +108 -0
  109. package/dist/service/view/view.js.map +1 -0
  110. package/dist/service/workitem/attachment.d.ts +143 -0
  111. package/dist/service/workitem/attachment.d.ts.map +1 -0
  112. package/dist/service/workitem/attachment.js +231 -0
  113. package/dist/service/workitem/attachment.js.map +1 -0
  114. package/dist/service/workitem/batch.d.ts +135 -0
  115. package/dist/service/workitem/batch.d.ts.map +1 -0
  116. package/dist/service/workitem/batch.js +146 -0
  117. package/dist/service/workitem/batch.js.map +1 -0
  118. package/dist/service/workitem/chat.d.ts +42 -0
  119. package/dist/service/workitem/chat.d.ts.map +1 -0
  120. package/dist/service/workitem/chat.js +50 -0
  121. package/dist/service/workitem/chat.js.map +1 -0
  122. package/dist/service/workitem/comment.d.ts +139 -0
  123. package/dist/service/workitem/comment.d.ts.map +1 -0
  124. package/dist/service/workitem/comment.js +180 -0
  125. package/dist/service/workitem/comment.js.map +1 -0
  126. package/dist/service/workitem/review.d.ts +44 -0
  127. package/dist/service/workitem/review.d.ts.map +1 -0
  128. package/dist/service/workitem/review.js +49 -0
  129. package/dist/service/workitem/review.js.map +1 -0
  130. package/dist/service/workitem/search.d.ts +213 -0
  131. package/dist/service/workitem/search.d.ts.map +1 -0
  132. package/dist/service/workitem/search.js +242 -0
  133. package/dist/service/workitem/search.js.map +1 -0
  134. package/dist/service/workitem/subtask.d.ts +193 -0
  135. package/dist/service/workitem/subtask.d.ts.map +1 -0
  136. package/dist/service/workitem/subtask.js +247 -0
  137. package/dist/service/workitem/subtask.js.map +1 -0
  138. package/dist/service/workitem/workItem.d.ts +225 -0
  139. package/dist/service/workitem/workItem.d.ts.map +1 -0
  140. package/dist/service/workitem/workItem.js +310 -0
  141. package/dist/service/workitem/workItem.js.map +1 -0
  142. package/dist/service/workitem/workflow.d.ts +214 -0
  143. package/dist/service/workitem/workflow.d.ts.map +1 -0
  144. package/dist/service/workitem/workflow.js +281 -0
  145. package/dist/service/workitem/workflow.js.map +1 -0
  146. package/dist/service/workitem/workhour.d.ts +63 -0
  147. package/dist/service/workitem/workhour.d.ts.map +1 -0
  148. package/dist/service/workitem/workhour.js +93 -0
  149. package/dist/service/workitem/workhour.js.map +1 -0
  150. package/dist/types/auth.d.ts +115 -0
  151. package/dist/types/auth.d.ts.map +1 -0
  152. package/dist/types/auth.js +6 -0
  153. package/dist/types/auth.js.map +1 -0
  154. package/dist/types/common.d.ts +354 -0
  155. package/dist/types/common.d.ts.map +1 -0
  156. package/dist/types/common.js +14 -0
  157. package/dist/types/common.js.map +1 -0
  158. package/dist/types/config.d.ts +305 -0
  159. package/dist/types/config.d.ts.map +1 -0
  160. package/dist/types/config.js +6 -0
  161. package/dist/types/config.js.map +1 -0
  162. package/dist/types/index.d.ts +13 -0
  163. package/dist/types/index.d.ts.map +1 -0
  164. package/dist/types/index.js +13 -0
  165. package/dist/types/index.js.map +1 -0
  166. package/dist/types/measure.d.ts +55 -0
  167. package/dist/types/measure.d.ts.map +1 -0
  168. package/dist/types/measure.js +6 -0
  169. package/dist/types/measure.js.map +1 -0
  170. package/dist/types/space.d.ts +164 -0
  171. package/dist/types/space.d.ts.map +1 -0
  172. package/dist/types/space.js +6 -0
  173. package/dist/types/space.js.map +1 -0
  174. package/dist/types/tenant.d.ts +106 -0
  175. package/dist/types/tenant.d.ts.map +1 -0
  176. package/dist/types/tenant.js +6 -0
  177. package/dist/types/tenant.js.map +1 -0
  178. package/dist/types/user.d.ts +110 -0
  179. package/dist/types/user.d.ts.map +1 -0
  180. package/dist/types/user.js +6 -0
  181. package/dist/types/user.js.map +1 -0
  182. package/dist/types/view.d.ts +162 -0
  183. package/dist/types/view.d.ts.map +1 -0
  184. package/dist/types/view.js +6 -0
  185. package/dist/types/view.js.map +1 -0
  186. package/dist/types/workitem.d.ts +1523 -0
  187. package/dist/types/workitem.d.ts.map +1 -0
  188. package/dist/types/workitem.js +6 -0
  189. package/dist/types/workitem.js.map +1 -0
  190. package/package.json +43 -0
@@ -0,0 +1,135 @@
1
+ /**
2
+ * 批量操作服务
3
+ * 100% 参考 Meego API 文档
4
+ *
5
+ * 提供工作项的批量操作能力:
6
+ * - 批量更新工作项字段值
7
+ * - 获取批量更新处理进度
8
+ * - 交付物信息批量查询
9
+ *
10
+ * 注意:评审意见/结论批量查询已移至 ReviewService.batchQuery()
11
+ */
12
+ import { BaseService, type ServiceRequestOptions } from '../../core/base-service.js';
13
+ import type { BatchUpdateRequest, BatchUpdateResponse, BatchTaskResult, DeliverableBatchQueryRequest, WorkItemDeliverable } from '../../types/workitem.js';
14
+ /** API 路径 */
15
+ export declare const API_PATHS: {
16
+ /** 批量更新工作项字段值 */
17
+ BATCH_UPDATE: string;
18
+ /** 获取批量更新处理进度 */
19
+ TASK_RESULT: string;
20
+ /** 交付物信息批量查询(WBS) */
21
+ DELIVERABLE_BATCH_QUERY: string;
22
+ };
23
+ /**
24
+ * 批量操作服务
25
+ *
26
+ * 提供工作项的批量操作能力
27
+ */
28
+ export declare class BatchService extends BaseService {
29
+ /**
30
+ * 批量更新工作项字段值
31
+ *
32
+ * 批量修改工作项的单个字段值,最多支持 50 个工作项同时更新
33
+ *
34
+ * @param request 批量更新请求
35
+ * @param options 请求选项
36
+ * @returns 任务 ID,用于查询处理进度
37
+ *
38
+ * @example
39
+ * ```typescript
40
+ * // UPDATE 模式:直接修改字段值
41
+ * const result = await client.workItem.batch.batchUpdate({
42
+ * project_key: 'my-project',
43
+ * work_item_ids: [123, 456, 789],
44
+ * work_item_type_key: 'story',
45
+ * update_mode: 'UPDATE',
46
+ * field_key: 'priority',
47
+ * after_field_value: 'P0',
48
+ * });
49
+ * console.log('任务ID:', result.task_id);
50
+ *
51
+ * // APPEND 模式:追加到多选字段
52
+ * const result = await client.workItem.batch.batchUpdate({
53
+ * project_key: 'my-project',
54
+ * work_item_ids: [123, 456],
55
+ * work_item_type_key: 'story',
56
+ * update_mode: 'APPEND',
57
+ * field_key: 'tags',
58
+ * after_field_value: ['新标签'],
59
+ * });
60
+ *
61
+ * // REPLACE 模式:替换多选字段中的特定值
62
+ * const result = await client.workItem.batch.batchUpdate({
63
+ * project_key: 'my-project',
64
+ * work_item_ids: [123, 456],
65
+ * work_item_type_key: 'story',
66
+ * update_mode: 'REPLACE',
67
+ * field_key: 'tags',
68
+ * before_field_value: '旧标签',
69
+ * after_field_value: '新标签',
70
+ * });
71
+ * ```
72
+ */
73
+ batchUpdate(request: BatchUpdateRequest, options?: ServiceRequestOptions<BatchUpdateResponse>): Promise<BatchUpdateResponse>;
74
+ /**
75
+ * 获取批量更新处理进度
76
+ *
77
+ * 查询批量更新任务的执行状态和结果
78
+ *
79
+ * @param taskId 任务 ID(由 batchUpdate 返回)
80
+ * @param options 请求选项
81
+ * @returns 任务执行状态和结果
82
+ *
83
+ * @example
84
+ * ```typescript
85
+ * // 发起批量更新
86
+ * const updateResult = await client.workItem.batch.batchUpdate({
87
+ * project_key: 'my-project',
88
+ * work_item_ids: [123, 456, 789],
89
+ * work_item_type_key: 'story',
90
+ * update_mode: 'UPDATE',
91
+ * field_key: 'priority',
92
+ * after_field_value: 'P0',
93
+ * });
94
+ *
95
+ * // 查询任务进度
96
+ * const taskResult = await client.workItem.batch.getTaskResult(updateResult.task_id);
97
+ * console.log('任务状态:', taskResult.task_status);
98
+ * console.log('成功数:', taskResult.success_total);
99
+ * console.log('失败数:', taskResult.error_total);
100
+ *
101
+ * // 轮询等待任务完成
102
+ * while (taskResult.task_status === 'RUNNING') {
103
+ * await new Promise(resolve => setTimeout(resolve, 1000));
104
+ * taskResult = await client.workItem.batch.getTaskResult(updateResult.task_id);
105
+ * }
106
+ * ```
107
+ */
108
+ getTaskResult(taskId: string, options?: ServiceRequestOptions<BatchTaskResult>): Promise<BatchTaskResult>;
109
+ /**
110
+ * 交付物信息批量查询
111
+ *
112
+ * 批量查询工作项的交付物(WBS)信息,最多支持 10 个工作项
113
+ *
114
+ * @param request 批量查询请求
115
+ * @param options 请求选项
116
+ * @returns 工作项交付物信息列表
117
+ *
118
+ * @example
119
+ * ```typescript
120
+ * // 查询多个工作项的交付物
121
+ * const result = await client.workItem.batch.queryDeliverables({
122
+ * project_key: 'my-project',
123
+ * work_item_ids: [123, 456],
124
+ * });
125
+ *
126
+ * for (const item of result) {
127
+ * console.log('交付物 UUID:', item.deliverable_uuid);
128
+ * console.log('交付物类型:', item.deliverable_type);
129
+ * console.log('交付物名称:', item.deliverable_info.name);
130
+ * }
131
+ * ```
132
+ */
133
+ queryDeliverables(request: DeliverableBatchQueryRequest, options?: ServiceRequestOptions<WorkItemDeliverable[]>): Promise<WorkItemDeliverable[]>;
134
+ }
135
+ //# sourceMappingURL=batch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch.d.ts","sourceRoot":"","sources":["../../../src/service/workitem/batch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,WAAW,EAAE,KAAK,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACrF,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,4BAA4B,EAC5B,mBAAmB,EACpB,MAAM,yBAAyB,CAAC;AAEjC,aAAa;AACb,eAAO,MAAM,SAAS;IACpB,iBAAiB;;IAEjB,iBAAiB;;IAEjB,qBAAqB;;CAEtB,CAAC;AAEF;;;;GAIG;AACH,qBAAa,YAAa,SAAQ,WAAW;IAC3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2CG;IACG,WAAW,CACf,OAAO,EAAE,kBAAkB,EAC3B,OAAO,CAAC,EAAE,qBAAqB,CAAC,mBAAmB,CAAC,GACnD,OAAO,CAAC,mBAAmB,CAAC;IAI/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACG,aAAa,CACjB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,qBAAqB,CAAC,eAAe,CAAC,GAC/C,OAAO,CAAC,eAAe,CAAC;IAU3B;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACG,iBAAiB,CACrB,OAAO,EAAE,4BAA4B,EACrC,OAAO,CAAC,EAAE,qBAAqB,CAAC,mBAAmB,EAAE,CAAC,GACrD,OAAO,CAAC,mBAAmB,EAAE,CAAC;CAGlC"}
@@ -0,0 +1,146 @@
1
+ /**
2
+ * 批量操作服务
3
+ * 100% 参考 Meego API 文档
4
+ *
5
+ * 提供工作项的批量操作能力:
6
+ * - 批量更新工作项字段值
7
+ * - 获取批量更新处理进度
8
+ * - 交付物信息批量查询
9
+ *
10
+ * 注意:评审意见/结论批量查询已移至 ReviewService.batchQuery()
11
+ */
12
+ import { BaseService } from '../../core/base-service.js';
13
+ /** API 路径 */
14
+ export const API_PATHS = {
15
+ /** 批量更新工作项字段值 */
16
+ BATCH_UPDATE: '/open_api/work_item/batch_update',
17
+ /** 获取批量更新处理进度 */
18
+ TASK_RESULT: '/open_api/task_result',
19
+ /** 交付物信息批量查询(WBS) */
20
+ DELIVERABLE_BATCH_QUERY: '/open_api/work_item/deliverable/batch_query',
21
+ };
22
+ /**
23
+ * 批量操作服务
24
+ *
25
+ * 提供工作项的批量操作能力
26
+ */
27
+ export class BatchService extends BaseService {
28
+ /**
29
+ * 批量更新工作项字段值
30
+ *
31
+ * 批量修改工作项的单个字段值,最多支持 50 个工作项同时更新
32
+ *
33
+ * @param request 批量更新请求
34
+ * @param options 请求选项
35
+ * @returns 任务 ID,用于查询处理进度
36
+ *
37
+ * @example
38
+ * ```typescript
39
+ * // UPDATE 模式:直接修改字段值
40
+ * const result = await client.workItem.batch.batchUpdate({
41
+ * project_key: 'my-project',
42
+ * work_item_ids: [123, 456, 789],
43
+ * work_item_type_key: 'story',
44
+ * update_mode: 'UPDATE',
45
+ * field_key: 'priority',
46
+ * after_field_value: 'P0',
47
+ * });
48
+ * console.log('任务ID:', result.task_id);
49
+ *
50
+ * // APPEND 模式:追加到多选字段
51
+ * const result = await client.workItem.batch.batchUpdate({
52
+ * project_key: 'my-project',
53
+ * work_item_ids: [123, 456],
54
+ * work_item_type_key: 'story',
55
+ * update_mode: 'APPEND',
56
+ * field_key: 'tags',
57
+ * after_field_value: ['新标签'],
58
+ * });
59
+ *
60
+ * // REPLACE 模式:替换多选字段中的特定值
61
+ * const result = await client.workItem.batch.batchUpdate({
62
+ * project_key: 'my-project',
63
+ * work_item_ids: [123, 456],
64
+ * work_item_type_key: 'story',
65
+ * update_mode: 'REPLACE',
66
+ * field_key: 'tags',
67
+ * before_field_value: '旧标签',
68
+ * after_field_value: '新标签',
69
+ * });
70
+ * ```
71
+ */
72
+ async batchUpdate(request, options) {
73
+ return this.post(API_PATHS.BATCH_UPDATE, request, options);
74
+ }
75
+ /**
76
+ * 获取批量更新处理进度
77
+ *
78
+ * 查询批量更新任务的执行状态和结果
79
+ *
80
+ * @param taskId 任务 ID(由 batchUpdate 返回)
81
+ * @param options 请求选项
82
+ * @returns 任务执行状态和结果
83
+ *
84
+ * @example
85
+ * ```typescript
86
+ * // 发起批量更新
87
+ * const updateResult = await client.workItem.batch.batchUpdate({
88
+ * project_key: 'my-project',
89
+ * work_item_ids: [123, 456, 789],
90
+ * work_item_type_key: 'story',
91
+ * update_mode: 'UPDATE',
92
+ * field_key: 'priority',
93
+ * after_field_value: 'P0',
94
+ * });
95
+ *
96
+ * // 查询任务进度
97
+ * const taskResult = await client.workItem.batch.getTaskResult(updateResult.task_id);
98
+ * console.log('任务状态:', taskResult.task_status);
99
+ * console.log('成功数:', taskResult.success_total);
100
+ * console.log('失败数:', taskResult.error_total);
101
+ *
102
+ * // 轮询等待任务完成
103
+ * while (taskResult.task_status === 'RUNNING') {
104
+ * await new Promise(resolve => setTimeout(resolve, 1000));
105
+ * taskResult = await client.workItem.batch.getTaskResult(updateResult.task_id);
106
+ * }
107
+ * ```
108
+ */
109
+ async getTaskResult(taskId, options) {
110
+ return this.get(API_PATHS.TASK_RESULT, {
111
+ ...options,
112
+ query: {
113
+ task_id: taskId,
114
+ ...options?.query,
115
+ },
116
+ });
117
+ }
118
+ /**
119
+ * 交付物信息批量查询
120
+ *
121
+ * 批量查询工作项的交付物(WBS)信息,最多支持 10 个工作项
122
+ *
123
+ * @param request 批量查询请求
124
+ * @param options 请求选项
125
+ * @returns 工作项交付物信息列表
126
+ *
127
+ * @example
128
+ * ```typescript
129
+ * // 查询多个工作项的交付物
130
+ * const result = await client.workItem.batch.queryDeliverables({
131
+ * project_key: 'my-project',
132
+ * work_item_ids: [123, 456],
133
+ * });
134
+ *
135
+ * for (const item of result) {
136
+ * console.log('交付物 UUID:', item.deliverable_uuid);
137
+ * console.log('交付物类型:', item.deliverable_type);
138
+ * console.log('交付物名称:', item.deliverable_info.name);
139
+ * }
140
+ * ```
141
+ */
142
+ async queryDeliverables(request, options) {
143
+ return this.post(API_PATHS.DELIVERABLE_BATCH_QUERY, request, options);
144
+ }
145
+ }
146
+ //# sourceMappingURL=batch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch.js","sourceRoot":"","sources":["../../../src/service/workitem/batch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,WAAW,EAA8B,MAAM,4BAA4B,CAAC;AASrF,aAAa;AACb,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,iBAAiB;IACjB,YAAY,EAAE,kCAAkC;IAChD,iBAAiB;IACjB,WAAW,EAAE,uBAAuB;IACpC,qBAAqB;IACrB,uBAAuB,EAAE,6CAA6C;CACvE,CAAC;AAEF;;;;GAIG;AACH,MAAM,OAAO,YAAa,SAAQ,WAAW;IAC3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2CG;IACH,KAAK,CAAC,WAAW,CACf,OAA2B,EAC3B,OAAoD;QAEpD,OAAO,IAAI,CAAC,IAAI,CAAsB,SAAS,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAClF,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,KAAK,CAAC,aAAa,CACjB,MAAc,EACd,OAAgD;QAEhD,OAAO,IAAI,CAAC,GAAG,CAAkB,SAAS,CAAC,WAAW,EAAE;YACtD,GAAG,OAAO;YACV,KAAK,EAAE;gBACL,OAAO,EAAE,MAAM;gBACf,GAAG,OAAO,EAAE,KAAK;aAClB;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,KAAK,CAAC,iBAAiB,CACrB,OAAqC,EACrC,OAAsD;QAEtD,OAAO,IAAI,CAAC,IAAI,CAAwB,SAAS,CAAC,uBAAuB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/F,CAAC;CACF"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * 群聊服务
3
+ * 100% 参考 Meego API 文档
4
+ *
5
+ * 提供工作项关联群的机器人管理能力
6
+ */
7
+ import { BaseService, type ServiceRequestOptions } from '../../core/base-service.js';
8
+ import type { BotJoinChatRequest, BotJoinChatResponse } from '../../types/workitem.js';
9
+ /** API 路径 */
10
+ export declare const API_PATHS: {
11
+ /** 拉机器人入群 */
12
+ BOT_JOIN_CHAT: string;
13
+ };
14
+ /**
15
+ * 群聊服务
16
+ *
17
+ * 提供工作项关联群的机器人管理功能
18
+ */
19
+ export declare class ChatService extends BaseService {
20
+ /**
21
+ * 拉机器人入群
22
+ *
23
+ * 将指定飞书机器人拉入工作项关联群
24
+ *
25
+ * @param projectKey 空间 ID 或域名
26
+ * @param workItemId 工作项 ID
27
+ * @param request 拉机器人入群请求
28
+ * @param options 请求选项
29
+ * @returns 机器人入群结果
30
+ *
31
+ * @example
32
+ * ```typescript
33
+ * const result = await client.workItem.chat.botJoinChat('my-project', 123456, {
34
+ * work_item_type_key: 'story',
35
+ * app_ids: ['cli_xxx'],
36
+ * });
37
+ * console.log(result.chat_id);
38
+ * ```
39
+ */
40
+ botJoinChat(projectKey: string, workItemId: number, request: BotJoinChatRequest, options?: ServiceRequestOptions<BotJoinChatResponse>): Promise<BotJoinChatResponse>;
41
+ }
42
+ //# sourceMappingURL=chat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../../src/service/workitem/chat.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,KAAK,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACrF,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEvF,aAAa;AACb,eAAO,MAAM,SAAS;IACpB,aAAa;;CAEd,CAAC;AAEF;;;;GAIG;AACH,qBAAa,WAAY,SAAQ,WAAW;IAC1C;;;;;;;;;;;;;;;;;;;OAmBG;IACG,WAAW,CACf,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,kBAAkB,EAC3B,OAAO,CAAC,EAAE,qBAAqB,CAAC,mBAAmB,CAAC,GACnD,OAAO,CAAC,mBAAmB,CAAC;CAUhC"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * 群聊服务
3
+ * 100% 参考 Meego API 文档
4
+ *
5
+ * 提供工作项关联群的机器人管理能力
6
+ */
7
+ import { BaseService } from '../../core/base-service.js';
8
+ /** API 路径 */
9
+ export const API_PATHS = {
10
+ /** 拉机器人入群 */
11
+ BOT_JOIN_CHAT: '/open_api/:project_key/work_item/:work_item_id/bot_join_chat',
12
+ };
13
+ /**
14
+ * 群聊服务
15
+ *
16
+ * 提供工作项关联群的机器人管理功能
17
+ */
18
+ export class ChatService extends BaseService {
19
+ /**
20
+ * 拉机器人入群
21
+ *
22
+ * 将指定飞书机器人拉入工作项关联群
23
+ *
24
+ * @param projectKey 空间 ID 或域名
25
+ * @param workItemId 工作项 ID
26
+ * @param request 拉机器人入群请求
27
+ * @param options 请求选项
28
+ * @returns 机器人入群结果
29
+ *
30
+ * @example
31
+ * ```typescript
32
+ * const result = await client.workItem.chat.botJoinChat('my-project', 123456, {
33
+ * work_item_type_key: 'story',
34
+ * app_ids: ['cli_xxx'],
35
+ * });
36
+ * console.log(result.chat_id);
37
+ * ```
38
+ */
39
+ async botJoinChat(projectKey, workItemId, request, options) {
40
+ return this.post(API_PATHS.BOT_JOIN_CHAT, request, {
41
+ ...options,
42
+ pathParams: {
43
+ project_key: projectKey,
44
+ work_item_id: String(workItemId),
45
+ ...options?.pathParams,
46
+ },
47
+ });
48
+ }
49
+ }
50
+ //# sourceMappingURL=chat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../../src/service/workitem/chat.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAA8B,MAAM,4BAA4B,CAAC;AAGrF,aAAa;AACb,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,aAAa;IACb,aAAa,EAAE,8DAA8D;CAC9E,CAAC;AAEF;;;;GAIG;AACH,MAAM,OAAO,WAAY,SAAQ,WAAW;IAC1C;;;;;;;;;;;;;;;;;;;OAmBG;IACH,KAAK,CAAC,WAAW,CACf,UAAkB,EAClB,UAAkB,EAClB,OAA2B,EAC3B,OAAoD;QAEpD,OAAO,IAAI,CAAC,IAAI,CAAsB,SAAS,CAAC,aAAa,EAAE,OAAO,EAAE;YACtE,GAAG,OAAO;YACV,UAAU,EAAE;gBACV,WAAW,EAAE,UAAU;gBACvB,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC;gBAChC,GAAG,OAAO,EAAE,UAAU;aACvB;SACF,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,139 @@
1
+ /**
2
+ * 评论服务
3
+ * 100% 参考 Meego API 文档
4
+ *
5
+ * 提供工作项评论的创建、查询、更新、删除功能
6
+ */
7
+ import { BaseService, type ServiceRequestOptions } from '../../core/base-service.js';
8
+ import type { PaginatedResult } from '../../types/common.js';
9
+ import type { Comment, CreateCommentRequest, UpdateCommentRequest, ListCommentsQuery } from '../../types/workitem.js';
10
+ /** API 路径 */
11
+ export declare const API_PATHS: {
12
+ /** 添加评论 */
13
+ CREATE: string;
14
+ /** 查询评论 */
15
+ LIST: string;
16
+ /** 更新评论 */
17
+ UPDATE: string;
18
+ /** 删除评论 */
19
+ DELETE: string;
20
+ };
21
+ /**
22
+ * 评论服务
23
+ *
24
+ * 提供工作项评论的创建、查询、更新、删除功能
25
+ */
26
+ export declare class CommentService extends BaseService {
27
+ /**
28
+ * 添加评论
29
+ *
30
+ * 在指定工作项下添加一条评论,添加的评论内容会出现在工作项详情页评论/备注 tab 页中
31
+ *
32
+ * @param projectKey 空间 ID 或域名
33
+ * @param workItemTypeKey 工作项类型
34
+ * @param workItemId 工作项 ID
35
+ * @param request 创建请求(content 或 rich_text 二选一,都有值时 rich_text 优先)
36
+ * @param options 请求选项
37
+ * @returns 新建的评论 ID(字符串格式,避免大整数精度丢失)
38
+ *
39
+ * @example
40
+ * ```typescript
41
+ * // 添加纯文本评论
42
+ * const commentId = await client.workItem.comment.create('my-project', 'story', 123456, {
43
+ * content: '这是一条测试评论',
44
+ * });
45
+ * console.log(commentId); // "7587846609728458752"
46
+ *
47
+ * // 添加富文本评论
48
+ * const commentId = await client.workItem.comment.create('my-project', 'story', 123456, {
49
+ * rich_text: [
50
+ * {
51
+ * type: 'paragraph',
52
+ * content: [
53
+ * { type: 'text', text: '加粗文字', attrs: { fontColor: 'green', fontSize: 'h1' } }
54
+ * ]
55
+ * }
56
+ * ]
57
+ * });
58
+ * ```
59
+ */
60
+ create(projectKey: string, workItemTypeKey: string, workItemId: number, request: CreateCommentRequest, options?: ServiceRequestOptions<string>): Promise<string>;
61
+ /**
62
+ * 查询评论列表
63
+ *
64
+ * 获取指定工作项下的所有评论信息,按照创建时间升序返回
65
+ *
66
+ * @param projectKey 空间 ID 或域名
67
+ * @param workItemTypeKey 工作项类型
68
+ * @param workItemId 工作项 ID
69
+ * @param query 分页参数
70
+ * @param options 请求选项
71
+ * @returns 分页的评论列表
72
+ *
73
+ * @example
74
+ * ```typescript
75
+ * // 获取所有评论
76
+ * const result = await client.workItem.comment.list('my-project', 'story', 123456);
77
+ * console.log(result.pagination.total); // 评论总数
78
+ * console.log(result.data); // 评论列表
79
+ *
80
+ * // 分页获取评论
81
+ * const result = await client.workItem.comment.list('my-project', 'story', 123456, {
82
+ * page_size: 20,
83
+ * page_num: 1,
84
+ * });
85
+ * ```
86
+ */
87
+ list(projectKey: string, workItemTypeKey: string, workItemId: number, query?: ListCommentsQuery, options?: ServiceRequestOptions<Comment>): Promise<PaginatedResult<Comment>>;
88
+ /**
89
+ * 更新评论
90
+ *
91
+ * 更新指定评论的内容,仅评论创建人可以更新该评论
92
+ *
93
+ * @param projectKey 空间 ID 或域名
94
+ * @param workItemTypeKey 工作项类型
95
+ * @param workItemId 工作项 ID
96
+ * @param commentId 评论 ID(字符串格式)
97
+ * @param request 更新请求(content 或 rich_text 二选一,都有值时 rich_text 优先)
98
+ * @param options 请求选项
99
+ *
100
+ * @example
101
+ * ```typescript
102
+ * // 更新为纯文本评论
103
+ * await client.workItem.comment.update('my-project', 'story', 123456, '7587846609728458752', {
104
+ * content: '更新后的评论内容',
105
+ * });
106
+ *
107
+ * // 更新为富文本评论
108
+ * await client.workItem.comment.update('my-project', 'story', 123456, commentId, {
109
+ * rich_text: [
110
+ * {
111
+ * type: 'paragraph',
112
+ * content: [
113
+ * { type: 'text', text: '更新后的富文本', attrs: { fontColor: 'red' } }
114
+ * ]
115
+ * }
116
+ * ]
117
+ * });
118
+ * ```
119
+ */
120
+ update(projectKey: string, workItemTypeKey: string, workItemId: number, commentId: string, request: UpdateCommentRequest, options?: ServiceRequestOptions<void>): Promise<void>;
121
+ /**
122
+ * 删除评论
123
+ *
124
+ * 删除工作项下一条指定的评论信息,仅评论创建人可以删除评论
125
+ *
126
+ * @param projectKey 空间 ID 或域名
127
+ * @param workItemTypeKey 工作项类型
128
+ * @param workItemId 工作项 ID
129
+ * @param commentId 评论 ID(字符串格式)
130
+ * @param options 请求选项
131
+ *
132
+ * @example
133
+ * ```typescript
134
+ * await client.workItem.comment.remove('my-project', 'story', 123456, '7587846609728458752');
135
+ * ```
136
+ */
137
+ remove(projectKey: string, workItemTypeKey: string, workItemId: number, commentId: string, options?: ServiceRequestOptions<void>): Promise<void>;
138
+ }
139
+ //# sourceMappingURL=comment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comment.d.ts","sourceRoot":"","sources":["../../../src/service/workitem/comment.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,KAAK,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACrF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EACV,OAAO,EACP,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,yBAAyB,CAAC;AAEjC,aAAa;AACb,eAAO,MAAM,SAAS;IACpB,WAAW;;IAEX,WAAW;;IAEX,WAAW;;IAEX,WAAW;;CAEZ,CAAC;AAEF;;;;GAIG;AACH,qBAAa,cAAe,SAAQ,WAAW;IAC7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACG,MAAM,CACV,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,oBAAoB,EAC7B,OAAO,CAAC,EAAE,qBAAqB,CAAC,MAAM,CAAC,GACtC,OAAO,CAAC,MAAM,CAAC;IAgBlB;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACG,IAAI,CACR,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,iBAAiB,EACzB,OAAO,CAAC,EAAE,qBAAqB,CAAC,OAAO,CAAC,GACvC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAgBpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACG,MAAM,CACV,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,oBAAoB,EAC7B,OAAO,CAAC,EAAE,qBAAqB,CAAC,IAAI,CAAC,GACpC,OAAO,CAAC,IAAI,CAAC;IAiBhB;;;;;;;;;;;;;;;OAeG;IACG,MAAM,CACV,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,qBAAqB,CAAC,IAAI,CAAC,GACpC,OAAO,CAAC,IAAI,CAAC;CAejB"}