vantage-peers-mcp 2.11.0 → 2.12.1
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/CHANGELOG.md +10 -0
- package/LICENSE +110 -0
- package/README.md +6 -6
- package/dist/server-http.js +11 -3
- package/dist/server.d.ts +13 -6
- package/dist/server.js +19 -2976
- package/dist/src/auth.js +22 -2
- package/dist/src/tools/exportOkfBundle.d.ts +51 -0
- package/dist/src/tools/exportOkfBundle.js +100 -0
- package/dist/src/tools.d.ts +13 -13
- package/dist/src/tools.js +22 -4
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [2.12.0] — 2026-06-14
|
|
4
|
+
|
|
5
|
+
### Changed
|
|
6
|
+
- `check_messages` now calls `messages:checkNewMessagesEnvelope` (Convex PR #759 mergeCommit `c03023fc85463fe16fc53948d3002420bc1c4547`) for bounded tool-response size. New optional `limit` arg (1-50, default 20). When the call is truncated, the text payload appends `— truncated. Resume with check_messages since=<nextSince>` so the orchestrator can page the backlog cleanly without busting Claude Code's tool-response cap.
|
|
7
|
+
- `since` arg description amended with a "pair with `nextSince` from a previous truncated reply" hint.
|
|
8
|
+
|
|
9
|
+
### Notes
|
|
10
|
+
- Closes Pi BLOCKER VP task `k1702xaahb` (Day 102 — sigma-vps cron crash on a 36-message / 53 KB backlog).
|
|
11
|
+
- Legacy `messages:checkNewMessages` Convex query left intact for vp-mcp <2.12.0 callers (no break).
|
|
12
|
+
|
|
3
13
|
## [2.11.0] — 2026-06-14 — Day 102 CRUD baseline PR-C-bis option B: 3-entity Convex searchIndex (mission k575kc1ryps0n8br95jw3q7d0x88m2v9)
|
|
4
14
|
|
|
5
15
|
Mission `mcp-crud-baseline-standard` PR-C-bis under T2. Pi-sequenced follow-up after PR-C (rename-only safe subset) — implements **option B SCOPED** per Pi arbitrage msg `jn7abynmghy5qdr9ga0b914wmh88n99w` ("GO option B SCOPED — démarre PR-C avec 3 entités prioritaires"): tasks + messages + briefingNotes get native Convex BM25 search via `.searchIndex()` schema additions + per-entity Convex queries + MCP tool wrappers.
|
package/LICENSE
ADDED
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
Functional Source License, Version 1.1, Apache 2.0 Future License
|
|
2
|
+
|
|
3
|
+
Abbreviation
|
|
4
|
+
|
|
5
|
+
FSL-1.1-Apache-2.0
|
|
6
|
+
|
|
7
|
+
Notice
|
|
8
|
+
|
|
9
|
+
Copyright 2026 VantageOS (ElPi Corp)
|
|
10
|
+
|
|
11
|
+
Terms and Conditions
|
|
12
|
+
|
|
13
|
+
Licensor: VantageOS (ElPi Corp)
|
|
14
|
+
|
|
15
|
+
Licensed Work: VantagePeers
|
|
16
|
+
The Licensed Work is (c) 2026 VantageOS (ElPi Corp)
|
|
17
|
+
|
|
18
|
+
Additional Use Grant: You may make production use of the Licensed Work,
|
|
19
|
+
provided Your use does not include offering the Licensed
|
|
20
|
+
Work to third parties as a hosted or managed service
|
|
21
|
+
where the service provides users with access to any
|
|
22
|
+
substantial set of the features or functionality of the
|
|
23
|
+
Licensed Work.
|
|
24
|
+
|
|
25
|
+
Change Date: 2028-04-03 (two years from publication)
|
|
26
|
+
|
|
27
|
+
Change License: Apache License, Version 2.0
|
|
28
|
+
|
|
29
|
+
For information about alternative licensing arrangements for the Licensed Work,
|
|
30
|
+
please contact: contact@vantageos.com
|
|
31
|
+
|
|
32
|
+
License text below is provided for informational purposes only.
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
Functional Source License, Version 1.1, Apache 2.0 Future License
|
|
37
|
+
|
|
38
|
+
1. Purpose
|
|
39
|
+
|
|
40
|
+
This license gives you broad permission to use, modify, and share this
|
|
41
|
+
software, with one important condition: you may not use it to compete with us.
|
|
42
|
+
|
|
43
|
+
2. Acceptance
|
|
44
|
+
|
|
45
|
+
To use the software, you must agree to these terms. If you do not agree, you
|
|
46
|
+
may not use the software.
|
|
47
|
+
|
|
48
|
+
3. Copyright License
|
|
49
|
+
|
|
50
|
+
The licensor grants you a non-exclusive, royalty-free, worldwide, non-
|
|
51
|
+
sublicensable, non-transferable license to use, copy, distribute, make
|
|
52
|
+
available, and prepare derivative works of the software, in each case subject
|
|
53
|
+
to the limitations below.
|
|
54
|
+
|
|
55
|
+
4. Limitations
|
|
56
|
+
|
|
57
|
+
You may not make the functionality of the software available to third parties
|
|
58
|
+
as a service, or otherwise use the software to provide a service to third
|
|
59
|
+
parties that competes with the licensor.
|
|
60
|
+
|
|
61
|
+
5. Patents
|
|
62
|
+
|
|
63
|
+
The licensor grants you a license, under any patent claims the licensor can
|
|
64
|
+
license or becomes able to license, to make, have made, use, sell, offer for
|
|
65
|
+
sale, import, and have imported the software, in each case subject to the
|
|
66
|
+
limitations and conditions in this license.
|
|
67
|
+
|
|
68
|
+
6. Fair Use
|
|
69
|
+
|
|
70
|
+
This license is not intended to limit any rights you may have under applicable
|
|
71
|
+
fair use or other laws.
|
|
72
|
+
|
|
73
|
+
7. No Other Rights
|
|
74
|
+
|
|
75
|
+
These terms do not grant any other rights. The licensor reserves all rights not
|
|
76
|
+
expressly granted.
|
|
77
|
+
|
|
78
|
+
8. Termination
|
|
79
|
+
|
|
80
|
+
Your license is automatically terminated if you violate the terms. However, if
|
|
81
|
+
you cure the violation within 30 days of discovering it, your license is
|
|
82
|
+
reinstated retroactively.
|
|
83
|
+
|
|
84
|
+
9. Disclaimer
|
|
85
|
+
|
|
86
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
87
|
+
IMPLIED.
|
|
88
|
+
|
|
89
|
+
10. Limitation of Liability
|
|
90
|
+
|
|
91
|
+
TO THE EXTENT PERMITTED BY LAW, THE LICENSOR IS NOT LIABLE FOR ANY DAMAGES
|
|
92
|
+
ARISING FROM THE USE OF THE SOFTWARE.
|
|
93
|
+
|
|
94
|
+
11. Change Date and License
|
|
95
|
+
|
|
96
|
+
After the Change Date, the licensor grants you the rights under the Change
|
|
97
|
+
License.
|
|
98
|
+
|
|
99
|
+
12. Definitions
|
|
100
|
+
|
|
101
|
+
"Compete" means providing a product or service that is substantially similar
|
|
102
|
+
to, or a replacement for, all or a significant portion of the Licensed Work.
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
Apache License, Version 2.0
|
|
107
|
+
|
|
108
|
+
After the Change Date (2028-04-03), this software will be available under the
|
|
109
|
+
Apache License, Version 2.0. See https://www.apache.org/licenses/LICENSE-2.0
|
|
110
|
+
for full text.
|
package/README.md
CHANGED
|
@@ -91,7 +91,7 @@ The server also reads `CONVEX_URL` from `.env.local` in the parent directory if
|
|
|
91
91
|
## Tools (97)
|
|
92
92
|
|
|
93
93
|
### Memory (6)
|
|
94
|
-
`store_memory`, `recall
|
|
94
|
+
`store_memory`, `search_memories_by_semantic` (alias `recall`), `list_memories`, `soft_delete_memory`, `get_memory`, `store_episode`
|
|
95
95
|
|
|
96
96
|
### Profiles (3)
|
|
97
97
|
`get_profile`, `update_profile`, `list_peers`
|
|
@@ -115,7 +115,7 @@ The server also reads `CONVEX_URL` from `.env.local` in the parent directory if
|
|
|
115
115
|
`create_briefing_note`, `list_briefing_notes`
|
|
116
116
|
|
|
117
117
|
### Search / RAG (3)
|
|
118
|
-
`search_fix_patterns
|
|
118
|
+
`search_fix_patterns_by_semantic` (alias `search_fix_patterns`), `search_memories_by_keyword` (alias `text_search`), `hybrid_search`
|
|
119
119
|
|
|
120
120
|
### Issues (6)
|
|
121
121
|
`get_issue`, `list_issues`, `update_issue_status`, `verify_issue`, `issue_stats`, `link_commit_to_issue`
|
|
@@ -231,7 +231,7 @@ Example:
|
|
|
231
231
|
`create_bu`, `list_bus`, `get_bu`, `update_bu`, `delete_bu`
|
|
232
232
|
|
|
233
233
|
### Components (6)
|
|
234
|
-
`register_component`, `list_components`, `get_component`, `update_component`, `delete_component`, `search_components`
|
|
234
|
+
`register_component`, `list_components`, `get_component`, `update_component`, `delete_component`, `search_components_by_keyword` (alias `search_components`)
|
|
235
235
|
|
|
236
236
|
### Mandates (6)
|
|
237
237
|
`create_mandate`, `list_mandates`, `accept_mandate`, `update_mandate`, `validate_mandate_spending`, `settle_mandate`
|
|
@@ -242,7 +242,7 @@ Example:
|
|
|
242
242
|
### Session (1)
|
|
243
243
|
`set_summary`
|
|
244
244
|
|
|
245
|
-
## Compact payloads and status aliases (v2.
|
|
245
|
+
## Compact payloads and status aliases (v2.12.0 — feature since v2.3.0)
|
|
246
246
|
|
|
247
247
|
### `fields=lite` — reduced token payloads
|
|
248
248
|
|
|
@@ -312,13 +312,13 @@ A fix pattern is a validated learning extracted from a resolved bug — symptom,
|
|
|
312
312
|
|
|
313
313
|
The cycle runs as follows:
|
|
314
314
|
|
|
315
|
-
1. **Agent encounters a bug.** Before touching any code, call `search_fix_patterns` with a plain-language description of the symptom. The KB returns ranked matches using semantic vector search.
|
|
315
|
+
1. **Agent encounters a bug.** Before touching any code, call `search_fix_patterns_by_semantic` (alias `search_fix_patterns`) with a plain-language description of the symptom. The KB returns ranked matches using semantic vector search.
|
|
316
316
|
2. **KB hit.** If a validated pattern is returned, apply the known fix directly. Log the reuse via `add_fix_attempt` (`worked: true`) so confidence scores stay current.
|
|
317
317
|
3. **KB miss.** If no pattern matches, the agent fixes the bug manually using standard debugging. Once resolved, the learning is captured immediately via `create_fix_pattern` — symptom, root cause, severity, stack, and the working fix.
|
|
318
318
|
4. **Validation.** After the fix holds in production (or after a second independent confirmation), call `validate_fix` to promote the pattern to validated status. This is the signal that downstream agents can trust the pattern without verification.
|
|
319
319
|
5. **Issue linkage.** Call `link_issue_to_pattern` to attach the VantagePeers issue ID to the pattern. This creates a bidirectional reference: the issue record points to the pattern, and the pattern's `linkedIssueIds` list points back.
|
|
320
320
|
|
|
321
|
-
The four tools that power this cycle are: `create_fix_pattern`, `add_fix_attempt`, `validate_fix`, and `link_issue_to_pattern`. The fifth tool, `search_fix_patterns
|
|
321
|
+
The four tools that power this cycle are: `create_fix_pattern`, `add_fix_attempt`, `validate_fix`, and `link_issue_to_pattern`. The fifth tool, `search_fix_patterns_by_semantic` (alias `search_fix_patterns`), is in the Search / RAG category and is the entry point agents should call first.
|
|
322
322
|
|
|
323
323
|
On the agent side, the `/capitalize-fix` skill and the `inject-fix-patterns` hook automate steps 3-5: the hook fires on task completion events and prompts the orchestrator to capture the learning before closing the task. The cycle is designed to be low-friction — one tool call per step, all via MCP, no `npx convex run` required.
|
|
324
324
|
|
package/dist/server-http.js
CHANGED
|
@@ -46,8 +46,13 @@ catch {
|
|
|
46
46
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
47
47
|
// Constants
|
|
48
48
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
49
|
-
|
|
50
|
-
|
|
49
|
+
// Day 107 Cédric BLOCKER root cause: previously hardcoded a fallback to the
|
|
50
|
+
// VantagePeers Cloud production URL, which meant Self-host deploys forgetting
|
|
51
|
+
// PUBLIC_BASE_URL silently advertised Sigma's URL in OAuth metadata and broke
|
|
52
|
+
// every Self-host customer's DCR chain with `invalid_client`. Fix: env-only
|
|
53
|
+
// fallback, no implicit cross-tenant default. `resolveIssuer` throws clear
|
|
54
|
+
// error if both Host header AND env are absent.
|
|
55
|
+
const PUBLIC_BASE_URL_FALLBACK = process.env.PUBLIC_BASE_URL ?? null;
|
|
51
56
|
const ACCESS_TOKEN_TTL_SECONDS = 3600; // 1 hour
|
|
52
57
|
const REFRESH_TOKEN_TTL_SECONDS = 30 * 24 * 3600; // 30 days
|
|
53
58
|
const AUTH_CODE_TTL_SECONDS = 600; // 10 minutes
|
|
@@ -77,7 +82,10 @@ function resolveIssuer(req) {
|
|
|
77
82
|
: "https");
|
|
78
83
|
return `${proto}://${host}`;
|
|
79
84
|
}
|
|
80
|
-
|
|
85
|
+
if (PUBLIC_BASE_URL_FALLBACK) {
|
|
86
|
+
return PUBLIC_BASE_URL_FALLBACK;
|
|
87
|
+
}
|
|
88
|
+
throw new Error("Server misconfigured: cannot determine public base URL (no Host header and PUBLIC_BASE_URL env var unset). Self-host deploys MUST set PUBLIC_BASE_URL.");
|
|
81
89
|
}
|
|
82
90
|
function randomOpaqueToken() {
|
|
83
91
|
// 256-bit entropy via getRandomValues (32 bytes → 64 hex chars).
|
package/dist/server.d.ts
CHANGED
|
@@ -1,12 +1,19 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
|
-
* VantagePeers MCP Server
|
|
4
|
-
* Exposes 82 Convex-backed tools to Claude Code agents via stdio transport.
|
|
3
|
+
* VantagePeers MCP Server — stdio transport (Self-host / local Claude Code path).
|
|
5
4
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
5
|
+
* Thin bootstrap: resolves CONVEX_URL, instantiates McpServer + ConvexHttpClient,
|
|
6
|
+
* delegates ALL tool registration to the shared `registerTools(server, convex)`
|
|
7
|
+
* surface in src/tools.ts. This guarantees stdio and HTTP transports expose the
|
|
8
|
+
* same tool set (parity locked by src/__tests__/stdio-http-parity.test.ts).
|
|
9
|
+
*
|
|
10
|
+
* Day 102 refactor (fix-pattern m974adhs7wtwb6pt4h0sdxn1k988mnxk):
|
|
11
|
+
* Removed ~3.6k LOC of inline `server.tool(...)` registrations that had drifted
|
|
12
|
+
* out of sync with src/tools.ts, hiding 12 new CRUD-baseline tools from fleet
|
|
13
|
+
* stdio consumers (Claude Code, Codex via npx vantage-peers-mcp).
|
|
14
|
+
*
|
|
15
|
+
* VP_EMIT_UI_MARKERS env gate is honored inside src/tools.ts and therefore
|
|
16
|
+
* works transparently on stdio as well as HTTP.
|
|
10
17
|
*
|
|
11
18
|
* See README.md for the full tool reference.
|
|
12
19
|
*/
|