@zuplo/runtime 7.13.13 → 7.14.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.
@@ -22,5 +22,5 @@
22
22
  * DEALINGS IN THE SOFTWARE.
23
23
  *--------------------------------------------------------------------------------------------*/
24
24
 
25
- import{G as p,L as c,O as u}from"../chunk-3DWWKPBI.js";import"../chunk-VP5Q3DEN.js";import{a as d}from"../chunk-QGAJTUPE.js";import"../chunk-A3QGJZO7.js";import{aa as i}from"../chunk-KA4STQE7.js";import"../chunk-UKQQD2JN.js";import{a as o}from"../chunk-TYV53J3B.js";function w(l={request:new Request("https://api.example.com")}){let e=[];function t(s){e.push(Promise.resolve(s))}return o(t,"waitUntil"),{context:new a({event:{waitUntil:t},route:l.route,originalRequest:l.request}),invokeResponse:o(async()=>{await Promise.all(e)},"invokeResponse")}}o(w,"createMockContext");var g={path:"/",methods:["GET"],handler:{module:{},export:"default"},raw:o(()=>({}),"raw")},a=class extends EventTarget{static{o(this,"MockZuploContext")}#e;#t;contextId;requestId;log;route;custom;incomingRequestProperties;parentContext;analyticsContext;constructor({event:e,route:t=g,parentContext:n,originalRequest:r}){super(),this.requestId=crypto.randomUUID(),this.contextId=crypto.randomUUID(),this.log={info:i.console.info,log:i.console.log,debug:i.console.debug,warn:i.console.warn,error:i.console.error,setLogProperties:o(()=>{},"setLogProperties")},this.custom={},this.route=t,this.incomingRequestProperties={ip:"203.0.113.7",asn:1234,asOrganization:"ORGANIZATION",city:"Seattle",region:"Washington",regionCode:"WA",colo:"SEA",continent:"NA",country:"US",postalCode:"98004",metroCode:"SEA",latitude:void 0,longitude:void 0,timezone:void 0,httpProtocol:void 0,clientCert:void 0,clientMtlsVerificationStatus:void 0,clientMtlsVerificationReason:void 0,clientCertFingerprintSha256:void 0,clientCertNotBefore:void 0,clientCertNotAfter:void 0,clientCertIssuerDn:void 0,clientCertSubjectDn:void 0},this.parentContext=n,this.#e=e,this.#t=r,this.analyticsContext=new c(this.requestId)}waitUntil(e){this.#e.waitUntil(e)}invokeInboundPolicy(e,t){throw new Error("Not implemented")}invokeOutboundPolicy(e,t,n){throw new Error("Not implemented")}invokeRoute(e,t){throw new Error("Not implemented")}addResponseSendingHook(e){throw new Error("Not implemented")}addResponseSendingFinalHook(e){throw new Error("Not implemented")}addPreRequestHandler(e,t){let n;try{n=u.getContextExtensions(this)}catch{n=u.initialize(this,new d(this.#t??new Request("https://api.example.com")))}n.preRequestPhase??="active",p(this,n,e,t)}get preRequestHandlers(){let e;try{e=u.getContextExtensions(this)}catch{return[]}return(e.preRequestState?.entries??[]).map(t=>({policyName:t.policyName,name:t.name}))}addEventListener(e,t,n){let r=o(s=>{try{typeof t=="function"?t(s):t.handleEvent(s)}catch(m){throw this.log.error(`Error invoking event ${e}. See following logs for details.`),m}},"wrapped");super.addEventListener(e,r,n)}};export{a as MockZuploContext,w as createMockContext};
25
+ import{G as p,L as c,O as u}from"../chunk-4SVXBKXH.js";import"../chunk-VP5Q3DEN.js";import{a as d}from"../chunk-QGAJTUPE.js";import"../chunk-A3QGJZO7.js";import{aa as i}from"../chunk-WUZE2HKB.js";import"../chunk-UKQQD2JN.js";import{a as o}from"../chunk-TYV53J3B.js";function w(l={request:new Request("https://api.example.com")}){let e=[];function t(s){e.push(Promise.resolve(s))}return o(t,"waitUntil"),{context:new a({event:{waitUntil:t},route:l.route,originalRequest:l.request}),invokeResponse:o(async()=>{await Promise.all(e)},"invokeResponse")}}o(w,"createMockContext");var g={path:"/",methods:["GET"],handler:{module:{},export:"default"},raw:o(()=>({}),"raw")},a=class extends EventTarget{static{o(this,"MockZuploContext")}#e;#t;contextId;requestId;log;route;custom;incomingRequestProperties;parentContext;analyticsContext;constructor({event:e,route:t=g,parentContext:n,originalRequest:r}){super(),this.requestId=crypto.randomUUID(),this.contextId=crypto.randomUUID(),this.log={info:i.console.info,log:i.console.log,debug:i.console.debug,warn:i.console.warn,error:i.console.error,setLogProperties:o(()=>{},"setLogProperties")},this.custom={},this.route=t,this.incomingRequestProperties={ip:"203.0.113.7",asn:1234,asOrganization:"ORGANIZATION",city:"Seattle",region:"Washington",regionCode:"WA",colo:"SEA",continent:"NA",country:"US",postalCode:"98004",metroCode:"SEA",latitude:void 0,longitude:void 0,timezone:void 0,httpProtocol:void 0,clientCert:void 0,clientMtlsVerificationStatus:void 0,clientMtlsVerificationReason:void 0,clientCertFingerprintSha256:void 0,clientCertNotBefore:void 0,clientCertNotAfter:void 0,clientCertIssuerDn:void 0,clientCertSubjectDn:void 0},this.parentContext=n,this.#e=e,this.#t=r,this.analyticsContext=new c(this.requestId)}waitUntil(e){this.#e.waitUntil(e)}invokeInboundPolicy(e,t){throw new Error("Not implemented")}invokeOutboundPolicy(e,t,n){throw new Error("Not implemented")}invokeRoute(e,t){throw new Error("Not implemented")}addResponseSendingHook(e){throw new Error("Not implemented")}addResponseSendingFinalHook(e){throw new Error("Not implemented")}addPreRequestHandler(e,t){let n;try{n=u.getContextExtensions(this)}catch{n=u.initialize(this,new d(this.#t??new Request("https://api.example.com")))}n.preRequestPhase??="active",p(this,n,e,t)}get preRequestHandlers(){let e;try{e=u.getContextExtensions(this)}catch{return[]}return(e.preRequestState?.entries??[]).map(t=>({policyName:t.policyName,name:t.name}))}addEventListener(e,t,n){let r=o(s=>{try{typeof t=="function"?t(s):t.handleEvent(s)}catch(m){throw this.log.error(`Error invoking event ${e}. See following logs for details.`),m}},"wrapped");super.addEventListener(e,r,n)}};export{a as MockZuploContext,w as createMockContext};
26
26
  //# sourceMappingURL=index.js.map
@@ -22,5 +22,5 @@
22
22
  * DEALINGS IN THE SOFTWARE.
23
23
  *--------------------------------------------------------------------------------------------*/
24
24
 
25
- import{Ia as a,Ja as l,Ka as c,La as o,Oa as p,Pa as y,Qa as m}from"../../chunk-KA4STQE7.js";import"../../chunk-UKQQD2JN.js";import{a as i}from"../../chunk-TYV53J3B.js";async function g(r,e){let t=typeof e.credentials=="function"?await e.credentials():e.credentials,n=r.method,d=n!=="GET"&&n!=="HEAD"&&r.body!=null?await r.arrayBuffer():null,s=await new o({method:n,url:r.url,headers:r.headers,body:d,accessKeyId:t.accessKeyId,secretAccessKey:t.secretAccessKey,sessionToken:t.sessionToken,service:e.service,region:e.region,signQuery:e.signQuery}).sign();return new Request(s.url.toString(),{method:s.method,headers:s.headers,body:s.body})}i(g,"signRequest");export{c as AwsClient,o as AwsV4Signer,p as fromTemporaryCredentials,y as fromWebToken,m as fromZuploIdentity,l as getAwsCredentialProvider,a as setAwsCredentialProvider,g as signRequest};
25
+ import{Ia as a,Ja as l,Ka as c,La as o,Oa as p,Pa as y,Qa as m}from"../../chunk-WUZE2HKB.js";import"../../chunk-UKQQD2JN.js";import{a as i}from"../../chunk-TYV53J3B.js";async function g(r,e){let t=typeof e.credentials=="function"?await e.credentials():e.credentials,n=r.method,d=n!=="GET"&&n!=="HEAD"&&r.body!=null?await r.arrayBuffer():null,s=await new o({method:n,url:r.url,headers:r.headers,body:d,accessKeyId:t.accessKeyId,secretAccessKey:t.secretAccessKey,sessionToken:t.sessionToken,service:e.service,region:e.region,signQuery:e.signQuery}).sign();return new Request(s.url.toString(),{method:s.method,headers:s.headers,body:s.body})}i(g,"signRequest");export{c as AwsClient,o as AwsV4Signer,p as fromTemporaryCredentials,y as fromWebToken,m as fromZuploIdentity,l as getAwsCredentialProvider,a as setAwsCredentialProvider,g as signRequest};
26
26
  //# sourceMappingURL=index.js.map
@@ -4230,7 +4230,8 @@ declare type CompatibilityDate =
4230
4230
  | "2024-03-14"
4231
4231
  | "2024-09-02"
4232
4232
  | "2025-02-06"
4233
- | "2026-03-01";
4233
+ | "2026-03-01"
4234
+ | "2026-11-06";
4234
4235
 
4235
4236
  declare interface CompatibilityFlags {
4236
4237
  /**
@@ -4309,6 +4310,8 @@ declare interface CompatibilityFlags {
4309
4310
  * value in its place. Other paths build exactly as before.
4310
4311
  *
4311
4312
  * The build and the MCP server handler read this flag.
4313
+ *
4314
+ * @compatibilityDate 2026-11-06
4312
4315
  */
4313
4316
  delimitOpenApiPathParameters: boolean;
4314
4317
  /**
@@ -4352,6 +4355,8 @@ declare interface CompatibilityFlags {
4352
4355
  * and `allOf`. `request-validation-inbound` validates with the same dialect,
4353
4356
  * `format` and pattern rules, and keeps its parameter type coercion
4354
4357
  * (specs/compat-improved-schema-validation.md).
4358
+ *
4359
+ * @compatibilityDate 2026-11-06
4355
4360
  */
4356
4361
  improvedSchemaValidation: boolean;
4357
4362
  /**
@@ -4368,6 +4373,8 @@ declare interface CompatibilityFlags {
4368
4373
  * Style Examples table says, for example `rgb[R]=100&rgb[G]=200` for a
4369
4374
  * `deepObject` and `.blue.black.brown` for a path `label`. Values are
4370
4375
  * percent-encoded as UTF-8 and a space is `%20`.
4376
+ *
4377
+ * @compatibilityDate 2026-11-06
4371
4378
  */
4372
4379
  serializeMcpParametersByStyle: boolean;
4373
4380
  /**
@@ -4394,6 +4401,8 @@ declare interface CompatibilityFlags {
4394
4401
  *
4395
4402
  * The build warns about every name that breaks the rule or repeats, with or
4396
4403
  * without this flag. Set `x-zuplo-route.mcp.name` to keep a name stable.
4404
+ *
4405
+ * @compatibilityDate 2026-11-06
4397
4406
  */
4398
4407
  sanitizeMcpToolNames: boolean;
4399
4408
  /**
@@ -4418,6 +4427,8 @@ declare interface CompatibilityFlags {
4418
4427
  * - Before `2025-03-26`: tools also leave out `annotations`.
4419
4428
  *
4420
4429
  * `_meta` is sent on every version.
4430
+ *
4431
+ * @compatibilityDate 2026-11-06
4421
4432
  */
4422
4433
  omitMcpFieldsNewerThanNegotiatedVersion: boolean;
4423
4434
  /**
@@ -4439,6 +4450,8 @@ declare interface CompatibilityFlags {
4439
4450
  * secrets, and options whose unset default grants more access keep their
4440
4451
  * current behavior. `BLANK_IS_NOT_UNSET` in
4441
4452
  * `policies/optional-string-options.spec.ts` lists them with the reason.
4453
+ *
4454
+ * @compatibilityDate 2026-11-06
4442
4455
  */
4443
4456
  treatBlankOptionalStringOptionsAsUnset: boolean;
4444
4457
  /**
@@ -4453,6 +4466,8 @@ declare interface CompatibilityFlags {
4453
4466
  * answers `resources/read` with JSON-RPC error -32603 naming the resource,
4454
4467
  * its URI and the status, with `data: { uri, status }`. The route's body is
4455
4468
  * not read or sent.
4469
+ *
4470
+ * @compatibilityDate 2026-11-06
4456
4471
  */
4457
4472
  failMcpResourceReadsOnErrorStatus: boolean;
4458
4473
  /**
@@ -4465,6 +4480,8 @@ declare interface CompatibilityFlags {
4465
4480
  *
4466
4481
  * After this flag: The build fails, naming the operation, its file and the
4467
4482
  * URI. The default URI (`mcp://resources/<name>`) is always valid.
4483
+ *
4484
+ * @compatibilityDate 2026-11-06
4468
4485
  */
4469
4486
  rejectInvalidMcpResourceUris: boolean;
4470
4487
  }
@@ -101,7 +101,8 @@ declare type CompatibilityDate =
101
101
  | "2024-03-14"
102
102
  | "2024-09-02"
103
103
  | "2025-02-06"
104
- | "2026-03-01";
104
+ | "2026-03-01"
105
+ | "2026-11-06";
105
106
 
106
107
  declare interface CompatibilityFlags {
107
108
  /**
@@ -180,6 +181,8 @@ declare interface CompatibilityFlags {
180
181
  * value in its place. Other paths build exactly as before.
181
182
  *
182
183
  * The build and the MCP server handler read this flag.
184
+ *
185
+ * @compatibilityDate 2026-11-06
183
186
  */
184
187
  delimitOpenApiPathParameters: boolean;
185
188
  /**
@@ -223,6 +226,8 @@ declare interface CompatibilityFlags {
223
226
  * and `allOf`. `request-validation-inbound` validates with the same dialect,
224
227
  * `format` and pattern rules, and keeps its parameter type coercion
225
228
  * (specs/compat-improved-schema-validation.md).
229
+ *
230
+ * @compatibilityDate 2026-11-06
226
231
  */
227
232
  improvedSchemaValidation: boolean;
228
233
  /**
@@ -239,6 +244,8 @@ declare interface CompatibilityFlags {
239
244
  * Style Examples table says, for example `rgb[R]=100&rgb[G]=200` for a
240
245
  * `deepObject` and `.blue.black.brown` for a path `label`. Values are
241
246
  * percent-encoded as UTF-8 and a space is `%20`.
247
+ *
248
+ * @compatibilityDate 2026-11-06
242
249
  */
243
250
  serializeMcpParametersByStyle: boolean;
244
251
  /**
@@ -265,6 +272,8 @@ declare interface CompatibilityFlags {
265
272
  *
266
273
  * The build warns about every name that breaks the rule or repeats, with or
267
274
  * without this flag. Set `x-zuplo-route.mcp.name` to keep a name stable.
275
+ *
276
+ * @compatibilityDate 2026-11-06
268
277
  */
269
278
  sanitizeMcpToolNames: boolean;
270
279
  /**
@@ -289,6 +298,8 @@ declare interface CompatibilityFlags {
289
298
  * - Before `2025-03-26`: tools also leave out `annotations`.
290
299
  *
291
300
  * `_meta` is sent on every version.
301
+ *
302
+ * @compatibilityDate 2026-11-06
292
303
  */
293
304
  omitMcpFieldsNewerThanNegotiatedVersion: boolean;
294
305
  /**
@@ -310,6 +321,8 @@ declare interface CompatibilityFlags {
310
321
  * secrets, and options whose unset default grants more access keep their
311
322
  * current behavior. `BLANK_IS_NOT_UNSET` in
312
323
  * `policies/optional-string-options.spec.ts` lists them with the reason.
324
+ *
325
+ * @compatibilityDate 2026-11-06
313
326
  */
314
327
  treatBlankOptionalStringOptionsAsUnset: boolean;
315
328
  /**
@@ -324,6 +337,8 @@ declare interface CompatibilityFlags {
324
337
  * answers `resources/read` with JSON-RPC error -32603 naming the resource,
325
338
  * its URI and the status, with `data: { uri, status }`. The route's body is
326
339
  * not read or sent.
340
+ *
341
+ * @compatibilityDate 2026-11-06
327
342
  */
328
343
  failMcpResourceReadsOnErrorStatus: boolean;
329
344
  /**
@@ -336,6 +351,8 @@ declare interface CompatibilityFlags {
336
351
  *
337
352
  * After this flag: The build fails, naming the operation, its file and the
338
353
  * URI. The default URI (`mcp://resources/<name>`) is always valid.
354
+ *
355
+ * @compatibilityDate 2026-11-06
339
356
  */
340
357
  rejectInvalidMcpResourceUris: boolean;
341
358
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@zuplo/runtime",
3
3
  "type": "module",
4
- "version": "7.13.13",
4
+ "version": "7.14.0",
5
5
  "repository": "https://github.com/zuplo/zuplo",
6
6
  "author": "Zuplo, Inc.",
7
7
  "exports": {