Support Workflow pagination and update Wrangler - #13
Conversation
Add pagination and cursor recovery hints. Pin Wrangler 4.131.0, suppress skills prompts, and reject unmapped fields. Improve namespace errors, timeout tests, and documentation. Signed-off-by: Lu Zhang <lu@wdl.dev>
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
@codex review |
|
Codex Review: Didn't find any major issues. Keep it up! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
There was a problem hiding this comment.
🟡 Changes recommended
A null script_name remains silently accepted despite the new strict Workflow-field contract.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
Adds Workflow pagination, stricter Wrangler configuration validation, quieter non-interactive bundling, clearer namespace errors, dependency updates, and synchronized documentation.
Changes:
- Adds Workflow definition pagination and cursor recovery guidance.
- Rejects unsupported Wrangler fields and suppresses skills prompts.
- Updates dependencies, tests, and bilingual documentation.
File summaries
| File | Description |
|---|---|
commands/workflows.js |
Implements definition pagination and cursor hints. |
lib/workflows-format.js |
Formats paginated Workflow results. |
lib/wrangler/bindings.js |
Validates Workflow fields. |
lib/wrangler/config.js |
Rejects connect listeners. |
lib/wrangler/command.js |
Disables Wrangler skills prompts. |
lib/wrangler-pack.js |
Keeps bundling stdin non-interactive. |
lib/common.js |
Adds the missing-namespace error helper. |
lib/command.js |
Updates namespace-validation documentation. |
commands/ai.js |
Uses the namespace error helper. |
commands/d1.js |
Uses the namespace error helper. |
commands/delete.js |
Uses the namespace error helper. |
commands/deploy.js |
Uses the namespace error helper. |
commands/r2.js |
Uses the namespace error helper. |
commands/secret.js |
Uses the namespace error helper. |
commands/tail.js |
Uses the namespace error helper. |
commands/workers.js |
Uses the namespace error helper. |
package.json |
Updates Wrangler and smol-toml. |
package-lock.json |
Locks updated dependencies. |
CHANGELOG.md |
Records user-visible changes. |
GUIDE.md |
Updates the English guide. |
GUIDE-zh.md |
Updates the Chinese guide. |
docs/deploy.md |
Documents deployment behavior. |
docs/deploy-zh.md |
Synchronizes Chinese deployment docs. |
docs/workflows.md |
Documents Workflow pagination and validation. |
docs/workflows-zh.md |
Synchronizes Chinese Workflow docs. |
templates/AGENTS.md |
Updates generated agent guidance. |
.claude/skills/wdl-deploy/SKILL.md |
Updates deployment skill guidance. |
tests/unit/cli-command.test.js |
Covers missing namespace errors. |
tests/unit/cli-control-fetch.test.js |
Uses mock timers for idle timeout. |
tests/unit/cli-deploy.test.js |
Covers validation and non-interactive bundling. |
tests/unit/cli-workflows.test.js |
Covers pagination and contention guidance. |
tests/unit/cli-wrangler-bindings.test.js |
Covers unknown Workflow fields. |
tests/unit/cli-wrangler-command.test.js |
Covers Wrangler environment suppression. |
tests/unit/cli-wrangler-config.test.js |
Covers rejected connect listeners. |
Review details
- Files reviewed: 33/34 changed files
- Comments generated: 1
- Review effort level: Balanced
💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| if (!Array.isArray(cfg.workflows)) { | ||
| throw new Error(`${configRel}: [[workflows]] must be an array of tables`); | ||
| } | ||
| const allowedKeys = new Set(["name", "binding", "class_name", "script_name"]); |
|
@codex security review |
🛡️ Codex Security ReviewSecurity review completed. No security issues were found in this pull request. Reviewed commit: Only the user who started this review can view the report in Codex. ℹ️ About Codex security reviews in GitHubThis is an experimental Codex feature. Security reviews are triggered when:
Once complete, Codex will leave suggestions, or a comment if no findings are found. |
Summary
--limit/--cursor, page-aware empty output, and recovery hints for invalidated cursors.connectlisteners and Workflow fields before bundling.Compatibility
Default Workflow listing sends no pagination parameters and remains compatible with older Control versions. Pagination stays caller-driven; the CLI does not automatically follow cursors or retry requests.
An empty page with continuation now reports:
Validation
npm audit --audit-level=moderate: 0 vulnerabilities.npm pack --dry-runand diff checks passed.