instar 1.3.1301 → 1.3.1302
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/commands/server.d.ts.map +1 -1
- package/dist/commands/server.js +3 -0
- package/dist/commands/server.js.map +1 -1
- package/dist/config/ConfigDefaults.d.ts.map +1 -1
- package/dist/config/ConfigDefaults.js +6 -0
- package/dist/config/ConfigDefaults.js.map +1 -1
- package/dist/core/GateSignalDetectors.d.ts +9 -0
- package/dist/core/GateSignalDetectors.d.ts.map +1 -1
- package/dist/core/GateSignalDetectors.js.map +1 -1
- package/dist/core/JevCascade.d.ts +9 -0
- package/dist/core/JevCascade.d.ts.map +1 -1
- package/dist/core/JevCascade.js +12 -3
- package/dist/core/JevCascade.js.map +1 -1
- package/dist/core/JevSignalShadow.d.ts +128 -1
- package/dist/core/JevSignalShadow.d.ts.map +1 -1
- package/dist/core/JevSignalShadow.js +277 -24
- package/dist/core/JevSignalShadow.js.map +1 -1
- package/dist/core/MessagingToneGate.d.ts +34 -3
- package/dist/core/MessagingToneGate.d.ts.map +1 -1
- package/dist/core/MessagingToneGate.js +81 -13
- package/dist/core/MessagingToneGate.js.map +1 -1
- package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
- package/dist/core/PostUpdateMigrator.js +36 -2
- package/dist/core/PostUpdateMigrator.js.map +1 -1
- package/dist/core/SessionManager.d.ts +4 -0
- package/dist/core/SessionManager.d.ts.map +1 -1
- package/dist/core/SessionManager.js +16 -0
- package/dist/core/SessionManager.js.map +1 -1
- package/dist/core/devGatedFeatures.d.ts.map +1 -1
- package/dist/core/devGatedFeatures.js +6 -0
- package/dist/core/devGatedFeatures.js.map +1 -1
- package/dist/core/types.d.ts +28 -2
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/data/standards-guard-index.json +1 -1
- package/dist/data/standards-guard-index.meta.json +2 -2
- package/dist/data/standards-registry.meta.json +1 -1
- package/dist/feedback-factory/inbox/inboxAwareness.d.ts +12 -0
- package/dist/feedback-factory/inbox/inboxAwareness.d.ts.map +1 -0
- package/dist/feedback-factory/inbox/inboxAwareness.js +18 -0
- package/dist/feedback-factory/inbox/inboxAwareness.js.map +1 -0
- package/dist/feedback-factory/inbox/resolveInboxBlobToken.d.ts +19 -0
- package/dist/feedback-factory/inbox/resolveInboxBlobToken.d.ts.map +1 -0
- package/dist/feedback-factory/inbox/resolveInboxBlobToken.js +40 -0
- package/dist/feedback-factory/inbox/resolveInboxBlobToken.js.map +1 -0
- package/dist/scaffold/templates.d.ts +4 -0
- package/dist/scaffold/templates.d.ts.map +1 -1
- package/dist/scaffold/templates.js +14 -2
- package/dist/scaffold/templates.js.map +1 -1
- package/dist/scheduler/JobScheduler.d.ts.map +1 -1
- package/dist/scheduler/JobScheduler.js +12 -3
- package/dist/scheduler/JobScheduler.js.map +1 -1
- package/dist/scheduler/jobDeclaredFailure.d.ts +13 -0
- package/dist/scheduler/jobDeclaredFailure.d.ts.map +1 -0
- package/dist/scheduler/jobDeclaredFailure.js +67 -0
- package/dist/scheduler/jobDeclaredFailure.js.map +1 -0
- package/dist/server/AgentServer.d.ts.map +1 -1
- package/dist/server/AgentServer.js +48 -6
- package/dist/server/AgentServer.js.map +1 -1
- package/dist/server/CapabilityIndex.js +1 -1
- package/dist/server/CapabilityIndex.js.map +1 -1
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/routes.js +12 -1
- package/dist/server/routes.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +66 -66
- package/src/data/standards-guard-index.json +1 -1
- package/src/data/standards-guard-index.meta.json +2 -2
- package/src/data/standards-registry.meta.json +1 -1
- package/src/scaffold/templates/jobs/instar/feedback-factory-process.md +13 -5
- package/src/scaffold/templates.ts +15 -2
- package/upgrades/1.3.1302.md +121 -0
- package/upgrades/side-effects/feedback-inbox-vault-token.md +230 -0
- package/upgrades/side-effects/jev-signal-live.md +173 -0
|
@@ -27,15 +27,30 @@
|
|
|
27
27
|
import fs from 'node:fs';
|
|
28
28
|
import path from 'node:path';
|
|
29
29
|
import crypto from 'node:crypto';
|
|
30
|
-
import { detectGateSignals } from './GateSignalDetectors.js';
|
|
30
|
+
import { detectGateSignals, GATE_SIGNAL_KINDS } from './GateSignalDetectors.js';
|
|
31
31
|
import { scrubForStore } from './durableSecretScrub.js';
|
|
32
|
-
import { selectEscalations, askReferee } from './JevCascade.js';
|
|
32
|
+
import { selectEscalations, askReferee, bandFor } from './JevCascade.js';
|
|
33
|
+
import { resolveDevAgentGate } from './devAgentGate.js';
|
|
34
|
+
import { decisionQualityRecordingLive } from './DecisionQualityRecorderImpl.js';
|
|
33
35
|
export const JEV_SHADOW_FEATURE = 'jev-signal-shadow';
|
|
34
36
|
/** Attribution label for the referee's LLM calls (feature metrics + routing). */
|
|
35
37
|
export const JEV_REFEREE_COMPONENT = 'JevLunaReferee';
|
|
36
38
|
/** Default volume bound on referee calls per UTC day. */
|
|
37
39
|
export const REFEREE_DAILY_CAP = 300;
|
|
38
40
|
const ENDPOINT = 'https://api.typesafe.ai/v1/systemone';
|
|
41
|
+
/** Covers the measured p99 (834 ms) of Jev calls on real candidates. */
|
|
42
|
+
export const LIVE_DEFAULT_TIMEOUT_MS = 1000;
|
|
43
|
+
/** Operator `timeoutMs` is clamped to this range, so no config value can make the gate wait long. */
|
|
44
|
+
export const LIVE_TIMEOUT_MIN_MS = 100;
|
|
45
|
+
export const LIVE_TIMEOUT_MAX_MS = 3000;
|
|
46
|
+
/** Extra wait past the fetch abort before the caller stops waiting regardless. */
|
|
47
|
+
export const LIVE_RACE_SLACK_MS = 250;
|
|
48
|
+
/** An in-flight slot older than this is treated as abandoned and reclaimed. */
|
|
49
|
+
export const STALE_SLOT_MS = 30_000;
|
|
50
|
+
/** Consecutive live failures (missed deadline, timeout, HTTP error, model mismatch) that open the breaker. */
|
|
51
|
+
export const LIVE_BREAKER_FAILURES = 3;
|
|
52
|
+
/** How long an open breaker keeps live mode on the detector path. */
|
|
53
|
+
export const LIVE_BREAKER_OPEN_MS = 5 * 60_000;
|
|
39
54
|
/**
|
|
40
55
|
* The frozen comparison contract: one Noul question per rule, the detector
|
|
41
56
|
* signal kind it is compared against, and the positive threshold. Changing a
|
|
@@ -62,6 +77,13 @@ export const EXCERPT_DAILY_CAP = 50;
|
|
|
62
77
|
export const KEY_REREAD_MS = 10 * 60_000;
|
|
63
78
|
export class JevSignalShadow {
|
|
64
79
|
inFlight = false;
|
|
80
|
+
/** When the current in-flight call started (stale-slot reclaim). */
|
|
81
|
+
inFlightSince = 0;
|
|
82
|
+
/** Slot generation: only the call that holds the CURRENT slot may release it. */
|
|
83
|
+
slotGen = 0;
|
|
84
|
+
/** Vendor-down breaker for live mode: consecutive failures, and when it closes again. */
|
|
85
|
+
liveFailures = 0;
|
|
86
|
+
liveBreakerUntil = 0;
|
|
65
87
|
cachedKey = null;
|
|
66
88
|
/** When the key was last read; re-reads are rate-limited from here. */
|
|
67
89
|
keyReadAt = 0;
|
|
@@ -81,6 +103,133 @@ export class JevSignalShadow {
|
|
|
81
103
|
this.cachedKey = null;
|
|
82
104
|
}
|
|
83
105
|
}
|
|
106
|
+
/**
|
|
107
|
+
* The single-flight slot. A slot held past STALE_SLOT_MS belongs to a call
|
|
108
|
+
* that never settled (a fetch that ignored its abort); it is reclaimed so one
|
|
109
|
+
* stuck request cannot turn every later candidate into a fallback forever.
|
|
110
|
+
* Outstanding requests stay bounded: at most one per STALE_SLOT_MS.
|
|
111
|
+
*/
|
|
112
|
+
slotBusy(nowMs) {
|
|
113
|
+
return this.inFlight && nowMs - this.inFlightSince < STALE_SLOT_MS;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Take the slot and return its release. The release is generation-checked: a
|
|
117
|
+
* reclaimed (stale) call that settles later cannot free the slot a newer call
|
|
118
|
+
* now holds, so single-flight survives a reclaim.
|
|
119
|
+
*/
|
|
120
|
+
takeSlot(nowMs) {
|
|
121
|
+
const gen = ++this.slotGen;
|
|
122
|
+
this.inFlight = true;
|
|
123
|
+
this.inFlightSince = nowMs;
|
|
124
|
+
return () => { if (this.slotGen === gen)
|
|
125
|
+
this.inFlight = false; };
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Live entry point (docs/specs/jev-signal-live.md). Returns null — without
|
|
129
|
+
* doing anything — when live mode is off, so the caller falls back to
|
|
130
|
+
* `observe()` and today's detector-only path. Otherwise returns a promise that
|
|
131
|
+
* never rejects and settles within timeoutMs + LIVE_RACE_SLACK_MS with the
|
|
132
|
+
* merged signals; any failure resolves to the plain detector signals.
|
|
133
|
+
* The live call IS the shadow's measurement call: it writes the same rows
|
|
134
|
+
* (tagged `live: true`) and feeds the same referee cascade.
|
|
135
|
+
*/
|
|
136
|
+
liveSignals(text) {
|
|
137
|
+
let live;
|
|
138
|
+
try {
|
|
139
|
+
live = this.deps.getLiveConfig?.();
|
|
140
|
+
}
|
|
141
|
+
catch {
|
|
142
|
+
// @silent-fallback-ok — an unreadable live config means live is off; the gate keeps today's detector-only path.
|
|
143
|
+
return null;
|
|
144
|
+
}
|
|
145
|
+
if (!live || live.enabled !== true)
|
|
146
|
+
return null;
|
|
147
|
+
try {
|
|
148
|
+
return this.liveInner(text, live);
|
|
149
|
+
}
|
|
150
|
+
catch {
|
|
151
|
+
// @silent-fallback-ok — any live-path fault resolves to the detector signals (today's behaviour).
|
|
152
|
+
return Promise.resolve(detectorOnly(text));
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
liveInner(text, live) {
|
|
156
|
+
const cfg = this.deps.getConfig() ?? {};
|
|
157
|
+
const nowMs = (this.deps.now ?? Date.now)();
|
|
158
|
+
const ts = new Date(nowMs).toISOString();
|
|
159
|
+
const bytes = Buffer.byteLength(text, 'utf8');
|
|
160
|
+
const maxBytes = this.deps.maxScanBytes ?? 1_000_000;
|
|
161
|
+
const sha256 = crypto.createHash('sha256').update(bytes > maxBytes ? text.slice(0, maxBytes) : text, 'utf8').digest('hex');
|
|
162
|
+
const fallback = (reason) => {
|
|
163
|
+
this.write({ kind: 'not-compared', ts, sha256, bytes, reason, live: true });
|
|
164
|
+
return Promise.resolve(detectorOnly(text));
|
|
165
|
+
};
|
|
166
|
+
if (!this.cachedKey && nowMs - this.keyReadAt >= KEY_REREAD_MS)
|
|
167
|
+
this.refreshKey();
|
|
168
|
+
if (!this.cachedKey) {
|
|
169
|
+
// A standing condition: one row per process, not one per message.
|
|
170
|
+
if (this.bootNoted.has('disabled-no-key'))
|
|
171
|
+
return Promise.resolve(detectorOnly(text));
|
|
172
|
+
this.bootNoted.add('disabled-no-key');
|
|
173
|
+
return fallback('disabled-no-key');
|
|
174
|
+
}
|
|
175
|
+
// During a vendor outage every message would otherwise wait the full
|
|
176
|
+
// timeout; an open breaker keeps them on the detector path (one row when it
|
|
177
|
+
// opens, not one per message).
|
|
178
|
+
if (nowMs < this.liveBreakerUntil)
|
|
179
|
+
return Promise.resolve(detectorOnly(text));
|
|
180
|
+
if (bytes > maxBytes)
|
|
181
|
+
return fallback('oversize');
|
|
182
|
+
if (this.slotBusy(nowMs))
|
|
183
|
+
return fallback('skipped-concurrent');
|
|
184
|
+
// Live mode is not soak-bounded, so the text is secret-scrubbed before it
|
|
185
|
+
// leaves the machine (the detectors and the row hash still see the original).
|
|
186
|
+
const scrubbed = scrubForStore(text);
|
|
187
|
+
if (scrubbed.error || scrubbed.truncated)
|
|
188
|
+
return fallback('scrub-error');
|
|
189
|
+
const signals = detectGateSignals(text);
|
|
190
|
+
const timeoutMs = typeof live.timeoutMs === 'number' && Number.isFinite(live.timeoutMs)
|
|
191
|
+
? Math.max(LIVE_TIMEOUT_MIN_MS, Math.min(LIVE_TIMEOUT_MAX_MS, live.timeoutMs))
|
|
192
|
+
: LIVE_DEFAULT_TIMEOUT_MS;
|
|
193
|
+
const race = { late: false };
|
|
194
|
+
const release = this.takeSlot(nowMs);
|
|
195
|
+
const call = this.dispatch(text, cfg, { ts, sha256, bytes, detectorSignals: signals.map((x) => x.kind), signals }, { live, timeoutMs, race, sendText: scrubbed.text });
|
|
196
|
+
this.lastDispatch = call.then(() => undefined, () => undefined).finally(release);
|
|
197
|
+
let timer;
|
|
198
|
+
const deadline = new Promise((resolve) => {
|
|
199
|
+
timer = setTimeout(() => {
|
|
200
|
+
race.late = true;
|
|
201
|
+
// The caller stops waiting now: record that outcome now, so a call that
|
|
202
|
+
// never settles still leaves a row (a late answer adds a liveLate row).
|
|
203
|
+
this.write({ kind: 'not-compared', ts, sha256, bytes, reason: 'timeout', live: true });
|
|
204
|
+
resolve(null);
|
|
205
|
+
}, timeoutMs + LIVE_RACE_SLACK_MS);
|
|
206
|
+
timer.unref?.();
|
|
207
|
+
});
|
|
208
|
+
// The breaker counts what the CALLER saw, once: a missed deadline is a
|
|
209
|
+
// failure even if the answer lands later, and a late success resets nothing.
|
|
210
|
+
return Promise.race([call.catch(() => null), deadline])
|
|
211
|
+
.then((merged) => {
|
|
212
|
+
this.noteLiveOutcome(merged !== null, ts, sha256, bytes);
|
|
213
|
+
return merged ?? { signals, jevUsed: false };
|
|
214
|
+
})
|
|
215
|
+
.finally(() => { if (timer)
|
|
216
|
+
clearTimeout(timer); });
|
|
217
|
+
}
|
|
218
|
+
/** Breaker bookkeeping per live candidate, as the caller saw it: an answer in
|
|
219
|
+
* time resets the count; a missed deadline, HTTP error, timeout or model
|
|
220
|
+
* mismatch counts as one failure. */
|
|
221
|
+
noteLiveOutcome(ok, ts, sha256, bytes) {
|
|
222
|
+
if (ok) {
|
|
223
|
+
this.liveFailures = 0;
|
|
224
|
+
return;
|
|
225
|
+
}
|
|
226
|
+
this.liveFailures++;
|
|
227
|
+
if (this.liveFailures < LIVE_BREAKER_FAILURES)
|
|
228
|
+
return;
|
|
229
|
+
this.liveFailures = 0;
|
|
230
|
+
this.liveBreakerUntil = (this.deps.now ?? Date.now)() + LIVE_BREAKER_OPEN_MS;
|
|
231
|
+
this.write({ kind: 'not-compared', ts, sha256, bytes, reason: 'breaker-open', live: true });
|
|
232
|
+
}
|
|
84
233
|
/**
|
|
85
234
|
* Fire-and-forget entry point. Synchronous, never throws, never awaited by
|
|
86
235
|
* the caller. The only synchronous work is a config read, a hash, and (when
|
|
@@ -134,7 +283,7 @@ export class JevSignalShadow {
|
|
|
134
283
|
notCompared('oversize');
|
|
135
284
|
return;
|
|
136
285
|
}
|
|
137
|
-
if (this.
|
|
286
|
+
if (this.slotBusy(nowMs)) {
|
|
138
287
|
notCompared('skipped-concurrent');
|
|
139
288
|
return;
|
|
140
289
|
}
|
|
@@ -143,19 +292,31 @@ export class JevSignalShadow {
|
|
|
143
292
|
// beyond what the detector actually pointed at.
|
|
144
293
|
const signals = detectGateSignals(text);
|
|
145
294
|
const detectorSignals = signals.map((s) => s.kind);
|
|
146
|
-
|
|
295
|
+
const release = this.takeSlot(nowMs);
|
|
147
296
|
this.lastDispatch = this.dispatch(text, cfg, { ts, sha256, bytes, detectorSignals, signals })
|
|
297
|
+
.then(() => undefined)
|
|
148
298
|
.catch(() => { })
|
|
149
|
-
.finally(
|
|
299
|
+
.finally(release);
|
|
150
300
|
}
|
|
151
|
-
async dispatch(text, cfg, base
|
|
301
|
+
async dispatch(text, cfg, base,
|
|
302
|
+
/** Live mode: `sendText` is the scrubbed text that leaves the machine; `text`
|
|
303
|
+
* stays the original for excerpt anchoring (spans index the original). */
|
|
304
|
+
live) {
|
|
152
305
|
const model = cfg.model || 'jev-1.13.0';
|
|
153
|
-
const timeoutMs = typeof cfg.timeoutMs === 'number' && cfg.timeoutMs > 0 ? cfg.timeoutMs : 1500;
|
|
306
|
+
const timeoutMs = live ? live.timeoutMs : typeof cfg.timeoutMs === 'number' && cfg.timeoutMs > 0 ? cfg.timeoutMs : 1500;
|
|
307
|
+
const liveTag = live ? { live: true } : {};
|
|
154
308
|
const questions = Object.fromEntries(SHADOW_QUESTIONS.map((q) => [q.rule, { type: 'noul', instructions: q.instructions }]));
|
|
155
309
|
const ctrl = new AbortController();
|
|
156
310
|
const timer = setTimeout(() => ctrl.abort(), timeoutMs);
|
|
157
311
|
const t0 = (this.deps.now ?? Date.now)();
|
|
158
|
-
const nc = (reason) =>
|
|
312
|
+
const nc = (reason) => {
|
|
313
|
+
// A live candidate whose caller deadline already passed has its timeout
|
|
314
|
+
// row; a failure landing after that is the same candidate, not a new row.
|
|
315
|
+
if (live?.race.late)
|
|
316
|
+
return null;
|
|
317
|
+
this.write({ kind: 'not-compared', ts: base.ts, sha256: base.sha256, bytes: base.bytes, reason, ...liveTag });
|
|
318
|
+
return null;
|
|
319
|
+
};
|
|
159
320
|
let tokensIn;
|
|
160
321
|
let outcome = 'error';
|
|
161
322
|
let modelServed;
|
|
@@ -163,7 +324,7 @@ export class JevSignalShadow {
|
|
|
163
324
|
const res = await (this.deps.fetchImpl ?? fetch)(ENDPOINT, {
|
|
164
325
|
method: 'POST',
|
|
165
326
|
headers: { Authorization: `Bearer ${this.cachedKey}`, 'Content-Type': 'application/json' },
|
|
166
|
-
body: JSON.stringify({ state: text, model, questions }),
|
|
327
|
+
body: JSON.stringify({ state: live ? live.sendText : text, model, questions }),
|
|
167
328
|
signal: ctrl.signal,
|
|
168
329
|
});
|
|
169
330
|
if (!res.ok) {
|
|
@@ -171,21 +332,18 @@ export class JevSignalShadow {
|
|
|
171
332
|
this.cachedKey = null;
|
|
172
333
|
this.keyReadAt = (this.deps.now ?? Date.now)();
|
|
173
334
|
} // re-read after KEY_REREAD_MS, never per message
|
|
174
|
-
nc('http-error');
|
|
175
|
-
return;
|
|
335
|
+
return nc('http-error');
|
|
176
336
|
}
|
|
177
337
|
const json = (await res.json());
|
|
178
338
|
modelServed = typeof json.model === 'string' ? json.model : undefined;
|
|
179
339
|
tokensIn = json.usage?.input_tokens;
|
|
180
|
-
if (modelServed !== model)
|
|
181
|
-
nc('model-mismatch');
|
|
182
|
-
return;
|
|
183
|
-
}
|
|
340
|
+
if (modelServed !== model)
|
|
341
|
+
return nc('model-mismatch');
|
|
184
342
|
const jev = {};
|
|
185
343
|
const disagree = [];
|
|
186
344
|
for (const q of SHADOW_QUESTIONS) {
|
|
187
345
|
const p = json.answers?.[q.rule]?.noul;
|
|
188
|
-
if (typeof p !== 'number')
|
|
346
|
+
if (typeof p !== 'number' || !Number.isFinite(p))
|
|
189
347
|
continue;
|
|
190
348
|
jev[q.rule] = p;
|
|
191
349
|
const jevSays = p > POSITIVE_THRESHOLD;
|
|
@@ -193,16 +351,36 @@ export class JevSignalShadow {
|
|
|
193
351
|
if (jevSays !== detectorSays)
|
|
194
352
|
disagree.push(q.rule);
|
|
195
353
|
}
|
|
354
|
+
// A response with no usable probability is a failure, not an answer: it
|
|
355
|
+
// must count toward the breaker instead of resetting it.
|
|
356
|
+
if (live && Object.keys(jev).length === 0)
|
|
357
|
+
return nc('no-answers');
|
|
196
358
|
outcome = disagree.length ? 'fired' : 'noop';
|
|
197
359
|
const { signals, ...rowBase } = base;
|
|
198
|
-
|
|
360
|
+
// Measurement EXTRAS (retained excerpts, the referee) belong to the shadow:
|
|
361
|
+
// on a live call they run only while the shadow itself is measuring (on,
|
|
362
|
+
// inside its soak), so live mode — which is not soak-bound — never carries
|
|
363
|
+
// them past the window. One check, so every extra is bound the same way.
|
|
364
|
+
const measuring = !live || shadowMeasuring(cfg, (this.deps.now ?? Date.now)());
|
|
365
|
+
const retained = measuring && disagree.length > 0 && cfg.retainDisagreementExcerpts === true
|
|
199
366
|
? this.buildExcerpt(text, signals, disagree, cfg, base.ts)
|
|
200
367
|
: {};
|
|
201
|
-
|
|
202
|
-
|
|
368
|
+
// Live: merge, and record which source decided each rule. A late answer
|
|
369
|
+
// (the caller already stopped waiting) is recorded as such, so a row never
|
|
370
|
+
// claims Jev supplied a signal the gate did not actually use.
|
|
371
|
+
const merged = live ? mergeLiveSignals(signals, jev, live.live) : null;
|
|
372
|
+
const liveFields = !live ? {}
|
|
373
|
+
: live.race.late ? { live: true, liveLate: true }
|
|
374
|
+
: { live: true, liveSources: merged.sources };
|
|
375
|
+
this.write({ kind: 'compared', ...rowBase, jev, ms: (this.deps.now ?? Date.now)() - t0, modelServed, disagree, ...liveFields, ...retained });
|
|
376
|
+
if (measuring)
|
|
377
|
+
this.maybeRefer(text, cfg, base.ts, base.sha256, jev, base.detectorSignals);
|
|
378
|
+
return merged ? { signals: merged.signals, jevUsed: merged.jevUsed } : null;
|
|
203
379
|
}
|
|
204
380
|
catch (err) {
|
|
205
|
-
|
|
381
|
+
// Everything after the fetch is guarded (merge is pure, excerpt and referee
|
|
382
|
+
// hand-off catch their own errors), so a throw here is the transport.
|
|
383
|
+
return nc(err?.name === 'AbortError' ? 'timeout' : 'http-error');
|
|
206
384
|
}
|
|
207
385
|
finally {
|
|
208
386
|
clearTimeout(timer);
|
|
@@ -365,17 +543,92 @@ export class JevSignalShadow {
|
|
|
365
543
|
}
|
|
366
544
|
}
|
|
367
545
|
}
|
|
546
|
+
/** True while the shadow itself is measuring: enabled and inside its soak window. */
|
|
547
|
+
function shadowMeasuring(cfg, nowMs) {
|
|
548
|
+
const endsAt = cfg.soakEndsAt ? Date.parse(cfg.soakEndsAt) : NaN;
|
|
549
|
+
return cfg.enabled === true && Number.isFinite(endsAt) && nowMs < endsAt;
|
|
550
|
+
}
|
|
551
|
+
/** The plain detector path, for every live fallback. Never throws. */
|
|
552
|
+
function detectorOnly(text) {
|
|
553
|
+
try {
|
|
554
|
+
return { signals: detectGateSignals(text), jevUsed: false };
|
|
555
|
+
}
|
|
556
|
+
catch {
|
|
557
|
+
// @silent-fallback-ok — detectGateSignals already contains its own throws; this only guards the impossible.
|
|
558
|
+
return { signals: [], jevUsed: false };
|
|
559
|
+
}
|
|
560
|
+
}
|
|
561
|
+
/**
|
|
562
|
+
* Merge Jev's answers into the detector signals (docs/specs/jev-signal-live.md).
|
|
563
|
+
* Per kind:
|
|
564
|
+
* - Jev confident YES (p > band.hi): detected. The detector's signal is kept
|
|
565
|
+
* (its spans + sample still anchor the judge); if the detector missed it, a
|
|
566
|
+
* sample-less model signal is added.
|
|
567
|
+
* - Jev confident NO (p < band.lo) against a detector match: the detection
|
|
568
|
+
* STANDS (detected:true, so every B1–B7 rule can still fire on it) and is
|
|
569
|
+
* annotated with Jev's disagreement for the judge to weigh. Jev never hides
|
|
570
|
+
* or overrides an observation; it can only add to or comment on the list.
|
|
571
|
+
* - Unsure or no answer: the detector's output, unchanged.
|
|
572
|
+
* Pure. Output order follows GATE_SIGNAL_KINDS.
|
|
573
|
+
*/
|
|
574
|
+
export function mergeLiveSignals(detected, jev, opts = {}) {
|
|
575
|
+
const byKind = new Map();
|
|
576
|
+
for (const sig of detected)
|
|
577
|
+
if (sig.detected)
|
|
578
|
+
byKind.set(sig.kind, sig);
|
|
579
|
+
const signals = [];
|
|
580
|
+
const sources = {};
|
|
581
|
+
for (const kind of GATE_SIGNAL_KINDS) {
|
|
582
|
+
const rule = SHADOW_QUESTIONS.find((q) => q.signalKind === kind)?.rule;
|
|
583
|
+
const det = byKind.get(kind);
|
|
584
|
+
const p = rule ? jev[rule] : undefined;
|
|
585
|
+
const band = rule ? bandFor(rule, opts) : undefined;
|
|
586
|
+
const confident = typeof p === 'number' && Number.isFinite(p) && !!band && (p < band.lo || p > band.hi);
|
|
587
|
+
if (!rule || !confident) {
|
|
588
|
+
if (rule)
|
|
589
|
+
sources[rule] = 'detector-fallback';
|
|
590
|
+
if (det)
|
|
591
|
+
signals.push(det.source ? det : { ...det, source: 'detector' });
|
|
592
|
+
continue;
|
|
593
|
+
}
|
|
594
|
+
const prob = Math.max(0, Math.min(1, p));
|
|
595
|
+
if (prob > band.hi) {
|
|
596
|
+
sources[rule] = 'jev';
|
|
597
|
+
signals.push(det ? { ...det, source: 'jev', modelProbability: prob } : { kind, detected: true, source: 'jev', modelProbability: prob });
|
|
598
|
+
}
|
|
599
|
+
else if (det) {
|
|
600
|
+
sources[rule] = 'disputed';
|
|
601
|
+
signals.push({ ...det, source: 'detector', modelProbability: prob });
|
|
602
|
+
}
|
|
603
|
+
else {
|
|
604
|
+
sources[rule] = 'jev';
|
|
605
|
+
}
|
|
606
|
+
}
|
|
607
|
+
// Nothing Jev-sourced reached the list (all unsure, or only agreed "nothing
|
|
608
|
+
// here") ⇒ hand back the detector list untouched, so the prompt and its
|
|
609
|
+
// promptId stay exactly today's.
|
|
610
|
+
const jevUsed = signals.some((sig) => sig.modelProbability !== undefined);
|
|
611
|
+
return jevUsed ? { signals, sources, jevUsed } : { signals: detected, sources, jevUsed };
|
|
612
|
+
}
|
|
368
613
|
/**
|
|
369
614
|
* The production wiring, shared by server.ts and the E2E test so the test
|
|
370
615
|
* exercises the same config resolution, key lookup and log location the server
|
|
371
616
|
* uses. The live `intelligence` block wins; the boot config is the fallback.
|
|
372
617
|
*/
|
|
373
618
|
export function buildJevSignalShadow(opts) {
|
|
619
|
+
const liveBlock = (key) => {
|
|
620
|
+
const intel = opts.readLiveIntelligence();
|
|
621
|
+
const block = intel && typeof intel === 'object' ? intel[key] : undefined;
|
|
622
|
+
return block && typeof block === 'object' ? block : undefined;
|
|
623
|
+
};
|
|
374
624
|
return new JevSignalShadow({
|
|
375
|
-
getConfig: () =>
|
|
376
|
-
|
|
377
|
-
const block =
|
|
378
|
-
|
|
625
|
+
getConfig: () => (liveBlock('jevSignalShadow') ?? opts.bootBlock),
|
|
626
|
+
getLiveConfig: () => {
|
|
627
|
+
const block = (liveBlock('jevSignalLive') ?? opts.bootLiveBlock ?? {});
|
|
628
|
+
// Dev-gated: an omitted `enabled` is live on a development agent, dark on the fleet.
|
|
629
|
+
// And never while decision-quality recording is off (the route would harden the advisory).
|
|
630
|
+
const gated = resolveDevAgentGate(typeof block.enabled === 'boolean' ? block.enabled : undefined, { developmentAgent: opts.developmentAgent });
|
|
631
|
+
return { ...block, enabled: gated && (opts.recordingLive ?? decisionQualityRecordingLive)() };
|
|
379
632
|
},
|
|
380
633
|
readKey: () => {
|
|
381
634
|
const v = opts.readSecret('typesafe_api_key');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JevSignalShadow.js","sourceRoot":"","sources":["../../src/core/JevSignalShadow.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"JevSignalShadow.js","sourceRoot":"","sources":["../../src/core/JevSignalShadow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAwC,MAAM,0BAA0B,CAAC;AACtH,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,OAAO,EAA2C,MAAM,iBAAiB,CAAC;AAClH,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAGhF,MAAM,CAAC,MAAM,kBAAkB,GAAG,mBAAmB,CAAC;AACtD,iFAAiF;AACjF,MAAM,CAAC,MAAM,qBAAqB,GAAG,gBAAgB,CAAC;AACtD,yDAAyD;AACzD,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAC;AACrC,MAAM,QAAQ,GAAG,sCAAsC,CAAC;AA+CxD,wEAAwE;AACxE,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,CAAC;AAC5C,qGAAqG;AACrG,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AACvC,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC;AACxC,kFAAkF;AAClF,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC;AACtC,+EAA+E;AAC/E,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC;AACpC,8GAA8G;AAC9G,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AACvC,qEAAqE;AACrE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,GAAG,MAAM,CAAC;AAoF/C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAA8E;IACzG,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,6GAA6G,EAAE;IAC1K,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,6DAA6D,EAAE;IAC/H,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,oKAAoK,EAAE;IACpO,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,uFAAuF,EAAE;IAC3J,EAAE,IAAI,EAAE,iBAAiB,EAAE,UAAU,EAAE,iBAAiB,EAAE,YAAY,EAAE,uFAAuF,EAAE;IACjK,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,uHAAuH,EAAE;IACjL,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,mHAAmH,EAAE;CACxL,CAAC;AACF,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC;AACtC,iEAAiE;AACjE,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AACxC,0DAA0D;AAC1D,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAC;AACrC,wCAAwC;AACxC,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AACpC,mGAAmG;AACnG,MAAM,CAAC,MAAM,aAAa,GAAG,EAAE,GAAG,MAAM,CAAC;AA0BzC,MAAM,OAAO,eAAe;IAClB,QAAQ,GAAG,KAAK,CAAC;IACzB,oEAAoE;IAC5D,aAAa,GAAG,CAAC,CAAC;IAC1B,iFAAiF;IACzE,OAAO,GAAG,CAAC,CAAC;IACpB,yFAAyF;IACjF,YAAY,GAAG,CAAC,CAAC;IACjB,gBAAgB,GAAG,CAAC,CAAC;IACrB,SAAS,GAAkB,IAAI,CAAC;IACxC,uEAAuE;IAC/D,SAAS,GAAG,CAAC,CAAC;IACd,SAAS,GAAG,IAAI,GAAG,EAAqB,CAAC;IAChC,IAAI,CAAsB;IAE3C,YAAY,IAAyB;QACnC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAEO,UAAU;QAChB,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,IAAI,CAAC;YACH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC;QAC/C,CAAC;QAAC,MAAM,CAAC;YACP,gHAAgH;YAChH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACxB,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,QAAQ,CAAC,KAAa;QAC5B,OAAO,IAAI,CAAC,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrE,CAAC;IAED;;;;OAIG;IACK,QAAQ,CAAC,KAAa;QAC5B,MAAM,GAAG,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,OAAO,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,OAAO,KAAK,GAAG;YAAE,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACpE,CAAC;IAED;;;;;;;;OAQG;IACH,WAAW,CAAC,IAAY;QACtB,IAAI,IAAqC,CAAC;QAC1C,IAAI,CAAC;YACH,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,gHAAgH;YAChH,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAChD,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACpC,CAAC;QAAC,MAAM,CAAC;YACP,kGAAkG;YAClG,OAAO,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAEO,SAAS,CAAC,IAAY,EAAE,IAAyB;QACvD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5C,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,SAAS,CAAC;QACrD,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3H,MAAM,QAAQ,GAAG,CAAC,MAAyB,EAA8B,EAAE;YACzE,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5E,OAAO,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,IAAI,aAAa;YAAE,IAAI,CAAC,UAAU,EAAE,CAAC;QAClF,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,kEAAkE;YAClE,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC;gBAAE,OAAO,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;YACtF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;YACtC,OAAO,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QACrC,CAAC;QACD,qEAAqE;QACrE,4EAA4E;QAC5E,+BAA+B;QAC/B,IAAI,KAAK,GAAG,IAAI,CAAC,gBAAgB;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9E,IAAI,KAAK,GAAG,QAAQ;YAAE,OAAO,QAAQ,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QAChE,0EAA0E;QAC1E,8EAA8E;QAC9E,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,SAAS;YAAE,OAAO,QAAQ,CAAC,aAAa,CAAC,CAAC;QAEzE,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;YACrF,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9E,CAAC,CAAC,uBAAuB,CAAC;QAC5B,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QACvK,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACjF,IAAI,KAAgD,CAAC;QACrD,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAC7C,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;gBACjB,wEAAwE;gBACxE,wEAAwE;gBACxE,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBACvF,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,EAAE,SAAS,GAAG,kBAAkB,CAAC,CAAC;YAClC,KAAgC,CAAC,KAAK,EAAE,EAAE,CAAC;QAC9C,CAAC,CAAC,CAAC;QACH,uEAAuE;QACvE,6EAA6E;QAC7E,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;aACpD,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACf,IAAI,CAAC,eAAe,CAAC,MAAM,KAAK,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YACzD,OAAO,MAAM,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC/C,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,KAAK;YAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC;IAED;;0CAEsC;IAC9B,eAAe,CAAC,EAAW,EAAE,EAAU,EAAE,MAAc,EAAE,KAAa;QAC5E,IAAI,EAAE,EAAE,CAAC;YAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QAC1C,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,IAAI,CAAC,YAAY,GAAG,qBAAqB;YAAE,OAAO;QACtD,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,gBAAgB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,oBAAoB,CAAC;QAC7E,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9F,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,IAAY;QAClB,IAAI,CAAC;YACH,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,+IAA+I;QACjJ,CAAC;IACH,CAAC;IAED,mEAAmE;IACnE,YAAY,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IAExC,YAAY,CAAC,IAAY;QAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC;QACxC,IAAI,GAAG,CAAC,OAAO,KAAK,IAAI;YAAE,OAAO;QACjC,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5C,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,SAAS,CAAC;QACrD,8GAA8G;QAC9G,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3H,MAAM,WAAW,GAAG,CAAC,MAAyB,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAEnH,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QACjE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;YAChD,4EAA4E;YAC5E,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;gBAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YAAC,CAAC;YAC7G,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,IAAI,aAAa;YAAE,IAAI,CAAC,UAAU,EAAE,CAAC;QAClF,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;gBAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;YAAC,CAAC;YACtH,OAAO;QACT,CAAC;QACD,MAAM,UAAU,GAAG,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,IAAI,UAAU,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,UAAU,EAAE,CAAC;YAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QACnH,IAAI,KAAK,GAAG,QAAQ,EAAE,CAAC;YAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QAC1D,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QAExE,yEAAyE;QACzE,4EAA4E;QAC5E,gDAAgD;QAChD,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC;aAC1F,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;aACrB,KAAK,CAAC,GAAG,EAAE,GAAkH,CAAC,CAAC;aAC/H,OAAO,CAAC,OAAO,CAAC,CAAC;IACtB,CAAC;IAEO,KAAK,CAAC,QAAQ,CACpB,IAAY,EACZ,GAA0B,EAC1B,IAA6H;IAC7H;+EAC2E;IAC3E,IAAkG;QAElG,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,YAAY,CAAC;QACxC,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ,IAAI,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;QACxH,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5H,MAAM,IAAI,GAAG,IAAI,eAAe,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,SAAS,CAAC,CAAC;QACxD,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACzC,MAAM,EAAE,GAAG,CAAC,MAAyB,EAAQ,EAAE;YAC7C,wEAAwE;YACxE,0EAA0E;YAC1E,IAAI,IAAI,EAAE,IAAI,CAAC,IAAI;gBAAE,OAAO,IAAI,CAAC;YACjC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;YAC9G,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QACF,IAAI,QAA4B,CAAC;QACjC,IAAI,OAAO,GAA+B,OAAO,CAAC;QAClD,IAAI,WAA+B,CAAC;QACpC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,CAAC,QAAQ,EAAE;gBACzD,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,SAAS,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC1F,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;gBAC9E,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;oBAAC,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAC,CAAC,CAAC,iDAAiD;gBAC1K,OAAO,EAAE,CAAC,YAAY,CAAC,CAAC;YAC1B,CAAC;YACD,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAuG,CAAC;YACtI,WAAW,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;YACtE,QAAQ,GAAG,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC;YACpC,IAAI,WAAW,KAAK,KAAK;gBAAE,OAAO,EAAE,CAAC,gBAAgB,CAAC,CAAC;YACvD,MAAM,GAAG,GAA2B,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAa,EAAE,CAAC;YAC9B,KAAK,MAAM,CAAC,IAAI,gBAAgB,EAAE,CAAC;gBACjC,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;gBACvC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAAE,SAAS;gBAC3D,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAChB,MAAM,OAAO,GAAG,CAAC,GAAG,kBAAkB,CAAC;gBACvC,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;gBACjE,IAAI,OAAO,KAAK,YAAY;oBAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACtD,CAAC;YACD,wEAAwE;YACxE,yDAAyD;YACzD,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAC,YAAY,CAAC,CAAC;YACnE,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;YAC7C,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,GAAG,IAAI,CAAC;YACrC,4EAA4E;YAC5E,yEAAyE;YACzE,2EAA2E;YAC3E,yEAAyE;YACzE,MAAM,SAAS,GAAG,CAAC,IAAI,IAAI,eAAe,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC/E,MAAM,QAAQ,GAAG,SAAS,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,0BAA0B,KAAK,IAAI;gBAC1F,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC;gBAC1D,CAAC,CAAC,EAAE,CAAC;YACP,wEAAwE;YACxE,2EAA2E;YAC3E,8DAA8D;YAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACvE,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;gBAC3B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAa,EAAE,QAAQ,EAAE,IAAa,EAAE;oBACnE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAa,EAAE,WAAW,EAAE,MAAO,CAAC,OAAO,EAAE,CAAC;YAC1D,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC;YAC7I,IAAI,SAAS;gBAAE,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;YAC3F,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,4EAA4E;YAC5E,sEAAsE;YACtE,OAAO,EAAE,CAAE,GAAa,EAAE,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QAC9E,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,CAAC;gBACH,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC;oBACxB,OAAO,EAAE,kBAAkB;oBAC3B,IAAI,EAAE,KAAK;oBACX,OAAO;oBACP,QAAQ;oBACR,SAAS,EAAE,CAAC,EAAE,uCAAuC;oBACrD,SAAS,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE;oBAC7C,KAAK,EAAE,WAAW,IAAI,KAAK;oBAC3B,SAAS,EAAE,cAAc;iBAC1B,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC,CAAC,oEAAoE,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;IAED;;;0EAGsE;IAC9D,UAAU,GAAG,EAAE,CAAC;IAChB,YAAY,GAAG,CAAC,CAAC;IAEzB;;;;;;OAMG;IACK,YAAY,CAClB,IAAY,EACZ,OAA6C,EAC7C,QAAkB,EAClB,GAA0B,EAC1B,EAAU;QAEV,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5B,IAAI,IAAI,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;gBAAC,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;gBAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;YAAC,CAAC;YAC9E,MAAM,GAAG,GAAG,OAAO,GAAG,CAAC,iBAAiB,KAAK,QAAQ,IAAI,GAAG,CAAC,iBAAiB,IAAI,CAAC;gBACjF,CAAC,CAAC,GAAG,CAAC,iBAAiB;gBACvB,CAAC,CAAC,iBAAiB,CAAC;YACtB,IAAI,IAAI,CAAC,YAAY,IAAI,GAAG;gBAAE,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,CAAC;YAEzE,MAAM,KAAK,GAAG,IAAI,GAAG,CACnB,QAAQ;iBACL,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,UAAU,CAAC;iBACxE,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CACrD,CAAC;YACF,MAAM,KAAK,GAAG,OAAO;iBAClB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;iBACpC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;iBACjC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBACZ,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,qBAAqB,CAAC;gBACpD,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,qBAAqB,CAAC;aAC3D,CAAC,CAAC;iBACF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;YACrC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,CAAC;YAE1E,qEAAqE;YACrE,MAAM,MAAM,GAA0C,EAAE,CAAC;YACzD,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;gBACvB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACvC,IAAI,IAAI,IAAI,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG;oBAAE,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;;oBACnE,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;YAC9B,CAAC;YACD,IAAI,GAAG,GAAG,EAAE,CAAC;YACb,KAAK,MAAM,EAAE,IAAI,MAAM,EAAE,CAAC;gBACxB,IAAI,GAAG,CAAC,MAAM,IAAI,iBAAiB;oBAAE,MAAM;gBAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;gBAC3C,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC;YACpC,CAAC;YACD,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC;YAEtC,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;YACpC,IAAI,QAAQ,CAAC,KAAK;gBAAE,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,CAAC;YACjE,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,OAAO;gBACL,OAAO,EAAE,QAAQ,CAAC,IAAI;gBACtB,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC7F,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,yFAAyF;YACzF,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,CAAC;QAC/C,CAAC;IACH,CAAC;IAEO,eAAe,GAAG,KAAK,CAAC;IACxB,UAAU,GAAG,EAAE,CAAC;IAChB,YAAY,GAAG,CAAC,CAAC;IACzB,2EAA2E;IAC3E,WAAW,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IAE/C;;;;;;OAMG;IACK,UAAU,CAChB,IAAY,EACZ,GAA0B,EAC1B,EAAU,EACV,MAAc,EACd,GAA2B,EAC3B,eAAyB;QAEzB,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC;QACvB,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC7D,MAAM,SAAS,GAAG,iBAAiB,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAChI,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACrC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC/B,MAAM,MAAM,GAA2B,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAA4B,EAAE,CAAC;QAC7C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;YACzB,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,UAAU,CAAC;YACvE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC5D,CAAC;QACD,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,SAAkB,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QACxF,MAAM,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5B,IAAI,IAAI,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;YAAC,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;YAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QAAC,CAAC;QAC9E,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC,SAAS,KAAK,QAAQ,IAAI,EAAE,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC;QACrG,IAAI,IAAI,CAAC,YAAY,IAAI,GAAG,EAAE,CAAC;YAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QACvF,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QAC9E,2EAA2E;QAC3E,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QAC/E,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,MAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;QACtI,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE;YACzE,SAAS,EAAE,EAAE,CAAC,SAAS;YACvB,SAAS,EAAE,qBAAqB;YAChC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG;SACnB,CAAC;aACC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YACZ,IAAI,GAAG,CAAC,EAAE;gBAAE,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;;gBACnF,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QACjF,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE,GAAqG,CAAC,CAAC;aAClH,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;IAEO,KAAK,CAAC,GAAc;QAC1B,IAAI,CAAC;YACH,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACnE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;QACnE,CAAC;QAAC,MAAM,CAAC;YACP,+EAA+E;QACjF,CAAC;IACH,CAAC;CACF;AAED,qFAAqF;AACrF,SAAS,eAAe,CAAC,GAA0B,EAAE,KAAa;IAChE,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACjE,OAAO,GAAG,CAAC,OAAO,KAAK,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,GAAG,MAAM,CAAC;AAC3E,CAAC;AAED,sEAAsE;AACtE,SAAS,YAAY,CAAC,IAAY;IAChC,IAAI,CAAC;QACH,OAAO,EAAE,OAAO,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC9D,CAAC;IAAC,MAAM,CAAC;QACP,4GAA4G;QAC5G,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IACzC,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,gBAAgB,CAC9B,QAAsB,EACtB,GAA2B,EAC3B,OAAoE,EAAE;IAEtE,MAAM,MAAM,GAAG,IAAI,GAAG,EAA8B,CAAC;IACrD,KAAK,MAAM,GAAG,IAAI,QAAQ;QAAE,IAAI,GAAG,CAAC,QAAQ;YAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACxE,MAAM,OAAO,GAAiB,EAAE,CAAC;IACjC,MAAM,OAAO,GAA+B,EAAE,CAAC;IAC/C,KAAK,MAAM,IAAI,IAAI,iBAAiB,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,EAAE,IAAI,CAAC;QACvE,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC7B,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACpD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;QACxG,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACxB,IAAI,IAAI;gBAAE,OAAO,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC;YAC9C,IAAI,GAAG;gBAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;YACzE,SAAS;QACX,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAW,CAAC,CAAC,CAAC;QACnD,IAAI,IAAI,GAAG,IAAK,CAAC,EAAE,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1I,CAAC;aAAM,IAAI,GAAG,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC;QACvE,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QACxB,CAAC;IACH,CAAC;IACD,4EAA4E;IAC5E,wEAAwE;IACxE,iCAAiC;IACjC,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC;IAC1E,OAAO,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAC3F,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAkBpC;IACC,MAAM,SAAS,GAAG,CAAgD,GAAM,EAAW,EAAE;QACnF,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAE,KAAiC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACvG,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAChE,CAAC,CAAC;IACF,OAAO,IAAI,eAAe,CAAC;QACzB,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,SAAS,CAAsC;QACtG,aAAa,EAAE,GAAG,EAAE;YAClB,MAAM,KAAK,GAAG,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,aAAa,IAAI,EAAE,CAAwB,CAAC;YAC9F,qFAAqF;YACrF,2FAA2F;YAC3F,MAAM,KAAK,GAAG,mBAAmB,CAAC,OAAO,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;YAC/I,OAAO,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,4BAA4B,CAAC,EAAE,EAAE,CAAC;QAChG,CAAC;QACD,OAAO,EAAE,GAAG,EAAE;YACZ,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;YAC9C,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/C,CAAC;QACD,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,yBAAyB,CAAC;QAC1E,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI;KAC9B,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
* is the structural backup that catches lapses.
|
|
19
19
|
*/
|
|
20
20
|
import type { IntelligenceProvider } from './types.js';
|
|
21
|
+
import { type GateSignal } from './GateSignalDetectors.js';
|
|
21
22
|
/** Normalize volatile fields so repeated automated templates share one identity. */
|
|
22
23
|
export declare function normalizeAutomatedTemplate(text: string): string;
|
|
23
24
|
export declare function fingerprintAutomatedTemplate(text: string): string;
|
|
@@ -41,6 +42,12 @@ export declare const TONE_CANDIDATE_BODY_MAX_CHARS = 4000;
|
|
|
41
42
|
* signal-driven B1–B7 prompt shape (CMT-1793).
|
|
42
43
|
*/
|
|
43
44
|
export declare const TONE_GATE_PROMPT_ID = "tone-gate-sigv1";
|
|
45
|
+
/**
|
|
46
|
+
* The promptId when confident Jev answers shaped the artefact-signal list
|
|
47
|
+
* (docs/specs/jev-signal-live.md) — a different input source, so grades by
|
|
48
|
+
* promptId never mix the two.
|
|
49
|
+
*/
|
|
50
|
+
export declare const TONE_GATE_PROMPT_ID_JEV = "tone-gate-sigv1-jev";
|
|
44
51
|
/**
|
|
45
52
|
* The bounded action space the tone judge emits, declared as `optionsPresented`
|
|
46
53
|
* on the provenance enrollment (§5.2 static, code-authored, enum-like labels):
|
|
@@ -141,6 +148,8 @@ export declare function buildToneDecisionContext(text: string, context: ToneRevi
|
|
|
141
148
|
opts?: {
|
|
142
149
|
recordCandidateBody?: boolean;
|
|
143
150
|
maxBodyChars?: number;
|
|
151
|
+
/** The signal list the prompt was actually handed (jev-signal-live); absent ⇒ the detectors'. */
|
|
152
|
+
gateSignals?: GateSignal[];
|
|
144
153
|
}): Record<string, unknown>;
|
|
145
154
|
/**
|
|
146
155
|
* Build the F4 degraded-disposition result for a candidate: run the
|
|
@@ -531,6 +540,14 @@ export interface ToneReviewSignals {
|
|
|
531
540
|
}
|
|
532
541
|
export interface ToneReviewContext {
|
|
533
542
|
channel: string;
|
|
543
|
+
/**
|
|
544
|
+
* Opt-in to Jev-shaped artefact signals (docs/specs/jev-signal-live.md). Set
|
|
545
|
+
* ONLY by a caller that gives an advisory verdict an override path (the
|
|
546
|
+
* outbound messaging route). Absent ⇒ detector-only signals, exactly today's
|
|
547
|
+
* behaviour — so a caller that treats any pass:false as final can never see a
|
|
548
|
+
* model-sourced signal.
|
|
549
|
+
*/
|
|
550
|
+
liveArtefactSignals?: boolean;
|
|
534
551
|
/** Recent conversation history for context-aware judgment (last ~6 messages). */
|
|
535
552
|
recentMessages?: ToneReviewContextMessage[];
|
|
536
553
|
/** Structured signals from upstream detectors. See ToneReviewSignals. */
|
|
@@ -671,6 +688,14 @@ export interface ToneGateConfig {
|
|
|
671
688
|
* against the dead location and whitelisted only three of the four knobs.
|
|
672
689
|
*/
|
|
673
690
|
export declare function resolveToneGateOperatorConfig(config: unknown): ToneGateConfig;
|
|
691
|
+
/** The Jev signal shadow as the gate sees it (src/core/JevSignalShadow.ts). */
|
|
692
|
+
export interface ToneGateSignalShadow {
|
|
693
|
+
observe(text: string): void;
|
|
694
|
+
liveSignals?(text: string): Promise<{
|
|
695
|
+
signals: GateSignal[];
|
|
696
|
+
jevUsed: boolean;
|
|
697
|
+
}> | null;
|
|
698
|
+
}
|
|
674
699
|
export declare class MessagingToneGate {
|
|
675
700
|
private provider;
|
|
676
701
|
private configOrGetter;
|
|
@@ -682,9 +707,7 @@ export declare class MessagingToneGate {
|
|
|
682
707
|
* never throws, so the verdict and its latency do not depend on it.
|
|
683
708
|
*/
|
|
684
709
|
private signalShadow;
|
|
685
|
-
setSignalShadow(shadow:
|
|
686
|
-
observe(text: string): void;
|
|
687
|
-
} | null): void;
|
|
710
|
+
setSignalShadow(shadow: ToneGateSignalShadow | null): void;
|
|
688
711
|
/** Resolve config live each review so the kill-switch is honored without a restart. */
|
|
689
712
|
private getConfig;
|
|
690
713
|
review(text: string, context: ToneReviewContext): Promise<ToneReviewResult>;
|
|
@@ -724,6 +747,14 @@ export declare class MessagingToneGate {
|
|
|
724
747
|
* mentioned in passing?") rather than literal-matching the artifact itself.
|
|
725
748
|
*/
|
|
726
749
|
private renderGateSignals;
|
|
750
|
+
/**
|
|
751
|
+
* jev-signal-live: the same boundary contract as renderGateSignals, for a list
|
|
752
|
+
* where confident Jev answers decided some kinds. Each line says which source
|
|
753
|
+
* decided it. A detector match Jev confidently disputes stays detected=true
|
|
754
|
+
* (the rules still apply to it) with Jev's disagreement noted. A Jev-only line
|
|
755
|
+
* has no sample, so the judge is told to cite the artifact from the candidate.
|
|
756
|
+
*/
|
|
757
|
+
private renderLiveGateSignals;
|
|
727
758
|
private renderTargetStyle;
|
|
728
759
|
private renderRecentMessages;
|
|
729
760
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessagingToneGate.d.ts","sourceRoot":"","sources":["../../src/core/MessagingToneGate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"MessagingToneGate.d.ts","sourceRoot":"","sources":["../../src/core/MessagingToneGate.ts"],"names":[],"mappings":"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"}
|