{"_id":"@emergent-wisdom/understanding-graph-web-server","_rev":"7-fcc60e4944d079e78e95f62febe97c2f","name":"@emergent-wisdom/understanding-graph-web-server","dist-tags":{"latest":"0.1.14"},"versions":{"0.1.8":{"name":"@emergent-wisdom/understanding-graph-web-server","version":"0.1.8","_id":"@emergent-wisdom/understanding-graph-web-server@0.1.8","maintainers":[{"name":"henrikwesterberg","email":"henrik.westerberg@emergentwisdom.org"}],"dist":{"shasum":"1b21a8ffe453d3c35cd3591884e6365fadb52436","tarball":"https://registry.npmjs.org/@emergent-wisdom/understanding-graph-web-server/-/understanding-graph-web-server-0.1.8.tgz","fileCount":21,"integrity":"sha512-mTosVYAbttnflIKj14snjHBzRvnF0e3l1QeK6w2SQnxO8Un9Z4JWTYtauDS+1f+b1yx0U1TnwTg+oELOtrmLqA==","signatures":[{"sig":"MEUCICvUgWtBrPPj+9onIoEqOUlhgcG9lXqzzOY8/IZhNOTZAiEAsAo+Wbm2++beWdh/AAAV/JfNRns29EFfPSx+qFf8gYE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":141740},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"ad7924b06eeedcbac68010a266a54afe0d7aa3a9","scripts":{"dev":"nodemon --watch src --ext ts --exec 'tsx src/index.ts'","build":"tsc","clean":"rm -rf dist","start":"node dist/index.js","typecheck":"tsc --noEmit"},"_npmUser":{"name":"henrikwesterberg","email":"henrik.westerberg@emergentwisdom.org"},"_npmVersion":"11.11.1","description":"Web server for understanding graph visualization","directories":{},"_nodeVersion":"25.8.2","dependencies":{"cors":"^2.8.5","dotenv":"^17.2.3","multer":"^1.4.5-lts.1","express":"^4.18.2","@emergent-wisdom/understanding-graph-core":"^0.1.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","nodemon":"^3.1.11","typescript":"^5.3.0","@types/cors":"^2.8.17","@types/node":"^20.0.0","@types/multer":"^1.4.11","@types/express":"^4.17.21"},"_npmOperationalInternal":{"tmp":"tmp/understanding-graph-web-server_0.1.8_1775754719334_0.864062651568859","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@emergent-wisdom/understanding-graph-web-server","version":"0.1.9","_id":"@emergent-wisdom/understanding-graph-web-server@0.1.9","maintainers":[{"name":"henrikwesterberg","email":"henrik.westerberg@emergentwisdom.org"}],"dist":{"shasum":"86ee96c232e5f15943f001be8d48bec218debe1b","tarball":"https://registry.npmjs.org/@emergent-wisdom/understanding-graph-web-server/-/understanding-graph-web-server-0.1.9.tgz","fileCount":21,"integrity":"sha512-v5ysgJZzP1FsWiAIj2NSF5mfIZqjbv7cYy6+NMApyZNh1r4p6td8K6wqTE5c2n5fMnMnQEa7bNooxn4c45HgZA==","signatures":[{"sig":"MEUCICc8a920BDoiUfGmWX/CVPGp1ISY9DA8dpTg1O53hn18AiEApn85JQnitLz7ANTDGnJKZe+E7R2msRvHvekZNAQlyzE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":141741},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"3f789d8dac4174b20c59904faf946d9b3718aa27","scripts":{"dev":"nodemon --watch src --ext ts --exec 'tsx src/index.ts'","build":"tsc","clean":"rm -rf dist","start":"node dist/index.js","typecheck":"tsc --noEmit"},"_npmUser":{"name":"henrikwesterberg","email":"henrik.westerberg@emergentwisdom.org"},"_npmVersion":"11.11.1","description":"Web server for understanding graph visualization","directories":{},"_nodeVersion":"25.8.2","dependencies":{"cors":"^2.8.5","dotenv":"^17.2.3","multer":"^1.4.5-lts.1","express":"^4.18.2","@emergent-wisdom/understanding-graph-core":"^0.1.8"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","nodemon":"^3.1.11","typescript":"^5.3.0","@types/cors":"^2.8.17","@types/node":"^20.0.0","@types/multer":"^1.4.11","@types/express":"^4.17.21"},"_npmOperationalInternal":{"tmp":"tmp/understanding-graph-web-server_0.1.9_1775792282567_0.6345080970835555","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"@emergent-wisdom/understanding-graph-web-server","version":"0.1.10","_id":"@emergent-wisdom/understanding-graph-web-server@0.1.10","maintainers":[{"name":"henrikwesterberg","email":"henrik.westerberg@emergentwisdom.org"}],"dist":{"shasum":"d68cd6e30e6a312c7dd36cb83ebdba3502457d6b","tarball":"https://registry.npmjs.org/@emergent-wisdom/understanding-graph-web-server/-/understanding-graph-web-server-0.1.10.tgz","fileCount":21,"integrity":"sha512-OxutWS0qGbG4ablC6NAkUEevcl8N2HCbrhiKCPKgaVjELcFcJV8C0MuCybex587yfh0Xoz2MLVmVH3ESJ+8nSg==","signatures":[{"sig":"MEYCIQC41FmB8H7Qfbf/ccKvI7DyzKf5YVtu3u7334THInBrtwIhAJGm5z1KdBFhB1OWARk1P934mcvC0sCUVQRae4AY0TTr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":142379},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"2c30017cf428952f91c03cae2f49b82bf0bda034","scripts":{"dev":"nodemon --watch src --ext ts --exec 'tsx src/index.ts'","build":"tsc","clean":"rm -rf dist","start":"node dist/index.js","typecheck":"tsc --noEmit"},"_npmUser":{"name":"henrikwesterberg","email":"henrik.westerberg@emergentwisdom.org"},"_npmVersion":"11.11.1","description":"Web server for understanding graph visualization","directories":{},"_nodeVersion":"25.8.2","dependencies":{"cors":"^2.8.5","dotenv":"^17.2.3","multer":"^1.4.5-lts.1","express":"^4.18.2","@emergent-wisdom/understanding-graph-core":"^0.1.11"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","nodemon":"^3.1.11","typescript":"^5.3.0","@types/cors":"^2.8.17","@types/node":"^20.0.0","@types/multer":"^1.4.11","@types/express":"^4.17.21"},"_npmOperationalInternal":{"tmp":"tmp/understanding-graph-web-server_0.1.10_1776533099058_0.6396264503531237","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"@emergent-wisdom/understanding-graph-web-server","version":"0.1.11","license":"MIT","_id":"@emergent-wisdom/understanding-graph-web-server@0.1.11","maintainers":[{"name":"henrikwesterberg","email":"henrik.westerberg@emergentwisdom.org"}],"homepage":"https://github.com/emergent-wisdom/understanding-graph#readme","bugs":{"url":"https://github.com/emergent-wisdom/understanding-graph/issues"},"dist":{"shasum":"39afa49617cfccb1239ca3daaffc80bd191575a0","tarball":"https://registry.npmjs.org/@emergent-wisdom/understanding-graph-web-server/-/understanding-graph-web-server-0.1.11.tgz","fileCount":52,"integrity":"sha512-0sxmV16XghSm6ptU0o98seuW9EA9yFpGstG9Tr2fsllP9a40Z2138tUjiHLRp/uKMQKUKE2BaD+imWSje9Qd6w==","signatures":[{"sig":"MEUCIQCws8I6pLhCiJa+J+NJ4DRf9UYrCRv/9b1bA7zjG/1avwIgaydHb+a9hJ6RuC/c61oPIfkJrd7N7KfGvsEYcgZekCw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@emergent-wisdom%2funderstanding-graph-web-server@0.1.11","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":218617},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"gitHead":"08740355fd9c87f87ca9534e086508c4ce64e3ea","scripts":{"dev":"nodemon --watch src --ext ts --exec 'tsx src/index.ts'","test":"vitest run","build":"tsc && node scripts/copy-server-json.mjs","clean":"rm -rf dist","start":"node dist/index.js","prepack":"npm run clean && npm run build","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1bd74fc2-855f-489c-89a5-dc8091ff1fb8"}},"repository":{"url":"git+https://github.com/emergent-wisdom/understanding-graph.git","type":"git","directory":"packages/web-server"},"_npmVersion":"11.12.1","description":"Web server for understanding graph visualization","directories":{},"_nodeVersion":"24.19.0","dependencies":{"dotenv":"^17.2.3","express":"^4.22.2","@emergent-wisdom/understanding-graph-core":"0.1.12","@emergent-wisdom/understanding-graph-mcp-server":"0.1.12"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","vitest":"^4.1.11","nodemon":"^3.1.11","typescript":"^5.3.0","@types/node":"^20.0.0","@types/express":"^4.17.21"},"_npmOperationalInternal":{"tmp":"tmp/understanding-graph-web-server_0.1.11_1787512759430_0.33502321933482526","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"@emergent-wisdom/understanding-graph-web-server","version":"0.1.12","license":"MIT","_id":"@emergent-wisdom/understanding-graph-web-server@0.1.12","maintainers":[{"name":"henrikwesterberg","email":"henrik.westerberg@emergentwisdom.org"}],"homepage":"https://github.com/emergent-wisdom/understanding-graph#readme","bugs":{"url":"https://github.com/emergent-wisdom/understanding-graph/issues"},"dist":{"shasum":"455bcba4244c56926b658032080fd1bec7f34390","tarball":"https://registry.npmjs.org/@emergent-wisdom/understanding-graph-web-server/-/understanding-graph-web-server-0.1.12.tgz","fileCount":52,"integrity":"sha512-89Hywaly06ZhXCLfCAryk+KG2q4UUIJbsp7R8g0SX91VMXNDzjiAkgnkxHO14TOMkRkoLt6r9DXRWcchi7pepw==","signatures":[{"sig":"MEUCIQDQSAyeHCZn9XzqpVAmj54ZhZslaQtEmo2UmCITHcWstwIgZsrUrx7gDCuPmBSa/7B9kHFXvIEd9Ngu1QZMVF81JHo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@emergent-wisdom%2funderstanding-graph-web-server@0.1.12","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":220616},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"gitHead":"0d15c82fa3214af4d2511608f4edde86caf0ed1a","scripts":{"dev":"nodemon --watch src --ext ts --exec 'tsx src/index.ts'","test":"vitest run","build":"tsc && node scripts/copy-server-json.mjs","clean":"rm -rf dist","start":"node dist/index.js","prepack":"npm run clean && npm run build","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1bd74fc2-855f-489c-89a5-dc8091ff1fb8"}},"repository":{"url":"git+https://github.com/emergent-wisdom/understanding-graph.git","type":"git","directory":"packages/web-server"},"_npmVersion":"11.12.1","description":"Web server for understanding graph visualization","directories":{},"_nodeVersion":"24.19.0","dependencies":{"dotenv":"^17.2.3","express":"^4.22.2","@emergent-wisdom/understanding-graph-core":"0.1.13","@emergent-wisdom/understanding-graph-mcp-server":"0.1.13"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","vitest":"^4.1.11","nodemon":"^3.1.11","typescript":"^5.3.0","@types/node":"^20.0.0","@types/express":"^4.17.21"},"_npmOperationalInternal":{"tmp":"tmp/understanding-graph-web-server_0.1.12_1787531570759_0.22983802465343106","host":"s3://npm-registry-packages-npm-production"}},"0.1.13":{"name":"@emergent-wisdom/understanding-graph-web-server","version":"0.1.13","license":"MIT","_id":"@emergent-wisdom/understanding-graph-web-server@0.1.13","maintainers":[{"name":"henrikwesterberg","email":"henrik.westerberg@emergentwisdom.org"}],"homepage":"https://github.com/emergent-wisdom/understanding-graph#readme","bugs":{"url":"https://github.com/emergent-wisdom/understanding-graph/issues"},"dist":{"shasum":"5f733c96a8f80dcabfb455eed9e021ea8e88c546","tarball":"https://registry.npmjs.org/@emergent-wisdom/understanding-graph-web-server/-/understanding-graph-web-server-0.1.13.tgz","fileCount":52,"integrity":"sha512-Q9Nmxybt3TA2IcrE4n8dl8nJa2jXsdYPJg3sXtq1SyygDj+AWTJgSPd9KVgaVn3K2U2J7m4z5CWBSiE0Ffnauw==","signatures":[{"sig":"MEUCIGb3krz+mTzjtGRutEBn1MIwvIssq6apdOEqbZpbVVgxAiEAgRK/NuCj+gryP326fVRU6YrqYaMlW3sy4GGvXC7Esro=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@emergent-wisdom%2funderstanding-graph-web-server@0.1.13","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":221328},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22.0.0"},"gitHead":"d068e3398a187c5ed7aeb6e139c296bfcd670f15","scripts":{"dev":"nodemon --watch src --ext ts --exec 'tsx src/index.ts'","test":"vitest run","build":"tsc && node scripts/copy-server-json.mjs","clean":"rm -rf dist","start":"node dist/index.js","prepack":"npm run clean && npm run build","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1bd74fc2-855f-489c-89a5-dc8091ff1fb8"}},"repository":{"url":"git+https://github.com/emergent-wisdom/understanding-graph.git","type":"git","directory":"packages/web-server"},"_npmVersion":"11.12.1","description":"Web server for understanding graph visualization","directories":{},"_nodeVersion":"24.19.0","dependencies":{"dotenv":"^17.2.3","express":"^4.22.2","@emergent-wisdom/understanding-graph-core":"0.1.14","@emergent-wisdom/understanding-graph-mcp-server":"0.1.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.6","vitest":"^4.1.11","nodemon":"^3.1.11","typescript":"^5.3.0","@types/node":"^20.0.0","@types/express":"^4.17.21"},"_npmOperationalInternal":{"tmp":"tmp/understanding-graph-web-server_0.1.13_1787599539595_0.02516101475417698","host":"s3://npm-registry-packages-npm-production"}},"0.1.14":{"name":"@emergent-wisdom/understanding-graph-web-server","version":"0.1.14","description":"Web server for understanding graph visualization","license":"MIT","repository":{"type":"git","url":"git+https://github.com/emergent-wisdom/understanding-graph.git","directory":"packages/web-server"},"type":"module","engines":{"node":">=22.0.0"},"publishConfig":{"access":"public"},"main":"dist/index.js","scripts":{"build":"tsc && node scripts/copy-server-json.mjs","start":"node dist/index.js","dev":"nodemon --watch src --ext ts --exec 'tsx src/index.ts'","clean":"rm -rf dist","prepack":"npm run clean && npm run build","typecheck":"tsc --noEmit","test":"vitest run"},"dependencies":{"@emergent-wisdom/understanding-graph-core":"0.1.15","@emergent-wisdom/understanding-graph-mcp-server":"0.1.15","dotenv":"^17.2.3","express":"^4.22.2"},"devDependencies":{"@types/express":"^4.17.21","@types/node":"^20.0.0","nodemon":"^3.1.11","tsx":"^4.20.6","typescript":"^5.3.0","vitest":"^4.1.11"},"gitHead":"6a44df43b0396e79bb7485d81d70581c4df5c43b","types":"./dist/index.d.ts","_id":"@emergent-wisdom/understanding-graph-web-server@0.1.14","bugs":{"url":"https://github.com/emergent-wisdom/understanding-graph/issues"},"homepage":"https://github.com/emergent-wisdom/understanding-graph#readme","_nodeVersion":"24.19.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-aJZ3K1xbVMqfcguCYUHck+LdaS0hPadVAbiF5Asncf5qi6vALbfhNYJXFySwF0vYQO42k9SmV4AIY6qXm3Thtg==","shasum":"be7a31d8ed4a0b5cd666d2935aebafb7e7bc04cf","tarball":"https://registry.npmjs.org/@emergent-wisdom/understanding-graph-web-server/-/understanding-graph-web-server-0.1.14.tgz","fileCount":52,"unpackedSize":221436,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@emergent-wisdom%2funderstanding-graph-web-server@0.1.14","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCSzUmB2PTgHiuK4k8oAKe7AUiB92pShkuHDgvUcbo1cQIgSgFSHd+UPz6VBRPk0bvA8hofaH21/slStFqAIHxK6N8="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1bd74fc2-855f-489c-89a5-dc8091ff1fb8"}},"directories":{},"maintainers":[{"name":"henrikwesterberg","email":"henrik.westerberg@emergentwisdom.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/understanding-graph-web-server_0.1.14_1787628385745_0.6990802433696319"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-09T17:11:59.226Z","modified":"2026-08-25T03:26:26.255Z","0.1.8":"2026-04-09T17:11:59.542Z","0.1.9":"2026-04-10T03:38:02.719Z","0.1.10":"2026-04-18T17:24:59.216Z","0.1.11":"2026-08-23T19:19:19.561Z","0.1.12":"2026-08-24T00:32:50.886Z","0.1.13":"2026-08-24T19:25:39.757Z","0.1.14":"2026-08-25T03:26:25.888Z"},"bugs":{"url":"https://github.com/emergent-wisdom/understanding-graph/issues"},"license":"MIT","homepage":"https://github.com/emergent-wisdom/understanding-graph#readme","repository":{"type":"git","url":"git+https://github.com/emergent-wisdom/understanding-graph.git","directory":"packages/web-server"},"description":"Web server for understanding graph visualization","maintainers":[{"name":"henrikwesterberg","email":"henrik.westerberg@emergentwisdom.org"}],"readme":"# @emergent-wisdom/understanding-graph-web-server\n\nThe local REST and static-file server used by\n[Understanding Graph](https://github.com/emergent-wisdom/understanding-graph).\nIt serves the bundled visualization and read-only graph APIs. Graph content\nmutations are intentionally routed through the MCP server so they receive the\nsame atomic commits, validation, and workflow boundaries as other agents.\n\nMost users should install the root package:\n\n```bash\nnpm install -g understanding-graph\nunderstanding-graph start\n```\n\nThe server is also available as a workspace package for programmatic or local\ndevelopment use. Set `PROJECT_DIR` to choose the project-store directory and\n`PORT` to change the local port.\n\nFor independent workers, run one process per absolute storage root and port:\n\n```bash\nPORT=3101 PROJECT_DIR=/srv/undergraph/worker-1 understanding-graph start\nPORT=3102 PROJECT_DIR=/srv/undergraph/worker-2 understanding-graph start\n```\n\nThe processes may share the same installation and parent storage volume, but\nmust not share the same `PROJECT_DIR`. The default bind address is loopback. A\nnon-loopback `HOST` additionally requires `UG_WORKER_TOKEN`; trusted callers\nmust send `Authorization: Bearer <UG_WORKER_TOKEN>` on every `/api` or `/admin`\nrequest. Use TLS or a private authenticated network between machines.\n\n## License\n\nMIT — see [LICENSE](LICENSE).\n","readmeFilename":"README.md"}