feat: add upsert-agent-configuration method - #3
Merged
Conversation
- provides a reusable fetch wrapper that retries on server errors with exponential backoff - helps make API requests more robust against transient outages and rate limiting
…ent yaml configs - introduce upsert-agent-configs action to sync agent configuration YAML files to Dust workspace - support glob patterns for agent-configs input and parse each YAML using js-yaml - update documentation and action metadata to describe new method and its options - output counts of imported and updated agent configs for feedback in action runs - refactor fetch with retry logic into a utility file for reuse
… agent configs - Introduces upsert-agent-configs utility to import and update agent YAML files to a Dust workspace via API - Handles glob resolution, YAML parsing, error tracking, and differentiates between creation and update based on agent handle - Outputs summary, details, and warnings for improved observability during sync operations
- Adds a new CI job to test the upsert-agent-configs method using fixture YAML files - Ensures that agent config upsertion outputs valid JSON in Github Actions [test] - test: add fixture for hello-world agent config - Provides a sample agent YAML file for CI tests of upsert-agent-configs - Allows end-to-end validation of agent configuration workflow steps
aubin-tchoi
approved these changes
Apr 3, 2026
| } | ||
|
|
||
| try { | ||
| const existingSId = await findAgentByHandle( |
Collaborator
There was a problem hiding this comment.
nit
Suggested change
| const existingSId = await findAgentByHandle( | |
| const existingId = await findAgentByHandle( |
Comment on lines
+8
to
+10
| - email: jules@dust.tt | ||
| full_name: Jules Belveze | ||
| user_id: yzjnC7yZUD |
Collaborator
There was a problem hiding this comment.
as per IRL: would be nice to change the endpoint to only have an array of emails here
Contributor
Author
There was a problem hiding this comment.
Yup yup - doing in a follow up PR as it requires changes on the dust side
- fixes a typo by changing "existingSId" to "existingId" to match function return - ensures correct variable is used for agent update operations
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Adds a new
upsert-agent-configsmethod to the Dust GitHub Action for syncing agent configuration YAML files from repositories to Dust workspaces. The method searches for existing agents by handle name and updates them if found, or creates new ones otherwise. This enables GitOps-style workflows for managing Dust agents alongside the existing skills sync functionality. The PR also refactors thefetchWithRetryutility into a shared module for reuse across methods.Tests
upsert-agent-configsusing fixture YAML filesRisk
Low - adds new functionality without modifying existing
upsert-skillsmethod.Deploy Plan
Merge and tag new version once proven to work