@nxuss/lemma 0.8.1 → 0.9.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 (58) hide show
  1. package/README.md +144 -236
  2. package/dist/cjs/cli/lemma-proxy.d.ts.map +1 -1
  3. package/dist/cjs/cli/lemma-proxy.js +57 -119
  4. package/dist/cjs/cli/lemma-proxy.js.map +1 -1
  5. package/dist/cjs/mcp/tools.d.ts.map +1 -1
  6. package/dist/cjs/mcp/tools.js +868 -0
  7. package/dist/cjs/mcp/tools.js.map +1 -1
  8. package/dist/cjs/observability/IdeContextSync.js +3 -3
  9. package/dist/cjs/observability/IdeContextSync.js.map +1 -1
  10. package/dist/cjs/proxy/ProjectStore.d.ts +2 -0
  11. package/dist/cjs/proxy/ProjectStore.d.ts.map +1 -1
  12. package/dist/cjs/proxy/ProjectStore.js +3 -1
  13. package/dist/cjs/proxy/ProjectStore.js.map +1 -1
  14. package/dist/cjs/proxy/SseRelay.d.ts +4 -25
  15. package/dist/cjs/proxy/SseRelay.d.ts.map +1 -1
  16. package/dist/cjs/proxy/SseRelay.js +60 -63
  17. package/dist/cjs/proxy/SseRelay.js.map +1 -1
  18. package/dist/esm/cli/lemma-proxy.d.ts.map +1 -1
  19. package/dist/esm/cli/lemma-proxy.js +29 -91
  20. package/dist/esm/cli/lemma-proxy.js.map +1 -1
  21. package/dist/esm/mcp/tools.d.ts.map +1 -1
  22. package/dist/esm/mcp/tools.js +868 -0
  23. package/dist/esm/mcp/tools.js.map +1 -1
  24. package/dist/esm/observability/IdeContextSync.js +1 -1
  25. package/dist/esm/observability/IdeContextSync.js.map +1 -1
  26. package/dist/esm/proxy/ProjectStore.d.ts +2 -0
  27. package/dist/esm/proxy/ProjectStore.d.ts.map +1 -1
  28. package/dist/esm/proxy/ProjectStore.js +2 -0
  29. package/dist/esm/proxy/ProjectStore.js.map +1 -1
  30. package/dist/esm/proxy/SseRelay.d.ts +4 -25
  31. package/dist/esm/proxy/SseRelay.d.ts.map +1 -1
  32. package/dist/esm/proxy/SseRelay.js +60 -60
  33. package/dist/esm/proxy/SseRelay.js.map +1 -1
  34. package/package.json +1 -1
  35. package/dist/cjs/protocol/iap.d.ts +0 -54
  36. package/dist/cjs/protocol/iap.d.ts.map +0 -1
  37. package/dist/cjs/protocol/iap.js +0 -108
  38. package/dist/cjs/protocol/iap.js.map +0 -1
  39. package/dist/cjs/subconscious/cache.d.ts +0 -34
  40. package/dist/cjs/subconscious/cache.d.ts.map +0 -1
  41. package/dist/cjs/subconscious/cache.js +0 -156
  42. package/dist/cjs/subconscious/cache.js.map +0 -1
  43. package/dist/cjs/subconscious/embeddings.d.ts +0 -25
  44. package/dist/cjs/subconscious/embeddings.d.ts.map +0 -1
  45. package/dist/cjs/subconscious/embeddings.js +0 -65
  46. package/dist/cjs/subconscious/embeddings.js.map +0 -1
  47. package/dist/esm/protocol/iap.d.ts +0 -54
  48. package/dist/esm/protocol/iap.d.ts.map +0 -1
  49. package/dist/esm/protocol/iap.js +0 -104
  50. package/dist/esm/protocol/iap.js.map +0 -1
  51. package/dist/esm/subconscious/cache.d.ts +0 -34
  52. package/dist/esm/subconscious/cache.d.ts.map +0 -1
  53. package/dist/esm/subconscious/cache.js +0 -152
  54. package/dist/esm/subconscious/cache.js.map +0 -1
  55. package/dist/esm/subconscious/embeddings.d.ts +0 -25
  56. package/dist/esm/subconscious/embeddings.d.ts.map +0 -1
  57. package/dist/esm/subconscious/embeddings.js +0 -58
  58. package/dist/esm/subconscious/embeddings.js.map +0 -1
@@ -1,58 +1,31 @@
1
- /**
2
- * Lemma SseRelay
3
- *
4
- * Handles Server-Sent Events (SSE) streaming in two modes:
5
- *
6
- * MISS mode: Pipes upstream SSE response from OpenAI/Anthropic to the client
7
- * in real-time (transparent relay).
8
- *
9
- * HIT mode: Simulates an SSE stream from a cached response by chunking the
10
- * text into ~5-word pieces and emitting them with a small delay.
11
- * Visually identical to a real stream for IDEs like Cursor.
12
- *
13
- * Both modes:
14
- * - Set correct SSE headers (text/event-stream, no-cache)
15
- * - Inject X-Lemma-Cache, X-Lemma-Similarity, X-Lemma-Tier headers
16
- * - Append the `data: [DONE]` sentinel
17
- * - Support both OpenAI and Anthropic SSE envelope formats
18
- */
19
- import http from 'http';
20
- import https from 'https';
21
- // ─── Constants ────────────────────────────────────────────────────────────────
22
- const CHUNK_WORDS = 5; // words per simulated chunk
23
- const CHUNK_DELAY_MS = 15; // ms between simulated chunks
24
- // ─── SseRelay ─────────────────────────────────────────────────────────────────
1
+ const CHUNK_SIZE = 30;
2
+ const CHUNK_DELAY_MS = 15;
25
3
  export class SseRelay {
26
- /**
27
- * Simulate an SSE stream from a cached response.
28
- */
29
4
  static async simulateHit(res, cachedResponse, opts) {
30
5
  SseRelay.setSseHeaders(res, opts);
31
6
  const text = SseRelay.extractTextFromResponse(cachedResponse, opts.provider);
32
- const model = cachedResponse?.model || (opts.provider === 'openai' ? 'gpt-4' : 'claude-3-5-sonnet-20241022');
33
- const id = `lemma-hit-${Date.now()}`;
34
- const words = text.split(' ');
35
- // Emit chunks
36
- for (let i = 0; i < words.length; i += CHUNK_WORDS) {
37
- const chunk = words.slice(i, i + CHUNK_WORDS).join(' ');
38
- const sseData = SseRelay.buildChunkEvent(chunk, id, model, opts.provider, false);
39
- res.write(`data: ${JSON.stringify(sseData)}\n\n`);
7
+ const model = cachedResponse?.model || SseRelay.defaultModel(opts.provider);
8
+ const id = `lemma-${Date.now()}`;
9
+ for (let i = 0; i < text.length; i += CHUNK_SIZE) {
10
+ const chunk = text.slice(i, i + CHUNK_SIZE);
11
+ const evt = SseRelay.buildChunkEvent(chunk, id, model, opts.provider, false);
12
+ res.write(SseRelay.formatSSE(evt, opts.provider));
40
13
  await sleep(CHUNK_DELAY_MS);
41
14
  }
42
- // Emit final chunk (finish_reason: stop)
43
- const stopEvent = SseRelay.buildChunkEvent('', id, model, opts.provider, true);
44
- res.write(`data: ${JSON.stringify(stopEvent)}\n\n`);
45
- res.write('data: [DONE]\n\n');
15
+ const stopEvt = SseRelay.buildChunkEvent('', id, model, opts.provider, true);
16
+ res.write(SseRelay.formatSSE(stopEvt, opts.provider));
17
+ if (opts.provider !== 'gemini') {
18
+ res.write('data: [DONE]\n\n');
19
+ }
46
20
  res.end();
47
21
  }
48
- /**
49
- * Relay a live upstream SSE stream transparently.
50
- */
51
22
  static async relayMiss(req, res, upstreamBody, provider, opts) {
52
23
  SseRelay.setSseHeaders(res, opts);
53
24
  const apiKey = provider === 'openai'
54
25
  ? process.env.OPENAI_API_KEY
55
- : process.env.ANTHROPIC_API_KEY;
26
+ : provider === 'anthropic'
27
+ ? process.env.ANTHROPIC_API_KEY
28
+ : process.env.GEMINI_API_KEY;
56
29
  if (!apiKey) {
57
30
  res.write(`data: ${JSON.stringify({ error: `${provider.toUpperCase()}_API_KEY not set` })}\n\n`);
58
31
  res.write('data: [DONE]\n\n');
@@ -62,7 +35,7 @@ export class SseRelay {
62
35
  const { hostname, path, headers } = SseRelay.buildUpstreamRequest(provider, apiKey);
63
36
  const body = JSON.stringify({ ...upstreamBody, stream: true });
64
37
  await new Promise((resolve, reject) => {
65
- const lib = hostname.startsWith('localhost') ? http : https;
38
+ const lib = hostname.startsWith('localhost') ? require('http') : require('https');
66
39
  const reqOpts = {
67
40
  hostname,
68
41
  port: hostname.startsWith('localhost') ? 80 : 443,
@@ -95,19 +68,25 @@ export class SseRelay {
95
68
  upstreamReq.end();
96
69
  });
97
70
  }
98
- // ── Private helpers ─────────────────────────────────────────────────────────
99
71
  static setSseHeaders(res, opts) {
100
72
  res.setHeader('Content-Type', 'text/event-stream');
101
73
  res.setHeader('Cache-Control', 'no-cache');
102
74
  res.setHeader('Connection', 'keep-alive');
103
75
  res.setHeader('X-Accel-Buffering', 'no');
104
- res.setHeader('X-Lemma-Cache', 'HIT');
76
+ res.setHeader('X-Lemma-Cache', opts.cacheHeader || 'HIT');
105
77
  res.setHeader('X-Lemma-Similarity', (opts.similarity ?? 1.0).toFixed(3));
106
78
  res.setHeader('X-Lemma-Tier', opts.tier);
107
79
  if (opts.latencyMs !== undefined) {
108
80
  res.setHeader('X-Lemma-Latency', `${opts.latencyMs}ms`);
109
81
  }
110
82
  }
83
+ static defaultModel(provider) {
84
+ if (provider === 'openai')
85
+ return 'gpt-4';
86
+ if (provider === 'anthropic')
87
+ return 'claude-3-5-sonnet-20241022';
88
+ return 'gemini-1.5-pro';
89
+ }
111
90
  static buildUpstreamRequest(provider, apiKey) {
112
91
  if (provider === 'openai') {
113
92
  return {
@@ -116,10 +95,17 @@ export class SseRelay {
116
95
  headers: { Authorization: `Bearer ${apiKey}` },
117
96
  };
118
97
  }
98
+ if (provider === 'anthropic') {
99
+ return {
100
+ hostname: 'api.anthropic.com',
101
+ path: '/v1/messages',
102
+ headers: { 'x-api-key': apiKey, 'anthropic-version': '2023-06-01' },
103
+ };
104
+ }
119
105
  return {
120
- hostname: 'api.anthropic.com',
121
- path: '/v1/messages',
122
- headers: { 'x-api-key': apiKey, 'anthropic-version': '2023-06-01' },
106
+ hostname: 'generativelanguage.googleapis.com',
107
+ path: `/v1beta/models/${apiKey}`,
108
+ headers: {},
123
109
  };
124
110
  }
125
111
  static buildChunkEvent(text, id, model, provider, isStop) {
@@ -136,27 +122,41 @@ export class SseRelay {
136
122
  }],
137
123
  };
138
124
  }
139
- // Anthropic format
140
- if (isStop) {
141
- return { type: 'message_stop' };
125
+ if (provider === 'anthropic') {
126
+ if (isStop)
127
+ return { type: 'message_stop' };
128
+ return {
129
+ type: 'content_block_delta',
130
+ index: 0,
131
+ delta: { type: 'text_delta', text },
132
+ };
142
133
  }
143
134
  return {
144
- type: 'content_block_delta',
145
- index: 0,
146
- delta: { type: 'text_delta', text },
135
+ candidates: [{
136
+ content: { parts: [{ text }] },
137
+ finishReason: isStop ? 'STOP' : undefined,
138
+ }],
147
139
  };
148
140
  }
141
+ static formatSSE(data, provider) {
142
+ if (provider === 'gemini') {
143
+ return `${JSON.stringify(data)}\n`;
144
+ }
145
+ return `data: ${JSON.stringify(data)}\n\n`;
146
+ }
149
147
  static extractTextFromResponse(response, provider) {
150
148
  try {
151
149
  if (provider === 'openai') {
152
150
  return response?.choices?.[0]?.message?.content || '';
153
151
  }
154
- // Anthropic
155
- const content = response?.content;
156
- if (Array.isArray(content)) {
157
- return content.map((c) => c.text || '').join('');
152
+ if (provider === 'anthropic') {
153
+ const content = response?.content;
154
+ if (Array.isArray(content)) {
155
+ return content.map((c) => c.text || '').join('');
156
+ }
157
+ return String(content || '');
158
158
  }
159
- return String(content || '');
159
+ return response?.candidates?.[0]?.content?.parts?.[0]?.text || '';
160
160
  }
161
161
  catch {
162
162
  return '';
@@ -1 +1 @@
1
- {"version":3,"file":"SseRelay.js","sourceRoot":"","sources":["../../../src/proxy/SseRelay.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,iFAAiF;AAEjF,MAAM,WAAW,GAAG,CAAC,CAAC,CAAQ,4BAA4B;AAC1D,MAAM,cAAc,GAAG,EAAE,CAAC,CAAI,8BAA8B;AAa5D,iFAAiF;AAEjF,MAAM,OAAO,QAAQ;IACnB;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,WAAW,CACtB,GAAa,EACb,cAAmB,EACnB,IAAqB;QAErB,QAAQ,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAElC,MAAM,IAAI,GAAG,QAAQ,CAAC,uBAAuB,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7E,MAAM,KAAK,GAAG,cAAc,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC;QAC7G,MAAM,EAAE,GAAG,aAAa,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE9B,cAAc;QACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,WAAW,EAAE,CAAC;YACnD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACxD,MAAM,OAAO,GAAG,QAAQ,CAAC,eAAe,CAAC,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YACjF,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAClD,MAAM,KAAK,CAAC,cAAc,CAAC,CAAC;QAC9B,CAAC;QAED,yCAAyC;QACzC,MAAM,SAAS,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC/E,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACpD,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAC9B,GAAG,CAAC,GAAG,EAAE,CAAC;IACZ,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,SAAS,CACpB,GAAY,EACZ,GAAa,EACb,YAAiB,EACjB,QAAkB,EAClB,IAAqB;QAErB,QAAQ,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAElC,MAAM,MAAM,GAAG,QAAQ,KAAK,QAAQ;YAClC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc;YAC5B,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;QAElC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,WAAW,EAAE,kBAAkB,EAAE,CAAC,MAAM,CAAC,CAAC;YACjG,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAC9B,GAAG,CAAC,GAAG,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QAED,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAEpF,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAE/D,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,MAAM,GAAG,GAAG,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;YAC5D,MAAM,OAAO,GAAG;gBACd,QAAQ;gBACR,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG;gBACjD,IAAI;gBACJ,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,GAAG,OAAO;oBACV,cAAc,EAAE,kBAAkB;oBAClC,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;iBAC1C;aACF,CAAC;YAEF,MAAM,WAAW,GAAI,GAAoB,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,EAAE;gBACzE,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;oBACvC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACnB,CAAC,CAAC,CAAC;gBACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;oBACzB,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;oBAC9B,GAAG,CAAC,GAAG,EAAE,CAAC;oBACV,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CAAC;gBACH,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC;YAEH,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBAC9B,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;gBACjE,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;gBAC9B,GAAG,CAAC,GAAG,EAAE,CAAC;gBACV,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;YAEH,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACxB,WAAW,CAAC,GAAG,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,+EAA+E;IAEvE,MAAM,CAAC,aAAa,CAAC,GAAa,EAAE,IAAqB;QAC/D,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;QACnD,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QAC3C,GAAG,CAAC,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAC1C,GAAG,CAAC,SAAS,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;QACzC,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QACtC,GAAG,CAAC,SAAS,CAAC,oBAAoB,EAAE,CAAC,IAAI,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACjC,GAAG,CAAC,SAAS,CAAC,iBAAiB,EAAE,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,oBAAoB,CAAC,QAAkB,EAAE,MAAc;QAKpE,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,OAAO;gBACL,QAAQ,EAAE,gBAAgB;gBAC1B,IAAI,EAAE,sBAAsB;gBAC5B,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,MAAM,EAAE,EAAE;aAC/C,CAAC;QACJ,CAAC;QACD,OAAO;YACL,QAAQ,EAAE,mBAAmB;YAC7B,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,mBAAmB,EAAE,YAAY,EAAE;SACpE,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,eAAe,CAC5B,IAAY,EACZ,EAAU,EACV,KAAa,EACb,QAAkB,EAClB,MAAe;QAEf,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,OAAO;gBACL,EAAE;gBACF,MAAM,EAAE,uBAAuB;gBAC/B,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;gBACtC,KAAK;gBACL,OAAO,EAAE,CAAC;wBACR,KAAK,EAAE,CAAC;wBACR,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE;wBACtC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;qBACtC,CAAC;aACH,CAAC;QACJ,CAAC;QACD,mBAAmB;QACnB,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;QAClC,CAAC;QACD,OAAO;YACL,IAAI,EAAE,qBAAqB;YAC3B,KAAK,EAAE,CAAC;YACR,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE;SACpC,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,uBAAuB,CAAC,QAAa,EAAE,QAAkB;QACtE,IAAI,CAAC;YACH,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC1B,OAAO,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;YACxD,CAAC;YACD,YAAY;YACZ,MAAM,OAAO,GAAG,QAAQ,EAAE,OAAO,CAAC;YAClC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACxD,CAAC;YACD,OAAO,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;CACF;AAED,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC"}
1
+ {"version":3,"file":"SseRelay.js","sourceRoot":"","sources":["../../../src/proxy/SseRelay.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nxuss/lemma",
3
- "version": "0.8.1",
3
+ "version": "0.9.0",
4
4
  "description": "Intelligent AI Gateway for IDEs & Agents — Semantic cache, Privacy Firewall, and Autonomous Cost-Optimization.",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "module": "./dist/esm/index.js",
@@ -1,54 +0,0 @@
1
- /**
2
- * Inter-Agent Protocol (I.A.P.) v1.0
3
- * Standardized communication layer for autonomous AI agents
4
- */
5
- import { IAPMessage, HandshakePayload, TaskRequest, TaskResponse } from '../types/index';
6
- export type AgentHandshake = HandshakePayload;
7
- export interface TaskBid {
8
- taskId: string;
9
- agentId: string;
10
- bidAmount: number;
11
- estimatedTime?: number;
12
- confidence?: number;
13
- metadata?: Record<string, any>;
14
- }
15
- export declare class IAPProtocol {
16
- static readonly VERSION = "1.0.0";
17
- /**
18
- * Create a handshake message
19
- */
20
- static createHandshake(handshake: HandshakePayload): IAPMessage;
21
- /**
22
- * Create a task request message
23
- */
24
- static createTaskRequest(request: TaskRequest): IAPMessage;
25
- /**
26
- * Create a task response message
27
- */
28
- static createTaskResponse(response: TaskResponse): IAPMessage;
29
- /**
30
- * Create a task bid message
31
- */
32
- static createTaskBid(bid: TaskBid): IAPMessage;
33
- /**
34
- * Create a heartbeat message
35
- */
36
- static createHeartbeat(agentId: string): IAPMessage;
37
- /**
38
- * Create an error message
39
- */
40
- static createError(error: string, details?: Record<string, unknown>): IAPMessage;
41
- /**
42
- * Validate an IAP message
43
- */
44
- static validate(message: unknown): message is IAPMessage;
45
- /**
46
- * Parse a raw message string into an IAP message
47
- */
48
- static parse(raw: string): IAPMessage;
49
- /**
50
- * Serialize an IAP message to string
51
- */
52
- static serialize(message: IAPMessage): string;
53
- }
54
- //# sourceMappingURL=iap.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"iap.d.ts","sourceRoot":"","sources":["../../../src/protocol/iap.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAkB,gBAAgB,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGzG,MAAM,MAAM,cAAc,GAAG,gBAAgB,CAAC;AAE9C,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED,qBAAa,WAAW;IACtB,MAAM,CAAC,QAAQ,CAAC,OAAO,WAAW;IAElC;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE,gBAAgB,GAAG,UAAU;IAQ/D;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,WAAW,GAAG,UAAU;IAQ1D;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,QAAQ,EAAE,YAAY,GAAG,UAAU;IAQ7D;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,UAAU;IAQ9C;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU;IAQnD;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,UAAU;IAQhF;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI,UAAU;IAexD;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU;IAYrC;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM;CAG9C"}
@@ -1,108 +0,0 @@
1
- "use strict";
2
- /**
3
- * Inter-Agent Protocol (I.A.P.) v1.0
4
- * Standardized communication layer for autonomous AI agents
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.IAPProtocol = void 0;
8
- const index_1 = require("../types/index");
9
- class IAPProtocol {
10
- /**
11
- * Create a handshake message
12
- */
13
- static createHandshake(handshake) {
14
- return {
15
- type: index_1.IAPMessageType.HANDSHAKE,
16
- payload: handshake,
17
- timestamp: Date.now(),
18
- };
19
- }
20
- /**
21
- * Create a task request message
22
- */
23
- static createTaskRequest(request) {
24
- return {
25
- type: index_1.IAPMessageType.TASK_REQUEST,
26
- payload: request,
27
- timestamp: Date.now(),
28
- };
29
- }
30
- /**
31
- * Create a task response message
32
- */
33
- static createTaskResponse(response) {
34
- return {
35
- type: index_1.IAPMessageType.TASK_RESPONSE,
36
- payload: response,
37
- timestamp: Date.now(),
38
- };
39
- }
40
- /**
41
- * Create a task bid message
42
- */
43
- static createTaskBid(bid) {
44
- return {
45
- type: index_1.IAPMessageType.TASK_ASSIGN,
46
- payload: bid,
47
- timestamp: Date.now(),
48
- };
49
- }
50
- /**
51
- * Create a heartbeat message
52
- */
53
- static createHeartbeat(agentId) {
54
- return {
55
- type: index_1.IAPMessageType.HEARTBEAT,
56
- payload: { agentId },
57
- timestamp: Date.now(),
58
- };
59
- }
60
- /**
61
- * Create an error message
62
- */
63
- static createError(error, details) {
64
- return {
65
- type: index_1.IAPMessageType.ERROR,
66
- payload: { error, ...details },
67
- timestamp: Date.now(),
68
- };
69
- }
70
- /**
71
- * Validate an IAP message
72
- */
73
- static validate(message) {
74
- if (typeof message !== 'object' || message === null) {
75
- return false;
76
- }
77
- const msg = message;
78
- if (!msg.type || !msg.payload || !msg.timestamp) {
79
- return false;
80
- }
81
- // Check if type is a valid IAPMessageType enum value
82
- return Object.values(index_1.IAPMessageType).includes(msg.type);
83
- }
84
- /**
85
- * Parse a raw message string into an IAP message
86
- */
87
- static parse(raw) {
88
- try {
89
- const parsed = JSON.parse(raw);
90
- if (!this.validate(parsed)) {
91
- throw new Error('Invalid IAP message format');
92
- }
93
- return parsed;
94
- }
95
- catch (error) {
96
- throw new Error(`Failed to parse IAP message: ${error}`);
97
- }
98
- }
99
- /**
100
- * Serialize an IAP message to string
101
- */
102
- static serialize(message) {
103
- return JSON.stringify(message);
104
- }
105
- }
106
- exports.IAPProtocol = IAPProtocol;
107
- IAPProtocol.VERSION = '1.0.0';
108
- //# sourceMappingURL=iap.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"iap.js","sourceRoot":"","sources":["../../../src/protocol/iap.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,0CAAyG;AAczG,MAAa,WAAW;IAGtB;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,SAA2B;QAChD,OAAO;YACL,IAAI,EAAE,sBAAc,CAAC,SAAS;YAC9B,OAAO,EAAE,SAAS;YAClB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,OAAoB;QAC3C,OAAO;YACL,IAAI,EAAE,sBAAc,CAAC,YAAY;YACjC,OAAO,EAAE,OAAO;YAChB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,QAAsB;QAC9C,OAAO;YACL,IAAI,EAAE,sBAAc,CAAC,aAAa;YAClC,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,GAAY;QAC/B,OAAO;YACL,IAAI,EAAE,sBAAc,CAAC,WAAW;YAChC,OAAO,EAAE,GAAG;YACZ,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,OAAe;QACpC,OAAO;YACL,IAAI,EAAE,sBAAc,CAAC,SAAS;YAC9B,OAAO,EAAE,EAAE,OAAO,EAAE;YACpB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,KAAa,EAAE,OAAiC;QACjE,OAAO;YACL,IAAI,EAAE,sBAAc,CAAC,KAAK;YAC1B,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE;YAC9B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,OAAgB;QAC9B,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACpD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,GAAG,GAAG,OAA8B,CAAC;QAE3C,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;YAChD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,qDAAqD;QACrD,OAAO,MAAM,CAAC,MAAM,CAAC,sBAAc,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAsB,CAAC,CAAC;IAC5E,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,GAAW;QACtB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAChD,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,gCAAgC,KAAK,EAAE,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,OAAmB;QAClC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;;AA3GH,kCA4GC;AA3GiB,mBAAO,GAAG,OAAO,CAAC"}
@@ -1,34 +0,0 @@
1
- /**
2
- * Semantic cache using ChromaDB for vector storage
3
- */
4
- import { TaskRequest, TaskResponse, SemanticCacheEntry } from '../types/index.js';
5
- import { EmbeddingService } from './embeddings.js';
6
- export declare class SemanticCache {
7
- private client;
8
- private collection;
9
- private collectionName;
10
- private embeddingService;
11
- private similarityThreshold;
12
- constructor(host: string, port: number, collectionName: string, embeddingService: EmbeddingService, similarityThreshold?: number);
13
- /**
14
- * Initialize the ChromaDB collection
15
- */
16
- initialize(): Promise<void>;
17
- /**
18
- * Search for similar cached tasks
19
- */
20
- search(taskRequest: TaskRequest): Promise<SemanticCacheEntry | null>;
21
- /**
22
- * Store a new task-response pair in the cache
23
- */
24
- store(taskRequest: TaskRequest, taskResponse: TaskResponse): Promise<void>;
25
- /**
26
- * Update access count for a cache entry
27
- */
28
- private updateAccessCount;
29
- /**
30
- * Clear old cache entries (TTL cleanup)
31
- */
32
- cleanup(ttl: number): Promise<void>;
33
- }
34
- //# sourceMappingURL=cache.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../../src/subconscious/cache.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,mBAAmB,CAAS;gBAGlC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,MAAM,EACtB,gBAAgB,EAAE,gBAAgB,EAClC,mBAAmB,GAAE,MAAa;IAQpC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAajC;;OAEG;IACG,MAAM,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAsD1E;;OAEG;IACG,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BhF;;OAEG;YACW,iBAAiB;IAmB/B;;OAEG;IACG,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAwB1C"}
@@ -1,156 +0,0 @@
1
- "use strict";
2
- /**
3
- * Semantic cache using ChromaDB for vector storage
4
- */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.SemanticCache = void 0;
7
- const chromadb_1 = require("chromadb");
8
- const embeddings_js_1 = require("./embeddings.js");
9
- class SemanticCache {
10
- constructor(host, port, collectionName, embeddingService, similarityThreshold = 0.95) {
11
- this.collection = null;
12
- this.client = new chromadb_1.ChromaClient({ path: `http://${host}:${port}` });
13
- this.collectionName = collectionName;
14
- this.embeddingService = embeddingService;
15
- this.similarityThreshold = similarityThreshold;
16
- }
17
- /**
18
- * Initialize the ChromaDB collection
19
- */
20
- async initialize() {
21
- try {
22
- this.collection = await this.client.getOrCreateCollection({
23
- name: this.collectionName,
24
- metadata: { description: 'Subconscious Router semantic cache' },
25
- });
26
- console.log(`✓ Semantic cache initialized: ${this.collectionName}`);
27
- }
28
- catch (error) {
29
- console.error('Failed to initialize semantic cache:', error);
30
- throw error;
31
- }
32
- }
33
- /**
34
- * Search for similar cached tasks
35
- */
36
- async search(taskRequest) {
37
- if (!this.collection) {
38
- throw new Error('Cache not initialized');
39
- }
40
- try {
41
- // Generate embedding for the incoming task
42
- const taskText = embeddings_js_1.EmbeddingService.serializeTask(taskRequest);
43
- const queryEmbedding = await this.embeddingService.generateEmbedding(taskText);
44
- // Query ChromaDB for similar entries
45
- const results = await this.collection.query({
46
- queryEmbeddings: [queryEmbedding],
47
- nResults: 1,
48
- });
49
- // Check if we have results and if similarity exceeds threshold
50
- if (results.ids[0].length === 0) {
51
- return null;
52
- }
53
- const similarity = 1 - (results.distances?.[0]?.[0] ?? 1);
54
- if (similarity < this.similarityThreshold) {
55
- return null;
56
- }
57
- // Retrieve the cached entry
58
- const metadata = results.metadatas[0][0];
59
- const document = results.documents[0][0];
60
- if (!metadata || !document) {
61
- return null;
62
- }
63
- const cacheEntry = {
64
- id: results.ids[0][0],
65
- taskRequest: JSON.parse(metadata.taskRequest),
66
- taskResponse: JSON.parse(metadata.taskResponse),
67
- embedding: queryEmbedding,
68
- timestamp: metadata.timestamp,
69
- accessCount: metadata.accessCount + 1,
70
- };
71
- // Update access count
72
- await this.updateAccessCount(cacheEntry.id, cacheEntry.accessCount);
73
- return cacheEntry;
74
- }
75
- catch (error) {
76
- console.error('Cache search failed:', error);
77
- return null;
78
- }
79
- }
80
- /**
81
- * Store a new task-response pair in the cache
82
- */
83
- async store(taskRequest, taskResponse) {
84
- if (!this.collection) {
85
- throw new Error('Cache not initialized');
86
- }
87
- try {
88
- const taskText = embeddings_js_1.EmbeddingService.serializeTask(taskRequest);
89
- const embedding = await this.embeddingService.generateEmbedding(taskText);
90
- const id = `cache_${taskRequest.taskId}_${Date.now()}`;
91
- await this.collection.add({
92
- ids: [id],
93
- embeddings: [embedding],
94
- documents: [taskText],
95
- metadatas: [{
96
- taskRequest: JSON.stringify(taskRequest),
97
- taskResponse: JSON.stringify(taskResponse),
98
- timestamp: Date.now(),
99
- accessCount: 0,
100
- }],
101
- });
102
- console.log(`✓ Cached task ${taskRequest.taskId} with similarity indexing`);
103
- }
104
- catch (error) {
105
- console.error('Failed to store in cache:', error);
106
- }
107
- }
108
- /**
109
- * Update access count for a cache entry
110
- */
111
- async updateAccessCount(id, newCount) {
112
- if (!this.collection)
113
- return;
114
- try {
115
- const result = await this.collection.get({ ids: [id] });
116
- if (result.metadatas[0]) {
117
- const metadata = result.metadatas[0];
118
- metadata.accessCount = newCount;
119
- await this.collection.update({
120
- ids: [id],
121
- metadatas: [metadata],
122
- });
123
- }
124
- }
125
- catch (error) {
126
- console.error('Failed to update access count:', error);
127
- }
128
- }
129
- /**
130
- * Clear old cache entries (TTL cleanup)
131
- */
132
- async cleanup(ttl) {
133
- if (!this.collection)
134
- return;
135
- try {
136
- const now = Date.now();
137
- const cutoff = now - ttl * 1000;
138
- const allEntries = await this.collection.get();
139
- const idsToDelete = [];
140
- allEntries.metadatas.forEach((metadata, index) => {
141
- if (metadata && metadata.timestamp < cutoff) {
142
- idsToDelete.push(allEntries.ids[index]);
143
- }
144
- });
145
- if (idsToDelete.length > 0) {
146
- await this.collection.delete({ ids: idsToDelete });
147
- console.log(`✓ Cleaned up ${idsToDelete.length} expired cache entries`);
148
- }
149
- }
150
- catch (error) {
151
- console.error('Cache cleanup failed:', error);
152
- }
153
- }
154
- }
155
- exports.SemanticCache = SemanticCache;
156
- //# sourceMappingURL=cache.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../src/subconscious/cache.ts"],"names":[],"mappings":"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"}
@@ -1,25 +0,0 @@
1
- /**
2
- * Embedding service using Ollama for semantic vectorization
3
- */
4
- export declare class EmbeddingService {
5
- private baseUrl;
6
- private model;
7
- constructor(baseUrl: string, model: string);
8
- /**
9
- * Generate embeddings for a given text using Ollama
10
- */
11
- generateEmbedding(text: string): Promise<number[]>;
12
- /**
13
- * Calculate cosine similarity between two vectors
14
- */
15
- static cosineSimilarity(vecA: number[], vecB: number[]): number;
16
- /**
17
- * Serialize a task request into a searchable string
18
- */
19
- static serializeTask(task: Record<string, unknown> | {
20
- taskType: string;
21
- payload?: any;
22
- context?: any;
23
- }): string;
24
- }
25
- //# sourceMappingURL=embeddings.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"embeddings.d.ts","sourceRoot":"","sources":["../../../src/subconscious/embeddings.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,KAAK,CAAS;gBAEV,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAK1C;;OAEG;IACG,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAcxD;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM;IAwB/D;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,GAAG,CAAC;QAAC,OAAO,CAAC,EAAE,GAAG,CAAA;KAAE,GAAG,MAAM;CAOjH"}