stitchkit 0.110.5 → 0.111.0
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/CHANGELOG.md +43 -0
- package/dist/agent-runtime/branch-observations.d.ts +16 -16
- package/dist/agent-runtime/sandbox-broker.d.ts.map +1 -1
- package/dist/browser/stream.d.ts +3 -2
- package/dist/browser/stream.d.ts.map +1 -1
- package/dist/contract/runtime-context.d.ts +3 -1
- package/dist/contract/runtime-context.d.ts.map +1 -1
- package/dist/entrypoints/agent-runtime/coding-tools.js +2 -2
- package/dist/entrypoints/agent-runtime/sandbox.js +15 -29
- package/dist/entrypoints/agent-runtime/sqlite/bun.js +4 -4
- package/dist/entrypoints/agent-runtime/sqlite/node.js +4 -4
- package/dist/entrypoints/agent-runtime/testing.js +4 -4
- package/dist/entrypoints/agent-runtime.js +4 -4
- package/dist/entrypoints/bin/upgrade-cli.d.ts.map +1 -1
- package/dist/entrypoints/bin/upgrade-cli.js +123 -29
- package/dist/entrypoints/cli/publish.js +1 -1
- package/dist/entrypoints/cli.js +2 -2
- package/dist/entrypoints/http.d.ts +2 -0
- package/dist/entrypoints/http.d.ts.map +1 -1
- package/dist/entrypoints/http.js +5 -1
- package/dist/entrypoints/index.d.ts +1 -0
- package/dist/entrypoints/index.d.ts.map +1 -1
- package/dist/entrypoints/index.js +5 -1
- package/dist/entrypoints/node.d.ts +1 -0
- package/dist/entrypoints/node.d.ts.map +1 -1
- package/dist/entrypoints/node.js +3 -1
- package/dist/entrypoints/observability.js +24 -9
- package/dist/entrypoints/process.js +1 -1
- package/dist/entrypoints/remote.js +1 -1
- package/dist/entrypoints/server.d.ts +2 -0
- package/dist/entrypoints/server.d.ts.map +1 -1
- package/dist/entrypoints/server.js +79 -6
- package/dist/entrypoints/telegram.js +3 -3
- package/dist/entrypoints/testing.js +1 -1
- package/dist/entrypoints/tools/connections.js +16 -31
- package/dist/entrypoints/tools.js +39 -7
- package/dist/{index-mpg1t7nv.js → index-0z3kfphz.js} +1 -1
- package/dist/{index-jk44mbqb.js → index-1y0arq4z.js} +3 -57
- package/dist/{index-5pbtbce0.js → index-7c957abz.js} +1 -1
- package/dist/{index-e1sjcjfy.js → index-7r4knwf8.js} +94 -23
- package/dist/index-cjbn98zt.js +68 -0
- package/dist/{index-bm180f2d.js → index-ey15wx6j.js} +1 -1
- package/dist/{index-s0xbnpfh.js → index-kdnfe0sr.js} +1 -1
- package/dist/{index-s6d8zsha.js → index-krng2a5j.js} +64 -110
- package/dist/{index-9ket8wzx.js → index-mnk5vgdr.js} +1 -1
- package/dist/index-qndsr7f0.js +55 -0
- package/dist/{index-n7hrpngg.js → index-syzngt7v.js} +1 -1
- package/dist/{index-3h0ztg0z.js → index-t65erk4z.js} +5 -21
- package/dist/internal/bounded-body.d.ts +44 -0
- package/dist/internal/bounded-body.d.ts.map +1 -0
- package/dist/internal/bounded-lines.d.ts +1 -2
- package/dist/internal/bounded-lines.d.ts.map +1 -1
- package/dist/internal/secure-fetch.d.ts.map +1 -1
- package/dist/internal/stream-chunks.d.ts +13 -0
- package/dist/internal/stream-chunks.d.ts.map +1 -0
- package/dist/internal/upgrade-affects.d.ts +5 -0
- package/dist/internal/upgrade-affects.d.ts.map +1 -1
- package/dist/internal/upgrade-plan.d.ts +18 -3
- package/dist/internal/upgrade-plan.d.ts.map +1 -1
- package/dist/internal/upgrade-usage.d.ts +21 -5
- package/dist/internal/upgrade-usage.d.ts.map +1 -1
- package/dist/observability/audit.d.ts +10 -0
- package/dist/observability/audit.d.ts.map +1 -1
- package/dist/observability/event.d.ts +5 -0
- package/dist/observability/event.d.ts.map +1 -1
- package/dist/process/group-diagnostics.d.ts +20 -0
- package/dist/process/group-diagnostics.d.ts.map +1 -0
- package/dist/process/group-settlement.d.ts +1 -1
- package/dist/process/group-settlement.d.ts.map +1 -1
- package/dist/process/group.d.ts.map +1 -1
- package/dist/server/bun.d.ts +9 -0
- package/dist/server/bun.d.ts.map +1 -1
- package/dist/server/multipart.d.ts.map +1 -1
- package/dist/server/oauth/endpoints.d.ts.map +1 -1
- package/dist/server/oauth/provider.d.ts +5 -0
- package/dist/server/oauth/provider.d.ts.map +1 -1
- package/dist/server/proxy-origin.d.ts +12 -0
- package/dist/server/proxy-origin.d.ts.map +1 -0
- package/dist/server/raw.d.ts +6 -3
- package/dist/server/raw.d.ts.map +1 -1
- package/dist/server/request-body.d.ts.map +1 -1
- package/dist/server/request-completion.d.ts.map +1 -1
- package/dist/server/request-ingress.d.ts +31 -0
- package/dist/server/request-ingress.d.ts.map +1 -0
- package/dist/server/unix-client-body.d.ts.map +1 -1
- package/dist/tools/connections/limits.d.ts.map +1 -1
- package/llms/http.txt +3 -0
- package/llms/observability.txt +19 -2
- package/llms/server.2.txt +135 -0
- package/llms/server.5.txt +3 -1
- package/llms/server.txt +97 -131
- package/llms/stitchkit.2.txt +28 -0
- package/llms/stitchkit.txt +3 -3
- package/llms/tools.3.txt +1 -1
- package/llms/tools.txt +4 -0
- package/llms/{upgrading-0.101.0-0.110.0.txt → upgrading-0.101.0-0.111.0.txt} +29 -3
- package/llms/upgrading.txt +8 -2
- package/llms-full.txt +192 -8
- package/llms.txt +6 -6
- package/package.json +1 -1
package/dist/entrypoints/cli.js
CHANGED
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
renderCliView2,
|
|
17
17
|
pollUntilDone2,
|
|
18
18
|
createCli2
|
|
19
|
-
} from "../index-
|
|
19
|
+
} from "../index-syzngt7v.js";
|
|
20
20
|
import"../index-fynr93w4.js";
|
|
21
21
|
import"../index-ct75c3at.js";
|
|
22
22
|
import"../index-q6crhe1n.js";
|
|
@@ -40,7 +40,7 @@ import {
|
|
|
40
40
|
checkCliUpdate2,
|
|
41
41
|
applyCliUpdate2,
|
|
42
42
|
rollbackCliUpdate2
|
|
43
|
-
} from "../index-
|
|
43
|
+
} from "../index-kdnfe0sr.js";
|
|
44
44
|
import {
|
|
45
45
|
writeFileAtomicSync2
|
|
46
46
|
} from "../index-07dcf2yn.js";
|
|
@@ -3,4 +3,6 @@ export { ApiError } from '../browser/api-error.js';
|
|
|
3
3
|
export { type ChunkedUploadConfig, type ChunkedUploadPart, type ChunkedUploadProgress, type ChunkedUploadStart, type ChunkSource, uploadInChunks, } from '../browser/chunked-upload.js';
|
|
4
4
|
export { type ClientConfig, type ClientContract, type ClientFetch, type ClientRegistryValue, type ContractClientConfig, contractEndpointMatchers, createClient, createClients, createScopedClients, createScopedUrlBuilders, createUrlBuilder, createUrlBuilders, type PathPrefixArgs, type RegistryScope, type ScopeClientConfigs, type ScopedClientRegistry, type ScopedUrlBuilderRegistry, type UrlBuilderConfig, } from '../browser/client.js';
|
|
5
5
|
export { type ApiEvent, type ApiEventListener, type ConfiguredHttpClient, createHttpClient, type HeaderProvider, type HttpClient, type HttpClientConfig, type RequestOptions, type UnauthorizedMatcher, } from '../browser/http.js';
|
|
6
|
+
export { type BoundedBodyOptions, readBoundedBody } from '../internal/bounded-body.js';
|
|
7
|
+
export type { StreamByteSource } from '../internal/stream-chunks.js';
|
|
6
8
|
//# sourceMappingURL=http.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/entrypoints/http.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,cAAc,GACf,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,wBAAwB,EACxB,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,uBAAuB,EACvB,gBAAgB,EAChB,iBAAiB,EACjB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,GACtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,gBAAgB,EAChB,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,mBAAmB,GACzB,MAAM,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/entrypoints/http.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,cAAc,GACf,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,wBAAwB,EACxB,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,uBAAuB,EACvB,gBAAgB,EAChB,iBAAiB,EACjB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,GACtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,gBAAgB,EAChB,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,mBAAmB,GACzB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,kBAAkB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACpF,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC"}
|
package/dist/entrypoints/http.js
CHANGED
|
@@ -14,10 +14,13 @@ import {
|
|
|
14
14
|
createUrlBuilder2,
|
|
15
15
|
createUrlBuilders2,
|
|
16
16
|
createScopedUrlBuilders2
|
|
17
|
-
} from "../index-
|
|
17
|
+
} from "../index-1y0arq4z.js";
|
|
18
18
|
import {
|
|
19
19
|
ApiError2
|
|
20
20
|
} from "../index-kfjkb396.js";
|
|
21
|
+
import {
|
|
22
|
+
readBoundedBody2
|
|
23
|
+
} from "../index-qndsr7f0.js";
|
|
21
24
|
export {
|
|
22
25
|
ApiError2 as ApiError,
|
|
23
26
|
contractEndpointMatchers2 as contractEndpointMatchers,
|
|
@@ -28,5 +31,6 @@ export {
|
|
|
28
31
|
createScopedUrlBuilders2 as createScopedUrlBuilders,
|
|
29
32
|
createUrlBuilder2 as createUrlBuilder,
|
|
30
33
|
createUrlBuilders2 as createUrlBuilders,
|
|
34
|
+
readBoundedBody2 as readBoundedBody,
|
|
31
35
|
uploadInChunks2 as uploadInChunks
|
|
32
36
|
};
|
|
@@ -13,6 +13,7 @@ export type { RealtimeClient, RealtimeClientOptions, SocketEventMap, SocketIOCli
|
|
|
13
13
|
export { createRealtimeClient, createSocketIOClient } from '../browser/socket-io.js';
|
|
14
14
|
export { createNDJSONDecoder, type NDJSONDecoder, type ParseNDJSONOptions, type ParseSSEOptions, parseNDJSON, parseSSE, type StreamByteSource, StreamLineLimitError, StreamTruncatedLineError, } from '../browser/stream.js';
|
|
15
15
|
export { type Backoff, type BackoffPolicy, BackoffPolicySchema, createBackoff, } from '../internal/backoff.js';
|
|
16
|
+
export { type BoundedBodyOptions, readBoundedBody } from '../internal/bounded-body.js';
|
|
16
17
|
export type { StitchLogger } from '../internal/logger.js';
|
|
17
18
|
export { formatZodError, type ZodIssueSummary, zodIssues } from '../internal/zod-issues.js';
|
|
18
19
|
export { childSpan, createTraceContext, formatTraceparent, parseTraceparent, type TraceContext, } from '../observability/trace.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/entrypoints/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/entrypoints/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -71,7 +71,7 @@ import {
|
|
|
71
71
|
createUrlBuilder2,
|
|
72
72
|
createUrlBuilders2,
|
|
73
73
|
createScopedUrlBuilders2
|
|
74
|
-
} from "../index-
|
|
74
|
+
} from "../index-1y0arq4z.js";
|
|
75
75
|
import {
|
|
76
76
|
createRetainedTopics2,
|
|
77
77
|
createRealtimeClientWithPeer,
|
|
@@ -83,6 +83,9 @@ import {
|
|
|
83
83
|
import {
|
|
84
84
|
ApiError2
|
|
85
85
|
} from "../index-kfjkb396.js";
|
|
86
|
+
import {
|
|
87
|
+
readBoundedBody2
|
|
88
|
+
} from "../index-qndsr7f0.js";
|
|
86
89
|
import {
|
|
87
90
|
sleep
|
|
88
91
|
} from "../index-eemvahkc.js";
|
|
@@ -419,6 +422,7 @@ export {
|
|
|
419
422
|
parseSSE2 as parseSSE,
|
|
420
423
|
parseTraceparent2 as parseTraceparent,
|
|
421
424
|
rateLimited2 as rateLimited,
|
|
425
|
+
readBoundedBody2 as readBoundedBody,
|
|
422
426
|
resumableIterator,
|
|
423
427
|
unauthorized2 as unauthorized,
|
|
424
428
|
uploadInChunks2 as uploadInChunks,
|
|
@@ -11,6 +11,7 @@ export type { LogFormat } from '../server/logger.js';
|
|
|
11
11
|
export { type NodeRuntimeServer, type NodeServerConfig, type NodeServerHandle, type NodeSocketLifecycle, serveNode, } from '../server/node.js';
|
|
12
12
|
export { bindProcessSignals, type ProcessSignalName, type ProcessSignalsBinding, type ProcessSignalsErrorPhase, type ProcessSignalsOptions, type ShutdownTarget, type SignalSource, } from '../server/process-signals.js';
|
|
13
13
|
export { bindRealtimeServer, type RealtimeServer, type RealtimeServerConnection, type RealtimeServerHandle, } from '../server/realtime.js';
|
|
14
|
+
export { defineRequestIngress, type RequestIngress, type RequestIngressSource, } from '../server/request-ingress.js';
|
|
14
15
|
export { type ManagedServerHandle, type ShutdownOptions, ShutdownOptionsSchema, type ShutdownResult, ShutdownResultSchema, type ShutdownState, ShutdownStateSchema, type ShutdownStatus, ShutdownStatusSchema, } from '../server/shutdown.js';
|
|
15
16
|
export { createNodeSocketIOServer as createSocketIOServer, type NodeSocketIOServerHandle as SocketIOServerHandle, type SocketIOHandshakeConfig, type SocketIOPeerLoaders, type SocketIORequestPolicy, type SocketIOServerConfig, } from '../server/socket-io-node.js';
|
|
16
17
|
export type { EffectiveScope, FetchComposition, FetchHandler, HandlerConfig, LoggingConfig, LogOutcome, RawRoute, RawRouteContext, ScopeContexts, ScopedHandlers, ServiceDef, } from '../server/types.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/entrypoints/node.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACrB,SAAS,EACT,KAAK,qBAAqB,EAC1B,KAAK,WAAW,GACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,uBAAuB,EACvB,6BAA6B,EAC7B,KAAK,qBAAqB,EAC1B,KAAK,2BAA2B,EAChC,KAAK,sBAAsB,EAC3B,iBAAiB,EACjB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,4BAA4B,EACjC,KAAK,sBAAsB,GAC5B,MAAM,8BAA8B,CAAC;AACtC,YAAY,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,SAAS,GACV,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,kBAAkB,EAClB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,KAAK,YAAY,GAClB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,kBAAkB,EAClB,KAAK,cAAc,EACnB,KAAK,wBAAwB,EAC7B,KAAK,oBAAoB,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,qBAAqB,EACrB,KAAK,cAAc,EACnB,oBAAoB,EACpB,KAAK,aAAa,EAClB,mBAAmB,EACnB,KAAK,cAAc,EACnB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,wBAAwB,IAAI,oBAAoB,EAChD,KAAK,wBAAwB,IAAI,oBAAoB,EACrD,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,GAC1B,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,UAAU,EACV,QAAQ,EACR,eAAe,EACf,aAAa,EACb,cAAc,EACd,UAAU,GACX,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,yBAAyB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAC9B,wBAAwB,EACxB,KAAK,4BAA4B,EACjC,KAAK,oBAAoB,GAC1B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,WAAW,EACX,YAAY,GACb,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/entrypoints/node.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACrB,SAAS,EACT,KAAK,qBAAqB,EAC1B,KAAK,WAAW,GACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,uBAAuB,EACvB,6BAA6B,EAC7B,KAAK,qBAAqB,EAC1B,KAAK,2BAA2B,EAChC,KAAK,sBAAsB,EAC3B,iBAAiB,EACjB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,4BAA4B,EACjC,KAAK,sBAAsB,GAC5B,MAAM,8BAA8B,CAAC;AACtC,YAAY,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,SAAS,GACV,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,kBAAkB,EAClB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,KAAK,YAAY,GAClB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,kBAAkB,EAClB,KAAK,cAAc,EACnB,KAAK,wBAAwB,EAC7B,KAAK,oBAAoB,GAC1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,oBAAoB,EACpB,KAAK,cAAc,EACnB,KAAK,oBAAoB,GAC1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,qBAAqB,EACrB,KAAK,cAAc,EACnB,oBAAoB,EACpB,KAAK,aAAa,EAClB,mBAAmB,EACnB,KAAK,cAAc,EACnB,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,wBAAwB,IAAI,oBAAoB,EAChD,KAAK,wBAAwB,IAAI,oBAAoB,EACrD,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,GAC1B,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,UAAU,EACV,QAAQ,EACR,eAAe,EACf,aAAa,EACb,cAAc,EACd,UAAU,GACX,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,yBAAyB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAC9B,wBAAwB,EACxB,KAAK,4BAA4B,EACjC,KAAK,oBAAoB,GAC1B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,WAAW,EACX,YAAY,GACb,MAAM,YAAY,CAAC"}
|
package/dist/entrypoints/node.js
CHANGED
|
@@ -19,10 +19,11 @@ import {
|
|
|
19
19
|
implementRegistry2,
|
|
20
20
|
createImplementRegistry2,
|
|
21
21
|
bindProcessSignals2,
|
|
22
|
+
defineRequestIngress2,
|
|
22
23
|
createSocketIOServer2,
|
|
23
24
|
UnixClientTransportError2,
|
|
24
25
|
createUnixClientTransport2
|
|
25
|
-
} from "../index-
|
|
26
|
+
} from "../index-krng2a5j.js";
|
|
26
27
|
import {
|
|
27
28
|
bindRealtimeServer2
|
|
28
29
|
} from "../index-xmgjtkvr.js";
|
|
@@ -292,6 +293,7 @@ export {
|
|
|
292
293
|
createScopedImplementRegistry2 as createScopedImplementRegistry,
|
|
293
294
|
createNodeSocketIOServer as createSocketIOServer,
|
|
294
295
|
createUnixClientTransport2 as createUnixClientTransport,
|
|
296
|
+
defineRequestIngress2 as defineRequestIngress,
|
|
295
297
|
forbidden2 as forbidden,
|
|
296
298
|
implement2 as implement,
|
|
297
299
|
implementRegistry2 as implementRegistry,
|
|
@@ -10,6 +10,9 @@ import {
|
|
|
10
10
|
withinBound,
|
|
11
11
|
createBoundedSinkManager
|
|
12
12
|
} from "../index-qaet40b2.js";
|
|
13
|
+
import {
|
|
14
|
+
assertPositiveSafeInteger
|
|
15
|
+
} from "../index-0s4xebbg.js";
|
|
13
16
|
import {
|
|
14
17
|
redact2,
|
|
15
18
|
truncatePreview2,
|
|
@@ -108,7 +111,17 @@ function readMcpContext(value) {
|
|
|
108
111
|
function createSinkManager(config) {
|
|
109
112
|
return createBoundedSinkManager(config);
|
|
110
113
|
}
|
|
114
|
+
async function settlePayload(payload, payloadTruncated) {
|
|
115
|
+
if (!payload)
|
|
116
|
+
return { body: undefined, truncated: false };
|
|
117
|
+
try {
|
|
118
|
+
return { body: await payload, truncated: await payloadTruncated ?? false };
|
|
119
|
+
} catch {
|
|
120
|
+
return { body: undefined, truncated: false };
|
|
121
|
+
}
|
|
122
|
+
}
|
|
111
123
|
function createObservability(config) {
|
|
124
|
+
assertPositiveSafeInteger("request.payloadMaxBytes", config.request?.payloadMaxBytes);
|
|
112
125
|
const requestManager = config.request ? createSinkManager(config.request) : undefined;
|
|
113
126
|
const toolManager = config.tools ? createSinkManager(config.tools) : undefined;
|
|
114
127
|
let closed = false;
|
|
@@ -117,7 +130,15 @@ function createObservability(config) {
|
|
|
117
130
|
let unbounded;
|
|
118
131
|
const request = config.request ? {
|
|
119
132
|
includePayload: config.request.includePayload ?? false,
|
|
120
|
-
|
|
133
|
+
payloadMaxBytes: config.request.payloadMaxBytes,
|
|
134
|
+
complete: ({
|
|
135
|
+
context,
|
|
136
|
+
statusCode,
|
|
137
|
+
durationMs,
|
|
138
|
+
payload,
|
|
139
|
+
payloadTruncated,
|
|
140
|
+
outcome
|
|
141
|
+
}) => {
|
|
121
142
|
const requestConfig = config.request;
|
|
122
143
|
if (!requestConfig)
|
|
123
144
|
return;
|
|
@@ -125,14 +146,7 @@ function createObservability(config) {
|
|
|
125
146
|
if (cancelled && !requestConfig.includeCancelled)
|
|
126
147
|
return;
|
|
127
148
|
requestManager?.submit(async () => {
|
|
128
|
-
|
|
129
|
-
if (!cancelled && payload) {
|
|
130
|
-
try {
|
|
131
|
-
body = await payload;
|
|
132
|
-
} catch {
|
|
133
|
-
body = undefined;
|
|
134
|
-
}
|
|
135
|
-
}
|
|
149
|
+
const { body, truncated } = cancelled ? { body: undefined, truncated: false } : await settlePayload(payload, payloadTruncated);
|
|
136
150
|
return {
|
|
137
151
|
source: context.source,
|
|
138
152
|
kind: context.kind ?? "request",
|
|
@@ -161,6 +175,7 @@ function createObservability(config) {
|
|
|
161
175
|
}
|
|
162
176
|
},
|
|
163
177
|
payload: cancelled ? null : sanitizePayload2(body, requestConfig.sanitize),
|
|
178
|
+
...truncated && { payloadTruncated: true },
|
|
164
179
|
resultSize: null,
|
|
165
180
|
responseBytes: 0,
|
|
166
181
|
userId: context.userId,
|
|
@@ -23,10 +23,12 @@ export { createTrustFence, isLoopbackAddress, type TrustFence, type TrustFenceCo
|
|
|
23
23
|
export { type MultipartLifecycle, type MultipartResult, parseMultipart, } from '../server/multipart.js';
|
|
24
24
|
export { generateOpenApiDocument, type OpenApiConfig, type OpenApiDocument, type OpenApiInfo, type OpenApiServer, openApiRoute, } from '../server/openapi.js';
|
|
25
25
|
export { bindProcessSignals, type ProcessSignalName, type ProcessSignalsBinding, type ProcessSignalsErrorPhase, type ProcessSignalsOptions, type ShutdownTarget, type SignalSource, } from '../server/process-signals.js';
|
|
26
|
+
export type { ProxyOriginConfig } from '../server/proxy-origin.js';
|
|
26
27
|
export { createRateLimiter, type RateLimitConfig } from '../server/rate-limit.js';
|
|
27
28
|
export { errorResponse, parseBody, respondJson } from '../server/raw.js';
|
|
28
29
|
export { bindRealtimeServer, type RealtimeServer, type RealtimeServerConnection, type RealtimeServerHandle, } from '../server/realtime.js';
|
|
29
30
|
export { bindReleaseRefreshSignal, type ReleaseRefreshSignal, type ReleaseRefreshSignalOptions, } from '../server/release-signal.js';
|
|
31
|
+
export { defineRequestIngress, type RequestIngress, type RequestIngressSource, } from '../server/request-ingress.js';
|
|
30
32
|
export { type ManagedServerHandle, type ShutdownOptions, ShutdownOptionsSchema, type ShutdownResult, ShutdownResultSchema, type ShutdownState, ShutdownStateSchema, type ShutdownStatus, ShutdownStatusSchema, } from '../server/shutdown.js';
|
|
31
33
|
export type { SocketIOHandshakeConfig, SocketIOPeerLoaders, SocketIORequestPolicy, SocketIOServerConfig, SocketIOServerHandle, SocketIOServerLifecycle, } from '../server/socket-io.js';
|
|
32
34
|
export { createSocketIOServer, socketIoLane } from '../server/socket-io.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/entrypoints/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/entrypoints/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,13 +42,14 @@ import {
|
|
|
42
42
|
implementRegistry2,
|
|
43
43
|
createImplementRegistry2,
|
|
44
44
|
bindProcessSignals2,
|
|
45
|
+
defineRequestIngress2,
|
|
45
46
|
webSocketLane2,
|
|
46
47
|
composeWebSocketHandlers2,
|
|
47
48
|
createSocketIOServer2,
|
|
48
49
|
socketIoLane2,
|
|
49
50
|
UnixClientTransportError2,
|
|
50
51
|
createUnixClientTransport2
|
|
51
|
-
} from "../index-
|
|
52
|
+
} from "../index-krng2a5j.js";
|
|
52
53
|
import {
|
|
53
54
|
createFileStateStore2
|
|
54
55
|
} from "../index-nx49x0tw.js";
|
|
@@ -82,6 +83,13 @@ import {
|
|
|
82
83
|
realPathWithinDir
|
|
83
84
|
} from "../index-5cc6r990.js";
|
|
84
85
|
import"../index-1bx1xv1k.js";
|
|
86
|
+
import {
|
|
87
|
+
readBoundedChunks,
|
|
88
|
+
concatChunks
|
|
89
|
+
} from "../index-qndsr7f0.js";
|
|
90
|
+
import {
|
|
91
|
+
assertPositiveSafeInteger
|
|
92
|
+
} from "../index-0s4xebbg.js";
|
|
85
93
|
import {
|
|
86
94
|
DEFAULT_CORS_ALLOW_HEADERS2,
|
|
87
95
|
DEFAULT_CORS_EXPOSE_HEADERS2,
|
|
@@ -335,6 +343,53 @@ function bindSocketRegistry(server, options) {
|
|
|
335
343
|
}
|
|
336
344
|
// src/server/bun.ts
|
|
337
345
|
import { chmodSync, statSync, unlinkSync } from "node:fs";
|
|
346
|
+
|
|
347
|
+
// src/server/proxy-origin.ts
|
|
348
|
+
import { z } from "zod";
|
|
349
|
+
var ProtocolSchema = z.enum(["http", "https"]);
|
|
350
|
+
var AuthoritySchema = z.string().min(1).max(1024).regex(/^[^\s/\\?#@,;]+$/);
|
|
351
|
+
var conflictingHeaders = ["forwarded", "x-forwarded-host", "x-forwarded-port"];
|
|
352
|
+
function createProxyOrigin(policy) {
|
|
353
|
+
const originals = new WeakMap;
|
|
354
|
+
const original = (request) => originals.get(request) ?? request;
|
|
355
|
+
return {
|
|
356
|
+
bind(server) {
|
|
357
|
+
const requestIP = server.requestIP.bind(server);
|
|
358
|
+
const timeout = server.timeout.bind(server);
|
|
359
|
+
const upgrade = server.upgrade.bind(server);
|
|
360
|
+
server.requestIP = (request) => requestIP(original(request));
|
|
361
|
+
server.timeout = (request, seconds) => timeout(original(request), seconds);
|
|
362
|
+
server.upgrade = (request, options) => upgrade(original(request), options);
|
|
363
|
+
},
|
|
364
|
+
normalize(request, server) {
|
|
365
|
+
const peer = server.requestIP(request)?.address;
|
|
366
|
+
if (!peer || !policy.trustedPeer(peer))
|
|
367
|
+
return request;
|
|
368
|
+
const protocol = ProtocolSchema.safeParse(request.headers.get("x-forwarded-proto"));
|
|
369
|
+
const authority = AuthoritySchema.safeParse(request.headers.get("host"));
|
|
370
|
+
if (!protocol.success || !authority.success || conflictingHeaders.some((name) => request.headers.has(name))) {
|
|
371
|
+
return new Response("Invalid proxy origin", { status: 400 });
|
|
372
|
+
}
|
|
373
|
+
let origin;
|
|
374
|
+
try {
|
|
375
|
+
origin = new URL(`${protocol.data}://${authority.data}`);
|
|
376
|
+
} catch {
|
|
377
|
+
return new Response("Invalid proxy origin", { status: 400 });
|
|
378
|
+
}
|
|
379
|
+
const url = new URL(request.url);
|
|
380
|
+
url.protocol = origin.protocol;
|
|
381
|
+
url.host = origin.host;
|
|
382
|
+
url.port = origin.port;
|
|
383
|
+
if (url.href === request.url)
|
|
384
|
+
return request;
|
|
385
|
+
const normalized = new Request(url, request);
|
|
386
|
+
originals.set(normalized, request);
|
|
387
|
+
return normalized;
|
|
388
|
+
}
|
|
389
|
+
};
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
// src/server/bun.ts
|
|
338
393
|
function reclaimStaleUnixSocket(path) {
|
|
339
394
|
const stats = statSync(path, { throwIfNoEntry: false });
|
|
340
395
|
if (stats === undefined)
|
|
@@ -492,17 +547,21 @@ function createServer(config) {
|
|
|
492
547
|
const handler = createHandler2(config);
|
|
493
548
|
const consumerFetch = config.wrapFetch ? config.wrapFetch(handler) : handler;
|
|
494
549
|
const admittedFetch = lifecycle.wrapFetch(consumerFetch);
|
|
550
|
+
const proxyOrigin = config.proxyOrigin && createProxyOrigin(config.proxyOrigin);
|
|
495
551
|
const fetch = async (request, server) => {
|
|
552
|
+
const normalized = proxyOrigin && server ? proxyOrigin.normalize(request, server) : request;
|
|
553
|
+
if (normalized instanceof Response)
|
|
554
|
+
return normalized;
|
|
496
555
|
if (socket && socketRoutePrefix) {
|
|
497
|
-
const pathname = new URL(
|
|
556
|
+
const pathname = new URL(normalized.url).pathname;
|
|
498
557
|
if (pathname.startsWith(socketRoutePrefix)) {
|
|
499
|
-
return await socket.route.handler(
|
|
558
|
+
return await socket.route.handler(normalized, {
|
|
500
559
|
params: { socketPath: pathname.slice(socketRoutePrefix.length) },
|
|
501
560
|
server
|
|
502
561
|
});
|
|
503
562
|
}
|
|
504
563
|
}
|
|
505
|
-
return admittedFetch(
|
|
564
|
+
return admittedFetch(normalized, server);
|
|
506
565
|
};
|
|
507
566
|
if (unixPath !== undefined) {
|
|
508
567
|
reclaimStaleUnixSocket(unixPath);
|
|
@@ -538,6 +597,7 @@ function createServer(config) {
|
|
|
538
597
|
});
|
|
539
598
|
}
|
|
540
599
|
const server = runtime;
|
|
600
|
+
proxyOrigin?.bind(server);
|
|
541
601
|
return {
|
|
542
602
|
url: server.url.toString().replace(/\/$/, ""),
|
|
543
603
|
port: server.port ?? (unixPath !== undefined ? 0 : port),
|
|
@@ -1643,13 +1703,25 @@ function errorResponse2(error) {
|
|
|
1643
1703
|
res.headers.set("x-request-id", traceId);
|
|
1644
1704
|
return res;
|
|
1645
1705
|
}
|
|
1646
|
-
async function parseBody(req, schema) {
|
|
1647
|
-
|
|
1706
|
+
async function parseBody(req, schema, options = {}) {
|
|
1707
|
+
assertPositiveSafeInteger("maxBytes", options.maxBytes);
|
|
1708
|
+
const raw = await readJson(req, options.maxBytes ?? DEFAULT_PARSE_BODY_BYTES);
|
|
1648
1709
|
if (raw === null)
|
|
1649
1710
|
return null;
|
|
1650
1711
|
const parsed = schema.safeParse(raw);
|
|
1651
1712
|
return parsed.success ? parsed.data : null;
|
|
1652
1713
|
}
|
|
1714
|
+
var DEFAULT_PARSE_BODY_BYTES = 1024 * 1024;
|
|
1715
|
+
async function readJson(req, maxBytes) {
|
|
1716
|
+
try {
|
|
1717
|
+
const result = await readBoundedChunks(req.body, { maxBytes, signal: req.signal });
|
|
1718
|
+
if (result.kind === "over-limit")
|
|
1719
|
+
return null;
|
|
1720
|
+
return JSON.parse(new TextDecoder().decode(concatChunks(result.chunks, result.total)));
|
|
1721
|
+
} catch {
|
|
1722
|
+
return null;
|
|
1723
|
+
}
|
|
1724
|
+
}
|
|
1653
1725
|
// src/server/release-signal.ts
|
|
1654
1726
|
function bindReleaseRefreshSignal(marker, options = {}) {
|
|
1655
1727
|
const signal = options.signal ?? "SIGUSR2";
|
|
@@ -1755,6 +1827,7 @@ export {
|
|
|
1755
1827
|
createUnixClientTransport2 as createUnixClientTransport,
|
|
1756
1828
|
defineCookie,
|
|
1757
1829
|
defineMultipartStream2 as defineMultipartStream,
|
|
1830
|
+
defineRequestIngress2 as defineRequestIngress,
|
|
1758
1831
|
deriveCodeChallenge2 as deriveCodeChallenge,
|
|
1759
1832
|
errorCode2 as errorCode,
|
|
1760
1833
|
errorResponse2 as errorResponse,
|
|
@@ -16,9 +16,6 @@ import {
|
|
|
16
16
|
TELEGRAM_TEXT_LIMIT2,
|
|
17
17
|
truncateTelegramHtml2
|
|
18
18
|
} from "../index-nmaqxdx7.js";
|
|
19
|
-
import {
|
|
20
|
-
untilAborted
|
|
21
|
-
} from "../index-a5qr2rj6.js";
|
|
22
19
|
import {
|
|
23
20
|
writeFileAtomic2
|
|
24
21
|
} from "../index-07dcf2yn.js";
|
|
@@ -29,6 +26,9 @@ import {
|
|
|
29
26
|
MAX_TIMER_MS,
|
|
30
27
|
sleep
|
|
31
28
|
} from "../index-eemvahkc.js";
|
|
29
|
+
import {
|
|
30
|
+
untilAborted
|
|
31
|
+
} from "../index-a5qr2rj6.js";
|
|
32
32
|
import {
|
|
33
33
|
assertPositiveSafeInteger
|
|
34
34
|
} from "../index-0s4xebbg.js";
|
|
@@ -13,6 +13,10 @@ import {
|
|
|
13
13
|
import {
|
|
14
14
|
raceAbort
|
|
15
15
|
} from "../../index-b0kddvzw.js";
|
|
16
|
+
import {
|
|
17
|
+
readBoundedChunks,
|
|
18
|
+
concatChunks
|
|
19
|
+
} from "../../index-qndsr7f0.js";
|
|
16
20
|
import {
|
|
17
21
|
MAX_TIMER_MS
|
|
18
22
|
} from "../../index-eemvahkc.js";
|
|
@@ -243,40 +247,21 @@ function withConnectionDeadline(connectionName, context, callerSignal, body) {
|
|
|
243
247
|
});
|
|
244
248
|
}
|
|
245
249
|
async function readBoundedText(response, maxBytes, connectionName, context) {
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
const decoder = new TextDecoder;
|
|
251
|
-
let total = 0;
|
|
252
|
-
let text = "";
|
|
253
|
-
const cancel = () => void reader.cancel(context?.signal?.reason).catch(() => {
|
|
254
|
-
return;
|
|
255
|
-
});
|
|
256
|
-
context?.signal?.addEventListener("abort", cancel, { once: true });
|
|
257
|
-
try {
|
|
258
|
-
for (;; ) {
|
|
259
|
-
const { done, value } = await awaitConnection(reader.read(), context?.signal);
|
|
260
|
-
if (done)
|
|
261
|
-
break;
|
|
262
|
-
total += value.byteLength;
|
|
250
|
+
const result = await readBoundedChunks(response.body, {
|
|
251
|
+
maxBytes,
|
|
252
|
+
...context?.signal && { signal: context.signal },
|
|
253
|
+
onChunk: (chunk) => {
|
|
263
254
|
if (context)
|
|
264
|
-
context.observedReadBytes +=
|
|
265
|
-
if (total > maxBytes) {
|
|
266
|
-
throw new ConnectionResponseTooLargeError(connectionName, maxBytes, {
|
|
267
|
-
...context,
|
|
268
|
-
observedReadBytes: total
|
|
269
|
-
});
|
|
270
|
-
}
|
|
271
|
-
text += decoder.decode(value, { stream: true });
|
|
255
|
+
context.observedReadBytes += chunk.byteLength;
|
|
272
256
|
}
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
257
|
+
});
|
|
258
|
+
if (result.kind === "over-limit") {
|
|
259
|
+
throw new ConnectionResponseTooLargeError(connectionName, maxBytes, {
|
|
260
|
+
...context,
|
|
261
|
+
observedReadBytes: result.total
|
|
262
|
+
});
|
|
279
263
|
}
|
|
264
|
+
return new TextDecoder().decode(concatChunks(result.chunks, result.total));
|
|
280
265
|
}
|
|
281
266
|
async function readBoundedJson(response, maxBytes, connectionName, context) {
|
|
282
267
|
return JSON.parse(await readBoundedText(response, maxBytes, connectionName, context));
|
|
@@ -74,7 +74,7 @@ import {
|
|
|
74
74
|
WaitTimeoutError,
|
|
75
75
|
runWaitOperation,
|
|
76
76
|
createCli2
|
|
77
|
-
} from "../index-
|
|
77
|
+
} from "../index-syzngt7v.js";
|
|
78
78
|
import {
|
|
79
79
|
ManagedFilePathSchema2,
|
|
80
80
|
ManagedFileRefSchema2
|
|
@@ -97,8 +97,15 @@ import {
|
|
|
97
97
|
fetchGuarded,
|
|
98
98
|
fetchPinnedDocument,
|
|
99
99
|
readCapped
|
|
100
|
-
} from "../index-
|
|
100
|
+
} from "../index-t65erk4z.js";
|
|
101
101
|
import"../index-1bx1xv1k.js";
|
|
102
|
+
import {
|
|
103
|
+
readBoundedChunks,
|
|
104
|
+
concatChunks
|
|
105
|
+
} from "../index-qndsr7f0.js";
|
|
106
|
+
import {
|
|
107
|
+
assertPositiveSafeInteger
|
|
108
|
+
} from "../index-0s4xebbg.js";
|
|
102
109
|
import {
|
|
103
110
|
DEFAULT_CORS_ALLOW_HEADERS2
|
|
104
111
|
} from "../index-yk4g8805.js";
|
|
@@ -468,10 +475,29 @@ function redirectWith(uri, params) {
|
|
|
468
475
|
url.searchParams.set(key, value);
|
|
469
476
|
return new Response(null, { status: 302, headers: { Location: url.toString() } });
|
|
470
477
|
}
|
|
471
|
-
|
|
478
|
+
var DEFAULT_OAUTH_BODY_BYTES = 64 * 1024;
|
|
479
|
+
var tooLarge = () => oauthError("invalid_request", "Request body is too large", 413);
|
|
480
|
+
async function readBodyText(req, config) {
|
|
481
|
+
const result = await readBoundedChunks(req.body, {
|
|
482
|
+
maxBytes: config.maxRequestBodyBytes ?? DEFAULT_OAUTH_BODY_BYTES,
|
|
483
|
+
signal: req.signal
|
|
484
|
+
});
|
|
485
|
+
return result.kind === "over-limit" ? undefined : new TextDecoder().decode(concatChunks(result.chunks, result.total));
|
|
486
|
+
}
|
|
487
|
+
function parseJson(text) {
|
|
488
|
+
try {
|
|
489
|
+
return JSON.parse(text);
|
|
490
|
+
} catch {
|
|
491
|
+
return null;
|
|
492
|
+
}
|
|
493
|
+
}
|
|
494
|
+
async function readForm(req, config) {
|
|
495
|
+
const text = await readBodyText(req, config);
|
|
496
|
+
if (text === undefined)
|
|
497
|
+
return;
|
|
472
498
|
const contentType = req.headers.get("content-type") ?? "";
|
|
473
499
|
if (contentType.includes("application/json")) {
|
|
474
|
-
const body =
|
|
500
|
+
const body = parseJson(text);
|
|
475
501
|
const params = new URLSearchParams;
|
|
476
502
|
if (isRecord(body)) {
|
|
477
503
|
for (const [key, value] of Object.entries(body)) {
|
|
@@ -481,7 +507,7 @@ async function readForm(req) {
|
|
|
481
507
|
}
|
|
482
508
|
return params;
|
|
483
509
|
}
|
|
484
|
-
return new URLSearchParams(
|
|
510
|
+
return new URLSearchParams(text);
|
|
485
511
|
}
|
|
486
512
|
function metadataRoute(ctx) {
|
|
487
513
|
const { config } = ctx;
|
|
@@ -519,7 +545,10 @@ function registerRoute(ctx) {
|
|
|
519
545
|
return new Response(null, { status: 204, headers: PUBLIC_CORS });
|
|
520
546
|
if (req.method !== "POST")
|
|
521
547
|
return oauthError("invalid_request", "POST required", 405);
|
|
522
|
-
const
|
|
548
|
+
const text = await readBodyText(req, config);
|
|
549
|
+
if (text === undefined)
|
|
550
|
+
return tooLarge();
|
|
551
|
+
const meta = parseJson(text);
|
|
523
552
|
if (!isRecord(meta)) {
|
|
524
553
|
return oauthError("invalid_client_metadata", "Body must be a JSON object");
|
|
525
554
|
}
|
|
@@ -673,7 +702,9 @@ function tokenRoute(ctx) {
|
|
|
673
702
|
return new Response(null, { status: 204, headers: PUBLIC_CORS });
|
|
674
703
|
if (req.method !== "POST")
|
|
675
704
|
return oauthError("invalid_request", "POST required", 405);
|
|
676
|
-
const form = await readForm(req);
|
|
705
|
+
const form = await readForm(req, config);
|
|
706
|
+
if (!form)
|
|
707
|
+
return tooLarge();
|
|
677
708
|
const grantType = form.get("grant_type");
|
|
678
709
|
if (grantType === "authorization_code") {
|
|
679
710
|
const code = form.get("code");
|
|
@@ -745,6 +776,7 @@ function tokenRoute(ctx) {
|
|
|
745
776
|
|
|
746
777
|
// src/server/oauth/provider.ts
|
|
747
778
|
function mountOAuthProvider(config) {
|
|
779
|
+
assertPositiveSafeInteger("maxRequestBodyBytes", config.maxRequestBodyBytes);
|
|
748
780
|
const base = config.basePath ?? "/oauth";
|
|
749
781
|
const ttl = config.accessTokenTtlSec ?? 3600;
|
|
750
782
|
const registerPath = `${base}/register`;
|