iranti 0.2.11 → 0.2.13
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.
- package/README.md +8 -0
- package/dist/scripts/iranti-cli.js +104 -19
- package/dist/scripts/iranti-mcp.js +1 -1
- package/dist/scripts/seed.js +10 -10
- package/dist/src/api/server.js +1 -1
- package/dist/src/attendant/AttendantInstance.d.ts +1 -0
- package/dist/src/attendant/AttendantInstance.d.ts.map +1 -1
- package/dist/src/attendant/AttendantInstance.js +21 -12
- package/dist/src/attendant/AttendantInstance.js.map +1 -1
- package/dist/src/lib/providers/mock.d.ts +1 -1
- package/dist/src/lib/providers/mock.d.ts.map +1 -1
- package/dist/src/lib/providers/mock.js +299 -54
- package/dist/src/lib/providers/mock.js.map +1 -1
- package/dist/src/library/embeddings.d.ts +1 -0
- package/dist/src/library/embeddings.d.ts.map +1 -1
- package/dist/src/library/embeddings.js +54 -1
- package/dist/src/library/embeddings.js.map +1 -1
- package/dist/src/library/queries.d.ts.map +1 -1
- package/dist/src/library/queries.js +78 -11
- package/dist/src/library/queries.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mock.d.ts","sourceRoot":"","sources":["../../../../src/lib/providers/mock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"mock.d.ts","sourceRoot":"","sources":["../../../../src/lib/providers/mock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAE/E,MAAM,MAAM,YAAY,GAClB,SAAS,GACT,cAAc,GACd,YAAY,GACZ,eAAe,GACf,OAAO,CAAC;AAEd,MAAM,WAAW,UAAU;IACvB,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAsWD,cAAM,YAAa,YAAW,WAAW;IACrC,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,IAAI,CAAe;IAC3B,OAAO,CAAC,SAAS,CAAK;gBAEV,MAAM,GAAE,UAAoC;IAKxD,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI;IAMtC,QAAQ,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC;IAyEvF,OAAO,CAAC,OAAO;IAIf,YAAY,IAAI,MAAM;IAItB,cAAc,IAAI,IAAI;CAGzB;AAED,QAAA,MAAM,YAAY,cAAqB,CAAC;AAExC,wBAAgB,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAE/D;AAED,eAAe,YAAY,CAAC"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.configureMock = configureMock;
|
|
4
|
-
// ─── Seeded Random ────────────────────────────────────────────────────────────
|
|
5
4
|
function seededRandom(seed) {
|
|
6
5
|
let s = seed;
|
|
7
6
|
return () => {
|
|
@@ -9,7 +8,278 @@ function seededRandom(seed) {
|
|
|
9
8
|
return (s >>> 0) / 0xffffffff;
|
|
10
9
|
};
|
|
11
10
|
}
|
|
12
|
-
|
|
11
|
+
function heuristicEntityId(name) {
|
|
12
|
+
return name
|
|
13
|
+
.toLowerCase()
|
|
14
|
+
.replace(/[^a-z0-9]+/g, '_')
|
|
15
|
+
.replace(/^_+|_+$/g, '');
|
|
16
|
+
}
|
|
17
|
+
function extractBlock(message, startLabel, endLabels = []) {
|
|
18
|
+
const lower = message.toLowerCase();
|
|
19
|
+
const start = lower.indexOf(startLabel.toLowerCase());
|
|
20
|
+
if (start < 0) {
|
|
21
|
+
return '';
|
|
22
|
+
}
|
|
23
|
+
let content = message.slice(start + startLabel.length);
|
|
24
|
+
let end = content.length;
|
|
25
|
+
for (const label of endLabels) {
|
|
26
|
+
const idx = content.toLowerCase().indexOf(label.toLowerCase());
|
|
27
|
+
if (idx >= 0 && idx < end) {
|
|
28
|
+
end = idx;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
content = content.slice(0, end).trim();
|
|
32
|
+
return content.replace(/^"+|"+$/g, '').trim();
|
|
33
|
+
}
|
|
34
|
+
function titleCase(value) {
|
|
35
|
+
return value
|
|
36
|
+
.trim()
|
|
37
|
+
.split(/\s+/)
|
|
38
|
+
.map((part) => part.charAt(0).toUpperCase() + part.slice(1).toLowerCase())
|
|
39
|
+
.join(' ');
|
|
40
|
+
}
|
|
41
|
+
function summarizeFact(key, value) {
|
|
42
|
+
if (key === 'hq_city' && typeof value?.city === 'string') {
|
|
43
|
+
return `Headquartered in ${value.city}.`;
|
|
44
|
+
}
|
|
45
|
+
if (key === 'team_size' && typeof value?.count === 'number') {
|
|
46
|
+
return `Team size is ${value.count}.`;
|
|
47
|
+
}
|
|
48
|
+
if (key === 'runway_months' && typeof value?.months === 'number') {
|
|
49
|
+
return `Runway is ${value.months} months.`;
|
|
50
|
+
}
|
|
51
|
+
if (key === 'pilot_count' && typeof value?.count === 'number') {
|
|
52
|
+
return `Pilot count is ${value.count}.`;
|
|
53
|
+
}
|
|
54
|
+
if (key === 'publication_count' && typeof value?.count === 'number') {
|
|
55
|
+
return `Has published ${value.count} papers.`;
|
|
56
|
+
}
|
|
57
|
+
if (key === 'budget') {
|
|
58
|
+
const budget = value;
|
|
59
|
+
if (typeof budget.amount === 'number' && typeof budget.currency === 'string') {
|
|
60
|
+
return `Budget is ${budget.amount.toLocaleString('en-US')} ${budget.currency}.`;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
if (key === 'affiliation') {
|
|
64
|
+
const affiliation = value;
|
|
65
|
+
if (typeof affiliation.institution === 'string') {
|
|
66
|
+
return `Affiliated with ${affiliation.institution}.`;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
if (key === 'research_focus') {
|
|
70
|
+
const focus = value;
|
|
71
|
+
if (typeof focus.primary === 'string') {
|
|
72
|
+
return `Primary research focus is ${focus.primary}.`;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
if (key === 'favorite_city') {
|
|
76
|
+
const city = value;
|
|
77
|
+
if (typeof city.city === 'string') {
|
|
78
|
+
return `Favorite city is ${city.city}.`;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return `${key}: ${JSON.stringify(value)}`;
|
|
82
|
+
}
|
|
83
|
+
function extractFactsFromText(text) {
|
|
84
|
+
const facts = [];
|
|
85
|
+
const trimmed = text.trim();
|
|
86
|
+
if (!trimmed || /no durable facts/i.test(trimmed)) {
|
|
87
|
+
return facts;
|
|
88
|
+
}
|
|
89
|
+
const pushFact = (fact) => {
|
|
90
|
+
if (!facts.some((existing) => existing.key === fact.key)) {
|
|
91
|
+
facts.push(fact);
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
const cityMatch = trimmed.match(/\b(?:currently\s+)?operates in\s+([A-Za-z][A-Za-z\s-]+?)(?:[.!,]|$)/i);
|
|
95
|
+
if (cityMatch) {
|
|
96
|
+
const city = titleCase(cityMatch[1]);
|
|
97
|
+
pushFact({
|
|
98
|
+
key: 'hq_city',
|
|
99
|
+
value: { city },
|
|
100
|
+
summary: `Headquartered in ${city}.`,
|
|
101
|
+
confidence: 96,
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
const teamMatch = trimmed.match(/\bhas\s+(\d+)\s+employees\b/i);
|
|
105
|
+
if (teamMatch) {
|
|
106
|
+
pushFact({
|
|
107
|
+
key: 'team_size',
|
|
108
|
+
value: { count: Number(teamMatch[1]) },
|
|
109
|
+
summary: `Team size is ${teamMatch[1]}.`,
|
|
110
|
+
confidence: 95,
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
const runwayMatch = trimmed.match(/\bhas\s+(\d+)\s+months?\s+of\s+runway\b/i);
|
|
114
|
+
if (runwayMatch) {
|
|
115
|
+
pushFact({
|
|
116
|
+
key: 'runway_months',
|
|
117
|
+
value: { months: Number(runwayMatch[1]) },
|
|
118
|
+
summary: `Runway is ${runwayMatch[1]} months.`,
|
|
119
|
+
confidence: 93,
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
const pilotMatch = trimmed.match(/\bhas\s+(\d+)\s+pilots?\b/i);
|
|
123
|
+
if (pilotMatch) {
|
|
124
|
+
pushFact({
|
|
125
|
+
key: 'pilot_count',
|
|
126
|
+
value: { count: Number(pilotMatch[1]) },
|
|
127
|
+
summary: `Pilot count is ${pilotMatch[1]}.`,
|
|
128
|
+
confidence: 95,
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
const expansionMatch = trimmed.match(/\bcould be expanding into\s+([a-z][a-z\s-]+?)(?:\s+next year|[.!,]|$)/i);
|
|
132
|
+
if (expansionMatch) {
|
|
133
|
+
pushFact({
|
|
134
|
+
key: 'expansion_target',
|
|
135
|
+
value: { market: heuristicEntityId(expansionMatch[1]).replace(/_/g, ' ') },
|
|
136
|
+
summary: `May expand into ${expansionMatch[1].trim()}.`,
|
|
137
|
+
confidence: 38,
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
const budgetMatch = trimmed.match(/\bbudget of\s+(\d[\d,]*)\s*(usd|eur|gbp)\b/i);
|
|
141
|
+
if (budgetMatch) {
|
|
142
|
+
pushFact({
|
|
143
|
+
key: 'budget',
|
|
144
|
+
value: {
|
|
145
|
+
amount: Number(budgetMatch[1].replace(/,/g, '')),
|
|
146
|
+
currency: budgetMatch[2].toUpperCase(),
|
|
147
|
+
},
|
|
148
|
+
summary: `Budget is ${budgetMatch[1]} ${budgetMatch[2].toUpperCase()}.`,
|
|
149
|
+
confidence: 91,
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
const publicationsMatch = trimmed.match(/\bhas\s+(\d+)\s+publications?\b/i);
|
|
153
|
+
if (publicationsMatch) {
|
|
154
|
+
pushFact({
|
|
155
|
+
key: 'publication_count',
|
|
156
|
+
value: { count: Number(publicationsMatch[1]) },
|
|
157
|
+
summary: `Has published ${publicationsMatch[1]} papers.`,
|
|
158
|
+
confidence: 93,
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
const professorMatch = trimmed.match(/\bis a professor at\s+([A-Za-z][A-Za-z\s().-]+?)(?:[.!,]|$)/i);
|
|
162
|
+
if (professorMatch) {
|
|
163
|
+
const institution = professorMatch[1].trim();
|
|
164
|
+
pushFact({
|
|
165
|
+
key: 'affiliation',
|
|
166
|
+
value: { institution },
|
|
167
|
+
summary: `Affiliated with ${institution}.`,
|
|
168
|
+
confidence: 92,
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
const focusMatch = trimmed.match(/\bresearch focus:\s*([A-Za-z][A-Za-z\s-]+?)(?:[.!,]|$)/i);
|
|
172
|
+
if (focusMatch) {
|
|
173
|
+
const primary = focusMatch[1].trim().toLowerCase();
|
|
174
|
+
pushFact({
|
|
175
|
+
key: 'research_focus',
|
|
176
|
+
value: { primary },
|
|
177
|
+
summary: `Primary research focus is ${primary}.`,
|
|
178
|
+
confidence: 88,
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
const favoriteCityMatch = trimmed.match(/\bfavorite city is\s+([A-Za-z][A-Za-z\s-]+?)(?:[.!,]|$)/i);
|
|
182
|
+
if (favoriteCityMatch) {
|
|
183
|
+
const city = titleCase(favoriteCityMatch[1]);
|
|
184
|
+
pushFact({
|
|
185
|
+
key: 'favorite_city',
|
|
186
|
+
value: { city },
|
|
187
|
+
summary: `Favorite city is ${city}.`,
|
|
188
|
+
confidence: 92,
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
return facts;
|
|
192
|
+
}
|
|
193
|
+
function detectEntities(text) {
|
|
194
|
+
const candidates = [];
|
|
195
|
+
const seen = new Set();
|
|
196
|
+
const add = (candidate) => {
|
|
197
|
+
const key = `${candidate.type}/${candidate.id_guess}`;
|
|
198
|
+
if (seen.has(key)) {
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
201
|
+
seen.add(key);
|
|
202
|
+
candidates.push(candidate);
|
|
203
|
+
};
|
|
204
|
+
for (const match of text.matchAll(/\b([a-z][a-z0-9_]*)\/([A-Za-z0-9][A-Za-z0-9_\-]{1,80})\b/g)) {
|
|
205
|
+
add({
|
|
206
|
+
type: match[1],
|
|
207
|
+
name: match[2].replace(/_/g, ' '),
|
|
208
|
+
id_guess: heuristicEntityId(match[2]),
|
|
209
|
+
confidence: 0.95,
|
|
210
|
+
evidence: match[0],
|
|
211
|
+
start: typeof match.index === 'number' ? match.index : undefined,
|
|
212
|
+
end: typeof match.index === 'number' ? match.index + match[0].length : undefined,
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
for (const match of text.matchAll(/\bProject\s+([A-Z0-9][A-Za-z0-9_\-]*(?:\s+[A-Z0-9][A-Za-z0-9_\-]*){0,4})\b/g)) {
|
|
216
|
+
const name = `Project ${match[1]}`.trim();
|
|
217
|
+
add({
|
|
218
|
+
type: 'project',
|
|
219
|
+
name,
|
|
220
|
+
id_guess: `project_${heuristicEntityId(match[1])}`,
|
|
221
|
+
confidence: 0.88,
|
|
222
|
+
evidence: name,
|
|
223
|
+
start: typeof match.index === 'number' ? match.index : undefined,
|
|
224
|
+
end: typeof match.index === 'number' ? match.index + name.length : undefined,
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
if (/\b(my|our|we)\b/i.test(text)) {
|
|
228
|
+
add({
|
|
229
|
+
type: 'user',
|
|
230
|
+
name: 'main',
|
|
231
|
+
id_guess: 'main',
|
|
232
|
+
confidence: 0.84,
|
|
233
|
+
evidence: /\bmy\b/i.test(text) ? 'my' : /\bour\b/i.test(text) ? 'our' : 'we',
|
|
234
|
+
});
|
|
235
|
+
}
|
|
236
|
+
return candidates;
|
|
237
|
+
}
|
|
238
|
+
function classifyMemoryNeed(message) {
|
|
239
|
+
const normalized = message.trim().toLowerCase();
|
|
240
|
+
if (!normalized) {
|
|
241
|
+
return { needsMemory: false, confidence: 0.51, reason: 'no_latest_message' };
|
|
242
|
+
}
|
|
243
|
+
if (/^\s*(hi|hello|hey|yo|thanks|thank you|cool|great)\b/.test(normalized)) {
|
|
244
|
+
return { needsMemory: false, confidence: 0.96, reason: 'simple_greeting_or_ack' };
|
|
245
|
+
}
|
|
246
|
+
if (/\b(my|our|we|remember|earlier|previous|again|favorite|favourite)\b/.test(normalized)) {
|
|
247
|
+
return { needsMemory: true, confidence: 0.93, reason: 'memory_reference_detected' };
|
|
248
|
+
}
|
|
249
|
+
if (normalized.includes('?')) {
|
|
250
|
+
return { needsMemory: false, confidence: 0.64, reason: 'generic_question_without_memory_signal' };
|
|
251
|
+
}
|
|
252
|
+
return { needsMemory: false, confidence: 0.58, reason: 'generic_statement_without_memory_signal' };
|
|
253
|
+
}
|
|
254
|
+
function normalizeTokens(text) {
|
|
255
|
+
return new Set(text
|
|
256
|
+
.toLowerCase()
|
|
257
|
+
.replace(/[^a-z0-9\s]+/g, ' ')
|
|
258
|
+
.split(/\s+/)
|
|
259
|
+
.map((token) => token.trim())
|
|
260
|
+
.filter((token) => token.length > 2));
|
|
261
|
+
}
|
|
262
|
+
function chooseRelevantEntries(task, entriesBlock) {
|
|
263
|
+
const taskTokens = normalizeTokens(task);
|
|
264
|
+
const matches = [];
|
|
265
|
+
for (const line of entriesBlock.split('\n')) {
|
|
266
|
+
const match = line.match(/^\s*(\d+)\.\s+(.+)$/);
|
|
267
|
+
if (!match)
|
|
268
|
+
continue;
|
|
269
|
+
const index = Number(match[1]);
|
|
270
|
+
const lineTokens = normalizeTokens(match[2]);
|
|
271
|
+
let overlap = 0;
|
|
272
|
+
for (const token of lineTokens) {
|
|
273
|
+
if (taskTokens.has(token)) {
|
|
274
|
+
overlap += 1;
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
if (overlap > 0) {
|
|
278
|
+
matches.push(index);
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
return matches.length > 0 ? matches.join(',') : 'none';
|
|
282
|
+
}
|
|
13
283
|
const TASK_INFERENCES = {
|
|
14
284
|
default: [
|
|
15
285
|
'Researching academic publication history for a researcher',
|
|
@@ -36,12 +306,6 @@ const CONFLICT_RESOLUTIONS = {
|
|
|
36
306
|
KEEP_INCOMING: 'KEEP_INCOMING: The incoming entry cites a more authoritative and recent source.',
|
|
37
307
|
ESCALATE: 'ESCALATE: Both sources have comparable authority and the values are genuinely contradictory.',
|
|
38
308
|
};
|
|
39
|
-
const EXTRACTION_RESPONSES = {
|
|
40
|
-
default: '[{"key":"affiliation","value":{"institution":"Carnegie Mellon University"},"summary":"Affiliated with Carnegie Mellon University.","confidence":95},{"key":"publication_count","value":{"count":31},"summary":"Has published 31 papers.","confidence":93},{"key":"previous_employer","value":{"institution":"Google DeepMind","from":2019,"to":2022},"summary":"Previously worked at Google DeepMind from 2019 to 2022.","confidence":91},{"key":"research_focus","value":{"primary":"reinforcement learning","secondary":"robotics"},"summary":"Primary research focus is reinforcement learning with secondary interest in robotics.","confidence":88}]',
|
|
41
|
-
disagreement: '[{"key":"affiliation","value":{"institution":"MIT"},"summary":"Affiliated with MIT.","confidence":86},{"key":"publication_count","value":{"count":28},"summary":"Has published 28 papers.","confidence":82}]',
|
|
42
|
-
collaborative: '[{"key":"h_index","value":{"score":12},"summary":"H-index of 12.","confidence":84},{"key":"cited_by","value":{"count":450},"summary":"Cited by 450 papers.","confidence":83}]',
|
|
43
|
-
};
|
|
44
|
-
// ─── Mock Provider ────────────────────────────────────────────────────────────
|
|
45
309
|
class MockProvider {
|
|
46
310
|
constructor(config = { scenario: 'default' }) {
|
|
47
311
|
this.callCount = 0;
|
|
@@ -54,33 +318,35 @@ class MockProvider {
|
|
|
54
318
|
this.callCount = 0;
|
|
55
319
|
}
|
|
56
320
|
async complete(messages, options) {
|
|
57
|
-
this.callCount
|
|
58
|
-
const lastMessage = messages[messages.length - 1].content
|
|
321
|
+
this.callCount += 1;
|
|
322
|
+
const lastMessage = messages[messages.length - 1].content;
|
|
323
|
+
const lower = lastMessage.toLowerCase();
|
|
59
324
|
const scenario = this.config.scenario;
|
|
60
325
|
const model = options?.model ?? 'mock';
|
|
61
|
-
// Simulate failure rate
|
|
62
326
|
const failureRate = this.config.failureRate ?? 0;
|
|
63
327
|
if (failureRate > 0 && this.rand() < failureRate) {
|
|
64
328
|
throw new Error(`[mock] Simulated provider failure (rate: ${failureRate})`);
|
|
65
329
|
}
|
|
66
|
-
|
|
67
|
-
|
|
330
|
+
if (lower.includes('return only valid json with this exact shape:') && lower.includes('"needsmemory"')) {
|
|
331
|
+
const latestMessage = extractBlock(lastMessage, 'Latest user message:', ['Recent context excerpt:']);
|
|
332
|
+
return this.respond(JSON.stringify(classifyMemoryNeed(latestMessage)), model);
|
|
333
|
+
}
|
|
334
|
+
if (lower.includes('extract explicitly named entities from the text')) {
|
|
335
|
+
const text = extractBlock(lastMessage, 'Text:');
|
|
336
|
+
return this.respond(JSON.stringify(detectEntities(text)), model);
|
|
337
|
+
}
|
|
338
|
+
if (lower.includes('specific type of task')) {
|
|
68
339
|
const options = TASK_INFERENCES[scenario] ?? TASK_INFERENCES.default;
|
|
69
340
|
const idx = Math.floor(this.rand() * options.length);
|
|
70
341
|
return this.respond(options[idx], model);
|
|
71
342
|
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
return this.respond(this.rand() > 0.5 ? 'none' : '1,2', model);
|
|
77
|
-
}
|
|
78
|
-
return this.respond('none', model);
|
|
343
|
+
if (lower.includes('return only the numbers of entries that are directly relevant')) {
|
|
344
|
+
const task = extractBlock(lastMessage, 'Agent task:', ['Available knowledge entries:']);
|
|
345
|
+
const entries = extractBlock(lastMessage, 'Available knowledge entries:');
|
|
346
|
+
return this.respond(chooseRelevantEntries(task, entries), model);
|
|
79
347
|
}
|
|
80
|
-
|
|
81
|
-
if (lastMessage.includes('genuinely contradictory') || lastMessage.includes('keep_existing')) {
|
|
348
|
+
if (lower.includes('genuinely contradictory') || lower.includes('keep_existing')) {
|
|
82
349
|
if (scenario === 'disagreement') {
|
|
83
|
-
// Disagreement scenario escalates more
|
|
84
350
|
const r = this.rand();
|
|
85
351
|
if (r < 0.4)
|
|
86
352
|
return this.respond(CONFLICT_RESOLUTIONS.KEEP_EXISTING, model);
|
|
@@ -90,38 +356,18 @@ class MockProvider {
|
|
|
90
356
|
}
|
|
91
357
|
return this.respond(CONFLICT_RESOLUTIONS.KEEP_EXISTING, model);
|
|
92
358
|
}
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
||
|
|
96
|
-
||
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
}
|
|
101
|
-
if (lastMessage.includes('might be preparing for a beta launch') || lastMessage.includes('possibly exploring a seed extension')) {
|
|
102
|
-
return this.respond('[{"key":"launch_phase","value":{"phase":"beta"},"summary":"Possibly preparing for a beta launch.","confidence":42},{"key":"fundraising_plan","value":{"type":"seed_extension"},"summary":"May be exploring a seed extension.","confidence":34}]', model);
|
|
103
|
-
}
|
|
104
|
-
if (lastMessage.includes('helios array has 12 pilots') || lastMessage.includes('could be expanding into ocean freight')) {
|
|
105
|
-
return this.respond('[{"key":"pilot_count","value":{"count":12},"summary":"Pilot count is 12.","confidence":95},{"key":"expansion_target","value":{"market":"ocean_freight"},"summary":"May expand into ocean freight.","confidence":38}]', model);
|
|
106
|
-
}
|
|
107
|
-
if (lastMessage.includes('rain over the harbor looked dramatic') || lastMessage.includes('no durable facts')) {
|
|
108
|
-
return this.respond('[]', model);
|
|
109
|
-
}
|
|
110
|
-
if (lastMessage.includes('northwind lattice has a budget of 50000')) {
|
|
111
|
-
return this.respond('[{"key":"budget","value":{"amount":50000,"currency":"USD"},"summary":"Budget is 50,000 USD.","confidence":95}]', model);
|
|
112
|
-
}
|
|
113
|
-
if (lastMessage.includes('northwind lattice has a budget of 75000')) {
|
|
114
|
-
return this.respond('[{"key":"budget","value":{"amount":75000,"currency":"USD"},"summary":"Budget is 75,000 USD.","confidence":91}]', model);
|
|
115
|
-
}
|
|
116
|
-
const response = EXTRACTION_RESPONSES[scenario] ?? EXTRACTION_RESPONSES.default;
|
|
117
|
-
return this.respond(response, model);
|
|
359
|
+
if (lower.includes('extract only distinct facts')
|
|
360
|
+
|| lower.includes('extract every distinct')
|
|
361
|
+
|| lower.includes('extracting structured facts')
|
|
362
|
+
|| lower.includes('atomic facts')) {
|
|
363
|
+
const text = extractBlock(lastMessage, 'Text to chunk:', ['Extract only distinct facts', 'Return ONLY a valid JSON array', 'If no facts can be extracted']);
|
|
364
|
+
const facts = extractFactsFromText(text);
|
|
365
|
+
return this.respond(JSON.stringify(facts), model);
|
|
118
366
|
}
|
|
119
|
-
|
|
120
|
-
if (lastMessage.includes('compress') || lastMessage.includes('summarize')) {
|
|
367
|
+
if (lower.includes('compress') || lower.includes('summarize')) {
|
|
121
368
|
return this.respond('Compressed working memory summary for current task context.', model);
|
|
122
369
|
}
|
|
123
|
-
|
|
124
|
-
return this.respond(`I have completed my analysis. Based on my research:\n\n` +
|
|
370
|
+
return this.respond(`I have completed my analysis.\n\n` +
|
|
125
371
|
`{\n` +
|
|
126
372
|
` "name": "Sample Researcher",\n` +
|
|
127
373
|
` "affiliation": "MIT",\n` +
|
|
@@ -131,7 +377,7 @@ class MockProvider {
|
|
|
131
377
|
` "confidence": 85\n` +
|
|
132
378
|
`}`, model);
|
|
133
379
|
}
|
|
134
|
-
respond(text, model
|
|
380
|
+
respond(text, model) {
|
|
135
381
|
return { text, model, provider: 'mock' };
|
|
136
382
|
}
|
|
137
383
|
getCallCount() {
|
|
@@ -141,7 +387,6 @@ class MockProvider {
|
|
|
141
387
|
this.callCount = 0;
|
|
142
388
|
}
|
|
143
389
|
}
|
|
144
|
-
// ─── Singleton + Config Export ────────────────────────────────────────────────
|
|
145
390
|
const mockProvider = new MockProvider();
|
|
146
391
|
function configureMock(config) {
|
|
147
392
|
mockProvider.configure(config);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mock.js","sourceRoot":"","sources":["../../../../src/lib/providers/mock.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mock.js","sourceRoot":"","sources":["../../../../src/lib/providers/mock.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export declare const EMBEDDING_DIMENSIONS: number;
|
|
2
|
+
export declare function cosineSimilarity(left: number[], right: number[]): number;
|
|
2
3
|
export declare function buildEmbeddingText(key: string, summary: string, valueRaw: unknown): string;
|
|
3
4
|
export declare function generateEmbedding(text: string, dimensions?: number): number[];
|
|
4
5
|
export declare function toPgVectorLiteral(vector: number[]): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embeddings.d.ts","sourceRoot":"","sources":["../../../src/library/embeddings.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"embeddings.d.ts","sourceRoot":"","sources":["../../../src/library/embeddings.ts"],"names":[],"mappings":"AAkCA,eAAO,MAAM,oBAAoB,QAAoD,CAAC;AAwCtF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAsBxE;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,CAG1F;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,GAAE,MAA6B,GAAG,MAAM,EAAE,CAuBnG;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAM1D"}
|
|
@@ -1,10 +1,35 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.EMBEDDING_DIMENSIONS = void 0;
|
|
4
|
+
exports.cosineSimilarity = cosineSimilarity;
|
|
4
5
|
exports.buildEmbeddingText = buildEmbeddingText;
|
|
5
6
|
exports.generateEmbedding = generateEmbedding;
|
|
6
7
|
exports.toPgVectorLiteral = toPgVectorLiteral;
|
|
7
8
|
const DEFAULT_DIMENSIONS = 256;
|
|
9
|
+
const TOKEN_SYNONYMS = {
|
|
10
|
+
hq: ['headquarters', 'location', 'city'],
|
|
11
|
+
headquarters: ['hq', 'location', 'city'],
|
|
12
|
+
location: ['city', 'headquarters', 'hq'],
|
|
13
|
+
city: ['location', 'hq', 'headquarters'],
|
|
14
|
+
capital: ['city', 'location'],
|
|
15
|
+
employee: ['employees', 'staff', 'team', 'headcount'],
|
|
16
|
+
employees: ['employee', 'staff', 'team', 'headcount'],
|
|
17
|
+
staff: ['employees', 'team', 'headcount'],
|
|
18
|
+
team: ['staff', 'employees', 'headcount'],
|
|
19
|
+
size: ['count', 'headcount', 'team'],
|
|
20
|
+
count: ['size', 'total', 'number'],
|
|
21
|
+
headcount: ['employees', 'team', 'staff', 'count'],
|
|
22
|
+
runway: ['cash', 'months', 'burn'],
|
|
23
|
+
months: ['runway', 'duration'],
|
|
24
|
+
budget: ['funding', 'funds', 'spend'],
|
|
25
|
+
blocker: ['issue', 'problem', 'risk'],
|
|
26
|
+
issue: ['blocker', 'problem', 'risk'],
|
|
27
|
+
problem: ['issue', 'blocker', 'risk'],
|
|
28
|
+
launch: ['release', 'ship', 'rollout'],
|
|
29
|
+
release: ['launch', 'ship', 'rollout'],
|
|
30
|
+
favorite: ['preferred', 'likes', 'preference'],
|
|
31
|
+
preferred: ['favorite', 'preference'],
|
|
32
|
+
};
|
|
8
33
|
function clampDimensions(raw) {
|
|
9
34
|
const parsed = Number.parseInt(raw ?? '', 10);
|
|
10
35
|
if (!Number.isFinite(parsed) || parsed <= 0) {
|
|
@@ -14,12 +39,21 @@ function clampDimensions(raw) {
|
|
|
14
39
|
}
|
|
15
40
|
exports.EMBEDDING_DIMENSIONS = clampDimensions(process.env.IRANTI_EMBEDDING_DIM);
|
|
16
41
|
function normalizeText(text) {
|
|
17
|
-
|
|
42
|
+
const baseTokens = text
|
|
18
43
|
.toLowerCase()
|
|
19
44
|
.replace(/[^a-z0-9\s]+/g, ' ')
|
|
20
45
|
.split(/\s+/)
|
|
21
46
|
.map((token) => token.trim())
|
|
22
47
|
.filter(Boolean);
|
|
48
|
+
const expanded = [];
|
|
49
|
+
for (const token of baseTokens) {
|
|
50
|
+
expanded.push(token);
|
|
51
|
+
const synonyms = TOKEN_SYNONYMS[token];
|
|
52
|
+
if (synonyms) {
|
|
53
|
+
expanded.push(...synonyms);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return expanded;
|
|
23
57
|
}
|
|
24
58
|
function fnv1a(input) {
|
|
25
59
|
let hash = 0x811c9dc5;
|
|
@@ -37,6 +71,25 @@ function l2Normalize(values) {
|
|
|
37
71
|
const norm = Math.sqrt(sumSquares);
|
|
38
72
|
return values.map((value) => value / norm);
|
|
39
73
|
}
|
|
74
|
+
function cosineSimilarity(left, right) {
|
|
75
|
+
if (left.length === 0 || right.length === 0 || left.length !== right.length) {
|
|
76
|
+
return 0;
|
|
77
|
+
}
|
|
78
|
+
let dot = 0;
|
|
79
|
+
let leftMagnitude = 0;
|
|
80
|
+
let rightMagnitude = 0;
|
|
81
|
+
for (let index = 0; index < left.length; index += 1) {
|
|
82
|
+
const leftValue = left[index];
|
|
83
|
+
const rightValue = right[index];
|
|
84
|
+
dot += leftValue * rightValue;
|
|
85
|
+
leftMagnitude += leftValue * leftValue;
|
|
86
|
+
rightMagnitude += rightValue * rightValue;
|
|
87
|
+
}
|
|
88
|
+
if (leftMagnitude === 0 || rightMagnitude === 0) {
|
|
89
|
+
return 0;
|
|
90
|
+
}
|
|
91
|
+
return dot / (Math.sqrt(leftMagnitude) * Math.sqrt(rightMagnitude));
|
|
92
|
+
}
|
|
40
93
|
function buildEmbeddingText(key, summary, valueRaw) {
|
|
41
94
|
const valueText = typeof valueRaw === 'string' ? valueRaw : JSON.stringify(valueRaw);
|
|
42
95
|
return `${key} ${summary} ${valueText}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embeddings.js","sourceRoot":"","sources":["../../../src/library/embeddings.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"embeddings.js","sourceRoot":"","sources":["../../../src/library/embeddings.ts"],"names":[],"mappings":";;;AA0EA,4CAsBC;AAED,gDAGC;AAED,8CAuBC;AAED,8CAMC;AAtID,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAC/B,MAAM,cAAc,GAA6B;IAC7C,EAAE,EAAE,CAAC,cAAc,EAAE,UAAU,EAAE,MAAM,CAAC;IACxC,YAAY,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC;IACxC,QAAQ,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC;IACxC,IAAI,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,cAAc,CAAC;IACxC,OAAO,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC;IAC7B,QAAQ,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC;IACrD,SAAS,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC;IACrD,KAAK,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC;IACzC,IAAI,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,WAAW,CAAC;IACzC,IAAI,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC;IACpC,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC;IAClC,SAAS,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;IAClD,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC;IAClC,MAAM,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC;IAC9B,MAAM,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC;IACrC,OAAO,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC;IACrC,KAAK,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC;IACrC,OAAO,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC;IACrC,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC;IACtC,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC;IACtC,QAAQ,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,YAAY,CAAC;IAC9C,SAAS,EAAE,CAAC,UAAU,EAAE,YAAY,CAAC;CACxC,CAAC;AAEF,SAAS,eAAe,CAAC,GAAuB;IAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;QAC1C,OAAO,kBAAkB,CAAC;IAC9B,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAClC,CAAC;AAEY,QAAA,oBAAoB,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;AAEtF,SAAS,aAAa,CAAC,IAAY;IAC/B,MAAM,UAAU,GAAG,IAAI;SAClB,WAAW,EAAE;SACb,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC;SAC7B,KAAK,CAAC,KAAK,CAAC;SACZ,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;SAC5B,MAAM,CAAC,OAAO,CAAC,CAAC;IAErB,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;QAC7B,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,QAAQ,EAAE,CAAC;YACX,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;QAC/B,CAAC;IACL,CAAC;IAED,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,SAAS,KAAK,CAAC,KAAa;IACxB,IAAI,IAAI,GAAG,UAAU,CAAC;IACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,IAAI,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,IAAI,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,WAAW,CAAC,MAAgB;IACjC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;IACzE,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACnC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;AAC/C,CAAC;AAED,SAAgB,gBAAgB,CAAC,IAAc,EAAE,KAAe;IAC5D,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;QAC1E,OAAO,CAAC,CAAC;IACb,CAAC;IAED,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,cAAc,GAAG,CAAC,CAAC;IAEvB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAClD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAChC,GAAG,IAAI,SAAS,GAAG,UAAU,CAAC;QAC9B,aAAa,IAAI,SAAS,GAAG,SAAS,CAAC;QACvC,cAAc,IAAI,UAAU,GAAG,UAAU,CAAC;IAC9C,CAAC;IAED,IAAI,aAAa,KAAK,CAAC,IAAI,cAAc,KAAK,CAAC,EAAE,CAAC;QAC9C,OAAO,CAAC,CAAC;IACb,CAAC;IAED,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,SAAgB,kBAAkB,CAAC,GAAW,EAAE,OAAe,EAAE,QAAiB;IAC9E,MAAM,SAAS,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACrF,OAAO,GAAG,GAAG,IAAI,OAAO,IAAI,SAAS,EAAE,CAAC;AAC5C,CAAC;AAED,SAAgB,iBAAiB,CAAC,IAAY,EAAE,aAAqB,4BAAoB;IACrF,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAa,CAAC;IAEzD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC;QAEvC,MAAM,MAAM,GAAG,KAAK,GAAG,UAAU,CAAC;QAClC,MAAM,MAAM,GAAG,KAAK,GAAG,UAAU,CAAC;QAClC,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEjD,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,GAAG,MAAM,CAAC;QACjC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,GAAG,MAAM,GAAG,GAAG,CAAC;IAC3C,CAAC;IAED,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC;AAED,SAAgB,iBAAiB,CAAC,MAAgB;IAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAChC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,GAAG,CAAC;QACxC,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AACnC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../src/library/queries.ts"],"names":[],"mappings":"AACA,OAAO,EACH,UAAU,EACV,UAAU,EACV,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACd,MAAM,UAAU,CAAC;AAClB,OAAO,EACH,OAAO,EACP,cAAc,EACd,cAAc,EAEd,YAAY,EACZ,iBAAiB,EACjB,eAAe,EAClB,MAAM,4BAA4B,CAAC;AAOpC,KAAK,QAAQ,GAAG,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,UAAU,GAAG,aAAa,GAAG,KAAK,GAAG,cAAc,GAAG,MAAM,GAAG,UAAU,CAAC,CAAC;AAiB7H,MAAM,MAAM,mBAAmB,GAAG,OAAO,CAAC;AAE1C,KAAK,mBAAmB,GAAG;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACjC,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,UAAU,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACzB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,YAAY,CAAC,EAAE,mBAAmB,CAAC;CACtC,CAAC;
|
|
1
|
+
{"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../src/library/queries.ts"],"names":[],"mappings":"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"}
|