@voxos-ai/clink-mcp-server 0.4.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 (147) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +382 -0
  3. package/dist/client.d.ts +285 -0
  4. package/dist/client.d.ts.map +1 -0
  5. package/dist/client.js +414 -0
  6. package/dist/client.js.map +1 -0
  7. package/dist/index.d.ts +9 -0
  8. package/dist/index.d.ts.map +1 -0
  9. package/dist/index.js +95 -0
  10. package/dist/index.js.map +1 -0
  11. package/dist/tools/add_checkpoint.d.ts +68 -0
  12. package/dist/tools/add_checkpoint.d.ts.map +1 -0
  13. package/dist/tools/add_checkpoint.js +108 -0
  14. package/dist/tools/add_checkpoint.js.map +1 -0
  15. package/dist/tools/archive_project.d.ts +23 -0
  16. package/dist/tools/archive_project.d.ts.map +1 -0
  17. package/dist/tools/archive_project.js +44 -0
  18. package/dist/tools/archive_project.js.map +1 -0
  19. package/dist/tools/cast_vote.d.ts +38 -0
  20. package/dist/tools/cast_vote.d.ts.map +1 -0
  21. package/dist/tools/cast_vote.js +148 -0
  22. package/dist/tools/cast_vote.js.map +1 -0
  23. package/dist/tools/check_inbox.d.ts +39 -0
  24. package/dist/tools/check_inbox.d.ts.map +1 -0
  25. package/dist/tools/check_inbox.js +99 -0
  26. package/dist/tools/check_inbox.js.map +1 -0
  27. package/dist/tools/claim_clink.d.ts +28 -0
  28. package/dist/tools/claim_clink.d.ts.map +1 -0
  29. package/dist/tools/claim_clink.js +51 -0
  30. package/dist/tools/claim_clink.js.map +1 -0
  31. package/dist/tools/complete_checkpoint.d.ts +33 -0
  32. package/dist/tools/complete_checkpoint.d.ts.map +1 -0
  33. package/dist/tools/complete_checkpoint.js +143 -0
  34. package/dist/tools/complete_checkpoint.js.map +1 -0
  35. package/dist/tools/complete_clink.d.ts +28 -0
  36. package/dist/tools/complete_clink.d.ts.map +1 -0
  37. package/dist/tools/complete_clink.js +50 -0
  38. package/dist/tools/complete_clink.js.map +1 -0
  39. package/dist/tools/complete_project.d.ts +23 -0
  40. package/dist/tools/complete_project.d.ts.map +1 -0
  41. package/dist/tools/complete_project.js +44 -0
  42. package/dist/tools/complete_project.js.map +1 -0
  43. package/dist/tools/create_milestone.d.ts +91 -0
  44. package/dist/tools/create_milestone.d.ts.map +1 -0
  45. package/dist/tools/create_milestone.js +114 -0
  46. package/dist/tools/create_milestone.js.map +1 -0
  47. package/dist/tools/create_project.d.ts +43 -0
  48. package/dist/tools/create_project.d.ts.map +1 -0
  49. package/dist/tools/create_project.js +77 -0
  50. package/dist/tools/create_project.js.map +1 -0
  51. package/dist/tools/create_proposal.d.ts +58 -0
  52. package/dist/tools/create_proposal.d.ts.map +1 -0
  53. package/dist/tools/create_proposal.js +102 -0
  54. package/dist/tools/create_proposal.js.map +1 -0
  55. package/dist/tools/delete_checkpoint.d.ts +28 -0
  56. package/dist/tools/delete_checkpoint.d.ts.map +1 -0
  57. package/dist/tools/delete_checkpoint.js +66 -0
  58. package/dist/tools/delete_checkpoint.js.map +1 -0
  59. package/dist/tools/finalize_proposal.d.ts +28 -0
  60. package/dist/tools/finalize_proposal.d.ts.map +1 -0
  61. package/dist/tools/finalize_proposal.js +86 -0
  62. package/dist/tools/finalize_proposal.js.map +1 -0
  63. package/dist/tools/get_clinks.d.ts +43 -0
  64. package/dist/tools/get_clinks.d.ts.map +1 -0
  65. package/dist/tools/get_clinks.js +110 -0
  66. package/dist/tools/get_clinks.js.map +1 -0
  67. package/dist/tools/get_milestone.d.ts +23 -0
  68. package/dist/tools/get_milestone.d.ts.map +1 -0
  69. package/dist/tools/get_milestone.js +77 -0
  70. package/dist/tools/get_milestone.js.map +1 -0
  71. package/dist/tools/get_my_permissions.d.ts +14 -0
  72. package/dist/tools/get_my_permissions.d.ts.map +1 -0
  73. package/dist/tools/get_my_permissions.js +80 -0
  74. package/dist/tools/get_my_permissions.js.map +1 -0
  75. package/dist/tools/get_project.d.ts +23 -0
  76. package/dist/tools/get_project.d.ts.map +1 -0
  77. package/dist/tools/get_project.js +88 -0
  78. package/dist/tools/get_project.js.map +1 -0
  79. package/dist/tools/get_proposal.d.ts +23 -0
  80. package/dist/tools/get_proposal.d.ts.map +1 -0
  81. package/dist/tools/get_proposal.js +102 -0
  82. package/dist/tools/get_proposal.js.map +1 -0
  83. package/dist/tools/index.d.ts +17 -0
  84. package/dist/tools/index.d.ts.map +1 -0
  85. package/dist/tools/index.js +89 -0
  86. package/dist/tools/index.js.map +1 -0
  87. package/dist/tools/list_groups.d.ts +14 -0
  88. package/dist/tools/list_groups.d.ts.map +1 -0
  89. package/dist/tools/list_groups.js +35 -0
  90. package/dist/tools/list_groups.js.map +1 -0
  91. package/dist/tools/list_members.d.ts +23 -0
  92. package/dist/tools/list_members.d.ts.map +1 -0
  93. package/dist/tools/list_members.js +52 -0
  94. package/dist/tools/list_members.js.map +1 -0
  95. package/dist/tools/list_milestones.d.ts +34 -0
  96. package/dist/tools/list_milestones.d.ts.map +1 -0
  97. package/dist/tools/list_milestones.js +78 -0
  98. package/dist/tools/list_milestones.js.map +1 -0
  99. package/dist/tools/list_pending_verifications.d.ts +28 -0
  100. package/dist/tools/list_pending_verifications.d.ts.map +1 -0
  101. package/dist/tools/list_pending_verifications.js +83 -0
  102. package/dist/tools/list_pending_verifications.js.map +1 -0
  103. package/dist/tools/list_projects.d.ts +34 -0
  104. package/dist/tools/list_projects.d.ts.map +1 -0
  105. package/dist/tools/list_projects.js +92 -0
  106. package/dist/tools/list_projects.js.map +1 -0
  107. package/dist/tools/list_proposals.d.ts +34 -0
  108. package/dist/tools/list_proposals.d.ts.map +1 -0
  109. package/dist/tools/list_proposals.js +86 -0
  110. package/dist/tools/list_proposals.js.map +1 -0
  111. package/dist/tools/release_clink.d.ts +23 -0
  112. package/dist/tools/release_clink.d.ts.map +1 -0
  113. package/dist/tools/release_clink.js +42 -0
  114. package/dist/tools/release_clink.js.map +1 -0
  115. package/dist/tools/reopen_milestone.d.ts +23 -0
  116. package/dist/tools/reopen_milestone.d.ts.map +1 -0
  117. package/dist/tools/reopen_milestone.js +54 -0
  118. package/dist/tools/reopen_milestone.js.map +1 -0
  119. package/dist/tools/reopen_project.d.ts +23 -0
  120. package/dist/tools/reopen_project.d.ts.map +1 -0
  121. package/dist/tools/reopen_project.js +44 -0
  122. package/dist/tools/reopen_project.js.map +1 -0
  123. package/dist/tools/send_clink.d.ts +33 -0
  124. package/dist/tools/send_clink.d.ts.map +1 -0
  125. package/dist/tools/send_clink.js +64 -0
  126. package/dist/tools/send_clink.js.map +1 -0
  127. package/dist/tools/submit_feedback.d.ts +38 -0
  128. package/dist/tools/submit_feedback.d.ts.map +1 -0
  129. package/dist/tools/submit_feedback.js +93 -0
  130. package/dist/tools/submit_feedback.js.map +1 -0
  131. package/dist/tools/update_checkpoint.d.ts +63 -0
  132. package/dist/tools/update_checkpoint.d.ts.map +1 -0
  133. package/dist/tools/update_checkpoint.js +105 -0
  134. package/dist/tools/update_checkpoint.js.map +1 -0
  135. package/dist/tools/update_milestone.d.ts +33 -0
  136. package/dist/tools/update_milestone.d.ts.map +1 -0
  137. package/dist/tools/update_milestone.js +62 -0
  138. package/dist/tools/update_milestone.js.map +1 -0
  139. package/dist/tools/update_project.d.ts +43 -0
  140. package/dist/tools/update_project.d.ts.map +1 -0
  141. package/dist/tools/update_project.js +74 -0
  142. package/dist/tools/update_project.js.map +1 -0
  143. package/dist/types.d.ts +236 -0
  144. package/dist/types.d.ts.map +1 -0
  145. package/dist/types.js +24 -0
  146. package/dist/types.js.map +1 -0
  147. package/package.json +49 -0
@@ -0,0 +1,23 @@
1
+ /**
2
+ * get_milestone tool - Get milestone details with checkpoints
3
+ */
4
+ export declare const definition: {
5
+ name: string;
6
+ description: string;
7
+ inputSchema: {
8
+ type: "object";
9
+ properties: {
10
+ milestone_id: {
11
+ type: string;
12
+ description: string;
13
+ };
14
+ };
15
+ required: string[];
16
+ };
17
+ };
18
+ interface GetMilestoneArgs {
19
+ milestone_id: string;
20
+ }
21
+ export declare function handler(args: GetMilestoneArgs): Promise<string>;
22
+ export {};
23
+ //# sourceMappingURL=get_milestone.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get_milestone.d.ts","sourceRoot":"","sources":["../../src/tools/get_milestone.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,eAAO,MAAM,UAAU;;;;;;;;;;;;;CAatB,CAAC;AAEF,UAAU,gBAAgB;IACxB,YAAY,EAAE,MAAM,CAAC;CACtB;AAuBD,wBAAsB,OAAO,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAiDrE"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * get_milestone tool - Get milestone details with checkpoints
3
+ */
4
+ import { getMilestone } from '../client.js';
5
+ import { ClinkApiError } from '../types.js';
6
+ export const definition = {
7
+ name: 'get_milestone',
8
+ description: 'Get detailed information about a milestone including all checkpoints and their status.',
9
+ inputSchema: {
10
+ type: 'object',
11
+ properties: {
12
+ milestone_id: {
13
+ type: 'string',
14
+ description: 'The milestone ID',
15
+ },
16
+ },
17
+ required: ['milestone_id'],
18
+ },
19
+ };
20
+ function formatCheckpoint(cp) {
21
+ const statusEmoji = cp.status === 'completed' ? '✅' : '⬜';
22
+ let line = ` ${statusEmoji} ${cp.order}. ${cp.title}`;
23
+ if (cp.description) {
24
+ line += `\n ${cp.description}`;
25
+ }
26
+ if (cp.status === 'completed') {
27
+ line += `\n Completed by: ${cp.completed_by} at ${new Date(cp.completed_at).toLocaleString()}`;
28
+ }
29
+ if (cp.requires_proposal_id) {
30
+ const proposalStatus = cp.proposal_status || 'pending';
31
+ const proposalEmoji = proposalStatus === 'approved' ? '✅' : proposalStatus === 'rejected' ? '❌' : '🗳️';
32
+ line += `\n ${proposalEmoji} Requires consensus: ${proposalStatus} (proposal: ${cp.requires_proposal_id})`;
33
+ }
34
+ return line;
35
+ }
36
+ export async function handler(args) {
37
+ try {
38
+ const { milestone_id } = args;
39
+ if (!milestone_id) {
40
+ return 'Please provide a milestone_id.';
41
+ }
42
+ const milestone = await getMilestone(milestone_id);
43
+ const statusEmoji = milestone.status === 'active' ? '🔄' : '✅';
44
+ let output = `${statusEmoji} ${milestone.title}\n`;
45
+ output += `━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n`;
46
+ output += `ID: ${milestone.milestone_id}\n`;
47
+ output += `Status: ${milestone.status}\n`;
48
+ output += `Progress: ${milestone.progress}\n`;
49
+ output += `Created by: ${milestone.created_by}\n`;
50
+ output += `Created: ${new Date(milestone.created_at).toLocaleString()}\n`;
51
+ if (milestone.description) {
52
+ output += `\nDescription: ${milestone.description}\n`;
53
+ }
54
+ if (milestone.closed_at) {
55
+ output += `Closed: ${new Date(milestone.closed_at).toLocaleString()}\n`;
56
+ }
57
+ output += `\nCheckpoints:\n`;
58
+ output += (milestone.checkpoints || []).map(formatCheckpoint).join('\n\n');
59
+ // Add tips
60
+ const pendingCheckpoints = (milestone.checkpoints || []).filter(cp => cp.status === 'pending');
61
+ if (pendingCheckpoints.length > 0) {
62
+ output += '\n\nTip: Use complete_checkpoint to mark a checkpoint as done.';
63
+ const blockedCheckpoints = pendingCheckpoints.filter(cp => cp.requires_proposal_id && cp.proposal_status !== 'approved');
64
+ if (blockedCheckpoints.length > 0) {
65
+ output += '\nNote: Some checkpoints require consensus approval before they can be completed.';
66
+ }
67
+ }
68
+ return output;
69
+ }
70
+ catch (error) {
71
+ if (error instanceof ClinkApiError) {
72
+ return `Error: ${error.message}`;
73
+ }
74
+ throw error;
75
+ }
76
+ }
77
+ //# sourceMappingURL=get_milestone.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get_milestone.js","sourceRoot":"","sources":["../../src/tools/get_milestone.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * get_my_permissions tool - Get the permissions granted to your API key
3
+ */
4
+ export declare const definition: {
5
+ name: string;
6
+ description: string;
7
+ inputSchema: {
8
+ type: "object";
9
+ properties: {};
10
+ required: never[];
11
+ };
12
+ };
13
+ export declare function handler(): Promise<string>;
14
+ //# sourceMappingURL=get_my_permissions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get_my_permissions.d.ts","sourceRoot":"","sources":["../../src/tools/get_my_permissions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,eAAO,MAAM,UAAU;;;;;;;;CAatB,CAAC;AAEF,wBAAsB,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,CA4D/C"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * get_my_permissions tool - Get the permissions granted to your API key
3
+ */
4
+ import { getMyPermissions } from '../client.js';
5
+ import { ClinkApiError } from '../types.js';
6
+ export const definition = {
7
+ name: 'get_my_permissions',
8
+ description: `Get the permissions granted to your API key. Use this to check what operations you're allowed to perform.
9
+
10
+ Returns:
11
+ - A list of permissions showing which are granted ([x]) or denied ([ ])
12
+ - Your API key scope (user or group)
13
+ - Whether the key belongs to a user or agent profile`,
14
+ inputSchema: {
15
+ type: 'object',
16
+ properties: {},
17
+ required: [],
18
+ },
19
+ };
20
+ export async function handler() {
21
+ try {
22
+ const result = await getMyPermissions();
23
+ const lines = ['Your API key permissions:', ''];
24
+ // Group permissions by category
25
+ const categories = {
26
+ 'Clinks': [],
27
+ 'Milestones': [],
28
+ 'Projects': [],
29
+ 'Proposals': [],
30
+ 'Members': [],
31
+ 'Other': [],
32
+ };
33
+ for (const [perm, info] of Object.entries(result.permissions_info)) {
34
+ const granted = info.granted ? '[x]' : '[ ]';
35
+ const line = ` ${granted} ${perm} - ${info.description}`;
36
+ if (perm.startsWith('clinks:')) {
37
+ categories['Clinks'].push(line);
38
+ }
39
+ else if (perm.startsWith('milestones:')) {
40
+ categories['Milestones'].push(line);
41
+ }
42
+ else if (perm.startsWith('projects:')) {
43
+ categories['Projects'].push(line);
44
+ }
45
+ else if (perm.startsWith('proposals:')) {
46
+ categories['Proposals'].push(line);
47
+ }
48
+ else if (perm.startsWith('members:')) {
49
+ categories['Members'].push(line);
50
+ }
51
+ else {
52
+ categories['Other'].push(line);
53
+ }
54
+ }
55
+ // Output by category
56
+ for (const [category, perms] of Object.entries(categories)) {
57
+ if (perms.length > 0) {
58
+ lines.push(`${category}:`);
59
+ lines.push(...perms);
60
+ lines.push('');
61
+ }
62
+ }
63
+ // Add scope info
64
+ lines.push('Scope:');
65
+ lines.push(` Type: ${result.scope_type}`);
66
+ lines.push(` ID: ${result.scope_id}`);
67
+ lines.push(` Owner type: ${result.owner_type}`);
68
+ return lines.join('\n');
69
+ }
70
+ catch (error) {
71
+ if (error instanceof ClinkApiError) {
72
+ if (error.statusCode === 400) {
73
+ return `Error: ${error.message}\n\nThis endpoint requires API key authentication. Make sure CLINK_API_KEY is set.`;
74
+ }
75
+ return `Error: ${error.message}`;
76
+ }
77
+ throw error;
78
+ }
79
+ }
80
+ //# sourceMappingURL=get_my_permissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get_my_permissions.js","sourceRoot":"","sources":["../../src/tools/get_my_permissions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EAAE;;;;;qDAKsC;IACnD,WAAW,EAAE;QACX,IAAI,EAAE,QAAiB;QACvB,UAAU,EAAE,EAAE;QACd,QAAQ,EAAE,EAAE;KACb;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,OAAO;IAC3B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,gBAAgB,EAAE,CAAC;QAExC,MAAM,KAAK,GAAa,CAAC,2BAA2B,EAAE,EAAE,CAAC,CAAC;QAE1D,gCAAgC;QAChC,MAAM,UAAU,GAA6B;YAC3C,QAAQ,EAAE,EAAE;YACZ,YAAY,EAAE,EAAE;YAChB,UAAU,EAAE,EAAE;YACd,WAAW,EAAE,EAAE;YACf,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,EAAE;SACZ,CAAC;QAEF,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACnE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;YAC7C,MAAM,IAAI,GAAG,KAAK,OAAO,IAAI,IAAI,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YAE1D,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC/B,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,CAAC;iBAAM,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC1C,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtC,CAAC;iBAAM,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;gBACxC,UAAU,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpC,CAAC;iBAAM,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBACzC,UAAU,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrC,CAAC;iBAAM,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBACvC,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnC,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QAED,qBAAqB;QACrB,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3D,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAC;gBAC3B,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;gBACrB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;QAED,iBAAiB;QACjB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QAC3C,KAAK,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,iBAAiB,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QAEjD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,aAAa,EAAE,CAAC;YACnC,IAAI,KAAK,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;gBAC7B,OAAO,UAAU,KAAK,CAAC,OAAO,oFAAoF,CAAC;YACrH,CAAC;YACD,OAAO,UAAU,KAAK,CAAC,OAAO,EAAE,CAAC;QACnC,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * get_project tool - Get detailed information about a project
3
+ */
4
+ export declare const definition: {
5
+ name: string;
6
+ description: string;
7
+ inputSchema: {
8
+ type: "object";
9
+ properties: {
10
+ project_id: {
11
+ type: string;
12
+ description: string;
13
+ };
14
+ };
15
+ required: string[];
16
+ };
17
+ };
18
+ interface GetProjectArgs {
19
+ project_id: string;
20
+ }
21
+ export declare function handler(args: GetProjectArgs): Promise<string>;
22
+ export {};
23
+ //# sourceMappingURL=get_project.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get_project.d.ts","sourceRoot":"","sources":["../../src/tools/get_project.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,eAAO,MAAM,UAAU;;;;;;;;;;;;;CAatB,CAAC;AAEF,UAAU,cAAc;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,OAAO,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CA4EnE"}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * get_project tool - Get detailed information about a project
3
+ */
4
+ import { getProject, listProjectMilestones } from '../client.js';
5
+ import { ClinkApiError } from '../types.js';
6
+ export const definition = {
7
+ name: 'get_project',
8
+ description: 'Get detailed information about a project including its milestones.',
9
+ inputSchema: {
10
+ type: 'object',
11
+ properties: {
12
+ project_id: {
13
+ type: 'string',
14
+ description: 'The project ID',
15
+ },
16
+ },
17
+ required: ['project_id'],
18
+ },
19
+ };
20
+ export async function handler(args) {
21
+ try {
22
+ const { project_id } = args;
23
+ if (!project_id) {
24
+ return 'Please provide a project_id.';
25
+ }
26
+ const project = await getProject(project_id);
27
+ // Also fetch milestones for the project
28
+ const milestones = await listProjectMilestones(project_id, { limit: 10 });
29
+ const statusEmoji = project.status === 'active' ? '🟢' : project.status === 'completed' ? '✅' : '📦';
30
+ const defaultBadge = project.is_default ? ' [default]' : '';
31
+ let output = `${statusEmoji} ${project.title}${defaultBadge}\n\n`;
32
+ output += `Project ID: ${project.project_id}\n`;
33
+ output += `Slug: ${project.slug}\n`;
34
+ output += `Color: ${project.color}\n`;
35
+ output += `Status: ${project.status}\n`;
36
+ output += `Group ID: ${project.group_id}\n`;
37
+ if (project.description) {
38
+ output += `Description: ${project.description}\n`;
39
+ }
40
+ output += `\nTimestamps:\n`;
41
+ output += ` Created: ${new Date(project.created_at).toLocaleString()}`;
42
+ if (project.created_by) {
43
+ output += ` by ${project.created_by}`;
44
+ }
45
+ output += '\n';
46
+ if (project.updated_at) {
47
+ output += ` Updated: ${new Date(project.updated_at).toLocaleString()}\n`;
48
+ }
49
+ if (project.completed_at) {
50
+ output += ` Completed: ${new Date(project.completed_at).toLocaleString()}`;
51
+ if (project.completed_by) {
52
+ output += ` by ${project.completed_by}`;
53
+ }
54
+ output += '\n';
55
+ }
56
+ if (project.archived_at) {
57
+ output += ` Archived: ${new Date(project.archived_at).toLocaleString()}`;
58
+ if (project.archived_by) {
59
+ output += ` by ${project.archived_by}`;
60
+ }
61
+ output += '\n';
62
+ }
63
+ // Show milestones
64
+ output += `\nMilestones (${milestones.length}):\n`;
65
+ if (milestones.length === 0) {
66
+ output += ' No milestones in this project yet.\n';
67
+ }
68
+ else {
69
+ for (const m of milestones) {
70
+ const mStatusEmoji = m.status === 'active' ? '🔄' : '✅';
71
+ output += ` ${mStatusEmoji} ${m.title} [${m.progress}] - ${m.milestone_id}\n`;
72
+ }
73
+ }
74
+ output += '\nActions:\n';
75
+ output += ' • Use update_project to modify title/description/slug/color\n';
76
+ output += ' • Use complete_project to mark as completed\n';
77
+ output += ' • Use archive_project to archive\n';
78
+ output += ' • Use create_milestone with this project to add milestones\n';
79
+ return output;
80
+ }
81
+ catch (error) {
82
+ if (error instanceof ClinkApiError) {
83
+ return `Error: ${error.message}`;
84
+ }
85
+ throw error;
86
+ }
87
+ }
88
+ //# sourceMappingURL=get_project.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get_project.js","sourceRoot":"","sources":["../../src/tools/get_project.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * get_proposal tool - Get proposal details with votes
3
+ */
4
+ export declare const definition: {
5
+ name: string;
6
+ description: string;
7
+ inputSchema: {
8
+ type: "object";
9
+ properties: {
10
+ proposal_id: {
11
+ type: string;
12
+ description: string;
13
+ };
14
+ };
15
+ required: string[];
16
+ };
17
+ };
18
+ interface GetProposalArgs {
19
+ proposal_id: string;
20
+ }
21
+ export declare function handler(args: GetProposalArgs): Promise<string>;
22
+ export {};
23
+ //# sourceMappingURL=get_proposal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get_proposal.d.ts","sourceRoot":"","sources":["../../src/tools/get_proposal.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,eAAO,MAAM,UAAU;;;;;;;;;;;;;CAatB,CAAC;AAEF,UAAU,eAAe;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB;AAWD,wBAAsB,OAAO,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAqFpE"}
@@ -0,0 +1,102 @@
1
+ /**
2
+ * get_proposal tool - Get proposal details with votes
3
+ */
4
+ import { getProposal } from '../client.js';
5
+ import { ClinkApiError } from '../types.js';
6
+ export const definition = {
7
+ name: 'get_proposal',
8
+ description: 'Get detailed information about a proposal including all votes and their comments.',
9
+ inputSchema: {
10
+ type: 'object',
11
+ properties: {
12
+ proposal_id: {
13
+ type: 'string',
14
+ description: 'The proposal ID',
15
+ },
16
+ },
17
+ required: ['proposal_id'],
18
+ },
19
+ };
20
+ function formatVote(v) {
21
+ let line = ` • ${v.voter_id}: ${v.vote}`;
22
+ if (v.comment) {
23
+ line += ` - "${v.comment}"`;
24
+ }
25
+ line += ` (${new Date(v.voted_at).toLocaleString()})`;
26
+ return line;
27
+ }
28
+ export async function handler(args) {
29
+ try {
30
+ const { proposal_id } = args;
31
+ if (!proposal_id) {
32
+ return 'Please provide a proposal_id.';
33
+ }
34
+ const proposal = await getProposal(proposal_id);
35
+ const statusEmoji = proposal.status === 'open' ? '🗳️' : (proposal.threshold_met ? '✅' : '❌');
36
+ let output = `${statusEmoji} ${proposal.title}\n`;
37
+ output += `━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n`;
38
+ output += `ID: ${proposal.proposal_id}\n`;
39
+ output += `Status: ${proposal.status}\n`;
40
+ output += `Voting type: ${proposal.voting_type}\n`;
41
+ output += `Threshold: ${proposal.threshold_type}\n`;
42
+ output += `Proposer: ${proposal.proposer_id}\n`;
43
+ output += `Created: ${new Date(proposal.created_at).toLocaleString()}\n`;
44
+ if (proposal.description) {
45
+ output += `\nDescription: ${proposal.description}\n`;
46
+ }
47
+ if (proposal.deadline) {
48
+ const deadline = new Date(proposal.deadline);
49
+ const isPast = deadline < new Date();
50
+ output += `Deadline: ${deadline.toLocaleString()}${isPast ? ' (PASSED)' : ''}\n`;
51
+ }
52
+ if (proposal.options && proposal.options.length > 0 && proposal.voting_type !== 'yes_no') {
53
+ output += `\nOptions:\n`;
54
+ for (const opt of proposal.options) {
55
+ output += ` • ${opt}\n`;
56
+ }
57
+ }
58
+ // Show tally
59
+ if (proposal.tally) {
60
+ output += `\nVote Tally:\n`;
61
+ for (const [option, count] of Object.entries(proposal.tally)) {
62
+ const pct = proposal.vote_count ? Math.round(count / proposal.vote_count * 100) : 0;
63
+ output += ` ${option}: ${count} (${pct}%)\n`;
64
+ }
65
+ }
66
+ // Show result if finalized
67
+ if (proposal.status === 'finalized') {
68
+ output += `\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n`;
69
+ output += `Result: ${proposal.result}\n`;
70
+ output += `Threshold met: ${proposal.threshold_met ? 'Yes' : 'No'}\n`;
71
+ output += `Finalized: ${new Date(proposal.finalized_at).toLocaleString()}\n`;
72
+ }
73
+ // Show votes
74
+ const votes = proposal.votes || [];
75
+ output += `\nVotes (${votes.length}):\n`;
76
+ if (votes.length === 0) {
77
+ output += ' No votes yet.\n';
78
+ }
79
+ else {
80
+ output += votes.map(formatVote).join('\n');
81
+ }
82
+ // Tips
83
+ if (proposal.status === 'open') {
84
+ output += '\n\nTip: Use cast_vote to vote, or finalize_proposal to close voting.';
85
+ }
86
+ // Show linked milestone info
87
+ if (proposal.linked_milestone_id) {
88
+ output += `\n\nLinked to milestone: ${proposal.linked_milestone_id}`;
89
+ if (proposal.linked_checkpoint_order) {
90
+ output += ` (checkpoint ${proposal.linked_checkpoint_order})`;
91
+ }
92
+ }
93
+ return output;
94
+ }
95
+ catch (error) {
96
+ if (error instanceof ClinkApiError) {
97
+ return `Error: ${error.message}`;
98
+ }
99
+ throw error;
100
+ }
101
+ }
102
+ //# sourceMappingURL=get_proposal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get_proposal.js","sourceRoot":"","sources":["../../src/tools/get_proposal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Tool registry - exports all MCP tools
3
+ */
4
+ export interface Tool {
5
+ definition: {
6
+ name: string;
7
+ description: string;
8
+ inputSchema: {
9
+ type: 'object';
10
+ properties: Record<string, unknown>;
11
+ required: string[];
12
+ };
13
+ };
14
+ handler: (args: Record<string, unknown>) => Promise<string>;
15
+ }
16
+ export declare const tools: Tool[];
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AA+CH,MAAM,WAAW,IAAI;IACnB,UAAU,EAAE;QACV,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ,CAAC;YACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACpC,QAAQ,EAAE,MAAM,EAAE,CAAC;SACpB,CAAC;KACH,CAAC;IACF,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC7D;AAOD,eAAO,MAAM,KAAK,EAAE,IAAI,EAkDvB,CAAC"}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Tool registry - exports all MCP tools
3
+ */
4
+ import * as listGroups from './list_groups.js';
5
+ import * as listMembers from './list_members.js';
6
+ import * as getClinks from './get_clinks.js';
7
+ import * as sendClink from './send_clink.js';
8
+ import * as checkInbox from './check_inbox.js';
9
+ import * as claimClink from './claim_clink.js';
10
+ import * as completeClink from './complete_clink.js';
11
+ import * as releaseClink from './release_clink.js';
12
+ // Milestones
13
+ import * as createMilestone from './create_milestone.js';
14
+ import * as listMilestones from './list_milestones.js';
15
+ import * as getMilestone from './get_milestone.js';
16
+ import * as completeCheckpoint from './complete_checkpoint.js';
17
+ import * as updateMilestone from './update_milestone.js';
18
+ import * as updateCheckpoint from './update_checkpoint.js';
19
+ import * as deleteCheckpoint from './delete_checkpoint.js';
20
+ import * as addCheckpoint from './add_checkpoint.js';
21
+ import * as reopenMilestone from './reopen_milestone.js';
22
+ // Projects
23
+ import * as createProject from './create_project.js';
24
+ import * as listProjects from './list_projects.js';
25
+ import * as getProject from './get_project.js';
26
+ import * as updateProject from './update_project.js';
27
+ import * as completeProject from './complete_project.js';
28
+ import * as archiveProject from './archive_project.js';
29
+ import * as reopenProject from './reopen_project.js';
30
+ // Consensus
31
+ import * as createProposal from './create_proposal.js';
32
+ import * as listProposals from './list_proposals.js';
33
+ import * as getProposal from './get_proposal.js';
34
+ import * as castVote from './cast_vote.js';
35
+ import * as finalizeProposal from './finalize_proposal.js';
36
+ // Feedback
37
+ import * as submitFeedback from './submit_feedback.js';
38
+ // Permissions
39
+ import * as getMyPermissions from './get_my_permissions.js';
40
+ // HIL / Verifications
41
+ import * as listPendingVerifications from './list_pending_verifications.js';
42
+ // Type-safe wrapper to convert specific handlers to generic handlers
43
+ function wrapHandler(handler) {
44
+ return (args) => handler(args);
45
+ }
46
+ export const tools = [
47
+ // Group management
48
+ { definition: listGroups.definition, handler: wrapHandler(listGroups.handler) },
49
+ { definition: listMembers.definition, handler: wrapHandler(listMembers.handler) },
50
+ // Clinks
51
+ { definition: getClinks.definition, handler: wrapHandler(getClinks.handler) },
52
+ { definition: sendClink.definition, handler: wrapHandler(sendClink.handler) },
53
+ { definition: checkInbox.definition, handler: wrapHandler(checkInbox.handler) },
54
+ // Claim/Ack workflow
55
+ { definition: claimClink.definition, handler: wrapHandler(claimClink.handler) },
56
+ { definition: completeClink.definition, handler: wrapHandler(completeClink.handler) },
57
+ { definition: releaseClink.definition, handler: wrapHandler(releaseClink.handler) },
58
+ // Milestones
59
+ { definition: createMilestone.definition, handler: wrapHandler(createMilestone.handler) },
60
+ { definition: listMilestones.definition, handler: wrapHandler(listMilestones.handler) },
61
+ { definition: getMilestone.definition, handler: wrapHandler(getMilestone.handler) },
62
+ { definition: completeCheckpoint.definition, handler: wrapHandler(completeCheckpoint.handler) },
63
+ { definition: updateMilestone.definition, handler: wrapHandler(updateMilestone.handler) },
64
+ { definition: updateCheckpoint.definition, handler: wrapHandler(updateCheckpoint.handler) },
65
+ { definition: deleteCheckpoint.definition, handler: wrapHandler(deleteCheckpoint.handler) },
66
+ { definition: addCheckpoint.definition, handler: wrapHandler(addCheckpoint.handler) },
67
+ { definition: reopenMilestone.definition, handler: wrapHandler(reopenMilestone.handler) },
68
+ // Projects
69
+ { definition: createProject.definition, handler: wrapHandler(createProject.handler) },
70
+ { definition: listProjects.definition, handler: wrapHandler(listProjects.handler) },
71
+ { definition: getProject.definition, handler: wrapHandler(getProject.handler) },
72
+ { definition: updateProject.definition, handler: wrapHandler(updateProject.handler) },
73
+ { definition: completeProject.definition, handler: wrapHandler(completeProject.handler) },
74
+ { definition: archiveProject.definition, handler: wrapHandler(archiveProject.handler) },
75
+ { definition: reopenProject.definition, handler: wrapHandler(reopenProject.handler) },
76
+ // Consensus
77
+ { definition: createProposal.definition, handler: wrapHandler(createProposal.handler) },
78
+ { definition: listProposals.definition, handler: wrapHandler(listProposals.handler) },
79
+ { definition: getProposal.definition, handler: wrapHandler(getProposal.handler) },
80
+ { definition: castVote.definition, handler: wrapHandler(castVote.handler) },
81
+ { definition: finalizeProposal.definition, handler: wrapHandler(finalizeProposal.handler) },
82
+ // Feedback
83
+ { definition: submitFeedback.definition, handler: wrapHandler(submitFeedback.handler) },
84
+ // Permissions
85
+ { definition: getMyPermissions.definition, handler: wrapHandler(getMyPermissions.handler) },
86
+ // HIL / Verifications
87
+ { definition: listPendingVerifications.definition, handler: wrapHandler(listPendingVerifications.handler) },
88
+ ];
89
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * list_groups tool - List all groups the user belongs to
3
+ */
4
+ export declare const definition: {
5
+ name: string;
6
+ description: string;
7
+ inputSchema: {
8
+ type: "object";
9
+ properties: {};
10
+ required: never[];
11
+ };
12
+ };
13
+ export declare function handler(): Promise<string>;
14
+ //# sourceMappingURL=list_groups.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list_groups.d.ts","sourceRoot":"","sources":["../../src/tools/list_groups.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,eAAO,MAAM,UAAU;;;;;;;;CAQtB,CAAC;AAEF,wBAAsB,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,CAqB/C"}