specguard-mcp 0.1.28 → 0.1.29
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 +14 -7
- package/dist/src/tools/create-repository-api-key.d.ts +1 -1
- package/dist/src/tools/create-repository-api-key.js +1 -1
- package/dist/src/tools/index.d.ts +10 -10
- package/dist/src/tools/index.js +10 -10
- package/dist/src/tools/list-repository-api-keys.d.ts +1 -1
- package/dist/src/tools/list-repository-api-keys.js +1 -1
- package/dist/src/tools/registrable-repositories.d.ts +1 -1
- package/dist/src/tools/registrable-repositories.js +1 -1
- package/dist/src/tools/remove-repository.d.ts +1 -1
- package/dist/src/tools/remove-repository.js +1 -1
- package/dist/src/tools/rename-repository.d.ts +1 -1
- package/dist/src/tools/rename-repository.js +1 -1
- package/dist/src/tools/repository-overview.js +5 -2
- package/dist/src/tools/repository-overview.js.map +1 -1
- package/dist/src/tools/revoke-repository-api-key.d.ts +1 -1
- package/dist/src/tools/revoke-repository-api-key.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -334,9 +334,11 @@ cannot: `get_server_version` reports which build is answering *now*, while retai
|
|
|
334
334
|
outlive deploys, so for a past row the two routinely disagree — read `served_by` for which build
|
|
335
335
|
refused *that row*, never the live route. The row's two nulls mean *different* things and must not
|
|
336
336
|
be read as each other: a null `reported_client` means the client sent no `User-Agent` (the row
|
|
337
|
-
knows, and the client said nothing); a null `served_by` means the row
|
|
338
|
-
|
|
339
|
-
|
|
337
|
+
knows, and the client said nothing); a null `served_by` means the row carries no build identity, so
|
|
338
|
+
the platform cannot name which build answered it — the write path can land on that null in more
|
|
339
|
+
than one way (for example a row retained from before the stamp existed, a build whose VERSION file
|
|
340
|
+
is missing or unreadable, a column stored blank), so the null says only that no build is named,
|
|
341
|
+
never which way it got there. A `latest_run` from days ago beside a live rejection stream is a suite
|
|
340
342
|
SpecGuard *stopped accepting*, not a suite nobody ran. `credential_health` covers the break that one
|
|
341
343
|
structurally **cannot** see: a rejected key resolves no repository and writes no rejection row, so an
|
|
342
344
|
authentication-broken pipeline is invisible to every rejection figure — it names any key that was
|
|
@@ -1013,8 +1015,10 @@ and every argument earns a row in that section's table, since this README ships
|
|
|
1013
1015
|
published documentation, and `test/readme.test.ts` derives that obligation from the registry so a
|
|
1014
1016
|
missing section or an undocumented parameter fails the suite — as does a response key the tool's
|
|
1015
1017
|
description names that the section never mentions. A tool that genuinely takes no
|
|
1016
|
-
arguments
|
|
1017
|
-
|
|
1018
|
+
arguments still earns the section, and is named in that file's `ARGUMENT_LESS_TOOLS` — a
|
|
1019
|
+
deliberate line to add, rather than a floor relaxed for everyone. The set tracks the property,
|
|
1020
|
+
not arrival order: an `inputSchema` that declares no `properties`, the shape
|
|
1021
|
+
`registrable_repositories` has.
|
|
1018
1022
|
`src/server.ts` iterates that array and contains no per-tool code — no `switch`, no hard-coded name — and everything a tool
|
|
1019
1023
|
touches the world with (config, subprocesses, `fetch`) is injected, so a new tool is testable
|
|
1020
1024
|
without a live deployment for free. The property tests in `test/tools/registry.test.ts` run over
|
|
@@ -1022,8 +1026,11 @@ whatever the registry holds, so a tool added later is checked by tests written t
|
|
|
1022
1026
|
|
|
1023
1027
|
**Only wrap capabilities that exist.** A tool in `tools/list` is a promise an agent acts on; one that
|
|
1024
1028
|
discovers cleanly and fails on use is worse than one that is absent, because the agent has already
|
|
1025
|
-
committed to a plan by the time it finds out.
|
|
1026
|
-
|
|
1029
|
+
committed to a plan by the time it finds out. Anything whose backing endpoint has not shipped stays
|
|
1030
|
+
out — `/check-intent` is in that state today: the platform's `config/routes.rb` carries it as a
|
|
1031
|
+
comment and nothing more, so there is nothing for a tool to wrap. Duplicate clustering once sat under
|
|
1032
|
+
this same rule; the endpoint it needed shipped, and `near_duplicate_clusters` moved inside. What
|
|
1033
|
+
moved was the platform, not the bar.
|
|
1027
1034
|
|
|
1028
1035
|
Transport is chosen in `bin/specguard-mcp.ts` and nowhere else — stdio today, so an HTTP/SSE
|
|
1029
1036
|
entrypoint is a sibling of that file rather than a change to the server.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ToolDefinition } from "./types.js";
|
|
2
2
|
/**
|
|
3
3
|
* `POST /api/v1/repositories/:repository_id/api_keys` as a tool — shipped in
|
|
4
|
-
* the platform (`specguard/config/routes.rb
|
|
4
|
+
* the platform (`specguard/config/routes.rb`,
|
|
5
5
|
* `user_repository_api_keys_controller#create`, SPGD-754).
|
|
6
6
|
*
|
|
7
7
|
* == Reveal-once, again
|
|
@@ -2,7 +2,7 @@ import { postJsonObject, requireUserOrAgentApiConfig } from "../support/specguar
|
|
|
2
2
|
import { optionalString, requireString } from "./args.js";
|
|
3
3
|
/**
|
|
4
4
|
* `POST /api/v1/repositories/:repository_id/api_keys` as a tool — shipped in
|
|
5
|
-
* the platform (`specguard/config/routes.rb
|
|
5
|
+
* the platform (`specguard/config/routes.rb`,
|
|
6
6
|
* `user_repository_api_keys_controller#create`, SPGD-754).
|
|
7
7
|
*
|
|
8
8
|
* == Reveal-once, again
|
|
@@ -36,12 +36,12 @@ import type { ToolDefinition } from "./types.js";
|
|
|
36
36
|
* == What is deliberately absent
|
|
37
37
|
*
|
|
38
38
|
* `/check-intent` is NOT here and must not be added until its backing endpoint
|
|
39
|
-
* exists — `specguard/config/routes.rb
|
|
40
|
-
* is the evidence this forbid rests on. A tool advertised in
|
|
41
|
-
* promise an agent will act on: wrapping an endpoint that
|
|
42
|
-
* produce a server that discovers cleanly and fails on
|
|
43
|
-
* not offering the tool, because the agent has
|
|
44
|
-
* the time it finds out.
|
|
39
|
+
* exists — `specguard/config/routes.rb` carries `/check-intent` as a comment
|
|
40
|
+
* only, which is the evidence this forbid rests on. A tool advertised in
|
|
41
|
+
* `tools/list` is a promise an agent will act on: wrapping an endpoint that
|
|
42
|
+
* does not exist would produce a server that discovers cleanly and fails on
|
|
43
|
+
* use, which is worse than not offering the tool, because the agent has
|
|
44
|
+
* already committed to a plan by the time it finds out.
|
|
45
45
|
*
|
|
46
46
|
* == The first tool that WRITES
|
|
47
47
|
*
|
|
@@ -67,7 +67,7 @@ import type { ToolDefinition } from "./types.js";
|
|
|
67
67
|
* == The read half of the registration gate
|
|
68
68
|
*
|
|
69
69
|
* - `registrable_repositories` wraps `GET /api/v1/repositories/registrable`
|
|
70
|
-
* (shipped: `specguard/config/routes.rb
|
|
70
|
+
* (shipped: `specguard/config/routes.rb`,
|
|
71
71
|
* `Api::V1::UserRepositoriesController#registrable`).
|
|
72
72
|
*
|
|
73
73
|
* `list_repositories` says what IS registered; this says what COULD be — the
|
|
@@ -107,9 +107,9 @@ import type { ToolDefinition } from "./types.js";
|
|
|
107
107
|
* did not mint.
|
|
108
108
|
*
|
|
109
109
|
* The standing rule itself is unchanged and still binding — which still keeps
|
|
110
|
-
* out `/check-intent`: it has no backing endpoint (`routes.rb
|
|
111
|
-
* as a comment only). A tool advertised in `tools/list`
|
|
112
|
-
* agent will act on.
|
|
110
|
+
* out `/check-intent`: it has no backing endpoint (`specguard/config/routes.rb`
|
|
111
|
+
* mounts `/check-intent` as a comment only). A tool advertised in `tools/list`
|
|
112
|
+
* remains a promise an agent will act on.
|
|
113
113
|
*
|
|
114
114
|
* == Near-duplicate clusters: the forbid that retired
|
|
115
115
|
*
|
package/dist/src/tools/index.js
CHANGED
|
@@ -54,12 +54,12 @@ import updateRepositoryMemberPermissions from "./update-repository-member-permis
|
|
|
54
54
|
* == What is deliberately absent
|
|
55
55
|
*
|
|
56
56
|
* `/check-intent` is NOT here and must not be added until its backing endpoint
|
|
57
|
-
* exists — `specguard/config/routes.rb
|
|
58
|
-
* is the evidence this forbid rests on. A tool advertised in
|
|
59
|
-
* promise an agent will act on: wrapping an endpoint that
|
|
60
|
-
* produce a server that discovers cleanly and fails on
|
|
61
|
-
* not offering the tool, because the agent has
|
|
62
|
-
* the time it finds out.
|
|
57
|
+
* exists — `specguard/config/routes.rb` carries `/check-intent` as a comment
|
|
58
|
+
* only, which is the evidence this forbid rests on. A tool advertised in
|
|
59
|
+
* `tools/list` is a promise an agent will act on: wrapping an endpoint that
|
|
60
|
+
* does not exist would produce a server that discovers cleanly and fails on
|
|
61
|
+
* use, which is worse than not offering the tool, because the agent has
|
|
62
|
+
* already committed to a plan by the time it finds out.
|
|
63
63
|
*
|
|
64
64
|
* == The first tool that WRITES
|
|
65
65
|
*
|
|
@@ -85,7 +85,7 @@ import updateRepositoryMemberPermissions from "./update-repository-member-permis
|
|
|
85
85
|
* == The read half of the registration gate
|
|
86
86
|
*
|
|
87
87
|
* - `registrable_repositories` wraps `GET /api/v1/repositories/registrable`
|
|
88
|
-
* (shipped: `specguard/config/routes.rb
|
|
88
|
+
* (shipped: `specguard/config/routes.rb`,
|
|
89
89
|
* `Api::V1::UserRepositoriesController#registrable`).
|
|
90
90
|
*
|
|
91
91
|
* `list_repositories` says what IS registered; this says what COULD be — the
|
|
@@ -125,9 +125,9 @@ import updateRepositoryMemberPermissions from "./update-repository-member-permis
|
|
|
125
125
|
* did not mint.
|
|
126
126
|
*
|
|
127
127
|
* The standing rule itself is unchanged and still binding — which still keeps
|
|
128
|
-
* out `/check-intent`: it has no backing endpoint (`routes.rb
|
|
129
|
-
* as a comment only). A tool advertised in `tools/list`
|
|
130
|
-
* agent will act on.
|
|
128
|
+
* out `/check-intent`: it has no backing endpoint (`specguard/config/routes.rb`
|
|
129
|
+
* mounts `/check-intent` as a comment only). A tool advertised in `tools/list`
|
|
130
|
+
* remains a promise an agent will act on.
|
|
131
131
|
*
|
|
132
132
|
* == Near-duplicate clusters: the forbid that retired
|
|
133
133
|
*
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ToolDefinition } from "./types.js";
|
|
2
2
|
/**
|
|
3
3
|
* `GET /api/v1/repositories/:repository_id/api_keys` as a tool — shipped in
|
|
4
|
-
* the platform (`specguard/config/routes.rb
|
|
4
|
+
* the platform (`specguard/config/routes.rb`,
|
|
5
5
|
* `Api::V1::UserRepositoryApiKeysController#index`, SPGD-993).
|
|
6
6
|
*
|
|
7
7
|
* == The verify step of the rotation this bridge otherwise cannot see
|
|
@@ -2,7 +2,7 @@ import { getJsonObject, requireUserOrAgentApiConfig } from "../support/specguard
|
|
|
2
2
|
import { requireString } from "./args.js";
|
|
3
3
|
/**
|
|
4
4
|
* `GET /api/v1/repositories/:repository_id/api_keys` as a tool — shipped in
|
|
5
|
-
* the platform (`specguard/config/routes.rb
|
|
5
|
+
* the platform (`specguard/config/routes.rb`,
|
|
6
6
|
* `Api::V1::UserRepositoryApiKeysController#index`, SPGD-993).
|
|
7
7
|
*
|
|
8
8
|
* == The verify step of the rotation this bridge otherwise cannot see
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ToolDefinition } from "./types.js";
|
|
2
2
|
/**
|
|
3
3
|
* `GET /api/v1/repositories/registrable` as a tool — shipped today in the
|
|
4
|
-
* platform (`specguard/config/routes.rb
|
|
4
|
+
* platform (`specguard/config/routes.rb`, served by
|
|
5
5
|
* `Api::V1::UserRepositoriesController#registrable`).
|
|
6
6
|
*
|
|
7
7
|
* == What it answers, and why `list_repositories` does not
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { getJsonObject, requireUserApiConfig } from "../support/specguard-api.js";
|
|
2
2
|
/**
|
|
3
3
|
* `GET /api/v1/repositories/registrable` as a tool — shipped today in the
|
|
4
|
-
* platform (`specguard/config/routes.rb
|
|
4
|
+
* platform (`specguard/config/routes.rb`, served by
|
|
5
5
|
* `Api::V1::UserRepositoriesController#registrable`).
|
|
6
6
|
*
|
|
7
7
|
* == What it answers, and why `list_repositories` does not
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ToolDefinition } from "./types.js";
|
|
2
2
|
/**
|
|
3
3
|
* `DELETE /api/v1/repositories/:id` as a tool — shipped in the platform
|
|
4
|
-
* (`specguard/config/routes.rb
|
|
4
|
+
* (`specguard/config/routes.rb`, `Api::V1::UserRepositoriesController#destroy`,
|
|
5
5
|
* SPGD-754).
|
|
6
6
|
*
|
|
7
7
|
* == The destructive gesture in the whole surface
|
|
@@ -2,7 +2,7 @@ import { deleteJson, requireUserOrAgentApiConfig } from "../support/specguard-ap
|
|
|
2
2
|
import { requireString } from "./args.js";
|
|
3
3
|
/**
|
|
4
4
|
* `DELETE /api/v1/repositories/:id` as a tool — shipped in the platform
|
|
5
|
-
* (`specguard/config/routes.rb
|
|
5
|
+
* (`specguard/config/routes.rb`, `Api::V1::UserRepositoriesController#destroy`,
|
|
6
6
|
* SPGD-754).
|
|
7
7
|
*
|
|
8
8
|
* == The destructive gesture in the whole surface
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ToolDefinition } from "./types.js";
|
|
2
2
|
/**
|
|
3
3
|
* `PATCH /api/v1/repositories/:id` as a tool — shipped in the platform
|
|
4
|
-
* (`specguard/config/routes.rb
|
|
4
|
+
* (`specguard/config/routes.rb`, `Api::V1::UserRepositoriesController#update`,
|
|
5
5
|
* SPGD-878, PR #266).
|
|
6
6
|
*
|
|
7
7
|
* == Why this tool exists at all
|
|
@@ -2,7 +2,7 @@ import { patchJsonObject, requireUserApiConfig } from "../support/specguard-api.
|
|
|
2
2
|
import { requireString } from "./args.js";
|
|
3
3
|
/**
|
|
4
4
|
* `PATCH /api/v1/repositories/:id` as a tool — shipped in the platform
|
|
5
|
-
* (`specguard/config/routes.rb
|
|
5
|
+
* (`specguard/config/routes.rb`, `Api::V1::UserRepositoriesController#update`,
|
|
6
6
|
* SPGD-878, PR #266).
|
|
7
7
|
*
|
|
8
8
|
* == Why this tool exists at all
|
|
@@ -523,8 +523,11 @@ const getRepositoryOverview = {
|
|
|
523
523
|
"WHICH BUILD REFUSED THAT ROW, never the live route. The row's two nulls mean DIFFERENT things " +
|
|
524
524
|
"and must not be read as each other: a null `reported_client` means the client sent no " +
|
|
525
525
|
"`User-Agent` (the row knows, and the client said nothing); a null `served_by` means the row " +
|
|
526
|
-
"
|
|
527
|
-
"
|
|
526
|
+
"carries no build identity, so the platform cannot name which build answered it — the write " +
|
|
527
|
+
"path can land on that null in more than one way (for example a row retained from before the " +
|
|
528
|
+
"stamp existed, a build whose VERSION file is missing or unreadable, a column stored blank), " +
|
|
529
|
+
"so the null says only that no build is named, never which way it got there. " +
|
|
530
|
+
"A `latest_run` from days ago beside a live rejection stream is a " +
|
|
528
531
|
"suite SpecGuard STOPPED ACCEPTING, not a suite nobody ran. " +
|
|
529
532
|
"`credential_health` covers the break that one structurally CANNOT see — a rejected key " +
|
|
530
533
|
"resolves no repository and writes no rejection row, so an authentication-broken pipeline is " +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repository-overview.js","sourceRoot":"","sources":["../../../src/tools/repository-overview.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAG5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAidG;AACH,MAAM,qBAAqB,GAAmB;IAC5C,IAAI,EAAE,yBAAyB;IAE/B,KAAK,EAAE,mCAAmC;IAE1C,WAAW,EACT,2FAA2F;QAC3F,6FAA6F;QAC7F,yFAAyF;QACzF,+FAA+F;QAC/F,8FAA8F;QAC9F,gEAAgE;QAChE,gGAAgG;QAChG,wFAAwF;QACxF,6FAA6F;QAC7F,4BAA4B;QAC5B,gFAAgF;QAChF,yFAAyF;QACzF,4FAA4F;QAC5F,qFAAqF;QACrF,yFAAyF;QACzF,yDAAyD;QACzD,4FAA4F;QAC5F,6FAA6F;QAC7F,kCAAkC;QAClC,6FAA6F;QAC7F,0FAA0F;QAC1F,wFAAwF;QACxF,yFAAyF;QACzF,4FAA4F;QAC5F,4DAA4D;QAC5D,+FAA+F;QAC/F,2FAA2F;QAC3F,gGAAgG;QAChG,wEAAwE;QACxE,6FAA6F;QAC7F,gGAAgG;QAChG,4EAA4E;QAC5E,+FAA+F;QAC/F,6FAA6F;QAC7F,0FAA0F;QAC1F,oFAAoF;QACpF,iGAAiG;QACjG,8FAA8F;QAC9F,2FAA2F;QAC3F,qEAAqE;QACrE,2FAA2F;QAC3F,kFAAkF;QAClF,iGAAiG;QACjG,gGAAgG;QAChG,yFAAyF;QACzF,gGAAgG;QAChG,8FAA8F;QAC9F,kGAAkG;QAClG,gGAAgG;QAChG,yFAAyF;QACzF,gGAAgG;QAChG,gGAAgG;QAChG,wFAAwF;QACxF,8FAA8F;QAC9F,
|
|
1
|
+
{"version":3,"file":"repository-overview.js","sourceRoot":"","sources":["../../../src/tools/repository-overview.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ToolDefinition } from "./types.js";
|
|
2
2
|
/**
|
|
3
3
|
* `DELETE /api/v1/repositories/:repository_id/api_keys/:id` as a tool —
|
|
4
|
-
* shipped in the platform (`specguard/config/routes.rb
|
|
4
|
+
* shipped in the platform (`specguard/config/routes.rb`,
|
|
5
5
|
* `user_repository_api_keys_controller#destroy`, SPGD-754).
|
|
6
6
|
*
|
|
7
7
|
* == Replacement-mint-then-revoke is the rotation model
|
|
@@ -2,7 +2,7 @@ import { deleteJson, requireUserOrAgentApiConfig } from "../support/specguard-ap
|
|
|
2
2
|
import { requireString } from "./args.js";
|
|
3
3
|
/**
|
|
4
4
|
* `DELETE /api/v1/repositories/:repository_id/api_keys/:id` as a tool —
|
|
5
|
-
* shipped in the platform (`specguard/config/routes.rb
|
|
5
|
+
* shipped in the platform (`specguard/config/routes.rb`,
|
|
6
6
|
* `user_repository_api_keys_controller#destroy`, SPGD-754).
|
|
7
7
|
*
|
|
8
8
|
* == Replacement-mint-then-revoke is the rotation model
|