@pachca/cli 2026.7.1 → 2026.7.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.
- package/CHANGELOG.md +12 -0
- package/README.md +1 -1
- package/README.template.md +1 -1
- package/dist/base-command.js +2 -0
- package/dist/client.js +51 -17
- package/dist/commands/bots/create.js +4 -4
- package/dist/commands/bots/delete.js +1 -1
- package/dist/commands/bots/get.js +1 -1
- package/dist/commands/bots/list-events.js +2 -2
- package/dist/commands/bots/list.js +2 -2
- package/dist/commands/bots/recreate-token-self.js +2 -2
- package/dist/commands/bots/recreate-token.js +2 -2
- package/dist/commands/bots/remove-event.js +1 -1
- package/dist/commands/bots/update-webhook.js +2 -2
- package/dist/commands/bots/update.js +3 -3
- package/dist/commands/chats/archive.js +3 -3
- package/dist/commands/chats/create.js +3 -3
- package/dist/commands/chats/download-export.js +2 -2
- package/dist/commands/chats/get.js +1 -1
- package/dist/commands/chats/list.js +4 -4
- package/dist/commands/chats/request-export.js +2 -2
- package/dist/commands/chats/unarchive.js +2 -2
- package/dist/commands/chats/update.js +2 -2
- package/dist/commands/custom-properties/list.js +2 -2
- package/dist/commands/files/direct-url.js +12 -12
- package/dist/commands/files/uploads.js +2 -2
- package/dist/commands/group-tags/create.js +2 -2
- package/dist/commands/group-tags/get.js +1 -1
- package/dist/commands/group-tags/list-users.js +2 -2
- package/dist/commands/group-tags/list.js +2 -2
- package/dist/commands/group-tags/update.js +1 -1
- package/dist/commands/members/add-group-tags.js +1 -1
- package/dist/commands/members/add.js +4 -4
- package/dist/commands/members/leave.js +1 -1
- package/dist/commands/members/list.js +3 -2
- package/dist/commands/members/remove.js +1 -1
- package/dist/commands/members/update.js +2 -2
- package/dist/commands/messages/create.js +4 -4
- package/dist/commands/messages/delete.js +1 -1
- package/dist/commands/messages/get.js +4 -4
- package/dist/commands/messages/list.js +2 -2
- package/dist/commands/messages/pin.js +2 -2
- package/dist/commands/messages/unfurl.js +4 -4
- package/dist/commands/messages/unpin.js +1 -1
- package/dist/commands/messages/update.js +4 -4
- package/dist/commands/oauth/token-info.js +2 -2
- package/dist/commands/profile/delete-avatar.js +1 -1
- package/dist/commands/profile/delete-status.js +1 -1
- package/dist/commands/profile/get-status.js +1 -1
- package/dist/commands/profile/get.js +3 -3
- package/dist/commands/profile/update-avatar.js +2 -2
- package/dist/commands/profile/update-status.js +2 -2
- package/dist/commands/reactions/add.js +2 -2
- package/dist/commands/reactions/list.js +1 -1
- package/dist/commands/reactions/remove.js +1 -1
- package/dist/commands/read-member/list-readers.js +2 -2
- package/dist/commands/search/list-chats.js +3 -3
- package/dist/commands/search/list-messages.js +2 -2
- package/dist/commands/search/list-users.js +4 -4
- package/dist/commands/security/list.js +5 -5
- package/dist/commands/tasks/create.js +5 -5
- package/dist/commands/tasks/delete.js +1 -1
- package/dist/commands/tasks/get.js +2 -2
- package/dist/commands/tasks/list.js +2 -2
- package/dist/commands/tasks/update.js +4 -4
- package/dist/commands/threads/add.js +3 -3
- package/dist/commands/threads/create.js +1 -1
- package/dist/commands/threads/get.js +1 -1
- package/dist/commands/threads/list.js +3 -2
- package/dist/commands/users/create.js +4 -4
- package/dist/commands/users/delete.js +1 -1
- package/dist/commands/users/get-status.js +2 -2
- package/dist/commands/users/get.js +2 -2
- package/dist/commands/users/list.js +4 -4
- package/dist/commands/users/remove-avatar.js +1 -1
- package/dist/commands/users/remove-status.js +1 -1
- package/dist/commands/users/update-avatar.js +2 -2
- package/dist/commands/users/update-status.js +2 -2
- package/dist/commands/users/update.js +3 -3
- package/dist/commands/views/open.js +4 -4
- package/dist/data/changelog.json +51 -0
- package/dist/data/endpoints.json +1 -1
- package/dist/data/workflows.json +2 -2
- package/dist/output.js +10 -2
- package/dist/profiles.js +7 -3
- package/oclif.manifest.json +1 -1
- package/package.json +1 -1
|
@@ -4,8 +4,8 @@ import { BaseCommand } from '../../base-command.js';
|
|
|
4
4
|
export default class TasksUpdate extends BaseCommand {
|
|
5
5
|
static description = "Редактирование напоминания";
|
|
6
6
|
static examples = [
|
|
7
|
-
"Отметить задачу
|
|
8
|
-
"Обновить задачу (перенести срок, сменить ответственных)
|
|
7
|
+
"Отметить задачу выполненной — Обнови статус задачи:\n $ pachca tasks update",
|
|
8
|
+
"Обновить задачу (перенести срок, сменить ответственных) — Обнови нужные поля задачи:\n $ pachca tasks update"
|
|
9
9
|
];
|
|
10
10
|
static scope = "tasks:update";
|
|
11
11
|
static apiMethod = "PUT";
|
|
@@ -29,7 +29,7 @@ export default class TasksUpdate extends BaseCommand {
|
|
|
29
29
|
description: "Срок выполнения напоминания (ISO-8601) в формате YYYY-MM-DDThh:mm:ss.sssTZD. Если указано время 23:59:59.000, то напоминание будет создано на весь день (без указания времени).",
|
|
30
30
|
}),
|
|
31
31
|
'priority': Flags.integer({
|
|
32
|
-
description: "Приоритет: 1, 2 (важно) или 3 (очень важно)
|
|
32
|
+
description: "Приоритет: 1, 2 (важно) или 3 (очень важно)",
|
|
33
33
|
}),
|
|
34
34
|
'performer-ids': Flags.string({
|
|
35
35
|
description: "Массив идентификаторов пользователей, привязываемых к напоминанию как «ответственные»",
|
|
@@ -84,7 +84,7 @@ export default class TasksUpdate extends BaseCommand {
|
|
|
84
84
|
path: `/tasks/${args.id}`,
|
|
85
85
|
body,
|
|
86
86
|
});
|
|
87
|
-
const responseBody = data;
|
|
87
|
+
const responseBody = (data ?? {});
|
|
88
88
|
const result = responseBody.data ?? responseBody;
|
|
89
89
|
this.output(result);
|
|
90
90
|
}
|
|
@@ -4,8 +4,8 @@ import { BaseCommand } from '../../base-command.js';
|
|
|
4
4
|
export default class ThreadsAdd extends BaseCommand {
|
|
5
5
|
static description = "Новый тред";
|
|
6
6
|
static examples = [
|
|
7
|
-
"Ответить в тред (комментарий к сообщению)
|
|
8
|
-
"Подписаться на тред
|
|
7
|
+
"Ответить в тред (комментарий к сообщению) — Получи или создай тред, возьми `thread.id` из ответа:\n $ pachca threads add",
|
|
8
|
+
"Подписаться на тред сообщения — Получи или создай тред, возьми `chat_id` из ответа:\n $ pachca threads add"
|
|
9
9
|
];
|
|
10
10
|
static scope = "threads:create";
|
|
11
11
|
static apiMethod = "POST";
|
|
@@ -27,7 +27,7 @@ export default class ThreadsAdd extends BaseCommand {
|
|
|
27
27
|
method: 'POST',
|
|
28
28
|
path: `/messages/${args.id}/thread`,
|
|
29
29
|
});
|
|
30
|
-
const responseBody = data;
|
|
30
|
+
const responseBody = (data ?? {});
|
|
31
31
|
const result = responseBody.data ?? responseBody;
|
|
32
32
|
this.output(result);
|
|
33
33
|
}
|
|
@@ -23,7 +23,7 @@ export default class ThreadsGet extends BaseCommand {
|
|
|
23
23
|
method: 'GET',
|
|
24
24
|
path: `/threads/${args.id}`,
|
|
25
25
|
});
|
|
26
|
-
const responseBody = data;
|
|
26
|
+
const responseBody = (data ?? {});
|
|
27
27
|
const result = responseBody.data ?? responseBody;
|
|
28
28
|
this.output(result);
|
|
29
29
|
}
|
|
@@ -4,7 +4,8 @@ import { BaseCommand } from '../../base-command.js';
|
|
|
4
4
|
export default class ThreadsList extends BaseCommand {
|
|
5
5
|
static description = "Список тредов";
|
|
6
6
|
static examples = [
|
|
7
|
-
"Получить список активных тредов за
|
|
7
|
+
"Получить список активных тредов за период — Запроси список тредов с фильтром по времени последнего сообщения и нужным `--limit`:\n $ pachca threads list",
|
|
8
|
+
"Получить список активных тредов за период — Если в ответе `meta.paginate.next_page` — пройди по страницам через `--cursor`:\n $ pachca threads list"
|
|
8
9
|
];
|
|
9
10
|
static scope = "threads:read";
|
|
10
11
|
static apiMethod = "GET";
|
|
@@ -95,7 +96,7 @@ export default class ThreadsList extends BaseCommand {
|
|
|
95
96
|
cursor: flags.cursor,
|
|
96
97
|
},
|
|
97
98
|
});
|
|
98
|
-
const responseBody = data;
|
|
99
|
+
const responseBody = (data ?? {});
|
|
99
100
|
const items = responseBody.data ?? responseBody;
|
|
100
101
|
this.output(items);
|
|
101
102
|
}
|
|
@@ -5,9 +5,9 @@ import * as clack from '@clack/prompts';
|
|
|
5
5
|
export default class UsersCreate extends BaseCommand {
|
|
6
6
|
static description = "Новый сотрудник";
|
|
7
7
|
static examples = [
|
|
8
|
-
"Массовое создание сотрудников с тегами:\n $ pachca users create",
|
|
9
|
-
"Создать гостя в
|
|
10
|
-
"Онбординг нового
|
|
8
|
+
"Массовое создание сотрудников с тегами — Для каждого сотрудника: создай аккаунт с тегами:\n $ pachca users create",
|
|
9
|
+
"Создать гостя в чат — Создай гостя: роль `guest` и ровно один чат в `--chat-ids`:\n $ pachca users create",
|
|
10
|
+
"Онбординг нового сотрудника — Создай аккаунт:\n $ pachca users create"
|
|
11
11
|
];
|
|
12
12
|
static scope = "users:create";
|
|
13
13
|
static apiMethod = "POST";
|
|
@@ -142,7 +142,7 @@ export default class UsersCreate extends BaseCommand {
|
|
|
142
142
|
path: '/users',
|
|
143
143
|
body,
|
|
144
144
|
});
|
|
145
|
-
const responseBody = data;
|
|
145
|
+
const responseBody = (data ?? {});
|
|
146
146
|
const result = responseBody.data ?? responseBody;
|
|
147
147
|
this.output(result);
|
|
148
148
|
}
|
|
@@ -5,7 +5,7 @@ import * as clack from '@clack/prompts';
|
|
|
5
5
|
export default class UsersDelete extends BaseCommand {
|
|
6
6
|
static description = "Удаление сотрудника";
|
|
7
7
|
static examples = [
|
|
8
|
-
"Offboarding
|
|
8
|
+
"Offboarding сотрудника — Опционально: удалить аккаунт полностью:\n $ pachca users delete"
|
|
9
9
|
];
|
|
10
10
|
static scope = "users:delete";
|
|
11
11
|
static apiMethod = "DELETE";
|
|
@@ -4,7 +4,7 @@ import { BaseCommand } from '../../base-command.js';
|
|
|
4
4
|
export default class UsersGetStatus extends BaseCommand {
|
|
5
5
|
static description = "Статус сотрудника";
|
|
6
6
|
static examples = [
|
|
7
|
-
"Управление статусом
|
|
7
|
+
"Управление статусом сотрудника — Получить текущий статус:\n $ pachca users get-status"
|
|
8
8
|
];
|
|
9
9
|
static scope = "user_status:read";
|
|
10
10
|
static apiMethod = "GET";
|
|
@@ -26,7 +26,7 @@ export default class UsersGetStatus extends BaseCommand {
|
|
|
26
26
|
method: 'GET',
|
|
27
27
|
path: `/users/${args.user_id}/status`,
|
|
28
28
|
});
|
|
29
|
-
const responseBody = data;
|
|
29
|
+
const responseBody = (data ?? {});
|
|
30
30
|
const result = responseBody.data ?? responseBody;
|
|
31
31
|
this.output(result);
|
|
32
32
|
}
|
|
@@ -4,7 +4,7 @@ import { BaseCommand } from '../../base-command.js';
|
|
|
4
4
|
export default class UsersGet extends BaseCommand {
|
|
5
5
|
static description = "Информация о сотруднике";
|
|
6
6
|
static examples = [
|
|
7
|
-
"Получить сотрудника по ID
|
|
7
|
+
"Получить сотрудника по ID — Получи информацию о сотруднике:\n $ pachca users get"
|
|
8
8
|
];
|
|
9
9
|
static scope = "users:read";
|
|
10
10
|
static apiMethod = "GET";
|
|
@@ -26,7 +26,7 @@ export default class UsersGet extends BaseCommand {
|
|
|
26
26
|
method: 'GET',
|
|
27
27
|
path: `/users/${args.id}`,
|
|
28
28
|
});
|
|
29
|
-
const responseBody = data;
|
|
29
|
+
const responseBody = (data ?? {});
|
|
30
30
|
const result = responseBody.data ?? responseBody;
|
|
31
31
|
this.output(result);
|
|
32
32
|
}
|
|
@@ -4,9 +4,9 @@ import { BaseCommand } from '../../base-command.js';
|
|
|
4
4
|
export default class UsersList extends BaseCommand {
|
|
5
5
|
static description = "Список сотрудников";
|
|
6
6
|
static examples = [
|
|
7
|
-
"Проверить, кто прочитал
|
|
8
|
-
"Разослать уведомление нескольким
|
|
9
|
-
"Найти сотрудника по имени или email:\n $ pachca users list"
|
|
7
|
+
"Проверить, кто прочитал сообщение — При необходимости сопоставь с именами сотрудников:\n $ pachca users list",
|
|
8
|
+
"Разослать уведомление нескольким пользователям — Определи список `user_id` получателей:\n $ pachca users list",
|
|
9
|
+
"Найти сотрудника по имени или email — Поиск по имени/email (частичное совпадение):\n $ pachca users list"
|
|
10
10
|
];
|
|
11
11
|
static scope = "users:read";
|
|
12
12
|
static apiMethod = "GET";
|
|
@@ -92,7 +92,7 @@ export default class UsersList extends BaseCommand {
|
|
|
92
92
|
cursor: flags.cursor,
|
|
93
93
|
},
|
|
94
94
|
});
|
|
95
|
-
const responseBody = data;
|
|
95
|
+
const responseBody = (data ?? {});
|
|
96
96
|
const items = responseBody.data ?? responseBody;
|
|
97
97
|
this.output(items);
|
|
98
98
|
}
|
|
@@ -5,7 +5,7 @@ import * as clack from '@clack/prompts';
|
|
|
5
5
|
export default class UsersRemoveAvatar extends BaseCommand {
|
|
6
6
|
static description = "Удаление аватара сотрудника";
|
|
7
7
|
static examples = [
|
|
8
|
-
"Удалить аватар сотрудника:\n $ pachca users remove-avatar"
|
|
8
|
+
"Удалить аватар сотрудника — Удали аватар сотрудника:\n $ pachca users remove-avatar"
|
|
9
9
|
];
|
|
10
10
|
static scope = "user_avatar:write";
|
|
11
11
|
static apiMethod = "DELETE";
|
|
@@ -5,7 +5,7 @@ import * as clack from '@clack/prompts';
|
|
|
5
5
|
export default class UsersRemoveStatus extends BaseCommand {
|
|
6
6
|
static description = "Удаление статуса сотрудника";
|
|
7
7
|
static examples = [
|
|
8
|
-
"Управление статусом
|
|
8
|
+
"Управление статусом сотрудника — Удалить статус:\n $ pachca users remove-status"
|
|
9
9
|
];
|
|
10
10
|
static scope = "user_status:write";
|
|
11
11
|
static apiMethod = "DELETE";
|
|
@@ -6,7 +6,7 @@ import * as path from 'node:path';
|
|
|
6
6
|
export default class UsersUpdateAvatar extends BaseCommand {
|
|
7
7
|
static description = "Загрузка аватара сотрудника";
|
|
8
8
|
static examples = [
|
|
9
|
-
"Загрузить аватар
|
|
9
|
+
"Загрузить аватар сотрудника — Загрузи аватар сотруднику:\n $ pachca users update-avatar"
|
|
10
10
|
];
|
|
11
11
|
static scope = "user_avatar:write";
|
|
12
12
|
static apiMethod = "PUT";
|
|
@@ -47,7 +47,7 @@ export default class UsersUpdateAvatar extends BaseCommand {
|
|
|
47
47
|
path: `/users/${args.user_id}/avatar`,
|
|
48
48
|
formData,
|
|
49
49
|
});
|
|
50
|
-
const responseBody = data;
|
|
50
|
+
const responseBody = (data ?? {});
|
|
51
51
|
const result = responseBody.data ?? responseBody;
|
|
52
52
|
this.output(result);
|
|
53
53
|
}
|
|
@@ -5,7 +5,7 @@ import * as clack from '@clack/prompts';
|
|
|
5
5
|
export default class UsersUpdateStatus extends BaseCommand {
|
|
6
6
|
static description = "Новый статус сотрудника";
|
|
7
7
|
static examples = [
|
|
8
|
-
"Управление статусом
|
|
8
|
+
"Управление статусом сотрудника — Установить статус:\n $ pachca users update-status"
|
|
9
9
|
];
|
|
10
10
|
static scope = "user_status:write";
|
|
11
11
|
static apiMethod = "PUT";
|
|
@@ -98,7 +98,7 @@ export default class UsersUpdateStatus extends BaseCommand {
|
|
|
98
98
|
path: `/users/${args.user_id}/status`,
|
|
99
99
|
body,
|
|
100
100
|
});
|
|
101
|
-
const responseBody = data;
|
|
101
|
+
const responseBody = (data ?? {});
|
|
102
102
|
const result = responseBody.data ?? responseBody;
|
|
103
103
|
this.output(result);
|
|
104
104
|
}
|
|
@@ -4,8 +4,8 @@ import { BaseCommand } from '../../base-command.js';
|
|
|
4
4
|
export default class UsersUpdate extends BaseCommand {
|
|
5
5
|
static description = "Редактирование сотрудника";
|
|
6
6
|
static examples = [
|
|
7
|
-
"Массовое создание сотрудников с
|
|
8
|
-
"Offboarding
|
|
7
|
+
"Массовое создание сотрудников с тегами — Или обнови существующего:\n $ pachca users update",
|
|
8
|
+
"Offboarding сотрудника — Заблокировать доступ:\n $ pachca users update"
|
|
9
9
|
];
|
|
10
10
|
static scope = "users:update";
|
|
11
11
|
static apiMethod = "PUT";
|
|
@@ -106,7 +106,7 @@ export default class UsersUpdate extends BaseCommand {
|
|
|
106
106
|
path: `/users/${args.id}`,
|
|
107
107
|
body,
|
|
108
108
|
});
|
|
109
|
-
const responseBody = data;
|
|
109
|
+
const responseBody = (data ?? {});
|
|
110
110
|
const result = responseBody.data ?? responseBody;
|
|
111
111
|
this.output(result);
|
|
112
112
|
}
|
|
@@ -5,9 +5,9 @@ import * as clack from '@clack/prompts';
|
|
|
5
5
|
export default class ViewsOpen extends BaseCommand {
|
|
6
6
|
static description = "Открытие представления";
|
|
7
7
|
static examples = [
|
|
8
|
-
"Показать интерактивную форму
|
|
9
|
-
"Опрос сотрудников через
|
|
10
|
-
"Форма
|
|
8
|
+
"Показать интерактивную форму пользователю — Немедленно открой форму:\n $ pachca views open",
|
|
9
|
+
"Опрос сотрудников через форму — Открой форму с полями опроса:\n $ pachca views open",
|
|
10
|
+
"Форма заявки/запроса — При нажатии открой форму с полями: тема, описание, приоритет:\n $ pachca views open"
|
|
11
11
|
];
|
|
12
12
|
static scope = "views:write";
|
|
13
13
|
static apiMethod = "POST";
|
|
@@ -123,7 +123,7 @@ export default class ViewsOpen extends BaseCommand {
|
|
|
123
123
|
path: '/views/open',
|
|
124
124
|
body,
|
|
125
125
|
});
|
|
126
|
-
const responseBody = data;
|
|
126
|
+
const responseBody = (data ?? {});
|
|
127
127
|
const result = responseBody.data ?? responseBody;
|
|
128
128
|
this.output(result);
|
|
129
129
|
}
|
package/dist/data/changelog.json
CHANGED
|
@@ -1,4 +1,55 @@
|
|
|
1
1
|
[
|
|
2
|
+
{
|
|
3
|
+
"version": "2026.7.2",
|
|
4
|
+
"date": "27 июля 2026",
|
|
5
|
+
"changes": [
|
|
6
|
+
{
|
|
7
|
+
"type": "-",
|
|
8
|
+
"command": "files direct-url",
|
|
9
|
+
"description": "Файл теперь добавляется в форму последним — S3 игнорирует поля после файла, из-за чего загрузка отклонялась с 400"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"type": "-",
|
|
13
|
+
"command": "",
|
|
14
|
+
"description": "Явный `--profile` больше не перебивается переменной `PACHCA_TOKEN` — команда с указанным профилем не уйдёт в чужое пространство"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"type": "-",
|
|
18
|
+
"command": "",
|
|
19
|
+
"description": "Запись (`POST`/`DELETE`/`PATCH`) больше не повторяется автоматически при 503 — повтор мог создать дубль сообщения"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"type": "-",
|
|
23
|
+
"command": "",
|
|
24
|
+
"description": "`Retry-After` в формате даты больше не игнорируется, значение ограничено разумным пределом"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"type": "-",
|
|
28
|
+
"command": "chats download-export",
|
|
29
|
+
"description": "Имя файла из `Content-Disposition` больше не может увести запись за пределы указанной папки"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"type": "-",
|
|
33
|
+
"command": "",
|
|
34
|
+
"description": "Вывод `-o csv`: ячейки, начинающиеся с `=`, `+`, `-` или `@`, экранируются; объекты и массивы выводятся как JSON, а не `[object Object]`"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"type": "-",
|
|
38
|
+
"command": "",
|
|
39
|
+
"description": "`--timeout` меньше 1 отклоняется, а не приводит к мгновенной отмене запроса"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"type": "-",
|
|
43
|
+
"command": "",
|
|
44
|
+
"description": "Примеры в `--help` подписаны шагом сценария, а не общим заголовком (`reactions remove` больше не подписан «Добавить реакцию»)"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"type": "-",
|
|
48
|
+
"command": "files direct-url",
|
|
49
|
+
"description": "Команда больше не падает с TypeError при успешной загрузке: S3 отвечает 204 с пустым телом, а команда пыталась прочитать из него поле"
|
|
50
|
+
}
|
|
51
|
+
]
|
|
52
|
+
},
|
|
2
53
|
{
|
|
3
54
|
"version": "2026.7.1",
|
|
4
55
|
"date": "24 июля 2026",
|