@omnicoreos/planka-mcp 0.2.0 → 0.3.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 (195) hide show
  1. package/.agents/plugins/marketplace.json +20 -0
  2. package/.claude-plugin/marketplace.json +26 -0
  3. package/.claude-plugin/plugin.json +45 -0
  4. package/.codex-plugin/mcp.json +16 -0
  5. package/.codex-plugin/plugin.json +27 -0
  6. package/.mcp.json +17 -0
  7. package/CHANGELOG.md +510 -0
  8. package/README.es.md +294 -55
  9. package/README.md +293 -55
  10. package/dist/cli/init.d.ts +101 -0
  11. package/dist/cli/init.d.ts.map +1 -0
  12. package/dist/cli/init.js +481 -0
  13. package/dist/cli/init.js.map +1 -0
  14. package/dist/client.d.ts +32 -4
  15. package/dist/client.d.ts.map +1 -1
  16. package/dist/client.js +106 -32
  17. package/dist/client.js.map +1 -1
  18. package/dist/config/policy.d.ts +82 -0
  19. package/dist/config/policy.d.ts.map +1 -0
  20. package/dist/config/policy.js +226 -0
  21. package/dist/config/policy.js.map +1 -0
  22. package/dist/errors.d.ts +5 -1
  23. package/dist/errors.d.ts.map +1 -1
  24. package/dist/errors.js +62 -5
  25. package/dist/errors.js.map +1 -1
  26. package/dist/identity.generated.d.ts +2 -1
  27. package/dist/identity.generated.d.ts.map +1 -1
  28. package/dist/identity.generated.js +2 -1
  29. package/dist/identity.generated.js.map +1 -1
  30. package/dist/index.js +85 -10
  31. package/dist/index.js.map +1 -1
  32. package/dist/instructions.d.ts +21 -0
  33. package/dist/instructions.d.ts.map +1 -0
  34. package/dist/instructions.js +37 -0
  35. package/dist/instructions.js.map +1 -0
  36. package/dist/operations/actions.d.ts +654 -0
  37. package/dist/operations/actions.d.ts.map +1 -0
  38. package/dist/operations/actions.js +154 -0
  39. package/dist/operations/actions.js.map +1 -0
  40. package/dist/operations/archive.d.ts +28 -0
  41. package/dist/operations/archive.d.ts.map +1 -0
  42. package/dist/operations/archive.js +74 -0
  43. package/dist/operations/archive.js.map +1 -0
  44. package/dist/operations/attachments.d.ts +1 -1
  45. package/dist/operations/attachments.d.ts.map +1 -1
  46. package/dist/operations/attachments.js +3 -1
  47. package/dist/operations/attachments.js.map +1 -1
  48. package/dist/operations/board-id.d.ts +1 -1
  49. package/dist/operations/board-id.d.ts.map +1 -1
  50. package/dist/operations/board-id.js +13 -7
  51. package/dist/operations/board-id.js.map +1 -1
  52. package/dist/operations/boards.d.ts +96 -19
  53. package/dist/operations/boards.d.ts.map +1 -1
  54. package/dist/operations/boards.js +377 -93
  55. package/dist/operations/boards.js.map +1 -1
  56. package/dist/operations/card-brief.d.ts +91 -0
  57. package/dist/operations/card-brief.d.ts.map +1 -0
  58. package/dist/operations/card-brief.js +79 -0
  59. package/dist/operations/card-brief.js.map +1 -0
  60. package/dist/operations/cards.d.ts +34 -9
  61. package/dist/operations/cards.d.ts.map +1 -1
  62. package/dist/operations/cards.js +60 -14
  63. package/dist/operations/cards.js.map +1 -1
  64. package/dist/operations/comments.d.ts +61 -4
  65. package/dist/operations/comments.d.ts.map +1 -1
  66. package/dist/operations/comments.js +91 -8
  67. package/dist/operations/comments.js.map +1 -1
  68. package/dist/operations/duplicate.d.ts +16 -0
  69. package/dist/operations/duplicate.d.ts.map +1 -0
  70. package/dist/operations/duplicate.js +43 -0
  71. package/dist/operations/duplicate.js.map +1 -0
  72. package/dist/operations/labels.d.ts +1 -1
  73. package/dist/operations/labels.d.ts.map +1 -1
  74. package/dist/operations/labels.js +7 -4
  75. package/dist/operations/labels.js.map +1 -1
  76. package/dist/operations/lists.d.ts +63 -1
  77. package/dist/operations/lists.d.ts.map +1 -1
  78. package/dist/operations/lists.js +97 -2
  79. package/dist/operations/lists.js.map +1 -1
  80. package/dist/operations/members.d.ts +39 -0
  81. package/dist/operations/members.d.ts.map +1 -0
  82. package/dist/operations/members.js +107 -0
  83. package/dist/operations/members.js.map +1 -0
  84. package/dist/operations/projects.d.ts +16 -0
  85. package/dist/operations/projects.d.ts.map +1 -1
  86. package/dist/operations/projects.js +54 -9
  87. package/dist/operations/projects.js.map +1 -1
  88. package/dist/operations/tasks.d.ts +1 -1
  89. package/dist/operations/tasks.d.ts.map +1 -1
  90. package/dist/operations/tasks.js +5 -3
  91. package/dist/operations/tasks.js.map +1 -1
  92. package/dist/operations/users.d.ts +123 -0
  93. package/dist/operations/users.d.ts.map +1 -0
  94. package/dist/operations/users.js +180 -0
  95. package/dist/operations/users.js.map +1 -0
  96. package/dist/operations/verify.d.ts +84 -0
  97. package/dist/operations/verify.d.ts.map +1 -0
  98. package/dist/operations/verify.js +124 -0
  99. package/dist/operations/verify.js.map +1 -0
  100. package/dist/prompts.d.ts +48 -0
  101. package/dist/prompts.d.ts.map +1 -0
  102. package/dist/prompts.js +155 -0
  103. package/dist/prompts.js.map +1 -0
  104. package/dist/resources.d.ts +38 -0
  105. package/dist/resources.d.ts.map +1 -0
  106. package/dist/resources.js +127 -0
  107. package/dist/resources.js.map +1 -0
  108. package/dist/schemas/entities.d.ts +115 -24
  109. package/dist/schemas/entities.d.ts.map +1 -1
  110. package/dist/schemas/entities.js +48 -0
  111. package/dist/schemas/entities.js.map +1 -1
  112. package/dist/schemas/requests.d.ts +121 -46
  113. package/dist/schemas/requests.d.ts.map +1 -1
  114. package/dist/schemas/requests.js +57 -12
  115. package/dist/schemas/requests.js.map +1 -1
  116. package/dist/schemas/responses.d.ts +541 -186
  117. package/dist/schemas/responses.d.ts.map +1 -1
  118. package/dist/schemas/responses.js +13 -2
  119. package/dist/schemas/responses.js.map +1 -1
  120. package/dist/tools/activity.d.ts +150 -0
  121. package/dist/tools/activity.d.ts.map +1 -0
  122. package/dist/tools/activity.js +198 -0
  123. package/dist/tools/activity.js.map +1 -0
  124. package/dist/tools/annotations.d.ts +52 -0
  125. package/dist/tools/annotations.d.ts.map +1 -0
  126. package/dist/tools/annotations.js +214 -0
  127. package/dist/tools/annotations.js.map +1 -0
  128. package/dist/tools/attachments.d.ts +28 -4
  129. package/dist/tools/attachments.d.ts.map +1 -1
  130. package/dist/tools/attachments.js +53 -34
  131. package/dist/tools/attachments.js.map +1 -1
  132. package/dist/tools/card-ops.d.ts +232 -0
  133. package/dist/tools/card-ops.d.ts.map +1 -0
  134. package/dist/tools/card-ops.js +333 -0
  135. package/dist/tools/card-ops.js.map +1 -0
  136. package/dist/tools/cards.d.ts +90 -8
  137. package/dist/tools/cards.d.ts.map +1 -1
  138. package/dist/tools/cards.js +411 -128
  139. package/dist/tools/cards.js.map +1 -1
  140. package/dist/tools/comments.d.ts +226 -22
  141. package/dist/tools/comments.d.ts.map +1 -1
  142. package/dist/tools/comments.js +163 -134
  143. package/dist/tools/comments.js.map +1 -1
  144. package/dist/tools/dispatch.d.ts +47 -0
  145. package/dist/tools/dispatch.d.ts.map +1 -0
  146. package/dist/tools/dispatch.js +63 -0
  147. package/dist/tools/dispatch.js.map +1 -0
  148. package/dist/tools/guard.d.ts +9 -0
  149. package/dist/tools/guard.d.ts.map +1 -0
  150. package/dist/tools/guard.js +20 -0
  151. package/dist/tools/guard.js.map +1 -0
  152. package/dist/tools/index.d.ts +748 -450
  153. package/dist/tools/index.d.ts.map +1 -1
  154. package/dist/tools/index.js +136 -17
  155. package/dist/tools/index.js.map +1 -1
  156. package/dist/tools/labels.d.ts +213 -18
  157. package/dist/tools/labels.d.ts.map +1 -1
  158. package/dist/tools/labels.js +218 -203
  159. package/dist/tools/labels.js.map +1 -1
  160. package/dist/tools/lists.d.ts +222 -15
  161. package/dist/tools/lists.d.ts.map +1 -1
  162. package/dist/tools/lists.js +175 -156
  163. package/dist/tools/lists.js.map +1 -1
  164. package/dist/tools/members.d.ts +128 -0
  165. package/dist/tools/members.d.ts.map +1 -0
  166. package/dist/tools/members.js +150 -0
  167. package/dist/tools/members.js.map +1 -0
  168. package/dist/tools/navigation.d.ts +22 -2
  169. package/dist/tools/navigation.d.ts.map +1 -1
  170. package/dist/tools/navigation.js +60 -15
  171. package/dist/tools/navigation.js.map +1 -1
  172. package/dist/tools/queries.d.ts +196 -166
  173. package/dist/tools/queries.d.ts.map +1 -1
  174. package/dist/tools/queries.js +125 -155
  175. package/dist/tools/queries.js.map +1 -1
  176. package/dist/tools/tasks.d.ts +26 -6
  177. package/dist/tools/tasks.d.ts.map +1 -1
  178. package/dist/tools/tasks.js +110 -55
  179. package/dist/tools/tasks.js.map +1 -1
  180. package/dist/tools/users.d.ts +130 -0
  181. package/dist/tools/users.d.ts.map +1 -0
  182. package/dist/tools/users.js +165 -0
  183. package/dist/tools/users.js.map +1 -0
  184. package/docs/planka-2x-gotchas.md +121 -5
  185. package/docs/tools.md +771 -187
  186. package/docs/troubleshooting.md +137 -5
  187. package/hooks/hooks.json +15 -0
  188. package/hooks/preflight.mjs +100 -0
  189. package/package.json +6 -1
  190. package/scripts/setup.sh +8 -26
  191. package/scripts/sync-identity.mjs +55 -1
  192. package/server.json +87 -6
  193. package/tests/smoke/planka-smoke.mjs +512 -72
  194. package/workflow/skills/planka-close-card/SKILL.md +18 -5
  195. package/workflow/skills/planka-orchestrator/SKILL.md +36 -7
@@ -49,11 +49,11 @@ export declare const createCardTool: {
49
49
  dueDate?: string;
50
50
  labelIds?: string[];
51
51
  }) => Promise<{
52
+ isError?: true | undefined;
52
53
  content: {
53
54
  type: "text";
54
55
  text: string;
55
56
  }[];
56
- isError?: undefined;
57
57
  } | {
58
58
  content: {
59
59
  type: "text";
@@ -64,7 +64,7 @@ export declare const createCardTool: {
64
64
  };
65
65
  /**
66
66
  * Tool: planka_get_card
67
- * Get full details of a card.
67
+ * A digest by default; the full record only when asked for.
68
68
  */
69
69
  export declare const getCardTool: {
70
70
  name: string;
@@ -76,11 +76,33 @@ export declare const getCardTool: {
76
76
  type: string;
77
77
  description: string;
78
78
  };
79
+ detail: {
80
+ type: string;
81
+ enum: string[];
82
+ description: string;
83
+ };
84
+ withComments: {
85
+ description: string;
86
+ anyOf: ({
87
+ type: string;
88
+ enum?: undefined;
89
+ } | {
90
+ type: string;
91
+ enum: string[];
92
+ })[];
93
+ };
94
+ descriptionChars: {
95
+ type: string;
96
+ description: string;
97
+ };
79
98
  };
80
99
  required: string[];
81
100
  };
82
101
  handler: (params: {
83
102
  cardId: string;
103
+ detail?: "digest" | "full";
104
+ withComments?: number | "all";
105
+ descriptionChars?: number;
84
106
  }) => Promise<{
85
107
  content: {
86
108
  type: "text";
@@ -135,11 +157,11 @@ export declare const updateCardTool: {
135
157
  dueDate?: string | null;
136
158
  isCompleted?: boolean;
137
159
  }) => Promise<{
160
+ isError?: true | undefined;
138
161
  content: {
139
162
  type: "text";
140
163
  text: string;
141
164
  }[];
142
- isError?: undefined;
143
165
  } | {
144
166
  content: {
145
167
  type: "text";
@@ -166,6 +188,10 @@ export declare const moveCardTool: {
166
188
  type: string;
167
189
  description: string;
168
190
  };
191
+ boardId: {
192
+ type: string;
193
+ description: string;
194
+ };
169
195
  position: {
170
196
  type: string;
171
197
  description: string;
@@ -176,13 +202,14 @@ export declare const moveCardTool: {
176
202
  handler: (params: {
177
203
  cardId: string;
178
204
  listId: string;
205
+ boardId?: string;
179
206
  position?: number;
180
207
  }) => Promise<{
208
+ isError?: true | undefined;
181
209
  content: {
182
210
  type: "text";
183
211
  text: string;
184
212
  }[];
185
- isError?: undefined;
186
213
  } | {
187
214
  content: {
188
215
  type: "text";
@@ -211,11 +238,11 @@ export declare const deleteCardTool: {
211
238
  handler: (params: {
212
239
  cardId: string;
213
240
  }) => Promise<{
241
+ isError?: true | undefined;
214
242
  content: {
215
243
  type: "text";
216
244
  text: string;
217
245
  }[];
218
- isError?: undefined;
219
246
  } | {
220
247
  content: {
221
248
  type: "text";
@@ -271,11 +298,11 @@ export declare const cardTools: ({
271
298
  dueDate?: string;
272
299
  labelIds?: string[];
273
300
  }) => Promise<{
301
+ isError?: true | undefined;
274
302
  content: {
275
303
  type: "text";
276
304
  text: string;
277
305
  }[];
278
- isError?: undefined;
279
306
  } | {
280
307
  content: {
281
308
  type: "text";
@@ -293,11 +320,33 @@ export declare const cardTools: ({
293
320
  type: string;
294
321
  description: string;
295
322
  };
323
+ detail: {
324
+ type: string;
325
+ enum: string[];
326
+ description: string;
327
+ };
328
+ withComments: {
329
+ description: string;
330
+ anyOf: ({
331
+ type: string;
332
+ enum?: undefined;
333
+ } | {
334
+ type: string;
335
+ enum: string[];
336
+ })[];
337
+ };
338
+ descriptionChars: {
339
+ type: string;
340
+ description: string;
341
+ };
296
342
  };
297
343
  required: string[];
298
344
  };
299
345
  handler: (params: {
300
346
  cardId: string;
347
+ detail?: "digest" | "full";
348
+ withComments?: number | "all";
349
+ descriptionChars?: number;
301
350
  }) => Promise<{
302
351
  content: {
303
352
  type: "text";
@@ -347,11 +396,11 @@ export declare const cardTools: ({
347
396
  dueDate?: string | null;
348
397
  isCompleted?: boolean;
349
398
  }) => Promise<{
399
+ isError?: true | undefined;
350
400
  content: {
351
401
  type: "text";
352
402
  text: string;
353
403
  }[];
354
- isError?: undefined;
355
404
  } | {
356
405
  content: {
357
406
  type: "text";
@@ -373,6 +422,10 @@ export declare const cardTools: ({
373
422
  type: string;
374
423
  description: string;
375
424
  };
425
+ boardId: {
426
+ type: string;
427
+ description: string;
428
+ };
376
429
  position: {
377
430
  type: string;
378
431
  description: string;
@@ -383,13 +436,42 @@ export declare const cardTools: ({
383
436
  handler: (params: {
384
437
  cardId: string;
385
438
  listId: string;
439
+ boardId?: string;
386
440
  position?: number;
387
441
  }) => Promise<{
442
+ isError?: true | undefined;
443
+ content: {
444
+ type: "text";
445
+ text: string;
446
+ }[];
447
+ } | {
448
+ content: {
449
+ type: "text";
450
+ text: string;
451
+ }[];
452
+ isError: boolean;
453
+ }>;
454
+ } | {
455
+ name: string;
456
+ description: string;
457
+ inputSchema: {
458
+ type: "object";
459
+ properties: {
460
+ cardId: {
461
+ type: string;
462
+ description: string;
463
+ };
464
+ };
465
+ required: string[];
466
+ };
467
+ handler: (params: {
468
+ cardId: string;
469
+ }) => Promise<{
470
+ isError?: true | undefined;
388
471
  content: {
389
472
  type: "text";
390
473
  text: string;
391
474
  }[];
392
- isError?: undefined;
393
475
  } | {
394
476
  content: {
395
477
  type: "text";
@@ -1 +1 @@
1
- {"version":3,"file":"cards.d.ts","sourceRoot":"","sources":["../../src/tools/cards.ts"],"names":[],"mappings":"AAeA;;;GAGG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAoCD;QACtB,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB;;;;;;;;;;;;;CAiEF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;sBAcE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE;;;;;;;;;;;;;CA0D3C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBA8BD;QACtB,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB;;;;;;;;;;;;;CA8CF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;sBAuBC;QACtB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB;;;;;;;;;;;;;CAqCF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;sBAaD;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE;;;;;;;;;;;;;CA6B3C,CAAC;AAEF,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAtWI;QACtB,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB;;;;;;;;;;;;;;;;;;;;;;;;;;sBAqFuB;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBA8FlB;QACtB,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBA2EuB;QACtB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB;;;;;;;;;;;;;IA6FF,CAAC"}
1
+ {"version":3,"file":"cards.d.ts","sourceRoot":"","sources":["../../src/tools/cards.ts"],"names":[],"mappings":"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"}