]> Piment Noir Git Repositories - e-mobility-charging-stations-simulator.git/commit
feat(ui-cli): short hash prefix matching, human output formatters, embedded agent...
authorJérôme Benoit <jerome.benoit@sap.com>
Fri, 17 Apr 2026 21:35:15 +0000 (23:35 +0200)
committerJérôme Benoit <jerome.benoit@sap.com>
Fri, 17 Apr 2026 21:35:15 +0000 (23:35 +0200)
commitdd8e4161d8629cae2020a5ff451b1539f83b29db
tree0ec8207f498a557b36ae75d9bfedce9c3bc68bcc
parenta269f3b56c0c58e91eb37dfcb7cffbdc18de9d4e
feat(ui-cli): short hash prefix matching, human output formatters, embedded agent skill

Short hash resolution:
- Resolve hash ID prefixes via station list lookup before command execution
- Skip resolution when all IDs are full-length (>= 48 chars, SHA-384)
- Clear error messages for ambiguous or unknown prefixes
- Silent mode suppresses spinner during internal resolution call

Human output formatters:
- Borderless table renderers for station list, template list, simulator state, performance stats
- Shared format utils: truncateId, statusIcon, wsIcon, fuzzyTime, countConnectors
- Truncate hash IDs in all human output tables (station list + success/failure)
- Type guards with Array.isArray + null checks for safe payload dispatch
- Handle supervisionUrls as string | string[], optional configuration
- Dynamic status capitalization, shared captureStream test helper
- 70 new tests (format + renderers), using canonical ChargingStationData type

Embedded agent skill:
- `skill show` prints embedded SKILL.md to stdout
- `skill install [--global] [--force]` writes to .agents/skills/
- SKILL.md embedded at build time via esbuild define
- Follows AgentSkills.io open standard

CLI option rename:
- Global --url renamed to --server-url (explicit intent)
- supervision set-url --url renamed to --supervision-url (no collision)

README restructured with prefix matching docs, output modes table,
station delete options, grouped simulator vs local commands
ui/cli/README.md
ui/cli/scripts/bundle.js
ui/cli/skills/evse-simulator/SKILL.md [new file with mode: 0644]
ui/cli/src/cli.ts
ui/cli/src/client/lifecycle.ts
ui/cli/src/commands/action.ts
ui/cli/src/commands/skill.ts [new file with mode: 0644]
ui/cli/src/output/renderers.ts
ui/cli/src/output/table.ts