@doxhub/mcp-server 0.1.10 → 0.2.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 (42) hide show
  1. package/dist/api-client.d.ts +26 -0
  2. package/dist/api-client.d.ts.map +1 -1
  3. package/dist/api-client.js +85 -0
  4. package/dist/api-client.js.map +1 -1
  5. package/dist/cli/create-tag-type.d.ts +10 -0
  6. package/dist/cli/create-tag-type.d.ts.map +1 -0
  7. package/dist/cli/create-tag-type.js +56 -0
  8. package/dist/cli/create-tag-type.js.map +1 -0
  9. package/dist/cli/create-tag.d.ts +8 -0
  10. package/dist/cli/create-tag.d.ts.map +1 -0
  11. package/dist/cli/create-tag.js +48 -0
  12. package/dist/cli/create-tag.js.map +1 -0
  13. package/dist/cli/list-files-by-tags.d.ts +7 -0
  14. package/dist/cli/list-files-by-tags.d.ts.map +1 -0
  15. package/dist/cli/list-files-by-tags.js +55 -0
  16. package/dist/cli/list-files-by-tags.js.map +1 -0
  17. package/dist/cli/list-tag-types.d.ts +2 -0
  18. package/dist/cli/list-tag-types.d.ts.map +1 -0
  19. package/dist/cli/list-tag-types.js +50 -0
  20. package/dist/cli/list-tag-types.js.map +1 -0
  21. package/dist/cli/list-tags.d.ts +2 -0
  22. package/dist/cli/list-tags.d.ts.map +1 -0
  23. package/dist/cli/list-tags.js +59 -0
  24. package/dist/cli/list-tags.js.map +1 -0
  25. package/dist/index.js +100 -0
  26. package/dist/index.js.map +1 -1
  27. package/dist/server.d.ts.map +1 -1
  28. package/dist/server.js +6 -0
  29. package/dist/server.js.map +1 -1
  30. package/dist/tools/index.d.ts +2 -0
  31. package/dist/tools/index.d.ts.map +1 -1
  32. package/dist/tools/index.js +2 -0
  33. package/dist/tools/index.js.map +1 -1
  34. package/dist/tools/list-tags.d.ts +25 -0
  35. package/dist/tools/list-tags.d.ts.map +1 -0
  36. package/dist/tools/list-tags.js +89 -0
  37. package/dist/tools/list-tags.js.map +1 -0
  38. package/dist/tools/search-by-tags.d.ts +33 -0
  39. package/dist/tools/search-by-tags.d.ts.map +1 -0
  40. package/dist/tools/search-by-tags.js +85 -0
  41. package/dist/tools/search-by-tags.js.map +1 -0
  42. package/package.json +1 -1
@@ -38,6 +38,32 @@ declare class ApiClient {
38
38
  }): Promise<any>;
39
39
  deleteFile(fileId: string): Promise<any>;
40
40
  }
41
+ /**
42
+ * Extended API Client with additional helper methods
43
+ * Used by CLI commands for richer functionality
44
+ */
45
+ export declare class DoxHubApiClient {
46
+ private baseUrl;
47
+ private accessToken;
48
+ constructor(baseUrl: string, accessToken: string);
49
+ get<T>(endpoint: string, params?: Record<string, string>): Promise<T>;
50
+ post<T>(endpoint: string, data: any): Promise<T>;
51
+ /**
52
+ * Search files by tag IDs
53
+ * Returns file IDs that match ALL specified tags (AND logic)
54
+ */
55
+ searchFilesByTags(workspaceId: string, tagIds: string[], projectId?: string): Promise<{
56
+ data: {
57
+ fileIds: string[];
58
+ };
59
+ }>;
60
+ /**
61
+ * Get files with full details by IDs
62
+ */
63
+ getFilesByIds(fileIds: string[]): Promise<{
64
+ data: any[];
65
+ }>;
66
+ }
41
67
  export declare function initializeApiClient(config: ApiClientConfig): void;
42
68
  export declare function getApiClient(): ApiClient;
43
69
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,cAAM,SAAS;IACb,OAAO,CAAC,MAAM,CAAkB;gBAEpB,MAAM,EAAE,eAAe;YAIrB,OAAO;IAsBf,aAAa;IAIb,YAAY,CAAC,WAAW,EAAE,MAAM;IAKhC,WAAW,CAAC,WAAW,EAAE,MAAM;IAI/B,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAKlD,QAAQ,CAAC,SAAS,EAAE,MAAM;IAI1B,OAAO,CAAC,MAAM,EAAE,MAAM;IAItB,cAAc,CAAC,MAAM,EAAE,MAAM;IAI7B,eAAe,CAAC,MAAM,EAAE,MAAM;IAI9B,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAKhD,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;IAOlE,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE;QACxC,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC1B;IAOK,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE;QACrC,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;QAC/B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,aAAa,CAAC,EAAE,OAAO,CAAC;KACzB;IAOK,UAAU,CAAC,MAAM,EAAE,MAAM;CAKhC;AAID,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,eAAe,QAE1D;AAED,wBAAgB,YAAY,IAAI,SAAS,CAKxC"}
1
+ {"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,cAAM,SAAS;IACb,OAAO,CAAC,MAAM,CAAkB;gBAEpB,MAAM,EAAE,eAAe;YAIrB,OAAO;IAsBf,aAAa;IAIb,YAAY,CAAC,WAAW,EAAE,MAAM;IAKhC,WAAW,CAAC,WAAW,EAAE,MAAM;IAI/B,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAKlD,QAAQ,CAAC,SAAS,EAAE,MAAM;IAI1B,OAAO,CAAC,MAAM,EAAE,MAAM;IAItB,cAAc,CAAC,MAAM,EAAE,MAAM;IAI7B,eAAe,CAAC,MAAM,EAAE,MAAM;IAI9B,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAKhD,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;IAOlE,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE;QACxC,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC1B;IAOK,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE;QACrC,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;QAC/B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,aAAa,CAAC,EAAE,OAAO,CAAC;KACzB;IAOK,UAAU,CAAC,MAAM,EAAE,MAAM;CAKhC;AAED;;;GAGG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,WAAW,CAAS;gBAEhB,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IAK1C,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAuBrE,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;IAoBtD;;;OAGG;IACG,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE;YAAE,OAAO,EAAE,MAAM,EAAE,CAAA;SAAE,CAAA;KAAE,CAAC;IAU5H;;OAEG;IACG,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,GAAG,EAAE,CAAA;KAAE,CAAC;CAwBjE;AAID,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,eAAe,QAE1D;AAED,wBAAgB,YAAY,IAAI,SAAS,CAKxC"}
@@ -80,6 +80,91 @@ class ApiClient {
80
80
  });
81
81
  }
82
82
  }
83
+ /**
84
+ * Extended API Client with additional helper methods
85
+ * Used by CLI commands for richer functionality
86
+ */
87
+ export class DoxHubApiClient {
88
+ baseUrl;
89
+ accessToken;
90
+ constructor(baseUrl, accessToken) {
91
+ this.baseUrl = baseUrl;
92
+ this.accessToken = accessToken;
93
+ }
94
+ async get(endpoint, params) {
95
+ let url = `${this.baseUrl}${endpoint}`;
96
+ if (params) {
97
+ const searchParams = new URLSearchParams(params);
98
+ url += `?${searchParams.toString()}`;
99
+ }
100
+ const response = await fetch(url, {
101
+ method: 'GET',
102
+ headers: {
103
+ 'Content-Type': 'application/json',
104
+ 'Authorization': `Bearer ${this.accessToken}`,
105
+ },
106
+ });
107
+ if (!response.ok) {
108
+ const error = await response.json().catch(() => ({ error: response.statusText }));
109
+ throw new Error(error.error || `API request failed: ${response.statusText}`);
110
+ }
111
+ return response.json();
112
+ }
113
+ async post(endpoint, data) {
114
+ const url = `${this.baseUrl}${endpoint}`;
115
+ const response = await fetch(url, {
116
+ method: 'POST',
117
+ headers: {
118
+ 'Content-Type': 'application/json',
119
+ 'Authorization': `Bearer ${this.accessToken}`,
120
+ },
121
+ body: JSON.stringify(data),
122
+ });
123
+ if (!response.ok) {
124
+ const error = await response.json().catch(() => ({ error: response.statusText }));
125
+ throw new Error(error.error || `API request failed: ${response.statusText}`);
126
+ }
127
+ return response.json();
128
+ }
129
+ /**
130
+ * Search files by tag IDs
131
+ * Returns file IDs that match ALL specified tags (AND logic)
132
+ */
133
+ async searchFilesByTags(workspaceId, tagIds, projectId) {
134
+ const params = {
135
+ tagIds: tagIds.join(','),
136
+ };
137
+ if (projectId) {
138
+ params.projectId = projectId;
139
+ }
140
+ return this.get(`/workspaces/${workspaceId}/tags/search`, params);
141
+ }
142
+ /**
143
+ * Get files with full details by IDs
144
+ */
145
+ async getFilesByIds(fileIds) {
146
+ if (fileIds.length === 0) {
147
+ return { data: [] };
148
+ }
149
+ // Fetch files in batches to avoid URL length limits
150
+ const batchSize = 50;
151
+ const files = [];
152
+ for (let i = 0; i < fileIds.length; i += batchSize) {
153
+ const batch = fileIds.slice(i, i + batchSize);
154
+ for (const fileId of batch) {
155
+ try {
156
+ const response = await this.get(`/files/${fileId}`);
157
+ files.push(response.data);
158
+ }
159
+ catch (error) {
160
+ // Skip files that fail to fetch
161
+ console.error(`Failed to fetch file ${fileId}:`, error);
162
+ }
163
+ }
164
+ }
165
+ return { data: files };
166
+ }
167
+ }
83
168
  let apiClientInstance = null;
84
169
  export function initializeApiClient(config) {
85
170
  apiClientInstance = new ApiClient(config);
@@ -1 +1 @@
1
- {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export interface CreateTagTypeOptions {
2
+ workspaceId?: string;
3
+ name?: string;
4
+ slug?: string;
5
+ color?: string;
6
+ icon?: string;
7
+ description?: string;
8
+ }
9
+ export declare function createTagTypeCommand(options: CreateTagTypeOptions): Promise<void>;
10
+ //# sourceMappingURL=create-tag-type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-tag-type.d.ts","sourceRoot":"","sources":["../../src/cli/create-tag-type.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,oBAAoB;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,oBAAoB,iBAuDvE"}
@@ -0,0 +1,56 @@
1
+ import { DoxHubApiClient } from '../api-client.js';
2
+ import { getCurrentProfile } from './credentials.js';
3
+ export async function createTagTypeCommand(options) {
4
+ try {
5
+ const profile = getCurrentProfile();
6
+ if (!profile || !profile.accessToken) {
7
+ console.error('Not authenticated. Run "npx @doxhub/mcp-server setup" first.');
8
+ process.exit(1);
9
+ }
10
+ const client = new DoxHubApiClient(profile.apiUrl || 'https://api.doxhub.io/api/v1', profile.accessToken);
11
+ // Validate required fields
12
+ if (!options.workspaceId) {
13
+ console.error('Error: --workspace <id> is required');
14
+ process.exit(1);
15
+ }
16
+ if (!options.name) {
17
+ console.error('Error: --name <name> is required');
18
+ process.exit(1);
19
+ }
20
+ if (!options.slug) {
21
+ console.error('Error: --slug <slug> is required');
22
+ process.exit(1);
23
+ }
24
+ // Validate slug format
25
+ if (!/^[a-z0-9-]+$/.test(options.slug)) {
26
+ console.error('Error: Slug must contain only lowercase letters, numbers, and hyphens');
27
+ process.exit(1);
28
+ }
29
+ const data = {
30
+ name: options.name,
31
+ slug: options.slug,
32
+ };
33
+ if (options.color)
34
+ data.color = options.color;
35
+ if (options.icon)
36
+ data.icon = options.icon;
37
+ if (options.description)
38
+ data.description = options.description;
39
+ const response = await client.post(`/workspaces/${options.workspaceId}/tag-types`, data);
40
+ const tagType = response.data;
41
+ console.log('Tag type created successfully!');
42
+ console.log(` ID: ${tagType.id}`);
43
+ console.log(` Name: ${tagType.name}`);
44
+ console.log(` Slug: ${tagType.slug}`);
45
+ console.log(` Color: ${tagType.color}`);
46
+ if (tagType.icon)
47
+ console.log(` Icon: ${tagType.icon}`);
48
+ if (tagType.description)
49
+ console.log(` Description: ${tagType.description}`);
50
+ }
51
+ catch (error) {
52
+ console.error('Error creating tag type:', error.message || error);
53
+ process.exit(1);
54
+ }
55
+ }
56
+ //# sourceMappingURL=create-tag-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-tag-type.js","sourceRoot":"","sources":["../../src/cli/create-tag-type.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export interface CreateTagOptions {
2
+ workspaceId?: string;
3
+ typeId?: string;
4
+ value?: string;
5
+ color?: string;
6
+ }
7
+ export declare function createTagCommand(options: CreateTagOptions): Promise<void>;
8
+ //# sourceMappingURL=create-tag.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-tag.d.ts","sourceRoot":"","sources":["../../src/cli/create-tag.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,gBAAgB;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,iBAmD/D"}
@@ -0,0 +1,48 @@
1
+ import { DoxHubApiClient } from '../api-client.js';
2
+ import { getCurrentProfile } from './credentials.js';
3
+ export async function createTagCommand(options) {
4
+ try {
5
+ const profile = getCurrentProfile();
6
+ if (!profile || !profile.accessToken) {
7
+ console.error('Not authenticated. Run "npx @doxhub/mcp-server setup" first.');
8
+ process.exit(1);
9
+ }
10
+ const client = new DoxHubApiClient(profile.apiUrl || 'https://api.doxhub.io/api/v1', profile.accessToken);
11
+ // Validate required fields
12
+ if (!options.workspaceId) {
13
+ console.error('Error: --workspace <id> is required');
14
+ process.exit(1);
15
+ }
16
+ if (!options.typeId) {
17
+ console.error('Error: --type <typeId> is required');
18
+ process.exit(1);
19
+ }
20
+ if (!options.value) {
21
+ console.error('Error: --value <value> is required');
22
+ process.exit(1);
23
+ }
24
+ // Validate value format
25
+ if (!/^[a-z0-9-]+$/.test(options.value)) {
26
+ console.error('Error: Tag value must contain only lowercase letters, numbers, and hyphens');
27
+ process.exit(1);
28
+ }
29
+ const data = {
30
+ typeId: options.typeId,
31
+ value: options.value,
32
+ };
33
+ if (options.color)
34
+ data.color = options.color;
35
+ const response = await client.post(`/workspaces/${options.workspaceId}/tags`, data);
36
+ const tag = response.data;
37
+ console.log('Tag created successfully!');
38
+ console.log(` ID: ${tag.id}`);
39
+ console.log(` Tag: ${tag.typeSlug}:${tag.value}`);
40
+ console.log(` Type: ${tag.typeName}`);
41
+ console.log(` Color: ${tag.color}`);
42
+ }
43
+ catch (error) {
44
+ console.error('Error creating tag:', error.message || error);
45
+ process.exit(1);
46
+ }
47
+ }
48
+ //# sourceMappingURL=create-tag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-tag.js","sourceRoot":"","sources":["../../src/cli/create-tag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AASrD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAAyB;IAC9D,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;QACpC,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YACrC,OAAO,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;YAC9E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,MAAM,IAAI,8BAA8B,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAE1G,2BAA2B;QAC3B,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YACzB,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;YACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;YACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACnB,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;YACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,wBAAwB;QACxB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACxC,OAAO,CAAC,KAAK,CAAC,4EAA4E,CAAC,CAAC;YAC5F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,IAAI,GAAQ;YAChB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC;QAEF,IAAI,OAAO,CAAC,KAAK;YAAE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAE9C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAgB,eAAe,OAAO,CAAC,WAAW,OAAO,EAAE,IAAI,CAAC,CAAC;QACnG,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC;QAE1B,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;IACvC,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -0,0 +1,7 @@
1
+ export interface ListFilesByTagsOptions {
2
+ workspaceId?: string;
3
+ tagIds: string[];
4
+ projectId?: string;
5
+ }
6
+ export declare function listFilesByTagsCommand(options: ListFilesByTagsOptions): Promise<void>;
7
+ //# sourceMappingURL=list-files-by-tags.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-files-by-tags.d.ts","sourceRoot":"","sources":["../../src/cli/list-files-by-tags.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,sBAAsB;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,sBAAsB,iBA6D3E"}
@@ -0,0 +1,55 @@
1
+ import { DoxHubApiClient } from '../api-client.js';
2
+ import { getCurrentProfile } from './credentials.js';
3
+ export async function listFilesByTagsCommand(options) {
4
+ try {
5
+ const profile = getCurrentProfile();
6
+ if (!profile || !profile.accessToken) {
7
+ console.error('Not authenticated. Run "npx @doxhub/mcp-server setup" first.');
8
+ process.exit(1);
9
+ }
10
+ const client = new DoxHubApiClient(profile.apiUrl || 'https://api.doxhub.io/api/v1', profile.accessToken);
11
+ // Validate required fields
12
+ if (!options.tagIds || options.tagIds.length === 0) {
13
+ console.error('Error: At least one tag ID is required');
14
+ console.error('Usage: npx @doxhub/mcp-server list-files-by-tags --tags <tagId1,tagId2,...>');
15
+ process.exit(1);
16
+ }
17
+ // If no workspace ID provided, get first workspace
18
+ let workspaceId = options.workspaceId;
19
+ if (!workspaceId) {
20
+ const workspacesResponse = await client.get('/workspaces');
21
+ const workspaces = workspacesResponse.data || [];
22
+ if (workspaces.length === 0) {
23
+ console.error('No workspaces found.');
24
+ process.exit(1);
25
+ }
26
+ workspaceId = workspaces[0].id;
27
+ console.log(`Using workspace: ${workspaces[0].name} (${workspaceId})\n`);
28
+ }
29
+ // Search files by tags
30
+ const searchResponse = await client.searchFilesByTags(workspaceId, options.tagIds, options.projectId);
31
+ const fileIds = searchResponse.data?.fileIds || [];
32
+ if (fileIds.length === 0) {
33
+ console.log('No files found with the specified tags.');
34
+ return;
35
+ }
36
+ // Fetch full file details
37
+ const filesResponse = await client.getFilesByIds(fileIds);
38
+ const files = filesResponse.data || [];
39
+ console.log(`\nFound ${files.length} file(s) matching ${options.tagIds.length} tag(s):\n`);
40
+ files.forEach((file) => {
41
+ console.log(` 📄 ${file.title}`);
42
+ console.log(` ID: ${file.id}`);
43
+ console.log(` Path: ${file.path}`);
44
+ console.log(` Project: ${file.projectName || 'N/A'}`);
45
+ console.log(` Updated: ${new Date(file.updatedAt).toLocaleString()}`);
46
+ console.log('');
47
+ });
48
+ console.log(`\nTotal: ${files.length} file(s)`);
49
+ }
50
+ catch (error) {
51
+ console.error('Error listing files by tags:', error.message || error);
52
+ process.exit(1);
53
+ }
54
+ }
55
+ //# sourceMappingURL=list-files-by-tags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-files-by-tags.js","sourceRoot":"","sources":["../../src/cli/list-files-by-tags.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function listTagTypesCommand(workspaceId?: string): Promise<void>;
2
+ //# sourceMappingURL=list-tag-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-tag-types.d.ts","sourceRoot":"","sources":["../../src/cli/list-tag-types.ts"],"names":[],"mappings":"AAGA,wBAAsB,mBAAmB,CAAC,WAAW,CAAC,EAAE,MAAM,iBAiD7D"}
@@ -0,0 +1,50 @@
1
+ import { DoxHubApiClient } from '../api-client.js';
2
+ import { getCurrentProfile } from './credentials.js';
3
+ export async function listTagTypesCommand(workspaceId) {
4
+ try {
5
+ const profile = getCurrentProfile();
6
+ if (!profile || !profile.accessToken) {
7
+ console.error('Not authenticated. Run "npx @doxhub/mcp-server setup" first.');
8
+ process.exit(1);
9
+ }
10
+ const client = new DoxHubApiClient(profile.apiUrl || 'https://api.doxhub.io/api/v1', profile.accessToken);
11
+ // If no workspace ID provided, list all workspaces first
12
+ if (!workspaceId) {
13
+ const workspacesResponse = await client.get('/workspaces');
14
+ const workspaces = workspacesResponse.data || [];
15
+ if (workspaces.length === 0) {
16
+ console.log('No workspaces found.');
17
+ return;
18
+ }
19
+ // Use first workspace
20
+ workspaceId = workspaces[0].id;
21
+ console.log(`Using workspace: ${workspaces[0].name} (${workspaceId})\n`);
22
+ }
23
+ const response = await client.get(`/workspaces/${workspaceId}/tag-types`);
24
+ const tagTypes = response.data || [];
25
+ if (tagTypes.length === 0) {
26
+ console.log('No tag types found in this workspace.');
27
+ return;
28
+ }
29
+ console.log(`Found ${tagTypes.length} tag type(s):\n`);
30
+ tagTypes.forEach((type) => {
31
+ console.log(` ${type.name} (${type.slug})`);
32
+ console.log(` ID: ${type.id}`);
33
+ console.log(` Color: ${type.color}`);
34
+ if (type.icon)
35
+ console.log(` Icon: ${type.icon}`);
36
+ if (type.description)
37
+ console.log(` Description: ${type.description}`);
38
+ console.log(` System: ${type.isSystem ? 'Yes' : 'No'}`);
39
+ console.log(` Display Order: ${type.displayOrder}`);
40
+ if (type.tagCount !== undefined)
41
+ console.log(` Tag Count: ${type.tagCount}`);
42
+ console.log('');
43
+ });
44
+ }
45
+ catch (error) {
46
+ console.error('Error listing tag types:', error.message || error);
47
+ process.exit(1);
48
+ }
49
+ }
50
+ //# sourceMappingURL=list-tag-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-tag-types.js","sourceRoot":"","sources":["../../src/cli/list-tag-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function listTagsCommand(workspaceId?: string, typeId?: string): Promise<void>;
2
+ //# sourceMappingURL=list-tags.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-tags.d.ts","sourceRoot":"","sources":["../../src/cli/list-tags.ts"],"names":[],"mappings":"AAGA,wBAAsB,eAAe,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,iBA8D1E"}
@@ -0,0 +1,59 @@
1
+ import { DoxHubApiClient } from '../api-client.js';
2
+ import { getCurrentProfile } from './credentials.js';
3
+ export async function listTagsCommand(workspaceId, typeId) {
4
+ try {
5
+ const profile = getCurrentProfile();
6
+ if (!profile || !profile.accessToken) {
7
+ console.error('Not authenticated. Run "npx @doxhub/mcp-server setup" first.');
8
+ process.exit(1);
9
+ }
10
+ const client = new DoxHubApiClient(profile.apiUrl || 'https://api.doxhub.io/api/v1', profile.accessToken);
11
+ // If no workspace ID provided, list all workspaces first
12
+ if (!workspaceId) {
13
+ const workspacesResponse = await client.get('/workspaces');
14
+ const workspaces = workspacesResponse.data || [];
15
+ if (workspaces.length === 0) {
16
+ console.log('No workspaces found.');
17
+ return;
18
+ }
19
+ // Use first workspace
20
+ workspaceId = workspaces[0].id;
21
+ console.log(`Using workspace: ${workspaces[0].name} (${workspaceId})\n`);
22
+ }
23
+ const params = {};
24
+ if (typeId)
25
+ params.typeId = typeId;
26
+ const response = await client.get(`/workspaces/${workspaceId}/tags`, params);
27
+ const tags = response.data || [];
28
+ if (tags.length === 0) {
29
+ console.log('No tags found in this workspace.');
30
+ return;
31
+ }
32
+ console.log(`Found ${tags.length} tag(s):\n`);
33
+ // Group by type
34
+ const tagsByType = new Map();
35
+ tags.forEach((tag) => {
36
+ const typeName = tag.typeName || 'Unknown';
37
+ if (!tagsByType.has(typeName)) {
38
+ tagsByType.set(typeName, []);
39
+ }
40
+ tagsByType.get(typeName).push(tag);
41
+ });
42
+ tagsByType.forEach((typeTags, typeName) => {
43
+ console.log(`${typeName}:`);
44
+ typeTags.forEach((tag) => {
45
+ console.log(` ${tag.typeSlug}:${tag.value}`);
46
+ console.log(` ID: ${tag.id}`);
47
+ console.log(` Color: ${tag.color}`);
48
+ if (tag.usageCount !== undefined)
49
+ console.log(` Usage: ${tag.usageCount} files`);
50
+ console.log('');
51
+ });
52
+ });
53
+ }
54
+ catch (error) {
55
+ console.error('Error listing tags:', error.message || error);
56
+ process.exit(1);
57
+ }
58
+ }
59
+ //# sourceMappingURL=list-tags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-tags.js","sourceRoot":"","sources":["../../src/cli/list-tags.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -13,6 +13,11 @@ import { createFileCommand } from './cli/create-file.js';
13
13
  import { updateFileCommand } from './cli/update-file.js';
14
14
  import { deleteFileCommand } from './cli/delete-file.js';
15
15
  import { searchCommand } from './cli/search.js';
16
+ import { listTagTypesCommand } from './cli/list-tag-types.js';
17
+ import { createTagTypeCommand } from './cli/create-tag-type.js';
18
+ import { listTagsCommand } from './cli/list-tags.js';
19
+ import { createTagCommand } from './cli/create-tag.js';
20
+ import { listFilesByTagsCommand } from './cli/list-files-by-tags.js';
16
21
  async function main() {
17
22
  const args = process.argv.slice(2);
18
23
  // Check if running in CLI mode
@@ -165,6 +170,77 @@ Options:
165
170
  await searchCommand(query, options);
166
171
  process.exit(0);
167
172
  }
173
+ case 'list-tag-types': {
174
+ const workspaceId = args[1] || undefined;
175
+ await listTagTypesCommand(workspaceId);
176
+ process.exit(0);
177
+ }
178
+ case 'create-tag-type': {
179
+ const options = {};
180
+ for (let i = 1; i < args.length; i++) {
181
+ if (args[i] === '--workspace' && args[i + 1]) {
182
+ options.workspaceId = args[++i];
183
+ }
184
+ else if (args[i] === '--name' && args[i + 1]) {
185
+ options.name = args[++i];
186
+ }
187
+ else if (args[i] === '--slug' && args[i + 1]) {
188
+ options.slug = args[++i];
189
+ }
190
+ else if (args[i] === '--color' && args[i + 1]) {
191
+ options.color = args[++i];
192
+ }
193
+ else if (args[i] === '--icon' && args[i + 1]) {
194
+ options.icon = args[++i];
195
+ }
196
+ else if (args[i] === '--description' && args[i + 1]) {
197
+ options.description = args[++i];
198
+ }
199
+ }
200
+ await createTagTypeCommand(options);
201
+ process.exit(0);
202
+ }
203
+ case 'list-tags': {
204
+ const workspaceId = args[1] || undefined;
205
+ const typeId = args.find((_arg, i) => args[i - 1] === '--type');
206
+ await listTagsCommand(workspaceId, typeId);
207
+ process.exit(0);
208
+ }
209
+ case 'create-tag': {
210
+ const options = {};
211
+ for (let i = 1; i < args.length; i++) {
212
+ if (args[i] === '--workspace' && args[i + 1]) {
213
+ options.workspaceId = args[++i];
214
+ }
215
+ else if (args[i] === '--type' && args[i + 1]) {
216
+ options.typeId = args[++i];
217
+ }
218
+ else if (args[i] === '--value' && args[i + 1]) {
219
+ options.value = args[++i];
220
+ }
221
+ else if (args[i] === '--color' && args[i + 1]) {
222
+ options.color = args[++i];
223
+ }
224
+ }
225
+ await createTagCommand(options);
226
+ process.exit(0);
227
+ }
228
+ case 'list-files-by-tags': {
229
+ const options = { tagIds: [] };
230
+ for (let i = 1; i < args.length; i++) {
231
+ if (args[i] === '--workspace' && args[i + 1]) {
232
+ options.workspaceId = args[++i];
233
+ }
234
+ else if (args[i] === '--tags' && args[i + 1]) {
235
+ options.tagIds = args[++i].split(',');
236
+ }
237
+ else if (args[i] === '--project' && args[i + 1]) {
238
+ options.projectId = args[++i];
239
+ }
240
+ }
241
+ await listFilesByTagsCommand(options);
242
+ process.exit(0);
243
+ }
168
244
  case 'help':
169
245
  case '--help':
170
246
  case '-h': {
@@ -189,6 +265,30 @@ File Management Commands:
189
265
  get-file <fileId> Get file content and metadata
190
266
  search <query> Search documentation
191
267
 
268
+ Tag Management Commands:
269
+ list-tag-types [workspaceId] List tag types in a workspace
270
+ list-tags [workspaceId] List tags in a workspace
271
+ --type <typeId> Filter by tag type (optional)
272
+
273
+ list-files-by-tags List files matching specified tags (AND logic)
274
+ --tags <id1,id2,...> Comma-separated tag IDs (required)
275
+ --workspace <id> Workspace ID (optional)
276
+ --project <id> Filter by project (optional)
277
+
278
+ create-tag-type Create a new tag type
279
+ --workspace <id> Workspace ID (required)
280
+ --name <name> Type name (required)
281
+ --slug <slug> Type slug (required)
282
+ --color <hex> Hex color (optional)
283
+ --icon <icon> Icon name (optional)
284
+ --description <text> Description (optional)
285
+
286
+ create-tag Create a new tag
287
+ --workspace <id> Workspace ID (required)
288
+ --type <typeId> Tag type ID (required)
289
+ --value <value> Tag value (required)
290
+ --color <hex> Hex color (optional)
291
+
192
292
  create-file Create a new file
193
293
  --project <id> Project ID (required)
194
294
  --title <title> File title (required)
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAQnE,wBAAgB,YAAY;;;;;;;;;;;;;;;;;;6CA2G3B"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAQnE,wBAAgB,YAAY;;;;;;;;;;;;;;;;;;6CAiH3B"}
package/dist/server.js CHANGED
@@ -37,8 +37,10 @@ export function createServer() {
37
37
  tools.listWorkspacesTool,
38
38
  tools.listProjectsTool,
39
39
  tools.listFilesTool,
40
+ tools.listTagsTool,
40
41
  tools.getFileTool,
41
42
  tools.searchDocumentationTool,
43
+ tools.searchByTagsTool,
42
44
  tools.getFileVersionsTool,
43
45
  tools.getProjectStructureTool,
44
46
  tools.createFileTool,
@@ -70,10 +72,14 @@ export function createServer() {
70
72
  return await tools.listProjects(auth, args || {});
71
73
  case 'list_files':
72
74
  return await tools.listFiles(auth, args);
75
+ case 'list_tags':
76
+ return await tools.listTags(auth, args);
73
77
  case 'get_file':
74
78
  return await tools.getFile(auth, args);
75
79
  case 'search_documentation':
76
80
  return await tools.searchDocumentation(auth, args);
81
+ case 'search_by_tags':
82
+ return await tools.searchByTags(auth, args);
77
83
  case 'get_file_versions':
78
84
  return await tools.getFileVersions(auth, args);
79
85
  case 'get_project_structure':
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -8,4 +8,6 @@ export * from './list-workspaces.js';
8
8
  export * from './create-file.js';
9
9
  export * from './update-file.js';
10
10
  export * from './delete-file.js';
11
+ export * from './search-by-tags.js';
12
+ export * from './list-tags.js';
11
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC"}
@@ -8,4 +8,6 @@ export * from './list-workspaces.js';
8
8
  export * from './create-file.js';
9
9
  export * from './update-file.js';
10
10
  export * from './delete-file.js';
11
+ export * from './search-by-tags.js';
12
+ export * from './list-tags.js';
11
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,25 @@
1
+ import type { AuthContext } from '../types.js';
2
+ export declare const listTagsTool: {
3
+ name: string;
4
+ description: string;
5
+ inputSchema: {
6
+ type: string;
7
+ properties: {
8
+ workspaceId: {
9
+ type: string;
10
+ description: string;
11
+ };
12
+ typeId: {
13
+ type: string;
14
+ description: string;
15
+ };
16
+ };
17
+ };
18
+ };
19
+ export declare function listTags(_auth: AuthContext, args: any): Promise<{
20
+ content: {
21
+ type: string;
22
+ text: string;
23
+ }[];
24
+ }>;
25
+ //# sourceMappingURL=list-tags.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-tags.d.ts","sourceRoot":"","sources":["../../src/tools/list-tags.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI/C,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;CAiBxB,CAAC;AAEF,wBAAsB,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG;;;;;GAkF3D"}
@@ -0,0 +1,89 @@
1
+ import { DoxHubApiClient } from '../api-client.js';
2
+ import { getCurrentProfile } from '../cli/credentials.js';
3
+ export const listTagsTool = {
4
+ name: 'list_tags',
5
+ description: 'List all tags in a workspace. Returns tags grouped by type (category, status, team, ai) with their IDs and usage counts. Use this to discover available tags before searching files.',
6
+ inputSchema: {
7
+ type: 'object',
8
+ properties: {
9
+ workspaceId: {
10
+ type: 'string',
11
+ description: 'Optional: workspace ID to list tags from (uses default if not specified)',
12
+ },
13
+ typeId: {
14
+ type: 'string',
15
+ description: 'Optional: filter tags by tag type ID',
16
+ },
17
+ },
18
+ },
19
+ };
20
+ export async function listTags(_auth, args) {
21
+ const { workspaceId, typeId } = args || {};
22
+ const profile = getCurrentProfile();
23
+ if (!profile || !profile.accessToken) {
24
+ throw new Error('Not authenticated');
25
+ }
26
+ const client = new DoxHubApiClient(profile.apiUrl || 'https://api.doxhub.io/api/v1', profile.accessToken);
27
+ // Determine workspace ID
28
+ let targetWorkspaceId = workspaceId;
29
+ if (!targetWorkspaceId) {
30
+ // Get user's workspaces
31
+ const workspacesResponse = await client.get('/workspaces');
32
+ const workspaces = workspacesResponse.data || [];
33
+ if (workspaces.length === 0) {
34
+ throw new Error('No workspaces found');
35
+ }
36
+ targetWorkspaceId = workspaces[0].id;
37
+ }
38
+ // Fetch tags
39
+ const params = {};
40
+ if (typeId)
41
+ params.typeId = typeId;
42
+ const response = await client.get(`/workspaces/${targetWorkspaceId}/tags`, params);
43
+ const tags = response.data || [];
44
+ if (tags.length === 0) {
45
+ return {
46
+ content: [
47
+ {
48
+ type: 'text',
49
+ text: JSON.stringify({ message: 'No tags found in this workspace', tags: [] }, null, 2),
50
+ },
51
+ ],
52
+ };
53
+ }
54
+ // Group by type
55
+ const tagsByType = new Map();
56
+ tags.forEach((tag) => {
57
+ const typeName = tag.typeName || 'Unknown';
58
+ if (!tagsByType.has(typeName)) {
59
+ tagsByType.set(typeName, []);
60
+ }
61
+ tagsByType.get(typeName).push({
62
+ id: tag.id,
63
+ tag: `${tag.typeSlug}:${tag.value}`,
64
+ typeId: tag.typeId,
65
+ typeName: tag.typeName,
66
+ typeSlug: tag.typeSlug,
67
+ value: tag.value,
68
+ color: tag.color,
69
+ usageCount: tag.usageCount || 0,
70
+ });
71
+ });
72
+ const groupedTags = {};
73
+ tagsByType.forEach((typeTags, typeName) => {
74
+ groupedTags[typeName] = typeTags;
75
+ });
76
+ return {
77
+ content: [
78
+ {
79
+ type: 'text',
80
+ text: JSON.stringify({
81
+ message: `Found ${tags.length} tag(s) in workspace`,
82
+ workspaceId: targetWorkspaceId,
83
+ tagsByType: groupedTags,
84
+ }, null, 2),
85
+ },
86
+ ],
87
+ };
88
+ }
89
+ //# sourceMappingURL=list-tags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-tags.js","sourceRoot":"","sources":["../../src/tools/list-tags.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import type { AuthContext } from '../types.js';
2
+ export declare const searchByTagsTool: {
3
+ name: string;
4
+ description: string;
5
+ inputSchema: {
6
+ type: string;
7
+ properties: {
8
+ tagIds: {
9
+ type: string;
10
+ items: {
11
+ type: string;
12
+ };
13
+ description: string;
14
+ };
15
+ workspaceId: {
16
+ type: string;
17
+ description: string;
18
+ };
19
+ projectId: {
20
+ type: string;
21
+ description: string;
22
+ };
23
+ };
24
+ required: string[];
25
+ };
26
+ };
27
+ export declare function searchByTags(_auth: AuthContext, args: any): Promise<{
28
+ content: {
29
+ type: string;
30
+ text: string;
31
+ }[];
32
+ }>;
33
+ //# sourceMappingURL=search-by-tags.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-by-tags.d.ts","sourceRoot":"","sources":["../../src/tools/search-by-tags.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI/C,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;CAyB5B,CAAC;AAEF,wBAAsB,YAAY,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG;;;;;GAsE/D"}
@@ -0,0 +1,85 @@
1
+ import { DoxHubApiClient } from '../api-client.js';
2
+ import { getCurrentProfile } from '../cli/credentials.js';
3
+ export const searchByTagsTool = {
4
+ name: 'search_by_tags',
5
+ description: 'Search for files by tag IDs. Returns files that have ALL specified tags (AND logic). Use this to find files organized by specific tags like category:api, status:active, or team:engineering.',
6
+ inputSchema: {
7
+ type: 'object',
8
+ properties: {
9
+ tagIds: {
10
+ type: 'array',
11
+ items: {
12
+ type: 'string',
13
+ },
14
+ description: 'Array of tag IDs to search for (files must have ALL tags)',
15
+ },
16
+ workspaceId: {
17
+ type: 'string',
18
+ description: 'Optional: workspace ID to search in (uses default if not specified)',
19
+ },
20
+ projectId: {
21
+ type: 'string',
22
+ description: 'Optional: filter results to a specific project',
23
+ },
24
+ },
25
+ required: ['tagIds'],
26
+ },
27
+ };
28
+ export async function searchByTags(_auth, args) {
29
+ const { tagIds, workspaceId, projectId } = args;
30
+ if (!tagIds || !Array.isArray(tagIds) || tagIds.length === 0) {
31
+ throw new Error('tagIds parameter is required and must be a non-empty array of strings');
32
+ }
33
+ const profile = getCurrentProfile();
34
+ if (!profile || !profile.accessToken) {
35
+ throw new Error('Not authenticated');
36
+ }
37
+ const client = new DoxHubApiClient(profile.apiUrl || 'https://api.doxhub.io/api/v1', profile.accessToken);
38
+ // Determine workspace ID
39
+ let targetWorkspaceId = workspaceId;
40
+ if (!targetWorkspaceId) {
41
+ // Get user's workspaces
42
+ const workspacesResponse = await client.get('/workspaces');
43
+ const workspaces = workspacesResponse.data || [];
44
+ if (workspaces.length === 0) {
45
+ throw new Error('No workspaces found');
46
+ }
47
+ targetWorkspaceId = workspaces[0].id;
48
+ }
49
+ // Search files by tags
50
+ const searchResponse = await client.searchFilesByTags(targetWorkspaceId, tagIds, projectId);
51
+ const fileIds = searchResponse.data?.fileIds || [];
52
+ if (fileIds.length === 0) {
53
+ return {
54
+ content: [
55
+ {
56
+ type: 'text',
57
+ text: JSON.stringify({ message: 'No files found with the specified tags', fileIds: [] }, null, 2),
58
+ },
59
+ ],
60
+ };
61
+ }
62
+ // Fetch full file details
63
+ const filesResponse = await client.getFilesByIds(fileIds);
64
+ const files = filesResponse.data || [];
65
+ return {
66
+ content: [
67
+ {
68
+ type: 'text',
69
+ text: JSON.stringify({
70
+ message: `Found ${files.length} file(s) matching ${tagIds.length} tag(s)`,
71
+ tagIds,
72
+ files: files.map((file) => ({
73
+ id: file.id,
74
+ title: file.title,
75
+ path: file.path,
76
+ projectId: file.projectId,
77
+ projectName: file.projectName,
78
+ updatedAt: file.updatedAt,
79
+ })),
80
+ }, null, 2),
81
+ },
82
+ ],
83
+ };
84
+ }
85
+ //# sourceMappingURL=search-by-tags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-by-tags.js","sourceRoot":"","sources":["../../src/tools/search-by-tags.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@doxhub/mcp-server",
3
- "version": "0.1.10",
3
+ "version": "0.2.0",
4
4
  "description": "Central file system for team SOPs, coding standards, and AI constraints. AI follows your guidelines automatically.",
5
5
  "keywords": [
6
6
  "mcp",