@zuplo/cli 6.72.16 → 6.73.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.
Files changed (37) hide show
  1. package/node_modules/@fastify/fast-json-stringify-compiler/node_modules/fast-uri/index.js +17 -0
  2. package/node_modules/@fastify/fast-json-stringify-compiler/node_modules/fast-uri/package.json +1 -1
  3. package/node_modules/@fastify/fast-json-stringify-compiler/node_modules/fast-uri/test/security.test.js +62 -0
  4. package/node_modules/@zuplo/core/package.json +1 -1
  5. package/node_modules/@zuplo/graphql/package.json +1 -1
  6. package/node_modules/@zuplo/openapi-tools/package.json +1 -1
  7. package/node_modules/@zuplo/otel/package.json +1 -1
  8. package/node_modules/@zuplo/runtime/out/esm/chunk-EJIF2ZML.js +26 -0
  9. package/node_modules/@zuplo/runtime/out/esm/chunk-EJIF2ZML.js.map +1 -0
  10. package/node_modules/@zuplo/runtime/out/esm/chunk-XLXPRKLV.js +385 -0
  11. package/node_modules/@zuplo/runtime/out/esm/chunk-XLXPRKLV.js.map +1 -0
  12. package/node_modules/@zuplo/runtime/out/esm/index.js +1 -1
  13. package/node_modules/@zuplo/runtime/out/esm/mcp-gateway/index.js +1 -1
  14. package/node_modules/@zuplo/runtime/out/esm/mocks/index.js +1 -1
  15. package/node_modules/@zuplo/runtime/out/types/index.d.ts +9 -1
  16. package/node_modules/@zuplo/runtime/out/types/mcp/messages/index.d.ts +1 -0
  17. package/node_modules/@zuplo/runtime/out/types/mcp-gateway/index.d.ts +1 -0
  18. package/node_modules/@zuplo/runtime/out/types/mocks/index.d.ts +1 -0
  19. package/node_modules/@zuplo/runtime/out/types/sdks/aws/index.d.ts +1 -0
  20. package/node_modules/@zuplo/runtime/package.json +1 -1
  21. package/node_modules/fast-uri/index.js +17 -0
  22. package/node_modules/fast-uri/package.json +1 -1
  23. package/node_modules/fast-uri/test/security.test.js +62 -0
  24. package/node_modules/hono/dist/cjs/helper/streaming/sse.js +4 -3
  25. package/node_modules/hono/dist/cjs/request.js +7 -2
  26. package/node_modules/hono/dist/cjs/utils/body.js +6 -0
  27. package/node_modules/hono/dist/helper/streaming/sse.js +4 -3
  28. package/node_modules/hono/dist/request.js +7 -2
  29. package/node_modules/hono/dist/types/middleware/combine/index.d.ts +1 -1
  30. package/node_modules/hono/dist/utils/body.js +6 -0
  31. package/node_modules/hono/package.json +1 -1
  32. package/package.json +6 -6
  33. package/node_modules/@zuplo/runtime/out/esm/chunk-52N4KSHA.js +0 -26
  34. package/node_modules/@zuplo/runtime/out/esm/chunk-52N4KSHA.js.map +0 -1
  35. package/node_modules/@zuplo/runtime/out/esm/chunk-KH6FKZ3E.js +0 -385
  36. package/node_modules/@zuplo/runtime/out/esm/chunk-KH6FKZ3E.js.map +0 -1
  37. /package/node_modules/@zuplo/runtime/out/esm/{chunk-KH6FKZ3E.js.LEGAL.txt → chunk-XLXPRKLV.js.LEGAL.txt} +0 -0
@@ -202,6 +202,10 @@ function serialize (cmpts, opts) {
202
202
 
203
203
  const URI_PARSE = /^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u
204
204
 
205
+ // Captures the authority component (between "//" and the next "/", "?" or "#"),
206
+ // with or without a scheme prefix, for the literal-backslash rejection below.
207
+ const AUTHORITY_PREFIX = /^(?:[^#/:?]+:)?\/\/([^/?#]*)/
208
+
205
209
  /**
206
210
  * @param {import('./types/index').URIComponent} parsed
207
211
  * @param {RegExpMatchArray} matches
@@ -248,6 +252,19 @@ function parseWithStatus (uri, opts) {
248
252
  }
249
253
  }
250
254
 
255
+ // A literal backslash (U+005C) is not a valid RFC 3986 URI character and is
256
+ // not an authority delimiter. Reject it in the authority rather than
257
+ // rewriting it: normalizing "\" -> "/" (WHATWG error recovery) could silently
258
+ // change the resource identified by an otherwise-invalid input, and lets "\"
259
+ // act as a host delimiter here while Node's native URL parses a different
260
+ // host (SSRF / redirect / origin-allowlist bypass). Percent-encoded %5C is
261
+ // untouched and remains valid encoded data.
262
+ const authorityMatch = uri.match(AUTHORITY_PREFIX)
263
+ if (authorityMatch !== null && authorityMatch[1].indexOf('\\') !== -1) {
264
+ parsed.error = 'URI authority must not contain a literal backslash.'
265
+ malformedAuthorityOrPort = true
266
+ }
267
+
251
268
  const matches = uri.match(URI_PARSE)
252
269
 
253
270
  if (matches) {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "fast-uri",
3
3
  "description": "Dependency-free RFC 3986 URI toolbox",
4
- "version": "4.1.0",
4
+ "version": "4.1.1",
5
5
  "main": "index.js",
6
6
  "type": "commonjs",
7
7
  "types": "types/index.d.ts",
@@ -159,3 +159,65 @@ test('parse canonicalises IDN / Unicode hosts to their ASCII form', (t) => {
159
159
  t.equal(parsed.host, expectedHost, `host canonicalised to ASCII: ${description}`)
160
160
  })
161
161
  })
162
+
163
+ test('parse rejects a literal backslash in the authority as malformed (RFC 3986)', (t) => {
164
+ // Regression for the host-confusion bypass: a literal "\" is invalid RFC 3986
165
+ // syntax and must be flagged malformed, not silently rewritten. Otherwise "\"
166
+ // acts as a host delimiter here while Node's native URL parses a different
167
+ // host, defeating a host-based SSRF/redirect/origin allowlist.
168
+ const cases = [
169
+ 'http://evil.com\\@allowed.com',
170
+ 'https://169.254.169.254\\@trusted.example.com',
171
+ 'http://127.0.0.1\\@public.example.com',
172
+ 'https://attacker.com\\@api.internal',
173
+ 'http://a\\@b',
174
+ 'ws://evil.com\\@allowed.com/chat',
175
+ 'wss://evil.com\\@allowed.com/chat',
176
+ 'http://evil.com\\%40allowed.com',
177
+ '//evil.com\\@allowed.com'
178
+ ]
179
+
180
+ t.plan(cases.length)
181
+
182
+ cases.forEach((input) => {
183
+ t.equal(
184
+ fastURI.parse(input).error,
185
+ 'URI authority must not contain a literal backslash.',
186
+ input
187
+ )
188
+ })
189
+ })
190
+
191
+ test('normalize does not canonicalize a literal-backslash URI into a different valid URL', (t) => {
192
+ const cases = [
193
+ 'http://evil.com\\@allowed.com',
194
+ 'https://attacker.com\\@api.internal'
195
+ ]
196
+
197
+ t.plan(cases.length)
198
+
199
+ cases.forEach((input) => {
200
+ t.equal(fastURI.normalize(input), input, input)
201
+ })
202
+ })
203
+
204
+ test('parse leaves percent-encoded %5C untouched as encoded data (not rejected)', (t) => {
205
+ // Only the literal "\" byte is rejected; %5C stays valid encoded data and
206
+ // does not diverge from the native URL parser, so it must not be flagged.
207
+ const input = 'http://evil.com%5C@allowed.com'
208
+ const parsed = fastURI.parse(input)
209
+
210
+ t.plan(2)
211
+ t.notOk(parsed.error, '%5C is valid encoded data, not malformed')
212
+ t.equal(parsed.host, new URL(input).hostname, '%5C host matches native URL (no divergence)')
213
+ })
214
+
215
+ test('parse does not reject a literal backslash in the query or fragment', (t) => {
216
+ // The rejection is scoped to the authority/path (the host-confusion surface);
217
+ // a backslash after "?"/"#" is normalized as encoded data as before.
218
+ const parsed = fastURI.parse('http://host.example.com/?x=\\y#z\\w')
219
+
220
+ t.plan(2)
221
+ t.notOk(parsed.error, 'backslash in query/fragment does not mark the URI malformed')
222
+ t.equal(parsed.host, 'host.example.com', 'host parsed normally')
223
+ })
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zuplo/core",
3
- "version": "6.72.16",
3
+ "version": "6.73.0",
4
4
  "repository": "https://github.com/zuplo/zuplo",
5
5
  "author": "Zuplo, Inc.",
6
6
  "type": "module",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@zuplo/graphql",
3
3
  "type": "module",
4
- "version": "6.72.16",
4
+ "version": "6.73.0",
5
5
  "repository": "https://github.com/zuplo/zuplo",
6
6
  "author": "Zuplo, Inc.",
7
7
  "exports": {
@@ -2,7 +2,7 @@
2
2
  "name": "@zuplo/openapi-tools",
3
3
  "type": "module",
4
4
  "sideEffects": false,
5
- "version": "6.72.16",
5
+ "version": "6.73.0",
6
6
  "description": "Tooling for OpenAPI files",
7
7
  "repository": {
8
8
  "type": "git",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@zuplo/otel",
3
3
  "type": "module",
4
- "version": "6.72.16",
4
+ "version": "6.73.0",
5
5
  "repository": "https://github.com/zuplo/zuplo",
6
6
  "author": "Zuplo, Inc.",
7
7
  "exports": {
@@ -0,0 +1,26 @@
1
+
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Zuplo, Inc. All rights reserved.
4
+ *
5
+ * This software and associated documentation files (the "Software") is intended to be used
6
+ * only by Zuplo customers solely to develop and test applications that will be deployed
7
+ * to Zuplo hosted services. You and others in your organization may use these files on your
8
+ * Development Devices solely for the above stated purpose.
9
+ *
10
+ * Outside of uses stated above, no license is granted for any other purpose including
11
+ * without limitation the rights to use, copy, modify, merge, publish, distribute,
12
+ * sublicense, host, and/or sell copies of the Software.
13
+ *
14
+ * The software may include third party components with separate legal notices or governed by
15
+ * other agreements, as described in licenses either embedded in or accompanying the Software.
16
+ *
17
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
18
+ * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
19
+ * PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
20
+ * FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
21
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22
+ * DEALINGS IN THE SOFTWARE.
23
+ *--------------------------------------------------------------------------------------------*/
24
+
25
+ import{Y as o}from"./chunk-VCMIY3WJ.js";import{a}from"./chunk-2WLR6ZDZ.js";var t={AI_GATEWAY_COST_SUM:"ai_gateway_cost_sum",AI_GATEWAY_REQUEST_COUNT:"ai_gateway_request_count",AI_GATEWAY_TOKEN_SUM:"ai_gateway_token_sum",AI_GATEWAY_LATENCY_HISTOGRAM:"ai_gateway_latency_histogram",AI_GATEWAY_WARNING_COUNT:"ai_gateway_warning_count",AI_GATEWAY_BLOCKED_COUNT:"ai_gateway_blocked_count",AI_GATEWAY_FALLBACK_COUNT:"ai_gateway_fallback_count",MCP_REQUEST_RECEIVED:"mcp_request_received",MCP_REQUEST_COMPLETED:"mcp_request_completed",MCP_REQUEST_REJECTED:"mcp_request_rejected",MCP_INITIALIZE_NEGOTIATED:"mcp_initialize_negotiated",MCP_CLIENT_UNSUPPORTED_BEHAVIOR:"mcp_client_unsupported_behavior",MCP_CAPABILITY_LISTED:"mcp_capability_listed",MCP_CAPABILITY_INVOKED:"mcp_capability_invoked",MCP_CAPABILITY_COMPLETED:"mcp_capability_completed",MCP_CAPABILITY_FAILED:"mcp_capability_failed",MCP_CAPABILITY_CONNECT_REQUIRED:"mcp_capability_connect_required",MCP_AUTH_DOWNSTREAM_TOKEN_VALIDATED:"mcp_auth_downstream_token_validated",MCP_AUTH_DOWNSTREAM_TOKEN_REJECTED:"mcp_auth_downstream_token_rejected",MCP_OAUTH_CLIENT_REGISTERED:"mcp_oauth_client_registered",MCP_OAUTH_AUTHORIZE_STARTED:"mcp_oauth_authorize_started",MCP_OAUTH_AUTHORIZE_AWAITING_SETUP:"mcp_oauth_authorize_awaiting_setup",MCP_OAUTH_TOKEN_ISSUED:"mcp_oauth_token_issued",MCP_OAUTH_TOKEN_REFRESH_ROTATED:"mcp_oauth_token_refresh_rotated",MCP_OAUTH_TOKEN_REVOKED:"mcp_oauth_token_revoked",MCP_AUTH_UPSTREAM_CONNECT_REQUIRED:"mcp_auth_upstream_connect_required",MCP_AUTH_UPSTREAM_CONNECT_STARTED:"mcp_auth_upstream_connect_started",MCP_AUTH_UPSTREAM_CALLBACK_RECEIVED:"mcp_auth_upstream_callback_received",MCP_AUTH_UPSTREAM_TOKEN_EXCHANGE_SUCCEEDED:"mcp_auth_upstream_token_exchange_succeeded",MCP_AUTH_UPSTREAM_TOKEN_EXCHANGE_FAILED:"mcp_auth_upstream_token_exchange_failed",MCP_AUTH_UPSTREAM_CREDENTIAL_RESOLVED:"mcp_auth_upstream_credential_resolved",MCP_AUTH_UPSTREAM_CREDENTIAL_MISSING:"mcp_auth_upstream_credential_missing",MCP_AUTH_UPSTREAM_RECONSENT_REQUIRED:"mcp_auth_upstream_reconsent_required",GRAPHQL_OPERATION:"graphql_operation",CACHE_OPERATION:"cache_operation"};var i=class{static{a(this,"BaseAnalyticsEvent")}eventId;requestId;timestamp;accountName;projectName;deploymentName;unit;value;constructor(e){this.eventId=e.eventId,this.requestId=e.requestId,this.timestamp=e.timestamp??new Date,this.accountName=e.accountName,this.projectName=e.projectName,this.deploymentName=e.deploymentName,this.unit=e.unit,this.value=e.value}};var s=class extends i{static{a(this,"AiGatewayBlockedCountEvent")}eventType=t.AI_GATEWAY_BLOCKED_COUNT;metadata;constructor(e){super(e),this.metadata=e.metadata,(!this.metadata.type||!this.metadata.type.trim())&&(this.metadata.type="unknown"),(!this.metadata.configId||!this.metadata.configId.trim())&&(this.metadata.configId="unknown")}};var p=class extends i{static{a(this,"AiGatewayCostSumEvent")}eventType=t.AI_GATEWAY_COST_SUM;metadata;constructor(e){super(e),this.metadata=e.metadata,(!this.metadata.model||!this.metadata.model.trim())&&(this.metadata.model="unknown"),(!this.metadata.provider||!this.metadata.provider.trim())&&(this.metadata.provider="unknown"),(!this.metadata.configId||!this.metadata.configId.trim())&&(this.metadata.configId="unknown")}};var _=class extends i{static{a(this,"AiGatewayFallbackCountEvent")}eventType=t.AI_GATEWAY_FALLBACK_COUNT;metadata;constructor(e){super(e),this.metadata=e.metadata,(!this.metadata.type||!this.metadata.type.trim())&&(this.metadata.type="unknown"),(!this.metadata.configId||!this.metadata.configId.trim())&&(this.metadata.configId="unknown")}};var l=class extends i{static{a(this,"AiGatewayLatencyHistogramEvent")}eventType=t.AI_GATEWAY_LATENCY_HISTOGRAM;metadata;constructor(e){super(e),this.metadata=e.metadata,(!this.metadata.model||!this.metadata.model.trim())&&(this.metadata.model="unknown"),(!this.metadata.provider||!this.metadata.provider.trim())&&(this.metadata.provider="unknown"),(!this.metadata.configId||!this.metadata.configId.trim())&&(this.metadata.configId="unknown")}};var T=class extends i{static{a(this,"AiGatewayRequestCountEvent")}eventType=t.AI_GATEWAY_REQUEST_COUNT;metadata;constructor(e){super(e),this.metadata=e.metadata,(!this.metadata.model||!this.metadata.model.trim())&&(this.metadata.model="unknown"),(!this.metadata.provider||!this.metadata.provider.trim())&&(this.metadata.provider="unknown"),(!this.metadata.configId||!this.metadata.configId.trim())&&(this.metadata.configId="unknown")}};var u=class extends i{static{a(this,"AiGatewayTokenSumEvent")}eventType=t.AI_GATEWAY_TOKEN_SUM;metadata;constructor(e){super(e),this.metadata=e.metadata,(!this.metadata.model||!this.metadata.model.trim())&&(this.metadata.model="unknown"),(!this.metadata.provider||!this.metadata.provider.trim())&&(this.metadata.provider="unknown"),(!this.metadata.configId||!this.metadata.configId.trim())&&(this.metadata.configId="unknown")}};var A=class extends i{static{a(this,"AiGatewayWarningCountEvent")}eventType=t.AI_GATEWAY_WARNING_COUNT;metadata;constructor(e){super(e),this.metadata=e.metadata,(!this.metadata.type||!this.metadata.type.trim())&&(this.metadata.type="unknown"),(!this.metadata.configId||!this.metadata.configId.trim())&&(this.metadata.configId="unknown")}};var m=class extends i{static{a(this,"CacheOperationEvent")}eventType=t.CACHE_OPERATION;metadata;constructor(e){super(e),this.metadata=e.metadata}};var c=class extends i{static{a(this,"GraphqlOperationEvent")}eventType=t.GRAPHQL_OPERATION;metadata;constructor(e){super(e),this.metadata=e.metadata}};var d=class extends i{static{a(this,"McpEvent")}eventType;metadata;constructor(e){super(e),this.eventType=e.eventType,this.metadata=e.metadata}};var r=a(n=>e=>new d({...e,eventType:n}),"buildMcpEvent"),g={[t.AI_GATEWAY_COST_SUM]:n=>new p(n),[t.AI_GATEWAY_REQUEST_COUNT]:n=>new T(n),[t.AI_GATEWAY_TOKEN_SUM]:n=>new u(n),[t.AI_GATEWAY_LATENCY_HISTOGRAM]:n=>new l(n),[t.AI_GATEWAY_WARNING_COUNT]:n=>new A(n),[t.AI_GATEWAY_BLOCKED_COUNT]:n=>new s(n),[t.AI_GATEWAY_FALLBACK_COUNT]:n=>new _(n),[t.MCP_REQUEST_RECEIVED]:r(t.MCP_REQUEST_RECEIVED),[t.MCP_REQUEST_COMPLETED]:r(t.MCP_REQUEST_COMPLETED),[t.MCP_REQUEST_REJECTED]:r(t.MCP_REQUEST_REJECTED),[t.MCP_INITIALIZE_NEGOTIATED]:r(t.MCP_INITIALIZE_NEGOTIATED),[t.MCP_CLIENT_UNSUPPORTED_BEHAVIOR]:r(t.MCP_CLIENT_UNSUPPORTED_BEHAVIOR),[t.MCP_CAPABILITY_LISTED]:r(t.MCP_CAPABILITY_LISTED),[t.MCP_CAPABILITY_INVOKED]:r(t.MCP_CAPABILITY_INVOKED),[t.MCP_CAPABILITY_COMPLETED]:r(t.MCP_CAPABILITY_COMPLETED),[t.MCP_CAPABILITY_FAILED]:r(t.MCP_CAPABILITY_FAILED),[t.MCP_CAPABILITY_CONNECT_REQUIRED]:r(t.MCP_CAPABILITY_CONNECT_REQUIRED),[t.MCP_AUTH_DOWNSTREAM_TOKEN_VALIDATED]:r(t.MCP_AUTH_DOWNSTREAM_TOKEN_VALIDATED),[t.MCP_AUTH_DOWNSTREAM_TOKEN_REJECTED]:r(t.MCP_AUTH_DOWNSTREAM_TOKEN_REJECTED),[t.MCP_OAUTH_CLIENT_REGISTERED]:r(t.MCP_OAUTH_CLIENT_REGISTERED),[t.MCP_OAUTH_AUTHORIZE_STARTED]:r(t.MCP_OAUTH_AUTHORIZE_STARTED),[t.MCP_OAUTH_AUTHORIZE_AWAITING_SETUP]:r(t.MCP_OAUTH_AUTHORIZE_AWAITING_SETUP),[t.MCP_OAUTH_TOKEN_ISSUED]:r(t.MCP_OAUTH_TOKEN_ISSUED),[t.MCP_OAUTH_TOKEN_REFRESH_ROTATED]:r(t.MCP_OAUTH_TOKEN_REFRESH_ROTATED),[t.MCP_OAUTH_TOKEN_REVOKED]:r(t.MCP_OAUTH_TOKEN_REVOKED),[t.MCP_AUTH_UPSTREAM_CONNECT_REQUIRED]:r(t.MCP_AUTH_UPSTREAM_CONNECT_REQUIRED),[t.MCP_AUTH_UPSTREAM_CONNECT_STARTED]:r(t.MCP_AUTH_UPSTREAM_CONNECT_STARTED),[t.MCP_AUTH_UPSTREAM_CALLBACK_RECEIVED]:r(t.MCP_AUTH_UPSTREAM_CALLBACK_RECEIVED),[t.MCP_AUTH_UPSTREAM_TOKEN_EXCHANGE_SUCCEEDED]:r(t.MCP_AUTH_UPSTREAM_TOKEN_EXCHANGE_SUCCEEDED),[t.MCP_AUTH_UPSTREAM_TOKEN_EXCHANGE_FAILED]:r(t.MCP_AUTH_UPSTREAM_TOKEN_EXCHANGE_FAILED),[t.MCP_AUTH_UPSTREAM_CREDENTIAL_RESOLVED]:r(t.MCP_AUTH_UPSTREAM_CREDENTIAL_RESOLVED),[t.MCP_AUTH_UPSTREAM_CREDENTIAL_MISSING]:r(t.MCP_AUTH_UPSTREAM_CREDENTIAL_MISSING),[t.MCP_AUTH_UPSTREAM_RECONSENT_REQUIRED]:r(t.MCP_AUTH_UPSTREAM_RECONSENT_REQUIRED),[t.GRAPHQL_OPERATION]:n=>new c(n),[t.CACHE_OPERATION]:n=>new m(n)};function I(n,e){let E=g[n];return E(e)}a(I,"createAnalyticsEvent");var O=class{static{a(this,"ZuploGatewayAnalyticsContext")}#t;#e;constructor(e){this.#t=[],this.#e=e}addAnalyticsEvent(e,E,y,C,M){let v=this.createAnalyticsEvent(e,E,y,C,M);this.#t.push(v)}flushAnalyticsEvents(){let e=[...this.#t];return this.#t.length=0,e}getAnalyticsEvents(){return[...this.#t]}createAnalyticsEvent(e,E,y,C,M){return I(E,{eventId:M??crypto.randomUUID(),requestId:this.#e,accountName:o.instance.accountName??"unknown",projectName:o.instance.projectName??"unknown",deploymentName:o.instance.deploymentName??"unknown",metadata:y,unit:C,value:e})}};export{t as a,O as b};
26
+ //# sourceMappingURL=chunk-EJIF2ZML.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@zuplo/runtime/metrics/v2/interfaces.ts","@zuplo/runtime/metrics/v2/events/base-analytics-event.ts","@zuplo/runtime/metrics/v2/events/ai-gateway-blocked-count.ts","@zuplo/runtime/metrics/v2/events/ai-gateway-cost-sum.ts","@zuplo/runtime/metrics/v2/events/ai-gateway-fallback-count.ts","@zuplo/runtime/metrics/v2/events/ai-gateway-latency-histogram.ts","@zuplo/runtime/metrics/v2/events/ai-gateway-request-count.ts","@zuplo/runtime/metrics/v2/events/ai-gateway-token-sum.ts","@zuplo/runtime/metrics/v2/events/ai-gateway-warning-count.ts","@zuplo/runtime/metrics/v2/events/cache-operation.ts","@zuplo/runtime/metrics/v2/events/graphql-operation-event.ts","@zuplo/runtime/metrics/v2/events/mcp-event.ts","@zuplo/runtime/metrics/v2/create-events.ts","@zuplo/runtime/metrics/v2/analytics-context.ts"],"mappings":"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","names":["EventType","BaseAnalyticsEvent","__name","options","AiGatewayBlockedCountEvent","BaseAnalyticsEvent","__name","EventType","options","AiGatewayCostSumEvent","BaseAnalyticsEvent","__name","EventType","options","AiGatewayFallbackCountEvent","BaseAnalyticsEvent","__name","EventType","options","AiGatewayLatencyHistogramEvent","BaseAnalyticsEvent","__name","EventType","options","AiGatewayRequestCountEvent","BaseAnalyticsEvent","__name","EventType","options","AiGatewayTokenSumEvent","BaseAnalyticsEvent","__name","EventType","options","AiGatewayWarningCountEvent","BaseAnalyticsEvent","__name","EventType","options","CacheOperationEvent","BaseAnalyticsEvent","__name","EventType","options","GraphqlOperationEvent","BaseAnalyticsEvent","__name","EventType","options","McpEvent","BaseAnalyticsEvent","__name","options","buildMcpEvent","__name","eventType","options","McpEvent","eventBuilders","EventType","AiGatewayCostSumEvent","AiGatewayRequestCountEvent","AiGatewayTokenSumEvent","AiGatewayLatencyHistogramEvent","AiGatewayWarningCountEvent","AiGatewayBlockedCountEvent","AiGatewayFallbackCountEvent","GraphqlOperationEvent","CacheOperationEvent","createAnalyticsEvent","builder","ZuploGatewayAnalyticsContext","__name","#events","#requestId","requestId","value","eventType","metadata","unit","eventId","event","events","createAnalyticsEvent","Environment"]}