@memtensor/memos-local-openclaw-plugin 1.0.6-beta.9 → 1.0.7

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 (224) hide show
  1. package/openclaw.plugin.json +1 -1
  2. package/package.json +3 -5
  3. package/prebuilds/darwin-arm64/better_sqlite3.node +0 -0
  4. package/prebuilds/darwin-x64/better_sqlite3.node +0 -0
  5. package/prebuilds/linux-x64/better_sqlite3.node +0 -0
  6. package/prebuilds/win32-x64/better_sqlite3.node +0 -0
  7. package/scripts/postinstall.cjs +44 -44
  8. package/skill/memos-memory-guide/SKILL.md +20 -0
  9. package/src/update-check.ts +2 -7
  10. package/src/viewer/html.ts +4 -4
  11. package/src/viewer/server.ts +12 -2
  12. package/telemetry.credentials.json +5 -0
  13. package/dist/capture/index.d.ts +0 -26
  14. package/dist/capture/index.d.ts.map +0 -1
  15. package/dist/capture/index.js +0 -283
  16. package/dist/capture/index.js.map +0 -1
  17. package/dist/client/connector.d.ts +0 -34
  18. package/dist/client/connector.d.ts.map +0 -1
  19. package/dist/client/connector.js +0 -381
  20. package/dist/client/connector.js.map +0 -1
  21. package/dist/client/hub.d.ts +0 -61
  22. package/dist/client/hub.d.ts.map +0 -1
  23. package/dist/client/hub.js +0 -174
  24. package/dist/client/hub.js.map +0 -1
  25. package/dist/client/skill-sync.d.ts +0 -36
  26. package/dist/client/skill-sync.d.ts.map +0 -1
  27. package/dist/client/skill-sync.js +0 -226
  28. package/dist/client/skill-sync.js.map +0 -1
  29. package/dist/config.d.ts +0 -5
  30. package/dist/config.d.ts.map +0 -1
  31. package/dist/config.js +0 -171
  32. package/dist/config.js.map +0 -1
  33. package/dist/embedding/index.d.ts +0 -14
  34. package/dist/embedding/index.d.ts.map +0 -1
  35. package/dist/embedding/index.js +0 -105
  36. package/dist/embedding/index.js.map +0 -1
  37. package/dist/embedding/local.d.ts +0 -3
  38. package/dist/embedding/local.d.ts.map +0 -1
  39. package/dist/embedding/local.js +0 -66
  40. package/dist/embedding/local.js.map +0 -1
  41. package/dist/embedding/providers/cohere.d.ts +0 -4
  42. package/dist/embedding/providers/cohere.d.ts.map +0 -1
  43. package/dist/embedding/providers/cohere.js +0 -57
  44. package/dist/embedding/providers/cohere.js.map +0 -1
  45. package/dist/embedding/providers/gemini.d.ts +0 -3
  46. package/dist/embedding/providers/gemini.d.ts.map +0 -1
  47. package/dist/embedding/providers/gemini.js +0 -31
  48. package/dist/embedding/providers/gemini.js.map +0 -1
  49. package/dist/embedding/providers/mistral.d.ts +0 -3
  50. package/dist/embedding/providers/mistral.d.ts.map +0 -1
  51. package/dist/embedding/providers/mistral.js +0 -25
  52. package/dist/embedding/providers/mistral.js.map +0 -1
  53. package/dist/embedding/providers/openai.d.ts +0 -3
  54. package/dist/embedding/providers/openai.d.ts.map +0 -1
  55. package/dist/embedding/providers/openai.js +0 -35
  56. package/dist/embedding/providers/openai.js.map +0 -1
  57. package/dist/embedding/providers/voyage.d.ts +0 -3
  58. package/dist/embedding/providers/voyage.d.ts.map +0 -1
  59. package/dist/embedding/providers/voyage.js +0 -25
  60. package/dist/embedding/providers/voyage.js.map +0 -1
  61. package/dist/hub/auth.d.ts +0 -19
  62. package/dist/hub/auth.d.ts.map +0 -1
  63. package/dist/hub/auth.js +0 -70
  64. package/dist/hub/auth.js.map +0 -1
  65. package/dist/hub/server.d.ts +0 -52
  66. package/dist/hub/server.d.ts.map +0 -1
  67. package/dist/hub/server.js +0 -1197
  68. package/dist/hub/server.js.map +0 -1
  69. package/dist/hub/user-manager.d.ts +0 -40
  70. package/dist/hub/user-manager.d.ts.map +0 -1
  71. package/dist/hub/user-manager.js +0 -153
  72. package/dist/hub/user-manager.js.map +0 -1
  73. package/dist/index.d.ts +0 -46
  74. package/dist/index.d.ts.map +0 -1
  75. package/dist/index.js +0 -82
  76. package/dist/index.js.map +0 -1
  77. package/dist/ingest/chunker.d.ts +0 -15
  78. package/dist/ingest/chunker.d.ts.map +0 -1
  79. package/dist/ingest/chunker.js +0 -192
  80. package/dist/ingest/chunker.js.map +0 -1
  81. package/dist/ingest/dedup.d.ts +0 -19
  82. package/dist/ingest/dedup.d.ts.map +0 -1
  83. package/dist/ingest/dedup.js +0 -50
  84. package/dist/ingest/dedup.js.map +0 -1
  85. package/dist/ingest/providers/anthropic.d.ts +0 -21
  86. package/dist/ingest/providers/anthropic.d.ts.map +0 -1
  87. package/dist/ingest/providers/anthropic.js +0 -314
  88. package/dist/ingest/providers/anthropic.js.map +0 -1
  89. package/dist/ingest/providers/bedrock.d.ts +0 -21
  90. package/dist/ingest/providers/bedrock.d.ts.map +0 -1
  91. package/dist/ingest/providers/bedrock.js +0 -313
  92. package/dist/ingest/providers/bedrock.js.map +0 -1
  93. package/dist/ingest/providers/gemini.d.ts +0 -21
  94. package/dist/ingest/providers/gemini.d.ts.map +0 -1
  95. package/dist/ingest/providers/gemini.js +0 -298
  96. package/dist/ingest/providers/gemini.js.map +0 -1
  97. package/dist/ingest/providers/index.d.ts +0 -68
  98. package/dist/ingest/providers/index.d.ts.map +0 -1
  99. package/dist/ingest/providers/index.js +0 -611
  100. package/dist/ingest/providers/index.js.map +0 -1
  101. package/dist/ingest/providers/openai.d.ts +0 -30
  102. package/dist/ingest/providers/openai.d.ts.map +0 -1
  103. package/dist/ingest/providers/openai.js +0 -387
  104. package/dist/ingest/providers/openai.js.map +0 -1
  105. package/dist/ingest/task-processor.d.ts +0 -91
  106. package/dist/ingest/task-processor.d.ts.map +0 -1
  107. package/dist/ingest/task-processor.js +0 -478
  108. package/dist/ingest/task-processor.js.map +0 -1
  109. package/dist/ingest/worker.d.ts +0 -23
  110. package/dist/ingest/worker.d.ts.map +0 -1
  111. package/dist/ingest/worker.js +0 -255
  112. package/dist/ingest/worker.js.map +0 -1
  113. package/dist/openclaw-api.d.ts +0 -53
  114. package/dist/openclaw-api.d.ts.map +0 -1
  115. package/dist/openclaw-api.js +0 -189
  116. package/dist/openclaw-api.js.map +0 -1
  117. package/dist/recall/engine.d.ts +0 -28
  118. package/dist/recall/engine.d.ts.map +0 -1
  119. package/dist/recall/engine.js +0 -343
  120. package/dist/recall/engine.js.map +0 -1
  121. package/dist/recall/mmr.d.ts +0 -17
  122. package/dist/recall/mmr.d.ts.map +0 -1
  123. package/dist/recall/mmr.js +0 -53
  124. package/dist/recall/mmr.js.map +0 -1
  125. package/dist/recall/recency.d.ts +0 -20
  126. package/dist/recall/recency.d.ts.map +0 -1
  127. package/dist/recall/recency.js +0 -26
  128. package/dist/recall/recency.js.map +0 -1
  129. package/dist/recall/rrf.d.ts +0 -16
  130. package/dist/recall/rrf.d.ts.map +0 -1
  131. package/dist/recall/rrf.js +0 -15
  132. package/dist/recall/rrf.js.map +0 -1
  133. package/dist/shared/llm-call.d.ts +0 -30
  134. package/dist/shared/llm-call.d.ts.map +0 -1
  135. package/dist/shared/llm-call.js +0 -253
  136. package/dist/shared/llm-call.js.map +0 -1
  137. package/dist/sharing/types.contract.d.ts +0 -2
  138. package/dist/sharing/types.contract.d.ts.map +0 -1
  139. package/dist/sharing/types.contract.js +0 -3
  140. package/dist/sharing/types.contract.js.map +0 -1
  141. package/dist/sharing/types.d.ts +0 -80
  142. package/dist/sharing/types.d.ts.map +0 -1
  143. package/dist/sharing/types.js +0 -3
  144. package/dist/sharing/types.js.map +0 -1
  145. package/dist/skill/bundled-memory-guide.d.ts +0 -2
  146. package/dist/skill/bundled-memory-guide.d.ts.map +0 -1
  147. package/dist/skill/bundled-memory-guide.js +0 -45
  148. package/dist/skill/bundled-memory-guide.js.map +0 -1
  149. package/dist/skill/evaluator.d.ts +0 -28
  150. package/dist/skill/evaluator.d.ts.map +0 -1
  151. package/dist/skill/evaluator.js +0 -169
  152. package/dist/skill/evaluator.js.map +0 -1
  153. package/dist/skill/evolver.d.ts +0 -48
  154. package/dist/skill/evolver.d.ts.map +0 -1
  155. package/dist/skill/evolver.js +0 -406
  156. package/dist/skill/evolver.js.map +0 -1
  157. package/dist/skill/generator.d.ts +0 -26
  158. package/dist/skill/generator.d.ts.map +0 -1
  159. package/dist/skill/generator.js +0 -521
  160. package/dist/skill/generator.js.map +0 -1
  161. package/dist/skill/installer.d.ts +0 -42
  162. package/dist/skill/installer.d.ts.map +0 -1
  163. package/dist/skill/installer.js +0 -165
  164. package/dist/skill/installer.js.map +0 -1
  165. package/dist/skill/upgrader.d.ts +0 -19
  166. package/dist/skill/upgrader.d.ts.map +0 -1
  167. package/dist/skill/upgrader.js +0 -366
  168. package/dist/skill/upgrader.js.map +0 -1
  169. package/dist/skill/validator.d.ts +0 -30
  170. package/dist/skill/validator.d.ts.map +0 -1
  171. package/dist/skill/validator.js +0 -272
  172. package/dist/skill/validator.js.map +0 -1
  173. package/dist/storage/ensure-binding.d.ts +0 -12
  174. package/dist/storage/ensure-binding.d.ts.map +0 -1
  175. package/dist/storage/ensure-binding.js +0 -53
  176. package/dist/storage/ensure-binding.js.map +0 -1
  177. package/dist/storage/sqlite.d.ts +0 -649
  178. package/dist/storage/sqlite.d.ts.map +0 -1
  179. package/dist/storage/sqlite.js +0 -2657
  180. package/dist/storage/sqlite.js.map +0 -1
  181. package/dist/storage/vector.d.ts +0 -12
  182. package/dist/storage/vector.d.ts.map +0 -1
  183. package/dist/storage/vector.js +0 -34
  184. package/dist/storage/vector.js.map +0 -1
  185. package/dist/telemetry.d.ts +0 -47
  186. package/dist/telemetry.d.ts.map +0 -1
  187. package/dist/telemetry.js +0 -312
  188. package/dist/telemetry.js.map +0 -1
  189. package/dist/tools/index.d.ts +0 -5
  190. package/dist/tools/index.d.ts.map +0 -1
  191. package/dist/tools/index.js +0 -12
  192. package/dist/tools/index.js.map +0 -1
  193. package/dist/tools/memory-get.d.ts +0 -4
  194. package/dist/tools/memory-get.d.ts.map +0 -1
  195. package/dist/tools/memory-get.js +0 -64
  196. package/dist/tools/memory-get.js.map +0 -1
  197. package/dist/tools/memory-search.d.ts +0 -7
  198. package/dist/tools/memory-search.d.ts.map +0 -1
  199. package/dist/tools/memory-search.js +0 -84
  200. package/dist/tools/memory-search.js.map +0 -1
  201. package/dist/tools/memory-timeline.d.ts +0 -4
  202. package/dist/tools/memory-timeline.d.ts.map +0 -1
  203. package/dist/tools/memory-timeline.js +0 -73
  204. package/dist/tools/memory-timeline.js.map +0 -1
  205. package/dist/tools/network-memory-detail.d.ts +0 -4
  206. package/dist/tools/network-memory-detail.d.ts.map +0 -1
  207. package/dist/tools/network-memory-detail.js +0 -34
  208. package/dist/tools/network-memory-detail.js.map +0 -1
  209. package/dist/types.d.ts +0 -330
  210. package/dist/types.d.ts.map +0 -1
  211. package/dist/types.js +0 -38
  212. package/dist/types.js.map +0 -1
  213. package/dist/update-check.d.ts +0 -21
  214. package/dist/update-check.d.ts.map +0 -1
  215. package/dist/update-check.js +0 -110
  216. package/dist/update-check.js.map +0 -1
  217. package/dist/viewer/html.d.ts +0 -2
  218. package/dist/viewer/html.d.ts.map +0 -1
  219. package/dist/viewer/html.js +0 -9168
  220. package/dist/viewer/html.js.map +0 -1
  221. package/dist/viewer/server.d.ts +0 -205
  222. package/dist/viewer/server.d.ts.map +0 -1
  223. package/dist/viewer/server.js +0 -4876
  224. package/dist/viewer/server.js.map +0 -1
@@ -1,66 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.embedLocal = embedLocal;
37
- const types_1 = require("../types");
38
- let extractorPromise = null;
39
- function getExtractor(log) {
40
- if (extractorPromise)
41
- return extractorPromise;
42
- extractorPromise = (async () => {
43
- log.info("Loading local embedding model (first call may download ~23MB)...");
44
- const { pipeline } = await Promise.resolve().then(() => __importStar(require("@huggingface/transformers")));
45
- const ext = await pipeline("feature-extraction", types_1.DEFAULTS.localEmbeddingModel, {
46
- dtype: "q8",
47
- device: "cpu",
48
- });
49
- log.info("Local embedding model ready");
50
- return ext;
51
- })().catch((err) => {
52
- extractorPromise = null;
53
- throw err;
54
- });
55
- return extractorPromise;
56
- }
57
- async function embedLocal(texts, log) {
58
- const ext = await getExtractor(log);
59
- const results = [];
60
- for (const text of texts) {
61
- const output = await ext(text, { pooling: "mean", normalize: true });
62
- results.push(Array.from(output.data).slice(0, types_1.DEFAULTS.localEmbeddingDimensions));
63
- }
64
- return results;
65
- }
66
- //# sourceMappingURL=local.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"local.js","sourceRoot":"","sources":["../../src/embedding/local.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,gCAUC;AAlCD,oCAAoC;AAEpC,IAAI,gBAAgB,GAAwB,IAAI,CAAC;AAEjD,SAAS,YAAY,CAAC,GAAW;IAC/B,IAAI,gBAAgB;QAAE,OAAO,gBAAgB,CAAC;IAE9C,gBAAgB,GAAG,CAAC,KAAK,IAAI,EAAE;QAC7B,GAAG,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;QAC7E,MAAM,EAAE,QAAQ,EAAE,GAAG,wDAAa,2BAA2B,GAAC,CAAC;QAC/D,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,oBAAoB,EAAE,gBAAQ,CAAC,mBAAmB,EAAE;YAC7E,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QACH,GAAG,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QACxC,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACjB,gBAAgB,GAAG,IAAI,CAAC;QACxB,MAAM,GAAG,CAAC;IACZ,CAAC,CAAC,CAAC;IAEH,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAEM,KAAK,UAAU,UAAU,CAAC,KAAe,EAAE,GAAW;IAC3D,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,OAAO,GAAe,EAAE,CAAC;IAE/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACrE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAoB,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAQ,CAAC,wBAAwB,CAAC,CAAC,CAAC;IACpG,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1,4 +0,0 @@
1
- import type { EmbeddingConfig, Logger } from "../../types";
2
- export declare function embedCohere(texts: string[], cfg: EmbeddingConfig, log: Logger): Promise<number[][]>;
3
- export declare function embedCohereQuery(text: string, cfg: EmbeddingConfig, log: Logger): Promise<number[]>;
4
- //# sourceMappingURL=cohere.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cohere.d.ts","sourceRoot":"","sources":["../../../src/embedding/providers/cohere.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE3D,wBAAsB,WAAW,CAC/B,KAAK,EAAE,MAAM,EAAE,EACf,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CA4BrB;AAED,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,MAAM,EAAE,CAAC,CA4BnB"}
@@ -1,57 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.embedCohere = embedCohere;
4
- exports.embedCohereQuery = embedCohereQuery;
5
- async function embedCohere(texts, cfg, log) {
6
- const endpoint = cfg.endpoint ?? "https://api.cohere.ai/v1/embed";
7
- const model = cfg.model ?? "embed-english-v3.0";
8
- const headers = {
9
- "Content-Type": "application/json",
10
- Authorization: `Bearer ${cfg.apiKey}`,
11
- ...cfg.headers,
12
- };
13
- const resp = await fetch(endpoint, {
14
- method: "POST",
15
- headers,
16
- body: JSON.stringify({
17
- texts,
18
- model,
19
- input_type: "search_document",
20
- truncate: "END",
21
- }),
22
- signal: AbortSignal.timeout(cfg.timeoutMs ?? 30_000),
23
- });
24
- if (!resp.ok) {
25
- const body = await resp.text();
26
- throw new Error(`Cohere embedding failed (${resp.status}): ${body}`);
27
- }
28
- const json = (await resp.json());
29
- return json.embeddings;
30
- }
31
- async function embedCohereQuery(text, cfg, log) {
32
- const endpoint = cfg.endpoint ?? "https://api.cohere.ai/v1/embed";
33
- const model = cfg.model ?? "embed-english-v3.0";
34
- const headers = {
35
- "Content-Type": "application/json",
36
- Authorization: `Bearer ${cfg.apiKey}`,
37
- ...cfg.headers,
38
- };
39
- const resp = await fetch(endpoint, {
40
- method: "POST",
41
- headers,
42
- body: JSON.stringify({
43
- texts: [text],
44
- model,
45
- input_type: "search_query",
46
- truncate: "END",
47
- }),
48
- signal: AbortSignal.timeout(cfg.timeoutMs ?? 30_000),
49
- });
50
- if (!resp.ok) {
51
- const body = await resp.text();
52
- throw new Error(`Cohere query embedding failed (${resp.status}): ${body}`);
53
- }
54
- const json = (await resp.json());
55
- return json.embeddings[0];
56
- }
57
- //# sourceMappingURL=cohere.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cohere.js","sourceRoot":"","sources":["../../../src/embedding/providers/cohere.ts"],"names":[],"mappings":";;AAEA,kCAgCC;AAED,4CAgCC;AAlEM,KAAK,UAAU,WAAW,CAC/B,KAAe,EACf,GAAoB,EACpB,GAAW;IAEX,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,gCAAgC,CAAC;IAClE,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,oBAAoB,CAAC;IAChD,MAAM,OAAO,GAA2B;QACtC,cAAc,EAAE,kBAAkB;QAClC,aAAa,EAAE,UAAU,GAAG,CAAC,MAAM,EAAE;QACrC,GAAG,GAAG,CAAC,OAAO;KACf,CAAC;IAEF,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE;QACjC,MAAM,EAAE,MAAM;QACd,OAAO;QACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,KAAK;YACL,KAAK;YACL,UAAU,EAAE,iBAAiB;YAC7B,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,MAAM,CAAC;KACrD,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACb,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,CAAC,MAAM,MAAM,IAAI,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAA+B,CAAC;IAC/D,OAAO,IAAI,CAAC,UAAU,CAAC;AACzB,CAAC;AAEM,KAAK,UAAU,gBAAgB,CACpC,IAAY,EACZ,GAAoB,EACpB,GAAW;IAEX,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,gCAAgC,CAAC;IAClE,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,oBAAoB,CAAC;IAChD,MAAM,OAAO,GAA2B;QACtC,cAAc,EAAE,kBAAkB;QAClC,aAAa,EAAE,UAAU,GAAG,CAAC,MAAM,EAAE;QACrC,GAAG,GAAG,CAAC,OAAO;KACf,CAAC;IAEF,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE;QACjC,MAAM,EAAE,MAAM;QACd,OAAO;QACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,KAAK,EAAE,CAAC,IAAI,CAAC;YACb,KAAK;YACL,UAAU,EAAE,cAAc;YAC1B,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,MAAM,CAAC;KACrD,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACb,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,kCAAkC,IAAI,CAAC,MAAM,MAAM,IAAI,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAA+B,CAAC;IAC/D,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { EmbeddingConfig, Logger } from "../../types";
2
- export declare function embedGemini(texts: string[], cfg: EmbeddingConfig, log: Logger): Promise<number[][]>;
3
- //# sourceMappingURL=gemini.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../../src/embedding/providers/gemini.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE3D,wBAAsB,WAAW,CAC/B,KAAK,EAAE,MAAM,EAAE,EACf,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAkCrB"}
@@ -1,31 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.embedGemini = embedGemini;
4
- async function embedGemini(texts, cfg, log) {
5
- const model = cfg.model ?? "text-embedding-004";
6
- const endpoint = cfg.endpoint ??
7
- `https://generativelanguage.googleapis.com/v1beta/models/${model}:batchEmbedContents`;
8
- const headers = {
9
- "Content-Type": "application/json",
10
- ...cfg.headers,
11
- };
12
- const url = `${endpoint}?key=${cfg.apiKey}`;
13
- const resp = await fetch(url, {
14
- method: "POST",
15
- headers,
16
- body: JSON.stringify({
17
- requests: texts.map((text) => ({
18
- model: `models/${model}`,
19
- content: { parts: [{ text }] },
20
- })),
21
- }),
22
- signal: AbortSignal.timeout(cfg.timeoutMs ?? 30_000),
23
- });
24
- if (!resp.ok) {
25
- const body = await resp.text();
26
- throw new Error(`Gemini embedding failed (${resp.status}): ${body}`);
27
- }
28
- const json = (await resp.json());
29
- return json.embeddings.map((e) => e.values);
30
- }
31
- //# sourceMappingURL=gemini.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../../src/embedding/providers/gemini.ts"],"names":[],"mappings":";;AAEA,kCAsCC;AAtCM,KAAK,UAAU,WAAW,CAC/B,KAAe,EACf,GAAoB,EACpB,GAAW;IAEX,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,oBAAoB,CAAC;IAChD,MAAM,QAAQ,GACZ,GAAG,CAAC,QAAQ;QACZ,2DAA2D,KAAK,qBAAqB,CAAC;IAExF,MAAM,OAAO,GAA2B;QACtC,cAAc,EAAE,kBAAkB;QAClC,GAAG,GAAG,CAAC,OAAO;KACf,CAAC;IAEF,MAAM,GAAG,GAAG,GAAG,QAAQ,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC;IAE5C,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAC5B,MAAM,EAAE,MAAM;QACd,OAAO;QACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC7B,KAAK,EAAE,UAAU,KAAK,EAAE;gBACxB,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE;aAC/B,CAAC,CAAC;SACJ,CAAC;QACF,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,MAAM,CAAC;KACrD,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACb,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,CAAC,MAAM,MAAM,IAAI,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAE9B,CAAC;IACF,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAC9C,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { EmbeddingConfig, Logger } from "../../types";
2
- export declare function embedMistral(texts: string[], cfg: EmbeddingConfig, log: Logger): Promise<number[][]>;
3
- //# sourceMappingURL=mistral.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mistral.d.ts","sourceRoot":"","sources":["../../../src/embedding/providers/mistral.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE3D,wBAAsB,YAAY,CAChC,KAAK,EAAE,MAAM,EAAE,EACf,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAyBrB"}
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.embedMistral = embedMistral;
4
- async function embedMistral(texts, cfg, log) {
5
- const endpoint = cfg.endpoint ?? "https://api.mistral.ai/v1/embeddings";
6
- const model = cfg.model ?? "mistral-embed";
7
- const headers = {
8
- "Content-Type": "application/json",
9
- Authorization: `Bearer ${cfg.apiKey}`,
10
- ...cfg.headers,
11
- };
12
- const resp = await fetch(endpoint, {
13
- method: "POST",
14
- headers,
15
- body: JSON.stringify({ input: texts, model, encoding_format: "float" }),
16
- signal: AbortSignal.timeout(cfg.timeoutMs ?? 30_000),
17
- });
18
- if (!resp.ok) {
19
- const body = await resp.text();
20
- throw new Error(`Mistral embedding failed (${resp.status}): ${body}`);
21
- }
22
- const json = (await resp.json());
23
- return json.data.map((d) => d.embedding);
24
- }
25
- //# sourceMappingURL=mistral.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mistral.js","sourceRoot":"","sources":["../../../src/embedding/providers/mistral.ts"],"names":[],"mappings":";;AAEA,oCA6BC;AA7BM,KAAK,UAAU,YAAY,CAChC,KAAe,EACf,GAAoB,EACpB,GAAW;IAEX,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,sCAAsC,CAAC;IACxE,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,eAAe,CAAC;IAC3C,MAAM,OAAO,GAA2B;QACtC,cAAc,EAAE,kBAAkB;QAClC,aAAa,EAAE,UAAU,GAAG,CAAC,MAAM,EAAE;QACrC,GAAG,GAAG,CAAC,OAAO;KACf,CAAC;IAEF,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE;QACjC,MAAM,EAAE,MAAM;QACd,OAAO;QACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC;QACvE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,MAAM,CAAC;KACrD,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACb,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,6BAA6B,IAAI,CAAC,MAAM,MAAM,IAAI,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAE9B,CAAC;IACF,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAC3C,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { EmbeddingConfig, Logger } from "../../types";
2
- export declare function embedOpenAI(texts: string[], cfg: EmbeddingConfig, log: Logger): Promise<number[][]>;
3
- //# sourceMappingURL=openai.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../../src/embedding/providers/openai.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE3D,wBAAsB,WAAW,CAC/B,KAAK,EAAE,MAAM,EAAE,EACf,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAyBrB"}
@@ -1,35 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.embedOpenAI = embedOpenAI;
4
- async function embedOpenAI(texts, cfg, log) {
5
- const endpoint = normalizeEmbeddingEndpoint(cfg.endpoint ?? "https://api.openai.com/v1/embeddings");
6
- const model = cfg.model ?? "text-embedding-3-small";
7
- const headers = {
8
- "Content-Type": "application/json",
9
- Authorization: `Bearer ${cfg.apiKey}`,
10
- ...cfg.headers,
11
- };
12
- const resp = await fetch(endpoint, {
13
- method: "POST",
14
- headers,
15
- body: JSON.stringify({ input: texts, model }),
16
- signal: AbortSignal.timeout(cfg.timeoutMs ?? 30_000),
17
- });
18
- if (!resp.ok) {
19
- const body = await resp.text();
20
- throw new Error(`OpenAI embedding failed (${resp.status}): ${body}`);
21
- }
22
- const json = (await resp.json());
23
- return json.data.map((d) => d.embedding);
24
- }
25
- /**
26
- * Normalize endpoint: if user provides a base_url (e.g. https://host/v1)
27
- * without the /embeddings suffix, append it automatically.
28
- */
29
- function normalizeEmbeddingEndpoint(url) {
30
- const stripped = url.replace(/\/+$/, "");
31
- if (stripped.endsWith("/embeddings"))
32
- return stripped;
33
- return `${stripped}/embeddings`;
34
- }
35
- //# sourceMappingURL=openai.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../../src/embedding/providers/openai.ts"],"names":[],"mappings":";;AAEA,kCA6BC;AA7BM,KAAK,UAAU,WAAW,CAC/B,KAAe,EACf,GAAoB,EACpB,GAAW;IAEX,MAAM,QAAQ,GAAG,0BAA0B,CAAC,GAAG,CAAC,QAAQ,IAAI,sCAAsC,CAAC,CAAC;IACpG,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,wBAAwB,CAAC;IACpD,MAAM,OAAO,GAA2B;QACtC,cAAc,EAAE,kBAAkB;QAClC,aAAa,EAAE,UAAU,GAAG,CAAC,MAAM,EAAE;QACrC,GAAG,GAAG,CAAC,OAAO;KACf,CAAC;IAEF,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE;QACjC,MAAM,EAAE,MAAM;QACd,OAAO;QACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QAC7C,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,MAAM,CAAC;KACrD,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACb,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,CAAC,MAAM,MAAM,IAAI,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAE9B,CAAC;IACF,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAC3C,CAAC;AAED;;;GAGG;AACH,SAAS,0BAA0B,CAAC,GAAW;IAC7C,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACzC,IAAI,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC;QAAE,OAAO,QAAQ,CAAC;IACtD,OAAO,GAAG,QAAQ,aAAa,CAAC;AAClC,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { EmbeddingConfig, Logger } from "../../types";
2
- export declare function embedVoyage(texts: string[], cfg: EmbeddingConfig, log: Logger): Promise<number[][]>;
3
- //# sourceMappingURL=voyage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"voyage.d.ts","sourceRoot":"","sources":["../../../src/embedding/providers/voyage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE3D,wBAAsB,WAAW,CAC/B,KAAK,EAAE,MAAM,EAAE,EACf,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAyBrB"}
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.embedVoyage = embedVoyage;
4
- async function embedVoyage(texts, cfg, log) {
5
- const endpoint = cfg.endpoint ?? "https://api.voyageai.com/v1/embeddings";
6
- const model = cfg.model ?? "voyage-2";
7
- const headers = {
8
- "Content-Type": "application/json",
9
- Authorization: `Bearer ${cfg.apiKey}`,
10
- ...cfg.headers,
11
- };
12
- const resp = await fetch(endpoint, {
13
- method: "POST",
14
- headers,
15
- body: JSON.stringify({ input: texts, model }),
16
- signal: AbortSignal.timeout(cfg.timeoutMs ?? 30_000),
17
- });
18
- if (!resp.ok) {
19
- const body = await resp.text();
20
- throw new Error(`Voyage embedding failed (${resp.status}): ${body}`);
21
- }
22
- const json = (await resp.json());
23
- return json.data.map((d) => d.embedding);
24
- }
25
- //# sourceMappingURL=voyage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"voyage.js","sourceRoot":"","sources":["../../../src/embedding/providers/voyage.ts"],"names":[],"mappings":";;AAEA,kCA6BC;AA7BM,KAAK,UAAU,WAAW,CAC/B,KAAe,EACf,GAAoB,EACpB,GAAW;IAEX,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,wCAAwC,CAAC;IAC1E,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,UAAU,CAAC;IACtC,MAAM,OAAO,GAA2B;QACtC,cAAc,EAAE,kBAAkB;QAClC,aAAa,EAAE,UAAU,GAAG,CAAC,MAAM,EAAE;QACrC,GAAG,GAAG,CAAC,OAAO;KACf,CAAC;IAEF,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE;QACjC,MAAM,EAAE,MAAM;QACd,OAAO;QACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QAC7C,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,MAAM,CAAC;KACrD,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACb,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,CAAC,MAAM,MAAM,IAAI,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAE9B,CAAC;IACF,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAC3C,CAAC"}
@@ -1,19 +0,0 @@
1
- import type { UserRole, UserStatus } from "../sharing/types";
2
- type UserTokenPayload = {
3
- userId: string;
4
- username: string;
5
- role: UserRole;
6
- status: UserStatus;
7
- exp: number;
8
- };
9
- export declare function createTeamToken(secret: string): string;
10
- export declare function verifyTeamToken(token: string, secret: string): boolean;
11
- export declare function issueUserToken(payload: {
12
- userId: string;
13
- username: string;
14
- role: UserRole;
15
- status: UserStatus;
16
- }, secret: string, ttlMs?: number): string;
17
- export declare function verifyUserToken(token: string, secret: string): Omit<UserTokenPayload, "exp"> | null;
18
- export {};
19
- //# sourceMappingURL=auth.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/hub/auth.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE7D,KAAK,gBAAgB,GAAG;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,UAAU,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAmBF,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAItD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAWtE;AAED,wBAAgB,cAAc,CAC5B,OAAO,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,EACjF,MAAM,EAAE,MAAM,EACd,KAAK,SAAsB,GAC1B,MAAM,CAIR;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,GAAG,IAAI,CAoBnG"}
package/dist/hub/auth.js DELETED
@@ -1,70 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createTeamToken = createTeamToken;
4
- exports.verifyTeamToken = verifyTeamToken;
5
- exports.issueUserToken = issueUserToken;
6
- exports.verifyUserToken = verifyUserToken;
7
- const crypto_1 = require("crypto");
8
- function base64url(input) {
9
- return Buffer.from(input)
10
- .toString("base64")
11
- .replace(/\+/g, "-")
12
- .replace(/\//g, "_")
13
- .replace(/=+$/g, "");
14
- }
15
- function unbase64url(input) {
16
- const padded = input.replace(/-/g, "+").replace(/_/g, "/") + "===".slice((input.length + 3) % 4);
17
- return Buffer.from(padded, "base64");
18
- }
19
- function sign(value, secret) {
20
- return base64url((0, crypto_1.createHmac)("sha256", secret).update(value).digest());
21
- }
22
- function createTeamToken(secret) {
23
- const nonce = base64url((0, crypto_1.randomBytes)(12));
24
- const body = `team.${nonce}`;
25
- return `${body}.${sign(body, secret)}`;
26
- }
27
- function verifyTeamToken(token, secret) {
28
- const idx = token.lastIndexOf(".");
29
- if (idx <= 0)
30
- return false;
31
- const body = token.slice(0, idx);
32
- const sig = token.slice(idx + 1);
33
- const expected = sign(body, secret);
34
- try {
35
- return (0, crypto_1.timingSafeEqual)(Buffer.from(sig), Buffer.from(expected));
36
- }
37
- catch {
38
- return false;
39
- }
40
- }
41
- function issueUserToken(payload, secret, ttlMs = 24 * 60 * 60 * 1000) {
42
- const full = { ...payload, exp: Date.now() + ttlMs };
43
- const body = base64url(JSON.stringify(full));
44
- return `${body}.${sign(body, secret)}`;
45
- }
46
- function verifyUserToken(token, secret) {
47
- const idx = token.lastIndexOf(".");
48
- if (idx <= 0)
49
- return null;
50
- const body = token.slice(0, idx);
51
- const sig = token.slice(idx + 1);
52
- const expected = sign(body, secret);
53
- try {
54
- if (!(0, crypto_1.timingSafeEqual)(Buffer.from(sig), Buffer.from(expected)))
55
- return null;
56
- const parsed = JSON.parse(unbase64url(body).toString("utf8"));
57
- if (parsed.exp < Date.now())
58
- return null;
59
- return {
60
- userId: parsed.userId,
61
- username: parsed.username,
62
- role: parsed.role,
63
- status: parsed.status,
64
- };
65
- }
66
- catch {
67
- return null;
68
- }
69
- }
70
- //# sourceMappingURL=auth.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/hub/auth.ts"],"names":[],"mappings":";;AA4BA,0CAIC;AAED,0CAWC;AAED,wCAQC;AAED,0CAoBC;AA7ED,mCAAkE;AAWlE,SAAS,SAAS,CAAC,KAAsB;IACvC,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;SACtB,QAAQ,CAAC,QAAQ,CAAC;SAClB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,WAAW,CAAC,KAAa;IAChC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACjG,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,IAAI,CAAC,KAAa,EAAE,MAAc;IACzC,OAAO,SAAS,CAAC,IAAA,mBAAU,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AACxE,CAAC;AAED,SAAgB,eAAe,CAAC,MAAc;IAC5C,MAAM,KAAK,GAAG,SAAS,CAAC,IAAA,oBAAW,EAAC,EAAE,CAAC,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,QAAQ,KAAK,EAAE,CAAC;IAC7B,OAAO,GAAG,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;AACzC,CAAC;AAED,SAAgB,eAAe,CAAC,KAAa,EAAE,MAAc;IAC3D,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,GAAG,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACjC,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACpC,IAAI,CAAC;QACH,OAAO,IAAA,wBAAe,EAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAClE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAgB,cAAc,CAC5B,OAAiF,EACjF,MAAc,EACd,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IAE3B,MAAM,IAAI,GAAqB,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;IACvE,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7C,OAAO,GAAG,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;AACzC,CAAC;AAED,SAAgB,eAAe,CAAC,KAAa,EAAE,MAAc;IAC3D,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,GAAG,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACjC,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAEpC,IAAI,CAAC;QACH,IAAI,CAAC,IAAA,wBAAe,EAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAC3E,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAqB,CAAC;QAClF,IAAI,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;YAAE,OAAO,IAAI,CAAC;QACzC,OAAO;YACL,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -1,52 +0,0 @@
1
- import type { SqliteStore } from "../storage/sqlite";
2
- import type { Embedder } from "../embedding";
3
- import type { Logger, MemosLocalConfig } from "../types";
4
- type HubServerOptions = {
5
- store: SqliteStore;
6
- log: Logger;
7
- config: MemosLocalConfig;
8
- dataDir: string;
9
- embedder?: Embedder;
10
- defaultHubPort?: number;
11
- };
12
- export declare class HubServer {
13
- private opts;
14
- private server?;
15
- private remoteHitMap;
16
- private readonly userManager;
17
- private readonly authStatePath;
18
- private authState;
19
- private static readonly RATE_WINDOW_MS;
20
- private static readonly RATE_LIMIT_DEFAULT;
21
- private static readonly RATE_LIMIT_SEARCH;
22
- private rateBuckets;
23
- private static readonly OFFLINE_THRESHOLD_MS;
24
- private static readonly OFFLINE_CHECK_INTERVAL_MS;
25
- private offlineCheckTimer?;
26
- private knownOnlineUsers;
27
- constructor(opts: HubServerOptions);
28
- private checkRateLimit;
29
- start(): Promise<string>;
30
- stop(): Promise<void>;
31
- private get port();
32
- private get teamName();
33
- private get teamToken();
34
- private get authSecret();
35
- get hubInstanceId(): string;
36
- private loadAuthState;
37
- private saveAuthState;
38
- private embedChunksAsync;
39
- private embedSkillAsync;
40
- private backfillMemoryEmbeddings;
41
- private embedMemoryAsync;
42
- private handle;
43
- private notifyAdmins;
44
- private initOnlineTracking;
45
- private checkOfflineUsers;
46
- private authenticate;
47
- private static readonly MAX_BODY_BYTES;
48
- private readJson;
49
- private json;
50
- }
51
- export {};
52
- //# sourceMappingURL=server.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/hub/server.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAIzD,KAAK,gBAAgB,GAAG;IACtB,KAAK,EAAE,WAAW,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,gBAAgB,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AASF,qBAAa,SAAS;IAiBR,OAAO,CAAC,IAAI;IAhBxB,OAAO,CAAC,MAAM,CAAC,CAAc;IAC7B,OAAO,CAAC,YAAY,CAAgH;IACpI,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiB;IAC7C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,SAAS,CAAe;IAEhC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAU;IAChD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAM;IAChD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAM;IAC/C,OAAO,CAAC,WAAW,CAA6D;IAEhF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAiB;IAC7D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAa;IAC9D,OAAO,CAAC,iBAAiB,CAAC,CAAiC;IAC3D,OAAO,CAAC,gBAAgB,CAAqB;gBAEzB,IAAI,EAAE,gBAAgB;IAM1C,OAAO,CAAC,cAAc;IAahB,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAqExB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAuB3B,OAAO,KAAK,IAAI,GAKf;IAED,OAAO,KAAK,QAAQ,GAEnB;IAED,OAAO,KAAK,SAAS,GAEpB;IAED,OAAO,KAAK,UAAU,GAErB;IAED,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,OAAO,CAAC,aAAa;IAkBrB,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,gBAAgB;IAgBxB,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,wBAAwB;IA2BhC,OAAO,CAAC,gBAAgB;YAeV,MAAM;IA6xBpB,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,iBAAiB;IAiCzB,OAAO,CAAC,YAAY;IAsBpB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAoB;YAE5C,QAAQ;IAgBtB,OAAO,CAAC,IAAI;CAKb"}