feat: implement comprehensive type safety system with BrainyTypes API

Major enhancements for type safety and developer experience:

- Add BrainyTypes static API for type management and AI-powered suggestions
- Implement strict type validation for all 31 NounType categories
- Remove dangerous generic add() method that bypassed type safety
- Add intelligent type inference with confidence scoring
- Provide helpful error messages with typo suggestions using Levenshtein distance
- Update all internal code, examples, and documentation to use typed methods
- Enhance CLI with new type management commands (types, suggest, validate)

Breaking changes:
- Remove deprecated add() method - use addNoun() with explicit type parameter
- All addNoun() calls now require explicit type as second parameter

This release significantly improves type safety across the entire system while
maintaining backward compatibility for properly typed method calls.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
David Snelling 2025-09-01 09:37:36 -07:00
parent d7d2d749b6
commit 6c62bc4e9d
40 changed files with 1704 additions and 497 deletions

View file

@ -122,7 +122,7 @@ export class BrainyMCPClient {
// Store in Brainy for persistent memory
if (this.brainy && message.type === 'message') {
try {
await this.brainy.add({
await this.brainy.addNoun({
text: `${message.from}: ${JSON.stringify(message.data)}`,
metadata: {
messageId: message.id,
@ -132,7 +132,7 @@ export class BrainyMCPClient {
type: message.type,
event: message.event
}
})
}, 'Message')
} catch (error) {
console.error('Error storing message in Brainy:', error)
}
@ -145,10 +145,10 @@ export class BrainyMCPClient {
// Store history in Brainy
if (this.brainy) {
for (const histMsg of message.data.history) {
await this.brainy.add({
await this.brainy.addNoun({
text: `${histMsg.from}: ${JSON.stringify(histMsg.data)}`,
metadata: histMsg
})
}, 'Message')
}
}
}