@workflow/next 5.0.0-beta.1 → 5.0.0-beta.2

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.
package/README.md CHANGED
@@ -1,3 +1,3 @@
1
1
  # @workflow/next
2
2
 
3
- Next.js plugin for [Workflow SDK](https://useworkflow.dev).
3
+ Next.js plugin for [Workflow SDK](https://workflow-sdk.dev).
@@ -1 +1 @@
1
- {"version":3,"file":"builder-deferred.js","sourceRoot":"","sources":["../src/builder-deferred.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builder-deferred.js","sourceRoot":"","sources":["../src/builder-deferred.ts"],"names":[],"mappings":"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","sourcesContent":["import { createHash } from 'node:crypto';\nimport { constants, existsSync, realpathSync } from 'node:fs';\nimport {\n access,\n mkdir,\n open,\n readdir,\n readFile,\n rm,\n stat,\n writeFile,\n} from 'node:fs/promises';\nimport os from 'node:os';\nimport {\n basename,\n dirname,\n extname,\n isAbsolute,\n join,\n relative,\n resolve,\n} from 'node:path';\nimport enhancedResolveOrig from 'enhanced-resolve';\nimport {\n createSocketServer,\n type SocketIO,\n type SocketServerConfig,\n} from './socket-server.js';\nimport {\n createDeferredStepCopyInlineSourceMapComment,\n createDeferredStepSourceMetadataComment,\n DEFERRED_STEP_COPY_DIR_NAME,\n} from './step-copy-utils.js';\n\nconst ROUTE_STUB_FILE_MARKER = 'WORKFLOW_ROUTE_STUB_FILE';\nconst ROUTE_STUB_MARKER_SCAN_BYTES = 4 * 1024;\n\ntype WorkflowManifest = import('@workflow/builders').WorkflowManifest;\n\ninterface DeferredDiscoveredEntries {\n discoveredSteps: Set<string>;\n discoveredWorkflows: Set<string>;\n discoveredSerdeFiles: Set<string>;\n}\n\nlet CachedNextBuilderDeferred: any;\n\n// Create the deferred Next builder dynamically by extending the ESM BaseBuilder.\n// Exported as getNextBuilderDeferred() to allow CommonJS modules to import from\n// the ESM @workflow/builders package via dynamic import at runtime.\nexport async function getNextBuilderDeferred() {\n if (CachedNextBuilderDeferred) {\n return CachedNextBuilderDeferred;\n }\n\n const {\n BaseBuilder: BaseBuilderClass,\n STEP_QUEUE_TRIGGER,\n WORKFLOW_QUEUE_TRIGGER,\n applySwcTransform,\n detectWorkflowPatterns,\n getImportPath,\n resolveWorkflowAliasRelativePath,\n // biome-ignore lint/security/noGlobalEval: Need to use eval here to avoid TypeScript from transpiling the import statement into `require()`\n } = (await eval(\n 'import(\"@workflow/builders\")'\n )) as typeof import('@workflow/builders');\n\n // Shared resolve options matching the configuration used by the SWC\n // esbuild plugin (swc-esbuild-plugin.ts) for consistent resolution\n // semantics across the toolchain.\n const NODE_RESOLVE_OPTIONS = {\n dependencyType: 'commonjs' as const,\n modules: ['node_modules'],\n exportsFields: ['exports'],\n importsFields: ['imports'],\n conditionNames: ['node', 'require'],\n descriptionFiles: ['package.json'],\n extensions: [\n '.ts',\n '.tsx',\n '.mts',\n '.cts',\n '.cjs',\n '.mjs',\n '.js',\n '.jsx',\n '.json',\n '.node',\n ],\n enforceExtensions: false,\n symlinks: true,\n mainFields: ['main'],\n mainFiles: ['index'],\n roots: [],\n fullySpecified: false,\n preferRelative: false,\n preferAbsolute: false,\n restrictions: [],\n };\n\n const NODE_ESM_RESOLVE_OPTIONS = {\n ...NODE_RESOLVE_OPTIONS,\n dependencyType: 'esm' as const,\n conditionNames: ['node', 'import'],\n };\n\n class NextDeferredBuilder extends BaseBuilderClass {\n private socketIO?: SocketIO;\n private readonly discoveredWorkflowFiles = new Set<string>();\n private readonly discoveredStepFiles = new Set<string>();\n private readonly discoveredSerdeFiles = new Set<string>();\n private trackedDependencyFiles = new Set<string>();\n private deferredBuildQueue = Promise.resolve();\n private cacheInitialized = false;\n private cacheWriteTimer: NodeJS.Timeout | null = null;\n private deferredRebuildTimer: NodeJS.Timeout | null = null;\n private lastDeferredBuildSignature: string | null = null;\n // Lazily initialized resolvers for bare specifier rewriting.\n // Cached to avoid re-creating on every import rewrite.\n private esmSyncResolver?: ReturnType<\n typeof enhancedResolveOrig.create.sync\n >;\n private cjsSyncResolver?: ReturnType<\n typeof enhancedResolveOrig.create.sync\n >;\n private manifestStepResolveBaseDirs: string[] | null = null;\n\n async build() {\n const outputDir = await this.findAppDirectory();\n\n await this.initializeDiscoveryState();\n await this.cleanupGeneratedArtifactsOnBoot(outputDir);\n\n await this.writeStubFiles(outputDir);\n await this.createDiscoverySocketServer();\n }\n\n async onBeforeDeferredEntries(): Promise<void> {\n await this.initializeDiscoveryState();\n await this.validateDiscoveredEntryFiles();\n const implicitStepFiles = await this.resolveImplicitStepFiles();\n\n const pendingBuild = this.deferredBuildQueue.then(() =>\n this.buildDeferredEntriesUntilStable(implicitStepFiles)\n );\n\n // Keep the queue chain alive even when the current build fails so future\n // callbacks can enqueue another attempt without triggering unhandled\n // rejection warnings.\n this.deferredBuildQueue = pendingBuild.catch(() => {\n // Error is surfaced through `pendingBuild` below.\n });\n\n await pendingBuild;\n }\n\n private getCurrentInputFiles(implicitStepFiles: string[]): string[] {\n return Array.from(\n new Set([\n ...this.discoveredWorkflowFiles,\n ...this.discoveredStepFiles,\n ...this.discoveredSerdeFiles,\n ...implicitStepFiles,\n ])\n ).sort();\n }\n\n private async buildDeferredEntriesUntilStable(\n implicitStepFiles: string[]\n ): Promise<void> {\n // A successful build can discover additional transitive dependency files\n // (via source maps), which changes the signature and may require one more\n // build pass to include newly discovered serde files.\n const maxBuildPasses = 3;\n\n for (let buildPass = 0; buildPass < maxBuildPasses; buildPass++) {\n const inputFiles = this.getCurrentInputFiles(implicitStepFiles);\n const buildSignature =\n await this.createDeferredBuildSignature(inputFiles);\n const shouldForceBuildForGeneratedRoutes =\n await this.shouldForceBuildForGeneratedRoutes();\n if (\n buildSignature === this.lastDeferredBuildSignature &&\n !shouldForceBuildForGeneratedRoutes\n ) {\n return;\n }\n\n try {\n await this.buildDiscoveredFiles(inputFiles, implicitStepFiles);\n } catch (error) {\n if (this.config.watch) {\n await this.validateDiscoveredEntryFiles();\n const recoveredInputFiles =\n this.getCurrentInputFiles(implicitStepFiles);\n const recoveredSignature =\n await this.createDeferredBuildSignature(recoveredInputFiles);\n if (recoveredSignature !== buildSignature) {\n // A file was added/removed while this build was running; retry\n // immediately with the refreshed discovered-entry state.\n continue;\n }\n console.warn(\n '[workflow] Deferred entries build failed. Will retry only after inputs change.',\n error\n );\n this.lastDeferredBuildSignature = buildSignature;\n return;\n } else {\n throw error;\n }\n }\n this.lastDeferredBuildSignature = buildSignature;\n\n const postBuildInputFiles =\n this.getCurrentInputFiles(implicitStepFiles);\n const postBuildSignature =\n await this.createDeferredBuildSignature(postBuildInputFiles);\n if (postBuildSignature === buildSignature) {\n return;\n }\n }\n\n console.warn(\n '[workflow] Deferred entries build signature did not stabilize after 3 passes.'\n );\n }\n\n private async resolveImplicitStepFiles(): Promise<string[]> {\n const workflowStdlibPath = this.resolveWorkflowStdlibStepFilePath();\n return workflowStdlibPath ? [workflowStdlibPath] : [];\n }\n\n private async shouldForceBuildForGeneratedRoutes(): Promise<boolean> {\n const outputDir = await this.findAppDirectory();\n const generatedRouteFiles = [\n join(outputDir, '.well-known/workflow/v1/flow/route.js'),\n join(outputDir, '.well-known/workflow/v1/step/route.js'),\n join(outputDir, '.well-known/workflow/v1/webhook/[token]/route.js'),\n ];\n\n for (const routeFilePath of generatedRouteFiles) {\n const routeState = await this.getGeneratedRouteState(routeFilePath);\n if (routeState === 'missing') {\n return true;\n }\n if (routeState === 'stub') {\n return true;\n }\n }\n\n return false;\n }\n\n private async getGeneratedRouteState(\n routeFilePath: string\n ): Promise<'missing' | 'stub' | 'generated'> {\n let routeStats;\n try {\n routeStats = await stat(routeFilePath);\n } catch {\n return 'missing';\n }\n if (!routeStats.isFile()) {\n return 'missing';\n }\n\n try {\n const routeFileHandle = await open(routeFilePath, 'r');\n try {\n const markerScanBuffer = Buffer.alloc(ROUTE_STUB_MARKER_SCAN_BYTES);\n const { bytesRead } = await routeFileHandle.read(\n markerScanBuffer,\n 0,\n ROUTE_STUB_MARKER_SCAN_BYTES,\n 0\n );\n const markerScanSource = markerScanBuffer.toString(\n 'utf8',\n 0,\n bytesRead\n );\n return markerScanSource.includes(ROUTE_STUB_FILE_MARKER)\n ? 'stub'\n : 'generated';\n } finally {\n await routeFileHandle.close();\n }\n } catch {\n return 'missing';\n }\n }\n\n private resolveWorkflowStdlibStepFilePath(): string | null {\n let workflowCjsEntry: string;\n try {\n workflowCjsEntry = require.resolve('workflow', {\n paths: [this.config.workingDir],\n });\n } catch {\n return null;\n }\n\n const workflowDistDir = dirname(workflowCjsEntry);\n const workflowStdlibPath = this.normalizeDiscoveredFilePath(\n join(workflowDistDir, 'stdlib.js')\n );\n return existsSync(workflowStdlibPath) ? workflowStdlibPath : null;\n }\n\n private async reconcileDiscoveredEntries({\n workflowCandidates,\n stepCandidates,\n serdeCandidates,\n validatePatterns,\n }: {\n workflowCandidates: Iterable<string>;\n stepCandidates: Iterable<string>;\n serdeCandidates?: Iterable<string>;\n validatePatterns: boolean;\n }): Promise<{\n workflowFiles: Set<string>;\n stepFiles: Set<string>;\n serdeFiles: Set<string>;\n }> {\n const candidatesByFile = new Map<\n string,\n {\n hasWorkflowCandidate: boolean;\n hasStepCandidate: boolean;\n hasSerdeCandidate: boolean;\n }\n >();\n\n for (const filePath of workflowCandidates) {\n const normalizedPath = this.normalizeDiscoveredFilePath(filePath);\n const existing = candidatesByFile.get(normalizedPath);\n if (existing) {\n existing.hasWorkflowCandidate = true;\n } else {\n candidatesByFile.set(normalizedPath, {\n hasWorkflowCandidate: true,\n hasStepCandidate: false,\n hasSerdeCandidate: false,\n });\n }\n }\n\n for (const filePath of stepCandidates) {\n const normalizedPath = this.normalizeDiscoveredFilePath(filePath);\n const existing = candidatesByFile.get(normalizedPath);\n if (existing) {\n existing.hasStepCandidate = true;\n } else {\n candidatesByFile.set(normalizedPath, {\n hasWorkflowCandidate: false,\n hasStepCandidate: true,\n hasSerdeCandidate: false,\n });\n }\n }\n\n if (serdeCandidates) {\n for (const filePath of serdeCandidates) {\n const normalizedPath = this.normalizeDiscoveredFilePath(filePath);\n const existing = candidatesByFile.get(normalizedPath);\n if (existing) {\n existing.hasSerdeCandidate = true;\n } else {\n candidatesByFile.set(normalizedPath, {\n hasWorkflowCandidate: false,\n hasStepCandidate: false,\n hasSerdeCandidate: true,\n });\n }\n }\n }\n\n const fileEntries = Array.from(candidatesByFile.entries()).sort(\n ([a], [b]) => a.localeCompare(b)\n );\n const validatedEntries = await Promise.all(\n fileEntries.map(async ([filePath, candidates]) => {\n try {\n const fileStats = await stat(filePath);\n if (!fileStats.isFile()) {\n return null;\n }\n\n if (!validatePatterns) {\n return {\n filePath,\n hasUseWorkflow: candidates.hasWorkflowCandidate,\n hasUseStep: candidates.hasStepCandidate,\n hasSerde: candidates.hasSerdeCandidate,\n };\n }\n\n const source = await readFile(filePath, 'utf-8');\n const patterns = detectWorkflowPatterns(source);\n return {\n filePath,\n hasUseWorkflow: patterns.hasUseWorkflow,\n hasUseStep: patterns.hasUseStep,\n hasSerde: patterns.hasSerde,\n };\n } catch {\n return null;\n }\n })\n );\n\n const workflowFiles = new Set<string>();\n const stepFiles = new Set<string>();\n const serdeFiles = new Set<string>();\n for (const entry of validatedEntries) {\n if (!entry) {\n continue;\n }\n if (entry.hasUseWorkflow) {\n workflowFiles.add(entry.filePath);\n }\n if (entry.hasUseStep) {\n stepFiles.add(entry.filePath);\n }\n if (entry.hasSerde) {\n serdeFiles.add(entry.filePath);\n }\n }\n\n return { workflowFiles, stepFiles, serdeFiles };\n }\n\n private async validateDiscoveredEntryFiles(): Promise<void> {\n const workflowCandidates = new Set(this.discoveredWorkflowFiles);\n const stepCandidates = new Set(this.discoveredStepFiles);\n const serdeCandidates = new Set(this.discoveredSerdeFiles);\n const { workflowFiles, stepFiles, serdeFiles } =\n await this.reconcileDiscoveredEntries({\n workflowCandidates,\n stepCandidates,\n serdeCandidates,\n validatePatterns: true,\n });\n\n // Reconcile validated entries against the snapshot we started with so\n // file discoveries that arrive during validation are preserved.\n let workflowsChanged = false;\n let stepsChanged = false;\n let serdeChanged = false;\n\n for (const filePath of workflowCandidates) {\n if (!workflowFiles.has(filePath)) {\n workflowsChanged =\n this.discoveredWorkflowFiles.delete(filePath) || workflowsChanged;\n }\n }\n for (const filePath of workflowFiles) {\n if (!this.discoveredWorkflowFiles.has(filePath)) {\n this.discoveredWorkflowFiles.add(filePath);\n workflowsChanged = true;\n }\n }\n\n for (const filePath of stepCandidates) {\n if (!stepFiles.has(filePath)) {\n stepsChanged =\n this.discoveredStepFiles.delete(filePath) || stepsChanged;\n }\n }\n for (const filePath of stepFiles) {\n if (!this.discoveredStepFiles.has(filePath)) {\n this.discoveredStepFiles.add(filePath);\n stepsChanged = true;\n }\n }\n\n for (const filePath of serdeCandidates) {\n if (!serdeFiles.has(filePath)) {\n serdeChanged =\n this.discoveredSerdeFiles.delete(filePath) || serdeChanged;\n }\n }\n for (const filePath of serdeFiles) {\n if (!this.discoveredSerdeFiles.has(filePath)) {\n this.discoveredSerdeFiles.add(filePath);\n serdeChanged = true;\n }\n }\n\n if (workflowsChanged || stepsChanged) {\n this.scheduleWorkflowsCacheWrite();\n }\n }\n\n private async buildDiscoveredFiles(\n inputFiles: string[],\n implicitStepFiles: string[]\n ) {\n const outputDir = await this.findAppDirectory();\n const workflowGeneratedDir = join(outputDir, '.well-known/workflow/v1');\n const cacheDir = join(this.config.workingDir, this.getDistDir(), 'cache');\n await mkdir(cacheDir, { recursive: true });\n const manifestBuildDir = join(cacheDir, 'workflow-generated-manifest');\n const tempRouteFileName = 'route.js.temp';\n const trackedDiscoveredEntries =\n await this.collectTrackedDiscoveredEntries();\n const discoveredStepFileCandidates = Array.from(\n new Set([\n ...this.discoveredStepFiles,\n ...trackedDiscoveredEntries.discoveredSteps,\n ...implicitStepFiles,\n ])\n ).sort();\n const discoveredWorkflowFileCandidates = Array.from(\n new Set([\n ...this.discoveredWorkflowFiles,\n ...trackedDiscoveredEntries.discoveredWorkflows,\n ])\n ).sort();\n const discoveredSerdeFileCandidates = Array.from(\n new Set([\n ...this.discoveredSerdeFiles,\n ...trackedDiscoveredEntries.discoveredSerdeFiles,\n ])\n ).sort();\n const discoveredStepFiles = await this.filterExistingFiles(\n discoveredStepFileCandidates\n );\n const discoveredWorkflowFiles = await this.filterExistingFiles(\n discoveredWorkflowFileCandidates\n );\n const existingSerdeFileCandidates = await this.filterExistingFiles(\n discoveredSerdeFileCandidates\n );\n const discoveredSerdeFiles = await this.collectTransitiveSerdeFiles({\n entryFiles: [...discoveredStepFiles, ...discoveredWorkflowFiles],\n serdeFiles: existingSerdeFileCandidates,\n });\n const discoveredEntries: DeferredDiscoveredEntries = {\n discoveredSteps: new Set(discoveredStepFiles),\n discoveredWorkflows: new Set(discoveredWorkflowFiles),\n discoveredSerdeFiles: new Set(discoveredSerdeFiles),\n };\n const existingInputFiles = await this.filterExistingFiles(inputFiles);\n const buildInputFiles = Array.from(\n new Set([\n ...existingInputFiles,\n ...discoveredStepFiles,\n ...discoveredWorkflowFiles,\n ...discoveredSerdeFiles,\n ])\n ).sort();\n\n // Ensure output directories exist\n await mkdir(workflowGeneratedDir, { recursive: true });\n\n await this.writeFileIfChanged(\n join(workflowGeneratedDir, '.gitignore'),\n '*'\n );\n\n const tsconfigPath = await this.findTsConfigPath();\n\n const options = {\n inputFiles: buildInputFiles,\n workflowGeneratedDir,\n tsconfigPath,\n routeFileName: tempRouteFileName,\n discoveredEntries,\n };\n\n const workflowsBundle = await this.buildWorkflowsFunction(options);\n const { manifest: stepsManifest } = await this.buildStepsFunction({\n ...options,\n additionalStepSourceManifest: workflowsBundle?.manifest,\n });\n await this.buildWebhookRoute({\n workflowGeneratedDir,\n routeFileName: tempRouteFileName,\n });\n await this.refreshTrackedDependencyFiles(\n workflowGeneratedDir,\n tempRouteFileName\n );\n\n // Merge manifests from both bundles\n const manifest = {\n steps: { ...stepsManifest.steps, ...workflowsBundle?.manifest?.steps },\n workflows: {\n ...stepsManifest.workflows,\n ...workflowsBundle?.manifest?.workflows,\n },\n classes: {\n ...stepsManifest.classes,\n ...workflowsBundle?.manifest?.classes,\n },\n };\n\n const manifestFilePath = join(workflowGeneratedDir, 'manifest.json');\n const manifestBuildPath = join(manifestBuildDir, 'manifest.json');\n const workflowBundlePath = join(\n workflowGeneratedDir,\n `flow/${tempRouteFileName}`\n );\n const manifestJson = await this.createManifest({\n workflowBundlePath,\n manifestDir: manifestBuildDir,\n manifest,\n });\n if (manifestJson) {\n await this.rewriteJsonFileWithStableKeyOrder(manifestBuildPath);\n await this.copyFileIfChanged(manifestBuildPath, manifestFilePath);\n } else {\n await rm(manifestBuildPath, { force: true });\n await rm(manifestFilePath, { force: true });\n }\n\n await this.writeFunctionsConfig(outputDir);\n\n await this.copyFileIfChanged(\n join(workflowGeneratedDir, `flow/${tempRouteFileName}`),\n join(workflowGeneratedDir, 'flow/route.js')\n );\n await this.copyFileIfChanged(\n join(workflowGeneratedDir, `step/${tempRouteFileName}`),\n join(workflowGeneratedDir, 'step/route.js')\n );\n await this.copyFileIfChanged(\n join(workflowGeneratedDir, `webhook/[token]/${tempRouteFileName}`),\n join(workflowGeneratedDir, 'webhook/[token]/route.js')\n );\n\n // Expose manifest as a static file when WORKFLOW_PUBLIC_MANIFEST=1.\n // Next.js serves files from public/ at the root URL.\n if (this.shouldExposePublicManifest && manifestJson) {\n const publicManifestDir = join(\n this.config.workingDir,\n 'public/.well-known/workflow/v1'\n );\n await mkdir(publicManifestDir, { recursive: true });\n await this.copyFileIfChanged(\n manifestFilePath,\n join(publicManifestDir, 'manifest.json')\n );\n }\n\n // Notify deferred entry loaders waiting on route.js stubs.\n this.socketIO?.emit('build-complete');\n }\n\n private async cleanupGeneratedArtifactsOnBoot(\n outputDir: string\n ): Promise<void> {\n const workflowGeneratedDir = join(outputDir, '.well-known/workflow/v1');\n const flowRouteDir = join(workflowGeneratedDir, 'flow');\n const stepRouteDir = join(workflowGeneratedDir, 'step');\n const webhookRouteDir = join(workflowGeneratedDir, 'webhook/[token]');\n\n const staleArtifactPaths = [\n join(flowRouteDir, 'route.js.temp'),\n join(flowRouteDir, 'route.js.temp.debug.json'),\n join(flowRouteDir, 'route.js.debug.json'),\n join(stepRouteDir, 'route.js.temp'),\n join(stepRouteDir, 'route.js.temp.debug.json'),\n join(stepRouteDir, 'route.js.debug.json'),\n join(stepRouteDir, DEFERRED_STEP_COPY_DIR_NAME),\n join(webhookRouteDir, 'route.js.temp'),\n join(workflowGeneratedDir, 'manifest.json'),\n ];\n\n await Promise.all(\n staleArtifactPaths.map((stalePath) =>\n rm(stalePath, { recursive: true, force: true })\n )\n );\n\n await Promise.all([\n this.removeStaleDeferredTempFiles(flowRouteDir),\n this.removeStaleDeferredTempFiles(stepRouteDir),\n this.removeStaleDeferredTempFiles(webhookRouteDir),\n ]);\n }\n\n private async removeStaleDeferredTempFiles(\n routeDir: string\n ): Promise<void> {\n const routeEntries = await readdir(routeDir, {\n withFileTypes: true,\n }).catch(() => []);\n await Promise.all(\n routeEntries\n .filter(\n (entry) =>\n entry.isFile() &&\n entry.name.startsWith('route.js.') &&\n entry.name.endsWith('.tmp')\n )\n .map((entry) =>\n rm(join(routeDir, entry.name), {\n force: true,\n })\n )\n );\n }\n\n private async createDiscoverySocketServer(): Promise<void> {\n if (this.socketIO || process.env.WORKFLOW_SOCKET_PORT) {\n return;\n }\n\n process.env.WORKFLOW_SOCKET_INFO_PATH = this.getSocketInfoFilePath();\n const config: SocketServerConfig = {\n isDevServer: Boolean(this.config.watch),\n socketInfoFilePath: this.getSocketInfoFilePath(),\n onFileDiscovered: (\n filePath: string,\n hasWorkflow: boolean,\n hasStep: boolean,\n hasSerde: boolean\n ) => {\n const normalizedFilePath = this.normalizeDiscoveredFilePath(filePath);\n let hasCacheTrackingChange = false;\n const wasTrackedDependency =\n this.trackedDependencyFiles.has(normalizedFilePath);\n\n if (hasWorkflow) {\n if (!this.discoveredWorkflowFiles.has(normalizedFilePath)) {\n this.discoveredWorkflowFiles.add(normalizedFilePath);\n hasCacheTrackingChange = true;\n }\n } else {\n const wasDeleted =\n this.discoveredWorkflowFiles.delete(normalizedFilePath);\n hasCacheTrackingChange = wasDeleted || hasCacheTrackingChange;\n }\n\n if (hasStep) {\n if (!this.discoveredStepFiles.has(normalizedFilePath)) {\n this.discoveredStepFiles.add(normalizedFilePath);\n hasCacheTrackingChange = true;\n }\n } else {\n const wasDeleted =\n this.discoveredStepFiles.delete(normalizedFilePath);\n hasCacheTrackingChange = wasDeleted || hasCacheTrackingChange;\n }\n\n if (hasSerde) {\n if (!this.discoveredSerdeFiles.has(normalizedFilePath)) {\n hasCacheTrackingChange = true;\n }\n this.discoveredSerdeFiles.add(normalizedFilePath);\n } else {\n const wasDeleted =\n this.discoveredSerdeFiles.delete(normalizedFilePath);\n hasCacheTrackingChange = wasDeleted || hasCacheTrackingChange;\n }\n\n if (hasCacheTrackingChange) {\n this.scheduleWorkflowsCacheWrite();\n }\n\n if (hasCacheTrackingChange || wasTrackedDependency) {\n this.scheduleDeferredRebuild();\n }\n },\n onTriggerBuild: () => {\n this.scheduleDeferredRebuild();\n },\n };\n\n this.socketIO = await createSocketServer(config);\n }\n\n private async initializeDiscoveryState(): Promise<void> {\n if (this.cacheInitialized) {\n return;\n }\n\n await this.loadWorkflowsCache();\n // Deferred mode must not run eager input-graph discovery; entries are\n // discovered via loader->socket notifications during Next's build.\n this.cacheInitialized = true;\n }\n\n private getDistDir(): string {\n return (this.config as { distDir?: string }).distDir || '.next';\n }\n\n private getWorkflowsCacheFilePath(): string {\n return join(\n this.config.workingDir,\n this.getDistDir(),\n 'cache',\n 'workflows.json'\n );\n }\n\n private getSocketInfoFilePath(): string {\n return join(\n this.config.workingDir,\n this.getDistDir(),\n 'cache',\n 'workflow-socket.json'\n );\n }\n\n private normalizeDiscoveredFilePath(filePath: string): string {\n const resolvedPath = isAbsolute(filePath)\n ? filePath\n : resolve(this.config.workingDir, filePath);\n try {\n return realpathSync(resolvedPath);\n } catch {\n return resolvedPath;\n }\n }\n\n private getManifestStepResolveBaseDirs(): string[] {\n if (this.manifestStepResolveBaseDirs) {\n return this.manifestStepResolveBaseDirs;\n }\n\n const resolveBaseDirs = new Set<string>();\n const addResolveBaseDir = (baseDir: string) => {\n resolveBaseDirs.add(this.normalizeDiscoveredFilePath(baseDir));\n };\n\n if (this.config.projectRoot) {\n addResolveBaseDir(this.config.projectRoot);\n }\n\n let currentResolveDir = this.config.workingDir;\n while (currentResolveDir) {\n addResolveBaseDir(currentResolveDir);\n const parentResolveDir = dirname(currentResolveDir);\n if (parentResolveDir === currentResolveDir) {\n break;\n }\n currentResolveDir = parentResolveDir;\n }\n\n this.manifestStepResolveBaseDirs = Array.from(resolveBaseDirs);\n return this.manifestStepResolveBaseDirs;\n }\n\n private async filterExistingFiles(filePaths: string[]): Promise<string[]> {\n const normalizedFilePaths = Array.from(\n new Set(\n filePaths.map((filePath) =>\n this.normalizeDiscoveredFilePath(filePath)\n )\n )\n ).sort();\n\n const existingFiles = await Promise.all(\n normalizedFilePaths.map(async (filePath) => {\n try {\n const fileStats = await stat(filePath);\n return fileStats.isFile() ? filePath : null;\n } catch {\n return null;\n }\n })\n );\n\n return existingFiles.filter((filePath): filePath is string =>\n Boolean(filePath)\n );\n }\n\n private async createDeferredBuildSignature(\n inputFiles: string[]\n ): Promise<string> {\n const normalizedFiles = Array.from(\n new Set([\n ...inputFiles.map((filePath) =>\n this.normalizeDiscoveredFilePath(filePath)\n ),\n ...this.trackedDependencyFiles,\n ])\n ).sort();\n\n const signatureParts = await Promise.all(\n normalizedFiles.map(async (filePath) => {\n try {\n const fileStats = await stat(filePath);\n return `${filePath}:${fileStats.size}:${Math.trunc(fileStats.mtimeMs)}`;\n } catch {\n return `${filePath}:missing`;\n }\n })\n );\n\n const signatureHash = createHash('sha256');\n for (const signaturePart of signatureParts) {\n signatureHash.update(signaturePart);\n signatureHash.update('\\n');\n }\n\n return signatureHash.digest('hex');\n }\n\n private async collectTrackedDiscoveredEntries(): Promise<{\n discoveredSteps: string[];\n discoveredWorkflows: string[];\n discoveredSerdeFiles: string[];\n }> {\n if (this.trackedDependencyFiles.size === 0) {\n return {\n discoveredSteps: [],\n discoveredWorkflows: [],\n discoveredSerdeFiles: [],\n };\n }\n\n const { workflowFiles, stepFiles, serdeFiles } =\n await this.reconcileDiscoveredEntries({\n workflowCandidates: this.trackedDependencyFiles,\n stepCandidates: this.trackedDependencyFiles,\n serdeCandidates: this.trackedDependencyFiles,\n validatePatterns: true,\n });\n\n return {\n discoveredSteps: Array.from(stepFiles).sort(),\n discoveredWorkflows: Array.from(workflowFiles).sort(),\n discoveredSerdeFiles: Array.from(serdeFiles).sort(),\n };\n }\n\n private async refreshTrackedDependencyFiles(\n workflowGeneratedDir: string,\n routeFileName: string\n ): Promise<void> {\n const bundleFiles = [\n join(workflowGeneratedDir, `step/${routeFileName}`),\n join(workflowGeneratedDir, `flow/${routeFileName}`),\n ];\n const trackedFiles = new Set<string>();\n\n for (const bundleFile of bundleFiles) {\n const bundleSources = await this.extractBundleSourceFiles(bundleFile);\n for (const sourceFile of bundleSources) {\n trackedFiles.add(sourceFile);\n }\n }\n\n if (trackedFiles.size > 0) {\n this.trackedDependencyFiles = trackedFiles;\n }\n }\n\n private async extractBundleSourceFiles(\n bundleFilePath: string\n ): Promise<string[]> {\n let bundleContents: string;\n try {\n bundleContents = await readFile(bundleFilePath, 'utf-8');\n } catch {\n return [];\n }\n\n const baseDirectory = dirname(bundleFilePath);\n const localSourceFiles = new Set<string>();\n const sourceMapMatches = bundleContents.matchAll(\n /\\/\\/# sourceMappingURL=data:application\\/json[^,]*;base64,([A-Za-z0-9+/=]+)/g\n );\n\n for (const match of sourceMapMatches) {\n const base64Value = match[1];\n if (!base64Value) {\n continue;\n }\n\n let sourceMap: { sourceRoot?: unknown; sources?: unknown };\n try {\n sourceMap = JSON.parse(\n Buffer.from(base64Value, 'base64').toString('utf-8')\n ) as { sourceRoot?: unknown; sources?: unknown };\n } catch {\n continue;\n }\n\n const sourceRoot =\n typeof sourceMap.sourceRoot === 'string' ? sourceMap.sourceRoot : '';\n const sources = Array.isArray(sourceMap.sources)\n ? sourceMap.sources.filter(\n (source): source is string => typeof source === 'string'\n )\n : [];\n\n for (const source of sources) {\n if (source.startsWith('webpack://') || source.startsWith('<')) {\n continue;\n }\n\n let resolvedSourcePath: string;\n if (source.startsWith('file://')) {\n try {\n resolvedSourcePath = decodeURIComponent(new URL(source).pathname);\n } catch {\n continue;\n }\n } else if (isAbsolute(source)) {\n resolvedSourcePath = source;\n } else {\n resolvedSourcePath = resolve(baseDirectory, sourceRoot, source);\n }\n\n const normalizedSourcePath =\n this.normalizeDiscoveredFilePath(resolvedSourcePath);\n const normalizedSourcePathForCheck = normalizedSourcePath.replace(\n /\\\\/g,\n '/'\n );\n if (\n normalizedSourcePathForCheck.includes('/.well-known/workflow/') ||\n normalizedSourcePathForCheck.includes('/node_modules/') ||\n normalizedSourcePathForCheck.includes('/.pnpm/') ||\n normalizedSourcePathForCheck.includes('/.next/') ||\n normalizedSourcePathForCheck.endsWith('/virtual-entry.js')\n ) {\n continue;\n }\n\n localSourceFiles.add(normalizedSourcePath);\n }\n }\n\n return Array.from(localSourceFiles);\n }\n\n private scheduleWorkflowsCacheWrite(): void {\n if (this.cacheWriteTimer) {\n clearTimeout(this.cacheWriteTimer);\n }\n\n this.cacheWriteTimer = setTimeout(() => {\n this.cacheWriteTimer = null;\n void this.writeWorkflowsCache().catch((error) => {\n console.warn('Failed to write workflow discovery cache', error);\n });\n }, 50);\n }\n\n private scheduleDeferredRebuild(): void {\n if (!this.config.watch) {\n return;\n }\n\n if (this.deferredRebuildTimer) {\n clearTimeout(this.deferredRebuildTimer);\n }\n\n this.deferredRebuildTimer = setTimeout(() => {\n this.deferredRebuildTimer = null;\n void this.onBeforeDeferredEntries().catch((error) => {\n console.warn(\n '[workflow] Deferred rebuild after source update failed.',\n error\n );\n });\n }, 75);\n }\n\n private async readWorkflowsCache(): Promise<{\n workflowFiles: string[];\n stepFiles: string[];\n } | null> {\n const cacheFilePath = this.getWorkflowsCacheFilePath();\n\n try {\n const cacheContents = await readFile(cacheFilePath, 'utf-8');\n const parsed = JSON.parse(cacheContents) as {\n workflowFiles?: unknown;\n stepFiles?: unknown;\n };\n\n const workflowFiles = Array.isArray(parsed.workflowFiles)\n ? parsed.workflowFiles.filter(\n (item): item is string => typeof item === 'string'\n )\n : [];\n const stepFiles = Array.isArray(parsed.stepFiles)\n ? parsed.stepFiles.filter(\n (item): item is string => typeof item === 'string'\n )\n : [];\n\n return { workflowFiles, stepFiles };\n } catch {\n return null;\n }\n }\n\n private async loadWorkflowsCache(): Promise<void> {\n const cachedData = await this.readWorkflowsCache();\n if (!cachedData) {\n return;\n }\n const { workflowFiles, stepFiles, serdeFiles } =\n await this.reconcileDiscoveredEntries({\n workflowCandidates: cachedData.workflowFiles,\n stepCandidates: cachedData.stepFiles,\n serdeCandidates: this.discoveredSerdeFiles,\n validatePatterns: true,\n });\n\n this.discoveredWorkflowFiles.clear();\n this.discoveredStepFiles.clear();\n this.discoveredSerdeFiles.clear();\n for (const filePath of workflowFiles) {\n this.discoveredWorkflowFiles.add(filePath);\n }\n for (const filePath of stepFiles) {\n this.discoveredStepFiles.add(filePath);\n }\n for (const filePath of serdeFiles) {\n this.discoveredSerdeFiles.add(filePath);\n }\n }\n\n private async writeWorkflowsCache(): Promise<void> {\n const cacheFilePath = this.getWorkflowsCacheFilePath();\n const cacheDir = join(this.config.workingDir, this.getDistDir(), 'cache');\n await mkdir(cacheDir, { recursive: true });\n\n const cacheData = {\n workflowFiles: Array.from(this.discoveredWorkflowFiles).sort(),\n stepFiles: Array.from(this.discoveredStepFiles).sort(),\n };\n\n await writeFile(cacheFilePath, JSON.stringify(cacheData, null, 2));\n }\n\n private async writeStubFiles(outputDir: string): Promise<void> {\n // Turbopack currently has a worker-concurrency limitation for pending\n // virtual entries. Warn if parallelism is too low to reliably discover.\n const parallelismCount = os.availableParallelism();\n if (process.env.TURBOPACK && parallelismCount < 4) {\n console.warn(\n `Available parallelism of ${parallelismCount} is less than needed 4. This can cause workflows/steps to fail to discover properly in turbopack`\n );\n }\n\n const routeStubContent = [\n `// ${ROUTE_STUB_FILE_MARKER}`,\n 'export const __workflowRouteStub = true;',\n ].join('\\n');\n const workflowGeneratedDir = join(outputDir, '.well-known/workflow/v1');\n\n await mkdir(join(workflowGeneratedDir, 'flow'), { recursive: true });\n await mkdir(join(workflowGeneratedDir, 'step'), { recursive: true });\n await mkdir(join(workflowGeneratedDir, 'webhook/[token]'), {\n recursive: true,\n });\n\n await this.writeFileIfChanged(\n join(workflowGeneratedDir, '.gitignore'),\n '*'\n );\n\n // route.js stubs are replaced by generated route.js output once discovery\n // finishes and a deferred build completes.\n await this.writeFileIfChanged(\n join(workflowGeneratedDir, 'flow/route.js'),\n routeStubContent\n );\n await this.writeFileIfChanged(\n join(workflowGeneratedDir, 'step/route.js'),\n routeStubContent\n );\n await this.writeFileIfChanged(\n join(workflowGeneratedDir, 'webhook/[token]/route.js'),\n routeStubContent\n );\n }\n\n private async writeFunctionsConfig(outputDir: string) {\n // we don't run this in development mode as it's not needed\n if (process.env.NODE_ENV === 'development') {\n return;\n }\n const generatedConfig = {\n version: '0',\n steps: {\n maxDuration: 'max',\n experimentalTriggers: [STEP_QUEUE_TRIGGER],\n },\n workflows: {\n maxDuration: 'max',\n experimentalTriggers: [WORKFLOW_QUEUE_TRIGGER],\n },\n };\n\n // We write this file to the generated directory for\n // the Next.js builder to consume\n await this.writeFileIfChanged(\n join(outputDir, '.well-known/workflow/v1/config.json'),\n JSON.stringify(generatedConfig, null, 2)\n );\n }\n\n private async writeFileIfChanged(\n filePath: string,\n contents: string | Buffer\n ): Promise<boolean> {\n const nextBuffer = Buffer.isBuffer(contents)\n ? contents\n : Buffer.from(contents);\n\n try {\n const currentBuffer = await readFile(filePath);\n if (currentBuffer.equals(nextBuffer)) {\n return false;\n }\n } catch {\n // File does not exist yet or cannot be read; write a fresh copy.\n }\n\n await mkdir(dirname(filePath), { recursive: true });\n await writeFile(filePath, nextBuffer);\n return true;\n }\n\n private async copyFileIfChanged(\n sourcePath: string,\n destinationPath: string\n ): Promise<boolean> {\n const sourceContents = await readFile(sourcePath);\n return this.writeFileIfChanged(destinationPath, sourceContents);\n }\n\n private sortJsonValue(value: unknown): unknown {\n if (Array.isArray(value)) {\n return value.map((item) => this.sortJsonValue(item));\n }\n if (value && typeof value === 'object') {\n const sortedEntries = Object.entries(value as Record<string, unknown>)\n .sort(([a], [b]) => a.localeCompare(b))\n .map(([key, entryValue]) => [key, this.sortJsonValue(entryValue)]);\n return Object.fromEntries(sortedEntries);\n }\n return value;\n }\n\n private async rewriteJsonFileWithStableKeyOrder(\n filePath: string\n ): Promise<void> {\n try {\n const contents = await readFile(filePath, 'utf-8');\n const parsed = JSON.parse(contents) as unknown;\n const normalized = this.sortJsonValue(parsed);\n await this.writeFileIfChanged(\n filePath,\n `${JSON.stringify(normalized, null, 2)}\\n`\n );\n } catch {\n // Manifest may not exist (e.g. manifest generation failed); ignore.\n }\n }\n\n private mergeWorkflowManifest(\n target: WorkflowManifest,\n source: WorkflowManifest\n ): void {\n if (source.steps) {\n target.steps = Object.assign(target.steps || {}, source.steps);\n }\n if (source.workflows) {\n target.workflows = Object.assign(\n target.workflows || {},\n source.workflows\n );\n }\n if (source.classes) {\n target.classes = Object.assign(target.classes || {}, source.classes);\n }\n }\n\n private async getRelativeFilenameForSwc(filePath: string): Promise<string> {\n const workingDir = this.config.workingDir;\n const normalizedWorkingDir = workingDir\n .replace(/\\\\/g, '/')\n .replace(/\\/$/, '');\n const normalizedFilepath = filePath.replace(/\\\\/g, '/');\n\n // Windows fix: Use case-insensitive comparison to work around drive letter casing issues.\n const lowerWd = normalizedWorkingDir.toLowerCase();\n const lowerPath = normalizedFilepath.toLowerCase();\n\n let relativeFilename: string;\n if (lowerPath.startsWith(`${lowerWd}/`)) {\n relativeFilename = normalizedFilepath.substring(\n normalizedWorkingDir.length + 1\n );\n } else if (lowerPath === lowerWd) {\n relativeFilename = '.';\n } else {\n relativeFilename = relative(workingDir, filePath).replace(/\\\\/g, '/');\n if (relativeFilename.startsWith('../')) {\n const aliasedRelativePath = await resolveWorkflowAliasRelativePath(\n filePath,\n workingDir\n );\n if (aliasedRelativePath) {\n relativeFilename = aliasedRelativePath;\n } else {\n relativeFilename = relativeFilename\n .split('/')\n .filter((part) => part !== '..')\n .join('/');\n }\n }\n }\n\n if (relativeFilename.includes(':') || relativeFilename.startsWith('/')) {\n relativeFilename = basename(normalizedFilepath);\n }\n\n return relativeFilename;\n }\n\n private getRelativeImportSpecifier(\n fromFilePath: string,\n toFilePath: string\n ): string {\n let relativePath = relative(dirname(fromFilePath), toFilePath).replace(\n /\\\\/g,\n '/'\n );\n if (!relativePath.startsWith('.')) {\n relativePath = `./${relativePath}`;\n }\n return relativePath;\n }\n\n private getStepCopyFileName(filePath: string): string {\n const normalizedPath = filePath.replace(/\\\\/g, '/');\n const hash = createHash('sha256').update(normalizedPath).digest('hex');\n const extension = extname(normalizedPath);\n return `${hash.slice(0, 16)}${extension || '.js'}`;\n }\n\n private rewriteCopiedStepImportSpecifier(\n specifier: string,\n sourceFilePath: string,\n copiedFilePath: string,\n copiedStepFileBySourcePath: Map<string, string>\n ): string {\n if (!specifier.startsWith('.')) {\n // Bare specifiers (e.g. '@workflow/serde') that are transitive\n // dependencies of SDK packages can't be resolved by the bundler\n // from the copied file's location (__workflow_step_files__/ inside\n // the app dir) because the app doesn't directly depend on them.\n //\n // Only rewrite when the specifier can't be resolved from the app\n // directory. If the package is a direct dependency of the app,\n // the bare specifier will resolve normally and should be left as-is.\n const appResolvable = this.resolveBareCopiedStepSpecifier(\n specifier,\n copiedFilePath\n );\n if (!appResolvable) {\n const resolved = this.resolveBareCopiedStepSpecifier(\n specifier,\n sourceFilePath\n );\n if (!resolved) return specifier;\n let rewrittenPath = relative(\n dirname(copiedFilePath),\n resolved\n ).replace(/\\\\/g, '/');\n if (!rewrittenPath.startsWith('.')) {\n rewrittenPath = `./${rewrittenPath}`;\n }\n return rewrittenPath;\n }\n return specifier;\n }\n\n const specifierMatch = specifier.match(/^([^?#]+)(.*)$/);\n const importPath = specifierMatch?.[1] ?? specifier;\n const suffix = specifierMatch?.[2] ?? '';\n const absoluteTargetPath = resolve(dirname(sourceFilePath), importPath);\n const resolvedTargetPath =\n this.resolveCopiedStepImportTargetPath(absoluteTargetPath);\n const normalizedTargetPath = resolvedTargetPath.replace(/\\\\/g, '/');\n const copiedTargetPath =\n copiedStepFileBySourcePath.get(normalizedTargetPath) ||\n (() => {\n try {\n const realTargetPath = realpathSync(resolvedTargetPath).replace(\n /\\\\/g,\n '/'\n );\n return copiedStepFileBySourcePath.get(realTargetPath);\n } catch {\n return undefined;\n }\n })();\n let rewrittenPath = relative(\n dirname(copiedFilePath),\n copiedTargetPath || resolvedTargetPath\n ).replace(/\\\\/g, '/');\n if (!rewrittenPath.startsWith('.')) {\n rewrittenPath = `./${rewrittenPath}`;\n }\n return `${rewrittenPath}${suffix}`;\n }\n\n /**\n * Resolves a bare specifier (e.g. '@workflow/serde', 'workflow') to an\n * absolute file path using ESM-compatible resolution semantics via\n * `enhanced-resolve`. Tries ESM conditions first (`node`, `import`),\n * falling back to CJS resolution if ESM fails.\n */\n private resolveBareCopiedStepSpecifier(\n specifier: string,\n sourceFilePath: string\n ): string | undefined {\n if (!this.esmSyncResolver) {\n this.esmSyncResolver = enhancedResolveOrig.create.sync(\n NODE_ESM_RESOLVE_OPTIONS\n );\n }\n if (!this.cjsSyncResolver) {\n this.cjsSyncResolver =\n enhancedResolveOrig.create.sync(NODE_RESOLVE_OPTIONS);\n }\n const context = dirname(sourceFilePath);\n try {\n const resolved = this.esmSyncResolver(context, specifier);\n if (resolved) return resolved;\n } catch {\n // ESM resolution failed, try CJS\n }\n try {\n const resolved = this.cjsSyncResolver(context, specifier);\n if (resolved) return resolved;\n } catch {\n // CJS resolution also failed\n }\n return undefined;\n }\n\n private resolveCopiedStepImportTargetPath(targetPath: string): string {\n if (existsSync(targetPath)) {\n return targetPath;\n }\n\n const extensionMatch = targetPath.match(/(\\.[^./\\\\]+)$/);\n const extension = extensionMatch?.[1]?.toLowerCase();\n if (!extension) {\n return targetPath;\n }\n\n const extensionFallbacks =\n extension === '.js'\n ? ['.ts', '.tsx', '.mts', '.cts']\n : extension === '.mjs'\n ? ['.mts']\n : extension === '.cjs'\n ? ['.cts']\n : extension === '.jsx'\n ? ['.tsx']\n : [];\n\n if (extensionFallbacks.length === 0) {\n return targetPath;\n }\n\n const targetWithoutExtension = targetPath.slice(0, -extension.length);\n for (const fallbackExtension of extensionFallbacks) {\n const fallbackPath = `${targetWithoutExtension}${fallbackExtension}`;\n if (existsSync(fallbackPath)) {\n return fallbackPath;\n }\n }\n\n return targetPath;\n }\n\n private rewriteRelativeImportsForCopiedStep(\n source: string,\n sourceFilePath: string,\n copiedFilePath: string,\n copiedStepFileBySourcePath: Map<string, string>\n ): string {\n const rewriteSpecifier = (specifier: string) =>\n this.rewriteCopiedStepImportSpecifier(\n specifier,\n sourceFilePath,\n copiedFilePath,\n copiedStepFileBySourcePath\n );\n const rewritePattern = (currentSource: string, pattern: RegExp): string =>\n currentSource.replace(\n pattern,\n (_match, prefix: string, specifier: string, suffix: string) =>\n `${prefix}${rewriteSpecifier(specifier)}${suffix}`\n );\n\n let rewrittenSource = source;\n rewrittenSource = rewritePattern(\n rewrittenSource,\n /(from\\s+['\"])([^'\"]+)(['\"])/g\n );\n rewrittenSource = rewritePattern(\n rewrittenSource,\n /(import\\s+['\"])([^'\"]+)(['\"])/g\n );\n rewrittenSource = rewritePattern(\n rewrittenSource,\n /(import\\(\\s*['\"])([^'\"]+)(['\"]\\s*\\))/g\n );\n rewrittenSource = rewritePattern(\n rewrittenSource,\n /(require\\(\\s*['\"])([^'\"]+)(['\"]\\s*\\))/g\n );\n return rewrittenSource;\n }\n\n private extractRelativeImportSpecifiers(source: string): string[] {\n const relativeSpecifiers = new Set<string>();\n const importPatterns = [\n /from\\s+['\"]([^'\"]+)['\"]/g,\n /import\\s+['\"]([^'\"]+)['\"]/g,\n /import\\(\\s*['\"]([^'\"]+)['\"]\\s*\\)/g,\n /require\\(\\s*['\"]([^'\"]+)['\"]\\s*\\)/g,\n ];\n\n for (const importPattern of importPatterns) {\n for (const match of source.matchAll(importPattern)) {\n const specifier = match[1];\n if (specifier?.startsWith('.')) {\n relativeSpecifiers.add(specifier);\n }\n }\n }\n\n return Array.from(relativeSpecifiers);\n }\n\n private isGeneratedWorkflowArtifact(filePath: string): boolean {\n const normalizedPath = filePath.replace(/\\\\/g, '/');\n return (\n normalizedPath.includes('/.well-known/workflow/') ||\n normalizedPath.includes('/.next/')\n );\n }\n\n private shouldSkipTransitiveStepFile(filePath: string): boolean {\n const normalizedPath = filePath.replace(/\\\\/g, '/');\n return (\n this.isGeneratedWorkflowArtifact(normalizedPath) ||\n normalizedPath.includes('/node_modules/') ||\n normalizedPath.includes('/.pnpm/')\n );\n }\n\n private async resolveTransitiveStepImportTargetPath(\n sourceFilePath: string,\n specifier: string\n ): Promise<string | null> {\n const specifierMatch = specifier.match(/^([^?#]+)(.*)$/);\n const importPath = specifierMatch?.[1] ?? specifier;\n const absoluteTargetPath = resolve(dirname(sourceFilePath), importPath);\n\n const candidatePaths = new Set<string>([\n this.resolveCopiedStepImportTargetPath(absoluteTargetPath),\n ]);\n\n if (!extname(absoluteTargetPath)) {\n const extensionCandidates = [\n '.ts',\n '.tsx',\n '.mts',\n '.cts',\n '.js',\n '.jsx',\n '.mjs',\n '.cjs',\n ];\n for (const extensionCandidate of extensionCandidates) {\n candidatePaths.add(`${absoluteTargetPath}${extensionCandidate}`);\n candidatePaths.add(\n join(absoluteTargetPath, `index${extensionCandidate}`)\n );\n }\n }\n\n for (const candidatePath of candidatePaths) {\n const resolvedPath =\n this.resolveCopiedStepImportTargetPath(candidatePath);\n const normalizedResolvedPath =\n this.normalizeDiscoveredFilePath(resolvedPath);\n\n if (this.shouldSkipTransitiveStepFile(normalizedResolvedPath)) {\n continue;\n }\n\n try {\n const fileStats = await stat(normalizedResolvedPath);\n if (fileStats.isFile()) {\n return normalizedResolvedPath;\n }\n } catch {\n // Try the next candidate path.\n }\n }\n\n return null;\n }\n\n private async collectTransitiveStepFiles({\n stepFiles,\n seedFiles = [],\n }: {\n stepFiles: string[];\n seedFiles?: string[];\n }): Promise<string[]> {\n const normalizedSeedFiles = Array.from(\n new Set(\n [...stepFiles, ...seedFiles].map((stepFile) =>\n this.normalizeDiscoveredFilePath(stepFile)\n )\n )\n ).sort();\n // Intentionally re-validate step seeds against current file contents\n // instead of blindly trusting callers. This prevents stale/manual seed\n // paths from persisting when files no longer contain \"use step\".\n const discoveredStepFiles = new Set<string>();\n const queuedFiles = [...normalizedSeedFiles];\n const visitedFiles = new Set<string>();\n const sourceCache = new Map<string, string | null>();\n const patternCache = new Map<\n string,\n ReturnType<typeof detectWorkflowPatterns> | null\n >();\n\n const getSource = async (filePath: string): Promise<string | null> => {\n if (sourceCache.has(filePath)) {\n return sourceCache.get(filePath) ?? null;\n }\n try {\n const source = await readFile(filePath, 'utf-8');\n sourceCache.set(filePath, source);\n return source;\n } catch {\n sourceCache.set(filePath, null);\n return null;\n }\n };\n\n const getPatterns = async (\n filePath: string\n ): Promise<ReturnType<typeof detectWorkflowPatterns> | null> => {\n if (patternCache.has(filePath)) {\n return patternCache.get(filePath) ?? null;\n }\n const source = await getSource(filePath);\n if (source === null) {\n patternCache.set(filePath, null);\n return null;\n }\n const patterns = detectWorkflowPatterns(source);\n patternCache.set(filePath, patterns);\n return patterns;\n };\n\n while (queuedFiles.length > 0) {\n const currentFile = queuedFiles.pop();\n if (!currentFile || visitedFiles.has(currentFile)) {\n continue;\n }\n visitedFiles.add(currentFile);\n\n const currentSource = await getSource(currentFile);\n if (currentSource === null) {\n continue;\n }\n\n const currentPatterns = await getPatterns(currentFile);\n if (currentPatterns?.hasUseStep) {\n discoveredStepFiles.add(currentFile);\n }\n\n const relativeImportSpecifiers =\n this.extractRelativeImportSpecifiers(currentSource);\n for (const specifier of relativeImportSpecifiers) {\n const resolvedImportPath =\n await this.resolveTransitiveStepImportTargetPath(\n currentFile,\n specifier\n );\n if (!resolvedImportPath) {\n continue;\n }\n\n if (!visitedFiles.has(resolvedImportPath)) {\n queuedFiles.push(resolvedImportPath);\n }\n\n const importPatterns = await getPatterns(resolvedImportPath);\n if (importPatterns?.hasUseStep) {\n discoveredStepFiles.add(resolvedImportPath);\n }\n }\n }\n\n return Array.from(discoveredStepFiles).sort();\n }\n\n private async collectTransitiveSerdeFiles({\n entryFiles,\n serdeFiles,\n }: {\n entryFiles: string[];\n serdeFiles: string[];\n }): Promise<string[]> {\n const normalizedEntryFiles = Array.from(\n new Set(\n entryFiles.map((entryFile) =>\n this.normalizeDiscoveredFilePath(entryFile)\n )\n )\n ).sort();\n const normalizedSerdeSeedFiles = Array.from(\n new Set(\n serdeFiles.map((serdeFile) =>\n this.normalizeDiscoveredFilePath(serdeFile)\n )\n )\n ).sort();\n // Intentionally re-validate serde seeds against source patterns.\n // This keeps previously discovered/manual seed entries from sticking when\n // files no longer match serde patterns.\n const discoveredSerdeFiles = new Set<string>();\n const queuedFiles = Array.from(\n new Set([...normalizedEntryFiles, ...normalizedSerdeSeedFiles])\n );\n const visitedFiles = new Set<string>();\n const sourceCache = new Map<string, string | null>();\n const patternCache = new Map<\n string,\n ReturnType<typeof detectWorkflowPatterns> | null\n >();\n\n const getSource = async (filePath: string): Promise<string | null> => {\n if (sourceCache.has(filePath)) {\n return sourceCache.get(filePath) ?? null;\n }\n try {\n const source = await readFile(filePath, 'utf-8');\n sourceCache.set(filePath, source);\n return source;\n } catch {\n sourceCache.set(filePath, null);\n return null;\n }\n };\n\n const getPatterns = async (\n filePath: string\n ): Promise<ReturnType<typeof detectWorkflowPatterns> | null> => {\n if (patternCache.has(filePath)) {\n return patternCache.get(filePath) ?? null;\n }\n const source = await getSource(filePath);\n if (source === null) {\n patternCache.set(filePath, null);\n return null;\n }\n const patterns = detectWorkflowPatterns(source);\n patternCache.set(filePath, patterns);\n return patterns;\n };\n\n for (const serdeSeedFile of normalizedSerdeSeedFiles) {\n const seedPatterns = await getPatterns(serdeSeedFile);\n if (seedPatterns?.hasSerde) {\n discoveredSerdeFiles.add(serdeSeedFile);\n }\n }\n\n while (queuedFiles.length > 0) {\n const currentFile = queuedFiles.pop();\n if (!currentFile || visitedFiles.has(currentFile)) {\n continue;\n }\n visitedFiles.add(currentFile);\n\n const currentSource = await getSource(currentFile);\n if (currentSource === null) {\n continue;\n }\n\n const relativeImportSpecifiers =\n this.extractRelativeImportSpecifiers(currentSource);\n for (const specifier of relativeImportSpecifiers) {\n const resolvedImportPath =\n await this.resolveTransitiveStepImportTargetPath(\n currentFile,\n specifier\n );\n if (!resolvedImportPath) {\n continue;\n }\n\n if (!visitedFiles.has(resolvedImportPath)) {\n queuedFiles.push(resolvedImportPath);\n }\n\n const importPatterns = await getPatterns(resolvedImportPath);\n if (importPatterns?.hasSerde) {\n discoveredSerdeFiles.add(resolvedImportPath);\n }\n }\n }\n\n // AST-level verification: run SWC detect mode on regex-matched candidates\n // to confirm they actually define serde classes. This prevents SDK internal\n // files (which match serde regex patterns but define no classes) from being\n // bundled into the workflow sandbox.\n const projectRoot = this.config.projectRoot || this.config.workingDir;\n const verifiedSerdeFiles: string[] = [];\n await Promise.all(\n Array.from(discoveredSerdeFiles).map(async (filePath) => {\n const source = await getSource(filePath);\n if (!source) return;\n try {\n const relativeFilename =\n await this.getRelativeFilenameForSwc(filePath);\n const { workflowManifest } = await applySwcTransform(\n relativeFilename,\n source,\n 'detect',\n filePath,\n projectRoot\n );\n // Only include files that actually define serde classes\n const hasClasses =\n workflowManifest.classes &&\n Object.values(workflowManifest.classes).some(\n (entries) => Object.keys(entries).length > 0\n );\n if (hasClasses) {\n verifiedSerdeFiles.push(filePath);\n }\n } catch {\n // If detect fails, include the file to be safe\n verifiedSerdeFiles.push(filePath);\n }\n })\n );\n\n return verifiedSerdeFiles.sort();\n }\n\n private async createResponseBuiltinsStepFile({\n stepsRouteDir,\n }: {\n stepsRouteDir: string;\n }): Promise<string> {\n const copiedStepsDir = join(stepsRouteDir, DEFERRED_STEP_COPY_DIR_NAME);\n await mkdir(copiedStepsDir, { recursive: true });\n\n const responseBuiltinsFilePath = join(\n copiedStepsDir,\n 'workflow-response-builtins.ts'\n );\n const source = [\n 'export async function __builtin_response_array_buffer(this: Request | Response) {',\n \" 'use step';\",\n ' return this.arrayBuffer();',\n '}',\n '',\n 'export async function __builtin_response_json(this: Request | Response) {',\n \" 'use step';\",\n ' return this.json();',\n '}',\n '',\n 'export async function __builtin_response_text(this: Request | Response) {',\n \" 'use step';\",\n ' return this.text();',\n '}',\n ].join('\\n');\n const sourceMapComment = createDeferredStepCopyInlineSourceMapComment({\n sourcePath: responseBuiltinsFilePath,\n sourceContent: source,\n });\n await this.writeFileIfChanged(\n responseBuiltinsFilePath,\n `${source}\\n${sourceMapComment}\\n`\n );\n\n return responseBuiltinsFilePath;\n }\n\n private async copyDiscoveredStepFiles({\n stepFiles,\n stepsRouteDir,\n preserveFileNames = [],\n }: {\n stepFiles: string[];\n stepsRouteDir: string;\n preserveFileNames?: string[];\n }): Promise<string[]> {\n const copiedStepsDir = join(stepsRouteDir, DEFERRED_STEP_COPY_DIR_NAME);\n await mkdir(copiedStepsDir, { recursive: true });\n\n const normalizedStepFiles = Array.from(\n new Set(\n stepFiles.map((stepFile) =>\n this.normalizeDiscoveredFilePath(stepFile)\n )\n )\n ).sort();\n const copiedStepFileBySourcePath = new Map<string, string>();\n const expectedFileNames = new Set<string>(preserveFileNames);\n const copiedStepFiles: string[] = [];\n\n for (const normalizedStepFile of normalizedStepFiles) {\n const copiedFileName = this.getStepCopyFileName(normalizedStepFile);\n const copiedFilePath = join(copiedStepsDir, copiedFileName);\n const normalizedPathKey = normalizedStepFile.replace(/\\\\/g, '/');\n copiedStepFileBySourcePath.set(normalizedPathKey, copiedFilePath);\n try {\n const realPathKey = realpathSync(normalizedStepFile).replace(\n /\\\\/g,\n '/'\n );\n copiedStepFileBySourcePath.set(realPathKey, copiedFilePath);\n } catch {\n // Keep best-effort mapping when source cannot be realpath-resolved.\n }\n expectedFileNames.add(copiedFileName);\n copiedStepFiles.push(copiedFilePath);\n }\n\n for (const normalizedStepFile of normalizedStepFiles) {\n const source = await readFile(normalizedStepFile, 'utf-8');\n const copiedFilePath = copiedStepFileBySourcePath.get(\n normalizedStepFile.replace(/\\\\/g, '/')\n );\n if (!copiedFilePath) {\n continue;\n }\n const rewrittenSource = this.rewriteRelativeImportsForCopiedStep(\n source,\n normalizedStepFile,\n copiedFilePath,\n copiedStepFileBySourcePath\n );\n const metadataComment = createDeferredStepSourceMetadataComment({\n relativeFilename:\n await this.getRelativeFilenameForSwc(normalizedStepFile),\n absolutePath: normalizedStepFile.replace(/\\\\/g, '/'),\n });\n const sourceMapComment = createDeferredStepCopyInlineSourceMapComment({\n sourcePath: normalizedStepFile,\n sourceContent: source,\n generatedContent: rewrittenSource,\n });\n const copiedSource = `${metadataComment}\\n${rewrittenSource}\\n${sourceMapComment}`;\n\n await this.writeFileIfChanged(copiedFilePath, copiedSource);\n }\n\n const existingEntries = await readdir(copiedStepsDir, {\n withFileTypes: true,\n }).catch(() => []);\n await Promise.all(\n existingEntries\n .filter((entry) => !expectedFileNames.has(entry.name))\n .map((entry) =>\n rm(join(copiedStepsDir, entry.name), {\n recursive: true,\n force: true,\n })\n )\n );\n\n return copiedStepFiles;\n }\n\n private async createDeferredStepsManifest({\n stepFiles,\n workflowFiles,\n serdeOnlyFiles,\n }: {\n stepFiles: string[];\n workflowFiles: string[];\n serdeOnlyFiles: string[];\n }): Promise<WorkflowManifest> {\n const workflowManifest: WorkflowManifest = {};\n const filesForStepTransform = Array.from(\n new Set([...stepFiles, ...serdeOnlyFiles])\n ).sort();\n\n await Promise.all(\n filesForStepTransform.map(async (stepFile) => {\n const source = await readFile(stepFile, 'utf-8');\n const relativeFilename =\n await this.getRelativeFilenameForSwc(stepFile);\n const { workflowManifest: fileManifest } = await applySwcTransform(\n relativeFilename,\n source,\n 'step',\n stepFile,\n this.config.projectRoot || this.config.workingDir\n );\n this.mergeWorkflowManifest(workflowManifest, fileManifest);\n })\n );\n\n const stepFileSet = new Set(stepFiles);\n const workflowOnlyFiles = workflowFiles\n .filter((workflowFile) => !stepFileSet.has(workflowFile))\n .sort();\n await Promise.all(\n workflowOnlyFiles.map(async (workflowFile) => {\n try {\n const source = await readFile(workflowFile, 'utf-8');\n const relativeFilename =\n await this.getRelativeFilenameForSwc(workflowFile);\n const { workflowManifest: fileManifest } = await applySwcTransform(\n relativeFilename,\n source,\n 'workflow',\n workflowFile,\n this.config.projectRoot || this.config.workingDir\n );\n this.mergeWorkflowManifest(workflowManifest, {\n workflows: fileManifest.workflows,\n classes: fileManifest.classes,\n });\n } catch (error) {\n console.log(\n `Warning: Failed to extract workflow metadata from ${workflowFile}:`,\n error instanceof Error ? error.message : String(error)\n );\n }\n })\n );\n\n return workflowManifest;\n }\n\n private async collectManifestStepSourceFiles(\n manifest: WorkflowManifest\n ): Promise<string[]> {\n const manifestStepEntries = Object.keys(manifest.steps || {});\n if (manifestStepEntries.length === 0) {\n return [];\n }\n\n const resolveBaseDirs = this.getManifestStepResolveBaseDirs();\n const candidateFiles = manifestStepEntries\n .flatMap((stepEntry) => {\n if (isAbsolute(stepEntry)) {\n return [this.normalizeDiscoveredFilePath(stepEntry)];\n }\n return resolveBaseDirs.map((baseDir) =>\n this.normalizeDiscoveredFilePath(resolve(baseDir, stepEntry))\n );\n })\n .filter(\n (candidateFile) => !this.isGeneratedWorkflowArtifact(candidateFile)\n );\n const existingCandidates = await this.filterExistingFiles(candidateFiles);\n return Array.from(new Set(existingCandidates)).sort();\n }\n\n private async buildStepsFunction({\n workflowGeneratedDir,\n routeFileName = 'route.js',\n discoveredEntries,\n additionalStepSourceManifest,\n }: {\n workflowGeneratedDir: string;\n routeFileName?: string;\n discoveredEntries: DeferredDiscoveredEntries;\n additionalStepSourceManifest?: WorkflowManifest;\n }) {\n const stepsRouteDir = join(workflowGeneratedDir, 'step');\n await mkdir(stepsRouteDir, { recursive: true });\n const discovered = discoveredEntries;\n const workflowFiles = [...discovered.discoveredWorkflows].sort();\n const stepFiles = await this.collectTransitiveStepFiles({\n stepFiles: [...discovered.discoveredSteps].sort(),\n // Workflow transforms can inline step IDs and remove runtime imports,\n // so seed transitive traversal with workflow files too.\n seedFiles: workflowFiles,\n });\n const serdeFiles = [...discovered.discoveredSerdeFiles].sort();\n const stepFileSet = new Set(stepFiles);\n const serdeOnlyFiles = serdeFiles.filter(\n (file) => !stepFileSet.has(file)\n );\n const additionalManifestStepFiles = additionalStepSourceManifest\n ? await this.collectManifestStepSourceFiles(\n additionalStepSourceManifest\n )\n : [];\n const stepFilesWithManifestSources = Array.from(\n new Set([...stepFiles, ...additionalManifestStepFiles])\n ).sort();\n const responseBuiltinsStepFilePath =\n await this.createResponseBuiltinsStepFile({\n stepsRouteDir,\n });\n const manifestStepFiles = Array.from(\n new Set([...stepFilesWithManifestSources, responseBuiltinsStepFilePath])\n ).sort();\n const manifest = await this.createDeferredStepsManifest({\n stepFiles: manifestStepFiles,\n workflowFiles,\n serdeOnlyFiles,\n });\n\n const manifestDiscoveredStepFiles =\n await this.collectManifestStepSourceFiles(manifest);\n // Copy all discovered step sources so they are transformed in step mode.\n // Importing raw node_modules files directly can bypass loader transforms,\n // which prevents step registrars from being emitted.\n const copiedStepSourceFiles = Array.from(\n new Set([\n ...stepFilesWithManifestSources,\n ...manifestDiscoveredStepFiles,\n ])\n ).sort();\n const copiedDiscoveredStepFiles = await this.copyDiscoveredStepFiles({\n stepFiles: copiedStepSourceFiles,\n stepsRouteDir,\n preserveFileNames: [basename(responseBuiltinsStepFilePath)],\n });\n const copiedStepFiles = [\n responseBuiltinsStepFilePath,\n ...copiedDiscoveredStepFiles,\n ];\n\n const stepRouteFile = join(stepsRouteDir, routeFileName);\n const copiedStepImports = copiedStepFiles\n .map((copiedStepFile) => {\n const importSpecifier = this.getRelativeImportSpecifier(\n stepRouteFile,\n copiedStepFile\n );\n return `import '${importSpecifier}';`;\n })\n .join('\\n');\n const serdeImports = serdeOnlyFiles\n .map((serdeFile) => {\n const normalizedSerdeFile =\n this.normalizeDiscoveredFilePath(serdeFile);\n const { importPath, isPackage } = getImportPath(\n normalizedSerdeFile,\n this.config.workingDir\n );\n if (isPackage) {\n return `import '${importPath}';`;\n }\n const importSpecifier = this.getRelativeImportSpecifier(\n stepRouteFile,\n normalizedSerdeFile\n );\n return `import '${importSpecifier}';`;\n })\n .join('\\n');\n\n const routeContents = [\n '// biome-ignore-all lint: generated file',\n '/* eslint-disable */',\n copiedStepImports,\n serdeImports\n ? `// Serde files for cross-context class registration\\n${serdeImports}`\n : '',\n \"export { stepEntrypoint as POST } from 'workflow/runtime';\",\n ]\n .filter(Boolean)\n .join('\\n');\n\n await this.writeFileIfChanged(stepRouteFile, routeContents);\n\n return {\n context: undefined,\n manifest,\n };\n }\n\n private async buildWorkflowsFunction({\n inputFiles,\n workflowGeneratedDir,\n tsconfigPath,\n routeFileName = 'route.js',\n discoveredEntries,\n }: {\n inputFiles: string[];\n workflowGeneratedDir: string;\n tsconfigPath?: string;\n routeFileName?: string;\n discoveredEntries: DeferredDiscoveredEntries;\n }) {\n const workflowsRouteDir = join(workflowGeneratedDir, 'flow');\n await mkdir(workflowsRouteDir, { recursive: true });\n return await this.createWorkflowsBundle({\n format: 'esm',\n outfile: join(workflowsRouteDir, routeFileName),\n bundleFinalOutput: false,\n // Deferred builds do not reuse the interim esbuild context. Dispose it\n // after each pass to avoid leaking contexts during watch-mode rebuilds.\n keepInterimBundleContext: false,\n inputFiles,\n tsconfigPath,\n discoveredEntries,\n });\n }\n\n private async buildWebhookRoute({\n workflowGeneratedDir,\n routeFileName = 'route.js',\n }: {\n workflowGeneratedDir: string;\n routeFileName?: string;\n }): Promise<void> {\n const webhookRouteFile = join(\n workflowGeneratedDir,\n `webhook/[token]/${routeFileName}`\n );\n await this.createWebhookBundle({\n outfile: webhookRouteFile,\n bundle: false, // Next.js doesn't need bundling\n });\n }\n\n private async findAppDirectory(): Promise<string> {\n const appDir = resolve(this.config.workingDir, 'app');\n const srcAppDir = resolve(this.config.workingDir, 'src/app');\n const pagesDir = resolve(this.config.workingDir, 'pages');\n const srcPagesDir = resolve(this.config.workingDir, 'src/pages');\n\n // Helper to check if a path exists and is a directory\n const isDirectory = async (path: string): Promise<boolean> => {\n try {\n await access(path, constants.F_OK);\n const stats = await stat(path);\n if (!stats.isDirectory()) {\n throw new Error(`Path exists but is not a directory: ${path}`);\n }\n return true;\n } catch (e) {\n if (e instanceof Error && e.message.includes('not a directory')) {\n throw e;\n }\n return false;\n }\n };\n\n // Check if app directory exists\n if (await isDirectory(appDir)) {\n return appDir;\n }\n\n // Check if src/app directory exists\n if (await isDirectory(srcAppDir)) {\n return srcAppDir;\n }\n\n // If no app directory exists, check for pages directory and create app next to it\n if (await isDirectory(pagesDir)) {\n // Create app directory next to pages directory\n await mkdir(appDir, { recursive: true });\n return appDir;\n }\n\n if (await isDirectory(srcPagesDir)) {\n // Create src/app directory next to src/pages directory\n await mkdir(srcAppDir, { recursive: true });\n return srcAppDir;\n }\n\n throw new Error(\n 'Could not find Next.js app or pages directory. Expected one of: \"app\", \"src/app\", \"pages\", or \"src/pages\" to exist.'\n );\n }\n }\n\n CachedNextBuilderDeferred = NextDeferredBuilder;\n return NextDeferredBuilder;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"builder-eager.js","sourceRoot":"","sources":["../src/builder-eager.ts"],"names":[],"mappings":";;;;;AAUA,kDA4hBC;AAtiBD,qCAAoC;AACpC,+CAA4E;AAC5E,yCAAmD;AACnD,0DAAkC;AAElC,IAAI,sBAA2B,CAAC;AAEhC,8EAA8E;AAC9E,6EAA6E;AAC7E,oEAAoE;AAC7D,KAAK,UAAU,mBAAmB;IACvC,IAAI,sBAAsB,EAAE,CAAC;QAC3B,OAAO,sBAAsB,CAAC;IAChC,CAAC;IAED,MAAM,EACJ,WAAW,EAAE,gBAAgB,EAC7B,kBAAkB,EAClB,sBAAsB;IACtB,4IAA4I;MAC7I,GAAG,CAAC,MAAM,IAAI,CACb,8BAA8B,CAC/B,CAAwC,CAAC;IAE1C,MAAM,WAAY,SAAQ,gBAAgB;QACxC,KAAK,CAAC,KAAK;YACT,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAChD,MAAM,oBAAoB,GAAG,IAAA,gBAAI,EAAC,SAAS,EAAE,yBAAyB,CAAC,CAAC;YAExE,kCAAkC;YAClC,MAAM,IAAA,gBAAK,EAAC,oBAAoB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACvD,8BAA8B;YAE9B,MAAM,IAAA,oBAAS,EAAC,IAAA,gBAAI,EAAC,oBAAoB,EAAE,YAAY,CAAC,EAAE,GAAG,CAAC,CAAC;YAE/D,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YAC9C,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAEnD,MAAM,OAAO,GAAG;gBACd,UAAU;gBACV,oBAAoB;gBACpB,YAAY;aACb,CAAC;YAEF,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,iBAAiB,EAAE,GAC3D,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YACzC,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;YACnE,MAAM,IAAI,CAAC,iBAAiB,CAAC,EAAE,oBAAoB,EAAE,CAAC,CAAC;YAEvD,oCAAoC;YACpC,MAAM,QAAQ,GAAG;gBACf,KAAK,EAAE,EAAE,GAAG,aAAa,CAAC,KAAK,EAAE,GAAG,eAAe,EAAE,QAAQ,EAAE,KAAK,EAAE;gBACtE,SAAS,EAAE;oBACT,GAAG,aAAa,CAAC,SAAS;oBAC1B,GAAG,eAAe,EAAE,QAAQ,EAAE,SAAS;iBACxC;gBACD,OAAO,EAAE;oBACP,GAAG,aAAa,CAAC,OAAO;oBACxB,GAAG,eAAe,EAAE,QAAQ,EAAE,OAAO;iBACtC;aACF,CAAC;YAEF,yDAAyD;YACzD,MAAM,kBAAkB,GAAG,IAAA,gBAAI,EAAC,oBAAoB,EAAE,eAAe,CAAC,CAAC;YACvE,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC;gBAC7C,kBAAkB;gBAClB,WAAW,EAAE,oBAAoB;gBACjC,QAAQ;aACT,CAAC,CAAC;YAEH,oEAAoE;YACpE,qDAAqD;YACrD,IAAI,IAAI,CAAC,0BAA0B,IAAI,YAAY,EAAE,CAAC;gBACpD,MAAM,iBAAiB,GAAG,IAAA,gBAAI,EAC5B,IAAI,CAAC,MAAM,CAAC,UAAU,EACtB,gCAAgC,CACjC,CAAC;gBACF,MAAM,IAAA,gBAAK,EAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBACpD,MAAM,IAAA,mBAAQ,EACZ,IAAA,gBAAI,EAAC,oBAAoB,EAAE,eAAe,CAAC,EAC3C,IAAA,gBAAI,EAAC,iBAAiB,EAAE,eAAe,CAAC,CACzC,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;YAE3C,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBACtB,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACvB,MAAM,IAAI,KAAK,CACb,uDAAuD,CACxD,CAAC;gBACJ,CAAC;gBACD,IACE,CAAC,eAAe,EAAE,gBAAgB;oBAClC,CAAC,eAAe,EAAE,WAAW,EAC7B,CAAC;oBACD,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;gBACxE,CAAC;gBAED,IAAI,QAAQ,GAAG,iBAAiB,CAAC;gBACjC,gEAAgE;gBAChE,IAAI,YAAY,GAAG;oBACjB,gBAAgB,EAAE,eAAe,CAAC,gBAAiB;oBACnD,WAAW,EAAE,eAAe,CAAC,WAAY;iBAC1C,CAAC;gBAEF,MAAM,aAAa,GAAG,CAAC,QAAgB,EAAE,EAAE,CACzC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBAC/B,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;gBAKrC,IAAI,gBAAgB,GAAG,IAAI,GAAG,EAAkC,CAAC;gBAEjE,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC;oBAClC,KAAK;oBACL,MAAM;oBACN,KAAK;oBACL,MAAM;oBACN,MAAM;oBACN,MAAM;oBACN,MAAM;oBACN,MAAM;iBACP,CAAC,CAAC;gBACH,MAAM,oBAAoB,GAAG;oBAC3B,QAAQ;oBACR,gBAAgB;oBAChB,SAAS;oBACT,UAAU;oBACV,WAAW;oBACX,QAAQ;oBACR,SAAS;oBACT,OAAO;oBACP,UAAU;oBACV,SAAS;oBACT,eAAe;oBACf,iBAAiB;oBACjB,wBAAwB;iBACzB,CAAC;gBACF,MAAM,sBAAsB,GAAG,oBAAoB,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBACxE,oBAAoB,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;gBAElD,wFAAwF;gBACxF,4DAA4D;gBAC5D,8CAA8C;gBAC9C,OAAO,CAAC,GAAG,CAAC,uBAAuB;oBACjC,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;gBAEnD,MAAM,OAAO,GAAG,IAAI,mBAAS,CAAC;oBAC5B,sEAAsE;oBACtE,gBAAgB,EAAE,CAAC;oBACnB,OAAO,EAAE,CAAC,QAAgB,EAAE,EAAE;wBAC5B,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;wBACpD,MAAM,SAAS,GAAG,IAAA,mBAAO,EAAC,cAAc,CAAC,CAAC;wBAC1C,IAAI,SAAS,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;4BACrD,OAAO,IAAI,CAAC;wBACd,CAAC;wBACD,IAAI,cAAc,CAAC,UAAU,CAAC,sBAAsB,CAAC,EAAE,CAAC;4BACtD,OAAO,IAAI,CAAC;wBACd,CAAC;wBACD,KAAK,MAAM,QAAQ,IAAI,oBAAoB,EAAE,CAAC;4BAC5C,IAAI,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gCACtC,OAAO,IAAI,CAAC;4BACd,CAAC;wBACH,CAAC;wBACD,OAAO,KAAK,CAAC;oBACf,CAAC;iBACF,CAAC,CAAC;gBAEH,MAAM,mBAAmB,GAAG,GAAG,EAAE;oBAC/B,MAAM,UAAU,GAAG,OAAO,CAAC,kBAAkB,EAG5C,CAAC;oBACF,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAkC,CAAC;oBACpE,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,UAAU,EAAE,CAAC;wBACtC,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;oBACnD,CAAC;oBACD,OAAO,iBAAiB,CAAC;gBAC3B,CAAC,CAAC;gBAEF,IAAI,YAAY,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;gBAErC,MAAM,OAAO,GAAG,CAAC,IAAyB,EAAE,EAAE;oBAC5C,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;wBACrD,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;oBACxD,CAAC,CAAC,CAAC;oBACH,OAAO,YAAY,CAAC;gBACtB,CAAC,CAAC;gBAEF,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE;oBAC7B,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;oBACjD,OAAO,CAAC,UAAU,GAAG,aAAa,CAAC;oBAEnC,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;oBACzB,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAC5B,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;oBACzC,IAAI,CAAC,WAAW,EAAE,CAAC;wBACjB,MAAM,IAAI,KAAK,CACb,uDAAuD,CACxD,CAAC;oBACJ,CAAC;oBACD,QAAQ,GAAG,WAAW,CAAC;oBAEvB,MAAM,YAAY,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;oBAC9C,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;oBACnE,IACE,CAAC,eAAe,EAAE,gBAAgB;wBAClC,CAAC,eAAe,EAAE,WAAW,EAC7B,CAAC;wBACD,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAC;oBACJ,CAAC;oBACD,YAAY,GAAG;wBACb,gBAAgB,EAAE,eAAe,CAAC,gBAAgB;wBAClD,WAAW,EAAE,eAAe,CAAC,WAAW;qBACzC,CAAC;gBACJ,CAAC,CAAC;gBAEF,MAAM,gBAAgB,GAAG,CACvB,MAGC,EACD,KAAa,EACb,EAAE;oBACF,MAAM,SAAS,GAAG,CAChB,QAAiD,EACjD,MAAwB,EACxB,EAAE;wBACF,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;4BACvC,OAAO;wBACT,CAAC;wBACD,MAAM,UAAU,GAAG,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC;wBAC9D,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,UAAU,qBAAqB,KAAK,EAAE,CAAC,CAAC;wBAC3D,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;4BAC/B,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC;wBAC3B,CAAC;oBACH,CAAC,CAAC;oBAEF,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;oBAClC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBACrC,CAAC,CAAC;gBAEF,MAAM,oBAAoB,GAAG,KAAK,IAAI,EAAE;oBACtC,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBACpC,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;oBAC7C,gBAAgB,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;oBAC9C,OAAO,CAAC,GAAG,CACT,sBAAsB,EACtB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,gBAAgB,IAAI,CACrC,CAAC;oBAEF,MAAM,oBAAoB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBACxC,MAAM,cAAc,GAAG,MAAM,YAAY,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;oBACrE,gBAAgB,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;oBAErD,IACE,CAAC,cAAc,CAAC,WAAW;wBAC3B,cAAc,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EACvC,CAAC;wBACD,OAAO,CAAC,KAAK,CACX,uDAAuD,CACxD,CAAC;wBACF,OAAO;oBACT,CAAC;oBACD,MAAM,YAAY,CAAC,WAAW,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBACnE,OAAO,CAAC,GAAG,CACT,yBAAyB,EACzB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,oBAAoB,IAAI,CACzC,CAAC;gBACJ,CAAC,CAAC;gBAEF,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,EAAE,CACvC,mBAAmB,CAAC,GAAG,CAAC,IAAA,mBAAO,EAAC,IAAI,CAAC,CAAC,CAAC;gBAEzC,MAAM,sBAAsB,GAAG,CAAC,KAA6B,EAAE,EAAE,CAC/D,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,QAAQ,CAAC;gBAEpC,MAAM,gBAAgB,GAAG,CACvB,cAAmD,EACnD,eAAoD,EACpD,EAAE;oBACF,MAAM,OAAO,GAAa,EAAE,CAAC;oBAC7B,KAAK,MAAM,IAAI,IAAI,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC;wBAC1C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;4BACvD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACrB,CAAC;oBACH,CAAC;oBACD,OAAO,OAAO,CAAC;gBACjB,CAAC,CAAC;gBAEF,MAAM,yBAAyB,GAAG,CAChC,cAAmD,EACnD,eAAoD,EACpD,EAAE;oBACF,MAAM,KAAK,GAAa,EAAE,CAAC;oBAC3B,MAAM,QAAQ,GAAa,EAAE,CAAC;oBAE9B,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,cAAc,EAAE,CAAC;wBAC1C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;4BAC3B,SAAS;wBACX,CAAC;wBAED,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;wBAC3C,IAAI,CAAC,QAAQ,EAAE,CAAC;4BACd,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;4BACjB,SAAS;wBACX,CAAC;wBAED,IACE,sBAAsB,CAAC,IAAI,CAAC,KAAK,sBAAsB,CAAC,QAAQ,CAAC,EACjE,CAAC;4BACD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACtB,CAAC;oBACH,CAAC;oBAED,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;gBAC7B,CAAC,CAAC;gBAEF,MAAM,oBAAoB,GAAG,CAC3B,cAAmD,EACnD,eAAoD,EACpD,EAAE;oBACF,MAAM,YAAY,GAAG,gBAAgB,CACnC,cAAc,EACd,eAAe,CAChB,CAAC;oBACF,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,yBAAyB,CACnD,cAAc,EACd,eAAe,CAChB,CAAC;oBAEF,OAAO;wBACL,UAAU,EAAE,KAAK;wBACjB,aAAa,EAAE,QAAQ;wBACvB,YAAY;qBACb,CAAC;gBACJ,CAAC,CAAC;gBAEF,IAAI,SAAS,GAAG,IAAI,CAAC;gBAErB,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE;oBAC5B,MAAM,cAAc,GAAG,mBAAmB,EAAE,CAAC;oBAC7C,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,GAC/C,oBAAoB,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;oBAEzD,gBAAgB,GAAG,cAAc,CAAC;oBAElC,IAAI,SAAS,EAAE,CAAC;wBACd,SAAS,GAAG,KAAK,CAAC;wBAClB,OAAO;oBACT,CAAC;oBAED,IACE,UAAU,CAAC,MAAM,KAAK,CAAC;wBACvB,aAAa,CAAC,MAAM,KAAK,CAAC;wBAC1B,YAAY,CAAC,MAAM,KAAK,CAAC,EACzB,CAAC;wBACD,OAAO;oBACT,CAAC;oBAED,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;wBACnC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBAC7B,CAAC;oBACD,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;wBAC/B,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBACxB,CAAC;oBAED,OAAO,CAAC,KAAK,IAAI,EAAE;wBACjB,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACrD,MAAM,WAAW,EAAE,CAAC;4BACpB,OAAO;wBACT,CAAC;wBAED,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAC7B,MAAM,oBAAoB,EAAE,CAAC;wBAC/B,CAAC;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEH,OAAO,CAAC,KAAK,CAAC;oBACZ,WAAW,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;oBACrC,SAAS,EAAE,CAAC;iBACb,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAES,KAAK,CAAC,aAAa;YAC3B,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,aAAa,EAAE,CAAC;YAC/C,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;gBAChC,6FAA6F;gBAC7F,yEAAyE;gBACzE,IACE,IAAI,CAAC,KAAK,CACR,4FAA4F,CAC7F,EACD,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,gEAAgE;gBAChE,IAAI,IAAI,CAAC,KAAK,CAAC,iCAAiC,CAAC,EAAE,CAAC;oBAClD,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CAAC;QACL,CAAC;QAEO,KAAK,CAAC,oBAAoB,CAAC,SAAiB;YAClD,2DAA2D;YAC3D,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;gBAC3C,OAAO;YACT,CAAC;YACD,MAAM,eAAe,GAAG;gBACtB,OAAO,EAAE,GAAG;gBACZ,KAAK,EAAE;oBACL,WAAW,EAAE,KAAK;oBAClB,oBAAoB,EAAE,CAAC,kBAAkB,CAAC;iBAC3C;gBACD,SAAS,EAAE;oBACT,WAAW,EAAE,KAAK;oBAClB,oBAAoB,EAAE,CAAC,sBAAsB,CAAC;iBAC/C;aACF,CAAC;YAEF,oDAAoD;YACpD,iCAAiC;YACjC,MAAM,IAAA,oBAAS,EACb,IAAA,gBAAI,EAAC,SAAS,EAAE,qCAAqC,CAAC,EACtD,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CACzC,CAAC;QACJ,CAAC;QAEO,KAAK,CAAC,kBAAkB,CAAC,EAC/B,UAAU,EACV,oBAAoB,EACpB,YAAY,GAKb;YACC,sBAAsB;YACtB,MAAM,aAAa,GAAG,IAAA,gBAAI,EAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;YACzD,MAAM,IAAA,gBAAK,EAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC;gBAClC,0DAA0D;gBAC1D,2DAA2D;gBAC3D,6DAA6D;gBAC7D,8DAA8D;gBAC9D,qCAAqC;gBACrC,MAAM,EAAE,KAAK;gBACb,UAAU;gBACV,OAAO,EAAE,IAAA,gBAAI,EAAC,aAAa,EAAE,UAAU,CAAC;gBACxC,mBAAmB,EAAE,IAAI;gBACzB,YAAY;aACb,CAAC,CAAC;QACL,CAAC;QAEO,KAAK,CAAC,sBAAsB,CAAC,EACnC,UAAU,EACV,oBAAoB,EACpB,YAAY,GAKb;YACC,MAAM,iBAAiB,GAAG,IAAA,gBAAI,EAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;YAC7D,MAAM,IAAA,gBAAK,EAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACpD,OAAO,MAAM,IAAI,CAAC,qBAAqB,CAAC;gBACtC,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,IAAA,gBAAI,EAAC,iBAAiB,EAAE,UAAU,CAAC;gBAC5C,iBAAiB,EAAE,KAAK;gBACxB,UAAU;gBACV,YAAY;aACb,CAAC,CAAC;QACL,CAAC;QAEO,KAAK,CAAC,iBAAiB,CAAC,EAC9B,oBAAoB,GAGrB;YACC,MAAM,gBAAgB,GAAG,IAAA,gBAAI,EAC3B,oBAAoB,EACpB,0BAA0B,CAC3B,CAAC;YACF,MAAM,IAAI,CAAC,mBAAmB,CAAC;gBAC7B,OAAO,EAAE,gBAAgB;gBACzB,MAAM,EAAE,KAAK,EAAE,gCAAgC;aAChD,CAAC,CAAC;QACL,CAAC;QAEO,KAAK,CAAC,gBAAgB;YAC5B,MAAM,MAAM,GAAG,IAAA,mBAAO,EAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YACtD,MAAM,SAAS,GAAG,IAAA,mBAAO,EAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YAC7D,MAAM,QAAQ,GAAG,IAAA,mBAAO,EAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAC1D,MAAM,WAAW,GAAG,IAAA,mBAAO,EAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;YAEjE,sDAAsD;YACtD,MAAM,WAAW,GAAG,KAAK,EAAE,IAAY,EAAoB,EAAE;gBAC3D,IAAI,CAAC;oBACH,MAAM,IAAA,iBAAM,EAAC,IAAI,EAAE,mBAAS,CAAC,IAAI,CAAC,CAAC;oBACnC,MAAM,KAAK,GAAG,MAAM,IAAA,eAAI,EAAC,IAAI,CAAC,CAAC;oBAC/B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;wBACzB,MAAM,IAAI,KAAK,CAAC,uCAAuC,IAAI,EAAE,CAAC,CAAC;oBACjE,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;wBAChE,MAAM,CAAC,CAAC;oBACV,CAAC;oBACD,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC,CAAC;YAEF,gCAAgC;YAChC,IAAI,MAAM,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC9B,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,oCAAoC;YACpC,IAAI,MAAM,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;gBACjC,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,kFAAkF;YAClF,IAAI,MAAM,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAChC,+CAA+C;gBAC/C,MAAM,IAAA,gBAAK,EAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBACzC,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,IAAI,MAAM,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;gBACnC,uDAAuD;gBACvD,MAAM,IAAA,gBAAK,EAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC5C,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,MAAM,IAAI,KAAK,CACb,qHAAqH,CACtH,CAAC;QACJ,CAAC;KACF;IAED,sBAAsB,GAAG,WAAW,CAAC;IACrC,OAAO,WAAW,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"builder-eager.js","sourceRoot":"","sources":["../src/builder-eager.ts"],"names":[],"mappings":"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","sourcesContent":["import { constants } from 'node:fs';\nimport { access, copyFile, mkdir, stat, writeFile } from 'node:fs/promises';\nimport { extname, join, resolve } from 'node:path';\nimport Watchpack from 'watchpack';\n\nlet CachedNextBuilderEager: any;\n\n// Create the eager Next builder dynamically by extending the ESM BaseBuilder.\n// Exported as getNextBuilderEager() to allow CommonJS modules to import from\n// the ESM @workflow/builders package via dynamic import at runtime.\nexport async function getNextBuilderEager() {\n if (CachedNextBuilderEager) {\n return CachedNextBuilderEager;\n }\n\n const {\n BaseBuilder: BaseBuilderClass,\n STEP_QUEUE_TRIGGER,\n WORKFLOW_QUEUE_TRIGGER,\n // biome-ignore lint/security/noGlobalEval: Need to use eval here to avoid TypeScript from transpiling the import statement into `require()`\n } = (await eval(\n 'import(\"@workflow/builders\")'\n )) as typeof import('@workflow/builders');\n\n class NextBuilder extends BaseBuilderClass {\n async build() {\n const outputDir = await this.findAppDirectory();\n const workflowGeneratedDir = join(outputDir, '.well-known/workflow/v1');\n\n // Ensure output directories exist\n await mkdir(workflowGeneratedDir, { recursive: true });\n // ignore the generated assets\n\n await writeFile(join(workflowGeneratedDir, '.gitignore'), '*');\n\n const inputFiles = await this.getInputFiles();\n const tsconfigPath = await this.findTsConfigPath();\n\n const options = {\n inputFiles,\n workflowGeneratedDir,\n tsconfigPath,\n };\n\n const { manifest: stepsManifest, context: stepsBuildContext } =\n await this.buildStepsFunction(options);\n const workflowsBundle = await this.buildWorkflowsFunction(options);\n await this.buildWebhookRoute({ workflowGeneratedDir });\n\n // Merge manifests from both bundles\n const manifest = {\n steps: { ...stepsManifest.steps, ...workflowsBundle?.manifest?.steps },\n workflows: {\n ...stepsManifest.workflows,\n ...workflowsBundle?.manifest?.workflows,\n },\n classes: {\n ...stepsManifest.classes,\n ...workflowsBundle?.manifest?.classes,\n },\n };\n\n // Write unified manifest to workflow generated directory\n const workflowBundlePath = join(workflowGeneratedDir, 'flow/route.js');\n const manifestJson = await this.createManifest({\n workflowBundlePath,\n manifestDir: workflowGeneratedDir,\n manifest,\n });\n\n // Expose manifest as a static file when WORKFLOW_PUBLIC_MANIFEST=1.\n // Next.js serves files from public/ at the root URL.\n if (this.shouldExposePublicManifest && manifestJson) {\n const publicManifestDir = join(\n this.config.workingDir,\n 'public/.well-known/workflow/v1'\n );\n await mkdir(publicManifestDir, { recursive: true });\n await copyFile(\n join(workflowGeneratedDir, 'manifest.json'),\n join(publicManifestDir, 'manifest.json')\n );\n }\n\n await this.writeFunctionsConfig(outputDir);\n\n if (this.config.watch) {\n if (!stepsBuildContext) {\n throw new Error(\n 'Invariant: expected steps build context in watch mode'\n );\n }\n if (\n !workflowsBundle?.interimBundleCtx ||\n !workflowsBundle?.bundleFinal\n ) {\n throw new Error('Invariant: expected workflows bundle in watch mode');\n }\n\n let stepsCtx = stepsBuildContext;\n // These are safe to assert as non-null because we checked above\n let workflowsCtx = {\n interimBundleCtx: workflowsBundle.interimBundleCtx!,\n bundleFinal: workflowsBundle.bundleFinal!,\n };\n\n const normalizePath = (pathname: string) =>\n pathname.replace(/\\\\/g, '/');\n const knownFiles = new Set<string>();\n type WatchpackTimeInfoEntry = {\n safeTime: number;\n timestamp?: number;\n };\n let previousTimeInfo = new Map<string, WatchpackTimeInfoEntry>();\n\n const watchableExtensions = new Set([\n '.js',\n '.jsx',\n '.ts',\n '.tsx',\n '.mts',\n '.cts',\n '.cjs',\n '.mjs',\n ]);\n const ignoredPathFragments = [\n '/.git/',\n '/node_modules/',\n '/.next/',\n '/.turbo/',\n '/.vercel/',\n '/dist/',\n '/build/',\n '/out/',\n '/.cache/',\n '/.yarn/',\n '/.pnpm-store/',\n '/.parcel-cache/',\n '/.well-known/workflow/',\n ];\n const normalizedGeneratedDir = workflowGeneratedDir.replace(/\\\\/g, '/');\n ignoredPathFragments.push(normalizedGeneratedDir);\n\n // There is a node.js bug on MacOS which causes closing file watchers to be really slow.\n // This limits the number of watchers to mitigate the issue.\n // https://github.com/nodejs/node/issues/29949\n process.env.WATCHPACK_WATCHER_LIMIT =\n process.platform === 'darwin' ? '20' : undefined;\n\n const watcher = new Watchpack({\n // Watchpack default is 200ms which adds 200ms of dead time on bootup.\n aggregateTimeout: 5,\n ignored: (pathname: string) => {\n const normalizedPath = pathname.replace(/\\\\/g, '/');\n const extension = extname(normalizedPath);\n if (extension && !watchableExtensions.has(extension)) {\n return true;\n }\n if (normalizedPath.startsWith(normalizedGeneratedDir)) {\n return true;\n }\n for (const fragment of ignoredPathFragments) {\n if (normalizedPath.includes(fragment)) {\n return true;\n }\n }\n return false;\n },\n });\n\n const readTimeInfoEntries = () => {\n const rawEntries = watcher.getTimeInfoEntries() as Map<\n string,\n WatchpackTimeInfoEntry\n >;\n const normalizedEntries = new Map<string, WatchpackTimeInfoEntry>();\n for (const [path, info] of rawEntries) {\n normalizedEntries.set(normalizePath(path), info);\n }\n return normalizedEntries;\n };\n\n let rebuildQueue = Promise.resolve();\n\n const enqueue = (task: () => Promise<void>) => {\n rebuildQueue = rebuildQueue.then(task).catch((error) => {\n console.error('Failed to process file change', error);\n });\n return rebuildQueue;\n };\n\n const fullRebuild = async () => {\n const newInputFiles = await this.getInputFiles();\n options.inputFiles = newInputFiles;\n\n await stepsCtx.dispose();\n const { context: newStepsCtx } =\n await this.buildStepsFunction(options);\n if (!newStepsCtx) {\n throw new Error(\n 'Invariant: expected steps build context after rebuild'\n );\n }\n stepsCtx = newStepsCtx;\n\n await workflowsCtx.interimBundleCtx.dispose();\n const newWorkflowsCtx = await this.buildWorkflowsFunction(options);\n if (\n !newWorkflowsCtx?.interimBundleCtx ||\n !newWorkflowsCtx?.bundleFinal\n ) {\n throw new Error(\n 'Invariant: expected workflows bundle context after rebuild'\n );\n }\n workflowsCtx = {\n interimBundleCtx: newWorkflowsCtx.interimBundleCtx,\n bundleFinal: newWorkflowsCtx.bundleFinal,\n };\n };\n\n const logBuildMessages = (\n result: {\n errors?: import('esbuild').Message[];\n warnings?: import('esbuild').Message[];\n },\n label: string\n ) => {\n const logByType = (\n messages: import('esbuild').Message[] | undefined,\n method: 'error' | 'warn'\n ) => {\n if (!messages || messages.length === 0) {\n return;\n }\n const descriptor = method === 'error' ? 'errors' : 'warnings';\n console[method](`${descriptor} while rebuilding ${label}`);\n for (const message of messages) {\n console[method](message);\n }\n };\n\n logByType(result.errors, 'error');\n logByType(result.warnings, 'warn');\n };\n\n const rebuildExistingFiles = async () => {\n const rebuiltStepStart = Date.now();\n const stepsResult = await stepsCtx.rebuild();\n logBuildMessages(stepsResult, 'steps bundle');\n console.log(\n 'Rebuilt steps bundle',\n `${Date.now() - rebuiltStepStart}ms`\n );\n\n const rebuiltWorkflowStart = Date.now();\n const workflowResult = await workflowsCtx.interimBundleCtx.rebuild();\n logBuildMessages(workflowResult, 'workflows bundle');\n\n if (\n !workflowResult.outputFiles ||\n workflowResult.outputFiles.length === 0\n ) {\n console.error(\n 'No output generated while rebuilding workflows bundle'\n );\n return;\n }\n await workflowsCtx.bundleFinal(workflowResult.outputFiles[0].text);\n console.log(\n 'Rebuilt workflow bundle',\n `${Date.now() - rebuiltWorkflowStart}ms`\n );\n };\n\n const isWatchableFile = (path: string) =>\n watchableExtensions.has(extname(path));\n\n const getComparableTimestamp = (entry: WatchpackTimeInfoEntry) =>\n entry.timestamp ?? entry.safeTime;\n\n const findRemovedFiles = (\n currentEntries: Map<string, WatchpackTimeInfoEntry>,\n previousEntries: Map<string, WatchpackTimeInfoEntry>\n ) => {\n const removed: string[] = [];\n for (const path of previousEntries.keys()) {\n if (!currentEntries.has(path) && isWatchableFile(path)) {\n removed.push(path);\n }\n }\n return removed;\n };\n\n const findAddedAndModifiedFiles = (\n currentEntries: Map<string, WatchpackTimeInfoEntry>,\n previousEntries: Map<string, WatchpackTimeInfoEntry>\n ) => {\n const added: string[] = [];\n const modified: string[] = [];\n\n for (const [path, info] of currentEntries) {\n if (!isWatchableFile(path)) {\n continue;\n }\n\n const previous = previousEntries.get(path);\n if (!previous) {\n added.push(path);\n continue;\n }\n\n if (\n getComparableTimestamp(info) !== getComparableTimestamp(previous)\n ) {\n modified.push(path);\n }\n }\n\n return { added, modified };\n };\n\n const determineFileChanges = (\n currentEntries: Map<string, WatchpackTimeInfoEntry>,\n previousEntries: Map<string, WatchpackTimeInfoEntry>\n ) => {\n const removedFiles = findRemovedFiles(\n currentEntries,\n previousEntries\n );\n const { added, modified } = findAddedAndModifiedFiles(\n currentEntries,\n previousEntries\n );\n\n return {\n addedFiles: added,\n modifiedFiles: modified,\n removedFiles,\n };\n };\n\n let isInitial = true;\n\n watcher.on('aggregated', () => {\n const currentEntries = readTimeInfoEntries();\n const { addedFiles, modifiedFiles, removedFiles } =\n determineFileChanges(currentEntries, previousTimeInfo);\n\n previousTimeInfo = currentEntries;\n\n if (isInitial) {\n isInitial = false;\n return;\n }\n\n if (\n addedFiles.length === 0 &&\n modifiedFiles.length === 0 &&\n removedFiles.length === 0\n ) {\n return;\n }\n\n for (const removal of removedFiles) {\n knownFiles.delete(removal);\n }\n for (const added of addedFiles) {\n knownFiles.add(added);\n }\n\n enqueue(async () => {\n if (addedFiles.length > 0 || removedFiles.length > 0) {\n await fullRebuild();\n return;\n }\n\n if (modifiedFiles.length > 0) {\n await rebuildExistingFiles();\n }\n });\n });\n\n watcher.watch({\n directories: [this.config.workingDir],\n startTime: 0,\n });\n }\n }\n\n protected async getInputFiles(): Promise<string[]> {\n const inputFiles = await super.getInputFiles();\n return inputFiles.filter((item) => {\n // Match App Router entrypoints: route.ts, page.ts, layout.ts in app/ or src/app/ directories\n // Matches: /app/page.ts, /app/dashboard/page.ts, /src/app/route.ts, etc.\n if (\n item.match(\n /(^|.*[/\\\\])(app|src[/\\\\]app)([/\\\\](route|page|layout)\\.|[/\\\\].*[/\\\\](route|page|layout)\\.)/\n )\n ) {\n return true;\n }\n // Match Pages Router entrypoints: files in pages/ or src/pages/\n if (item.match(/[/\\\\](pages|src[/\\\\]pages)[/\\\\]/)) {\n return true;\n }\n return false;\n });\n }\n\n private async writeFunctionsConfig(outputDir: string) {\n // we don't run this in development mode as it's not needed\n if (process.env.NODE_ENV === 'development') {\n return;\n }\n const generatedConfig = {\n version: '0',\n steps: {\n maxDuration: 'max',\n experimentalTriggers: [STEP_QUEUE_TRIGGER],\n },\n workflows: {\n maxDuration: 'max',\n experimentalTriggers: [WORKFLOW_QUEUE_TRIGGER],\n },\n };\n\n // We write this file to the generated directory for\n // the Next.js builder to consume\n await writeFile(\n join(outputDir, '.well-known/workflow/v1/config.json'),\n JSON.stringify(generatedConfig, null, 2)\n );\n }\n\n private async buildStepsFunction({\n inputFiles,\n workflowGeneratedDir,\n tsconfigPath,\n }: {\n inputFiles: string[];\n workflowGeneratedDir: string;\n tsconfigPath?: string;\n }) {\n // Create steps bundle\n const stepsRouteDir = join(workflowGeneratedDir, 'step');\n await mkdir(stepsRouteDir, { recursive: true });\n return await this.createStepsBundle({\n // If any dynamic requires are used when bundling with ESM\n // esbuild will create a too dynamic wrapper around require\n // which turbopack/webpack fail to analyze. If we externalize\n // correctly this shouldn't be an issue although we might want\n // to use cjs as alternative to avoid\n format: 'esm',\n inputFiles,\n outfile: join(stepsRouteDir, 'route.js'),\n externalizeNonSteps: true,\n tsconfigPath,\n });\n }\n\n private async buildWorkflowsFunction({\n inputFiles,\n workflowGeneratedDir,\n tsconfigPath,\n }: {\n inputFiles: string[];\n workflowGeneratedDir: string;\n tsconfigPath?: string;\n }) {\n const workflowsRouteDir = join(workflowGeneratedDir, 'flow');\n await mkdir(workflowsRouteDir, { recursive: true });\n return await this.createWorkflowsBundle({\n format: 'esm',\n outfile: join(workflowsRouteDir, 'route.js'),\n bundleFinalOutput: false,\n inputFiles,\n tsconfigPath,\n });\n }\n\n private async buildWebhookRoute({\n workflowGeneratedDir,\n }: {\n workflowGeneratedDir: string;\n }): Promise<void> {\n const webhookRouteFile = join(\n workflowGeneratedDir,\n 'webhook/[token]/route.js'\n );\n await this.createWebhookBundle({\n outfile: webhookRouteFile,\n bundle: false, // Next.js doesn't need bundling\n });\n }\n\n private async findAppDirectory(): Promise<string> {\n const appDir = resolve(this.config.workingDir, 'app');\n const srcAppDir = resolve(this.config.workingDir, 'src/app');\n const pagesDir = resolve(this.config.workingDir, 'pages');\n const srcPagesDir = resolve(this.config.workingDir, 'src/pages');\n\n // Helper to check if a path exists and is a directory\n const isDirectory = async (path: string): Promise<boolean> => {\n try {\n await access(path, constants.F_OK);\n const stats = await stat(path);\n if (!stats.isDirectory()) {\n throw new Error(`Path exists but is not a directory: ${path}`);\n }\n return true;\n } catch (e) {\n if (e instanceof Error && e.message.includes('not a directory')) {\n throw e;\n }\n return false;\n }\n };\n\n // Check if app directory exists\n if (await isDirectory(appDir)) {\n return appDir;\n }\n\n // Check if src/app directory exists\n if (await isDirectory(srcAppDir)) {\n return srcAppDir;\n }\n\n // If no app directory exists, check for pages directory and create app next to it\n if (await isDirectory(pagesDir)) {\n // Create app directory next to pages directory\n await mkdir(appDir, { recursive: true });\n return appDir;\n }\n\n if (await isDirectory(srcPagesDir)) {\n // Create src/app directory next to src/pages directory\n await mkdir(srcAppDir, { recursive: true });\n return srcAppDir;\n }\n\n throw new Error(\n 'Could not find Next.js app or pages directory. Expected one of: \"app\", \"src/app\", \"pages\", or \"src/pages\" to exist.'\n );\n }\n }\n\n CachedNextBuilderEager = NextBuilder;\n return NextBuilder;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"builder.js","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":";;;;;;AAcA,4DAeC;AAED,wCAMC;AArCD,oDAA4B;AAC5B,+DAA+D;AAC/D,yDAAyD;AAE5C,QAAA,4BAA4B,GAAG,kBAAkB,CAAC;AAElD,QAAA,yBAAyB,GAAG;IACvC,+BAA+B;IAC/B,+BAA+B;IAC/B,0CAA0C;CAClC,CAAC;AAEX,IAAI,yBAAyB,GAAG,KAAK,CAAC;AAEtC,SAAgB,wBAAwB,CAAC,WAAmB;IAC1D,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IACtE,MAAM,iBAAiB,GAAG,gBAAM,CAAC,GAAG,CAClC,WAAW,EACX,oCAA4B,CAC7B,CAAC;IAEF,IAAI,WAAW,IAAI,CAAC,iBAAiB,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACpE,yBAAyB,GAAG,IAAI,CAAC;QACjC,OAAO,CAAC,IAAI,CACV,sEAAsE,oCAA4B,SAAS,WAAW,EAAE,CACzH,CAAC;IACJ,CAAC;IAED,OAAO,WAAW,IAAI,iBAAiB,CAAC;AAC1C,CAAC;AAEM,KAAK,UAAU,cAAc,CAAC,WAAmB;IACtD,IAAI,wBAAwB,CAAC,WAAW,CAAC,EAAE,CAAC;QAC1C,OAAO,IAAA,4CAAsB,GAAE,CAAC;IAClC,CAAC;IAED,OAAO,IAAA,sCAAmB,GAAE,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":";;;;;;AAcA,4DAeC;AAED,wCAMC;AArCD,oDAA4B;AAC5B,+DAA+D;AAC/D,yDAAyD;AAE5C,QAAA,4BAA4B,GAAG,kBAAkB,CAAC;AAElD,QAAA,yBAAyB,GAAG;IACvC,+BAA+B;IAC/B,+BAA+B;IAC/B,0CAA0C;CAClC,CAAC;AAEX,IAAI,yBAAyB,GAAG,KAAK,CAAC;AAEtC,SAAgB,wBAAwB,CAAC,WAAmB;IAC1D,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IACtE,MAAM,iBAAiB,GAAG,gBAAM,CAAC,GAAG,CAClC,WAAW,EACX,oCAA4B,CAC7B,CAAC;IAEF,IAAI,WAAW,IAAI,CAAC,iBAAiB,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACpE,yBAAyB,GAAG,IAAI,CAAC;QACjC,OAAO,CAAC,IAAI,CACV,sEAAsE,oCAA4B,SAAS,WAAW,EAAE,CACzH,CAAC;IACJ,CAAC;IAED,OAAO,WAAW,IAAI,iBAAiB,CAAC;AAC1C,CAAC;AAEM,KAAK,UAAU,cAAc,CAAC,WAAmB;IACtD,IAAI,wBAAwB,CAAC,WAAW,CAAC,EAAE,CAAC;QAC1C,OAAO,IAAA,4CAAsB,GAAE,CAAC;IAClC,CAAC;IAED,OAAO,IAAA,sCAAmB,GAAE,CAAC;AAC/B,CAAC","sourcesContent":["import semver from 'semver';\nimport { getNextBuilderDeferred } from './builder-deferred.js';\nimport { getNextBuilderEager } from './builder-eager.js';\n\nexport const DEFERRED_BUILDER_MIN_VERSION = '16.2.0-canary.48';\n\nexport const WORKFLOW_DEFERRED_ENTRIES = [\n '/.well-known/workflow/v1/flow',\n '/.well-known/workflow/v1/step',\n '/.well-known/workflow/v1/webhook/[token]',\n] as const;\n\nlet warnedAboutFlagAndVersion = false;\n\nexport function shouldUseDeferredBuilder(nextVersion: string): boolean {\n const flagEnabled = Boolean(process.env.WORKFLOW_NEXT_LAZY_DISCOVERY);\n const versionCompatible = semver.gte(\n nextVersion,\n DEFERRED_BUILDER_MIN_VERSION\n );\n\n if (flagEnabled && !versionCompatible && !warnedAboutFlagAndVersion) {\n warnedAboutFlagAndVersion = true;\n console.warn(\n `Enabled lazyDiscovery but Next.js version is not compatible, needs ${DEFERRED_BUILDER_MIN_VERSION} have ${nextVersion}`\n );\n }\n\n return flagEnabled && versionCompatible;\n}\n\nexport async function getNextBuilder(nextVersion: string) {\n if (shouldUseDeferredBuilder(nextVersion)) {\n return getNextBuilderDeferred();\n }\n\n return getNextBuilderEager();\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AA0BvC,wBAAgB,YAAY,CAC1B,cAAc,EACV,UAAU,GACV,CAAC,CACC,KAAK,EAAE,MAAM,EACb,GAAG,EAAE;IAAE,aAAa,EAAE,UAAU,CAAA;CAAE,KAC/B,OAAO,CAAC,UAAU,CAAC,CAAC,EAC7B,EACE,SAAS,GACV,GAAE;IACD,SAAS,CAAC,EAAE;QACV,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,KAAK,CAAC,EAAE;YACN,IAAI,CAAC,EAAE,MAAM,CAAC;SACf,CAAC;KACH,CAAC;CACE,IAsBJ,OAAO,MAAM,EACb,KAAK;IAAE,aAAa,EAAE,UAAU,CAAA;CAAE,yBAsLrC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AA6CvC,wBAAgB,YAAY,CAC1B,cAAc,EACV,UAAU,GACV,CAAC,CACC,KAAK,EAAE,MAAM,EACb,GAAG,EAAE;IAAE,aAAa,EAAE,UAAU,CAAA;CAAE,KAC/B,OAAO,CAAC,UAAU,CAAC,CAAC,EAC7B,EACE,SAAS,GACV,GAAE;IACD,SAAS,CAAC,EAAE;QACV,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,KAAK,CAAC,EAAE;YACN,IAAI,CAAC,EAAE,MAAM,CAAC;SACf,CAAC;KACH,CAAC;CACE,IAsBJ,OAAO,MAAM,EACb,KAAK;IAAE,aAAa,EAAE,UAAU,CAAA;CAAE,yBAsLrC"}
package/dist/index.js CHANGED
@@ -7,19 +7,34 @@ exports.withWorkflow = withWorkflow;
7
7
  const semver_1 = __importDefault(require("semver"));
8
8
  const builder_js_1 = require("./builder.js");
9
9
  function resolveNextVersion(workingDir) {
10
- const fallbackVersion = require('next/package.json').version;
10
+ const errors = [];
11
+ // Try resolving from the consuming project's working directory first.
12
+ // This handles monorepo setups where `next` may not be hoisted to the
13
+ // same location as `@workflow/next`.
11
14
  try {
12
15
  const packageJsonPath = require.resolve('next/package.json', {
13
16
  paths: [workingDir],
14
17
  });
15
18
  const resolvedPackageJson = require(packageJsonPath);
16
- return typeof resolvedPackageJson.version === 'string'
17
- ? resolvedPackageJson.version
18
- : fallbackVersion;
19
+ if (typeof resolvedPackageJson.version === 'string') {
20
+ return resolvedPackageJson.version;
21
+ }
22
+ }
23
+ catch (e) {
24
+ errors.push(e);
25
+ }
26
+ // Fall back to resolving relative to this package's location.
27
+ try {
28
+ const version = require('next/package.json')
29
+ .version;
30
+ if (typeof version === 'string') {
31
+ return version;
32
+ }
19
33
  }
20
- catch {
21
- return fallbackVersion;
34
+ catch (e) {
35
+ errors.push(e);
22
36
  }
37
+ throw new AggregateError(errors, `Could not resolve Next.js version. Ensure \`next\` is installed in your project (working directory: ${workingDir}).`);
23
38
  }
24
39
  function withWorkflow(nextConfigOrFn, { workflows, } = {}) {
25
40
  if (workflows?.lazyDiscovery) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["import type { NextConfig } from 'next';\nimport semver from 'semver';\nimport {\n getNextBuilder,\n shouldUseDeferredBuilder,\n WORKFLOW_DEFERRED_ENTRIES,\n} from './builder.js';\n\nfunction resolveNextVersion(workingDir: string): string {\n const errors: unknown[] = [];\n\n // Try resolving from the consuming project's working directory first.\n // This handles monorepo setups where `next` may not be hoisted to the\n // same location as `@workflow/next`.\n try {\n const packageJsonPath = require.resolve('next/package.json', {\n paths: [workingDir],\n });\n const resolvedPackageJson = require(packageJsonPath) as {\n version?: unknown;\n };\n if (typeof resolvedPackageJson.version === 'string') {\n return resolvedPackageJson.version;\n }\n } catch (e) {\n errors.push(e);\n }\n\n // Fall back to resolving relative to this package's location.\n try {\n const version = (require('next/package.json') as { version?: unknown })\n .version;\n if (typeof version === 'string') {\n return version;\n }\n } catch (e) {\n errors.push(e);\n }\n\n throw new AggregateError(\n errors,\n `Could not resolve Next.js version. Ensure \\`next\\` is installed in your project (working directory: ${workingDir}).`\n );\n}\n\nexport function withWorkflow(\n nextConfigOrFn:\n | NextConfig\n | ((\n phase: string,\n ctx: { defaultConfig: NextConfig }\n ) => Promise<NextConfig>),\n {\n workflows,\n }: {\n workflows?: {\n lazyDiscovery?: boolean;\n local?: {\n port?: number;\n };\n };\n } = {}\n) {\n if (workflows?.lazyDiscovery) {\n process.env.WORKFLOW_NEXT_LAZY_DISCOVERY = '1';\n }\n\n if (!process.env.VERCEL_DEPLOYMENT_ID) {\n if (!process.env.WORKFLOW_TARGET_WORLD) {\n process.env.WORKFLOW_TARGET_WORLD = 'local';\n process.env.WORKFLOW_LOCAL_DATA_DIR = '.next/workflow-data';\n }\n const maybePort = workflows?.local?.port;\n if (maybePort) {\n process.env.PORT = maybePort.toString();\n }\n } else {\n if (!process.env.WORKFLOW_TARGET_WORLD) {\n process.env.WORKFLOW_TARGET_WORLD = 'vercel';\n }\n }\n\n return async function buildConfig(\n phase: string,\n ctx: { defaultConfig: NextConfig }\n ) {\n const loaderPath = require.resolve('./loader');\n let runDeferredBuildFromCallback: (() => Promise<void>) | undefined;\n\n let nextConfig: NextConfig;\n\n if (typeof nextConfigOrFn === 'function') {\n nextConfig = await nextConfigOrFn(phase, ctx);\n } else {\n nextConfig = nextConfigOrFn;\n }\n // shallow clone to avoid read-only on top-level\n nextConfig = Object.assign({}, nextConfig);\n\n // configure the loader if turbopack is being used\n if (!nextConfig.turbopack) {\n nextConfig.turbopack = {};\n }\n if (!nextConfig.turbopack.rules) {\n nextConfig.turbopack.rules = {};\n }\n const existingRules = nextConfig.turbopack.rules as any;\n const nextVersion = resolveNextVersion(process.cwd());\n const supportsTurboCondition = semver.gte(nextVersion, 'v16.0.0');\n const useDeferredBuilder = shouldUseDeferredBuilder(nextVersion);\n\n // Deferred builder discovers files via loader socket notifications, so\n // turbopack content conditions are only needed with the eager builder.\n const shouldApplyTurboCondition =\n supportsTurboCondition && !useDeferredBuilder;\n const shouldWatch = process.env.NODE_ENV === 'development';\n let workflowBuilderPromise: Promise<any> | undefined;\n\n const getWorkflowBuilder = async () => {\n if (!workflowBuilderPromise) {\n workflowBuilderPromise = (async () => {\n const NextBuilder = await getNextBuilder(nextVersion);\n return new NextBuilder({\n watch: shouldWatch,\n // discover workflows from pages/app entries\n dirs: ['pages', 'app', 'src/pages', 'src/app'],\n projectRoot: nextConfig.outputFileTracingRoot,\n workingDir: process.cwd(),\n distDir: nextConfig.distDir || '.next',\n buildTarget: 'next',\n workflowsBundlePath: '', // not used in base\n stepsBundlePath: '', // not used in base\n webhookBundlePath: '', // node used in base\n suppressCreateWorkflowsBundleLogs: useDeferredBuilder,\n suppressCreateWorkflowsBundleWarnings: useDeferredBuilder,\n suppressCreateWebhookBundleLogs: useDeferredBuilder,\n suppressCreateManifestLogs: useDeferredBuilder,\n externalPackages: [\n // server-only and client-only are pseudo-packages handled by Next.js\n // during its build process. We mark them as external to prevent esbuild\n // from failing when bundling code that imports them.\n // See: https://nextjs.org/docs/app/getting-started/server-and-client-components\n 'server-only',\n 'client-only',\n ...(nextConfig.serverExternalPackages || []),\n ],\n });\n })();\n }\n\n return workflowBuilderPromise;\n };\n\n if (useDeferredBuilder) {\n runDeferredBuildFromCallback = async () => {\n const workflowBuilder = await getWorkflowBuilder();\n if (typeof workflowBuilder.onBeforeDeferredEntries === 'function') {\n await workflowBuilder.onBeforeDeferredEntries();\n }\n };\n\n const existingExperimental = (nextConfig.experimental ?? {}) as Record<\n string,\n any\n >;\n const existingDeferredEntries = Array.isArray(\n existingExperimental.deferredEntries\n )\n ? existingExperimental.deferredEntries\n : [];\n const existingOnBeforeDeferredEntries =\n typeof existingExperimental.onBeforeDeferredEntries === 'function'\n ? existingExperimental.onBeforeDeferredEntries\n : undefined;\n\n nextConfig.experimental = {\n ...existingExperimental,\n\n // biome-ignore lint/suspicious/noTsIgnore: expect-error is wrong as it will work on valid version\n // @ts-ignore this is only available in canary Next.js\n deferredEntries: [\n ...new Set([\n ...existingDeferredEntries,\n ...WORKFLOW_DEFERRED_ENTRIES,\n ]),\n ],\n onBeforeDeferredEntries: async (...args: unknown[]) => {\n if (existingOnBeforeDeferredEntries) {\n await existingOnBeforeDeferredEntries(...args);\n }\n if (runDeferredBuildFromCallback) {\n await runDeferredBuildFromCallback();\n }\n },\n };\n }\n\n for (const key of [\n '*.tsx',\n '*.ts',\n '*.jsx',\n '*.js',\n '*.mjs',\n '*.mts',\n '*.cjs',\n '*.cts',\n ]) {\n nextConfig.turbopack.rules[key] = {\n ...(shouldApplyTurboCondition\n ? {\n condition: {\n // Use 'all' to combine: must match content AND must NOT be in generated path\n // Merge with any existing 'all' conditions from user config\n all: [\n ...(existingRules[key]?.condition?.all || []),\n // Exclude generated workflow route files from transformation\n { not: { path: /[/\\\\]\\.well-known[/\\\\]workflow[/\\\\]/ } },\n // Match files with workflow directives or custom serialization patterns\n // Uses backreferences (\\2, \\3) to ensure matching quote types\n {\n content:\n /(use workflow|use step|from\\s+(['\"])@workflow\\/serde\\2|Symbol\\.for\\s*\\(\\s*(['\"])workflow-(?:serialize|deserialize)\\3\\s*\\))/,\n },\n ],\n },\n }\n : {}),\n loaders: [...(existingRules[key]?.loaders || []), loaderPath],\n };\n }\n\n // configure the loader for webpack\n const existingWebpackModify = nextConfig.webpack;\n nextConfig.webpack = (...args) => {\n const [webpackConfig] = args;\n if (!webpackConfig.module) {\n webpackConfig.module = {};\n }\n if (!webpackConfig.module.rules) {\n webpackConfig.module.rules = [];\n }\n // loaders in webpack apply bottom->up so ensure\n // ours comes before the default swc transform\n webpackConfig.module.rules.push({\n test: /.*\\.(mjs|cjs|cts|ts|tsx|js|jsx)$/,\n loader: loaderPath,\n });\n\n return existingWebpackModify\n ? existingWebpackModify(...args)\n : webpackConfig;\n };\n // only run this in the main process so it only runs once\n // as Next.js uses child processes for different builds\n if (\n !process.env.WORKFLOW_NEXT_PRIVATE_BUILT &&\n phase !== 'phase-production-server'\n ) {\n const workflowBuilder = await getWorkflowBuilder();\n\n await workflowBuilder.build();\n process.env.WORKFLOW_NEXT_PRIVATE_BUILT = '1';\n }\n\n return nextConfig;\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"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","sourcesContent":["import { existsSync } from 'node:fs';\nimport { readFile } from 'node:fs/promises';\nimport { connect, type Socket } from 'node:net';\nimport { dirname, join, relative } from 'node:path';\nimport { transform } from '@swc/core';\nimport {\n parseMessage,\n type SocketMessage,\n serializeMessage,\n} from './socket-server.js';\nimport {\n DEFERRED_STEP_SOURCE_METADATA_PREFIX,\n isDeferredStepCopyFilePath,\n parseDeferredStepSourceMetadata,\n parseInlineSourceMapComment,\n} from './step-copy-utils.js';\n\ntype DecoratorOptionsWithConfigPath =\n import('@workflow/builders').DecoratorOptionsWithConfigPath;\ntype WorkflowPatternMatch = import('@workflow/builders').WorkflowPatternMatch;\n\n// Cache decorator options per working directory to avoid reading tsconfig for every file\nconst decoratorOptionsCache = new Map<\n string,\n Promise<DecoratorOptionsWithConfigPath>\n>();\n// Cache for shared utilities from @workflow/builders (ESM module loaded dynamically in CommonJS context)\nlet cachedBuildersModule: typeof import('@workflow/builders') | null = null;\ntype LoaderStaticDependencies = {\n swcPluginPath: string;\n files: string[];\n};\nlet cachedLoaderStaticDependencies: LoaderStaticDependencies | null = null;\n\ntype DiscoveredPatternState = {\n hasWorkflow: boolean;\n hasStep: boolean;\n hasSerde: boolean;\n};\nconst discoveredPatternStateByFilePath = new Map<\n string,\n DiscoveredPatternState\n>();\n\n// Cache socket connection to avoid reconnecting on every file.\nlet socketClientPromise: Promise<Socket | null> | null = null;\nlet socketClient: Socket | null = null;\nlet socketClientKey: string | null = null;\n\ntype SocketCredentials = {\n port: number;\n authToken: string;\n};\n\nconst ROUTE_STUB_FILE_MARKER = 'WORKFLOW_ROUTE_STUB_FILE';\nconst ROUTE_STUB_BUILD_WAIT_TIMEOUT_MS = 120_000;\nlet pendingDeferredRouteStubBuildPromise: Promise<void> | null = null;\n\nfunction registerFileDependency(\n loaderContext: WorkflowLoaderContext,\n dependencyPath: string\n): void {\n loaderContext.addDependency?.(dependencyPath);\n loaderContext.addBuildDependency?.(dependencyPath);\n}\n\nfunction updateDiscoveredPatternState(\n filePath: string,\n nextState: DiscoveredPatternState\n): { shouldNotify: boolean; previousState?: DiscoveredPatternState } {\n const previousState = discoveredPatternStateByFilePath.get(filePath);\n const hasAnyPattern =\n nextState.hasWorkflow || nextState.hasStep || nextState.hasSerde;\n\n if (!hasAnyPattern) {\n if (!previousState) {\n return { shouldNotify: false };\n }\n discoveredPatternStateByFilePath.delete(filePath);\n return { shouldNotify: true, previousState };\n }\n\n if (\n previousState &&\n previousState.hasWorkflow === nextState.hasWorkflow &&\n previousState.hasStep === nextState.hasStep &&\n previousState.hasSerde === nextState.hasSerde\n ) {\n return { shouldNotify: false, previousState };\n }\n\n discoveredPatternStateByFilePath.set(filePath, nextState);\n return { shouldNotify: true, previousState };\n}\n\nfunction addIfExists(files: Set<string>, dependencyPath: string): void {\n if (existsSync(dependencyPath)) {\n files.add(dependencyPath);\n }\n}\n\nfunction resolveLoaderStaticDependencies(): LoaderStaticDependencies {\n if (cachedLoaderStaticDependencies) {\n return cachedLoaderStaticDependencies;\n }\n\n const swcPluginPath = require.resolve('@workflow/swc-plugin');\n const swcPluginBuildHashPath = require.resolve(\n '@workflow/swc-plugin/build-hash.json'\n );\n const workflowBuildersPath = require.resolve('@workflow/builders');\n\n // Derive package.json paths from resolved entrypoints to avoid\n // Turbopack loader-eval failures around ../package.json resolution.\n const swcPluginPackageJsonPath = join(dirname(swcPluginPath), 'package.json');\n const workflowBuildersPackageJsonPath = join(\n dirname(workflowBuildersPath),\n '../package.json'\n );\n\n const files = new Set<string>([\n __filename,\n require.resolve('./socket-server'),\n require.resolve('./step-copy-utils'),\n swcPluginPath,\n swcPluginBuildHashPath,\n workflowBuildersPath,\n ]);\n addIfExists(files, swcPluginPackageJsonPath);\n addIfExists(files, workflowBuildersPackageJsonPath);\n\n cachedLoaderStaticDependencies = {\n swcPluginPath,\n files: Array.from(files),\n };\n return cachedLoaderStaticDependencies;\n}\n\nfunction registerTransformDependencies(\n loaderContext: WorkflowLoaderContext\n): string {\n const staticDependencies = resolveLoaderStaticDependencies();\n for (const dependencyPath of staticDependencies.files) {\n registerFileDependency(loaderContext, dependencyPath);\n }\n\n return staticDependencies.swcPluginPath;\n}\n\nfunction resetSocketClient(cachedSocket?: Socket): void {\n if (cachedSocket && socketClient && socketClient !== cachedSocket) {\n return;\n }\n\n socketClientPromise = null;\n socketClient = null;\n socketClientKey = null;\n}\n\nasync function writeSocketMessage(\n socket: Socket,\n message: string\n): Promise<void> {\n await new Promise<void>((resolve, reject) => {\n socket.write(message, (error?: Error | null) => {\n if (error) {\n reject(error);\n return;\n }\n resolve();\n });\n });\n}\n\nfunction getSocketInfoFilePath(): string | null {\n const configuredPath = process.env.WORKFLOW_SOCKET_INFO_PATH;\n if (configuredPath) {\n return configuredPath;\n }\n\n // Fallback for worker processes that don't inherit dynamic env updates\n // from the process that created the socket server.\n const distDir = process.env.WORKFLOW_NEXT_DIST_DIR || '.next';\n const cwdFallbackPath = join(\n process.cwd(),\n distDir,\n 'cache',\n 'workflow-socket.json'\n );\n const projectRoot = process.env.WORKFLOW_PROJECT_ROOT;\n if (projectRoot) {\n const projectRootFallbackPath = join(\n projectRoot,\n distDir,\n 'cache',\n 'workflow-socket.json'\n );\n if (existsSync(projectRootFallbackPath)) {\n return projectRootFallbackPath;\n }\n }\n return cwdFallbackPath;\n}\n\nfunction getSocketCredentialsFromEnv(): SocketCredentials | null {\n const socketPort = process.env.WORKFLOW_SOCKET_PORT;\n const authToken = process.env.WORKFLOW_SOCKET_AUTH;\n if (!socketPort || !authToken) {\n return null;\n }\n\n const port = Number.parseInt(socketPort, 10);\n if (Number.isNaN(port)) {\n return null;\n }\n return { port, authToken };\n}\n\nasync function getSocketCredentialsFromFile(): Promise<SocketCredentials | null> {\n const socketInfoFilePath = getSocketInfoFilePath();\n if (!socketInfoFilePath) {\n return null;\n }\n if (!existsSync(socketInfoFilePath)) {\n return null;\n }\n\n try {\n const raw = await readFile(socketInfoFilePath, 'utf8');\n const parsed = JSON.parse(raw) as {\n port?: unknown;\n authToken?: unknown;\n };\n const authToken =\n typeof parsed.authToken === 'string' ? parsed.authToken : null;\n const numericPort =\n typeof parsed.port === 'number'\n ? parsed.port\n : Number.parseInt(String(parsed.port), 10);\n\n if (!authToken || Number.isNaN(numericPort)) {\n return null;\n }\n return {\n port: numericPort,\n authToken,\n };\n } catch {\n return null;\n }\n}\n\nasync function getSocketCredentials(): Promise<SocketCredentials | null> {\n const envCredentials = getSocketCredentialsFromEnv();\n if (envCredentials) {\n return envCredentials;\n }\n return await getSocketCredentialsFromFile();\n}\n\nasync function getSocketClient(): Promise<Socket | null> {\n const socketCredentials = await getSocketCredentials();\n if (!socketCredentials) {\n return null;\n }\n\n if (socketClient?.destroyed) {\n resetSocketClient(socketClient);\n }\n\n const currentSocketKey = `${socketCredentials.port}:${socketCredentials.authToken}`;\n if (socketClientKey && socketClientKey !== currentSocketKey) {\n if (socketClient) {\n resetSocketClient(socketClient);\n } else {\n resetSocketClient();\n }\n }\n\n if (!socketClientPromise) {\n socketClientPromise = (async () => {\n try {\n const socket = connect({\n port: socketCredentials.port,\n host: '127.0.0.1',\n });\n\n // Wait for connection\n await new Promise<void>((resolve, reject) => {\n const onConnect = () => {\n socket.setNoDelay(true);\n cleanup();\n resolve();\n };\n const onError = (error: Error) => {\n cleanup();\n reject(error);\n };\n const timeout = setTimeout(() => {\n cleanup();\n socket.destroy();\n reject(new Error('Socket connection timeout'));\n }, 1000);\n const cleanup = () => {\n clearTimeout(timeout);\n socket.off('connect', onConnect);\n socket.off('error', onError);\n };\n\n socket.on('connect', onConnect);\n socket.on('error', onError);\n });\n\n socket.on('close', () => {\n resetSocketClient(socket);\n });\n socket.on('error', () => {\n resetSocketClient(socket);\n });\n\n socketClient = socket;\n socketClientKey = currentSocketKey;\n return socket;\n } catch (error) {\n resetSocketClient();\n throw error;\n }\n })();\n }\n return socketClientPromise;\n}\n\nasync function notifySocketServer(\n filename: string,\n hasWorkflow: boolean,\n hasStep: boolean,\n hasSerde: boolean\n): Promise<void> {\n const socketCredentials = await getSocketCredentials();\n if (!socketCredentials) {\n return;\n }\n\n const socket = await getSocketClient();\n if (!socket) {\n throw new Error('Invariant: missing workflow socket connection');\n }\n\n const message: SocketMessage = {\n type: 'file-discovered',\n filePath: filename,\n hasWorkflow,\n hasStep,\n hasSerde,\n };\n const serializedMessage = serializeMessage(\n message,\n socketCredentials.authToken\n );\n\n try {\n await writeSocketMessage(socket, serializedMessage);\n } catch (error) {\n resetSocketClient(socket);\n const reconnectedSocket = await getSocketClient();\n if (!reconnectedSocket) {\n throw error;\n }\n await writeSocketMessage(reconnectedSocket, serializedMessage);\n }\n}\n\nfunction isWorkflowRouteStubSource(source: string): boolean {\n return source.includes(ROUTE_STUB_FILE_MARKER);\n}\n\nasync function createSocketConnection(\n socketCredentials: SocketCredentials,\n timeoutMs = 1_000\n): Promise<Socket> {\n return await new Promise<Socket>((resolve, reject) => {\n const socket = connect({\n port: socketCredentials.port,\n host: '127.0.0.1',\n });\n const timeout = setTimeout(() => {\n cleanup();\n socket.destroy();\n reject(new Error('Socket connection timeout'));\n }, timeoutMs);\n const cleanup = () => {\n clearTimeout(timeout);\n socket.off('connect', onConnect);\n socket.off('error', onError);\n };\n const onConnect = () => {\n socket.setNoDelay(true);\n cleanup();\n resolve(socket);\n };\n const onError = (error: Error) => {\n cleanup();\n socket.destroy();\n reject(error);\n };\n\n socket.on('connect', onConnect);\n socket.on('error', onError);\n });\n}\n\nasync function waitForDeferredBuildComplete(\n socket: Socket,\n authToken: string,\n timeoutMs = ROUTE_STUB_BUILD_WAIT_TIMEOUT_MS\n): Promise<void> {\n await new Promise<void>((resolve, reject) => {\n let buffer = '';\n const timeout = setTimeout(() => {\n cleanup();\n reject(\n new Error('Timed out waiting for deferred route build completion')\n );\n }, timeoutMs);\n const cleanup = () => {\n clearTimeout(timeout);\n socket.off('data', onData);\n socket.off('error', onError);\n socket.off('close', onClose);\n socket.off('end', onClose);\n };\n const onError = (error: Error) => {\n cleanup();\n reject(error);\n };\n const onClose = () => {\n cleanup();\n reject(new Error('Socket closed before deferred route build completed'));\n };\n const onData = (chunk: Buffer) => {\n buffer += chunk.toString();\n let newlineIndex = buffer.indexOf('\\n');\n while (newlineIndex !== -1) {\n const line = buffer.slice(0, newlineIndex);\n buffer = buffer.slice(newlineIndex + 1);\n newlineIndex = buffer.indexOf('\\n');\n\n const message = parseMessage(line, authToken);\n if (message?.type === 'build-complete') {\n cleanup();\n resolve();\n return;\n }\n }\n };\n\n socket.on('data', onData);\n socket.on('error', onError);\n socket.on('close', onClose);\n socket.on('end', onClose);\n });\n}\n\nasync function triggerDeferredRouteStubBuildAndWait(): Promise<void> {\n const socketCredentials = await getSocketCredentials();\n if (!socketCredentials) {\n return;\n }\n const socket = await createSocketConnection(socketCredentials);\n try {\n await writeSocketMessage(\n socket,\n serializeMessage({ type: 'trigger-build' }, socketCredentials.authToken)\n );\n await waitForDeferredBuildComplete(socket, socketCredentials.authToken);\n } finally {\n socket.destroy();\n }\n}\n\nasync function ensureDeferredRouteStubBuildAndWait(): Promise<void> {\n if (pendingDeferredRouteStubBuildPromise) {\n return pendingDeferredRouteStubBuildPromise;\n }\n const pendingPromise = triggerDeferredRouteStubBuildAndWait();\n pendingDeferredRouteStubBuildPromise = pendingPromise.finally(() => {\n if (pendingDeferredRouteStubBuildPromise === pendingPromise) {\n pendingDeferredRouteStubBuildPromise = null;\n }\n });\n return pendingDeferredRouteStubBuildPromise;\n}\n\nasync function getBuildersModule(): Promise<\n typeof import('@workflow/builders')\n> {\n if (cachedBuildersModule) {\n return cachedBuildersModule;\n }\n // Dynamic import to handle ESM module from CommonJS context\n // biome-ignore lint/security/noGlobalEval: Need to use eval here to avoid TypeScript from transpiling the import statement into `require()`\n cachedBuildersModule = (await eval(\n 'import(\"@workflow/builders\")'\n )) as typeof import('@workflow/builders');\n return cachedBuildersModule;\n}\n\nasync function getDecoratorOptions(\n workingDir: string\n): Promise<DecoratorOptionsWithConfigPath> {\n const cached = decoratorOptionsCache.get(workingDir);\n if (cached) {\n return cached;\n }\n\n const promise = (async (): Promise<DecoratorOptionsWithConfigPath> => {\n const { getDecoratorOptionsForDirectoryWithConfigPath } =\n await getBuildersModule();\n return getDecoratorOptionsForDirectoryWithConfigPath(workingDir);\n })();\n\n decoratorOptionsCache.set(workingDir, promise);\n return promise;\n}\n\nasync function detectPatterns(source: string): Promise<WorkflowPatternMatch> {\n const { detectWorkflowPatterns } = await getBuildersModule();\n return detectWorkflowPatterns(source);\n}\n\nasync function checkGeneratedFile(filePath: string): Promise<boolean> {\n const { isGeneratedWorkflowFile } = await getBuildersModule();\n return isGeneratedWorkflowFile(filePath);\n}\n\nasync function checkShouldTransform(\n filePath: string,\n patterns: WorkflowPatternMatch\n): Promise<boolean> {\n const { shouldTransformFile } = await getBuildersModule();\n return shouldTransformFile(filePath, patterns);\n}\n\nasync function getModuleSpecifier(\n filePath: string,\n projectRoot: string\n): Promise<string | undefined> {\n const { resolveModuleSpecifier } = await getBuildersModule();\n return resolveModuleSpecifier(filePath, projectRoot).moduleSpecifier;\n}\n\nasync function resolveWorkflowAliasPath(\n filePath: string,\n workingDir: string\n): Promise<string | undefined> {\n const { resolveWorkflowAliasRelativePath } = await getBuildersModule();\n return resolveWorkflowAliasRelativePath(filePath, workingDir);\n}\n\nasync function getRelativeFilenameForSwc(\n filename: string,\n workingDir: string\n): Promise<string> {\n const normalizedWorkingDir = workingDir\n .replace(/\\\\/g, '/')\n .replace(/\\/$/, '');\n const normalizedFilepath = filename.replace(/\\\\/g, '/');\n\n // Windows fix: Use case-insensitive comparison to work around drive letter casing issues\n const lowerWd = normalizedWorkingDir.toLowerCase();\n const lowerPath = normalizedFilepath.toLowerCase();\n\n let relativeFilename: string;\n if (lowerPath.startsWith(`${lowerWd}/`)) {\n // File is under working directory - manually calculate relative path\n relativeFilename = normalizedFilepath.substring(\n normalizedWorkingDir.length + 1\n );\n } else if (lowerPath === lowerWd) {\n // File IS the working directory (shouldn't happen)\n relativeFilename = '.';\n } else {\n // Use relative() for files outside working directory\n relativeFilename = relative(workingDir, filename).replace(/\\\\/g, '/');\n\n if (relativeFilename.startsWith('../')) {\n const aliasedRelativePath = await resolveWorkflowAliasPath(\n filename,\n workingDir\n );\n if (aliasedRelativePath) {\n relativeFilename = aliasedRelativePath;\n } else {\n relativeFilename = relativeFilename\n .split('/')\n .filter((part) => part !== '..')\n .join('/');\n }\n }\n }\n\n // Final safety check - ensure we never pass an absolute path to SWC\n if (relativeFilename.includes(':') || relativeFilename.startsWith('/')) {\n // This should rarely happen, but use filename split as last resort\n relativeFilename = normalizedFilepath.split('/').pop() || 'unknown.ts';\n }\n\n return relativeFilename;\n}\n\nfunction stripDeferredStepSourceMetadataComment(source: string): string {\n const metadataPattern = new RegExp(\n `^\\\\s*//\\\\s*${DEFERRED_STEP_SOURCE_METADATA_PREFIX}[A-Za-z0-9+/=]+\\\\s*\\\\r?\\\\n?`\n );\n return source.replace(metadataPattern, '');\n}\n\n// This loader applies the \"use workflow\"/\"use step\" transform.\n// Deferred step-copy files are transformed in step mode; all other files use client mode.\ntype WorkflowLoaderContext = {\n resourcePath: string;\n async?: () => (\n error: Error | null,\n content?: string,\n sourceMap?: any\n ) => void;\n addDependency?: (dependency: string) => void;\n addBuildDependency?: (dependency: string) => void;\n};\n\nexport default function workflowLoader(\n this: WorkflowLoaderContext,\n source: string | Buffer,\n sourceMap: any\n): string | Promise<string> | void {\n const callback = this.async?.();\n const run = async (): Promise<{ code: string; map: any }> => {\n const filename = this.resourcePath;\n const normalizedSource = source.toString();\n const workingDir = process.cwd();\n const swcPluginPath = registerTransformDependencies(this);\n const isDeferredStepCopyFile = isDeferredStepCopyFilePath(filename);\n const deferredStepSourceMetadata = isDeferredStepCopyFile\n ? parseDeferredStepSourceMetadata(normalizedSource)\n : null;\n const sourceWithoutDeferredMetadata = isDeferredStepCopyFile\n ? stripDeferredStepSourceMetadataComment(normalizedSource)\n : normalizedSource;\n const deferredSourceMapResult = isDeferredStepCopyFile\n ? parseInlineSourceMapComment(sourceWithoutDeferredMetadata)\n : {\n sourceWithoutMapComment: sourceWithoutDeferredMetadata,\n sourceMap: null,\n };\n const sourceForTransform = deferredSourceMapResult.sourceWithoutMapComment;\n const discoveryFilePath =\n deferredStepSourceMetadata?.absolutePath || filename;\n\n if (deferredStepSourceMetadata?.absolutePath) {\n // Ensure edits to the original source invalidate deferred step copies.\n registerFileDependency(this, deferredStepSourceMetadata.absolutePath);\n }\n\n const isGeneratedWorkflowFile = await checkGeneratedFile(filename);\n // Skip generated workflow route files to avoid re-processing them, except\n // deferred route stubs which must wait for generated route output.\n if (isGeneratedWorkflowFile && !isDeferredStepCopyFile) {\n if (\n process.env.WORKFLOW_NEXT_LAZY_DISCOVERY === '1' &&\n isWorkflowRouteStubSource(normalizedSource)\n ) {\n try {\n await ensureDeferredRouteStubBuildAndWait();\n const refreshedSource = await readFile(filename, 'utf8');\n if (!isWorkflowRouteStubSource(refreshedSource)) {\n return { code: refreshedSource, map: sourceMap };\n }\n } catch (error) {\n console.warn(\n `[workflow] Failed waiting for deferred route build for ${filename}, using stub output`,\n error\n );\n }\n }\n return { code: normalizedSource, map: sourceMap };\n }\n\n // Detect workflow patterns in the source code.\n const patterns = await detectPatterns(sourceForTransform);\n // Always notify discovery tracking, even for `false/false`, so files that\n // previously had workflow/step usage are removed from the tracked sets.\n // Deferred step copy files must report using their original source path so\n // deferred rebuilds can react to source edits outside generated artifacts.\n if (!isDeferredStepCopyFile || deferredStepSourceMetadata?.absolutePath) {\n const hasSerde = patterns.hasSerde;\n const nextPatternState: DiscoveredPatternState = {\n hasWorkflow: patterns.hasUseWorkflow,\n hasStep: patterns.hasUseStep,\n hasSerde,\n };\n const { shouldNotify } = updateDiscoveredPatternState(\n discoveryFilePath,\n nextPatternState\n );\n if (shouldNotify) {\n await notifySocketServer(\n discoveryFilePath,\n nextPatternState.hasWorkflow,\n nextPatternState.hasStep,\n nextPatternState.hasSerde\n );\n }\n }\n\n if (!isDeferredStepCopyFile) {\n // Check if file needs transformation based on patterns and path\n if (!(await checkShouldTransform(filename, patterns))) {\n return { code: normalizedSource, map: sourceMap };\n }\n }\n\n const isTypeScript =\n filename.endsWith('.ts') ||\n filename.endsWith('.tsx') ||\n filename.endsWith('.mts') ||\n filename.endsWith('.cts');\n\n // Calculate relative filename for SWC plugin\n // The SWC plugin uses filename to generate workflowId, so it must be relative\n const relativeFilename =\n deferredStepSourceMetadata?.relativeFilename ||\n (await getRelativeFilenameForSwc(filename, workingDir));\n\n // Get decorator options from tsconfig (cached per working directory)\n const { options: decoratorOptions, configPath } =\n await getDecoratorOptions(workingDir);\n if (configPath) {\n registerFileDependency(this, configPath);\n }\n\n // Resolve module specifier for packages (node_modules or workspace packages)\n const moduleSpecifier = await getModuleSpecifier(\n deferredStepSourceMetadata?.absolutePath || filename,\n workingDir\n );\n const mode = isDeferredStepCopyFile ? 'step' : 'client';\n\n // Transform with SWC\n const result = await transform(sourceForTransform, {\n filename: relativeFilename,\n jsc: {\n parser: {\n ...(isTypeScript\n ? {\n syntax: 'typescript',\n tsx: filename.endsWith('.tsx'),\n decorators: decoratorOptions.decorators,\n }\n : {\n syntax: 'ecmascript',\n jsx: filename.endsWith('.jsx'),\n decorators: decoratorOptions.decorators,\n }),\n },\n target: 'es2022',\n experimental: {\n plugins: [[swcPluginPath, { mode, moduleSpecifier }]],\n },\n transform: {\n react: {\n runtime: 'preserve',\n },\n legacyDecorator: decoratorOptions.legacyDecorator,\n decoratorMetadata: decoratorOptions.decoratorMetadata,\n },\n },\n minify: false,\n inputSourceMap: isDeferredStepCopyFile\n ? deferredSourceMapResult.sourceMap || sourceMap\n : sourceMap,\n sourceMaps: true,\n inlineSourcesContent: true,\n });\n\n let transformedMap = sourceMap;\n if (typeof result.map === 'string') {\n try {\n transformedMap = JSON.parse(result.map);\n } catch {\n transformedMap = result.map;\n }\n } else if (result.map) {\n transformedMap = result.map;\n }\n\n return { code: result.code, map: transformedMap };\n };\n\n if (!callback) {\n return run().then((result) => result.code);\n }\n\n void run()\n .then((result) => callback(null, result.code, result.map))\n .catch((error: unknown) => {\n callback(error instanceof Error ? error : new Error(String(error)));\n });\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAAiD;AACjD,oDAAoD;AACpD,iBAAiB;AACjB,8DAA4C"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAAiD;AACjD,oDAAoD;AACpD,iBAAiB;AACjB,8DAA4C","sourcesContent":["// re-export runtime as stub for resolving to not\n// require @workflow/core be a dependency as well as\n// @workflow/next\nexport * from '@workflow/core/dist/runtime';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"socket-server.js","sourceRoot":"","sources":["../src/socket-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"socket-server.js","sourceRoot":"","sources":["../src/socket-server.ts"],"names":[],"mappings":"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","sourcesContent":["import { randomBytes } from 'node:crypto';\nimport { mkdir, writeFile } from 'node:fs/promises';\nimport { createServer, type Server, type Socket } from 'node:net';\nimport { dirname, join } from 'node:path';\n\n/**\n * Magic preamble that must prefix all messages to authenticate them as workflow messages.\n * This prevents accidental processing of messages from port scanners or other local processes.\n */\nconst MESSAGE_PREAMBLE = 'WF:';\n\n/**\n * Generate a random authentication token for this server session.\n * Clients must include this token in all messages.\n */\nfunction generateAuthToken(): string {\n return randomBytes(16).toString('hex');\n}\n\n/**\n * Message types that can be sent between loader and builder\n */\nexport type SocketMessage =\n | {\n type: 'file-discovered';\n filePath: string;\n hasWorkflow: boolean;\n hasStep: boolean;\n hasSerde: boolean;\n }\n | { type: 'trigger-build' }\n | { type: 'build-complete' };\n\n/**\n * Configuration for the socket server\n */\nexport interface SocketServerConfig {\n isDevServer: boolean;\n onFileDiscovered: (\n filePath: string,\n hasWorkflow: boolean,\n hasStep: boolean,\n hasSerde: boolean\n ) => void;\n onTriggerBuild: () => void;\n socketInfoFilePath?: string;\n}\n\n/**\n * Interface for the socket IO instance returned by createSocketServer\n */\nexport interface SocketIO {\n emit(event: 'build-complete'): void;\n getAuthToken(): string;\n}\n\nfunction getDefaultSocketInfoFilePath(): string {\n return join(process.cwd(), '.next', 'cache', 'workflow-socket.json');\n}\n\n/**\n * Serialize a message with authentication preamble\n */\nexport function serializeMessage(\n message: SocketMessage,\n authToken: string\n): string {\n return `${MESSAGE_PREAMBLE}${authToken}:${JSON.stringify(message)}\\n`;\n}\n\n/**\n * Parse and authenticate a message from the socket\n * Returns the parsed message if valid, null otherwise\n */\nexport function parseMessage(\n line: string,\n authToken: string\n): SocketMessage | null {\n const trimmed = line.trim();\n if (!trimmed) {\n return null;\n }\n\n // Check for preamble\n if (!trimmed.startsWith(MESSAGE_PREAMBLE)) {\n console.warn('Received message without valid preamble, ignoring');\n return null;\n }\n\n // Extract auth token and payload\n const withoutPreamble = trimmed.slice(MESSAGE_PREAMBLE.length);\n const colonIndex = withoutPreamble.indexOf(':');\n if (colonIndex === -1) {\n console.warn('Received message without auth token separator, ignoring');\n return null;\n }\n\n const messageToken = withoutPreamble.slice(0, colonIndex);\n const payload = withoutPreamble.slice(colonIndex + 1);\n\n // Verify auth token\n if (messageToken !== authToken) {\n console.warn('Received message with invalid auth token, ignoring');\n return null;\n }\n\n // Parse JSON payload\n try {\n return JSON.parse(payload) as SocketMessage;\n } catch (error) {\n console.error('Failed to parse socket message JSON:', error);\n return null;\n }\n}\n\n/**\n * Create a TCP socket server for loader<->builder communication.\n * Returns a SocketIO interface for broadcasting messages and the auth token.\n *\n * SECURITY: Server listens on 127.0.0.1 (localhost only) and uses\n * message authentication to prevent processing of unauthorized messages.\n */\nexport async function createSocketServer(\n config: SocketServerConfig\n): Promise<SocketIO> {\n const authToken = generateAuthToken();\n const clients = new Set<Socket>();\n let buildTriggered = false;\n\n const server: Server = createServer((socket: Socket) => {\n socket.setNoDelay(true);\n clients.add(socket);\n\n // Send build-complete if build already finished (production mode)\n if (buildTriggered && !config.isDevServer) {\n socket.write(serializeMessage({ type: 'build-complete' }, authToken));\n }\n\n let buffer = '';\n\n socket.on('data', (data: Buffer) => {\n buffer += data.toString();\n\n // Process complete messages (newline-delimited)\n let newlineIndex = buffer.indexOf('\\n');\n while (newlineIndex !== -1) {\n const line = buffer.slice(0, newlineIndex);\n buffer = buffer.slice(newlineIndex + 1);\n newlineIndex = buffer.indexOf('\\n');\n\n const message = parseMessage(line, authToken);\n if (!message) {\n continue;\n }\n\n if (message.type === 'file-discovered') {\n config.onFileDiscovered(\n message.filePath,\n message.hasWorkflow,\n message.hasStep,\n message.hasSerde\n );\n } else if (message.type === 'trigger-build') {\n config.onTriggerBuild();\n }\n }\n });\n\n socket.on('end', () => {\n clients.delete(socket);\n });\n\n socket.on('error', (err: Error) => {\n console.error('Socket error:', err);\n clients.delete(socket);\n });\n });\n\n // Listen on random available port (localhost only)\n await new Promise<void>((resolve, reject) => {\n server.once('error', reject);\n server.listen(0, '127.0.0.1', () => {\n const address = server.address();\n if (address && typeof address === 'object') {\n const socketInfoFilePath =\n config.socketInfoFilePath || getDefaultSocketInfoFilePath();\n void (async () => {\n try {\n await mkdir(dirname(socketInfoFilePath), { recursive: true });\n await writeFile(\n socketInfoFilePath,\n JSON.stringify(\n {\n port: address.port,\n authToken,\n },\n null,\n 2\n )\n );\n process.env.WORKFLOW_SOCKET_INFO_PATH = socketInfoFilePath;\n process.env.WORKFLOW_SOCKET_PORT = String(address.port);\n process.env.WORKFLOW_SOCKET_AUTH = authToken;\n resolve();\n } catch (error) {\n reject(error);\n }\n })();\n return;\n }\n reject(new Error('Failed to obtain workflow socket server address'));\n });\n });\n\n return {\n emit: (_event: 'build-complete') => {\n buildTriggered = true;\n const message = serializeMessage({ type: 'build-complete' }, authToken);\n for (const client of clients) {\n client.write(message);\n }\n },\n getAuthToken: () => authToken,\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"step-copy-utils.js","sourceRoot":"","sources":["../src/step-copy-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"step-copy-utils.js","sourceRoot":"","sources":["../src/step-copy-utils.ts"],"names":[],"mappings":"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","sourcesContent":["export const DEFERRED_STEP_COPY_DIR_NAME = '__workflow_step_files__';\nexport const DEFERRED_STEP_SOURCE_METADATA_PREFIX = 'WORKFLOW_STEP_SOURCE_B64:';\nconst INLINE_SOURCE_MAP_PATTERN =\n /(?:^|\\r?\\n)\\s*\\/\\/[#@]\\s*sourceMappingURL=data:application\\/json(?:;charset=[^;,]+)?;base64,([A-Za-z0-9+/=]+)\\s*$/;\n\nexport interface DeferredStepSourceMetadata {\n relativeFilename: string;\n absolutePath: string;\n}\n\nfunction escapeRegExp(input: string): string {\n return input.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n}\n\nfunction normalizePath(filePath: string): string {\n return filePath.replace(/\\\\/g, '/');\n}\n\nexport function isDeferredStepCopyFilePath(filePath: string): boolean {\n const normalizedPath = normalizePath(filePath);\n return normalizedPath.includes(\n `/.well-known/workflow/v1/step/${DEFERRED_STEP_COPY_DIR_NAME}/`\n );\n}\n\nexport function createDeferredStepSourceMetadataComment(\n metadata: DeferredStepSourceMetadata\n): string {\n const encoded = Buffer.from(JSON.stringify(metadata), 'utf-8').toString(\n 'base64'\n );\n return `// ${DEFERRED_STEP_SOURCE_METADATA_PREFIX}${encoded}`;\n}\n\nfunction getLineCount(source: string): number {\n if (source.length === 0) {\n return 1;\n }\n const lineBreakMatches = source.match(/\\r\\n|\\r|\\n/g);\n return (lineBreakMatches?.length ?? 0) + 1;\n}\n\nfunction createIdentityLineMappings(lineCount: number): string {\n if (lineCount <= 1) {\n return 'AAAA';\n }\n return `AAAA${';AACA'.repeat(lineCount - 1)}`;\n}\n\nexport function createDeferredStepCopyInlineSourceMapComment({\n sourcePath,\n sourceContent,\n generatedContent,\n}: {\n sourcePath: string;\n sourceContent: string;\n generatedContent?: string;\n}): string {\n const normalizedSourcePath = normalizePath(sourcePath);\n const sourceMap = {\n version: 3,\n file: normalizedSourcePath.split('/').pop() ?? normalizedSourcePath,\n sources: [normalizedSourcePath],\n sourcesContent: [sourceContent],\n names: [] as string[],\n mappings: createIdentityLineMappings(\n getLineCount(generatedContent ?? sourceContent)\n ),\n };\n const encodedSourceMap = Buffer.from(\n JSON.stringify(sourceMap),\n 'utf-8'\n ).toString('base64');\n return `//# sourceMappingURL=data:application/json;base64,${encodedSourceMap}`;\n}\n\nexport function parseInlineSourceMapComment(source: string): {\n sourceWithoutMapComment: string;\n sourceMap: string | null;\n} {\n const mapMatch = source.match(INLINE_SOURCE_MAP_PATTERN);\n if (!mapMatch?.[1]) {\n return {\n sourceWithoutMapComment: source,\n sourceMap: null,\n };\n }\n\n const sourceWithoutMapComment = source.replace(INLINE_SOURCE_MAP_PATTERN, '');\n try {\n const decodedMap = Buffer.from(mapMatch[1], 'base64').toString('utf-8');\n JSON.parse(decodedMap);\n return {\n sourceWithoutMapComment,\n sourceMap: decodedMap,\n };\n } catch {\n return {\n sourceWithoutMapComment,\n sourceMap: null,\n };\n }\n}\n\nexport function parseDeferredStepSourceMetadata(\n source: string\n): DeferredStepSourceMetadata | null {\n const pattern = new RegExp(\n `^\\\\s*//\\\\s*${escapeRegExp(DEFERRED_STEP_SOURCE_METADATA_PREFIX)}([A-Za-z0-9+/=]+)\\\\s*$`,\n 'm'\n );\n const match = source.match(pattern);\n const encoded = match?.[1];\n if (!encoded) {\n return null;\n }\n\n try {\n const decoded = Buffer.from(encoded, 'base64').toString('utf-8');\n const parsed = JSON.parse(decoded) as Partial<DeferredStepSourceMetadata>;\n if (\n typeof parsed.relativeFilename !== 'string' ||\n parsed.relativeFilename.length === 0 ||\n typeof parsed.absolutePath !== 'string' ||\n parsed.absolutePath.length === 0\n ) {\n return null;\n }\n\n return {\n relativeFilename: parsed.relativeFilename,\n absolutePath: normalizePath(parsed.absolutePath),\n };\n } catch {\n return null;\n }\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@workflow/next",
3
- "version": "5.0.0-beta.1",
3
+ "version": "5.0.0-beta.2",
4
4
  "description": "Next.js integration for Workflow SDK",
5
5
  "type": "commonjs",
6
6
  "main": "dist/index.js",
@@ -30,9 +30,9 @@
30
30
  "enhanced-resolve": "5.19.0",
31
31
  "semver": "7.7.4",
32
32
  "watchpack": "2.5.1",
33
- "@workflow/builders": "5.0.0-beta.1",
34
- "@workflow/core": "5.0.0-beta.1",
35
- "@workflow/swc-plugin": "5.0.0-beta.1"
33
+ "@workflow/builders": "5.0.0-beta.2",
34
+ "@workflow/core": "5.0.0-beta.2",
35
+ "@workflow/swc-plugin": "5.0.0-beta.2"
36
36
  },
37
37
  "devDependencies": {
38
38
  "@types/node": "22.19.0",