{"_id":"@adaptier/opcua-browser","_rev":"2-484a8bebccf812d060516af37b73e7e6","name":"@adaptier/opcua-browser","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@adaptier/opcua-browser","version":"1.0.0","keywords":["opc-ua","opcua","browser","cli","tui"],"author":{"name":"sf-nika"},"license":"MIT","_id":"@adaptier/opcua-browser@1.0.0","maintainers":[{"name":"sf-nika","email":"niclas.kald@styrfabriken.se"}],"bin":{"opcua-browser":"dist/index.js"},"dist":{"shasum":"99f3238e527920ea0c7ae3d4490881703dd5bb53","tarball":"https://registry.npmjs.org/@adaptier/opcua-browser/-/opcua-browser-1.0.0.tgz","fileCount":15,"integrity":"sha512-PdAyCivp4ckyvbAo/GG9jyvANsNcaAHMHz1LgDH67S4q20ocmAJbFdoSEULm32GFFihLxQSFi1sJY9wWErvCpA==","signatures":[{"sig":"MEUCIGP/XmLEKwVm6mH71OUkLbIL9ambx8aefIWoSEEUJlllAiEAuZoPFkX2rsFX3d+dyOcX7+t39cE5KK1SoHEvk3L2X/U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":61902},"main":"dist/index.js","types":"./dist/index.d.ts","gitHead":"860922b7723ed5bcefa6e8f48b3ccf1bdf834f53","scripts":{"dev":"ts-node src/index.ts","build":"tsc","clean":"rm -rf dist","start":"node dist/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"sf-nika","email":"niclas.kald@styrfabriken.se"},"_npmVersion":"11.9.0","description":"A CLI-based OPC-UA browser with optional interactive TUI","directories":{},"_nodeVersion":"24.14.0","dependencies":{"blessed":"^0.1.81","commander":"^11.0.0","node-opcua":"^2.100.0","@types/blessed":"^0.1.19"},"_hasShrinkwrap":false,"devDependencies":{"ts-node":"^10.9.0","typescript":"^5.0.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/opcua-browser_1.0.0_1774004478140_0.38276709460217817","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@adaptier/opcua-browser","version":"1.0.1","description":"A CLI-based OPC-UA browser with optional interactive TUI","main":"dist/index.js","bin":{"opcua-browser":"dist/index.js"},"scripts":{"build":"tsc","start":"node dist/index.js","dev":"ts-node src/index.ts","clean":"rm -rf dist","prepublishOnly":"npm run build"},"keywords":["opc-ua","opcua","browser","cli","tui"],"author":{"name":"sf-nika"},"license":"MIT","devDependencies":{"@types/node":"^20.0.0","ts-node":"^10.9.0","typescript":"^5.0.0"},"dependencies":{"node-opcua":"^2.100.0","commander":"^11.0.0","blessed":"^0.1.81","@types/blessed":"^0.1.19"},"gitHead":"6484a9b1a0efb36d99d630925aab0ff930359729","types":"./dist/index.d.ts","_id":"@adaptier/opcua-browser@1.0.1","_nodeVersion":"24.14.0","_npmVersion":"11.9.0","dist":{"integrity":"sha512-WvuUNu8iqMsouPxYYKByRoEJ0f7iUQTYMBOrETCj+SHFZQ5EHYzWdGszDys82cZeZB8isJ3rxrINhbLZKWAknA==","shasum":"c0c45c36209b0c48880ade1b18693892f57e5c79","tarball":"https://registry.npmjs.org/@adaptier/opcua-browser/-/opcua-browser-1.0.1.tgz","fileCount":15,"unpackedSize":61989,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICa2dU7gUhBVPaEMaCQcJfda/4JcUw/jgFmKue+NLkmxAiEA23qDAlFZeWTO/KaR24MWQ8qtvR5ExY6BJ/Tm/bhjhio="}]},"_npmUser":{"name":"sf-nika","email":"niclas.kald@styrfabriken.se"},"directories":{},"maintainers":[{"name":"sf-nika","email":"niclas.kald@styrfabriken.se"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/opcua-browser_1.0.1_1774004709952_0.2611870945700847"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-20T11:01:18.038Z","modified":"2026-03-20T11:05:10.261Z","1.0.0":"2026-03-20T11:01:18.265Z","1.0.1":"2026-03-20T11:05:10.146Z"},"author":{"name":"sf-nika"},"license":"MIT","keywords":["opc-ua","opcua","browser","cli","tui"],"description":"A CLI-based OPC-UA browser with optional interactive TUI","maintainers":[{"name":"sf-nika","email":"niclas.kald@styrfabriken.se"}],"readme":"# OPC-UA Browser\n\nA CLI and interactive TUI for browsing OPC-UA servers, built with Node.js and TypeScript.\n\n![OPC-UA Browser TUI](https://raw.githubusercontent.com/adaptier/opcua-browser/main/assets/images/opcua-browser-screenshot.png)\n\n## Features\n\n- **Split-pane TUI**: node tree on the left, live details on the right\n- **Live value monitoring**: all variables are subscribed automatically; values update in real time\n- **COV log**: per-variable timestamped change log\n- **Write support**: edit writable variables with inline error feedback\n- **Search/filter**: filter the current node list by name\n- **CLI mode**: dump root folder contents to stdout\n\n## Installation\n\n### Global install\n\n```bash\nnpm install\nnpm run build\nnpm install -g .\n```\n\nThen use it from anywhere:\n\n```bash\nopcua-browser --tui opc.tcp://localhost:4840\n```\n\n### Local\n\n```bash\nnpm install\nnpm run build\n```\n\n## Usage\n\n### CLI mode\n\n```bash\nnpm start -- opc.tcp://localhost:4840\n```\n\nPrints Node ID, Browse Name, Display Name, Node Class, and for variables: Data Type, Current Value, Access Level.\n\n### TUI mode\n\n```bash\nnpm start -- --tui opc.tcp://localhost:4840\n```\n\n## TUI keybindings\n\n### Navigation\n\n| Key | Action |\n|-----|--------|\n| `↑` / `↓` | Move cursor |\n| `Enter` / `→` | Browse into selected node |\n| `←` / `Backspace` | Go back to parent |\n| `/` | Search / filter current list |\n| `q` / `Ctrl+C` | Quit |\n\n### Variables\n\n| Key | Action |\n|-----|--------|\n| `e` | Write new value (writable variables only) |\n| `r` | Refresh value from server |\n| `s` | Toggle COV log (timestamped change history) |\n\n### Write dialog\n\n| Key | Action |\n|-----|--------|\n| `Enter` | Submit value |\n| `Esc` | Cancel |\n\nValues are entered as JSON — e.g. `25.5`, `true`, `\"hello\"`.\n\n### Search\n\n| Key | Action |\n|-----|--------|\n| `/` | Enter search mode |\n| `Enter` | Confirm filter and return to navigation |\n| `Esc` | Clear filter and return to navigation |\n\n## Development\n\n```bash\nnpm run dev    # run directly with ts-node (no build step)\nnpm run build  # compile TypeScript → dist/\nnpm start      # run compiled version\nnpm run clean  # remove dist/\n```\n","readmeFilename":"README.md"}