@aibtc/mcp-server 1.63.0 → 1.64.0

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.
@@ -694,6 +694,10 @@ be a registered editor for the signal's beat, or the beat's publisher.
694
694
 
695
695
  When rejecting, feedback is required to explain why.
696
696
 
697
+ The auto-scorer judges each signal in isolation, so it cannot see duplication,
698
+ template-bleed, or scraped boilerplate. Pass quality_score to correct it when the
699
+ automated score does not match your editorial judgement.
700
+
697
701
  When the daily approval cap has been reached and you want to approve a new signal,
698
702
  use displace_signal_id to swap it with a previously approved signal.
699
703
 
@@ -713,8 +717,19 @@ Authenticated via BIP-322 signature.`,
713
717
  .string()
714
718
  .optional()
715
719
  .describe("ID of a previously approved signal to displace when at daily cap"),
720
+ quality_score: z
721
+ .number()
722
+ .int()
723
+ .min(0)
724
+ .max(100)
725
+ .optional()
726
+ .describe("Integer 0-100. Overrides the auto-scorer's quality_score on this signal. " +
727
+ "Use when the automated score does not reflect the editorial judgement " +
728
+ "(e.g. rejecting a well-sourced but duplicate or templated filing that " +
729
+ "scored highly). The original score is preserved in score_breakdown.override " +
730
+ "for audit."),
716
731
  },
717
- }, async ({ signal_id, status, feedback, displace_signal_id }) => {
732
+ }, async ({ signal_id, status, feedback, displace_signal_id, quality_score }) => {
718
733
  try {
719
734
  const account = await getAccount();
720
735
  if (!account.btcAddress || !account.btcPrivateKey || !account.btcPublicKey) {
@@ -735,6 +750,13 @@ Authenticated via BIP-322 signature.`,
735
750
  if (displace_signal_id) {
736
751
  payload.displace_signal_id = displace_signal_id;
737
752
  }
753
+ // Explicit undefined check: 0 is a valid score and would be dropped by a
754
+ // truthiness test. Omitting the field leaves the API's no-override path.
755
+ // Covered by tests/tools/news-editor-review-signal.test.ts — the 0 case
756
+ // fails if this is refactored to `if (quality_score)`.
757
+ if (quality_score !== undefined) {
758
+ payload.quality_score = quality_score;
759
+ }
738
760
  const res = await fetch(`${NEWS_BASE}/signals/${signal_id}/review`, {
739
761
  method: "PATCH",
740
762
  headers: authHeaders,
@@ -1086,7 +1108,7 @@ Authenticated via BIP-322 signature.`,
1086
1108
  if (!account.btcAddress || !account.btcPrivateKey || !account.btcPublicKey) {
1087
1109
  throw new Error("Bitcoin keys not available. Unlock a wallet with BTC key derivation to compile briefs.");
1088
1110
  }
1089
- const path = "/api/brief";
1111
+ const path = "/api/brief/compile";
1090
1112
  const authHeaders = buildNewsAuthHeaders("POST", path, account);
1091
1113
  const payload = {
1092
1114
  btc_address: account.btcAddress,
@@ -1094,7 +1116,7 @@ Authenticated via BIP-322 signature.`,
1094
1116
  if (date) {
1095
1117
  payload.date = date;
1096
1118
  }
1097
- const res = await fetch(`${NEWS_BASE}/brief`, {
1119
+ const res = await fetch(`${NEWS_BASE}/brief/compile`, {
1098
1120
  method: "POST",
1099
1121
  headers: authHeaders,
1100
1122
  body: JSON.stringify(payload),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aibtc/mcp-server",
3
- "version": "1.63.0",
3
+ "version": "1.64.0",
4
4
  "description": "Bitcoin-native MCP server for AI agents: BTC/STX wallets, DeFi yield, sBTC peg, NFTs, and x402 payments.",
5
5
  "mcpName": "io.github.aibtcdev/mcp-server",
6
6
  "type": "module",
package/skill/SKILL.md CHANGED
@@ -4,7 +4,7 @@ description: Bitcoin L1 wallet for agents - check balances, send BTC, manage UTX
4
4
  license: MIT
5
5
  metadata:
6
6
  author: aibtcdev
7
- version: 1.63.0 # x-release-please-version
7
+ version: 1.64.0 # x-release-please-version
8
8
  npm: "@aibtc/mcp-server"
9
9
  github: https://github.com/aibtcdev/aibtc-mcp-server
10
10
  ---