whiteboard-mcp-server 2.19.0 → 2.22.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 (45) hide show
  1. package/dist/api-client.d.ts +104 -1
  2. package/dist/api-client.d.ts.map +1 -1
  3. package/dist/api-client.js +50 -0
  4. package/dist/api-client.js.map +1 -1
  5. package/dist/index.js +128 -8
  6. package/dist/index.js.map +1 -1
  7. package/dist/tools/capability-diff.d.ts +21 -0
  8. package/dist/tools/capability-diff.d.ts.map +1 -0
  9. package/dist/tools/capability-diff.js +41 -0
  10. package/dist/tools/capability-diff.js.map +1 -0
  11. package/dist/tools/capability-map.d.ts +18 -0
  12. package/dist/tools/capability-map.d.ts.map +1 -0
  13. package/dist/tools/capability-map.js +38 -0
  14. package/dist/tools/capability-map.js.map +1 -0
  15. package/dist/tools/create-ticket.d.ts +10 -10
  16. package/dist/tools/create-ticket.d.ts.map +1 -1
  17. package/dist/tools/create-ticket.js +1 -4
  18. package/dist/tools/create-ticket.js.map +1 -1
  19. package/dist/tools/list-capabilities.d.ts +3 -3
  20. package/dist/tools/list-capabilities.d.ts.map +1 -1
  21. package/dist/tools/list-capabilities.js +4 -3
  22. package/dist/tools/list-capabilities.js.map +1 -1
  23. package/dist/tools/list-orphans.d.ts +18 -0
  24. package/dist/tools/list-orphans.d.ts.map +1 -0
  25. package/dist/tools/list-orphans.js +60 -0
  26. package/dist/tools/list-orphans.js.map +1 -0
  27. package/dist/tools/list-tickets.d.ts.map +1 -1
  28. package/dist/tools/list-tickets.js +3 -1
  29. package/dist/tools/list-tickets.js.map +1 -1
  30. package/dist/tools/mark-off-map.d.ts +18 -0
  31. package/dist/tools/mark-off-map.d.ts.map +1 -0
  32. package/dist/tools/mark-off-map.js +16 -0
  33. package/dist/tools/mark-off-map.js.map +1 -0
  34. package/dist/tools/read-capability.d.ts.map +1 -1
  35. package/dist/tools/read-capability.js +12 -9
  36. package/dist/tools/read-capability.js.map +1 -1
  37. package/dist/tools/read-surface-guide.d.ts +6 -0
  38. package/dist/tools/read-surface-guide.d.ts.map +1 -0
  39. package/dist/tools/read-surface-guide.js +9 -0
  40. package/dist/tools/read-surface-guide.js.map +1 -0
  41. package/dist/tools/unmark-off-map.d.ts +15 -0
  42. package/dist/tools/unmark-off-map.d.ts.map +1 -0
  43. package/dist/tools/unmark-off-map.js +11 -0
  44. package/dist/tools/unmark-off-map.js.map +1 -0
  45. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"list-tickets.js","sourceRoot":"","sources":["../../src/tools/list-tickets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list-tickets.js","sourceRoot":"","sources":["../../src/tools/list-tickets.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { z } from 'zod';
2
+ import { ApiClient } from '../api-client.js';
3
+ export declare const markOffMapSchema: z.ZodObject<{
4
+ ticketId: z.ZodString;
5
+ reason: z.ZodString;
6
+ workspaceId: z.ZodOptional<z.ZodString>;
7
+ }, "strip", z.ZodTypeAny, {
8
+ ticketId: string;
9
+ reason: string;
10
+ workspaceId?: string | undefined;
11
+ }, {
12
+ ticketId: string;
13
+ reason: string;
14
+ workspaceId?: string | undefined;
15
+ }>;
16
+ export type MarkOffMapInput = z.infer<typeof markOffMapSchema>;
17
+ export declare function markOffMap(client: ApiClient, input: MarkOffMapInput): Promise<string>;
18
+ //# sourceMappingURL=mark-off-map.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mark-off-map.d.ts","sourceRoot":"","sources":["../../src/tools/mark-off-map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,eAAO,MAAM,gBAAgB;;;;;;;;;;;;EAU3B,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE/D,wBAAsB,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAI3F"}
@@ -0,0 +1,16 @@
1
+ import { z } from 'zod';
2
+ export const markOffMapSchema = z.object({
3
+ ticketId: z.string().uuid().describe('Ticket UUID'),
4
+ reason: z
5
+ .string()
6
+ .min(1)
7
+ .max(2000)
8
+ .describe('Why this ticket serves no capability. Write a sentence a person will read in six months, naming the actual work: "build tooling — migrating the CI runner", "paying down the retry logic in the funding worker". "Not a capability" restates the button and answers nothing.'),
9
+ workspaceId: z.string().optional(),
10
+ });
11
+ export async function markOffMap(client, input) {
12
+ const workspaceId = await client.resolveWorkspaceId(input.workspaceId);
13
+ const result = await client.markTicketOffMap(workspaceId, input.ticketId, input.reason);
14
+ return `Declared off the map: ${result.reason}`;
15
+ }
16
+ //# sourceMappingURL=mark-off-map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mark-off-map.js","sourceRoot":"","sources":["../../src/tools/mark-off-map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;IACnD,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,IAAI,CAAC;SACT,QAAQ,CACP,8QAA8Q,CAC/Q;IACH,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC;AAIH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAiB,EAAE,KAAsB;IACxE,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACvE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACxF,OAAO,yBAAyB,MAAM,CAAC,MAAM,EAAE,CAAC;AAClD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"read-capability.d.ts","sourceRoot":"","sources":["../../src/tools/read-capability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,eAAO,MAAM,oBAAoB;;;;;;;;;EAG/B,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAEvE,wBAAsB,cAAc,CAClC,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,mBAAmB,GACzB,OAAO,CAAC,MAAM,CAAC,CAqCjB"}
1
+ {"version":3,"file":"read-capability.d.ts","sourceRoot":"","sources":["../../src/tools/read-capability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,eAAO,MAAM,oBAAoB;;;;;;;;;EAG/B,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAEvE,wBAAsB,cAAc,CAClC,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,mBAAmB,GACzB,OAAO,CAAC,MAAM,CAAC,CAkDjB"}
@@ -17,21 +17,24 @@ export async function readCapability(client, input) {
17
17
  `- **Lifecycle**: ${c.lifecycle}`,
18
18
  `- **Parent**: ${c.parentKey ?? '—'}`,
19
19
  `- **Rests on**: ${c.basedOnKey ?? '—'}`,
20
+ ...(c.usedByKeys.length > 0 ? [`- **Used by**: ${c.usedByKeys.join(', ')}`] : []),
20
21
  `- **Superseded by**: ${c.supersededByKey ?? '—'}`,
21
22
  `- **Claims**: ${c.claims.length ? c.claims.map((x) => `\`${x}\``).join(', ') : 'none'}`,
22
23
  `- **Attached tickets**: ${c.featureIds.length ? c.featureIds.join(', ') : 'none'}`,
23
24
  `- **Limits**: ${c.limits.length ? c.limits.join('; ') : 'none'} (descriptive only)`,
24
25
  '',
25
- '## Intent',
26
- '',
27
- c.intent || '_(empty)_',
28
- '',
29
- '## History',
30
- '',
31
- ...(history.length
32
- ? history.map((h) => `- ${new Date(h.at).toISOString().slice(0, 10)} — ${h.why}${h.origin === 'reconstructed' ? ' _(reconstructed)_' : ''}`)
33
- : ['_(none)_']),
34
26
  ];
27
+ if (c.evidence.length > 0) {
28
+ lines.push(`**Evidence** (${c.evidence.length} element(s) found in the surface):`);
29
+ for (const found of c.evidence) {
30
+ const where = found.path ? ` — ${found.path}` : '';
31
+ lines.push(`- \`${found.elementId}\` (${found.kind}, ${found.source} @ ${found.ref})${where}`);
32
+ }
33
+ lines.push('');
34
+ }
35
+ lines.push('## Intent', '', c.intent || '_(empty)_', '', '## History', '', ...(history.length
36
+ ? history.map((h) => `- ${new Date(h.at).toISOString().slice(0, 10)} — ${h.why}${h.origin === 'reconstructed' ? ' _(reconstructed)_' : ''}`)
37
+ : ['_(none)_']));
35
38
  return lines.join('\n');
36
39
  }
37
40
  //# sourceMappingURL=read-capability.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"read-capability.js","sourceRoot":"","sources":["../../src/tools/read-capability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uDAAuD,CAAC;IACjF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;CAC3F,CAAC,CAAC;AAIH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAAiB,EACjB,KAA0B;IAE1B,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACvE,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAE1E,MAAM,KAAK,GAAG;QACZ,KAAK,CAAC,CAAC,IAAI,EAAE;QACb,EAAE;QACF,gBAAgB,CAAC,CAAC,GAAG,gBAAgB;QACrC,mBAAmB,CAAC,CAAC,QAAQ,EAAE,KAAK,IAAI,MAAM,EAAE;QAChD,iBAAiB,CAAC,CAAC,MAAM,EAAE;QAC3B,gBAAgB,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,WAAW,EAAE;QAC5C,oBAAoB,CAAC,CAAC,SAAS,EAAE;QACjC,iBAAiB,CAAC,CAAC,SAAS,IAAI,GAAG,EAAE;QACrC,mBAAmB,CAAC,CAAC,UAAU,IAAI,GAAG,EAAE;QACxC,wBAAwB,CAAC,CAAC,eAAe,IAAI,GAAG,EAAE;QAClD,iBAAiB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;QACxF,2BAA2B,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;QACnF,iBAAiB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,qBAAqB;QACpF,EAAE;QACF,WAAW;QACX,EAAE;QACF,CAAC,CAAC,MAAM,IAAI,WAAW;QACvB,EAAE;QACF,YAAY;QACZ,EAAE;QACF,GAAG,CAAC,OAAO,CAAC,MAAM;YAChB,CAAC,CAAC,OAAO,CAAC,GAAG,CACT,CAAC,CAAC,EAAE,EAAE,CACJ,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,GACvD,CAAC,CAAC,MAAM,KAAK,eAAe,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,EACxD,EAAE,CACL;YACH,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;KAClB,CAAC;IAEF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"read-capability.js","sourceRoot":"","sources":["../../src/tools/read-capability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uDAAuD,CAAC;IACjF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;CAC3F,CAAC,CAAC;AAIH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAAiB,EACjB,KAA0B;IAE1B,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACvE,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,WAAW,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAE1E,MAAM,KAAK,GAAG;QACZ,KAAK,CAAC,CAAC,IAAI,EAAE;QACb,EAAE;QACF,gBAAgB,CAAC,CAAC,GAAG,gBAAgB;QACrC,mBAAmB,CAAC,CAAC,QAAQ,EAAE,KAAK,IAAI,MAAM,EAAE;QAChD,iBAAiB,CAAC,CAAC,MAAM,EAAE;QAC3B,gBAAgB,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,WAAW,EAAE;QAC5C,oBAAoB,CAAC,CAAC,SAAS,EAAE;QACjC,iBAAiB,CAAC,CAAC,SAAS,IAAI,GAAG,EAAE;QACrC,mBAAmB,CAAC,CAAC,UAAU,IAAI,GAAG,EAAE;QACxC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjF,wBAAwB,CAAC,CAAC,eAAe,IAAI,GAAG,EAAE;QAClD,iBAAiB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;QACxF,2BAA2B,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;QACnF,iBAAiB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,qBAAqB;QACpF,EAAE;KACH,CAAC;IAEF,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,MAAM,oCAAoC,CAAC,CAAC;QACnF,KAAK,MAAM,KAAK,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,SAAS,OAAO,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,MAAM,KAAK,CAAC,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC;QACjG,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,IAAI,CACR,WAAW,EACX,EAAE,EACF,CAAC,CAAC,MAAM,IAAI,WAAW,EACvB,EAAE,EACF,YAAY,EACZ,EAAE,EACF,GAAG,CAAC,OAAO,CAAC,MAAM;QAChB,CAAC,CAAC,OAAO,CAAC,GAAG,CACT,CAAC,CAAC,EAAE,EAAE,CACJ,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,GACvD,CAAC,CAAC,MAAM,KAAK,eAAe,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,EACxD,EAAE,CACL;QACH,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAClB,CAAC;IAEF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { z } from 'zod';
2
+ import { ApiClient } from '../api-client.js';
3
+ export declare const readSurfaceGuideSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
4
+ export type ReadSurfaceGuideInput = z.infer<typeof readSurfaceGuideSchema>;
5
+ export declare function readSurfaceGuide(client: ApiClient): Promise<string>;
6
+ //# sourceMappingURL=read-surface-guide.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read-surface-guide.d.ts","sourceRoot":"","sources":["../../src/tools/read-surface-guide.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,eAAO,MAAM,sBAAsB,gDAAe,CAAC;AAEnD,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAK3E,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAEzE"}
@@ -0,0 +1,9 @@
1
+ import { z } from 'zod';
2
+ export const readSurfaceGuideSchema = z.object({});
3
+ // The whole contract, verbatim, from the one place it exists. No workspace to
4
+ // resolve and no key to present: the guide is public, because a contract you
5
+ // need credentials to read is a contract nobody reads.
6
+ export async function readSurfaceGuide(client) {
7
+ return client.getSurfaceGuide();
8
+ }
9
+ //# sourceMappingURL=read-surface-guide.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read-surface-guide.js","sourceRoot":"","sources":["../../src/tools/read-surface-guide.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAInD,8EAA8E;AAC9E,6EAA6E;AAC7E,uDAAuD;AACvD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAAiB;IACtD,OAAO,MAAM,CAAC,eAAe,EAAE,CAAC;AAClC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { z } from 'zod';
2
+ import { ApiClient } from '../api-client.js';
3
+ export declare const unmarkOffMapSchema: z.ZodObject<{
4
+ ticketId: z.ZodString;
5
+ workspaceId: z.ZodOptional<z.ZodString>;
6
+ }, "strip", z.ZodTypeAny, {
7
+ ticketId: string;
8
+ workspaceId?: string | undefined;
9
+ }, {
10
+ ticketId: string;
11
+ workspaceId?: string | undefined;
12
+ }>;
13
+ export type UnmarkOffMapInput = z.infer<typeof unmarkOffMapSchema>;
14
+ export declare function unmarkOffMap(client: ApiClient, input: UnmarkOffMapInput): Promise<string>;
15
+ //# sourceMappingURL=unmark-off-map.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unmark-off-map.d.ts","sourceRoot":"","sources":["../../src/tools/unmark-off-map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,eAAO,MAAM,kBAAkB;;;;;;;;;EAG7B,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEnE,wBAAsB,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAI/F"}
@@ -0,0 +1,11 @@
1
+ import { z } from 'zod';
2
+ export const unmarkOffMapSchema = z.object({
3
+ ticketId: z.string().uuid().describe('Ticket UUID'),
4
+ workspaceId: z.string().optional(),
5
+ });
6
+ export async function unmarkOffMap(client, input) {
7
+ const workspaceId = await client.resolveWorkspaceId(input.workspaceId);
8
+ await client.unmarkTicketOffMap(workspaceId, input.ticketId);
9
+ return 'Back on the map — this ticket is an open question again.';
10
+ }
11
+ //# sourceMappingURL=unmark-off-map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unmark-off-map.js","sourceRoot":"","sources":["../../src/tools/unmark-off-map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;IACnD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC;AAIH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAAiB,EAAE,KAAwB;IAC5E,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACvE,MAAM,MAAM,CAAC,kBAAkB,CAAC,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC7D,OAAO,0DAA0D,CAAC;AACpE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "whiteboard-mcp-server",
3
- "version": "2.19.0",
3
+ "version": "2.22.0",
4
4
  "description": "MCP server for Whiteboard notes & papers (LaTeX) integration with Claude Code",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",