meeglesdk 0.1.0 → 0.1.2

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 (83) hide show
  1. package/README.md +51 -0
  2. package/dist/client.d.ts +2 -2
  3. package/dist/client.d.ts.map +1 -1
  4. package/dist/client.js +1 -1
  5. package/dist/client.js.map +1 -1
  6. package/dist/core/base-service.d.ts +7 -2
  7. package/dist/core/base-service.d.ts.map +1 -1
  8. package/dist/core/base-service.js +19 -0
  9. package/dist/core/base-service.js.map +1 -1
  10. package/dist/core/rate-limiter.d.ts +1 -1
  11. package/dist/core/rate-limiter.d.ts.map +1 -1
  12. package/dist/core/request/auth.d.ts +19 -0
  13. package/dist/core/request/auth.d.ts.map +1 -0
  14. package/dist/core/request/auth.js +89 -0
  15. package/dist/core/request/auth.js.map +1 -0
  16. package/dist/core/request/download.d.ts +34 -0
  17. package/dist/core/request/download.d.ts.map +1 -0
  18. package/dist/core/request/download.js +212 -0
  19. package/dist/core/request/download.js.map +1 -0
  20. package/dist/core/request/handler.d.ts +72 -0
  21. package/dist/core/request/handler.d.ts.map +1 -0
  22. package/dist/core/request/handler.js +265 -0
  23. package/dist/core/request/handler.js.map +1 -0
  24. package/dist/core/request/index.d.ts +9 -0
  25. package/dist/core/request/index.d.ts.map +1 -0
  26. package/dist/core/request/index.js +9 -0
  27. package/dist/core/request/index.js.map +1 -0
  28. package/dist/core/request/json-parser.d.ts +15 -0
  29. package/dist/core/request/json-parser.d.ts.map +1 -0
  30. package/dist/core/request/json-parser.js +43 -0
  31. package/dist/core/request/json-parser.js.map +1 -0
  32. package/dist/core/request/path.d.ts +22 -0
  33. package/dist/core/request/path.d.ts.map +1 -0
  34. package/dist/core/request/path.js +87 -0
  35. package/dist/core/request/path.js.map +1 -0
  36. package/dist/core/request/response-parser.d.ts +45 -0
  37. package/dist/core/request/response-parser.d.ts.map +1 -0
  38. package/dist/core/request/response-parser.js +155 -0
  39. package/dist/core/request/response-parser.js.map +1 -0
  40. package/dist/core/request/retry.d.ts +29 -0
  41. package/dist/core/request/retry.d.ts.map +1 -0
  42. package/dist/core/request/retry.js +84 -0
  43. package/dist/core/request/retry.js.map +1 -0
  44. package/dist/core/request/types.d.ts +174 -0
  45. package/dist/core/request/types.d.ts.map +1 -0
  46. package/dist/core/request/types.js +26 -0
  47. package/dist/core/request/types.js.map +1 -0
  48. package/dist/core/request/upload.d.ts +18 -0
  49. package/dist/core/request/upload.d.ts.map +1 -0
  50. package/dist/core/request/upload.js +62 -0
  51. package/dist/core/request/upload.js.map +1 -0
  52. package/dist/helpers/auth.d.ts +1 -1
  53. package/dist/helpers/auth.d.ts.map +1 -1
  54. package/dist/index.d.ts +5 -5
  55. package/dist/index.d.ts.map +1 -1
  56. package/dist/index.js +1 -1
  57. package/dist/index.js.map +1 -1
  58. package/dist/service/config/config.d.ts +1 -1
  59. package/dist/service/config/config.d.ts.map +1 -1
  60. package/dist/service/measure/index.d.ts +1 -1
  61. package/dist/service/measure/index.d.ts.map +1 -1
  62. package/dist/service/space/space.d.ts +1 -1
  63. package/dist/service/space/space.d.ts.map +1 -1
  64. package/dist/service/user/user.d.ts +1 -1
  65. package/dist/service/user/user.d.ts.map +1 -1
  66. package/dist/service/view/view.d.ts +1 -1
  67. package/dist/service/view/view.d.ts.map +1 -1
  68. package/dist/service/workitem/search.d.ts +40 -1
  69. package/dist/service/workitem/search.d.ts.map +1 -1
  70. package/dist/service/workitem/search.js +41 -0
  71. package/dist/service/workitem/search.js.map +1 -1
  72. package/dist/service/workitem/workItem.d.ts +1 -1
  73. package/dist/service/workitem/workItem.d.ts.map +1 -1
  74. package/dist/types/common.d.ts +15 -0
  75. package/dist/types/common.d.ts.map +1 -1
  76. package/dist/types/common.js.map +1 -1
  77. package/dist/types/workitem.d.ts +46 -1
  78. package/dist/types/workitem.d.ts.map +1 -1
  79. package/package.json +1 -1
  80. package/dist/core/request.d.ts +0 -270
  81. package/dist/core/request.d.ts.map +0 -1
  82. package/dist/core/request.js +0 -842
  83. package/dist/core/request.js.map +0 -1
package/README.md CHANGED
@@ -113,6 +113,25 @@ Rules:
113
113
  - `type: 'user'`: use the provided user token; `userKey` is not needed.
114
114
  - `type: 'plugin'`: use plugin token; `userKey` is required for user-scoped APIs.
115
115
  - `type: 'auto'` (default): if `userKey` is provided and a cached token exists for that user, it is used; otherwise plugin token is used.
116
+ - `authMode` (optional): only applies when a plugin token is used; controls `x-auth-mode` for strict read permission checks.
117
+
118
+ ### x-auth-mode (Force Read Auth for Plugin Token)
119
+
120
+ When calling read APIs with `plugin_access_token` (or `virtual_plugin_token`), you can set `x-auth-mode` to
121
+ force the server to respect the `X-User-Key` permissions.
122
+ This header has no effect when a user token is used.
123
+
124
+ - `authMode: 1` -> strict mode (recommended when you must enforce the user's read permissions)
125
+ - `authMode: 0` or omitted -> compatibility mode
126
+
127
+ ```ts
128
+ await client.workItem.query(
129
+ 'project_key',
130
+ 'story',
131
+ { work_item_ids: [123456] },
132
+ { auth: { type: 'plugin', userKey: 'user_key', authMode: 1 } }
133
+ );
134
+ ```
116
135
 
117
136
  ## Token Management Notes
118
137
 
@@ -149,6 +168,38 @@ const wbs = await client.workItem.workflow.getWbsView(
149
168
  );
150
169
  ```
151
170
 
171
+ ## Universal Search (Field Select)
172
+
173
+ ```ts
174
+ const request = {
175
+ data_sources: [
176
+ {
177
+ project_key: 'project_key',
178
+ work_item_type_keys: 'story',
179
+ },
180
+ ],
181
+ search_group: {
182
+ conjunction: 'AND',
183
+ search_params: [{ param_key: 'created_at', value: Date.now() - 86400000, operator: '>' }],
184
+ },
185
+ field_selected: ['work_item_id', 'name'],
186
+ pagination: { page_size: 20 },
187
+ };
188
+
189
+ const result = await client.workItem.search.universalSearch(request, {
190
+ auth: { type: 'plugin', userKey: 'user_key' },
191
+ });
192
+
193
+ // Next page
194
+ const next = await client.workItem.search.universalSearch(
195
+ {
196
+ ...request,
197
+ pagination: { page_size: 20, search_after: result.pagination.search_after },
198
+ },
199
+ { auth: { type: 'plugin', userKey: 'user_key' } }
200
+ );
201
+ ```
202
+
152
203
  ## Services Overview
153
204
 
154
205
  Top-level services:
package/dist/client.d.ts CHANGED
@@ -4,10 +4,10 @@
4
4
  */
5
5
  import type { Logger } from './types/common.js';
6
6
  import type { UserTokenInput } from './types/auth.js';
7
- import type { RetryConfig } from './core/request.js';
7
+ import type { RetryConfig } from './core/request/index.js';
8
8
  import type { RateLimitConfig } from './core/rate-limiter.js';
9
9
  import { TokenManager } from './core/token-manager.js';
10
- import { RequestHandler } from './core/request.js';
10
+ import { RequestHandler } from './core/request/index.js';
11
11
  import { AuthService } from './service/auth/index.js';
12
12
  import { WorkItemService } from './service/workitem/workItem.js';
13
13
  import { SpaceService } from './service/space/space.js';
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAQ3D;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,wBAAwB;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,2BAA2B;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7B;;OAEG;IACH,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAClB;;;OAGG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CACrF;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,WAAW;IACtB,WAAW;IACX,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAE3B;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IAEnC;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAE7B;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAE3B;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAE/B;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAE3B;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IAEjC;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAE/B,uBAAuB;IACvB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAE5C,mBAAmB;IACnB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAEhD,aAAa;IACb,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC,SAAS;IACT,OAAO,CAAC,QAAQ,CAAC,OAAO,CAGH;gBAET,OAAO,EAAE,kBAAkB;IAoDvC;;;;;OAKG;IACH,YAAY,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAIzC;;;OAGG;IACH,iBAAiB,IAAI,cAAc;IAInC;;;OAGG;IACH,eAAe,IAAI,YAAY;IAI/B;;OAEG;IACH,SAAS,IAAI,MAAM;IAInB;;OAEG;IACH,UAAU,IAAI,MAAM;CAGrB"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/client.js CHANGED
@@ -4,7 +4,7 @@
4
4
  */
5
5
  import { defaultLogger } from './types/common.js';
6
6
  import { TokenManager } from './core/token-manager.js';
7
- import { RequestHandler } from './core/request.js';
7
+ import { RequestHandler } from './core/request/index.js';
8
8
  import { AuthService } from './service/auth/index.js';
9
9
  import { WorkItemService } from './service/workitem/workItem.js';
10
10
  import { SpaceService } from './service/space/space.js';
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,8 @@
2
2
  * Service 基类
3
3
  * 提供通用的请求方法封装
4
4
  */
5
- import type { RequestHandler, AuthContext, RetryConfig, DownloadProgress, ResponseValidator } from './request.js';
6
- import type { PaginatedResult, PaginatedObjectResult } from '../types/common.js';
5
+ import type { RequestHandler, AuthContext, RetryConfig, DownloadProgress, ResponseValidator } from './request/index.js';
6
+ import type { PaginatedResult, PaginatedObjectResult, SearchAfterPaginatedResult } from '../types/common.js';
7
7
  /** 请求选项 */
8
8
  export interface ServiceRequestOptions<T = unknown> {
9
9
  /** 路径参数 */
@@ -118,6 +118,11 @@ export declare abstract class BaseService {
118
118
  * 用于 pagination 与 data 同级的接口
119
119
  */
120
120
  protected postPaginated<T>(path: string, body?: unknown, options?: ServiceRequestOptions<T>): Promise<PaginatedResult<T>>;
121
+ /**
122
+ * POST 游标分页请求
123
+ * 用于 datas + pagination(search_after) 的接口
124
+ */
125
+ protected postCursorPaginated<T>(path: string, body?: unknown, options?: ServiceRequestOptions<T>, dataKey?: string): Promise<SearchAfterPaginatedResult<T>>;
121
126
  /**
122
127
  * GET 分页请求(data 为对象)
123
128
  * 用于 pagination 与 data 同级,但 data 为对象的接口
@@ -1 +1 @@
1
- {"version":3,"file":"base-service.d.ts","sourceRoot":"","sources":["../../src/core/base-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-service.d.ts","sourceRoot":"","sources":["../../src/core/base-service.ts"],"names":[],"mappings":"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"}
@@ -94,6 +94,25 @@ export class BaseService {
94
94
  responseValidator: options?.responseValidator,
95
95
  });
96
96
  }
97
+ /**
98
+ * POST 游标分页请求
99
+ * 用于 datas + pagination(search_after) 的接口
100
+ */
101
+ postCursorPaginated(path, body, options, dataKey = 'datas') {
102
+ return this.requestHandler.requestCursorPaginated({
103
+ method: 'POST',
104
+ path,
105
+ body,
106
+ pathParams: options?.pathParams,
107
+ query: options?.query,
108
+ auth: options?.auth,
109
+ idempotencyKey: options?.idempotencyKey,
110
+ timeout: options?.timeout,
111
+ skipRetry: options?.skipRetry,
112
+ retry: options?.retry,
113
+ responseValidator: options?.responseValidator,
114
+ }, dataKey);
115
+ }
97
116
  /**
98
117
  * GET 分页请求(data 为对象)
99
118
  * 用于 pagination 与 data 同级,但 data 为对象的接口
@@ -1 +1 @@
1
- {"version":3,"file":"base-service.js","sourceRoot":"","sources":["../../src/core/base-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-service.js","sourceRoot":"","sources":["../../src/core/base-service.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Simple per-key rate limiter (token bucket).
3
3
  */
4
- import type { HttpMethod } from './request.js';
4
+ import type { HttpMethod } from './request/index.js';
5
5
  export type RateLimitScope = 'token' | 'token+path' | 'token+method+path';
6
6
  export type RateLimitPreset = 'meego-openapi';
7
7
  export type RateLimitConfig = RateLimitOptions | RateLimitPreset;
@@ -1 +1 @@
1
- {"version":3,"file":"rate-limiter.d.ts","sourceRoot":"","sources":["../../src/core/rate-limiter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,YAAY,GAAG,mBAAmB,CAAC;AAE1E,MAAM,MAAM,eAAe,GAAG,eAAe,CAAC;AAE9C,MAAM,MAAM,eAAe,GAAG,gBAAgB,GAAG,eAAe,CAAC;AAEjE,MAAM,WAAW,gBAAgB;IAC/B,iEAAiE;IACjE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,4BAA4B;IAC5B,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,0BAA0B;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB;IAChB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC;IACxB,sFAAsF;IACtF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,2BAA2B;IAC3B,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qBAAqB;IACrB,KAAK,CAAC,EAAE,cAAc,CAAC;CACxB;AAQD,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAS;IAC5C,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkC;IAC1D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;gBAE/C,OAAO,EAAE,gBAAgB;IAY/B,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BzC,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,YAAY;IAgBpB,OAAO,CAAC,MAAM;YAYA,YAAY;IAgB1B,OAAO,CAAC,KAAK;CAGd;AA4DD,eAAO,MAAM,yBAAyB,GAAI,SAAS,eAAe,KAAG,gBAAgB,GAAG,SAQvF,CAAC;AAEF,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;IAChD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiB;IACvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkC;IAC3D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAS;gBAEzB,OAAO,EAAE,gBAAgB;IAiD/B,OAAO,CAAC,OAAO,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,UAAU,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAyB3F,OAAO,CAAC,WAAW;IAgCnB,OAAO,CAAC,QAAQ;IAUhB,OAAO,CAAC,UAAU;CAUnB"}
1
+ {"version":3,"file":"rate-limiter.d.ts","sourceRoot":"","sources":["../../src/core/rate-limiter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,YAAY,GAAG,mBAAmB,CAAC;AAE1E,MAAM,MAAM,eAAe,GAAG,eAAe,CAAC;AAE9C,MAAM,MAAM,eAAe,GAAG,gBAAgB,GAAG,eAAe,CAAC;AAEjE,MAAM,WAAW,gBAAgB;IAC/B,iEAAiE;IACjE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,4BAA4B;IAC5B,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,0BAA0B;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB;IAChB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC;IACxB,sFAAsF;IACtF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,2BAA2B;IAC3B,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qBAAqB;IACrB,KAAK,CAAC,EAAE,cAAc,CAAC;CACxB;AAQD,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAS;IAC5C,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkC;IAC1D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;gBAE/C,OAAO,EAAE,gBAAgB;IAY/B,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BzC,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,YAAY;IAgBpB,OAAO,CAAC,MAAM;YAYA,YAAY;IAgB1B,OAAO,CAAC,KAAK;CAGd;AA4DD,eAAO,MAAM,yBAAyB,GAAI,SAAS,eAAe,KAAG,gBAAgB,GAAG,SAQvF,CAAC;AAEF,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;IAChD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiB;IACvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkC;IAC3D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAS;gBAEzB,OAAO,EAAE,gBAAgB;IAiD/B,OAAO,CAAC,OAAO,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,UAAU,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAyB3F,OAAO,CAAC,WAAW;IAgCnB,OAAO,CAAC,QAAQ;IAUhB,OAAO,CAAC,UAAU;CAUnB"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * 认证头构建
3
+ */
4
+ import type { Logger } from '../../types/common.js';
5
+ import type { TokenManager } from '../token-manager.js';
6
+ import type { AuthContext } from './types.js';
7
+ /**
8
+ * 认证头构建器接口
9
+ */
10
+ export interface AuthHeaderBuilder {
11
+ buildHeaders(auth?: AuthContext, idempotencyKey?: string): Promise<Record<string, string>>;
12
+ buildAuthHeaders(auth?: AuthContext): Promise<Record<string, string>>;
13
+ buildHeadersForUpload(auth?: AuthContext): Promise<Record<string, string>>;
14
+ }
15
+ /**
16
+ * 创建认证头构建器
17
+ */
18
+ export declare function createAuthHeaderBuilder(tokenManager: TokenManager, logger: Logger): AuthHeaderBuilder;
19
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/core/request/auth.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAY,MAAM,YAAY,CAAC;AAGxD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,YAAY,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3F,gBAAgB,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACtE,qBAAqB,CAAC,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAC5E;AAqBD;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,MAAM,GACb,iBAAiB,CA+EnB"}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * 认证头构建
3
+ */
4
+ import { MeegoAuthError } from '../errors.js';
5
+ /**
6
+ * 应用 x-auth-mode 请求头
7
+ */
8
+ function applyAuthModeHeader(headers, authMode, userKey, logger) {
9
+ if (authMode === undefined) {
10
+ return;
11
+ }
12
+ if (!userKey) {
13
+ logger.debug('authMode ignored because userKey is missing');
14
+ return;
15
+ }
16
+ headers['x-auth-mode'] = String(authMode);
17
+ }
18
+ /**
19
+ * 创建认证头构建器
20
+ */
21
+ export function createAuthHeaderBuilder(tokenManager, logger) {
22
+ /**
23
+ * 构建鉴权请求头
24
+ */
25
+ async function buildAuthHeaders(auth) {
26
+ const headers = {};
27
+ const context = auth ?? { type: 'auto' };
28
+ if (context.type === 'user') {
29
+ if (!context.token) {
30
+ throw new MeegoAuthError(0, 'User token not available');
31
+ }
32
+ headers['X-Plugin-Token'] = context.token;
33
+ return headers;
34
+ }
35
+ if (context.type === 'plugin') {
36
+ const token = context.token ?? (await tokenManager.getPluginToken());
37
+ headers['X-Plugin-Token'] = token;
38
+ if (context.userKey) {
39
+ headers['X-User-Key'] = context.userKey;
40
+ }
41
+ else {
42
+ logger.debug('Plugin auth used without userKey');
43
+ }
44
+ applyAuthModeHeader(headers, context.authMode, context.userKey, logger);
45
+ return headers;
46
+ }
47
+ const userKey = context.userKey;
48
+ if (userKey) {
49
+ const userToken = await tokenManager.getUserToken(userKey);
50
+ if (userToken) {
51
+ headers['X-Plugin-Token'] = userToken;
52
+ return headers;
53
+ }
54
+ const pluginToken = await tokenManager.getPluginToken();
55
+ headers['X-Plugin-Token'] = pluginToken;
56
+ headers['X-User-Key'] = userKey;
57
+ applyAuthModeHeader(headers, context.authMode, userKey, logger);
58
+ return headers;
59
+ }
60
+ const pluginToken = await tokenManager.getPluginToken();
61
+ headers['X-Plugin-Token'] = pluginToken;
62
+ applyAuthModeHeader(headers, context.authMode, undefined, logger);
63
+ return headers;
64
+ }
65
+ /**
66
+ * 构建请求头(包含 Content-Type 和幂等键)
67
+ */
68
+ async function buildHeaders(auth, idempotencyKey) {
69
+ const headers = await buildAuthHeaders(auth);
70
+ headers['Content-Type'] = 'application/json';
71
+ // 幂等键
72
+ if (idempotencyKey) {
73
+ headers['X-IDEM-UUID'] = idempotencyKey;
74
+ }
75
+ return headers;
76
+ }
77
+ /**
78
+ * 构建文件上传请求头 (不包含 Content-Type)
79
+ */
80
+ async function buildHeadersForUpload(auth) {
81
+ return buildAuthHeaders(auth);
82
+ }
83
+ return {
84
+ buildHeaders,
85
+ buildAuthHeaders,
86
+ buildHeadersForUpload,
87
+ };
88
+ }
89
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/core/request/auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * 下载处理
3
+ */
4
+ import type { Logger } from '../../types/common.js';
5
+ import type { DownloadProgress, DownloadProgressOptions } from './types.js';
6
+ /**
7
+ * 获取响应内容长度
8
+ */
9
+ export declare function getContentLength(response: Response): number | undefined;
10
+ /**
11
+ * 构建下载进度对象
12
+ */
13
+ export declare function buildDownloadProgress(receivedBytes: number, totalBytes?: number): DownloadProgress;
14
+ /**
15
+ * 触发下载进度回调(带错误处理)
16
+ */
17
+ export declare function emitDownloadProgress(options: DownloadProgressOptions, progress: DownloadProgress, chunk: Uint8Array | undefined, logger: Logger): void;
18
+ /**
19
+ * 将流读取为 ArrayBuffer
20
+ */
21
+ export declare function readStreamToArrayBuffer(stream: ReadableStream<Uint8Array>, options: DownloadProgressOptions, totalBytes: number | undefined, logger: Logger): Promise<ArrayBuffer>;
22
+ /**
23
+ * 包装流以添加进度追踪
24
+ */
25
+ export declare function wrapStreamWithProgress(stream: ReadableStream<Uint8Array>, options: DownloadProgressOptions, totalBytes: number | undefined, logger: Logger): ReadableStream<Uint8Array>;
26
+ /**
27
+ * 解析下载响应
28
+ */
29
+ export declare function parseDownloadResponse(response: Response, options: DownloadProgressOptions | undefined, logger: Logger): Promise<ArrayBuffer>;
30
+ /**
31
+ * 解析流式下载响应
32
+ */
33
+ export declare function parseDownloadStreamResponse(response: Response, options: DownloadProgressOptions | undefined, logger: Logger): Promise<ReadableStream<Uint8Array>>;
34
+ //# sourceMappingURL=download.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../../src/core/request/download.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAI5E;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,CAOvE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAIlG;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,uBAAuB,EAChC,QAAQ,EAAE,gBAAgB,EAC1B,KAAK,EAAE,UAAU,GAAG,SAAS,EAC7B,MAAM,EAAE,MAAM,GACb,IAAI,CAsBN;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,EAClC,OAAO,EAAE,uBAAuB,EAChC,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC,CAiDtB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,EAClC,OAAO,EAAE,uBAAuB,EAChC,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,MAAM,EAAE,MAAM,GACb,cAAc,CAAC,UAAU,CAAC,CAgD5B;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,uBAAuB,GAAG,SAAS,EAC5C,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC,CAiCtB;AAED;;GAEG;AACH,wBAAsB,2BAA2B,CAC/C,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,uBAAuB,GAAG,SAAS,EAC5C,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAkCrC"}
@@ -0,0 +1,212 @@
1
+ /**
2
+ * 下载处理
3
+ */
4
+ import { MeegoError, MeegoAbortError } from '../errors.js';
5
+ import { parseEnvelope, HttpStatusError } from './response-parser.js';
6
+ /**
7
+ * 获取响应内容长度
8
+ */
9
+ export function getContentLength(response) {
10
+ const headerValue = response.headers.get('content-length');
11
+ if (!headerValue) {
12
+ return undefined;
13
+ }
14
+ const parsed = Number.parseInt(headerValue, 10);
15
+ return Number.isFinite(parsed) && parsed > 0 ? parsed : undefined;
16
+ }
17
+ /**
18
+ * 构建下载进度对象
19
+ */
20
+ export function buildDownloadProgress(receivedBytes, totalBytes) {
21
+ const progress = typeof totalBytes === 'number' && totalBytes > 0 ? receivedBytes / totalBytes : undefined;
22
+ return { receivedBytes, totalBytes, progress };
23
+ }
24
+ /**
25
+ * 触发下载进度回调(带错误处理)
26
+ */
27
+ export function emitDownloadProgress(options, progress, chunk, logger) {
28
+ if (options.onProgress) {
29
+ try {
30
+ options.onProgress(progress);
31
+ }
32
+ catch (error) {
33
+ logger.warn('Download progress callback error', {
34
+ callback: 'onProgress',
35
+ error: error instanceof Error ? error.message : 'Unknown error',
36
+ });
37
+ }
38
+ }
39
+ if (chunk && options.onChunk) {
40
+ try {
41
+ options.onChunk(chunk, progress);
42
+ }
43
+ catch (error) {
44
+ logger.warn('Download chunk callback error', {
45
+ callback: 'onChunk',
46
+ error: error instanceof Error ? error.message : 'Unknown error',
47
+ });
48
+ }
49
+ }
50
+ }
51
+ /**
52
+ * 将流读取为 ArrayBuffer
53
+ */
54
+ export async function readStreamToArrayBuffer(stream, options, totalBytes, logger) {
55
+ const reader = stream.getReader();
56
+ const chunks = [];
57
+ let receivedBytes = 0;
58
+ let aborted = false;
59
+ const handleAbort = () => {
60
+ aborted = true;
61
+ reader.cancel().catch(() => undefined);
62
+ };
63
+ if (options.signal) {
64
+ if (options.signal.aborted) {
65
+ handleAbort();
66
+ throw new MeegoAbortError();
67
+ }
68
+ options.signal.addEventListener('abort', handleAbort, { once: true });
69
+ }
70
+ try {
71
+ while (true) {
72
+ if (aborted || options.signal?.aborted) {
73
+ throw new MeegoAbortError();
74
+ }
75
+ const { done, value } = await reader.read();
76
+ if (done) {
77
+ break;
78
+ }
79
+ if (!value) {
80
+ continue;
81
+ }
82
+ receivedBytes += value.byteLength;
83
+ const progress = buildDownloadProgress(receivedBytes, totalBytes);
84
+ emitDownloadProgress(options, progress, value, logger);
85
+ chunks.push(value);
86
+ }
87
+ }
88
+ finally {
89
+ if (options.signal) {
90
+ options.signal.removeEventListener('abort', handleAbort);
91
+ }
92
+ }
93
+ const buffer = new Uint8Array(receivedBytes);
94
+ let offset = 0;
95
+ for (const chunk of chunks) {
96
+ buffer.set(chunk, offset);
97
+ offset += chunk.byteLength;
98
+ }
99
+ return buffer.buffer;
100
+ }
101
+ /**
102
+ * 包装流以添加进度追踪
103
+ */
104
+ export function wrapStreamWithProgress(stream, options, totalBytes, logger) {
105
+ const reader = stream.getReader();
106
+ let receivedBytes = 0;
107
+ let abortHandler;
108
+ const cleanupAbortListener = () => {
109
+ if (options.signal && abortHandler) {
110
+ options.signal.removeEventListener('abort', abortHandler);
111
+ abortHandler = undefined;
112
+ }
113
+ };
114
+ return new ReadableStream({
115
+ start: (controller) => {
116
+ if (!options.signal) {
117
+ return;
118
+ }
119
+ abortHandler = () => {
120
+ cleanupAbortListener();
121
+ reader.cancel().catch(() => undefined);
122
+ controller.error(new MeegoAbortError());
123
+ };
124
+ if (options.signal.aborted) {
125
+ abortHandler();
126
+ }
127
+ else {
128
+ options.signal.addEventListener('abort', abortHandler, { once: true });
129
+ }
130
+ },
131
+ pull: async (controller) => {
132
+ const { done, value } = await reader.read();
133
+ if (done) {
134
+ cleanupAbortListener();
135
+ controller.close();
136
+ return;
137
+ }
138
+ if (!value) {
139
+ return;
140
+ }
141
+ receivedBytes += value.byteLength;
142
+ const progress = buildDownloadProgress(receivedBytes, totalBytes);
143
+ emitDownloadProgress(options, progress, value, logger);
144
+ controller.enqueue(value);
145
+ },
146
+ cancel: async (reason) => {
147
+ cleanupAbortListener();
148
+ await reader.cancel(reason);
149
+ },
150
+ });
151
+ }
152
+ /**
153
+ * 解析下载响应
154
+ */
155
+ export async function parseDownloadResponse(response, options, logger) {
156
+ const contentType = response.headers.get('content-type') || '';
157
+ if (contentType.includes('application/json')) {
158
+ await parseEnvelope(response);
159
+ // parseEnvelope 成功但返回 JSON 而非二进制数据,使用 -1 表示意外的响应格式
160
+ throw new MeegoError('Unexpected JSON response for download', -1, 'Unexpected response');
161
+ }
162
+ if (!response.ok) {
163
+ throw new HttpStatusError(response.status, response.statusText);
164
+ }
165
+ const totalBytes = getContentLength(response);
166
+ const progressOptions = options ?? {};
167
+ if (!response.body) {
168
+ const buffer = await response.arrayBuffer();
169
+ if (progressOptions.onProgress || progressOptions.onChunk) {
170
+ const receivedBytes = buffer.byteLength;
171
+ const progress = buildDownloadProgress(receivedBytes, totalBytes ?? receivedBytes);
172
+ emitDownloadProgress(progressOptions, progress, new Uint8Array(buffer), logger);
173
+ }
174
+ return buffer;
175
+ }
176
+ if (!progressOptions.onProgress && !progressOptions.onChunk) {
177
+ return response.arrayBuffer();
178
+ }
179
+ return readStreamToArrayBuffer(response.body, progressOptions, totalBytes, logger);
180
+ }
181
+ /**
182
+ * 解析流式下载响应
183
+ */
184
+ export async function parseDownloadStreamResponse(response, options, logger) {
185
+ const contentType = response.headers.get('content-type') || '';
186
+ if (contentType.includes('application/json')) {
187
+ await parseEnvelope(response);
188
+ // parseEnvelope 成功但返回 JSON 而非二进制数据,使用 -1 表示意外的响应格式
189
+ throw new MeegoError('Unexpected JSON response for download', -1, 'Unexpected response');
190
+ }
191
+ if (!response.ok) {
192
+ throw new HttpStatusError(response.status, response.statusText);
193
+ }
194
+ const totalBytes = getContentLength(response);
195
+ const progressOptions = options ?? {};
196
+ if (!response.body) {
197
+ const buffer = new Uint8Array(await response.arrayBuffer());
198
+ if (progressOptions.onProgress || progressOptions.onChunk) {
199
+ const receivedBytes = buffer.byteLength;
200
+ const progress = buildDownloadProgress(receivedBytes, totalBytes ?? receivedBytes);
201
+ emitDownloadProgress(progressOptions, progress, buffer, logger);
202
+ }
203
+ return new ReadableStream({
204
+ start(controller) {
205
+ controller.enqueue(buffer);
206
+ controller.close();
207
+ },
208
+ });
209
+ }
210
+ return wrapStreamWithProgress(response.body, progressOptions, totalBytes, logger);
211
+ }
212
+ //# sourceMappingURL=download.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"download.js","sourceRoot":"","sources":["../../../src/core/request/download.ts"],"names":[],"mappings":"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"}