@prosopo/provider 5.6.1 → 5.6.3
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/.turbo/turbo-build$colon$cjs.log +16 -13
- package/.turbo/turbo-build$colon$tsc.log +25 -25
- package/.turbo/turbo-build.log +17 -14
- package/CHANGELOG.md +55 -0
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.d.ts.map +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.js +4 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.js.map +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.d.ts.map +1 -1
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js +9 -3
- package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js.map +1 -1
- package/dist/api/captcha/getPuzzleCaptchaChallenge.d.ts.map +1 -1
- package/dist/api/captcha/getPuzzleCaptchaChallenge.js +4 -4
- package/dist/api/captcha/getPuzzleCaptchaChallenge.js.map +1 -1
- package/dist/api/captcha/submitPoWCaptchaSolution.d.ts +4 -1
- package/dist/api/captcha/submitPoWCaptchaSolution.d.ts.map +1 -1
- package/dist/api/captcha/submitPoWCaptchaSolution.js +27 -8
- package/dist/api/captcha/submitPoWCaptchaSolution.js.map +1 -1
- package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.cjs +4 -1
- package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/handler.cjs +9 -3
- package/dist/cjs/api/captcha/getPuzzleCaptchaChallenge.cjs +4 -4
- package/dist/cjs/api/captcha/submitPoWCaptchaSolution.cjs +26 -7
- package/dist/cjs/tasks/captchaTypeSelection.cjs +53 -0
- package/dist/cjs/tasks/frictionless/frictionlessTasks.cjs +25 -7
- package/dist/cjs/tasks/imgCaptcha/imgCaptchaTasks.cjs +3 -1
- package/dist/cjs/tasks/powCaptcha/powTasks.cjs +3 -1
- package/dist/cjs/tasks/puzzle/puzzleDifficulty.cjs +208 -0
- package/dist/cjs/tasks/puzzle/puzzleRenderer.cjs +13 -61
- package/dist/cjs/tasks/puzzle/stratifiedSampler.cjs +61 -0
- package/dist/cjs/tasks/puzzleCaptcha/puzzleTasks.cjs +3 -1
- package/dist/cjs/utils/devicePlatform.cjs +34 -0
- package/dist/tasks/captchaManager.d.ts +2 -2
- package/dist/tasks/captchaManager.d.ts.map +1 -1
- package/dist/tasks/captchaManager.js.map +1 -1
- package/dist/tasks/captchaTypeSelection.d.ts +5 -0
- package/dist/tasks/captchaTypeSelection.d.ts.map +1 -0
- package/dist/tasks/captchaTypeSelection.js +53 -0
- package/dist/tasks/captchaTypeSelection.js.map +1 -0
- package/dist/tasks/decisionMachine/decisionMachineRunner.d.ts.map +1 -1
- package/dist/tasks/decisionMachine/decisionMachineRunner.js.map +1 -1
- package/dist/tasks/frictionless/frictionlessTasks.d.ts +1 -1
- package/dist/tasks/frictionless/frictionlessTasks.d.ts.map +1 -1
- package/dist/tasks/frictionless/frictionlessTasks.js +26 -8
- package/dist/tasks/frictionless/frictionlessTasks.js.map +1 -1
- package/dist/tasks/frictionless/routingMachine.d.ts +3 -1
- package/dist/tasks/frictionless/routingMachine.d.ts.map +1 -1
- package/dist/tasks/frictionless/routingMachine.js.map +1 -1
- package/dist/tasks/imgCaptcha/imgCaptchaTasks.d.ts.map +1 -1
- package/dist/tasks/imgCaptcha/imgCaptchaTasks.js +3 -1
- package/dist/tasks/imgCaptcha/imgCaptchaTasks.js.map +1 -1
- package/dist/tasks/powCaptcha/powTasks.d.ts.map +1 -1
- package/dist/tasks/powCaptcha/powTasks.js +3 -1
- package/dist/tasks/powCaptcha/powTasks.js.map +1 -1
- package/dist/tasks/puzzle/puzzleDifficulty.d.ts +25 -0
- package/dist/tasks/puzzle/puzzleDifficulty.d.ts.map +1 -0
- package/dist/tasks/puzzle/puzzleDifficulty.js +204 -0
- package/dist/tasks/puzzle/puzzleDifficulty.js.map +1 -0
- package/dist/tasks/puzzle/puzzleRenderer.d.ts +1 -3
- package/dist/tasks/puzzle/puzzleRenderer.d.ts.map +1 -1
- package/dist/tasks/puzzle/puzzleRenderer.js +15 -62
- package/dist/tasks/puzzle/puzzleRenderer.js.map +1 -1
- package/dist/tasks/puzzle/stratifiedSampler.d.ts +7 -0
- package/dist/tasks/puzzle/stratifiedSampler.d.ts.map +1 -0
- package/dist/tasks/puzzle/stratifiedSampler.js +61 -0
- package/dist/tasks/puzzle/stratifiedSampler.js.map +1 -0
- package/dist/tasks/puzzleCaptcha/puzzleTasks.d.ts.map +1 -1
- package/dist/tasks/puzzleCaptcha/puzzleTasks.js +3 -1
- package/dist/tasks/puzzleCaptcha/puzzleTasks.js.map +1 -1
- package/dist/tests/integration/api/admin/apiRegisterSiteKeyEndpoint.integration.test.js +2 -0
- package/dist/tests/integration/api/admin/apiRegisterSiteKeyEndpoint.integration.test.js.map +1 -1
- package/dist/tests/integration/clientSettingsPersistence.integration.test.js +1 -0
- package/dist/tests/integration/clientSettingsPersistence.integration.test.js.map +1 -1
- package/dist/tests/integration/routingDecisionMachines.integration.test.js +280 -3
- package/dist/tests/integration/routingDecisionMachines.integration.test.js.map +1 -1
- package/dist/tests/unit/api/admin/apiRegisterSiteKeyEndpoint.unit.test.js +1 -0
- package/dist/tests/unit/api/admin/apiRegisterSiteKeyEndpoint.unit.test.js.map +1 -1
- package/dist/tests/unit/api/captcha/submitPoWCaptchaSolution.escalation.unit.test.js +3 -0
- package/dist/tests/unit/api/captcha/submitPoWCaptchaSolution.escalation.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/captchaManager.unit.test.js +1 -0
- package/dist/tests/unit/tasks/captchaManager.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/captchaTypeSelection.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/captchaTypeSelection.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/captchaTypeSelection.unit.test.js +54 -0
- package/dist/tests/unit/tasks/captchaTypeSelection.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/frictionless/routerImageRoundsClamp.unit.test.js +3 -3
- package/dist/tests/unit/tasks/frictionless/routerImageRoundsClamp.unit.test.js.map +1 -1
- package/dist/tests/unit/tasks/frictionless/routerPuzzleOverrides.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/frictionless/routerPuzzleOverrides.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/frictionless/routerPuzzleOverrides.unit.test.js +119 -0
- package/dist/tests/unit/tasks/frictionless/routerPuzzleOverrides.unit.test.js.map +1 -0
- package/dist/tests/unit/tasks/puzzleDifficulty.unit.test.d.ts +2 -0
- package/dist/tests/unit/tasks/puzzleDifficulty.unit.test.d.ts.map +1 -0
- package/dist/tests/unit/tasks/puzzleDifficulty.unit.test.js +137 -0
- package/dist/tests/unit/tasks/puzzleDifficulty.unit.test.js.map +1 -0
- package/dist/tests/unit/utils/devicePlatform.unit.test.js +61 -1
- package/dist/tests/unit/utils/devicePlatform.unit.test.js.map +1 -1
- package/dist/utils/devicePlatform.d.ts +2 -1
- package/dist/utils/devicePlatform.d.ts.map +1 -1
- package/dist/utils/devicePlatform.js +34 -1
- package/dist/utils/devicePlatform.js.map +1 -1
- package/package.json +13 -13
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
const require_stratifiedSampler = require("./stratifiedSampler.cjs");
|
|
2
|
+
//#region src/tasks/puzzle/puzzleDifficulty.ts
|
|
3
|
+
/**
|
|
4
|
+
* Minimum gap that must remain between `decoyHoleDarken` and `holeDarken`.
|
|
5
|
+
*
|
|
6
|
+
* The real cutout has to stay the deepest region on the frame or a human
|
|
7
|
+
* cannot tell target from decoy at all. But pushed too far apart, a solver
|
|
8
|
+
* simply thresholds on brightness and ignores shape. The ladder walks
|
|
9
|
+
* `decoyHoleDarken` down toward `holeDarken` as difficulty rises; this floor
|
|
10
|
+
* is what stops it crossing over. Enforced by clamping every sampled value,
|
|
11
|
+
* not by trusting the band table to be authored correctly.
|
|
12
|
+
*/
|
|
13
|
+
var MIN_DECOY_HOLE_DARKEN_MARGIN = .04;
|
|
14
|
+
/**
|
|
15
|
+
* L0 reproduces the shipped defaults (decoyCount 5, decoyEdgeDarkness 20,
|
|
16
|
+
* decoyHoleDarken 0.7, tolerance 15, pieceScale 0.15-0.45) so a site that
|
|
17
|
+
* never escalates sees no change in behaviour.
|
|
18
|
+
*
|
|
19
|
+
* The numbers above L0 are STARTING POINTS, not calibrated values. They need
|
|
20
|
+
* validating against observed human first-attempt solve rate per level,
|
|
21
|
+
* segmented by device class — see the shadow-calibration note on
|
|
22
|
+
* `severityToPuzzleDifficulty`.
|
|
23
|
+
*/
|
|
24
|
+
var PUZZLE_DIFFICULTY_LEVELS = [
|
|
25
|
+
{
|
|
26
|
+
level: 0,
|
|
27
|
+
tolerance: {
|
|
28
|
+
min: 14,
|
|
29
|
+
max: 16
|
|
30
|
+
},
|
|
31
|
+
decoyCount: {
|
|
32
|
+
min: 4,
|
|
33
|
+
max: 6
|
|
34
|
+
},
|
|
35
|
+
decoyHoleDarken: {
|
|
36
|
+
min: .68,
|
|
37
|
+
max: .72
|
|
38
|
+
},
|
|
39
|
+
decoyEdgeDarkness: {
|
|
40
|
+
min: 18,
|
|
41
|
+
max: 22
|
|
42
|
+
},
|
|
43
|
+
pieceScale: {
|
|
44
|
+
min: .15,
|
|
45
|
+
max: .45
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
level: 1,
|
|
50
|
+
tolerance: {
|
|
51
|
+
min: 12,
|
|
52
|
+
max: 15
|
|
53
|
+
},
|
|
54
|
+
decoyCount: {
|
|
55
|
+
min: 6,
|
|
56
|
+
max: 10
|
|
57
|
+
},
|
|
58
|
+
decoyHoleDarken: {
|
|
59
|
+
min: .66,
|
|
60
|
+
max: .7
|
|
61
|
+
},
|
|
62
|
+
decoyEdgeDarkness: {
|
|
63
|
+
min: 20,
|
|
64
|
+
max: 24
|
|
65
|
+
},
|
|
66
|
+
pieceScale: {
|
|
67
|
+
min: .14,
|
|
68
|
+
max: .4
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
level: 2,
|
|
73
|
+
tolerance: {
|
|
74
|
+
min: 10,
|
|
75
|
+
max: 13
|
|
76
|
+
},
|
|
77
|
+
decoyCount: {
|
|
78
|
+
min: 10,
|
|
79
|
+
max: 16
|
|
80
|
+
},
|
|
81
|
+
decoyHoleDarken: {
|
|
82
|
+
min: .64,
|
|
83
|
+
max: .68
|
|
84
|
+
},
|
|
85
|
+
decoyEdgeDarkness: {
|
|
86
|
+
min: 22,
|
|
87
|
+
max: 27
|
|
88
|
+
},
|
|
89
|
+
pieceScale: {
|
|
90
|
+
min: .12,
|
|
91
|
+
max: .34
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
level: 3,
|
|
96
|
+
tolerance: {
|
|
97
|
+
min: 8,
|
|
98
|
+
max: 11
|
|
99
|
+
},
|
|
100
|
+
decoyCount: {
|
|
101
|
+
min: 16,
|
|
102
|
+
max: 26
|
|
103
|
+
},
|
|
104
|
+
decoyHoleDarken: {
|
|
105
|
+
min: .62,
|
|
106
|
+
max: .66
|
|
107
|
+
},
|
|
108
|
+
decoyEdgeDarkness: {
|
|
109
|
+
min: 25,
|
|
110
|
+
max: 30
|
|
111
|
+
},
|
|
112
|
+
pieceScale: {
|
|
113
|
+
min: .1,
|
|
114
|
+
max: .28
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
level: 4,
|
|
119
|
+
tolerance: {
|
|
120
|
+
min: 6,
|
|
121
|
+
max: 9
|
|
122
|
+
},
|
|
123
|
+
decoyCount: {
|
|
124
|
+
min: 26,
|
|
125
|
+
max: 40
|
|
126
|
+
},
|
|
127
|
+
decoyHoleDarken: {
|
|
128
|
+
min: .6,
|
|
129
|
+
max: .64
|
|
130
|
+
},
|
|
131
|
+
decoyEdgeDarkness: {
|
|
132
|
+
min: 28,
|
|
133
|
+
max: 34
|
|
134
|
+
},
|
|
135
|
+
pieceScale: {
|
|
136
|
+
min: .09,
|
|
137
|
+
max: .22
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
];
|
|
141
|
+
var toleranceSampler = require_stratifiedSampler.createStratifiedSampler();
|
|
142
|
+
var decoyCountSampler = require_stratifiedSampler.createStratifiedSampler();
|
|
143
|
+
var decoyHoleDarkenSampler = require_stratifiedSampler.createStratifiedSampler();
|
|
144
|
+
var decoyEdgeDarknessSampler = require_stratifiedSampler.createStratifiedSampler();
|
|
145
|
+
var clampDifficultyLevel = (level, maxLevel = 3) => {
|
|
146
|
+
const ceiling = Math.min(maxLevel, PUZZLE_DIFFICULTY_LEVELS.length - 1);
|
|
147
|
+
if (!Number.isFinite(level)) return 0;
|
|
148
|
+
return Math.max(0, Math.min(Math.floor(level), ceiling));
|
|
149
|
+
};
|
|
150
|
+
/**
|
|
151
|
+
* Map the severity currency every existing call-site already speaks — image
|
|
152
|
+
* rounds — onto a difficulty level.
|
|
153
|
+
*
|
|
154
|
+
* Severity is expressed as rounds ABOVE the site's ordinary count rather than
|
|
155
|
+
* an absolute, because the baseline (`env.config.captchas.solved.count`, or a
|
|
156
|
+
* rule's own `solvedImagesCount`) varies per site. "Two more rounds than
|
|
157
|
+
* normal" means the same thing everywhere; "four rounds" does not.
|
|
158
|
+
*
|
|
159
|
+
* Keeping one ordering here means the score ladder, the no-measurement gates,
|
|
160
|
+
* detector rules and traffic-filter policies cannot drift apart on what
|
|
161
|
+
* counts as more severe.
|
|
162
|
+
*/
|
|
163
|
+
var severityToPuzzleDifficulty = (requestedImageRounds, baseImageRounds, maxLevel = 3) => {
|
|
164
|
+
if (requestedImageRounds === void 0) return 0;
|
|
165
|
+
const excess = requestedImageRounds - baseImageRounds;
|
|
166
|
+
if (!Number.isFinite(excess) || excess <= 0) return clampDifficultyLevel(0, maxLevel);
|
|
167
|
+
if (excess <= 2) return clampDifficultyLevel(1, maxLevel);
|
|
168
|
+
if (excess <= 4) return clampDifficultyLevel(2, maxLevel);
|
|
169
|
+
if (excess <= 6) return clampDifficultyLevel(3, maxLevel);
|
|
170
|
+
return clampDifficultyLevel(4, maxLevel);
|
|
171
|
+
};
|
|
172
|
+
/**
|
|
173
|
+
* Draw a concrete puzzle config from a level's bands.
|
|
174
|
+
*
|
|
175
|
+
* Sampling is server-side and per-challenge, and is deliberately NOT derived
|
|
176
|
+
* from anything the client supplies (sessionId, token, ip, timestamp). A
|
|
177
|
+
* client-derived seed would let a bot replay a request to obtain the same
|
|
178
|
+
* render, or precompute one offline.
|
|
179
|
+
*
|
|
180
|
+
* `pieceScale` is passed through as a range rather than drawn here: the
|
|
181
|
+
* renderer's own stratified piece-size draw consumes it in
|
|
182
|
+
* `resolvePuzzlePieceSize`, and sampling twice would narrow the distribution.
|
|
183
|
+
*/
|
|
184
|
+
var samplePuzzleDifficulty = (level, holeDarken, maxLevel = 3) => {
|
|
185
|
+
const index = clampDifficultyLevel(level, maxLevel);
|
|
186
|
+
const band = PUZZLE_DIFFICULTY_LEVELS[index];
|
|
187
|
+
const decoyHoleDarkenFloor = holeDarken + MIN_DECOY_HOLE_DARKEN_MARGIN;
|
|
188
|
+
const sampledDecoyHoleDarken = decoyHoleDarkenSampler.sample(band.decoyHoleDarken.min, band.decoyHoleDarken.max);
|
|
189
|
+
return {
|
|
190
|
+
level: index,
|
|
191
|
+
tolerance: toleranceSampler.sampleInt(band.tolerance.min, band.tolerance.max),
|
|
192
|
+
puzzle: {
|
|
193
|
+
decoyCount: decoyCountSampler.sampleInt(band.decoyCount.min, band.decoyCount.max),
|
|
194
|
+
decoyEdgeDarkness: decoyEdgeDarknessSampler.sampleInt(band.decoyEdgeDarkness.min, band.decoyEdgeDarkness.max),
|
|
195
|
+
decoyHoleDarken: Math.min(1, Math.max(decoyHoleDarkenFloor, sampledDecoyHoleDarken)),
|
|
196
|
+
pieceScale: {
|
|
197
|
+
min: band.pieceScale.min,
|
|
198
|
+
max: band.pieceScale.max
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
};
|
|
202
|
+
};
|
|
203
|
+
//#endregion
|
|
204
|
+
exports.MIN_DECOY_HOLE_DARKEN_MARGIN = MIN_DECOY_HOLE_DARKEN_MARGIN;
|
|
205
|
+
exports.PUZZLE_DIFFICULTY_LEVELS = PUZZLE_DIFFICULTY_LEVELS;
|
|
206
|
+
exports.clampDifficultyLevel = clampDifficultyLevel;
|
|
207
|
+
exports.samplePuzzleDifficulty = samplePuzzleDifficulty;
|
|
208
|
+
exports.severityToPuzzleDifficulty = severityToPuzzleDifficulty;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
const require_backgroundBuffer = require("./backgroundBuffer.cjs");
|
|
2
|
+
const require_stratifiedSampler = require("./stratifiedSampler.cjs");
|
|
3
|
+
const require_puzzleDifficulty = require("./puzzleDifficulty.cjs");
|
|
2
4
|
let _prosopo_types = require("@prosopo/types");
|
|
3
5
|
let _prosopo_puzzle_assets = require("@prosopo/puzzle-assets");
|
|
4
6
|
//#region src/tasks/puzzle/puzzleRenderer.ts
|
|
@@ -33,46 +35,21 @@ var resolvePuzzleRenderSettings = (...overrides) => {
|
|
|
33
35
|
decoyHoleDarken: override.decoyHoleDarken
|
|
34
36
|
};
|
|
35
37
|
}
|
|
38
|
+
const floor = resolved.holeDarken + require_puzzleDifficulty.MIN_DECOY_HOLE_DARKEN_MARGIN;
|
|
39
|
+
if (resolved.decoyHoleDarken < floor) resolved = {
|
|
40
|
+
...resolved,
|
|
41
|
+
decoyHoleDarken: Math.min(1, floor)
|
|
42
|
+
};
|
|
36
43
|
return resolved;
|
|
37
44
|
};
|
|
38
|
-
|
|
39
|
-
* Number of size buckets used for stratified sampling. The scale range is
|
|
40
|
-
* split into this many equal windows; every window is visited once per
|
|
41
|
-
* cycle before the sequence repeats, so a short run of challenges is
|
|
42
|
-
* guaranteed to span the full range rather than clustering by chance.
|
|
43
|
-
*/
|
|
44
|
-
var PIECE_SIZE_BUCKETS = 8;
|
|
45
|
-
var pieceSizeBucketOrder = [];
|
|
46
|
-
var pieceSizeBucketCursor = 0;
|
|
47
|
-
var shuffleArray = (input) => {
|
|
48
|
-
const out = [...input];
|
|
49
|
-
for (let i = out.length - 1; i > 0; i--) {
|
|
50
|
-
const j = Math.floor(Math.random() * (i + 1));
|
|
51
|
-
const tmp = out[i];
|
|
52
|
-
out[i] = out[j];
|
|
53
|
-
out[j] = tmp;
|
|
54
|
-
}
|
|
55
|
-
return out;
|
|
56
|
-
};
|
|
57
|
-
var buildBucketOrder = () => {
|
|
58
|
-
const half = PIECE_SIZE_BUCKETS >> 1;
|
|
59
|
-
const smallHalf = shuffleArray(Array.from({ length: half }, (_, i) => i));
|
|
60
|
-
const largeHalf = shuffleArray(Array.from({ length: half }, (_, i) => i + half));
|
|
61
|
-
const [first, second] = Math.random() < .5 ? [smallHalf, largeHalf] : [largeHalf, smallHalf];
|
|
62
|
-
const order = [];
|
|
63
|
-
for (let i = 0; i < half; i++) {
|
|
64
|
-
order.push(first[i]);
|
|
65
|
-
order.push(second[i]);
|
|
66
|
-
}
|
|
67
|
-
return order;
|
|
68
|
-
};
|
|
45
|
+
var pieceSizeSampler = require_stratifiedSampler.createStratifiedSampler();
|
|
69
46
|
/**
|
|
70
47
|
* Resolve the effective piece scale range from the same layered
|
|
71
48
|
* client-settings / traffic-filter overrides used for render settings, and
|
|
72
|
-
* draw a per-challenge piece size in pixels. Stratified
|
|
73
|
-
*
|
|
74
|
-
*
|
|
75
|
-
*
|
|
49
|
+
* draw a per-challenge piece size in pixels. Stratified so the distribution
|
|
50
|
+
* is evenly spread across the range even for short bursts of requests.
|
|
51
|
+
* Rounded to an integer because the pixel buffer is allocated as
|
|
52
|
+
* `size * size * 4`.
|
|
76
53
|
*/
|
|
77
54
|
var resolvePuzzlePieceSize = (...overrides) => {
|
|
78
55
|
let min = _prosopo_types.puzzlePieceScaleMinDefault;
|
|
@@ -83,14 +60,7 @@ var resolvePuzzlePieceSize = (...overrides) => {
|
|
|
83
60
|
if (override.pieceScale.max !== void 0) max = override.pieceScale.max;
|
|
84
61
|
}
|
|
85
62
|
if (min > max) min = max;
|
|
86
|
-
|
|
87
|
-
pieceSizeBucketOrder = buildBucketOrder();
|
|
88
|
-
pieceSizeBucketCursor = 0;
|
|
89
|
-
}
|
|
90
|
-
const bucket = pieceSizeBucketOrder[pieceSizeBucketCursor];
|
|
91
|
-
pieceSizeBucketCursor++;
|
|
92
|
-
const u = (bucket + Math.random()) / PIECE_SIZE_BUCKETS;
|
|
93
|
-
const scale = min + u * (max - min);
|
|
63
|
+
const scale = pieceSizeSampler.sample(min, max);
|
|
94
64
|
return Math.max(1, Math.round(_prosopo_puzzle_assets.DEFAULT_GEOMETRY.width * scale));
|
|
95
65
|
};
|
|
96
66
|
/**
|
|
@@ -106,23 +76,6 @@ var resolvePuzzlePieceSize = (...overrides) => {
|
|
|
106
76
|
var isPuzzleRenderAvailable = () => {
|
|
107
77
|
return true;
|
|
108
78
|
};
|
|
109
|
-
/**
|
|
110
|
-
* Substitute `image` for `puzzle` when this provider cannot render imagery.
|
|
111
|
-
*
|
|
112
|
-
* Call this at every point a session's captchaType is decided, never at the
|
|
113
|
-
* point one is served. Returns other types untouched.
|
|
114
|
-
*/
|
|
115
|
-
var downgradePuzzleIfUnavailable = (captchaType, logger) => {
|
|
116
|
-
if (captchaType !== _prosopo_types.CaptchaType.puzzle || isPuzzleRenderAvailable()) return captchaType;
|
|
117
|
-
logger?.warn(() => ({
|
|
118
|
-
msg: "Puzzle rendering unavailable - downgrading session to image",
|
|
119
|
-
data: {
|
|
120
|
-
requested: captchaType,
|
|
121
|
-
served: _prosopo_types.CaptchaType.image
|
|
122
|
-
}
|
|
123
|
-
}));
|
|
124
|
-
return _prosopo_types.CaptchaType.image;
|
|
125
|
-
};
|
|
126
79
|
var renderPuzzleImages = async (placement, settings = _prosopo_puzzle_assets.DEFAULT_RENDER_SETTINGS, pieceSize) => {
|
|
127
80
|
const background = (require_backgroundBuffer.getPuzzleBackgroundBuffer() ?? require_backgroundBuffer.initPuzzleBackgroundBuffer()).take();
|
|
128
81
|
if (!background) throw new Error("puzzle renderer: no background available");
|
|
@@ -137,7 +90,6 @@ var renderPuzzleImages = async (placement, settings = _prosopo_puzzle_assets.DEF
|
|
|
137
90
|
};
|
|
138
91
|
};
|
|
139
92
|
//#endregion
|
|
140
|
-
exports.downgradePuzzleIfUnavailable = downgradePuzzleIfUnavailable;
|
|
141
93
|
exports.isPuzzleRenderAvailable = isPuzzleRenderAvailable;
|
|
142
94
|
exports.renderPuzzleImages = renderPuzzleImages;
|
|
143
95
|
exports.resolvePuzzlePieceSize = resolvePuzzlePieceSize;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
let node_crypto = require("node:crypto");
|
|
2
|
+
/**
|
|
3
|
+
* Uniform float in [0, 1), from the CSPRNG rather than `Math.random()`.
|
|
4
|
+
*
|
|
5
|
+
* V8 implements `Math.random()` as xorshift128+, whose internal state is
|
|
6
|
+
* recoverable from a short run of consecutive outputs. That matters here
|
|
7
|
+
* specifically: the point of sampling these knobs is that an automated solver
|
|
8
|
+
* cannot calibrate against a known render, and a predictable stream gives it
|
|
9
|
+
* exactly that — observe a few challenges, recover the state, and every
|
|
10
|
+
* subsequent draw is known in advance. The unpredictability IS the security
|
|
11
|
+
* property, so it has to come from a source built for it.
|
|
12
|
+
*
|
|
13
|
+
* 48 bits (6 bytes) is the most a float64 can hold without rounding, so the
|
|
14
|
+
* result is uniform with no modulo bias.
|
|
15
|
+
*/
|
|
16
|
+
var RANDOM_BYTES = 6;
|
|
17
|
+
var RANDOM_DENOMINATOR = 2 ** (RANDOM_BYTES * 8);
|
|
18
|
+
var secureUnitFloat = () => Number((0, node_crypto.randomBytes)(RANDOM_BYTES).readUIntBE(0, RANDOM_BYTES)) / RANDOM_DENOMINATOR;
|
|
19
|
+
var shuffleArray = (input) => {
|
|
20
|
+
const out = [...input];
|
|
21
|
+
for (let i = out.length - 1; i > 0; i--) {
|
|
22
|
+
const j = (0, node_crypto.randomInt)(0, i + 1);
|
|
23
|
+
const tmp = out[i];
|
|
24
|
+
out[i] = out[j];
|
|
25
|
+
out[j] = tmp;
|
|
26
|
+
}
|
|
27
|
+
return out;
|
|
28
|
+
};
|
|
29
|
+
var createStratifiedSampler = (buckets = 8) => {
|
|
30
|
+
const bucketCount = buckets > 0 && buckets % 2 === 0 ? buckets : 8;
|
|
31
|
+
let order = [];
|
|
32
|
+
let cursor = 0;
|
|
33
|
+
const buildOrder = () => {
|
|
34
|
+
const half = bucketCount >> 1;
|
|
35
|
+
const lowHalf = shuffleArray(Array.from({ length: half }, (_, i) => i));
|
|
36
|
+
const highHalf = shuffleArray(Array.from({ length: half }, (_, i) => i + half));
|
|
37
|
+
const [first, second] = (0, node_crypto.randomInt)(0, 2) === 0 ? [lowHalf, highHalf] : [highHalf, lowHalf];
|
|
38
|
+
const next = [];
|
|
39
|
+
for (let i = 0; i < half; i++) {
|
|
40
|
+
next.push(first[i]);
|
|
41
|
+
next.push(second[i]);
|
|
42
|
+
}
|
|
43
|
+
return next;
|
|
44
|
+
};
|
|
45
|
+
const sample = (min, max) => {
|
|
46
|
+
if (!(max > min)) return min;
|
|
47
|
+
if (cursor >= order.length) {
|
|
48
|
+
order = buildOrder();
|
|
49
|
+
cursor = 0;
|
|
50
|
+
}
|
|
51
|
+
const bucket = order[cursor];
|
|
52
|
+
cursor++;
|
|
53
|
+
return min + (bucket + secureUnitFloat()) / bucketCount * (max - min);
|
|
54
|
+
};
|
|
55
|
+
return {
|
|
56
|
+
sample,
|
|
57
|
+
sampleInt: (min, max) => Math.round(sample(min, max))
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
//#endregion
|
|
61
|
+
exports.createStratifiedSampler = createStratifiedSampler;
|
|
@@ -5,6 +5,7 @@ const require_enrichDnsEvent = require("../dnsEvent/enrichDnsEvent.cjs");
|
|
|
5
5
|
const require_captchaManager = require("../captchaManager.cjs");
|
|
6
6
|
const require_util = require("../../util.cjs");
|
|
7
7
|
const require_clientMetaData = require("../../utils/clientMetaData.cjs");
|
|
8
|
+
const require_devicePlatform = require("../../utils/devicePlatform.cjs");
|
|
8
9
|
const require_frictionlessTasksUtils = require("../frictionless/frictionlessTasksUtils.cjs");
|
|
9
10
|
const require_evaluateEmailSpamRules = require("../spam/evaluateEmailSpamRules.cjs");
|
|
10
11
|
const require_powTasksUtils = require("../powCaptcha/powTasksUtils.cjs");
|
|
@@ -472,7 +473,8 @@ var PuzzleCaptchaManager = class extends require_captchaManager.CaptchaManager {
|
|
|
472
473
|
tcpWscale: sessionRecord?.tcpWscale,
|
|
473
474
|
tcpOptsFlags: sessionRecord?.tcpOptsFlags,
|
|
474
475
|
tcpOptsOrder: sessionRecord?.tcpOptsOrder,
|
|
475
|
-
tcpWindow: sessionRecord?.tcpWindow
|
|
476
|
+
tcpWindow: sessionRecord?.tcpWindow,
|
|
477
|
+
trafficPolicies: require_devicePlatform.deriveTrafficPolicies(trafficFilter)
|
|
476
478
|
};
|
|
477
479
|
const decision = await this.decisionMachineRunner.decide(decisionInput, logger);
|
|
478
480
|
if (decision.decision === _prosopo_types.DecisionMachineDecision.Deny) {
|
|
@@ -12,5 +12,39 @@ var derivePlatform = (userAgent, webView, ipInfo) => ({
|
|
|
12
12
|
isWebView: webView,
|
|
13
13
|
isMobile: typeof ipInfo?.isMobile === "boolean" ? ipInfo.isMobile : MOBILE_UA_REGEX.test(userAgent)
|
|
14
14
|
});
|
|
15
|
+
var TRAFFIC_FILTER_CATEGORIES = [
|
|
16
|
+
"vpn",
|
|
17
|
+
"proxy",
|
|
18
|
+
"tor",
|
|
19
|
+
"datacenter",
|
|
20
|
+
"abuser",
|
|
21
|
+
"mobile",
|
|
22
|
+
"satellite",
|
|
23
|
+
"crawler"
|
|
24
|
+
];
|
|
25
|
+
/**
|
|
26
|
+
* Project a site's `trafficFilter` down to just its per-category policies, for
|
|
27
|
+
* consumption by routing / decision machines. Machines use these both to tell
|
|
28
|
+
* whether the operator rejects an egress class at all, and to inherit the
|
|
29
|
+
* operator's configured action when they classify one themselves — see
|
|
30
|
+
* `TrafficCategoryPolicies`.
|
|
31
|
+
*
|
|
32
|
+
* Returns `undefined` when no category is configured, so the field can be
|
|
33
|
+
* omitted from the machine input entirely.
|
|
34
|
+
*/
|
|
35
|
+
var deriveTrafficPolicies = (trafficFilter) => {
|
|
36
|
+
if (!trafficFilter) return void 0;
|
|
37
|
+
const policies = {};
|
|
38
|
+
let any = false;
|
|
39
|
+
for (const category of TRAFFIC_FILTER_CATEGORIES) {
|
|
40
|
+
const policy = trafficFilter[category];
|
|
41
|
+
if (policy) {
|
|
42
|
+
policies[category] = policy;
|
|
43
|
+
any = true;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return any ? policies : void 0;
|
|
47
|
+
};
|
|
15
48
|
//#endregion
|
|
16
49
|
exports.derivePlatform = derivePlatform;
|
|
50
|
+
exports.deriveTrafficPolicies = deriveTrafficPolicies;
|
|
@@ -2,7 +2,7 @@ import type { RedisWriteQueue } from "@prosopo/database";
|
|
|
2
2
|
import type { TranslationKey } from "@prosopo/locale";
|
|
3
3
|
import { type Logger } from "@prosopo/logger";
|
|
4
4
|
import { type CaptchaType, type EnrichedDnsEvent, type IPInfoResponse, type ITrafficFilter, type KeyringPair, type ProsopoConfigOutput, type RequestHeaders, type Session, type SimdReadingsStage, Tier, type UserCommitment } from "@prosopo/types";
|
|
5
|
-
import type { ClientRecord, IProviderDatabase, IUserDataSlim, PoWCaptchaRecord, PuzzleCaptchaRecord } from "@prosopo/types-database";
|
|
5
|
+
import type { ClientRecord, IProviderDatabase, IUserDataSlim, PoWCaptchaRecord, ProjectedSession, PuzzleCaptchaRecord } from "@prosopo/types-database";
|
|
6
6
|
import type { ProviderEnvironment } from "@prosopo/types-env";
|
|
7
7
|
import { type AccessPolicy, type AccessRule, type AccessRulesStorage, type UserScope, type UserScopeRecord } from "@prosopo/user-access-policy";
|
|
8
8
|
import type { BehavioralDataResult } from "./detection/decodeBehavior.js";
|
|
@@ -21,7 +21,7 @@ export declare class CaptchaManager {
|
|
|
21
21
|
constructor(db: IProviderDatabase, pair: KeyringPair, config: ProsopoConfigOutput, logger?: Logger, writeQueue?: RedisWriteQueue | null);
|
|
22
22
|
updateSessionRecordWithCache(sessionId: string, updates: Partial<Session>, streamToCentral?: boolean): Promise<void>;
|
|
23
23
|
decryptSimdReadingsForAttach(simdReadingsCiphertext: string, bundle: PoolBundleDecrypt | undefined): Promise<NonNullable<Session["simdReadings"]> | undefined>;
|
|
24
|
-
getSessionRecordWithOriginFallback(sessionId: string): Promise<
|
|
24
|
+
getSessionRecordWithOriginFallback(sessionId: string): Promise<ProjectedSession | undefined>;
|
|
25
25
|
decryptAndAttachSimdReadingsIfAbsent(sessionId: string, simdReadingsCiphertext: string, stage: SimdReadingsStage): Promise<void>;
|
|
26
26
|
recordSessionSimdReadingsIfAbsentWithCache(sessionId: string, readings: NonNullable<Session["simdReadings"]>, stage: SimdReadingsStage): Promise<void>;
|
|
27
27
|
scheduleMongoSessionUpdate(sessionId: string, updates: Partial<Session>, streamToCentral?: boolean): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"captchaManager.d.ts","sourceRoot":"","sources":["../../src/tasks/captchaManager.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,KAAK,MAAM,EAAa,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAEN,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,cAAc,EAEnB,KAAK,OAAO,EACZ,KAAK,iBAAiB,EACtB,IAAI,EAEJ,KAAK,cAAc,EACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EACX,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EACN,KAAK,YAAY,EAEjB,KAAK,UAAU,EACf,KAAK,kBAAkB,EACvB,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,MAAM,6BAA6B,CAAC;AAOrC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,OAAO,EACN,KAAK,kBAAkB,EAEvB,MAAM,8BAA8B,CAAC;AAStC,MAAM,WAAW,iBAAiB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;CACpB;AAkCD,qBAAa,cAAc;IAC1B,IAAI,EAAE,WAAW,CAAC;IAClB,EAAE,EAAE,iBAAiB,CAAC;IACtB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,eAAe,GAAG,IAAI,CAAC;gBAGlC,EAAE,EAAE,iBAAiB,EACrB,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,mBAAmB,EAC3B,MAAM,CAAC,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,eAAe,GAAG,IAAI;IAqBvB,4BAA4B,CACxC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,EACzB,eAAe,CAAC,EAAE,OAAO,GACvB,OAAO,CAAC,IAAI,CAAC;IAkBH,4BAA4B,CACxC,sBAAsB,EAAE,MAAM,EAC9B,MAAM,EAAE,iBAAiB,GAAG,SAAS,GACnC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,GAAG,SAAS,CAAC;IAgC/C,kCAAkC,CAC9C,SAAS,EAAE,MAAM,GACf,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"captchaManager.d.ts","sourceRoot":"","sources":["../../src/tasks/captchaManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"captchaManager.js","sourceRoot":"","sources":["../../src/tasks/captchaManager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"captchaManager.js","sourceRoot":"","sources":["../../src/tasks/captchaManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Logger } from "@prosopo/logger";
|
|
2
|
+
import { CaptchaType, type IFrictionlessTypes } from "@prosopo/types";
|
|
3
|
+
export type ConcreteCaptchaType = CaptchaType.pow | CaptchaType.image | CaptchaType.puzzle;
|
|
4
|
+
export declare const coerceToEnabledCaptchaType: (requested: ConcreteCaptchaType, frictionlessTypes: Partial<IFrictionlessTypes> | undefined, logger?: Logger) => ConcreteCaptchaType;
|
|
5
|
+
//# sourceMappingURL=captchaTypeSelection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"captchaTypeSelection.d.ts","sourceRoot":"","sources":["../../src/tasks/captchaTypeSelection.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EACN,WAAW,EACX,KAAK,kBAAkB,EAEvB,MAAM,gBAAgB,CAAC;AAIxB,MAAM,MAAM,mBAAmB,GAC5B,WAAW,CAAC,GAAG,GACf,WAAW,CAAC,KAAK,GACjB,WAAW,CAAC,MAAM,CAAC;AAuBtB,eAAO,MAAM,0BAA0B,cAC3B,mBAAmB,qBACX,OAAO,CAAC,kBAAkB,CAAC,GAAG,SAAS,WACjD,MAAM,KACb,mBAsCF,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { isPuzzleRenderAvailable } from "./puzzle/puzzleRenderer.js";
|
|
2
|
+
import { CaptchaType, resolveFrictionlessTypes } from "@prosopo/types";
|
|
3
|
+
//#region src/tasks/captchaTypeSelection.ts
|
|
4
|
+
/**
|
|
5
|
+
* Resolve a requested captcha type against what the site permits and what
|
|
6
|
+
* this provider can render.
|
|
7
|
+
*
|
|
8
|
+
* Call this at every point a session's captchaType is DECIDED, never at the
|
|
9
|
+
* point one is served: `/captcha/puzzle` answers with a puzzle-shaped
|
|
10
|
+
* response and nothing else, so a session minted as a type we cannot fulfil
|
|
11
|
+
* strands the user on INCORRECT_CAPTCHA_TYPE. There are two such mint sites —
|
|
12
|
+
* `sendCaptcha` in frictionlessTasks (which every frictionless path funnels
|
|
13
|
+
* through, after the routing machine has had its say) and `buildEscalation`
|
|
14
|
+
* in submitPoWCaptchaSolution.
|
|
15
|
+
*
|
|
16
|
+
* Because it sits after routing, this covers every upstream selector
|
|
17
|
+
* transitively: the score ladder, the no-measurement gates, access-policy
|
|
18
|
+
* Restrict rules, traffic-filter category policies, routing-machine actions
|
|
19
|
+
* and detector-generated rules.
|
|
20
|
+
*
|
|
21
|
+
* Coercion only ever narrows. A disabled type falls back to the other
|
|
22
|
+
* interactive type if that is permitted, and to PoW otherwise — never the
|
|
23
|
+
* reverse, so this can't hand a user a harder challenge than was asked for.
|
|
24
|
+
*/
|
|
25
|
+
var coerceToEnabledCaptchaType = (requested, frictionlessTypes, logger) => {
|
|
26
|
+
const types = resolveFrictionlessTypes(frictionlessTypes);
|
|
27
|
+
const puzzleAllowed = types.puzzle && isPuzzleRenderAvailable();
|
|
28
|
+
const imageAllowed = types.image;
|
|
29
|
+
const resolved = (() => {
|
|
30
|
+
switch (requested) {
|
|
31
|
+
case CaptchaType.pow: return CaptchaType.pow;
|
|
32
|
+
case CaptchaType.puzzle:
|
|
33
|
+
if (puzzleAllowed) return CaptchaType.puzzle;
|
|
34
|
+
return imageAllowed ? CaptchaType.image : CaptchaType.pow;
|
|
35
|
+
case CaptchaType.image:
|
|
36
|
+
if (imageAllowed) return CaptchaType.image;
|
|
37
|
+
return puzzleAllowed ? CaptchaType.puzzle : CaptchaType.pow;
|
|
38
|
+
}
|
|
39
|
+
})();
|
|
40
|
+
if (resolved !== requested) logger?.info(() => ({
|
|
41
|
+
msg: "Captcha type coerced to an enabled type",
|
|
42
|
+
data: {
|
|
43
|
+
requested,
|
|
44
|
+
served: resolved,
|
|
45
|
+
imageEnabled: types.image,
|
|
46
|
+
puzzleEnabled: types.puzzle,
|
|
47
|
+
puzzleRenderable: isPuzzleRenderAvailable()
|
|
48
|
+
}
|
|
49
|
+
}));
|
|
50
|
+
return resolved;
|
|
51
|
+
};
|
|
52
|
+
//#endregion
|
|
53
|
+
export { coerceToEnabledCaptchaType };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"captchaTypeSelection.js","sourceRoot":"","sources":["../../src/tasks/captchaTypeSelection.ts"],"names":[],"mappings":"AAeA,OAAO,EACN,WAAW,EAEX,wBAAwB,GACxB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AA6BrE,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACzC,SAA8B,EAC9B,iBAA0D,EAC1D,MAAe,EACO,EAAE;IACxB,MAAM,KAAK,GAAG,wBAAwB,CAAC,iBAAiB,CAAC,CAAC;IAK1D,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,IAAI,uBAAuB,EAAE,CAAC;IAChE,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC;IAEjC,MAAM,QAAQ,GAAG,CAAC,GAAwB,EAAE;QAC3C,QAAQ,SAAS,EAAE,CAAC;YACnB,KAAK,WAAW,CAAC,GAAG;gBAGnB,OAAO,WAAW,CAAC,GAAG,CAAC;YACxB,KAAK,WAAW,CAAC,MAAM;gBACtB,IAAI,aAAa;oBAAE,OAAO,WAAW,CAAC,MAAM,CAAC;gBAC7C,OAAO,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC;YAC3D,KAAK,WAAW,CAAC,KAAK;gBACrB,IAAI,YAAY;oBAAE,OAAO,WAAW,CAAC,KAAK,CAAC;gBAC3C,OAAO,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC;QAC9D,CAAC;IACF,CAAC,CAAC,EAAE,CAAC;IAEL,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YACnB,GAAG,EAAE,yCAAyC;YAC9C,IAAI,EAAE;gBACL,SAAS;gBACT,MAAM,EAAE,QAAQ;gBAChB,YAAY,EAAE,KAAK,CAAC,KAAK;gBACzB,aAAa,EAAE,KAAK,CAAC,MAAM;gBAC3B,gBAAgB,EAAE,uBAAuB,EAAE;aAC3C;SACD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decisionMachineRunner.d.ts","sourceRoot":"","sources":["../../../src/tasks/decisionMachine/decisionMachineRunner.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EACN,KAAK,WAAW,EAKhB,KAAK,oBAAoB,EAEzB,KAAK,qBAAqB,EAI1B,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EAEzB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AA4EjE,eAAO,MAAM,oCAAoC,QAAO,IAEvD,CAAC;AAyCF,eAAO,MAAM,0CAA0C,QAAO,IAS7D,CAAC;AAEF,qBAAa,qBAAqB;IAGrB,OAAO,CAAC,QAAQ,CAAC,EAAE;IAF/B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqC;gBAEtC,EAAE,EAAE,iBAAiB;IAK3C,uBAAuB,IAAI,IAAI;IAKtC,OAAO,CAAC,MAAM,CAAC,QAAQ;IASvB,OAAO,CAAC,iBAAiB;IAmBzB,OAAO,CAAC,iBAAiB;IAuBnB,MAAM,CACX,KAAK,EAAE,oBAAoB,EAC3B,MAAM,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,qBAAqB,CAAC;IA2C3B,KAAK,CACV,KAAK,EAAE,mBAAmB,EAC1B,MAAM,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC;IAmCtC,mBAAmB,CACxB,KAAK,EAAE,uBAAuB,EAC9B,MAAM,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,EAAE,CAAC;YAuCX,cAAc;IAwF5B,OAAO,CAAC,kBAAkB;YAuBZ,iBAAiB;
|
|
1
|
+
{"version":3,"file":"decisionMachineRunner.d.ts","sourceRoot":"","sources":["../../../src/tasks/decisionMachine/decisionMachineRunner.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EACN,KAAK,WAAW,EAKhB,KAAK,oBAAoB,EAEzB,KAAK,qBAAqB,EAI1B,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EAEzB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AA4EjE,eAAO,MAAM,oCAAoC,QAAO,IAEvD,CAAC;AAyCF,eAAO,MAAM,0CAA0C,QAAO,IAS7D,CAAC;AAEF,qBAAa,qBAAqB;IAGrB,OAAO,CAAC,QAAQ,CAAC,EAAE;IAF/B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqC;gBAEtC,EAAE,EAAE,iBAAiB;IAK3C,uBAAuB,IAAI,IAAI;IAKtC,OAAO,CAAC,MAAM,CAAC,QAAQ;IASvB,OAAO,CAAC,iBAAiB;IAmBzB,OAAO,CAAC,iBAAiB;IAuBnB,MAAM,CACX,KAAK,EAAE,oBAAoB,EAC3B,MAAM,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,qBAAqB,CAAC;IA2C3B,KAAK,CACV,KAAK,EAAE,mBAAmB,EAC1B,MAAM,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC;IAmCtC,mBAAmB,CACxB,KAAK,EAAE,uBAAuB,EAC9B,MAAM,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,EAAE,CAAC;YAuCX,cAAc;IAwF5B,OAAO,CAAC,kBAAkB;YAuBZ,iBAAiB;IAkC/B,OAAO,CAAC,UAAU;YAwBJ,WAAW;CAoBzB"}
|