@lcv-ideas-software/cross-review 4.2.0 → 4.2.2
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 +52 -1
- package/NOTICE +1 -1
- package/README.md +115 -90
- package/SECURITY.md +18 -37
- package/dist/scripts/provider-refresh-smoke.d.ts +1 -0
- package/dist/scripts/provider-refresh-smoke.js +49 -0
- package/dist/scripts/provider-refresh-smoke.js.map +1 -0
- package/dist/scripts/runtime-smoke.js.map +1 -1
- package/dist/scripts/smoke.js +146 -37
- package/dist/scripts/smoke.js.map +1 -1
- package/dist/src/core/caller-tokens.js +3 -2
- package/dist/src/core/caller-tokens.js.map +1 -1
- package/dist/src/core/config.d.ts +3 -3
- package/dist/src/core/config.js +17 -17
- package/dist/src/core/config.js.map +1 -1
- package/dist/src/core/file-config.d.ts +1 -1
- package/dist/src/core/orchestrator.d.ts +69 -45
- package/dist/src/core/orchestrator.js +212 -3
- package/dist/src/core/orchestrator.js.map +1 -1
- package/dist/src/core/relator-lottery.js +5 -1
- package/dist/src/core/relator-lottery.js.map +1 -1
- package/dist/src/core/session-store.d.ts +9 -9
- package/dist/src/core/session-store.js +2 -2
- package/dist/src/core/session-store.js.map +1 -1
- package/dist/src/core/status.js +13 -0
- package/dist/src/core/status.js.map +1 -1
- package/dist/src/core/types.d.ts +166 -165
- package/dist/src/core/types.js +3 -3
- package/dist/src/core/types.js.map +1 -1
- package/dist/src/dashboard/server.js +12 -8
- package/dist/src/dashboard/server.js.map +1 -1
- package/dist/src/mcp/server.d.ts +13 -13
- package/dist/src/mcp/server.js.map +1 -1
- package/dist/src/peers/base.d.ts +6 -6
- package/dist/src/peers/errors.js +14 -12
- package/dist/src/peers/errors.js.map +1 -1
- package/dist/src/peers/gemini.js +2 -2
- package/dist/src/peers/gemini.js.map +1 -1
- package/dist/src/peers/grok.js +5 -5
- package/dist/src/peers/grok.js.map +1 -1
- package/dist/src/peers/model-selection.js +6 -8
- package/dist/src/peers/model-selection.js.map +1 -1
- package/dist/src/peers/perplexity.js +8 -5
- package/dist/src/peers/perplexity.js.map +1 -1
- package/dist/src/peers/text.d.ts +3 -3
- package/docs/api-keys.md +2 -2
- package/docs/apresentacao-cross-review.md +769 -0
- package/docs/apresentacao.md +571 -0
- package/docs/architecture.md +2 -0
- package/docs/caching.md +9 -8
- package/docs/costs.md +11 -0
- package/docs/evidence-preflight.md +1 -1
- package/docs/model-selection.md +19 -14
- package/package.json +11 -8
package/docs/model-selection.md
CHANGED
|
@@ -39,10 +39,10 @@ env-var per host — a deliberate decision, never a silent downgrade.
|
|
|
39
39
|
| Peer | Pin | Override env-var |
|
|
40
40
|
| ---------------- | --------------------- | ------------------------------- |
|
|
41
41
|
| OpenAI/Codex | `gpt-5.5` | `CROSS_REVIEW_OPENAI_MODEL` |
|
|
42
|
-
| Anthropic/Claude | `claude-opus-4-
|
|
42
|
+
| Anthropic/Claude | `claude-opus-4-8` | `CROSS_REVIEW_ANTHROPIC_MODEL` |
|
|
43
43
|
| Google/Gemini | `gemini-2.5-pro` | `CROSS_REVIEW_GEMINI_MODEL` |
|
|
44
44
|
| DeepSeek | `deepseek-v4-pro` | `CROSS_REVIEW_DEEPSEEK_MODEL` |
|
|
45
|
-
| xAI/Grok | `grok-4
|
|
45
|
+
| xAI/Grok | `grok-4.3` | `CROSS_REVIEW_GROK_MODEL` |
|
|
46
46
|
| Perplexity | `sonar-reasoning-pro` | `CROSS_REVIEW_PERPLEXITY_MODEL` |
|
|
47
47
|
|
|
48
48
|
Haiku and other low-capacity Anthropic models are intentionally excluded —
|
|
@@ -54,10 +54,10 @@ because under Google One AI Ultra subscription it carries 1k requests/day vs
|
|
|
54
54
|
`gemini-*-pro` variants ≥ 2.5 are permitted — no `*-flash` variants and no
|
|
55
55
|
models below 2.5.
|
|
56
56
|
|
|
57
|
-
`GROK_API_KEY` is the canonical auth variable for xAI. The pinned
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
57
|
+
`GROK_API_KEY` is the canonical auth variable for xAI. The pinned `grok-4.3`
|
|
58
|
+
model accepts explicit `reasoning.effort` values through `high`; the adapter
|
|
59
|
+
clamps the shared effort scale so unsupported `xhigh`/`max` requests do not
|
|
60
|
+
reach the wire.
|
|
61
61
|
|
|
62
62
|
`PERPLEXITY_API_KEY` is the canonical auth variable for Perplexity Sonar.
|
|
63
63
|
Sonar billing has a 3rd dimension: per-1000-requests fee that scales with
|
|
@@ -70,11 +70,15 @@ to skip search for the synthesis step.
|
|
|
70
70
|
Cross-review is optimized for correctness over latency and cost. Provider adapters explicitly request thinking/reasoning where the official APIs support it:
|
|
71
71
|
|
|
72
72
|
- OpenAI/Codex: Responses API with reasoning effort `xhigh` by default.
|
|
73
|
-
- Anthropic/Claude: adaptive thinking with omitted thinking display plus `output_config.effort=xhigh` by default on Opus 4.
|
|
73
|
+
- Anthropic/Claude: adaptive thinking with omitted thinking display plus `output_config.effort=xhigh` by default on Opus 4.8.
|
|
74
74
|
- Google/Gemini: automatic thinking budget for the pinned Gemini 2.5 Pro model; Gemini 3.x thinking-level notes are historical and apply only to an explicit operator-approved override.
|
|
75
75
|
- DeepSeek: `thinking.type=enabled` with `reasoning_effort=max` by default.
|
|
76
|
-
- Grok: the pinned `grok-4
|
|
77
|
-
the
|
|
76
|
+
- Grok: the pinned `grok-4.3` model accepts explicit `reasoning.effort`;
|
|
77
|
+
unsupported shared-scale values are clamped to the nearest supported value.
|
|
78
|
+
- Perplexity: the pinned `sonar-reasoning-pro` model accepts an explicit
|
|
79
|
+
`reasoning_effort` enum (`minimal`/`low`/`medium`/`high`, `high` by default);
|
|
80
|
+
`clampEffortForPerplexity` narrows the shared effort scale into that range
|
|
81
|
+
(`none`/`minimal` → `minimal`; `xhigh`/`max` → `high`).
|
|
78
82
|
|
|
79
83
|
## Historical Documentation Refresh — 2026-05-05
|
|
80
84
|
|
|
@@ -85,8 +89,9 @@ above and enforced by `src/peers/model-selection.ts`.
|
|
|
85
89
|
- OpenAI: GPT-5.5 is the current recommended frontier model for complex
|
|
86
90
|
reasoning/coding, with Responses API reasoning effort values through `xhigh`
|
|
87
91
|
and 1M context / 128K output.
|
|
88
|
-
- Anthropic: Claude Opus 4.
|
|
89
|
-
agentic-coding default; current docs
|
|
92
|
+
- Anthropic: Claude Opus 4.8 supersedes Opus 4.7 as the current
|
|
93
|
+
complex-reasoning and agentic-coding default; current docs retain the same
|
|
94
|
+
regular price tier as 4.7.
|
|
90
95
|
- Google Gemini: Gemini 3.1 Pro Preview was the advanced Gemini 3.1 option at
|
|
91
96
|
the time; Gemini 3 Pro Preview was deprecated/shut down and must stay out of
|
|
92
97
|
current pins and downgrade chains.
|
|
@@ -94,9 +99,9 @@ above and enforced by `src/peers/model-selection.ts`.
|
|
|
94
99
|
legacy `deepseek-chat` and `deepseek-reasoner` were scheduled for
|
|
95
100
|
discontinuation on 2026-07-24 and must stay out of current pins and
|
|
96
101
|
downgrade chains.
|
|
97
|
-
- xAI Grok: historical Grok notes covered explicit-effort models
|
|
98
|
-
the current `grok-4
|
|
99
|
-
|
|
102
|
+
- xAI Grok: historical Grok notes covered aliases and explicit-effort models
|
|
103
|
+
that predate the current concrete `grok-4.3` pin. Current runtime behavior
|
|
104
|
+
is defined above: send clamped explicit `reasoning.effort` for `grok-4.3`.
|
|
100
105
|
|
|
101
106
|
## Important
|
|
102
107
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lcv-ideas-software/cross-review",
|
|
3
|
-
"version": "4.2.
|
|
3
|
+
"version": "4.2.2",
|
|
4
4
|
"description": "API-first MCP server for multi-model cross-review with unanimous convergence gates.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/src/mcp/server.js",
|
|
@@ -24,11 +24,12 @@
|
|
|
24
24
|
"dev": "tsx src/mcp/server.ts",
|
|
25
25
|
"dashboard": "tsx src/dashboard/server.ts",
|
|
26
26
|
"smoke": "tsx scripts/smoke.ts",
|
|
27
|
+
"provider-refresh-smoke": "tsx scripts/provider-refresh-smoke.ts",
|
|
27
28
|
"runtime-smoke": "npm --registry=https://registry.npmjs.org run build && tsx scripts/runtime-smoke.ts",
|
|
28
29
|
"runtime-default-smoke": "tsx scripts/runtime-default-smoke.ts",
|
|
29
30
|
"api-streaming-smoke": "tsx scripts/api-streaming-smoke.ts",
|
|
30
31
|
"release:verify-registry": "node scripts/verify-registry-dist.mjs",
|
|
31
|
-
"test": "npm --registry=https://registry.npmjs.org run build && npm --registry=https://registry.npmjs.org run smoke && npm --registry=https://registry.npmjs.org run runtime-smoke",
|
|
32
|
+
"test": "npm --registry=https://registry.npmjs.org run build && npm --registry=https://registry.npmjs.org run provider-refresh-smoke && npm --registry=https://registry.npmjs.org run smoke && npm --registry=https://registry.npmjs.org run runtime-smoke",
|
|
32
33
|
"lint": "eslint . --max-warnings=0",
|
|
33
34
|
"format": "prettier --write .",
|
|
34
35
|
"format:check": "prettier --check .",
|
|
@@ -40,13 +41,13 @@
|
|
|
40
41
|
"check": "npm --registry=https://registry.npmjs.org run format:check && npm --registry=https://registry.npmjs.org run lint && npm --registry=https://registry.npmjs.org run biome && npm --registry=https://registry.npmjs.org run typecheck"
|
|
41
42
|
},
|
|
42
43
|
"dependencies": {
|
|
43
|
-
"@anthropic-ai/sdk": "^0.
|
|
44
|
-
"@google/genai": "^2.
|
|
44
|
+
"@anthropic-ai/sdk": "^0.100.1",
|
|
45
|
+
"@google/genai": "^2.5.0",
|
|
45
46
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
46
47
|
"openai": "^6.38.0",
|
|
47
48
|
"pino": "^10.3.1",
|
|
48
49
|
"proper-lockfile": "^4.1.2",
|
|
49
|
-
"zod": "^4.3
|
|
50
|
+
"zod": "^4.4.3"
|
|
50
51
|
},
|
|
51
52
|
"overrides": {
|
|
52
53
|
"ip-address": ">=10.1.1",
|
|
@@ -55,13 +56,14 @@
|
|
|
55
56
|
"devDependencies": {
|
|
56
57
|
"@biomejs/biome": "^2.4.15",
|
|
57
58
|
"@eslint/js": "^10.0.1",
|
|
58
|
-
"@types/node": "^25.
|
|
59
|
+
"@types/node": "^25.9.1",
|
|
59
60
|
"@types/proper-lockfile": "^4.1.4",
|
|
60
61
|
"eslint": "^10.4.0",
|
|
62
|
+
"eslint-config-prettier": "^10.1.8",
|
|
61
63
|
"prettier": "^3.8.3",
|
|
62
|
-
"tsx": "^4.22.
|
|
64
|
+
"tsx": "^4.22.3",
|
|
63
65
|
"typescript": "^6.0.3",
|
|
64
|
-
"typescript-eslint": "^8.59.
|
|
66
|
+
"typescript-eslint": "^8.59.4"
|
|
65
67
|
},
|
|
66
68
|
"engines": {
|
|
67
69
|
"node": ">=22"
|
|
@@ -90,6 +92,7 @@
|
|
|
90
92
|
"deepseek",
|
|
91
93
|
"grok",
|
|
92
94
|
"xai",
|
|
95
|
+
"perplexity",
|
|
93
96
|
"api"
|
|
94
97
|
]
|
|
95
98
|
}
|