Skip to content

Genesis managed rollout: deploy --metadata passthrough#1573

Draft
potofpie wants to merge 3 commits into
mainfrom
feat/genesis-deploy-rollout-metadata
Draft

Genesis managed rollout: deploy --metadata passthrough#1573
potofpie wants to merge 3 commits into
mainfrom
feat/genesis-deploy-rollout-metadata

Conversation

@potofpie

@potofpie potofpie commented Jun 22, 2026

Copy link
Copy Markdown
Member

Summary

  • --metadata / AGENTUITY_DEPLOY_METADATA on agentuity deploy merges Genesis rollout intent onto the deployment record
  • Fields: source: managed, channel (edge|stable|commit), optional rollout_org_ids
  • Surfaces rolloutId from deploy complete when app fan-out runs

Replaces closed #1572 (source_blob_id stdout emission).

Merge order

Before agentuity/infra#737 and agentuity/app#1349

Test plan

  • Deploy with --metadata '{"source":"managed","channel":"edge"}' merges fields into build metadata
  • Complete response includes rolloutId when app hook is live

Rollout intent (source, channel, rollout_org_ids) merges onto the deployment
record via --metadata or AGENTUITY_DEPLOY_METADATA; complete may return rolloutId.
Supersedes source_blob_id stdout emission approach.

Co-authored-by: Cursor <[email protected]>
@agentuity-agent

agentuity-agent Bot commented Jun 22, 2026

Copy link
Copy Markdown

The latest Agentuity deployment details.

Project Deployment Preview Updated (UTC)
docs 🟢 Ready (deploy_82ea14217067f65d628a7fd1b0271093) - 2026-06-22T20:13:18Z

View deployment logs with the Agentuity CLI:

agentuity cloud deployment logs deploy_82ea14217067f65d628a7fd1b0271093 --project-id=proj_5ed7da797bef771d65e1bd6946a052b1

@coderabbitai

coderabbitai Bot commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Warning

Review limit reached

@potofpie, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 4 minutes and 31 seconds. Learn how PR review limits work.

Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file).

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based credits.

🚦 How do rate limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan refill rate.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, the refill rate gradually slows as usage increases. The highest same-day bursts are limited more strictly.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 31fc131d-29de-4de0-9b43-5d64444b2d8f

📥 Commits

Reviewing files that changed from the base of the PR and between ce8dc4c and 36a4f15.

📒 Files selected for processing (3)
  • packages/cli/src/cmd/cloud/deploy.ts
  • packages/cli/src/cmd/cloud/deploy/build.ts
  • packages/cli/src/deploy-rollout-metadata.ts
📝 Walkthrough

Walkthrough

Adds deploy rollout metadata support across CLI and server packages. A new deploy-rollout-metadata.ts utility module parses, resolves, and merges rollout metadata fields into the build payload. Schemas in types.ts, env.d.ts, and server/.../deploy.ts are extended with metadata, AGENTUITY_DEPLOY_METADATA, source/channel/rollout_org_ids, and rolloutId fields. The build step and deploy command are wired to forward and apply this metadata.

Changes

Deploy Rollout Metadata

Layer / File(s) Summary
Schema and type extensions
packages/cli/src/types.ts, packages/core/src/env.d.ts, packages/server/src/api/project/deploy.ts
DeployOptionsSchema gains optional metadata?: string; ProcessEnv gains AGENTUITY_DEPLOY_METADATA; BuildMetadataSchema gains source, channel, rollout_org_ids; DeploymentCompleteSchema gains rolloutId.
Rollout metadata utility module
packages/cli/src/deploy-rollout-metadata.ts
New file exports DeployRolloutMetadataSchema, DeployRolloutMetadata type, parseDeployRolloutMetadata (JSON parse + Zod validation), resolveDeployRolloutMetadata (reads options.metadata or env var), and mergeDeployRolloutMetadata (clones and extends build.deployment).
Build step and deploy command integration
packages/cli/src/cmd/cloud/deploy/build.ts, packages/cli/src/cmd/cloud/deploy.ts
buildBuildStep imports and applies resolveDeployRolloutMetadata/mergeDeployRolloutMetadata in both framework branches; deploy command forwards --metadata to child process and includes rolloutId in the response schema and final success return.
🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Comment @coderabbitai help to get the list of available commands and usage tips.

@potofpie potofpie mentioned this pull request Jun 22, 2026
2 tasks
@github-actions

github-actions Bot commented Jun 22, 2026

Copy link
Copy Markdown

📦 Canary Packages Published

version: 3.1.1-36a4f15

Packages
Package Version URL
@agentuity/webhook 3.1.1-36a4f15 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-webhook-3.1.1-36a4f15.tgz
@agentuity/telemetry 3.1.1-36a4f15 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-telemetry-3.1.1-36a4f15.tgz
@agentuity/opencode 3.1.1-36a4f15 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-opencode-3.1.1-36a4f15.tgz
@agentuity/hono 3.1.1-36a4f15 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-hono-3.1.1-36a4f15.tgz
@agentuity/coder 3.1.1-36a4f15 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-coder-3.1.1-36a4f15.tgz
@agentuity/postgres 3.1.1-36a4f15 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-postgres-3.1.1-36a4f15.tgz
@agentuity/client 3.1.1-36a4f15 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-client-3.1.1-36a4f15.tgz
@agentuity/api 3.1.1-36a4f15 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-api-3.1.1-36a4f15.tgz
@agentuity/aigateway 3.1.1-36a4f15 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-aigateway-3.1.1-36a4f15.tgz
@agentuity/queue 3.1.1-36a4f15 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-queue-3.1.1-36a4f15.tgz
@agentuity/pi 3.1.1-36a4f15 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-pi-3.1.1-36a4f15.tgz
@agentuity/email 3.1.1-36a4f15 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-email-3.1.1-36a4f15.tgz
@agentuity/sandbox 3.1.1-36a4f15 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-sandbox-3.1.1-36a4f15.tgz
@agentuity/claude-code 3.1.1-36a4f15 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-claude-code-3.1.1-36a4f15.tgz
@agentuity/vector 3.1.1-36a4f15 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-vector-3.1.1-36a4f15.tgz
@agentuity/coder-tui 3.1.1-36a4f15 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-coder-tui-3.1.1-36a4f15.tgz
@agentuity/runtime 3.1.1-36a4f15 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-runtime-3.1.1-36a4f15.tgz
@agentuity/task 3.1.1-36a4f15 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-task-3.1.1-36a4f15.tgz
@agentuity/db 3.1.1-36a4f15 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-db-3.1.1-36a4f15.tgz
@agentuity/adapter 3.1.1-36a4f15 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-adapter-3.1.1-36a4f15.tgz
@agentuity/analytics 3.1.1-36a4f15 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-analytics-3.1.1-36a4f15.tgz
@agentuity/server 3.1.1-36a4f15 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-server-3.1.1-36a4f15.tgz
@agentuity/drizzle 3.1.1-36a4f15 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-drizzle-3.1.1-36a4f15.tgz
@agentuity/keyvalue 3.1.1-36a4f15 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-keyvalue-3.1.1-36a4f15.tgz
@agentuity/config 3.1.1-36a4f15 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-config-3.1.1-36a4f15.tgz
create-agentuity 3.1.1-36a4f15 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/create-agentuity-3.1.1-36a4f15.tgz
@agentuity/migrate 3.1.1-36a4f15 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-migrate-3.1.1-36a4f15.tgz
@agentuity/schedule 3.1.1-36a4f15 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-schedule-3.1.1-36a4f15.tgz
@agentuity/cli 3.1.1-36a4f15 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-cli-3.1.1-36a4f15.tgz
@agentuity/schema 3.1.1-36a4f15 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-schema-3.1.1-36a4f15.tgz
@agentuity/core 3.1.1-36a4f15 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-core-3.1.1-36a4f15.tgz
@agentuity/vite 3.1.1-36a4f15 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-vite-3.1.1-36a4f15.tgz
@agentuity/storage 3.1.1-36a4f15 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-storage-3.1.1-36a4f15.tgz
@agentuity/stream 3.1.1-36a4f15 https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-stream-3.1.1-36a4f15.tgz
Install

Add to your package.json:

{
  "dependencies": {
    "@agentuity/webhook": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-webhook-3.1.1-36a4f15.tgz",
    "@agentuity/telemetry": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-telemetry-3.1.1-36a4f15.tgz",
    "@agentuity/opencode": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-opencode-3.1.1-36a4f15.tgz",
    "@agentuity/hono": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-hono-3.1.1-36a4f15.tgz",
    "@agentuity/coder": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-coder-3.1.1-36a4f15.tgz",
    "@agentuity/postgres": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-postgres-3.1.1-36a4f15.tgz",
    "@agentuity/client": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-client-3.1.1-36a4f15.tgz",
    "@agentuity/api": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-api-3.1.1-36a4f15.tgz",
    "@agentuity/aigateway": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-aigateway-3.1.1-36a4f15.tgz",
    "@agentuity/queue": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-queue-3.1.1-36a4f15.tgz",
    "@agentuity/pi": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-pi-3.1.1-36a4f15.tgz",
    "@agentuity/email": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-email-3.1.1-36a4f15.tgz",
    "@agentuity/sandbox": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-sandbox-3.1.1-36a4f15.tgz",
    "@agentuity/claude-code": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-claude-code-3.1.1-36a4f15.tgz",
    "@agentuity/vector": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-vector-3.1.1-36a4f15.tgz",
    "@agentuity/coder-tui": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-coder-tui-3.1.1-36a4f15.tgz",
    "@agentuity/runtime": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-runtime-3.1.1-36a4f15.tgz",
    "@agentuity/task": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-task-3.1.1-36a4f15.tgz",
    "@agentuity/db": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-db-3.1.1-36a4f15.tgz",
    "@agentuity/adapter": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-adapter-3.1.1-36a4f15.tgz",
    "@agentuity/analytics": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-analytics-3.1.1-36a4f15.tgz",
    "@agentuity/server": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-server-3.1.1-36a4f15.tgz",
    "@agentuity/drizzle": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-drizzle-3.1.1-36a4f15.tgz",
    "@agentuity/keyvalue": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-keyvalue-3.1.1-36a4f15.tgz",
    "@agentuity/config": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-config-3.1.1-36a4f15.tgz",
    "create-agentuity": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/create-agentuity-3.1.1-36a4f15.tgz",
    "@agentuity/migrate": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-migrate-3.1.1-36a4f15.tgz",
    "@agentuity/schedule": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-schedule-3.1.1-36a4f15.tgz",
    "@agentuity/cli": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-cli-3.1.1-36a4f15.tgz",
    "@agentuity/schema": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-schema-3.1.1-36a4f15.tgz",
    "@agentuity/core": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-core-3.1.1-36a4f15.tgz",
    "@agentuity/vite": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-vite-3.1.1-36a4f15.tgz",
    "@agentuity/storage": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-storage-3.1.1-36a4f15.tgz",
    "@agentuity/stream": "https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-stream-3.1.1-36a4f15.tgz"
  }
}

Or install directly:

bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-webhook-3.1.1-36a4f15.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-telemetry-3.1.1-36a4f15.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-opencode-3.1.1-36a4f15.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-hono-3.1.1-36a4f15.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-coder-3.1.1-36a4f15.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-postgres-3.1.1-36a4f15.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-client-3.1.1-36a4f15.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-api-3.1.1-36a4f15.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-aigateway-3.1.1-36a4f15.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-queue-3.1.1-36a4f15.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-pi-3.1.1-36a4f15.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-email-3.1.1-36a4f15.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-sandbox-3.1.1-36a4f15.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-claude-code-3.1.1-36a4f15.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-vector-3.1.1-36a4f15.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-coder-tui-3.1.1-36a4f15.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-runtime-3.1.1-36a4f15.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-task-3.1.1-36a4f15.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-db-3.1.1-36a4f15.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-adapter-3.1.1-36a4f15.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-analytics-3.1.1-36a4f15.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-server-3.1.1-36a4f15.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-drizzle-3.1.1-36a4f15.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-keyvalue-3.1.1-36a4f15.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-config-3.1.1-36a4f15.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/create-agentuity-3.1.1-36a4f15.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-migrate-3.1.1-36a4f15.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-schedule-3.1.1-36a4f15.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-cli-3.1.1-36a4f15.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-schema-3.1.1-36a4f15.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-core-3.1.1-36a4f15.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-vite-3.1.1-36a4f15.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-storage-3.1.1-36a4f15.tgz
bun add https://agentuity-sdk-objects.t3.storageapi.dev/npm/3.1.1-36a4f15/agentuity-stream-3.1.1-36a4f15.tgz

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
packages/cli/src/cmd/cloud/deploy/build.ts (1)

188-188: 🧹 Nitpick | 🔵 Trivial | ⚡ Quick win

Remove duplicate metadata merge.

This merge at line 188 is redundant because line 206 performs the same merge for both the agentuity and non-agentuity branches. The call at line 188 parses the metadata JSON and merges it, then line 206 immediately repeats both operations, overwriting the result.

♻️ Proposed fix
 		if (registeredProjectName) {
 			build.project.name = registeredProjectName;
 		}
-		build = mergeDeployRolloutMetadata(build, resolveDeployRolloutMetadata(deployOptions));
 	} else {
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@packages/cli/src/cmd/cloud/deploy/build.ts` at line 188, The call to
mergeDeployRolloutMetadata with resolveDeployRolloutMetadata at line 188 is
redundant and should be removed because the same merge operation is performed
again at line 206, which immediately overwrites the result from line 188. Simply
delete the entire line 188 containing the redundant mergeDeployRolloutMetadata
call to eliminate the duplicate metadata merge operation.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@packages/cli/src/deploy-rollout-metadata.ts`:
- Around line 1-64: Run the formatting command `bun run format` to automatically
fix all formatting issues in the deploy-rollout-metadata.ts file according to
the project's Biome configuration settings (tabs width 3, single quotes,
semicolons, lineWidth 100, and trailingCommas es5).

---

Nitpick comments:
In `@packages/cli/src/cmd/cloud/deploy/build.ts`:
- Line 188: The call to mergeDeployRolloutMetadata with
resolveDeployRolloutMetadata at line 188 is redundant and should be removed
because the same merge operation is performed again at line 206, which
immediately overwrites the result from line 188. Simply delete the entire line
188 containing the redundant mergeDeployRolloutMetadata call to eliminate the
duplicate metadata merge operation.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 94d2e44e-ff2b-4b4d-80d7-c3ab6e243192

📥 Commits

Reviewing files that changed from the base of the PR and between 027f66a and ce8dc4c.

📒 Files selected for processing (6)
  • packages/cli/src/cmd/cloud/deploy.ts
  • packages/cli/src/cmd/cloud/deploy/build.ts
  • packages/cli/src/deploy-rollout-metadata.ts
  • packages/cli/src/types.ts
  • packages/core/src/env.d.ts
  • packages/server/src/api/project/deploy.ts
📜 Review details
⏰ Context from checks skipped due to timeout. (17)
  • GitHub Check: Native install (Linux)
  • GitHub Check: Linux distro install smoke
  • GitHub Check: Bun version checks
  • GitHub Check: Native install (macOS)
  • GitHub Check: Installer scenarios
  • GitHub Check: Queue CLI Tests (node)
  • GitHub Check: Package Installation & Usage Test (node)
  • GitHub Check: Service Client Smoke Tests
  • GitHub Check: Queue CLI Tests (bun)
  • GitHub Check: Framework Demo Tests
  • GitHub Check: Postgres SSL Integration Test
  • GitHub Check: Migrate Chain (v1 → v2 → v3)
  • GitHub Check: Package Installation & Usage Test (bun)
  • GitHub Check: Windows WSL CLI Smoke Test
  • GitHub Check: Pack & Upload
  • GitHub Check: Build
  • GitHub Check: Agentuity - docs-docs
🧰 Additional context used
📓 Path-based instructions (6)
**/*.{ts,tsx,js,jsx}

📄 CodeRabbit inference engine (AGENTS.md)

Run bun run format using Biome with tabs (width 3), single quotes, semicolons, lineWidth 100, and trailingCommas es5

Files:

  • packages/cli/src/types.ts
  • packages/core/src/env.d.ts
  • packages/cli/src/deploy-rollout-metadata.ts
  • packages/cli/src/cmd/cloud/deploy/build.ts
  • packages/server/src/api/project/deploy.ts
  • packages/cli/src/cmd/cloud/deploy.ts
**/*.{ts,tsx}

📄 CodeRabbit inference engine (AGENTS.md)

**/*.{ts,tsx}: Use TypeScript in strict mode with ESNext target and bundler moduleResolution
Use StructuredError from @agentuity/core for error handling

Files:

  • packages/cli/src/types.ts
  • packages/core/src/env.d.ts
  • packages/cli/src/deploy-rollout-metadata.ts
  • packages/cli/src/cmd/cloud/deploy/build.ts
  • packages/server/src/api/project/deploy.ts
  • packages/cli/src/cmd/cloud/deploy.ts
packages/cli/src/**/*.ts

📄 CodeRabbit inference engine (packages/cli/AGENTS.md)

packages/cli/src/**/*.ts: Use tui.* helpers for formatted output (header, info, success, warning, error, table, progress)
Use ctx.logger for logging; logger.fatal() logs and exits with code 1
Use await readFile(p, 'utf-8') and await writeFile(p, content) from node:fs/promises for file I/O
Import pathExists from node-compat/fs for file existence checks instead of using Node's built-in
Do not use Bun globals (Bun.file, Bun.spawn, Bun.color, Bun.stringWidth, etc.) in production source code; tsconfig.json type checking enforces this
Imports must use explicit .ts extensions for relative paths (e.g., from './foo.ts', not from './foo'); TypeScript's rewriteRelativeImportExtensions will rewrite them to .js in output
Always check isJSONMode() for machine-readable output in command handlers
Use requireAuth(ctx) or optionalAuth(ctx) for authenticated commands

Files:

  • packages/cli/src/types.ts
  • packages/cli/src/deploy-rollout-metadata.ts
  • packages/cli/src/cmd/cloud/deploy/build.ts
  • packages/cli/src/cmd/cloud/deploy.ts
packages/core/src/**/*.ts

📄 CodeRabbit inference engine (packages/core/AGENTS.md)

packages/core/src/**/*.ts: Build TypeScript code using bun run build which compiles with tsc
Run TypeScript type checking with bun run typecheck
Ensure runtime compatibility with both Browser and Node/Bun environments - no runtime-specific code
Use ESNext as build target with TypeScript declaration files
Use TypeScript-first development - all code must be TypeScript
Prefer interfaces for public APIs
Use generics for reusable type utilities
Ensure no framework coupling - code must work in any JavaScript environment
Many exports are type or interface only - use type keyword for type-only exports
Ensure all exports are pure with no side effects or global mutations
All relative imports in TypeScript files MUST include the .ts extension for proper ESM module resolution

Files:

  • packages/core/src/env.d.ts
packages/server/src/**/*.{ts,tsx}

📄 CodeRabbit inference engine (packages/server/AGENTS.md)

All code must be TypeScript

Files:

  • packages/server/src/api/project/deploy.ts
packages/server/src/**/*.ts

📄 CodeRabbit inference engine (packages/server/AGENTS.md)

packages/server/src/**/*.ts: Use zod for runtime validation
Always use .ts extensions in relative imports (e.g., from '../api.ts', not from '../api'). This is required for Node.js ESM compatibility — tsc rewrites .ts.js in compiled output, but leaves extensionless imports untouched, which breaks Node.js module resolution. This is enforced by the useImportExtensions Biome lint rule.

Files:

  • packages/server/src/api/project/deploy.ts
🧠 Learnings (5)
📚 Learning: 2025-12-21T00:31:41.858Z
Learnt from: jhaynie
Repo: agentuity/sdk PR: 274
File: packages/cli/src/cmd/build/vite/server-bundler.ts:12-41
Timestamp: 2025-12-21T00:31:41.858Z
Learning: In Bun runtime, BuildMessage and ResolveMessage are global types and are not exported from the bun module. Do not import { BuildMessage } from 'bun' or similar; these types are available globally and should be used without import. This applies to all TypeScript files that target the Bun runtime within the repository.

Applied to files:

  • packages/cli/src/types.ts
  • packages/core/src/env.d.ts
  • packages/cli/src/deploy-rollout-metadata.ts
  • packages/cli/src/cmd/cloud/deploy/build.ts
  • packages/server/src/api/project/deploy.ts
  • packages/cli/src/cmd/cloud/deploy.ts
📚 Learning: 2026-02-17T14:23:15.448Z
Learnt from: potofpie
Repo: agentuity/sdk PR: 974
File: packages/cli/src/cmd/git/account/list.ts:39-40
Timestamp: 2026-02-17T14:23:15.448Z
Learning: In the Agentuity CLI framework (packages/cli), when a subcommand declares requires: { auth: true }, the framework will automatically call requireAuth() before invoking the handler. Do not call requireAuth(ctx) manually inside command handlers. This applies to all TypeScript command files under packages/cli/src, including paths like packages/cli/src/cmd/git/account/list.ts.

Applied to files:

  • packages/cli/src/types.ts
  • packages/cli/src/deploy-rollout-metadata.ts
  • packages/cli/src/cmd/cloud/deploy/build.ts
  • packages/cli/src/cmd/cloud/deploy.ts
📚 Learning: 2026-01-13T04:32:02.691Z
Learnt from: jhaynie
Repo: agentuity/sdk PR: 565
File: packages/cli/src/cmd/cloud/region-lookup.ts:14-26
Timestamp: 2026-01-13T04:32:02.691Z
Learning: Enforce sandbox identifier prefixes in new code within the CLI cloud region lookup: new sandboxes must use the sbx_ prefix. The snbx_ prefix may appear in legacy code or examples, but do not use snbx_ for new sandboxes. When reviewing changes in packages/cli/src/cmd/cloud/, ensure any created sandbox identifiers use sbx_ and remove or migrate any snbx_ usages in newly added code.

Applied to files:

  • packages/cli/src/cmd/cloud/deploy/build.ts
  • packages/cli/src/cmd/cloud/deploy.ts
📚 Learning: 2025-12-19T14:19:33.765Z
Learnt from: jhaynie
Repo: agentuity/sdk PR: 259
File: packages/cli/src/cmd/build/vite/registry-generator.ts:306-312
Timestamp: 2025-12-19T14:19:33.765Z
Learning: Route files under src/api should use the .ts extension only (no .tsx) and regex patterns for such paths should anchor to \.ts$ (e.g., /\/.ts$/). Agent files may support both .ts and .tsx, but route files in the Agentuity SDK codebase are restricted to .ts. This guideline applies to all similar route files under src/api across the repository.

Applied to files:

  • packages/server/src/api/project/deploy.ts
📚 Learning: 2025-12-30T00:13:37.849Z
Learnt from: jhaynie
Repo: agentuity/sdk PR: 355
File: packages/server/src/api/sandbox/util.ts:2-6
Timestamp: 2025-12-30T00:13:37.849Z
Learning: In the packages/server tree, treat code as runtime-agnostic between Node.js and Bun. Ensure TypeScript files (e.g., util.ts) import and use APIs in a way that works under both runtimes. It is acceptable to rely on Bun’s Node.js compatibility for built-ins accessed via the node: namespace (e.g., node:events, node:stream, node:buffer). During reviews, prefer patterns and imports that remain compatible with Bun's environment, and flag any hard dependencies on runtime-specific globals or non-portable Node APIs.

Applied to files:

  • packages/server/src/api/project/deploy.ts
🪛 GitHub Actions: Biome / 0_Format & Lint.txt
packages/cli/src/cmd/cloud/deploy.ts

[error] 1-1: Biome format check failed: File content differs from formatting output.

🪛 GitHub Actions: Biome / Format & Lint
packages/cli/src/cmd/cloud/deploy.ts

[error] 1-1: Biome formatting check failed: File content differs from formatting output.

🪛 GitHub Check: Format & Lint
packages/cli/src/deploy-rollout-metadata.ts

[failure] 1-1: format
File content differs from formatting output

🔇 Additional comments (7)
packages/cli/src/types.ts (1)

622-627: LGTM!

packages/core/src/env.d.ts (1)

175-177: LGTM!

packages/server/src/api/project/deploy.ts (1)

215-217: LGTM!

Also applies to: 313-316

packages/cli/src/cmd/cloud/deploy/build.ts (1)

206-206: LGTM!

packages/cli/src/cmd/cloud/deploy.ts (3)

170-170: LGTM!


401-401: LGTM!


835-835: LGTM!

Comment thread packages/cli/src/deploy-rollout-metadata.ts
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant