bikky 0.3.13 → 0.4.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.
Files changed (64) hide show
  1. package/CONTRIBUTING.md +206 -0
  2. package/README.md +64 -20
  3. package/dist/config.d.ts +49 -1
  4. package/dist/config.d.ts.map +1 -1
  5. package/dist/config.js +125 -4
  6. package/dist/config.js.map +1 -1
  7. package/dist/daemon/loop.d.ts.map +1 -1
  8. package/dist/daemon/loop.js +15 -1
  9. package/dist/daemon/loop.js.map +1 -1
  10. package/dist/daemon/qdrant.d.ts.map +1 -1
  11. package/dist/daemon/qdrant.js +0 -1
  12. package/dist/daemon/qdrant.js.map +1 -1
  13. package/dist/lib/qdrant-pool.d.ts +57 -0
  14. package/dist/lib/qdrant-pool.d.ts.map +1 -0
  15. package/dist/lib/qdrant-pool.js +104 -0
  16. package/dist/lib/qdrant-pool.js.map +1 -0
  17. package/dist/mcp/api.d.ts +56 -19
  18. package/dist/mcp/api.d.ts.map +1 -1
  19. package/dist/mcp/api.js +133 -72
  20. package/dist/mcp/api.js.map +1 -1
  21. package/dist/mcp/helpers.d.ts +0 -1
  22. package/dist/mcp/helpers.d.ts.map +1 -1
  23. package/dist/mcp/helpers.js +2 -15
  24. package/dist/mcp/helpers.js.map +1 -1
  25. package/dist/mcp/helpers.test.js +3 -21
  26. package/dist/mcp/helpers.test.js.map +1 -1
  27. package/dist/mcp/index.d.ts.map +1 -1
  28. package/dist/mcp/index.js +29 -14
  29. package/dist/mcp/index.js.map +1 -1
  30. package/dist/mcp/tools.d.ts +0 -7
  31. package/dist/mcp/tools.d.ts.map +1 -1
  32. package/dist/mcp/tools.js +337 -219
  33. package/dist/mcp/tools.js.map +1 -1
  34. package/dist/mcp/types.d.ts +0 -3
  35. package/dist/mcp/types.d.ts.map +1 -1
  36. package/dist/routing.d.ts +53 -0
  37. package/dist/routing.d.ts.map +1 -0
  38. package/dist/routing.js +129 -0
  39. package/dist/routing.js.map +1 -0
  40. package/dist/routing.test.d.ts +2 -0
  41. package/dist/routing.test.d.ts.map +1 -0
  42. package/dist/routing.test.js +79 -0
  43. package/dist/routing.test.js.map +1 -0
  44. package/docs/config/fully-hosted.md +57 -0
  45. package/docs/config/hosted-models.md +50 -0
  46. package/docs/config/hosted-qdrant-local-models.md +39 -0
  47. package/docs/config/local.md +34 -0
  48. package/docs/configuration.md +374 -0
  49. package/docs/screenshots/dashboard.png +0 -0
  50. package/docs/screenshots/graph.png +0 -0
  51. package/docs/screenshots/memory.png +0 -0
  52. package/package.json +6 -3
  53. package/dist/mcp/api.test.d.ts +0 -6
  54. package/dist/mcp/api.test.d.ts.map +0 -1
  55. package/dist/mcp/api.test.js +0 -130
  56. package/dist/mcp/api.test.js.map +0 -1
  57. package/dist/mcp/tools.integration.itest.d.ts +0 -23
  58. package/dist/mcp/tools.integration.itest.d.ts.map +0 -1
  59. package/dist/mcp/tools.integration.itest.js +0 -171
  60. package/dist/mcp/tools.integration.itest.js.map +0 -1
  61. package/dist/mcp/tools.test.d.ts +0 -16
  62. package/dist/mcp/tools.test.d.ts.map +0 -1
  63. package/dist/mcp/tools.test.js +0 -908
  64. package/dist/mcp/tools.test.js.map +0 -1
package/dist/mcp/index.js CHANGED
@@ -14,18 +14,12 @@
14
14
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
15
15
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
16
16
  import { QDRANT_INDEXES } from "./taxonomy.js";
17
- import { log, setQdrantUrl, setQdrantApiKey, setReady, setCollection, setSetupError, ensureCollection, initEmbedding, } from "./api.js";
17
+ import { log, rebuildPool, hasPool, setReady, setSetupError, ensureCollectionsAll, initEmbedding, } from "./api.js";
18
18
  import { registerTools } from "./tools.js";
19
- import { loadConfig } from "../config.js";
19
+ import { loadConfig, getEffectiveDestinations } from "../config.js";
20
20
  export async function startMcpServer() {
21
21
  log("INFO", `Starting bikky MCP server (PID ${process.pid})`);
22
22
  const cfg = loadConfig();
23
- // Resolve credentials from config (which already merges env vars)
24
- const qUrl = cfg.qdrant_url?.replace(/\/+$/, "") || null;
25
- const qKey = cfg.qdrant_api_key || null;
26
- setQdrantUrl(qUrl);
27
- setQdrantApiKey(qKey);
28
- setCollection(cfg.collection);
29
23
  // Initialize embedding provider — wrapped so an unknown provider name or
30
24
  // misconfiguration produces a setup_required status instead of crashing the
31
25
  // MCP stdio transport. The server always comes up; tools degrade via
@@ -50,20 +44,41 @@ export async function startMcpServer() {
50
44
  log("ERROR", `Embedding init failed: ${msg}`);
51
45
  // Continue — server will report setup_required for memory tools.
52
46
  }
53
- if (qUrl) {
47
+ // Build the destination pool from config. Each destination is its own
48
+ // QdrantClient; missing destinations leave the server in setup_required.
49
+ try {
50
+ rebuildPool();
51
+ }
52
+ catch (e) {
53
+ const msg = e instanceof Error ? e.message : String(e);
54
+ setSetupError(`Destination pool init failed: ${msg}`);
55
+ log("ERROR", `Destination pool init failed: ${msg}`);
56
+ }
57
+ if (hasPool()) {
54
58
  try {
55
- await ensureCollection(QDRANT_INDEXES);
56
- setReady(true);
57
- log("INFO", `Memory system ready ✓ (Qdrant ${qKey ? "with" : "without"} api-key auth)`);
59
+ const results = await ensureCollectionsAll(QDRANT_INDEXES);
60
+ const ok = results.filter((r) => r.ok);
61
+ const failed = results.filter((r) => !r.ok);
62
+ for (const r of ok) {
63
+ log("INFO", `Destination '${r.destination.name}' ready ✓ (${r.destination.collection})`);
64
+ }
65
+ for (const r of failed) {
66
+ log("ERROR", `Destination '${r.destination.name}' failed: ${r.error}`);
67
+ }
68
+ setReady(ok.length > 0);
69
+ if (failed.length > 0 && ok.length === 0) {
70
+ setSetupError(`All destinations failed to initialize. First error: ${failed[0]?.error ?? "(none)"}`);
71
+ }
58
72
  }
59
73
  catch (e) {
60
74
  const msg = e instanceof Error ? e.message : String(e);
61
75
  setSetupError(`Qdrant initialization failed: ${msg}`);
62
- log("ERROR", `Failed to initialize collection: ${msg}`);
76
+ log("ERROR", `Failed to initialize collections: ${msg}`);
63
77
  }
64
78
  }
65
79
  else {
66
- log("INFO", "Memory not configured — missing: qdrant-url. Use get_setup_status + configure_credentials.");
80
+ const dests = getEffectiveDestinations(cfg);
81
+ log("INFO", `Memory not configured — no destinations (got ${dests.length}). Use get_setup_status + configure_credentials.`);
67
82
  }
68
83
  const mcp = new McpServer({
69
84
  name: "bikky",
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"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"}
@@ -2,12 +2,5 @@
2
2
  * MCP tool definitions for memory.
3
3
  */
4
4
  import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
5
- interface WorkspaceScope {
6
- workspaceId?: string;
7
- actorId?: string;
8
- includeLegacy: boolean;
9
- }
10
- export declare function resolveScope(workspaceId?: string, includeLegacyWorkspace?: boolean, actorId?: string): WorkspaceScope;
11
5
  export declare function registerTools(mcp: McpServer): void;
12
- export {};
13
6
  //# sourceMappingURL=tools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA4FzE,UAAU,cAAc;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,wBAAgB,YAAY,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,sBAAsB,UAAQ,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,cAAc,CAcnH;AAwJD,wBAAgB,aAAa,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,CA8/ClD"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAsSzE,wBAAgB,aAAa,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,CAujDlD"}