diff --git a/docs/AGENT-MANUAL.md b/docs/AGENT-MANUAL.md deleted file mode 100644 index b87be6a..0000000 --- a/docs/AGENT-MANUAL.md +++ /dev/null @@ -1,74 +0,0 @@ -# Agent manual — Nextcloud Collabora Node-RED nodes - -For flow agents building automations on Nextcloud + Collabora CODE. You edit Node-RED flows, not LibreOffice macros in the browser. File I/O goes through WebDAV or OCS. Document conversion goes through CODE REST. - -## Rules - -1. Use **app passwords** in `nc-collab-config`. Never account passwords. -2. Do **not overwrite originals**. Default output: `/Dokument/OfficeOut/`. -3. `postMessage` and iframe APIs are browser-only — not Node-RED. -4. Save files with **WebDAV PUT**, not WOPI PutFile. -5. Do not expose port 9980 beyond loopback on the host. -6. Do not touch odds-scraper or unrelated services in flows. - -## Environment - -| Key | Value | -|-----|-------| -| Nextcloud | `https://cloud.example.com` | -| Existing Node-RED | `nextcloud-node-red` on `:1880` — Collabora nodes integrate here | -| Internal CODE | `https://172.17.0.2:9980` on Docker bridge (container `code`) | -| Auth | Basic + app password, header `OCS-APIRequest: true` | - -See [INFRASTRUCTURE.md](INFRASTRUCTURE.md) for network layout. - -## Nodes - -Full reference: [NODES.md](NODES.md). - -**Config:** one `nc-collab-config` per environment — all six flow nodes need it. - -**Common msg fields:** `ncPath`, `fileId`, `payload`, `format`, `destNcPath`, `fields`, `transform`, `operation`. - -**Prefer `collabora-bridge`** for everyday tasks (`ncFileToPdf`, `fillTemplateSave`). Use low-level `collabora-*` nodes when bridge is not enough. - -## Example flows - -### A. NC file → PDF - -``` -inject { ncPath: "/Documents/contract.docx" } - → collabora-bridge (ncFileToPdf) - → debug destNcPath -``` - -### B. Template fill - -``` -extractToPayload or template:extractFields - → function (map data to fields) - → fillTemplateSave or template:fillFields -``` - -### C. Open in browser - -``` -nc-office (document:direct) → debug editorUrl -``` - -## Troubleshooting - -| Symptom | Fix | -|---------|-----| -| ECONNREFUSED :9980 | Connect Node-RED to Docker bridge; use detected CODE IP | -| Empty convert response | Use HTTPS to internal CODE; check CODE is healthy | -| WebDAV 401 | New app password; same user as file path | -| WebDAV 404 | Leading slash on path; URL-encode segments | - -## Acceptance criteria - -- Test document converts to PDF under `/Dokument/OfficeOut/` -- Original unchanged -- Errors in `msg.error`, node status red — no silent failure - -See also [NODES.md](NODES.md) for operation tables and examples.