@xihe-lab/tapd-core 2.0.0-rc.2 → 2.0.0-rc.3

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 (87) hide show
  1. package/README.md +1 -0
  2. package/dist/advisor/index.d.ts.map +1 -1
  3. package/dist/advisor/index.js +2 -0
  4. package/dist/advisor/index.js.map +1 -1
  5. package/dist/cache/read-cache.d.ts +136 -0
  6. package/dist/cache/read-cache.d.ts.map +1 -0
  7. package/dist/cache/read-cache.js +322 -0
  8. package/dist/cache/read-cache.js.map +1 -0
  9. package/dist/cache/read-cache.test.d.ts +2 -0
  10. package/dist/cache/read-cache.test.d.ts.map +1 -0
  11. package/dist/cache/read-cache.test.js +429 -0
  12. package/dist/cache/read-cache.test.js.map +1 -0
  13. package/dist/errors/index.d.ts +120 -0
  14. package/dist/errors/index.d.ts.map +1 -0
  15. package/dist/errors/index.js +429 -0
  16. package/dist/errors/index.js.map +1 -0
  17. package/dist/index.d.ts +3 -0
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +2 -0
  20. package/dist/index.js.map +1 -1
  21. package/dist/registry/registry.d.ts +7 -0
  22. package/dist/registry/registry.d.ts.map +1 -1
  23. package/dist/registry/registry.js +9 -3
  24. package/dist/registry/registry.js.map +1 -1
  25. package/dist/registry/registry.test.js +293 -2
  26. package/dist/registry/registry.test.js.map +1 -1
  27. package/dist/tapd-client.d.ts +34 -2
  28. package/dist/tapd-client.d.ts.map +1 -1
  29. package/dist/tapd-client.js +121 -42
  30. package/dist/tapd-client.js.map +1 -1
  31. package/dist/tools/attachment.js +40 -40
  32. package/dist/tools/attachment.js.map +1 -1
  33. package/dist/tools/board.js +22 -22
  34. package/dist/tools/board.js.map +1 -1
  35. package/dist/tools/bug.js +259 -259
  36. package/dist/tools/bug.js.map +1 -1
  37. package/dist/tools/changes.js +20 -20
  38. package/dist/tools/changes.js.map +1 -1
  39. package/dist/tools/comment.js +23 -23
  40. package/dist/tools/comment.js.map +1 -1
  41. package/dist/tools/custom-fields.js +16 -16
  42. package/dist/tools/custom-fields.js.map +1 -1
  43. package/dist/tools/image.js +2 -2
  44. package/dist/tools/image.js.map +1 -1
  45. package/dist/tools/iteration.js +50 -50
  46. package/dist/tools/iteration.js.map +1 -1
  47. package/dist/tools/media.js +2 -2
  48. package/dist/tools/media.js.map +1 -1
  49. package/dist/tools/mini-comment.js +27 -27
  50. package/dist/tools/mini-comment.js.map +1 -1
  51. package/dist/tools/mini-item.js +83 -83
  52. package/dist/tools/mini-item.js.map +1 -1
  53. package/dist/tools/mini-workspace.js +5 -5
  54. package/dist/tools/mini-workspace.js.map +1 -1
  55. package/dist/tools/program.js +7 -7
  56. package/dist/tools/program.js.map +1 -1
  57. package/dist/tools/relations.js +14 -14
  58. package/dist/tools/relations.js.map +1 -1
  59. package/dist/tools/release.js +53 -53
  60. package/dist/tools/release.js.map +1 -1
  61. package/dist/tools/report.js +8 -8
  62. package/dist/tools/report.js.map +1 -1
  63. package/dist/tools/settings.js +77 -77
  64. package/dist/tools/settings.js.map +1 -1
  65. package/dist/tools/source.js +14 -14
  66. package/dist/tools/source.js.map +1 -1
  67. package/dist/tools/story.js +120 -120
  68. package/dist/tools/story.js.map +1 -1
  69. package/dist/tools/task.js +123 -123
  70. package/dist/tools/task.js.map +1 -1
  71. package/dist/tools/test.js +117 -117
  72. package/dist/tools/test.js.map +1 -1
  73. package/dist/tools/timesheet.js +23 -23
  74. package/dist/tools/timesheet.js.map +1 -1
  75. package/dist/tools/user.js +8 -8
  76. package/dist/tools/user.js.map +1 -1
  77. package/dist/tools/utility.d.ts +17 -0
  78. package/dist/tools/utility.d.ts.map +1 -1
  79. package/dist/tools/utility.js +73 -78
  80. package/dist/tools/utility.js.map +1 -1
  81. package/dist/tools/wiki.js +51 -51
  82. package/dist/tools/wiki.js.map +1 -1
  83. package/dist/tools/workflow.js +26 -26
  84. package/dist/tools/workflow.js.map +1 -1
  85. package/dist/tools/workspace.js +16 -16
  86. package/dist/tools/workspace.js.map +1 -1
  87. package/package.json +9 -8
@@ -10,12 +10,19 @@
10
10
  * - GET SDK failures fall back to fetch (read-only, idempotent)
11
11
  * - POST SDK failures throw directly (never fallback, avoid duplicate writes)
12
12
  * - Set TAPD_SDK_DISABLED=1 to bypass the SDK entirely (rollback switch)
13
+ *
14
+ * GET 通道前置只读数据 TTL 缓存(cache/read-cache.ts):仅 allowlist 内低频端点
15
+ * (workitem_types / workflow / 成员 / 自定义字段配置 / settings 系 / 分类 / 角色)
16
+ * 参与缓存(TTL + LRU + in-flight 去重 + 深拷贝返回),其余请求一律直连。
17
+ * TAPD_CACHE=off 关闭;TAPD_CACHE_DEBUG=1 打命中日志;失效用 invalidateCache()。
13
18
  */
14
19
  import { ReadStream } from 'node:fs';
15
20
  import { readFile } from 'node:fs/promises';
16
21
  import { basename } from 'node:path';
17
22
  import TapdSdk from '@opentapd/tapd-node-sdk';
18
23
  import { SDK_ROUTES } from './sdk-routes.js';
24
+ import { cachedGet } from './cache/read-cache.js';
25
+ import { parseRetryAfterMs, sanitizeParamsForError, TapdError } from './errors/index.js';
19
26
  export class TapdClient {
20
27
  authHeader;
21
28
  baseUrl;
@@ -26,6 +33,15 @@ export class TapdClient {
26
33
  sdk;
27
34
  sdkEnabled = process.env.TAPD_SDK_DISABLED !== '1';
28
35
  verbose = process.env.TAPD_LOG_VERBOSE === '1';
36
+ /**
37
+ * GET 重试指数退避基数(毫秒):延迟 = base * 2^attempt(1s, 2s, 4s)。
38
+ * 公开静态以便测试注入小值加速、运维按需调参;429 携带 Retry-After 时优先采用其值(上限 30s)。
39
+ */
40
+ static retryBackoffBaseMs = 1000;
41
+ static MAX_RETRIES = 3;
42
+ static RETRYABLE_STATUS = new Set([429, 500, 502, 503]);
43
+ /** Retry-After 退避上限:避免服务端给出超长等待时占死工具超时预算(原始值仍透出在错误详情)。 */
44
+ static RETRY_AFTER_CAP_MS = 30_000;
29
45
  constructor(authHeader, baseUrl, authType, apiUser, apiPassword, accessToken) {
30
46
  this.authHeader = authHeader;
31
47
  this.baseUrl = baseUrl ?? process.env.TAPD_API_BASE_URL ?? 'https://api.tapd.cn';
@@ -135,10 +151,10 @@ export class TapdClient {
135
151
  restoreNewline ? String(value).replace(/\\n/g, '\n') : String(value),
136
152
  ]));
137
153
  }
138
- unwrap(response) {
154
+ unwrap(response, ctx, attempts) {
139
155
  const result = response;
140
156
  if (result.status !== 1) {
141
- throw new Error(`TAPD API error: ${result.info ?? 'Unknown error'}`);
157
+ throw TapdError.apiStatus(ctx, result.status, result.info ?? '', attempts);
142
158
  }
143
159
  return result.data;
144
160
  }
@@ -154,22 +170,36 @@ export class TapdClient {
154
170
  return this.sdk;
155
171
  }
156
172
  /**
157
- * Route a request through the SDK when the method+path is mapped,
158
- * otherwise (and on read-only SDK failure) through the fetch client.
173
+ * 请求入口:GET 先过只读缓存门面(allowlist 内端点命中即返,未命中并发去重),
174
+ * 再走 SDK/fetch 网络通道;POST 与 multipart 不参与缓存,直连网络通道。
175
+ * 返回值形态与直连完全一致(命中为深拷贝,防消费方 mutate 污染缓存)。
176
+ */
177
+ route(method, path, params) {
178
+ if (method === 'GET') {
179
+ return cachedGet(this.baseUrl, path, params, () => this.routeNetwork(method, path, params));
180
+ }
181
+ return this.routeNetwork(method, path, params);
182
+ }
183
+ /**
184
+ * Network channel: route a request through the SDK when the method+path is
185
+ * mapped, otherwise (and on read-only SDK failure) through the fetch client.
159
186
  */
160
- async route(method, path, params) {
187
+ async routeNetwork(method, path, params) {
161
188
  const sdkMethod = this.sdkEnabled ? SDK_ROUTES[`${method} ${path}`] : undefined;
162
189
  if (sdkMethod) {
190
+ const ctx = { method, path, params: sanitizeParamsForError(params) };
163
191
  try {
164
192
  const encoded = TapdClient.encodeParams(method, params);
165
193
  const sdk = this.getSdk();
166
194
  const response = await sdk[sdkMethod](encoded);
167
- return this.unwrap(response);
195
+ return this.unwrap(response, ctx);
168
196
  }
169
197
  catch (error) {
170
198
  if (method === 'POST') {
171
- throw error;
199
+ // POST 失败直接抛(不回退 fetch,防重复写入);TapdError 原样保留结构,其余包成 TAPD_SDK_ERROR
200
+ throw error instanceof TapdError ? error : TapdError.sdk(ctx, error);
172
201
  }
202
+ // GET:SDK 通道任何失败(含 TAPD 业务错误)都回退 fetch 重读——只读幂等,保持既有回退契约
173
203
  if (this.verbose) {
174
204
  const message = error instanceof Error ? error.message : String(error);
175
205
  console.error(`[tapd-client] SDK ${sdkMethod} failed for ${method} ${path}, falling back to fetch: ${message}`);
@@ -178,6 +208,16 @@ export class TapdClient {
178
208
  }
179
209
  return this.request(method, path, params);
180
210
  }
211
+ /**
212
+ * Make HTTP request to TAPD API with retry support
213
+ *
214
+ * Retry policy:
215
+ * - Retry on 429/500/502/503 status codes and network-level failures
216
+ * - Max 3 retries with exponential backoff (1s, 2s, 4s); 429 的 Retry-After 优先(上限 30s)
217
+ * - POST requests do NOT retry (avoid duplicate creation)
218
+ * - 非 2xx 的确定性错误(400/401/403/404...)立即抛出,不做无谓重试
219
+ * - 所有错误统一抛 TapdError(结构化详情见 errors/index.ts)
220
+ */
181
221
  async request(method, path, params) {
182
222
  const url = new URL(path, this.baseUrl);
183
223
  const headers = {
@@ -194,9 +234,8 @@ export class TapdClient {
194
234
  headers['Content-Type'] = 'application/x-www-form-urlencoded';
195
235
  body = encoded.toString();
196
236
  }
197
- // Retry configuration
198
- const maxRetries = 3;
199
- const retryableStatusCodes = [429, 500, 502, 503];
237
+ const ctx = { method, path, params: sanitizeParamsForError(params) };
238
+ const maxRetries = TapdClient.MAX_RETRIES;
200
239
  const shouldRetry = method === 'GET'; // Only retry GET requests
201
240
  let lastError;
202
241
  for (let attempt = 0; attempt <= maxRetries; attempt++) {
@@ -208,12 +247,14 @@ export class TapdClient {
208
247
  });
209
248
  if (!response.ok) {
210
249
  const errorText = await response.text();
211
- const error = new Error(`TAPD API error: ${response.status} ${response.statusText} - ${errorText.slice(0, 200)}`);
212
- // Check if we should retry
213
- if (shouldRetry && retryableStatusCodes.includes(response.status) && attempt < maxRetries) {
250
+ const error = TapdError.http(ctx, response.status, response.statusText, errorText, {
251
+ retryAfterMs: parseRetryAfterMs(response.headers.get('retry-after')),
252
+ attempts: attempt + 1,
253
+ });
254
+ const retryable = shouldRetry && TapdClient.RETRYABLE_STATUS.has(response.status);
255
+ if (retryable && attempt < maxRetries) {
214
256
  lastError = error;
215
- const delayMs = Math.pow(2, attempt) * 1000; // 1s, 2s, 4s
216
- await new Promise(resolve => setTimeout(resolve, delayMs));
257
+ await new Promise(resolve => setTimeout(resolve, this.retryDelayMs(error.detail.retryAfterMs, attempt)));
217
258
  continue;
218
259
  }
219
260
  throw error;
@@ -221,23 +262,34 @@ export class TapdClient {
221
262
  const contentType = response.headers.get('content-type');
222
263
  if (!contentType?.includes('application/json')) {
223
264
  const text = await response.text();
224
- throw new Error(`TAPD API returned non-JSON response: ${text.slice(0, 100)}`);
265
+ throw TapdError.nonJson(ctx, text, attempt + 1);
225
266
  }
226
- return this.unwrap(await response.json());
267
+ return this.unwrap(await response.json(), ctx, attempt + 1);
227
268
  }
228
269
  catch (error) {
229
- // For non-retryable errors or final attempt, throw immediately
230
- if (!shouldRetry || attempt >= maxRetries) {
270
+ // 已归一的结构化错误(HTTP 状态/解析/业务错误)不属于网络故障,直接上抛
271
+ if (error instanceof TapdError) {
231
272
  throw error;
232
273
  }
233
- // For network errors, retry
234
- lastError = error instanceof Error ? error : new Error(String(error));
235
- const delayMs = Math.pow(2, attempt) * 1000;
236
- await new Promise(resolve => setTimeout(resolve, delayMs));
274
+ // 网络层异常(ECONNREFUSED / DNS / 中断等):GET 按指数退避重试
275
+ const networkError = TapdError.network(ctx, error, attempt + 1);
276
+ if (shouldRetry && attempt < maxRetries) {
277
+ lastError = networkError;
278
+ await new Promise(resolve => setTimeout(resolve, this.retryDelayMs(undefined, attempt)));
279
+ continue;
280
+ }
281
+ throw networkError;
237
282
  }
238
283
  }
239
284
  // All retries exhausted
240
- throw lastError ?? new Error('Request failed after all retries');
285
+ throw lastError ?? TapdError.network(ctx, new Error('Request failed after all retries'), maxRetries + 1);
286
+ }
287
+ /** 单次重试等待:429 的 Retry-After 优先(封顶 30s),否则指数退避 base * 2^attempt。 */
288
+ retryDelayMs(retryAfterMs, attempt) {
289
+ if (retryAfterMs !== undefined) {
290
+ return Math.min(retryAfterMs, TapdClient.RETRY_AFTER_CAP_MS);
291
+ }
292
+ return TapdClient.retryBackoffBaseMs * Math.pow(2, attempt);
241
293
  }
242
294
  /**
243
295
  * GET request to TAPD API
@@ -271,17 +323,32 @@ export class TapdClient {
271
323
  async postFile(path, params) {
272
324
  const sdkMethod = this.sdkEnabled ? SDK_ROUTES[`POST ${path}`] : undefined;
273
325
  if (sdkMethod) {
274
- // Scalars are stringified up-front: the SDK appends values to a
275
- // form-data payload as-is, so numbers/booleans must arrive as strings.
276
- const sdkParams = {};
277
- for (const [key, value] of Object.entries(params)) {
278
- if (value === undefined)
279
- continue;
280
- sdkParams[key] = value instanceof ReadStream ? value : String(value);
326
+ // 文件流参数不进错误详情(不可序列化且无脱敏价值),仅保留标量字段
327
+ const ctx = {
328
+ method: 'POST',
329
+ path,
330
+ params: sanitizeParamsForError(Object.fromEntries(Object.entries(params).filter(([, value]) => !(value instanceof ReadStream)))),
331
+ };
332
+ try {
333
+ // Scalars are stringified up-front: the SDK appends values to a
334
+ // form-data payload as-is, so numbers/booleans must arrive as strings.
335
+ const sdkParams = {};
336
+ for (const [key, value] of Object.entries(params)) {
337
+ if (value === undefined)
338
+ continue;
339
+ sdkParams[key] = value instanceof ReadStream ? value : String(value);
340
+ }
341
+ const sdk = this.getSdk();
342
+ const response = await sdk[sdkMethod](sdkParams);
343
+ return this.unwrap(response, ctx);
344
+ }
345
+ catch (error) {
346
+ if (error instanceof TapdError) {
347
+ throw error;
348
+ }
349
+ // POST 失败直接抛(不回退 fetch,防重复上传)
350
+ throw TapdError.sdk(ctx, error);
281
351
  }
282
- const sdk = this.getSdk();
283
- const response = await sdk[sdkMethod](sdkParams);
284
- return this.unwrap(response);
285
352
  }
286
353
  return this.postMultipartViaFetch(path, params);
287
354
  }
@@ -290,6 +357,11 @@ export class TapdClient {
290
357
  * global fetch serializes FormData bodies (boundary included) automatically.
291
358
  */
292
359
  async postMultipartViaFetch(path, params) {
360
+ const ctx = {
361
+ method: 'POST',
362
+ path,
363
+ params: sanitizeParamsForError(Object.fromEntries(Object.entries(params).filter(([, value]) => !(value instanceof ReadStream)))),
364
+ };
293
365
  const form = new FormData();
294
366
  for (const [key, value] of Object.entries(params)) {
295
367
  if (value === undefined)
@@ -306,21 +378,28 @@ export class TapdClient {
306
378
  }
307
379
  }
308
380
  const url = new URL(path, this.baseUrl);
309
- const response = await fetch(url.toString(), {
310
- method: 'POST',
311
- headers: { 'Authorization': this.authHeader },
312
- body: form,
313
- });
381
+ let response;
382
+ try {
383
+ response = await fetch(url.toString(), {
384
+ method: 'POST',
385
+ headers: { 'Authorization': this.authHeader },
386
+ body: form,
387
+ });
388
+ }
389
+ catch (error) {
390
+ // POST 不重试(防重复上传),统一包成 TapdError 保留 cause
391
+ throw TapdError.network(ctx, error);
392
+ }
314
393
  if (!response.ok) {
315
394
  const errorText = await response.text();
316
- throw new Error(`TAPD API error: ${response.status} ${response.statusText} - ${errorText.slice(0, 200)}`);
395
+ throw TapdError.http(ctx, response.status, response.statusText, errorText);
317
396
  }
318
397
  const contentType = response.headers.get('content-type');
319
398
  if (!contentType?.includes('application/json')) {
320
399
  const text = await response.text();
321
- throw new Error(`TAPD API returned non-JSON response: ${text.slice(0, 100)}`);
400
+ throw TapdError.nonJson(ctx, text);
322
401
  }
323
- return this.unwrap(await response.json());
402
+ return this.unwrap(await response.json(), ctx);
324
403
  }
325
404
  }
326
405
  //# sourceMappingURL=tapd-client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tapd-client.js","sourceRoot":"","sources":["../src/tapd-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tapd-client.js","sourceRoot":"","sources":["../src/tapd-client.ts"],"names":[],"mappings":"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"}
@@ -122,20 +122,20 @@ export const attachmentTools = [
122
122
  // Standard TAPD API attachment tools
123
123
  {
124
124
  name: 'tapd_get_attachments',
125
- description: 'Get attachment list from TAPD',
125
+ description: '查询附件列表(可按实体、文件名、上传人过滤)。单个附件详情用单附件查询工具;下载用附件下载工具。读操作;limit 最大 200。返回附件数组。',
126
126
  inputSchema: z.object({
127
- workspace_id: z.number().optional().describe('项目ID(可省略,使用默认配置)'),
128
- id: z.string().optional().describe('Attachment ID, supports multiple IDs;必须以字符串(带引号)传递,禁止传数值,20 位 ID 超出 JS 安全整数范围会丢精度'),
129
- entity_id: z.string().optional().describe('Related entity ID (story/task/bug/wiki ID);必须以字符串(带引号)传递,禁止传数值,20 位 ID 超出 JS 安全整数范围会丢精度'),
130
- entity_type: z.string().optional().describe('Entity type (story, task, bug, wiki)'),
131
- filename: z.string().optional().describe('Filename'),
132
- owner: z.string().optional().describe('Uploader'),
133
- created: z.string().optional().describe('Creation time, supports time query'),
134
- modified: z.string().optional().describe('Last modification time, supports time query'),
135
- fields: z.string().optional().describe('Comma-separated list of fields to return'),
136
- limit: z.number().optional().describe('Number of results to return, max 200'),
137
- page: z.number().optional().describe('Page number, default 1'),
138
- order: z.string().optional().describe('Sort order, e.g., "created desc"'),
127
+ workspace_id: z.number().optional().describe('项目 ID,可省略(默认取环境变量 TAPD_DEFAULT_WORKSPACE_ID)'),
128
+ id: z.string().optional().describe('附件 ID,支持多 ID 查询;必须以字符串(带引号)传递,禁止传数值,20 位 ID 超出 JS 安全整数范围会丢精度'),
129
+ entity_id: z.string().optional().describe('关联实体 ID(需求/任务/缺陷/知识库页面的 ID);必须以字符串(带引号)传递,禁止传数值,20 位 ID 超出 JS 安全整数范围会丢精度'),
130
+ entity_type: z.string().optional().describe('实体类型(story/task/bug/wiki)'),
131
+ filename: z.string().optional().describe('文件名'),
132
+ owner: z.string().optional().describe('上传人'),
133
+ created: z.string().optional().describe('创建时间,支持时间查询'),
134
+ modified: z.string().optional().describe('最后修改时间,支持时间查询'),
135
+ fields: z.string().optional().describe('返回字段,多个以逗号分隔'),
136
+ limit: z.number().optional().describe('返回数量,最大 200'),
137
+ page: z.number().optional().describe('页码,默认 1'),
138
+ order: z.string().optional().describe('排序,如 created desc'),
139
139
  }),
140
140
  handler: async (client, params) => {
141
141
  const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
@@ -147,11 +147,11 @@ export const attachmentTools = [
147
147
  },
148
148
  {
149
149
  name: 'tapd_get_attachment',
150
- description: 'Get a single attachment from TAPD',
150
+ description: '按 ID 查询单个附件元数据。列表用附件列表查询工具;下载用附件下载工具。读操作;id 必填。返回附件详情。',
151
151
  inputSchema: z.object({
152
- workspace_id: z.number().optional().describe('项目ID(可省略,使用默认配置)'),
153
- id: z.string().describe('Attachment ID (required);必须以字符串(带引号)传递,禁止传数值,20 位 ID 超出 JS 安全整数范围会丢精度'),
154
- fields: z.string().optional().describe('Comma-separated list of fields to return'),
152
+ workspace_id: z.number().optional().describe('项目 ID,可省略(默认取环境变量 TAPD_DEFAULT_WORKSPACE_ID)'),
153
+ id: z.string().describe('附件 ID(必填);必须以字符串(带引号)传递,禁止传数值,20 位 ID 超出 JS 安全整数范围会丢精度'),
154
+ fields: z.string().optional().describe('返回字段,多个以逗号分隔'),
155
155
  }),
156
156
  handler: async (client, params) => {
157
157
  const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
@@ -163,11 +163,11 @@ export const attachmentTools = [
163
163
  },
164
164
  {
165
165
  name: 'tapd_get_attachment_download_url',
166
- description: 'Get download URL for a single attachment (valid for 300s)。注意:推荐改用 tapd_download_attachment(走 /attachments/down 端点,无需额外权限;本工具的 documents_down 端点需要 attachments::documents_down 授权)。',
166
+ description: '获取单个附件的临时下载 URL(300s 有效)。注意:本工具走 documents_down 端点需要 attachments::documents_down 授权;推荐改用附件下载工具(走通用下载端点,无需额外权限)。读操作;id 必填。返回下载 URL。',
167
167
  inputSchema: z.object({
168
- workspace_id: z.number().optional().describe('项目ID(可省略,使用默认配置)'),
169
- id: z.string().describe('Attachment ID (required);必须以字符串(带引号)传递,禁止传数值,20 位 ID 超出 JS 安全整数范围会丢精度'),
170
- filename: z.string().optional().describe('Filename for download'),
168
+ workspace_id: z.number().optional().describe('项目 ID,可省略(默认取环境变量 TAPD_DEFAULT_WORKSPACE_ID)'),
169
+ id: z.string().describe('附件 ID(必填);必须以字符串(带引号)传递,禁止传数值,20 位 ID 超出 JS 安全整数范围会丢精度'),
170
+ filename: z.string().optional().describe('下载时使用的文件名'),
171
171
  }),
172
172
  handler: async (client, params) => {
173
173
  const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
@@ -182,9 +182,9 @@ export const attachmentTools = [
182
182
  // ---------------------------------------------------------------------
183
183
  {
184
184
  name: 'tapd_upload_attachment',
185
- description: '上传本地文件为 TAPD 附件并绑定到实体(需求/缺陷/任务,一次调用完成上传+绑定)。返回附件元数据、embed_html(R6 data 五件套锚点,可原样拼入评论/描述富文本)与 embed_md([📎 文件名](attach:<ws>/<id>))。附件随后可通过 tapd_download_attachment 下载。文件上限 300MB。',
185
+ description: '上传本地文件为 TAPD 附件并绑定到实体(需求/缺陷/任务一次调用完成上传+绑定)。仅登记第三方链接用外部文件挂接工具。返回附件元数据、embed_html(R6 data 五件套锚点,可原样拼入评论/描述富文本)与 embed_md([📎 文件名](attach:<ws>/<id>));附件可再用附件下载工具取回。写操作(文件上传);上限 300MB,超 50MB 返回 warning。',
186
186
  inputSchema: z.object({
187
- workspace_id: z.number().optional().describe('项目ID(可省略,使用默认配置)'),
187
+ workspace_id: z.number().optional().describe('项目 ID,可省略(默认取环境变量 TAPD_DEFAULT_WORKSPACE_ID)'),
188
188
  file_path: z.string().min(1).refine(localFileRefine(), { message: '本地文件不存在(或超过 300MB 上限)' }).describe('本地文件路径(绝对路径,或相对当前工作目录)'),
189
189
  entity_type: z.enum(['story', 'bug', 'task']).describe('绑定实体类型;entity_id 必须是该类型实体的真实 ID(严格同体型,不做跨表侥幸绑定)'),
190
190
  entity_id: z.string().describe('目标实体长 ID;必须以字符串(带引号)传递,禁止传数值,20 位 ID 超出 JS 安全整数范围会丢精度'),
@@ -223,10 +223,10 @@ export const attachmentTools = [
223
223
  },
224
224
  {
225
225
  name: 'tapd_download_attachment',
226
- description: '下载 TAPD 附件:走 /attachments/down(attachment#r,无需额外授权)拿到 file.tapd.cn 签名 URL(300s 有效)。不带 out_path 时仅返回 {download_url, filename, content_type} 供自行 fetch;带 out_path(必须位于当前工作目录内)时直接落盘并返回 {saved_to, bytes, sha1}。',
226
+ description: '下载 TAPD 附件:走通用下载端点(无需额外授权)拿到 file.tapd.cn 签名 URL(300s 有效)。不带 out_path 仅返回 {download_url, filename, content_type};带 out_path(必须位于当前工作目录内)直接落盘并返回 {saved_to, bytes, sha1}。读操作。',
227
227
  inputSchema: z.object({
228
- workspace_id: z.number().optional().describe('项目ID(可省略,使用默认配置)'),
229
- id: z.string().describe('Attachment ID (required);必须以字符串(带引号)传递,禁止传数值,20 位 ID 超出 JS 安全整数范围会丢精度'),
228
+ workspace_id: z.number().optional().describe('项目 ID,可省略(默认取环境变量 TAPD_DEFAULT_WORKSPACE_ID)'),
229
+ id: z.string().describe('附件 ID(必填);必须以字符串(带引号)传递,禁止传数值,20 位 ID 超出 JS 安全整数范围会丢精度'),
230
230
  out_path: z.string().optional().describe('保存路径(已存在的目录则取附件名落盘;否则视为完整文件路径)。必须在当前工作目录内。省略时仅返回下载元数据'),
231
231
  }),
232
232
  handler: async (client, params) => {
@@ -280,16 +280,16 @@ export const attachmentTools = [
280
280
  },
281
281
  {
282
282
  name: 'tapd_attach_external_file',
283
- description: '将第三方系统文件挂接到 TAPD 实体(不传输文件本体,仅登记标题+链接,FSD §3.3)。type 目前服务端仅支持 png/psd。',
283
+ description: '把第三方系统文件挂接到 TAPD 实体(不传输文件本体,仅登记标题+链接)。上传真实文件用附件上传工具。写操作;type 服务端目前仅支持 png/psd。返回挂接结果。',
284
284
  write: true,
285
285
  inputSchema: z.object({
286
- workspace_id: z.number().optional().describe('项目ID(可省略,使用默认配置)'),
286
+ workspace_id: z.number().optional().describe('项目 ID,可省略(默认取环境变量 TAPD_DEFAULT_WORKSPACE_ID)'),
287
287
  title: z.string().min(1).describe('第三方附件标题'),
288
288
  source_url: z.string().min(1).describe('第三方附件链接'),
289
289
  entity_type: z.enum(['story', 'bug', 'task']).describe('挂接实体类型(story/bug/task)'),
290
290
  entity_id: z.string().describe('目标实体长 ID;必须以字符串(带引号)传递,禁止传数值,20 位 ID 超出 JS 安全整数范围会丢精度'),
291
291
  type: z.enum(['png', 'psd']).default('png').describe('附件类型,目前服务端只支持 png/psd'),
292
- creator: z.string().optional().describe('创建人,缺省为当前授权用户'),
292
+ creator: z.string().optional().describe('创建人(缺省取当前授权用户)'),
293
293
  }),
294
294
  handler: async (client, params) => {
295
295
  const workspaceId = requireWorkspaceId(params);
@@ -308,15 +308,15 @@ export const attachmentTools = [
308
308
  // Mini (轻协作) API attachment tools
309
309
  {
310
310
  name: 'tapd_mini_get_attachments',
311
- description: 'Get attachments from mini workspace',
311
+ description: '查询轻协作项目附件列表。标准项目用标准附件列表查询工具。读操作。返回附件数组。',
312
312
  inputSchema: z.object({
313
- workspace_id: z.number().optional().describe('项目ID(可省略,使用默认配置)'),
314
- id: z.string().optional().describe('Attachment ID;必须以字符串(带引号)传递,禁止传数值,20 位 ID 超出 JS 安全整数范围会丢精度'),
315
- entry_id: z.string().optional().describe('Item ID;必须以字符串(带引号)传递,禁止传数值,20 位 ID 超出 JS 安全整数范围会丢精度'),
316
- filename: z.string().optional().describe('Filename'),
317
- owner: z.string().optional().describe('Uploader'),
318
- limit: z.number().optional().describe('Return count, default 30, max 200'),
319
- page: z.number().optional().describe('Page number, default 1'),
313
+ workspace_id: z.number().optional().describe('项目 ID,可省略(默认取环境变量 TAPD_DEFAULT_WORKSPACE_ID)'),
314
+ id: z.string().optional().describe('附件 ID;必须以字符串(带引号)传递,禁止传数值,20 位 ID 超出 JS 安全整数范围会丢精度'),
315
+ entry_id: z.string().optional().describe('工作项 ID;必须以字符串(带引号)传递,禁止传数值,20 位 ID 超出 JS 安全整数范围会丢精度'),
316
+ filename: z.string().optional().describe('文件名'),
317
+ owner: z.string().optional().describe('上传人'),
318
+ limit: z.number().optional().describe('返回数量,默认 30,最大 200'),
319
+ page: z.number().optional().describe('页码,默认 1'),
320
320
  }),
321
321
  handler: async (client, params) => {
322
322
  const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
@@ -328,10 +328,10 @@ export const attachmentTools = [
328
328
  },
329
329
  {
330
330
  name: 'tapd_mini_get_attachment_download_url',
331
- description: 'Get download URL for a single mini workspace attachment (valid for 300s)',
331
+ description: '获取轻协作项目附件的临时下载 URL(300s 有效)。标准项目附件用标准附件下载工具。读操作;id 必填。返回下载 URL。',
332
332
  inputSchema: z.object({
333
- workspace_id: z.number().optional().describe('项目ID(可省略,使用默认配置)'),
334
- id: z.string().describe('Attachment ID (required);必须以字符串(带引号)传递,禁止传数值,20 位 ID 超出 JS 安全整数范围会丢精度'),
333
+ workspace_id: z.number().optional().describe('项目 ID,可省略(默认取环境变量 TAPD_DEFAULT_WORKSPACE_ID)'),
334
+ id: z.string().describe('附件 ID(必填);必须以字符串(带引号)传递,禁止传数值,20 位 ID 超出 JS 安全整数范围会丢精度'),
335
335
  }),
336
336
  handler: async (client, params) => {
337
337
  const workspaceId = params.workspace_id ?? TapdClient.getDefaultWorkspaceId();
@@ -1 +1 @@
1
- {"version":3,"file":"attachment.js","sourceRoot":"","sources":["../../src/tools/attachment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attachment.js","sourceRoot":"","sources":["../../src/tools/attachment.ts"],"names":[],"mappings":"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"}