403Webshell
Server IP : 159.203.156.69  /  Your IP : 216.73.217.172
Web Server : nginx/1.24.0
System : Linux main-ubuntu 6.8.0-71-generic #71-Ubuntu SMP PREEMPT_DYNAMIC Tue Jul 22 16:52:38 UTC 2025 x86_64
User : root ( 0)
PHP Version : 8.3.6
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /var/www/tanviranik.com/node_modules/vinext/dist/server/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/tanviranik.com/node_modules/vinext/dist/server/cache-proof.js.map
{"version":3,"file":"cache-proof.js","names":[],"sources":["../../src/server/cache-proof.ts"],"sourcesContent":["import type { AppRouteSemanticIds } from \"../routing/app-route-graph.js\";\nimport { fnv1a64 } from \"../utils/hash.js\";\n\nexport const CACHE_PROOF_MODEL_SCHEMA_VERSION = 0;\nexport type CacheProofModelSchemaVersion = 0;\n\nexport type CacheProofRejectionCode =\n  | \"CP_MODEL_DISABLED\"\n  | \"CP_DIMENSION_COUNT_EXCEEDED\"\n  | \"CP_DIMENSION_NAME_MISSING\"\n  | \"CP_DIMENSION_NAME_TOO_LONG\"\n  | \"CP_DIMENSION_VALUE_COUNT_EXCEEDED\"\n  | \"CP_DIMENSION_VALUE_TOO_LONG\"\n  | \"CP_DIMENSION_VALUES_MISSING\"\n  | \"CP_ENCODED_VARIANT_TOO_LONG\"\n  | \"CP_INVALID_VARIANT_BUDGET\"\n  | \"CP_ROUTE_VARIANT_CEILING_EXCEEDED\"\n  | \"CP_UNSAFE_PUBLIC_DIMENSION\"\n  | \"CP_BOUNDARY_OUTCOME_MISMATCH\"\n  | \"CP_BOUNDARY_OUTCOME_UNKNOWN\";\n\nexport type CacheProofTraceFieldValue = string | number | boolean | null | readonly string[];\n\nexport type CacheProofTraceFields = Readonly<Record<string, CacheProofTraceFieldValue>>;\n\nexport type CacheProofBreakerFallbackMode = \"renderFresh\" | \"privateUncacheable\";\nexport type CacheProofFallbackScope = \"affectedOutput\" | \"route\";\n\nexport type CacheProofBreakerFallback = Readonly<{\n  kind: \"breakerFallback\";\n  code: CacheProofRejectionCode;\n  mode: CacheProofBreakerFallbackMode;\n  scope: CacheProofFallbackScope;\n  fields: CacheProofTraceFields;\n}>;\n\nexport type CacheVariantBudget = Readonly<{\n  maxDimensionCount: number;\n  maxDimensionNameLength: number;\n  maxDimensionValueLength: number;\n  maxEncodedLength: number;\n  maxValuesPerDimension: number;\n  maxVariantsPerRoute: number;\n}>;\n\nexport const DEFAULT_CACHE_VARIANT_BUDGET = {\n  maxDimensionCount: 8,\n  maxDimensionNameLength: 64,\n  maxDimensionValueLength: 256,\n  maxEncodedLength: 1024,\n  maxValuesPerDimension: 8,\n  maxVariantsPerRoute: 64,\n} satisfies CacheVariantBudget;\n\nexport type CacheVariantDimensionSource =\n  | \"auth\"\n  | \"cookie\"\n  | \"custom\"\n  | \"draft-mode\"\n  | \"header\"\n  | \"interception\"\n  | \"mounted-slots\"\n  | \"params\"\n  | \"route\"\n  | \"search\"\n  | \"session\";\n\nexport type CacheVariantDimensionPrivacy = \"internal\" | \"private\" | \"public\";\n\nexport type CacheVariantDimensionInput = Readonly<{\n  name: string;\n  privacy: CacheVariantDimensionPrivacy;\n  source: CacheVariantDimensionSource;\n  values: readonly string[];\n}>;\n\nexport type CacheVariantDimension = Readonly<{\n  encoded: string;\n  name: string;\n  privacy: CacheVariantDimensionPrivacy;\n  source: CacheVariantDimensionSource;\n  valueCount: number;\n  valueHashes: readonly string[];\n}>;\n\nexport type CacheProofOutputScope =\n  | Readonly<{\n      kind: \"app-html\";\n      renderEpoch: string | null;\n      rootBoundaryId: string | null;\n      routeId: string;\n    }>\n  | Readonly<{\n      kind: \"app-rsc\";\n      mountedSlotsFingerprint: string | null;\n      renderEpoch: string | null;\n      rootBoundaryId: string | null;\n      routeId: string;\n    }>\n  | Readonly<{\n      kind: \"layout\";\n      layoutId: string;\n      rootBoundaryId: string | null;\n      routeId: string;\n    }>\n  | Readonly<{\n      kind: \"page\";\n      pageId: string;\n      rootBoundaryId: string | null;\n      routeId: string;\n    }>\n  | Readonly<{\n      kind: \"route-handler\";\n      routeHandlerId: string;\n      routeId: string;\n    }>\n  | Readonly<{\n      kind: \"slot\";\n      rootBoundaryId: string | null;\n      routeId: string;\n      slotId: string;\n    }>\n  | Readonly<{\n      kind: \"template\";\n      rootBoundaryId: string | null;\n      routeId: string;\n      templateId: string;\n    }>;\n\nexport type CacheVariant = Readonly<{\n  budget: CacheVariantBudget;\n  cacheKey: string;\n  dimensions: readonly CacheVariantDimension[];\n  encodedLength: number;\n  output: CacheProofOutputScope;\n  schemaVersion: CacheProofModelSchemaVersion;\n}>;\n\nexport type BuildCacheVariantInput = Readonly<{\n  budget: CacheVariantBudget;\n  dimensions: readonly CacheVariantDimensionInput[];\n  existingVariantCount: number;\n  output: CacheProofOutputScope;\n}>;\n\nexport type BuildCacheVariantResult =\n  | Readonly<{ kind: \"variant\"; variant: CacheVariant }>\n  | Readonly<{ kind: \"breakerFallback\"; fallback: CacheProofBreakerFallback }>;\n\nexport type AppRouteCacheProofGraphScopeInput = Readonly<{\n  ids: AppRouteSemanticIds;\n}>;\n\nexport type AppRouteCacheProofGraphScope = Readonly<{\n  layoutIds: readonly string[];\n  pageId: string | null;\n  routeHandlerId: string | null;\n  routeId: string;\n  slotIds: readonly string[];\n  templateIds: readonly string[];\n}>;\n\nexport type BoundaryOutcome =\n  | Readonly<{ kind: \"error\"; digest?: string }>\n  | Readonly<{ kind: \"forbidden\" }>\n  | Readonly<{ kind: \"globalError\"; digest?: string }>\n  | Readonly<{ kind: \"notFound\" }>\n  | Readonly<{ kind: \"redirect\"; location: string; status: number }>\n  | Readonly<{ kind: \"success\" }>\n  | Readonly<{ kind: \"unauthorized\" }>\n  | Readonly<{ kind: \"unknown\" }>;\n\nexport type BoundaryOutcomeCompatibility =\n  | Readonly<{\n      kind: \"compatible\";\n      outcome: BoundaryOutcome;\n      reason: \"CP_BOUNDARY_OUTCOME_MATCH\";\n    }>\n  | Readonly<{\n      candidate: BoundaryOutcome;\n      expected: BoundaryOutcome;\n      fallback: CacheProofBreakerFallback;\n      kind: \"incompatible\";\n    }>;\n\nexport type RenderObservationCompleteness = \"complete\" | \"partial\" | \"unknown\";\nexport type RenderCacheability = \"private\" | \"public\" | \"uncacheable\" | \"unknown\";\nexport type RenderRequestApiKind =\n  | \"connection\"\n  | \"cookies\"\n  | \"draftMode\"\n  | \"headers\"\n  | \"params\"\n  | \"searchParams\";\nexport type RenderRequestApiStatus = \"notObserved\" | \"observed\" | \"unknown\";\n\nexport type RenderRequestApiObservation = Readonly<{\n  kind: RenderRequestApiKind;\n  status: RenderRequestApiStatus;\n}>;\n\nexport type RenderObservation = Readonly<{\n  boundaryOutcome: BoundaryOutcome;\n  cacheTags: readonly string[];\n  cacheability: RenderCacheability;\n  completeness: RenderObservationCompleteness;\n  dynamicFetches: readonly string[];\n  output: CacheProofOutputScope;\n  pathTags: readonly string[];\n  requestApis: readonly RenderRequestApiObservation[];\n  schemaVersion: CacheProofModelSchemaVersion;\n}>;\n\nexport type BuildRenderObservationInput = Readonly<{\n  boundaryOutcome: BoundaryOutcome;\n  cacheTags: readonly string[];\n  cacheability: RenderCacheability;\n  completeness: RenderObservationCompleteness;\n  dynamicFetches: readonly string[];\n  output: CacheProofOutputScope;\n  pathTags: readonly string[];\n  requestApis: readonly RenderRequestApiObservation[];\n}>;\n\nexport type DisabledCacheProofDecision = Readonly<{\n  canReuse: false;\n  fallback: CacheProofBreakerFallback;\n  kind: \"disabled\";\n  observation: RenderObservation;\n  variant: CacheVariant;\n}>;\n\nexport type CreateDisabledCacheProofDecisionInput = Readonly<{\n  observation: RenderObservation;\n  variant: CacheVariant;\n}>;\n\nconst PUBLIC_UNSAFE_DIMENSION_SOURCES: ReadonlySet<CacheVariantDimensionSource> = new Set([\n  \"auth\",\n  \"cookie\",\n  \"draft-mode\",\n  \"header\",\n  \"session\",\n]);\n\ntype CacheVariantDimensionAccumulator = {\n  name: string;\n  privacy: CacheVariantDimensionPrivacy;\n  source: CacheVariantDimensionSource;\n  values: string[];\n};\n\ntype DimensionAccumulatorByName = Map<string, CacheVariantDimensionAccumulator>;\ntype DimensionAccumulatorByPrivacy = Map<CacheVariantDimensionPrivacy, DimensionAccumulatorByName>;\ntype DimensionAccumulatorBySource = Map<CacheVariantDimensionSource, DimensionAccumulatorByPrivacy>;\n\nfunction buildBreakerFallback(\n  code: CacheProofRejectionCode,\n  fields: CacheProofTraceFields = {},\n  mode: CacheProofBreakerFallbackMode = \"renderFresh\",\n  scope: CacheProofFallbackScope = \"affectedOutput\",\n): CacheProofBreakerFallback {\n  return {\n    kind: \"breakerFallback\",\n    code,\n    mode,\n    scope,\n    fields,\n  };\n}\n\nfunction sortedUnique(values: readonly string[]): string[] {\n  return [...new Set(values)].sort();\n}\n\nfunction normalizeDimensionName(name: string): string {\n  return name.trim().toLowerCase();\n}\n\nfunction redactValue(value: string): string {\n  return `h:${fnv1a64(value)}`;\n}\n\nfunction sortedUniqueRedacted(values: readonly string[]): string[] {\n  return sortedUnique(sortedUnique(values).map(redactValue));\n}\n\nfunction encodeParts(parts: readonly unknown[]): string {\n  return JSON.stringify(parts);\n}\n\nfunction compareDimensions(a: CacheVariantDimension, b: CacheVariantDimension): number {\n  return (\n    a.source.localeCompare(b.source) ||\n    a.name.localeCompare(b.name) ||\n    a.privacy.localeCompare(b.privacy)\n  );\n}\n\nfunction encodeNullable(value: string | null): string | null {\n  return value;\n}\n\nfunction assertNever(value: never): never {\n  throw new Error(`Unhandled cache proof variant: ${String(value)}`);\n}\n\nfunction encodeOutputScope(output: CacheProofOutputScope): string {\n  switch (output.kind) {\n    case \"app-html\":\n      return encodeParts([\n        output.kind,\n        output.routeId,\n        encodeNullable(output.rootBoundaryId),\n        encodeNullable(output.renderEpoch),\n      ]);\n    case \"app-rsc\":\n      return encodeParts([\n        output.kind,\n        output.routeId,\n        encodeNullable(output.rootBoundaryId),\n        encodeNullable(output.renderEpoch),\n        encodeNullable(output.mountedSlotsFingerprint),\n      ]);\n    case \"layout\":\n      return encodeParts([\n        output.kind,\n        output.routeId,\n        output.layoutId,\n        encodeNullable(output.rootBoundaryId),\n      ]);\n    case \"page\":\n      return encodeParts([\n        output.kind,\n        output.routeId,\n        output.pageId,\n        encodeNullable(output.rootBoundaryId),\n      ]);\n    case \"route-handler\":\n      return encodeParts([output.kind, output.routeId, output.routeHandlerId]);\n    case \"slot\":\n      return encodeParts([\n        output.kind,\n        output.routeId,\n        output.slotId,\n        encodeNullable(output.rootBoundaryId),\n      ]);\n    case \"template\":\n      return encodeParts([\n        output.kind,\n        output.routeId,\n        output.templateId,\n        encodeNullable(output.rootBoundaryId),\n      ]);\n    default:\n      return assertNever(output);\n  }\n}\n\nfunction validateBudgetNumber(name: string, value: number): CacheProofBreakerFallback | null {\n  if (Number.isInteger(value) && value >= 0) return null;\n  return buildBreakerFallback(\"CP_INVALID_VARIANT_BUDGET\", {\n    budgetField: name,\n  });\n}\n\nfunction validateBudget(budget: CacheVariantBudget): CacheProofBreakerFallback | null {\n  return (\n    validateBudgetNumber(\"maxDimensionCount\", budget.maxDimensionCount) ??\n    validateBudgetNumber(\"maxDimensionNameLength\", budget.maxDimensionNameLength) ??\n    validateBudgetNumber(\"maxDimensionValueLength\", budget.maxDimensionValueLength) ??\n    validateBudgetNumber(\"maxEncodedLength\", budget.maxEncodedLength) ??\n    validateBudgetNumber(\"maxValuesPerDimension\", budget.maxValuesPerDimension) ??\n    validateBudgetNumber(\"maxVariantsPerRoute\", budget.maxVariantsPerRoute)\n  );\n}\n\nfunction buildDimension(\n  input: CacheVariantDimensionInput,\n  budget: CacheVariantBudget,\n): CacheVariantDimension | CacheProofBreakerFallback {\n  const name = normalizeDimensionName(input.name);\n  if (name.length === 0) {\n    return buildBreakerFallback(\"CP_DIMENSION_NAME_MISSING\", {\n      source: input.source,\n    });\n  }\n  if (name.length > budget.maxDimensionNameLength) {\n    return buildBreakerFallback(\"CP_DIMENSION_NAME_TOO_LONG\", {\n      maxLength: budget.maxDimensionNameLength,\n      nameHash: redactValue(name),\n      source: input.source,\n    });\n  }\n  if (input.privacy === \"public\" && PUBLIC_UNSAFE_DIMENSION_SOURCES.has(input.source)) {\n    return buildBreakerFallback(\n      \"CP_UNSAFE_PUBLIC_DIMENSION\",\n      {\n        name,\n        source: input.source,\n      },\n      \"privateUncacheable\",\n    );\n  }\n\n  const values = sortedUnique(input.values);\n  if (values.length === 0) {\n    return buildBreakerFallback(\"CP_DIMENSION_VALUES_MISSING\", {\n      name,\n      source: input.source,\n    });\n  }\n  if (values.length > budget.maxValuesPerDimension) {\n    return buildBreakerFallback(\"CP_DIMENSION_VALUE_COUNT_EXCEEDED\", {\n      maxValues: budget.maxValuesPerDimension,\n      name,\n      source: input.source,\n      valueCount: values.length,\n    });\n  }\n  for (const value of values) {\n    if (value.length > budget.maxDimensionValueLength) {\n      return buildBreakerFallback(\"CP_DIMENSION_VALUE_TOO_LONG\", {\n        maxLength: budget.maxDimensionValueLength,\n        name,\n        source: input.source,\n        valueHash: redactValue(value),\n      });\n    }\n  }\n\n  const valueHashes = values.map(redactValue);\n  const encoded = encodeParts([input.source, input.privacy, name, valueHashes]);\n\n  return {\n    encoded,\n    name,\n    privacy: input.privacy,\n    source: input.source,\n    valueCount: valueHashes.length,\n    valueHashes,\n  };\n}\n\nfunction isCacheProofBreakerFallback(\n  value: CacheVariantDimension | CacheProofBreakerFallback,\n): value is CacheProofBreakerFallback {\n  return \"code\" in value;\n}\n\nfunction getDimensionBucket(\n  bySource: DimensionAccumulatorBySource,\n  source: CacheVariantDimensionSource,\n  privacy: CacheVariantDimensionPrivacy,\n): DimensionAccumulatorByName {\n  const existingByPrivacy = bySource.get(source);\n  const byPrivacy = existingByPrivacy ?? new Map();\n  if (!existingByPrivacy) {\n    bySource.set(source, byPrivacy);\n  }\n\n  const existingByName = byPrivacy.get(privacy);\n  const byName = existingByName ?? new Map();\n  if (!existingByName) {\n    byPrivacy.set(privacy, byName);\n  }\n\n  return byName;\n}\n\nfunction mergeDimensionInputs(\n  dimensions: readonly CacheVariantDimensionInput[],\n): CacheVariantDimensionInput[] {\n  const bySource: DimensionAccumulatorBySource = new Map();\n  const orderedDimensions: CacheVariantDimensionAccumulator[] = [];\n\n  for (const dimension of dimensions) {\n    const name = normalizeDimensionName(dimension.name);\n    const bucket = getDimensionBucket(bySource, dimension.source, dimension.privacy);\n    const existing = bucket.get(name);\n    if (existing) {\n      existing.values.push(...dimension.values);\n      continue;\n    }\n    const accumulator = {\n      name,\n      privacy: dimension.privacy,\n      source: dimension.source,\n      values: [...dimension.values],\n    };\n    bucket.set(name, accumulator);\n    orderedDimensions.push(accumulator);\n  }\n\n  return orderedDimensions;\n}\n\nexport function createAppRouteCacheProofGraphScope(\n  route: AppRouteCacheProofGraphScopeInput,\n): AppRouteCacheProofGraphScope {\n  return {\n    routeId: route.ids.route,\n    pageId: route.ids.page,\n    routeHandlerId: route.ids.routeHandler,\n    layoutIds: [...route.ids.layouts],\n    templateIds: [...route.ids.templates],\n    slotIds: sortedUnique(Object.values(route.ids.slots)),\n  };\n}\n\nexport function buildCacheVariant(input: BuildCacheVariantInput): BuildCacheVariantResult {\n  const budgetFallback = validateBudget(input.budget);\n  if (budgetFallback) {\n    return {\n      kind: \"breakerFallback\",\n      fallback: budgetFallback,\n    };\n  }\n  if (input.existingVariantCount >= input.budget.maxVariantsPerRoute) {\n    return {\n      kind: \"breakerFallback\",\n      fallback: buildBreakerFallback(\n        \"CP_ROUTE_VARIANT_CEILING_EXCEEDED\",\n        {\n          existingVariantCount: input.existingVariantCount,\n          maxVariantsPerRoute: input.budget.maxVariantsPerRoute,\n          routeId: input.output.routeId,\n        },\n        \"privateUncacheable\",\n        \"route\",\n      ),\n    };\n  }\n  const dimensionInputs = mergeDimensionInputs(input.dimensions);\n  if (dimensionInputs.length > input.budget.maxDimensionCount) {\n    return {\n      kind: \"breakerFallback\",\n      fallback: buildBreakerFallback(\"CP_DIMENSION_COUNT_EXCEEDED\", {\n        dimensionCount: dimensionInputs.length,\n        maxDimensionCount: input.budget.maxDimensionCount,\n        routeId: input.output.routeId,\n      }),\n    };\n  }\n\n  const dimensions: CacheVariantDimension[] = [];\n  for (const dimensionInput of dimensionInputs) {\n    const dimension = buildDimension(dimensionInput, input.budget);\n    if (isCacheProofBreakerFallback(dimension)) {\n      return {\n        kind: \"breakerFallback\",\n        fallback: dimension,\n      };\n    }\n    dimensions.push(dimension);\n  }\n  dimensions.sort(compareDimensions);\n\n  const encoded = [\n    `schema:${CACHE_PROOF_MODEL_SCHEMA_VERSION}`,\n    encodeOutputScope(input.output),\n    ...dimensions.map((dimension) => dimension.encoded),\n  ].join(\"|\");\n\n  if (encoded.length > input.budget.maxEncodedLength) {\n    return {\n      kind: \"breakerFallback\",\n      fallback: buildBreakerFallback(\"CP_ENCODED_VARIANT_TOO_LONG\", {\n        encodedHash: redactValue(encoded),\n        encodedLength: encoded.length,\n        maxEncodedLength: input.budget.maxEncodedLength,\n        routeId: input.output.routeId,\n      }),\n    };\n  }\n\n  return {\n    kind: \"variant\",\n    variant: {\n      schemaVersion: CACHE_PROOF_MODEL_SCHEMA_VERSION,\n      cacheKey: `cp0:${fnv1a64(encoded)}`,\n      output: input.output,\n      dimensions,\n      encodedLength: encoded.length,\n      budget: { ...input.budget },\n    },\n  };\n}\n\nfunction boundaryOutcomesMatch(expected: BoundaryOutcome, candidate: BoundaryOutcome): boolean {\n  switch (expected.kind) {\n    case \"error\":\n      return candidate.kind === \"error\" && (expected.digest ?? \"\") === (candidate.digest ?? \"\");\n    case \"forbidden\":\n      return candidate.kind === \"forbidden\";\n    case \"globalError\":\n      return (\n        candidate.kind === \"globalError\" && (expected.digest ?? \"\") === (candidate.digest ?? \"\")\n      );\n    case \"notFound\":\n      return candidate.kind === \"notFound\";\n    case \"redirect\":\n      return (\n        candidate.kind === \"redirect\" &&\n        expected.status === candidate.status &&\n        expected.location === candidate.location\n      );\n    case \"success\":\n      return candidate.kind === \"success\";\n    case \"unauthorized\":\n      return candidate.kind === \"unauthorized\";\n    case \"unknown\":\n      return false;\n    default:\n      return assertNever(expected);\n  }\n}\n\nexport function buildBoundaryOutcomeCompatibility(input: {\n  candidate: BoundaryOutcome;\n  expected: BoundaryOutcome;\n}): BoundaryOutcomeCompatibility {\n  if (input.expected.kind === \"unknown\" || input.candidate.kind === \"unknown\") {\n    return {\n      kind: \"incompatible\",\n      expected: input.expected,\n      candidate: input.candidate,\n      fallback: buildBreakerFallback(\"CP_BOUNDARY_OUTCOME_UNKNOWN\", {\n        candidateKind: input.candidate.kind,\n        expectedKind: input.expected.kind,\n      }),\n    };\n  }\n\n  if (boundaryOutcomesMatch(input.expected, input.candidate)) {\n    return {\n      kind: \"compatible\",\n      outcome: input.candidate,\n      reason: \"CP_BOUNDARY_OUTCOME_MATCH\",\n    };\n  }\n\n  return {\n    kind: \"incompatible\",\n    expected: input.expected,\n    candidate: input.candidate,\n    fallback: buildBreakerFallback(\"CP_BOUNDARY_OUTCOME_MISMATCH\", {\n      candidateKind: input.candidate.kind,\n      expectedKind: input.expected.kind,\n    }),\n  };\n}\n\nfunction requestApiStatusRank(status: RenderRequestApiStatus): number {\n  switch (status) {\n    case \"notObserved\":\n      return 0;\n    case \"unknown\":\n      return 1;\n    case \"observed\":\n      return 2;\n    default:\n      return assertNever(status);\n  }\n}\n\nfunction normalizeRequestApiObservations(\n  observations: readonly RenderRequestApiObservation[],\n): RenderRequestApiObservation[] {\n  const byKind = new Map<RenderRequestApiKind, RenderRequestApiStatus>();\n  for (const observation of observations) {\n    const current = byKind.get(observation.kind);\n    if (\n      current === undefined ||\n      requestApiStatusRank(observation.status) > requestApiStatusRank(current)\n    ) {\n      byKind.set(observation.kind, observation.status);\n    }\n  }\n\n  return [...byKind.entries()]\n    .sort(([left], [right]) => left.localeCompare(right))\n    .map(([kind, status]) => ({ kind, status }));\n}\n\nexport function buildRenderObservation(input: BuildRenderObservationInput): RenderObservation {\n  return {\n    schemaVersion: CACHE_PROOF_MODEL_SCHEMA_VERSION,\n    output: input.output,\n    completeness: input.completeness,\n    boundaryOutcome: input.boundaryOutcome,\n    requestApis: normalizeRequestApiObservations(input.requestApis),\n    dynamicFetches: sortedUniqueRedacted(input.dynamicFetches),\n    cacheTags: sortedUnique(input.cacheTags),\n    pathTags: sortedUnique(input.pathTags),\n    cacheability: input.cacheability,\n  };\n}\n\nexport function hasCompleteNegativeRequestApiProof(\n  observation: RenderObservation,\n  requiredApis: readonly RenderRequestApiKind[],\n): boolean {\n  if (observation.completeness !== \"complete\") return false;\n\n  const statuses = new Map<RenderRequestApiKind, RenderRequestApiStatus>();\n  for (const requestApi of observation.requestApis) {\n    statuses.set(requestApi.kind, requestApi.status);\n  }\n\n  for (const api of requiredApis) {\n    if (statuses.get(api) !== \"notObserved\") return false;\n  }\n  return true;\n}\n\nexport function createDisabledCacheProofDecision(\n  input: CreateDisabledCacheProofDecisionInput,\n): DisabledCacheProofDecision {\n  return {\n    kind: \"disabled\",\n    canReuse: false,\n    variant: input.variant,\n    observation: input.observation,\n    fallback: buildBreakerFallback(\"CP_MODEL_DISABLED\"),\n  };\n}\n"],"mappings":"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"}

Youez - 2016 - github.com/yon3zu
LinuXploit