@newpeak/barista-cli 0.2.272 → 0.2.275

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 (43) hide show
  1. package/dist/commands/liberica/runner/templates/add.d.ts.map +1 -1
  2. package/dist/commands/liberica/runner/templates/add.js +24 -0
  3. package/dist/commands/liberica/runner/templates/add.js.map +1 -1
  4. package/dist/commands/liberica/runner/templates/edit.d.ts.map +1 -1
  5. package/dist/commands/liberica/runner/templates/edit.js +25 -0
  6. package/dist/commands/liberica/runner/templates/edit.js.map +1 -1
  7. package/dist/commands/liberica/runner/templates/list.d.ts.map +1 -1
  8. package/dist/commands/liberica/runner/templates/list.js +4 -2
  9. package/dist/commands/liberica/runner/templates/list.js.map +1 -1
  10. package/dist/commands/liberica/teams/tasks/attachment-add.d.ts +3 -0
  11. package/dist/commands/liberica/teams/tasks/attachment-add.d.ts.map +1 -0
  12. package/dist/commands/liberica/teams/tasks/attachment-add.js +104 -0
  13. package/dist/commands/liberica/teams/tasks/attachment-add.js.map +1 -0
  14. package/dist/commands/liberica/teams/tasks/attachment-delete.d.ts +3 -0
  15. package/dist/commands/liberica/teams/tasks/attachment-delete.d.ts.map +1 -0
  16. package/dist/commands/liberica/teams/tasks/attachment-delete.js +81 -0
  17. package/dist/commands/liberica/teams/tasks/attachment-delete.js.map +1 -0
  18. package/dist/commands/liberica/teams/tasks/attachment-list.d.ts +3 -0
  19. package/dist/commands/liberica/teams/tasks/attachment-list.d.ts.map +1 -0
  20. package/dist/commands/liberica/teams/tasks/attachment-list.js +90 -0
  21. package/dist/commands/liberica/teams/tasks/attachment-list.js.map +1 -0
  22. package/dist/commands/liberica/teams/tasks/comment-add.d.ts +3 -0
  23. package/dist/commands/liberica/teams/tasks/comment-add.d.ts.map +1 -0
  24. package/dist/commands/liberica/teams/tasks/comment-add.js +96 -0
  25. package/dist/commands/liberica/teams/tasks/comment-add.js.map +1 -0
  26. package/dist/commands/liberica/teams/tasks/comment-list.d.ts +3 -0
  27. package/dist/commands/liberica/teams/tasks/comment-list.d.ts.map +1 -0
  28. package/dist/commands/liberica/teams/tasks/comment-list.js +102 -0
  29. package/dist/commands/liberica/teams/tasks/comment-list.js.map +1 -0
  30. package/dist/commands/liberica/teams/tasks/index.d.ts.map +1 -1
  31. package/dist/commands/liberica/teams/tasks/index.js +16 -0
  32. package/dist/commands/liberica/teams/tasks/index.js.map +1 -1
  33. package/dist/core/api/client.d.ts +31 -1
  34. package/dist/core/api/client.d.ts.map +1 -1
  35. package/dist/core/api/client.js +224 -0
  36. package/dist/core/api/client.js.map +1 -1
  37. package/dist/types/runner.d.ts +4 -0
  38. package/dist/types/runner.d.ts.map +1 -1
  39. package/dist/types/team-task.d.ts +81 -0
  40. package/dist/types/team-task.d.ts.map +1 -1
  41. package/package.json +1 -1
  42. package/skills/barista-cli/data/commands.json +21 -1
  43. package/skills/barista-cli/data/commands.yaml +16 -1
@@ -4269,6 +4269,224 @@ export const apiClient = {
4269
4269
  return handleApiErrorTeamIssueComment(error);
4270
4270
  }
4271
4271
  },
4272
+ /**
4273
+ * Resolve a team task reference to the 19-digit taskId.
4274
+ * 19-digit snowflake id is passed through; otherwise the input is treated as a
4275
+ * taskCode and reverse-looked-up via the page endpoint (tenant isolated).
4276
+ */
4277
+ async resolveTeamTaskReference(environment, tenant, ref) {
4278
+ const trimmed = (ref || '').trim();
4279
+ if (!trimmed) {
4280
+ return { success: false, error: { code: 'INPUT_ERROR', message: 'Task ID is required' } };
4281
+ }
4282
+ if (/^\d{19}$/.test(trimmed)) {
4283
+ return { success: true, taskId: trimmed };
4284
+ }
4285
+ const lookup = await apiClient.listTeamTasks(environment, tenant, {
4286
+ pageNo: 1,
4287
+ pageSize: 20,
4288
+ taskCode: trimmed,
4289
+ });
4290
+ if (!lookup.success) {
4291
+ return {
4292
+ success: false,
4293
+ error: lookup.error || { code: 'LOOKUP_FAILED', message: 'Failed to resolve task code ' + trimmed },
4294
+ };
4295
+ }
4296
+ const listData = lookup.data;
4297
+ const rows = listData?.rows || listData?.items || [];
4298
+ const matched = rows.find((r) => r.taskCode === trimmed) || rows[0];
4299
+ if (!matched) {
4300
+ return {
4301
+ success: false,
4302
+ error: {
4303
+ code: 'TASK_NOT_FOUND',
4304
+ message: `Team task with code ${trimmed} was not found in tenant ${tenant}. Use 'barista liberica teams tasks list --task-code ${trimmed}' to check, or pass the 19-digit taskId.`,
4305
+ },
4306
+ };
4307
+ }
4308
+ return { success: true, taskId: matched.taskId };
4309
+ },
4310
+ async createTeamTaskComment(environment, tenant, data) {
4311
+ try {
4312
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
4313
+ if (!token) {
4314
+ return {
4315
+ success: false,
4316
+ error: {
4317
+ code: 'NO_TOKEN',
4318
+ message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment,
4319
+ },
4320
+ };
4321
+ }
4322
+ const resolved = await apiClient.resolveTeamTaskReference(environment, tenant, data.taskId);
4323
+ if (!resolved.success) {
4324
+ return { success: false, error: resolved.error };
4325
+ }
4326
+ const requestBody = { ...data, taskId: resolved.taskId };
4327
+ const client = createAPIClient('liberica', environment, tenant);
4328
+ client.setAuthToken(token);
4329
+ const response = await client
4330
+ .getClient()
4331
+ .post('/api/enterprise/team/task/comment/add', requestBody);
4332
+ return response.data;
4333
+ }
4334
+ catch (error) {
4335
+ return handleApiErrorTeamTaskComment(error);
4336
+ }
4337
+ },
4338
+ async listTeamTaskComments(environment, tenant, params) {
4339
+ try {
4340
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
4341
+ if (!token) {
4342
+ return {
4343
+ success: false,
4344
+ error: {
4345
+ code: 'NO_TOKEN',
4346
+ message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment,
4347
+ },
4348
+ };
4349
+ }
4350
+ const resolved = await apiClient.resolveTeamTaskReference(environment, tenant, params.taskId);
4351
+ if (!resolved.success) {
4352
+ return { success: false, error: resolved.error };
4353
+ }
4354
+ const client = createAPIClient('liberica', environment, tenant);
4355
+ client.setAuthToken(token);
4356
+ const queryParams = new URLSearchParams();
4357
+ queryParams.append('taskId', resolved.taskId);
4358
+ if (params.pageNo)
4359
+ queryParams.append('pageNo', params.pageNo.toString());
4360
+ if (params.pageSize)
4361
+ queryParams.append('pageSize', params.pageSize.toString());
4362
+ const response = await client
4363
+ .getClient()
4364
+ .get(`/api/enterprise/team/task/comment/page?${queryParams.toString()}`);
4365
+ return response.data;
4366
+ }
4367
+ catch (error) {
4368
+ return handleApiErrorTeamTaskComment(error);
4369
+ }
4370
+ },
4371
+ async deleteTeamTaskComment(environment, tenant, teamTaskCommentId) {
4372
+ try {
4373
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
4374
+ if (!token) {
4375
+ return {
4376
+ success: false,
4377
+ error: {
4378
+ code: 'NO_TOKEN',
4379
+ message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment,
4380
+ },
4381
+ };
4382
+ }
4383
+ const client = createAPIClient('liberica', environment, tenant);
4384
+ client.setAuthToken(token);
4385
+ const response = await client
4386
+ .getClient()
4387
+ .post('/api/enterprise/team/task/comment/delete', {
4388
+ teamTaskCommentId,
4389
+ });
4390
+ return response.data;
4391
+ }
4392
+ catch (error) {
4393
+ return handleApiErrorTeamTaskComment(error);
4394
+ }
4395
+ },
4396
+ /**
4397
+ * Add a single attachment (file) to a team task.
4398
+ *
4399
+ * Body is `{ taskId, taskAttachmentId }` — the deployed backend's
4400
+ * `TeamTaskAttachmentServiceImpl.add()` persists `taskAttachmentId` as the row
4401
+ * primary key (= sys_file_info.file_id). `taskAttachmentIdList` is accepted by
4402
+ * the DTO but ignored by the add endpoint (would create a random snowflake id
4403
+ * and lose the file association), so callers must invoke this once per file.
4404
+ */
4405
+ async addTaskAttachment(environment, tenant, data) {
4406
+ try {
4407
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
4408
+ if (!token) {
4409
+ return {
4410
+ success: false,
4411
+ error: {
4412
+ code: 'NO_TOKEN',
4413
+ message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment,
4414
+ },
4415
+ };
4416
+ }
4417
+ const resolved = await apiClient.resolveTeamTaskReference(environment, tenant, data.taskId);
4418
+ if (!resolved.success) {
4419
+ return { success: false, error: resolved.error };
4420
+ }
4421
+ const requestBody = { taskId: resolved.taskId, taskAttachmentId: data.taskAttachmentId };
4422
+ const client = createAPIClient('liberica', environment, tenant);
4423
+ client.setAuthToken(token);
4424
+ const response = await client
4425
+ .getClient()
4426
+ .post('/api/enterprise/team/task/attachment/add', requestBody);
4427
+ return response.data;
4428
+ }
4429
+ catch (error) {
4430
+ return handleApiErrorTeamTaskAttachment(error);
4431
+ }
4432
+ },
4433
+ async listTaskAttachments(environment, tenant, params) {
4434
+ try {
4435
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
4436
+ if (!token) {
4437
+ return {
4438
+ success: false,
4439
+ error: {
4440
+ code: 'NO_TOKEN',
4441
+ message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment,
4442
+ },
4443
+ };
4444
+ }
4445
+ const resolved = await apiClient.resolveTeamTaskReference(environment, tenant, params.taskId);
4446
+ if (!resolved.success) {
4447
+ return { success: false, error: resolved.error };
4448
+ }
4449
+ const client = createAPIClient('liberica', environment, tenant);
4450
+ client.setAuthToken(token);
4451
+ const queryParams = new URLSearchParams();
4452
+ queryParams.append('taskId', resolved.taskId);
4453
+ const response = await client
4454
+ .getClient()
4455
+ .get(`/api/enterprise/team/task/attachment/list?${queryParams.toString()}`);
4456
+ return response.data;
4457
+ }
4458
+ catch (error) {
4459
+ return handleApiErrorTeamTaskAttachment(error);
4460
+ }
4461
+ },
4462
+ async deleteTaskAttachment(environment, tenant, data) {
4463
+ try {
4464
+ const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
4465
+ if (!token) {
4466
+ return {
4467
+ success: false,
4468
+ error: {
4469
+ code: 'NO_TOKEN',
4470
+ message: 'Not logged in. Run: barista auth login --service liberica --env ' + environment,
4471
+ },
4472
+ };
4473
+ }
4474
+ const resolved = await apiClient.resolveTeamTaskReference(environment, tenant, data.taskId);
4475
+ if (!resolved.success) {
4476
+ return { success: false, error: resolved.error };
4477
+ }
4478
+ const requestBody = { taskId: resolved.taskId, taskAttachmentId: data.taskAttachmentId };
4479
+ const client = createAPIClient('liberica', environment, tenant);
4480
+ client.setAuthToken(token);
4481
+ const response = await client
4482
+ .getClient()
4483
+ .post('/api/enterprise/team/task/attachment/delete', requestBody);
4484
+ return response.data;
4485
+ }
4486
+ catch (error) {
4487
+ return handleApiErrorTeamTaskAttachment(error);
4488
+ }
4489
+ },
4272
4490
  async listTeamTasks(environment, tenant, params) {
4273
4491
  try {
4274
4492
  const token = await tokenManager.getToken({ service: 'liberica', environment, tenant });
@@ -15439,6 +15657,12 @@ function handleApiErrorProjectCode(error) {
15439
15657
  function handleApiErrorTeamTask(error) {
15440
15658
  return extractApiError(error);
15441
15659
  }
15660
+ function handleApiErrorTeamTaskComment(error) {
15661
+ return extractApiError(error);
15662
+ }
15663
+ function handleApiErrorTeamTaskAttachment(error) {
15664
+ return extractApiError(error);
15665
+ }
15442
15666
  function handleApiErrorOrganization(error) {
15443
15667
  return extractApiError(error);
15444
15668
  }