@evanston/plankton-core 0.2.1 → 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.
package/dist/client.d.ts CHANGED
@@ -10,7 +10,7 @@ export declare class PlankaClient {
10
10
  private link;
11
11
  account(): Promise<{
12
12
  id: string;
13
- name: string | undefined;
13
+ name: string | null | undefined;
14
14
  username: string | null | undefined;
15
15
  }>;
16
16
  private collectCards;
package/dist/client.js CHANGED
@@ -10,10 +10,21 @@ export class PlankaClient {
10
10
  this.url = this.transport.url;
11
11
  }
12
12
  async board(value) {
13
- const id = referenceId(this.url, value, "boards") ??
14
- resolveReference(this.url, value, (await this.transport.request("projects", projectsResponseSchema))
15
- .included.boards, "boards").id;
16
- return this.transport.request(`boards/${id}`, boardResponseSchema);
13
+ let id = referenceId(this.url, value, "boards");
14
+ if (!id) {
15
+ const projects = await this.transport.request("projects", projectsResponseSchema);
16
+ id = resolveReference(this.url, value, projects.included.boards.map((b) => ({
17
+ ...b,
18
+ projectName: projects.items.find((p) => p.id === b.projectId)?.name,
19
+ })), "boards").id;
20
+ }
21
+ const data = await this.transport.request(`boards/${id}`, boardResponseSchema);
22
+ data.included.lists = data.included.lists.map((list) => ({
23
+ ...list,
24
+ boardId: data.item.id,
25
+ boardName: data.item.name,
26
+ }));
27
+ return data;
17
28
  }
18
29
  async card(value, board) {
19
30
  let id = referenceId(this.url, value, "cards");
@@ -27,7 +38,20 @@ export class PlankaClient {
27
38
  }
28
39
  id = resolveReference(this.url, value, found.items, "cards").id;
29
40
  }
30
- return this.transport.request(`cards/${id}`, cardResponseSchema);
41
+ try {
42
+ return await this.transport.request(`cards/${id}`, cardResponseSchema);
43
+ }
44
+ catch (error) {
45
+ if (error instanceof PlanktonError && error.code === "NOT_FOUND") {
46
+ const projects = await this.transport
47
+ .request("projects", projectsResponseSchema)
48
+ .catch(() => undefined);
49
+ if (projects?.included.boards.some((b) => b.id === id)) {
50
+ throw new PlanktonError("NOT_FOUND", "That ID identifies a board; pass it with --board.", { ...error.details, boardId: id });
51
+ }
52
+ }
53
+ throw error;
54
+ }
31
55
  }
32
56
  writableList(list) {
33
57
  if (list.type === "trash") {
@@ -35,19 +59,28 @@ export class PlankaClient {
35
59
  }
36
60
  }
37
61
  link(item, kind = "cards") {
38
- return { ...item, url: `${this.url}/${kind}/${item.id}` };
62
+ return {
63
+ ...item,
64
+ url: kind === "cards" && item.boardId
65
+ ? `${this.url}/boards/${item.boardId}/cards/${item.id}`
66
+ : `${this.url}/${kind}/${item.id}`,
67
+ };
39
68
  }
40
69
  async account() {
41
70
  const { item } = await this.transport.request("users/me", itemResponseSchema);
42
71
  return { id: item.id, name: item.name, username: item.username };
43
72
  }
44
- async collectCards(board) {
73
+ async collectCards(board, listReference) {
45
74
  const data = await this.board(board);
46
75
  const lists = data.included.lists;
76
+ const listId = listReference
77
+ ? resolveReference(this.url, listReference, lists, "lists").id
78
+ : undefined;
47
79
  const cards = new Map(data.included.cards.map((c) => [c.id, c]));
48
80
  let complete = true;
49
- // Endless lists have separate pages; cap work and disclose incomplete results.
50
- for (const list of lists.filter((l) => l.type === "archive" || l.type === "trash")) {
81
+ // Board-wide discovery uses finite lists from the board response.
82
+ // Fetch an endless list only when explicitly selected.
83
+ for (const list of lists.filter((l) => listId === l.id && (l.type === "archive" || l.type === "trash"))) {
51
84
  let before;
52
85
  for (let page = 0; page < 10; page++) {
53
86
  const params = new URLSearchParams();
@@ -76,7 +109,9 @@ export class PlankaClient {
76
109
  }
77
110
  }
78
111
  return {
79
- items: [...cards.values()].map((c) => this.link({
112
+ items: [...cards.values()]
113
+ .filter((c) => !listId || c.listId === listId)
114
+ .map((c) => this.link({
80
115
  ...c,
81
116
  boardId: c.boardId ?? data.item.id,
82
117
  boardName: data.item.name,
@@ -85,13 +120,22 @@ export class PlankaClient {
85
120
  complete,
86
121
  };
87
122
  }
88
- async search(board, query, limit) {
89
- const found = await this.collectCards(board);
123
+ async search(board, query, limit, offset, list) {
124
+ const found = await this.collectCards(board, list);
90
125
  const needle = query.toLocaleLowerCase();
91
126
  const matches = found.items.filter((card) => card.name?.toLocaleLowerCase().includes(needle));
92
127
  return {
93
- items: matches.slice(0, limit),
94
- truncated: !found.complete || matches.length > limit,
128
+ items: matches.slice(offset, offset + limit),
129
+ truncated: !found.complete || matches.length > offset + limit,
130
+ complete: found.complete,
131
+ paging: {
132
+ items: {
133
+ total: matches.length,
134
+ ...(matches.length > offset + limit
135
+ ? { nextOffset: offset + limit }
136
+ : {}),
137
+ },
138
+ },
95
139
  };
96
140
  }
97
141
  async execute(operation, input) {
@@ -100,6 +144,29 @@ export class PlankaClient {
100
144
  ...operationSchemas[operation].parse(input),
101
145
  operation,
102
146
  };
147
+ if (args.operation === "complete_task") {
148
+ const id = referenceId(this.url, args.task, "tasks");
149
+ if (!args.card && !args.taskList && !args.board && id) {
150
+ return {
151
+ item: await this.writeItem(`tasks/${id}`, "PATCH", {
152
+ isCompleted: args.isCompleted,
153
+ }),
154
+ };
155
+ }
156
+ if (!args.card)
157
+ throw new PlanktonError("VALIDATION", "Supply --card to resolve or check task scope, or use a bare task ID without scope.");
158
+ const data = await this.card(args.card, args.board);
159
+ const taskList = args.taskList
160
+ ? resolveReference(this.url, args.taskList, data.included.taskLists, "task-lists")
161
+ : undefined;
162
+ const task = resolveReference(this.url, args.task, data.included.tasks.filter((t) => !taskList || t.taskListId === taskList.id), "tasks");
163
+ return {
164
+ item: await this.writeItem(`tasks/${task.id}`, "PATCH", {
165
+ isCompleted: args.isCompleted,
166
+ }),
167
+ url: this.link(data.item).url,
168
+ };
169
+ }
103
170
  switch (args.operation) {
104
171
  case "projects":
105
172
  return {
@@ -113,13 +180,17 @@ export class PlankaClient {
113
180
  return {
114
181
  items: data.included.boards
115
182
  .filter((b) => !projectId || b.projectId === projectId)
116
- .map((b) => this.link(b, "boards")),
183
+ .map((b) => this.link({
184
+ ...b,
185
+ projectName: data.items.find((p) => p.id === b.projectId)
186
+ ?.name,
187
+ }, "boards")),
117
188
  };
118
189
  }
119
190
  case "lists":
120
191
  return { items: (await this.board(args.board)).included.lists };
121
192
  case "find_cards":
122
- return this.search(args.board, args.query, args.limit);
193
+ return this.search(args.board, args.query, args.limit, args.offset, args.list);
123
194
  case "create_card": {
124
195
  const board = await this.board(args.board);
125
196
  const list = resolveReference(this.url, args.list, board.included.lists, "lists");
@@ -144,6 +215,19 @@ export class PlankaClient {
144
215
  const card = data.item;
145
216
  const url = this.link(card).url;
146
217
  switch (args.operation) {
218
+ case "delete_card":
219
+ return { item: await this.writeItem(`cards/${card.id}`, "DELETE") };
220
+ case "archive_card": {
221
+ const board = await this.board(card.boardId ?? args.board ?? "");
222
+ const archives = board.included.lists.filter((l) => l.type === "archive");
223
+ if (archives.length !== 1)
224
+ throw new PlanktonError("VALIDATION", "Cannot determine the board archive list.");
225
+ return {
226
+ item: this.link(await this.writeItem(`cards/${card.id}`, "PATCH", {
227
+ listId: archives[0].id,
228
+ })),
229
+ };
230
+ }
147
231
  case "read_card":
148
232
  return {
149
233
  item: this.link(card),
@@ -191,6 +275,8 @@ export class PlankaClient {
191
275
  async executeTask(args, data) {
192
276
  const taskList = resolveReference(this.url, args.taskList, data.included.taskLists, "task-lists");
193
277
  switch (args.operation) {
278
+ case "delete_task_list":
279
+ return this.writeItem(`task-lists/${taskList.id}`, "DELETE");
194
280
  case "edit_task_list":
195
281
  return this.writeItem(`task-lists/${taskList.id}`, "PATCH", {
196
282
  name: args.name,
@@ -200,11 +286,9 @@ export class PlankaClient {
200
286
  name: args.name,
201
287
  position: args.position,
202
288
  });
203
- case "complete_task": {
289
+ case "delete_task": {
204
290
  const task = resolveReference(this.url, args.task, data.included.tasks.filter((task) => task.taskListId === taskList.id), "tasks");
205
- return this.writeItem(`tasks/${task.id}`, "PATCH", {
206
- isCompleted: args.isCompleted,
207
- });
291
+ return this.writeItem(`tasks/${task.id}`, "DELETE");
208
292
  }
209
293
  }
210
294
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/errors.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export type ErrorCode = "AUTHENTICATION" | "PERMISSION" | "VALIDATION" | "NOT_FOUND" | "AMBIGUOUS" | "NETWORK" | "UNCERTAIN_WRITE" | "API" | "STORAGE" | "LOGIN";
1
+ export type ErrorCode = "AUTHENTICATION" | "PERMISSION" | "USAGE" | "VALIDATION" | "NOT_FOUND" | "AMBIGUOUS" | "NETWORK" | "UNCERTAIN_WRITE" | "API" | "STORAGE" | "LOGIN";
2
2
  export declare class PlanktonError extends Error {
3
3
  code: ErrorCode;
4
4
  details?: Record<string, unknown> | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAaxB,MAAM,OAAO,aAAc,SAAQ,KAAK;IAE7B;IAEA;IAHT,YACS,IAAe,EACtB,OAAe,EACR,OAAiC;QAExC,KAAK,CAAC,OAAO,CAAC,CAAC;QAJR,SAAI,GAAJ,IAAI,CAAW;QAEf,YAAO,GAAP,OAAO,CAA0B;QAGxC,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AAED,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,MAAM,CAAC,GACL,KAAK,YAAY,aAAa;QAC5B,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,QAAQ;YAC3B,CAAC,CAAC,IAAI,aAAa,CACf,YAAY,EACZ,oEAAoE,EACpE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CACtD;YACH,CAAC,CAAC,IAAI,aAAa,CACf,KAAK,EACL,mEAAmE,CACpE,CAAC;IACV,OAAO;QACL,EAAE,EAAE,KAAc;QAClB,KAAK,EAAE;YACL,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7C;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAcxB,MAAM,OAAO,aAAc,SAAQ,KAAK;IAE7B;IAEA;IAHT,YACS,IAAe,EACtB,OAAe,EACR,OAAiC;QAExC,KAAK,CAAC,OAAO,CAAC,CAAC;QAJR,SAAI,GAAJ,IAAI,CAAW;QAEf,YAAO,GAAP,OAAO,CAA0B;QAGxC,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AAED,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,MAAM,CAAC,GACL,KAAK,YAAY,aAAa;QAC5B,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,QAAQ;YAC3B,CAAC,CAAC,IAAI,aAAa,CACf,YAAY,EACZ,oEAAoE,EACpE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CACtD;YACH,CAAC,CAAC,IAAI,aAAa,CACf,KAAK,EACL,mEAAmE,CACpE,CAAC;IACV,OAAO;QACL,EAAE,EAAE,KAAc;QAClB,KAAK,EAAE;YACL,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7C;KACF,CAAC;AACJ,CAAC"}
package/dist/index.d.ts CHANGED
@@ -2,3 +2,4 @@ export { PlankaClient } from "./client.js";
2
2
  export { PlanktonError, errorResult, type ErrorCode } from "./errors.js";
3
3
  export { normalizeUrl, sessionSchema, type Session } from "./session.js";
4
4
  export { operationSchemas, type Entity, type Operation, type OperationInput, type OperationResult, type OperationResults, } from "./schemas.js";
5
+ export type { ClientOptions } from "./transport.js";
@@ -6,6 +6,14 @@ export function referenceId(baseUrl, value, kind) {
6
6
  if (/^https?:\/\//i.test(value)) {
7
7
  const url = new URL(value);
8
8
  const base = new URL(baseUrl);
9
+ if (kind === "cards" && url.origin === base.origin) {
10
+ const root = base.pathname.replace(/\/$/, "");
11
+ const path = url.pathname.slice(root.length);
12
+ const match = url.pathname.startsWith(`${root}/`) &&
13
+ /^\/boards\/\d+\/cards\/(\d+)$/.exec(path);
14
+ if (match)
15
+ return match[1];
16
+ }
9
17
  const prefix = `${base.pathname.replace(/\/$/, "")}/${kind}/`;
10
18
  if (url.origin !== base.origin ||
11
19
  !url.pathname.startsWith(prefix) ||
@@ -32,6 +40,7 @@ export function resolveReference(baseUrl, value, items, kind) {
32
40
  "id",
33
41
  "name",
34
42
  "projectId",
43
+ "projectName",
35
44
  "boardId",
36
45
  "boardName",
37
46
  "listId",
@@ -1 +1 @@
1
- {"version":3,"file":"references.js","sourceRoot":"","sources":["../src/references.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,MAAM,UAAU,WAAW,CACzB,OAAe,EACf,KAAa,EACb,IAAY;IAEZ,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3B,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;QAC9B,MAAM,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,IAAI,GAAG,CAAC;QAC9D,IACE,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;YAC1B,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC;YAChC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAChD,CAAC;YACD,MAAM,IAAI,aAAa,CACrB,YAAY,EACZ,SAAS,IAAI,wCAAwC,CACtD,CAAC;QACJ,CAAC;QACD,OAAO,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,OAAe,EACf,KAAa,EACb,KAAe,EACf,IAAY;IAEZ,MAAM,EAAE,GAAG,WAAW,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACjC,EAAE;QACA,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE;QACb,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,iBAAiB,EAAE,KAAK,KAAK,CAAC,iBAAiB,EAAE,CAC9D,CAAC;IACF,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,IAAI,aAAa,CAAC,WAAW,EAAE,eAAe,IAAI,iBAAiB,CAAC,CAAC;IAC7E,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,aAAa,CACrB,WAAW,EACX,YAAY,IAAI,uBAAuB,EACvC;YACE,OAAO,EAAE,OAAO;iBACb,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;iBACZ,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACT,MAAM,CAAC,WAAW,CAChB;gBACE,IAAI;gBACJ,MAAM;gBACN,WAAW;gBACX,SAAS;gBACT,WAAW;gBACX,QAAQ;gBACR,UAAU;gBACV,QAAQ;gBACR,YAAY;gBACZ,KAAK;aACN;iBACE,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC;iBACrC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAC/B,CACF;YACH,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,EAAE;gBACrB,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE;gBAC5C,CAAC,CAAC,EAAE,CAAC;SACR,CACF,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC,CAAC,CAAE,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"references.js","sourceRoot":"","sources":["../src/references.ts"],"names":[],"mappings":"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"}
package/dist/schemas.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { z } from "zod";
2
2
  export declare const entitySchema: z.ZodObject<{
3
3
  id: z.ZodString;
4
- name: z.ZodOptional<z.ZodString>;
4
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
5
5
  username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
6
6
  projectId: z.ZodOptional<z.ZodString>;
7
7
  boardId: z.ZodOptional<z.ZodString>;
@@ -12,13 +12,13 @@ export declare const entitySchema: z.ZodObject<{
12
12
  listChangedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
13
13
  description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
14
14
  isCompleted: z.ZodOptional<z.ZodBoolean>;
15
- position: z.ZodOptional<z.ZodNumber>;
15
+ position: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
16
16
  }, z.core.$catchall<z.ZodUnknown>>;
17
17
  export type Entity = z.infer<typeof entitySchema>;
18
18
  export declare const itemResponseSchema: z.ZodObject<{
19
19
  item: z.ZodObject<{
20
20
  id: z.ZodString;
21
- name: z.ZodOptional<z.ZodString>;
21
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
22
22
  username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
23
23
  projectId: z.ZodOptional<z.ZodString>;
24
24
  boardId: z.ZodOptional<z.ZodString>;
@@ -29,13 +29,13 @@ export declare const itemResponseSchema: z.ZodObject<{
29
29
  listChangedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
30
30
  description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
31
31
  isCompleted: z.ZodOptional<z.ZodBoolean>;
32
- position: z.ZodOptional<z.ZodNumber>;
32
+ position: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
33
33
  }, z.core.$catchall<z.ZodUnknown>>;
34
34
  }, z.core.$strip>;
35
35
  export declare const itemsResponseSchema: z.ZodObject<{
36
36
  items: z.ZodArray<z.ZodObject<{
37
37
  id: z.ZodString;
38
- name: z.ZodOptional<z.ZodString>;
38
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
39
39
  username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
40
40
  projectId: z.ZodOptional<z.ZodString>;
41
41
  boardId: z.ZodOptional<z.ZodString>;
@@ -46,13 +46,13 @@ export declare const itemsResponseSchema: z.ZodObject<{
46
46
  listChangedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
47
47
  description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
48
48
  isCompleted: z.ZodOptional<z.ZodBoolean>;
49
- position: z.ZodOptional<z.ZodNumber>;
49
+ position: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
50
50
  }, z.core.$catchall<z.ZodUnknown>>>;
51
51
  }, z.core.$strip>;
52
52
  export declare const projectsResponseSchema: z.ZodObject<{
53
53
  items: z.ZodArray<z.ZodObject<{
54
54
  id: z.ZodString;
55
- name: z.ZodOptional<z.ZodString>;
55
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
56
56
  username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
57
57
  projectId: z.ZodOptional<z.ZodString>;
58
58
  boardId: z.ZodOptional<z.ZodString>;
@@ -63,12 +63,12 @@ export declare const projectsResponseSchema: z.ZodObject<{
63
63
  listChangedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
64
64
  description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
65
65
  isCompleted: z.ZodOptional<z.ZodBoolean>;
66
- position: z.ZodOptional<z.ZodNumber>;
66
+ position: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
67
67
  }, z.core.$catchall<z.ZodUnknown>>>;
68
68
  included: z.ZodObject<{
69
69
  boards: z.ZodArray<z.ZodObject<{
70
70
  id: z.ZodString;
71
- name: z.ZodOptional<z.ZodString>;
71
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
72
72
  username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
73
73
  projectId: z.ZodOptional<z.ZodString>;
74
74
  boardId: z.ZodOptional<z.ZodString>;
@@ -79,14 +79,14 @@ export declare const projectsResponseSchema: z.ZodObject<{
79
79
  listChangedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
80
80
  description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
81
81
  isCompleted: z.ZodOptional<z.ZodBoolean>;
82
- position: z.ZodOptional<z.ZodNumber>;
82
+ position: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
83
83
  }, z.core.$catchall<z.ZodUnknown>>>;
84
84
  }, z.core.$strip>;
85
85
  }, z.core.$strip>;
86
86
  export declare const boardResponseSchema: z.ZodObject<{
87
87
  item: z.ZodObject<{
88
88
  id: z.ZodString;
89
- name: z.ZodOptional<z.ZodString>;
89
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
90
90
  username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
91
91
  projectId: z.ZodOptional<z.ZodString>;
92
92
  boardId: z.ZodOptional<z.ZodString>;
@@ -97,12 +97,12 @@ export declare const boardResponseSchema: z.ZodObject<{
97
97
  listChangedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
98
98
  description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
99
99
  isCompleted: z.ZodOptional<z.ZodBoolean>;
100
- position: z.ZodOptional<z.ZodNumber>;
100
+ position: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
101
101
  }, z.core.$catchall<z.ZodUnknown>>;
102
102
  included: z.ZodObject<{
103
103
  lists: z.ZodArray<z.ZodObject<{
104
104
  id: z.ZodString;
105
- name: z.ZodOptional<z.ZodString>;
105
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
106
106
  username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
107
107
  projectId: z.ZodOptional<z.ZodString>;
108
108
  boardId: z.ZodOptional<z.ZodString>;
@@ -113,11 +113,11 @@ export declare const boardResponseSchema: z.ZodObject<{
113
113
  listChangedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
114
114
  description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
115
115
  isCompleted: z.ZodOptional<z.ZodBoolean>;
116
- position: z.ZodOptional<z.ZodNumber>;
116
+ position: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
117
117
  }, z.core.$catchall<z.ZodUnknown>>>;
118
118
  cards: z.ZodArray<z.ZodObject<{
119
119
  id: z.ZodString;
120
- name: z.ZodOptional<z.ZodString>;
120
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
121
121
  username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
122
122
  projectId: z.ZodOptional<z.ZodString>;
123
123
  boardId: z.ZodOptional<z.ZodString>;
@@ -128,14 +128,14 @@ export declare const boardResponseSchema: z.ZodObject<{
128
128
  listChangedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
129
129
  description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
130
130
  isCompleted: z.ZodOptional<z.ZodBoolean>;
131
- position: z.ZodOptional<z.ZodNumber>;
131
+ position: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
132
132
  }, z.core.$catchall<z.ZodUnknown>>>;
133
133
  }, z.core.$strip>;
134
134
  }, z.core.$strip>;
135
135
  export declare const cardResponseSchema: z.ZodObject<{
136
136
  item: z.ZodObject<{
137
137
  id: z.ZodString;
138
- name: z.ZodOptional<z.ZodString>;
138
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
139
139
  username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
140
140
  projectId: z.ZodOptional<z.ZodString>;
141
141
  boardId: z.ZodOptional<z.ZodString>;
@@ -146,12 +146,12 @@ export declare const cardResponseSchema: z.ZodObject<{
146
146
  listChangedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
147
147
  description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
148
148
  isCompleted: z.ZodOptional<z.ZodBoolean>;
149
- position: z.ZodOptional<z.ZodNumber>;
149
+ position: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
150
150
  }, z.core.$catchall<z.ZodUnknown>>;
151
151
  included: z.ZodObject<{
152
152
  taskLists: z.ZodArray<z.ZodObject<{
153
153
  id: z.ZodString;
154
- name: z.ZodOptional<z.ZodString>;
154
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
155
155
  username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
156
156
  projectId: z.ZodOptional<z.ZodString>;
157
157
  boardId: z.ZodOptional<z.ZodString>;
@@ -162,11 +162,11 @@ export declare const cardResponseSchema: z.ZodObject<{
162
162
  listChangedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
163
163
  description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
164
164
  isCompleted: z.ZodOptional<z.ZodBoolean>;
165
- position: z.ZodOptional<z.ZodNumber>;
165
+ position: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
166
166
  }, z.core.$catchall<z.ZodUnknown>>>;
167
167
  tasks: z.ZodArray<z.ZodObject<{
168
168
  id: z.ZodString;
169
- name: z.ZodOptional<z.ZodString>;
169
+ name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
170
170
  username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
171
171
  projectId: z.ZodOptional<z.ZodString>;
172
172
  boardId: z.ZodOptional<z.ZodString>;
@@ -177,7 +177,7 @@ export declare const cardResponseSchema: z.ZodObject<{
177
177
  listChangedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
178
178
  description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
179
179
  isCompleted: z.ZodOptional<z.ZodBoolean>;
180
- position: z.ZodOptional<z.ZodNumber>;
180
+ position: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
181
181
  }, z.core.$catchall<z.ZodUnknown>>>;
182
182
  }, z.core.$strip>;
183
183
  }, z.core.$strip>;
@@ -187,6 +187,13 @@ export type CollectionResult = {
187
187
  };
188
188
  export type SearchResult = CollectionResult & {
189
189
  truncated: boolean;
190
+ complete: boolean;
191
+ paging: {
192
+ items: {
193
+ total: number;
194
+ nextOffset?: number;
195
+ };
196
+ };
190
197
  };
191
198
  export type ItemResult = {
192
199
  item: Entity;
@@ -214,6 +221,10 @@ export interface OperationResults {
214
221
  edit_task_list: ItemResult;
215
222
  add_task: ItemResult;
216
223
  complete_task: ItemResult;
224
+ archive_card: ItemResult;
225
+ delete_card: ItemResult;
226
+ delete_task_list: ItemResult;
227
+ delete_task: ItemResult;
217
228
  }
218
229
  export type OperationResult = OperationResults[Operation];
219
230
  export declare const operationSchemas: {
@@ -226,7 +237,9 @@ export declare const operationSchemas: {
226
237
  }, z.core.$strict>;
227
238
  find_cards: z.ZodObject<{
228
239
  board: z.ZodString;
229
- query: z.ZodString;
240
+ query: z.ZodDefault<z.ZodString>;
241
+ list: z.ZodOptional<z.ZodString>;
242
+ offset: z.ZodDefault<z.ZodNumber>;
230
243
  limit: z.ZodDefault<z.ZodNumber>;
231
244
  }, z.core.$strict>;
232
245
  read_card: z.ZodObject<{
@@ -280,11 +293,30 @@ export declare const operationSchemas: {
280
293
  name: z.ZodString;
281
294
  position: z.ZodDefault<z.ZodNumber>;
282
295
  }, z.core.$strict>;
283
- complete_task: z.ZodObject<{
296
+ archive_card: z.ZodObject<{
297
+ card: z.ZodString;
298
+ board: z.ZodOptional<z.ZodString>;
299
+ }, z.core.$strict>;
300
+ delete_card: z.ZodObject<{
301
+ card: z.ZodString;
302
+ board: z.ZodOptional<z.ZodString>;
303
+ }, z.core.$strict>;
304
+ delete_task_list: z.ZodObject<{
305
+ card: z.ZodString;
306
+ board: z.ZodOptional<z.ZodString>;
307
+ taskList: z.ZodString;
308
+ }, z.core.$strict>;
309
+ delete_task: z.ZodObject<{
284
310
  card: z.ZodString;
285
311
  board: z.ZodOptional<z.ZodString>;
286
312
  taskList: z.ZodString;
287
313
  task: z.ZodString;
314
+ }, z.core.$strict>;
315
+ complete_task: z.ZodObject<{
316
+ card: z.ZodOptional<z.ZodString>;
317
+ board: z.ZodOptional<z.ZodString>;
318
+ taskList: z.ZodOptional<z.ZodString>;
319
+ task: z.ZodString;
288
320
  isCompleted: z.ZodDefault<z.ZodBoolean>;
289
321
  }, z.core.$strict>;
290
322
  };
package/dist/schemas.js CHANGED
@@ -3,7 +3,7 @@ const id = z.string().regex(/^\d+$/);
3
3
  export const entitySchema = z
4
4
  .object({
5
5
  id,
6
- name: z.string().optional(),
6
+ name: z.string().nullable().optional(),
7
7
  username: z.string().nullable().optional(),
8
8
  projectId: id.optional(),
9
9
  boardId: id.optional(),
@@ -14,7 +14,7 @@ export const entitySchema = z
14
14
  listChangedAt: z.string().nullable().optional(),
15
15
  description: z.string().nullable().optional(),
16
16
  isCompleted: z.boolean().optional(),
17
- position: z.number().finite().optional(),
17
+ position: z.number().finite().nullable().optional(),
18
18
  })
19
19
  .catchall(z.unknown());
20
20
  export const itemResponseSchema = z.object({ item: entitySchema });
@@ -45,7 +45,14 @@ export const operationSchemas = {
45
45
  find_cards: z
46
46
  .object({
47
47
  board: ref,
48
- query: z.string().trim().min(1).max(128),
48
+ query: z.string().trim().max(128).default(""),
49
+ list: ref.optional(),
50
+ offset: z
51
+ .number()
52
+ .int()
53
+ .nonnegative()
54
+ .max(Number.MAX_SAFE_INTEGER)
55
+ .default(0),
49
56
  limit: z.number().int().min(1).max(100).default(25),
50
57
  })
51
58
  .strict(),
@@ -93,14 +100,26 @@ export const operationSchemas = {
93
100
  add_task: z
94
101
  .object({ card: ref, board: ref.optional(), taskList: ref, name, position })
95
102
  .strict(),
103
+ archive_card: z.object({ card: ref, board: ref.optional() }).strict(),
104
+ delete_card: z.object({ card: ref, board: ref.optional() }).strict(),
105
+ delete_task_list: z
106
+ .object({ card: ref, board: ref.optional(), taskList: ref })
107
+ .strict(),
108
+ delete_task: z
109
+ .object({ card: ref, board: ref.optional(), taskList: ref, task: ref })
110
+ .strict(),
96
111
  complete_task: z
97
112
  .object({
98
- card: ref,
113
+ card: ref.optional(),
99
114
  board: ref.optional(),
100
- taskList: ref,
115
+ taskList: ref.optional(),
101
116
  task: ref,
102
117
  isCompleted: z.boolean().default(true),
103
118
  })
104
- .strict(),
119
+ .strict()
120
+ .refine((v) => Boolean(v.card) || (!v.board && !v.taskList && /^\d+$/.test(v.task)), {
121
+ message: "Supply --card for task names or scope checks, or use a bare task ID.",
122
+ path: ["card"],
123
+ }),
105
124
  };
106
125
  //# sourceMappingURL=schemas.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,18 @@
1
1
  import { type Session } from "./session.js";
2
- import type { z } from "zod";
2
+ import { z } from "zod";
3
3
  export interface ClientOptions {
4
4
  url: string;
5
5
  session: Session;
6
6
  fetch?: typeof fetch;
7
7
  timeoutMs?: number;
8
+ debug?: (details: Record<string, unknown>) => void;
8
9
  }
9
10
  export declare class PlankaTransport {
10
11
  readonly url: string;
11
12
  private readonly session;
12
13
  private readonly fetcher;
13
14
  private readonly timeoutMs;
15
+ private readonly debug?;
14
16
  constructor(options: ClientOptions);
15
17
  request<T>(path: string, schema: z.ZodType<T>, method?: string, body?: unknown): Promise<T>;
16
18
  }
package/dist/transport.js CHANGED
@@ -1,11 +1,14 @@
1
1
  import { PlanktonError } from "./errors.js";
2
2
  import { normalizeUrl, sessionSchema } from "./session.js";
3
+ import { z } from "zod";
3
4
  export class PlankaTransport {
4
5
  url;
5
6
  session;
6
7
  fetcher;
7
8
  timeoutMs;
9
+ debug;
8
10
  constructor(options) {
11
+ this.debug = options.debug;
9
12
  this.url = normalizeUrl(options.url);
10
13
  this.session = sessionSchema.parse(options.session);
11
14
  this.fetcher = options.fetch ?? fetch;
@@ -13,6 +16,10 @@ export class PlankaTransport {
13
16
  }
14
17
  async request(path, schema, method = "GET", body) {
15
18
  const write = method !== "GET";
19
+ let status;
20
+ let phase = "network";
21
+ const endpoint = path.split("?")[0];
22
+ const started = Date.now();
16
23
  try {
17
24
  const response = await this.fetcher(`${this.url}/api/${path}`, {
18
25
  method,
@@ -28,6 +35,8 @@ export class PlankaTransport {
28
35
  },
29
36
  ...(body === undefined ? {} : { body: JSON.stringify(body) }),
30
37
  });
38
+ status = response.status;
39
+ phase = "response";
31
40
  if (response.status === 401) {
32
41
  throw new PlanktonError("AUTHENTICATION", "Planka session expired or invalid. Run plankton login.");
33
42
  }
@@ -45,15 +54,38 @@ export class PlankaTransport {
45
54
  ? "Planka failed during a write. Read the resource before trying again; the change may have completed."
46
55
  : `Planka returned HTTP ${response.status}.`, { status: response.status });
47
56
  }
48
- return schema.parse(await response.json());
57
+ phase = "json";
58
+ const payload = await response.json();
59
+ phase = "schema";
60
+ return schema.parse(payload);
49
61
  }
50
62
  catch (error) {
51
63
  if (error instanceof PlanktonError) {
64
+ error.details = { ...error.details, status, endpoint, method };
52
65
  throw error;
53
66
  }
54
- throw new PlanktonError(write ? "UNCERTAIN_WRITE" : "NETWORK", write
67
+ throw new PlanktonError(write ? "UNCERTAIN_WRITE" : phase === "network" ? "NETWORK" : "API", write
55
68
  ? "The write outcome is unknown. Read the resource before retrying; do not repeat the write blindly."
56
- : "Could not read Planka. Check the URL, network and server response.");
69
+ : phase === "network"
70
+ ? "Could not reach Planka. Check the connection or timeout."
71
+ : "Planka returned an invalid API response.", {
72
+ status,
73
+ endpoint,
74
+ method,
75
+ phase,
76
+ ...(error instanceof z.ZodError
77
+ ? { fields: error.issues.map((i) => i.path.join(".")) }
78
+ : {}),
79
+ });
80
+ }
81
+ finally {
82
+ this.debug?.({
83
+ method,
84
+ endpoint,
85
+ status,
86
+ phase,
87
+ durationMs: Date.now() - started,
88
+ });
57
89
  }
58
90
  }
59
91
  }
@@ -1 +1 @@
1
- {"version":3,"file":"transport.js","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "author": "Evan Kim",
3
3
  "name": "@evanston/plankton-core",
4
- "version": "0.2.1",
4
+ "version": "0.3.0",
5
5
  "description": "Local Planka integration core",
6
6
  "type": "module",
7
7
  "license": "MIT",