f5-corkscrew-1.6.0.tgz
Added
-
Universal Parser: Full-depth recursive TMOS parser ported from tmos-converter
- Handles any nesting depth automatically
- iRule-aware bracket matching (proper TCL handling)
- Edge cases: multiline strings, pseudo-arrays, empty objects,
monitor min X of - GTM topology preprocessing
- Preserves original config in
lineproperty
-
String Input Method:
loadParseString(configText, fileName?)- Parse TMOS config directly from string (no file required)
- Ideal for MCP servers, APIs, and programmatic workflows
- Emits same events as file-based parsing
-
Discovery APIs for efficient filtering:
listPartitions(): Returns array of unique partition nameslistApps(partition?): Returns array of virtual server pathslistAppsSummary(partition?): Returns lightweight app summaries with metadata
-
Enhanced
apps()Method with filter options:apps({ partition: 'Tenant1' }): Filter by single partitionapps({ partitions: ['T1', 'T2'] }): Filter by multiple partitionsapps({ apps: ['/Common/vs1', '/T1/vs2'] }): Filter by specific app names- Backward compatible with legacy single string argument
-
New Types in models.ts:
AppsFilterOptions: Interface for apps() filter optionsAppSummary: Interface for lightweight app summaries
-
New Tests: ~41 new tests covering universal parser, string input, discovery APIs, and filter options
-
Documentation:
- PARSER_ANALYSIS.md: Technical analysis of parser implementation
- MERGE_STRATEGY.md: tmos-converter merge status and plans
- Updated CLAUDE.md with new API documentation
- Updated README.md with usage examples
Changed
- Parsing now uses universal recursive parser instead of selective deep-parse
- Config objects now have full depth (all nested properties parsed)
- Improved iRule handling with bracket-aware parsing