@temporary-name/server 1.9.3-alpha.d9b25e999833b2b788712bccd5957f10e42416b0 → 1.9.3-alpha.e2d8d164da72fb570c2b14a4fa956c80f9e33cdc

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.
@@ -1,13 +1,13 @@
1
1
  import { resolveMaybeOptionalOptions } from '@temporary-name/shared';
2
2
  import { toStandardLazyRequest, sendStandardResponse } from '@temporary-name/standard-server-aws-lambda';
3
- import { S as StandardHandler, r as resolveFriendlyStandardHandleOptions } from '../../shared/server.BeBVpcA9.mjs';
3
+ import { S as StandardHandler, r as resolveFriendlyStandardHandleOptions } from '../../shared/server.CqTex_jI.mjs';
4
4
  import '@temporary-name/contract';
5
5
  import '@temporary-name/standard-server';
6
6
  import '@temporary-name/server';
7
7
  import 'rou3';
8
8
  import '../../shared/server.BYYf0Wn6.mjs';
9
9
  import '@temporary-name/zod';
10
- import '../../shared/server.BEHw7Eyx.mjs';
10
+ import '../../shared/server.Kxw442A9.mjs';
11
11
 
12
12
  class AwsLambdaHandler {
13
13
  sendStandardResponseOptions;
@@ -1,13 +1,13 @@
1
1
  import { ORPCError, toArray, intercept, resolveMaybeOptionalOptions } from '@temporary-name/shared';
2
2
  import { toStandardLazyRequest, toFetchResponse } from '@temporary-name/standard-server-fetch';
3
- import { C as CompositeStandardHandlerPlugin, S as StandardHandler, r as resolveFriendlyStandardHandleOptions } from '../../shared/server.BeBVpcA9.mjs';
3
+ import { C as CompositeStandardHandlerPlugin, S as StandardHandler, r as resolveFriendlyStandardHandleOptions } from '../../shared/server.CqTex_jI.mjs';
4
4
  import '@temporary-name/contract';
5
5
  import '@temporary-name/standard-server';
6
6
  import '@temporary-name/server';
7
7
  import 'rou3';
8
8
  import '@temporary-name/zod';
9
9
  import '../../shared/server.BYYf0Wn6.mjs';
10
- import '../../shared/server.BEHw7Eyx.mjs';
10
+ import '../../shared/server.Kxw442A9.mjs';
11
11
 
12
12
  class BodyLimitPlugin {
13
13
  maxBodySize;
@@ -1,14 +1,14 @@
1
1
  import { once, ORPCError, toArray, intercept, resolveMaybeOptionalOptions } from '@temporary-name/shared';
2
2
  import compression from '@temporary-name/interop/compression';
3
3
  import { toStandardLazyRequest, sendStandardResponse } from '@temporary-name/standard-server-node';
4
- import { C as CompositeStandardHandlerPlugin, S as StandardHandler, r as resolveFriendlyStandardHandleOptions } from '../../shared/server.BeBVpcA9.mjs';
4
+ import { C as CompositeStandardHandlerPlugin, S as StandardHandler, r as resolveFriendlyStandardHandleOptions } from '../../shared/server.CqTex_jI.mjs';
5
5
  import '@temporary-name/contract';
6
6
  import '@temporary-name/standard-server';
7
7
  import '@temporary-name/server';
8
8
  import 'rou3';
9
9
  import '@temporary-name/zod';
10
10
  import '../../shared/server.BYYf0Wn6.mjs';
11
- import '../../shared/server.BEHw7Eyx.mjs';
11
+ import '../../shared/server.Kxw442A9.mjs';
12
12
 
13
13
  class BodyLimitPlugin {
14
14
  maxBodySize;
@@ -6,7 +6,7 @@ export { F as FriendlyStandardHandleOptions, d as decodeParams, r as resolveFrie
6
6
  import '@temporary-name/contract';
7
7
  import '../../shared/server.C3RuMHWl.mjs';
8
8
 
9
- declare function decode(request: StandardLazyRequest, params: Record<string, string> | undefined, procedure: AnyProcedure): Promise<unknown>;
9
+ declare function decode(request: StandardLazyRequest, pathParams: Record<string, string> | undefined): Promise<unknown>;
10
10
  declare function encode(output: unknown, procedure: AnyProcedure): StandardResponse;
11
11
  declare function encodeError(error: ORPCError<any, any>): StandardResponse;
12
12
 
@@ -6,7 +6,7 @@ export { F as FriendlyStandardHandleOptions, d as decodeParams, r as resolveFrie
6
6
  import '@temporary-name/contract';
7
7
  import '../../shared/server.C3RuMHWl.js';
8
8
 
9
- declare function decode(request: StandardLazyRequest, params: Record<string, string> | undefined, procedure: AnyProcedure): Promise<unknown>;
9
+ declare function decode(request: StandardLazyRequest, pathParams: Record<string, string> | undefined): Promise<unknown>;
10
10
  declare function encode(output: unknown, procedure: AnyProcedure): StandardResponse;
11
11
  declare function encodeError(error: ORPCError<any, any>): StandardResponse;
12
12
 
@@ -1,9 +1,9 @@
1
- export { C as CompositeStandardHandlerPlugin, S as StandardHandler, b as StandardOpenAPIMatcher, d as decode, c as decodeParams, e as encode, a as encodeError, r as resolveFriendlyStandardHandleOptions, t as toRou3Pattern } from '../../shared/server.BeBVpcA9.mjs';
1
+ export { C as CompositeStandardHandlerPlugin, S as StandardHandler, b as StandardOpenAPIMatcher, d as decode, c as decodeParams, e as encode, a as encodeError, r as resolveFriendlyStandardHandleOptions, t as toRou3Pattern } from '../../shared/server.CqTex_jI.mjs';
2
2
  import '@temporary-name/shared';
3
3
  import '@temporary-name/standard-server';
4
4
  import '../../shared/server.BYYf0Wn6.mjs';
5
5
  import '@temporary-name/contract';
6
6
  import '@temporary-name/zod';
7
- import '../../shared/server.BEHw7Eyx.mjs';
7
+ import '../../shared/server.Kxw442A9.mjs';
8
8
  import '@temporary-name/server';
9
9
  import 'rou3';
package/dist/index.d.mts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { AnySchema, ErrorMap, Meta, EnhanceRouteOptions, MergedErrorMap, AnyContractRouter, AnyContractProcedure, ContractProcedure, Route, InferSchemaOutput, InferSchemaInput, ContractRouter, ContractProcedureDef, Schema, InferContractRouterErrorMap, InferContractRouterMeta, ErrorFromErrorMap } from '@temporary-name/contract';
2
- export { ContractProcedure, ContractProcedureDef, ContractRouter, ErrorMap, ErrorMapItem, InferSchemaInput, InferSchemaOutput, InputStructure, MergedErrorMap, Meta, OutputStructure, Route, Schema, ValidationError, eventIterator, validateORPCError } from '@temporary-name/contract';
2
+ export { ContractProcedure, ContractProcedureDef, ContractRouter, ErrorMap, ErrorMapItem, InferSchemaInput, InferSchemaOutput, MergedErrorMap, Meta, OutputStructure, Route, Schema, ValidationError, eventIterator, validateORPCError } from '@temporary-name/contract';
3
3
  import { ClientContext, MaybeOptionalOptions, IntersectPick, HTTPPath, ClientOptions, ClientPromiseResult } from '@temporary-name/shared';
4
4
  export { AsyncIteratorClass, ClientContext, EventPublisher, EventPublisherOptions, EventPublisherSubscribeIteratorOptions, HTTPMethod, HTTPPath, IntersectPick, ORPCError, Registry, ThrowableError, asyncIteratorToStream as eventIteratorToStream, isDefinedError, onError, onFinish, onStart, onSuccess, safe, streamToAsyncIteratorClass as streamToEventIterator } from '@temporary-name/shared';
5
5
  import { SchemaClass } from '@temporary-name/zod';
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { AnySchema, ErrorMap, Meta, EnhanceRouteOptions, MergedErrorMap, AnyContractRouter, AnyContractProcedure, ContractProcedure, Route, InferSchemaOutput, InferSchemaInput, ContractRouter, ContractProcedureDef, Schema, InferContractRouterErrorMap, InferContractRouterMeta, ErrorFromErrorMap } from '@temporary-name/contract';
2
- export { ContractProcedure, ContractProcedureDef, ContractRouter, ErrorMap, ErrorMapItem, InferSchemaInput, InferSchemaOutput, InputStructure, MergedErrorMap, Meta, OutputStructure, Route, Schema, ValidationError, eventIterator, validateORPCError } from '@temporary-name/contract';
2
+ export { ContractProcedure, ContractProcedureDef, ContractRouter, ErrorMap, ErrorMapItem, InferSchemaInput, InferSchemaOutput, MergedErrorMap, Meta, OutputStructure, Route, Schema, ValidationError, eventIterator, validateORPCError } from '@temporary-name/contract';
3
3
  import { ClientContext, MaybeOptionalOptions, IntersectPick, HTTPPath, ClientOptions, ClientPromiseResult } from '@temporary-name/shared';
4
4
  export { AsyncIteratorClass, ClientContext, EventPublisher, EventPublisherOptions, EventPublisherSubscribeIteratorOptions, HTTPMethod, HTTPPath, IntersectPick, ORPCError, Registry, ThrowableError, asyncIteratorToStream as eventIteratorToStream, isDefinedError, onError, onFinish, onStart, onSuccess, safe, streamToAsyncIteratorClass as streamToEventIterator } from '@temporary-name/shared';
5
5
  import { SchemaClass } from '@temporary-name/zod';
@@ -1,7 +1,7 @@
1
1
  import { isProcedure, resolveContractProcedures, ORPCError, createRouterClient } from '@temporary-name/server';
2
2
  import { fallbackContractConfig, getEventIteratorSchemaDetails } from '@temporary-name/contract';
3
3
  import { isObject, stringifyJSON, findDeepMatches, toArray, clone, value, toHttpPath, isORPCErrorStatus, fallbackORPCErrorStatus, fallbackORPCErrorMessage, resolveMaybeOptionalOptions, createORPCErrorFromJson } from '@temporary-name/shared';
4
- import { a as standardizeHTTPPath, j as jsonSerialize, g as getDynamicParams, d as deserialize, s as serialize } from '../shared/server.BEHw7Eyx.mjs';
4
+ import { a as standardizeHTTPPath, j as jsonSerialize, g as getDynamicParams, d as deserialize, s as serialize } from '../shared/server.Kxw442A9.mjs';
5
5
  import '@temporary-name/standard-server';
6
6
  import { TypeName } from '@temporary-name/interop/json-schema-typed/draft-2020-12';
7
7
  export { ContentEncoding as JSONSchemaContentEncoding, Format as JSONSchemaFormat, TypeName as JSONSchemaTypeName } from '@temporary-name/interop/json-schema-typed/draft-2020-12';
@@ -542,77 +542,43 @@ ${errors.join("\n\n")}`
542
542
  return;
543
543
  }
544
544
  const dynamicParams = getDynamicParams(def.route.path)?.map((v) => v.name);
545
- const inputStructure = fallbackContractConfig("defaultInputStructure", def.route.inputStructure);
546
545
  let [required, schema] = await this.converter.convert(def.inputSchema, {
547
546
  ...baseSchemaConvertOptions,
548
547
  strategy: "input",
549
- minStructureDepthForRef: dynamicParams?.length || inputStructure === "detailed" ? 1 : 0
548
+ minStructureDepthForRef: dynamicParams?.length ? 1 : 0
550
549
  });
551
550
  if (isAnySchema(schema) && !dynamicParams?.length) {
552
551
  return;
553
552
  }
554
- if (inputStructure === "compact") {
555
- if (dynamicParams?.length) {
556
- const error2 = new OpenAPIGeneratorError(
557
- 'When input structure is "compact", and path has dynamic params, input schema must be an object with all dynamic params as required.'
558
- );
559
- if (!isObjectSchema(schema)) {
560
- throw error2;
561
- }
562
- const [paramsSchema, rest] = separateObjectSchema(schema, dynamicParams);
563
- schema = rest;
564
- required = rest.required ? rest.required.length !== 0 : false;
565
- if (!checkParamsSchema(paramsSchema, dynamicParams)) {
566
- throw error2;
567
- }
568
- ref.parameters ??= [];
569
- ref.parameters.push(...toOpenAPIParameters(paramsSchema, "path"));
553
+ if (dynamicParams?.length) {
554
+ const error = new OpenAPIGeneratorError(
555
+ 'When input structure is "compact", and path has dynamic params, input schema must be an object with all dynamic params as required.'
556
+ );
557
+ if (!isObjectSchema(schema)) {
558
+ throw error;
570
559
  }
571
- if (method === "GET") {
572
- const resolvedSchema = resolveOpenAPIJsonSchemaRef(doc, schema);
573
- if (!isObjectSchema(resolvedSchema)) {
574
- throw new OpenAPIGeneratorError(
575
- 'When method is "GET", input schema must satisfy: object | any | unknown'
576
- );
577
- }
578
- ref.parameters ??= [];
579
- ref.parameters.push(...toOpenAPIParameters(resolvedSchema, "query"));
580
- } else {
581
- ref.requestBody = {
582
- required,
583
- content: toOpenAPIContent(schema)
584
- };
560
+ const [paramsSchema, rest] = separateObjectSchema(schema, dynamicParams);
561
+ schema = rest;
562
+ required = rest.required ? rest.required.length !== 0 : false;
563
+ if (!checkParamsSchema(paramsSchema, dynamicParams)) {
564
+ throw error;
585
565
  }
586
- return;
587
- }
588
- const error = new OpenAPIGeneratorError(
589
- 'When input structure is "detailed", input schema must satisfy: { params?: Record<string, unknown>, query?: Record<string, unknown>, headers?: Record<string, unknown>, body?: unknown }'
590
- );
591
- if (!isObjectSchema(schema)) {
592
- throw error;
593
- }
594
- const resolvedParamSchema = schema.properties?.params !== void 0 ? resolveOpenAPIJsonSchemaRef(doc, schema.properties.params) : void 0;
595
- if (dynamicParams?.length && (resolvedParamSchema === void 0 || !isObjectSchema(resolvedParamSchema) || !checkParamsSchema(resolvedParamSchema, dynamicParams))) {
596
- throw new OpenAPIGeneratorError(
597
- 'When input structure is "detailed" and path has dynamic params, the "params" schema must be an object with all dynamic params as required.'
598
- );
599
- }
600
- for (const from of ["params", "query", "headers"]) {
601
- const fromSchema = schema.properties?.[from];
602
- if (fromSchema !== void 0) {
603
- const resolvedSchema = resolveOpenAPIJsonSchemaRef(doc, fromSchema);
604
- if (!isObjectSchema(resolvedSchema)) {
605
- throw error;
606
- }
607
- const parameterIn = from === "params" ? "path" : from === "headers" ? "header" : "query";
608
- ref.parameters ??= [];
609
- ref.parameters.push(...toOpenAPIParameters(resolvedSchema, parameterIn));
566
+ ref.parameters ??= [];
567
+ ref.parameters.push(...toOpenAPIParameters(paramsSchema, "path"));
568
+ }
569
+ if (method === "GET") {
570
+ const resolvedSchema = resolveOpenAPIJsonSchemaRef(doc, schema);
571
+ if (!isObjectSchema(resolvedSchema)) {
572
+ throw new OpenAPIGeneratorError(
573
+ 'When method is "GET", input schema must satisfy: object | any | unknown'
574
+ );
610
575
  }
611
- }
612
- if (schema.properties?.body !== void 0) {
576
+ ref.parameters ??= [];
577
+ ref.parameters.push(...toOpenAPIParameters(resolvedSchema, "query"));
578
+ } else {
613
579
  ref.requestBody = {
614
- required: schema.required?.includes("body"),
615
- content: toOpenAPIContent(schema.properties.body)
580
+ required,
581
+ content: toOpenAPIContent(schema)
616
582
  };
617
583
  }
618
584
  }
@@ -2,44 +2,25 @@ import { isObject, stringifyJSON, isORPCErrorStatus, tryDecodeURIComponent, valu
2
2
  import { flattenHeader } from '@temporary-name/standard-server';
3
3
  import { c as createProcedureClient } from './server.BYYf0Wn6.mjs';
4
4
  import { fallbackContractConfig } from '@temporary-name/contract';
5
- import { d as deserialize, s as serialize, a as standardizeHTTPPath } from './server.BEHw7Eyx.mjs';
5
+ import { d as deserialize, s as serialize, b as bracketNotationDeserialize, a as standardizeHTTPPath } from './server.Kxw442A9.mjs';
6
6
  import { traverseContractProcedures, isProcedure, getLazyMeta, unlazy, getRouter, createContractedProcedure } from '@temporary-name/server';
7
7
  import { createRouter, addRoute, findRoute } from 'rou3';
8
8
 
9
- async function decode(request, params, procedure) {
10
- const inputStructure = fallbackContractConfig(
11
- "defaultInputStructure",
12
- procedure["~orpc"].route.inputStructure
13
- );
14
- if (inputStructure === "compact") {
15
- const data = request.method === "GET" ? deserialize(request.url.searchParams) : deserialize(await request.body());
16
- if (data === void 0) {
17
- return params;
18
- }
19
- if (isObject(data)) {
20
- return {
21
- ...params,
22
- ...data
23
- };
24
- }
25
- return data;
26
- }
9
+ async function decode(request, pathParams) {
27
10
  const deserializeSearchParams = () => {
28
- return deserialize(request.url.searchParams);
29
- };
30
- return {
31
- params,
32
- get query() {
33
- const value = deserializeSearchParams();
34
- Object.defineProperty(this, "query", { value, writable: true });
35
- return value;
36
- },
37
- set query(value) {
38
- Object.defineProperty(this, "query", { value, writable: true });
39
- },
40
- headers: request.headers,
41
- body: deserialize(await request.body())
11
+ return bracketNotationDeserialize(Array.from(request.url.searchParams.entries()));
42
12
  };
13
+ const data = request.method === "GET" ? deserializeSearchParams() : deserialize(await request.body());
14
+ if (data === void 0) {
15
+ return pathParams;
16
+ }
17
+ if (isObject(data)) {
18
+ return {
19
+ ...pathParams,
20
+ ...data
21
+ };
22
+ }
23
+ return data;
43
24
  }
44
25
  function encode(output, procedure) {
45
26
  const successStatus = fallbackContractConfig(
@@ -236,10 +217,7 @@ class StandardHandler {
236
217
  span?.setAttribute("rpc.system", ORPC_NAME);
237
218
  span?.setAttribute("rpc.method", match.path.join("."));
238
219
  step = "decode_input";
239
- let input = await runWithSpan(
240
- { name: "decode_input" },
241
- () => decode(request2, match.params, match.procedure)
242
- );
220
+ let input = await runWithSpan({ name: "decode_input" }, () => decode(request2, match.params));
243
221
  step = void 0;
244
222
  if (isAsyncIteratorObject(input)) {
245
223
  input = asyncIteratorWithSpan(
@@ -244,4 +244,4 @@ function getDynamicParams(path) {
244
244
  })) : void 0;
245
245
  }
246
246
 
247
- export { standardizeHTTPPath as a, deserialize as d, getDynamicParams as g, jsonSerialize as j, serialize as s };
247
+ export { standardizeHTTPPath as a, bracketNotationDeserialize as b, deserialize as d, getDynamicParams as g, jsonSerialize as j, serialize as s };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@temporary-name/server",
3
3
  "type": "module",
4
- "version": "1.9.3-alpha.d9b25e999833b2b788712bccd5957f10e42416b0",
4
+ "version": "1.9.3-alpha.e2d8d164da72fb570c2b14a4fa956c80f9e33cdc",
5
5
  "license": "MIT",
6
6
  "homepage": "https://www.stainless.com/",
7
7
  "repository": {
@@ -73,15 +73,15 @@
73
73
  "cookie": "^1.0.2",
74
74
  "rou3": "^0.7.7",
75
75
  "zod": "^4.1.12",
76
- "@temporary-name/interop": "1.9.3-alpha.d9b25e999833b2b788712bccd5957f10e42416b0",
77
- "@temporary-name/json-schema": "1.9.3-alpha.d9b25e999833b2b788712bccd5957f10e42416b0",
78
- "@temporary-name/standard-server": "1.9.3-alpha.d9b25e999833b2b788712bccd5957f10e42416b0",
79
- "@temporary-name/shared": "1.9.3-alpha.d9b25e999833b2b788712bccd5957f10e42416b0",
80
- "@temporary-name/standard-server-aws-lambda": "1.9.3-alpha.d9b25e999833b2b788712bccd5957f10e42416b0",
81
- "@temporary-name/standard-server-node": "1.9.3-alpha.d9b25e999833b2b788712bccd5957f10e42416b0",
82
- "@temporary-name/zod": "1.9.3-alpha.d9b25e999833b2b788712bccd5957f10e42416b0",
83
- "@temporary-name/contract": "1.9.3-alpha.d9b25e999833b2b788712bccd5957f10e42416b0",
84
- "@temporary-name/standard-server-fetch": "1.9.3-alpha.d9b25e999833b2b788712bccd5957f10e42416b0"
76
+ "@temporary-name/interop": "1.9.3-alpha.e2d8d164da72fb570c2b14a4fa956c80f9e33cdc",
77
+ "@temporary-name/json-schema": "1.9.3-alpha.e2d8d164da72fb570c2b14a4fa956c80f9e33cdc",
78
+ "@temporary-name/shared": "1.9.3-alpha.e2d8d164da72fb570c2b14a4fa956c80f9e33cdc",
79
+ "@temporary-name/standard-server": "1.9.3-alpha.e2d8d164da72fb570c2b14a4fa956c80f9e33cdc",
80
+ "@temporary-name/standard-server-aws-lambda": "1.9.3-alpha.e2d8d164da72fb570c2b14a4fa956c80f9e33cdc",
81
+ "@temporary-name/standard-server-fetch": "1.9.3-alpha.e2d8d164da72fb570c2b14a4fa956c80f9e33cdc",
82
+ "@temporary-name/standard-server-node": "1.9.3-alpha.e2d8d164da72fb570c2b14a4fa956c80f9e33cdc",
83
+ "@temporary-name/contract": "1.9.3-alpha.e2d8d164da72fb570c2b14a4fa956c80f9e33cdc",
84
+ "@temporary-name/zod": "1.9.3-alpha.e2d8d164da72fb570c2b14a4fa956c80f9e33cdc"
85
85
  },
86
86
  "devDependencies": {
87
87
  "@types/supertest": "^6.0.3",