v10.0.8 - #35
Conversation
Register the new "mappings" (Mappings/) system component so that components under that folder map to the sys-mappings flow. The mapping is added to both the config-driven switch and the path-based fallback in detectComponentType; folder discovery, the reset menu, check, and sync stay config-driven and need no changes. Also send a "User-Agent: vnext-workflow-cli/<version>" header on all outbound API calls (health, publish, re-initialize) so the vNext API can identify requests originating from the CLI. Adds CLAUDE.md with architecture guidance for future contributors. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…-component-referenced-custom-c-script-helpers feat(cli): add sys-mappings component type and CLI User-Agent header
Reviewer's GuideAdds a CLI-identifying User-Agent header to all axios API calls, extends workflow component handling and documentation to support a new 'mappings' type, and introduces a CLAUDE.md guide describing the repository architecture and usage for AI tooling. Sequence diagram for axios API calls with CLI User-AgentsequenceDiagram
participant CLI as CLI
participant api as api_js
participant Axios as axios
participant vNextAPI as vNext_API
CLI->>api: publishComponent(baseUrl, componentData)
api->>Axios: post("/api/v1/definitions/publish", componentData, { headers: { User-Agent: USER_AGENT } })
Axios->>vNextAPI: HTTP POST /api/v1/definitions/publish
vNextAPI-->>Axios: 200 OK / error
Axios-->>api: response / error
api-->>CLI: publish result
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
There was a problem hiding this comment.
Code Review
This pull request introduces support for a new "mappings" component type (sys-mappings), updating the documentation, configuration, and detection logic. It also adds a custom User-Agent header to all outgoing API requests. A review comment highlights a cross-platform compatibility issue on Windows where path separator checks using forward slashes will fail, and suggests normalizing the path separators or using a regular expression to handle both slashes and backslashes.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
| if (pathLower.includes('/functions/')) return 'sys-functions'; | ||
| if (pathLower.includes('/extensions/')) return 'sys-extensions'; | ||
|
|
||
| if (pathLower.includes('/mappings/')) return 'sys-mappings'; |
There was a problem hiding this comment.
On Windows systems, file paths use backslashes (\\) instead of forward slashes (/). Since pathLower is derived directly from jsonPath (which contains platform-specific separators), checks like pathLower.includes('/mappings/') or the dynamic folderPattern check (e.g., /${folderName.toLowerCase()}/) will fail on Windows.
To make this fully cross-platform, you should normalize the path separators to forward slashes at the beginning of the detectComponentType function.
For example, at the start of detectComponentType (line 33):
const pathLower = jsonPath.toLowerCase().replace(/\\/g, '/');If you normalize the path separators at the top of the function, the existing forward-slash checks will work seamlessly on all platforms, and you can keep this line as is. Otherwise, you can use a regex to support both separators here.
| if (pathLower.includes('/mappings/')) return 'sys-mappings'; | |
| if (/[/\\]mappings[/\\]/.test(pathLower)) return 'sys-mappings'; |



Summary by Sourcery
Add CLI user-agent identification to API requests and extend mappings support in workflow detection and documentation.
New Features:
Enhancements:
Documentation: