@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
@@ -0,0 +1,654 @@
1
+ /**
2
+ * Planka's activity log ("actions").
3
+ *
4
+ * Planka 2.x records only six kinds of event
5
+ * (`Action.Types` — server/api/models/Action.js:70-77):
6
+ *
7
+ * createCard · moveCard · addMemberToCard · removeMemberFromCard
8
+ * completeTask · uncompleteTask
9
+ *
10
+ * There is NO action for a comment, a rename or a description edit. A card
11
+ * whose history looks empty was not necessarily untouched — it was only never
12
+ * moved, assigned or checked off. Every consumer of this module has to say so
13
+ * rather than let a reader infer "nothing happened".
14
+ *
15
+ * Both endpoints (`/api/cards/:id/actions`, `/api/boards/:id/actions`) return
16
+ * at most 50 items — a module constant in Planka, not a query parameter — and
17
+ * page backwards with `?beforeId=<id>` (exclusive, ids descend with time).
18
+ *
19
+ * The raw item is ~350 chars of nested JSON. What a model needs from it is one
20
+ * line: who, when, what. So nothing here returns the raw action.
21
+ */
22
+ import { z } from "zod";
23
+ /** Page size Planka hardcodes for actions. */
24
+ export declare const ACTIONS_PAGE_SIZE = 50;
25
+ /** The six event types Planka can record. */
26
+ export declare const ACTION_TYPES: readonly ["createCard", "moveCard", "addMemberToCard", "removeMemberFromCard", "completeTask", "uncompleteTask"];
27
+ export type ActionType = (typeof ACTION_TYPES)[number];
28
+ /**
29
+ * `data` shape verified live against Planka 2.2.1 on 2026-09-03:
30
+ * createCard {card:{name}, list:{id,name,type}}
31
+ * moveCard {card:{name}, fromList:{id,name,type}, toList:{…}}
32
+ * add/removeMemberToCard{card:{name}, user:{id,name}}
33
+ * complete/uncompleteTask {card:{name}, task:{id,name}}
34
+ */
35
+ export declare const ActionSchema: z.ZodObject<{
36
+ id: z.ZodString;
37
+ type: z.ZodString;
38
+ createdAt: z.ZodString;
39
+ boardId: z.ZodOptional<z.ZodString>;
40
+ cardId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
41
+ userId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
42
+ data: z.ZodOptional<z.ZodObject<{
43
+ card: z.ZodOptional<z.ZodObject<{
44
+ id: z.ZodOptional<z.ZodString>;
45
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
46
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
47
+ id: z.ZodOptional<z.ZodString>;
48
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
49
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
50
+ id: z.ZodOptional<z.ZodString>;
51
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
52
+ }, z.ZodTypeAny, "passthrough">>>;
53
+ list: z.ZodOptional<z.ZodObject<{
54
+ id: z.ZodOptional<z.ZodString>;
55
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
56
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
57
+ id: z.ZodOptional<z.ZodString>;
58
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
59
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
60
+ id: z.ZodOptional<z.ZodString>;
61
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
62
+ }, z.ZodTypeAny, "passthrough">>>;
63
+ fromList: z.ZodOptional<z.ZodObject<{
64
+ id: z.ZodOptional<z.ZodString>;
65
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
66
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
67
+ id: z.ZodOptional<z.ZodString>;
68
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
69
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
70
+ id: z.ZodOptional<z.ZodString>;
71
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
72
+ }, z.ZodTypeAny, "passthrough">>>;
73
+ toList: z.ZodOptional<z.ZodObject<{
74
+ id: z.ZodOptional<z.ZodString>;
75
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
76
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
77
+ id: z.ZodOptional<z.ZodString>;
78
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
79
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
80
+ id: z.ZodOptional<z.ZodString>;
81
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
82
+ }, z.ZodTypeAny, "passthrough">>>;
83
+ user: z.ZodOptional<z.ZodObject<{
84
+ id: z.ZodOptional<z.ZodString>;
85
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
86
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
87
+ id: z.ZodOptional<z.ZodString>;
88
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
89
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
90
+ id: z.ZodOptional<z.ZodString>;
91
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
92
+ }, z.ZodTypeAny, "passthrough">>>;
93
+ task: z.ZodOptional<z.ZodObject<{
94
+ id: z.ZodOptional<z.ZodString>;
95
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
96
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
97
+ id: z.ZodOptional<z.ZodString>;
98
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
99
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
100
+ id: z.ZodOptional<z.ZodString>;
101
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
102
+ }, z.ZodTypeAny, "passthrough">>>;
103
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
104
+ card: z.ZodOptional<z.ZodObject<{
105
+ id: z.ZodOptional<z.ZodString>;
106
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
107
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
108
+ id: z.ZodOptional<z.ZodString>;
109
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
110
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
111
+ id: z.ZodOptional<z.ZodString>;
112
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
113
+ }, z.ZodTypeAny, "passthrough">>>;
114
+ list: z.ZodOptional<z.ZodObject<{
115
+ id: z.ZodOptional<z.ZodString>;
116
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
117
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
118
+ id: z.ZodOptional<z.ZodString>;
119
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
120
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
121
+ id: z.ZodOptional<z.ZodString>;
122
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
123
+ }, z.ZodTypeAny, "passthrough">>>;
124
+ fromList: z.ZodOptional<z.ZodObject<{
125
+ id: z.ZodOptional<z.ZodString>;
126
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
127
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
128
+ id: z.ZodOptional<z.ZodString>;
129
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
130
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
131
+ id: z.ZodOptional<z.ZodString>;
132
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
133
+ }, z.ZodTypeAny, "passthrough">>>;
134
+ toList: z.ZodOptional<z.ZodObject<{
135
+ id: z.ZodOptional<z.ZodString>;
136
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
137
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
138
+ id: z.ZodOptional<z.ZodString>;
139
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
140
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
141
+ id: z.ZodOptional<z.ZodString>;
142
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
143
+ }, z.ZodTypeAny, "passthrough">>>;
144
+ user: z.ZodOptional<z.ZodObject<{
145
+ id: z.ZodOptional<z.ZodString>;
146
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
147
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
148
+ id: z.ZodOptional<z.ZodString>;
149
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
150
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
151
+ id: z.ZodOptional<z.ZodString>;
152
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
153
+ }, z.ZodTypeAny, "passthrough">>>;
154
+ task: z.ZodOptional<z.ZodObject<{
155
+ id: z.ZodOptional<z.ZodString>;
156
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
157
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
158
+ id: z.ZodOptional<z.ZodString>;
159
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
160
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
161
+ id: z.ZodOptional<z.ZodString>;
162
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
163
+ }, z.ZodTypeAny, "passthrough">>>;
164
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
165
+ card: z.ZodOptional<z.ZodObject<{
166
+ id: z.ZodOptional<z.ZodString>;
167
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
168
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
169
+ id: z.ZodOptional<z.ZodString>;
170
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
171
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
172
+ id: z.ZodOptional<z.ZodString>;
173
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
174
+ }, z.ZodTypeAny, "passthrough">>>;
175
+ list: z.ZodOptional<z.ZodObject<{
176
+ id: z.ZodOptional<z.ZodString>;
177
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
178
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
179
+ id: z.ZodOptional<z.ZodString>;
180
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
181
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
182
+ id: z.ZodOptional<z.ZodString>;
183
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
184
+ }, z.ZodTypeAny, "passthrough">>>;
185
+ fromList: z.ZodOptional<z.ZodObject<{
186
+ id: z.ZodOptional<z.ZodString>;
187
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
188
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
189
+ id: z.ZodOptional<z.ZodString>;
190
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
191
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
192
+ id: z.ZodOptional<z.ZodString>;
193
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
194
+ }, z.ZodTypeAny, "passthrough">>>;
195
+ toList: z.ZodOptional<z.ZodObject<{
196
+ id: z.ZodOptional<z.ZodString>;
197
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
198
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
199
+ id: z.ZodOptional<z.ZodString>;
200
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
201
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
202
+ id: z.ZodOptional<z.ZodString>;
203
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
204
+ }, z.ZodTypeAny, "passthrough">>>;
205
+ user: z.ZodOptional<z.ZodObject<{
206
+ id: z.ZodOptional<z.ZodString>;
207
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
208
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
209
+ id: z.ZodOptional<z.ZodString>;
210
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
211
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
212
+ id: z.ZodOptional<z.ZodString>;
213
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
214
+ }, z.ZodTypeAny, "passthrough">>>;
215
+ task: z.ZodOptional<z.ZodObject<{
216
+ id: z.ZodOptional<z.ZodString>;
217
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
218
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
219
+ id: z.ZodOptional<z.ZodString>;
220
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
221
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
222
+ id: z.ZodOptional<z.ZodString>;
223
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
224
+ }, z.ZodTypeAny, "passthrough">>>;
225
+ }, z.ZodTypeAny, "passthrough">>>;
226
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
227
+ id: z.ZodString;
228
+ type: z.ZodString;
229
+ createdAt: z.ZodString;
230
+ boardId: z.ZodOptional<z.ZodString>;
231
+ cardId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
232
+ userId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
233
+ data: z.ZodOptional<z.ZodObject<{
234
+ card: z.ZodOptional<z.ZodObject<{
235
+ id: z.ZodOptional<z.ZodString>;
236
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
237
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
238
+ id: z.ZodOptional<z.ZodString>;
239
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
240
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
241
+ id: z.ZodOptional<z.ZodString>;
242
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
243
+ }, z.ZodTypeAny, "passthrough">>>;
244
+ list: z.ZodOptional<z.ZodObject<{
245
+ id: z.ZodOptional<z.ZodString>;
246
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
247
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
248
+ id: z.ZodOptional<z.ZodString>;
249
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
250
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
251
+ id: z.ZodOptional<z.ZodString>;
252
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
253
+ }, z.ZodTypeAny, "passthrough">>>;
254
+ fromList: z.ZodOptional<z.ZodObject<{
255
+ id: z.ZodOptional<z.ZodString>;
256
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
257
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
258
+ id: z.ZodOptional<z.ZodString>;
259
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
260
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
261
+ id: z.ZodOptional<z.ZodString>;
262
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
263
+ }, z.ZodTypeAny, "passthrough">>>;
264
+ toList: z.ZodOptional<z.ZodObject<{
265
+ id: z.ZodOptional<z.ZodString>;
266
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
267
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
268
+ id: z.ZodOptional<z.ZodString>;
269
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
270
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
271
+ id: z.ZodOptional<z.ZodString>;
272
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
273
+ }, z.ZodTypeAny, "passthrough">>>;
274
+ user: z.ZodOptional<z.ZodObject<{
275
+ id: z.ZodOptional<z.ZodString>;
276
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
277
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
278
+ id: z.ZodOptional<z.ZodString>;
279
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
280
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
281
+ id: z.ZodOptional<z.ZodString>;
282
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
283
+ }, z.ZodTypeAny, "passthrough">>>;
284
+ task: z.ZodOptional<z.ZodObject<{
285
+ id: z.ZodOptional<z.ZodString>;
286
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
287
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
288
+ id: z.ZodOptional<z.ZodString>;
289
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
290
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
291
+ id: z.ZodOptional<z.ZodString>;
292
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
293
+ }, z.ZodTypeAny, "passthrough">>>;
294
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
295
+ card: z.ZodOptional<z.ZodObject<{
296
+ id: z.ZodOptional<z.ZodString>;
297
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
298
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
299
+ id: z.ZodOptional<z.ZodString>;
300
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
301
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
302
+ id: z.ZodOptional<z.ZodString>;
303
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
304
+ }, z.ZodTypeAny, "passthrough">>>;
305
+ list: z.ZodOptional<z.ZodObject<{
306
+ id: z.ZodOptional<z.ZodString>;
307
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
308
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
309
+ id: z.ZodOptional<z.ZodString>;
310
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
311
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
312
+ id: z.ZodOptional<z.ZodString>;
313
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
314
+ }, z.ZodTypeAny, "passthrough">>>;
315
+ fromList: z.ZodOptional<z.ZodObject<{
316
+ id: z.ZodOptional<z.ZodString>;
317
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
318
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
319
+ id: z.ZodOptional<z.ZodString>;
320
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
321
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
322
+ id: z.ZodOptional<z.ZodString>;
323
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
324
+ }, z.ZodTypeAny, "passthrough">>>;
325
+ toList: z.ZodOptional<z.ZodObject<{
326
+ id: z.ZodOptional<z.ZodString>;
327
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
328
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
329
+ id: z.ZodOptional<z.ZodString>;
330
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
331
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
332
+ id: z.ZodOptional<z.ZodString>;
333
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
334
+ }, z.ZodTypeAny, "passthrough">>>;
335
+ user: z.ZodOptional<z.ZodObject<{
336
+ id: z.ZodOptional<z.ZodString>;
337
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
338
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
339
+ id: z.ZodOptional<z.ZodString>;
340
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
341
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
342
+ id: z.ZodOptional<z.ZodString>;
343
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
344
+ }, z.ZodTypeAny, "passthrough">>>;
345
+ task: z.ZodOptional<z.ZodObject<{
346
+ id: z.ZodOptional<z.ZodString>;
347
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
348
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
349
+ id: z.ZodOptional<z.ZodString>;
350
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
351
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
352
+ id: z.ZodOptional<z.ZodString>;
353
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
354
+ }, z.ZodTypeAny, "passthrough">>>;
355
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
356
+ card: z.ZodOptional<z.ZodObject<{
357
+ id: z.ZodOptional<z.ZodString>;
358
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
359
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
360
+ id: z.ZodOptional<z.ZodString>;
361
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
362
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
363
+ id: z.ZodOptional<z.ZodString>;
364
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
365
+ }, z.ZodTypeAny, "passthrough">>>;
366
+ list: z.ZodOptional<z.ZodObject<{
367
+ id: z.ZodOptional<z.ZodString>;
368
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
369
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
370
+ id: z.ZodOptional<z.ZodString>;
371
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
372
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
373
+ id: z.ZodOptional<z.ZodString>;
374
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
375
+ }, z.ZodTypeAny, "passthrough">>>;
376
+ fromList: z.ZodOptional<z.ZodObject<{
377
+ id: z.ZodOptional<z.ZodString>;
378
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
379
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
380
+ id: z.ZodOptional<z.ZodString>;
381
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
382
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
383
+ id: z.ZodOptional<z.ZodString>;
384
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
385
+ }, z.ZodTypeAny, "passthrough">>>;
386
+ toList: z.ZodOptional<z.ZodObject<{
387
+ id: z.ZodOptional<z.ZodString>;
388
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
389
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
390
+ id: z.ZodOptional<z.ZodString>;
391
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
392
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
393
+ id: z.ZodOptional<z.ZodString>;
394
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
395
+ }, z.ZodTypeAny, "passthrough">>>;
396
+ user: z.ZodOptional<z.ZodObject<{
397
+ id: z.ZodOptional<z.ZodString>;
398
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
399
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
400
+ id: z.ZodOptional<z.ZodString>;
401
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
402
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
403
+ id: z.ZodOptional<z.ZodString>;
404
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
405
+ }, z.ZodTypeAny, "passthrough">>>;
406
+ task: z.ZodOptional<z.ZodObject<{
407
+ id: z.ZodOptional<z.ZodString>;
408
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
409
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
410
+ id: z.ZodOptional<z.ZodString>;
411
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
412
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
413
+ id: z.ZodOptional<z.ZodString>;
414
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
415
+ }, z.ZodTypeAny, "passthrough">>>;
416
+ }, z.ZodTypeAny, "passthrough">>>;
417
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
418
+ id: z.ZodString;
419
+ type: z.ZodString;
420
+ createdAt: z.ZodString;
421
+ boardId: z.ZodOptional<z.ZodString>;
422
+ cardId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
423
+ userId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
424
+ data: z.ZodOptional<z.ZodObject<{
425
+ card: z.ZodOptional<z.ZodObject<{
426
+ id: z.ZodOptional<z.ZodString>;
427
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
428
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
429
+ id: z.ZodOptional<z.ZodString>;
430
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
431
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
432
+ id: z.ZodOptional<z.ZodString>;
433
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
434
+ }, z.ZodTypeAny, "passthrough">>>;
435
+ list: z.ZodOptional<z.ZodObject<{
436
+ id: z.ZodOptional<z.ZodString>;
437
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
438
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
439
+ id: z.ZodOptional<z.ZodString>;
440
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
441
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
442
+ id: z.ZodOptional<z.ZodString>;
443
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
444
+ }, z.ZodTypeAny, "passthrough">>>;
445
+ fromList: z.ZodOptional<z.ZodObject<{
446
+ id: z.ZodOptional<z.ZodString>;
447
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
448
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
449
+ id: z.ZodOptional<z.ZodString>;
450
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
451
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
452
+ id: z.ZodOptional<z.ZodString>;
453
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
454
+ }, z.ZodTypeAny, "passthrough">>>;
455
+ toList: z.ZodOptional<z.ZodObject<{
456
+ id: z.ZodOptional<z.ZodString>;
457
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
458
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
459
+ id: z.ZodOptional<z.ZodString>;
460
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
461
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
462
+ id: z.ZodOptional<z.ZodString>;
463
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
464
+ }, z.ZodTypeAny, "passthrough">>>;
465
+ user: z.ZodOptional<z.ZodObject<{
466
+ id: z.ZodOptional<z.ZodString>;
467
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
468
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
469
+ id: z.ZodOptional<z.ZodString>;
470
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
471
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
472
+ id: z.ZodOptional<z.ZodString>;
473
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
474
+ }, z.ZodTypeAny, "passthrough">>>;
475
+ task: z.ZodOptional<z.ZodObject<{
476
+ id: z.ZodOptional<z.ZodString>;
477
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
478
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
479
+ id: z.ZodOptional<z.ZodString>;
480
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
481
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
482
+ id: z.ZodOptional<z.ZodString>;
483
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
484
+ }, z.ZodTypeAny, "passthrough">>>;
485
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
486
+ card: z.ZodOptional<z.ZodObject<{
487
+ id: z.ZodOptional<z.ZodString>;
488
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
489
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
490
+ id: z.ZodOptional<z.ZodString>;
491
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
492
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
493
+ id: z.ZodOptional<z.ZodString>;
494
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
495
+ }, z.ZodTypeAny, "passthrough">>>;
496
+ list: z.ZodOptional<z.ZodObject<{
497
+ id: z.ZodOptional<z.ZodString>;
498
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
499
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
500
+ id: z.ZodOptional<z.ZodString>;
501
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
502
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
503
+ id: z.ZodOptional<z.ZodString>;
504
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
505
+ }, z.ZodTypeAny, "passthrough">>>;
506
+ fromList: z.ZodOptional<z.ZodObject<{
507
+ id: z.ZodOptional<z.ZodString>;
508
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
509
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
510
+ id: z.ZodOptional<z.ZodString>;
511
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
512
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
513
+ id: z.ZodOptional<z.ZodString>;
514
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
515
+ }, z.ZodTypeAny, "passthrough">>>;
516
+ toList: z.ZodOptional<z.ZodObject<{
517
+ id: z.ZodOptional<z.ZodString>;
518
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
519
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
520
+ id: z.ZodOptional<z.ZodString>;
521
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
522
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
523
+ id: z.ZodOptional<z.ZodString>;
524
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
525
+ }, z.ZodTypeAny, "passthrough">>>;
526
+ user: z.ZodOptional<z.ZodObject<{
527
+ id: z.ZodOptional<z.ZodString>;
528
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
529
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
530
+ id: z.ZodOptional<z.ZodString>;
531
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
532
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
533
+ id: z.ZodOptional<z.ZodString>;
534
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
535
+ }, z.ZodTypeAny, "passthrough">>>;
536
+ task: z.ZodOptional<z.ZodObject<{
537
+ id: z.ZodOptional<z.ZodString>;
538
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
539
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
540
+ id: z.ZodOptional<z.ZodString>;
541
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
542
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
543
+ id: z.ZodOptional<z.ZodString>;
544
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
545
+ }, z.ZodTypeAny, "passthrough">>>;
546
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
547
+ card: z.ZodOptional<z.ZodObject<{
548
+ id: z.ZodOptional<z.ZodString>;
549
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
550
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
551
+ id: z.ZodOptional<z.ZodString>;
552
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
553
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
554
+ id: z.ZodOptional<z.ZodString>;
555
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
556
+ }, z.ZodTypeAny, "passthrough">>>;
557
+ list: z.ZodOptional<z.ZodObject<{
558
+ id: z.ZodOptional<z.ZodString>;
559
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
560
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
561
+ id: z.ZodOptional<z.ZodString>;
562
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
563
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
564
+ id: z.ZodOptional<z.ZodString>;
565
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
566
+ }, z.ZodTypeAny, "passthrough">>>;
567
+ fromList: z.ZodOptional<z.ZodObject<{
568
+ id: z.ZodOptional<z.ZodString>;
569
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
570
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
571
+ id: z.ZodOptional<z.ZodString>;
572
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
573
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
574
+ id: z.ZodOptional<z.ZodString>;
575
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
576
+ }, z.ZodTypeAny, "passthrough">>>;
577
+ toList: z.ZodOptional<z.ZodObject<{
578
+ id: z.ZodOptional<z.ZodString>;
579
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
580
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
581
+ id: z.ZodOptional<z.ZodString>;
582
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
583
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
584
+ id: z.ZodOptional<z.ZodString>;
585
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
586
+ }, z.ZodTypeAny, "passthrough">>>;
587
+ user: z.ZodOptional<z.ZodObject<{
588
+ id: z.ZodOptional<z.ZodString>;
589
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
590
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
591
+ id: z.ZodOptional<z.ZodString>;
592
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
593
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
594
+ id: z.ZodOptional<z.ZodString>;
595
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
596
+ }, z.ZodTypeAny, "passthrough">>>;
597
+ task: z.ZodOptional<z.ZodObject<{
598
+ id: z.ZodOptional<z.ZodString>;
599
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
600
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
601
+ id: z.ZodOptional<z.ZodString>;
602
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
603
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
604
+ id: z.ZodOptional<z.ZodString>;
605
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
606
+ }, z.ZodTypeAny, "passthrough">>>;
607
+ }, z.ZodTypeAny, "passthrough">>>;
608
+ }, z.ZodTypeAny, "passthrough">>;
609
+ export type PlankaAction = z.infer<typeof ActionSchema>;
610
+ export interface ActionsPage {
611
+ actions: PlankaAction[];
612
+ /** userId -> display name, from the response's own `included.users`. */
613
+ userNames: Map<string, string>;
614
+ /** A full page means Planka had at least this many; there may be more. */
615
+ full: boolean;
616
+ }
617
+ /** One page of a card's history, newest first. */
618
+ export declare function getCardActions(input: {
619
+ cardId: string;
620
+ beforeId?: string;
621
+ }): Promise<ActionsPage>;
622
+ /** One page of a board's history, newest first. */
623
+ export declare function getBoardActions(input: {
624
+ boardId?: string;
625
+ beforeId?: string;
626
+ }): Promise<ActionsPage & {
627
+ boardId: string;
628
+ }>;
629
+ /** One event, reduced to what a reader actually reads. */
630
+ export interface ActionDigest {
631
+ id: string;
632
+ type: string;
633
+ /** ISO timestamp of the event. */
634
+ at: string;
635
+ /** Display name of whoever did it, or the raw id when unknown. */
636
+ user: string;
637
+ /** Human sentence: "moved from X to Y", "completed task T". */
638
+ summary: string;
639
+ cardId?: string;
640
+ }
641
+ /**
642
+ * The one-line sentence for an action.
643
+ *
644
+ * Everything it needs travels inside `data` — Planka embeds the list, user and
645
+ * task NAMES in the action itself, so no extra lookup is ever made here.
646
+ */
647
+ export declare function summarizeAction(action: PlankaAction): string;
648
+ /** Turns raw actions into digests, resolving user names where possible. */
649
+ export declare function digestActions(actions: PlankaAction[], userNames: Map<string, string>, options?: {
650
+ withCardId?: boolean;
651
+ }): ActionDigest[];
652
+ /** The card name Planka embeds in every action of that card. */
653
+ export declare function cardNameOf(action: PlankaAction): string | undefined;
654
+ //# sourceMappingURL=actions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../src/operations/actions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,8CAA8C;AAC9C,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC,6CAA6C;AAC7C,eAAO,MAAM,YAAY,kHAOf,CAAC;AACX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAMvD;;;;;;GAMG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAoBT,CAAC;AACjB,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAcxD,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,wEAAwE;IACxE,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,0EAA0E;IAC1E,IAAI,EAAE,OAAO,CAAC;CACf;AAeD,kDAAkD;AAClD,wBAAsB,cAAc,CAAC,KAAK,EAAE;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,WAAW,CAAC,CAKvB;AAED,mDAAmD;AACnD,wBAAsB,eAAe,CAAC,KAAK,EAAE;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,WAAW,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAU7C;AAED,0DAA0D;AAC1D,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,kCAAkC;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,kEAAkE;IAClE,IAAI,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAOD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAuB5D;AAED,2EAA2E;AAC3E,wBAAgB,aAAa,CAC3B,OAAO,EAAE,YAAY,EAAE,EACvB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,GACrC,YAAY,EAAE,CAYhB;AAED,gEAAgE;AAChE,wBAAgB,UAAU,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAEnE"}