couchloop-eq-mcp 1.3.3 → 1.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -2
- package/dist/clients/shrinkChatClient.d.ts +10 -10
- package/dist/clients/shrinkChatClient.d.ts.map +1 -1
- package/dist/clients/shrinkChatClient.js +5 -3
- package/dist/clients/shrinkChatClient.js.map +1 -1
- package/dist/db/client.d.ts.map +1 -1
- package/dist/db/client.js +6 -3
- package/dist/db/client.js.map +1 -1
- package/dist/index.js +5 -85
- package/dist/index.js.map +1 -1
- package/dist/server/sse.d.ts.map +1 -1
- package/dist/server/sse.js +4 -2
- package/dist/server/sse.js.map +1 -1
- package/dist/tools/Hallucinated Packages Corpus from Claude.d.ts +72 -0
- package/dist/tools/Hallucinated Packages Corpus from Claude.d.ts.map +1 -0
- package/dist/tools/Hallucinated Packages Corpus from Claude.js +447 -0
- package/dist/tools/Hallucinated Packages Corpus from Claude.js.map +1 -0
- package/dist/tools/MCP Usage Takeaways.guard.d.ts +4 -0
- package/dist/tools/MCP Usage Takeaways.guard.d.ts.map +1 -0
- package/dist/tools/MCP Usage Takeaways.guard.js +343 -0
- package/dist/tools/MCP Usage Takeaways.guard.js.map +1 -0
- package/dist/tools/checkpoint.d.ts.map +1 -1
- package/dist/tools/checkpoint.js +4 -20
- package/dist/tools/checkpoint.js.map +1 -1
- package/dist/tools/detect-build-context.d.ts +1 -1
- package/dist/tools/generate-upgrade-report.d.ts +2 -2
- package/dist/tools/guard.d.ts +120 -0
- package/dist/tools/guard.d.ts.map +1 -0
- package/dist/tools/guard.js +345 -0
- package/dist/tools/guard.js.map +1 -0
- package/dist/tools/hallucinated-packages-corpus.d.ts +7 -0
- package/dist/tools/hallucinated-packages-corpus.d.ts.map +1 -0
- package/dist/tools/hallucinated-packages-corpus.js +7 -0
- package/dist/tools/hallucinated-packages-corpus.js.map +1 -0
- package/dist/tools/intent-router.d.ts +20 -24
- package/dist/tools/intent-router.d.ts.map +1 -1
- package/dist/tools/intent-router.js +39 -7
- package/dist/tools/intent-router.js.map +1 -1
- package/dist/tools/pre-review-code.d.ts +2 -2
- package/dist/tools/prevent-ai-errors.d.ts +3 -3
- package/dist/tools/primary-tools.d.ts +84 -275
- package/dist/tools/primary-tools.d.ts.map +1 -1
- package/dist/tools/primary-tools.js +52 -9
- package/dist/tools/primary-tools.js.map +1 -1
- package/dist/tools/protect-files.d.ts +1 -1
- package/dist/tools/sendMessage.d.ts.map +1 -1
- package/dist/tools/sendMessage.js +17 -34
- package/dist/tools/sendMessage.js.map +1 -1
- package/dist/tools/session-manager.d.ts +5 -1
- package/dist/tools/session-manager.d.ts.map +1 -1
- package/dist/tools/session-manager.js +23 -19
- package/dist/tools/session-manager.js.map +1 -1
- package/dist/tools/smart-context.d.ts +1 -1
- package/dist/tools/verify.d.ts +5 -5
- package/dist/types/session.d.ts +2 -2
- package/package.json +9 -2
- package/assets/screenshots/checkpoint_session.png +0 -0
- package/assets/screenshots/code_review_workflow.png +0 -0
- package/assets/screenshots/insight_retrieve.png +0 -0
- package/assets/screenshots/insight_save.png +0 -0
- package/assets/screenshots/save_insights.png +0 -0
|
@@ -0,0 +1,345 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Guard Tool Adapter
|
|
3
|
+
*
|
|
4
|
+
* Provides a { definition, handler } shape compatible with the primary-tools
|
|
5
|
+
* registration model. Returns a plain GuardResult object rather than the
|
|
6
|
+
* McpServer-native { content: [{ type:'text', text }] } envelope.
|
|
7
|
+
*
|
|
8
|
+
* Uses the actual GovernancePipeline / InterventionEngine instance APIs.
|
|
9
|
+
* The hallucinated-packages corpus is imported via the real filename.
|
|
10
|
+
*/
|
|
11
|
+
import { z } from 'zod';
|
|
12
|
+
import { GovernancePipeline, InterventionAction, } from '../governance/evaluationEngine.js';
|
|
13
|
+
import { InterventionEngine } from '../governance/intervention.js';
|
|
14
|
+
import { scanPackageList, CORPUS_STATS, } from './hallucinated-packages-corpus.js';
|
|
15
|
+
import { logger } from '../utils/logger.js';
|
|
16
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
17
|
+
// Input schema
|
|
18
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
19
|
+
const GuardInputSchema = z.object({
|
|
20
|
+
response: z.string().describe('Draft response to evaluate'),
|
|
21
|
+
conversation: z
|
|
22
|
+
.array(z.object({ role: z.enum(['user', 'assistant']), content: z.string() }))
|
|
23
|
+
.optional()
|
|
24
|
+
.default([]),
|
|
25
|
+
domain: z.enum(['dev', 'clinical', 'auto']).optional().default('auto'),
|
|
26
|
+
session_id: z.string().optional(),
|
|
27
|
+
mode: z.enum(['enforce', 'shadow', 'bypass']).optional().default('enforce'),
|
|
28
|
+
});
|
|
29
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
30
|
+
// Domain detection
|
|
31
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
32
|
+
const DEV_SIGNALS = [
|
|
33
|
+
/\b(npm|yarn|pnpm|pip|cargo|gem)\s+install\b/i,
|
|
34
|
+
/\b(import|require|from)\s+['"][^'"]+['"]/i,
|
|
35
|
+
/\b(function|class|const|let|var|async|await|interface|type)\b/,
|
|
36
|
+
/\b(error|exception|stack\s*trace|undefined|null|NaN)\b/i,
|
|
37
|
+
/\b(git|commit|branch|merge|pull\s*request|PR)\b/i,
|
|
38
|
+
/\b(API|endpoint|REST|GraphQL|webhook|SDK)\b/i,
|
|
39
|
+
/\b(docker|kubernetes|CI\/CD|pipeline|deploy)\b/i,
|
|
40
|
+
/\b(typescript|javascript|python|rust|golang|node\.?js)\b/i,
|
|
41
|
+
];
|
|
42
|
+
const CLINICAL_SIGNALS = [
|
|
43
|
+
/\b(suicid|self.harm|self.injur|overdose|end\s+my\s+life|want\s+to\s+die)\b/i,
|
|
44
|
+
/\b(depressed|depression|anxiety|anxious|panic|dissociat)\b/i,
|
|
45
|
+
/\b(therapist|psychiatrist|medication|diagnosis|disorder|mental\s+health)\b/i,
|
|
46
|
+
/\b(trauma|PTSD|abuse|grief|loss|overwhelmed|hopeless)\b/i,
|
|
47
|
+
/\b(cutting|burning|starving|purging|binge)\b/i,
|
|
48
|
+
/\b(crisis|hotline|emergency|911|hospital)\b/i,
|
|
49
|
+
];
|
|
50
|
+
function detectDomain(turns, draft) {
|
|
51
|
+
const text = [...turns.map((t) => t.content), draft].join(' ');
|
|
52
|
+
if (CLINICAL_SIGNALS.some((s) => s.test(text)))
|
|
53
|
+
return 'clinical';
|
|
54
|
+
if (DEV_SIGNALS.filter((s) => s.test(text)).length >= 2)
|
|
55
|
+
return 'dev';
|
|
56
|
+
return 'unknown';
|
|
57
|
+
}
|
|
58
|
+
function hasCrisisSignals(turns) {
|
|
59
|
+
const text = turns
|
|
60
|
+
.filter((t) => t.role === 'user')
|
|
61
|
+
.slice(-5)
|
|
62
|
+
.map((t) => t.content)
|
|
63
|
+
.join(' ');
|
|
64
|
+
return CLINICAL_SIGNALS.some((s) => s.test(text));
|
|
65
|
+
}
|
|
66
|
+
function generateEvaluationId() {
|
|
67
|
+
return `eval_${Date.now()}_${Math.random().toString(36).slice(2, 8)}`;
|
|
68
|
+
}
|
|
69
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
70
|
+
// Package extraction
|
|
71
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
72
|
+
function extractPackageNames(text) {
|
|
73
|
+
const names = [];
|
|
74
|
+
const installRe = /(?:npm|yarn|pnpm)\s+(?:install|add|i)\s+((?:@?[\w][\w.-]*\/[\w.-]+|[\w][\w.-]*)(?:\s+(?:@?[\w][\w.-]*\/[\w.-]+|[\w][\w.-]*))*)/g;
|
|
75
|
+
const importRe = /(?:import\s+(?:.*?\s+from\s+)?|require\s*\(\s*)['"](@?[\w][\w.-]*(?:\/[\w.-]+)?)['"]/g;
|
|
76
|
+
let res = installRe.exec(text);
|
|
77
|
+
while (res !== null) {
|
|
78
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
79
|
+
names.push(...res[1]
|
|
80
|
+
.split(/\s+/)
|
|
81
|
+
.map((p) => p.trim())
|
|
82
|
+
.filter((p) => Boolean(p) && !p.startsWith('-')));
|
|
83
|
+
res = installRe.exec(text);
|
|
84
|
+
}
|
|
85
|
+
res = importRe.exec(text);
|
|
86
|
+
while (res !== null) {
|
|
87
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
88
|
+
if (!res[1].startsWith('.') && !res[1].startsWith('/'))
|
|
89
|
+
names.push(res[1]);
|
|
90
|
+
res = importRe.exec(text);
|
|
91
|
+
}
|
|
92
|
+
return [...new Set(names)];
|
|
93
|
+
}
|
|
94
|
+
function buildBlockedFallback(reason, alternative) {
|
|
95
|
+
const parts = [
|
|
96
|
+
"⚠️ I can't recommend that package — it has been flagged as confirmed malicious or hallucinated.",
|
|
97
|
+
reason,
|
|
98
|
+
];
|
|
99
|
+
if (alternative)
|
|
100
|
+
parts.push(`The package you may be looking for is: **${alternative}**`);
|
|
101
|
+
parts.push('Please verify any package name before installing.');
|
|
102
|
+
return parts.join('\n\n');
|
|
103
|
+
}
|
|
104
|
+
function escapeRegex(s) {
|
|
105
|
+
return s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
106
|
+
}
|
|
107
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
108
|
+
// Shared governance instances (one per process)
|
|
109
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
110
|
+
const governancePipeline = new GovernancePipeline();
|
|
111
|
+
const interventionEngine = new InterventionEngine();
|
|
112
|
+
/** Map conversation turns to SessionContext format (requires timestamp). */
|
|
113
|
+
function toSessionHistory(turns) {
|
|
114
|
+
const base = Date.now();
|
|
115
|
+
return turns.map((t, i) => ({
|
|
116
|
+
role: t.role,
|
|
117
|
+
content: t.content,
|
|
118
|
+
timestamp: new Date(base - (turns.length - i) * 1000),
|
|
119
|
+
}));
|
|
120
|
+
}
|
|
121
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
122
|
+
// Core handler
|
|
123
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
124
|
+
export async function handleGuard(args) {
|
|
125
|
+
const input = GuardInputSchema.parse(args);
|
|
126
|
+
const { response, conversation = [], domain, session_id, mode } = input;
|
|
127
|
+
const startTime = Date.now();
|
|
128
|
+
const evaluationId = generateEvaluationId();
|
|
129
|
+
if (mode === 'bypass') {
|
|
130
|
+
return {
|
|
131
|
+
action: 'pass',
|
|
132
|
+
response,
|
|
133
|
+
domain_detected: 'unknown',
|
|
134
|
+
evaluation_id: evaluationId,
|
|
135
|
+
elapsed_ms: Date.now() - startTime,
|
|
136
|
+
mode: 'bypass',
|
|
137
|
+
corpus_version: CORPUS_STATS.lastUpdated,
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
try {
|
|
141
|
+
const domainDetected = domain === 'auto' ? detectDomain(conversation, response) : domain;
|
|
142
|
+
let action = 'pass';
|
|
143
|
+
let finalResponse = response;
|
|
144
|
+
let intervention;
|
|
145
|
+
let detectorResults = {};
|
|
146
|
+
// ── dev / unknown path ───────────────────────────────────────────────────
|
|
147
|
+
if (domainDetected === 'dev' || domainDetected === 'unknown') {
|
|
148
|
+
const packageNames = extractPackageNames(response);
|
|
149
|
+
const flaggedPackages = scanPackageList(packageNames);
|
|
150
|
+
if (flaggedPackages.length > 0) {
|
|
151
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
152
|
+
const topFlag = flaggedPackages[0];
|
|
153
|
+
detectorResults.hallucination = {
|
|
154
|
+
flagged: true,
|
|
155
|
+
packages: flaggedPackages.map((f) => ({
|
|
156
|
+
name: f.name,
|
|
157
|
+
confidence: f.confidence,
|
|
158
|
+
reason: f.reason,
|
|
159
|
+
source: f.source,
|
|
160
|
+
alternative: f.suggestedAlternative,
|
|
161
|
+
})),
|
|
162
|
+
};
|
|
163
|
+
if (mode === 'enforce') {
|
|
164
|
+
let corrected = response;
|
|
165
|
+
for (const flag of flaggedPackages) {
|
|
166
|
+
if (flag.suggestedAlternative) {
|
|
167
|
+
const re = new RegExp(`((?:npm|yarn|pnpm)\\s+(?:install|add|i)\\s+[^\\n]*?)\\b${escapeRegex(flag.name)}\\b`, 'gi');
|
|
168
|
+
corrected = corrected.replace(re, (_full, prefix) => `${prefix}${flag.suggestedAlternative} /* ⚠ was: ${flag.name} */`);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
const wasModified = corrected !== response;
|
|
172
|
+
action =
|
|
173
|
+
topFlag.source === 'confirmed_malicious'
|
|
174
|
+
? 'blocked'
|
|
175
|
+
: wasModified
|
|
176
|
+
? 'modified'
|
|
177
|
+
: 'pass';
|
|
178
|
+
if (action !== 'pass') {
|
|
179
|
+
finalResponse =
|
|
180
|
+
action === 'blocked'
|
|
181
|
+
? buildBlockedFallback(topFlag.reason, topFlag.suggestedAlternative)
|
|
182
|
+
: corrected;
|
|
183
|
+
const conf = topFlag.confidence === 'high' ? 0.95 : topFlag.confidence === 'medium' ? 0.7 : 0.45;
|
|
184
|
+
intervention = {
|
|
185
|
+
type: action === 'blocked'
|
|
186
|
+
? 'package_hallucination_blocked'
|
|
187
|
+
: 'package_hallucination_corrected',
|
|
188
|
+
reason: topFlag.reason,
|
|
189
|
+
confidence: conf,
|
|
190
|
+
original_response: response,
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
if (action === 'pass' && domainDetected === 'dev') {
|
|
196
|
+
try {
|
|
197
|
+
const sessionCtx = {
|
|
198
|
+
sessionId: session_id ?? evaluationId,
|
|
199
|
+
conversationHistory: toSessionHistory(conversation),
|
|
200
|
+
};
|
|
201
|
+
const evalResult = await governancePipeline.evaluate(response, sessionCtx);
|
|
202
|
+
detectorResults = { ...detectorResults, risk: evalResult.overallRisk };
|
|
203
|
+
if (evalResult.recommendedAction !== InterventionAction.APPROVE &&
|
|
204
|
+
mode === 'enforce') {
|
|
205
|
+
const iv = await interventionEngine.intervene(evalResult.recommendedAction, response, evalResult);
|
|
206
|
+
if (iv.action !== InterventionAction.APPROVE) {
|
|
207
|
+
action = iv.action === InterventionAction.BLOCK ? 'blocked' : 'modified';
|
|
208
|
+
finalResponse = iv.finalResponse;
|
|
209
|
+
intervention = {
|
|
210
|
+
type: `pipeline_${iv.action}`,
|
|
211
|
+
reason: iv.reason,
|
|
212
|
+
confidence: iv.confidence,
|
|
213
|
+
original_response: response,
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
catch {
|
|
219
|
+
// fail open
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
// ── clinical path ────────────────────────────────────────────────────────
|
|
224
|
+
if (domainDetected === 'clinical') {
|
|
225
|
+
const crisisDetected = hasCrisisSignals(conversation);
|
|
226
|
+
detectorResults.crisis_pre_check = { flagged: crisisDetected };
|
|
227
|
+
try {
|
|
228
|
+
const sessionCtx = {
|
|
229
|
+
sessionId: session_id ?? evaluationId,
|
|
230
|
+
conversationHistory: toSessionHistory(conversation),
|
|
231
|
+
metadata: { crisisSignalsDetected: crisisDetected },
|
|
232
|
+
};
|
|
233
|
+
const evalResult = await governancePipeline.evaluate(response, sessionCtx);
|
|
234
|
+
detectorResults = { ...detectorResults, risk: evalResult.overallRisk };
|
|
235
|
+
if (evalResult.recommendedAction !== InterventionAction.APPROVE &&
|
|
236
|
+
mode === 'enforce') {
|
|
237
|
+
const iv = await interventionEngine.intervene(evalResult.recommendedAction, response, evalResult);
|
|
238
|
+
if (iv.action !== InterventionAction.APPROVE) {
|
|
239
|
+
action = iv.action === InterventionAction.BLOCK ? 'blocked' : 'modified';
|
|
240
|
+
finalResponse = iv.finalResponse;
|
|
241
|
+
intervention = {
|
|
242
|
+
type: `clinical_${iv.action}`,
|
|
243
|
+
reason: iv.reason,
|
|
244
|
+
confidence: iv.confidence,
|
|
245
|
+
original_response: response,
|
|
246
|
+
};
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
catch {
|
|
251
|
+
// fail open
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
if (mode === 'shadow') {
|
|
255
|
+
action = 'pass';
|
|
256
|
+
finalResponse = response;
|
|
257
|
+
}
|
|
258
|
+
const corpusVersion = CORPUS_STATS.lastUpdated;
|
|
259
|
+
return {
|
|
260
|
+
action,
|
|
261
|
+
response: finalResponse,
|
|
262
|
+
...(intervention ? { intervention } : {}),
|
|
263
|
+
domain_detected: domainDetected,
|
|
264
|
+
evaluation_id: evaluationId,
|
|
265
|
+
elapsed_ms: Date.now() - startTime,
|
|
266
|
+
mode,
|
|
267
|
+
corpus_version: corpusVersion,
|
|
268
|
+
detector_results: detectorResults,
|
|
269
|
+
};
|
|
270
|
+
}
|
|
271
|
+
catch (err) {
|
|
272
|
+
logger.error('[guard] Top-level failure — failing open:', err);
|
|
273
|
+
const corpusVersion = CORPUS_STATS.lastUpdated;
|
|
274
|
+
return {
|
|
275
|
+
action: 'pass',
|
|
276
|
+
response,
|
|
277
|
+
domain_detected: 'unknown',
|
|
278
|
+
evaluation_id: evaluationId,
|
|
279
|
+
elapsed_ms: Date.now() - startTime,
|
|
280
|
+
mode,
|
|
281
|
+
corpus_version: corpusVersion,
|
|
282
|
+
detector_results: {
|
|
283
|
+
error: err instanceof Error ? err.message : 'Unknown governance error',
|
|
284
|
+
fail_open: true,
|
|
285
|
+
},
|
|
286
|
+
};
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
290
|
+
// { definition, handler } export consumed by primary-tools.ts
|
|
291
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
292
|
+
const corpusStats = CORPUS_STATS;
|
|
293
|
+
export const guardTool = {
|
|
294
|
+
definition: {
|
|
295
|
+
name: 'guard',
|
|
296
|
+
description: [
|
|
297
|
+
'Per-turn governance layer. Evaluate a draft response before delivering it.',
|
|
298
|
+
'',
|
|
299
|
+
'Actions returned: pass (clean), modified (corrected), blocked (unsafe fallback).',
|
|
300
|
+
'Modes: enforce (default, apply interventions), shadow (log-only), bypass (skip).',
|
|
301
|
+
'',
|
|
302
|
+
`Corpus: ${corpusStats.confirmedMalicious} confirmed malicious, ` +
|
|
303
|
+
`${corpusStats.documentedHallucinations} documented hallucinations, ` +
|
|
304
|
+
`last updated ${corpusStats.lastUpdated}.`,
|
|
305
|
+
].join('\n'),
|
|
306
|
+
annotations: {
|
|
307
|
+
readOnlyHint: true,
|
|
308
|
+
destructiveHint: false,
|
|
309
|
+
idempotentHint: true,
|
|
310
|
+
openWorldHint: false,
|
|
311
|
+
},
|
|
312
|
+
inputSchema: {
|
|
313
|
+
type: 'object',
|
|
314
|
+
properties: {
|
|
315
|
+
response: { type: 'string', description: 'Draft response to evaluate' },
|
|
316
|
+
conversation: {
|
|
317
|
+
type: 'array',
|
|
318
|
+
items: {
|
|
319
|
+
type: 'object',
|
|
320
|
+
properties: {
|
|
321
|
+
role: { type: 'string', enum: ['user', 'assistant'] },
|
|
322
|
+
content: { type: 'string' },
|
|
323
|
+
},
|
|
324
|
+
required: ['role', 'content'],
|
|
325
|
+
},
|
|
326
|
+
description: 'Recent conversation history',
|
|
327
|
+
},
|
|
328
|
+
domain: {
|
|
329
|
+
type: 'string',
|
|
330
|
+
enum: ['dev', 'clinical', 'auto'],
|
|
331
|
+
description: "Governance domain. 'auto' detects from context.",
|
|
332
|
+
},
|
|
333
|
+
session_id: { type: 'string', description: 'Session ID for audit trail' },
|
|
334
|
+
mode: {
|
|
335
|
+
type: 'string',
|
|
336
|
+
enum: ['enforce', 'shadow', 'bypass'],
|
|
337
|
+
description: 'Governance mode',
|
|
338
|
+
},
|
|
339
|
+
},
|
|
340
|
+
required: ['response'],
|
|
341
|
+
},
|
|
342
|
+
},
|
|
343
|
+
handler: handleGuard,
|
|
344
|
+
};
|
|
345
|
+
//# sourceMappingURL=guard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guard.js","sourceRoot":"","sources":["../../src/tools/guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,kBAAkB,EAClB,kBAAkB,GAGnB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EACL,eAAe,EACf,YAAY,GAEb,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAyB5C,gFAAgF;AAChF,eAAe;AACf,gFAAgF;AAEhF,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;IAC3D,YAAY,EAAE,CAAC;SACZ,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;SAC7E,QAAQ,EAAE;SACV,OAAO,CAAC,EAAE,CAAC;IACd,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;IACtE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;CAC5E,CAAC,CAAC;AAIH,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF,MAAM,WAAW,GAAG;IAClB,8CAA8C;IAC9C,2CAA2C;IAC3C,+DAA+D;IAC/D,yDAAyD;IACzD,kDAAkD;IAClD,8CAA8C;IAC9C,iDAAiD;IACjD,2DAA2D;CAC5D,CAAC;AAEF,MAAM,gBAAgB,GAAG;IACvB,6EAA6E;IAC7E,6DAA6D;IAC7D,6EAA6E;IAC7E,0DAA0D;IAC1D,+CAA+C;IAC/C,8CAA8C;CAC/C,CAAC;AAEF,SAAS,YAAY,CACnB,KAA0C,EAC1C,KAAa;IAEb,MAAM,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/D,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO,UAAU,CAAC;IAClE,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACtE,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,gBAAgB,CAAC,KAA0C;IAClE,MAAM,IAAI,GAAG,KAAK;SACf,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;SAChC,KAAK,CAAC,CAAC,CAAC,CAAC;SACT,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;SACrB,IAAI,CAAC,GAAG,CAAC,CAAC;IACb,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,oBAAoB;IAC3B,OAAO,QAAQ,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AACxE,CAAC;AAED,gFAAgF;AAChF,qBAAqB;AACrB,gFAAgF;AAEhF,SAAS,mBAAmB,CAAC,IAAY;IACvC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,SAAS,GACb,iIAAiI,CAAC;IACpI,MAAM,QAAQ,GACZ,uFAAuF,CAAC;IAE1F,IAAI,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,OAAO,GAAG,KAAK,IAAI,EAAE,CAAC;QACpB,oEAAoE;QACpE,KAAK,CAAC,IAAI,CACR,GAAG,GAAG,CAAC,CAAC,CAAE;aACP,KAAK,CAAC,KAAK,CAAC;aACZ,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CACnD,CAAC;QACF,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IACD,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,OAAO,GAAG,KAAK,IAAI,EAAE,CAAC;QACpB,oEAAoE;QACpE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,CAAC;QAC9E,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAc,EAAE,WAAoB;IAChE,MAAM,KAAK,GAAG;QACZ,iGAAiG;QACjG,MAAM;KACP,CAAC;IACF,IAAI,WAAW;QAAE,KAAK,CAAC,IAAI,CAAC,4CAA4C,WAAW,IAAI,CAAC,CAAC;IACzF,KAAK,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;IAChE,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,WAAW,CAAC,CAAS;IAC5B,OAAO,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AAClD,CAAC;AAED,gFAAgF;AAChF,gDAAgD;AAChD,gFAAgF;AAEhF,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,EAAE,CAAC;AACpD,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,EAAE,CAAC;AAEpD,4EAA4E;AAC5E,SAAS,gBAAgB,CACvB,KAAwD;IAExD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACxB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1B,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;KACtD,CAAC,CAAC,CAAC;AACN,CAAC;AAED,gFAAgF;AAChF,eAAe;AACf,gFAAgF;AAEhF,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAa;IAC7C,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IAExE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,YAAY,GAAG,oBAAoB,EAAE,CAAC;IAE5C,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,OAAO;YACL,MAAM,EAAE,MAAM;YACd,QAAQ;YACR,eAAe,EAAE,SAAS;YAC1B,aAAa,EAAE,YAAY;YAC3B,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;YAClC,IAAI,EAAE,QAAQ;YACd,cAAc,EAAG,YAAwC,CAAC,WAAW;SACtE,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,cAAc,GAClB,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAEpE,IAAI,MAAM,GAAoB,MAAM,CAAC;QACrC,IAAI,aAAa,GAAG,QAAQ,CAAC;QAC7B,IAAI,YAAyC,CAAC;QAC9C,IAAI,eAAe,GAA4B,EAAE,CAAC;QAElD,4EAA4E;QAC5E,IAAI,cAAc,KAAK,KAAK,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YAC7D,MAAM,YAAY,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YACnD,MAAM,eAAe,GAAI,eAAwE,CAAC,YAAY,CAAC,CAAC;YAEhH,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,oEAAoE;gBACpE,MAAM,OAAO,GAAG,eAAe,CAAC,CAAC,CAAE,CAAC;gBACpC,eAAe,CAAC,aAAa,GAAG;oBAC9B,OAAO,EAAE,IAAI;oBACb,QAAQ,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBACpC,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,UAAU,EAAE,CAAC,CAAC,UAAU;wBACxB,MAAM,EAAE,CAAC,CAAC,MAAM;wBAChB,MAAM,EAAE,CAAC,CAAC,MAAM;wBAChB,WAAW,EAAE,CAAC,CAAC,oBAAoB;qBACpC,CAAC,CAAC;iBACJ,CAAC;gBAEF,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;oBACvB,IAAI,SAAS,GAAG,QAAQ,CAAC;oBACzB,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;wBACnC,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;4BAC9B,MAAM,EAAE,GAAG,IAAI,MAAM,CACnB,0DAA0D,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EACrF,IAAI,CACL,CAAC;4BACF,SAAS,GAAG,SAAS,CAAC,OAAO,CAC3B,EAAE,EACF,CAAC,KAAK,EAAE,MAAc,EAAE,EAAE,CACxB,GAAG,MAAM,GAAG,IAAI,CAAC,oBAAoB,cAAc,IAAI,CAAC,IAAI,KAAK,CACpE,CAAC;wBACJ,CAAC;oBACH,CAAC;oBACD,MAAM,WAAW,GAAG,SAAS,KAAK,QAAQ,CAAC;oBAC3C,MAAM;wBACH,OAA+B,CAAC,MAAM,KAAK,qBAAqB;4BAC/D,CAAC,CAAC,SAAS;4BACX,CAAC,CAAC,WAAW;gCACb,CAAC,CAAC,UAAU;gCACZ,CAAC,CAAC,MAAM,CAAC;oBACb,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;wBACtB,aAAa;4BACX,MAAM,KAAK,SAAS;gCAClB,CAAC,CAAC,oBAAoB,CAClB,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,oBAAoB,CAC7B;gCACH,CAAC,CAAC,SAAS,CAAC;wBAChB,MAAM,IAAI,GACR,OAAO,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;wBACtF,YAAY,GAAG;4BACb,IAAI,EACF,MAAM,KAAK,SAAS;gCAClB,CAAC,CAAC,+BAA+B;gCACjC,CAAC,CAAC,iCAAiC;4BACvC,MAAM,EAAE,OAAO,CAAC,MAAM;4BACtB,UAAU,EAAE,IAAI;4BAChB,iBAAiB,EAAE,QAAQ;yBAC5B,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,MAAM,KAAK,MAAM,IAAI,cAAc,KAAK,KAAK,EAAE,CAAC;gBAClD,IAAI,CAAC;oBACH,MAAM,UAAU,GAAmB;wBACjC,SAAS,EAAE,UAAU,IAAI,YAAY;wBACrC,mBAAmB,EAAE,gBAAgB,CAAC,YAAY,CAAC;qBACpD,CAAC;oBACF,MAAM,UAAU,GAAqB,MAAM,kBAAkB,CAAC,QAAQ,CACpE,QAAQ,EACR,UAAU,CACX,CAAC;oBACF,eAAe,GAAG,EAAE,GAAG,eAAe,EAAE,IAAI,EAAE,UAAU,CAAC,WAAW,EAAE,CAAC;oBAEvE,IACE,UAAU,CAAC,iBAAiB,KAAK,kBAAkB,CAAC,OAAO;wBAC3D,IAAI,KAAK,SAAS,EAClB,CAAC;wBACD,MAAM,EAAE,GAAG,MAAM,kBAAkB,CAAC,SAAS,CAC3C,UAAU,CAAC,iBAAiB,EAC5B,QAAQ,EACR,UAAU,CACX,CAAC;wBACF,IAAI,EAAE,CAAC,MAAM,KAAK,kBAAkB,CAAC,OAAO,EAAE,CAAC;4BAC7C,MAAM,GAAG,EAAE,CAAC,MAAM,KAAK,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;4BACzE,aAAa,GAAG,EAAE,CAAC,aAAa,CAAC;4BACjC,YAAY,GAAG;gCACb,IAAI,EAAE,YAAY,EAAE,CAAC,MAAM,EAAE;gCAC7B,MAAM,EAAE,EAAE,CAAC,MAAM;gCACjB,UAAU,EAAE,EAAE,CAAC,UAAU;gCACzB,iBAAiB,EAAE,QAAQ;6BAC5B,CAAC;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,YAAY;gBACd,CAAC;YACH,CAAC;QACH,CAAC;QAED,4EAA4E;QAC5E,IAAI,cAAc,KAAK,UAAU,EAAE,CAAC;YAClC,MAAM,cAAc,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;YACtD,eAAe,CAAC,gBAAgB,GAAG,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;YAC/D,IAAI,CAAC;gBACH,MAAM,UAAU,GAAmB;oBACjC,SAAS,EAAE,UAAU,IAAI,YAAY;oBACrC,mBAAmB,EAAE,gBAAgB,CAAC,YAAY,CAAC;oBACnD,QAAQ,EAAE,EAAE,qBAAqB,EAAE,cAAc,EAAE;iBACpD,CAAC;gBACF,MAAM,UAAU,GAAqB,MAAM,kBAAkB,CAAC,QAAQ,CACpE,QAAQ,EACR,UAAU,CACX,CAAC;gBACF,eAAe,GAAG,EAAE,GAAG,eAAe,EAAE,IAAI,EAAE,UAAU,CAAC,WAAW,EAAE,CAAC;gBAEvE,IACE,UAAU,CAAC,iBAAiB,KAAK,kBAAkB,CAAC,OAAO;oBAC3D,IAAI,KAAK,SAAS,EAClB,CAAC;oBACD,MAAM,EAAE,GAAG,MAAM,kBAAkB,CAAC,SAAS,CAC3C,UAAU,CAAC,iBAAiB,EAC5B,QAAQ,EACR,UAAU,CACX,CAAC;oBACF,IAAI,EAAE,CAAC,MAAM,KAAK,kBAAkB,CAAC,OAAO,EAAE,CAAC;wBAC7C,MAAM,GAAG,EAAE,CAAC,MAAM,KAAK,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;wBACzE,aAAa,GAAG,EAAE,CAAC,aAAa,CAAC;wBACjC,YAAY,GAAG;4BACb,IAAI,EAAE,YAAY,EAAE,CAAC,MAAM,EAAE;4BAC7B,MAAM,EAAE,EAAE,CAAC,MAAM;4BACjB,UAAU,EAAE,EAAE,CAAC,UAAU;4BACzB,iBAAiB,EAAE,QAAQ;yBAC5B,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,YAAY;YACd,CAAC;QACH,CAAC;QAED,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,MAAM,GAAG,MAAM,CAAC;YAChB,aAAa,GAAG,QAAQ,CAAC;QAC3B,CAAC;QAED,MAAM,aAAa,GAAI,YAAwC,CAAC,WAAW,CAAC;QAE5E,OAAO;YACL,MAAM;YACN,QAAQ,EAAE,aAAa;YACvB,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzC,eAAe,EAAE,cAAc;YAC/B,aAAa,EAAE,YAAY;YAC3B,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;YAClC,IAAI;YACJ,cAAc,EAAE,aAAa;YAC7B,gBAAgB,EAAE,eAAe;SAClC,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,2CAA2C,EAAE,GAAG,CAAC,CAAC;QAC/D,MAAM,aAAa,GAAI,YAAwC,CAAC,WAAW,CAAC;QAC5E,OAAO;YACL,MAAM,EAAE,MAAM;YACd,QAAQ;YACR,eAAe,EAAE,SAAS;YAC1B,aAAa,EAAE,YAAY;YAC3B,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;YAClC,IAAI;YACJ,cAAc,EAAE,aAAa;YAC7B,gBAAgB,EAAE;gBAChB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,0BAA0B;gBACtE,SAAS,EAAE,IAAI;aAChB;SACF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,8DAA8D;AAC9D,gFAAgF;AAEhF,MAAM,WAAW,GAAG,YAAqG,CAAC;AAE1H,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,UAAU,EAAE;QACV,IAAI,EAAE,OAAO;QACb,WAAW,EAAE;YACX,4EAA4E;YAC5E,EAAE;YACF,kFAAkF;YAClF,kFAAkF;YAClF,EAAE;YACF,WAAW,WAAW,CAAC,kBAAkB,wBAAwB;gBAC/D,GAAG,WAAW,CAAC,wBAAwB,8BAA8B;gBACrE,gBAAgB,WAAW,CAAC,WAAW,GAAG;SAC7C,CAAC,IAAI,CAAC,IAAI,CAAC;QACZ,WAAW,EAAE;YACX,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE,KAAK;SACrB;QACD,WAAW,EAAE;YACX,IAAI,EAAE,QAAiB;YACvB,UAAU,EAAE;gBACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;gBACvE,YAAY,EAAE;oBACZ,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE;4BACrD,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;yBAC5B;wBACD,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC;qBAC9B;oBACD,WAAW,EAAE,6BAA6B;iBAC3C;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC;oBACjC,WAAW,EAAE,iDAAiD;iBAC/D;gBACD,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;gBACzE,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC;oBACrC,WAAW,EAAE,iBAAiB;iBAC/B;aACF;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB;KACF;IACD,OAAO,EAAE,WAAW;CACZ,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shim re-export to give consumers a valid module specifier for the
|
|
3
|
+
* space-named corpus source file. Import from this file instead of
|
|
4
|
+
* importing directly from "Hallucinated Packages Corpus from Claude.ts".
|
|
5
|
+
*/
|
|
6
|
+
export { CONFIRMED_MALICIOUS, DOCUMENTED_HALLUCINATIONS, SUSPICIOUS_PATTERNS, INCOMPLETE_NAME_MAP, CORPUS_STATS, isLikelyHallucinated, scanPackageList, type PatternCheck, type HallucinationCheckResult, type NamedHallucinationCheckResult, } from './Hallucinated Packages Corpus from Claude.js';
|
|
7
|
+
//# sourceMappingURL=hallucinated-packages-corpus.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hallucinated-packages-corpus.d.ts","sourceRoot":"","sources":["../../src/tools/hallucinated-packages-corpus.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,mBAAmB,EACnB,mBAAmB,EACnB,YAAY,EACZ,oBAAoB,EACpB,eAAe,EACf,KAAK,YAAY,EACjB,KAAK,wBAAwB,EAC7B,KAAK,6BAA6B,GACnC,MAAM,+CAA+C,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shim re-export to give consumers a valid module specifier for the
|
|
3
|
+
* space-named corpus source file. Import from this file instead of
|
|
4
|
+
* importing directly from "Hallucinated Packages Corpus from Claude.ts".
|
|
5
|
+
*/
|
|
6
|
+
export { CONFIRMED_MALICIOUS, DOCUMENTED_HALLUCINATIONS, SUSPICIOUS_PATTERNS, INCOMPLETE_NAME_MAP, CORPUS_STATS, isLikelyHallucinated, scanPackageList, } from './Hallucinated Packages Corpus from Claude.js';
|
|
7
|
+
//# sourceMappingURL=hallucinated-packages-corpus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hallucinated-packages-corpus.js","sourceRoot":"","sources":["../../src/tools/hallucinated-packages-corpus.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,mBAAmB,EACnB,mBAAmB,EACnB,YAAY,EACZ,oBAAoB,EACpB,eAAe,GAIhB,MAAM,+CAA+C,CAAC"}
|
|
@@ -59,10 +59,8 @@ export declare const intentRouterTool: {
|
|
|
59
59
|
examples?: undefined;
|
|
60
60
|
classification?: undefined;
|
|
61
61
|
registeredTools?: undefined;
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
result?: undefined;
|
|
65
|
-
args_passed?: undefined;
|
|
62
|
+
success?: undefined;
|
|
63
|
+
routing_confidence?: undefined;
|
|
66
64
|
} | {
|
|
67
65
|
routed_to: string;
|
|
68
66
|
message: string;
|
|
@@ -82,10 +80,8 @@ export declare const intentRouterTool: {
|
|
|
82
80
|
error?: undefined;
|
|
83
81
|
classification?: undefined;
|
|
84
82
|
registeredTools?: undefined;
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
result?: undefined;
|
|
88
|
-
args_passed?: undefined;
|
|
83
|
+
success?: undefined;
|
|
84
|
+
routing_confidence?: undefined;
|
|
89
85
|
} | {
|
|
90
86
|
error: string;
|
|
91
87
|
classification: ClassificationResult;
|
|
@@ -95,10 +91,8 @@ export declare const intentRouterTool: {
|
|
|
95
91
|
message?: undefined;
|
|
96
92
|
tools?: undefined;
|
|
97
93
|
examples?: undefined;
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
result?: undefined;
|
|
101
|
-
args_passed?: undefined;
|
|
94
|
+
success?: undefined;
|
|
95
|
+
routing_confidence?: undefined;
|
|
102
96
|
} | {
|
|
103
97
|
routed_to: string;
|
|
104
98
|
message: string;
|
|
@@ -108,36 +102,38 @@ export declare const intentRouterTool: {
|
|
|
108
102
|
examples?: undefined;
|
|
109
103
|
classification?: undefined;
|
|
110
104
|
registeredTools?: undefined;
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
result?: undefined;
|
|
114
|
-
args_passed?: undefined;
|
|
105
|
+
success?: undefined;
|
|
106
|
+
routing_confidence?: undefined;
|
|
115
107
|
} | {
|
|
108
|
+
policy_trace: import("../policy/types.js").PolicyDecisionTrace;
|
|
109
|
+
error?: string | undefined;
|
|
110
|
+
verify_result?: {} | null | undefined;
|
|
111
|
+
requires_approval?: boolean | undefined;
|
|
112
|
+
blocked?: boolean | undefined;
|
|
113
|
+
partial?: boolean | undefined;
|
|
116
114
|
routed_to: string;
|
|
117
115
|
action: string | undefined;
|
|
118
|
-
|
|
116
|
+
routing_confidence: number;
|
|
117
|
+
success: boolean;
|
|
118
|
+
tool: import("../policy/types.js").PublicToolName;
|
|
119
119
|
result: unknown;
|
|
120
|
-
error?: undefined;
|
|
121
120
|
hint?: undefined;
|
|
122
121
|
message?: undefined;
|
|
123
122
|
tools?: undefined;
|
|
124
123
|
examples?: undefined;
|
|
125
124
|
classification?: undefined;
|
|
126
125
|
registeredTools?: undefined;
|
|
127
|
-
args_passed?: undefined;
|
|
128
126
|
} | {
|
|
127
|
+
success: boolean;
|
|
129
128
|
routed_to: string;
|
|
130
129
|
error: string;
|
|
131
|
-
|
|
132
|
-
args_passed: Record<string, unknown>;
|
|
130
|
+
routing_confidence: number;
|
|
133
131
|
hint?: undefined;
|
|
134
132
|
message?: undefined;
|
|
135
133
|
tools?: undefined;
|
|
136
134
|
examples?: undefined;
|
|
135
|
+
classification?: undefined;
|
|
137
136
|
registeredTools?: undefined;
|
|
138
|
-
action?: undefined;
|
|
139
|
-
confidence?: undefined;
|
|
140
|
-
result?: undefined;
|
|
141
137
|
}>;
|
|
142
138
|
};
|
|
143
139
|
//# sourceMappingURL=intent-router.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intent-router.d.ts","sourceRoot":"","sources":["../../src/tools/intent-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;
|
|
1
|
+
{"version":3,"file":"intent-router.d.ts","sourceRoot":"","sources":["../../src/tools/intent-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAoNH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAkCD,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC;IAAE,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CAAE,CAAC,QA0BzI;AAMD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAyCL,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuM9C,CAAC"}
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
* Falls back to conversation tool for unknown intents.
|
|
10
10
|
*/
|
|
11
11
|
import { logger } from '../utils/logger.js';
|
|
12
|
+
import { runToolWithPolicy } from '../policy/index.js';
|
|
12
13
|
const INTENT_MAPPINGS = [
|
|
13
14
|
// Session Management - HIGH PRIORITY (check first)
|
|
14
15
|
{
|
|
@@ -220,7 +221,27 @@ const toolRegistry = new Map();
|
|
|
220
221
|
export function registerTools(tools) {
|
|
221
222
|
toolRegistry.clear();
|
|
222
223
|
for (const tool of tools) {
|
|
223
|
-
|
|
224
|
+
const toolName = tool.definition.name;
|
|
225
|
+
// Wrap each registered handler so couchloop-routed calls go through the
|
|
226
|
+
// same policy path (sanitize → verify-if-required → normalize → log)
|
|
227
|
+
// with routedVia='couchloop'.
|
|
228
|
+
const originalHandler = tool.handler;
|
|
229
|
+
toolRegistry.set(toolName, {
|
|
230
|
+
handler: async (args) => {
|
|
231
|
+
const ctx = {
|
|
232
|
+
toolName: toolName,
|
|
233
|
+
routedVia: 'couchloop',
|
|
234
|
+
sessionId: typeof args.session_id === 'string' ? args.session_id : undefined,
|
|
235
|
+
startedAt: Date.now(),
|
|
236
|
+
};
|
|
237
|
+
// If the handler is already wrapped (direct-path wrapping in primary-tools),
|
|
238
|
+
// avoid double-wrapping: call the original unwrapped version.
|
|
239
|
+
// The tools stored in toolRegistry are the wrapped versions from primary-tools;
|
|
240
|
+
// we re-wrap here with routedVia='couchloop' so the policy log reflects the
|
|
241
|
+
// actual call path. This is intentional — each leg of a routed call is logged.
|
|
242
|
+
return runToolWithPolicy(ctx, args, originalHandler);
|
|
243
|
+
},
|
|
244
|
+
});
|
|
224
245
|
}
|
|
225
246
|
logger.info(`Intent router registered ${toolRegistry.size} tools`);
|
|
226
247
|
}
|
|
@@ -431,24 +452,35 @@ This tool should be invoked for ANY ambiguous or loose command related to sessio
|
|
|
431
452
|
targetArgs.content = context || intent;
|
|
432
453
|
break;
|
|
433
454
|
}
|
|
434
|
-
// Invoke the target tool
|
|
455
|
+
// Invoke the target tool (handler is already wrapped with policy layer
|
|
456
|
+
// via registerTools, so the result is NormalizedToolResponse).
|
|
435
457
|
try {
|
|
436
|
-
const
|
|
458
|
+
const innerResult = await targetTool.handler(targetArgs);
|
|
459
|
+
// Flatten: expose inner tool's success/error/partial/blocked at the top
|
|
460
|
+
// level so callers don't need to drill into result.result.
|
|
437
461
|
return {
|
|
438
462
|
routed_to: classification.tool,
|
|
439
463
|
action: classification.action,
|
|
440
|
-
|
|
441
|
-
|
|
464
|
+
routing_confidence: classification.confidence,
|
|
465
|
+
success: innerResult.success,
|
|
466
|
+
tool: innerResult.tool,
|
|
467
|
+
result: innerResult.result,
|
|
468
|
+
...(innerResult.partial ? { partial: true } : {}),
|
|
469
|
+
...(innerResult.blocked ? { blocked: true } : {}),
|
|
470
|
+
...(innerResult.requires_approval ? { requires_approval: true } : {}),
|
|
471
|
+
...(innerResult.verify_result !== undefined ? { verify_result: innerResult.verify_result } : {}),
|
|
472
|
+
...(innerResult.error ? { error: innerResult.error } : {}),
|
|
473
|
+
policy_trace: innerResult.policy_trace,
|
|
442
474
|
};
|
|
443
475
|
}
|
|
444
476
|
catch (error) {
|
|
445
477
|
const errorMessage = error instanceof Error ? error.message : 'Tool invocation failed';
|
|
446
478
|
logger.error('Intent router tool invocation failed:', error);
|
|
447
479
|
return {
|
|
480
|
+
success: false,
|
|
448
481
|
routed_to: classification.tool,
|
|
449
482
|
error: errorMessage,
|
|
450
|
-
classification,
|
|
451
|
-
args_passed: targetArgs,
|
|
483
|
+
routing_confidence: classification.confidence,
|
|
452
484
|
};
|
|
453
485
|
}
|
|
454
486
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intent-router.js","sourceRoot":"","sources":["../../src/tools/intent-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"intent-router.js","sourceRoot":"","sources":["../../src/tools/intent-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAA+B,MAAM,oBAAoB,CAAC;AAcpF,MAAM,eAAe,GAAoB;IACvC,mDAAmD;IACnD;QACE,QAAQ,EAAE;YACR,oGAAoG;YACpG,oEAAoE;YACpE,qCAAqC;YACrC,0DAA0D;YAC1D,iBAAiB;YACjB,yDAAyD;YACzD,kDAAkD;YAClD,kDAAkD;YAClD,4DAA4D;SAC7D;QACD,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,KAAK;KACd;IACD;QACE,QAAQ,EAAE;YACR,yDAAyD;YACzD,yDAAyD;YACzD,uCAAuC;SACxC;QACD,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,OAAO;KAChB;IACD;QACE,QAAQ,EAAE;YACR,yEAAyE;YACzE,2CAA2C;SAC5C;QACD,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,QAAQ;KACjB;IACD;QACE,QAAQ,EAAE;YACR,6CAA6C;YAC7C,0CAA0C;SAC3C;QACD,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,QAAQ;KACjB;IAED,8CAA8C;IAC9C;QACE,QAAQ,EAAE;YACR,uFAAuF;YACvF,2DAA2D;YAC3D,qCAAqC;YACrC,yCAAyC;YACzC,mBAAmB;SACpB;QACD,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,MAAM;KACf;IACD;QACE,QAAQ,EAAE;YACR,0FAA0F;YAC1F,wDAAwD;YACxD,wCAAwC;SACzC;QACD,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,QAAQ;KACjB;IACD;QACE,QAAQ,EAAE;YACR,wDAAwD;YACxD,qDAAqD;SACtD;QACD,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,MAAM;KACf;IAED,cAAc;IACd;QACE,QAAQ,EAAE;YACR,6FAA6F;YAC7F,0CAA0C;YAC1C,uDAAuD;YACvD,qBAAqB;YACrB,2DAA2D;YAC3D,6CAA6C;YAC7C,6BAA6B;SAC9B;QACD,IAAI,EAAE,aAAa;KACpB;IAED,gBAAgB;IAChB;QACE,QAAQ,EAAE;YACR,yEAAyE;YACzE,2EAA2E;YAC3E,2EAA2E;YAC3E,kBAAkB;YAClB,0DAA0D;YAC1D,6CAA6C;SAC9C;QACD,IAAI,EAAE,eAAe;KACtB;IAED,kBAAkB;IAClB;QACE,QAAQ,EAAE;YACR,gDAAgD;YAChD,kDAAkD;YAClD,+CAA+C;YAC/C,qCAAqC;YACrC,oBAAoB;YACpB,kBAAkB;SACnB;QACD,IAAI,EAAE,SAAS;KAChB;IAED,iDAAiD;IACjD;QACE,QAAQ,EAAE;YACR,yDAAyD;YACzD,6CAA6C;YAC7C,mBAAmB;YACnB,mEAAmE;YACnE,uCAAuC;SACxC;QACD,IAAI,EAAE,MAAM,EAAG,gCAAgC;KAChD;IAED,6CAA6C;IAC7C;QACE,QAAQ,EAAE;YACR,4DAA4D;YAC5D,wDAAwD;YACxD,8EAA8E;YAC9E,8EAA8E;YAC9E,oGAAoG;YACpG,iGAAiG;YACjG,wDAAwD;YACxD,4BAA4B;YAC5B,yDAAyD;YACzD,2DAA2D;YAC3D,iDAAiD;YACjD,mDAAmD;SACpD;QACD,IAAI,EAAE,YAAY;KACnB;IAED,yBAAyB;IACzB;QACE,QAAQ,EAAE;YACR,8DAA8D;YAC9D,wDAAwD;YACxD,4CAA4C;YAC5C,kCAAkC;YAClC,yCAAyC;YACzC,iCAAiC;YACjC,2BAA2B;YAC3B,0CAA0C;SAC3C;QACD,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,KAAK;KACd;IAED,2CAA2C;IAC3C;QACE,QAAQ,EAAE;YACR,8EAA8E;YAC9E,8DAA8D;YAC9D,0CAA0C;YAC1C,0CAA0C;YAC1C,6DAA6D;YAC7D,2DAA2D;YAC3D,2CAA2C;YAC3C,6DAA6D;SAC9D;QACD,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;KAC7B;IAED,wEAAwE;IACxE;QACE,QAAQ,EAAE;YACR,0FAA0F;YAC1F,wCAAwC;YACxC,yCAAyC;YACzC,sBAAsB;YACtB,mDAAmD;YACnD,iCAAiC;SAClC;QACD,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,MAAM;KACf;CACF,CAAC;AAcF,SAAS,cAAc,CAAC,KAAa;IACnC,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;IAEnD,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;QACtC,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACvC,IAAI,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;gBAClC,OAAO;oBACL,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,UAAU,EAAE,GAAG;oBACf,cAAc,EAAE,OAAO,CAAC,MAAM;oBAC9B,IAAI,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE;iBAChC,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,oDAAoD;IACpD,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,GAAG;QACf,IAAI,EAAE,EAAE;KACT,CAAC;AACJ,CAAC;AAED,+DAA+D;AAC/D,gDAAgD;AAChD,+DAA+D;AAE/D,MAAM,YAAY,GAAkF,IAAI,GAAG,EAAE,CAAC;AAE9G,MAAM,UAAU,aAAa,CAAC,KAA4G;IACxI,YAAY,CAAC,KAAK,EAAE,CAAC;IACrB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QACtC,wEAAwE;QACxE,qEAAqE;QACrE,8BAA8B;QAC9B,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC;QACrC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE;YACzB,OAAO,EAAE,KAAK,EAAE,IAA6B,EAAE,EAAE;gBAC/C,MAAM,GAAG,GAAkB;oBACzB,QAAQ,EAAE,QAAuD;oBACjE,SAAS,EAAE,WAAW;oBACtB,SAAS,EAAE,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;oBAC5E,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;iBACtB,CAAC;gBACF,6EAA6E;gBAC7E,8DAA8D;gBAC9D,gFAAgF;gBAChF,4EAA4E;gBAC5E,+EAA+E;gBAC/E,OAAO,iBAAiB,CAAC,GAAG,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;YACvD,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,4BAA4B,YAAY,CAAC,IAAI,QAAQ,CAAC,CAAC;AACrE,CAAC;AAED,+DAA+D;AAC/D,gCAAgC;AAChC,+DAA+D;AAE/D,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,UAAU,EAAE;QACV,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE;;;;;;;;;;;kKAWiJ;QAC9J,WAAW,EAAE;YACX,YAAY,EAAE,KAAK;YACnB,eAAe,EAAE,KAAK;YACtB,cAAc,EAAE,KAAK;YACrB,aAAa,EAAE,IAAI;SACpB;QACD,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,4FAA4F;iBAC1G;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,4DAA4D;iBAC1E;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,qBAAqB;iBACnC;aACF;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;SACrB;KACF;IAED,OAAO,EAAE,KAAK,EAAE,IAA6B,EAAE,EAAE;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAgB,CAAC;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,OAA6B,CAAC;QACnD,MAAM,SAAS,GAAG,IAAI,CAAC,UAAgC,CAAC;QAExD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;gBACL,KAAK,EAAE,oCAAoC;gBAC3C,IAAI,EAAE,yEAAyE;aAChF,CAAC;QACJ,CAAC;QAED,sBAAsB;QACtB,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QAE9C,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE;YACpC,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,cAAc,CAAC,IAAI;YACzB,MAAM,EAAE,cAAc,CAAC,MAAM;YAC7B,UAAU,EAAE,cAAc,CAAC,UAAU;YACrC,cAAc,EAAE,cAAc,CAAC,cAAc;SAC9C,CAAC,CAAC;QAEH,kDAAkD;QAClD,IAAI,cAAc,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACnC,OAAO;gBACL,SAAS,EAAE,MAAM;gBACjB,OAAO,EAAE,wCAAwC;gBACjD,KAAK,EAAE;oBACL,SAAS,EAAE,8DAA8D;oBACzE,MAAM,EAAE,wFAAwF;oBAChG,MAAM,EAAE,yEAAyE;oBACjF,YAAY,EAAE,sIAAsI;oBACpJ,UAAU,EAAE,4HAA4H;oBACxI,QAAQ,EAAE,0FAA0F;oBACpG,WAAW,EAAE,gJAAgJ;oBAC7J,aAAa,EAAE,oJAAoJ;oBACnK,OAAO,EAAE,qDAAqD;iBAC/D;gBACD,QAAQ,EAAE;oBACR,yDAAyD;oBACzD,oEAAoE;oBACpE,mFAAmF;oBACnF,qFAAqF;oBACrF,2EAA2E;oBAC3E,uCAAuC;oBACvC,yGAAyG;oBACzG,gFAAgF;iBACjF;gBACD,IAAI,EAAE,sJAAsJ;aAC7J,CAAC;QACJ,CAAC;QAED,0BAA0B;QAC1B,MAAM,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAEzD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO;gBACL,KAAK,EAAE,mBAAmB,cAAc,CAAC,IAAI,EAAE;gBAC/C,cAAc;gBACd,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;aACjD,CAAC;QACJ,CAAC;QAED,sCAAsC;QACtC,MAAM,UAAU,GAA4B;YAC1C,GAAG,cAAc,CAAC,IAAI;SACvB,CAAC;QAEF,wBAAwB;QACxB,IAAI,SAAS,EAAE,CAAC;YACd,UAAU,CAAC,UAAU,GAAG,SAAS,CAAC;QACpC,CAAC;QAED,iCAAiC;QACjC,QAAQ,cAAc,CAAC,IAAI,EAAE,CAAC;YAC5B,KAAK,cAAc;gBACjB,UAAU,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,IAAI,MAAM,CAAC;gBACpD,UAAU,CAAC,OAAO,GAAG,OAAO,IAAI,MAAM,CAAC;gBACvC,MAAM;YAER,KAAK,YAAY;gBACf,UAAU,CAAC,OAAO,GAAG,OAAO,IAAI,MAAM,CAAC;gBACvC,MAAM;YAER,KAAK,UAAU;gBACb,UAAU,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,IAAI,MAAM,CAAC;gBACpD,UAAU,CAAC,OAAO,GAAG,OAAO,IAAI,MAAM,CAAC;gBACvC,MAAM;YAER,KAAK,aAAa;gBAChB,UAAU,CAAC,IAAI,GAAG,OAAO,IAAI,EAAE,CAAC;gBAChC,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO;wBACL,SAAS,EAAE,aAAa;wBACxB,OAAO,EAAE,2DAA2D;wBACpE,IAAI,EAAE,gHAAgH;qBACvH,CAAC;gBACJ,CAAC;gBACD,MAAM;YAER,KAAK,eAAe;gBAClB,4CAA4C;gBAC5C,IAAI,OAAO,EAAE,CAAC;oBACZ,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBACnE,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC;gBACjC,CAAC;qBAAM,CAAC;oBACN,OAAO;wBACL,SAAS,EAAE,eAAe;wBAC1B,OAAO,EAAE,wDAAwD;wBACjE,IAAI,EAAE,4DAA4D;qBACnE,CAAC;gBACJ,CAAC;gBACD,MAAM;YAER,KAAK,SAAS;gBACZ,2BAA2B;gBAC3B,IAAI,+BAA+B,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;oBACjD,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC;gBACjC,CAAC;qBAAM,IAAI,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;oBACvC,UAAU,CAAC,MAAM,GAAG,QAAQ,CAAC;gBAC/B,CAAC;qBAAM,IAAI,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC3C,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC;gBACjC,CAAC;qBAAM,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;oBAClC,UAAU,CAAC,MAAM,GAAG,QAAQ,CAAC;gBAC/B,CAAC;qBAAM,CAAC;oBACN,UAAU,CAAC,MAAM,GAAG,QAAQ,CAAC;gBAC/B,CAAC;gBACD,IAAI,OAAO,EAAE,CAAC;oBACZ,UAAU,CAAC,IAAI,GAAG,OAAO,CAAC;gBAC5B,CAAC;gBACD,MAAM;YAER,KAAK,QAAQ;gBACX,kCAAkC;gBAClC,IAAI,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;oBACrC,UAAU,CAAC,KAAK,GAAG,SAAS,CAAC;gBAC/B,CAAC;qBAAM,IAAI,0BAA0B,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;oBACnD,UAAU,CAAC,KAAK,GAAG,SAAS,CAAC;gBAC/B,CAAC;qBAAM,IAAI,kCAAkC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC3D,UAAU,CAAC,KAAK,GAAG,SAAS,CAAC;gBAC/B,CAAC;qBAAM,IAAI,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;oBACpD,UAAU,CAAC,KAAK,GAAG,YAAY,CAAC;gBAClC,CAAC;qBAAM,IAAI,8BAA8B,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;oBACvD,UAAU,CAAC,KAAK,GAAG,aAAa,CAAC;gBACnC,CAAC;qBAAM,CAAC;oBACN,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC;gBAC3B,CAAC;gBACD,MAAM;YAER,KAAK,QAAQ;gBACX,8CAA8C;gBAC9C,IAAI,6BAA6B,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,oBAAoB,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;oBAC3F,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC;gBAC/B,CAAC;qBAAM,IAAI,6BAA6B,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,IAAI,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACtH,UAAU,CAAC,IAAI,GAAG,MAAM,CAAC;gBAC3B,CAAC;qBAAM,IAAI,oCAAoC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC7D,UAAU,CAAC,IAAI,GAAG,OAAO,CAAC;gBAC5B,CAAC;qBAAM,IAAI,8BAA8B,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;oBACvD,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC;gBAC/B,CAAC;qBAAM,CAAC;oBACN,UAAU,CAAC,IAAI,GAAG,KAAK,CAAC;gBAC1B,CAAC;gBACD,UAAU,CAAC,OAAO,GAAG,OAAO,IAAI,MAAM,CAAC;gBACvC,MAAM;QACV,CAAC;QAED,uEAAuE;QACvE,+DAA+D;QAC/D,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,UAAU,CAA2B,CAAC;YAEnF,wEAAwE;YACxE,2DAA2D;YAC3D,OAAO;gBACL,SAAS,EAAE,cAAc,CAAC,IAAI;gBAC9B,MAAM,EAAE,cAAc,CAAC,MAAM;gBAC7B,kBAAkB,EAAE,cAAc,CAAC,UAAU;gBAC7C,OAAO,EAAE,WAAW,CAAC,OAAO;gBAC5B,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,MAAM,EAAE,WAAW,CAAC,MAAM;gBAC1B,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjD,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjD,GAAG,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrE,GAAG,CAAC,WAAW,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,WAAW,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChG,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1D,YAAY,EAAE,WAAW,CAAC,YAAY;aACvC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC;YACvF,MAAM,CAAC,KAAK,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC;YAC7D,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,SAAS,EAAE,cAAc,CAAC,IAAI;gBAC9B,KAAK,EAAE,YAAY;gBACnB,kBAAkB,EAAE,cAAc,CAAC,UAAU;aAC9C,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC"}
|
|
@@ -13,12 +13,12 @@ declare const PreReviewCodeInputSchema: z.ZodObject<{
|
|
|
13
13
|
}, "strip", z.ZodTypeAny, {
|
|
14
14
|
code: string;
|
|
15
15
|
language: string;
|
|
16
|
-
strictness: "medium" | "
|
|
16
|
+
strictness: "medium" | "high" | "low";
|
|
17
17
|
format: "json" | "summary" | "markdown";
|
|
18
18
|
}, {
|
|
19
19
|
code: string;
|
|
20
20
|
language?: string | undefined;
|
|
21
|
-
strictness?: "medium" | "
|
|
21
|
+
strictness?: "medium" | "high" | "low" | undefined;
|
|
22
22
|
format?: "json" | "summary" | "markdown" | undefined;
|
|
23
23
|
}>;
|
|
24
24
|
export type PreReviewCodeInput = z.infer<typeof PreReviewCodeInputSchema>;
|