pulsemcp-cms-admin-mcp-server 0.9.7 → 0.9.9
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/tools/list-discovered-urls.js +7 -3
- 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/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/mark-discovered-url-processed.d.ts +2 -2
- package/shared/tools/mark-discovered-url-processed.js +10 -6
- package/shared/types.d.ts +1 -1
|
@@ -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 },
|
|
@@ -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>;
|
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 },
|
|
@@ -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
|
@@ -750,7 +750,7 @@ export interface ProctorMetadataResponse {
|
|
|
750
750
|
runtimes: ProctorRuntime[];
|
|
751
751
|
exams: ProctorExam[];
|
|
752
752
|
}
|
|
753
|
-
export type DiscoveredUrlResult = 'posted' | 'skipped' | 'rejected' | 'error';
|
|
753
|
+
export type DiscoveredUrlResult = 'posted' | 'skipped' | 'rejected' | 'error' | 'needs_indexing' | 'drafted';
|
|
754
754
|
export interface DiscoveredUrl {
|
|
755
755
|
id: number;
|
|
756
756
|
url: string;
|