feat(build): migrate to tsup for ESM build#42
Conversation
…ator, etc.) - Add roles module with RoleDefinition, RoleConfig, RoleTrigger types - Add default roles: Sage, Harvester, Curator, Reviewer, Fixer, Delegator - Add role executor with executeRole, executeSageRole functions - Add roles CLI commands: list, info, sage, match - Add RolesConfig to AgenticConfig for agentic.config.json support - Export roles module from package index Closes #40
- Add tsup.config.ts to all packages (agentic-control, providers, vitest-agentic-control) - Update build scripts to use tsup - Use --no-frozen-lockfile for transition
Summary of ChangesHello @jbdevprimary, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request introduces a significant upgrade to the project's build infrastructure by migrating all packages from Highlights
Ignored Files
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request migrates the build system for agentic-control, providers, and vitest-agentic-control packages from tsc to tsup. The changes are well-structured and the new tsup.config.ts files are comprehensive. The migration to tsup is a great improvement for build speed and ESM compatibility.
I've found a few issues, mostly related to dependency management (peerDependencies and external configuration) that have been surfaced by this build system change. The most critical one is in vitest-agentic-control which is missing key peer dependencies, which would break the package for external consumers. There are also some inconsistencies in dependency definitions in the providers package. Finally, I've added a couple of suggestions for cleanup and simplification. Addressing these points will improve the robustness and maintainability of the packages.
| "build": "tsc", | ||
| "dev": "tsc --watch", | ||
| "build": "tsup", | ||
| "build:types": "tsc --emitDeclarationOnly", |
There was a problem hiding this comment.
The new build:types script appears to be redundant. The build script now uses tsup, which is configured with dts: true in tsup.config.ts to generate declaration files. The typecheck script already handles type checking without emitting files. To keep the scripts clean and avoid confusion, consider removing build:types unless it has a specific purpose not covered by the other scripts.
🤖 Agent Handoff: @cursorEnterprise Dashboard: jbcom/control-center#505 ContextThis PR migrates Your Responsibilities
Actions Requiredgit clone https://github.com/agentic-dev-library/control.git
cd control && git checkout <branch>
pnpm install && pnpm run buildMerge PriorityThis is Phase 1 of the enterprise merge order. Merge to unblock feature PRs. Please respond with status after review. |
- Add missing peer dependencies to vitest-agentic-control - Standardize dependency definitions in providers package - Move @agentic/triage to devDependencies/peerDependencies in providers
This commit addresses several issues and improvements: **Dockerfile:** - Updated `pnpm` to version `9` to align with CI and ensure compatibility. - Changed `pnpm install` to `pnpm install --no-frozen-lockfile` to prevent potential build hangs caused by lockfile mismatches. - Added `build-essential` to the Docker image to resolve issues with building packages that require compilation (e.g., git dependencies). - Modified the Python package installation to install the local package (`./python[crewai]`) instead of relying on a potentially missing remote package. - Set `PNPM_HOME` and added it to the `PATH` for global pnpm installations, ensuring consistency across different environments. **CI Workflow (`.github/workflows/ci.yml`):** - Added a new job `python-tests` to run tests for the Python component of the project. - This job uses `uv` for Python environment management and dependency installation, ensuring a fast and efficient testing process. **Repository Metadata (`package.json`):** - Updated repository URLs and homepage links to reflect the new organization name `agentic-dev-library`. **Documentation (`memory-bank/activeContext.md`):** - Added a session entry detailing the changes made in this commit, including the Dockerfile fixes, CI updates, and metadata changes. These changes aim to improve the build process, ensure test coverage, and maintain accurate project metadata. Co-authored-by: jon <jon@jonbogaty.com>
|
📦 Tracking: #51 |
🤖 AI Code ReviewSummary of Changes
Issues Found🔴 Critical: The 🟠 High: The Docker build job doesn't push the image, making it ineffective for deployment. Consider adding push condition for main branch. 🟠 High: The 🟡 Medium: The new roles system imports from ⚪ Low: Some action versions are pinned to major versions only (e.g., Suggestions for Improvement
Reviewed by Ecosystem Reviewer using glm-4.6:cloud |
🤖 AI Code ReviewSummary of Changes
Issues Found🔴 Critical: Docker build uses Suggestions for Improvement
Reviewed by Ecosystem Reviewer using glm-4.6:cloud |
🤖 AI Code ReviewSummary of Changes
Issues Found🔴 Critical: Docker build uses Suggestions for Improvement
Reviewed by Ecosystem Reviewer using glm-4.6:cloud |
🤖 AI Code ReviewSummary of Changes
Issues Found🔴 Critical: Docker build uses Suggestions
Reviewed by Ecosystem Reviewer using glm-4.6:cloud |
🤖 AI Code ReviewSummary of Changes
Issues Found🔴 Critical: Dockerfile installs Python package from local source but doesn't verify it exists Suggestions for Improvement
Reviewed by Ecosystem Reviewer using glm-4.6:cloud |
|
🔧 Jules refactoring session started: https://jules.google.com/session/2991199301875474330 |
…library/control into feat/tsup-esm-build
…library/control into feat/tsup-esm-build
…library/control into feat/tsup-esm-build
🤖 AI Code Review1. Summary of Changes
2. Issues Found🔴 Critical: Security Risk in Dockerfile
🔴 Critical: Permission Bypass
🟠 High: Missing Input Validation
🟠 High: Inconsistent Secret Usage
🟡 Medium: Resource Waste
🟡 Medium: Missing Error Handling
⚪ Low: Redundant Builds
3. Suggestions for Improvement
Reviewed by Ecosystem Reviewer using glm-4.6:cloud |
86feab2 to
df4c8f3
Compare
…library/control into feat/tsup-esm-build
|




Summary
Why tsup?
Test plan
Note
Introduces tsup-based builds across packages and simplifies CI for faster, consistent ESM outputs.
tscwithtsupinagentic-control,providers, andvitest-agentic-control; addtsup.config.tsper package with explicit entry points, ESM output, DTS generation, and externalsbuild,dev,build:types) and addtsupto devDependencies; updatepnpm-lock.yamlcijob runningcheck,build,typecheck, and tests with coverage; add pnpm store caching; usepnpm install --no-frozen-lockfile; uploadpackages/*/distartifactslinux/amd64; metadata/tags unchangedWritten by Cursor Bugbot for commit 079acce. This will update automatically on new commits. Configure here.