Calc extension (pkg/calc/):
- Python UNO ProtocolHandler with 8 toolbar commands
- SiloClient HTTP client adapted from FreeCAD workbench
- Pull BOM/Project: populates sheets with 28-col format, hidden property
columns, row hash tracking, auto project tagging
- Push: row classification, create/update items, conflict detection
- Completion wizard: 3-step category/description/fields with PN conflict
resolution dialog
- OpenRouter AI integration: generate standardized descriptions from seller
text, configurable model/instructions, review dialog
- Settings: JSON persistence, env var fallbacks, OpenRouter fields
- 31 unit tests (no UNO/network required)
Go ODS library (internal/ods/):
- Pure Go ODS read/write (ZIP of XML, no headless LibreOffice)
- Writer, reader, 10 round-trip tests
Server ODS endpoints (internal/api/ods.go):
- GET /api/items/export.ods, template.ods, POST import.ods
- GET /api/items/{pn}/bom/export.ods
- GET /api/projects/{code}/sheet.ods
- POST /api/sheets/diff
Documentation:
- docs/CALC_EXTENSION.md: extension progress report
- docs/COMPONENT_AUDIT.md: web audit tool design with weighted scoring,
assembly computed fields, batch AI assistance plan
16 lines
732 B
Plaintext
16 lines
732 B
Plaintext
Silo Spreadsheet Sync for LibreOffice Calc
|
|
|
|
Bidirectional sync between LibreOffice Calc spreadsheets and the Silo
|
|
parts database. Pull project BOMs, edit in Calc, push changes back.
|
|
|
|
Features:
|
|
- Pull BOM: fetch an expanded bill of materials as a formatted sheet
|
|
- Pull Project: fetch all items tagged with a project code
|
|
- Push: sync local edits (new items, modified fields) back to the database
|
|
- Add Item wizard: guided workflow for adding new BOM entries
|
|
- PN conflict resolution: handle duplicate part numbers gracefully
|
|
- Auto project tagging: items in a working BOM are tagged with the project
|
|
|
|
Toolbar commands appear when a Calc spreadsheet is active.
|
|
Settings and API token are stored in ~/.config/silo/calc-settings.json.
|