@evomap/evolver-core 2.0.0-beta.9 → 2.0.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/dist/algo/antiDistill.js +1 -167
- package/dist/algo/bans.js +1 -33
- package/dist/algo/candidateAssembly.d.ts +7 -2
- package/dist/algo/candidateAssembly.js +1 -205
- package/dist/algo/capabilityCandidates.js +1 -136
- package/dist/algo/confidence.js +1 -196
- package/dist/algo/conversationSniffer.js +1 -149
- package/dist/algo/cycleEngine.d.ts +23 -2
- package/dist/algo/cycleEngine.js +1 -425
- package/dist/algo/cycleFailureClassifier.js +1 -112
- package/dist/algo/epigenetics.js +1 -41
- package/dist/algo/evolutionEvent.js +1 -24
- package/dist/algo/exploration.d.ts +7 -0
- package/dist/algo/exploration.js +1 -55
- package/dist/algo/geneHealth.d.ts +2 -2
- package/dist/algo/geneHealth.js +1 -16
- package/dist/algo/geneIntake.js +1 -128
- package/dist/algo/genePromotion.js +1 -53
- package/dist/algo/geneSelection.d.ts +63 -5
- package/dist/algo/geneSelection.js +1 -246
- package/dist/algo/index.d.ts +2 -0
- package/dist/algo/index.js +1 -20
- package/dist/algo/memoryGraph.js +1 -86
- package/dist/algo/mutation.js +1 -22
- package/dist/algo/orchestrator.d.ts +8 -1
- package/dist/algo/orchestrator.js +1 -75
- package/dist/algo/publishEligibility.d.ts +34 -0
- package/dist/algo/publishEligibility.js +1 -0
- package/dist/algo/solidify.js +1 -63
- package/dist/algo/strategyPresets.js +1 -61
- package/dist/algo/ucb1.d.ts +53 -0
- package/dist/algo/ucb1.js +1 -0
- package/dist/assetstore/assetSidecarRecords.d.ts +7 -2
- package/dist/assetstore/assetSidecarRecords.js +238 -0
- package/dist/assetstore/assetSidecarRecovery.js +2 -2
- package/dist/assetstore/assetStoreHealth.d.ts +6 -0
- package/dist/assetstore/assetStoreHealth.js +56 -14
- package/dist/assetstore/assetStoreStorage.d.ts +1 -1
- package/dist/assetstore/assetStoreStorage.js +27 -9
- package/dist/assetstore/assetSyncLedger.d.ts +86 -0
- package/dist/assetstore/assetSyncLedger.js +683 -4
- package/dist/assetstore/index.d.ts +1 -0
- package/dist/assetstore/index.js +1 -0
- package/dist/assetstore/localAssetStoreSnapshot.d.ts +51 -0
- package/dist/assetstore/localAssetStoreSnapshot.js +329 -0
- package/dist/assetstore/localJsonl.d.ts +4 -2
- package/dist/assetstore/localJsonl.js +89 -9
- package/dist/assetstore/provenance.d.ts +80 -4
- package/dist/assetstore/provenance.js +313 -5
- package/dist/assetstore/provider.d.ts +58 -1
- package/dist/assetstore/provider.js +97 -6
- package/dist/benchmark/antiGeneBenchmark.d.ts +2 -0
- package/dist/benchmark/antiGeneBenchmark.js +1 -251
- package/dist/benchmark/antiGeneImpact.js +1 -34
- package/dist/benchmark/antiGeneRollout.d.ts +2 -0
- package/dist/benchmark/antiGeneRollout.js +1 -268
- package/dist/benchmark/benchmark.js +1 -26
- package/dist/benchmark/evolutionThesisSolver.js +1 -41
- package/dist/benchmark/index.d.ts +2 -1
- package/dist/benchmark/index.js +1 -6
- package/dist/benchmark/selectionFlatAbstention.d.ts +152 -0
- package/dist/benchmark/selectionFlatAbstention.js +1 -0
- package/dist/benchmark/thesis.js +1 -150
- package/dist/benchmark/triggerShift.js +1 -106
- package/dist/bootstrap/envFingerprint.d.ts +9 -0
- package/dist/bootstrap/envFingerprint.js +5 -0
- package/dist/bootstrap/index.d.ts +2 -1
- package/dist/bootstrap/index.js +2 -1
- package/dist/bootstrap/v1EnvCompat.d.ts +111 -0
- package/dist/bootstrap/v1EnvCompat.js +280 -0
- package/dist/cycle/cycleTimeline.js +1 -74
- package/dist/cycle/index.js +1 -2
- package/dist/cycle/stateMachine.js +1 -25
- package/dist/events/eventArchive.d.ts +2 -0
- package/dist/events/eventArchive.js +13 -3
- package/dist/events/eventSchema.d.ts +7 -7
- package/dist/events/eventStore.d.ts +2 -0
- package/dist/events/eventStore.js +5 -1
- package/dist/events/ingest.d.ts +1 -0
- package/dist/events/ingest.js +1 -0
- package/dist/events/paths.d.ts +3 -1
- package/dist/events/paths.js +4 -0
- package/dist/events/public.d.ts +2 -2
- package/dist/events/public.js +2 -2
- package/dist/events/reports.d.ts +2 -0
- package/dist/events/reports.js +4 -0
- package/dist/exec/autoExec.d.ts +43 -2
- package/dist/exec/autoExec.js +76 -9
- package/dist/exec/autonomousCycle.d.ts +22 -4
- package/dist/exec/autonomousCycle.js +64 -13
- package/dist/exec/claudeBridge.d.ts +32 -7
- package/dist/exec/claudeBridge.js +281 -29
- package/dist/exec/prompt.js +5 -1
- package/dist/exec/runnerRegistry.d.ts +68 -26
- package/dist/exec/runnerRegistry.js +307 -72
- package/dist/exec/selfPr.js +1 -7
- package/dist/feedback/envelope.d.ts +61 -0
- package/dist/feedback/envelope.js +168 -0
- package/dist/feedback/index.d.ts +1 -0
- package/dist/feedback/index.js +1 -0
- package/dist/hooks/hooks.js +1 -0
- package/dist/hub/agentDirectory.js +1 -104
- package/dist/hub/assetCallLog.d.ts +35 -1
- package/dist/hub/assetCallLog.js +1 -72
- package/dist/hub/bindings.d.ts +8 -1
- package/dist/hub/bindings.js +1 -110
- package/dist/hub/capability.d.ts +90 -3
- package/dist/hub/capability.js +1 -1
- package/dist/hub/conversationDistiller.js +1 -264
- package/dist/hub/fake.d.ts +2 -2
- package/dist/hub/fake.js +1 -70
- package/dist/hub/hubReview.js +1 -106
- package/dist/hub/index.js +1 -11
- package/dist/hub/ingest.js +1 -15
- package/dist/hub/questionGenerator.d.ts +5 -1
- package/dist/hub/questionGenerator.js +1 -406
- package/dist/hub/reuseDecision.js +1 -127
- package/dist/hub/sanitize.js +1 -322
- package/dist/index.d.ts +3 -1
- package/dist/index.js +4 -1
- package/dist/mailbox/dispatch.d.ts +1 -1
- package/dist/mailbox/dispatch.js +22 -6
- package/dist/mailbox/envelope.d.ts +7 -1
- package/dist/mailbox/envelope.js +9 -2
- package/dist/mailbox/ipcServer.d.ts +10 -2
- package/dist/mailbox/ipcServer.js +163 -13
- package/dist/mailbox/store.d.ts +89 -3
- package/dist/mailbox/store.js +895 -41
- package/dist/material/boundary.js +1 -14
- package/dist/material/consumer.js +1 -55
- package/dist/material/emit.js +1 -52
- package/dist/material/factory.js +1 -25
- package/dist/material/index.js +1 -9
- package/dist/material/materialArchive.js +1 -466
- package/dist/material/materialStore.js +1 -69
- package/dist/material/sampling.js +1 -39
- package/dist/material/sources.js +1 -33
- package/dist/material/watermark.js +1 -76
- package/dist/ops/evolutionGraphProjection.d.ts +20 -0
- package/dist/ops/evolutionGraphProjection.js +315 -0
- package/dist/ops/index.d.ts +2 -1
- package/dist/ops/index.js +2 -1
- package/dist/ops/selfUpdate.d.ts +8 -0
- package/dist/ops/selfUpdate.js +24 -8
- package/dist/personality/drift.js +1 -106
- package/dist/personality/events.js +1 -37
- package/dist/personality/evolveOps.js +1 -93
- package/dist/personality/index.js +1 -11
- package/dist/personality/mutate.js +1 -39
- package/dist/personality/pivot.js +1 -22
- package/dist/personality/prompt.js +1 -62
- package/dist/personality/riskGate.js +1 -80
- package/dist/personality/schema.d.ts +16 -16
- package/dist/personality/schema.js +1 -119
- package/dist/personality/select.js +1 -71
- package/dist/personality/stats.js +1 -82
- package/dist/personality/store.js +1 -92
- package/dist/schema/common.js +1 -17
- package/dist/schema/evolutionGraph.d.ts +784 -0
- package/dist/schema/evolutionGraph.js +1 -0
- package/dist/schema/index.d.ts +1 -0
- package/dist/schema/index.js +1 -5
- package/dist/schema/material.js +1 -50
- package/dist/schema/problem.js +1 -45
- package/dist/schema/proofOfWork.js +1 -9
- package/dist/schema/signal.d.ts +3 -3
- package/dist/schema/signal.js +1 -19
- package/dist/signals/curriculum.d.ts +55 -0
- package/dist/signals/curriculum.js +1 -0
- package/dist/signals/cycleHistoryFromEvents.js +1 -96
- package/dist/signals/expand.d.ts +15 -1
- package/dist/signals/expand.js +1 -125
- package/dist/signals/extractor.d.ts +2 -2
- package/dist/signals/extractor.js +1 -57
- package/dist/signals/index.d.ts +3 -1
- package/dist/signals/index.js +1 -6
- package/dist/signals/metaSignals.d.ts +4 -0
- package/dist/signals/metaSignals.js +1 -158
- package/dist/signals/signalGate.js +1 -40
- package/dist/signals/taskDomain.d.ts +22 -0
- package/dist/signals/taskDomain.js +1 -0
- package/dist/signals/traceSignals.js +1 -123
- package/dist/strategy/constraintAblation.js +1 -3074
- package/dist/strategy/constraintAblationPredicates.d.ts +31 -0
- package/dist/strategy/constraintAblationPredicates.js +1 -0
- package/dist/strategy/experiment.js +1 -63
- package/dist/strategy/index.js +1 -3
- package/dist/strategy/strategyPoint.js +1 -23
- package/dist/trace/index.d.ts +3 -1
- package/dist/trace/index.js +3 -1
- package/dist/trace/learningTrace.d.ts +209 -0
- package/dist/trace/learningTrace.js +276 -0
- package/dist/trace/proxyTurns.d.ts +31 -0
- package/dist/trace/proxyTurns.js +137 -0
- package/dist/verify/sandboxRunner.d.ts +28 -0
- package/dist/verify/sandboxRunner.js +218 -19
- package/dist/verify/sandboxedValidation.d.ts +9 -0
- package/dist/verify/sandboxedValidation.js +113 -13
- package/dist/verify/validation.d.ts +11 -1
- package/dist/verify/validation.js +31 -0
- package/package.json +5 -2
package/dist/benchmark/thesis.js
CHANGED
|
@@ -1,150 +1 @@
|
|
|
1
|
-
function summarize(arm, samples) {
|
|
2
|
-
const n = samples.length;
|
|
3
|
-
if (n === 0)
|
|
4
|
-
return { arm, n: 0, passes: 0, passRate: 0, avgCost: 0, reuseRate: 0 };
|
|
5
|
-
const passes = samples.filter((s) => s.passed).length;
|
|
6
|
-
return {
|
|
7
|
-
arm,
|
|
8
|
-
n,
|
|
9
|
-
passes,
|
|
10
|
-
passRate: passes / n,
|
|
11
|
-
reuseRate: samples.filter((s) => s.reusedGene).length / n,
|
|
12
|
-
avgCost: samples.reduce((a, s) => a + s.cost, 0) / n,
|
|
13
|
-
};
|
|
14
|
-
}
|
|
15
|
-
/** Normal CDF via an Abramowitz-Stegun erf approximation — deterministic, no stats dependency, ample precision
|
|
16
|
-
* for a p-value gate (|error| < 1.5e-7). Used for the two-sided p-value of the two-proportion z test. */
|
|
17
|
-
function normalCdf(x) {
|
|
18
|
-
const t = 1 / (1 + 0.2316419 * Math.abs(x));
|
|
19
|
-
const d = 0.3989422804014327 * Math.exp((-x * x) / 2);
|
|
20
|
-
const p = d * t * (0.31938153 + t * (-0.356563782 + t * (1.781477937 + t * (-1.821255978 + t * 1.330274429))));
|
|
21
|
-
return x >= 0 ? 1 - p : p;
|
|
22
|
-
}
|
|
23
|
-
/** Inverse normal CDF (Acklam's rational approximation) — for the (1 − alpha) CI's critical value, so alpha is
|
|
24
|
-
* honoured rather than hard-coding z=1.96. Domain (0,1); deterministic. */
|
|
25
|
-
function normalQuantile(p) {
|
|
26
|
-
if (p <= 0)
|
|
27
|
-
return -Infinity;
|
|
28
|
-
if (p >= 1)
|
|
29
|
-
return Infinity;
|
|
30
|
-
const a = [-3.969683028665376e1, 2.209460984245205e2, -2.759285104469687e2, 1.38357751867269e2, -3.066479806614716e1, 2.506628277459239];
|
|
31
|
-
const b = [-5.447609879822406e1, 1.615858368580409e2, -1.556989798598866e2, 6.680131188771972e1, -1.328068155288572e1];
|
|
32
|
-
const c = [-7.784894002430293e-3, -3.223964580411365e-1, -2.400758277161838, -2.549732539343734, 4.374664141464968, 2.938163982698783];
|
|
33
|
-
const d = [7.784695709041462e-3, 3.224671290700398e-1, 2.445134137142996, 3.754408661907416];
|
|
34
|
-
const pLow = 0.02425;
|
|
35
|
-
if (p < pLow) {
|
|
36
|
-
const q = Math.sqrt(-2 * Math.log(p));
|
|
37
|
-
return (((((c[0] * q + c[1]) * q + c[2]) * q + c[3]) * q + c[4]) * q + c[5]) / ((((d[0] * q + d[1]) * q + d[2]) * q + d[3]) * q + 1);
|
|
38
|
-
}
|
|
39
|
-
if (p <= 1 - pLow) {
|
|
40
|
-
const q = p - 0.5;
|
|
41
|
-
const r = q * q;
|
|
42
|
-
return (((((a[0] * r + a[1]) * r + a[2]) * r + a[3]) * r + a[4]) * r + a[5]) * q / (((((b[0] * r + b[1]) * r + b[2]) * r + b[3]) * r + b[4]) * r + 1);
|
|
43
|
-
}
|
|
44
|
-
const q = Math.sqrt(-2 * Math.log(1 - p));
|
|
45
|
-
return -(((((c[0] * q + c[1]) * q + c[2]) * q + c[3]) * q + c[4]) * q + c[5]) / ((((d[0] * q + d[1]) * q + d[2]) * q + d[3]) * q + 1);
|
|
46
|
-
}
|
|
47
|
-
/** Two-proportion test of (evolver − baseline) pass rates. Significance uses the POOLED-variance z test (the
|
|
48
|
-
* standard test of H0: p1 = p2); the reported CI uses the UNPOOLED (Wald) standard error (the standard interval
|
|
49
|
-
* for the difference). Zero pooled variance (both arms all-pass or all-fail) → no testable difference. */
|
|
50
|
-
function twoProportionTest(x1, n1, x2, n2, alpha) {
|
|
51
|
-
const p1 = x1 / n1;
|
|
52
|
-
const p2 = x2 / n2;
|
|
53
|
-
const delta = p1 - p2;
|
|
54
|
-
const pooled = (x1 + x2) / (n1 + n2);
|
|
55
|
-
const sePooled = Math.sqrt(pooled * (1 - pooled) * (1 / n1 + 1 / n2));
|
|
56
|
-
const z = sePooled > 0 ? delta / sePooled : 0;
|
|
57
|
-
const pValue = sePooled > 0 ? 2 * (1 - normalCdf(Math.abs(z))) : 1;
|
|
58
|
-
const zCrit = normalQuantile(1 - alpha / 2);
|
|
59
|
-
const seWald = Math.sqrt((p1 * (1 - p1)) / n1 + (p2 * (1 - p2)) / n2);
|
|
60
|
-
return { z, pValue, significant: pValue <= alpha, ciLow: delta - zCrit * seWald, ciHigh: delta + zCrit * seWald };
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Achieved power + the per-arm sample size needed to call the experiment "powered". Answers what a bare
|
|
64
|
-
* `no_significant_diff` cannot: was an effect of the minimum interesting size (minDelta) likely to be DETECTED at
|
|
65
|
-
* this n, or is the null just underpowered? Plans around the OBSERVED baseline rate using the two-proportion
|
|
66
|
-
* normal approximation; equal-n via the harmonic mean of the two arms (so unequal arms degrade gracefully).
|
|
67
|
-
*/
|
|
68
|
-
function powerAnalysis(baselineRate, minDelta, n1, n2, alpha, targetPower) {
|
|
69
|
-
const delta = Math.abs(minDelta);
|
|
70
|
-
if (delta <= 0)
|
|
71
|
-
return { power: 0, requiredN: Infinity }; // no effect size to power for
|
|
72
|
-
const p2 = Math.min(1, Math.max(0, baselineRate));
|
|
73
|
-
const p1 = Math.min(1, Math.max(0, p2 + delta));
|
|
74
|
-
// EFFECTIVE effect size after clamping to [0,1]: a minDelta lift off a near-ceiling baseline isn't fully
|
|
75
|
-
// achievable (p1 caps at 1), so the realizable effect is p1 - p2 <= minDelta. Using the raw minDelta here would
|
|
76
|
-
// overstate power and understate requiredN (Bugbot #286). At the ceiling (p2=1) there is no headroom at all.
|
|
77
|
-
const effDelta = p1 - p2;
|
|
78
|
-
if (effDelta <= 0)
|
|
79
|
-
return { power: 0, requiredN: Infinity };
|
|
80
|
-
const pbar = (p1 + p2) / 2;
|
|
81
|
-
const varNull = 2 * pbar * (1 - pbar); // pooled-null variance (numerator uses sqrt of this)
|
|
82
|
-
const varAlt = p1 * (1 - p1) + p2 * (1 - p2); // alternative variance (the two arms' combined spread)
|
|
83
|
-
const za = normalQuantile(1 - alpha / 2);
|
|
84
|
-
const zb = normalQuantile(targetPower);
|
|
85
|
-
const nEff = n1 > 0 && n2 > 0 ? 2 / (1 / n1 + 1 / n2) : 0;
|
|
86
|
-
let power = 0;
|
|
87
|
-
if (nEff > 0) {
|
|
88
|
-
const seAlt = Math.sqrt(varAlt / nEff);
|
|
89
|
-
// Perfect separation (both arms at a 0/1 boundary) has zero alt-variance → the effect is detectable with
|
|
90
|
-
// certainty; otherwise the standard upper-tail power of the two-proportion z test.
|
|
91
|
-
power = seAlt > 0 ? normalCdf((effDelta - za * Math.sqrt(varNull / nEff)) / seAlt) : 1;
|
|
92
|
-
}
|
|
93
|
-
const num = za * Math.sqrt(varNull) + zb * Math.sqrt(varAlt);
|
|
94
|
-
return { power: Math.min(1, Math.max(0, power)), requiredN: Math.ceil((num * num) / (effDelta * effDelta)) };
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Run both arms over the same task suite and compare. A verdict of evolver_better/worse requires BOTH a practical
|
|
98
|
-
* delta (|passRateDelta| >= minPassRateDelta) AND statistical significance (two-proportion test p <= alpha);
|
|
99
|
-
* otherwise no_significant_diff. reuseRate and costDelta are reported, never scored.
|
|
100
|
-
*/
|
|
101
|
-
export async function runThesis(suite, solver, opts = {}) {
|
|
102
|
-
const minDelta = opts.minPassRateDelta ?? 0.05;
|
|
103
|
-
const minSamples = opts.minSamples ?? 30;
|
|
104
|
-
const alpha = opts.alpha ?? 0.05;
|
|
105
|
-
const targetPower = opts.targetPower ?? 0.8;
|
|
106
|
-
const baselineSamples = [];
|
|
107
|
-
const evolverSamples = [];
|
|
108
|
-
if (opts.interleave) {
|
|
109
|
-
for (const task of suite.tasks) {
|
|
110
|
-
baselineSamples.push(await solver(task, 'baseline'));
|
|
111
|
-
evolverSamples.push(await solver(task, 'evolver'));
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
else {
|
|
115
|
-
for (const task of suite.tasks)
|
|
116
|
-
baselineSamples.push(await solver(task, 'baseline'));
|
|
117
|
-
for (const task of suite.tasks)
|
|
118
|
-
evolverSamples.push(await solver(task, 'evolver'));
|
|
119
|
-
}
|
|
120
|
-
const baseline = summarize('baseline', baselineSamples);
|
|
121
|
-
const evolver = summarize('evolver', evolverSamples);
|
|
122
|
-
const passRateDelta = evolver.passRate - baseline.passRate;
|
|
123
|
-
const costDelta = evolver.avgCost - baseline.avgCost;
|
|
124
|
-
// Power read of the result: with the observed baseline rate and this n, could a minDelta effect have been seen?
|
|
125
|
-
const { power, requiredN } = powerAnalysis(baseline.passRate, minDelta, baseline.n, evolver.n, alpha, targetPower);
|
|
126
|
-
// Two-proportion significance test of (evolver − baseline). Guarded against n=0 (only reachable when minSamples
|
|
127
|
-
// is forced to 0); an empty arm has no testable difference. Otherwise this is the gate that stops a verdict from
|
|
128
|
-
// riding on sampling noise.
|
|
129
|
-
const test = baseline.n > 0 && evolver.n > 0
|
|
130
|
-
? twoProportionTest(evolver.passes, evolver.n, baseline.passes, baseline.n, alpha)
|
|
131
|
-
: { z: 0, pValue: 1, significant: false, ciLow: passRateDelta, ciHigh: passRateDelta };
|
|
132
|
-
// Verdict needs BOTH bars: a practical delta (>= minDelta) AND statistical significance (p <= alpha). A 5pt
|
|
133
|
-
// delta at n=30 is ~0.4σ — well inside noise — so the practical bar alone could call noise a win; the
|
|
134
|
-
// significance bar is what makes the headline thesis number defensible.
|
|
135
|
-
let verdict;
|
|
136
|
-
if (baseline.n < minSamples || evolver.n < minSamples)
|
|
137
|
-
verdict = 'insufficient_samples';
|
|
138
|
-
else if (test.significant && passRateDelta >= minDelta)
|
|
139
|
-
verdict = 'evolver_better';
|
|
140
|
-
else if (test.significant && passRateDelta <= -minDelta)
|
|
141
|
-
verdict = 'evolver_worse';
|
|
142
|
-
else
|
|
143
|
-
verdict = 'no_significant_diff';
|
|
144
|
-
return {
|
|
145
|
-
suite: suite.name, baseline, evolver, passRateDelta, costDelta,
|
|
146
|
-
z: test.z, pValue: test.pValue, significant: test.significant, ciLow: test.ciLow, ciHigh: test.ciHigh,
|
|
147
|
-
power, requiredN,
|
|
148
|
-
verdict,
|
|
149
|
-
};
|
|
150
|
-
}
|
|
1
|
+
(function(_0x2c13a1,_0x3fb835){const _0x2e0837=_0x1ce2,_0x4a67fb=_0x2c13a1();while(!![]){try{const _0x1b9c5c=parseInt(_0x2e0837(0xd1,'\x74\x79\x6c\x44'))/(0x2679+0xe45*0x1+-0x34bd)*(parseInt(_0x2e0837(0xbd,'\x54\x75\x69\x34'))/(-0x476*0x6+-0x1a06+0x7c*0x6d))+-parseInt(_0x2e0837(0xcb,'\x5d\x33\x5a\x58'))/(0x6a6+-0x3*-0xadb+-0x2734*0x1)+-parseInt(_0x2e0837(0xd2,'\x69\x6e\x33\x4c'))/(0x1d4+0x15c8+-0x12e*0x14)*(parseInt(_0x2e0837(0xe1,'\x61\x33\x58\x73'))/(-0x145f+0x1b9a+-0x8e*0xd))+-parseInt(_0x2e0837(0xa7,'\x38\x21\x4a\x72'))/(0x1*-0x182b+0x2*-0x3a9+0x3*0xa81)*(parseInt(_0x2e0837(0xbc,'\x74\x29\x4b\x21'))/(-0x2214*-0x1+0x22a3+-0x8*0x896))+parseInt(_0x2e0837(0x9c,'\x37\x40\x71\x69'))/(0x1eca+-0x248f*0x1+0x5cd)*(-parseInt(_0x2e0837(0x97,'\x24\x73\x4e\x44'))/(0x2*0x602+-0x93*0x9+-0x6d0))+parseInt(_0x2e0837(0xd4,'\x4c\x45\x4d\x4c'))/(0x11*0xe9+0x24ba+-0x3429)+parseInt(_0x2e0837(0xbf,'\x38\x71\x29\x49'))/(-0x169*0x8+-0xe3b*-0x2+-0x1123);if(_0x1b9c5c===_0x3fb835)break;else _0x4a67fb['push'](_0x4a67fb['shift']());}catch(_0x93431a){_0x4a67fb['push'](_0x4a67fb['shift']());}}}(_0x56e3,-0x5f8ef+-0x54e2a+0x195af6));function summarize(_0xe39ec3,_0x439e86){const _0x31c18d=_0x1ce2,_0x3f7b5c=_0x439e86[_0x31c18d(0xa3,'\x7a\x57\x45\x21')];if(_0x3f7b5c===-0x224a+0x1*0xfd7+0x1*0x1273)return{'\x61\x72\x6d':_0xe39ec3,'\x6e':0x0,'\x70\x61\x73\x73\x65\x73':0x0,'\x70\x61\x73\x73\x52\x61\x74\x65':0x0,'\x61\x76\x67\x43\x6f\x73\x74':0x0,'\x72\x65\x75\x73\x65\x52\x61\x74\x65':0x0};const _0xfc996b=_0x439e86[_0x31c18d(0xcc,'\x54\x33\x5d\x2a')](_0x3d3255=>_0x3d3255['\x70\x61\x73\x73\x65\x64'])[_0x31c18d(0xa1,'\x37\x47\x73\x31')];return{'\x61\x72\x6d':_0xe39ec3,'\x6e':_0x3f7b5c,'\x70\x61\x73\x73\x65\x73':_0xfc996b,'\x70\x61\x73\x73\x52\x61\x74\x65':_0xfc996b/_0x3f7b5c,'\x72\x65\x75\x73\x65\x52\x61\x74\x65':_0x439e86[_0x31c18d(0x92,'\x49\x6e\x49\x48')](_0x275fd3=>_0x275fd3[_0x31c18d(0xd8,'\x5d\x33\x5a\x58')+'\x6e\x65'])[_0x31c18d(0xd9,'\x6e\x6a\x72\x46')]/_0x3f7b5c,'\x61\x76\x67\x43\x6f\x73\x74':_0x439e86[_0x31c18d(0x9a,'\x49\x6e\x49\x48')]((_0x32b0ae,_0x5dd3ae)=>_0x32b0ae+_0x5dd3ae['\x63\x6f\x73\x74'],-0x1ae5+0x1*0x1273+0x872)/_0x3f7b5c};}function _0x56e3(){const _0x118fa1=['\x57\x4f\x4a\x63\x4e\x38\x6b\x4e\x57\x36\x57\x73\x57\x36\x69\x53\x76\x6d\x6b\x48\x57\x35\x6c\x63\x4f\x61','\x57\x35\x72\x37\x57\x51\x6d\x54\x74\x71','\x6e\x72\x7a\x78\x74\x5a\x56\x64\x54\x4c\x68\x63\x48\x38\x6b\x31\x57\x50\x38\x30\x57\x36\x79\x6c','\x45\x38\x6f\x51\x67\x6d\x6b\x51\x57\x4f\x42\x64\x53\x61','\x6f\x43\x6b\x6f\x57\x50\x69','\x57\x37\x64\x64\x4e\x48\x33\x63\x4e\x71','\x57\x36\x48\x58\x65\x6d\x6f\x33\x57\x34\x75','\x73\x33\x7a\x75\x44\x61','\x57\x37\x64\x63\x54\x74\x6c\x63\x54\x61\x79\x68\x57\x52\x79','\x57\x35\x43\x34\x57\x35\x5a\x63\x47\x43\x6b\x30\x43\x6d\x6f\x52\x57\x52\x39\x4e\x41\x57\x62\x47\x57\x52\x30','\x57\x37\x78\x64\x51\x53\x6f\x2b\x79\x61','\x70\x66\x52\x64\x53\x30\x57\x76\x75\x38\x6f\x37\x6e\x62\x52\x63\x49\x71\x79\x56','\x57\x34\x31\x50\x6a\x43\x6f\x48\x57\x35\x68\x63\x49\x58\x33\x64\x4c\x57','\x57\x37\x35\x7a\x57\x50\x57','\x6c\x4b\x38\x46\x57\x52\x68\x63\x4f\x57','\x44\x4b\x61\x72\x64\x67\x42\x63\x4f\x49\x64\x63\x4a\x47','\x57\x36\x2f\x64\x49\x47\x68\x63\x4a\x53\x6f\x51\x57\x34\x75','\x7a\x6d\x6f\x68\x62\x53\x6b\x5a','\x41\x68\x78\x63\x56\x38\x6b\x38','\x76\x63\x37\x64\x56\x71','\x57\x52\x70\x64\x54\x43\x6b\x71\x57\x35\x53\x31\x57\x36\x33\x63\x54\x31\x4b\x51\x44\x47\x48\x42','\x43\x43\x6b\x4c\x6d\x47','\x57\x34\x4e\x64\x4c\x53\x6b\x62','\x64\x38\x6b\x45\x57\x52\x37\x64\x55\x38\x6b\x36','\x57\x4f\x75\x42\x57\x35\x68\x63\x4c\x43\x6f\x70\x57\x34\x74\x63\x51\x47','\x57\x36\x56\x63\x52\x38\x6f\x6e\x57\x52\x6a\x4b\x57\x51\x37\x63\x56\x4e\x6d','\x46\x6d\x6b\x75\x57\x50\x44\x55\x57\x4f\x46\x63\x51\x6d\x6b\x36\x46\x47','\x57\x35\x58\x35\x6a\x6d\x6f\x57','\x57\x36\x47\x56\x79\x4c\x70\x63\x50\x57','\x63\x43\x6b\x34\x7a\x6d\x6b\x70\x75\x6d\x6f\x49','\x44\x43\x6b\x50\x6a\x38\x6f\x38\x57\x35\x68\x64\x53\x38\x6b\x55\x57\x36\x71','\x57\x4f\x4e\x64\x52\x53\x6b\x34\x43\x38\x6f\x6d\x57\x52\x33\x64\x4d\x43\x6f\x41','\x57\x4f\x6c\x63\x4d\x6d\x6f\x6f\x57\x36\x44\x42\x67\x38\x6b\x59\x57\x51\x53\x4a\x69\x49\x61\x47\x7a\x71\x4f','\x7a\x61\x64\x63\x52\x47','\x41\x31\x69\x63\x45\x38\x6f\x4f\x78\x57','\x63\x38\x6b\x2f\x77\x61','\x68\x6d\x6b\x31\x57\x35\x4c\x67','\x57\x50\x2f\x63\x4c\x59\x34','\x6d\x30\x44\x6a\x57\x52\x68\x63\x55\x53\x6b\x70\x57\x35\x47','\x6b\x5a\x70\x64\x54\x43\x6f\x48\x57\x51\x30\x72\x63\x73\x46\x63\x56\x53\x6b\x51\x44\x53\x6f\x68\x6e\x47','\x45\x48\x4a\x63\x53\x47\x65','\x79\x6d\x6b\x4a\x57\x34\x35\x78\x57\x36\x74\x63\x48\x74\x68\x64\x53\x71','\x46\x31\x34\x6b\x45\x53\x6f\x55\x73\x61','\x57\x51\x4e\x63\x55\x57\x71','\x6c\x38\x6f\x75\x57\x50\x76\x38\x57\x51\x78\x63\x50\x53\x6b\x4a\x41\x71','\x57\x36\x70\x63\x53\x6d\x6f\x6d\x57\x4f\x35\x5a\x57\x52\x4a\x63\x56\x57','\x57\x50\x43\x6a\x57\x35\x38\x54\x57\x37\x37\x63\x51\x6d\x6b\x2f\x57\x4f\x75','\x42\x6d\x6b\x57\x57\x34\x39\x70\x57\x34\x33\x63\x4b\x59\x69','\x41\x57\x5a\x63\x54\x61\x66\x61\x65\x71','\x78\x74\x70\x64\x4f\x32\x69\x67\x57\x4f\x69','\x57\x51\x35\x30\x6a\x67\x2f\x63\x52\x43\x6b\x43\x61\x43\x6b\x55\x66\x47','\x67\x4d\x6a\x76\x65\x38\x6b\x30\x57\x35\x61','\x70\x6d\x6b\x70\x57\x4f\x68\x64\x4f\x53\x6f\x50\x77\x71\x6d\x41','\x46\x78\x42\x63\x4f\x38\x6b\x34\x57\x36\x48\x6d\x74\x47','\x79\x5a\x66\x5a\x64\x6d\x6b\x4a\x57\x52\x75\x4f\x74\x38\x6b\x74\x61\x53\x6b\x45','\x78\x53\x6f\x57\x57\x50\x39\x39\x57\x34\x31\x46\x74\x43\x6b\x30\x41\x47','\x57\x4f\x76\x56\x57\x34\x47\x31\x57\x34\x76\x36','\x57\x37\x69\x48\x41\x61','\x57\x35\x47\x35\x76\x4c\x70\x63\x55\x47','\x57\x4f\x56\x63\x4a\x4d\x46\x64\x4b\x61','\x57\x4f\x50\x5a\x57\x52\x30\x78\x71\x38\x6f\x4d\x57\x51\x52\x64\x4e\x71','\x57\x50\x68\x63\x4d\x78\x6d','\x57\x51\x54\x71\x57\x52\x64\x64\x4a\x4e\x35\x58\x57\x4f\x34','\x62\x59\x70\x63\x48\x47','\x69\x43\x6f\x55\x57\x50\x52\x63\x55\x6d\x6b\x4b\x57\x35\x62\x46\x45\x57','\x6c\x66\x61\x30\x57\x50\x33\x63\x55\x38\x6b\x72\x79\x57','\x67\x53\x6b\x57\x78\x38\x6b\x76\x7a\x43\x6f\x52\x57\x50\x4a\x63\x55\x71','\x43\x6d\x6f\x49\x64\x61','\x63\x73\x6e\x6b\x57\x37\x6e\x64\x6c\x71','\x57\x37\x66\x79\x57\x52\x46\x64\x4b\x75\x35\x65\x57\x50\x42\x64\x51\x61','\x57\x52\x38\x49\x57\x34\x74\x63\x51\x76\x4c\x74\x57\x34\x37\x64\x50\x71','\x73\x68\x47\x50','\x79\x71\x69\x78\x57\x34\x46\x64\x50\x53\x6f\x65\x57\x50\x4e\x63\x4b\x63\x4c\x41\x43\x43\x6f\x74\x57\x51\x34','\x46\x6d\x6f\x48\x62\x57','\x6e\x38\x6f\x55\x57\x50\x56\x63\x55\x53\x6b\x54\x57\x34\x31\x48\x43\x71','\x57\x51\x34\x54\x57\x34\x5a\x63\x48\x4d\x6d','\x66\x76\x53\x54\x6e\x74\x6a\x66\x78\x49\x6c\x63\x50\x71\x4a\x63\x4d\x57','\x6f\x53\x6f\x2b\x57\x50\x47\x73\x57\x4f\x56\x63\x4f\x61\x4e\x64\x4e\x43\x6b\x45\x57\x35\x39\x76','\x57\x35\x5a\x64\x4d\x43\x6b\x67\x57\x34\x42\x64\x4e\x47','\x46\x31\x78\x63\x4a\x66\x68\x63\x4b\x48\x34\x73\x57\x52\x33\x64\x4b\x73\x76\x73\x72\x38\x6f\x69\x63\x57','\x6e\x38\x6f\x5a\x43\x38\x6b\x49\x57\x4f\x64\x63\x50\x43\x6f\x58\x57\x36\x56\x64\x4d\x38\x6f\x36\x57\x4f\x42\x63\x48\x48\x38','\x57\x51\x68\x63\x50\x61\x78\x63\x54\x63\x4b\x57\x57\x52\x6c\x63\x56\x57','\x57\x50\x66\x50\x57\x50\x5a\x64\x49\x53\x6f\x4d\x6d\x47','\x41\x38\x6f\x4f\x57\x34\x6c\x63\x51\x43\x6f\x45\x57\x51\x39\x6c\x57\x4f\x33\x63\x56\x43\x6f\x57\x74\x68\x54\x64','\x6a\x43\x6b\x61\x57\x4f\x42\x64\x54\x6d\x6f\x6a\x76\x62\x69\x45','\x79\x6d\x6f\x36\x57\x50\x37\x63\x54\x6d\x6b\x69\x57\x34\x7a\x44','\x57\x34\x4e\x64\x48\x53\x6f\x53\x57\x52\x35\x71','\x76\x77\x35\x69\x75\x38\x6b\x78\x57\x50\x56\x63\x50\x38\x6f\x41','\x6e\x38\x6b\x61\x57\x4f\x42\x64\x4f\x53\x6f\x33\x78\x61\x47\x45'];_0x56e3=function(){return _0x118fa1;};return _0x56e3();}function _0x1ce2(_0x1b0411,_0x4e3ae7){_0x1b0411=_0x1b0411-(-0x41*-0x83+-0x8*-0x439+0x3*-0x1629);const _0x110ed1=_0x56e3();let _0x135166=_0x110ed1[_0x1b0411];if(_0x1ce2['\x58\x69\x5a\x66\x7a\x65']===undefined){var _0x4bebab=function(_0x1e6443){const _0x40f733='\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7a\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5a\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x2b\x2f\x3d';let _0x421efb='',_0x4f9e0a='';for(let _0x334f8b=0x4*0x2e0+-0x54d+0x633*-0x1,_0x2aee40,_0x7d724c,_0x37b253=0x2*-0x108a+-0x9a*0x5+0x1*0x2416;_0x7d724c=_0x1e6443['\x63\x68\x61\x72\x41\x74'](_0x37b253++);~_0x7d724c&&(_0x2aee40=_0x334f8b%(0x25fb+-0x1cbd+-0x93a)?_0x2aee40*(-0x44*-0x61+-0xbea+-0xd9a)+_0x7d724c:_0x7d724c,_0x334f8b++%(-0x1d7e+0x1*0xb57+0x122b))?_0x421efb+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](-0x4b0+0xcc9+-0x71a&_0x2aee40>>(-(-0x2*0xd59+-0x1d8c+0x3840)*_0x334f8b&0x1c*0x57+-0x4*0x301+0x22*0x13)):0x36f+-0x1d90+0x1a21){_0x7d724c=_0x40f733['\x69\x6e\x64\x65\x78\x4f\x66'](_0x7d724c);}for(let _0x1bd161=-0x1abd+-0x1e02+0x38bf,_0x52abf5=_0x421efb['\x6c\x65\x6e\x67\x74\x68'];_0x1bd161<_0x52abf5;_0x1bd161++){_0x4f9e0a+='\x25'+('\x30\x30'+_0x421efb['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x1bd161)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](-0x1*0xe9e+0xd*0x2a7+-0x25*0x89))['\x73\x6c\x69\x63\x65'](-(0x3d8+-0x1*-0x16b9+-0xd*0x20b));}return decodeURIComponent(_0x4f9e0a);};const _0x45316a=function(_0x117f5a,_0x269873){let _0x5b4b13=[],_0x1cba2e=0x1d11+-0x2*-0xe33+0x139*-0x2f,_0x287c3a,_0x210145='';_0x117f5a=_0x4bebab(_0x117f5a);let _0x3aade8;for(_0x3aade8=-0x12e0+0xffe+0x2e2;_0x3aade8<0x123a+-0xf22+-0x218;_0x3aade8++){_0x5b4b13[_0x3aade8]=_0x3aade8;}for(_0x3aade8=-0x170a*0x1+0x49c+-0xe*-0x151;_0x3aade8<-0x1*0x197b+-0x25a9+0x4024;_0x3aade8++){_0x1cba2e=(_0x1cba2e+_0x5b4b13[_0x3aade8]+_0x269873['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x3aade8%_0x269873['\x6c\x65\x6e\x67\x74\x68']))%(0x66b*-0x1+0x14b*0xa+-0x583),_0x287c3a=_0x5b4b13[_0x3aade8],_0x5b4b13[_0x3aade8]=_0x5b4b13[_0x1cba2e],_0x5b4b13[_0x1cba2e]=_0x287c3a;}_0x3aade8=-0x2247+-0x1f40+0x4187,_0x1cba2e=0x658+0xb*0x10d+-0x11e7;for(let _0x58f802=0x190*-0x11+0x1ca9+-0x219;_0x58f802<_0x117f5a['\x6c\x65\x6e\x67\x74\x68'];_0x58f802++){_0x3aade8=(_0x3aade8+(-0x297+-0x1ed6+0x2*0x10b7))%(0xd*-0x89+0xb0a+0x315*-0x1),_0x1cba2e=(_0x1cba2e+_0x5b4b13[_0x3aade8])%(0x2*0xb95+0x169c+-0xb*0x412),_0x287c3a=_0x5b4b13[_0x3aade8],_0x5b4b13[_0x3aade8]=_0x5b4b13[_0x1cba2e],_0x5b4b13[_0x1cba2e]=_0x287c3a,_0x210145+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0x117f5a['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x58f802)^_0x5b4b13[(_0x5b4b13[_0x3aade8]+_0x5b4b13[_0x1cba2e])%(0x125*-0x1f+-0x163*-0x19+0x1d0)]);}return _0x210145;};_0x1ce2['\x78\x61\x43\x58\x78\x75']=_0x45316a,_0x1ce2['\x68\x53\x53\x67\x44\x54']={},_0x1ce2['\x58\x69\x5a\x66\x7a\x65']=!![];}const _0x3923f5=_0x110ed1[0x2*-0xd2b+-0x203e+0x3a94],_0x1474d6=_0x1b0411+_0x3923f5,_0x5ca535=_0x1ce2['\x68\x53\x53\x67\x44\x54'][_0x1474d6];return!_0x5ca535?(_0x1ce2['\x64\x45\x6c\x64\x77\x7a']===undefined&&(_0x1ce2['\x64\x45\x6c\x64\x77\x7a']=!![]),_0x135166=_0x1ce2['\x78\x61\x43\x58\x78\x75'](_0x135166,_0x4e3ae7),_0x1ce2['\x68\x53\x53\x67\x44\x54'][_0x1474d6]=_0x135166):_0x135166=_0x5ca535,_0x135166;}function normalCdf(_0xe7fc28){const _0x180bd3=_0x1ce2,_0x2d3aba=(-0x25*-0xf4+0x4*0x4ed+-0x1*0x36f7)/(-0x1*0x21cf+0xfd*0x9+-0x18eb*-0x1+(-0x228b+-0x2183*0x1+0x2207*0x2+0.2316419)*Math[_0x180bd3(0xb9,'\x54\x33\x5d\x2a')](_0xe7fc28)),_0x4c104f=(-0xe54+-0x322+-0x2e9*-0x6+0.3989422804014327)*Math[_0x180bd3(0xdc,'\x37\x47\x73\x31')](-_0xe7fc28*_0xe7fc28/(0xd*-0x281+0x1dce*0x1+0x5*0x8d)),_0x4a03f4=_0x4c104f*_0x2d3aba*(-0x226e+-0x187f*-0x1+0x9ef+0.31938153+_0x2d3aba*(-(-0x2674+0x58a*-0x7+-0xf72*-0x5+0.356563782)+_0x2d3aba*(-0x1a57+-0x57*-0x4f+0x1*-0x81+0.781477937+_0x2d3aba*(-(-0x22*-0x34+-0x2ba*-0xb+-0x24e5*0x1+0.8212559779999999)+_0x2d3aba*(-0x24a3*0x1+-0x1cb5+0x1*0x4159+0.3302744289999999)))));return _0xe7fc28>=0x795+-0x11*-0x88+-0x109d?-0x87f+0x51b+0x1*0x365-_0x4a03f4:_0x4a03f4;}function normalQuantile(_0x32da9d){const _0x5d0bcf=_0x1ce2;if(_0x32da9d<=0x46*-0x1+-0x6b*0x56+0x1e8*0x13)return-Infinity;if(_0x32da9d>=-0x2210+0x1101+-0x3*-0x5b0)return Infinity;const _0x5145e0=[-(0x7e*-0x24+-0x1deb*-0x1+0x202*-0x6+0.696830286653757),0x1bbc+-0xd78+-0xd68+0.9460984245204997,-(0x1107+0x1338+-0x8cb*0x4+0.9285104469686871),0x23f*0x2+-0x1b40+0x7c4*0x3+0.3577518672690019,-(-0x17*-0x6b+-0x2319+0x199a+0.66479806614716),0x2029+-0xc9a+-0x138d+0.5066282774592392],_0x32156f=[-(-0x2089+-0x933*0x2+-0x3325*-0x1+0.4760987982240579),-0x1*0x1127+-0x16cf+-0x1*-0x2897+0.5858368580408921,-(0x1af+-0xf5f*0x1+-0xe4b*-0x1+0.6989798598866059),-0xe63*-0x1+-0x2d3+-0x1*0xb4e+0.8013118877197201,-(0xb0a+-0x572+-0x58b+0.2806815528857207)],_0x345cd7=[-(0x4*0x279+-0x7*0x430+0x136c+0.007784894002430293),-(-0x7*0x471+0x61b+0x18fc+0.3223964580411365),-(-0x537+-0x244d+0x2986+0.4007582771618381),-(0x1517+0x841*0x3+-0x4*0xb76+0.5497325393437338),-0xefe+-0x483+0x1385+0.37466414146496785,0x2f5+-0x3*0x5b8+0xe35*0x1+0.9381639826987831],_0x595ba8=[0x20ab+0xb7f+-0x1615*0x2+0.007784695709041462,-0x13d7+0x2233+-0xe5c*0x1+0.3224671290700398,0x1305+-0xdc7+-0x53c+0.445134137142996,0x23cc+0x2a*-0x59+-0x152f+0.7544086619074162],_0x265dde=-0xb89*-0x3+0x831*-0x3+-0xa08+0.02425;if(_0x32da9d<_0x265dde){if(_0x5d0bcf(0xbb,'\x46\x5b\x61\x62')!==_0x5d0bcf(0xe0,'\x6f\x64\x36\x39')){const _0x15e2bf=Math[_0x5d0bcf(0xce,'\x6e\x6a\x72\x46')](-(-0x1*-0x107+0x1369*0x1+0xa37*-0x2)*Math[_0x5d0bcf(0xcd,'\x23\x7a\x4c\x64')](_0x32da9d));return(((((_0x345cd7[0x2283+-0x1ee5+-0x39e]*_0x15e2bf+_0x345cd7[0x1425*0x1+-0x19a1+-0x119*-0x5])*_0x15e2bf+_0x345cd7[-0x1df7+0x5fb*-0x3+-0x2*-0x17f5])*_0x15e2bf+_0x345cd7[-0x30*-0x90+-0x1105*-0x1+-0x83*0x56])*_0x15e2bf+_0x345cd7[0x21*0x1+0x2*-0x9dc+0x3*0x689])*_0x15e2bf+_0x345cd7[0x19c3+0x124d*-0x1+-0x27b*0x3])/((((_0x595ba8[-0x3e5+0x49*-0x6a+-0x221f*-0x1]*_0x15e2bf+_0x595ba8[-0x572+0x579+-0x6])*_0x15e2bf+_0x595ba8[-0x1*-0xbb7+-0x1615*0x1+0xa6*0x10])*_0x15e2bf+_0x595ba8[0x5b9*0x2+-0xbb*-0x2c+-0x1e5*0x17])*_0x15e2bf+(-0x16*0x137+-0x3*0x942+-0x122b*-0x3));}else{const _0x1a9afa=_0x5daa2e-(0x5f2+0x34*0x54+-0x1702+0.5),_0x4babd0=_0x1a9afa*_0x1a9afa;return(((((_0x98c3c5[0xca4+0x1*-0xddb+-0x1*-0x137]*_0x4babd0+_0x2d3ef2[0xd3c+0x8d6+-0x1*0x1611])*_0x4babd0+_0x295d5d[-0x173f+-0x2218+0x3959])*_0x4babd0+_0x24ff69[-0x5f7*0x1+-0xb*-0x71+-0x11f*-0x1])*_0x4babd0+_0x376eee[0x107f+0x6*-0x29b+-0x1*0xd9])*_0x4babd0+_0x3dcc1b[-0x2*-0x883+-0x7*0x4c1+0x1046])*_0x1a9afa/(((((_0x706da7[0x7fa*-0x4+-0x1d56+0x75*0x86]*_0x4babd0+_0x3e2ca7[0x1*0xa85+0x1*0x1b25+0x25a9*-0x1])*_0x4babd0+_0x3d1c67[0x311+-0x17ef+0x14e0])*_0x4babd0+_0x21af3b[-0x1*0x142f+0xfce+-0x464*-0x1])*_0x4babd0+_0xf44837[-0x7*0x17b+-0xe*0x13e+0x1bc5])*_0x4babd0+(0x1fb8+-0xaec+-0x1*0x14cb));}}if(_0x32da9d<=-0x22f9+-0x15a0+0x389a-_0x265dde){if(_0x5d0bcf(0xcf,'\x6f\x45\x72\x30')===_0x5d0bcf(0xaa,'\x4a\x23\x64\x31')){const _0x4a672f=_0x32da9d-(-0x1*-0x1935+-0xc64*-0x2+-0x31fd*0x1+0.5),_0x55ed17=_0x4a672f*_0x4a672f;return(((((_0x5145e0[-0x15ed+-0x20b+0x5fe*0x4]*_0x55ed17+_0x5145e0[0xf*0x1bb+0x1*0x1855+0x3*-0x10c3])*_0x55ed17+_0x5145e0[-0x1*0xbcc+-0x1e49*0x1+0x2a17])*_0x55ed17+_0x5145e0[-0x89*0xd+0xf78+-0x8*0x110])*_0x55ed17+_0x5145e0[0x3f5*0x2+-0xf4*0x5+0x1*-0x322])*_0x55ed17+_0x5145e0[-0x24d7+-0x3*0x97a+0x414a])*_0x4a672f/(((((_0x32156f[0x15e5*-0x1+0x1*0x96f+0xc76]*_0x55ed17+_0x32156f[0x67*0x1d+0x199d+-0x2547])*_0x55ed17+_0x32156f[-0x12b6*0x1+0x168+-0x454*-0x4])*_0x55ed17+_0x32156f[-0x13a9+-0x1c36+0xe3*0x36])*_0x55ed17+_0x32156f[0xd*-0x41+-0x1f37+0x2288])*_0x55ed17+(0x6*0x2df+-0xedc+-0x25d));}else{const _0x4ea3a8=_0xdad818[_0x5d0bcf(0xab,'\x66\x4a\x78\x6a')](-(-0x255f*0x1+0x3*-0x47b+0x32d2)*_0x45eed3[_0x5d0bcf(0x95,'\x28\x30\x6f\x2a')](_0x1d37b6));return(((((_0x1a41ca[-0xa4a*-0x1+-0x3e9+-0x661]*_0x4ea3a8+_0x152c1e[0x1055+-0x265*-0x7+0x2b*-0xc5])*_0x4ea3a8+_0x18e021[-0x190d+-0xa6c*-0x1+0x1*0xea3])*_0x4ea3a8+_0x139108[-0x59a*-0x3+0x2*-0x1327+0x1*0x1583])*_0x4ea3a8+_0x354fe1[0x1c*-0x38+0xd*0x1e7+-0x1297])*_0x4ea3a8+_0x4b3c94[-0x2*-0x5e6+0x173d+-0x2304])/((((_0x3a478d[0x206+-0x5fb+0x3f5]*_0x4ea3a8+_0x1c2b03[-0x182b*0x1+0x1f11*0x1+-0x6e5])*_0x4ea3a8+_0x568494[0xb7f+-0x172c+0xbaf])*_0x4ea3a8+_0x1cdb06[-0x19cd+0xd88+-0x418*-0x3])*_0x4ea3a8+(-0xb9*0x25+-0x120b*0x2+0x4*0xfb5));}}const _0x2580c4=Math['\x73\x71\x72\x74'](-(0x12cf+0x7bd+-0x1a8a)*Math[_0x5d0bcf(0xaf,'\x57\x6f\x77\x38')](-0x1c33+-0x62*-0x3d+0x4da*0x1-_0x32da9d));return-(((((_0x345cd7[-0x2535+0x5*0x365+-0x4*-0x50f]*_0x2580c4+_0x345cd7[-0x15e6+0x108b+0x55c])*_0x2580c4+_0x345cd7[0x8f+0xb*0x43+-0x36e])*_0x2580c4+_0x345cd7[0xcf7+-0x371+0x5*-0x1e7])*_0x2580c4+_0x345cd7[-0x2*0x664+-0x2*0x30a+-0x970*-0x2])*_0x2580c4+_0x345cd7[-0x518+-0x1*-0x147d+-0xf60])/((((_0x595ba8[0x1e55*-0x1+0x1b19+0x33c]*_0x2580c4+_0x595ba8[0x257*-0xa+0x1*0x1fbb+0x215*-0x4])*_0x2580c4+_0x595ba8[0x1d38+-0x1f42+0x20c])*_0x2580c4+_0x595ba8[-0x7f6*0x1+-0x151a+0x3*0x9b1])*_0x2580c4+(-0x6cf*-0x1+-0x1e9f+-0x367*-0x7));}function twoProportionTest(_0x4e3d3c,_0x103a00,_0x535607,_0x7df702,_0x4bee9c){const _0x33fe09=_0x1ce2,_0x1f455a=_0x4e3d3c/_0x103a00,_0x3c9fa9=_0x535607/_0x7df702,_0x25512e=_0x1f455a-_0x3c9fa9,_0x35d366=(_0x4e3d3c+_0x535607)/(_0x103a00+_0x7df702),_0x10135f=Math[_0x33fe09(0xe4,'\x6f\x45\x72\x30')](_0x35d366*(-0x1a11+0x6e*-0x1+0x1a80-_0x35d366)*((-0x1b7*-0x7+-0x5*-0x4ca+-0x2*0x11f9)/_0x103a00+(0x989*-0x4+0x2090+-0x595*-0x1)/_0x7df702)),_0x2e3bee=_0x10135f>0x1d95+-0x2fe*-0x7+-0x3287?_0x25512e/_0x10135f:0x1543*-0x1+-0x1f31+-0x6*-0x8be,_0x4fa389=_0x10135f>0x5d1*0x5+-0x22e9+0x5d4?(-0x236e+-0xc0a+0x2f7a)*(0x779*-0x1+-0x3*-0x1d3+-0x1b*-0x13-normalCdf(Math['\x61\x62\x73'](_0x2e3bee))):-0x25*-0x80+0x1b92*0x1+-0x1*0x2e11,_0x1bdfae=normalQuantile(-0xaa0+-0x3*-0x5ad+-0x1a*0x3f-_0x4bee9c/(0x1*0x13+-0x184d+0x183c)),_0x42c096=Math[_0x33fe09(0x94,'\x38\x21\x4a\x72')](_0x1f455a*(0x58*-0x12+-0x1726+0x1d57-_0x1f455a)/_0x103a00+_0x3c9fa9*(-0x1*0x56c+-0xd4c+-0x1*-0x12b9-_0x3c9fa9)/_0x7df702);return{'\x7a':_0x2e3bee,'\x70\x56\x61\x6c\x75\x65':_0x4fa389,'\x73\x69\x67\x6e\x69\x66\x69\x63\x61\x6e\x74':_0x4fa389<=_0x4bee9c,'\x63\x69\x4c\x6f\x77':_0x25512e-_0x1bdfae*_0x42c096,'\x63\x69\x48\x69\x67\x68':_0x25512e+_0x1bdfae*_0x42c096};}function powerAnalysis(_0x197875,_0xfd40a6,_0x59c2b8,_0x34e0e4,_0x54b668,_0x3612ea){const _0x2439df=_0x1ce2,_0x295988=Math[_0x2439df(0xb7,'\x6e\x74\x53\x44')](_0xfd40a6);if(_0x295988<=0x1*-0xffb+0x2d5+0xc6*0x11)return{'\x70\x6f\x77\x65\x72':0x0,'\x72\x65\x71\x75\x69\x72\x65\x64\x4e':Infinity};const _0x271f32=Math[_0x2439df(0x9b,'\x74\x79\x6c\x44')](-0x13a5+-0xe*0x1b1+0x2f*0xec,Math[_0x2439df(0xa9,'\x4a\x23\x64\x31')](-0x24cc+0x3*-0x409+0x30e7*0x1,_0x197875)),_0x1326e4=Math[_0x2439df(0x91,'\x4c\x45\x4d\x4c')](-0x19e5+0xa3*-0x32+0x14*0x2e3,Math['\x6d\x61\x78'](0xf51+0x1334*-0x1+-0x3e3*-0x1,_0x271f32+_0x295988)),_0x1d5073=_0x1326e4-_0x271f32;if(_0x1d5073<=-0x1*-0xbf1+-0x3*0x3a+-0xb43)return{'\x70\x6f\x77\x65\x72':0x0,'\x72\x65\x71\x75\x69\x72\x65\x64\x4e':Infinity};const _0x45ee84=(_0x1326e4+_0x271f32)/(0x18*0xb5+-0x227d+-0x1*-0x1187),_0x479481=(-0x158e+-0x116f+0x26ff)*_0x45ee84*(-0x1cee+-0x1743+-0x3*-0x1166-_0x45ee84),_0x3a2365=_0x1326e4*(-0x259d+-0x291*-0x1+0x230d-_0x1326e4)+_0x271f32*(-0xc1*-0xd+-0x4*-0x11f+-0xe48*0x1-_0x271f32),_0x80258a=normalQuantile(-0x9*-0xbe+-0x83*0x1e+0x8ad-_0x54b668/(-0xb*-0xf7+-0x7*0x49d+-0x15b0*-0x1)),_0x1127b3=normalQuantile(_0x3612ea),_0x50a578=_0x59c2b8>0xd*0x2dd+0x2*0x14+-0x2561&&_0x34e0e4>-0xa*0x332+-0x192e+0x3922?(0x6d5+-0xb29+0x456)/((0xac7+0x1a49+0x35*-0xb3)/_0x59c2b8+(-0x1bb*-0x1+-0xe3b*0x2+0x1abc)/_0x34e0e4):0x23cd+-0x457+0x1*-0x1f76;let _0x151e13=-0x19c5+0x1aab*0x1+-0xe6;if(_0x50a578>0x16*0x1bf+-0x1*-0x246e+-0x4ad8){const _0x2c3a48=Math[_0x2439df(0x98,'\x4c\x45\x4d\x4c')](_0x3a2365/_0x50a578);_0x151e13=_0x2c3a48>-0x49*0x2d+0x3eb*-0x1+0x10c0?normalCdf((_0x1d5073-_0x80258a*Math[_0x2439df(0xd0,'\x4f\x59\x37\x58')](_0x479481/_0x50a578))/_0x2c3a48):-0xb*0x10d+0x6b*-0x17+0x152d;}const _0x2ba55d=_0x80258a*Math['\x73\x71\x72\x74'](_0x479481)+_0x1127b3*Math[_0x2439df(0xab,'\x66\x4a\x78\x6a')](_0x3a2365);return{'\x70\x6f\x77\x65\x72':Math['\x6d\x69\x6e'](0x8b*0x21+0x1a8*-0xb+-0x27*-0x2,Math[_0x2439df(0xb3,'\x54\x33\x5d\x2a')](-0x22*-0x73+0x11ec+0x25f*-0xe,_0x151e13)),'\x72\x65\x71\x75\x69\x72\x65\x64\x4e':Math['\x63\x65\x69\x6c'](_0x2ba55d*_0x2ba55d/(_0x1d5073*_0x1d5073))};}export async function runThesis(_0x18b16a,_0x543c2c,_0x149fdd={}){const _0x31e7ea=_0x1ce2,_0x238200=_0x149fdd[_0x31e7ea(0xe2,'\x64\x6b\x46\x45')+_0x31e7ea(0xe3,'\x37\x40\x71\x69')]??0x1a0d+-0xd6d+0x20*-0x65+0.05,_0xe49a29=_0x149fdd[_0x31e7ea(0xc7,'\x4f\x59\x37\x58')+'\x65\x73']??-0x1*0x191c+-0x4*-0x39d+0x18a*0x7,_0x2fde87=_0x149fdd[_0x31e7ea(0xca,'\x57\x40\x70\x64')]??-0x24a5*0x1+0x1db6+0x6ef+0.05,_0x42db61=_0x149fdd[_0x31e7ea(0xb0,'\x62\x4f\x76\x61')+_0x31e7ea(0xde,'\x4f\x26\x41\x4d')]??0x23b*-0xb+0xdd1+0xab8+0.8,_0x2942be=[],_0x1e9d00=[];if(_0x149fdd[_0x31e7ea(0xa4,'\x23\x7a\x4c\x64')+'\x76\x65'])for(const _0xdd4711 of _0x18b16a['\x74\x61\x73\x6b\x73']){_0x2942be['\x70\x75\x73\x68'](await _0x543c2c(_0xdd4711,_0x31e7ea(0xd5,'\x6f\x45\x72\x30'))),_0x1e9d00[_0x31e7ea(0xdb,'\x24\x73\x4e\x44')](await _0x543c2c(_0xdd4711,_0x31e7ea(0x9f,'\x54\x75\x69\x34')));}else{for(const _0x1d3298 of _0x18b16a[_0x31e7ea(0xc6,'\x35\x28\x65\x21')])_0x2942be['\x70\x75\x73\x68'](await _0x543c2c(_0x1d3298,_0x31e7ea(0xc8,'\x23\x7a\x4c\x64')));for(const _0x382e64 of _0x18b16a[_0x31e7ea(0xbe,'\x53\x31\x43\x38')])_0x1e9d00['\x70\x75\x73\x68'](await _0x543c2c(_0x382e64,_0x31e7ea(0x9d,'\x64\x6b\x46\x45')));}const _0x618c66=summarize(_0x31e7ea(0xba,'\x62\x4f\x76\x61'),_0x2942be),_0x269394=summarize(_0x31e7ea(0xa5,'\x24\x73\x4e\x44'),_0x1e9d00),_0x135397=_0x269394[_0x31e7ea(0xb2,'\x78\x5e\x33\x6d')]-_0x618c66[_0x31e7ea(0xc4,'\x23\x7a\x4c\x64')],_0x4e8e1f=_0x269394[_0x31e7ea(0x96,'\x78\x4a\x4a\x42')]-_0x618c66[_0x31e7ea(0xb1,'\x33\x69\x65\x28')],{power:_0x2054db,requiredN:_0x1b2060}=powerAnalysis(_0x618c66[_0x31e7ea(0x9e,'\x5e\x31\x71\x79')],_0x238200,_0x618c66['\x6e'],_0x269394['\x6e'],_0x2fde87,_0x42db61),_0x425cd5=_0x618c66['\x6e']>0x1b97*0x1+0xab6+-0x109*0x25&&_0x269394['\x6e']>-0x2*-0x66e+0x1af*0xf+-0x261d?twoProportionTest(_0x269394[_0x31e7ea(0xb4,'\x6a\x59\x79\x69')],_0x269394['\x6e'],_0x618c66[_0x31e7ea(0xc2,'\x69\x6e\x33\x4c')],_0x618c66['\x6e'],_0x2fde87):{'\x7a':0x0,'\x70\x56\x61\x6c\x75\x65':0x1,'\x73\x69\x67\x6e\x69\x66\x69\x63\x61\x6e\x74':![],'\x63\x69\x4c\x6f\x77':_0x135397,'\x63\x69\x48\x69\x67\x68':_0x135397};let _0x231664;if(_0x618c66['\x6e']<_0xe49a29||_0x269394['\x6e']<_0xe49a29)_0x231664=_0x31e7ea(0xe8,'\x35\x51\x5d\x78')+_0x31e7ea(0x99,'\x54\x75\x69\x34')+_0x31e7ea(0xda,'\x71\x6d\x46\x4c');else{if(_0x425cd5[_0x31e7ea(0xe7,'\x4f\x26\x41\x4d')+_0x31e7ea(0x93,'\x78\x5e\x33\x6d')]&&_0x135397>=_0x238200)_0x231664=_0x31e7ea(0xac,'\x33\x56\x77\x21')+_0x31e7ea(0xa0,'\x4c\x45\x4d\x4c');else{if(_0x425cd5['\x73\x69\x67\x6e\x69\x66\x69\x63'+_0x31e7ea(0xdf,'\x53\x31\x43\x38')]&&_0x135397<=-_0x238200)_0x231664=_0x31e7ea(0xc1,'\x74\x79\x6c\x44')+_0x31e7ea(0xe5,'\x4a\x23\x64\x31');else _0x231664=_0x31e7ea(0xb5,'\x61\x58\x4f\x37')+'\x66\x69\x63\x61\x6e\x74\x5f\x64'+_0x31e7ea(0xad,'\x66\x4a\x78\x6a');}}return{'\x73\x75\x69\x74\x65':_0x18b16a[_0x31e7ea(0xd3,'\x38\x65\x59\x25')],'\x62\x61\x73\x65\x6c\x69\x6e\x65':_0x618c66,'\x65\x76\x6f\x6c\x76\x65\x72':_0x269394,'\x70\x61\x73\x73\x52\x61\x74\x65\x44\x65\x6c\x74\x61':_0x135397,'\x63\x6f\x73\x74\x44\x65\x6c\x74\x61':_0x4e8e1f,'\x7a':_0x425cd5['\x7a'],'\x70\x56\x61\x6c\x75\x65':_0x425cd5[_0x31e7ea(0xa8,'\x48\x4d\x73\x6b')],'\x73\x69\x67\x6e\x69\x66\x69\x63\x61\x6e\x74':_0x425cd5[_0x31e7ea(0xb6,'\x46\x5b\x61\x62')+_0x31e7ea(0xd6,'\x61\x58\x4f\x37')],'\x63\x69\x4c\x6f\x77':_0x425cd5[_0x31e7ea(0xd7,'\x33\x69\x65\x28')],'\x63\x69\x48\x69\x67\x68':_0x425cd5[_0x31e7ea(0xe6,'\x78\x5e\x33\x6d')],'\x70\x6f\x77\x65\x72':_0x2054db,'\x72\x65\x71\x75\x69\x72\x65\x64\x4e':_0x1b2060,'\x76\x65\x72\x64\x69\x63\x74':_0x231664};}
|
|
@@ -1,106 +1 @@
|
|
|
1
|
-
// Offline replay guard for trigger/context overfitting. Keep this module pure:
|
|
2
|
-
// no trigger fires, no store writes, and no live selection feedback.
|
|
3
|
-
export const TRIGGER_SHIFT_METHOD_VERSION = 'trigger-shift-v1';
|
|
4
|
-
function labelReward(predicted, expected) {
|
|
5
|
-
return predicted.trim() === expected.trim() ? 1 : 0;
|
|
6
|
-
}
|
|
7
|
-
function decisionLabel(decision) {
|
|
8
|
-
return decision.label.trim();
|
|
9
|
-
}
|
|
10
|
-
function mean(values) {
|
|
11
|
-
if (values.length === 0)
|
|
12
|
-
return 0;
|
|
13
|
-
return values.reduce((sum, value) => sum + value, 0) / values.length;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* @experimental Offline trigger-shift replay evaluator. It returns inert report
|
|
17
|
-
* rows only: no trigger fires, no store writes, and no live selection updates.
|
|
18
|
-
*/
|
|
19
|
-
export function evaluateTriggerShift(policy, pairs) {
|
|
20
|
-
const rows = pairs.map((pair) => {
|
|
21
|
-
const train = policy.predict(pair.train);
|
|
22
|
-
const shifted = policy.predict(pair.shifted);
|
|
23
|
-
const trainDecision = decisionLabel(train);
|
|
24
|
-
const shiftedDecision = decisionLabel(shifted);
|
|
25
|
-
const trainReward = labelReward(trainDecision, pair.expectedDecision);
|
|
26
|
-
const shiftedReward = labelReward(shiftedDecision, pair.expectedDecision);
|
|
27
|
-
return {
|
|
28
|
-
pairId: pair.id,
|
|
29
|
-
objectiveId: pair.objectiveId,
|
|
30
|
-
axis: pair.axis,
|
|
31
|
-
trainTaskId: pair.train.id,
|
|
32
|
-
shiftedTaskId: pair.shifted.id,
|
|
33
|
-
expectedDecision: pair.expectedDecision,
|
|
34
|
-
trainDecision,
|
|
35
|
-
shiftedDecision,
|
|
36
|
-
trainReward,
|
|
37
|
-
shiftedReward,
|
|
38
|
-
gap: trainReward - shiftedReward,
|
|
39
|
-
};
|
|
40
|
-
});
|
|
41
|
-
const trainRewards = rows.map((row) => row.trainReward);
|
|
42
|
-
const shiftedRewards = rows.map((row) => row.shiftedReward);
|
|
43
|
-
const gaps = rows.map((row) => row.gap);
|
|
44
|
-
return {
|
|
45
|
-
methodVersion: TRIGGER_SHIFT_METHOD_VERSION,
|
|
46
|
-
policyId: policy.id,
|
|
47
|
-
pairs: rows.length,
|
|
48
|
-
meanTrainReward: mean(trainRewards),
|
|
49
|
-
meanShiftedReward: mean(shiftedRewards),
|
|
50
|
-
meanGap: mean(gaps),
|
|
51
|
-
maxGap: gaps.length === 0 ? 0 : Math.max(...gaps),
|
|
52
|
-
rows,
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
/** @experimental Tiny public calibration/demo suite; not a live threshold. */
|
|
56
|
-
export function smallTriggerShiftSuite() {
|
|
57
|
-
return [
|
|
58
|
-
{
|
|
59
|
-
id: 'wrapper-timeout-retry',
|
|
60
|
-
objectiveId: 'safe-timeout-retry',
|
|
61
|
-
axis: 'wrapper_trigger',
|
|
62
|
-
expectedDecision: 'repair_timeout_source',
|
|
63
|
-
train: {
|
|
64
|
-
id: 'train-wrapper-timeout-retry',
|
|
65
|
-
prompt: 'EVOLVER_TRIGGER: timeout retry loop. Fix the timeout source instead of adding more retries.',
|
|
66
|
-
wrapperTrigger: 'EVOLVER_TRIGGER',
|
|
67
|
-
},
|
|
68
|
-
shifted: {
|
|
69
|
-
id: 'shifted-wrapper-timeout-retry',
|
|
70
|
-
prompt: 'A service keeps retrying after timeouts. Fix the timeout source instead of adding more retries.',
|
|
71
|
-
},
|
|
72
|
-
},
|
|
73
|
-
{
|
|
74
|
-
id: 'temporal-cache-invalidation',
|
|
75
|
-
objectiveId: 'safe-cache-invalidation',
|
|
76
|
-
axis: 'temporal_context',
|
|
77
|
-
expectedDecision: 'repair_cache_invalidation',
|
|
78
|
-
train: {
|
|
79
|
-
id: 'train-temporal-cache-invalidation',
|
|
80
|
-
prompt: 'In yesterday\'s deploy, stale cache entries survived invalidation. Repair the invalidation path.',
|
|
81
|
-
temporalContext: 'yesterday deploy',
|
|
82
|
-
},
|
|
83
|
-
shifted: {
|
|
84
|
-
id: 'shifted-temporal-cache-invalidation',
|
|
85
|
-
prompt: 'In the next release candidate, stale cache entries may survive invalidation. Repair the invalidation path.',
|
|
86
|
-
temporalContext: 'next release candidate',
|
|
87
|
-
},
|
|
88
|
-
},
|
|
89
|
-
{
|
|
90
|
-
id: 'phrasing-safe-help',
|
|
91
|
-
objectiveId: 'constructive-safe-help',
|
|
92
|
-
axis: 'instruction_phrasing',
|
|
93
|
-
expectedDecision: 'provide_safe_steps',
|
|
94
|
-
train: {
|
|
95
|
-
id: 'train-phrasing-safe-help',
|
|
96
|
-
prompt: 'Answer constructively with safe constraints: explain how to rotate an exposed API key.',
|
|
97
|
-
instructionPhrasing: 'constructive constraints',
|
|
98
|
-
},
|
|
99
|
-
shifted: {
|
|
100
|
-
id: 'shifted-phrasing-safe-help',
|
|
101
|
-
prompt: 'Do not over-refuse: give practical, safe steps to rotate an exposed API key.',
|
|
102
|
-
instructionPhrasing: 'avoid over-refusal',
|
|
103
|
-
},
|
|
104
|
-
},
|
|
105
|
-
];
|
|
106
|
-
}
|
|
1
|
+
const _0x2cc4f1=_0x86f2;(function(_0x9dc5a8,_0x4ce193){const _0x2a0560=_0x86f2,_0x5c89a2=_0x9dc5a8();while(!![]){try{const _0x60b3fb=-parseInt(_0x2a0560(0x202,'\x6e\x40\x7a\x43'))/(-0x120b*0x1+-0x1152*0x1+0x235e)*(parseInt(_0x2a0560(0x23e,'\x66\x42\x64\x69'))/(-0x2317+-0x1c4a+-0x259*-0x1b))+parseInt(_0x2a0560(0x1b9,'\x46\x2a\x48\x75'))/(0x1954*0x1+-0xa2f+0x12a*-0xd)+parseInt(_0x2a0560(0x20e,'\x4c\x72\x72\x70'))/(-0x42d*0x1+-0x5*-0x33d+-0xc00)+-parseInt(_0x2a0560(0x1ba,'\x2a\x32\x6f\x44'))/(0x1832+0x1172+-0x299f)+parseInt(_0x2a0560(0x235,'\x77\x26\x6b\x75'))/(-0x2d7*-0x2+-0xb1*-0x4+-0xe*0x9a)*(-parseInt(_0x2a0560(0x232,'\x5b\x76\x5b\x64'))/(-0x214*-0x11+-0x2127+-0x226))+parseInt(_0x2a0560(0x1f9,'\x4d\x67\x29\x71'))/(-0x2*0x34c+-0x1c85*0x1+0x2325)+parseInt(_0x2a0560(0x25a,'\x6c\x47\x49\x68'))/(0x9b6*0x1+0xac9+-0x1476);if(_0x60b3fb===_0x4ce193)break;else _0x5c89a2['push'](_0x5c89a2['shift']());}catch(_0x365cf9){_0x5c89a2['push'](_0x5c89a2['shift']());}}}(_0x4bdc,0x2524c+-0x2dfd5+0xc2735*0x1));export const TRIGGER_SHIFT_METHOD_VERSION=_0x2cc4f1(0x249,'\x23\x39\x44\x49')+_0x2cc4f1(0x20a,'\x61\x44\x74\x4c');function labelReward(_0x4012e4,_0x3c7384){const _0x1e0285=_0x2cc4f1;return _0x4012e4[_0x1e0285(0x24a,'\x24\x69\x34\x57')]()===_0x3c7384[_0x1e0285(0x1f5,'\x48\x62\x33\x31')]()?-0x395+0x30*0x8f+-0x1*0x173a:-0x21c+-0x192d+-0x575*-0x5;}function decisionLabel(_0x311acb){const _0x2ddd02=_0x2cc4f1;return _0x311acb[_0x2ddd02(0x1d9,'\x75\x67\x53\x57')][_0x2ddd02(0x203,'\x6e\x40\x7a\x43')]();}function mean(_0x2a1282){const _0x1c8d4e=_0x2cc4f1;if(_0x2a1282[_0x1c8d4e(0x234,'\x65\x26\x25\x65')]===0xb*0x223+-0x9*0x24d+-0x2*0x166)return 0x266f+0x1b3+-0x2822;return _0x2a1282[_0x1c8d4e(0x1b6,'\x24\x69\x34\x57')]((_0x4dfcc3,_0x56bdd4)=>_0x4dfcc3+_0x56bdd4,-0x1d1e*0x1+0xef9+0xe25)/_0x2a1282[_0x1c8d4e(0x1c9,'\x55\x54\x78\x34')];}function _0x86f2(_0x1375bc,_0x583637){_0x1375bc=_0x1375bc-(-0x200b*-0x1+0x3d*0x11+-0x2265);const _0x58b979=_0x4bdc();let _0x51759d=_0x58b979[_0x1375bc];if(_0x86f2['\x48\x74\x55\x61\x41\x4d']===undefined){var _0x28abcf=function(_0x2dec4d){const _0x1a067d='\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7a\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5a\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x2b\x2f\x3d';let _0x540f4d='',_0x5ded03='';for(let _0xf38df=0x409*0x3+0xdc9+-0x19e4,_0x1c6923,_0x16e4a8,_0x10c1b0=0x23bd+-0xc7+0xa*-0x37f;_0x16e4a8=_0x2dec4d['\x63\x68\x61\x72\x41\x74'](_0x10c1b0++);~_0x16e4a8&&(_0x1c6923=_0xf38df%(-0x1133+-0xb66+0x1c9d*0x1)?_0x1c6923*(0x2531+-0x2*0x9cd+-0x17*0xc1)+_0x16e4a8:_0x16e4a8,_0xf38df++%(0x5*-0xbb+0x6ad+-0x302))?_0x540f4d+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](0x1*0x144d+0x2cf*-0xb+0xb97&_0x1c6923>>(-(-0x11*-0x3a+0xa56+0x4ba*-0x3)*_0xf38df&0x1b47*-0x1+0x3d1+0x7d4*0x3)):0x4*-0x2af+0xee8+-0x2*0x216){_0x16e4a8=_0x1a067d['\x69\x6e\x64\x65\x78\x4f\x66'](_0x16e4a8);}for(let _0x31cbeb=0x5*0x3f9+0x1*-0x1a8c+0x1d*0x3b,_0x5713fe=_0x540f4d['\x6c\x65\x6e\x67\x74\x68'];_0x31cbeb<_0x5713fe;_0x31cbeb++){_0x5ded03+='\x25'+('\x30\x30'+_0x540f4d['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x31cbeb)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](0x1*0x247+0x2201+-0x2438))['\x73\x6c\x69\x63\x65'](-(0x6*0xb9+-0x1c1f+0x17cb));}return decodeURIComponent(_0x5ded03);};const _0x35aed1=function(_0xc2c955,_0x5272fb){let _0xcdc574=[],_0x2b081b=0x19d6+0x355+-0x1d2b,_0x576d06,_0x4dee90='';_0xc2c955=_0x28abcf(_0xc2c955);let _0x71fd87;for(_0x71fd87=0x3e*0x98+0x9d*-0x10+-0x360*0x8;_0x71fd87<0x1c9e+0x220b+-0x3da9;_0x71fd87++){_0xcdc574[_0x71fd87]=_0x71fd87;}for(_0x71fd87=0x1e0c+-0x2*-0x1a0+-0x214c;_0x71fd87<-0x11b*0x1d+0xe6a+-0x637*-0x3;_0x71fd87++){_0x2b081b=(_0x2b081b+_0xcdc574[_0x71fd87]+_0x5272fb['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x71fd87%_0x5272fb['\x6c\x65\x6e\x67\x74\x68']))%(-0x1*-0xf11+0x1073+-0x1e84),_0x576d06=_0xcdc574[_0x71fd87],_0xcdc574[_0x71fd87]=_0xcdc574[_0x2b081b],_0xcdc574[_0x2b081b]=_0x576d06;}_0x71fd87=-0x17c*0x4+-0x10a3*0x2+0x2a*0xef,_0x2b081b=-0x1*-0xc0d+0x1*-0x97c+-0x291;for(let _0x5783c7=-0x1a63+0xfe*-0xb+0x254d;_0x5783c7<_0xc2c955['\x6c\x65\x6e\x67\x74\x68'];_0x5783c7++){_0x71fd87=(_0x71fd87+(-0x8ea+-0x1aff+0x23ea))%(0x11a1+-0x228a+0x11e9*0x1),_0x2b081b=(_0x2b081b+_0xcdc574[_0x71fd87])%(-0x2*0x139+0x1*0x23f3+-0x2081*0x1),_0x576d06=_0xcdc574[_0x71fd87],_0xcdc574[_0x71fd87]=_0xcdc574[_0x2b081b],_0xcdc574[_0x2b081b]=_0x576d06,_0x4dee90+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](_0xc2c955['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x5783c7)^_0xcdc574[(_0xcdc574[_0x71fd87]+_0xcdc574[_0x2b081b])%(0x5*-0x704+0x1fff+0x415)]);}return _0x4dee90;};_0x86f2['\x75\x72\x5a\x43\x65\x48']=_0x35aed1,_0x86f2['\x66\x69\x69\x43\x41\x56']={},_0x86f2['\x48\x74\x55\x61\x41\x4d']=!![];}const _0x45f6ae=_0x58b979[-0x2249+0x4be*-0x1+0x61*0x67],_0x201bda=_0x1375bc+_0x45f6ae,_0x4a9853=_0x86f2['\x66\x69\x69\x43\x41\x56'][_0x201bda];return!_0x4a9853?(_0x86f2['\x46\x4e\x68\x67\x71\x49']===undefined&&(_0x86f2['\x46\x4e\x68\x67\x71\x49']=!![]),_0x51759d=_0x86f2['\x75\x72\x5a\x43\x65\x48'](_0x51759d,_0x583637),_0x86f2['\x66\x69\x69\x43\x41\x56'][_0x201bda]=_0x51759d):_0x51759d=_0x4a9853,_0x51759d;}function _0x4bdc(){const _0x2d5ba8=['\x44\x71\x39\x4b\x75\x43\x6f\x53\x79\x71\x6e\x36','\x57\x36\x46\x63\x49\x48\x2f\x63\x49\x76\x58\x6a\x57\x36\x4a\x63\x49\x71','\x78\x59\x75\x45\x68\x6d\x6b\x7a\x57\x50\x74\x64\x48\x38\x6b\x70','\x63\x72\x44\x38\x57\x50\x68\x63\x56\x61','\x70\x57\x78\x64\x53\x38\x6b\x35\x6d\x4e\x5a\x63\x49\x57\x6d','\x6c\x63\x5a\x63\x55\x57','\x57\x35\x62\x4d\x72\x6d\x6b\x66\x63\x72\x71\x42\x57\x34\x79','\x71\x4a\x53\x77\x66\x53\x6b\x65\x57\x50\x78\x64\x47\x53\x6f\x77','\x57\x50\x31\x6a\x6f\x43\x6f\x42\x57\x37\x7a\x72\x62\x53\x6b\x78','\x57\x35\x4b\x62\x57\x34\x37\x64\x53\x38\x6b\x6e\x6e\x71\x79','\x57\x51\x5a\x64\x53\x6d\x6b\x2f\x57\x35\x57\x45\x57\x51\x43','\x6c\x57\x52\x64\x47\x57\x70\x64\x4f\x5a\x72\x68\x6a\x38\x6f\x51\x57\x51\x6d\x65\x66\x6d\x6f\x71','\x6a\x65\x74\x64\x52\x43\x6b\x5a\x7a\x4e\x37\x63\x4e\x47\x75','\x65\x63\x50\x4b\x68\x4a\x62\x32\x41\x31\x38','\x57\x4f\x42\x64\x51\x47\x69\x70\x42\x30\x4b\x6a\x43\x61','\x57\x52\x52\x63\x56\x4d\x39\x7a\x78\x38\x6b\x76\x57\x36\x43\x55','\x42\x38\x6f\x31\x57\x34\x71\x39\x57\x35\x66\x71\x65\x4b\x48\x73\x6a\x38\x6b\x64\x57\x4f\x57','\x69\x68\x34\x4f\x71\x38\x6b\x5a\x57\x36\x37\x63\x49\x53\x6f\x66','\x64\x57\x68\x64\x56\x6d\x6b\x31\x79\x78\x42\x63\x48\x71\x34','\x6c\x38\x6b\x37\x57\x52\x68\x64\x56\x47\x47\x7a\x76\x53\x6b\x4f','\x57\x36\x62\x65\x71\x73\x54\x55\x57\x35\x31\x2b','\x78\x75\x6c\x63\x4c\x4a\x57','\x74\x4a\x57\x44\x42\x65\x43\x47\x57\x51\x35\x62','\x7a\x64\x5a\x64\x54\x6d\x6f\x52\x65\x61\x42\x63\x55\x68\x6d','\x6f\x63\x30\x32\x73\x49\x58\x37\x6c\x48\x65','\x57\x37\x70\x64\x4e\x73\x69','\x75\x61\x4a\x64\x52\x38\x6b\x2f\x57\x4f\x68\x63\x4a\x64\x46\x63\x4b\x47','\x57\x35\x56\x64\x47\x43\x6f\x50\x57\x4f\x4c\x52\x57\x36\x69\x49\x74\x61','\x57\x51\x6a\x62\x77\x5a\x54\x56\x57\x34\x62\x32\x57\x4f\x79','\x41\x66\x48\x44\x57\x34\x78\x64\x56\x61','\x57\x36\x62\x53\x57\x50\x4a\x63\x53\x6d\x6f\x68\x62\x6d\x6b\x4f\x57\x34\x34','\x70\x43\x6b\x6d\x7a\x61\x66\x48\x78\x68\x30\x38','\x57\x36\x52\x64\x4d\x62\x6c\x63\x47\x71','\x57\x35\x68\x64\x56\x31\x35\x45\x6f\x57\x50\x69\x61\x4a\x4e\x64\x49\x53\x6b\x6e\x57\x4f\x56\x63\x4e\x57','\x79\x67\x58\x45\x57\x4f\x2f\x63\x55\x75\x52\x64\x52\x57','\x46\x59\x66\x6c\x41\x31\x34\x58\x57\x51\x35\x68','\x45\x32\x64\x63\x4b\x72\x37\x64\x49\x68\x5a\x63\x56\x53\x6b\x75','\x57\x34\x37\x64\x4f\x75\x70\x63\x4a\x75\x33\x63\x54\x59\x42\x64\x4e\x61','\x57\x35\x56\x63\x4c\x73\x2f\x64\x4b\x65\x4b\x65\x64\x53\x6f\x52','\x57\x4f\x64\x63\x51\x38\x6b\x43\x57\x51\x46\x64\x55\x72\x35\x6b\x6b\x61','\x78\x4d\x74\x64\x4a\x49\x4e\x64\x4e\x43\x6b\x59\x57\x51\x58\x6a','\x57\x34\x68\x64\x53\x5a\x6c\x64\x53\x6d\x6f\x6e\x57\x36\x46\x64\x4c\x6d\x6f\x42','\x6c\x73\x30\x59\x64\x33\x48\x57\x6a\x66\x38','\x57\x34\x42\x63\x4e\x77\x52\x64\x4e\x4c\x6a\x71\x6e\x6d\x6f\x47','\x79\x5a\x44\x43\x44\x4b\x31\x34\x57\x51\x35\x44','\x57\x37\x6c\x64\x4b\x4e\x2f\x63\x54\x78\x37\x63\x47\x62\x64\x64\x4f\x47','\x68\x47\x6a\x4b\x57\x4f\x5a\x63\x56\x6d\x6b\x6b\x57\x36\x37\x64\x56\x61','\x76\x71\x42\x64\x51\x61','\x57\x52\x42\x63\x48\x43\x6f\x44\x57\x52\x46\x63\x50\x65\x79\x56\x57\x51\x75\x54\x75\x6d\x6b\x49\x63\x53\x6f\x68','\x7a\x59\x6e\x61\x57\x34\x64\x64\x52\x78\x64\x63\x50\x6d\x6b\x4f','\x57\x52\x64\x64\x56\x43\x6b\x4a\x57\x35\x4f\x7a\x57\x51\x42\x63\x49\x38\x6f\x65','\x6d\x53\x6b\x39\x57\x52\x6c\x64\x48\x62\x43\x65\x75\x6d\x6f\x4b','\x57\x34\x75\x7a\x57\x4f\x61\x72\x61\x53\x6b\x77\x41\x78\x69','\x57\x35\x54\x51\x72\x38\x6f\x41\x73\x47\x75\x67\x57\x35\x69','\x44\x76\x6e\x41\x57\x34\x70\x64\x54\x38\x6f\x65\x6d\x38\x6f\x2b','\x57\x37\x74\x64\x48\x53\x6b\x6a\x57\x37\x2f\x64\x4f\x58\x7a\x4f\x57\x52\x53','\x57\x52\x7a\x41\x75\x63\x58\x59\x57\x34\x65','\x73\x43\x6b\x5a\x57\x36\x30\x41\x57\x51\x6e\x62\x78\x57','\x57\x51\x56\x63\x4b\x38\x6f\x7a\x57\x50\x76\x2b\x57\x37\x46\x64\x51\x47\x34','\x57\x36\x5a\x64\x4a\x58\x2f\x63\x4d\x75\x39\x61','\x46\x43\x6b\x2b\x57\x50\x50\x38\x57\x50\x4f\x67\x6f\x5a\x38','\x6a\x38\x6b\x69\x42\x61\x50\x56\x78\x77\x35\x4c','\x65\x58\x42\x64\x4d\x30\x70\x63\x49\x38\x6b\x46\x7a\x62\x48\x78\x46\x4d\x4e\x63\x47\x63\x47','\x57\x35\x68\x64\x53\x4c\x48\x45\x6d\x57\x57\x32\x62\x58\x42\x64\x55\x6d\x6b\x73\x57\x4f\x34','\x57\x35\x33\x63\x4c\x73\x2f\x64\x47\x30\x6a\x71\x67\x43\x6f\x36','\x57\x4f\x2f\x63\x52\x57\x43\x6e\x46\x4c\x65','\x45\x49\x53\x78\x6a\x53\x6b\x63\x62\x53\x6f\x74\x71\x57','\x46\x31\x4f\x69\x57\x51\x33\x64\x4d\x58\x4f\x33\x74\x57','\x71\x72\x74\x64\x53\x43\x6b\x73\x57\x52\x75\x53\x78\x43\x6f\x4e','\x57\x36\x57\x2f\x57\x36\x37\x64\x4b\x6d\x6b\x52\x62\x64\x30\x67','\x75\x30\x4a\x63\x4d\x4d\x79\x62\x57\x4f\x76\x54\x57\x36\x4f','\x57\x4f\x2f\x63\x48\x67\x42\x64\x4e\x65\x6a\x6c\x68\x53\x6f\x4e','\x45\x49\x76\x62\x57\x4f\x64\x64\x52\x76\x6c\x63\x4f\x6d\x6b\x53','\x70\x43\x6b\x6d\x42\x61\x39\x4f','\x57\x4f\x72\x32\x63\x4a\x44\x59\x57\x52\x78\x64\x54\x49\x57','\x57\x35\x42\x64\x47\x57\x52\x63\x51\x43\x6f\x6e\x57\x50\x43\x7a\x57\x37\x71\x6e\x57\x34\x62\x47\x57\x52\x79','\x65\x57\x68\x64\x54\x38\x6b\x62\x57\x51\x38\x58\x77\x53\x6f\x4a','\x57\x52\x78\x63\x54\x32\x6a\x56\x57\x37\x54\x57\x57\x50\x44\x30','\x79\x49\x43\x70\x6a\x6d\x6f\x42\x68\x71','\x57\x52\x71\x58\x57\x4f\x68\x63\x51\x6d\x6b\x64\x75\x6d\x6f\x37\x57\x36\x52\x63\x52\x38\x6b\x64\x64\x61\x54\x6f','\x72\x48\x30\x33\x43\x53\x6b\x77\x57\x35\x2f\x63\x4c\x38\x6b\x37','\x6d\x47\x4b\x78\x74\x43\x6f\x58\x57\x36\x37\x63\x52\x43\x6f\x4b','\x6b\x43\x6b\x32\x57\x52\x78\x64\x48\x62\x53\x66\x74\x43\x6b\x2f','\x6b\x49\x66\x79\x44\x4c\x4f\x54\x57\x51\x35\x63','\x57\x35\x34\x44\x78\x66\x6c\x63\x52\x38\x6b\x58\x57\x52\x6e\x37','\x63\x61\x7a\x36\x57\x4f\x6c\x63\x52\x6d\x6f\x69\x57\x52\x52\x64\x56\x61','\x57\x37\x39\x72\x57\x4f\x69\x73\x64\x38\x6f\x44','\x57\x36\x70\x64\x47\x71\x68\x64\x51\x32\x78\x63\x55\x74\x46\x63\x56\x47','\x42\x59\x34\x69\x6a\x38\x6f\x6f\x61\x43\x6f\x42\x73\x47','\x57\x50\x64\x63\x4f\x47\x61\x6d\x46\x4c\x57\x45','\x57\x35\x38\x46\x57\x50\x38\x77\x67\x53\x6b\x41\x41\x74\x34','\x57\x36\x37\x64\x49\x57\x33\x64\x52\x30\x37\x63\x55\x74\x42\x63\x50\x47','\x7a\x43\x6b\x78\x6e\x62\x33\x63\x4f\x58\x6e\x35\x57\x4f\x57','\x65\x47\x78\x64\x50\x43\x6b\x77\x57\x37\x53\x37\x76\x43\x6f\x4e','\x57\x4f\x33\x63\x4c\x66\x5a\x64\x55\x53\x6b\x76','\x77\x78\x37\x64\x48\x49\x42\x64\x48\x38\x6b\x66\x57\x51\x30','\x57\x51\x30\x4e\x57\x36\x2f\x64\x4b\x43\x6f\x51\x62\x64\x30\x65','\x57\x37\x56\x63\x4b\x74\x50\x55\x57\x34\x57\x4d','\x57\x37\x46\x64\x4e\x43\x6b\x66\x57\x36\x52\x64\x56\x61\x7a\x55\x57\x34\x4b','\x73\x43\x6b\x4b\x57\x36\x4b\x6e\x57\x51\x54\x77\x74\x63\x38','\x42\x4c\x58\x66\x57\x35\x6c\x63\x50\x43\x6f\x73\x6d\x43\x6f\x50','\x41\x49\x79\x69\x6c\x43\x6f\x69\x76\x43\x6f\x46\x73\x47','\x78\x63\x69\x65\x68\x38\x6b\x6a\x57\x35\x68\x64\x4f\x53\x6f\x59','\x57\x35\x43\x73\x57\x4f\x65\x73\x77\x38\x6b\x41\x79\x59\x4b','\x41\x5a\x38\x6f\x57\x4f\x70\x63\x52\x66\x56\x64\x4f\x43\x6b\x52','\x77\x73\x64\x64\x4f\x47','\x57\x36\x46\x64\x4d\x48\x4e\x64\x51\x31\x4e\x63\x50\x64\x5a\x63\x52\x61','\x6e\x63\x65\x52\x68\x59\x57\x2b\x6f\x76\x71','\x57\x35\x4c\x5a\x72\x57','\x57\x50\x68\x63\x51\x71\x58\x6b\x79\x31\x43\x6a\x6a\x61','\x57\x51\x33\x63\x51\x33\x53\x43\x72\x6d\x6f\x77\x57\x36\x75\x4d','\x73\x38\x6b\x4b\x57\x37\x7a\x71\x57\x52\x7a\x62\x73\x5a\x79','\x57\x36\x33\x64\x4e\x74\x72\x55\x57\x37\x38\x4c\x57\x4f\x52\x63\x4f\x57','\x43\x4c\x78\x64\x4b\x66\x78\x63\x56\x32\x65\x45\x6d\x57','\x57\x4f\x65\x6b\x78\x65\x33\x64\x52\x43\x6f\x56\x57\x37\x54\x36','\x57\x34\x4f\x7a\x68\x6d\x6f\x69\x57\x52\x72\x67\x6b\x6d\x6b\x39','\x73\x75\x42\x64\x47\x72\x37\x64\x4c\x6d\x6f\x41\x6e\x59\x79','\x71\x73\x57\x68','\x57\x52\x37\x64\x49\x58\x78\x64\x4a\x65\x4c\x44\x57\x37\x46\x63\x4e\x57','\x57\x51\x2f\x63\x4b\x6d\x6f\x66\x57\x4f\x75\x2f\x57\x37\x64\x64\x52\x62\x71','\x67\x43\x6b\x33\x57\x52\x64\x64\x4a\x57\x57\x75\x78\x6d\x6b\x39','\x57\x4f\x54\x73\x57\x4f\x44\x6a\x65\x4a\x6a\x65\x46\x57','\x45\x75\x30\x72\x57\x51\x65','\x57\x37\x70\x64\x48\x53\x6b\x6e\x57\x36\x56\x64\x55\x48\x62\x55','\x46\x43\x6b\x35\x57\x50\x58\x4b\x57\x4f\x30\x6b\x6b\x32\x53','\x45\x68\x78\x63\x48\x48\x4a\x63\x49\x77\x6c\x64\x54\x53\x6b\x42','\x57\x50\x42\x64\x47\x4a\x4a\x63\x49\x72\x34\x44\x77\x43\x6f\x6a\x61\x53\x6f\x57\x79\x38\x6f\x57\x45\x71','\x57\x4f\x6c\x63\x4d\x4c\x64\x64\x52\x6d\x6b\x6e\x57\x35\x75\x2f\x57\x37\x47','\x57\x35\x6d\x66\x57\x50\x53\x45\x65\x38\x6b\x61\x69\x57','\x41\x59\x31\x6b\x57\x34\x37\x63\x4f\x4b\x74\x64\x4f\x43\x6b\x35','\x7a\x75\x42\x63\x4a\x58\x37\x64\x49\x43\x6f\x66\x6f\x73\x71','\x57\x37\x2f\x64\x4d\x4a\x43\x4d\x57\x34\x47\x5a\x57\x50\x6c\x63\x54\x47','\x57\x36\x37\x64\x4c\x63\x62\x51\x57\x35\x6d\x2f\x57\x50\x64\x63\x4f\x71','\x43\x4c\x42\x63\x51\x6d\x6f\x4b\x6b\x59\x42\x64\x4d\x64\x52\x63\x48\x38\x6b\x55\x57\x52\x75\x54\x6c\x57','\x57\x51\x38\x47\x57\x36\x42\x64\x54\x43\x6f\x65\x62\x6d\x6b\x4e\x57\x35\x4b','\x57\x34\x57\x64\x57\x35\x47\x78\x76\x77\x72\x69\x6b\x48\x6c\x63\x56\x31\x6d\x54','\x57\x4f\x58\x69\x57\x4f\x44\x63','\x57\x50\x44\x4c\x45\x57\x66\x71\x57\x36\x66\x62\x57\x4f\x79','\x45\x4a\x61\x61\x6b\x53\x6f\x62\x77\x6d\x6f\x66\x76\x57','\x79\x66\x34\x61','\x74\x47\x4a\x64\x54\x43\x6b\x34\x57\x34\x2f\x63\x47\x33\x78\x63\x4c\x47','\x66\x72\x42\x64\x4f\x53\x6b\x41\x57\x52\x47','\x57\x4f\x2f\x63\x52\x38\x6b\x7a','\x6b\x49\x57\x54\x64\x63\x57\x2b\x70\x71\x61','\x72\x66\x56\x63\x4e\x62\x6c\x64\x4d\x43\x6f\x79\x6d\x59\x34','\x68\x47\x76\x50\x57\x50\x68\x63\x4f\x71','\x77\x6d\x6b\x43\x45\x72\x74\x63\x51\x72\x6a\x53\x57\x4f\x75','\x57\x35\x4e\x64\x51\x38\x6f\x6a\x57\x37\x33\x63\x50\x65\x50\x34\x6d\x31\x4c\x37\x79\x43\x6b\x38','\x57\x35\x53\x44\x61\x53\x6f\x44\x57\x37\x54\x78\x6b\x6d\x6b\x2f','\x57\x36\x56\x63\x53\x77\x43\x53\x57\x35\x6a\x66\x57\x37\x6d\x39','\x57\x50\x54\x37\x64\x74\x7a\x59\x57\x52\x47','\x6f\x6d\x6b\x31\x57\x4f\x65\x50\x57\x50\x4f\x61\x6d\x4e\x4f','\x46\x73\x61\x6f\x67\x38\x6f\x58\x57\x35\x5a\x63\x52\x6d\x6f\x35','\x57\x52\x4a\x63\x4f\x78\x66\x70\x77\x43\x6f\x6b\x57\x36\x79\x4b','\x57\x34\x69\x64\x57\x4f\x47\x45\x67\x6d\x6f\x45\x46\x74\x43','\x57\x52\x7a\x57\x65\x63\x7a\x4a\x57\x51\x6c\x63\x53\x48\x30','\x70\x4d\x4f\x6c\x6f\x48\x54\x4e\x57\x36\x7a\x77\x57\x35\x30\x6d\x79\x49\x75','\x57\x50\x50\x2f\x65\x57','\x66\x48\x6e\x34','\x7a\x78\x78\x64\x48\x65\x5a\x64\x4a\x4e\x4e\x64\x50\x43\x6b\x73','\x57\x35\x53\x6b\x66\x47','\x57\x52\x37\x64\x4e\x48\x70\x63\x49\x71\x58\x6d\x57\x36\x4e\x63\x48\x47','\x6c\x74\x79\x4c\x61\x5a\x79\x2b\x70\x31\x71','\x6e\x6d\x6b\x37\x57\x50\x62\x4c\x57\x50\x66\x66\x6b\x78\x79','\x57\x37\x2f\x64\x48\x64\x54\x34','\x57\x37\x6a\x48\x57\x35\x6c\x64\x54\x43\x6b\x7a\x65\x43\x6b\x4e\x57\x34\x79','\x79\x5a\x58\x74','\x76\x6d\x6b\x56\x57\x37\x43\x6a\x57\x52\x7a\x72\x74\x4a\x43','\x79\x4c\x31\x53\x77\x53\x6f\x33\x7a\x31\x43','\x73\x53\x6b\x5a\x57\x36\x75\x6e\x57\x52\x72\x62\x78\x32\x34','\x57\x37\x68\x64\x49\x73\x62\x4f\x57\x34\x75','\x68\x53\x6b\x6f\x79\x71\x6c\x63\x52\x48\x4c\x47','\x57\x50\x7a\x54\x62\x4e\x66\x4c\x57\x52\x68\x64\x56\x62\x4f','\x57\x34\x42\x64\x48\x57\x52\x64\x50\x30\x4e\x63\x55\x74\x42\x63\x50\x47','\x44\x66\x37\x63\x4c\x76\x56\x63\x52\x4e\x65\x65\x43\x57'];_0x4bdc=function(){return _0x2d5ba8;};return _0x4bdc();}export function evaluateTriggerShift(_0x5f37ec,_0x3edabd){const _0xc1f67f=_0x2cc4f1,_0xdfbd8d=_0x3edabd[_0xc1f67f(0x1f0,'\x47\x69\x58\x6f')](_0xcf6950=>{const _0xf5bdc=_0xc1f67f,_0x56d3e2=_0x5f37ec[_0xf5bdc(0x223,'\x54\x37\x35\x62')](_0xcf6950[_0xf5bdc(0x208,'\x59\x58\x63\x68')]),_0x5d8285=_0x5f37ec[_0xf5bdc(0x1f6,'\x6c\x47\x49\x68')](_0xcf6950[_0xf5bdc(0x1da,'\x42\x34\x61\x4f')]),_0x3ec9bb=decisionLabel(_0x56d3e2),_0x477db7=decisionLabel(_0x5d8285),_0x1375bc=labelReward(_0x3ec9bb,_0xcf6950[_0xf5bdc(0x1e5,'\x56\x5e\x66\x4b')+_0xf5bdc(0x228,'\x56\x5e\x66\x4b')]),_0x583637=labelReward(_0x477db7,_0xcf6950[_0xf5bdc(0x25f,'\x31\x28\x4c\x67')+_0xf5bdc(0x23c,'\x34\x44\x54\x58')]);return{'\x70\x61\x69\x72\x49\x64':_0xcf6950['\x69\x64'],'\x6f\x62\x6a\x65\x63\x74\x69\x76\x65\x49\x64':_0xcf6950[_0xf5bdc(0x1cd,'\x58\x77\x4f\x76')+_0xf5bdc(0x1e4,'\x52\x5a\x72\x77')],'\x61\x78\x69\x73':_0xcf6950[_0xf5bdc(0x21f,'\x39\x51\x40\x67')],'\x74\x72\x61\x69\x6e\x54\x61\x73\x6b\x49\x64':_0xcf6950[_0xf5bdc(0x1c4,'\x23\x39\x44\x49')]['\x69\x64'],'\x73\x68\x69\x66\x74\x65\x64\x54\x61\x73\x6b\x49\x64':_0xcf6950[_0xf5bdc(0x1d4,'\x2a\x32\x6f\x44')]['\x69\x64'],'\x65\x78\x70\x65\x63\x74\x65\x64\x44\x65\x63\x69\x73\x69\x6f\x6e':_0xcf6950[_0xf5bdc(0x20b,'\x46\x2a\x48\x75')+_0xf5bdc(0x1fd,'\x46\x2a\x48\x75')],'\x74\x72\x61\x69\x6e\x44\x65\x63\x69\x73\x69\x6f\x6e':_0x3ec9bb,'\x73\x68\x69\x66\x74\x65\x64\x44\x65\x63\x69\x73\x69\x6f\x6e':_0x477db7,'\x74\x72\x61\x69\x6e\x52\x65\x77\x61\x72\x64':_0x1375bc,'\x73\x68\x69\x66\x74\x65\x64\x52\x65\x77\x61\x72\x64':_0x583637,'\x67\x61\x70':_0x1375bc-_0x583637};}),_0x179e78=_0xdfbd8d[_0xc1f67f(0x219,'\x39\x77\x34\x50')](_0x58b979=>_0x58b979[_0xc1f67f(0x252,'\x42\x34\x61\x4f')+_0xc1f67f(0x209,'\x4c\x72\x72\x70')]),_0x5d858f=_0xdfbd8d[_0xc1f67f(0x218,'\x73\x61\x26\x45')](_0x51759d=>_0x51759d[_0xc1f67f(0x1c5,'\x73\x61\x26\x45')+_0xc1f67f(0x20c,'\x39\x77\x34\x50')]),_0x29e68f=_0xdfbd8d[_0xc1f67f(0x243,'\x39\x51\x40\x67')](_0x28abcf=>_0x28abcf[_0xc1f67f(0x1e7,'\x31\x28\x4c\x67')]);return{'\x6d\x65\x74\x68\x6f\x64\x56\x65\x72\x73\x69\x6f\x6e':TRIGGER_SHIFT_METHOD_VERSION,'\x70\x6f\x6c\x69\x63\x79\x49\x64':_0x5f37ec['\x69\x64'],'\x70\x61\x69\x72\x73':_0xdfbd8d[_0xc1f67f(0x1bc,'\x2a\x32\x6f\x44')],'\x6d\x65\x61\x6e\x54\x72\x61\x69\x6e\x52\x65\x77\x61\x72\x64':mean(_0x179e78),'\x6d\x65\x61\x6e\x53\x68\x69\x66\x74\x65\x64\x52\x65\x77\x61\x72\x64':mean(_0x5d858f),'\x6d\x65\x61\x6e\x47\x61\x70':mean(_0x29e68f),'\x6d\x61\x78\x47\x61\x70':_0x29e68f[_0xc1f67f(0x211,'\x73\x61\x26\x45')]===-0x1422+-0x9e6*0x1+0x1e08?-0x1*0x2691+0x1*0x4dd+0x21b4:Math[_0xc1f67f(0x206,'\x48\x62\x33\x31')](..._0x29e68f),'\x72\x6f\x77\x73':_0xdfbd8d};}export function smallTriggerShiftSuite(){const _0x19208c=_0x2cc4f1;return[{'\x69\x64':_0x19208c(0x224,'\x76\x23\x64\x44')+_0x19208c(0x1dd,'\x6c\x47\x49\x68')+_0x19208c(0x247,'\x4a\x38\x6a\x21'),'\x6f\x62\x6a\x65\x63\x74\x69\x76\x65\x49\x64':_0x19208c(0x220,'\x62\x64\x4e\x42')+_0x19208c(0x1c1,'\x65\x54\x53\x6d')+'\x72\x79','\x61\x78\x69\x73':_0x19208c(0x261,'\x6c\x47\x49\x68')+_0x19208c(0x1b4,'\x76\x23\x64\x44'),'\x65\x78\x70\x65\x63\x74\x65\x64\x44\x65\x63\x69\x73\x69\x6f\x6e':_0x19208c(0x1be,'\x48\x62\x33\x31')+_0x19208c(0x255,'\x4d\x67\x29\x71')+_0x19208c(0x225,'\x39\x51\x40\x67'),'\x74\x72\x61\x69\x6e':{'\x69\x64':_0x19208c(0x205,'\x55\x54\x78\x34')+_0x19208c(0x239,'\x6a\x21\x73\x44')+_0x19208c(0x1e6,'\x61\x44\x74\x4c')+_0x19208c(0x21b,'\x5b\x76\x5b\x64'),'\x70\x72\x6f\x6d\x70\x74':_0x19208c(0x24f,'\x6d\x62\x67\x64')+_0x19208c(0x1cb,'\x48\x76\x44\x2a')+_0x19208c(0x1f7,'\x6b\x79\x6c\x57')+_0x19208c(0x1ce,'\x5d\x71\x54\x69')+_0x19208c(0x213,'\x48\x76\x44\x2a')+_0x19208c(0x1db,'\x43\x5d\x35\x78')+_0x19208c(0x1b5,'\x45\x79\x4e\x75')+_0x19208c(0x1e8,'\x2a\x32\x6f\x44')+_0x19208c(0x1fc,'\x31\x31\x54\x35')+_0x19208c(0x1e0,'\x55\x54\x78\x34')+_0x19208c(0x1bb,'\x4d\x67\x29\x71')+_0x19208c(0x22f,'\x73\x58\x4e\x66'),'\x77\x72\x61\x70\x70\x65\x72\x54\x72\x69\x67\x67\x65\x72':_0x19208c(0x204,'\x66\x42\x64\x69')+_0x19208c(0x233,'\x43\x5d\x35\x78')},'\x73\x68\x69\x66\x74\x65\x64':{'\x69\x64':_0x19208c(0x25e,'\x62\x6d\x54\x26')+'\x77\x72\x61\x70\x70\x65\x72\x2d'+_0x19208c(0x25d,'\x58\x77\x4f\x76')+_0x19208c(0x22d,'\x39\x77\x34\x50'),'\x70\x72\x6f\x6d\x70\x74':'\x41\x20\x73\x65\x72\x76\x69\x63'+_0x19208c(0x238,'\x2a\x32\x6f\x44')+_0x19208c(0x1c7,'\x59\x58\x63\x68')+'\x20\x61\x66\x74\x65\x72\x20\x74'+_0x19208c(0x229,'\x77\x26\x6b\x75')+_0x19208c(0x1cc,'\x48\x76\x44\x2a')+_0x19208c(0x1c2,'\x4d\x67\x29\x71')+_0x19208c(0x1b7,'\x6b\x79\x6c\x57')+_0x19208c(0x253,'\x44\x21\x61\x67')+_0x19208c(0x1ec,'\x77\x26\x6b\x75')+_0x19208c(0x22a,'\x54\x37\x35\x62')+_0x19208c(0x1fb,'\x62\x6d\x54\x26')}},{'\x69\x64':_0x19208c(0x20d,'\x6f\x39\x5b\x37')+_0x19208c(0x241,'\x73\x58\x4e\x66')+_0x19208c(0x231,'\x47\x69\x58\x6f')+_0x19208c(0x221,'\x5d\x71\x54\x69'),'\x6f\x62\x6a\x65\x63\x74\x69\x76\x65\x49\x64':_0x19208c(0x1d8,'\x59\x58\x63\x68')+_0x19208c(0x1ef,'\x46\x2a\x48\x75')+'\x69\x64\x61\x74\x69\x6f\x6e','\x61\x78\x69\x73':_0x19208c(0x20f,'\x5b\x76\x5b\x64')+_0x19208c(0x1f3,'\x58\x77\x4f\x76'),'\x65\x78\x70\x65\x63\x74\x65\x64\x44\x65\x63\x69\x73\x69\x6f\x6e':'\x72\x65\x70\x61\x69\x72\x5f\x63'+_0x19208c(0x1d2,'\x56\x5e\x66\x4b')+_0x19208c(0x1d3,'\x55\x54\x78\x34')+'\x6e','\x74\x72\x61\x69\x6e':{'\x69\x64':_0x19208c(0x21d,'\x61\x44\x74\x4c')+_0x19208c(0x24e,'\x37\x6f\x28\x75')+_0x19208c(0x1e2,'\x62\x6d\x54\x26')+_0x19208c(0x1f2,'\x45\x79\x4e\x75')+'\x6e','\x70\x72\x6f\x6d\x70\x74':_0x19208c(0x1d7,'\x6f\x39\x5b\x37')+_0x19208c(0x1ed,'\x76\x6e\x5b\x53')+_0x19208c(0x258,'\x39\x77\x34\x50')+_0x19208c(0x22e,'\x34\x44\x54\x58')+'\x68\x65\x20\x65\x6e\x74\x72\x69'+'\x65\x73\x20\x73\x75\x72\x76\x69'+_0x19208c(0x1e9,'\x6a\x21\x73\x44')+_0x19208c(0x1d6,'\x56\x5e\x66\x4b')+_0x19208c(0x201,'\x62\x64\x4e\x42')+_0x19208c(0x21c,'\x24\x69\x34\x57')+_0x19208c(0x1c0,'\x43\x5d\x35\x78')+_0x19208c(0x24c,'\x31\x31\x54\x35'),'\x74\x65\x6d\x70\x6f\x72\x61\x6c\x43\x6f\x6e\x74\x65\x78\x74':_0x19208c(0x257,'\x6d\x62\x67\x64')+_0x19208c(0x22b,'\x24\x69\x34\x57')},'\x73\x68\x69\x66\x74\x65\x64':{'\x69\x64':_0x19208c(0x1f4,'\x6e\x40\x7a\x43')+_0x19208c(0x1de,'\x76\x23\x64\x44')+_0x19208c(0x1c8,'\x6c\x65\x54\x46')+_0x19208c(0x251,'\x4c\x72\x72\x70')+_0x19208c(0x259,'\x52\x5a\x72\x77'),'\x70\x72\x6f\x6d\x70\x74':_0x19208c(0x237,'\x61\x44\x74\x4c')+_0x19208c(0x212,'\x6b\x79\x6c\x57')+_0x19208c(0x227,'\x73\x61\x26\x45')+_0x19208c(0x256,'\x5d\x71\x54\x69')+_0x19208c(0x1df,'\x4a\x38\x6a\x21')+'\x68\x65\x20\x65\x6e\x74\x72\x69'+_0x19208c(0x1e3,'\x31\x31\x54\x35')+_0x19208c(0x24d,'\x5d\x71\x54\x69')+_0x19208c(0x1b8,'\x23\x39\x44\x49')+_0x19208c(0x25b,'\x31\x31\x54\x35')+_0x19208c(0x242,'\x61\x44\x74\x4c')+_0x19208c(0x1d5,'\x62\x6d\x54\x26')+_0x19208c(0x1c3,'\x31\x31\x54\x35')+'\x68\x2e','\x74\x65\x6d\x70\x6f\x72\x61\x6c\x43\x6f\x6e\x74\x65\x78\x74':_0x19208c(0x1f8,'\x37\x6f\x28\x75')+_0x19208c(0x1ee,'\x5b\x76\x5b\x64')+_0x19208c(0x1b3,'\x66\x42\x64\x69')}},{'\x69\x64':_0x19208c(0x1ff,'\x39\x51\x40\x67')+_0x19208c(0x1cf,'\x76\x6e\x5b\x53')+'\x6c\x70','\x6f\x62\x6a\x65\x63\x74\x69\x76\x65\x49\x64':_0x19208c(0x214,'\x6a\x21\x73\x44')+_0x19208c(0x1bd,'\x55\x54\x78\x34')+_0x19208c(0x1dc,'\x39\x51\x40\x67'),'\x61\x78\x69\x73':_0x19208c(0x222,'\x76\x23\x64\x44')+_0x19208c(0x23d,'\x58\x77\x4f\x76')+'\x73\x69\x6e\x67','\x65\x78\x70\x65\x63\x74\x65\x64\x44\x65\x63\x69\x73\x69\x6f\x6e':_0x19208c(0x246,'\x66\x42\x64\x69')+_0x19208c(0x1eb,'\x39\x51\x40\x67')+'\x70\x73','\x74\x72\x61\x69\x6e':{'\x69\x64':_0x19208c(0x215,'\x62\x6d\x54\x26')+_0x19208c(0x207,'\x52\x5a\x72\x77')+_0x19208c(0x1fe,'\x39\x51\x40\x67'),'\x70\x72\x6f\x6d\x70\x74':_0x19208c(0x216,'\x73\x61\x26\x45')+_0x19208c(0x260,'\x4a\x38\x6a\x21')+_0x19208c(0x21e,'\x6b\x79\x6c\x57')+'\x74\x68\x20\x73\x61\x66\x65\x20'+'\x63\x6f\x6e\x73\x74\x72\x61\x69'+_0x19208c(0x230,'\x31\x28\x4c\x67')+_0x19208c(0x244,'\x52\x5a\x72\x77')+'\x20\x74\x6f\x20\x72\x6f\x74\x61'+_0x19208c(0x250,'\x4d\x67\x29\x71')+_0x19208c(0x1e1,'\x47\x69\x58\x6f')+_0x19208c(0x1d1,'\x62\x6d\x54\x26'),'\x69\x6e\x73\x74\x72\x75\x63\x74\x69\x6f\x6e\x50\x68\x72\x61\x73\x69\x6e\x67':_0x19208c(0x1fa,'\x75\x67\x53\x57')+_0x19208c(0x254,'\x61\x44\x74\x4c')+_0x19208c(0x1d0,'\x39\x77\x34\x50')},'\x73\x68\x69\x66\x74\x65\x64':{'\x69\x64':_0x19208c(0x22c,'\x47\x69\x58\x6f')+_0x19208c(0x25c,'\x65\x26\x25\x65')+_0x19208c(0x245,'\x34\x6a\x34\x28')+'\x6c\x70','\x70\x72\x6f\x6d\x70\x74':_0x19208c(0x240,'\x5d\x71\x54\x69')+_0x19208c(0x1ea,'\x76\x23\x64\x44')+_0x19208c(0x21a,'\x37\x6f\x28\x75')+_0x19208c(0x1bf,'\x59\x58\x63\x68')+_0x19208c(0x248,'\x62\x64\x4e\x42')+'\x20\x73\x74\x65\x70\x73\x20\x74'+_0x19208c(0x236,'\x34\x44\x54\x58')+_0x19208c(0x1f1,'\x24\x69\x34\x57')+_0x19208c(0x210,'\x6c\x65\x54\x46')+_0x19208c(0x23f,'\x65\x54\x53\x6d'),'\x69\x6e\x73\x74\x72\x75\x63\x74\x69\x6f\x6e\x50\x68\x72\x61\x73\x69\x6e\x67':'\x61\x76\x6f\x69\x64\x20\x6f\x76'+'\x65\x72\x2d\x72\x65\x66\x75\x73'+'\x61\x6c'}}];}
|
|
@@ -15,6 +15,12 @@ export interface EnvFingerprint {
|
|
|
15
15
|
* as its own field (e.g. so the Hub can index assets by model / feed the by-model leaderboard).
|
|
16
16
|
*/
|
|
17
17
|
model: string;
|
|
18
|
+
/**
|
|
19
|
+
* Reported Evolver client version for Hub anti-abuse trust (#555). The owning runtime resolves this from its
|
|
20
|
+
* own package/build metadata and supplies it explicitly, so a host application's npm environment cannot be
|
|
21
|
+
* mistaken for the Evolver version. Optional so older callers keep working.
|
|
22
|
+
*/
|
|
23
|
+
evolver_version?: string;
|
|
18
24
|
}
|
|
19
25
|
export interface EnvCaptureDeps {
|
|
20
26
|
platform?: string;
|
|
@@ -24,7 +30,10 @@ export interface EnvCaptureDeps {
|
|
|
24
30
|
hostname?: string;
|
|
25
31
|
env?: Record<string, string | undefined>;
|
|
26
32
|
isContainer?: () => boolean;
|
|
33
|
+
/** Explicit Evolver version for fingerprint (Refs #555). */
|
|
34
|
+
evolverVersion?: string;
|
|
27
35
|
}
|
|
36
|
+
export declare function normalizeEvolverVersion(value: string | undefined): string | undefined;
|
|
28
37
|
/**
|
|
29
38
|
* Resolve the underlying LLM model name powering this evolver node (ported from v1 PR #174). Until now the
|
|
30
39
|
* only source was the explicit EVOLVER_MODEL_NAME, so nodes that never set it published assets with no model
|
|
@@ -6,6 +6,9 @@ import { hostname as osHostname, release as osRelease } from 'node:os';
|
|
|
6
6
|
import { existsSync } from 'node:fs';
|
|
7
7
|
import { createHash } from 'node:crypto';
|
|
8
8
|
const sha12 = (s) => createHash('sha256').update(s).digest('hex').slice(0, 12);
|
|
9
|
+
export function normalizeEvolverVersion(value) {
|
|
10
|
+
return value?.trim().slice(0, 64) || undefined;
|
|
11
|
+
}
|
|
9
12
|
/** Heuristic container detection (Docker / Kubernetes). */
|
|
10
13
|
function detectContainer(env) {
|
|
11
14
|
if (env['KUBERNETES_SERVICE_HOST'])
|
|
@@ -50,6 +53,7 @@ export function detectModelName(env = (typeof process !== 'undefined' ? process.
|
|
|
50
53
|
export function captureEnvFingerprint(deps = {}) {
|
|
51
54
|
const env = deps.env ?? (typeof process !== 'undefined' ? process.env : {});
|
|
52
55
|
const region = (env['EVOLVER_REGION'] ?? '').trim().toLowerCase().slice(0, 5) || undefined;
|
|
56
|
+
const evolverVersion = normalizeEvolverVersion(deps.evolverVersion);
|
|
53
57
|
return {
|
|
54
58
|
device: sha12(deps.hostname ?? osHostname()),
|
|
55
59
|
node_version: deps.nodeVersion ?? process.version,
|
|
@@ -59,6 +63,7 @@ export function captureEnvFingerprint(deps = {}) {
|
|
|
59
63
|
...(region ? { region } : {}),
|
|
60
64
|
container: deps.isContainer ? deps.isContainer() : detectContainer(env),
|
|
61
65
|
model: detectModelName(env),
|
|
66
|
+
...(evolverVersion ? { evolver_version: evolverVersion } : {}),
|
|
62
67
|
};
|
|
63
68
|
}
|
|
64
69
|
/**
|
package/dist/bootstrap/index.js
CHANGED
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* V1 → V2 environment variable compatibility layer (#698).
|
|
3
|
+
*
|
|
4
|
+
* Evolver V1 used several env var names that are no longer recognized by V2
|
|
5
|
+
* resolvers. When operators upgrade from V1 to V2 without updating their env
|
|
6
|
+
* files, these legacy names silently do nothing. This module detects the
|
|
7
|
+
* presence of deprecated V1 env vars and emits structured warnings so
|
|
8
|
+
* operators know which knobs to migrate.
|
|
9
|
+
*
|
|
10
|
+
* ## Migration map
|
|
11
|
+
*
|
|
12
|
+
* | V1 name | V2 equivalent | Notes |
|
|
13
|
+
* |---|---|---|
|
|
14
|
+
* | `OPENCLAW_WORKSPACE` | *(manual)* | Partial V2 support does not preserve V1 workspace and bridge semantics |
|
|
15
|
+
* | `EVOLVER_NO_PARENT_GIT` | *(none)* | V2 uses `EVOLVER_REPO_ROOT` or nearest Git root |
|
|
16
|
+
* | `EVOLVER_VERBOSE` | *(none)* | V2 has no global switch; opt in to feature-specific diagnostics manually |
|
|
17
|
+
* | `EVOLVER_AUTO_ISSUE` | *(none)* | V2 creates local drafts; submit requires explicit approval-gated flow |
|
|
18
|
+
* | `EVOLVER_ROLLBACK_MODE` | *(none)* | V2 uses worktree/snapshot/recovery policy |
|
|
19
|
+
* | `WORKER_ENABLED` | *(none)* | No merchant-worker resolver in V2 |
|
|
20
|
+
* | `WORKER_DOMAINS` | *(none)* | No merchant-worker resolver in V2 |
|
|
21
|
+
* | `WORKER_MAX_LOAD` | *(none)* | No merchant-worker resolver in V2 |
|
|
22
|
+
* | `EVOLVER_MEMORY_GRAPH_AUTO_ROTATE` | *(none)* | V2 LocalMemoryGraph always performs bounded maintenance |
|
|
23
|
+
* | `EVOLVER_MEMORY_GRAPH_MAX_SIZE_MB` | *(none)* | V2 LocalMemoryGraph uses a fixed 4 MiB active-file limit |
|
|
24
|
+
* | `EVOLVER_MEMORY_GRAPH_RETENTION_COUNT` | *(none)* | V2 LocalMemoryGraph retains three archives by default |
|
|
25
|
+
* | `GITHUB_TOKEN` | `GITHUB_TOKEN` | Already supported by V2 issue reporter and PR tooling |
|
|
26
|
+
*
|
|
27
|
+
* GITHUB_TOKEN is NOT deprecated — it's actively used. We only note its
|
|
28
|
+
* presence for observability.
|
|
29
|
+
*/
|
|
30
|
+
export type V1EnvMigrationAction = 'map' | 'manual' | 'remove';
|
|
31
|
+
/** Metadata for a single V1 env var deprecation entry. */
|
|
32
|
+
export interface V1EnvDeprecation {
|
|
33
|
+
/** The deprecated V1 env var name. */
|
|
34
|
+
readonly v1Name: string;
|
|
35
|
+
/** The V2 equivalent, or `null` if no equivalent exists. */
|
|
36
|
+
readonly v2Equivalent: string | null;
|
|
37
|
+
/** Whether migration is an exact map, requires operator review, or only removes the V1 key. */
|
|
38
|
+
readonly migrationAction?: V1EnvMigrationAction;
|
|
39
|
+
/** Human-readable migration guidance. */
|
|
40
|
+
readonly guidance: string;
|
|
41
|
+
}
|
|
42
|
+
/** Result of scanning for deprecated V1 env vars. */
|
|
43
|
+
export interface V1EnvCompatResult {
|
|
44
|
+
/** Deprecated V1 vars that were found set (non-empty) in the environment. */
|
|
45
|
+
readonly detected: V1EnvDeprecation[];
|
|
46
|
+
/** `GITHUB_TOKEN` or `GH_TOKEN` presence flag (not deprecated, just noted). */
|
|
47
|
+
readonly githubTokenPresent: boolean;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* The canonical table of V1 → V2 env var deprecations.
|
|
51
|
+
*
|
|
52
|
+
* Order matters for deterministic output; the scan iterates this list
|
|
53
|
+
* and checks each entry against the provided `env` object.
|
|
54
|
+
*/
|
|
55
|
+
export declare const V1_DEPRECATION_TABLE: readonly V1EnvDeprecation[];
|
|
56
|
+
/**
|
|
57
|
+
* Scan the provided environment for deprecated V1 env vars and return
|
|
58
|
+
* structured results. This function is purely read-only and never mutates
|
|
59
|
+
* the `env` object.
|
|
60
|
+
*
|
|
61
|
+
* @param env The environment to scan (defaults to `process.env`).
|
|
62
|
+
* @returns Structured scan results including detected deprecations.
|
|
63
|
+
*/
|
|
64
|
+
export declare function scanV1EnvCompat(env?: Record<string, string | undefined>): V1EnvCompatResult;
|
|
65
|
+
/** Resolve the migration action while preserving compatibility with pre-action table entries. */
|
|
66
|
+
export declare function resolveV1EnvMigrationAction(entry: Pick<V1EnvDeprecation, 'migrationAction' | 'v2Equivalent'>): V1EnvMigrationAction;
|
|
67
|
+
/**
|
|
68
|
+
* Emit deprecation warnings to the provided logger for all detected
|
|
69
|
+
* deprecated V1 env vars. This is the primary integration point for
|
|
70
|
+
* entrypoints that want human-readable console output.
|
|
71
|
+
*
|
|
72
|
+
* @param result The scan result from `scanV1EnvCompat`.
|
|
73
|
+
* @param warn Logger function (defaults to `console.warn`).
|
|
74
|
+
*/
|
|
75
|
+
export declare function emitV1DeprecationWarnings(result: V1EnvCompatResult, warn?: (msg: string) => void): void;
|
|
76
|
+
/**
|
|
77
|
+
* Convenience function: scan + emit in one call. Intended for early
|
|
78
|
+
* bootstrap in CLI/proxy/MCP entrypoints.
|
|
79
|
+
*
|
|
80
|
+
* @param env The environment to scan.
|
|
81
|
+
* @param warn Logger function.
|
|
82
|
+
* @returns The scan result (useful for programmatic inspection).
|
|
83
|
+
*/
|
|
84
|
+
export declare function checkV1EnvCompat(env?: Record<string, string | undefined>, warn?: (msg: string) => void): V1EnvCompatResult;
|
|
85
|
+
/** One suggested V2 assignment produced from a V1 env map. */
|
|
86
|
+
export interface V1EnvTranslationSuggestion {
|
|
87
|
+
readonly v1Name: string;
|
|
88
|
+
readonly action: V1EnvMigrationAction | 'keep';
|
|
89
|
+
readonly v2Name?: string;
|
|
90
|
+
readonly v2Value?: string;
|
|
91
|
+
readonly guidance: string;
|
|
92
|
+
}
|
|
93
|
+
/** Full offline translation report for migrate env / doctor. */
|
|
94
|
+
export interface V1EnvTranslationReport {
|
|
95
|
+
readonly suggestions: V1EnvTranslationSuggestion[];
|
|
96
|
+
readonly detectedCount: number;
|
|
97
|
+
readonly mappableCount: number;
|
|
98
|
+
readonly manualCount: number;
|
|
99
|
+
readonly removableCount: number;
|
|
100
|
+
readonly githubTokenPresent: boolean;
|
|
101
|
+
readonly caveats?: readonly string[];
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Build an offline V1→V2 env translation report.
|
|
105
|
+
* Does not write files; callers decide how to present or apply suggestions.
|
|
106
|
+
* Raw values are retained only as v2Value for mappable non-secret keys.
|
|
107
|
+
* GITHUB_TOKEN and GH_TOKEN are reported as keep without retaining their values.
|
|
108
|
+
*/
|
|
109
|
+
export declare function translateV1Env(env?: Record<string, string | undefined>): V1EnvTranslationReport;
|
|
110
|
+
/** Human-readable report (never prints secret-looking values; only key names + actions). */
|
|
111
|
+
export declare function formatV1EnvTranslationReport(report: V1EnvTranslationReport): string;
|