@apifuse/provider-sdk 2.1.0-beta.9 → 2.2.0-beta.10
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/AUTHORING.md +240 -0
- package/CHANGELOG.md +93 -0
- package/README.md +26 -10
- package/SUBMISSION.md +11 -12
- package/bin/apifuse-check.ts +44 -59
- package/bin/apifuse-create.ts +1 -1
- package/bin/apifuse-dev.ts +27 -52
- package/bin/apifuse-pack-check.ts +36 -0
- package/bin/apifuse-pack-smoke.ts +22 -81
- package/bin/apifuse-pack-types.ts +266 -0
- package/bin/apifuse-perf.ts +45 -127
- package/bin/apifuse-record.ts +53 -70
- package/bin/apifuse-submit-check.ts +2177 -353
- package/bin/apifuse-sync-assets.ts +117 -0
- package/bin/apifuse.ts +1 -1
- package/bin/submit-check-delimited-text.ts +50 -0
- package/bin/submit-check-xml-semantics.ts +204 -0
- package/bin/submit-check-xml.ts +134 -0
- package/dist/auth-turn/auth-turn.v1.schema.json +89 -0
- package/dist/auth-turn/fixtures/invalid/empty-kind.json +4 -0
- package/dist/auth-turn/fixtures/invalid/expires-at-not-string.json +5 -0
- package/dist/auth-turn/fixtures/invalid/missing-kind.json +3 -0
- package/dist/auth-turn/fixtures/invalid/missing-turn-id.json +3 -0
- package/dist/auth-turn/fixtures/invalid/timing-unknown-field.json +7 -0
- package/dist/auth-turn/fixtures/invalid/turn-id-snake-case.json +4 -0
- package/dist/auth-turn/fixtures/invalid/unknown-top-level-field.json +5 -0
- package/dist/auth-turn/fixtures/valid/abort.json +8 -0
- package/dist/auth-turn/fixtures/valid/challenge.json +17 -0
- package/dist/auth-turn/fixtures/valid/complete.json +13 -0
- package/dist/auth-turn/fixtures/valid/form.json +14 -0
- package/dist/auth-turn/fixtures/valid/message.json +13 -0
- package/dist/auth-turn/fixtures/valid/multi_choice.json +15 -0
- package/dist/auth-turn/fixtures/valid/pending.json +5 -0
- package/dist/auth-turn/fixtures/valid/poll.json +9 -0
- package/dist/auth-turn/fixtures/valid/redirect.json +16 -0
- package/dist/auth-turn/fixtures/valid/retry.json +8 -0
- package/dist/auth-turn/fixtures/valid/unknown-kind.json +7 -0
- package/dist/auth-turn/index.d.ts +195 -0
- package/dist/auth-turn/index.js +133 -0
- package/dist/auth.d.ts +76 -0
- package/dist/auth.js +427 -0
- package/dist/ceremonies/index.d.ts +1 -1
- package/dist/ceremonies/index.js +14 -48
- package/dist/cli/commands.d.ts +1 -1
- package/dist/cli/commands.js +8 -0
- package/dist/cli/create.d.ts +3 -0
- package/dist/cli/create.js +47 -33
- package/dist/cli/prompt-assets.d.ts +80 -0
- package/dist/cli/prompt-assets.js +743 -0
- package/dist/cli/templates/provider/.agents/skills/fixtures-and-recording/SKILL.md.tpl +58 -0
- package/dist/cli/templates/provider/.agents/skills/health-checks-and-fail-closed/SKILL.md.tpl +65 -0
- package/dist/cli/templates/provider/.agents/skills/normalization-standards/SKILL.md.tpl +57 -0
- package/dist/cli/templates/provider/.agents/skills/pagination-and-counts/SKILL.md.tpl +52 -0
- package/dist/cli/templates/provider/.agents/skills/upstream-contract-verification/SKILL.md.tpl +45 -0
- package/dist/cli/templates/provider/.agents/skills/upstream-notes/README.md.tpl +13 -0
- package/dist/cli/templates/provider/.dockerignore.tpl +22 -0
- package/dist/cli/templates/provider/.gitignore.tpl +22 -0
- package/dist/cli/templates/provider/AGENTS.md.tpl +96 -0
- package/dist/cli/templates/provider/Dockerfile.tpl +7 -0
- package/dist/cli/templates/provider/README.md.tpl +163 -0
- package/dist/cli/templates/provider/dev.ts.tpl +5 -0
- package/dist/cli/templates/provider/domain/README.md.tpl +3 -0
- package/dist/cli/templates/provider/index.test.ts.tpl +13 -0
- package/dist/cli/templates/provider/index.ts.tpl +15 -0
- package/dist/cli/templates/provider/mappers/README.md.tpl +3 -0
- package/dist/cli/templates/provider/meta.ts.tpl +7 -0
- package/dist/cli/templates/provider/operations/index.ts.tpl +5 -0
- package/dist/cli/templates/provider/operations/ping.ts.tpl +24 -0
- package/dist/cli/templates/provider/schemas/ping.ts.tpl +24 -0
- package/dist/cli/templates/provider/start.ts.tpl +5 -0
- package/dist/cli/templates/provider/upstream/README.md.tpl +3 -0
- package/dist/config/loader.d.ts +149 -8
- package/dist/config/loader.js +378 -89
- package/dist/contract-serialization.d.ts +2 -2
- package/dist/contract-serialization.js +3 -6
- package/dist/contract-types.d.ts +2 -2
- package/dist/contract.d.ts +3 -3
- package/dist/contract.js +5 -6
- package/dist/define.d.ts +13 -1
- package/dist/define.js +245 -178
- package/dist/dev.d.ts +1 -1
- package/dist/dev.js +1 -1
- package/dist/errors.d.ts +4 -1
- package/dist/errors.js +48 -0
- package/dist/i18n/catalog.d.ts +2 -2
- package/dist/i18n/catalog.js +4 -10
- package/dist/i18n/index.d.ts +2 -2
- package/dist/i18n/index.js +2 -2
- package/dist/i18n/keys.d.ts +2 -2
- package/dist/index.d.ts +44 -41
- package/dist/index.js +39 -36
- package/dist/lint.d.ts +1 -0
- package/dist/lint.js +35 -15
- package/dist/provider.d.ts +11 -9
- package/dist/provider.js +9 -8
- package/dist/public-schema-field-lint.d.ts +1 -1
- package/dist/recipes/gov-api.js +1 -1
- package/dist/runtime/auth-flow.d.ts +1 -1
- package/dist/runtime/auth-flow.js +4 -2
- package/dist/runtime/browser.d.ts +1 -1
- package/dist/runtime/browser.js +214 -25
- package/dist/runtime/cache.d.ts +1 -1
- package/dist/runtime/cache.js +4 -8
- package/dist/runtime/choice.d.ts +1 -1
- package/dist/runtime/choice.js +31 -35
- package/dist/runtime/credential.d.ts +1 -1
- package/dist/runtime/credential.js +1 -1
- package/dist/runtime/env.d.ts +1 -1
- package/dist/runtime/executor.d.ts +1 -1
- package/dist/runtime/executor.js +15 -3
- package/dist/runtime/http.d.ts +2 -2
- package/dist/runtime/http.js +160 -344
- package/dist/runtime/insights.d.ts +1 -1
- package/dist/runtime/insights.js +6 -13
- package/dist/runtime/instrumentation.d.ts +2 -2
- package/dist/runtime/instrumentation.js +56 -19
- package/dist/runtime/keyring.js +1 -1
- package/dist/runtime/namespace.js +1 -1
- package/dist/runtime/otlp.d.ts +1 -1
- package/dist/runtime/perf.d.ts +1 -1
- package/dist/runtime/provider.d.ts +1 -1
- package/dist/runtime/provider.js +1 -2
- package/dist/runtime/proxy-errors.d.ts +1 -1
- package/dist/runtime/proxy-errors.js +9 -7
- package/dist/runtime/proxy-nodemaven.d.ts +35 -0
- package/dist/runtime/proxy-nodemaven.js +128 -0
- package/dist/runtime/proxy-retry-policy.d.ts +40 -0
- package/dist/runtime/proxy-retry-policy.js +326 -0
- package/dist/runtime/proxy-telemetry.d.ts +2 -1
- package/dist/runtime/proxy-telemetry.js +55 -52
- package/dist/runtime/redis.d.ts +1 -1
- package/dist/runtime/redis.js +2 -4
- package/dist/runtime/request-options.d.ts +1 -1
- package/dist/runtime/secrets.d.ts +27 -0
- package/dist/runtime/secrets.js +51 -0
- package/dist/runtime/state.d.ts +2 -2
- package/dist/runtime/state.js +15 -4
- package/dist/runtime/stealth.d.ts +7 -4
- package/dist/runtime/stealth.js +257 -215
- package/dist/runtime/stt.d.ts +1 -1
- package/dist/runtime/stt.js +11 -15
- package/dist/runtime/trace.d.ts +2 -2
- package/dist/runtime/trace.js +2 -4
- package/dist/runtime/waterfall.d.ts +1 -1
- package/dist/schema.d.ts +1 -1
- package/dist/schema.js +7 -15
- package/dist/serve.d.ts +1 -1
- package/dist/serve.js +1 -1
- package/dist/server/index.d.ts +7 -3
- package/dist/server/index.js +6 -2
- package/dist/server/self-test-input-tokens.d.ts +1 -0
- package/dist/server/self-test-input-tokens.js +37 -0
- package/dist/server/self-test-redaction.d.ts +20 -0
- package/dist/server/self-test-redaction.js +70 -0
- package/dist/server/self-test-token.d.ts +30 -0
- package/dist/server/self-test-token.js +50 -0
- package/dist/server/self-test.d.ts +199 -0
- package/dist/server/self-test.js +1113 -0
- package/dist/server/serve.d.ts +14 -3
- package/dist/server/serve.js +135 -64
- package/dist/server/types.d.ts +10 -9
- package/dist/server/types.js +3 -7
- package/dist/stealth/profiles.d.ts +1 -1
- package/dist/stealth/profiles.js +5 -14
- package/dist/stream.d.ts +1 -1
- package/dist/testing/index.d.ts +2 -2
- package/dist/testing/index.js +2 -2
- package/dist/testing/run.d.ts +1 -1
- package/dist/testing/run.js +12 -15
- package/dist/types.d.ts +237 -1
- package/dist/user-input.d.ts +30 -0
- package/dist/user-input.js +66 -0
- package/package.json +16 -5
- package/src/auth-turn/auth-turn.v1.schema.json +89 -0
- package/src/auth-turn/fixtures/invalid/empty-kind.json +4 -0
- package/src/auth-turn/fixtures/invalid/expires-at-not-string.json +5 -0
- package/src/auth-turn/fixtures/invalid/missing-kind.json +3 -0
- package/src/auth-turn/fixtures/invalid/missing-turn-id.json +3 -0
- package/src/auth-turn/fixtures/invalid/timing-unknown-field.json +7 -0
- package/src/auth-turn/fixtures/invalid/turn-id-snake-case.json +4 -0
- package/src/auth-turn/fixtures/invalid/unknown-top-level-field.json +5 -0
- package/src/auth-turn/fixtures/valid/abort.json +8 -0
- package/src/auth-turn/fixtures/valid/challenge.json +17 -0
- package/src/auth-turn/fixtures/valid/complete.json +13 -0
- package/src/auth-turn/fixtures/valid/form.json +14 -0
- package/src/auth-turn/fixtures/valid/message.json +13 -0
- package/src/auth-turn/fixtures/valid/multi_choice.json +15 -0
- package/src/auth-turn/fixtures/valid/pending.json +5 -0
- package/src/auth-turn/fixtures/valid/poll.json +9 -0
- package/src/auth-turn/fixtures/valid/redirect.json +16 -0
- package/src/auth-turn/fixtures/valid/retry.json +8 -0
- package/src/auth-turn/fixtures/valid/unknown-kind.json +7 -0
- package/src/auth-turn/index.ts +177 -0
- package/src/auth.ts +728 -0
- package/src/ceremonies/index.ts +33 -121
- package/src/cli/commands.ts +10 -0
- package/src/cli/create.ts +69 -99
- package/src/cli/prompt-assets.ts +865 -0
- package/src/cli/templates/provider/.agents/skills/fixtures-and-recording/SKILL.md.tpl +58 -0
- package/src/cli/templates/provider/.agents/skills/health-checks-and-fail-closed/SKILL.md.tpl +65 -0
- package/src/cli/templates/provider/.agents/skills/normalization-standards/SKILL.md.tpl +57 -0
- package/src/cli/templates/provider/.agents/skills/pagination-and-counts/SKILL.md.tpl +52 -0
- package/src/cli/templates/provider/.agents/skills/upstream-contract-verification/SKILL.md.tpl +45 -0
- package/src/cli/templates/provider/.agents/skills/upstream-notes/README.md.tpl +13 -0
- package/src/cli/templates/provider/AGENTS.md.tpl +96 -0
- package/src/cli/templates/provider/README.md.tpl +7 -4
- package/src/config/loader.ts +543 -208
- package/src/contract-serialization.ts +5 -11
- package/src/contract-types.ts +2 -2
- package/src/contract.ts +13 -28
- package/src/define.ts +397 -528
- package/src/dev.ts +4 -9
- package/src/errors.ts +58 -5
- package/src/i18n/catalog.ts +10 -32
- package/src/i18n/index.ts +2 -2
- package/src/i18n/keys.ts +5 -11
- package/src/index.ts +64 -41
- package/src/lint.ts +122 -159
- package/src/provider.ts +40 -9
- package/src/public-schema-field-lint.ts +7 -33
- package/src/recipes/gov-api.ts +2 -5
- package/src/runtime/auth-flow.ts +6 -6
- package/src/runtime/browser.ts +320 -151
- package/src/runtime/cache.ts +20 -67
- package/src/runtime/choice.ts +79 -132
- package/src/runtime/credential.ts +2 -2
- package/src/runtime/env.ts +1 -1
- package/src/runtime/executor.ts +23 -20
- package/src/runtime/http.ts +216 -539
- package/src/runtime/insights.ts +15 -53
- package/src/runtime/instrumentation.ts +78 -65
- package/src/runtime/keyring.ts +7 -19
- package/src/runtime/namespace.ts +2 -7
- package/src/runtime/otlp.ts +12 -23
- package/src/runtime/perf.ts +1 -1
- package/src/runtime/provider.ts +4 -9
- package/src/runtime/proxy-errors.ts +29 -42
- package/src/runtime/proxy-nodemaven.ts +178 -0
- package/src/runtime/proxy-retry-policy.ts +469 -0
- package/src/runtime/proxy-telemetry.ts +79 -77
- package/src/runtime/redis.ts +4 -12
- package/src/runtime/request-options.ts +4 -13
- package/src/runtime/secrets.ts +64 -0
- package/src/runtime/state.ts +41 -110
- package/src/runtime/stealth.ts +331 -369
- package/src/runtime/stt.ts +38 -94
- package/src/runtime/trace.ts +14 -44
- package/src/runtime/waterfall.ts +5 -18
- package/src/schema.ts +23 -84
- package/src/serve.ts +1 -1
- package/src/server/index.ts +44 -3
- package/src/server/self-test-input-tokens.ts +46 -0
- package/src/server/self-test-redaction.ts +97 -0
- package/src/server/self-test-token.ts +70 -0
- package/src/server/self-test.ts +1450 -0
- package/src/server/serve.ts +206 -216
- package/src/server/types.ts +7 -19
- package/src/stealth/profiles.ts +10 -26
- package/src/stream.ts +8 -19
- package/src/testing/index.ts +2 -2
- package/src/testing/run.ts +24 -64
- package/src/types.ts +274 -1
- package/src/user-input.ts +118 -0
|
@@ -6,8 +6,8 @@ import {
|
|
|
6
6
|
isRecord,
|
|
7
7
|
type JsonValue,
|
|
8
8
|
toJsonValue,
|
|
9
|
-
} from "./contract-json";
|
|
10
|
-
import type { SchemaLike } from "./types";
|
|
9
|
+
} from "./contract-json.js";
|
|
10
|
+
import type { SchemaLike } from "./types.js";
|
|
11
11
|
|
|
12
12
|
export function describeSchema(schema: SchemaLike): JsonValue {
|
|
13
13
|
if (isZodSchema(schema)) {
|
|
@@ -17,10 +17,7 @@ export function describeSchema(schema: SchemaLike): JsonValue {
|
|
|
17
17
|
vendor: "zod",
|
|
18
18
|
typeName: getSchemaTypeName(schema),
|
|
19
19
|
jsonSchema,
|
|
20
|
-
jsonSchemaHash:
|
|
21
|
-
jsonSchema === undefined
|
|
22
|
-
? undefined
|
|
23
|
-
: digest(canonicalJson(jsonSchema)),
|
|
20
|
+
jsonSchemaHash: jsonSchema === undefined ? undefined : digest(canonicalJson(jsonSchema)),
|
|
24
21
|
});
|
|
25
22
|
}
|
|
26
23
|
const standard = isRecord(schema) ? schema["~standard"] : undefined;
|
|
@@ -30,8 +27,7 @@ export function describeSchema(schema: SchemaLike): JsonValue {
|
|
|
30
27
|
standard: "standard-schema-v1",
|
|
31
28
|
vendor: typeof standard.vendor === "string" ? standard.vendor : "unknown",
|
|
32
29
|
version:
|
|
33
|
-
typeof standard.version === "number" ||
|
|
34
|
-
typeof standard.version === "string"
|
|
30
|
+
typeof standard.version === "number" || typeof standard.version === "string"
|
|
35
31
|
? standard.version
|
|
36
32
|
: undefined,
|
|
37
33
|
});
|
|
@@ -43,9 +39,7 @@ export function describeSchema(schema: SchemaLike): JsonValue {
|
|
|
43
39
|
});
|
|
44
40
|
}
|
|
45
41
|
|
|
46
|
-
export function serializeSmsMatcher(
|
|
47
|
-
value: Record<string, unknown>,
|
|
48
|
-
): Record<string, unknown> {
|
|
42
|
+
export function serializeSmsMatcher(value: Record<string, unknown>): Record<string, unknown> {
|
|
49
43
|
const code = value.code;
|
|
50
44
|
if (!isRecord(code)) return value;
|
|
51
45
|
const pattern = code.pattern;
|
package/src/contract-types.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { JsonValue } from "./contract-json";
|
|
2
|
-
import type { ProviderDefinition } from "./types";
|
|
1
|
+
import type { JsonValue } from "./contract-json.js";
|
|
2
|
+
import type { ProviderDefinition } from "./types.js";
|
|
3
3
|
|
|
4
4
|
export const PROVIDER_CONTRACT_SCHEMA_VERSION = "2026-06-23";
|
|
5
5
|
|
package/src/contract.ts
CHANGED
|
@@ -6,13 +6,13 @@ import {
|
|
|
6
6
|
type JsonPrimitive,
|
|
7
7
|
type JsonValue,
|
|
8
8
|
toJsonValue,
|
|
9
|
-
} from "./contract-json";
|
|
10
|
-
import { describeSchema, serializeSmsMatcher } from "./contract-serialization";
|
|
9
|
+
} from "./contract-json.js";
|
|
10
|
+
import { describeSchema, serializeSmsMatcher } from "./contract-serialization.js";
|
|
11
11
|
import {
|
|
12
12
|
PROVIDER_CONTRACT_SCHEMA_VERSION,
|
|
13
13
|
type ProviderContractOperation,
|
|
14
14
|
type ProviderContractSnapshot,
|
|
15
|
-
} from "./contract-types";
|
|
15
|
+
} from "./contract-types.js";
|
|
16
16
|
import type {
|
|
17
17
|
HealthCheckSuite,
|
|
18
18
|
HealthCheckUnsupported,
|
|
@@ -20,7 +20,7 @@ import type {
|
|
|
20
20
|
OperationDefinition,
|
|
21
21
|
OperationTransport,
|
|
22
22
|
ProviderDefinition,
|
|
23
|
-
} from "./types";
|
|
23
|
+
} from "./types.js";
|
|
24
24
|
|
|
25
25
|
export {
|
|
26
26
|
canonicalJson,
|
|
@@ -31,9 +31,7 @@ export {
|
|
|
31
31
|
type ProviderContractSnapshot,
|
|
32
32
|
};
|
|
33
33
|
|
|
34
|
-
export function extractProviderContract(
|
|
35
|
-
provider: ProviderDefinition,
|
|
36
|
-
): ProviderContractSnapshot {
|
|
34
|
+
export function extractProviderContract(provider: ProviderDefinition): ProviderContractSnapshot {
|
|
37
35
|
const auth = extractAuth(provider.auth);
|
|
38
36
|
const stealth = toJsonValue(provider.stealth);
|
|
39
37
|
const proxy = toJsonValue(provider.proxy);
|
|
@@ -57,12 +55,8 @@ export function extractProviderContract(
|
|
|
57
55
|
meta: toJsonValue(provider.meta) ?? null,
|
|
58
56
|
operations: Object.entries(provider.operations)
|
|
59
57
|
.sort(([leftId], [rightId]) => leftId.localeCompare(rightId))
|
|
60
|
-
.map(([operationId, operation]) =>
|
|
61
|
-
|
|
62
|
-
),
|
|
63
|
-
...(provider.allowedHosts
|
|
64
|
-
? { allowedHosts: [...provider.allowedHosts].sort() }
|
|
65
|
-
: {}),
|
|
58
|
+
.map(([operationId, operation]) => extractOperation(operationId, operation)),
|
|
59
|
+
...(provider.allowedHosts ? { allowedHosts: [...provider.allowedHosts].sort() } : {}),
|
|
66
60
|
...(stealth === undefined ? {} : { stealth }),
|
|
67
61
|
...(proxy === undefined ? {} : { proxy }),
|
|
68
62
|
...(stt === undefined ? {} : { stt }),
|
|
@@ -78,9 +72,7 @@ export function extractProviderContract(
|
|
|
78
72
|
};
|
|
79
73
|
}
|
|
80
74
|
|
|
81
|
-
export function digestProviderContract(
|
|
82
|
-
snapshot: ProviderContractSnapshot,
|
|
83
|
-
): string {
|
|
75
|
+
export function digestProviderContract(snapshot: ProviderContractSnapshot): string {
|
|
84
76
|
return createHash("sha256").update(canonicalJson(snapshot)).digest("hex");
|
|
85
77
|
}
|
|
86
78
|
|
|
@@ -105,9 +97,7 @@ function extractOperation(
|
|
|
105
97
|
const upstream = toJsonValue(operation.upstream);
|
|
106
98
|
const hints = toJsonValue(operation.hints);
|
|
107
99
|
const healthCheck = extractHealthCheck(operation.healthCheck);
|
|
108
|
-
const healthCheckUnsupported = extractHealthCheckUnsupported(
|
|
109
|
-
operation.healthCheckUnsupported,
|
|
110
|
-
);
|
|
100
|
+
const healthCheckUnsupported = extractHealthCheckUnsupported(operation.healthCheckUnsupported);
|
|
111
101
|
|
|
112
102
|
return {
|
|
113
103
|
id: operationId,
|
|
@@ -149,9 +139,7 @@ function extractAuth(value: ProviderDefinition["auth"]): JsonValue | undefined {
|
|
|
149
139
|
});
|
|
150
140
|
}
|
|
151
141
|
|
|
152
|
-
function extractTransport(
|
|
153
|
-
value: OperationTransport | undefined,
|
|
154
|
-
): JsonValue | undefined {
|
|
142
|
+
function extractTransport(value: OperationTransport | undefined): JsonValue | undefined {
|
|
155
143
|
if (!value) return undefined;
|
|
156
144
|
if (value.kind !== "sse") return toJsonValue(value);
|
|
157
145
|
return compactObject({
|
|
@@ -164,12 +152,11 @@ function extractTransport(
|
|
|
164
152
|
});
|
|
165
153
|
}
|
|
166
154
|
|
|
167
|
-
function extractHealthCheck(
|
|
168
|
-
value: HealthCheckSuite | undefined,
|
|
169
|
-
): JsonValue | undefined {
|
|
155
|
+
function extractHealthCheck(value: HealthCheckSuite | undefined): JsonValue | undefined {
|
|
170
156
|
if (!value) return undefined;
|
|
171
157
|
return compactObject({
|
|
172
158
|
interval: value.interval,
|
|
159
|
+
schedule: toJsonValue(value.schedule),
|
|
173
160
|
timeoutMs: value.timeoutMs,
|
|
174
161
|
degradedThresholdMs: value.degradedThresholdMs,
|
|
175
162
|
requiresConnection: value.requiresConnection,
|
|
@@ -203,9 +190,7 @@ function extractHealthJourney(value: HealthJourneyDefinition): JsonValue {
|
|
|
203
190
|
cooldown: value.cooldown,
|
|
204
191
|
smsMatchers: toJsonValue(
|
|
205
192
|
value.smsMatchers?.map((matcher) =>
|
|
206
|
-
serializeSmsMatcher(
|
|
207
|
-
copyRecordWithout(matcher, new Set(["extractOtp"])),
|
|
208
|
-
),
|
|
193
|
+
serializeSmsMatcher(copyRecordWithout(matcher, new Set(["extractOtp"]))),
|
|
209
194
|
),
|
|
210
195
|
),
|
|
211
196
|
requiredSecrets: toJsonValue(value.requiredSecrets),
|