@adrata/adrata-mcp 1.0.3 → 1.0.7
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/README.md +29 -1
- package/access/auth.js +49 -1
- package/access/oauth.js +336 -23
- package/access/tiers.js +15 -0
- package/analytics.js +141 -20
- package/edge-block.js +118 -0
- package/package.json +3 -2
- package/server.js +130 -20
- package/server.json +14 -2
- package/skills/qa-the-card/SKILL.md +218 -0
- package/skills/ship-the-card/SKILL.md +18 -14
- package/tool-annotations.js +10 -2
- package/tools/source-control/connection-tools.js +31 -0
- package/tools/work-board-tools.js +1159 -48
- package/tools/work-hub/audit.js +17 -7
- package/toolsets/revenue/competitive-coverage.js +164 -0
- package/transport-http.js +30 -9
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/** Read-only, product-visible health for Starfield's source-control ingestion. */
|
|
2
|
+
export function registerSourceControlTools(server, { z, api, ok }) {
|
|
3
|
+
server.tool(
|
|
4
|
+
'list_source_control_connections',
|
|
5
|
+
'List source-control connections with repository binding count, last durably acknowledged delivery, rejection state, actionable health, and the exact webhook events that are safe to enable.',
|
|
6
|
+
{},
|
|
7
|
+
async () => {
|
|
8
|
+
const response = await api('GET', '/api/v1/scm/connections');
|
|
9
|
+
return ok({ connections: response?.data ?? response ?? [] });
|
|
10
|
+
}
|
|
11
|
+
);
|
|
12
|
+
|
|
13
|
+
server.tool(
|
|
14
|
+
'get_source_control_connection_events',
|
|
15
|
+
'Read the recent persisted delivery and attention ledger for one source-control connection. This is the evidence for whether GitHub reached Starfield; service logs are not a substitute.',
|
|
16
|
+
{
|
|
17
|
+
connectionId: z.string().describe('Source-control connection id.'),
|
|
18
|
+
limit: z.number().int().min(1).max(200).optional().describe('Newest events to return; defaults to 50, maximum 200.'),
|
|
19
|
+
},
|
|
20
|
+
async ({ connectionId, limit }) => {
|
|
21
|
+
const suffix = limit === undefined ? '' : `?limit=${limit}`;
|
|
22
|
+
const response = await api('GET', `/api/v1/scm/connections/${encodeURIComponent(connectionId)}/events${suffix}`);
|
|
23
|
+
return ok({ events: response?.data ?? response ?? [] });
|
|
24
|
+
}
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export const SOURCE_CONTROL_TOOL_NAMES = [
|
|
29
|
+
'list_source_control_connections',
|
|
30
|
+
'get_source_control_connection_events',
|
|
31
|
+
];
|