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/app-browser-state.js.map
{"version":3,"file":"app-browser-state.js","names":["_exhaustive"],"sources":["../../src/server/app-browser-state.ts"],"sourcesContent":["import { stripBasePath } from \"../utils/base-path.js\";\nimport {\n  AppElementsWire,\n  getMountedSlotIds,\n  getMountedSlotIdsHeader,\n  type AppElements,\n  type LayoutFlags,\n} from \"./app-elements.js\";\nimport { createRscRequestHeaders } from \"./app-rsc-cache-busting.js\";\nimport {\n  RSC_ACTION_HEADER,\n  VINEXT_INTERCEPTION_CONTEXT_HEADER,\n  VINEXT_MOUNTED_SLOTS_HEADER,\n} from \"./headers.js\";\nimport {\n  NavigationTraceReasonCodes,\n  createNavigationLifecycleTraceFields,\n  createNavigationTrace,\n  type NavigationTrace,\n  type NavigationTraceFields,\n} from \"./navigation-trace.js\";\nimport {\n  navigationPlanner,\n  type MountedParallelSlotSnapshotV0,\n  type NavigationDecisionV0,\n  type OperationLane,\n  type OperationToken,\n  type RouteSnapshotV0,\n} from \"./navigation-planner.js\";\nimport type { ClientNavigationRenderSnapshot } from \"vinext/shims/navigation\";\n\nconst VINEXT_PREVIOUS_NEXT_URL_HISTORY_STATE_KEY = \"__vinext_previousNextUrl\";\n\ntype HistoryStateRecord = {\n  [key: string]: unknown;\n};\n\nexport type { OperationLane } from \"./navigation-planner.js\";\n\ntype OperationRecordBase = {\n  id: number;\n  lane: OperationLane;\n  startedVisibleCommitVersion: number;\n};\n\nexport type PendingOperationRecord = OperationRecordBase & {\n  state: \"pending\";\n};\n\nexport type CommittedOperationRecord = OperationRecordBase & {\n  state: \"committed\";\n  visibleCommitVersion: number;\n};\n\nexport type OperationRecord = PendingOperationRecord | CommittedOperationRecord;\n\nexport type AppRouterState = {\n  activeOperation: OperationRecord | null;\n  elements: AppElements;\n  interceptionContext: string | null;\n  layoutFlags: LayoutFlags;\n  layoutIds: readonly string[];\n  previousNextUrl: string | null;\n  renderId: number;\n  navigationSnapshot: ClientNavigationRenderSnapshot;\n  rootLayoutTreePath: string | null;\n  routeId: string;\n  visibleCommitVersion: number;\n};\n\nexport type AppRouterAction = {\n  elements: AppElements;\n  interceptionContext: string | null;\n  layoutFlags: LayoutFlags;\n  layoutIds: readonly string[];\n  navigationSnapshot: ClientNavigationRenderSnapshot;\n  operation: PendingOperationRecord;\n  previousNextUrl: string | null;\n  renderId: number;\n  rootLayoutTreePath: string | null;\n  routeId: string;\n  type: \"navigate\" | \"replace\" | \"traverse\";\n};\n\nexport type PendingNavigationCommit = {\n  action: AppRouterAction;\n  interceptionContext: string | null;\n  previousNextUrl: string | null;\n  rootLayoutTreePath: string | null;\n  routeId: string;\n};\n\ntype PendingNavigationCommitDisposition = \"dispatch\" | \"hard-navigate\" | \"skip\";\ntype DispatchPendingNavigationCommitDispositionDecision = {\n  disposition: \"dispatch\";\n  preserveAbsentSlots: boolean;\n  preserveElementIds: readonly string[];\n  trace: NavigationTrace;\n};\ntype NonDispatchPendingNavigationCommitDispositionDecision = {\n  disposition: Exclude<PendingNavigationCommitDisposition, \"dispatch\">;\n  preserveElementIds: readonly [];\n  trace: NavigationTrace;\n};\ntype PendingNavigationCommitDispositionDecision =\n  | DispatchPendingNavigationCommitDispositionDecision\n  | NonDispatchPendingNavigationCommitDispositionDecision;\n\nfunction cloneHistoryState(state: unknown): HistoryStateRecord {\n  if (!state || typeof state !== \"object\") {\n    return {};\n  }\n\n  const nextState: HistoryStateRecord = {};\n  for (const [key, value] of Object.entries(state)) {\n    nextState[key] = value;\n  }\n  return nextState;\n}\n\nexport function createHistoryStateWithPreviousNextUrl(\n  state: unknown,\n  previousNextUrl: string | null,\n): HistoryStateRecord | null {\n  const nextState = cloneHistoryState(state);\n\n  if (previousNextUrl === null) {\n    delete nextState[VINEXT_PREVIOUS_NEXT_URL_HISTORY_STATE_KEY];\n  } else {\n    nextState[VINEXT_PREVIOUS_NEXT_URL_HISTORY_STATE_KEY] = previousNextUrl;\n  }\n\n  return Object.keys(nextState).length > 0 ? nextState : null;\n}\n\nexport function readHistoryStatePreviousNextUrl(state: unknown): string | null {\n  const value = cloneHistoryState(state)[VINEXT_PREVIOUS_NEXT_URL_HISTORY_STATE_KEY];\n  return typeof value === \"string\" ? value : null;\n}\n\nfunction createOperationRecord(options: {\n  id: number;\n  lane: OperationLane;\n  startedVisibleCommitVersion: number;\n}): PendingOperationRecord {\n  return {\n    id: options.id,\n    lane: options.lane,\n    startedVisibleCommitVersion: options.startedVisibleCommitVersion,\n    state: \"pending\",\n  };\n}\n\nexport function resolveInterceptionContextFromPreviousNextUrl(\n  previousNextUrl: string | null,\n  basePath: string = \"\",\n): string | null {\n  if (previousNextUrl === null) {\n    return null;\n  }\n\n  const parsedUrl = new URL(previousNextUrl, \"http://localhost\");\n  return stripBasePath(parsedUrl.pathname, basePath);\n}\n\ntype ResolveServerActionRequestStateOptions = {\n  actionId: string;\n  basePath: string;\n  elements: AppElements;\n  previousNextUrl: string | null;\n};\n\ntype ResolveServerActionRequestStateResult = {\n  headers: Headers;\n};\n\n/**\n * Pure: builds the fetch Headers for a server-action POST. Carries the same\n * interception-context and mounted-slots headers the refresh path already\n * sends, so the server-action re-render can rebuild the intercepted tree\n * instead of replacing it with the direct route.\n *\n * Next.js sends `Next-URL: state.previousNextUrl || state.nextUrl` on action\n * POSTs when `hasInterceptionRouteInCurrentTree(state.tree)`. Vinext's\n * X-Vinext-Interception-Context is the equivalent signal for the server-side\n * `findIntercept` lookup.\n */\nexport function resolveServerActionRequestState(\n  options: ResolveServerActionRequestStateOptions,\n): ResolveServerActionRequestStateResult {\n  const headers = createRscRequestHeaders();\n  headers.set(RSC_ACTION_HEADER, options.actionId);\n\n  const interceptionContext = resolveInterceptionContextFromPreviousNextUrl(\n    options.previousNextUrl,\n    options.basePath,\n  );\n  if (interceptionContext !== null) {\n    headers.set(VINEXT_INTERCEPTION_CONTEXT_HEADER, interceptionContext);\n  }\n\n  const mountedSlotsHeader = getMountedSlotIdsHeader(options.elements);\n  if (mountedSlotsHeader !== null) {\n    headers.set(VINEXT_MOUNTED_SLOTS_HEADER, mountedSlotsHeader);\n  }\n\n  return { headers };\n}\n\nexport function resolvePendingNavigationCommitDispositionDecision(options: {\n  activeNavigationId: number;\n  currentState: AppRouterState;\n  pending: PendingNavigationCommit;\n  startedNavigationId: number;\n  targetHref?: string;\n}): PendingNavigationCommitDispositionDecision {\n  const traceFields = createPendingNavigationTraceFields(options);\n\n  if (\n    options.startedNavigationId !== options.activeNavigationId ||\n    options.pending.action.operation.startedVisibleCommitVersion !==\n      options.currentState.visibleCommitVersion\n  ) {\n    return {\n      disposition: \"skip\",\n      preserveElementIds: [],\n      trace: createNavigationTrace(NavigationTraceReasonCodes.staleOperation, traceFields),\n    };\n  }\n\n  return mapNavigationDecisionToPendingDisposition(\n    planPendingRootBoundaryFlightResponse({\n      currentState: options.currentState,\n      pending: options.pending,\n      targetHref: options.targetHref,\n      traceFields,\n    }),\n  );\n}\n\nfunction createPendingNavigationTraceFields(options: {\n  activeNavigationId: number;\n  currentState: AppRouterState;\n  pending: PendingNavigationCommit;\n  startedNavigationId: number;\n  targetHref?: string;\n}): NavigationTraceFields {\n  return {\n    ...createNavigationLifecycleTraceFields({\n      activeNavigationId: options.activeNavigationId,\n      currentRootLayoutTreePath: options.currentState.rootLayoutTreePath,\n      currentVisibleCommitVersion: options.currentState.visibleCommitVersion,\n      nextRootLayoutTreePath: options.pending.rootLayoutTreePath,\n      startedNavigationId: options.startedNavigationId,\n      startedVisibleCommitVersion: options.pending.action.operation.startedVisibleCommitVersion,\n    }),\n    ...(options.targetHref !== undefined ? { targetHref: options.targetHref } : {}),\n  };\n}\n\nfunction createNavigationSnapshotUrl(snapshot: ClientNavigationRenderSnapshot): string {\n  const query = snapshot.searchParams.toString();\n  return query === \"\" ? snapshot.pathname : `${snapshot.pathname}?${query}`;\n}\n\nfunction createMountedParallelSlotSnapshots(\n  elements: AppElements,\n): readonly MountedParallelSlotSnapshotV0[] {\n  const snapshots: MountedParallelSlotSnapshotV0[] = [];\n  for (const slotId of getMountedSlotIds(elements)) {\n    const parsed = AppElementsWire.parseElementKey(slotId);\n    if (parsed?.kind !== \"slot\") continue;\n    snapshots.push({\n      ownerLayoutId: AppElementsWire.encodeLayoutId(parsed.treePath),\n      slotId,\n    });\n  }\n  return snapshots;\n}\n\nfunction createVisibleRouteSnapshot(state: AppRouterState): RouteSnapshotV0 {\n  const displayUrl = createNavigationSnapshotUrl(state.navigationSnapshot);\n  return {\n    displayUrl,\n    layoutIds: state.layoutIds,\n    // `displayUrl` preserves the browser-visible query string for decisions and\n    // traces. `matchedUrl` stays path-only because route matching has already\n    // consumed query params before AppElements metadata reaches this boundary.\n    matchedUrl: state.navigationSnapshot.pathname,\n    mountedParallelSlots: createMountedParallelSlotSnapshots(state.elements),\n    rootBoundaryId: state.rootLayoutTreePath,\n    routeId: state.routeId,\n  };\n}\n\nfunction createPendingRouteSnapshot(pending: PendingNavigationCommit): RouteSnapshotV0 {\n  const displayUrl = createNavigationSnapshotUrl(pending.action.navigationSnapshot);\n  return {\n    displayUrl,\n    layoutIds: pending.action.layoutIds,\n    // See createVisibleRouteSnapshot: matchedUrl intentionally models the route\n    // identity, not the address bar URL.\n    matchedUrl: pending.action.navigationSnapshot.pathname,\n    mountedParallelSlots: createMountedParallelSlotSnapshots(pending.action.elements),\n    rootBoundaryId: pending.rootLayoutTreePath,\n    routeId: pending.routeId,\n  };\n}\n\nfunction createPendingNavigationOperationToken(options: {\n  pending: PendingNavigationCommit;\n  targetSnapshot: RouteSnapshotV0;\n}): OperationToken {\n  return {\n    baseVisibleCommitVersion: options.pending.action.operation.startedVisibleCommitVersion,\n    deploymentVersion: null,\n    graphVersion: null,\n    lane: options.pending.action.operation.lane,\n    operationId: options.pending.action.operation.id,\n    targetSnapshotFingerprint: createRootBoundarySnapshotFingerprint(options.targetSnapshot),\n  };\n}\n\nfunction createRootBoundarySnapshotFingerprint(snapshot: RouteSnapshotV0): string {\n  return `${snapshot.routeId}|root:${snapshot.rootBoundaryId ?? \"unknown\"}`;\n}\n\nfunction planPendingRootBoundaryFlightResponse(options: {\n  currentState: AppRouterState;\n  pending: PendingNavigationCommit;\n  targetHref?: string;\n  traceFields: NavigationTraceFields;\n}): NavigationDecisionV0 {\n  const targetSnapshot = createPendingRouteSnapshot(options.pending);\n  const token = createPendingNavigationOperationToken({\n    pending: options.pending,\n    targetSnapshot,\n  });\n\n  // #726-CORE-07/08 keeps the browser state layer as the lifecycle gate and\n  // only translates committed AppElements metadata into planner snapshots.\n  // The planner owns the root-boundary decision; later #726 route-graph work\n  // should replace these client-visible snapshots with the read model called\n  // out in routing/app-router.ts instead of adding more local topology checks.\n  return navigationPlanner.plan({\n    routeManifest: null,\n    state: {\n      nextOperationToken: token,\n      traceFields: options.traceFields,\n      visibleCommitVersion: options.currentState.visibleCommitVersion,\n      visibleSnapshot: createVisibleRouteSnapshot(options.currentState),\n    },\n    event: {\n      kind: \"flightResponseArrived\",\n      result: {\n        // Approval call sites must pass the executor's targetHref so the\n        // planner trace and future hard-nav executor agree with the browser\n        // URL. The fallback remains for lower-level tests and direct disposition\n        // callers that exercise only snapshot-derived planner semantics.\n        href: options.targetHref ?? targetSnapshot.displayUrl,\n        targetSnapshot,\n      },\n      token,\n    },\n  });\n}\n\nfunction mapNavigationDecisionToPendingDisposition(\n  decision: NavigationDecisionV0,\n): PendingNavigationCommitDispositionDecision {\n  switch (decision.kind) {\n    case \"proposeCommit\":\n      return {\n        disposition: \"dispatch\",\n        preserveAbsentSlots: decision.proposal.preserveAbsentSlots,\n        preserveElementIds: decision.proposal.preserveElementIds,\n        trace: decision.trace,\n      };\n    case \"hardNavigate\":\n      return { disposition: \"hard-navigate\", preserveElementIds: [], trace: decision.trace };\n    case \"noCommit\":\n      return { disposition: \"skip\", preserveElementIds: [], trace: decision.trace };\n    case \"requestWork\":\n      throw new Error(\n        `[vinext] Root-boundary commit planning returned requestWork (${decision.work.kind}); flightResponseArrived should never request work`,\n      );\n    default: {\n      const _exhaustive: never = decision;\n      throw new Error(\"[vinext] Unknown navigation decision: \" + String(_exhaustive));\n    }\n  }\n}\n\nexport async function createPendingNavigationCommit(options: {\n  currentState: AppRouterState;\n  nextElements: Promise<AppElements>;\n  navigationSnapshot: ClientNavigationRenderSnapshot;\n  operationLane: OperationLane;\n  previousNextUrl?: string | null;\n  renderId: number;\n  type: \"navigate\" | \"replace\" | \"traverse\";\n}): Promise<PendingNavigationCommit> {\n  const elements = await options.nextElements;\n  const metadata = AppElementsWire.readMetadata(elements);\n  const previousNextUrl =\n    options.previousNextUrl !== undefined\n      ? options.previousNextUrl\n      : options.currentState.previousNextUrl;\n\n  return {\n    action: {\n      elements,\n      interceptionContext: metadata.interceptionContext,\n      layoutIds: metadata.layoutIds,\n      layoutFlags: metadata.layoutFlags,\n      navigationSnapshot: options.navigationSnapshot,\n      operation: createOperationRecord({\n        id: options.renderId,\n        lane: options.operationLane,\n        startedVisibleCommitVersion: options.currentState.visibleCommitVersion,\n      }),\n      previousNextUrl,\n      renderId: options.renderId,\n      rootLayoutTreePath: metadata.rootLayoutTreePath,\n      routeId: metadata.routeId,\n      type: options.type,\n    },\n    // Convenience aliases — always equal action.interceptionContext / action.rootLayoutTreePath / action.routeId.\n    interceptionContext: metadata.interceptionContext,\n    previousNextUrl,\n    rootLayoutTreePath: metadata.rootLayoutTreePath,\n    routeId: metadata.routeId,\n  };\n}\n"],"mappings":"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"}

Youez - 2016 - github.com/yon3zu
LinuXploit