Development Artifact Cleanup: ✅ BROTHER_NODE REORGANIZATION: Moved development test node to appropriate location - dev/test-nodes/brother_node/: Moved from root directory for better organization - Contains development configuration, test logs, and test chain data - No impact on production systems - purely development/testing artifact ✅ DEVELOPMENT ARTIFACTS IDENTIFIED: - Chain ID: aitbc-brother-chain (test/development chain) - Ports: 8010 (P2P) and 8011 (RPC) - different from production - Environment: .env file with test configuration - Logs: rpc.log and node.log from development testing session (March 15, 2026) ✅ ROOT DIRECTORY CLEANUP: Removed development clutter from production directory - brother_node/ moved to dev/test-nodes/brother_node/ - Root directory now contains only production-ready components - Development artifacts properly organized in dev/ subdirectory DIRECTORY STRUCTURE IMPROVEMENT: 📁 dev/test-nodes/: Development and testing node configurations 🏗️ Root Directory: Clean production structure with only essential components 🧪 Development Isolation: Test environments separated from production BENEFITS: ✅ Clean Production Directory: No development artifacts in root ✅ Better Organization: Development nodes grouped in dev/ subdirectory ✅ Clear Separation: Production vs development environments clearly distinguished ✅ Maintainability: Easier to identify and manage development components RESULT: Successfully moved brother_node development artifact to dev/test-nodes/ subdirectory, cleaning up the root directory while preserving development testing environment for future use.
60 lines
1.4 KiB
TypeScript
Executable File
60 lines
1.4 KiB
TypeScript
Executable File
interface DisallowedToken {
|
|
type: 'disallowed';
|
|
cp: number;
|
|
}
|
|
interface IgnoredToken {
|
|
type: 'ignored';
|
|
cp: number;
|
|
}
|
|
interface ValidToken {
|
|
type: 'valid';
|
|
cps: number[];
|
|
}
|
|
interface MappedToken {
|
|
type: 'mapped';
|
|
cp: number;
|
|
cps: number[];
|
|
}
|
|
type TextToken = DisallowedToken | IgnoredToken | ValidToken | MappedToken;
|
|
interface EmojiToken {
|
|
type: 'emoji';
|
|
input: number[];
|
|
emoji: number[];
|
|
cps: number[];
|
|
}
|
|
interface NFCToken {
|
|
type: 'nfc';
|
|
input: number[];
|
|
cps: number[];
|
|
tokens: TextToken[];
|
|
}
|
|
interface StopToken {
|
|
type: 'stop';
|
|
}
|
|
type Token = TextToken | EmojiToken | NFCToken | StopToken;
|
|
|
|
interface Label {
|
|
input: number[];
|
|
offset: number;
|
|
error?: Error;
|
|
tokens?: number[][];
|
|
output?: number[];
|
|
emoji?: boolean;
|
|
type?: string;
|
|
}
|
|
|
|
export function ens_normalize(name: string): string;
|
|
export function ens_normalize_fragment(frag: string, decompose?: boolean): string;
|
|
export function ens_beautify(name: string): string;
|
|
export function ens_tokenize(name: string, options?: {nf?: boolean}): Token[];
|
|
export function ens_split(name: string, preserve_emoji?: boolean): Label[];
|
|
|
|
export function ens_emoji(): number[][];
|
|
|
|
export function should_escape(cp: number): boolean;
|
|
export function is_combining_mark(cp: number): boolean;
|
|
export function safe_str_from_cps(cps: number[]): string;
|
|
|
|
export function nfd(cps: number[]): number[];
|
|
export function nfc(cps: number[]): number[];
|