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,76 @@
1
+ /**
2
+ * 视图查询服务
3
+ * 100% 参考 Meego API 文档
4
+ */
5
+ import { BaseService } from '../../core/base-service.js';
6
+ /** API 路径 */
7
+ export const API_PATHS = {
8
+ /** 获取视图列表及配置信息 */
9
+ VIEW_CONF_LIST: '/open_api/:project_key/view_conf/list',
10
+ /** 获取固定视图下工作项列表 */
11
+ FIX_VIEW: '/open_api/:project_key/fix_view/:view_id',
12
+ /** 获取全景视图下工作项列表 */
13
+ VIEW_PANORAMIC: '/open_api/:project_key/view/:view_id',
14
+ };
15
+ /**
16
+ * 视图查询服务
17
+ */
18
+ export class ViewQueryService extends BaseService {
19
+ /**
20
+ * 获取视图列表及配置信息
21
+ *
22
+ * @param projectKey 空间 ID 或域名
23
+ * @param request 查询请求
24
+ * @param options 请求选项
25
+ * @returns 分页的视图配置列表
26
+ */
27
+ async listConfigs(projectKey, request, options) {
28
+ return this.postPaginated(API_PATHS.VIEW_CONF_LIST, request, {
29
+ ...options,
30
+ pathParams: {
31
+ project_key: projectKey,
32
+ ...options?.pathParams,
33
+ },
34
+ });
35
+ }
36
+ /**
37
+ * 获取固定视图下工作项列表
38
+ *
39
+ * @param projectKey 空间 ID 或域名
40
+ * @param viewId 视图 ID
41
+ * @param query 查询参数
42
+ * @param options 请求选项
43
+ * @returns 固定视图信息及分页信息
44
+ */
45
+ async getFixViewItems(projectKey, viewId, query, options) {
46
+ return this.getWithPagination(API_PATHS.FIX_VIEW, {
47
+ ...options,
48
+ pathParams: {
49
+ project_key: projectKey,
50
+ view_id: viewId,
51
+ ...options?.pathParams,
52
+ },
53
+ query: query ? { ...query } : undefined,
54
+ });
55
+ }
56
+ /**
57
+ * 获取全景视图下工作项列表
58
+ *
59
+ * @param projectKey 空间 ID 或域名
60
+ * @param viewId 全景视图 ID
61
+ * @param request 查询请求
62
+ * @param options 请求选项
63
+ * @returns 分页的工作项列表
64
+ */
65
+ async listPanoramicItems(projectKey, viewId, request, options) {
66
+ return this.postPaginated(API_PATHS.VIEW_PANORAMIC, request ?? {}, {
67
+ ...options,
68
+ pathParams: {
69
+ project_key: projectKey,
70
+ view_id: viewId,
71
+ ...options?.pathParams,
72
+ },
73
+ });
74
+ }
75
+ }
76
+ //# sourceMappingURL=query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/service/view/query.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAA8B,MAAM,4BAA4B,CAAC;AAWrF,aAAa;AACb,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,kBAAkB;IAClB,cAAc,EAAE,uCAAuC;IACvD,mBAAmB;IACnB,QAAQ,EAAE,0CAA0C;IACpD,mBAAmB;IACnB,cAAc,EAAE,sCAAsC;CACvD,CAAC;AAEF;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,WAAW;IAC/C;;;;;;;OAOG;IACH,KAAK,CAAC,WAAW,CACf,UAAkB,EAClB,OAA4B,EAC5B,OAA6C;QAE7C,OAAO,IAAI,CAAC,aAAa,CAAe,SAAS,CAAC,cAAc,EAAE,OAAO,EAAE;YACzE,GAAG,OAAO;YACV,UAAU,EAAE;gBACV,WAAW,EAAE,UAAU;gBACvB,GAAG,OAAO,EAAE,UAAU;aACvB;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,eAAe,CACnB,UAAkB,EAClB,MAAc,EACd,KAA0B,EAC1B,OAA4C;QAE5C,OAAO,IAAI,CAAC,iBAAiB,CAAc,SAAS,CAAC,QAAQ,EAAE;YAC7D,GAAG,OAAO;YACV,UAAU,EAAE;gBACV,WAAW,EAAE,UAAU;gBACvB,OAAO,EAAE,MAAM;gBACf,GAAG,OAAO,EAAE,UAAU;aACvB;YACD,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS;SACxC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,kBAAkB,CACtB,UAAkB,EAClB,MAAc,EACd,OAAkC,EAClC,OAAyC;QAEzC,OAAO,IAAI,CAAC,aAAa,CAAW,SAAS,CAAC,cAAc,EAAE,OAAO,IAAI,EAAE,EAAE;YAC3E,GAAG,OAAO;YACV,UAAU,EAAE;gBACV,WAAW,EAAE,UAAU;gBACvB,OAAO,EAAE,MAAM;gBACf,GAAG,OAAO,EAAE,UAAU;aACvB;SACF,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * 视图服务
3
+ * 100% 参考 Meego API 文档
4
+ *
5
+ * 提供固定视图、条件视图的创建、更新与删除能力
6
+ */
7
+ import type { RequestHandler } from '../../core/request.js';
8
+ import { BaseService, type ServiceRequestOptions } from '../../core/base-service.js';
9
+ import type { PaginatedObjectResult } from '../../types/common.js';
10
+ import type { CreateFixViewRequest, UpdateFixViewRequest, CreateConditionViewRequest, UpdateConditionViewRequest, CreateConditionViewResponse, FixViewInfo } from '../../types/view.js';
11
+ import { ViewQueryService } from './query.js';
12
+ /** API 路径 */
13
+ export declare const API_PATHS: {
14
+ /** 创建固定视图 */
15
+ CREATE_FIX_VIEW: string;
16
+ /** 更新固定视图 */
17
+ UPDATE_FIX_VIEW: string;
18
+ /** 删除视图 */
19
+ DELETE_VIEW: string;
20
+ /** 创建条件视图 */
21
+ CREATE_CONDITION_VIEW: string;
22
+ /** 更新条件视图 */
23
+ UPDATE_CONDITION_VIEW: string;
24
+ };
25
+ /**
26
+ * 视图服务
27
+ */
28
+ export declare class ViewService extends BaseService {
29
+ /** 查询服务 */
30
+ readonly query: ViewQueryService;
31
+ constructor(requestHandler: RequestHandler);
32
+ /**
33
+ * 创建固定视图
34
+ *
35
+ * @param projectKey 空间 ID 或域名
36
+ * @param workItemTypeKey 工作项类型 key
37
+ * @param request 创建请求
38
+ * @param options 请求选项
39
+ * @returns 新创建的固定视图信息与分页信息
40
+ */
41
+ createFixView(projectKey: string, workItemTypeKey: string, request: CreateFixViewRequest, options?: ServiceRequestOptions<FixViewInfo>): Promise<PaginatedObjectResult<FixViewInfo>>;
42
+ /**
43
+ * 更新固定视图
44
+ *
45
+ * @param projectKey 空间 ID 或域名
46
+ * @param workItemTypeKey 工作项类型 key
47
+ * @param viewId 视图 ID
48
+ * @param request 更新请求
49
+ * @param options 请求选项
50
+ */
51
+ updateFixView(projectKey: string, workItemTypeKey: string, viewId: string, request: UpdateFixViewRequest, options?: ServiceRequestOptions<void>): Promise<void>;
52
+ /**
53
+ * 删除视图
54
+ *
55
+ * @param projectKey 空间 ID 或域名
56
+ * @param viewId 视图 ID
57
+ * @param options 请求选项
58
+ */
59
+ deleteView(projectKey: string, viewId: string, options?: ServiceRequestOptions<void>): Promise<void>;
60
+ /**
61
+ * 创建条件视图
62
+ *
63
+ * @param request 创建请求
64
+ * @param options 请求选项
65
+ * @returns 新创建视图 ID
66
+ */
67
+ createConditionView(request: CreateConditionViewRequest, options?: ServiceRequestOptions<CreateConditionViewResponse>): Promise<CreateConditionViewResponse>;
68
+ /**
69
+ * 更新条件视图
70
+ *
71
+ * @param request 更新请求
72
+ * @param options 请求选项
73
+ */
74
+ updateConditionView(request: UpdateConditionViewRequest, options?: ServiceRequestOptions<void>): Promise<void>;
75
+ }
76
+ //# sourceMappingURL=view.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../src/service/view/view.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,KAAK,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACrF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,EAC1B,0BAA0B,EAC1B,2BAA2B,EAC3B,WAAW,EACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,aAAa;AACb,eAAO,MAAM,SAAS;IACpB,aAAa;;IAEb,aAAa;;IAEb,WAAW;;IAEX,aAAa;;IAEb,aAAa;;CAEd,CAAC;AAEF;;GAEG;AACH,qBAAa,WAAY,SAAQ,WAAW;IAC1C,WAAW;IACX,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;gBAErB,cAAc,EAAE,cAAc;IAK1C;;;;;;;;OAQG;IACG,aAAa,CACjB,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,oBAAoB,EAC7B,OAAO,CAAC,EAAE,qBAAqB,CAAC,WAAW,CAAC,GAC3C,OAAO,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAW9C;;;;;;;;OAQG;IACG,aAAa,CACjB,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,oBAAoB,EAC7B,OAAO,CAAC,EAAE,qBAAqB,CAAC,IAAI,CAAC,GACpC,OAAO,CAAC,IAAI,CAAC;IAYhB;;;;;;OAMG;IACG,UAAU,CACd,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,qBAAqB,CAAC,IAAI,CAAC,GACpC,OAAO,CAAC,IAAI,CAAC;IAWhB;;;;;;OAMG;IACG,mBAAmB,CACvB,OAAO,EAAE,0BAA0B,EACnC,OAAO,CAAC,EAAE,qBAAqB,CAAC,2BAA2B,CAAC,GAC3D,OAAO,CAAC,2BAA2B,CAAC;IAIvC;;;;;OAKG;IACG,mBAAmB,CACvB,OAAO,EAAE,0BAA0B,EACnC,OAAO,CAAC,EAAE,qBAAqB,CAAC,IAAI,CAAC,GACpC,OAAO,CAAC,IAAI,CAAC;CAGjB"}
@@ -0,0 +1,108 @@
1
+ /**
2
+ * 视图服务
3
+ * 100% 参考 Meego API 文档
4
+ *
5
+ * 提供固定视图、条件视图的创建、更新与删除能力
6
+ */
7
+ import { BaseService } from '../../core/base-service.js';
8
+ import { ViewQueryService } from './query.js';
9
+ /** API 路径 */
10
+ export const API_PATHS = {
11
+ /** 创建固定视图 */
12
+ CREATE_FIX_VIEW: '/open_api/:project_key/:work_item_type_key/fix_view',
13
+ /** 更新固定视图 */
14
+ UPDATE_FIX_VIEW: '/open_api/:project_key/:work_item_type_key/fix_view/:view_id',
15
+ /** 删除视图 */
16
+ DELETE_VIEW: '/open_api/:project_key/fix_view/:view_id',
17
+ /** 创建条件视图 */
18
+ CREATE_CONDITION_VIEW: '/open_api/view/v1/create_condition_view',
19
+ /** 更新条件视图 */
20
+ UPDATE_CONDITION_VIEW: '/open_api/view/v1/update_condition_view',
21
+ };
22
+ /**
23
+ * 视图服务
24
+ */
25
+ export class ViewService extends BaseService {
26
+ /** 查询服务 */
27
+ query;
28
+ constructor(requestHandler) {
29
+ super(requestHandler);
30
+ this.query = new ViewQueryService(requestHandler);
31
+ }
32
+ /**
33
+ * 创建固定视图
34
+ *
35
+ * @param projectKey 空间 ID 或域名
36
+ * @param workItemTypeKey 工作项类型 key
37
+ * @param request 创建请求
38
+ * @param options 请求选项
39
+ * @returns 新创建的固定视图信息与分页信息
40
+ */
41
+ async createFixView(projectKey, workItemTypeKey, request, options) {
42
+ return this.postWithPagination(API_PATHS.CREATE_FIX_VIEW, request, {
43
+ ...options,
44
+ pathParams: {
45
+ project_key: projectKey,
46
+ work_item_type_key: workItemTypeKey,
47
+ ...options?.pathParams,
48
+ },
49
+ });
50
+ }
51
+ /**
52
+ * 更新固定视图
53
+ *
54
+ * @param projectKey 空间 ID 或域名
55
+ * @param workItemTypeKey 工作项类型 key
56
+ * @param viewId 视图 ID
57
+ * @param request 更新请求
58
+ * @param options 请求选项
59
+ */
60
+ async updateFixView(projectKey, workItemTypeKey, viewId, request, options) {
61
+ await this.post(API_PATHS.UPDATE_FIX_VIEW, request, {
62
+ ...options,
63
+ pathParams: {
64
+ project_key: projectKey,
65
+ work_item_type_key: workItemTypeKey,
66
+ view_id: viewId,
67
+ ...options?.pathParams,
68
+ },
69
+ });
70
+ }
71
+ /**
72
+ * 删除视图
73
+ *
74
+ * @param projectKey 空间 ID 或域名
75
+ * @param viewId 视图 ID
76
+ * @param options 请求选项
77
+ */
78
+ async deleteView(projectKey, viewId, options) {
79
+ await this.delete(API_PATHS.DELETE_VIEW, {
80
+ ...options,
81
+ pathParams: {
82
+ project_key: projectKey,
83
+ view_id: viewId,
84
+ ...options?.pathParams,
85
+ },
86
+ });
87
+ }
88
+ /**
89
+ * 创建条件视图
90
+ *
91
+ * @param request 创建请求
92
+ * @param options 请求选项
93
+ * @returns 新创建视图 ID
94
+ */
95
+ async createConditionView(request, options) {
96
+ return this.post(API_PATHS.CREATE_CONDITION_VIEW, request, options);
97
+ }
98
+ /**
99
+ * 更新条件视图
100
+ *
101
+ * @param request 更新请求
102
+ * @param options 请求选项
103
+ */
104
+ async updateConditionView(request, options) {
105
+ await this.post(API_PATHS.UPDATE_CONDITION_VIEW, request, options);
106
+ }
107
+ }
108
+ //# sourceMappingURL=view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view.js","sourceRoot":"","sources":["../../../src/service/view/view.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,WAAW,EAA8B,MAAM,4BAA4B,CAAC;AAUrF,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,aAAa;AACb,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,aAAa;IACb,eAAe,EAAE,qDAAqD;IACtE,aAAa;IACb,eAAe,EAAE,8DAA8D;IAC/E,WAAW;IACX,WAAW,EAAE,0CAA0C;IACvD,aAAa;IACb,qBAAqB,EAAE,yCAAyC;IAChE,aAAa;IACb,qBAAqB,EAAE,yCAAyC;CACjE,CAAC;AAEF;;GAEG;AACH,MAAM,OAAO,WAAY,SAAQ,WAAW;IAC1C,WAAW;IACF,KAAK,CAAmB;IAEjC,YAAY,cAA8B;QACxC,KAAK,CAAC,cAAc,CAAC,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,gBAAgB,CAAC,cAAc,CAAC,CAAC;IACpD,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,aAAa,CACjB,UAAkB,EAClB,eAAuB,EACvB,OAA6B,EAC7B,OAA4C;QAE5C,OAAO,IAAI,CAAC,kBAAkB,CAAc,SAAS,CAAC,eAAe,EAAE,OAAO,EAAE;YAC9E,GAAG,OAAO;YACV,UAAU,EAAE;gBACV,WAAW,EAAE,UAAU;gBACvB,kBAAkB,EAAE,eAAe;gBACnC,GAAG,OAAO,EAAE,UAAU;aACvB;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,aAAa,CACjB,UAAkB,EAClB,eAAuB,EACvB,MAAc,EACd,OAA6B,EAC7B,OAAqC;QAErC,MAAM,IAAI,CAAC,IAAI,CAAO,SAAS,CAAC,eAAe,EAAE,OAAO,EAAE;YACxD,GAAG,OAAO;YACV,UAAU,EAAE;gBACV,WAAW,EAAE,UAAU;gBACvB,kBAAkB,EAAE,eAAe;gBACnC,OAAO,EAAE,MAAM;gBACf,GAAG,OAAO,EAAE,UAAU;aACvB;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,UAAU,CACd,UAAkB,EAClB,MAAc,EACd,OAAqC;QAErC,MAAM,IAAI,CAAC,MAAM,CAAO,SAAS,CAAC,WAAW,EAAE;YAC7C,GAAG,OAAO;YACV,UAAU,EAAE;gBACV,WAAW,EAAE,UAAU;gBACvB,OAAO,EAAE,MAAM;gBACf,GAAG,OAAO,EAAE,UAAU;aACvB;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,mBAAmB,CACvB,OAAmC,EACnC,OAA4D;QAE5D,OAAO,IAAI,CAAC,IAAI,CAA8B,SAAS,CAAC,qBAAqB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACnG,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,mBAAmB,CACvB,OAAmC,EACnC,OAAqC;QAErC,MAAM,IAAI,CAAC,IAAI,CAAO,SAAS,CAAC,qBAAqB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC3E,CAAC;CACF"}
@@ -0,0 +1,143 @@
1
+ /**
2
+ * 附件服务
3
+ * 100% 参考 Meego API 文档
4
+ *
5
+ * 提供附件的上传、下载、删除功能
6
+ */
7
+ import { BaseService, type ServiceRequestOptions, type UploadRequestOptions, type DownloadOptions } from '../../core/base-service.js';
8
+ import type { UploadAttachmentRequest, UploadFileRequest, DownloadAttachmentRequest, DeleteAttachmentRequest } from '../../types/workitem.js';
9
+ /** API 路径 */
10
+ export declare const API_PATHS: {
11
+ /** 上传文件或富文本图片(通用) */
12
+ FILE_UPLOAD: string;
13
+ /** 添加附件到工作项 */
14
+ ATTACHMENT_UPLOAD: string;
15
+ /** 下载附件 */
16
+ FILE_DOWNLOAD: string;
17
+ /** 删除附件 */
18
+ FILE_DELETE: string;
19
+ };
20
+ /**
21
+ * 附件服务
22
+ *
23
+ * 提供附件的上传、下载、删除功能
24
+ */
25
+ export declare class AttachmentService extends BaseService {
26
+ /**
27
+ * 上传文件(通用)
28
+ *
29
+ * 用于富文本中上传图片等场景,返回上传后的资源路径
30
+ * 最大支持 100M
31
+ *
32
+ * @param projectKey 空间 ID 或域名
33
+ * @param request 上传请求
34
+ * @param options 请求选项
35
+ * @returns 附件链接 URL 数组
36
+ *
37
+ * @example
38
+ * ```typescript
39
+ * const urls = await client.workItem.attachment.uploadFile('my-project', {
40
+ * file: new Blob([...]),
41
+ * });
42
+ * console.log(urls[0]); // https://project.feishu.cn/goapi/v1/tos/file/...
43
+ * ```
44
+ */
45
+ uploadFile(projectKey: string, request: UploadFileRequest, options?: UploadRequestOptions<string[]>): Promise<string[]>;
46
+ /**
47
+ * 添加附件到工作项
48
+ *
49
+ * 在指定工作项的附件类型字段中添加附件
50
+ * - 最大支持 100M
51
+ * - 附件字段数量限制为 50 个
52
+ *
53
+ * @param projectKey 空间 ID 或域名
54
+ * @param workItemTypeKey 工作项类型 key
55
+ * @param workItemId 工作项 ID
56
+ * @param request 上传请求
57
+ * @param options 请求选项
58
+ *
59
+ * @example
60
+ * ```typescript
61
+ * // 普通附件上传
62
+ * await client.workItem.attachment.uploadAttachment('my-project', 'story', 123456, {
63
+ * file: new Blob([...]),
64
+ * field_key: 'field_xxx',
65
+ * });
66
+ *
67
+ * // 复合字段中上传附件
68
+ * await client.workItem.attachment.uploadAttachment('my-project', 'story', 123456, {
69
+ * file: new Blob([...]),
70
+ * field_key: 'compound_field_xxx',
71
+ * index: '0',
72
+ * });
73
+ * ```
74
+ */
75
+ uploadAttachment(projectKey: string, workItemTypeKey: string, workItemId: number, request: UploadAttachmentRequest, options?: UploadRequestOptions<void>): Promise<void>;
76
+ /**
77
+ * 下载附件
78
+ *
79
+ * 下载工作项中的指定附件,返回二进制数据
80
+ *
81
+ * @param projectKey 空间 ID 或域名
82
+ * @param workItemTypeKey 工作项类型 key
83
+ * @param workItemId 工作项 ID
84
+ * @param request 下载请求
85
+ * @param options 请求选项
86
+ * @returns 文件二进制数据
87
+ *
88
+ * @example
89
+ * ```typescript
90
+ * // 下载附件
91
+ * const data = await client.workItem.attachment.downloadAttachment('my-project', 'story', 123456, {
92
+ * uuid: 'a0e0104f-94bc-4999-bf07-239fd2f7xxxx',
93
+ * });
94
+ *
95
+ * // 保存到文件 (Node.js)
96
+ * import { writeFileSync } from 'fs';
97
+ * writeFileSync('downloaded.pdf', Buffer.from(data));
98
+ *
99
+ * // 转换为 Blob (浏览器)
100
+ * const blob = new Blob([data]);
101
+ * ```
102
+ */
103
+ downloadAttachment(projectKey: string, workItemTypeKey: string, workItemId: number, request: DownloadAttachmentRequest, options?: DownloadOptions): Promise<ArrayBuffer>;
104
+ /**
105
+ * 下载附件(流式)
106
+ *
107
+ * 适用于大文件下载,避免一次性占用大量内存
108
+ *
109
+ * @example
110
+ * ```typescript
111
+ * const stream = await client.workItem.attachment.downloadAttachmentStream(
112
+ * 'my-project',
113
+ * 'story',
114
+ * 123456,
115
+ * { uuid: 'a0e0104f-94bc-4999-bf07-239fd2f7xxxx' },
116
+ * {
117
+ * onProgress: (p) => console.log(p.progress),
118
+ * }
119
+ * );
120
+ * ```
121
+ */
122
+ downloadAttachmentStream(projectKey: string, workItemTypeKey: string, workItemId: number, request: DownloadAttachmentRequest, options?: DownloadOptions): Promise<ReadableStream<Uint8Array>>;
123
+ /**
124
+ * 删除附件
125
+ *
126
+ * 删除指定工作项附件字段中的附件
127
+ *
128
+ * @param request 删除请求
129
+ * @param options 请求选项
130
+ *
131
+ * @example
132
+ * ```typescript
133
+ * await client.workItem.attachment.deleteAttachment({
134
+ * project_key: 'my-project',
135
+ * work_item_id: 123456,
136
+ * field_key: 'field_xxx',
137
+ * uuids: ['uuid1', 'uuid2'],
138
+ * });
139
+ * ```
140
+ */
141
+ deleteAttachment(request: DeleteAttachmentRequest, options?: ServiceRequestOptions<void>): Promise<void>;
142
+ }
143
+ //# sourceMappingURL=attachment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attachment.d.ts","sourceRoot":"","sources":["../../../src/service/workitem/attachment.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,WAAW,EACX,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACrB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EACV,uBAAuB,EACvB,iBAAiB,EACjB,yBAAyB,EACzB,uBAAuB,EACxB,MAAM,yBAAyB,CAAC;AAUjC,aAAa;AACb,eAAO,MAAM,SAAS;IACpB,qBAAqB;;IAErB,eAAe;;IAEf,WAAW;;IAEX,WAAW;;CAEZ,CAAC;AAEF;;;;GAIG;AACH,qBAAa,iBAAkB,SAAQ,WAAW;IAChD;;;;;;;;;;;;;;;;;;OAkBG;IACG,UAAU,CACd,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,iBAAiB,EAC1B,OAAO,CAAC,EAAE,oBAAoB,CAAC,MAAM,EAAE,CAAC,GACvC,OAAO,CAAC,MAAM,EAAE,CAAC;IAkBpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACG,gBAAgB,CACpB,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,uBAAuB,EAChC,OAAO,CAAC,EAAE,oBAAoB,CAAC,IAAI,CAAC,GACnC,OAAO,CAAC,IAAI,CAAC;IAiChB;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACG,kBAAkB,CACtB,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,yBAAyB,EAClC,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,WAAW,CAAC;IAmBvB;;;;;;;;;;;;;;;;;OAiBG;IACG,wBAAwB,CAC5B,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,yBAAyB,EAClC,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAmBtC;;;;;;;;;;;;;;;;;OAiBG;IACG,gBAAgB,CACpB,OAAO,EAAE,uBAAuB,EAChC,OAAO,CAAC,EAAE,qBAAqB,CAAC,IAAI,CAAC,GACpC,OAAO,CAAC,IAAI,CAAC;CAGjB"}
@@ -0,0 +1,231 @@
1
+ /**
2
+ * 附件服务
3
+ * 100% 参考 Meego API 文档
4
+ *
5
+ * 提供附件的上传、下载、删除功能
6
+ */
7
+ import { BaseService, } from '../../core/base-service.js';
8
+ const resolveFileName = (file, fileName) => {
9
+ if (typeof fileName === 'string' && fileName.trim().length > 0) {
10
+ return fileName;
11
+ }
12
+ const name = file.name;
13
+ return typeof name === 'string' && name.trim().length > 0 ? name : 'file';
14
+ };
15
+ /** API 路径 */
16
+ export const API_PATHS = {
17
+ /** 上传文件或富文本图片(通用) */
18
+ FILE_UPLOAD: '/open_api/:project_key/file/upload',
19
+ /** 添加附件到工作项 */
20
+ ATTACHMENT_UPLOAD: '/open_api/:project_key/work_item/:work_item_type_key/:work_item_id/file/upload',
21
+ /** 下载附件 */
22
+ FILE_DOWNLOAD: '/open_api/:project_key/work_item/:work_item_type_key/:work_item_id/file/download',
23
+ /** 删除附件 */
24
+ FILE_DELETE: '/open_api/file/delete',
25
+ };
26
+ /**
27
+ * 附件服务
28
+ *
29
+ * 提供附件的上传、下载、删除功能
30
+ */
31
+ export class AttachmentService extends BaseService {
32
+ /**
33
+ * 上传文件(通用)
34
+ *
35
+ * 用于富文本中上传图片等场景,返回上传后的资源路径
36
+ * 最大支持 100M
37
+ *
38
+ * @param projectKey 空间 ID 或域名
39
+ * @param request 上传请求
40
+ * @param options 请求选项
41
+ * @returns 附件链接 URL 数组
42
+ *
43
+ * @example
44
+ * ```typescript
45
+ * const urls = await client.workItem.attachment.uploadFile('my-project', {
46
+ * file: new Blob([...]),
47
+ * });
48
+ * console.log(urls[0]); // https://project.feishu.cn/goapi/v1/tos/file/...
49
+ * ```
50
+ */
51
+ async uploadFile(projectKey, request, options) {
52
+ return this.upload(API_PATHS.FILE_UPLOAD, {
53
+ pathParams: {
54
+ project_key: projectKey,
55
+ ...options?.pathParams,
56
+ },
57
+ file: request.file,
58
+ fileName: resolveFileName(request.file, request.fileName),
59
+ auth: options?.auth,
60
+ timeout: options?.timeout,
61
+ maxUploadSizeBytes: options?.maxUploadSizeBytes,
62
+ minUploadSizeBytes: options?.minUploadSizeBytes,
63
+ skipRetry: options?.skipRetry,
64
+ retry: options?.retry,
65
+ responseValidator: options?.responseValidator,
66
+ });
67
+ }
68
+ /**
69
+ * 添加附件到工作项
70
+ *
71
+ * 在指定工作项的附件类型字段中添加附件
72
+ * - 最大支持 100M
73
+ * - 附件字段数量限制为 50 个
74
+ *
75
+ * @param projectKey 空间 ID 或域名
76
+ * @param workItemTypeKey 工作项类型 key
77
+ * @param workItemId 工作项 ID
78
+ * @param request 上传请求
79
+ * @param options 请求选项
80
+ *
81
+ * @example
82
+ * ```typescript
83
+ * // 普通附件上传
84
+ * await client.workItem.attachment.uploadAttachment('my-project', 'story', 123456, {
85
+ * file: new Blob([...]),
86
+ * field_key: 'field_xxx',
87
+ * });
88
+ *
89
+ * // 复合字段中上传附件
90
+ * await client.workItem.attachment.uploadAttachment('my-project', 'story', 123456, {
91
+ * file: new Blob([...]),
92
+ * field_key: 'compound_field_xxx',
93
+ * index: '0',
94
+ * });
95
+ * ```
96
+ */
97
+ async uploadAttachment(projectKey, workItemTypeKey, workItemId, request, options) {
98
+ // 构建额外的表单字段
99
+ const formFields = {};
100
+ if (request.field_key) {
101
+ formFields['field_key'] = request.field_key;
102
+ }
103
+ if (request.field_alias) {
104
+ formFields['field_alias'] = request.field_alias;
105
+ }
106
+ if (request.index) {
107
+ formFields['index'] = request.index;
108
+ }
109
+ await this.upload(API_PATHS.ATTACHMENT_UPLOAD, {
110
+ pathParams: {
111
+ project_key: projectKey,
112
+ work_item_type_key: workItemTypeKey,
113
+ work_item_id: String(workItemId),
114
+ ...options?.pathParams,
115
+ },
116
+ file: request.file,
117
+ fileName: resolveFileName(request.file, request.fileName),
118
+ formFields: Object.keys(formFields).length > 0 ? formFields : undefined,
119
+ auth: options?.auth,
120
+ timeout: options?.timeout,
121
+ maxUploadSizeBytes: options?.maxUploadSizeBytes,
122
+ minUploadSizeBytes: options?.minUploadSizeBytes,
123
+ skipRetry: options?.skipRetry,
124
+ retry: options?.retry,
125
+ responseValidator: options?.responseValidator,
126
+ });
127
+ }
128
+ /**
129
+ * 下载附件
130
+ *
131
+ * 下载工作项中的指定附件,返回二进制数据
132
+ *
133
+ * @param projectKey 空间 ID 或域名
134
+ * @param workItemTypeKey 工作项类型 key
135
+ * @param workItemId 工作项 ID
136
+ * @param request 下载请求
137
+ * @param options 请求选项
138
+ * @returns 文件二进制数据
139
+ *
140
+ * @example
141
+ * ```typescript
142
+ * // 下载附件
143
+ * const data = await client.workItem.attachment.downloadAttachment('my-project', 'story', 123456, {
144
+ * uuid: 'a0e0104f-94bc-4999-bf07-239fd2f7xxxx',
145
+ * });
146
+ *
147
+ * // 保存到文件 (Node.js)
148
+ * import { writeFileSync } from 'fs';
149
+ * writeFileSync('downloaded.pdf', Buffer.from(data));
150
+ *
151
+ * // 转换为 Blob (浏览器)
152
+ * const blob = new Blob([data]);
153
+ * ```
154
+ */
155
+ async downloadAttachment(projectKey, workItemTypeKey, workItemId, request, options) {
156
+ return this.download(API_PATHS.FILE_DOWNLOAD, {
157
+ pathParams: {
158
+ project_key: projectKey,
159
+ work_item_type_key: workItemTypeKey,
160
+ work_item_id: String(workItemId),
161
+ ...options?.pathParams,
162
+ },
163
+ body: { uuid: request.uuid },
164
+ auth: options?.auth,
165
+ timeout: options?.timeout,
166
+ signal: options?.signal,
167
+ onProgress: options?.onProgress,
168
+ onChunk: options?.onChunk,
169
+ skipRetry: options?.skipRetry,
170
+ retry: options?.retry,
171
+ });
172
+ }
173
+ /**
174
+ * 下载附件(流式)
175
+ *
176
+ * 适用于大文件下载,避免一次性占用大量内存
177
+ *
178
+ * @example
179
+ * ```typescript
180
+ * const stream = await client.workItem.attachment.downloadAttachmentStream(
181
+ * 'my-project',
182
+ * 'story',
183
+ * 123456,
184
+ * { uuid: 'a0e0104f-94bc-4999-bf07-239fd2f7xxxx' },
185
+ * {
186
+ * onProgress: (p) => console.log(p.progress),
187
+ * }
188
+ * );
189
+ * ```
190
+ */
191
+ async downloadAttachmentStream(projectKey, workItemTypeKey, workItemId, request, options) {
192
+ return this.downloadStream(API_PATHS.FILE_DOWNLOAD, {
193
+ pathParams: {
194
+ project_key: projectKey,
195
+ work_item_type_key: workItemTypeKey,
196
+ work_item_id: String(workItemId),
197
+ ...options?.pathParams,
198
+ },
199
+ body: { uuid: request.uuid },
200
+ auth: options?.auth,
201
+ timeout: options?.timeout,
202
+ signal: options?.signal,
203
+ onProgress: options?.onProgress,
204
+ onChunk: options?.onChunk,
205
+ skipRetry: options?.skipRetry,
206
+ retry: options?.retry,
207
+ });
208
+ }
209
+ /**
210
+ * 删除附件
211
+ *
212
+ * 删除指定工作项附件字段中的附件
213
+ *
214
+ * @param request 删除请求
215
+ * @param options 请求选项
216
+ *
217
+ * @example
218
+ * ```typescript
219
+ * await client.workItem.attachment.deleteAttachment({
220
+ * project_key: 'my-project',
221
+ * work_item_id: 123456,
222
+ * field_key: 'field_xxx',
223
+ * uuids: ['uuid1', 'uuid2'],
224
+ * });
225
+ * ```
226
+ */
227
+ async deleteAttachment(request, options) {
228
+ await this.post(API_PATHS.FILE_DELETE, request, options);
229
+ }
230
+ }
231
+ //# sourceMappingURL=attachment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attachment.js","sourceRoot":"","sources":["../../../src/service/workitem/attachment.ts"],"names":[],"mappings":"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"}