Conversation
|
Important Review skippedToo many files! This PR contains 233 files, which is 83 over the limit of 150. ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (2)
📒 Files selected for processing (233)
You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
🌏 Preview Deployments
Built from commit: 🤖 This comment will be updated automatically when you push new commits to this PR. |
This ensures that we handle the dev source exports, when running vite dev!
Introduce `PipelineHeader` and `PipelineTabs` components to enhance the pipeline UI. These components provide a structured header and navigation tabs for better user experience in managing pipelines.
There was a problem hiding this comment.
Pull request overview
Rewrites the pipelines server to expose a new “sources/files/pipelines/executions” API surface, fold the pipeline UI directly into @ucdjs/pipelines-server, and introduce executor/runtime + loader discovery primitives to support richer execution logging and remote pipeline sources.
Changes:
- Replace the legacy
/api/pipelines/*routes with/api/config,/api/overview, and/api/sources/*routes (including executions/events/logs/graph endpoints) and add corresponding client queries/routes. - Add pipeline discovery + locator parsing in
@ucdjs/pipelines-loader(newdiscoverentrypoint) and introduce executor runtime/logging hooks in@ucdjs/pipelines-executor(new./noderuntime export). - Remove the standalone
@ucdjs/pipelines-uipackage and migrate needed UI pieces intopipeline-server(client CSS/components/routes).
Reviewed changes
Copilot reviewed 223 out of 227 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| tooling/tsconfig/base.json | Updates TS path aliases for new executor/node and loader/discover entrypoints; removes pipelines-ui aliases. |
| packages/pipelines/pipeline-ui/turbo.json | Removes pipeline-ui build config (package being removed). |
| packages/pipelines/pipeline-ui/tsdown.config.ts | Removes pipeline-ui bundling config (package being removed). |
| packages/pipelines/pipeline-ui/tsconfig.json | Removes pipeline-ui TS config (package being removed). |
| packages/pipelines/pipeline-ui/tsconfig.build.json | Removes pipeline-ui build TS config (package being removed). |
| packages/pipelines/pipeline-ui/src/styles/globals.css | Removes pipeline-ui exported styles (package being removed). |
| packages/pipelines/pipeline-ui/src/lib/utils.ts | Removes pipeline-ui utility exports (package being removed). |
| packages/pipelines/pipeline-ui/src/lib/layout.ts | Removes pipeline-ui graph layout helper (package being removed). |
| packages/pipelines/pipeline-ui/src/lib/index.ts | Removes pipeline-ui lib barrel (package being removed). |
| packages/pipelines/pipeline-ui/src/lib/format-time.ts | Removes pipeline-ui time formatting helper (package being removed). |
| packages/pipelines/pipeline-ui/src/lib/colors.ts | Removes pipeline-ui node color utilities (package being removed). |
| packages/pipelines/pipeline-ui/src/lib/adapter.ts | Removes pipeline-ui graph adapter (package being removed). |
| packages/pipelines/pipeline-ui/src/index.ts | Removes pipeline-ui public API surface (package being removed). |
| packages/pipelines/pipeline-ui/src/hooks/use-pipelines.ts | Removes pipeline-ui data hooks (package being removed). |
| packages/pipelines/pipeline-ui/src/hooks/use-pipeline.ts | Removes pipeline-ui data hooks (package being removed). |
| packages/pipelines/pipeline-ui/src/hooks/use-pipeline-file.ts | Removes pipeline-ui data hooks (package being removed). |
| packages/pipelines/pipeline-ui/src/hooks/use-execute.ts | Removes pipeline-ui execute hook (package being removed). |
| packages/pipelines/pipeline-ui/src/hooks/use-event-view.ts | Removes pipeline-ui view-state hook (package being removed). |
| packages/pipelines/pipeline-ui/src/hooks/index.ts | Removes pipeline-ui hooks barrel (package being removed). |
| packages/pipelines/pipeline-ui/src/components/status-icon.tsx | Removes pipeline-ui status icon component (package being removed). |
| packages/pipelines/pipeline-ui/src/components/status-badge.tsx | Removes pipeline-ui status badge component (package being removed). |
| packages/pipelines/pipeline-ui/src/components/logs/execution-log-payload.tsx | Removes pipeline-ui log payload panel (package being removed). |
| packages/pipelines/pipeline-ui/src/components/graph/node-types.ts | Removes pipeline-ui graph node types map (package being removed). |
| packages/pipelines/pipeline-ui/src/components/detail/source-list.tsx | Removes pipeline-ui detail component (package being removed). |
| packages/pipelines/pipeline-ui/src/components/detail/route-list.tsx | Removes pipeline-ui detail component (package being removed). |
| packages/pipelines/pipeline-ui/package.json | Removes pipeline-ui package definition (package being removed). |
| packages/pipelines/pipeline-ui/eslint.config.js | Removes pipeline-ui lint config (package being removed). |
| packages/pipelines/pipeline-ui/README.md | Removes pipeline-ui readme (package being removed). |
| packages/pipelines/pipeline-server/vite.config.ts | Registers moonbeam in Vite config for the rewritten pipeline server build. |
| packages/pipelines/pipeline-server/test/server/sources.source.test.ts | Adds tests for new source detail endpoint. |
| packages/pipelines/pipeline-server/test/server/sources.logs.test.ts | Adds tests for new execution logs endpoint (pagination + filtering). |
| packages/pipelines/pipeline-server/test/server/sources.index.test.ts | Adds tests for new sources index endpoint and issue serialization. |
| packages/pipelines/pipeline-server/test/server/sources.graph.test.ts | Adds tests for execution graph endpoint behavior. |
| packages/pipelines/pipeline-server/test/server/sources.file.test.ts | Adds tests for source file detail endpoint + invalid file id handling. |
| packages/pipelines/pipeline-server/test/server/sources.executions.test.ts | Adds tests for executions listing endpoint ordering/pagination. |
| packages/pipelines/pipeline-server/test/server/sources.events.test.ts | Adds tests for execution events endpoint pagination. |
| packages/pipelines/pipeline-server/test/pipelines-list.test.ts | Removes legacy pipelines list tests (old API removed). |
| packages/pipelines/pipeline-server/test/pipeline-security.test.ts | Removes legacy security test tied to old API shape. |
| packages/pipelines/pipeline-server/test/pipeline-events.test.ts | Removes legacy events test tied to old API shape. |
| packages/pipelines/pipeline-server/test/pipeline-detail.test.ts | Removes legacy pipeline detail test tied to old API shape. |
| packages/pipelines/pipeline-server/test/pipeline-code.test.ts | Removes legacy pipeline code snapshot test tied to old API shape. |
| packages/pipelines/pipeline-server/test/helpers.ts | Removes legacy test helpers tied to old app wiring. |
| packages/pipelines/pipeline-server/test/snapshots/pipeline-code.test.ts.snap | Removes snapshot for removed legacy endpoint. |
| packages/pipelines/pipeline-server/src/shared/types.ts | Prunes legacy response types and updates event item typing (data nullable). |
| packages/pipelines/pipeline-server/src/shared/schemas/source.ts | Adds Zod schemas/types for sources API payloads. |
| packages/pipelines/pipeline-server/src/shared/schemas/pipeline.ts | Adds Zod schemas/types for pipeline info/details responses. |
| packages/pipelines/pipeline-server/src/shared/schemas/overview.ts | Adds Zod schemas/types for overview endpoint response. |
| packages/pipelines/pipeline-server/src/shared/schemas/file.ts | Adds Zod schema/type for source file detail response. |
| packages/pipelines/pipeline-server/src/shared/schemas/execution.ts | Adds Zod schemas/types for executions/events/logs/graph endpoints. |
| packages/pipelines/pipeline-server/src/shared/schemas/config.ts | Adds Zod schema/type for config endpoint response. |
| packages/pipelines/pipeline-server/src/shared/lib/pipeline-utils.ts | Adds server-side adapters to map pipeline definitions into API DTOs. |
| packages/pipelines/pipeline-server/src/server/workspace.ts | Updates workspace source typing and local root resolution for new locator model. |
| packages/pipelines/pipeline-server/src/server/routes/sources.source.ts | Adds source detail route (files + issues). |
| packages/pipelines/pipeline-server/src/server/routes/sources.logs.ts | Adds execution logs route with pagination + span filter. |
| packages/pipelines/pipeline-server/src/server/routes/sources.index.ts | Adds sources index route with counts + issue serialization. |
| packages/pipelines/pipeline-server/src/server/routes/sources.graph.ts | Adds execution graph route with pipeline ownership check. |
| packages/pipelines/pipeline-server/src/server/routes/sources.file.ts | Adds source file detail route (pipelines in file). |
| packages/pipelines/pipeline-server/src/server/routes/sources.executions.ts | Adds executions listing route for a pipeline. |
| packages/pipelines/pipeline-server/src/server/routes/sources.events.ts | Adds execution events route with pagination. |
| packages/pipelines/pipeline-server/src/server/routes/pipelines.logs.ts | Removes legacy logs route. |
| packages/pipelines/pipeline-server/src/server/routes/pipelines.index.ts | Removes legacy pipelines index route. |
| packages/pipelines/pipeline-server/src/server/routes/pipelines.graph.ts | Removes legacy graph route. |
| packages/pipelines/pipeline-server/src/server/routes/pipelines.file.ts | Removes legacy file route. |
| packages/pipelines/pipeline-server/src/server/routes/pipelines.execution.ts | Removes legacy executions route. |
| packages/pipelines/pipeline-server/src/server/routes/pipelines.events.ts | Removes legacy events route. |
| packages/pipelines/pipeline-server/src/server/routes/overview.ts | Adds overview route (activity window + summary + recent executions). |
| packages/pipelines/pipeline-server/src/server/routes/index.ts | Switches server route exports to new overview/sources routers. |
| packages/pipelines/pipeline-server/src/server/lib/resolve.ts | Replaces local-only resolution with locator materialization + discovery + load. |
| packages/pipelines/pipeline-server/src/server/lib/log-capture.ts | Removes legacy console-capture approach (moved to executor runtime/log pipeline). |
| packages/pipelines/pipeline-server/src/server/lib/loader.ts | Removes legacy loader wrapper. |
| packages/pipelines/pipeline-server/src/server/lib/execution-logs.ts | Adds createExecutionLogStore to persist new executor log entries. |
| packages/pipelines/pipeline-server/src/server/db/schema.ts | Extends stored log payload metadata (level/source/meta). |
| packages/pipelines/pipeline-server/src/server/app.ts | Rewires app: new sources model, new API mounts, adds /api/config. |
| packages/pipelines/pipeline-server/src/client/types.ts | Removes unused legacy client type. |
| packages/pipelines/pipeline-server/src/client/styles/pipelines.css | Adds local UI styling that used to live in pipelines-ui. |
| packages/pipelines/pipeline-server/src/client/routes/s.$sourceId/route.tsx | Adds loader + notFound handling for source routes. |
| packages/pipelines/pipeline-server/src/client/routes/s.$sourceId/index.tsx | Implements source page listing files + issue summary. |
| packages/pipelines/pipeline-server/src/client/routes/s.$sourceId/$sourceFileId/route.tsx | Adds loader + notFound handling for source file routes. |
| packages/pipelines/pipeline-server/src/client/routes/s.$sourceId/$sourceFileId/index.tsx | Implements source file page listing pipelines. |
| packages/pipelines/pipeline-server/src/client/routes/s.$sourceId/$sourceFileId/$pipelineId/route.tsx | Adds loader/layout for pipeline page + version selection wiring. |
| packages/pipelines/pipeline-server/src/client/routes/s.$sourceId/$sourceFileId/$pipelineId/index.tsx | Implements pipeline overview tab (recent executions + quick actions). |
| packages/pipelines/pipeline-server/src/client/routes/s.$sourceId/$sourceFileId/$pipelineId/executions/$executionId/graph.tsx | Adds execution graph page under new route structure. |
| packages/pipelines/pipeline-server/src/client/routes/pipelines/$file/route.lazy.tsx | Removes legacy pipelines routes. |
| packages/pipelines/pipeline-server/src/client/routes/pipelines/$file/index.lazy.tsx | Removes legacy pipelines routes. |
| packages/pipelines/pipeline-server/src/client/routes/pipelines/$file/$id/route.tsx | Removes legacy pipelines routes. |
| packages/pipelines/pipeline-server/src/client/routes/pipelines/$file/$id/route.lazy.tsx | Removes legacy pipelines routes. |
| packages/pipelines/pipeline-server/src/client/routes/pipelines/$file/$id/index.tsx | Removes legacy pipelines routes. |
| packages/pipelines/pipeline-server/src/client/routes/pipelines/$file/$id/index.lazy.tsx | Removes legacy pipelines routes. |
| packages/pipelines/pipeline-server/src/client/routes/pipelines/$file/$id/graphs.tsx | Removes legacy pipelines routes. |
| packages/pipelines/pipeline-server/src/client/routes/pipelines/$file/$id/graph.lazy.tsx | Removes legacy pipelines routes. |
| packages/pipelines/pipeline-server/src/client/routes/pipelines/$file/$id/executions/index.tsx | Removes legacy pipelines routes. |
| packages/pipelines/pipeline-server/src/client/routes/pipelines/$file/$id/executions/$executionId/index.tsx | Removes legacy pipelines routes. |
| packages/pipelines/pipeline-server/src/client/routes/pipelines/$file/$id/executions/$executionId/graph.tsx | Removes legacy pipelines routes. |
| packages/pipelines/pipeline-server/src/client/routes/pipelines/$file/$id/executions/$executionId/graph.lazy.tsx | Removes legacy pipelines routes. |
| packages/pipelines/pipeline-server/src/client/routes/pipelines/$file/$id/code.tsx | Removes legacy code route. |
| packages/pipelines/pipeline-server/src/client/routes/__root.tsx | Adds router context, root loader, error boundary, and sidebar wired to /api/config. |
| packages/pipelines/pipeline-server/src/client/queries/utils.ts | Adds shared query helpers (404 detection, active execution polling). |
| packages/pipelines/pipeline-server/src/client/queries/sources.ts | Adds sources list query with schema validation. |
| packages/pipelines/pipeline-server/src/client/queries/source.ts | Adds source detail query with schema validation. |
| packages/pipelines/pipeline-server/src/client/queries/pipeline.ts | Adds pipeline detail query with schema validation. |
| packages/pipelines/pipeline-server/src/client/queries/overview.ts | Adds overview query with schema validation. |
| packages/pipelines/pipeline-server/src/client/queries/file.ts | Adds source file detail query with schema validation. |
| packages/pipelines/pipeline-server/src/client/queries/config.ts | Adds config query with schema validation. |
| packages/pipelines/pipeline-server/src/client/main.tsx | Configures QueryClient defaults and wraps app in HotkeysProvider. |
| packages/pipelines/pipeline-server/src/client/lib/pipeline-executions.ts | Removes legacy execution fetching helpers. |
| packages/pipelines/pipeline-server/src/client/lib/pipeline-execution-logs.ts | Removes legacy logs/events fetching helpers. |
| packages/pipelines/pipeline-server/src/client/lib/format.ts | Adds centralized formatting utilities (duration/timestamps/bytes/etc.). |
| packages/pipelines/pipeline-server/src/client/index.css | Switches from pipelines-ui CSS import to local pipelines.css. |
| packages/pipelines/pipeline-server/src/client/components/version-picker-dialog.tsx | Removes legacy dialog component tied to removed pipelines-ui. |
| packages/pipelines/pipeline-server/src/client/components/source-file-card.tsx | Adds UI card for source files and contained pipelines. |
| packages/pipelines/pipeline-server/src/client/components/pipeline-tabs.tsx | Updates tab routing to new route structure. |
| packages/pipelines/pipeline-server/src/client/components/pipeline-overview/recent-outputs-panel.tsx | Removes legacy overview panel. |
| packages/pipelines/pipeline-server/src/client/components/pipeline-overview/recent-executions-panel.tsx | Removes legacy overview panel. |
| packages/pipelines/pipeline-server/src/client/components/pipeline-overview/quick-actions.tsx | Removes legacy quick-actions panel. |
| packages/pipelines/pipeline-server/src/client/components/overview/status-overview-panel.tsx | Adds workspace-wide status overview UI. |
| packages/pipelines/pipeline-server/src/client/components/overview/shared.ts | Adds shared overview constants/helpers for status grouping and labels. |
| packages/pipelines/pipeline-server/src/client/components/overview/recent-executions-panel.tsx | Adds workspace recent executions panel. |
| packages/pipelines/pipeline-server/src/client/components/overview/recent-executions-card.tsx | Adds pipeline-scoped recent executions card. |
| packages/pipelines/pipeline-server/src/client/components/execution/waterfall/toolbar.tsx | Adds execution waterfall toolbar with phase filters. |
| packages/pipelines/pipeline-server/src/client/components/execution/waterfall/shared.ts | Adds waterfall helpers (ticks/grid positioning). |
| packages/pipelines/pipeline-server/src/client/components/execution/waterfall/axis.tsx | Adds waterfall axis component. |
| packages/pipelines/pipeline-server/src/client/components/execution/span-drawer.tsx | Refactors span drawer to new format/cn helpers and phase colors. |
| packages/pipelines/pipeline-server/src/client/components/execution/log-table.tsx | Refactors log table to shared types/format helpers and inlines payload panel. |
| packages/pipelines/pipeline-server/src/client/components/execution/execution-status.tsx | Reintroduces status badge/icon locally (replacing pipelines-ui versions). |
| packages/pipelines/pipeline-server/src/client/components/detail/version-selector.tsx | Switches cn import to shared-ui root export. |
| packages/pipelines/pipeline-server/package.json | Updates imports aliases; removes pipelines-ui dep; adds moonbeam and xyflow. |
| packages/pipelines/pipeline-loader/tsdown.config.ts | Adds discover.ts as a build entry. |
| packages/pipelines/pipeline-loader/test/discover.test.ts | Adds discovery tests for local paths/patterns/origin metadata. |
| packages/pipelines/pipeline-loader/test/cache.test.ts | Updates cache API parameter naming (provider vs source). |
| packages/pipelines/pipeline-loader/src/locator.ts | Adds string locator parsing for local/github/gitlab formats. |
| packages/pipelines/pipeline-loader/src/index.ts | Updates public exports to include locator/materialize/remote APIs and discover types. |
| packages/pipelines/pipeline-loader/src/discover.ts | Adds file discovery implementation using globbing + origin metadata. |
| packages/pipelines/pipeline-loader/src/cache.ts | Renames cache input fields and aligns marker storage with provider naming. |
| packages/pipelines/pipeline-loader/src/bundle.ts | Adjusts bundling error classification (transform error detection). |
| packages/pipelines/pipeline-loader/src/adapters/gitlab.ts | Simplifies adapter function param typing to inline shapes. |
| packages/pipelines/pipeline-loader/src/adapters/github.ts | Simplifies adapter function param typing to inline shapes. |
| packages/pipelines/pipeline-loader/package.json | Exposes new ./discover export. |
| packages/pipelines/pipeline-executor/tsdown.config.ts | Switches to multi-entry build (index + node runtime). |
| packages/pipelines/pipeline-executor/src/types.ts | Adds log entry types and executor hooks (onLog, runtime). |
| packages/pipelines/pipeline-executor/src/runtime/index.ts | Introduces runtime abstraction + noop runtime implementation. |
| packages/pipelines/pipeline-executor/src/logger.ts | Adds pipeline logger implementation backed by runtime log emission. |
| packages/pipelines/pipeline-executor/src/log-context.ts | Removes AsyncLocalStorage-based context (replaced by runtime). |
| packages/pipelines/pipeline-executor/src/index.ts | Updates exports to runtime/log types and node runtime entrypoint. |
| packages/pipelines/pipeline-executor/src/executor/source-adapter.ts | Adds logger to parse context; requires runtime injection. |
| packages/pipelines/pipeline-executor/src/executor/events.ts | Refactors event span/event scoping to runtime APIs. |
| packages/pipelines/pipeline-executor/src/executor.ts | Wires runtime + log handler + output capture into executor run lifecycle. |
| packages/pipelines/pipeline-executor/package.json | Replaces ./types export with ./node export. |
| packages/pipelines/pipeline-executor/README.md | Documents runtime contexts and log emission wiring. |
| packages/pipelines/pipeline-core/test/route.test.ts | Updates tests for new logger presence in contexts. |
| packages/pipelines/pipeline-core/test/filters.test.ts | Updates tests for new logger presence in contexts. |
| packages/pipelines/pipeline-core/test/events.test.ts | Adds tests for event phase mapping/order. |
| packages/pipelines/pipeline-core/src/types.ts | Adds logger to multiple pipeline execution context types. |
| packages/pipelines/pipeline-core/src/transform.ts | Adds logger to transform context. |
| packages/pipelines/pipeline-core/src/route.ts | Adds logger to route resolve context. |
| packages/pipelines/pipeline-core/src/logger.ts | Introduces PipelineLogger interface. |
| packages/pipelines/pipeline-core/src/index.ts | Exports event phase helpers and PipelineLogger type. |
| packages/pipelines/pipeline-core/src/events.ts | Adds canonical execution phase definitions + mapping helper. |
| packages/pipelines/pipeline-artifacts/test/definition.test.ts | Updates artifact tests to supply logger in build context. |
| packages/pipelines/pipeline-artifacts/src/definition.ts | Adds logger to ArtifactBuildContext. |
| packages/cli/src/cmd/pipelines/cache/status.ts | Updates cache status command to use provider input field. |
| packages/cli/src/cmd/pipelines/cache/refresh.ts | Updates cache refresh to use ensureRemoteLocator. |
| packages/cli/src/cmd/pipelines/cache/index.ts | Minor control-flow adjustment after refresh branch. |
| packages/cli/src/cmd/pipelines/cache/clear.ts | Updates cache clear to use provider input field. |
| packages/cli/src/cli-utils.ts | Removes trailing whitespace in file. |
| apps/web/src/components/layout/page-header.tsx | Switches cn import to shared-ui root export. |
| apps/web/src/components/home/versions/version-card-item.tsx | Switches cn import to shared-ui root export. |
| apps/docs/content/pipelines/ui.mdx | Updates docs to reflect UI now ships with pipelines-server. |
| apps/docs/content/pipelines/index.mdx | Updates package list/docs to replace pipelines-ui with pipelines-server. |
Files not reviewed (1)
- pnpm-lock.yaml: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Introduced `importThrowsPipeline` that triggers an error during module evaluation. - Added `importTypeErrorPipeline` that simulates a type error by invoking a method on a null object. - Removed `invalidSyntaxPipeline` due to invalid syntax.
packages/pipelines/pipeline-playground/src/import-type-error.ucd-pipeline.ts
Show resolved
Hide resolved
packages/pipelines/pipeline-playground/src/import-throws.ucd-pipeline.ts
Show resolved
Hide resolved
packages/pipelines/pipeline-playground/src/import-throws.ucd-pipeline.ts
Show resolved
Hide resolved
…tions - Added `ResolveSourceContext` interface to improve logging capabilities. - Updated `resolveSourceFiles` and `resolveMultipleSourceFiles` to accept the new context. - Modified `createSourceAdapter` to utilize the logger for file listing. - Enhanced tests to incorporate the new context for better traceability.
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 231 out of 235 changed files in this pull request and generated 8 comments.
Files not reviewed (1)
- pnpm-lock.yaml: Language not supported
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
🔗 Linked issue
📚 Description