tryassay 0.34.0 → 0.35.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.
- package/dist/bayesian/__tests__/bas-calculator.test.d.ts +1 -0
- package/dist/bayesian/__tests__/bas-calculator.test.js +63 -0
- package/dist/bayesian/__tests__/bas-calculator.test.js.map +1 -0
- package/dist/bayesian/__tests__/structural-entropy.test.d.ts +1 -0
- package/dist/bayesian/__tests__/structural-entropy.test.js +21 -0
- package/dist/bayesian/__tests__/structural-entropy.test.js.map +1 -0
- package/dist/bayesian/bas-calculator.d.ts +41 -0
- package/dist/bayesian/bas-calculator.js +198 -0
- package/dist/bayesian/bas-calculator.js.map +1 -0
- package/dist/bayesian/index.d.ts +3 -0
- package/dist/bayesian/index.js +3 -0
- package/dist/bayesian/index.js.map +1 -0
- package/dist/bayesian/structural-entropy.d.ts +12 -0
- package/dist/bayesian/structural-entropy.js +37 -0
- package/dist/bayesian/structural-entropy.js.map +1 -0
- package/dist/bayesian/types.d.ts +37 -0
- package/dist/bayesian/types.js +6 -0
- package/dist/bayesian/types.js.map +1 -0
- package/dist/cli.js +28 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/__tests__/assess-formal.test.d.ts +1 -0
- package/dist/commands/__tests__/assess-formal.test.js +72 -0
- package/dist/commands/__tests__/assess-formal.test.js.map +1 -0
- package/dist/commands/activate.d.ts +1 -0
- package/dist/commands/activate.js +48 -0
- package/dist/commands/activate.js.map +1 -0
- package/dist/commands/assess.js +100 -5
- package/dist/commands/assess.js.map +1 -1
- package/dist/commands/bas-score.d.ts +13 -0
- package/dist/commands/bas-score.js +310 -0
- package/dist/commands/bas-score.js.map +1 -0
- package/dist/commands/bounty-watch.js.map +1 -1
- package/dist/commands/hunt.js +32 -0
- package/dist/commands/hunt.js.map +1 -1
- package/dist/commands/runtime.js +11 -10
- package/dist/commands/runtime.js.map +1 -1
- package/dist/commands/stream-verify.d.ts +16 -0
- package/dist/commands/stream-verify.js +228 -0
- package/dist/commands/stream-verify.js.map +1 -0
- package/dist/commands/watch.js.map +1 -1
- package/dist/hunt/__tests__/deep-dive.test.js.map +1 -1
- package/dist/hunt/__tests__/e2e.test.js.map +1 -1
- package/dist/hunt/__tests__/finding-to-template.test.js +10 -1
- package/dist/hunt/__tests__/finding-to-template.test.js.map +1 -1
- package/dist/hunt/__tests__/orchestrator.test.js.map +1 -1
- package/dist/hunt/__tests__/templates.test.js +2 -2
- package/dist/hunt/__tests__/triage.test.js.map +1 -1
- package/dist/hunt/deep-dive.js +7 -7
- package/dist/hunt/deep-dive.js.map +1 -1
- package/dist/hunt/parse-utils.d.ts +1 -1
- package/dist/hunt/state.js.map +1 -1
- package/dist/hunt/templates/injection.js +1 -1
- package/dist/hunt/templates/injection.js.map +1 -1
- package/dist/hunt/triage.js +5 -5
- package/dist/hunt/triage.js.map +1 -1
- package/dist/lib/__tests__/arithmetic-quick-test.js +10 -9
- package/dist/lib/__tests__/arithmetic-quick-test.js.map +1 -1
- package/dist/lib/__tests__/arithmetic-real-llm-test.js +8 -8
- package/dist/lib/__tests__/arithmetic-real-llm-test.js.map +1 -1
- package/dist/lib/__tests__/formal-verifier-behavioral.test.d.ts +18 -0
- package/dist/lib/__tests__/formal-verifier-behavioral.test.js +576 -0
- package/dist/lib/__tests__/formal-verifier-behavioral.test.js.map +1 -0
- package/dist/lib/__tests__/formal-verifier-claimless-async.test.d.ts +1 -0
- package/dist/lib/__tests__/formal-verifier-claimless-async.test.js +154 -0
- package/dist/lib/__tests__/formal-verifier-claimless-async.test.js.map +1 -0
- package/dist/lib/__tests__/formal-verifier-claimless-quality.test.d.ts +1 -0
- package/dist/lib/__tests__/formal-verifier-claimless-quality.test.js +121 -0
- package/dist/lib/__tests__/formal-verifier-claimless-quality.test.js.map +1 -0
- package/dist/lib/__tests__/formal-verifier-claimless-realworld.test.d.ts +1 -0
- package/dist/lib/__tests__/formal-verifier-claimless-realworld.test.js +119 -0
- package/dist/lib/__tests__/formal-verifier-claimless-realworld.test.js.map +1 -0
- package/dist/lib/__tests__/formal-verifier-claimless.test.d.ts +1 -0
- package/dist/lib/__tests__/formal-verifier-claimless.test.js +667 -0
- package/dist/lib/__tests__/formal-verifier-claimless.test.js.map +1 -0
- package/dist/lib/__tests__/mr-gsm8k-benchmark.js +6 -6
- package/dist/lib/__tests__/mr-gsm8k-benchmark.js.map +1 -1
- package/dist/lib/__tests__/pr-harvester.test.js.map +1 -1
- package/dist/lib/assessment-reporter.d.ts +1 -1
- package/dist/lib/assessment-reporter.js +2 -1
- package/dist/lib/assessment-reporter.js.map +1 -1
- package/dist/lib/chain-analyzer.d.ts +4 -3
- package/dist/lib/chain-analyzer.js.map +1 -1
- package/dist/lib/formal-verifier.d.ts +20 -1
- package/dist/lib/formal-verifier.js +1180 -23
- package/dist/lib/formal-verifier.js.map +1 -1
- package/dist/lib/issue-reporter.d.ts +2 -1
- package/dist/lib/issue-reporter.js.map +1 -1
- package/dist/lib/remediation-generator.js.map +1 -1
- package/dist/lib/report-generator.js.map +1 -1
- package/dist/lib/rule-harvester/ground-truth.js +13 -2
- package/dist/lib/rule-harvester/ground-truth.js.map +1 -1
- package/dist/lib/rule-harvester/scanner.d.ts +1 -1
- package/dist/lib/user-config.d.ts +1 -0
- package/dist/lib/user-config.js.map +1 -1
- package/dist/realtime/__tests__/entropy-detector.test.d.ts +1 -0
- package/dist/realtime/__tests__/entropy-detector.test.js +200 -0
- package/dist/realtime/__tests__/entropy-detector.test.js.map +1 -0
- package/dist/realtime/__tests__/entropy-live-demo.d.ts +1 -0
- package/dist/realtime/__tests__/entropy-live-demo.js +103 -0
- package/dist/realtime/__tests__/entropy-live-demo.js.map +1 -0
- package/dist/realtime/__tests__/entropy-live.d.ts +8 -0
- package/dist/realtime/__tests__/entropy-live.js +114 -0
- package/dist/realtime/__tests__/entropy-live.js.map +1 -0
- package/dist/realtime/__tests__/streaming-checks.test.js +3 -4
- package/dist/realtime/__tests__/streaming-checks.test.js.map +1 -1
- package/dist/realtime/entropy-detector.d.ts +143 -0
- package/dist/realtime/entropy-detector.js +504 -0
- package/dist/realtime/entropy-detector.js.map +1 -0
- package/dist/realtime/mcp-server.d.ts +7 -1
- package/dist/realtime/mcp-server.js +378 -2
- package/dist/realtime/mcp-server.js.map +1 -1
- package/dist/realtime/stream-interceptor.d.ts +28 -0
- package/dist/realtime/stream-interceptor.js +204 -0
- package/dist/realtime/stream-interceptor.js.map +1 -1
- package/dist/realtime/streaming-checks.js +28 -0
- package/dist/realtime/streaming-checks.js.map +1 -1
- package/dist/realtime/streaming-verifier.d.ts +45 -0
- package/dist/realtime/streaming-verifier.js +98 -5
- package/dist/realtime/streaming-verifier.js.map +1 -1
- package/dist/realtime/types.d.ts +56 -0
- package/dist/runtime/agents/research-agent.js +10 -1
- package/dist/runtime/agents/research-agent.js.map +1 -1
- package/dist/runtime/agents/test-agent.js +10 -7
- package/dist/runtime/agents/test-agent.js.map +1 -1
- package/dist/runtime/composition-verifier.js +13 -3
- package/dist/runtime/composition-verifier.js.map +1 -1
- package/dist/runtime/fs-helpers.js.map +1 -1
- package/dist/runtime/prompt-safety-analyzer.js.map +1 -1
- package/dist/sdk/verified-generate.js.map +1 -1
- package/dist/types.d.ts +14 -0
- package/package.json +3 -2
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import Anthropic from '@anthropic-ai/sdk';
|
|
11
11
|
import { StreamingVerifier } from './streaming-verifier.js';
|
|
12
|
+
import { EntropyDetector } from './entropy-detector.js';
|
|
12
13
|
// ---------------------------------------------------------------------------
|
|
13
14
|
// Severity ordering for comparison
|
|
14
15
|
// ---------------------------------------------------------------------------
|
|
@@ -146,6 +147,209 @@ export async function createVerifiedStream(options) {
|
|
|
146
147
|
};
|
|
147
148
|
}
|
|
148
149
|
// ---------------------------------------------------------------------------
|
|
150
|
+
// createVerifiedStreamOpenAI — OpenAI API with logprob entropy detection
|
|
151
|
+
// ---------------------------------------------------------------------------
|
|
152
|
+
/**
|
|
153
|
+
* Create and run a verified stream using the OpenAI API.
|
|
154
|
+
* Captures per-token logprobs and runs the entropy hallucination detector
|
|
155
|
+
* alongside the standard pattern-based checks.
|
|
156
|
+
*/
|
|
157
|
+
async function createVerifiedStreamOpenAI(options) {
|
|
158
|
+
const start = Date.now();
|
|
159
|
+
const model = options.model ?? 'gpt-4o-mini';
|
|
160
|
+
const maxTokens = options.maxTokens ?? 4096;
|
|
161
|
+
// Dynamically import OpenAI SDK (optional dependency)
|
|
162
|
+
const { default: OpenAI } = await import('openai');
|
|
163
|
+
const apiKey = options.openaiApiKey ?? process.env.OPENAI_API_KEY;
|
|
164
|
+
if (!apiKey) {
|
|
165
|
+
throw new Error('OPENAI_API_KEY is required when provider="openai".\n' +
|
|
166
|
+
'Set it via the openaiApiKey option or OPENAI_API_KEY env var.');
|
|
167
|
+
}
|
|
168
|
+
const client = new OpenAI({ apiKey });
|
|
169
|
+
// Create verifier + entropy detector
|
|
170
|
+
const verifier = new StreamingVerifier({
|
|
171
|
+
language: options.language,
|
|
172
|
+
projectPath: options.projectPath,
|
|
173
|
+
});
|
|
174
|
+
const entropy = new EntropyDetector(options.entropyDetector);
|
|
175
|
+
const allEvents = [];
|
|
176
|
+
const autoCorrect = options.autoCorrect ?? false;
|
|
177
|
+
const minCorrectionSeverity = options.minCorrectionSeverity ?? 'high';
|
|
178
|
+
// Start streaming with logprobs
|
|
179
|
+
// GPT-5.x models require max_completion_tokens instead of max_tokens
|
|
180
|
+
const isGpt5 = model.startsWith('gpt-5');
|
|
181
|
+
const stream = await client.chat.completions.create({
|
|
182
|
+
model,
|
|
183
|
+
...(isGpt5 ? { max_completion_tokens: maxTokens } : { max_tokens: maxTokens }),
|
|
184
|
+
temperature: 0,
|
|
185
|
+
stream: true,
|
|
186
|
+
stream_options: { include_usage: true },
|
|
187
|
+
logprobs: true,
|
|
188
|
+
top_logprobs: isGpt5 ? 5 : 20, // GPT-5.x caps at 5
|
|
189
|
+
messages: [
|
|
190
|
+
...(options.systemPrompt ? [{ role: 'system', content: options.systemPrompt }] : []),
|
|
191
|
+
{ role: 'user', content: options.userPrompt },
|
|
192
|
+
],
|
|
193
|
+
});
|
|
194
|
+
let inputTokens = 0;
|
|
195
|
+
let outputTokens = 0;
|
|
196
|
+
// Collect raw logprob data for downstream BAS analysis (MCP stream_verify)
|
|
197
|
+
const collectedLogprobs = [];
|
|
198
|
+
for await (const chunk of stream) {
|
|
199
|
+
// Extract usage from final chunk
|
|
200
|
+
if (chunk.usage) {
|
|
201
|
+
inputTokens = chunk.usage.prompt_tokens;
|
|
202
|
+
outputTokens = chunk.usage.completion_tokens;
|
|
203
|
+
}
|
|
204
|
+
const choice = chunk.choices?.[0];
|
|
205
|
+
if (!choice)
|
|
206
|
+
continue;
|
|
207
|
+
const delta = choice.delta;
|
|
208
|
+
const text = delta?.content;
|
|
209
|
+
if (!text)
|
|
210
|
+
continue;
|
|
211
|
+
// Fire text callback
|
|
212
|
+
options.onText?.(text);
|
|
213
|
+
// -- Entropy detector (token-level) --
|
|
214
|
+
const logprobContent = choice.logprobs?.content;
|
|
215
|
+
if (logprobContent) {
|
|
216
|
+
for (const tokenInfo of logprobContent) {
|
|
217
|
+
const tokenLogprob = {
|
|
218
|
+
token: tokenInfo.token,
|
|
219
|
+
logprob: tokenInfo.logprob,
|
|
220
|
+
topLogprobs: (tokenInfo.top_logprobs ?? []).map(t => ({
|
|
221
|
+
token: t.token,
|
|
222
|
+
logprob: t.logprob,
|
|
223
|
+
})),
|
|
224
|
+
};
|
|
225
|
+
// Collect raw logprob data for downstream consumers
|
|
226
|
+
collectedLogprobs.push({
|
|
227
|
+
token: tokenInfo.token,
|
|
228
|
+
top_logprobs: (tokenInfo.top_logprobs ?? []).map(t => ({
|
|
229
|
+
token: t.token,
|
|
230
|
+
logprob: t.logprob,
|
|
231
|
+
})),
|
|
232
|
+
});
|
|
233
|
+
const entropyEvent = entropy.pushToken(tokenLogprob);
|
|
234
|
+
if (entropyEvent) {
|
|
235
|
+
// Set the language on the code unit
|
|
236
|
+
entropyEvent.codeUnit.language = options.language;
|
|
237
|
+
allEvents.push(entropyEvent);
|
|
238
|
+
options.onVerification?.(entropyEvent);
|
|
239
|
+
if (autoCorrect &&
|
|
240
|
+
meetsMinSeverity(entropyEvent.severity, minCorrectionSeverity)) {
|
|
241
|
+
options.onCorrection?.({
|
|
242
|
+
finding: entropyEvent,
|
|
243
|
+
generatedSoFar: verifier.getGeneratedCode(),
|
|
244
|
+
});
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
// -- Pattern checks (code-unit level) + entropy context --
|
|
250
|
+
const events = verifier.push(text);
|
|
251
|
+
for (const event of events) {
|
|
252
|
+
// Attach entropy context from the tokens that formed this code unit
|
|
253
|
+
const unitEntropy = entropy.consumeUnitEntropy();
|
|
254
|
+
if (unitEntropy) {
|
|
255
|
+
event.entropyContext = unitEntropy;
|
|
256
|
+
// Severity escalation: pattern match + low model confidence = escalate
|
|
257
|
+
if (event.verdict === 'FAIL' && unitEntropy.confidence === 'low') {
|
|
258
|
+
// Model is uncertain AND pattern check failed — escalate
|
|
259
|
+
const dynamicsNote = unitEntropy.dynamicsScore > 0.5
|
|
260
|
+
? `, dynamics=${(unitEntropy.dynamicsScore * 100).toFixed(0)}%`
|
|
261
|
+
: '';
|
|
262
|
+
event.evidence += ` [ESCALATED: model confidence is LOW (${(unitEntropy.highEntropyFraction * 100).toFixed(0)}% high-entropy tokens${dynamicsNote})]`;
|
|
263
|
+
if (event.severity === 'medium')
|
|
264
|
+
event.severity = 'high';
|
|
265
|
+
if (event.severity === 'low')
|
|
266
|
+
event.severity = 'medium';
|
|
267
|
+
}
|
|
268
|
+
// Emit soft warning: no pattern match but model is very uncertain
|
|
269
|
+
// Triggers on EITHER high-entropy fraction OR high dynamics score
|
|
270
|
+
if (event.verdict !== 'FAIL' && unitEntropy.confidence === 'low') {
|
|
271
|
+
const dynamicsInfo = unitEntropy.dynamicsScore > 0.5
|
|
272
|
+
? ` Dynamics score: ${(unitEntropy.dynamicsScore * 100).toFixed(0)}% ` +
|
|
273
|
+
`(entropy variance=${unitEntropy.entropyStd.toFixed(3)}, ` +
|
|
274
|
+
`window variance=${unitEntropy.windowMaxVariance.toFixed(4)}, ` +
|
|
275
|
+
`competitive=${(unitEntropy.competitiveFraction * 100).toFixed(0)}%).`
|
|
276
|
+
: '';
|
|
277
|
+
const reviewEvent = {
|
|
278
|
+
type: 'finding',
|
|
279
|
+
codeUnit: event.codeUnit,
|
|
280
|
+
checkId: 'entropy_review',
|
|
281
|
+
checkName: 'Entropy Review Flag',
|
|
282
|
+
verdict: 'FAIL',
|
|
283
|
+
evidence: `Model confidence is low for this code unit: ${(unitEntropy.highEntropyFraction * 100).toFixed(0)}% of tokens ` +
|
|
284
|
+
`have high entropy (mean=${unitEntropy.meanEntropy.toFixed(3)}, max=${unitEntropy.maxEntropy.toFixed(3)}).${dynamicsInfo} ` +
|
|
285
|
+
`No pattern-based issues detected, but the model may be confabulating.`,
|
|
286
|
+
severity: 'low',
|
|
287
|
+
suggestion: 'Review this code section — the model showed uncertainty even though no known bad patterns were found.',
|
|
288
|
+
latencyMs: 0,
|
|
289
|
+
entropyContext: unitEntropy,
|
|
290
|
+
};
|
|
291
|
+
allEvents.push(reviewEvent);
|
|
292
|
+
options.onVerification?.(reviewEvent);
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
allEvents.push(event);
|
|
296
|
+
options.onVerification?.(event);
|
|
297
|
+
if (autoCorrect &&
|
|
298
|
+
event.verdict === 'FAIL' &&
|
|
299
|
+
meetsMinSeverity(event.severity, minCorrectionSeverity)) {
|
|
300
|
+
options.onCorrection?.({
|
|
301
|
+
finding: event,
|
|
302
|
+
generatedSoFar: verifier.getGeneratedCode(),
|
|
303
|
+
});
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
// Flush trailing code
|
|
308
|
+
const flushEvents = verifier.flush();
|
|
309
|
+
for (const event of flushEvents) {
|
|
310
|
+
// Attach final entropy context
|
|
311
|
+
const unitEntropy = entropy.consumeUnitEntropy();
|
|
312
|
+
if (unitEntropy) {
|
|
313
|
+
event.entropyContext = unitEntropy;
|
|
314
|
+
}
|
|
315
|
+
allEvents.push(event);
|
|
316
|
+
options.onVerification?.(event);
|
|
317
|
+
}
|
|
318
|
+
const findings = allEvents.filter(e => e.verdict === 'FAIL');
|
|
319
|
+
const entropyStats = entropy.getStats();
|
|
320
|
+
return {
|
|
321
|
+
text: verifier.getGeneratedCode(),
|
|
322
|
+
events: allEvents,
|
|
323
|
+
findings,
|
|
324
|
+
stats: {
|
|
325
|
+
...verifier.getStats(),
|
|
326
|
+
// Augment with entropy stats
|
|
327
|
+
...entropyStats,
|
|
328
|
+
},
|
|
329
|
+
inputTokens,
|
|
330
|
+
outputTokens,
|
|
331
|
+
durationMs: Date.now() - start,
|
|
332
|
+
collectedLogprobs: collectedLogprobs.length > 0 ? collectedLogprobs : undefined,
|
|
333
|
+
};
|
|
334
|
+
}
|
|
335
|
+
// ---------------------------------------------------------------------------
|
|
336
|
+
// createVerifiedStream — unified entrypoint (routes by provider)
|
|
337
|
+
// ---------------------------------------------------------------------------
|
|
338
|
+
// Re-export the original as the Anthropic-specific implementation
|
|
339
|
+
const createVerifiedStreamAnthropic = createVerifiedStream;
|
|
340
|
+
/**
|
|
341
|
+
* Create a verified stream using the specified provider.
|
|
342
|
+
* - provider='anthropic' (default): pattern checks only
|
|
343
|
+
* - provider='openai': pattern checks + entropy hallucination detection
|
|
344
|
+
*/
|
|
345
|
+
export async function createVerifiedStreamAuto(options) {
|
|
346
|
+
const provider = options.provider ?? 'anthropic';
|
|
347
|
+
if (provider === 'openai') {
|
|
348
|
+
return createVerifiedStreamOpenAI(options);
|
|
349
|
+
}
|
|
350
|
+
return createVerifiedStreamAnthropic(options);
|
|
351
|
+
}
|
|
352
|
+
// ---------------------------------------------------------------------------
|
|
149
353
|
// createVerifiedStreamFromTokens — test helper (no API calls)
|
|
150
354
|
// ---------------------------------------------------------------------------
|
|
151
355
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream-interceptor.js","sourceRoot":"","sources":["../../src/realtime/stream-interceptor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"stream-interceptor.js","sourceRoot":"","sources":["../../src/realtime/stream-interceptor.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,26 @@ import { join } from 'node:path';
|
|
|
15
15
|
const JS_LANGS = ['typescript', 'javascript', 'ts', 'js', 'tsx', 'jsx'];
|
|
16
16
|
const PY_LANGS = ['python', 'py'];
|
|
17
17
|
const ALL_LANGS = []; // empty = applies to all
|
|
18
|
+
/**
|
|
19
|
+
* Libraries that use tagged template literals for SQL parameterization.
|
|
20
|
+
* When these imports are detected, template literal SQL checks are suppressed
|
|
21
|
+
* because ${} values are sent as bound parameters, not string-concatenated.
|
|
22
|
+
*
|
|
23
|
+
* - postgres / postgresjs: sql`SELECT * FROM users WHERE id = ${id}`
|
|
24
|
+
* - slonik: sql.unsafe`...` (raw) vs sql`...` (parameterized)
|
|
25
|
+
* - @electric-sql/pglite: tagged template syntax
|
|
26
|
+
* - sql-template-strings / sql-template-tag: tagged template helpers
|
|
27
|
+
*/
|
|
28
|
+
const TAGGED_TEMPLATE_SQL_LIBS = [
|
|
29
|
+
/from\s+['"]postgres['"]/, // import postgres from 'postgres'
|
|
30
|
+
/require\s*\(\s*['"]postgres['"]\s*\)/, // const sql = require('postgres')
|
|
31
|
+
/from\s+['"]slonik['"]/,
|
|
32
|
+
/from\s+['"]@electric-sql\/pglite['"]/,
|
|
33
|
+
/from\s+['"]sql-template-strings['"]/,
|
|
34
|
+
/from\s+['"]sql-template-tag['"]/,
|
|
35
|
+
/postgres\.Sql\b/, // type annotation: db: postgres.Sql
|
|
36
|
+
/:\s*Sql\b/, // short form: db: Sql (with import type { Sql } from 'postgres')
|
|
37
|
+
];
|
|
18
38
|
/**
|
|
19
39
|
* Returns all hand-crafted formal checks as StreamingCheck objects.
|
|
20
40
|
*
|
|
@@ -47,6 +67,10 @@ const FORMAL_CHECKS = [
|
|
|
47
67
|
evidenceTemplate: 'SQL query uses template literal interpolation: $0',
|
|
48
68
|
suggestion: 'Use parameterized queries instead of template literal interpolation in SQL strings.',
|
|
49
69
|
source: 'formal',
|
|
70
|
+
// Suppressed when file uses tagged template libraries (postgres.js, slonik, pglite, sql-template-strings)
|
|
71
|
+
// These libraries use tagged template literals as their parameterization mechanism — ${} values
|
|
72
|
+
// are sent as bound parameters, not concatenated into SQL strings.
|
|
73
|
+
suppressWhen: TAGGED_TEMPLATE_SQL_LIBS,
|
|
50
74
|
},
|
|
51
75
|
// 2. Missing error handling — unhandled promise chains
|
|
52
76
|
{
|
|
@@ -398,6 +422,10 @@ export function runChecks(unit, checkSet) {
|
|
|
398
422
|
continue;
|
|
399
423
|
}
|
|
400
424
|
const checkStart = performance.now();
|
|
425
|
+
// Suppression: skip check if any suppressWhen pattern matches the code
|
|
426
|
+
if (check.suppressWhen && check.suppressWhen.some(re => re.test(unit.text))) {
|
|
427
|
+
continue;
|
|
428
|
+
}
|
|
401
429
|
// Reset lastIndex for patterns with the global flag
|
|
402
430
|
check.pattern.lastIndex = 0;
|
|
403
431
|
const match = check.pattern.exec(unit.text);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streaming-checks.js","sourceRoot":"","sources":["../../src/realtime/streaming-checks.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"streaming-checks.js","sourceRoot":"","sources":["../../src/realtime/streaming-checks.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* code units, runs checks, and emits verification events.
|
|
8
8
|
*/
|
|
9
9
|
import type { CheckSeverity, StreamingVerifierStats, VerificationEvent } from './types.js';
|
|
10
|
+
import type { EntropyDetector } from './entropy-detector.js';
|
|
10
11
|
export interface StreamingVerifierOptions {
|
|
11
12
|
language: string;
|
|
12
13
|
/** Path to project root for loading learned rules catalog */
|
|
@@ -15,17 +16,37 @@ export interface StreamingVerifierOptions {
|
|
|
15
16
|
onEvent?: (event: VerificationEvent) => void;
|
|
16
17
|
/** Only auto-correct findings at or above this severity. Default: 'high' */
|
|
17
18
|
minCorrectionSeverity?: CheckSeverity;
|
|
19
|
+
/**
|
|
20
|
+
* Enable adaptive verification depth based on BAS score.
|
|
21
|
+
* When true:
|
|
22
|
+
* - green (BAS < 0.3): skip formal checks for this block
|
|
23
|
+
* - amber (BAS 0.3–0.7): queue formal checks for async execution
|
|
24
|
+
* - red (BAS > 0.7): run formal checks immediately
|
|
25
|
+
* When false (default): run all checks on every block (current behavior).
|
|
26
|
+
*/
|
|
27
|
+
adaptiveDepth?: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Optional entropy detector instance. When provided and adaptiveDepth is
|
|
30
|
+
* true, the verifier consumes BAS depth from the detector to route checks.
|
|
31
|
+
*/
|
|
32
|
+
entropyDetector?: EntropyDetector;
|
|
18
33
|
}
|
|
19
34
|
export declare class StreamingVerifier {
|
|
20
35
|
private readonly codeBuffer;
|
|
21
36
|
private readonly checkSet;
|
|
22
37
|
private readonly onEvent?;
|
|
38
|
+
private readonly adaptiveDepth;
|
|
39
|
+
private readonly entropyDetector?;
|
|
23
40
|
private events;
|
|
24
41
|
private unitsProcessed;
|
|
25
42
|
private checksRun;
|
|
26
43
|
private findingsCount;
|
|
27
44
|
private totalTimeMs;
|
|
28
45
|
private maxLatencyMs;
|
|
46
|
+
private skippedGreen;
|
|
47
|
+
private deferredAmber;
|
|
48
|
+
private immediateRed;
|
|
49
|
+
private deferredUnits;
|
|
29
50
|
/**
|
|
30
51
|
* Tracks the highest endOffset from any code unit we have processed.
|
|
31
52
|
* Used by flush() to know where unchecked trailing code begins.
|
|
@@ -40,6 +61,7 @@ export declare class StreamingVerifier {
|
|
|
40
61
|
* Flush the buffer — run checks on any remaining buffered code.
|
|
41
62
|
* Call at the end of the stream to verify trailing code that never
|
|
42
63
|
* reached a structural boundary (closing brace, semicolon, etc.).
|
|
64
|
+
* Also processes any deferred (amber) code units.
|
|
43
65
|
*/
|
|
44
66
|
flush(): VerificationEvent[];
|
|
45
67
|
/** Get cumulative statistics. */
|
|
@@ -50,8 +72,31 @@ export declare class StreamingVerifier {
|
|
|
50
72
|
getGeneratedCode(): string;
|
|
51
73
|
/** Reset all state — buffer, events, stats. */
|
|
52
74
|
reset(): void;
|
|
75
|
+
/**
|
|
76
|
+
* Determine the adaptive verification depth for a code unit.
|
|
77
|
+
* When adaptiveDepth is disabled or no entropy detector is available,
|
|
78
|
+
* returns undefined (meaning: check everything).
|
|
79
|
+
*/
|
|
80
|
+
private getUnitDepth;
|
|
53
81
|
/**
|
|
54
82
|
* Run checks against a list of code units, accumulate stats, fire callbacks.
|
|
83
|
+
* When adaptiveDepth is enabled, routes based on BAS:
|
|
84
|
+
* green — skip formal checks (log as pass)
|
|
85
|
+
* amber — defer checks (queued for later via flushDeferred)
|
|
86
|
+
* red — run checks immediately
|
|
55
87
|
*/
|
|
56
88
|
private processUnits;
|
|
89
|
+
/**
|
|
90
|
+
* Process all deferred (amber) code units. Call this when the statement
|
|
91
|
+
* completes or at stream end to run checks on amber-queued blocks.
|
|
92
|
+
* Returns any verification events from the deferred checks.
|
|
93
|
+
*/
|
|
94
|
+
flushDeferred(): VerificationEvent[];
|
|
95
|
+
/** Get adaptive depth routing statistics. */
|
|
96
|
+
getDepthStats(): {
|
|
97
|
+
skippedGreen: number;
|
|
98
|
+
deferredAmber: number;
|
|
99
|
+
immediateRed: number;
|
|
100
|
+
pendingDeferred: number;
|
|
101
|
+
};
|
|
57
102
|
}
|
|
@@ -15,6 +15,8 @@ export class StreamingVerifier {
|
|
|
15
15
|
codeBuffer;
|
|
16
16
|
checkSet;
|
|
17
17
|
onEvent;
|
|
18
|
+
adaptiveDepth;
|
|
19
|
+
entropyDetector;
|
|
18
20
|
// Accumulated state
|
|
19
21
|
events = [];
|
|
20
22
|
unitsProcessed = 0;
|
|
@@ -22,6 +24,12 @@ export class StreamingVerifier {
|
|
|
22
24
|
findingsCount = 0;
|
|
23
25
|
totalTimeMs = 0;
|
|
24
26
|
maxLatencyMs = 0;
|
|
27
|
+
// Adaptive depth stats
|
|
28
|
+
skippedGreen = 0;
|
|
29
|
+
deferredAmber = 0;
|
|
30
|
+
immediateRed = 0;
|
|
31
|
+
// Deferred amber checks — queued for async execution
|
|
32
|
+
deferredUnits = [];
|
|
25
33
|
/**
|
|
26
34
|
* Tracks the highest endOffset from any code unit we have processed.
|
|
27
35
|
* Used by flush() to know where unchecked trailing code begins.
|
|
@@ -30,6 +38,8 @@ export class StreamingVerifier {
|
|
|
30
38
|
constructor(options) {
|
|
31
39
|
this.codeBuffer = new CodeBuffer(options.language);
|
|
32
40
|
this.onEvent = options.onEvent;
|
|
41
|
+
this.adaptiveDepth = options.adaptiveDepth ?? false;
|
|
42
|
+
this.entropyDetector = options.entropyDetector;
|
|
33
43
|
// Load formal checks
|
|
34
44
|
const formal = getFormalChecks();
|
|
35
45
|
// Optionally load learned rules from the project catalog
|
|
@@ -53,12 +63,15 @@ export class StreamingVerifier {
|
|
|
53
63
|
* Flush the buffer — run checks on any remaining buffered code.
|
|
54
64
|
* Call at the end of the stream to verify trailing code that never
|
|
55
65
|
* reached a structural boundary (closing brace, semicolon, etc.).
|
|
66
|
+
* Also processes any deferred (amber) code units.
|
|
56
67
|
*/
|
|
57
68
|
flush() {
|
|
69
|
+
// First, flush deferred amber units
|
|
70
|
+
const deferredEvents = this.flushDeferred();
|
|
58
71
|
const fullBuffer = this.codeBuffer.getFullBuffer();
|
|
59
72
|
const remaining = fullBuffer.slice(this.coveredOffset).trim();
|
|
60
73
|
if (remaining.length === 0) {
|
|
61
|
-
return
|
|
74
|
+
return deferredEvents;
|
|
62
75
|
}
|
|
63
76
|
const trailingUnit = {
|
|
64
77
|
text: remaining,
|
|
@@ -67,7 +80,7 @@ export class StreamingVerifier {
|
|
|
67
80
|
endOffset: fullBuffer.length,
|
|
68
81
|
language: this.codeBuffer.getLanguage(),
|
|
69
82
|
};
|
|
70
|
-
return this.processUnits([trailingUnit]);
|
|
83
|
+
return [...deferredEvents, ...this.processUnits([trailingUnit])];
|
|
71
84
|
}
|
|
72
85
|
/** Get cumulative statistics. */
|
|
73
86
|
getStats() {
|
|
@@ -98,22 +111,60 @@ export class StreamingVerifier {
|
|
|
98
111
|
this.totalTimeMs = 0;
|
|
99
112
|
this.maxLatencyMs = 0;
|
|
100
113
|
this.coveredOffset = 0;
|
|
114
|
+
this.skippedGreen = 0;
|
|
115
|
+
this.deferredAmber = 0;
|
|
116
|
+
this.immediateRed = 0;
|
|
117
|
+
this.deferredUnits = [];
|
|
101
118
|
}
|
|
102
119
|
// -- Private helpers ------------------------------------------------------
|
|
120
|
+
/**
|
|
121
|
+
* Determine the adaptive verification depth for a code unit.
|
|
122
|
+
* When adaptiveDepth is disabled or no entropy detector is available,
|
|
123
|
+
* returns undefined (meaning: check everything).
|
|
124
|
+
*/
|
|
125
|
+
getUnitDepth() {
|
|
126
|
+
if (!this.adaptiveDepth || !this.entropyDetector)
|
|
127
|
+
return undefined;
|
|
128
|
+
const ctx = this.entropyDetector.consumeUnitEntropy();
|
|
129
|
+
if (!ctx?.verificationDepth)
|
|
130
|
+
return undefined;
|
|
131
|
+
return ctx.verificationDepth;
|
|
132
|
+
}
|
|
103
133
|
/**
|
|
104
134
|
* Run checks against a list of code units, accumulate stats, fire callbacks.
|
|
135
|
+
* When adaptiveDepth is enabled, routes based on BAS:
|
|
136
|
+
* green — skip formal checks (log as pass)
|
|
137
|
+
* amber — defer checks (queued for later via flushDeferred)
|
|
138
|
+
* red — run checks immediately
|
|
105
139
|
*/
|
|
106
140
|
processUnits(units) {
|
|
107
141
|
const batchEvents = [];
|
|
108
142
|
for (const unit of units) {
|
|
109
|
-
const unitStart = performance.now();
|
|
110
|
-
const unitEvents = runChecks(unit, this.checkSet);
|
|
111
|
-
const unitLatency = performance.now() - unitStart;
|
|
112
143
|
// Track coverage regardless of whether events were produced
|
|
113
144
|
if (unit.endOffset > this.coveredOffset) {
|
|
114
145
|
this.coveredOffset = unit.endOffset;
|
|
115
146
|
}
|
|
116
147
|
this.unitsProcessed++;
|
|
148
|
+
// Adaptive depth routing
|
|
149
|
+
const depth = this.getUnitDepth();
|
|
150
|
+
if (depth === 'green') {
|
|
151
|
+
this.skippedGreen++;
|
|
152
|
+
// Green: low anomaly, skip formal checks entirely
|
|
153
|
+
continue;
|
|
154
|
+
}
|
|
155
|
+
if (depth === 'amber') {
|
|
156
|
+
this.deferredAmber++;
|
|
157
|
+
// Amber: moderate anomaly, defer checks for async execution
|
|
158
|
+
this.deferredUnits.push(unit);
|
|
159
|
+
continue;
|
|
160
|
+
}
|
|
161
|
+
// Red or no depth info (adaptiveDepth disabled): run immediately
|
|
162
|
+
if (depth === 'red') {
|
|
163
|
+
this.immediateRed++;
|
|
164
|
+
}
|
|
165
|
+
const unitStart = performance.now();
|
|
166
|
+
const unitEvents = runChecks(unit, this.checkSet);
|
|
167
|
+
const unitLatency = performance.now() - unitStart;
|
|
117
168
|
this.checksRun += this.checkSet.checks.length;
|
|
118
169
|
this.totalTimeMs += unitLatency;
|
|
119
170
|
if (unitLatency > this.maxLatencyMs) {
|
|
@@ -130,5 +181,47 @@ export class StreamingVerifier {
|
|
|
130
181
|
}
|
|
131
182
|
return batchEvents;
|
|
132
183
|
}
|
|
184
|
+
// -- Adaptive depth helpers ------------------------------------------------
|
|
185
|
+
/**
|
|
186
|
+
* Process all deferred (amber) code units. Call this when the statement
|
|
187
|
+
* completes or at stream end to run checks on amber-queued blocks.
|
|
188
|
+
* Returns any verification events from the deferred checks.
|
|
189
|
+
*/
|
|
190
|
+
flushDeferred() {
|
|
191
|
+
const deferred = this.deferredUnits;
|
|
192
|
+
this.deferredUnits = [];
|
|
193
|
+
if (deferred.length === 0)
|
|
194
|
+
return [];
|
|
195
|
+
// Run checks on all deferred units (adaptive depth is bypassed here)
|
|
196
|
+
const batchEvents = [];
|
|
197
|
+
for (const unit of deferred) {
|
|
198
|
+
const unitStart = performance.now();
|
|
199
|
+
const unitEvents = runChecks(unit, this.checkSet);
|
|
200
|
+
const unitLatency = performance.now() - unitStart;
|
|
201
|
+
this.checksRun += this.checkSet.checks.length;
|
|
202
|
+
this.totalTimeMs += unitLatency;
|
|
203
|
+
if (unitLatency > this.maxLatencyMs) {
|
|
204
|
+
this.maxLatencyMs = unitLatency;
|
|
205
|
+
}
|
|
206
|
+
for (const event of unitEvents) {
|
|
207
|
+
this.events.push(event);
|
|
208
|
+
batchEvents.push(event);
|
|
209
|
+
if (event.verdict === 'FAIL') {
|
|
210
|
+
this.findingsCount++;
|
|
211
|
+
}
|
|
212
|
+
this.onEvent?.(event);
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
return batchEvents;
|
|
216
|
+
}
|
|
217
|
+
/** Get adaptive depth routing statistics. */
|
|
218
|
+
getDepthStats() {
|
|
219
|
+
return {
|
|
220
|
+
skippedGreen: this.skippedGreen,
|
|
221
|
+
deferredAmber: this.deferredAmber,
|
|
222
|
+
immediateRed: this.immediateRed,
|
|
223
|
+
pendingDeferred: this.deferredUnits.length,
|
|
224
|
+
};
|
|
225
|
+
}
|
|
133
226
|
}
|
|
134
227
|
//# sourceMappingURL=streaming-verifier.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streaming-verifier.js","sourceRoot":"","sources":["../../src/realtime/streaming-verifier.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,SAAS,GACV,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"streaming-verifier.js","sourceRoot":"","sources":["../../src/realtime/streaming-verifier.ts"],"names":[],"mappings":"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"}
|