pulsemcp-cms-admin-mcp-server 0.9.7 → 0.9.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/shared/src/pulsemcp-admin-client/lib/get-proctor-runs.js +2 -0
- package/build/shared/src/tools/list-discovered-urls.js +7 -3
- package/build/shared/src/tools/list-proctor-runs.js +10 -2
- package/build/shared/src/tools/mark-discovered-url-processed.js +10 -6
- package/package.json +1 -1
- package/shared/pulsemcp-admin-client/lib/get-discovered-urls.d.ts +1 -1
- package/shared/pulsemcp-admin-client/lib/get-proctor-runs.js +2 -0
- package/shared/server.d.ts +2 -2
- package/shared/tools/list-discovered-urls.d.ts +1 -1
- package/shared/tools/list-discovered-urls.js +7 -3
- package/shared/tools/list-proctor-runs.js +10 -2
- package/shared/tools/mark-discovered-url-processed.d.ts +2 -2
- package/shared/tools/mark-discovered-url-processed.js +10 -6
- package/shared/types.d.ts +3 -1
|
@@ -58,6 +58,8 @@ export async function getProctorRuns(apiKey, baseUrl, params) {
|
|
|
58
58
|
remotes: run.remotes,
|
|
59
59
|
known_missing_init_tools_list: run.known_missing_init_tools_list || false,
|
|
60
60
|
known_missing_auth_check: run.known_missing_auth_check || false,
|
|
61
|
+
known_missing_init_tools_list_filter_to: run.known_missing_init_tools_list_filter_to || null,
|
|
62
|
+
known_missing_auth_check_filter_to: run.known_missing_auth_check_filter_to || null,
|
|
61
63
|
})),
|
|
62
64
|
pagination: {
|
|
63
65
|
current_page: data.meta.current_page,
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
const PARAM_DESCRIPTIONS = {
|
|
3
|
-
status: 'Filter by processing status: "pending" (unprocessed, default), "processed", or "all"',
|
|
3
|
+
status: 'Filter by processing status: "pending" (unprocessed, default), "processed", "needs_indexing" (awaiting indexing), or "all"',
|
|
4
4
|
page: 'Page number for pagination. Default: 1',
|
|
5
5
|
per_page: 'Results per page, range 1-100. Default: 50',
|
|
6
6
|
};
|
|
7
7
|
const ListDiscoveredUrlsSchema = z.object({
|
|
8
|
-
status: z
|
|
8
|
+
status: z
|
|
9
|
+
.enum(['pending', 'processed', 'needs_indexing', 'all'])
|
|
10
|
+
.optional()
|
|
11
|
+
.describe(PARAM_DESCRIPTIONS.status),
|
|
9
12
|
page: z.number().min(1).optional().describe(PARAM_DESCRIPTIONS.page),
|
|
10
13
|
per_page: z.number().min(1).max(100).optional().describe(PARAM_DESCRIPTIONS.per_page),
|
|
11
14
|
});
|
|
@@ -34,13 +37,14 @@ Example response:
|
|
|
34
37
|
Use cases:
|
|
35
38
|
- Browse unprocessed discovered URLs for review
|
|
36
39
|
- Page through pending URLs to process them into MCP implementations
|
|
40
|
+
- Query needs_indexing URLs for the daily ingest pipeline
|
|
37
41
|
- Check processed URLs for audit purposes`,
|
|
38
42
|
inputSchema: {
|
|
39
43
|
type: 'object',
|
|
40
44
|
properties: {
|
|
41
45
|
status: {
|
|
42
46
|
type: 'string',
|
|
43
|
-
enum: ['pending', 'processed', 'all'],
|
|
47
|
+
enum: ['pending', 'processed', 'needs_indexing', 'all'],
|
|
44
48
|
description: PARAM_DESCRIPTIONS.status,
|
|
45
49
|
},
|
|
46
50
|
page: { type: 'number', minimum: 1, description: PARAM_DESCRIPTIONS.page },
|
|
@@ -152,10 +152,18 @@ Use cases:
|
|
|
152
152
|
content += ` Remotes: ${run.remotes.join(', ')}\n`;
|
|
153
153
|
}
|
|
154
154
|
if (run.known_missing_init_tools_list) {
|
|
155
|
-
content += ` Known Missing Init Tools List: yes
|
|
155
|
+
content += ` Known Missing Init Tools List: yes`;
|
|
156
|
+
if (run.known_missing_init_tools_list_filter_to) {
|
|
157
|
+
content += ` (filter to: ${run.known_missing_init_tools_list_filter_to})`;
|
|
158
|
+
}
|
|
159
|
+
content += '\n';
|
|
156
160
|
}
|
|
157
161
|
if (run.known_missing_auth_check) {
|
|
158
|
-
content += ` Known Missing Auth Check: yes
|
|
162
|
+
content += ` Known Missing Auth Check: yes`;
|
|
163
|
+
if (run.known_missing_auth_check_filter_to) {
|
|
164
|
+
content += ` (filter to: ${run.known_missing_auth_check_filter_to})`;
|
|
165
|
+
}
|
|
166
|
+
content += '\n';
|
|
159
167
|
}
|
|
160
168
|
content += '\n';
|
|
161
169
|
}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
const PARAM_DESCRIPTIONS = {
|
|
3
3
|
id: 'The ID of the discovered URL to mark as processed',
|
|
4
|
-
result: 'Processing result: "posted" (created MCP implementation), "skipped" (not relevant), "rejected" (invalid),
|
|
4
|
+
result: 'Processing result: "posted" (published MCP implementation), "drafted" (created draft MCP implementation), "skipped" (not relevant), "rejected" (invalid), "error" (processing failed), or "needs_indexing" (awaiting indexing)',
|
|
5
5
|
notes: 'Reason for skip/reject/error (e.g., "Not an MCP server", "Duplicate of ID 5678")',
|
|
6
|
-
mcp_implementation_id: 'The ID of the created mcp_implementation (
|
|
6
|
+
mcp_implementation_id: 'The ID of the created mcp_implementation (when result is "posted" or "drafted")',
|
|
7
7
|
};
|
|
8
8
|
const MarkDiscoveredUrlProcessedSchema = z.object({
|
|
9
9
|
id: z.number().describe(PARAM_DESCRIPTIONS.id),
|
|
10
|
-
result: z
|
|
10
|
+
result: z
|
|
11
|
+
.enum(['posted', 'skipped', 'rejected', 'error', 'needs_indexing', 'drafted'])
|
|
12
|
+
.describe(PARAM_DESCRIPTIONS.result),
|
|
11
13
|
notes: z.string().optional().describe(PARAM_DESCRIPTIONS.notes),
|
|
12
14
|
mcp_implementation_id: z.number().optional().describe(PARAM_DESCRIPTIONS.mcp_implementation_id),
|
|
13
15
|
});
|
|
@@ -19,17 +21,19 @@ export function markDiscoveredUrlProcessed(_server, clientFactory) {
|
|
|
19
21
|
Idempotent — calling on an already-processed URL updates the fields.
|
|
20
22
|
|
|
21
23
|
Use cases:
|
|
22
|
-
- Mark a URL as "posted" after
|
|
24
|
+
- Mark a URL as "posted" after publishing an MCP implementation from it
|
|
25
|
+
- Mark a URL as "drafted" after creating a draft MCP implementation from it
|
|
23
26
|
- Mark a URL as "skipped" if it's not relevant (e.g., not an MCP server)
|
|
24
27
|
- Mark a URL as "rejected" if it's invalid or a duplicate
|
|
25
|
-
- Mark a URL as "error" if processing failed
|
|
28
|
+
- Mark a URL as "error" if processing failed
|
|
29
|
+
- Mark a URL as "needs_indexing" to flag it for the indexing pipeline`,
|
|
26
30
|
inputSchema: {
|
|
27
31
|
type: 'object',
|
|
28
32
|
properties: {
|
|
29
33
|
id: { type: 'number', description: PARAM_DESCRIPTIONS.id },
|
|
30
34
|
result: {
|
|
31
35
|
type: 'string',
|
|
32
|
-
enum: ['posted', 'skipped', 'rejected', 'error'],
|
|
36
|
+
enum: ['posted', 'skipped', 'rejected', 'error', 'needs_indexing', 'drafted'],
|
|
33
37
|
description: PARAM_DESCRIPTIONS.result,
|
|
34
38
|
},
|
|
35
39
|
notes: { type: 'string', description: PARAM_DESCRIPTIONS.notes },
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { DiscoveredUrlsResponse } from '../../types.js';
|
|
2
2
|
export declare function getDiscoveredUrls(apiKey: string, baseUrl: string, params?: {
|
|
3
|
-
status?: 'pending' | 'processed' | 'all';
|
|
3
|
+
status?: 'pending' | 'processed' | 'needs_indexing' | 'all';
|
|
4
4
|
page?: number;
|
|
5
5
|
per_page?: number;
|
|
6
6
|
}): Promise<DiscoveredUrlsResponse>;
|
|
@@ -58,6 +58,8 @@ export async function getProctorRuns(apiKey, baseUrl, params) {
|
|
|
58
58
|
remotes: run.remotes,
|
|
59
59
|
known_missing_init_tools_list: run.known_missing_init_tools_list || false,
|
|
60
60
|
known_missing_auth_check: run.known_missing_auth_check || false,
|
|
61
|
+
known_missing_init_tools_list_filter_to: run.known_missing_init_tools_list_filter_to || null,
|
|
62
|
+
known_missing_auth_check_filter_to: run.known_missing_auth_check_filter_to || null,
|
|
61
63
|
})),
|
|
62
64
|
pagination: {
|
|
63
65
|
current_page: data.meta.current_page,
|
package/shared/server.d.ts
CHANGED
|
@@ -163,7 +163,7 @@ export interface IPulseMCPAdminClient {
|
|
|
163
163
|
getProctorRuns(params?: GetProctorRunsParams): Promise<ProctorRunsResponse>;
|
|
164
164
|
getProctorMetadata(): Promise<ProctorMetadataResponse>;
|
|
165
165
|
getDiscoveredUrls(params?: {
|
|
166
|
-
status?: 'pending' | 'processed' | 'all';
|
|
166
|
+
status?: 'pending' | 'processed' | 'needs_indexing' | 'all';
|
|
167
167
|
page?: number;
|
|
168
168
|
per_page?: number;
|
|
169
169
|
}): Promise<DiscoveredUrlsResponse>;
|
|
@@ -336,7 +336,7 @@ export declare class PulseMCPAdminClient implements IPulseMCPAdminClient {
|
|
|
336
336
|
getProctorRuns(params?: GetProctorRunsParams): Promise<ProctorRunsResponse>;
|
|
337
337
|
getProctorMetadata(): Promise<ProctorMetadataResponse>;
|
|
338
338
|
getDiscoveredUrls(params?: {
|
|
339
|
-
status?: 'pending' | 'processed' | 'all';
|
|
339
|
+
status?: 'pending' | 'processed' | 'needs_indexing' | 'all';
|
|
340
340
|
page?: number;
|
|
341
341
|
per_page?: number;
|
|
342
342
|
}): Promise<DiscoveredUrlsResponse>;
|
|
@@ -9,7 +9,7 @@ export declare function listDiscoveredUrls(_server: Server, clientFactory: Clien
|
|
|
9
9
|
status: {
|
|
10
10
|
type: string;
|
|
11
11
|
enum: string[];
|
|
12
|
-
description: "Filter by processing status: \"pending\" (unprocessed, default), \"processed\", or \"all\"";
|
|
12
|
+
description: "Filter by processing status: \"pending\" (unprocessed, default), \"processed\", \"needs_indexing\" (awaiting indexing), or \"all\"";
|
|
13
13
|
};
|
|
14
14
|
page: {
|
|
15
15
|
type: string;
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
const PARAM_DESCRIPTIONS = {
|
|
3
|
-
status: 'Filter by processing status: "pending" (unprocessed, default), "processed", or "all"',
|
|
3
|
+
status: 'Filter by processing status: "pending" (unprocessed, default), "processed", "needs_indexing" (awaiting indexing), or "all"',
|
|
4
4
|
page: 'Page number for pagination. Default: 1',
|
|
5
5
|
per_page: 'Results per page, range 1-100. Default: 50',
|
|
6
6
|
};
|
|
7
7
|
const ListDiscoveredUrlsSchema = z.object({
|
|
8
|
-
status: z
|
|
8
|
+
status: z
|
|
9
|
+
.enum(['pending', 'processed', 'needs_indexing', 'all'])
|
|
10
|
+
.optional()
|
|
11
|
+
.describe(PARAM_DESCRIPTIONS.status),
|
|
9
12
|
page: z.number().min(1).optional().describe(PARAM_DESCRIPTIONS.page),
|
|
10
13
|
per_page: z.number().min(1).max(100).optional().describe(PARAM_DESCRIPTIONS.per_page),
|
|
11
14
|
});
|
|
@@ -34,13 +37,14 @@ Example response:
|
|
|
34
37
|
Use cases:
|
|
35
38
|
- Browse unprocessed discovered URLs for review
|
|
36
39
|
- Page through pending URLs to process them into MCP implementations
|
|
40
|
+
- Query needs_indexing URLs for the daily ingest pipeline
|
|
37
41
|
- Check processed URLs for audit purposes`,
|
|
38
42
|
inputSchema: {
|
|
39
43
|
type: 'object',
|
|
40
44
|
properties: {
|
|
41
45
|
status: {
|
|
42
46
|
type: 'string',
|
|
43
|
-
enum: ['pending', 'processed', 'all'],
|
|
47
|
+
enum: ['pending', 'processed', 'needs_indexing', 'all'],
|
|
44
48
|
description: PARAM_DESCRIPTIONS.status,
|
|
45
49
|
},
|
|
46
50
|
page: { type: 'number', minimum: 1, description: PARAM_DESCRIPTIONS.page },
|
|
@@ -152,10 +152,18 @@ Use cases:
|
|
|
152
152
|
content += ` Remotes: ${run.remotes.join(', ')}\n`;
|
|
153
153
|
}
|
|
154
154
|
if (run.known_missing_init_tools_list) {
|
|
155
|
-
content += ` Known Missing Init Tools List: yes
|
|
155
|
+
content += ` Known Missing Init Tools List: yes`;
|
|
156
|
+
if (run.known_missing_init_tools_list_filter_to) {
|
|
157
|
+
content += ` (filter to: ${run.known_missing_init_tools_list_filter_to})`;
|
|
158
|
+
}
|
|
159
|
+
content += '\n';
|
|
156
160
|
}
|
|
157
161
|
if (run.known_missing_auth_check) {
|
|
158
|
-
content += ` Known Missing Auth Check: yes
|
|
162
|
+
content += ` Known Missing Auth Check: yes`;
|
|
163
|
+
if (run.known_missing_auth_check_filter_to) {
|
|
164
|
+
content += ` (filter to: ${run.known_missing_auth_check_filter_to})`;
|
|
165
|
+
}
|
|
166
|
+
content += '\n';
|
|
159
167
|
}
|
|
160
168
|
content += '\n';
|
|
161
169
|
}
|
|
@@ -13,7 +13,7 @@ export declare function markDiscoveredUrlProcessed(_server: Server, clientFactor
|
|
|
13
13
|
result: {
|
|
14
14
|
type: string;
|
|
15
15
|
enum: string[];
|
|
16
|
-
description: "Processing result: \"posted\" (created MCP implementation), \"skipped\" (not relevant), \"rejected\" (invalid),
|
|
16
|
+
description: "Processing result: \"posted\" (published MCP implementation), \"drafted\" (created draft MCP implementation), \"skipped\" (not relevant), \"rejected\" (invalid), \"error\" (processing failed), or \"needs_indexing\" (awaiting indexing)";
|
|
17
17
|
};
|
|
18
18
|
notes: {
|
|
19
19
|
type: string;
|
|
@@ -21,7 +21,7 @@ export declare function markDiscoveredUrlProcessed(_server: Server, clientFactor
|
|
|
21
21
|
};
|
|
22
22
|
mcp_implementation_id: {
|
|
23
23
|
type: string;
|
|
24
|
-
description: "The ID of the created mcp_implementation (
|
|
24
|
+
description: "The ID of the created mcp_implementation (when result is \"posted\" or \"drafted\")";
|
|
25
25
|
};
|
|
26
26
|
};
|
|
27
27
|
required: string[];
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
const PARAM_DESCRIPTIONS = {
|
|
3
3
|
id: 'The ID of the discovered URL to mark as processed',
|
|
4
|
-
result: 'Processing result: "posted" (created MCP implementation), "skipped" (not relevant), "rejected" (invalid),
|
|
4
|
+
result: 'Processing result: "posted" (published MCP implementation), "drafted" (created draft MCP implementation), "skipped" (not relevant), "rejected" (invalid), "error" (processing failed), or "needs_indexing" (awaiting indexing)',
|
|
5
5
|
notes: 'Reason for skip/reject/error (e.g., "Not an MCP server", "Duplicate of ID 5678")',
|
|
6
|
-
mcp_implementation_id: 'The ID of the created mcp_implementation (
|
|
6
|
+
mcp_implementation_id: 'The ID of the created mcp_implementation (when result is "posted" or "drafted")',
|
|
7
7
|
};
|
|
8
8
|
const MarkDiscoveredUrlProcessedSchema = z.object({
|
|
9
9
|
id: z.number().describe(PARAM_DESCRIPTIONS.id),
|
|
10
|
-
result: z
|
|
10
|
+
result: z
|
|
11
|
+
.enum(['posted', 'skipped', 'rejected', 'error', 'needs_indexing', 'drafted'])
|
|
12
|
+
.describe(PARAM_DESCRIPTIONS.result),
|
|
11
13
|
notes: z.string().optional().describe(PARAM_DESCRIPTIONS.notes),
|
|
12
14
|
mcp_implementation_id: z.number().optional().describe(PARAM_DESCRIPTIONS.mcp_implementation_id),
|
|
13
15
|
});
|
|
@@ -19,17 +21,19 @@ export function markDiscoveredUrlProcessed(_server, clientFactory) {
|
|
|
19
21
|
Idempotent — calling on an already-processed URL updates the fields.
|
|
20
22
|
|
|
21
23
|
Use cases:
|
|
22
|
-
- Mark a URL as "posted" after
|
|
24
|
+
- Mark a URL as "posted" after publishing an MCP implementation from it
|
|
25
|
+
- Mark a URL as "drafted" after creating a draft MCP implementation from it
|
|
23
26
|
- Mark a URL as "skipped" if it's not relevant (e.g., not an MCP server)
|
|
24
27
|
- Mark a URL as "rejected" if it's invalid or a duplicate
|
|
25
|
-
- Mark a URL as "error" if processing failed
|
|
28
|
+
- Mark a URL as "error" if processing failed
|
|
29
|
+
- Mark a URL as "needs_indexing" to flag it for the indexing pipeline`,
|
|
26
30
|
inputSchema: {
|
|
27
31
|
type: 'object',
|
|
28
32
|
properties: {
|
|
29
33
|
id: { type: 'number', description: PARAM_DESCRIPTIONS.id },
|
|
30
34
|
result: {
|
|
31
35
|
type: 'string',
|
|
32
|
-
enum: ['posted', 'skipped', 'rejected', 'error'],
|
|
36
|
+
enum: ['posted', 'skipped', 'rejected', 'error', 'needs_indexing', 'drafted'],
|
|
33
37
|
description: PARAM_DESCRIPTIONS.result,
|
|
34
38
|
},
|
|
35
39
|
notes: { type: 'string', description: PARAM_DESCRIPTIONS.notes },
|
package/shared/types.d.ts
CHANGED
|
@@ -716,6 +716,8 @@ export interface ProctorRun {
|
|
|
716
716
|
remotes: string[];
|
|
717
717
|
known_missing_init_tools_list: boolean;
|
|
718
718
|
known_missing_auth_check: boolean;
|
|
719
|
+
known_missing_init_tools_list_filter_to: string | null;
|
|
720
|
+
known_missing_auth_check_filter_to: string | null;
|
|
719
721
|
}
|
|
720
722
|
export interface ProctorRunsResponse {
|
|
721
723
|
runs: ProctorRun[];
|
|
@@ -750,7 +752,7 @@ export interface ProctorMetadataResponse {
|
|
|
750
752
|
runtimes: ProctorRuntime[];
|
|
751
753
|
exams: ProctorExam[];
|
|
752
754
|
}
|
|
753
|
-
export type DiscoveredUrlResult = 'posted' | 'skipped' | 'rejected' | 'error';
|
|
755
|
+
export type DiscoveredUrlResult = 'posted' | 'skipped' | 'rejected' | 'error' | 'needs_indexing' | 'drafted';
|
|
754
756
|
export interface DiscoveredUrl {
|
|
755
757
|
id: number;
|
|
756
758
|
url: string;
|