Conversation
chore: promote staging to production
This release introduces comprehensive AppSheet field type support with validation - a major breaking change requiring migration. ## Breaking Changes⚠️ - Generic types (string, number, boolean, etc.) replaced with 27 AppSheet-specific field types - Shorthand field format removed - only full object format supported - Property 'enum' renamed to 'allowedValues' ## Features - 27 AppSheet field types across 7 categories - Modular validation architecture (BaseTypeValidator, FormatValidator, AppSheetTypeValidator) - Enhanced SchemaInspector with smart enum detection and allowedValues extraction - Comprehensive validation for Email, URL, Phone, Enum, EnumList, Percent, Date, DateTime, and all other types ## Documentation - Added MIGRATION.md with complete migration guide - Updated CLAUDE.md with new type system - Added INTEGRATION_CONCEPT.md for SOSO-247 ## Tests - 126 tests (all passing) - 81.88% coverage - 100% coverage for DynamicTable.ts ## Migration See MIGRATION.md for detailed migration instructions from v1.x to v2.0.0. Estimated migration time: 15-30 minutes per schema file. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Complete v2.0.0 release with SOSO-246 documentation updates. This final merge includes: - SOSO-247: AppSheet Field Type Support (27 types) - SOSO-246: Updated DI integration documentation for v2.0.0 - Complete migration guide (MIGRATION.md) - 126 tests, 81.88% coverage Breaking Changes: - Generic types replaced with AppSheet-specific types - Shorthand field format removed - Property 'enum' renamed to 'allowedValues' Documentation: - All SOSO-246 examples updated to v2.0.0 format - Validators documented as stateless (no DI) - Migration guide completed See MIGRATION.md for upgrade instructions. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
…support Add INTEGRATION_CONCEPT.md documenting the solution for per-request user context in DynamicTable API: - Extend ConnectionManager.get() with optional runAsUserEmail parameter - Extend SchemaManager.table() with optional runAsUserEmail parameter - No caching needed - on-the-fly client/table creation (lightweight) - Simplified initialize() - only registers connections, no table caching - 100% backward compatible - optional parameters - Clean layered architecture: ConnectionManager → SchemaManager → DynamicTable Related: #3 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
… MCP servers Add optional runAsUserEmail parameter to ConnectionManager.get() and SchemaManager.table() to enable per-request user context in multi-tenant environments. Changes: - ConnectionManager.get(name, runAsUserEmail?): Creates user-specific clients on-the-fly - SchemaManager.table(conn, table, runAsUserEmail?): Creates user-specific table clients - SchemaManager: Removed table caching, creates DynamicTable instances on-the-fly - ConnectionDefinition: Added optional runAsUserEmail field - Tests: Added 31 comprehensive tests (ConnectionManager + SchemaManager) - Documentation: Updated CLAUDE.md with usage patterns and examples Breaking Changes: None (100% backward compatible) Closes #3 Closes #4 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
- Updated version to 2.1.0 in package.json - Added comprehensive CHANGELOG.md with v2.1.0 release notes - Documents fixes for #3 and #4 🤖 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.
Release v2.1.0: Per-Request User Context Support
This PR merges the completed v2.1.0 release from
developtostagingfor pre-production testing.Summary
Added per-request user context support for multi-tenant MCP servers, enabling each request to execute with a specific user's permissions and context.
Features
Per-Request User Context (#3)
runAsUserEmailparameter toConnectionManager.get()runAsUserEmailparameter toSchemaManager.table()runAsUserEmailfrom schemaEnhanced Schema Configuration
runAsUserEmailfield toConnectionDefinitionArchitecture Improvements
initialize()methodTesting
Fixes
Documentation
Breaking Changes
None - this is a fully backward compatible MINOR release.
Migration Required
No migration required. Existing code continues to work without changes.
Closes
🤖 Generated with Claude Code