Skip to content

v1.0.8 — Deploys stop overwriting Xano edits

Choose a tag to compare

@xanojustin xanojustin released this 13 Oct 19:02
· 6 commits to main since this release

A deploy to your workspace no longer overwrites edits a teammate made in Xano. This release also fixes a false preflight failure on zero-argument filters and warns when an agent run leaves its tools off.

npm install @xano/sdk@1.0.8

deploy --to workspace refuses to overwrite edits made in Xano

Before writing, a deploy now reads the sync baseline that workspace diff uses. If an object it would overwrite was changed in Xano since your last deploy or pull, the deploy refuses with exit 2 and SDK_WORKSPACE_CHANGED. The objects are listed in details.objects, and an object changed on both sides is marked as a conflict. Run xanosdk pull workspace and commit, then deploy again, or pass --overwrite to deploy over the edits. --overwrite warns deploy.overwrite-changed and names what it replaced. --dry-run doesn't refuse: it lists the objects under changedInXano.

Only objects the deploy actually writes are checked. A merge leaves an object added in Xano alone, so that object only blocks a deploy under --prune or --replace. A branch with no baseline is never refused.

preflight no longer fails on zero-argument filters

A filter with no arguments, such as to_lower, read back from the engine as arg: []. That made preflight exit 2 on a workspace that was correct. An empty filter arg now compares equal to an absent one. The sync baseline's digest scheme moves to 2, so a baseline recorded by an older SDK is set aside and replaced on the next deploy or pull. It isn't read as every object having changed.

A warning when an agent run leaves its tools off

s.ai.agent.run on an agent that has tools, with allowToolExecution unset, now warns stack.agent-tools-off. Without the flag the agent can see its tools but never calls them, so it answers as if it had no data. Pass allowToolExecution: c.bool(true), or c.bool(false) if you want the tools off. Under --strict this warning fails the export until you set the flag.

Notes

  • --overwrite is refused on a deploy that refreshes an ephemeral or the Xano Engine, which keep no sync baseline.
  • The deploy guard reads the branch once, before the confirmation. An edit made in Xano between that read and the import isn't caught.