Files
copilotkit--copilotkit/dangerfile.js
Tyler Slaton 96885b5959 refactor: consolidate V1/V2 packages into flat @copilotkit/* structure
Flatten all packages from packages/v1/* and packages/v2/* into packages/* —
every package now lives directly under the @copilotkit/ scope with no v1/v2
subdirectories.

- Move all v1 packages (react-core, react-ui, runtime, shared, etc.) from
  packages/v1/* to packages/*
- Absorb v2 react code into packages/react-core/src/v2/ (exported via /v2 subpath)
- Absorb v2 agent code into packages/runtime/src/agent/ (exported via /v2 subpath)
- Move v2 packages (core, angular, demo-agents, etc.) to packages/*
- Replace all @copilotkitnext/* imports with @copilotkit/* equivalents
- Keep @copilotkitnext/angular as the sole exception (angular remains on next)
- Update CI workflows, renovate config, release scripts for flat structure
- No public API surface changes — all exports fields are preserved

Co-authored-by: Alem Tuzlak <t.zlak@hotmail.com>
Signed-off-by: Tyler Slaton <tyler@copilotkit.ai>
2026-03-28 16:45:10 -07:00

23 lines
826 B
JavaScript

import { danger, warn } from "danger";
const file1 = "sdk-python/copilotkit/langgraph_agent.py";
const file2 = "packages/sdk-js/src/langgraph.ts";
// Get the list of modified files in the PR
const changedFiles = danger.git.modified_files;
const lgPyExecutorName = "LangGraph python executor (langgraph_agent.py)";
const lgcExecutor = "LangGraph Cloud executor (remote-lg-cloud-action.ts)";
// Check if only one of the files is modified
if (changedFiles.includes(file1) && !changedFiles.includes(file2)) {
warn(
`⚠️ ${lgPyExecutorName} was modified, but ${lgcExecutor} was not updated. Please align both files.`,
);
}
if (changedFiles.includes(file2) && !changedFiles.includes(file1)) {
warn(
`⚠️ ${lgcExecutor} was modified, but ${lgPyExecutorName} was not updated. Please align both files.`,
);
}