Add adaptertypes package for ontology integration#241
Draft
maximelb wants to merge 3 commits into
Draft
Conversation
This commit adds a lightweight types-only package containing configuration structs for all 40 USP adapters, optimized for runtime schema generation and LLM consumption via the ontology API endpoint. Key features: - Pure type definitions with no implementation dependencies - Enhanced struct tags for documentation and LLM guidance: * description: Human-readable field descriptions * category: Semantic grouping (auth, source, client, performance, etc.) * example: Example values for common fields * llmguidance: Contextual hints for LLM-assisted configuration * sensitive: Marks fields containing secrets * default: Default values where applicable - Backward-compatible JSON/YAML tags matching original adapters - Type aliases for common types (ClientOptions, Identity, etc.) All 40 adapters verified for correctness: - Field names, types, and tags match originals exactly - omitempty directives preserved where present - Type references use aliases to avoid heavy SDK dependencies This enables the lc_api-go ontology endpoint to expose comprehensive adapter configuration schemas for both developer and LLM consumers. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
- Add missing Deduper field to office365.go (runtime-only field with json:"-") - Add missing Reader field to simulator.go (runtime-only field with json:"-") - Update shared.go to re-export Deduper and ReadCloser types - Update go.mod dependencies for utils package import These runtime-only fields don't serialize but are required for struct compatibility with the original adapter implementations. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This change eliminates code duplication by moving all adapter configuration
structs and their Validate() methods to the adaptertypes package. All 42
adapters now reference types from adaptertypes instead of maintaining local
copies.
Changes:
- Moved Validate() methods from adapter packages to adaptertypes
- Updated all adapters to use adaptertypes.{AdapterName}Config
- Removed duplicate config struct definitions from all adapters
- Deleted obsolete conf.go files (file, wel, mac_unified_logging)
- Updated containers/conf/all.go to use adaptertypes exclusively
- Added go.mod replace directive for adaptertypes submodule
This refactoring reduces code by 104 lines while improving maintainability
by establishing a single source of truth for all adapter configurations.
All tests pass and builds complete successfully.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
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.
Summary
This PR adds a lightweight
adaptertypespackage containing configuration structs for all 40 USP adapters, enabling runtime schema generation and LLM-optimized adapter configuration via the ontology API endpoint.Changes
New Package:
adaptertypes/Enhanced Struct Tags
All adapter config structs include metadata tags optimized for both developers and LLMs:
description: Human-readable field descriptionscategory: Semantic grouping (auth, source, client, performance, behavior, parsing)example: Example values for common fieldsllmguidance: Contextual hints for LLM-assisted configurationsensitive: Marks fields containing secrets/credentialsdefault: Default values where applicableBackward Compatibility
omitemptydirectives maintained where presentTest Plan
lc_api-go🤖 Generated with Claude Code