@wps-agent/wps-sdk 1.0.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 (37) hide show
  1. package/dist/api/client.d.ts +374 -0
  2. package/dist/api/client.d.ts.map +1 -0
  3. package/dist/api/client.js +566 -0
  4. package/dist/api/client.js.map +1 -0
  5. package/dist/auth/providers/base.d.ts +23 -0
  6. package/dist/auth/providers/base.d.ts.map +1 -0
  7. package/dist/auth/providers/base.js +43 -0
  8. package/dist/auth/providers/base.js.map +1 -0
  9. package/dist/auth/providers/wps.d.ts +108 -0
  10. package/dist/auth/providers/wps.d.ts.map +1 -0
  11. package/dist/auth/providers/wps.js +242 -0
  12. package/dist/auth/providers/wps.js.map +1 -0
  13. package/dist/auth/server.d.ts +50 -0
  14. package/dist/auth/server.d.ts.map +1 -0
  15. package/dist/auth/server.js +251 -0
  16. package/dist/auth/server.js.map +1 -0
  17. package/dist/auth/storage/file.d.ts +70 -0
  18. package/dist/auth/storage/file.d.ts.map +1 -0
  19. package/dist/auth/storage/file.js +120 -0
  20. package/dist/auth/storage/file.js.map +1 -0
  21. package/dist/auth/storage/interface.d.ts +14 -0
  22. package/dist/auth/storage/interface.d.ts.map +1 -0
  23. package/dist/auth/storage/interface.js +5 -0
  24. package/dist/auth/storage/interface.js.map +1 -0
  25. package/dist/index.d.ts +16 -0
  26. package/dist/index.d.ts.map +1 -0
  27. package/dist/index.js +17 -0
  28. package/dist/index.js.map +1 -0
  29. package/dist/types/api-client.d.ts +229 -0
  30. package/dist/types/api-client.d.ts.map +1 -0
  31. package/dist/types/api-client.js +7 -0
  32. package/dist/types/api-client.js.map +1 -0
  33. package/dist/types/index.d.ts +5 -0
  34. package/dist/types/index.d.ts.map +1 -0
  35. package/dist/types/index.js +7 -0
  36. package/dist/types/index.js.map +1 -0
  37. package/package.json +53 -0
@@ -0,0 +1,374 @@
1
+ /**
2
+ * WPS API 客户端
3
+ *
4
+ * 封装对金山文档 API 的调用 - 纯 API 封装,无业务逻辑
5
+ */
6
+ import type { Logger } from '@wps-agent/shared';
7
+ import { WpsAuthProvider } from '../auth/providers/wps.js';
8
+ import type { IWpsApiClient } from '../types/api-client.js';
9
+ export interface WpsApiClientConfig {
10
+ authProvider: WpsAuthProvider;
11
+ userId?: string;
12
+ logger?: Logger;
13
+ apiBaseUrl?: string;
14
+ }
15
+ /**
16
+ * WPS API 客户端
17
+ *
18
+ * 纯 API 封装,不包含任何业务逻辑
19
+ */
20
+ export declare class WpsApiClient implements IWpsApiClient {
21
+ private authProvider;
22
+ private userId;
23
+ private logger;
24
+ private apiBaseUrl;
25
+ constructor(options: WpsApiClientConfig);
26
+ /**
27
+ * 获取有效的 access_token
28
+ */
29
+ private getAccessToken;
30
+ /**
31
+ * 发送 HTTP 请求
32
+ */
33
+ private request;
34
+ /**
35
+ * 获取 Drive 列表
36
+ * API 文档: https://365.kdocs.cn/3rd/open/documents/app-integration-dev/wps365/server/yundoc/drive/get-drive-list
37
+ */
38
+ getDrives(params?: {
39
+ pageSize?: number;
40
+ pageToken?: string;
41
+ }): Promise<{
42
+ drives: Array<{
43
+ id: string;
44
+ name: string;
45
+ companyId: string;
46
+ status: string;
47
+ quota: {
48
+ total: number;
49
+ used: number;
50
+ remaining: number;
51
+ deleted: number;
52
+ };
53
+ createdBy: {
54
+ id: string;
55
+ name: string;
56
+ type: string;
57
+ avatar?: string;
58
+ companyId?: string;
59
+ };
60
+ ctime: number;
61
+ mtime: number;
62
+ source?: string;
63
+ description?: string;
64
+ }>;
65
+ nextPageToken?: string;
66
+ }>;
67
+ /**
68
+ * 创建文件/文件夹
69
+ * API 文档: https://openapi.wps.cn/v7/drives/{drive_id}/files/{parent_id}/create
70
+ */
71
+ createFile(params: {
72
+ driveId: string;
73
+ parentId: string;
74
+ name: string;
75
+ fileType: string;
76
+ onNameConflict?: 'fail' | 'rename' | 'overwrite';
77
+ }): Promise<{
78
+ id: string;
79
+ linkId: string;
80
+ linkUrl: string;
81
+ driveId: string;
82
+ name: string;
83
+ type: string;
84
+ }>;
85
+ /**
86
+ * 搜索文件
87
+ * API 文档: https://openapi.wps.cn/v7/files/search
88
+ */
89
+ searchFiles(params: {
90
+ keyword?: string;
91
+ type: 'file_name' | 'content' | 'all';
92
+ pageSize?: number;
93
+ pageToken?: string;
94
+ fileType?: 'folder' | 'file' | 'shortcut';
95
+ withTotal?: boolean;
96
+ }): Promise<{
97
+ files: Array<{
98
+ id: string;
99
+ name: string;
100
+ type: string;
101
+ linkUrl: string;
102
+ driveId: string;
103
+ parentId: string;
104
+ }>;
105
+ total?: number;
106
+ nextPageToken?: string;
107
+ }>;
108
+ /**
109
+ * 获取文件信息
110
+ */
111
+ getFile(driveId: string, fileId: string): Promise<{
112
+ id: string;
113
+ name: string;
114
+ type: string;
115
+ linkUrl: string;
116
+ driveId: string;
117
+ parentId: string;
118
+ }>;
119
+ /**
120
+ * 列出文件
121
+ * API 文档: https://openapi.wps.cn/v7/drives/{drive_id}/files/{parent_id}/list
122
+ */
123
+ listFiles(driveId: string, parentId: string, params?: {
124
+ pageSize?: number;
125
+ pageToken?: string;
126
+ fileType?: 'folder' | 'file' | 'shortcut';
127
+ orderBy?: string;
128
+ orderByAsc?: boolean;
129
+ }): Promise<{
130
+ files: Array<{
131
+ id: string;
132
+ name: string;
133
+ type: string;
134
+ linkUrl: string;
135
+ driveId: string;
136
+ parentId: string;
137
+ createdAt: number;
138
+ modifiedAt: number;
139
+ fileSize: number;
140
+ }>;
141
+ nextPageToken?: string;
142
+ }>;
143
+ /**
144
+ * 删除文件
145
+ * API 文档: https://openapi.wps.cn/v7/drives/{drive_id}/files/{file_id}
146
+ */
147
+ deleteFile(driveId: string, fileId: string): Promise<void>;
148
+ /**
149
+ * 复制文件
150
+ * API 文档: https://openapi.wps.cn/v7/drives/{drive_id}/files/{file_id}/copy
151
+ */
152
+ copyFile(params: {
153
+ driveId: string;
154
+ fileId: string;
155
+ targetDriveId: string;
156
+ targetParentId: string;
157
+ onNameConflict?: 'fail' | 'rename' | 'overwrite';
158
+ }): Promise<{
159
+ id: string;
160
+ linkId: string;
161
+ linkUrl: string;
162
+ name: string;
163
+ }>;
164
+ /**
165
+ * 移动文件
166
+ * API 文档: https://openapi.wps.cn/v7/drives/{drive_id}/files/{file_id}/move
167
+ */
168
+ moveFile(params: {
169
+ driveId: string;
170
+ fileId: string;
171
+ targetDriveId: string;
172
+ targetParentId: string;
173
+ onNameConflict?: 'fail' | 'rename' | 'overwrite';
174
+ }): Promise<{
175
+ id: string;
176
+ linkId: string;
177
+ linkUrl: string;
178
+ name: string;
179
+ }>;
180
+ /**
181
+ * 重命名文件
182
+ * API 文档: https://openapi.wps.cn/v7/drives/{drive_id}/files/{file_id}/rename
183
+ */
184
+ renameFile(driveId: string, fileId: string, newName: string): Promise<{
185
+ id: string;
186
+ name: string;
187
+ }>;
188
+ /**
189
+ * 查询文档块
190
+ * API 文档: https://open.wps.cn/documents/app-integration-dev/wps365/server/airpage/introduce
191
+ * 端点: POST /v7/airpage/{file_id}/blocks
192
+ */
193
+ getBlocks(fileId: string, arg: {
194
+ blockId?: string;
195
+ }): Promise<{
196
+ blocks: Array<{
197
+ id: string;
198
+ type: string;
199
+ content: unknown;
200
+ attrs?: Record<string, unknown>;
201
+ [key: string]: unknown;
202
+ }>;
203
+ version: number;
204
+ }>;
205
+ /**
206
+ * 批量查询文档块
207
+ * API 文档: https://open.wps.cn/documents/app-integration-dev/wps365/server/airpage/introduce
208
+ * 端点: POST /v7/airpage/{file_id}/blocks/batch_get
209
+ */
210
+ batchGetBlocks(fileId: string, arg: {
211
+ blockIds: string[];
212
+ }): Promise<{
213
+ blocks: Array<{
214
+ id: string;
215
+ type: string;
216
+ content: unknown;
217
+ attrs?: Record<string, unknown>;
218
+ [key: string]: unknown;
219
+ }>;
220
+ version: number;
221
+ }>;
222
+ /**
223
+ * 创建块内容
224
+ * API 文档: https://open.wps.cn/documents/app-integration-dev/wps365/server/airpage/introduce
225
+ * 端点: POST /v7/airpage/{file_id}/blocks/create
226
+ */
227
+ createBlocks(fileId: string, arg: {
228
+ blockId: string;
229
+ index?: number;
230
+ content: Array<Record<string, unknown>>;
231
+ }): Promise<{
232
+ blockId: string;
233
+ version: number;
234
+ }>;
235
+ /**
236
+ * 更新文档块
237
+ * API 文档: https://open.wps.cn/documents/app-integration-dev/wps365/server/airpage/introduce
238
+ * 端点: POST /v7/airpage/{file_id}/blocks/update
239
+ */
240
+ updateBlocks(fileId: string, arg: {
241
+ operation: string;
242
+ blockId: string;
243
+ [key: string]: unknown;
244
+ }): Promise<{
245
+ version: number;
246
+ blocks: Array<Record<string, unknown>>;
247
+ }>;
248
+ /**
249
+ * 批量更新文档块
250
+ * API 文档: https://open.wps.cn/documents/app-integration-dev/wps365/server/airpage/introduce
251
+ * 端点: POST /v7/airpage/{file_id}/blocks/batch_update
252
+ */
253
+ batchUpdateBlocks(fileId: string, args: Array<{
254
+ operation: string;
255
+ blockId: string;
256
+ [key: string]: unknown;
257
+ }>): Promise<{
258
+ version: number;
259
+ blocks: Array<Record<string, unknown>>;
260
+ }>;
261
+ /**
262
+ * 删除块内容
263
+ * API 文档: https://open.wps.cn/documents/app-integration-dev/wps365/server/airpage/introduce
264
+ * 端点: POST /v7/airpage/{file_id}/blocks/delete
265
+ */
266
+ deleteBlocks(fileId: string, arg: {
267
+ blockId: string;
268
+ startIndex: number;
269
+ endIndex: number;
270
+ }): Promise<{
271
+ blockId: string;
272
+ version: number;
273
+ }>;
274
+ /**
275
+ * 批量删除块内容
276
+ * API 文档: https://open.wps.cn/documents/app-integration-dev/wps365/server/airpage/introduce
277
+ * 端点: POST /v7/airpage/{file_id}/blocks/batch_delete
278
+ */
279
+ batchDeleteBlocks(fileId: string, args: Array<{
280
+ blockId: string;
281
+ startIndex: number;
282
+ endIndex: number;
283
+ }>): Promise<Array<{
284
+ blockId: string;
285
+ version: number;
286
+ }>>;
287
+ /**
288
+ * 转换文档块
289
+ * API 文档: https://open.wps.cn/documents/app-integration-dev/wps365/server/airpage/introduce
290
+ * 端点: POST /v7/airpage/{file_id}/blocks/convert
291
+ */
292
+ convertBlocks(fileId: string, arg: {
293
+ format: 'markdown' | 'html';
294
+ content: string;
295
+ }): Promise<Array<Record<string, unknown>>>;
296
+ /**
297
+ * 申请上传地址(附件多段式上传 - 第一步)
298
+ * API 文档: https://365.kdocs.cn/3rd/open/documents/app-integration-dev/wps365/server/documents/attachments/multiupload-1-request-upload-address
299
+ */
300
+ requestAttachmentUploadUrl(params: {
301
+ fileId: string;
302
+ fileName: string;
303
+ fileSize: number;
304
+ fileType?: string;
305
+ }): Promise<{
306
+ uploadUrl: string;
307
+ uploadMethod: string;
308
+ uploadHeaders: Record<string, string>;
309
+ key: string;
310
+ uploadId: string;
311
+ }>;
312
+ /**
313
+ * 提交上传完成(附件多段式上传 - 第三步)
314
+ * API 文档: https://365.kdocs.cn/3rd/open/documents/app-integration-dev/wps365/server/documents/attachments/multiupload-3-commit-upload
315
+ */
316
+ commitAttachmentUpload(params: {
317
+ fileId: string;
318
+ key: string;
319
+ uploadId: string;
320
+ fileName: string;
321
+ fileSize: number;
322
+ etag?: string;
323
+ }): Promise<{
324
+ attachmentId: string;
325
+ fileId: string;
326
+ fileName: string;
327
+ }>;
328
+ /**
329
+ * 批量查询附件信息
330
+ * API 文档: https://365.kdocs.cn/3rd/open/documents/app-integration-dev/wps365/server/documents/attachments/batch-query
331
+ */
332
+ getAttachments(fileId: string): Promise<Array<{
333
+ id: string;
334
+ fileName: string;
335
+ fileSize: number;
336
+ fileType: string;
337
+ downloadUrl: string;
338
+ createdAt: number;
339
+ }>>;
340
+ /**
341
+ * 上传附件(完整流程,封装多段式上传)
342
+ *
343
+ * @param fileId - 文档ID
344
+ * @param file - 文件对象(浏览器环境)或 Buffer(Node.js 环境)
345
+ * @param fileName - 文件名
346
+ * @param onProgress - 上传进度回调(可选)
347
+ *
348
+ * @example
349
+ * // 浏览器环境
350
+ * const result = await api.uploadAttachment('fileId', fileInput.files[0], 'document.pdf');
351
+ *
352
+ * // Node.js 环境
353
+ * const result = await api.uploadAttachment('fileId', fs.readFileSync('doc.pdf'), 'document.pdf');
354
+ */
355
+ uploadAttachment(fileId: string, file: File | Buffer, fileName?: string, onProgress?: (progress: number) => void): Promise<{
356
+ attachmentId: string;
357
+ fileId: string;
358
+ fileName: string;
359
+ }>;
360
+ /**
361
+ * 上传图片(完整流程,封装多段式上传)
362
+ *
363
+ * @param fileId - 文档ID
364
+ * @param file - 图片文件对象或 Buffer
365
+ * @param fileName - 文件名(可选)
366
+ * @param onProgress - 上传进度回调(可选)
367
+ */
368
+ uploadImage(fileId: string, file: File | Buffer, fileName?: string, onProgress?: (progress: number) => void): Promise<{
369
+ attachmentId: string;
370
+ fileId: string;
371
+ fileName: string;
372
+ }>;
373
+ }
374
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"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"}