Skip to content

improvement(cli): accept the file references, list shapes and multi-file values models send - #9589

Merged
waleedlatif1 merged 6 commits into
stagingfrom
improvement/cli-accept-model-shapes
Nov 3, 2026
Merged

waleedlatif1 merged 6 commits into
stagingfrom
improvement/cli-accept-model-shapes

Conversation

@waleedlatif1

@waleedlatif1 waleedlatif1 commented Nov 3, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

  • files batch-delete answers to --ids and --paths (hidden, silent aliases of --file-ids), and reads a JSON array (["wf_a","wf_b"]) or a comma-joined run of ids (wf_a,wf_b) as its entries. A comma splits only a value with no /: no file id contains a comma or /, so a files/… path keeps a comma in its name. Combining spellings is refused; the --yes gate is unchanged
  • v2 bulk delete accepts files/<folder>/<name> VFS paths alongside ids, through the canonical resolver files delete <path> uses. Paths resolve only after authorization, so a refused caller triggers no lookup and learns nothing. One path that names no single live file (missing, ambiguous, chat upload, archived) refuses the whole batch and deletes nothing. At most 100 entries per request may be paths, since each path is its own lookup
  • tables rows batch-delete answers to --row-ids, and the log reads answer to --workflow-ids: these are the request field names behind the shortened --row / --workflow flags (and tables dispatches create already spells it --row-ids)
  • New FlagSpec.hiddenAliases: hidden from help, docs, and the command inventory like renamedFrom, but with no rename warning. The worker grammar is unchanged; the only advertised change is the --file-ids description
  • Workflow edits accept a multi-file file-upload value (e.g. agent attachmentFiles) as the list of file objects the editor itself stores. The validator used to reject every array, which dropped the whole atomic edit; an empty list now clears the field the way removing the last file does. Single-file fields are unchanged
  • When an embedded files get refuses to put binary bytes in a text result, the refusal now names sim files describe <id> for metadata, because that is usually what the caller wanted. knowledge export -o - names sim knowledge get <id> the same way. Wording only
  • A document --pages value that lists separate pages (5,9,17) now gets an error saying to pass one page or contiguous range per read, instead of the generic format error

Type of Change

  • Improvement

Testing

  • New packages/sim-cli/src/runtime/file-references.test.ts. All 7 cases fail on the pre-change code, and removing the / guard turns the comma-in-path case red
  • New download-refusal.test.ts: both cases fail before the change. file-references.test.ts also refuses empty entries in a joined list
  • validation.test.ts file-upload cases: 3 fail before the change
  • render-document-for-vision.test.ts comma-list case: fails before the change
  • archive-workspace-file-items.test.ts: the 100-path cap case fails before the change. The case "refused caller looks up nothing" fails when resolution is moved ahead of authorization
  • file-path-references.integration.ts: added a bulk-delete block on real Postgres covering all-or-nothing refusal, authz parity for non-members, opt-in only, and same-named files elsewhere left untouched. CI runs it, because local Docker storage was unavailable
  • sim-cli src/contract + src/runtime and apps/sim editing + workspace-files application suites pass. Lint, check:cli-docs, check:openapi, check:test-patterns, and check:comment-hygiene pass, and the generators are clean. Full audits and type-check run in CI

Checklist

  • Code follows project style guidelines
  • Self-reviewed my changes
  • Tests added/updated and passing (new tests pass the test-audit authoring gate)
  • No new warnings introduced
  • I confirm that I have read and agree to the terms outlined in the Contributor License Agreement (CLA)

…ile values models send

files batch-delete answers to --ids and --paths, reads a JSON array or a comma-joined run of ids as its entries, and the v2 bulk delete resolves files/ VFS paths through the canonical resolver after authorization, refusing the whole batch when one path names no single live file. tables rows batch-delete answers to --row-ids and the log reads to --workflow-ids, the request fields behind their shortened flags.

Workflow edits store a multi-file upload field as the list of file objects the editor writes, and an empty list clears it. A document page selection that lists separate pages says to read one range per call.
@vercel

vercel Bot commented Nov 3, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated
docs Skipped Skipped Nov 3, 2026 12:46am UTC

Request Review

@greptile-apps

greptile-apps Bot commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor

RetriggerView in GreptileConfidence Score: 5/5

[Medium impact] The PR appears safe to merge; no new blocking issues were found.

Summary

The PR broadens accepted CLI flags and file-reference lists, adds bulk deletion by file path, and accepts multi-file workflow values.

  • File batch deletion accepts workspace paths as well as IDs.
  • CLI file and list flags accept more spellings and input shapes.
  • Workflow edits can save a multi-file upload list.
  • Embedded download refusals point callers to metadata commands.
  • Document reads explain how to request separate pages.

Reviews (3) · Last reviewed commit: "improvement(cli): name the metadata comm..." · Reviewed by Greptile

Comment thread packages/sim-cli/src/runtime/request.ts Resolved

@cubic-dev-ai cubic-dev-ai 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.

All reported issues were addressed

Reply with feedback, questions, or to request a fix.

Turn on auto-fix | Re-trigger cubic

Comment thread packages/sim-cli/src/runtime/request.ts Resolved
@waleedlatif1

Copy link
Copy Markdown
Collaborator Author

@greptile

@waleedlatif1

Copy link
Copy Markdown
Collaborator Author

@cubic-dev-ai review this PR

@cubic-dev-ai

cubic-dev-ai Bot commented Nov 3, 2026

Copy link
Copy Markdown
Contributor

@cubic-dev-ai review this PR

@waleedlatif1 I have started the AI code review. It will take a few minutes to complete.

@waleedlatif1

Copy link
Copy Markdown
Collaborator Author

@greptile

@waleedlatif1

Copy link
Copy Markdown
Collaborator Author

@cubic-dev-ai review this PR

@cubic-dev-ai

cubic-dev-ai Bot commented Nov 3, 2026

Copy link
Copy Markdown
Contributor

@cubic-dev-ai review this PR

@waleedlatif1 I have started the AI code review. It will take a few minutes to complete.

@cubic-dev-ai cubic-dev-ai 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.

No issues found across 26 files

Confidence score: 5/5

  • Automated review surfaced no issues in the provided summaries.
  • No files require special attention.

Turn on auto-fix | Re-trigger cubic

@waleedlatif1
waleedlatif1 merged commit c735ded into staging Nov 3, 2026
53 of 54 checks passed
@waleedlatif1
waleedlatif1 deleted the improvement/cli-accept-model-shapes branch November 3, 2026 00:52

This branch was previously deployed

1 inactive deployment
Preview — 4156e211 Deployed Nov 3, 2026 by vercel[bot]
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