@apifuse/provider-sdk 2.2.0-beta.2 → 2.2.0-beta.21
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 +487 -0
- package/CHANGELOG.md +90 -0
- package/README.md +49 -3
- package/SUBMISSION.md +1 -1
- 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 +14 -0
- package/bin/apifuse-pack-smoke.ts +36 -81
- package/bin/apifuse-pack-types.ts +305 -0
- package/bin/apifuse-perf.ts +45 -127
- package/bin/apifuse-record.ts +659 -111
- package/bin/apifuse-submit-check.ts +546 -48
- 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/index.d.ts +3 -3
- package/dist/auth.d.ts +2 -2
- package/dist/auth.js +9 -18
- package/dist/ceremonies/index.d.ts +9 -1
- package/dist/ceremonies/index.js +65 -18
- 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 +34 -35
- package/dist/cli/prompt-assets.d.ts +80 -0
- package/dist/cli/prompt-assets.js +743 -0
- package/dist/cli/templates/provider/AGENTS.md.tpl +17 -8
- package/dist/config/loader.d.ts +176 -8
- package/dist/config/loader.js +424 -95
- 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 +4 -6
- package/dist/define.d.ts +9 -1
- package/dist/define.js +304 -119
- package/dist/dev.d.ts +1 -1
- package/dist/dev.js +1 -1
- package/dist/error-resolution.d.ts +2 -0
- package/dist/error-resolution.js +90 -0
- package/dist/errors.d.ts +22 -1
- package/dist/errors.js +88 -0
- package/dist/fixture-sanitization.d.ts +26 -0
- package/dist/fixture-sanitization.js +216 -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 +46 -42
- package/dist/index.js +41 -37
- package/dist/lint.d.ts +1 -1
- package/dist/lint.js +8 -15
- package/dist/native-address.d.ts +43 -0
- package/dist/native-address.js +281 -0
- package/dist/native-egress-policy.d.ts +31 -0
- package/dist/native-egress-policy.js +288 -0
- package/dist/observability.d.ts +5 -2
- package/dist/observability.js +48 -1
- package/dist/provider.d.ts +12 -11
- package/dist/provider.js +10 -9
- 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 +2 -1
- package/dist/runtime/auth-flow.js +4 -3
- package/dist/runtime/browser.d.ts +1 -1
- package/dist/runtime/browser.js +15 -29
- 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 +31 -4
- package/dist/runtime/http.d.ts +2 -2
- package/dist/runtime/http.js +387 -47
- 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 +345 -22
- package/dist/runtime/keyring.js +1 -1
- package/dist/runtime/namespace.js +1 -1
- package/dist/runtime/native-network.d.ts +127 -0
- package/dist/runtime/native-network.js +1298 -0
- 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 +56 -0
- package/dist/runtime/proxy-nodemaven.js +146 -0
- package/dist/runtime/proxy-retry-policy.d.ts +2 -2
- package/dist/runtime/proxy-retry-policy.js +2 -2
- package/dist/runtime/proxy-telemetry.d.ts +2 -1
- package/dist/runtime/proxy-telemetry.js +55 -52
- package/dist/runtime/redirects.d.ts +29 -0
- package/dist/runtime/redirects.js +36 -0
- package/dist/runtime/redis.d.ts +1 -1
- package/dist/runtime/redis.js +2 -4
- package/dist/runtime/request-options.d.ts +68 -1
- package/dist/runtime/request-options.js +548 -0
- 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 +238 -26
- package/dist/runtime/stealth.d.ts +5 -3
- package/dist/runtime/stealth.js +423 -143
- 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 -7
- package/dist/server/index.js +6 -6
- package/dist/server/self-test-input-tokens.d.ts +2 -1
- package/dist/server/self-test-input-tokens.js +18 -14
- package/dist/server/self-test-redaction.d.ts +1 -1
- package/dist/server/self-test-redaction.js +1 -1
- package/dist/server/self-test.d.ts +104 -3
- package/dist/server/self-test.js +673 -115
- package/dist/server/serve.d.ts +116 -4
- package/dist/server/serve.js +799 -128
- package/dist/server/types.d.ts +34 -9
- package/dist/server/types.js +8 -1
- package/dist/stateful/errors.d.ts +14 -0
- package/dist/stateful/errors.js +14 -0
- package/dist/stateful/http-provider-event-emitter.d.ts +40 -0
- package/dist/stateful/http-provider-event-emitter.js +237 -0
- package/dist/stateful/http-session-owner-registry.d.ts +44 -0
- package/dist/stateful/http-session-owner-registry.js +210 -0
- package/dist/stateful/index.d.ts +18 -0
- package/dist/stateful/index.js +18 -0
- package/dist/stateful/provider-event-delivery-failures.d.ts +32 -0
- package/dist/stateful/provider-event-delivery-failures.js +43 -0
- package/dist/stateful/provider-event-pipeline-metrics.d.ts +46 -0
- package/dist/stateful/provider-event-pipeline-metrics.js +48 -0
- package/dist/stateful/provider-event-pipeline.d.ts +50 -0
- package/dist/stateful/provider-event-pipeline.js +1 -0
- package/dist/stateful/provider-events.d.ts +101 -0
- package/dist/stateful/provider-events.js +289 -0
- package/dist/stateful/session-key.d.ts +15 -0
- package/dist/stateful/session-key.js +86 -0
- package/dist/stateful/stateful-provider-adapter-context.d.ts +5 -0
- package/dist/stateful/stateful-provider-adapter-context.js +42 -0
- package/dist/stateful/stateful-provider-adapter-metrics.d.ts +15 -0
- package/dist/stateful/stateful-provider-adapter-metrics.js +21 -0
- package/dist/stateful/stateful-provider-adapter.d.ts +98 -0
- package/dist/stateful/stateful-provider-adapter.js +287 -0
- package/dist/stateful/stateful-provider-observability.d.ts +62 -0
- package/dist/stateful/stateful-provider-observability.js +161 -0
- package/dist/stateful/stateful-provider-owner-forwarder.d.ts +41 -0
- package/dist/stateful/stateful-provider-owner-forwarder.js +215 -0
- package/dist/stateful/stateful-provider-runtime-context.d.ts +32 -0
- package/dist/stateful/stateful-provider-runtime-context.js +60 -0
- package/dist/stateful/stateful-provider-runtime-executor.d.ts +34 -0
- package/dist/stateful/stateful-provider-runtime-executor.js +52 -0
- package/dist/stateful/stateful-provider-session-routing.d.ts +71 -0
- package/dist/stateful/stateful-provider-session-routing.js +353 -0
- package/dist/stateful/stateful-provider-session-runtime.d.ts +98 -0
- package/dist/stateful/stateful-provider-session-runtime.js +245 -0
- package/dist/stateful-signing.d.ts +18 -0
- package/dist/stateful-signing.js +27 -0
- package/dist/stealth/profiles.d.ts +1 -1
- package/dist/stealth/profiles.js +5 -14
- package/dist/stream-evidence.d.ts +74 -0
- package/dist/stream-evidence.js +785 -0
- 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 +32 -2
- package/dist/testing/run.js +478 -28
- package/dist/types.d.ts +342 -14
- package/dist/types.js +1 -0
- package/dist/user-input.d.ts +30 -0
- package/dist/user-input.js +66 -0
- package/package.json +16 -5
- package/src/auth-turn/index.ts +1 -1
- package/src/auth.ts +28 -86
- package/src/ceremonies/index.ts +103 -78
- package/src/cli/commands.ts +10 -0
- package/src/cli/create.ts +42 -35
- package/src/cli/prompt-assets.ts +865 -0
- package/src/cli/templates/provider/AGENTS.md.tpl +17 -8
- package/src/config/loader.ts +652 -204
- package/src/contract-serialization.ts +5 -11
- package/src/contract-types.ts +2 -2
- package/src/contract.ts +12 -28
- package/src/define.ts +499 -498
- package/src/dev.ts +4 -9
- package/src/error-resolution.ts +91 -0
- package/src/errors.ts +110 -5
- package/src/fixture-sanitization.ts +247 -0
- 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 +112 -42
- package/src/lint.ts +88 -152
- package/src/native-address.ts +340 -0
- package/src/native-egress-policy.ts +358 -0
- package/src/observability.ts +51 -1
- package/src/provider.ts +66 -11
- package/src/public-schema-field-lint.ts +7 -33
- package/src/recipes/gov-api.ts +2 -5
- package/src/runtime/auth-flow.ts +7 -7
- package/src/runtime/browser.ts +64 -187
- 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 +43 -20
- package/src/runtime/http.ts +494 -57
- package/src/runtime/insights.ts +15 -53
- package/src/runtime/instrumentation.ts +495 -66
- package/src/runtime/keyring.ts +7 -19
- package/src/runtime/namespace.ts +2 -7
- package/src/runtime/native-network.ts +1686 -0
- 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 +221 -0
- package/src/runtime/proxy-retry-policy.ts +3 -3
- package/src/runtime/proxy-telemetry.ts +79 -77
- package/src/runtime/redirects.ts +66 -0
- package/src/runtime/redis.ts +4 -12
- package/src/runtime/request-options.ts +679 -9
- package/src/runtime/secrets.ts +64 -0
- package/src/runtime/state.ts +353 -133
- package/src/runtime/stealth.ts +505 -154
- 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 +29 -7
- package/src/server/self-test-input-tokens.ts +29 -14
- package/src/server/self-test-redaction.ts +2 -2
- package/src/server/self-test.ts +857 -132
- package/src/server/serve.ts +1151 -328
- package/src/server/types.ts +12 -13
- package/src/stateful/README.md +146 -0
- package/src/stateful/errors.ts +23 -0
- package/src/stateful/http-provider-event-emitter.ts +314 -0
- package/src/stateful/http-session-owner-registry.ts +306 -0
- package/src/stateful/index.ts +18 -0
- package/src/stateful/provider-event-delivery-failures.ts +80 -0
- package/src/stateful/provider-event-pipeline-metrics.ts +95 -0
- package/src/stateful/provider-event-pipeline.ts +61 -0
- package/src/stateful/provider-events.ts +462 -0
- package/src/stateful/session-key.ts +111 -0
- package/src/stateful/stateful-provider-adapter-context.ts +59 -0
- package/src/stateful/stateful-provider-adapter-metrics.ts +48 -0
- package/src/stateful/stateful-provider-adapter.ts +562 -0
- package/src/stateful/stateful-provider-observability.ts +261 -0
- package/src/stateful/stateful-provider-owner-forwarder.ts +287 -0
- package/src/stateful/stateful-provider-runtime-context.ts +92 -0
- package/src/stateful/stateful-provider-runtime-executor.ts +96 -0
- package/src/stateful/stateful-provider-session-routing.ts +555 -0
- package/src/stateful/stateful-provider-session-runtime.ts +403 -0
- package/src/stateful-signing.ts +46 -0
- package/src/stealth/profiles.ts +10 -26
- package/src/stream-evidence.ts +988 -0
- package/src/stream.ts +8 -19
- package/src/testing/index.ts +10 -2
- package/src/testing/run.ts +653 -74
- package/src/types.ts +408 -28
- package/src/user-input.ts +118 -0
- package/dist/cli/templates/provider/CLAUDE.md.tpl +0 -1
- package/src/cli/templates/provider/CLAUDE.md.tpl +0 -1
- /package/dist/cli/templates/provider/{skills → .agents/skills}/fixtures-and-recording/SKILL.md.tpl +0 -0
- /package/dist/cli/templates/provider/{skills → .agents/skills}/health-checks-and-fail-closed/SKILL.md.tpl +0 -0
- /package/dist/cli/templates/provider/{skills → .agents/skills}/normalization-standards/SKILL.md.tpl +0 -0
- /package/dist/cli/templates/provider/{skills → .agents/skills}/pagination-and-counts/SKILL.md.tpl +0 -0
- /package/dist/cli/templates/provider/{skills → .agents/skills}/upstream-contract-verification/SKILL.md.tpl +0 -0
- /package/dist/cli/templates/provider/{skills → .agents/skills}/upstream-notes/README.md.tpl +0 -0
- /package/src/cli/templates/provider/{skills → .agents/skills}/fixtures-and-recording/SKILL.md.tpl +0 -0
- /package/src/cli/templates/provider/{skills → .agents/skills}/health-checks-and-fail-closed/SKILL.md.tpl +0 -0
- /package/src/cli/templates/provider/{skills → .agents/skills}/normalization-standards/SKILL.md.tpl +0 -0
- /package/src/cli/templates/provider/{skills → .agents/skills}/pagination-and-counts/SKILL.md.tpl +0 -0
- /package/src/cli/templates/provider/{skills → .agents/skills}/upstream-contract-verification/SKILL.md.tpl +0 -0
- /package/src/cli/templates/provider/{skills → .agents/skills}/upstream-notes/README.md.tpl +0 -0
package/src/observability.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
// Mirrors packages/provider-observability in the platform monorepo (SoT).
|
|
2
|
+
export const PROVIDER_OBSERVABILITY_TAXONOMY_VERSION = "2026-08-07";
|
|
2
3
|
|
|
3
4
|
export const PROVIDER_ERROR_CATEGORIES = [
|
|
4
5
|
"ok",
|
|
@@ -7,6 +8,7 @@ export const PROVIDER_ERROR_CATEGORIES = [
|
|
|
7
8
|
"upstream_http",
|
|
8
9
|
"upstream_rate_limited",
|
|
9
10
|
"upstream_auth",
|
|
11
|
+
"upstream_rejected",
|
|
10
12
|
"upstream_schema_drift",
|
|
11
13
|
"proxy_pool",
|
|
12
14
|
"anti_bot_blocked",
|
|
@@ -16,6 +18,9 @@ export const PROVIDER_ERROR_CATEGORIES = [
|
|
|
16
18
|
"output_validation",
|
|
17
19
|
"provider_error",
|
|
18
20
|
"internal_error",
|
|
21
|
+
"dependency_unavailable",
|
|
22
|
+
"unsupported_transport",
|
|
23
|
+
"client_cancelled",
|
|
19
24
|
"unclassified",
|
|
20
25
|
] as const;
|
|
21
26
|
|
|
@@ -26,6 +31,9 @@ export function categoryForStatus(status: number): ProviderErrorCategory {
|
|
|
26
31
|
if (status === 408 || status === 504) return "timeout";
|
|
27
32
|
if (status === 429) return "upstream_rate_limited";
|
|
28
33
|
if (status === 401 || status === 403) return "upstream_auth";
|
|
34
|
+
// provider-error-contract: 409/410/422 are the deterministic
|
|
35
|
+
// upstream-rejection status class — not a retryable upstream failure.
|
|
36
|
+
if (status === 409 || status === 410 || status === 422) return "upstream_rejected";
|
|
29
37
|
if (status >= 400) return "upstream_http";
|
|
30
38
|
return "unclassified";
|
|
31
39
|
}
|
|
@@ -39,3 +47,45 @@ export function isRetryableCategory(category: ProviderErrorCategory): boolean {
|
|
|
39
47
|
category === "proxy_pool"
|
|
40
48
|
);
|
|
41
49
|
}
|
|
50
|
+
|
|
51
|
+
// Who stopped the request (honest-provider-error-contract). A deliberately
|
|
52
|
+
// small public projection of the internal taxonomy:
|
|
53
|
+
// - client: the request itself is fixable by the caller
|
|
54
|
+
// - upstream_rule: the upstream service refused it under its own business
|
|
55
|
+
// rules (deterministic) or rate limits
|
|
56
|
+
// - upstream_failure: the upstream service malfunctioned — retryable
|
|
57
|
+
// - apifuse: an APIFuse-side fault (provider bug, platform dependency)
|
|
58
|
+
export const PROVIDER_ERROR_SOURCES = [
|
|
59
|
+
"client",
|
|
60
|
+
"upstream_rule",
|
|
61
|
+
"upstream_failure",
|
|
62
|
+
"apifuse",
|
|
63
|
+
] as const;
|
|
64
|
+
|
|
65
|
+
export type ProviderErrorSource = (typeof PROVIDER_ERROR_SOURCES)[number];
|
|
66
|
+
|
|
67
|
+
export function sourceForCategory(category: ProviderErrorCategory): ProviderErrorSource {
|
|
68
|
+
switch (category) {
|
|
69
|
+
case "input_validation":
|
|
70
|
+
case "credential_expired":
|
|
71
|
+
case "credential_unavailable":
|
|
72
|
+
case "client_cancelled":
|
|
73
|
+
return "client";
|
|
74
|
+
case "upstream_rejected":
|
|
75
|
+
case "upstream_rate_limited":
|
|
76
|
+
return "upstream_rule";
|
|
77
|
+
case "timeout":
|
|
78
|
+
case "network":
|
|
79
|
+
case "upstream_http":
|
|
80
|
+
case "upstream_auth":
|
|
81
|
+
case "upstream_schema_drift":
|
|
82
|
+
case "anti_bot_blocked":
|
|
83
|
+
return "upstream_failure";
|
|
84
|
+
default:
|
|
85
|
+
// ok never reaches error serialization; provider_error,
|
|
86
|
+
// internal_error, output_validation, proxy_pool,
|
|
87
|
+
// dependency_unavailable, unsupported_transport, unclassified are
|
|
88
|
+
// APIFuse-side faults.
|
|
89
|
+
return "apifuse";
|
|
90
|
+
}
|
|
91
|
+
}
|
package/src/provider.ts
CHANGED
|
@@ -3,7 +3,7 @@ export {
|
|
|
3
3
|
credentialsAuthChallenge,
|
|
4
4
|
createAuthFlowHelpers,
|
|
5
5
|
defineCredentialsAuth,
|
|
6
|
-
} from "./auth";
|
|
6
|
+
} from "./auth.js";
|
|
7
7
|
export type {
|
|
8
8
|
CredentialsAuthChallengeDefinition,
|
|
9
9
|
CredentialsAuthChallengeRequest,
|
|
@@ -16,8 +16,8 @@ export type {
|
|
|
16
16
|
CredentialsAuthLoginResult,
|
|
17
17
|
DefineCredentialsAuthOptions,
|
|
18
18
|
DefinedCredentialsAuth,
|
|
19
|
-
} from "./auth";
|
|
20
|
-
export { createFormCeremony } from "./ceremonies";
|
|
19
|
+
} from "./auth.js";
|
|
20
|
+
export { createFormCeremony } from "./ceremonies/index.js";
|
|
21
21
|
export {
|
|
22
22
|
assertFreshProviderChoiceIssuedAt,
|
|
23
23
|
createProviderChoiceToken,
|
|
@@ -25,7 +25,7 @@ export {
|
|
|
25
25
|
type ProviderChoiceTokenErrorReason,
|
|
26
26
|
type ProviderChoiceTokenPayload,
|
|
27
27
|
parseProviderChoiceToken,
|
|
28
|
-
} from "./choice-token";
|
|
28
|
+
} from "./choice-token.js";
|
|
29
29
|
export {
|
|
30
30
|
centered,
|
|
31
31
|
delayed,
|
|
@@ -34,25 +34,29 @@ export {
|
|
|
34
34
|
defineProvider,
|
|
35
35
|
defineSmsOtpMatcher,
|
|
36
36
|
every,
|
|
37
|
-
} from "./define";
|
|
37
|
+
} from "./define.js";
|
|
38
38
|
export {
|
|
39
39
|
AuthError,
|
|
40
|
+
HttpRedirectError,
|
|
41
|
+
isProviderError,
|
|
42
|
+
isSessionExpiredError,
|
|
43
|
+
isTransportError,
|
|
40
44
|
ProviderError,
|
|
41
45
|
SessionExpiredError,
|
|
42
46
|
TransportError,
|
|
43
47
|
ValidationError,
|
|
44
|
-
} from "./errors";
|
|
48
|
+
} from "./errors.js";
|
|
45
49
|
export {
|
|
46
50
|
getProviderLocalePath,
|
|
47
51
|
providerLocaleKey,
|
|
48
52
|
qualifyProviderLocaleKey,
|
|
49
|
-
} from "./i18n";
|
|
53
|
+
} from "./i18n/index.js";
|
|
50
54
|
export {
|
|
51
55
|
type CreateProviderChoiceContextOptions,
|
|
52
56
|
createProviderChoiceContext,
|
|
53
57
|
createTestProviderChoiceContext,
|
|
54
58
|
PROVIDER_RUNTIME_CHOICE_TOKEN_MASTER_SECRET_ENV,
|
|
55
|
-
} from "./runtime/choice";
|
|
59
|
+
} from "./runtime/choice.js";
|
|
56
60
|
export {
|
|
57
61
|
APIFUSE_DESCRIPTION_KEY_META_KEY,
|
|
58
62
|
APIFUSE_REDACTION_MARKER,
|
|
@@ -69,7 +73,7 @@ export {
|
|
|
69
73
|
type SensitivePath,
|
|
70
74
|
sensitive,
|
|
71
75
|
z,
|
|
72
|
-
} from "./schema";
|
|
76
|
+
} from "./schema.js";
|
|
73
77
|
export type {
|
|
74
78
|
AuthAbortData,
|
|
75
79
|
AuthAbortRetry,
|
|
@@ -88,14 +92,38 @@ export type {
|
|
|
88
92
|
HealthJourneyRunContext,
|
|
89
93
|
HealthJourneyRunResult,
|
|
90
94
|
HealthScheduleRandomization,
|
|
95
|
+
HttpRedirectFailureReason,
|
|
96
|
+
HttpRedirectPolicy,
|
|
97
|
+
HttpRedirectPolicyMode,
|
|
91
98
|
HttpRetryOptions,
|
|
92
99
|
HttpRetrySummary,
|
|
93
100
|
InferSchemaOutput,
|
|
101
|
+
NativeContext,
|
|
102
|
+
NativeNetworkClient,
|
|
103
|
+
NativeNetworkCloseReason,
|
|
104
|
+
NativeNetworkConnection,
|
|
105
|
+
NativeNetworkConnectInput,
|
|
106
|
+
NativeNetworkConnectOptions,
|
|
107
|
+
NativeNetworkDynamicGrantOptions,
|
|
108
|
+
NativeNetworkEgressGrant,
|
|
109
|
+
NativeProviderConfig,
|
|
110
|
+
NativeProviderContext,
|
|
111
|
+
NativeProxyDrainHandler,
|
|
112
|
+
NativeProxyEgressInfo,
|
|
113
|
+
NativeProxyExpiringEvent,
|
|
114
|
+
NativeProxyExpiringReason,
|
|
115
|
+
NativeTcpDynamicEgressRule,
|
|
116
|
+
NativeTcpEgressGrant,
|
|
117
|
+
NativeTcpEgressRule,
|
|
118
|
+
NativeTcpPortRange,
|
|
119
|
+
NativeTcpTlsMode,
|
|
120
|
+
NativeTlsConnectOptions,
|
|
94
121
|
OperationApprovalPolicy,
|
|
95
122
|
OperationContractMetadata,
|
|
96
123
|
OperationDefinition,
|
|
97
124
|
OperationDocMeta,
|
|
98
125
|
OperationErrorCode,
|
|
126
|
+
ProviderErrorStatus,
|
|
99
127
|
OperationInputExample,
|
|
100
128
|
OperationLifecycle,
|
|
101
129
|
OperationObservabilityConfig,
|
|
@@ -112,17 +140,23 @@ export type {
|
|
|
112
140
|
ProviderChoiceParseOptions,
|
|
113
141
|
ProviderContext,
|
|
114
142
|
ProviderDefinition,
|
|
143
|
+
ProviderDeploymentOverrides,
|
|
144
|
+
ProviderFileRef,
|
|
145
|
+
ProviderFilesContext,
|
|
115
146
|
ProviderLocale,
|
|
116
147
|
ProviderLocaleKey,
|
|
117
148
|
ProviderLocaleKeyInput,
|
|
118
149
|
ProviderLogoProfile,
|
|
119
150
|
ProviderProxyPolicy,
|
|
151
|
+
ProxiedOAuthConfig,
|
|
120
152
|
ProviderPublicConnectionMode,
|
|
121
153
|
ProviderPublicProfile,
|
|
154
|
+
ProviderResolvedFile,
|
|
122
155
|
ProviderRuntimeState,
|
|
123
156
|
ProviderStateDurationString,
|
|
124
157
|
ProviderStateNamespace,
|
|
125
158
|
ProviderSupportLevel,
|
|
159
|
+
RedirectRunReason,
|
|
126
160
|
SchemaLike,
|
|
127
161
|
SmsOtpMatcherDefinition,
|
|
128
162
|
StandardSchemaV1,
|
|
@@ -130,11 +164,32 @@ export type {
|
|
|
130
164
|
StateNamespaceOptions,
|
|
131
165
|
StateValue,
|
|
132
166
|
StateWriteOptions,
|
|
133
|
-
} from "./types";
|
|
167
|
+
} from "./types.js";
|
|
168
|
+
export {
|
|
169
|
+
createNativeNetworkClient,
|
|
170
|
+
createEnvVendorCredentialResolver,
|
|
171
|
+
deriveNativeCredentialAffinityKey,
|
|
172
|
+
NativeEgressGrantExpiredError,
|
|
173
|
+
NativeEgressNotDeclaredError,
|
|
174
|
+
NativeIdleTimeoutError,
|
|
175
|
+
NativeNetworkError,
|
|
176
|
+
NativeProxyExpiredError,
|
|
177
|
+
resolveNativeGatewayProxy,
|
|
178
|
+
type NativeGatewayProxy,
|
|
179
|
+
type NativeGatewayProxyResolutionInput,
|
|
180
|
+
type NativeGatewayProxySkipReason,
|
|
181
|
+
type NativeGatewayProxySynthesizer,
|
|
182
|
+
type NativeGatewayProxySynthesisResult,
|
|
183
|
+
type NativeGatewayProxySynthesisInput,
|
|
184
|
+
type NativeNetworkClientOptions,
|
|
185
|
+
type NativeNetworkErrorCode,
|
|
186
|
+
type VendorCredentialLookup,
|
|
187
|
+
type VendorCredentialResolver,
|
|
188
|
+
} from "./runtime/native-network.js";
|
|
134
189
|
export {
|
|
135
190
|
HttpRetryAfterPolicy,
|
|
136
191
|
HttpRetryDelayStrategy,
|
|
137
192
|
HttpRetryJitter,
|
|
138
193
|
HttpRetryPreset,
|
|
139
194
|
HttpRetryUnsafeMethodPolicy,
|
|
140
|
-
} from "./types";
|
|
195
|
+
} from "./types.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ZodType } from "zod";
|
|
2
2
|
|
|
3
|
-
import type { LintDiagnostic } from "./lint";
|
|
3
|
+
import type { LintDiagnostic } from "./lint.js";
|
|
4
4
|
|
|
5
5
|
type SchemaLike = ZodType & {
|
|
6
6
|
def?: Record<string, unknown>;
|
|
@@ -55,8 +55,7 @@ function isSchemaRecord(value: unknown): value is Record<string, SchemaLike> {
|
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
function getObjectShape(schema: SchemaLike): Record<string, SchemaLike> {
|
|
58
|
-
const rawShape =
|
|
59
|
-
typeof schema.shape === "function" ? schema.shape() : schema.shape;
|
|
58
|
+
const rawShape = typeof schema.shape === "function" ? schema.shape() : schema.shape;
|
|
60
59
|
if (isSchemaRecord(rawShape)) {
|
|
61
60
|
return rawShape;
|
|
62
61
|
}
|
|
@@ -69,10 +68,7 @@ function getObjectShape(schema: SchemaLike): Record<string, SchemaLike> {
|
|
|
69
68
|
return isSchemaRecord(defShape) ? defShape : {};
|
|
70
69
|
}
|
|
71
70
|
|
|
72
|
-
function appendSchemaChildren(
|
|
73
|
-
children: SchemaLike[],
|
|
74
|
-
value: unknown,
|
|
75
|
-
): SchemaLike[] {
|
|
71
|
+
function appendSchemaChildren(children: SchemaLike[], value: unknown): SchemaLike[] {
|
|
76
72
|
if (isSchema(value)) {
|
|
77
73
|
children.push(value);
|
|
78
74
|
return children;
|
|
@@ -183,26 +179,14 @@ function collectPublicSchemaFieldDiagnostics(
|
|
|
183
179
|
});
|
|
184
180
|
}
|
|
185
181
|
diagnostics.push(
|
|
186
|
-
...collectPublicSchemaFieldDiagnostics(
|
|
187
|
-
providerId,
|
|
188
|
-
operationId,
|
|
189
|
-
child,
|
|
190
|
-
fieldPath,
|
|
191
|
-
seen,
|
|
192
|
-
),
|
|
182
|
+
...collectPublicSchemaFieldDiagnostics(providerId, operationId, child, fieldPath, seen),
|
|
193
183
|
);
|
|
194
184
|
}
|
|
195
185
|
|
|
196
186
|
for (const child of getTransparentChildSchemas(schema)) {
|
|
197
187
|
const childPath = schema.element === child ? `${basePath}[]` : basePath;
|
|
198
188
|
diagnostics.push(
|
|
199
|
-
...collectPublicSchemaFieldDiagnostics(
|
|
200
|
-
providerId,
|
|
201
|
-
operationId,
|
|
202
|
-
child,
|
|
203
|
-
childPath,
|
|
204
|
-
seen,
|
|
205
|
-
),
|
|
189
|
+
...collectPublicSchemaFieldDiagnostics(providerId, operationId, child, childPath, seen),
|
|
206
190
|
);
|
|
207
191
|
}
|
|
208
192
|
|
|
@@ -221,17 +205,7 @@ export function lintPublicSchemaFieldNames(
|
|
|
221
205
|
}
|
|
222
206
|
|
|
223
207
|
return [
|
|
224
|
-
...collectPublicSchemaFieldDiagnostics(
|
|
225
|
-
|
|
226
|
-
operationId,
|
|
227
|
-
input,
|
|
228
|
-
"input",
|
|
229
|
-
),
|
|
230
|
-
...collectPublicSchemaFieldDiagnostics(
|
|
231
|
-
providerId,
|
|
232
|
-
operationId,
|
|
233
|
-
output,
|
|
234
|
-
"output",
|
|
235
|
-
),
|
|
208
|
+
...collectPublicSchemaFieldDiagnostics(providerId, operationId, input, "input"),
|
|
209
|
+
...collectPublicSchemaFieldDiagnostics(providerId, operationId, output, "output"),
|
|
236
210
|
];
|
|
237
211
|
}
|
package/src/recipes/gov-api.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { unwrapEnvelope } from "../utils/parse";
|
|
1
|
+
import { unwrapEnvelope } from "../utils/parse.js";
|
|
2
2
|
|
|
3
3
|
function getResultCode(raw: unknown): string | undefined {
|
|
4
4
|
if (!raw || typeof raw !== "object") {
|
|
@@ -33,10 +33,7 @@ export function checkResultCode(
|
|
|
33
33
|
* Replace placeholder values with null
|
|
34
34
|
* e.g., nullIfPlaceholder('해당없음', ['해당없음', '-', '']) → null
|
|
35
35
|
*/
|
|
36
|
-
export function nullIfPlaceholder(
|
|
37
|
-
v: unknown,
|
|
38
|
-
patterns: string[],
|
|
39
|
-
): unknown | null {
|
|
36
|
+
export function nullIfPlaceholder(v: unknown, patterns: string[]): unknown | null {
|
|
40
37
|
if (v === null || v === undefined) {
|
|
41
38
|
return null;
|
|
42
39
|
}
|
package/src/runtime/auth-flow.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ContextAccessError } from "../errors";
|
|
2
|
-
import { createAuthFlowHelpers } from "../auth";
|
|
1
|
+
import { ContextAccessError } from "../errors.js";
|
|
2
|
+
import { createAuthFlowHelpers } from "../auth.js";
|
|
3
3
|
import type {
|
|
4
4
|
ContextScratchpad,
|
|
5
5
|
EnvContext,
|
|
@@ -7,8 +7,8 @@ import type {
|
|
|
7
7
|
HttpClient,
|
|
8
8
|
StealthClient,
|
|
9
9
|
SttContext,
|
|
10
|
-
} from "../types";
|
|
11
|
-
import { createUnsupportedSttClient } from "./stt";
|
|
10
|
+
} from "../types.js";
|
|
11
|
+
import { createUnsupportedSttClient } from "./stt.js";
|
|
12
12
|
|
|
13
13
|
function normalizeAllowedKeys(allowedKeys: string[]): Set<string> {
|
|
14
14
|
return new Set(allowedKeys.filter((key) => key.trim().length > 0));
|
|
@@ -16,9 +16,7 @@ function normalizeAllowedKeys(allowedKeys: string[]): Set<string> {
|
|
|
16
16
|
|
|
17
17
|
function assertAllowedKey(allowedKeys: Set<string>, key: string): void {
|
|
18
18
|
if (!allowedKeys.has(key)) {
|
|
19
|
-
throw new ContextAccessError(
|
|
20
|
-
`Context key "${key}" is not declared in context.keys.`,
|
|
21
|
-
);
|
|
19
|
+
throw new ContextAccessError(`Context key "${key}" is not declared in context.keys.`);
|
|
22
20
|
}
|
|
23
21
|
}
|
|
24
22
|
|
|
@@ -50,6 +48,7 @@ export function createScratchpad(
|
|
|
50
48
|
}
|
|
51
49
|
|
|
52
50
|
export function createFlowContext(options: {
|
|
51
|
+
flowId?: string;
|
|
53
52
|
http: HttpClient;
|
|
54
53
|
stealth: StealthClient;
|
|
55
54
|
env: EnvContext;
|
|
@@ -62,6 +61,7 @@ export function createFlowContext(options: {
|
|
|
62
61
|
stt?: SttContext;
|
|
63
62
|
}): FlowContext {
|
|
64
63
|
return {
|
|
64
|
+
flowId: options.flowId,
|
|
65
65
|
connectionId: options.connectionId,
|
|
66
66
|
externalRef: options.externalRef,
|
|
67
67
|
tenantId: options.tenantId,
|