@brain-protocol/mcp 0.6.3 → 0.7.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.
@@ -1,3 +1,8 @@
1
+ import { z } from "zod";
2
+ export const resolveConflictSchema = z.object({
3
+ entry_id: z.string().uuid(),
4
+ resolution: z.enum(["keep_local", "keep_cloud", "keep_both"]),
5
+ });
1
6
  function isHybridStore(store) {
2
7
  return "getSyncState" in store && "resolveConflict" in store;
3
8
  }
@@ -13,23 +18,25 @@ export async function syncStatus(store) {
13
18
  }
14
19
  export async function resolveConflict(store, args) {
15
20
  if (!isHybridStore(store)) {
16
- return { error: "Sync conflict resolution requires hybrid mode. Use --sync flag with --cloud to enable." };
17
- }
18
- const entryId = args.entry_id;
19
- const resolution = args.resolution;
20
- if (!entryId) {
21
- return { error: "entry_id is required" };
21
+ return {
22
+ error: "Sync conflict resolution requires hybrid mode. Use --sync flag with --cloud to enable.",
23
+ };
22
24
  }
23
- const validResolutions = ["keep_local", "keep_cloud", "keep_both"];
24
- if (!validResolutions.includes(resolution)) {
25
- return { error: `Invalid resolution. Must be one of: ${validResolutions.join(", ")}` };
25
+ const parsed = resolveConflictSchema.safeParse(args);
26
+ if (!parsed.success) {
27
+ return {
28
+ error: `Invalid input: ${parsed.error.issues.map((i) => i.message).join(", ")}`,
29
+ };
26
30
  }
31
+ const { entry_id: entryId, resolution } = parsed.data;
27
32
  const result = await store.resolveConflict(entryId, resolution);
28
33
  return result;
29
34
  }
30
35
  export async function triggerSync(store) {
31
36
  if (!isHybridStore(store)) {
32
- return { error: "Sync requires hybrid mode. Use --sync flag with --cloud to enable." };
37
+ return {
38
+ error: "Sync requires hybrid mode. Use --sync flag with --cloud to enable.",
39
+ };
33
40
  }
34
41
  const result = await store.runSync();
35
42
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/tools/sync.ts"],"names":[],"mappings":"AAGA,SAAS,aAAa,CAAC,KAAmB;IACxC,OAAO,cAAc,IAAI,KAAK,IAAI,iBAAiB,IAAI,KAAK,CAAC;AAC/D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,KAAmB;IAEnB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,YAAY,EAAE,KAAK;YACnB,OAAO,EAAE,oEAAoE;SAC9E,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC,YAAY,EAAE,CAAC;AAC9B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,KAAmB,EACnB,IAA6B;IAE7B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,KAAK,EAAE,wFAAwF,EAAE,CAAC;IAC7G,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,QAAkB,CAAC;IACxC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAoB,CAAC;IAE7C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC;IAC3C,CAAC;IAED,MAAM,gBAAgB,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;IACnE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3C,OAAO,EAAE,KAAK,EAAE,uCAAuC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;IACzF,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,eAAe,CACxC,OAAO,EACP,UAAuD,CACxD,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,KAAmB;IAEnB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,KAAK,EAAE,oEAAoE,EAAE,CAAC;IACzF,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;IACrC,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/tools/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IAC3B,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;CAC9D,CAAC,CAAC;AAEH,SAAS,aAAa,CAAC,KAAmB;IACxC,OAAO,cAAc,IAAI,KAAK,IAAI,iBAAiB,IAAI,KAAK,CAAC;AAC/D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,KAAmB;IAClD,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,YAAY,EAAE,KAAK;YACnB,OAAO,EACL,oEAAoE;SACvE,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC,YAAY,EAAE,CAAC;AAC9B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,KAAmB,EACnB,IAA6B;IAE7B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO;YACL,KAAK,EACH,wFAAwF;SAC3F,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,qBAAqB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACrD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO;YACL,KAAK,EAAE,kBAAkB,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;SAChF,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;IAEtD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,eAAe,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAEhE,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,KAAmB;IACnD,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO;YACL,KAAK,EACH,oEAAoE;SACvE,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;IACrC,OAAO,MAAM,CAAC;AAChB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@brain-protocol/mcp",
3
- "version": "0.6.3",
3
+ "version": "0.7.1",
4
4
  "mcpName": "io.github.seritalien/brain-protocol",
5
5
  "description": "Verifiable Memory-as-a-Service for AI Agents — MCP server with local SQLite or cloud mode",
6
6
  "type": "module",