Pin/oipa cli entity buildopts - #184
Open
moshloop wants to merge 8 commits into
Open
Conversation
Centralize controller lookup with proper locking via new `controllerForGroup()` helper. Implement `groupStopController` to provide stop action for Pending/Running groups, enabling stop control on task groups without explicit task controllers.
Introduce Dialect enum (GFM, MDX, Slack) to MarkdownOptions. Add MarkdownWithOptions methods to all Textable types to propagate rendering options through nested structures. MDX dialect emits Tailwind className instead of inline CSS. Refactor all markdown rendering to use RenderMarkdown() function, ensuring dialect and NoColor options reach every nested Textable node.
Struct fields can now be tagged with `enum:"a,b,c"` to define a closed set of accepted values. The enum values propagate to OpenAPI parameters and published action schemas, allowing frontends to render the real valid choices instead of hardcoding lists that drift from the server's source of truth.
Extract Document and Node rendering methods from document.go into separate files organized by rendering target: - terminal.go: plain text and ANSI rendering (String, ANSI methods) - table.go: table formatting and helpers - clicky_document.go: Clicky JSON export (ClickyDocument, ClickyNode) Migrate tests to Ginkgo framework with suite entry point. Fix readKitchenSink() to use relative paths instead of runtime.Caller for -trimpath compatibility.
…port Add ErrorResponse system with automatic secret sanitization, UTF-8-aware truncation, request trace IDs, and configurable detail limits for improved error security and debuggability. Add action lookup support for Filterable[T] types, enabling filter-based completions and lookups without field name duplication. Enhance BulkActionSpec with context-aware handlers (ContextDataFunc, ContextFilterFunc), typed parameters via WithFlags(), and MCPToolHints/Group overrides. BREAKING CHANGE: Remove automatic verb-based tool safety inference. Entity verbs (list/get/create/update/delete) no longer stamp ReadOnlyHint/DestructiveHint; consumers must supply explicit MCPToolHints for safety semantics.
- Introduces entity.ErrorResponse as universal error envelope across all handlers
- Implements trace context propagation with OpenTelemetry; all responses include trace IDs
- Configurable HideErrorDetails sanitizes unclassified errors in production
- Enhances EntityActionDTO with HTTP method, path, and parameter schema so frontends can render actions without re-declaring them
- Expands OpenAPI error documentation to include all status codes (400-406, 500)
- Supports multi-segment path wildcards ({name...}) and exact path terminators ({$})
- Implements proper URL path parameter decoding for encoded slashes
- Refactors serve.go into focused modules: execution_http.go, execution_routes.go, dynamic_family.go, response_format.go, errors.go
Move permission-policy resolution from CobraToolProvider to captain, where all tool sources are visible at once for informed decisions. Stop flattening operations into annotations — captain already has the model, so pass the operation whole. Capture request-scoped context values (auth, tenant, session) before scope cancellation, then re-attach them when agent backends invoke handlers over loopback MCP servers rooted at context.Background(). BREAKING CHANGE: CobraToolProviderOptions.Permission callback is removed and replaced with Policy and Strategies fields. ToolSet() now requires a non-nil context to scope request values.
Avoid repeated polling of immutable snapshots for completed external runs, reducing unnecessary source calls while preserving live-run updates.
Contributor
|
Warning Review limit reachedNext included review available in 25 minutes. View limit detailsLimit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Team Run ID: 📒 Files selected for processing (70)
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 |
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
Brief description of the changes in this PR.
Type of Change
Testing
Checklist
Breaking Changes
If this is a breaking change, please describe the impact and migration path for existing users:
Additional Notes
Add any additional notes, screenshots, or context about the changes here.