@protontech/autofill 0.0.33690782 → 0.0.33835493
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/features/feature.d.ts +1 -0
- package/features/feature.js +9 -2
- package/features/v1/index.d.ts +1 -0
- package/index.d.ts +2 -0
- package/index.js +1 -0
- package/models/perceptron/index.d.ts +2 -2
- package/models/perceptron/index.js +34 -19
- package/models/perceptron/params/email-model.json +4 -4
- package/models/perceptron/params/login-model.json +94 -94
- package/models/perceptron/params/new-password-model.json +18 -18
- package/models/perceptron/params/otp-model.json +13 -13
- package/models/perceptron/params/password-change-model.json +77 -77
- package/models/perceptron/params/password-model.json +20 -20
- package/models/perceptron/params/recovery-model.json +70 -70
- package/models/perceptron/params/register-model.json +97 -97
- package/models/perceptron/params/username-hidden-model.json +8 -8
- package/models/perceptron/params/username-model.json +4 -4
- package/models/random_forest/index.d.ts +2 -2
- package/models/random_forest/index.js +34 -19
- package/package.json +6 -3
- package/rules/v1/index.d.ts +2 -1
- package/rules/v1/index.js +12 -15
- package/rulesets.d.ts +9 -2
- package/rulesets.js +5 -1
- package/types/index.d.ts +4 -6
- package/types/index.js +3 -3
- package/models/prod_20240829/index.d.ts +0 -2
- package/models/prod_20240829/index.js +0 -27
- package/models/prod_20240829/params/email-model.json +0 -45
- package/models/prod_20240829/params/login-model.json +0 -421
- package/models/prod_20240829/params/new-password-model.json +0 -125
- package/models/prod_20240829/params/otp-model.json +0 -153
- package/models/prod_20240829/params/password-change-model.json +0 -421
- package/models/prod_20240829/params/password-model.json +0 -125
- package/models/prod_20240829/params/recovery-model.json +0 -421
- package/models/prod_20240829/params/register-model.json +0 -421
- package/models/prod_20240829/params/username-hidden-model.json +0 -41
- package/models/prod_20240829/params/username-model.json +0 -45
- package/models/v1/index.d.ts +0 -2
- package/models/v1/index.js +0 -35
package/features/feature.d.ts
CHANGED
|
@@ -14,4 +14,5 @@ type FlatFeatures<F extends AbstractFeatures> = {
|
|
|
14
14
|
export declare const flattenFeatures: <F extends AbstractFeatures>(features: F) => FlatFeatures<F>;
|
|
15
15
|
export declare const getComputerForFeatures: <F extends AbstractFeatures>(features: F) => FeatureComputer<FlatFeatures<F>>;
|
|
16
16
|
export declare const topologicalSort: (features: AbstractFeatures) => AbstractFeature<unknown>[];
|
|
17
|
+
export declare const computeFeatures: <F extends AbstractFeatures>(featureComputer: FeatureComputer<F>, fnode: Fnode) => import("@protontech/autofill/types").ComputedFeatures<F>;
|
|
17
18
|
export {};
|
package/features/feature.js
CHANGED
|
@@ -7,8 +7,14 @@ export const feature = (name, parents, compute) => ({
|
|
|
7
7
|
});
|
|
8
8
|
export const featureCount = (feat) => feature(`${feat.name}Count`, { [feat.name]: feat }, (parents) => parents[feat.name].length);
|
|
9
9
|
export const featureScaled = (feat, min, max) => feature(`${feat.name}Scaled`, { [feat.name]: feat }, (parents) => linearScale(parents[feat.name], min, max));
|
|
10
|
-
export const featuresInnerProduct = (feat1, feat2) => feature(`${feat1.name},${feat2.name}`, {
|
|
11
|
-
|
|
10
|
+
export const featuresInnerProduct = (feat1, feat2) => feature(`${feat1.name},${feat2.name}`, {
|
|
11
|
+
[feat1.name]: feat1,
|
|
12
|
+
[feat2.name]: feat2,
|
|
13
|
+
}, (parents) => Math.sqrt(Number(parents[feat1.name]) * Number(parents[feat2.name])));
|
|
14
|
+
export const featuresProduct = (feat1, feat2) => feature(`${feat1.name},${feat2.name}`, {
|
|
15
|
+
[feat1.name]: feat1,
|
|
16
|
+
[feat2.name]: feat2,
|
|
17
|
+
}, (parents) => Number(parents[feat1.name]) * Number(parents[feat2.name]));
|
|
12
18
|
export const flattenFeatures = (features) => features;
|
|
13
19
|
export const getComputerForFeatures = (features) => {
|
|
14
20
|
const sorted = topologicalSort(features);
|
|
@@ -70,3 +76,4 @@ export const topologicalSort = (features) => {
|
|
|
70
76
|
}
|
|
71
77
|
return sorted;
|
|
72
78
|
};
|
|
79
|
+
export const computeFeatures = (featureComputer, fnode) => featureComputer.compute(fnode);
|
package/features/v1/index.d.ts
CHANGED
package/index.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export * as fathom from "@protontech/fathom";
|
|
2
2
|
export * as rulesets from "./rulesets";
|
|
3
3
|
export * from "./constants/selectors";
|
|
4
|
+
export type { FeatureProvider } from "./features/v1";
|
|
5
|
+
export { createRulesetRegistry } from "./rulesets";
|
|
4
6
|
export * from "./types";
|
|
5
7
|
export * from "./utils/attributes";
|
|
6
8
|
export * from "./utils/credit-card";
|
package/index.js
CHANGED
|
@@ -3,6 +3,7 @@ import { clearVisibilityCache } from "./utils/visible";
|
|
|
3
3
|
export * as fathom from "@protontech/fathom";
|
|
4
4
|
export * as rulesets from "./rulesets";
|
|
5
5
|
export * from "./constants/selectors";
|
|
6
|
+
export { createRulesetRegistry } from "./rulesets";
|
|
6
7
|
export * from "./types";
|
|
7
8
|
export * from "./utils/attributes";
|
|
8
9
|
export * from "./utils/credit-card";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare const
|
|
1
|
+
import type { ModelProvider } from "@protontech/autofill/types";
|
|
2
|
+
export declare const perceptronModelProvider: ModelProvider;
|
|
@@ -1,27 +1,42 @@
|
|
|
1
|
+
import { featureProvider } from "@protontech/autofill/features/v1";
|
|
1
2
|
import { newPerceptronInferrer } from "@protontech/ml-inference";
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import
|
|
3
|
+
import EmailParamsJson from "./params/email-model.json";
|
|
4
|
+
import LoginParamsJson from "./params/login-model.json";
|
|
5
|
+
import NewPasswordParamsJson from "./params/new-password-model.json";
|
|
6
|
+
import OtpParamsJson from "./params/otp-model.json";
|
|
7
|
+
import PasswordChangeParamsJson from "./params/password-change-model.json";
|
|
8
|
+
import PasswordParamsJson from "./params/password-model.json";
|
|
9
|
+
import RecoveryParamsJson from "./params/recovery-model.json";
|
|
10
|
+
import RegisterParamsJson from "./params/register-model.json";
|
|
11
|
+
import UsernameHiddenParamsJson from "./params/username-hidden-model.json";
|
|
12
|
+
import UsernameParamsJson from "./params/username-model.json";
|
|
12
13
|
const paramsProvider = {
|
|
13
|
-
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
|
|
17
|
-
login:
|
|
18
|
-
otp:
|
|
14
|
+
"new-password": NewPasswordParamsJson,
|
|
15
|
+
"password-change": PasswordChangeParamsJson,
|
|
16
|
+
"username-hidden": UsernameHiddenParamsJson,
|
|
17
|
+
email: EmailParamsJson,
|
|
18
|
+
login: LoginParamsJson,
|
|
19
|
+
otp: OtpParamsJson,
|
|
19
20
|
password: PasswordParamsJson,
|
|
20
21
|
recovery: RecoveryParamsJson,
|
|
21
|
-
register:
|
|
22
|
-
username:
|
|
22
|
+
register: RegisterParamsJson,
|
|
23
|
+
username: UsernameParamsJson,
|
|
23
24
|
};
|
|
24
|
-
|
|
25
|
+
const getPerceptronForClass = (klass) => {
|
|
25
26
|
const params = paramsProvider[klass];
|
|
26
27
|
return newPerceptronInferrer({ bias: params.bias, weights: new Map(params.coeffs) });
|
|
27
28
|
};
|
|
29
|
+
export const perceptronModelProvider = {
|
|
30
|
+
field: { featureComputer: featureProvider.field },
|
|
31
|
+
form: { featureComputer: featureProvider.form },
|
|
32
|
+
"new-password": { model: getPerceptronForClass("new-password"), featureComputer: featureProvider["new-password"] },
|
|
33
|
+
"password-change": { model: getPerceptronForClass("password-change"), featureComputer: featureProvider["password-change"] },
|
|
34
|
+
"username-hidden": { model: getPerceptronForClass("username-hidden"), featureComputer: featureProvider["username-hidden"] },
|
|
35
|
+
email: { model: getPerceptronForClass("email"), featureComputer: featureProvider.email },
|
|
36
|
+
login: { model: getPerceptronForClass("login"), featureComputer: featureProvider.login },
|
|
37
|
+
otp: { model: getPerceptronForClass("otp"), featureComputer: featureProvider.otp },
|
|
38
|
+
password: { model: getPerceptronForClass("password"), featureComputer: featureProvider.password },
|
|
39
|
+
recovery: { model: getPerceptronForClass("recovery"), featureComputer: featureProvider.recovery },
|
|
40
|
+
register: { model: getPerceptronForClass("register"), featureComputer: featureProvider.register },
|
|
41
|
+
username: { model: getPerceptronForClass("username"), featureComputer: featureProvider.username },
|
|
42
|
+
};
|
|
@@ -7,11 +7,11 @@
|
|
|
7
7
|
],
|
|
8
8
|
[
|
|
9
9
|
"email--attrEmail",
|
|
10
|
-
1.
|
|
10
|
+
1.7379103899002075
|
|
11
11
|
],
|
|
12
12
|
[
|
|
13
13
|
"email--autocompleteEmail",
|
|
14
|
-
3.
|
|
14
|
+
3.8710005283355713
|
|
15
15
|
],
|
|
16
16
|
[
|
|
17
17
|
"email--autocompleteOff",
|
|
@@ -39,11 +39,11 @@
|
|
|
39
39
|
],
|
|
40
40
|
[
|
|
41
41
|
"email--placeholderEmail",
|
|
42
|
-
7.
|
|
42
|
+
7.317560195922852
|
|
43
43
|
],
|
|
44
44
|
[
|
|
45
45
|
"email--textEmail",
|
|
46
|
-
4.
|
|
46
|
+
4.9640421867370605
|
|
47
47
|
],
|
|
48
48
|
[
|
|
49
49
|
"email--typeEmail",
|