kaiten-cli 0.3.3__py3-none-any.whl
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.
- kaiten_cli/__init__.py +5 -0
- kaiten_cli/__main__.py +9 -0
- kaiten_cli/agent_gateway.py +577 -0
- kaiten_cli/app.py +1636 -0
- kaiten_cli/completion.py +570 -0
- kaiten_cli/discovery.py +39 -0
- kaiten_cli/errors.py +79 -0
- kaiten_cli/i18n.py +92 -0
- kaiten_cli/locales/ru.json +2967 -0
- kaiten_cli/localized_click.py +160 -0
- kaiten_cli/models.py +202 -0
- kaiten_cli/profiles.py +316 -0
- kaiten_cli/registry/__init__.py +260 -0
- kaiten_cli/registry/addons.py +392 -0
- kaiten_cli/registry/audit_and_analytics.py +451 -0
- kaiten_cli/registry/automation_schema.py +44 -0
- kaiten_cli/registry/automation_schemas.json +7417 -0
- kaiten_cli/registry/automations.py +342 -0
- kaiten_cli/registry/base.py +62 -0
- kaiten_cli/registry/blockers.py +320 -0
- kaiten_cli/registry/boards.py +520 -0
- kaiten_cli/registry/card_relations.py +376 -0
- kaiten_cli/registry/card_types.py +363 -0
- kaiten_cli/registry/cards.py +1329 -0
- kaiten_cli/registry/charts.py +539 -0
- kaiten_cli/registry/checklists.py +600 -0
- kaiten_cli/registry/columns.py +558 -0
- kaiten_cli/registry/comments.py +224 -0
- kaiten_cli/registry/custom_directories.py +980 -0
- kaiten_cli/registry/custom_properties.py +1460 -0
- kaiten_cli/registry/dashboards.py +564 -0
- kaiten_cli/registry/documents.py +761 -0
- kaiten_cli/registry/external_links.py +128 -0
- kaiten_cli/registry/files.py +738 -0
- kaiten_cli/registry/github_addon.py +613 -0
- kaiten_cli/registry/iterations.py +397 -0
- kaiten_cli/registry/lanes.py +205 -0
- kaiten_cli/registry/live_contracts.py +361 -0
- kaiten_cli/registry/members.py +336 -0
- kaiten_cli/registry/module_docs.py +108 -0
- kaiten_cli/registry/projects.py +369 -0
- kaiten_cli/registry/query.py +129 -0
- kaiten_cli/registry/restrictions.py +249 -0
- kaiten_cli/registry/roles_and_groups.py +1102 -0
- kaiten_cli/registry/scim.py +263 -0
- kaiten_cli/registry/service_desk.py +1270 -0
- kaiten_cli/registry/snapshot.py +187 -0
- kaiten_cli/registry/spaces.py +272 -0
- kaiten_cli/registry/subscribers.py +168 -0
- kaiten_cli/registry/tags.py +193 -0
- kaiten_cli/registry/time_logs.py +353 -0
- kaiten_cli/registry/tree.py +352 -0
- kaiten_cli/registry/utilities.py +287 -0
- kaiten_cli/registry/webhooks.py +265 -0
- kaiten_cli/runtime/__init__.py +1 -0
- kaiten_cli/runtime/automation_validation.py +115 -0
- kaiten_cli/runtime/behaviors.py +787 -0
- kaiten_cli/runtime/cache.py +733 -0
- kaiten_cli/runtime/client.py +387 -0
- kaiten_cli/runtime/endpoints.py +59 -0
- kaiten_cli/runtime/executor.py +269 -0
- kaiten_cli/runtime/fs_security.py +168 -0
- kaiten_cli/runtime/input.py +310 -0
- kaiten_cli/runtime/output.py +59 -0
- kaiten_cli/runtime/public_validation.py +35 -0
- kaiten_cli/runtime/snapshot_build.py +527 -0
- kaiten_cli/runtime/snapshot_common.py +363 -0
- kaiten_cli/runtime/snapshot_query.py +306 -0
- kaiten_cli/runtime/snapshot_store.py +1192 -0
- kaiten_cli/runtime/snapshots.py +62 -0
- kaiten_cli/runtime/sqlite_errors.py +23 -0
- kaiten_cli/runtime/support/__init__.py +1 -0
- kaiten_cli/runtime/support/addons.py +953 -0
- kaiten_cli/runtime/support/audit.py +70 -0
- kaiten_cli/runtime/support/batch.py +234 -0
- kaiten_cli/runtime/support/card_move_url.py +213 -0
- kaiten_cli/runtime/support/cards.py +174 -0
- kaiten_cli/runtime/support/checklists.py +21 -0
- kaiten_cli/runtime/support/company_users.py +117 -0
- kaiten_cli/runtime/support/dashboards.py +35 -0
- kaiten_cli/runtime/support/documents.py +175 -0
- kaiten_cli/runtime/support/files.py +561 -0
- kaiten_cli/runtime/support/markdown_export.py +525 -0
- kaiten_cli/runtime/support/pagination.py +167 -0
- kaiten_cli/runtime/support/projects.py +66 -0
- kaiten_cli/runtime/support/relations.py +86 -0
- kaiten_cli/runtime/support/restrictions.py +62 -0
- kaiten_cli/runtime/support/spaces.py +20 -0
- kaiten_cli/runtime/support/time_logs.py +61 -0
- kaiten_cli/runtime/support/tree.py +140 -0
- kaiten_cli/runtime/support/tree_sharing.py +447 -0
- kaiten_cli/runtime/trace.py +500 -0
- kaiten_cli/runtime/transforms.py +128 -0
- kaiten_cli/schema_docs.py +22 -0
- kaiten_cli/update_check.py +519 -0
- kaiten_cli-0.3.3.dist-info/METADATA +1110 -0
- kaiten_cli-0.3.3.dist-info/RECORD +99 -0
- kaiten_cli-0.3.3.dist-info/WHEEL +4 -0
- kaiten_cli-0.3.3.dist-info/entry_points.txt +3 -0
|
@@ -0,0 +1,336 @@
|
|
|
1
|
+
"""Card-member and user tool specs."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from kaiten_cli.models import ExampleSpec, OperationSpec, ResponsePolicy, RuntimeBehavior
|
|
6
|
+
from kaiten_cli.registry.base import make_tool
|
|
7
|
+
from kaiten_cli.runtime.behaviors import payload_body_request
|
|
8
|
+
from kaiten_cli.runtime.transforms import DEFAULT_LIMIT
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
TOOLS = (
|
|
12
|
+
make_tool(
|
|
13
|
+
canonical_name="card-members.list",
|
|
14
|
+
mcp_alias="kaiten_list_card_members",
|
|
15
|
+
description="List all members assigned to a card.",
|
|
16
|
+
input_schema={
|
|
17
|
+
"type": "object",
|
|
18
|
+
"properties": {
|
|
19
|
+
"card_id": {"type": "integer", "description": "ID of the card."},
|
|
20
|
+
"compact": {
|
|
21
|
+
"type": "boolean",
|
|
22
|
+
"description": "Return compact response without heavy fields (avatars, etc.).",
|
|
23
|
+
"default": False,
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
"required": ["card_id"],
|
|
27
|
+
},
|
|
28
|
+
operation=OperationSpec(
|
|
29
|
+
method="GET", path_template="/cards/{card_id}/members", path_fields=("card_id",)
|
|
30
|
+
),
|
|
31
|
+
response_policy=ResponsePolicy(compact_supported=True, result_kind="list"),
|
|
32
|
+
examples=(
|
|
33
|
+
ExampleSpec(
|
|
34
|
+
command="kaiten --json card-members list --card-id 10 --compact",
|
|
35
|
+
description="List members on a card.",
|
|
36
|
+
),
|
|
37
|
+
),
|
|
38
|
+
),
|
|
39
|
+
make_tool(
|
|
40
|
+
canonical_name="card-members.add",
|
|
41
|
+
mcp_alias="kaiten_add_card_member",
|
|
42
|
+
description="Add a member to a card.",
|
|
43
|
+
input_schema={
|
|
44
|
+
"type": "object",
|
|
45
|
+
"properties": {
|
|
46
|
+
"card_id": {"type": "integer", "description": "ID of the card."},
|
|
47
|
+
"user_id": {"type": "integer", "description": "ID of the user to add as a member."},
|
|
48
|
+
},
|
|
49
|
+
"required": ["card_id", "user_id"],
|
|
50
|
+
},
|
|
51
|
+
operation=OperationSpec(
|
|
52
|
+
method="POST",
|
|
53
|
+
path_template="/cards/{card_id}/members",
|
|
54
|
+
path_fields=("card_id",),
|
|
55
|
+
body_fields=("user_id",),
|
|
56
|
+
),
|
|
57
|
+
examples=(
|
|
58
|
+
ExampleSpec(
|
|
59
|
+
command="kaiten --json card-members add --card-id 10 --user-id 7",
|
|
60
|
+
description="Add a member to a card.",
|
|
61
|
+
),
|
|
62
|
+
),
|
|
63
|
+
),
|
|
64
|
+
make_tool(
|
|
65
|
+
canonical_name="card-members.remove",
|
|
66
|
+
mcp_alias="kaiten_remove_card_member",
|
|
67
|
+
description="Remove a member from a card.",
|
|
68
|
+
input_schema={
|
|
69
|
+
"type": "object",
|
|
70
|
+
"properties": {
|
|
71
|
+
"card_id": {"type": "integer", "description": "ID of the card."},
|
|
72
|
+
"user_id": {"type": "integer", "description": "ID of the user to remove."},
|
|
73
|
+
},
|
|
74
|
+
"required": ["card_id", "user_id"],
|
|
75
|
+
},
|
|
76
|
+
operation=OperationSpec(
|
|
77
|
+
method="DELETE",
|
|
78
|
+
path_template="/cards/{card_id}/members/{user_id}",
|
|
79
|
+
path_fields=("card_id", "user_id"),
|
|
80
|
+
),
|
|
81
|
+
examples=(
|
|
82
|
+
ExampleSpec(
|
|
83
|
+
command="kaiten --json card-members remove --card-id 10 --user-id 7",
|
|
84
|
+
description="Remove a member from a card.",
|
|
85
|
+
),
|
|
86
|
+
),
|
|
87
|
+
),
|
|
88
|
+
make_tool(
|
|
89
|
+
canonical_name="card-members.update",
|
|
90
|
+
mcp_alias="kaiten_update_card_member",
|
|
91
|
+
description="Update a card member role.",
|
|
92
|
+
input_schema={
|
|
93
|
+
"type": "object",
|
|
94
|
+
"properties": {
|
|
95
|
+
"card_id": {"type": "integer", "description": "ID of the card."},
|
|
96
|
+
"member_id": {"type": "integer", "description": "Card member ID from Kaiten."},
|
|
97
|
+
"role_id": {"type": "string", "description": "Role ID to assign."},
|
|
98
|
+
"payload": {
|
|
99
|
+
"type": "object",
|
|
100
|
+
"description": "Extra JSON body fields from the Kaiten API docs.",
|
|
101
|
+
},
|
|
102
|
+
"type": {
|
|
103
|
+
"type": "integer",
|
|
104
|
+
"minimum": 2,
|
|
105
|
+
"maximum": 2,
|
|
106
|
+
"description": "Make user responsible for card",
|
|
107
|
+
},
|
|
108
|
+
},
|
|
109
|
+
"required": ["card_id", "member_id"],
|
|
110
|
+
},
|
|
111
|
+
operation=OperationSpec(
|
|
112
|
+
method="PATCH",
|
|
113
|
+
path_template="/cards/{card_id}/members/{member_id}",
|
|
114
|
+
path_fields=("card_id", "member_id"),
|
|
115
|
+
body_fields=("role_id", "payload", "type"),
|
|
116
|
+
),
|
|
117
|
+
runtime_behavior=RuntimeBehavior(request_shaper=payload_body_request),
|
|
118
|
+
examples=(
|
|
119
|
+
ExampleSpec(
|
|
120
|
+
command="kaiten --json card-members update --card-id 10 --member-id 7 --role-id role-uuid",
|
|
121
|
+
description="Update a card member role.",
|
|
122
|
+
),
|
|
123
|
+
),
|
|
124
|
+
),
|
|
125
|
+
make_tool(
|
|
126
|
+
canonical_name="users.list",
|
|
127
|
+
mcp_alias="kaiten_list_users",
|
|
128
|
+
description=(
|
|
129
|
+
"List users from the generic /users endpoint. For paginated administrative "
|
|
130
|
+
"Members exports, prefer company-users.list."
|
|
131
|
+
),
|
|
132
|
+
input_schema={
|
|
133
|
+
"type": "object",
|
|
134
|
+
"properties": {
|
|
135
|
+
"type": {
|
|
136
|
+
"type": "string",
|
|
137
|
+
"enum": ["all", "shared", "domain"],
|
|
138
|
+
"description": "User visibility scope supported by the Kaiten API.",
|
|
139
|
+
},
|
|
140
|
+
"query": {
|
|
141
|
+
"type": "string",
|
|
142
|
+
"description": "Search filter for user names or emails.",
|
|
143
|
+
},
|
|
144
|
+
"access_type_permissions": {
|
|
145
|
+
"type": "string",
|
|
146
|
+
"enum": ["member", "guest"],
|
|
147
|
+
"description": "Filter by Kaiten access type when supported by the endpoint.",
|
|
148
|
+
},
|
|
149
|
+
"ids": {"type": "string", "description": "Comma-separated user IDs."},
|
|
150
|
+
"uids": {"type": "string", "description": "Comma-separated user UUIDs."},
|
|
151
|
+
"exclude_directly_added_members_by_entity_uid": {
|
|
152
|
+
"type": "string",
|
|
153
|
+
"description": "Exclude users directly added to the given entity UID.",
|
|
154
|
+
},
|
|
155
|
+
"limit": {
|
|
156
|
+
"type": "integer",
|
|
157
|
+
"description": "Maximum number of users to return (default 50).",
|
|
158
|
+
},
|
|
159
|
+
"offset": {
|
|
160
|
+
"type": "integer",
|
|
161
|
+
"description": "Number of users to skip (for pagination).",
|
|
162
|
+
},
|
|
163
|
+
"include_inactive": {
|
|
164
|
+
"type": "boolean",
|
|
165
|
+
"description": "Include inactive (deactivated) users in results.",
|
|
166
|
+
},
|
|
167
|
+
"compact": {
|
|
168
|
+
"type": "boolean",
|
|
169
|
+
"description": "Return compact response without heavy fields (avatars, etc.).",
|
|
170
|
+
"default": False,
|
|
171
|
+
},
|
|
172
|
+
},
|
|
173
|
+
},
|
|
174
|
+
operation=OperationSpec(
|
|
175
|
+
method="GET",
|
|
176
|
+
path_template="/users",
|
|
177
|
+
query_fields=(
|
|
178
|
+
"type",
|
|
179
|
+
"query",
|
|
180
|
+
"access_type_permissions",
|
|
181
|
+
"ids",
|
|
182
|
+
"uids",
|
|
183
|
+
"exclude_directly_added_members_by_entity_uid",
|
|
184
|
+
"limit",
|
|
185
|
+
"offset",
|
|
186
|
+
"include_inactive",
|
|
187
|
+
),
|
|
188
|
+
),
|
|
189
|
+
response_policy=ResponsePolicy(
|
|
190
|
+
compact_supported=True, default_limit=DEFAULT_LIMIT, result_kind="list"
|
|
191
|
+
),
|
|
192
|
+
examples=(
|
|
193
|
+
ExampleSpec(
|
|
194
|
+
command='kaiten --json users list --query "alice" --compact',
|
|
195
|
+
description="Search users by name.",
|
|
196
|
+
),
|
|
197
|
+
),
|
|
198
|
+
usage_notes=(
|
|
199
|
+
"This command maps to `/users`. Use `company-users.list` for the paginated "
|
|
200
|
+
"administrative Members section (`/company/users?for_members_section=true`).",
|
|
201
|
+
),
|
|
202
|
+
),
|
|
203
|
+
make_tool(
|
|
204
|
+
canonical_name="users.current",
|
|
205
|
+
mcp_alias="kaiten_get_current_user",
|
|
206
|
+
description="Get the current authenticated Kaiten user profile.",
|
|
207
|
+
input_schema={"type": "object", "properties": {}},
|
|
208
|
+
operation=OperationSpec(method="GET", path_template="/users/current"),
|
|
209
|
+
examples=(
|
|
210
|
+
ExampleSpec(command="kaiten --json users current", description="Get the current user."),
|
|
211
|
+
),
|
|
212
|
+
),
|
|
213
|
+
make_tool(
|
|
214
|
+
canonical_name="users.update",
|
|
215
|
+
mcp_alias="kaiten_update_user",
|
|
216
|
+
description="Update a user.",
|
|
217
|
+
input_schema={
|
|
218
|
+
"type": "object",
|
|
219
|
+
"properties": {
|
|
220
|
+
"user_id": {"type": "integer", "description": "User ID."},
|
|
221
|
+
"full_name": {"type": "string", "description": "Full name."},
|
|
222
|
+
"email": {"type": "string", "description": "Email."},
|
|
223
|
+
"payload": {
|
|
224
|
+
"type": "object",
|
|
225
|
+
"description": "Extra JSON body fields from the Kaiten API docs.",
|
|
226
|
+
},
|
|
227
|
+
"username": {
|
|
228
|
+
"type": "string",
|
|
229
|
+
"pattern": "^[0-9a-zA-Zа-яА-Я_]{1,}$",
|
|
230
|
+
"description": "Username for mentions and login",
|
|
231
|
+
},
|
|
232
|
+
"initials": {
|
|
233
|
+
"type": "string",
|
|
234
|
+
"minLength": 2,
|
|
235
|
+
"maxLength": 2,
|
|
236
|
+
"description": "Initials",
|
|
237
|
+
},
|
|
238
|
+
"avatar_type": {
|
|
239
|
+
"enum": [1, 2, 3],
|
|
240
|
+
"description": "1 – gravatar, 2 – initials, 3 - uploaded",
|
|
241
|
+
"type": "integer",
|
|
242
|
+
},
|
|
243
|
+
"password": {"type": "string", "minLength": 6, "description": "New password"},
|
|
244
|
+
"old_password": {
|
|
245
|
+
"minLength": 6,
|
|
246
|
+
"description": "Old password",
|
|
247
|
+
"type": ["string", "null"],
|
|
248
|
+
"x-documentation-alternatives": [
|
|
249
|
+
{"type": "string", "minLength": 6, "description": "Old password"},
|
|
250
|
+
{"type": "null", "description": "Old password"},
|
|
251
|
+
],
|
|
252
|
+
},
|
|
253
|
+
"lng": {"type": "string", "description": "Language"},
|
|
254
|
+
"default_space_id": {
|
|
255
|
+
"description": "Default space",
|
|
256
|
+
"type": ["integer", "null"],
|
|
257
|
+
"x-documentation-alternatives": [
|
|
258
|
+
{"type": "integer", "description": "Default space"},
|
|
259
|
+
{"type": "null", "description": "Default space"},
|
|
260
|
+
],
|
|
261
|
+
},
|
|
262
|
+
"theme": {
|
|
263
|
+
"enum": ["light", "dark", "auto"],
|
|
264
|
+
"description": "light - light color theme, dark - dark color theme, auto - color theme based on OS settings",
|
|
265
|
+
"type": "string",
|
|
266
|
+
},
|
|
267
|
+
"email_frequency": {
|
|
268
|
+
"enum": [1, 2],
|
|
269
|
+
"description": "1 - never, 2 – instantly",
|
|
270
|
+
"type": "integer",
|
|
271
|
+
},
|
|
272
|
+
"timezone": {"type": "string", "description": "Time zone"},
|
|
273
|
+
"subject_by": {
|
|
274
|
+
"enum": [1, 2],
|
|
275
|
+
"description": "1 - id and title, 2 – action",
|
|
276
|
+
"type": "integer",
|
|
277
|
+
},
|
|
278
|
+
"email_settings": {"type": "object", "description": "Email settings"},
|
|
279
|
+
"telegram_settings": {"type": "object", "description": "Telegram settings"},
|
|
280
|
+
"slack_settings": {"type": "object", "description": "Slack settings"},
|
|
281
|
+
"notification_enabled_channels": {
|
|
282
|
+
"type": "array",
|
|
283
|
+
"items": {
|
|
284
|
+
"enum": ["inner", "mobile_app", "email", "slack", "telegram"],
|
|
285
|
+
"type": "string",
|
|
286
|
+
},
|
|
287
|
+
"description": "List of enabled channels for notifications",
|
|
288
|
+
},
|
|
289
|
+
"notification_settings": {
|
|
290
|
+
"type": "object",
|
|
291
|
+
"description": "Channel lists where notifications for specified events should be sent",
|
|
292
|
+
},
|
|
293
|
+
"ui_version": {
|
|
294
|
+
"enum": [1, 2],
|
|
295
|
+
"description": "1 - old ui. 2 - new ui",
|
|
296
|
+
"type": "integer",
|
|
297
|
+
},
|
|
298
|
+
},
|
|
299
|
+
"required": ["user_id"],
|
|
300
|
+
},
|
|
301
|
+
operation=OperationSpec(
|
|
302
|
+
method="PATCH",
|
|
303
|
+
path_template="/users/{user_id}",
|
|
304
|
+
path_fields=("user_id",),
|
|
305
|
+
body_fields=(
|
|
306
|
+
"full_name",
|
|
307
|
+
"email",
|
|
308
|
+
"payload",
|
|
309
|
+
"username",
|
|
310
|
+
"initials",
|
|
311
|
+
"avatar_type",
|
|
312
|
+
"password",
|
|
313
|
+
"old_password",
|
|
314
|
+
"lng",
|
|
315
|
+
"default_space_id",
|
|
316
|
+
"theme",
|
|
317
|
+
"email_frequency",
|
|
318
|
+
"timezone",
|
|
319
|
+
"subject_by",
|
|
320
|
+
"email_settings",
|
|
321
|
+
"telegram_settings",
|
|
322
|
+
"slack_settings",
|
|
323
|
+
"notification_enabled_channels",
|
|
324
|
+
"notification_settings",
|
|
325
|
+
"ui_version",
|
|
326
|
+
),
|
|
327
|
+
),
|
|
328
|
+
runtime_behavior=RuntimeBehavior(request_shaper=payload_body_request),
|
|
329
|
+
examples=(
|
|
330
|
+
ExampleSpec(
|
|
331
|
+
command='kaiten --json users update --user-id 7 --full-name "Alice Smith"',
|
|
332
|
+
description="Update a user.",
|
|
333
|
+
),
|
|
334
|
+
),
|
|
335
|
+
),
|
|
336
|
+
)
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"""Human-facing registry module descriptions."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from dataclasses import dataclass
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
@dataclass(frozen=True, slots=True)
|
|
9
|
+
class ModuleDocSpec:
|
|
10
|
+
key: str
|
|
11
|
+
label: str
|
|
12
|
+
description: str
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
MODULE_SPECS: tuple[ModuleDocSpec, ...] = (
|
|
16
|
+
ModuleDocSpec("cards", "Cards", "Cards, bulk reads and card workflows."),
|
|
17
|
+
ModuleDocSpec("comments", "Comments", "Card comments and bulk comment reads."),
|
|
18
|
+
ModuleDocSpec(
|
|
19
|
+
"members",
|
|
20
|
+
"Members and users",
|
|
21
|
+
"Card members, users, groups and space users.",
|
|
22
|
+
),
|
|
23
|
+
ModuleDocSpec("time_logs", "Time logs", "Time logs, work logs and related analytics inputs."),
|
|
24
|
+
ModuleDocSpec("tags", "Tags", "Tags and card tag assignments."),
|
|
25
|
+
ModuleDocSpec("checklists", "Checklists", "Checklists and checklist items."),
|
|
26
|
+
ModuleDocSpec("blockers", "Blockers", "Card blockers and blocker relations."),
|
|
27
|
+
ModuleDocSpec(
|
|
28
|
+
"card_relations", "Card relations", "Parent/child/planned relations between cards."
|
|
29
|
+
),
|
|
30
|
+
ModuleDocSpec("external_links", "External links", "External links attached to cards."),
|
|
31
|
+
ModuleDocSpec(
|
|
32
|
+
"files",
|
|
33
|
+
"Card files",
|
|
34
|
+
"Card files, attachments and beta Restricted Access Files.",
|
|
35
|
+
),
|
|
36
|
+
ModuleDocSpec("subscribers", "Subscribers", "Card and column subscriptions."),
|
|
37
|
+
ModuleDocSpec("spaces", "Spaces", "Spaces and top-level workspace reads."),
|
|
38
|
+
ModuleDocSpec("boards", "Boards", "Boards and board-level operations."),
|
|
39
|
+
ModuleDocSpec(
|
|
40
|
+
"columns", "Columns and subcolumns", "Columns, subcolumns and related card structure."
|
|
41
|
+
),
|
|
42
|
+
ModuleDocSpec("lanes", "Lanes", "Swimlanes and lane-level operations."),
|
|
43
|
+
ModuleDocSpec("card_types", "Card types", "Card types and type metadata."),
|
|
44
|
+
ModuleDocSpec(
|
|
45
|
+
"custom_directories",
|
|
46
|
+
"Catalogs",
|
|
47
|
+
"Kaiten Catalogs: directories, fields, records and linked cards.",
|
|
48
|
+
),
|
|
49
|
+
ModuleDocSpec(
|
|
50
|
+
"custom_properties",
|
|
51
|
+
"Custom properties",
|
|
52
|
+
"Custom properties, select values, catalog-values and collective values.",
|
|
53
|
+
),
|
|
54
|
+
ModuleDocSpec("documents", "Documents", "Documents and document groups."),
|
|
55
|
+
ModuleDocSpec(
|
|
56
|
+
"dashboards",
|
|
57
|
+
"Dashboards",
|
|
58
|
+
"Experimental dashboards, collaborators, widgets and compute jobs.",
|
|
59
|
+
),
|
|
60
|
+
ModuleDocSpec("iterations", "Iterations", "Beta iterations, iteration cards and card history."),
|
|
61
|
+
ModuleDocSpec("webhooks", "Webhooks", "Webhook configuration and delivery settings."),
|
|
62
|
+
ModuleDocSpec(
|
|
63
|
+
"automations", "Automations and workflows", "Automations, incoming webhooks and workflows."
|
|
64
|
+
),
|
|
65
|
+
ModuleDocSpec(
|
|
66
|
+
"restrictions", "Restrictions", "Undocumented space rules for card creation and movement."
|
|
67
|
+
),
|
|
68
|
+
ModuleDocSpec(
|
|
69
|
+
"addons",
|
|
70
|
+
"Addons",
|
|
71
|
+
"Addon catalog, space installation and per-card / per-user addon data.",
|
|
72
|
+
),
|
|
73
|
+
ModuleDocSpec(
|
|
74
|
+
"github_addon",
|
|
75
|
+
"GitHub addon",
|
|
76
|
+
"Pull requests, branches, commits and issues attached to cards by the GitHub addon.",
|
|
77
|
+
),
|
|
78
|
+
ModuleDocSpec("projects", "Projects and sprints", "Projects, project cards and sprints."),
|
|
79
|
+
ModuleDocSpec(
|
|
80
|
+
"roles_and_groups", "Roles and groups", "Roles, groups and permission-related operations."
|
|
81
|
+
),
|
|
82
|
+
ModuleDocSpec("scim", "SCIM", "SCIM v2 user and group provisioning."),
|
|
83
|
+
ModuleDocSpec(
|
|
84
|
+
"audit_and_analytics",
|
|
85
|
+
"Audit and analytics",
|
|
86
|
+
"Audit logs, activity, saved filters and analytics helpers.",
|
|
87
|
+
),
|
|
88
|
+
ModuleDocSpec(
|
|
89
|
+
"service_desk",
|
|
90
|
+
"Service Desk",
|
|
91
|
+
"Service Desk requests, users, SLA, organizations and settings.",
|
|
92
|
+
),
|
|
93
|
+
ModuleDocSpec("charts", "Charts and analytics", "Chart endpoints and compute jobs."),
|
|
94
|
+
ModuleDocSpec("tree", "Entity tree", "Entity tree and tree navigation commands."),
|
|
95
|
+
ModuleDocSpec(
|
|
96
|
+
"utilities", "Utilities", "Company, calendars, timers, api keys and removed entities."
|
|
97
|
+
),
|
|
98
|
+
ModuleDocSpec(
|
|
99
|
+
"snapshot",
|
|
100
|
+
"Local snapshots",
|
|
101
|
+
"Local-first snapshot build, refresh and management commands.",
|
|
102
|
+
),
|
|
103
|
+
ModuleDocSpec(
|
|
104
|
+
"query", "Local queries", "Local-only query and metrics commands over snapshots."
|
|
105
|
+
),
|
|
106
|
+
)
|
|
107
|
+
|
|
108
|
+
MODULE_SPECS_BY_KEY: dict[str, ModuleDocSpec] = {spec.key: spec for spec in MODULE_SPECS}
|