{"_id":"parsegraph-stream","_rev":"46-5fb0f9ad11ae0fe1c0c2d965404c1f85","name":"parsegraph-stream","dist-tags":{"dev":"3.0.25-dev","latest":"3.0.25"},"versions":{"2.0.2-dev":{"name":"parsegraph-stream","version":"2.0.2-dev","description":"stream","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/stream.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/stream/issues"},"homepage":"https://github.com/parsegraph/stream#readme","devDependencies":{"@babel/cli":"^7.17.10","@babel/core":"^7.17.10","@babel/plugin-proposal-class-properties":"^7.16.7","@babel/plugin-proposal-private-property-in-object":"^7.16.7","@babel/preset-env":"^7.17.10","@babel/preset-typescript":"^7.16.7","@babel/register":"^7.17.7","@types/chai":"^4.3.1","@types/jest":"^27.5.1","@types/node":"^17.0.33","@typescript-eslint/eslint-plugin":"^5.23.0","@typescript-eslint/parser":"^5.23.0","babel-jest":"^28.1.0","babel-loader":"^8.2.5","chai":"^4.3.6","eslint":"^8.15.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.5.0","jest":"^28.1.0","jsdom":"^19.0.0","jsdom-global":"^3.0.2","prettier":"^2.6.2","raw-loader":"^4.0.2","source-map-loader":"^3.0.1","source-map-support":"^0.5.21","ts-loader":"^9.3.0","ts-node":"^10.7.0","typedoc":"^0.22.15","typescript":"^4.6.4","webpack":"^5.72.1","webpack-cli":"^4.9.2"},"peerDependencies":{"parsegraph-checkglerror":"^1.5.3","parsegraph-log":"^1.7.3"},"dependencies":{"parsegraph-block":"^4.4.15","parsegraph-color":"^1.4.7","parsegraph-direction":"^2.1.0","parsegraph-method":"^1.4.22","parsegraph-timing":"^1.4.16","parsegraph-viewport":"^2.4.0"},"_id":"parsegraph-stream@2.0.2-dev","_integrity":"sha512-sYQHW0UrZfXcBuscBPpnuCLco2Hb4k69T0vvDW7SltOJO5UOJmntuq40ZzEOlVtUrmR5MqOQqmjqPxmA0Wcgow==","_resolved":"/home/runner/work/stream/stream/parsegraph-stream-dev.tgz","_from":"file:parsegraph-stream-dev.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-sYQHW0UrZfXcBuscBPpnuCLco2Hb4k69T0vvDW7SltOJO5UOJmntuq40ZzEOlVtUrmR5MqOQqmjqPxmA0Wcgow==","shasum":"fca7133589120f239d36fef4a2f8b74418f52af2","tarball":"https://registry.npmjs.org/parsegraph-stream/-/parsegraph-stream-2.0.2-dev.tgz","fileCount":14,"unpackedSize":5227881,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDWymwLs2IWXfLpYq9Hsb0O0QKhdUyr6+KDH7tnF5UBcwIhAN1kYfUVPOstzqHWfrEBSD5nhYiZIzBqLMS2dqtAM0jK"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJikG+3ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmot8Q//asDy4Zj6OYm7IxRZvRqHdYUxJFXXRPKHTSOerXcJMmO6Fk49\r\nVniM/RAFUbfxSSh/Tcwo4YJeAkcyHviBra+gT6+6QLw/AX7z4dOWV7jOQNjp\r\no7bpzQE3o0K6u4YtIIk/z5Dl9EL+vm/ESCjCh7kC2bTY1+faT3coX4XjG2le\r\nbPAjqZrCvj5WmSWCWea9CWPz9+LlY8eDf7Us7czwFPRq9AKfxLPReskeAVop\r\nmDeKndsmKSnAedWZxZSxNWIDl1s05ofn26/7f5smOI+HX37Np0zGbqE2Uvqs\r\nt32B0geRzhEZlJCZjf74Z7wOCL9nUeoSnM+H5o+be1IsJcOaVRHolLcX6Bbr\r\niuSxfxJhDTcni6DzzDTyZXaIFEgNNPJP42dZBoxQ7yZNZ+3umrd5MwREQOjQ\r\npuijw2Cjbd9mbmrA9jX7xpT1H5eVWS5RcCBVQ6hLOPNPZnK7xhqQgRQ6RxD9\r\ngc+GR6mbOQBIpsXG6dkg1afCpHsSJ3cGG/j2xX7PK0dujO4yN7XxWPpWPrj8\r\n519/9PQ3KDxw2kNsBkX7Yd7Xhl7eBqwgR+xOqbNmY7UCRNOfywL4HHU6MScd\r\nmJnT96eDdmnU3oc3JLduhv8y4OsMaa0LCxeUPqrQX9Dl/T64zagqacdDZp53\r\n3D8vU22K1dFVq03zPFbvI+Y3Kuv0I81s3Hc=\r\n=W+gO\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-stream_2.0.2-dev_1653632951172_0.43764301289526464"},"_hasShrinkwrap":false},"2.0.2":{"name":"parsegraph-stream","version":"2.0.2","description":"stream","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/stream.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/stream/issues"},"homepage":"https://github.com/parsegraph/stream#readme","devDependencies":{"@babel/cli":"^7.17.10","@babel/core":"^7.17.10","@babel/plugin-proposal-class-properties":"^7.16.7","@babel/plugin-proposal-private-property-in-object":"^7.16.7","@babel/preset-env":"^7.17.10","@babel/preset-typescript":"^7.16.7","@babel/register":"^7.17.7","@types/chai":"^4.3.1","@types/jest":"^27.5.1","@types/node":"^17.0.33","@typescript-eslint/eslint-plugin":"^5.23.0","@typescript-eslint/parser":"^5.23.0","babel-jest":"^28.1.0","babel-loader":"^8.2.5","chai":"^4.3.6","eslint":"^8.15.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.5.0","jest":"^28.1.0","jsdom":"^19.0.0","jsdom-global":"^3.0.2","prettier":"^2.6.2","raw-loader":"^4.0.2","source-map-loader":"^3.0.1","source-map-support":"^0.5.21","ts-loader":"^9.3.0","ts-node":"^10.7.0","typedoc":"^0.22.15","typescript":"^4.6.4","webpack":"^5.72.1","webpack-cli":"^4.9.2"},"peerDependencies":{"parsegraph-checkglerror":"^1.5.3","parsegraph-log":"^1.7.3"},"dependencies":{"parsegraph-block":"^4.4.15","parsegraph-color":"^1.4.7","parsegraph-direction":"^2.1.0","parsegraph-method":"^1.4.22","parsegraph-timing":"^1.4.16","parsegraph-viewport":"^2.4.0"},"_id":"parsegraph-stream@2.0.2","_integrity":"sha512-YbGqNuxU305YBFK5bHt9ZHRvwIGWC0P+o3M+37N2hukGR9AWMAkqTMRfLmjySK49tn41kYvcl2EAU0vkNOAcxw==","_resolved":"/home/runner/work/stream/stream/parsegraph-stream-prod.tgz","_from":"file:parsegraph-stream-prod.tgz","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-YbGqNuxU305YBFK5bHt9ZHRvwIGWC0P+o3M+37N2hukGR9AWMAkqTMRfLmjySK49tn41kYvcl2EAU0vkNOAcxw==","shasum":"555b920d4d31cab4e22c43429edb9e7df742e3c4","tarball":"https://registry.npmjs.org/parsegraph-stream/-/parsegraph-stream-2.0.2.tgz","fileCount":11,"unpackedSize":358722,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDg5cez/j9TPmSzyQ1+2cxYnmhlnm/3oinirj1G2vROqAIgJMNismUVaknFWNKqOkSW94aQf9rMSjQg6nuYJCf44dU="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJikHAKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpa5Q/5Abm5BpykIrKW+yQycQPytv+/l3l1bihhfeaAONGFs58DAo82\r\nFHQ7U80Ei6MFC1RfejR409an14umZ27kNlsUUazcLLDucPe4l1kfOgtJ14fF\r\nxFn9sWpZTirZ6iE86HONumvXH06Fqy0hgaQanYcJ0MdAmhPR78tpA0wg9ZsZ\r\n9MN7B3VkPCXMN6+ySWMScjrt7V1UAP1SMN+6d8w3+4Ku31pvV83iDc9j7x9s\r\nI34LhRQNnq4JUeGXnZ+F9XC/f/2MDzesWpp3Pd/rJgtjJJQp7dqylQIHNm9V\r\nUqThD/WinXuBkwkZfM4UrJ1lHP3g03EnqEvaui570rT0MbkDhkGogkuYlkhj\r\nL6l118g/pMNhCohUGiDZDT87uEK24jpDjyJU0Obz38xOBg+o78AuZV+0hhZ+\r\nXhpXpL5aqMg6FrDR4pb/iojph3mCviu6AF+uq6DGUi1pPVcW3bljzrPNxOFh\r\ngxftNSNLsO1/m0wRgBYHuP80Hzzc9VmzffJtKGQYQCSaEQk/dUthBpPPv+bS\r\n6tNTHvA5OcnXhhIVdw0XVZ6BQBWNHIOFW+Ra91nUI9AlHCQQsfsZUz14HEun\r\n2vEzDoHVJ2xMBwxP82vOZD2JlIn/bNbg1CL9yCUjRIEGc7INzr0zPYU+Cz9i\r\n5BPy2RLER45tO0DEVJWfOoIFQP2bYc2A3qA=\r\n=biV/\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-stream_2.0.2_1653633034496_0.5456804088590794"},"_hasShrinkwrap":false},"2.1.0-dev":{"name":"parsegraph-stream","version":"2.1.0-dev","description":"stream","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/stream.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/stream/issues"},"homepage":"https://github.com/parsegraph/stream#readme","devDependencies":{"@babel/cli":"^7.17.10","@babel/core":"^7.17.10","@babel/plugin-proposal-class-properties":"^7.16.7","@babel/plugin-proposal-private-property-in-object":"^7.16.7","@babel/preset-env":"^7.17.10","@babel/preset-typescript":"^7.16.7","@babel/register":"^7.17.7","@types/chai":"^4.3.1","@types/jest":"^27.5.1","@types/node":"^17.0.33","@typescript-eslint/eslint-plugin":"^5.23.0","@typescript-eslint/parser":"^5.23.0","babel-jest":"^28.1.0","babel-loader":"^8.2.5","chai":"^4.3.6","eslint":"^8.15.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.5.0","jest":"^28.1.0","jsdom":"^19.0.0","jsdom-global":"^3.0.2","prettier":"^2.6.2","raw-loader":"^4.0.2","source-map-loader":"^3.0.1","source-map-support":"^0.5.21","ts-loader":"^9.3.0","ts-node":"^10.7.0","typedoc":"^0.22.15","typescript":"^4.6.4","webpack":"^5.72.1","webpack-cli":"^4.9.2"},"peerDependencies":{"parsegraph-checkglerror":"^1.5.3","parsegraph-log":"^1.7.3"},"dependencies":{"parsegraph-block":"^4.4.15","parsegraph-color":"^1.4.7","parsegraph-direction":"^2.1.0","parsegraph-method":"^1.4.22","parsegraph-timing":"^1.4.16","parsegraph-viewport":"^2.5.0"},"readme":"# room\n\nThis is for Node projects:\n\n## Setup\n\n1. Pick a new package name.\n\n2. Go to https://github.com/parsegraph/ and create a new repository using that name.\n\n3. Clone latest microproject from https://github.com/parsegraph/room\n\n4. Run ./update-package-name.sh with your package name:\n\n<pre>\n  # Set the package name to test\n  ./update-package-name.sh test\n</pre>\n\n5. Commit (e.g. \"Give package a name\")\n\n6. Push the repository to Github.\n","readmeFilename":"README.md","_id":"parsegraph-stream@2.1.0-dev","_integrity":"sha512-mRf5fIf0xJfsREqfGb1hNe+WmdKLKBgsNKwZnNXAMmPz92smcQNLFfzdPbh+xSlM2uUQ/hdkvGA7fKKl4w4ZNg==","_resolved":"/home/runner/work/room/room/parsegraph-stream-dev.tgz","_from":"file:parsegraph-stream-dev.tgz","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-mRf5fIf0xJfsREqfGb1hNe+WmdKLKBgsNKwZnNXAMmPz92smcQNLFfzdPbh+xSlM2uUQ/hdkvGA7fKKl4w4ZNg==","shasum":"e0d1f26bd7d12e75f0b3350d0241daa4e758e7d6","tarball":"https://registry.npmjs.org/parsegraph-stream/-/parsegraph-stream-2.1.0-dev.tgz","fileCount":14,"unpackedSize":9199636,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICQahNXtBJoHwxKRqiFiUjpKq51qNz4EPV4TJoeoS2SvAiBzYnE/24PAsIe04d+BHN0i8dUG35ABXs7RwGxEmauh7g=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJisrjOACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpz1A/9EJ3S0nKE9DBPDAE+vpAm41TDBRixELDRPWixN223zif4nsZh\r\nP+3RCFG7fTB/VWU+vaeLxzu1y26iaRtBngenXPxEXjttyV9Y98BEfMIjHe/j\r\nyVdFJjvCpAJJnkphZ+t3ny08Z4edcrQuR2IjpkQyqUTrBllg25a/yZgIZjJe\r\ny3hxQjveC+Oa7crRX9+MaPSv9d5mS68TgznKDAhZShzpCjQblFZemXk4oTbv\r\nCbZwrn+8KrKHgI+KWR0iqvU9iu9+9TleZe++GB5FTMWjy5b9+z9UKuBhQWQ/\r\nh7M2Fb9WkFkjZ1w4GcLYB1q8ly1q5ZjAbZVzqyy+MynGoGTgTlST1XGnkDJl\r\nhNW/LRCeo5hUhigpjUVtMKs7ng5+LIGeX/zaOuU4ipKzG5FoyEu/SmJuFDhv\r\nKCAIHHLCyanmy9lQwmY9kpbGlasIXERtpOOcNJoebb4byRrmEoLzSJ5KIQkx\r\nDtJ1lOX2Z3ezjoT0hg7cRGsmaOLMxekkH3k1Y2Z8er101e0SFnCcY5e66D13\r\n46JlAOsNqhyLI2+NWY89wyF36ZRLmLIli8YtClHak6Gy43LIe2l7KfkaMfwV\r\n0flfa8dnMy8aG/lxHUGbnnZNo//QyOudTYW0QVfFi5YVlAkOYp/Dn2QthGbz\r\nKIWsmmeb9fXJvOQga9/3RHGl55hYBgGMgfw=\r\n=+EAE\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-stream_2.1.0-dev_1655879886590_0.8587372777064386"},"_hasShrinkwrap":false},"2.1.0":{"name":"parsegraph-stream","version":"2.1.0","description":"stream","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/stream.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/stream/issues"},"homepage":"https://github.com/parsegraph/stream#readme","devDependencies":{"@babel/cli":"^7.17.10","@babel/core":"^7.17.10","@babel/plugin-proposal-class-properties":"^7.16.7","@babel/plugin-proposal-private-property-in-object":"^7.16.7","@babel/preset-env":"^7.17.10","@babel/preset-typescript":"^7.16.7","@babel/register":"^7.17.7","@types/chai":"^4.3.1","@types/jest":"^27.5.1","@types/node":"^17.0.33","@typescript-eslint/eslint-plugin":"^5.23.0","@typescript-eslint/parser":"^5.23.0","babel-jest":"^28.1.0","babel-loader":"^8.2.5","chai":"^4.3.6","eslint":"^8.15.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.5.0","jest":"^28.1.0","jsdom":"^19.0.0","jsdom-global":"^3.0.2","prettier":"^2.6.2","raw-loader":"^4.0.2","source-map-loader":"^3.0.1","source-map-support":"^0.5.21","ts-loader":"^9.3.0","ts-node":"^10.7.0","typedoc":"^0.22.15","typescript":"^4.6.4","webpack":"^5.72.1","webpack-cli":"^4.9.2"},"peerDependencies":{"parsegraph-checkglerror":"^1.5.3","parsegraph-log":"^1.7.3"},"dependencies":{"parsegraph-block":"^4.4.15","parsegraph-color":"^1.4.7","parsegraph-direction":"^2.1.0","parsegraph-method":"^1.4.22","parsegraph-timing":"^1.4.16","parsegraph-viewport":"^2.5.0"},"_id":"parsegraph-stream@2.1.0","_integrity":"sha512-FENOLMmXc/Nh3qc4y9TjrLllD6dn/s2yjE0V71wqUzO0G4DlDpaox7+kYn4U2zukTt+mzw0R6X1pRxZhGLIVTw==","_resolved":"/home/runner/work/room/room/parsegraph-stream-prod.tgz","_from":"file:parsegraph-stream-prod.tgz","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-FENOLMmXc/Nh3qc4y9TjrLllD6dn/s2yjE0V71wqUzO0G4DlDpaox7+kYn4U2zukTt+mzw0R6X1pRxZhGLIVTw==","shasum":"7b76f456bd4ce5dc4aa14cb0ddf5809818e5cf08","tarball":"https://registry.npmjs.org/parsegraph-stream/-/parsegraph-stream-2.1.0.tgz","fileCount":11,"unpackedSize":1122975,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEpN+t7xx9oxDvoHzHRkipHuRLXj24tZkEdoVCoVrEgNAiEAjwjP7DNBZVPDUAOpCPCq8wDkYvhr7BZ1JG+O6ZVGhls="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJisrlLACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqM8w/+KVCjAlt0HZUjO5WWOkiWmhg1DNPMM4IGaqf6HlBxcf/esMc2\r\nuKA0oC5tI4m0LWOgiWlyvJiUM4yiTdwftaiHGPv+o/tV+//0zw6E82HB7NJ+\r\nw/lsuQ25Q2wMwbjs81wrQlfRFqnV2QwbWvN7v8nWwe3e9/3fKQnwOH3BRlnQ\r\ncJqAkGXJaWap6u+DVLOr94Wuil/ML9/ihQwZJC0/6o/Mv+WdG31TQSkiX+9B\r\n96kI+dKE1BoiBJLv1GgcCWiYrtBklD23xmLzRvpH7eT0VybfL3WCjdshIr5l\r\npfwVjAdOqopE2PqlW4BDwZlEM415lSt2o6KHS5ROprw9+91MRNzea0mGOTNu\r\nfjFjF3bD48DMIxzjJFhYMI1iXGNJeNnN5Z0vyhXGsUfTAF2/xNJPOO7y95ki\r\nkZ+VCJERnwS7LNgckOE5zVBaip89B3fuIlv9zRUYmeWuGzdVumYf8/pdgmIA\r\nJFlg8zaFvHqHsbzrVfcfeFCAWrN1GNJ/tyIgaNfGPhvhkvpZRAyT6EFeqT82\r\njOXu+psR63EeTMGamahMiVH1K/uUMkvGtTg0Uy/P7BV6Lfi+YeerbmqyxHrD\r\n4pXd0PTRtm9Ji8Zggq94buEDLU+HnmcqPLanefnd86QY6qww4fSQmX+TZ4W4\r\nXVvm916qPkpmg4rc/FMnAlwJQAjFBr4NONE=\r\n=gOg6\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-stream_2.1.0_1655880011716_0.3462091879078377"},"_hasShrinkwrap":false},"3.0.0-dev":{"name":"parsegraph-stream","version":"3.0.0-dev","description":"stream","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/stream.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/stream/issues"},"homepage":"https://github.com/parsegraph/stream#readme","devDependencies":{"@babel/cli":"^7.18.6","@babel/core":"^7.18.6","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-private-property-in-object":"^7.18.6","@babel/preset-env":"^7.18.6","@babel/preset-typescript":"^7.18.6","@babel/register":"^7.18.6","@types/chai":"^4.3.1","@types/jest":"^28.1.4","@types/node":"^18.0.3","@typescript-eslint/eslint-plugin":"^5.30.5","@typescript-eslint/parser":"^5.30.5","babel-jest":"^28.1.2","babel-loader":"^8.2.5","chai":"^4.3.6","electron":"^19.0.7","eslint":"^8.19.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.5.0","jest":"^28.1.2","jest-environment-jsdom":"^28.1.2","jsdom":"^20.0.0","jsdom-global":"^3.0.2","prettier":"^2.7.1","raw-loader":"^4.0.2","source-map-loader":"^4.0.0","source-map-support":"^0.5.21","ts-loader":"^9.3.1","ts-node":"^10.8.2","typedoc":"^0.23.6","typescript":"^4.7.4","webpack":"^5.73.0","webpack-cli":"^4.10.0"},"peerDependencies":{"parsegraph-checkglerror":"^1.5.3","parsegraph-log":"^1.7.3"},"dependencies":{"esprima":"^4.0.1","fast-xml-parser":"^4.0.8","parsegraph-artist":"^3.4.24","parsegraph-block":"^4.4.17","parsegraph-blockpainter":"^1.7.1","parsegraph-carousel":"^2.3.29","parsegraph-color":"^1.4.7","parsegraph-direction":"^2.1.0","parsegraph-showincamera":"^1.7.4","parsegraph-viewport":"^2.7.0","yaml":"^2.1.1"},"readme":"# room\n\nThis is for Node projects:\n\n## Setup\n\n1. Pick a new package name.\n\n2. Go to https://github.com/parsegraph/ and create a new repository using that name.\n\n3. Clone latest microproject from https://github.com/parsegraph/room\n\n4. Run ./update-package-name.sh with your package name:\n\n<pre>\n  # Set the package name to test\n  ./update-package-name.sh test\n</pre>\n\n5. Commit (e.g. \"Give package a name\")\n\n6. Push the repository to Github.\n","readmeFilename":"README.md","_id":"parsegraph-stream@3.0.0-dev","_integrity":"sha512-4kqqEpbRAIh3eZnKWc9sYnL8uKEG3LX/P2wFgrgERkvdiXH2Ia6QI7cUpuM2n7vs/HbZ4rvcXjj2ss/LD6OUXg==","_resolved":"/home/runner/work/stream/stream/parsegraph-stream-dev.tgz","_from":"file:parsegraph-stream-dev.tgz","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-4kqqEpbRAIh3eZnKWc9sYnL8uKEG3LX/P2wFgrgERkvdiXH2Ia6QI7cUpuM2n7vs/HbZ4rvcXjj2ss/LD6OUXg==","shasum":"edfd91d30173214b38e29fe23cbf94a9f6f7ebc6","tarball":"https://registry.npmjs.org/parsegraph-stream/-/parsegraph-stream-3.0.0-dev.tgz","fileCount":112,"unpackedSize":17516679,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG5Rj/lrZq+3Qgj8JepLWAk444GYAGO4zAGi6PvtiqF4AiAQctkyYWAWSP67rOba9uiPwheGqp51CeGhzSUjeXO2Kg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiyM5pACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqU1Q/+M8o0LsJttfxhyYqffYUey1vWlOa6SHiGk2kYbJj0zLoje1BJ\r\nfq2m8gmLnFFIUTXCApfEvVV7UwQUTazYq62rJRdCDcBrODX6zRJvsqPebQn9\r\n2goMd6qOaPFAin7+MpiOVi8CjAZx2lbbsZPZ6cfxZ0iIpc92WcCSsmq+feyV\r\nxcP4JbPyj9qQ5+zxWtAxpKCS/F1BF7TBdpAzm8adoPRVUcQHgan/0+jvftjV\r\nuQ3iC5jAS6BqwhI19KbvD3XX+gCvWpi+sD9Y1ML7WVHtZGFZ+PcX9LoiuWzq\r\noD8RJrpBZBM0n+Pi5APVdAEv99xkvM2mgJwbM1McwvIQEUdrl1E4CjV7eiOu\r\nTorLcIvpk8JGoTDa264W6OirfcNfFb7sr/giSpDomeO7lb3pZDjHh+UoEWmA\r\n67yNq0YE4R8GdotL/cpnwptdCRuu7hKCS7GpIqcIT6j/URCyXXuKl3wF/Txe\r\neG+9sR8xR2N32aEFvdVlVE5T8sDv8gnq+NpY4rDy93aOt1bbbXaytZ4nfoG9\r\nVCzCtWrV77qlR27poGJm+Mo3x8KN9D5805I+QjcKKYWaNnWA8EJu5oELlgrt\r\neTrr8lfSdHaJaU8mSP6tVN2TpE9HkIiLQpoTIjK49LBVj1p1wz6waILVs3Dt\r\nBrY6r9506WMfeGmDTYUOjfT4JON24zw8srI=\r\n=C6QV\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-stream_3.0.0-dev_1657327208793_0.6451928070027297"},"_hasShrinkwrap":false},"3.0.1-dev":{"name":"parsegraph-stream","version":"3.0.1-dev","description":"stream","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/stream.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/stream/issues"},"homepage":"https://github.com/parsegraph/stream#readme","devDependencies":{"@babel/cli":"^7.18.6","@babel/core":"^7.18.6","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-private-property-in-object":"^7.18.6","@babel/preset-env":"^7.18.6","@babel/preset-typescript":"^7.18.6","@babel/register":"^7.18.6","@types/chai":"^4.3.1","@types/jest":"^28.1.4","@types/node":"^18.0.3","@typescript-eslint/eslint-plugin":"^5.30.5","@typescript-eslint/parser":"^5.30.5","babel-jest":"^28.1.2","babel-loader":"^8.2.5","chai":"^4.3.6","electron":"^19.0.7","eslint":"^8.19.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.5.0","jest":"^28.1.2","jest-environment-jsdom":"^28.1.2","jsdom":"^20.0.0","jsdom-global":"^3.0.2","prettier":"^2.7.1","raw-loader":"^4.0.2","source-map-loader":"^4.0.0","source-map-support":"^0.5.21","ts-loader":"^9.3.1","ts-node":"^10.8.2","typedoc":"^0.23.6","typescript":"^4.7.4","webpack":"^5.73.0","webpack-cli":"^4.10.0"},"peerDependencies":{"parsegraph-checkglerror":"^1.5.3","parsegraph-log":"^1.7.3"},"dependencies":{"esprima":"^4.0.1","fast-xml-parser":"^4.0.8","parsegraph-artist":"^3.4.24","parsegraph-block":"^4.4.17","parsegraph-blockpainter":"^1.7.1","parsegraph-carousel":"^2.3.29","parsegraph-color":"^1.4.7","parsegraph-direction":"^2.1.0","parsegraph-showincamera":"^1.7.4","parsegraph-viewport":"^2.7.0","yaml":"^2.1.1"},"readme":"# room\n\nThis is for Node projects:\n\n## Setup\n\n1. Pick a new package name.\n\n2. Go to https://github.com/parsegraph/ and create a new repository using that name.\n\n3. Clone latest microproject from https://github.com/parsegraph/room\n\n4. Run ./update-package-name.sh with your package name:\n\n<pre>\n  # Set the package name to test\n  ./update-package-name.sh test\n</pre>\n\n5. Commit (e.g. \"Give package a name\")\n\n6. Push the repository to Github.\n","readmeFilename":"README.md","_id":"parsegraph-stream@3.0.1-dev","_integrity":"sha512-cq6Kn4sW/1Lm/YjhISGZPCKwMAwXPshLWvO7MP+MThRIhqQfAaLlEIvZFVO2AMDTWvlx9u02YNZb7upaNPKWAw==","_resolved":"/home/runner/work/stream/stream/parsegraph-stream-dev.tgz","_from":"file:parsegraph-stream-dev.tgz","_nodeVersion":"18.5.0","_npmVersion":"8.12.1","dist":{"integrity":"sha512-cq6Kn4sW/1Lm/YjhISGZPCKwMAwXPshLWvO7MP+MThRIhqQfAaLlEIvZFVO2AMDTWvlx9u02YNZb7upaNPKWAw==","shasum":"28c981a4d41a0b021ede131e86fba99cf6a58da4","tarball":"https://registry.npmjs.org/parsegraph-stream/-/parsegraph-stream-3.0.1-dev.tgz","fileCount":112,"unpackedSize":17516679,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC2SmwBy7jpnlG0q6p9RTa0P4NCEmBUlOJ8g5GudPLxQwIgJA50YwYdAeZr2Hj3QCkTHcbbQ637Sqf4qIpvYmuFMUE="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiyM6XACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpsng//RiCRXnVnwizlV6L5HxCAdcbwn5PLq2FOdt53lp9ZAInOnAq8\r\nK61f0BWrQHRmoLwRTQGjAXBuwZbbTDths2G8Q4GkkjaQJ5yNd6NiIy39Ruo8\r\nc7rLdBoVrheDOpnqQC3SoiRvVt+thO9vnGNY7P8J01QSAnmiCSmS5Hz4BtZv\r\ncPX5FnnUR2KzNYNYMxaubGRtdkJsAGQP3cgu/rweyMJocuhQE6AcEvU9QCIP\r\n2+4Al9o+gJXw7ekZcU6wALVzgOzWWeYjd78pnesEiC95QJOVJMe9WMfNUCsV\r\n7PTukjghAFqyWZG5M3Wmb7jbIdkj2dz+gTEXw31GNdhlC8peI8aixNDJIOiC\r\nAPr/WMJ/WN2Rq4WEEqg4WbT4yCZxXE678aZO77iaCVBEYQQHAZBxMKUElCn/\r\nRhJYASzORxZqfLL9O1+C1tgYJOyot6xWTnJLD24V2QwO9RlAKqKCpe65ATvl\r\n3wAjQMKfz7lkWvA6kBs/lvF0vecazGfI+YObrvwBJonorBvApGTePQUVNr+w\r\nekJXeL3H3oHDkUARa5mxLOW0elTMA//zvjPgaRf/MW1OR5z0BYcS88bkGobB\r\nDtiGhg9fgLzxUHrK4NFqbkRuDytIReL/It8XHKGEXgru4Wgc6johVu/E37UJ\r\nqESD+oF+/Pcvphw+0jAKXN0ScIpCni0HY4Q=\r\n=6mTK\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-stream_3.0.1-dev_1657327255098_0.10287515585370266"},"_hasShrinkwrap":false},"3.0.1":{"name":"parsegraph-stream","version":"3.0.1","description":"stream","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/stream.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/stream/issues"},"homepage":"https://github.com/parsegraph/stream#readme","devDependencies":{"@babel/cli":"^7.18.6","@babel/core":"^7.18.6","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-private-property-in-object":"^7.18.6","@babel/preset-env":"^7.18.6","@babel/preset-typescript":"^7.18.6","@babel/register":"^7.18.6","@types/chai":"^4.3.1","@types/jest":"^28.1.4","@types/node":"^18.0.3","@typescript-eslint/eslint-plugin":"^5.30.5","@typescript-eslint/parser":"^5.30.5","babel-jest":"^28.1.2","babel-loader":"^8.2.5","chai":"^4.3.6","electron":"^19.0.7","eslint":"^8.19.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.5.0","jest":"^28.1.2","jest-environment-jsdom":"^28.1.2","jsdom":"^20.0.0","jsdom-global":"^3.0.2","prettier":"^2.7.1","raw-loader":"^4.0.2","source-map-loader":"^4.0.0","source-map-support":"^0.5.21","ts-loader":"^9.3.1","ts-node":"^10.8.2","typedoc":"^0.23.6","typescript":"^4.7.4","webpack":"^5.73.0","webpack-cli":"^4.10.0"},"peerDependencies":{"parsegraph-checkglerror":"^1.5.3","parsegraph-log":"^1.7.3"},"dependencies":{"esprima":"^4.0.1","fast-xml-parser":"^4.0.8","parsegraph-artist":"^3.4.24","parsegraph-block":"^4.4.17","parsegraph-blockpainter":"^1.7.1","parsegraph-carousel":"^2.3.29","parsegraph-color":"^1.4.7","parsegraph-direction":"^2.1.0","parsegraph-showincamera":"^1.7.4","parsegraph-viewport":"^2.7.0","yaml":"^2.1.1"},"_id":"parsegraph-stream@3.0.1","_integrity":"sha512-rSkFrIsy57/Y9aEfX9ALQr9W4/iFgXSV/YqL0j9eJsmAL7n+YCTw9QHqHZ866HDDvv4gH2qyM4x98VTnTAx7AQ==","_resolved":"/home/runner/work/stream/stream/parsegraph-stream-prod.tgz","_from":"file:parsegraph-stream-prod.tgz","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-rSkFrIsy57/Y9aEfX9ALQr9W4/iFgXSV/YqL0j9eJsmAL7n+YCTw9QHqHZ866HDDvv4gH2qyM4x98VTnTAx7AQ==","shasum":"decc15a20ecd7876be33fc31791f2e59ddaef745","tarball":"https://registry.npmjs.org/parsegraph-stream/-/parsegraph-stream-3.0.1.tgz","fileCount":102,"unpackedSize":1416781,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHpUxmGUount3B6YLMyKpEGfwZqxNN3jW4+/CJTye79oAiBTg/Xiq/iCSap8VP/FKwLu+AiPRDM7wl4rVPibnXbMEw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiyM8HACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoocw/8C0sfu9oALX5bZeX3tDDlLTu/K3QhTNBs9AwfIE1Ypip9K4B6\r\n/iwoQjBW+e4fpwzGx9i/aLwdE+sYGzE065uU8llYJrZdNDizGGyEpgy2Lvk/\r\nig75fxq8775n1uVkJgNYSW/UVmUGV6RXJIrYKKCg6+MRumpRqY1/B2IIrzSc\r\nDsTx7Itxxmuy4RaECMlZj3Nw7cSzaoK2AekEGdKHP6rkJ5zRsh3RtUtEtRQm\r\nP1LehyP+q/w3D44vnIpIEerZEvs/Mw/+aSbm65qTHNdPwdeo6zipjf2pizLR\r\ndNL//shWhiSM/X76XN16XuEoPkWlIkbbOGgrPBYUalbVnssZ3Y1FI3+wb8uA\r\neKNUIsu4OKfI+5AfyzS3MdMqGkuNowakjIgvZhz4jukvEfb3qk9z1UOuWZg5\r\ndw8+849m8X0RkjYJ6oJ4aIHlX24K8jySAWF5Zfy3fFu6ICo5N/xKiEkSreZ3\r\nH1KyEpotNn/2es1hIYs2hMYyRcgzWQRt3MaDyxGcm4ulPONOA2Ea/qUoOmK9\r\nZnsf//BRAWsoYdLSYIRcWhEREYIW1kCL0InX1ZxbUsTIQXThPeax66ffjHdQ\r\nwWkEIAqn5FlhHALV9Cex2ymWV7HFXaTAPqi+HSm25iKnPb0Eiwzgo+IjZT92\r\nNonjgxOiqNGr371nkBgF6Ui9DDtFiyXmOUM=\r\n=Fbx3\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-stream_3.0.1_1657327366732_0.8774836339137748"},"_hasShrinkwrap":false},"3.0.2-dev":{"name":"parsegraph-stream","version":"3.0.2-dev","description":"stream","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/stream.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/stream/issues"},"homepage":"https://github.com/parsegraph/stream#readme","devDependencies":{"@babel/cli":"^7.18.6","@babel/core":"^7.18.6","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-private-property-in-object":"^7.18.6","@babel/preset-env":"^7.18.6","@babel/preset-typescript":"^7.18.6","@babel/register":"^7.18.6","@types/chai":"^4.3.1","@types/jest":"^28.1.4","@types/node":"^18.0.3","@typescript-eslint/eslint-plugin":"^5.30.5","@typescript-eslint/parser":"^5.30.5","babel-jest":"^28.1.2","babel-loader":"^8.2.5","chai":"^4.3.6","electron":"^19.0.7","eslint":"^8.19.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.5.0","jest":"^28.1.2","jest-environment-jsdom":"^28.1.2","jsdom":"^20.0.0","jsdom-global":"^3.0.2","prettier":"^2.7.1","raw-loader":"^4.0.2","source-map-loader":"^4.0.0","source-map-support":"^0.5.21","ts-loader":"^9.3.1","ts-node":"^10.8.2","typedoc":"^0.23.6","typescript":"^4.7.4","webpack":"^5.73.0","webpack-cli":"^4.10.0"},"peerDependencies":{"parsegraph-checkglerror":"^1.5.3","parsegraph-log":"^1.7.3"},"dependencies":{"esprima":"^4.0.1","fast-xml-parser":"^4.0.8","parsegraph-artist":"^3.4.24","parsegraph-block":"^4.4.17","parsegraph-blockpainter":"^1.7.1","parsegraph-carousel":"^2.3.29","parsegraph-color":"^1.4.7","parsegraph-direction":"^2.1.0","parsegraph-showincamera":"^1.7.4","parsegraph-viewport":"^2.7.0","yaml":"^2.1.1"},"readme":"# room\n\nThis is for Node projects:\n\n## Setup\n\n1. Pick a new package name.\n\n2. Go to https://github.com/parsegraph/ and create a new repository using that name.\n\n3. Clone latest microproject from https://github.com/parsegraph/room\n\n4. Run ./update-package-name.sh with your package name:\n\n<pre>\n  # Set the package name to test\n  ./update-package-name.sh test\n</pre>\n\n5. Commit (e.g. \"Give package a name\")\n\n6. Push the repository to Github.\n","readmeFilename":"README.md","_id":"parsegraph-stream@3.0.2-dev","_integrity":"sha512-MuuFFMQ8HxEuftVXw6IiowPL3C5It/RYb9tdUqJefjXRdJd4EsrbSXf5mTegstGyIUK5duibXlR0Yo7opHbznQ==","_resolved":"/home/runner/work/stream/stream/parsegraph-stream-dev.tgz","_from":"file:parsegraph-stream-dev.tgz","_nodeVersion":"18.5.0","_npmVersion":"8.12.1","dist":{"integrity":"sha512-MuuFFMQ8HxEuftVXw6IiowPL3C5It/RYb9tdUqJefjXRdJd4EsrbSXf5mTegstGyIUK5duibXlR0Yo7opHbznQ==","shasum":"8f3e9b1f29cebe04888dc3fd8d5cbf58134ac8e7","tarball":"https://registry.npmjs.org/parsegraph-stream/-/parsegraph-stream-3.0.2-dev.tgz","fileCount":112,"unpackedSize":17517447,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGF2js+FdZXjer2XBkTiEdjBNdz1CLg58Slu4O6BXgLlAiBEjXILu2l6taHlxJsPSFqJA4XfwzFngN/twa65VUuc3w=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiyNGQACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpdYBAAk/6drQC31HAklkNZPi2T88XgpUVMRL036OWWrIZ45TQup0PQ\r\nTmUg3iq+7zHnNt9sezgAmztfSQFL0N4MMgRuH3aWoWlJEY9sZO4RBghKYAKl\r\nt+XCkujX9uMCsCgL6VcTsycgY4p7xERz6+nJWv7UsbiQp1Iba2lXx9KPRsSx\r\nC6hR0iPxbYlGy2NM1uzKd0anwxP1vd9GBjbr1tWIrRDjcOYJrWWsY7A21V0e\r\nVRN3/95EA5Fz7+UZr6wl7dcZo3rR2iFLU9ArSB89IZrCR2VuBEOMCWffHFfG\r\n1xkw4B3osuvpymLWLYrSD4e2QxjlZ2ZT/A+UfpxUVKrAkIy2L8IHOIp9sICt\r\nMjRJDN8qfB+04x0gAluU6r7mlwSKBtjNLYVyxVqd/aLmFfoVsfyf6kIjulde\r\nv3wHcGeeo1r1Kp/TfcfRmJWiB6nZpVTT4D43OYM2pvpH5rdWQNYVvFoNQln/\r\nIk1qKdpJzDuhu7S5s74IGQCn0GVYyYyHoacznX2tCXAxBP9YPkU5ijAL6hy8\r\neh3fLO0gK3t361MDiygameO3to0R1E+mF+euNfIFGXmd5+rQn2MZyFzTHdBw\r\nmVRTW57/GIYjyqCfaPS7aN890mBQW2P8EB5gup3xA64S74FB38SfMU92M3gu\r\nTwS17vp+4VzVtnQ3EJEokKxZORab4UTm+nw=\r\n=hBA+\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-stream_3.0.2-dev_1657328016488_0.8333194743265151"},"_hasShrinkwrap":false},"3.0.2":{"name":"parsegraph-stream","version":"3.0.2","description":"stream","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/stream.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/stream/issues"},"homepage":"https://github.com/parsegraph/stream#readme","devDependencies":{"@babel/cli":"^7.18.6","@babel/core":"^7.18.6","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-private-property-in-object":"^7.18.6","@babel/preset-env":"^7.18.6","@babel/preset-typescript":"^7.18.6","@babel/register":"^7.18.6","@types/chai":"^4.3.1","@types/jest":"^28.1.4","@types/node":"^18.0.3","@typescript-eslint/eslint-plugin":"^5.30.5","@typescript-eslint/parser":"^5.30.5","babel-jest":"^28.1.2","babel-loader":"^8.2.5","chai":"^4.3.6","electron":"^19.0.7","eslint":"^8.19.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.5.0","jest":"^28.1.2","jest-environment-jsdom":"^28.1.2","jsdom":"^20.0.0","jsdom-global":"^3.0.2","prettier":"^2.7.1","raw-loader":"^4.0.2","source-map-loader":"^4.0.0","source-map-support":"^0.5.21","ts-loader":"^9.3.1","ts-node":"^10.8.2","typedoc":"^0.23.6","typescript":"^4.7.4","webpack":"^5.73.0","webpack-cli":"^4.10.0"},"peerDependencies":{"parsegraph-checkglerror":"^1.5.3","parsegraph-log":"^1.7.3"},"dependencies":{"esprima":"^4.0.1","fast-xml-parser":"^4.0.8","parsegraph-artist":"^3.4.24","parsegraph-block":"^4.4.17","parsegraph-blockpainter":"^1.7.1","parsegraph-carousel":"^2.3.29","parsegraph-color":"^1.4.7","parsegraph-direction":"^2.1.0","parsegraph-showincamera":"^1.7.4","parsegraph-viewport":"^2.7.0","yaml":"^2.1.1"},"_id":"parsegraph-stream@3.0.2","_integrity":"sha512-DqXNOp75RwldQG2zFNPCF0SRTkhYGgfL3wt2q8tE9RdonkHyXmKPjYg7QgZHpJFkMHfjGB6i0U0H226aj7jyAg==","_resolved":"/home/runner/work/stream/stream/parsegraph-stream-prod.tgz","_from":"file:parsegraph-stream-prod.tgz","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-DqXNOp75RwldQG2zFNPCF0SRTkhYGgfL3wt2q8tE9RdonkHyXmKPjYg7QgZHpJFkMHfjGB6i0U0H226aj7jyAg==","shasum":"61ce7eb22f0046afdb5f4e10bf3b495b53f3e0dc","tarball":"https://registry.npmjs.org/parsegraph-stream/-/parsegraph-stream-3.0.2.tgz","fileCount":102,"unpackedSize":1416910,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCjwV4jmalmI6JypQouTbM8mhqaCn+mq5PwFB25wgH3swIhAJxoe1aryni7/waF+9MW2NqKFagyQYt37TscvocSOzAO"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiyNILACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrU/w//Z/sq2IbzYZAM6i+zTyvopENuNwUXVYeT/bUTkRDy3HvxvKi1\r\nOnHUDbPICPuDDvQpajrPhtzdglDswYejxQPryCg/tLY6YpV0W2FuRtg6oNy3\r\nUbpocebGIcnoBM0ye2AsfF8ZHLZpZIbOMrtX3qbCq9/Ww729kXWHoOPwlUY2\r\nzZZ8bYF8QKNPx4+lG2bbZSo//iwGa0fgnpjS0u8HdQtF1yWFKioE4P1/FVxa\r\nOmUlWbr9tk51MzFvFoOt24h8/BlA45YS1f4ApwtoHHbws1MbI6lDd/z3DxqB\r\nmN965xBmovuPS5ReMLLXRbEB3e3LV2/AhV4CgYauLSPZedxuYLuSS9ppCJ68\r\n8B7AV9hTxYca1G8zRpL7tSSvCBJaysI5mVudeCAwBk6NeTRHjEQWFGTMRFTX\r\nYao1qIKPg0lxiP6rbzoeDIGjm4q2qV1Q6Qti9Re1cay8cJ7g29789Dl/HtA1\r\nO+GIoAPGS/k73bKqCCdj5PzqzgrB3FWnXg02bzsEDPKXaX/jcXCquOTzPIV2\r\ndM5Y9UfzR8YzW4ROYPy7ptHr6+YRN4ywjUq+qlNgaKSHJ+dWNJJ48P3bBgNc\r\n04IY3UBCmHbxKge7ODwQ2HGpHjxB10niU7XuzF8JFPMY6fQ3IJ8oYQRVB1/7\r\nxZ44aXfAX60TBNK/NqwA3nt7tY/2bE8sD+U=\r\n=1zYg\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-stream_3.0.2_1657328139192_0.29148306063722274"},"_hasShrinkwrap":false},"3.0.3-dev":{"name":"parsegraph-stream","version":"3.0.3-dev","description":"stream","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/stream.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/stream/issues"},"homepage":"https://github.com/parsegraph/stream#readme","devDependencies":{"@babel/cli":"^7.18.6","@babel/core":"^7.18.6","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-private-property-in-object":"^7.18.6","@babel/preset-env":"^7.18.6","@babel/preset-typescript":"^7.18.6","@babel/register":"^7.18.6","@types/chai":"^4.3.1","@types/jest":"^28.1.4","@types/node":"^18.0.3","@typescript-eslint/eslint-plugin":"^5.30.5","@typescript-eslint/parser":"^5.30.5","babel-jest":"^28.1.2","babel-loader":"^8.2.5","chai":"^4.3.6","electron":"^19.0.7","eslint":"^8.19.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.5.0","jest":"^28.1.2","jest-environment-jsdom":"^28.1.2","jsdom":"^20.0.0","jsdom-global":"^3.0.2","prettier":"^2.7.1","raw-loader":"^4.0.2","source-map-loader":"^4.0.0","source-map-support":"^0.5.21","ts-loader":"^9.3.1","ts-node":"^10.8.2","typedoc":"^0.23.6","typescript":"^4.7.4","webpack":"^5.73.0","webpack-cli":"^4.10.0"},"peerDependencies":{"parsegraph-checkglerror":"^1.5.3","parsegraph-log":"^1.7.3"},"dependencies":{"esprima":"^4.0.1","fast-xml-parser":"^4.0.8","parsegraph-artist":"^3.4.24","parsegraph-block":"^4.4.17","parsegraph-blockpainter":"^1.7.1","parsegraph-carousel":"^2.3.29","parsegraph-color":"^1.4.7","parsegraph-direction":"^2.1.0","parsegraph-showincamera":"^1.7.4","parsegraph-viewport":"^2.7.0","yaml":"^2.1.1"},"readme":"# room\n\nThis is for Node projects:\n\n## Setup\n\n1. Pick a new package name.\n\n2. Go to https://github.com/parsegraph/ and create a new repository using that name.\n\n3. Clone latest microproject from https://github.com/parsegraph/room\n\n4. Run ./update-package-name.sh with your package name:\n\n<pre>\n  # Set the package name to test\n  ./update-package-name.sh test\n</pre>\n\n5. Commit (e.g. \"Give package a name\")\n\n6. Push the repository to Github.\n","readmeFilename":"README.md","_id":"parsegraph-stream@3.0.3-dev","_integrity":"sha512-xIcZhzSCwLti+C6l07afzOENG5dakwOyIvXYUWs/hLRr8zgx3KfhFFkVlm+t8FGf8A1UAynquDD6spzePZxBfQ==","_resolved":"/home/runner/work/stream/stream/parsegraph-stream-dev.tgz","_from":"file:parsegraph-stream-dev.tgz","_nodeVersion":"18.5.0","_npmVersion":"8.12.1","dist":{"integrity":"sha512-xIcZhzSCwLti+C6l07afzOENG5dakwOyIvXYUWs/hLRr8zgx3KfhFFkVlm+t8FGf8A1UAynquDD6spzePZxBfQ==","shasum":"334de54521a259da95a831a59f657360f2cc7bbd","tarball":"https://registry.npmjs.org/parsegraph-stream/-/parsegraph-stream-3.0.3-dev.tgz","fileCount":112,"unpackedSize":17518001,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC7aWZBBU+62/4z6tU9pGufDv1lKXprIgO9fJ8LpLu7vQIgcwIkAPD0mPZ6KT+dpbJ3f6o9w6nXP5OC+Xue9AX3mkk="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiyP+qACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpMsw/+OVuUdmH0hqxtgKovKu9L3vXuJwXqgci0vqX1R4gG6QMjm2IO\r\nOHzlvYoPby8HZfSIBCSWienbQiKTPqC4KLq9BivBrVVqc+1O+mIJhGN0WV32\r\nW/K5hxUPoHYdg9IuesKaMSlyjNgiDFmPhHhqZwaFJPmwWjZGlVPa+LgqOBoB\r\nmzaaeiWoINV4ulDozJP/FywdKRkOST591Wy8ZdbHNofJRbK7eMj3UuAwcTR7\r\n7CaVKJUG8GqrtUm7YlXtInbgWqop91/IkqQKal9AskXqt+8GxQfwjcSgu0Jz\r\nGLuYBo7kNrTZj7FpqaZA7Y6hbb+HMIF4HlrC6VmQzEqrngwVLLPGcM6x9AlP\r\nVEXjkUruZGw7AWGCRX9nfDG6jzM5xnEynLsMNfAHC0gH+nY1bFqfklD7opJK\r\nglnKzijk56Hia74YjU1bSXVeWPxQox00uPQ7YEpm9FW1b3kCleRXCo7Ec1OY\r\n2XkEkImn4mbxouaSkSHSOcclNVK+/PgpdaFM8EjCRsXuWTrJiVSuW+Viw5cG\r\n5mTiGNVVCoVJBcRpfoHPgSsdMVdV0agPc10w88Qc1KnSsMRs8IL0w1OHCGfb\r\ntDCaCisiaJ0tHEj7s8kmRHcB2a8dhPsz45ZWBogSCKWF8YUHv7+4AWHy7njS\r\nTI5RUuYydGwUSZMuIe6y1YoOq6cEZDndQ8Q=\r\n=5Iyl\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-stream_3.0.3-dev_1657339818209_0.8061642725907048"},"_hasShrinkwrap":false},"3.0.3":{"name":"parsegraph-stream","version":"3.0.3","description":"stream","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/stream.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/stream/issues"},"homepage":"https://github.com/parsegraph/stream#readme","devDependencies":{"@babel/cli":"^7.18.6","@babel/core":"^7.18.6","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-private-property-in-object":"^7.18.6","@babel/preset-env":"^7.18.6","@babel/preset-typescript":"^7.18.6","@babel/register":"^7.18.6","@types/chai":"^4.3.1","@types/jest":"^28.1.4","@types/node":"^18.0.3","@typescript-eslint/eslint-plugin":"^5.30.5","@typescript-eslint/parser":"^5.30.5","babel-jest":"^28.1.2","babel-loader":"^8.2.5","chai":"^4.3.6","electron":"^19.0.7","eslint":"^8.19.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.5.0","jest":"^28.1.2","jest-environment-jsdom":"^28.1.2","jsdom":"^20.0.0","jsdom-global":"^3.0.2","prettier":"^2.7.1","raw-loader":"^4.0.2","source-map-loader":"^4.0.0","source-map-support":"^0.5.21","ts-loader":"^9.3.1","ts-node":"^10.8.2","typedoc":"^0.23.6","typescript":"^4.7.4","webpack":"^5.73.0","webpack-cli":"^4.10.0"},"peerDependencies":{"parsegraph-checkglerror":"^1.5.3","parsegraph-log":"^1.7.3"},"dependencies":{"esprima":"^4.0.1","fast-xml-parser":"^4.0.8","parsegraph-artist":"^3.4.24","parsegraph-block":"^4.4.17","parsegraph-blockpainter":"^1.7.1","parsegraph-carousel":"^2.3.29","parsegraph-color":"^1.4.7","parsegraph-direction":"^2.1.0","parsegraph-showincamera":"^1.7.4","parsegraph-viewport":"^2.7.0","yaml":"^2.1.1"},"_id":"parsegraph-stream@3.0.3","_integrity":"sha512-JxhUIFVoROuWVxdOgrkx/z8d4vR7Hve6TBGTSCmFhYYqAMLl03MXEIo6L0/asPIc1X0GGvRU/kyfy/iwZVnpNw==","_resolved":"/home/runner/work/stream/stream/parsegraph-stream-prod.tgz","_from":"file:parsegraph-stream-prod.tgz","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-JxhUIFVoROuWVxdOgrkx/z8d4vR7Hve6TBGTSCmFhYYqAMLl03MXEIo6L0/asPIc1X0GGvRU/kyfy/iwZVnpNw==","shasum":"9288d247d39e3184e8eea6ee29a36bd04ab3862a","tarball":"https://registry.npmjs.org/parsegraph-stream/-/parsegraph-stream-3.0.3.tgz","fileCount":102,"unpackedSize":1417004,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCoPHu3q0mBK0RVyPYDL2svCitsfl8NHfhX8bH/0j1wAwIgKcWA+JuAZVU1FDAGJFIGEOfYVWloe/XvDPbbrLpfeqw="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiyQA2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo5UhAAnERgAgq7RzzjO9Z6lDOdbp+tXcaeY9w5H0rotHshVuh1M83v\r\nN8rOGwHMQD7Lu4oGeCsBH32BgqrgnuLL6UYgSFnAvVNc/IIuF+cxbsGk7/ME\r\nRqtgWapAbCNnRQ6XHboT30pci5AfcDWvghofTSeP7Z5njyYPtPc6FACv/MBK\r\nQMDvnuzaWDpexmdQAoHM8VypEz5SmCi2cZSWZVJPn0GtIn8MSYTCTweKQFdR\r\n7dCaBg6Kg9BiZWy7sRn47isRbl+S/SChf597XzfENc906iojBzed/H9IuTi+\r\nbaA1+kkwaI1sZeT6tZ5koEVFcqJ7IwnTYGYhUO/RIDOOkRWH8p4X6hfve98e\r\nO+nysY6Vg2TH9aZguWS9JKr1XPU2wOv7h4sl44OD8cBtH3JvqCeVWv6i+Bwi\r\n89EnwQmw/0t4WSnBp/VSEJfE9xVyMvPaPZV0EM3Iyi0Kgvob9lNsDdB7SRyA\r\nKfeUphHKhdZtzmAYGUJxe7dhUTTMz9GVbL+yu9xDatmsyzyWC32aYY4A2FKC\r\nf2QYuqI7o2+8c9pBAEzviEP6NjvKB0ZVNmUaR2i4YBvQ6Bdo+is1vQtdawt7\r\nHRD1zHzXO4hwj7+ZzFkw85MJ8fEPyH1JrTNDycbenZXWSjs+KRcisTrOhHIk\r\nZ7K7qIJOWrqjAXkf40WVAmAbImCoMTUs+sM=\r\n=ljkI\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-stream_3.0.3_1657339958616_0.22254371197423262"},"_hasShrinkwrap":false},"3.0.4-dev":{"name":"parsegraph-stream","version":"3.0.4-dev","description":"stream","main":"dist-prod/src/index.js","types":"dist-prod/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/stream.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/stream/issues"},"homepage":"https://github.com/parsegraph/stream#readme","devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-private-property-in-object":"^7.18.6","@babel/preset-env":"^7.18.9","@babel/preset-typescript":"^7.18.6","@babel/register":"^7.18.9","@types/chai":"^4.3.1","@types/jest":"^28.1.6","@types/node":"^18.0.6","@typescript-eslint/eslint-plugin":"^5.30.7","@typescript-eslint/parser":"^5.30.7","babel-jest":"^28.1.3","babel-loader":"^8.2.5","chai":"^4.3.6","electron":"^19.0.7","eslint":"^8.20.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.5.0","html-webpack-plugin":"^5.5.0","jest":"^28.1.3","jest-environment-jsdom":"^28.1.3","jsdom":"^20.0.0","jsdom-global":"^3.0.2","parsegraph-checkglerror":"^1.5.3","parsegraph-log":"^1.7.3","parsegraph-viewport":"^2.7.11","prettier":"^2.7.1","raw-loader":"^4.0.2","source-map-loader":"^4.0.0","source-map-support":"^0.5.21","ts-loader":"^9.3.1","ts-node":"^10.9.1","typedoc":"^0.23.8","typescript":"^4.7.4","webpack":"^5.73.0","webpack-cli":"^4.10.0"},"peerDependencies":{"parsegraph-checkglerror":"^1.5.3","parsegraph-log":"^1.7.3","parsegraph-viewport":"^2.7.11"},"dependencies":{"@babel/preset-react":"^7.18.6","@types/react":"^18.0.24","espree":"^9.4.1","esprima":"^4.0.1","fast-xml-parser":"^4.0.9","parsegraph-anthonylisp":"^2.1.2","react":"^18.2.0","react-reconciler":"^0.29.0","webpack-bundle-analyzer":"^4.7.0","yaml":"^2.1.1"},"readme":"# room\n\nThis is for Node projects:\n\n## Setup\n\n1. Pick a new package name.\n\n2. Go to https://github.com/parsegraph/ and create a new repository using that name.\n\n3. Clone latest microproject from https://github.com/parsegraph/room\n\n4. Run ./update-package-name.sh with your package name:\n\n<pre>\n  # Set the package name to test\n  ./update-package-name.sh test\n</pre>\n\n5. Commit (e.g. \"Give package a name\")\n\n6. Push the repository to Github.\n","readmeFilename":"README.md","_id":"parsegraph-stream@3.0.4-dev","_integrity":"sha512-FW1p+L1KCK10Bo0/kc1iZ3VE/TI+g2lOpikMXHXGbb0hwL4+y4CCTEKjIAdYKYzF2JlCaaf5qZANwBs6enFtaQ==","_resolved":"/home/runner/work/stream/stream/parsegraph-stream-dev.tgz","_from":"file:parsegraph-stream-dev.tgz","_nodeVersion":"18.12.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-FW1p+L1KCK10Bo0/kc1iZ3VE/TI+g2lOpikMXHXGbb0hwL4+y4CCTEKjIAdYKYzF2JlCaaf5qZANwBs6enFtaQ==","shasum":"4f61d709f490d07d5856b0fdd59a6f634b493f73","tarball":"https://registry.npmjs.org/parsegraph-stream/-/parsegraph-stream-3.0.4-dev.tgz","fileCount":192,"unpackedSize":10738515,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAivhQq+JAlNLc23bOTcQ53fEXohhXk42IAVtv+6aCSoAiA5WKxg5tprrK5uEipLVRGGaY5uVIk2bVDqsMaGkyPHOg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjffSaACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoR5w//UmqFEkchTlIC2y6omMLlvrPMvcNmyJ4biVZKbGFcq1ywqLAa\r\nQYhl+5rMxDJA9TkfrSLD1dr+5jil/oySN3VMI4NXCCjM6g5TI9do0jDMeEyk\r\nLE0u5bHWpNT72yGhGWTYIq7OVmI0SPkEHvWUI+hsFfe3wqcImjLgIhrmZS0u\r\n6HBngz3GK5GFIdHbJIUXW50KJURfphosNgrDm5uJkbZWVwfJsxx0y3c+y75j\r\noP2K3gd6tRYu9H9ZBJ/0n1ScxiwAFt7HcO4OHe9DcHkrG5klasAFPxFS3jiM\r\noGS4KS+vDATChBYBHJgSE2z5wF1ndsvDbbrqJliFZ+TsdxDQOJDefjJtWV79\r\nMbp17pJKYYwBh+u+1CxtzXWBpLS55k07sceULjwVdz2R9AQYVyIeKRMDDZiw\r\nVsCW4WUB8eeXJCJ3ZM9m3EV/eU/6hPVLiPYCvv25p20r+DtI4Gr7eF4+yeT6\r\npChI6ihDEG7Hob14B40ScTlOwvrrh2FlLQc67ZW1UDXdSdWiQLWxeHJTMaS2\r\nUyZb+UBn6KBzeX3pm01h5z/EZvWSoAbsedANZ8P+oDmqRql5ca8pq8vwomfG\r\nSBszvKKESJEsW5y3BItQVHYW9dntxb5nOGjUIyy9vwv9DlLoHNtCLazATPtg\r\nwV9KcUaipL290d4mKcj1AyLoi/SvBHMV0jQ=\r\n=ZBrU\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-stream_3.0.4-dev_1669199002334_0.7026193778472156"},"_hasShrinkwrap":false},"3.0.4":{"name":"parsegraph-stream","version":"3.0.4","description":"stream","main":"dist-prod/src/index.js","types":"dist-prod/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/stream.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/stream/issues"},"homepage":"https://github.com/parsegraph/stream#readme","devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-private-property-in-object":"^7.18.6","@babel/preset-env":"^7.18.9","@babel/preset-typescript":"^7.18.6","@babel/register":"^7.18.9","@types/chai":"^4.3.1","@types/jest":"^28.1.6","@types/node":"^18.0.6","@typescript-eslint/eslint-plugin":"^5.30.7","@typescript-eslint/parser":"^5.30.7","babel-jest":"^28.1.3","babel-loader":"^8.2.5","chai":"^4.3.6","electron":"^19.0.7","eslint":"^8.20.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.5.0","html-webpack-plugin":"^5.5.0","jest":"^28.1.3","jest-environment-jsdom":"^28.1.3","jsdom":"^20.0.0","jsdom-global":"^3.0.2","parsegraph-checkglerror":"^1.5.3","parsegraph-log":"^1.7.3","parsegraph-viewport":"^2.7.11","prettier":"^2.7.1","raw-loader":"^4.0.2","source-map-loader":"^4.0.0","source-map-support":"^0.5.21","ts-loader":"^9.3.1","ts-node":"^10.9.1","typedoc":"^0.23.8","typescript":"^4.7.4","webpack":"^5.73.0","webpack-cli":"^4.10.0"},"peerDependencies":{"parsegraph-checkglerror":"^1.5.3","parsegraph-log":"^1.7.3","parsegraph-viewport":"^2.7.11"},"dependencies":{"@babel/preset-react":"^7.18.6","@types/react":"^18.0.24","espree":"^9.4.1","esprima":"^4.0.1","fast-xml-parser":"^4.0.9","parsegraph-anthonylisp":"^2.1.2","react":"^18.2.0","react-reconciler":"^0.29.0","webpack-bundle-analyzer":"^4.7.0","yaml":"^2.1.1"},"_id":"parsegraph-stream@3.0.4","_integrity":"sha512-n+ukzvcCLH5Hv4tIRdldBdSBXs7XyirFSH50uwV0sliAGmCw3OUO2ZLyyvbHPJY6FOuMxa8lQN9jdCGQiMKB4Q==","_resolved":"/home/runner/work/stream/stream/parsegraph-stream-prod.tgz","_from":"file:parsegraph-stream-prod.tgz","_nodeVersion":"16.18.0","_npmVersion":"8.19.2","dist":{"integrity":"sha512-n+ukzvcCLH5Hv4tIRdldBdSBXs7XyirFSH50uwV0sliAGmCw3OUO2ZLyyvbHPJY6FOuMxa8lQN9jdCGQiMKB4Q==","shasum":"ad1e126d942ebbc778f1a646a1732d20e6178881","tarball":"https://registry.npmjs.org/parsegraph-stream/-/parsegraph-stream-3.0.4.tgz","fileCount":194,"unpackedSize":4161466,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD/RhEyT7wkjdip20AOny4D7u1b0nfLMFl5QIn4A7AYPgIhAK9xukiAB4VV6SQw2XEcJJxEcahokcvm+hvxUayn/Zd1"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjffYGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq87w//Rs0S+m+fOz0QM1amCMUAXCqXGZ+Mog018evjA0UHzoO92AXg\r\nsBgaiSXacVPrW9vmnU4s6G70k0FjCHxUZUWJoKEeo0UYEEocGPzomTO6LOpx\r\nZ6FKT+MhX4Jdw3fc6IhMddvDyoGleooyeyVD8i1+HYqmXOcJ1LkpXiCVDNlD\r\ng11sW0BiQ/Tx0Spc3y56WBQwKBvqlji9pqoxyjyChRu9pJ9+/obDcNoxqflJ\r\n0ANS34/r2PwW8Y1MKnrCTvjqjPg0Rb0zYDf1vMVLA67cg7S63E5hGeLNRj/h\r\nhk0iHznrlTI6poPxxXVL8mvjajzNTDNiEvAfNCeKC027awv3u/Zar/fwveFh\r\n9qtmNxdlJFWENdTZ1kAWUe2JtCobph7T7VauB2pA6aH+2LgTjuSgdhBTib/1\r\nDBCv++HYHL+38Gwt1jHatSUIx8JJGo5bQeeKx5MR29agyCpxzXlt8oZtr2Lf\r\nvpJ9NNTCN7CrKZYCgyCLn3MhZLfYmnMfIlPmxYF8It/NZjk30C26UtdB0bdf\r\nXAoTW71HsI1pvGZpb7PZYemCoZ6JECxkdCN+GUsPCyemERPtdSEJxCW4bi2h\r\n42/glxL17t19QKAbFsbLtQhTu21eIkUKm1mZg/gwtnfc5sYUG0iqH8A47niM\r\nrDh2S0PKDeb3vFCc9KuJKVSEjucCnhqeCPw=\r\n=WGIb\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-stream_3.0.4_1669199365853_0.11477246131213792"},"_hasShrinkwrap":false},"3.0.5-dev":{"name":"parsegraph-stream","version":"3.0.5-dev","description":"stream","main":"dist-prod/src/index.js","types":"dist-prod/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/stream.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/stream/issues"},"homepage":"https://github.com/parsegraph/stream#readme","devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-private-property-in-object":"^7.18.6","@babel/preset-env":"^7.18.9","@babel/preset-typescript":"^7.18.6","@babel/register":"^7.18.9","@types/chai":"^4.3.1","@types/jest":"^28.1.6","@types/node":"^18.0.6","@typescript-eslint/eslint-plugin":"^5.30.7","@typescript-eslint/parser":"^5.30.7","babel-jest":"^28.1.3","babel-loader":"^8.2.5","chai":"^4.3.6","electron":"^19.0.7","eslint":"^8.20.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.5.0","html-webpack-plugin":"^5.5.0","jest":"^28.1.3","jest-environment-jsdom":"^28.1.3","jsdom":"^20.0.0","jsdom-global":"^3.0.2","parsegraph-checkglerror":"^1.5.3","parsegraph-log":"^1.7.3","parsegraph-viewport":"^2.7.24","prettier":"^2.7.1","raw-loader":"^4.0.2","source-map-loader":"^4.0.0","source-map-support":"^0.5.21","ts-loader":"^9.3.1","ts-node":"^10.9.1","typedoc":"^0.23.8","typescript":"^4.7.4","webpack":"^5.73.0","webpack-cli":"^4.10.0"},"peerDependencies":{"parsegraph-checkglerror":"^1.5.3","parsegraph-log":"^1.7.3","parsegraph-viewport":"^2.7.24"},"dependencies":{"@babel/preset-react":"^7.18.6","@types/react":"^18.0.24","espree":"^9.4.1","esprima":"^4.0.1","fast-xml-parser":"^4.0.9","parsegraph-anthonylisp":"^2.1.2","react":"^18.2.0","react-reconciler":"^0.29.0","webpack-bundle-analyzer":"^4.7.0","yaml":"^2.1.1"},"readme":"# room\n\nThis is for Node projects:\n\n## Setup\n\n1. Pick a new package name.\n\n2. Go to https://github.com/parsegraph/ and create a new repository using that name.\n\n3. Clone latest microproject from https://github.com/parsegraph/room\n\n4. Run ./update-package-name.sh with your package name:\n\n<pre>\n  # Set the package name to test\n  ./update-package-name.sh test\n</pre>\n\n5. Commit (e.g. \"Give package a name\")\n\n6. Push the repository to Github.\n","readmeFilename":"README.md","_id":"parsegraph-stream@3.0.5-dev","_integrity":"sha512-R6dVeTMuVCGiNlg+3+oiwB2UzkYf99VFFr5+njRzS3JnKaWBJsG7f96jWugAIYW55qmY9EPm3+ScLJQNcsBLmg==","_resolved":"/home/runner/work/stream/stream/parsegraph-stream-dev.tgz","_from":"file:parsegraph-stream-dev.tgz","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-R6dVeTMuVCGiNlg+3+oiwB2UzkYf99VFFr5+njRzS3JnKaWBJsG7f96jWugAIYW55qmY9EPm3+ScLJQNcsBLmg==","shasum":"c6ccaff854cdbdb4fd94290665cf08dc6127a27f","tarball":"https://registry.npmjs.org/parsegraph-stream/-/parsegraph-stream-3.0.5-dev.tgz","fileCount":201,"unpackedSize":8974194,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDMOfW7hhHQUKvRqFa1HZIrhNyk8roAUTd2g0uy4HnC5gIgfiMsfsNLWe/McGUIDdIIL2Rc5r3y5ZzDMVcVTM8Pb8I="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjmqzqACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrXgA/+Jy05BAmc9zTk1uhqgt19mDn5a1rY2JV5Tup41DhHXDl4R1xN\r\nsjebiA9GxySMD/4Akmm5AUeGAhY3UMV68x8IpxgrVp0nIu0ps7FIfFEbyguH\r\n6RoHYiv7Jvp7AckVrN7mI85sDtv2JivMBRcVlf0S3PnZG1fX1hVDBTipy6ia\r\nl3WefDlAQ/pCZPZc2Wmlb1c2iQA2dZExeSVTx+cKJOLzCYw8m0DwRgboLycX\r\nE5uGwsTZ/bunSd5IVBYN+56hC7d5WRb4NRj+jNKi+7ymIb4keu2Pe240JCeJ\r\nwzrXYZzVgqw5Jz511IqTeox2zRj/anFiY5DRXqbv4yrwVDzACC993VmkAXZr\r\nJUYhPLjdP7d2FjJtSjj9hkn16E86vf4woXtnqhrDeiVUg/F+BQelKbs0kyfB\r\nTtJnq5WJ10PpbFFlTI8WXS/4i/RGVJllfbvFzf+4g/hIF7TufbmhJOGzRKeA\r\n5a6Pt44czlpo3L9ZRCqNCbWEbR2/Kfl5mPZkvN9N1Hl9K8AyOPavexGjp4cB\r\nsy+7rH1FxAIi5eNG+DZ0qSQlN+NCcHSbWrNBfJZLm+aNBH6zAHHEfOvkpd5W\r\naspzonhbzVav1CFKtHxtSQM1PPW05a7wcVo/z8/VJ1s7s7tMd2afgXGRoRBP\r\nyZCEFvw5+LJGj2H03UhJAuYNrlXEtktQv/o=\r\n=pTve\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-stream_3.0.5-dev_1671081194609_0.5269643563293189"},"_hasShrinkwrap":false},"3.0.5":{"name":"parsegraph-stream","version":"3.0.5","description":"stream","main":"dist-prod/src/index.js","types":"dist-prod/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/stream.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/stream/issues"},"homepage":"https://github.com/parsegraph/stream#readme","devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-private-property-in-object":"^7.18.6","@babel/preset-env":"^7.18.9","@babel/preset-typescript":"^7.18.6","@babel/register":"^7.18.9","@types/chai":"^4.3.1","@types/jest":"^28.1.6","@types/node":"^18.0.6","@typescript-eslint/eslint-plugin":"^5.30.7","@typescript-eslint/parser":"^5.30.7","babel-jest":"^28.1.3","babel-loader":"^8.2.5","chai":"^4.3.6","electron":"^19.0.7","eslint":"^8.20.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.5.0","html-webpack-plugin":"^5.5.0","jest":"^28.1.3","jest-environment-jsdom":"^28.1.3","jsdom":"^20.0.0","jsdom-global":"^3.0.2","parsegraph-checkglerror":"^1.5.3","parsegraph-log":"^1.7.3","parsegraph-viewport":"^2.7.24","prettier":"^2.7.1","raw-loader":"^4.0.2","source-map-loader":"^4.0.0","source-map-support":"^0.5.21","ts-loader":"^9.3.1","ts-node":"^10.9.1","typedoc":"^0.23.8","typescript":"^4.7.4","webpack":"^5.73.0","webpack-cli":"^4.10.0"},"peerDependencies":{"parsegraph-checkglerror":"^1.5.3","parsegraph-log":"^1.7.3","parsegraph-viewport":"^2.7.24"},"dependencies":{"@babel/preset-react":"^7.18.6","@types/react":"^18.0.24","espree":"^9.4.1","esprima":"^4.0.1","fast-xml-parser":"^4.0.9","parsegraph-anthonylisp":"^2.1.2","react":"^18.2.0","react-reconciler":"^0.29.0","webpack-bundle-analyzer":"^4.7.0","yaml":"^2.1.1"},"_id":"parsegraph-stream@3.0.5","_integrity":"sha512-VgfzrXzIgHy6KE/hFZyNKudKkMaZKojAaI5vyE1xZkL93si1rmJi1xe/TvbsC+WAnGs1NtsjnAwOeyhXVu6GUw==","_resolved":"/home/runner/work/stream/stream/parsegraph-stream-prod.tgz","_from":"file:parsegraph-stream-prod.tgz","_nodeVersion":"16.18.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-VgfzrXzIgHy6KE/hFZyNKudKkMaZKojAaI5vyE1xZkL93si1rmJi1xe/TvbsC+WAnGs1NtsjnAwOeyhXVu6GUw==","shasum":"6aa70d781bfcc528d68c3cdb281d3e8c2f630c00","tarball":"https://registry.npmjs.org/parsegraph-stream/-/parsegraph-stream-3.0.5.tgz","fileCount":205,"unpackedSize":3477680,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAEADMd92UjyqDFRL1emN/B49TB7CR1V/F/bBbbYSjjVAiEAkn6q+RjuiJAH9kDaq+h3VOarcyu2kJvSg6lGGqjuxcU="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjmq3WACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpGnQ//UjLWSTZGqArEWXqqoNsOu0yNtJ553JkHV+6fsTQqWZi/2wvm\r\nY2OH+AK33ZXQHt6S8R1krFwyK1ek12TMEytMdWkMhm12hbjlktnMqAoeuizg\r\nd8OYNmroA3a+AY1KYlxbIFjOKbkb8ydkhZ9u+O6AeB1/z13rxXd3vSiAmtnd\r\n+kkpoBshvvobyPrVxOW+cbfljPK1uD3Om9DWMZcbuPkvLFh3zOSby2RNm2EG\r\ng4IPk2LAlKCQpwT4Y0nBA23KAP4gauOz6AaYXa9Rp76LQhziYp5YshvTr2qQ\r\nk/oxaITqSfhRPvGTHTvQ1S8LZgVRi06lVfZzurqBk8nwTrTVRZ/NWhLEVTbo\r\nGFdmbK6EpFcRiusvVLyAKjwJ6/RfayM8mgVDInq+gtKKxZjbKGApEltjXpkc\r\nYaUZ/8BnQ14FIRpARmWBWfv4o1o/KVxb+G8UvbiR98LJ16Rr2NlgrG9tNoxL\r\nPLzkSrgsITxWr89iWucJ4DpDaOfKyOnDA4SFYHyh45Q2NJRwTV7VW3Q5nUOZ\r\nnYWyutVrKN7+lvAQdpCP3nfDsCSiEeiJz2/4Sh8/TMaZrvGny7i3zfnKARK5\r\nCt+rgc+I4fmQ/hCe8nOQcsnTZGD10WEtu8vD+5z/HXDq2ZRDS9ms+qn4uGPy\r\nKR0ktQdQp8O3kgVJV4z53Hw6kxIC+KHx7iY=\r\n=zO4w\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-stream_3.0.5_1671081430031_0.6029614548058766"},"_hasShrinkwrap":false},"3.0.6-dev":{"name":"parsegraph-stream","version":"3.0.6-dev","description":"stream","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/stream.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/stream/issues"},"homepage":"https://github.com/parsegraph/stream#readme","devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-private-property-in-object":"^7.18.6","@babel/preset-env":"^7.18.9","@babel/preset-typescript":"^7.18.6","@babel/register":"^7.18.9","@types/chai":"^4.3.1","@types/jest":"^28.1.6","@types/node":"^18.0.6","@typescript-eslint/eslint-plugin":"^5.30.7","@typescript-eslint/parser":"^5.30.7","babel-jest":"^28.1.3","babel-loader":"^8.2.5","chai":"^4.3.6","electron":"^19.0.7","eslint":"^8.20.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.5.0","html-webpack-plugin":"^5.5.0","jest":"^28.1.3","jest-environment-jsdom":"^28.1.3","jsdom":"^20.0.0","jsdom-global":"^3.0.2","parsegraph-checkglerror":"^1.5.3","parsegraph-log":"^1.7.3","parsegraph-viewport":"^2.7.24","prettier":"^2.7.1","raw-loader":"^4.0.2","source-map-loader":"^4.0.0","source-map-support":"^0.5.21","ts-loader":"^9.3.1","ts-node":"^10.9.1","typedoc":"^0.23.8","typescript":"^4.7.4","webpack":"^5.73.0","webpack-cli":"^4.10.0"},"peerDependencies":{"parsegraph-checkglerror":"^1.5.3","parsegraph-log":"^1.7.3","parsegraph-viewport":"^2.7.24"},"dependencies":{"@babel/preset-react":"^7.18.6","@types/react":"^18.0.24","espree":"^9.4.1","esprima":"^4.0.1","fast-xml-parser":"^4.0.9","parsegraph-anthonylisp":"^2.1.2","react":"^18.2.0","react-reconciler":"^0.29.0","webpack-bundle-analyzer":"^4.7.0","yaml":"^2.1.1"},"readme":"# room\n\nThis is for Node projects:\n\n## Setup\n\n1. Pick a new package name.\n\n2. Go to https://github.com/parsegraph/ and create a new repository using that name.\n\n3. Clone latest microproject from https://github.com/parsegraph/room\n\n4. Run ./update-package-name.sh with your package name:\n\n<pre>\n  # Set the package name to test\n  ./update-package-name.sh test\n</pre>\n\n5. Commit (e.g. \"Give package a name\")\n\n6. Push the repository to Github.\n","readmeFilename":"README.md","_id":"parsegraph-stream@3.0.6-dev","_integrity":"sha512-1m7yVs2wpjUd5ThXMRhWG/KVNV93dHeLJigOcn2w975TVqpnkQFrBI671C2AkKJcbkVyu3Ftwpmqr/uQqgLTYg==","_resolved":"/home/runner/work/stream/stream/parsegraph-stream-dev.tgz","_from":"file:parsegraph-stream-dev.tgz","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-1m7yVs2wpjUd5ThXMRhWG/KVNV93dHeLJigOcn2w975TVqpnkQFrBI671C2AkKJcbkVyu3Ftwpmqr/uQqgLTYg==","shasum":"297c6fc807fefa195be1db1433d784bcf9b0c2ae","tarball":"https://registry.npmjs.org/parsegraph-stream/-/parsegraph-stream-3.0.6-dev.tgz","fileCount":201,"unpackedSize":8974184,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC7ZUnXJCuTgzW+CzblqCtrn+Raw3K4BQTXZwGnKAF8IgIgVgkgzT4OEHY03XWlvL5pEkZBt12hJXqvvcLBeGzOCh4="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjnW/RACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrUJhAAmDF8QgzgvUdP8UYjgyuxB3ugEK3zi80pOLGi53PBbjS/dAwu\r\nZQd2DB9ljsLOvQln5mNkpis77mekTEXdk4IIx/nTY2XvIL0rvdpRhlceDZxh\r\n80ZMXsk+3kb/V+qjmV1fahy5fX6CEX4PIk03zMjb5Pu5jgD8nFGz5LyOSm6o\r\n3g28FwIUtChBBRsYutOzjFxB0cA8bC7yMy3O3GQgeNXAR+Vfn145AsmvOy//\r\n6j4j/FCS/u+5WGuc2hinL7NMEgw6xbiy17ebPBzHwQy3Ug+lK85RU4QQyrj7\r\nZ4TZ4J6LEqwdWB7wMRrrgi77eOl8grpWqMLGVCwN/JdOe1KtzcV0bR053/cH\r\nZUgEs+OShpU/H8eZgiUPj/z32KwVUXaZQpk7WblBDZBy8Rd3wkXjLZkKwaGm\r\nUx89uKJ64Ugfa/hlMyZbWfNLHAbLrKBOG3oCFaMG67KRRFO/pEAW6eAnE9Iy\r\nXIXFiHoOoO15uv7JXDjIPZS0xy1uL4WvTHmhhDKh3zhcKt9FlOhYM3hYjoMN\r\nQpNJWqNxd+SwLLikSFcIm8WRpX3FmoWwg8QdY6TRqX8bqEvuwtR3PBv6Rwfr\r\nPHGtPMlsx7jr030j9Adgn1tF8XvWpxry/ObckCYEPHiP5OeEK7osgsW7BcC2\r\nKBJ4YeCZnhN93SIrrooqsq/n/YdEtZCP4f0=\r\n=LOld\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-stream_3.0.6-dev_1671262161109_0.8624061738068878"},"_hasShrinkwrap":false},"3.0.6":{"name":"parsegraph-stream","version":"3.0.6","description":"stream","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/stream.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/stream/issues"},"homepage":"https://github.com/parsegraph/stream#readme","devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-private-property-in-object":"^7.18.6","@babel/preset-env":"^7.18.9","@babel/preset-typescript":"^7.18.6","@babel/register":"^7.18.9","@types/chai":"^4.3.1","@types/jest":"^28.1.6","@types/node":"^18.0.6","@typescript-eslint/eslint-plugin":"^5.30.7","@typescript-eslint/parser":"^5.30.7","babel-jest":"^28.1.3","babel-loader":"^8.2.5","chai":"^4.3.6","electron":"^19.0.7","eslint":"^8.20.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.5.0","html-webpack-plugin":"^5.5.0","jest":"^28.1.3","jest-environment-jsdom":"^28.1.3","jsdom":"^20.0.0","jsdom-global":"^3.0.2","parsegraph-checkglerror":"^1.5.3","parsegraph-log":"^1.7.3","parsegraph-viewport":"^2.7.24","prettier":"^2.7.1","raw-loader":"^4.0.2","source-map-loader":"^4.0.0","source-map-support":"^0.5.21","ts-loader":"^9.3.1","ts-node":"^10.9.1","typedoc":"^0.23.8","typescript":"^4.7.4","webpack":"^5.73.0","webpack-cli":"^4.10.0"},"peerDependencies":{"parsegraph-checkglerror":"^1.5.3","parsegraph-log":"^1.7.3","parsegraph-viewport":"^2.7.24"},"dependencies":{"@babel/preset-react":"^7.18.6","@types/react":"^18.0.24","espree":"^9.4.1","esprima":"^4.0.1","fast-xml-parser":"^4.0.9","parsegraph-anthonylisp":"^2.1.2","react":"^18.2.0","react-reconciler":"^0.29.0","webpack-bundle-analyzer":"^4.7.0","yaml":"^2.1.1"},"_id":"parsegraph-stream@3.0.6","_integrity":"sha512-0ZTxHeGLwFqsBX0C45JiCTDeLK9DvruksRS2sTC4IsZurMhEBUxkV7/a/2RKXoQpl6tYenE9LQJZz61tgatczQ==","_resolved":"/home/runner/work/stream/stream/parsegraph-stream-prod.tgz","_from":"file:parsegraph-stream-prod.tgz","_nodeVersion":"16.18.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-0ZTxHeGLwFqsBX0C45JiCTDeLK9DvruksRS2sTC4IsZurMhEBUxkV7/a/2RKXoQpl6tYenE9LQJZz61tgatczQ==","shasum":"cce96034abfe8d7303c1c1e700862bf81a2f36a1","tarball":"https://registry.npmjs.org/parsegraph-stream/-/parsegraph-stream-3.0.6.tgz","fileCount":205,"unpackedSize":3477670,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD1y2di2vePwSb4JqVZfGA071BmIjv3fIo0LkZkT2HUVgIhAL6+Akf8KeMEpN7KgEUL1XDA8sq0s9A6jEfU0mzmHTex"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjnXEmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpKsxAAhRdC3JLKbsJMecAotIkIm19/WG4bHvpUZHe6h4s17hhlCher\r\nmog0Vc1Qwgds7Oo+OfHzKvdB0O8I34r5JtwA8BpBkr6Vu6T9bhlyNvuwnWVw\r\nMD/T2AJahOzulC9083kNoSWFK58bS3x3ma7ooy6AvuS5/JsK99BbaibX4uK7\r\nFg7NQWqgbVJFPbYqkl/kb90S3fo+9GjR1icSLNZ+FhzKsNWboGLnAyiQHKZ5\r\nzsLPnm307+gLOh/ncXB+QYaQ+ZRkFxWmFgHlEgLj3jvzTupkq8D42QJ4atIH\r\nJme8V8F0450OQf9+FCicITKGCtV3Wi878fU3Eekmd7/65pFzWA3SeSUh5rj9\r\nb8+ca6hebcqCp4QzMDQ71ZddQx7KIUUNGjnvoqG/Rtl6cKRw6KMoUG5vWEZZ\r\ntRsFbNVpat2vO7MYdFc7p8oZ1oS11yr4QAAdzGx8KVpMsVOmBsp82MiJkdHH\r\ndNBqE2DY+ROlPzQkGxAWh9FMZgl9ky6K6FKY1ogjqdOHofVzKv8YMANHNt5D\r\nptcay/ypz9aOoWw2fssQsHReyMpZmkP3gNaegw6IEhOUtTGh8zfWar/mJL6W\r\n3LmLXg+jpuTKiJahajs6yt2A5KG6RMWwJh6odr4jVQjBPTsgdcfP/rX+z3ZY\r\nDfzS4Z8V/6W8grglaU4fvMpEWooK+MWOuac=\r\n=WS4x\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-stream_3.0.6_1671262501912_0.1984617451552062"},"_hasShrinkwrap":false},"3.0.7-dev":{"name":"parsegraph-stream","version":"3.0.7-dev","description":"stream","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/stream.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/stream/issues"},"homepage":"https://github.com/parsegraph/stream#readme","devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-private-property-in-object":"^7.18.6","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@babel/preset-typescript":"^7.18.6","@babel/register":"^7.18.9","@types/chai":"^4.3.1","@types/jest":"^28.1.6","@types/node":"^18.0.6","@types/react":"^18.0.24","@typescript-eslint/eslint-plugin":"^5.30.7","@typescript-eslint/parser":"^5.30.7","babel-jest":"^28.1.3","babel-loader":"^8.2.5","chai":"^4.3.6","electron":"^19.0.7","eslint":"^8.20.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.5.0","html-webpack-plugin":"^5.5.0","jest":"^28.1.3","jest-environment-jsdom":"^28.1.3","jsdom":"^20.0.0","jsdom-global":"^3.0.2","parsegraph-checkglerror":"^1.5.5","parsegraph-log":"^1.7.5","parsegraph-viewport":"^2.9.0","prettier":"^2.7.1","raw-loader":"^4.0.2","source-map-loader":"^4.0.0","source-map-support":"^0.5.21","ts-loader":"^9.3.1","ts-node":"^10.9.1","typedoc":"^0.23.8","typescript":"^4.7.4","webpack":"^5.73.0","webpack-cli":"^4.10.0"},"peerDependencies":{"parsegraph-checkglerror":"^1.5.5","parsegraph-log":"^1.7.5","parsegraph-viewport":"^2.9.0"},"dependencies":{"espree":"^9.4.1","esprima":"^4.0.1","fast-xml-parser":"^4.0.9","parsegraph-anthonylisp":"^2.1.2","react":"^18.2.0","react-reconciler":"^0.29.0","webpack-bundle-analyzer":"^4.7.0","yaml":"^2.1.1"},"readme":"# room\n\nThis is for Node projects:\n\n## Setup\n\n1. Pick a new package name.\n\n2. Go to https://github.com/parsegraph/ and create a new repository using that name.\n\n3. Clone latest microproject from https://github.com/parsegraph/room\n\n4. Run ./update-package-name.sh with your package name:\n\n<pre>\n  # Set the package name to test\n  ./update-package-name.sh test\n</pre>\n\n5. Commit (e.g. \"Give package a name\")\n\n6. Push the repository to Github.\n","readmeFilename":"README.md","_id":"parsegraph-stream@3.0.7-dev","_integrity":"sha512-qDBwqsJshKXiWzEMVi+3QkbaKa+1UED9HJkiPyFljMRkJp2FTWfhRiN+kuMEPDdC2RO6Mn+/brkER4baqauDYg==","_resolved":"/home/runner/work/stream/stream/parsegraph-stream-dev.tgz","_from":"file:parsegraph-stream-dev.tgz","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-qDBwqsJshKXiWzEMVi+3QkbaKa+1UED9HJkiPyFljMRkJp2FTWfhRiN+kuMEPDdC2RO6Mn+/brkER4baqauDYg==","shasum":"4e19668c5c72d5ef6336ff8f2014d184740f4862","tarball":"https://registry.npmjs.org/parsegraph-stream/-/parsegraph-stream-3.0.7-dev.tgz","fileCount":201,"unpackedSize":9414556,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFpKI8bSKEajPSGE4hP8BmrnYx4t5ziMLNQ+iJ9FDcm0AiBocH4xX0XEmTX6lNA7szNMcHEVEViyj6SYdxU8myahCQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjtmSFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrgXQ/+JHeV8NQ+cxo+lfn66ef63DDsnkrcveRFQrbwK132uLJF7hhl\r\nujNzxF/lXW2cfpRagpJsEwe5TYEed6Z4dQJ0B8TbUrSV6cm7jmrm/6Egd5td\r\ncAlUIPkhRpOuXNYKeHSCisv1/dSHHHGc2itx9npPleDpCtTvhGd8JiccXGj/\r\nCcyufdyCzqF00gZQ1Ik+6alH25KSsqZ01LPBAHHp5baPLsx0eeYsF9nr9pfK\r\nG9SOJs33moKDpgka5nzl8OkwZQyPgZ5TwAYUjt3s4KcQoJMa+PHAHtxX/6Km\r\nnk15XKc5jarbMQg6Qs2H9GtHCDuqACmAJOsDNE27H1WPbh5JNM+iUKWI23wf\r\nIPHtZXw7ia97ctvA+u0HL04mxQRGjSHlJqSZU4uqgkDmoRl9FovxuLstVqLe\r\nuSCPOmm0hgZZRDTpBcKc18wQak6HcWwX8/jfgG3AwcRRVENVxZJNTjhsvj4l\r\nWpQExYeKbC8cE1IZHnBrnOUY5YW4GI1sFo3bZFNReszrERdHB6qjLC7vOYGC\r\nOudl8V6EBv6ElXU662AGJkzWcy9xI6Rjb8Xl2B8JdsiW2AwFxXEI8WJmhbbo\r\nna4bzIgr6RNuO/ZIY23Te/oVFrOJZ9cvCIpIaEO9AUrq7CZKkoaXqDuAlDxn\r\nXBvXZGLdPZ12vWUjhIUXO1pnAY3aAaYOvo8=\r\n=wG05\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-stream_3.0.7-dev_1672897669591_0.1400700363586027"},"_hasShrinkwrap":false},"3.0.7":{"name":"parsegraph-stream","version":"3.0.7","description":"stream","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/stream.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/stream/issues"},"homepage":"https://github.com/parsegraph/stream#readme","devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-private-property-in-object":"^7.18.6","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@babel/preset-typescript":"^7.18.6","@babel/register":"^7.18.9","@types/chai":"^4.3.1","@types/jest":"^28.1.6","@types/node":"^18.0.6","@types/react":"^18.0.24","@typescript-eslint/eslint-plugin":"^5.30.7","@typescript-eslint/parser":"^5.30.7","babel-jest":"^28.1.3","babel-loader":"^8.2.5","chai":"^4.3.6","electron":"^19.0.7","eslint":"^8.20.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.5.0","html-webpack-plugin":"^5.5.0","jest":"^28.1.3","jest-environment-jsdom":"^28.1.3","jsdom":"^20.0.0","jsdom-global":"^3.0.2","parsegraph-checkglerror":"^1.5.5","parsegraph-log":"^1.7.5","parsegraph-viewport":"^2.9.0","prettier":"^2.7.1","raw-loader":"^4.0.2","source-map-loader":"^4.0.0","source-map-support":"^0.5.21","ts-loader":"^9.3.1","ts-node":"^10.9.1","typedoc":"^0.23.8","typescript":"^4.7.4","webpack":"^5.73.0","webpack-cli":"^4.10.0"},"peerDependencies":{"parsegraph-checkglerror":"^1.5.5","parsegraph-log":"^1.7.5","parsegraph-viewport":"^2.9.0"},"dependencies":{"espree":"^9.4.1","esprima":"^4.0.1","fast-xml-parser":"^4.0.9","parsegraph-anthonylisp":"^2.1.2","react":"^18.2.0","react-reconciler":"^0.29.0","webpack-bundle-analyzer":"^4.7.0","yaml":"^2.1.1"},"_id":"parsegraph-stream@3.0.7","_integrity":"sha512-7pZteya9btQ3zvKlMFkPckgfu0UP72rnVHve3/jl0OpAKPR5ZiY88dO/KEJUQe2+w7ZsLPQ7HFUYq/vwyhxmtA==","_resolved":"/home/runner/work/stream/stream/parsegraph-stream-prod.tgz","_from":"file:parsegraph-stream-prod.tgz","_nodeVersion":"16.18.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-7pZteya9btQ3zvKlMFkPckgfu0UP72rnVHve3/jl0OpAKPR5ZiY88dO/KEJUQe2+w7ZsLPQ7HFUYq/vwyhxmtA==","shasum":"b5e89f14dd2593997c945e9ddadf671b6a6b834d","tarball":"https://registry.npmjs.org/parsegraph-stream/-/parsegraph-stream-3.0.7.tgz","fileCount":205,"unpackedSize":3642140,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBV30KRVLV/FnzBuqk4QKUwyo2MQvNZdUlKxmm2Whc+jAiEAmaFB85jYt5B+jvMoJlwYqLyLB0QkmmEU+SECaTHl1Mw="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjtmV0ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp/Qg/7BalDIHDrpJitAd0SxI2glO05GTvZxNM8WNYUnSqgQYg3Nu09\r\nDXzLLWuz35fKH6mg50dyNf3ldqn+RHyN72EdCBQLhwcC1BXo5pzapewF2Km1\r\nvA+yBAe/hNAHzEqheCTeRC4hyseGRU/G2Nvo5VzUoHSCG1gC8SIpaR+HXzJo\r\ndaqQbyvwYiuo0zzutWlMZQo3BlCLmaBV9Y3QpXo6qwMwLQW0JMz6GU//zo0t\r\nyRPzHoEoQlX9ToJudsHMQZ0qFC26lC5esbOnprEpV/Ke3/cSTDAK17Wn/id3\r\nwEpm6wq8sgue9XL37s11CW57BVSPNHpvlSq812Ww8dYaVqwslJYNyh5p7uDK\r\n/+h6CzTYWb3H5f8+K5FeDh86rplfirkvdWPrajpqvslOMA8jONZxCN32Ge2R\r\nuIz9OCtTuvlvxLBfyaTVZiRPliyP1m6w52XPVU89j+4xocsk7TdikRIM7mGj\r\nWeJYmf084N8vYPCKUY/goUAeOouyOBI9b0ufhRcW2rCqFuzyh9fAkayovCsm\r\nj5Q8q1ILuVfoMUUNT2VFdsmPnzHIpaFyHjtOL8rksc6cBYRiFLBTv44LfW0t\r\nd+HVm2zeI1R3Vi0+H3WQ0MTFiA54i2WfvqYzRdlImqNkNsfFbyZfWmyLTKNV\r\nli4Sy2f9vXN8wrMJM961XzWzO+aj/OM53M0=\r\n=r322\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-stream_3.0.7_1672897908216_0.6922410140148367"},"_hasShrinkwrap":false},"3.0.8-dev":{"name":"parsegraph-stream","version":"3.0.8-dev","description":"stream","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/stream.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/stream/issues"},"homepage":"https://github.com/parsegraph/stream#readme","devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-private-property-in-object":"^7.18.6","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@babel/preset-typescript":"^7.18.6","@babel/register":"^7.18.9","@types/chai":"^4.3.1","@types/jest":"^28.1.6","@types/node":"^18.0.6","@types/react":"^18.0.24","@typescript-eslint/eslint-plugin":"^5.30.7","@typescript-eslint/parser":"^5.30.7","babel-jest":"^28.1.3","babel-loader":"^8.2.5","chai":"^4.3.6","electron":"^19.0.7","eslint":"^8.20.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.5.0","html-webpack-plugin":"^5.5.0","jest":"^28.1.3","jest-environment-jsdom":"^28.1.3","jsdom":"^20.0.0","jsdom-global":"^3.0.2","parsegraph-checkglerror":"^1.5.5","parsegraph-log":"^1.9.0","parsegraph-viewport":"^2.9.8","prettier":"^2.7.1","raw-loader":"^4.0.2","source-map-loader":"^4.0.0","source-map-support":"^0.5.21","ts-loader":"^9.3.1","ts-node":"^10.9.1","typedoc":"^0.23.8","typescript":"^4.7.4","webpack":"^5.73.0","webpack-cli":"^4.10.0"},"peerDependencies":{"parsegraph-checkglerror":"^1.5.5","parsegraph-log":"^1.9.0","parsegraph-viewport":"^2.9.8"},"dependencies":{"espree":"^9.4.1","esprima":"^4.0.1","fast-xml-parser":"^4.0.9","parsegraph-anthonylisp":"^2.1.2","react":"^18.2.0","react-reconciler":"^0.29.0","webpack-bundle-analyzer":"^4.7.0","yaml":"^2.1.1"},"readme":"# room\n\nThis is for Node projects:\n\n## Setup\n\n1. Pick a new package name.\n\n2. Go to https://github.com/parsegraph/ and create a new repository using that name.\n\n3. Clone latest microproject from https://github.com/parsegraph/room\n\n4. Run ./update-package-name.sh with your package name:\n\n<pre>\n  # Set the package name to test\n  ./update-package-name.sh test\n</pre>\n\n5. Commit (e.g. \"Give package a name\")\n\n6. Push the repository to Github.\n","readmeFilename":"README.md","_id":"parsegraph-stream@3.0.8-dev","_integrity":"sha512-4YjMuatW1zMkw9tU2Vjvh7cm4ZMKpA9MeNNQyZ49BL5PgSRILUfahTvgVmOgSmB6HUE6CelZF3/kx9RbJTOj8Q==","_resolved":"/home/runner/work/stream/stream/parsegraph-stream-dev.tgz","_from":"file:parsegraph-stream-dev.tgz","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-4YjMuatW1zMkw9tU2Vjvh7cm4ZMKpA9MeNNQyZ49BL5PgSRILUfahTvgVmOgSmB6HUE6CelZF3/kx9RbJTOj8Q==","shasum":"b0485a38c1dc40b015322e0166b5aae4d5208177","tarball":"https://registry.npmjs.org/parsegraph-stream/-/parsegraph-stream-3.0.8-dev.tgz","fileCount":201,"unpackedSize":9285996,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDxzn9S6IWM/zxVViWRYL2kxRwhtFvxLOQAGCCfKXlR6QIgZDM+4gQDGEEYSg2HIGhmdrEuafaM9I9nDmmqshLJWD0="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjvSEHACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoFpA/7BCYEU1o9JGemRHjosv1y8RM74eL+uL1ShFyIxNToTpZFrM1Z\r\nIZL7QsTIRhYiwF+7WXw2HcRpnndqgqhLMGgL+ZrfFttaCsZxFF5J6nRIGQ4F\r\njaLvrbm0hFMDuhDSc6bqa1VTSQdNzc78q+cN7VbnQfSCHqV+PhtHFyKKx8xX\r\ndxC1D6nXe+YfZWuaUCNI9+XOrYOhSBKs7wMwRCN7s0iW7gD45hV8JQ88TO35\r\nrMPxT4su/g1YRrS3PMJ0wRxINu8BLdy7Uw/SThqWCmuz9NhVcuDZZ5J2pdlT\r\nNLnPe/p8BUNPmmRBtVub6CRTDzs+s4nFvq/sYfNjF+T7opyeNYEA+ssdCWoS\r\nFsuwqEVk65uk459lRdkXoYrWhkmQmtVr9Rq1+6gSDa9soESLwOJZOBegnha4\r\npZ+sbgWUsn5/Ea3lKGMk7jkfXJ4ojhbvhDq7MzOde1y7oxreRHjejEtfso3o\r\nu5LcMR3NdEhTHuqWjt4//e7CC7ye4F9r5DifaC890zHE5/bwiv3FCCjUmAwz\r\nyN9Ws3eK+qODLOX0qGYIFdjz/bKDesn/TxZ6J0KilZn/2FcXhFlAdRHIp+VQ\r\nR6rKFBChZ4a0G7lNVF6xgMZz94QLX8cNeWcAKHK2DSOENb0fI6Fo/I1dmn8k\r\nn3rLn5N7DwTVf7jy06JOvQ82YTAybVj6CO0=\r\n=AHmL\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-stream_3.0.8-dev_1673339142758_0.4377739889521348"},"_hasShrinkwrap":false},"3.0.8":{"name":"parsegraph-stream","version":"3.0.8","description":"stream","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/stream.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/stream/issues"},"homepage":"https://github.com/parsegraph/stream#readme","devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-private-property-in-object":"^7.18.6","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@babel/preset-typescript":"^7.18.6","@babel/register":"^7.18.9","@types/chai":"^4.3.1","@types/jest":"^28.1.6","@types/node":"^18.0.6","@types/react":"^18.0.24","@typescript-eslint/eslint-plugin":"^5.30.7","@typescript-eslint/parser":"^5.30.7","babel-jest":"^28.1.3","babel-loader":"^8.2.5","chai":"^4.3.6","electron":"^19.0.7","eslint":"^8.20.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.5.0","html-webpack-plugin":"^5.5.0","jest":"^28.1.3","jest-environment-jsdom":"^28.1.3","jsdom":"^20.0.0","jsdom-global":"^3.0.2","parsegraph-checkglerror":"^1.5.5","parsegraph-log":"^1.9.0","parsegraph-viewport":"^2.9.8","prettier":"^2.7.1","raw-loader":"^4.0.2","source-map-loader":"^4.0.0","source-map-support":"^0.5.21","ts-loader":"^9.3.1","ts-node":"^10.9.1","typedoc":"^0.23.8","typescript":"^4.7.4","webpack":"^5.73.0","webpack-cli":"^4.10.0"},"peerDependencies":{"parsegraph-checkglerror":"^1.5.5","parsegraph-log":"^1.9.0","parsegraph-viewport":"^2.9.8"},"dependencies":{"espree":"^9.4.1","esprima":"^4.0.1","fast-xml-parser":"^4.0.9","parsegraph-anthonylisp":"^2.1.2","react":"^18.2.0","react-reconciler":"^0.29.0","webpack-bundle-analyzer":"^4.7.0","yaml":"^2.1.1"},"_id":"parsegraph-stream@3.0.8","_integrity":"sha512-TCD01VtgjHqiJbhgIDsBVv9GyjDFfy/7uFcnfIlKJM7gJEdllu3JTFO4pmDbFFRq/4y04d85INU+BCIJQmaYbw==","_resolved":"/home/runner/work/stream/stream/parsegraph-stream-prod.tgz","_from":"file:parsegraph-stream-prod.tgz","_nodeVersion":"16.18.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-TCD01VtgjHqiJbhgIDsBVv9GyjDFfy/7uFcnfIlKJM7gJEdllu3JTFO4pmDbFFRq/4y04d85INU+BCIJQmaYbw==","shasum":"adf14981a351e674a43ce3db41395b386e589f60","tarball":"https://registry.npmjs.org/parsegraph-stream/-/parsegraph-stream-3.0.8.tgz","fileCount":205,"unpackedSize":3594816,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDdzJz1rf2O5/Go13F2aNaR6YIg3npNvTRLn1C84EjwqgIgStABARCfozNrAuWfodaSoAlVtISDWQmgHdCnNiA9SRs="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjvSH9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmokcA/7BAKAqaeLiJQ8MRwBSa1ej3J5pEL5EeIxVHKumviicBlOcOe3\r\nKrf6FeiilMbTp1yK5v7XSgR87itPAIDQJkGosD8QeaV54T+mwWKSOcrsLhqW\r\nHqRuIuj6HJBMhrk6EsQ44Y4lFyATFVOLjCK8vQCqxWyJefLrd6DMJLDdC0HY\r\n92FAuYYU2sBwulGieqXu+EEqQL6LQZDJtuH4R3bnZr2QMhCqikgPzdYVyUPm\r\nKwmMSshEa7O3li7O0opovaJhyiglgNzuxE5wLBPshieSi5tnmYvmUh2xAGPY\r\nRhvH3mKo8AEnoNtxEFUgomUF0MA84O7D0FF4PRhHkQJAHoBmDBm1qQwq4A4T\r\nlQJm7ocP7fxXxQa3cjwRApPhR4iAJb/O2aLO654h4AynBC2oD8xYEWhPheC9\r\nQaEPH8G+KrPdAtheotkgFz87M1AEOh2MS+aciKtprY1+QicEoAKtQx+Y6HmB\r\nKJOko1K7NmPsrqKd2JsxlG3JGC4zPNlVo8GqDBTmJCZ2HZNZ3wPeTYw+g4zi\r\nzzXle12KHWhFV3FkOZGFEylYH9Yj/1d6EYurrUsTdpTY9GNU4QKQj2disLbb\r\n2xHSgtIUBQFRqikcLBxbKCNnbIOoKZGQCv7LJz6gjoj7sIbJvf67Dt2MaviX\r\nNJ1drKCV5RpMBXRJjdzLGeKzL+f+DgEU8VI=\r\n=QqRT\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-stream_3.0.8_1673339388728_0.927306415136036"},"_hasShrinkwrap":false},"3.0.9-dev":{"name":"parsegraph-stream","version":"3.0.9-dev","description":"stream","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/stream.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/stream/issues"},"homepage":"https://github.com/parsegraph/stream#readme","devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-private-property-in-object":"^7.18.6","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@babel/preset-typescript":"^7.18.6","@babel/register":"^7.18.9","@types/chai":"^4.3.1","@types/jest":"^28.1.6","@types/node":"^18.0.6","@types/react":"^18.0.24","@typescript-eslint/eslint-plugin":"^5.30.7","@typescript-eslint/parser":"^5.30.7","babel-jest":"^28.1.3","babel-loader":"^8.2.5","chai":"^4.3.6","electron":"^19.0.7","eslint":"^8.20.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.5.0","html-webpack-plugin":"^5.5.0","jest":"^28.1.3","jest-environment-jsdom":"^28.1.3","jsdom":"^20.0.0","jsdom-global":"^3.0.2","parsegraph-checkglerror":"^1.5.5","parsegraph-log":"^1.9.0","parsegraph-viewport":"^2.9.8","prettier":"^2.7.1","raw-loader":"^4.0.2","source-map-loader":"^4.0.0","source-map-support":"^0.5.21","ts-loader":"^9.3.1","ts-node":"^10.9.1","typedoc":"^0.23.8","typescript":"^4.7.4","webpack":"^5.73.0","webpack-cli":"^4.10.0"},"peerDependencies":{"parsegraph-checkglerror":"^1.5.5","parsegraph-log":"^1.9.0","parsegraph-viewport":"^2.9.8"},"dependencies":{"espree":"^9.4.1","esprima":"^4.0.1","fast-xml-parser":"^4.0.9","parsegraph-anthonylisp":"^2.1.2","react":"^18.2.0","react-reconciler":"^0.29.0","webpack-bundle-analyzer":"^4.7.0","yaml":"^2.1.1"},"readme":"# room\n\nThis is for Node projects:\n\n## Setup\n\n1. Pick a new package name.\n\n2. Go to https://github.com/parsegraph/ and create a new repository using that name.\n\n3. Clone latest microproject from https://github.com/parsegraph/room\n\n4. Run ./update-package-name.sh with your package name:\n\n<pre>\n  # Set the package name to test\n  ./update-package-name.sh test\n</pre>\n\n5. Commit (e.g. \"Give package a name\")\n\n6. Push the repository to Github.\n","readmeFilename":"README.md","_id":"parsegraph-stream@3.0.9-dev","_integrity":"sha512-tzSyztBIaecmS1RrWnbtDuMOpfyX1fGGDciKIT5lDjO8D9RJLtocl5H+6L7R3Jq2BnAwVVn74KAAV/OIF5HIvA==","_resolved":"/home/runner/work/stream/stream/parsegraph-stream-dev.tgz","_from":"file:parsegraph-stream-dev.tgz","_nodeVersion":"18.12.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-tzSyztBIaecmS1RrWnbtDuMOpfyX1fGGDciKIT5lDjO8D9RJLtocl5H+6L7R3Jq2BnAwVVn74KAAV/OIF5HIvA==","shasum":"3620dfed184cb2b0e9f7db5d069ca7d0016e46a1","tarball":"https://registry.npmjs.org/parsegraph-stream/-/parsegraph-stream-3.0.9-dev.tgz","fileCount":201,"unpackedSize":9287897,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFfgy7kKt5GtoTM4D0Srmn2JmewnH/abM/l40ThCq1tXAiAcxXK9M7zr2jYc+x15FUxAcd9qyaj7CkKodyzhAu9NdA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjvUEWACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpUVw/9FdNW2YSznIdyqVjqJ+CsBaZuhN+eZmBjVBsFK+PswsQf7vwd\r\nNyAml3mEy3NAl6Kwi7UE202PxjQLrFe0RxirprSmPSyfX+fvyTjNq56oKjQJ\r\n2kHhctj2E6C5qiU533mp/BJRrfiHchfb0NFbgmNjCNYq691egEWJkmN/Mdo0\r\nEnhspeEVP24jVAc3kJBxbvI2vLY+LC429VyhTMEVe3F0O5QrwAyNQDDDRDj0\r\nVnwbFPsI3Kk0hNamZlm15cWwqpWqxH488wVPTzGhASI5Xhaw9NpB92fCu0Vq\r\ncjdAhW3F3kPcVY3mgo8D01gaI5Coet/RGW4kLiEGDjUq0qUVeAYvNZt5+6j2\r\nSSNmXVH4xpSwAzSMS2RTAvLNMWz1MKz9hlyBaHisJfNJWta8jPbwIwzre18w\r\nRCi6pCD4fEh4EHBA03cfmdr4I9pI8mrDJkjrzhyVNi4uxrLyLyMnCOOCHKL2\r\nAHe1lnTbmBxHEJpSaDLMSv9d8sCxz6e0IrZdSpStGq8YQSWj2jR1loxDKdiA\r\nTzWLOmpJpC89bCvkrbKAXMHVhhjyIn5hrzqC+GfU1yQHU37HE8Kr7yKYsHEU\r\npKbrdF4mlMLRK11F1mgIiXPXVkvFS7I5md0gjQBRrKw+il7l27LX6DNUU///\r\nBE3W6+sPSvLR1cs4cdy+RxftYhAoUPUvf2A=\r\n=ZbIt\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-stream_3.0.9-dev_1673347350152_0.509270340911459"},"_hasShrinkwrap":false},"3.0.9":{"name":"parsegraph-stream","version":"3.0.9","description":"stream","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/stream.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/stream/issues"},"homepage":"https://github.com/parsegraph/stream#readme","devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-private-property-in-object":"^7.18.6","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@babel/preset-typescript":"^7.18.6","@babel/register":"^7.18.9","@types/chai":"^4.3.1","@types/jest":"^28.1.6","@types/node":"^18.0.6","@types/react":"^18.0.24","@typescript-eslint/eslint-plugin":"^5.30.7","@typescript-eslint/parser":"^5.30.7","babel-jest":"^28.1.3","babel-loader":"^8.2.5","chai":"^4.3.6","electron":"^19.0.7","eslint":"^8.20.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.5.0","html-webpack-plugin":"^5.5.0","jest":"^28.1.3","jest-environment-jsdom":"^28.1.3","jsdom":"^20.0.0","jsdom-global":"^3.0.2","parsegraph-checkglerror":"^1.5.5","parsegraph-log":"^1.9.0","parsegraph-viewport":"^2.9.8","prettier":"^2.7.1","raw-loader":"^4.0.2","source-map-loader":"^4.0.0","source-map-support":"^0.5.21","ts-loader":"^9.3.1","ts-node":"^10.9.1","typedoc":"^0.23.8","typescript":"^4.7.4","webpack":"^5.73.0","webpack-cli":"^4.10.0"},"peerDependencies":{"parsegraph-checkglerror":"^1.5.5","parsegraph-log":"^1.9.0","parsegraph-viewport":"^2.9.8"},"dependencies":{"espree":"^9.4.1","esprima":"^4.0.1","fast-xml-parser":"^4.0.9","parsegraph-anthonylisp":"^2.1.2","react":"^18.2.0","react-reconciler":"^0.29.0","webpack-bundle-analyzer":"^4.7.0","yaml":"^2.1.1"},"_id":"parsegraph-stream@3.0.9","_integrity":"sha512-Yyqas/cuV3a2F9Vy0iWCPNC9aWqac/rc82bUcG/ziPe1hOW6mDhmddQ+GByPhV8VVqzQ495hUjxkeo8NRRChSw==","_resolved":"/home/runner/work/stream/stream/parsegraph-stream-prod.tgz","_from":"file:parsegraph-stream-prod.tgz","_nodeVersion":"16.18.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-Yyqas/cuV3a2F9Vy0iWCPNC9aWqac/rc82bUcG/ziPe1hOW6mDhmddQ+GByPhV8VVqzQ495hUjxkeo8NRRChSw==","shasum":"4a10a0ff490423a165344daf691125f00ef5cf38","tarball":"https://registry.npmjs.org/parsegraph-stream/-/parsegraph-stream-3.0.9.tgz","fileCount":205,"unpackedSize":3595221,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIElkjtxYQmcp4sAx/8Gnsp5Xx/J1fmkVYoh0vuckC1HXAiAG8ckUsBTON/U37QNrBYqpnQAbF/Yu1Px0rcolsCcFkg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjvUJRACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrycw//Wd11UXC1GsuyrCqT8tNg9KWAlH/ZyjMgPMaedew1oi2yuWrj\r\npycHV8yobMCLAJ0cwVEYl7y1N1eNETi7lTtom+zZxlrqr3/lieUNOiX7nBN1\r\nUIHc6SV5ZWCJlFhJSTcC7p0N1xHVl/zYWB7UXrAMUQSqhhZFFNQxp8caKCfM\r\nhaCLkK9479rB+TCkCvmS3gqA1kmTYTExvJo0DmHPjZErvj/3tCEuPQwUSDJC\r\ncjC4ETWFqJAtxWkkN+YDFfwAh6RT6CuJyoVGFTx5gW3eFQXLJI4JNVDnM9fE\r\n7Ehbw6sHVwgliKQBje1c41eZloJvDVwLhtb4vqKpI9w0JlsySS6sOT0YjxT7\r\nig+vgRz+1CJx3/GK/9r9CFoCRNO4GS+6VuopEJ4eHF1JErhSHT0fChgdh4zV\r\nQRnqZCBNnmxQFYC/DL0CDhh7+T3ceQDoPbCEp7zV1C2neApiUI/3/L0TYWBH\r\ne+DyHbU0eLY3xe+FXCkNrX0SenqRoBhEAlP5E5wgDx7eIni7ZtTbvNVms1af\r\nyG6h2aq5uK3+0Ez7e3rpO65HBoxOQzG1u89p14tUv2V/D2bnomW7KbVnz1r4\r\ntdegSZjVDMG9KAq9OMtieUF09Ng2J0Axzky4Pm/0XXAMKGs9f55IBn7+i1Bz\r\nN9JnPCKIPtx2M6PSkO1SCDketGdmjSglRH0=\r\n=vxXk\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-stream_3.0.9_1673347664825_0.20790275074960296"},"_hasShrinkwrap":false},"3.0.10-dev":{"name":"parsegraph-stream","version":"3.0.10-dev","description":"stream","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/stream.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/stream/issues"},"homepage":"https://github.com/parsegraph/stream#readme","devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-private-property-in-object":"^7.18.6","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@babel/preset-typescript":"^7.18.6","@babel/register":"^7.18.9","@types/chai":"^4.3.1","@types/jest":"^28.1.6","@types/node":"^18.0.6","@types/react":"^18.0.24","@typescript-eslint/eslint-plugin":"^5.30.7","@typescript-eslint/parser":"^5.30.7","babel-jest":"^28.1.3","babel-loader":"^8.2.5","chai":"^4.3.6","electron":"^19.0.7","eslint":"^8.20.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.5.0","html-webpack-plugin":"^5.5.0","jest":"^28.1.3","jest-environment-jsdom":"^28.1.3","jsdom":"^20.0.0","jsdom-global":"^3.0.2","parsegraph-checkglerror":"^1.5.5","parsegraph-log":"^1.9.0","parsegraph-viewport":"^2.9.8","prettier":"^2.7.1","raw-loader":"^4.0.2","source-map-loader":"^4.0.0","source-map-support":"^0.5.21","ts-loader":"^9.3.1","ts-node":"^10.9.1","typedoc":"^0.23.8","typescript":"^4.7.4","webpack":"^5.73.0","webpack-cli":"^4.10.0"},"peerDependencies":{"parsegraph-checkglerror":"^1.5.5","parsegraph-log":"^1.9.0","parsegraph-viewport":"^2.9.8"},"dependencies":{"espree":"^9.4.1","esprima":"^4.0.1","fast-xml-parser":"^4.0.9","parsegraph-anthonylisp":"^2.1.2","react":"^18.2.0","react-reconciler":"^0.29.0","webpack-bundle-analyzer":"^4.7.0","yaml":"^2.1.1"},"readme":"# room\n\nThis is for Node projects:\n\n## Setup\n\n1. Pick a new package name.\n\n2. Go to https://github.com/parsegraph/ and create a new repository using that name.\n\n3. Clone latest microproject from https://github.com/parsegraph/room\n\n4. Run ./update-package-name.sh with your package name:\n\n<pre>\n  # Set the package name to test\n  ./update-package-name.sh test\n</pre>\n\n5. Commit (e.g. \"Give package a name\")\n\n6. Push the repository to Github.\n","readmeFilename":"README.md","_id":"parsegraph-stream@3.0.10-dev","_integrity":"sha512-WPJjyYYIwgWfZgdfnROJbe+bmBhnNc7d1gZ7O4VB4hBWTAIE6eDe6E1xTypK9Onws3XciAVh/H12MIX92ZzvZA==","_resolved":"/home/runner/work/stream/stream/parsegraph-stream-dev.tgz","_from":"file:parsegraph-stream-dev.tgz","_nodeVersion":"18.13.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-WPJjyYYIwgWfZgdfnROJbe+bmBhnNc7d1gZ7O4VB4hBWTAIE6eDe6E1xTypK9Onws3XciAVh/H12MIX92ZzvZA==","shasum":"2e65e5ba6507c801020e21f76036d3bfefc3b02e","tarball":"https://registry.npmjs.org/parsegraph-stream/-/parsegraph-stream-3.0.10-dev.tgz","fileCount":201,"unpackedSize":9288082,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDukatjBlcBQNnjt5AlYZAOC9bAb3gPG1iPmFTsX32loAIhANbDaUIlvHyQQ4DRkP1gN0tVrsnN4J4gOn0jdugvN1bd"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjvs8VACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrdpw/+KFkqq84ofVSIwDE7K++jvSgMwdCfCU09KlIuSIaJYAAkvVgV\r\np6AYj7f18enbnSmrl5ZHONw6QkBIbUh6KgwLzbb7k8eqQT4ZgFnDxwBKxWSc\r\nEv3j1KXo4kM+IOAzvj1+TZ3kj0dcQ5rXJ6AAAjwCOPdY2KuHWPb3bJbxmDug\r\nG8L97Q0ePYopvDU1PbSFlgWEFvC/nUU37AbYW/DPomgz2c2Lz3D6NXpic+2Y\r\nUyKNU1Fq/n8yNC8GFubglbsoimFP536dbkUJfsZq24SbU1li2V2JStjQnlnt\r\ntU5p3M5QOcteBm6pv5tpOA7dgF20TAIVmHqqkMV7bBmph2rhk5dn77D7a2EX\r\nprGSTfl9oG0z6ZrY7HZxHtVqrFz0y2OXXS8yG5aMMVNwM/2GhJJKj4bqshxG\r\n6JUWvUj3tkFp8br/8s8WEDiwY0PUa58nQJXOt94GfEivjxx1xyKJlOrDYcST\r\nK4wsEngWn7uKeKC5Zp5KzQCP8rfhTgNVSpv3RG71UmJ/+fLpRfXl/YYkoDD1\r\nJ4uwKtdVjG9EIb9piTHPC980TzouZ1kjnvmSpJH3/nJlfQqa80VEGP0DWE2D\r\nQlDCygwFiIqiItmWlZc/USve/TZpkTpj3WHPaClb3mjhWE8iL/KPCK9X9HJu\r\nMs4q3sCwpSX5f0GzLJNJ6OysQjiphcYBkD8=\r\n=1yMw\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-stream_3.0.10-dev_1673449236592_0.5825332680947253"},"_hasShrinkwrap":false},"3.0.10":{"name":"parsegraph-stream","version":"3.0.10","description":"stream","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/stream.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/stream/issues"},"homepage":"https://github.com/parsegraph/stream#readme","devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-private-property-in-object":"^7.18.6","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@babel/preset-typescript":"^7.18.6","@babel/register":"^7.18.9","@types/chai":"^4.3.1","@types/jest":"^28.1.6","@types/node":"^18.0.6","@types/react":"^18.0.24","@typescript-eslint/eslint-plugin":"^5.30.7","@typescript-eslint/parser":"^5.30.7","babel-jest":"^28.1.3","babel-loader":"^8.2.5","chai":"^4.3.6","electron":"^19.0.7","eslint":"^8.20.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.5.0","html-webpack-plugin":"^5.5.0","jest":"^28.1.3","jest-environment-jsdom":"^28.1.3","jsdom":"^20.0.0","jsdom-global":"^3.0.2","parsegraph-checkglerror":"^1.5.5","parsegraph-log":"^1.9.0","parsegraph-viewport":"^2.9.8","prettier":"^2.7.1","raw-loader":"^4.0.2","source-map-loader":"^4.0.0","source-map-support":"^0.5.21","ts-loader":"^9.3.1","ts-node":"^10.9.1","typedoc":"^0.23.8","typescript":"^4.7.4","webpack":"^5.73.0","webpack-cli":"^4.10.0"},"peerDependencies":{"parsegraph-checkglerror":"^1.5.5","parsegraph-log":"^1.9.0","parsegraph-viewport":"^2.9.8"},"dependencies":{"espree":"^9.4.1","esprima":"^4.0.1","fast-xml-parser":"^4.0.9","parsegraph-anthonylisp":"^2.1.2","react":"^18.2.0","react-reconciler":"^0.29.0","webpack-bundle-analyzer":"^4.7.0","yaml":"^2.1.1"},"_id":"parsegraph-stream@3.0.10","_integrity":"sha512-J5af38WXC/9i0kTo8OntcHRWUcE4IQ8PkDxX2cY3K+wRWp4iTB6vHxWn1P+PuqOsVT3G78vW+Y14LOyqa/tNcQ==","_resolved":"/home/runner/work/stream/stream/parsegraph-stream-prod.tgz","_from":"file:parsegraph-stream-prod.tgz","_nodeVersion":"16.18.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-J5af38WXC/9i0kTo8OntcHRWUcE4IQ8PkDxX2cY3K+wRWp4iTB6vHxWn1P+PuqOsVT3G78vW+Y14LOyqa/tNcQ==","shasum":"93d250017191ceed0d69aeb6ffe2971cb426c24a","tarball":"https://registry.npmjs.org/parsegraph-stream/-/parsegraph-stream-3.0.10.tgz","fileCount":205,"unpackedSize":3595222,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICGuD4sfSBAH1uigDwmmLJA3kEFc58PQQHJMA7/ULvBNAiAEnsikohrVvSC23iOeeBpeV425vME7NDzO0uqeO3iLAQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjvtC2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpP8w//WVeOn0RqcepWcSJhaecr3JtOiZmsgJsl61E0pDj2y3RzoyGQ\r\nc1p7zkjymRBBmmhqx714uWrJ1uz9XoJjxdK4phAnkCm+zBjICITxlDFN6rnb\r\n4CzP54V6knK5GMfeAxT1Lx/nXcgLcQE/X9NZTREqCJRRR0/1fCM4R9MuLMGm\r\nz9IErxAClsJzib2vsv5Q5hjYN9NCmu1qMRtHw4drJPtxdxGAQ96rkE8FSOam\r\nqjaTlbPUtaPtQ5L5PTpS69RA2fmNkSE0GRgDVNwl+TFnwdLN02gjTjz3EiSc\r\ngxe6oPNrmYvjm6qPyor/i61Q6y4Kn6F3pC7KRUqdK8WONjEg73Ev0Csc+8HG\r\nR4Gj9plUY1CwFdN0BfupiHvEYHyAQ5Ep74RKT1QQYKu4HeLDdOzvuBZ31r6E\r\nZA6o/Wyitrx7CZW6IPSteZNkA/iW+GoNOnWzos0lsVpTQcSolF3ltBmsf6SZ\r\nxqkXULBra5PWCwDoANmX5HcL93EiFLUbMKd7WFmCFoRA6XMzmVDqtBiF9yvh\r\nwXCw5kXpIA0nm359TpkNgzJx3HGw6srqQEVuLJ2+O7iIcoBxPEcOTgN3d4F2\r\neOoQzOvdgI1dHUyPL/cyP6n3fF2HI6XvtVTp3UMrLvbGwqRwcvamcUMIZU1c\r\nKBWfmaXo20VrjNnTKAqWoXlJS4wL4ppJDfk=\r\n=Y+vQ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-stream_3.0.10_1673449654652_0.6530790321284956"},"_hasShrinkwrap":false},"3.0.11-dev":{"name":"parsegraph-stream","version":"3.0.11-dev","description":"stream","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/stream.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/stream/issues"},"homepage":"https://github.com/parsegraph/stream#readme","devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-private-property-in-object":"^7.18.6","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@babel/preset-typescript":"^7.18.6","@babel/register":"^7.18.9","@types/chai":"^4.3.1","@types/jest":"^28.1.6","@types/node":"^18.0.6","@types/react":"^18.0.24","@typescript-eslint/eslint-plugin":"^5.30.7","@typescript-eslint/parser":"^5.30.7","babel-jest":"^28.1.3","babel-loader":"^8.2.5","chai":"^4.3.6","electron":"^19.0.7","eslint":"^8.20.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.5.0","html-webpack-plugin":"^5.5.0","jest":"^28.1.3","jest-environment-jsdom":"^28.1.3","jsdom":"^20.0.0","jsdom-global":"^3.0.2","parsegraph-checkglerror":"^1.5.5","parsegraph-log":"^1.9.0","parsegraph-viewport":"^2.9.8","prettier":"^2.7.1","raw-loader":"^4.0.2","source-map-loader":"^4.0.0","source-map-support":"^0.5.21","ts-loader":"^9.3.1","ts-node":"^10.9.1","typedoc":"^0.23.8","typescript":"^4.7.4","webpack":"^5.73.0","webpack-cli":"^4.10.0"},"peerDependencies":{"parsegraph-checkglerror":"^1.5.5","parsegraph-log":"^1.9.0","parsegraph-viewport":"^2.9.8"},"dependencies":{"espree":"^9.4.1","esprima":"^4.0.1","fast-xml-parser":"^4.0.9","parsegraph-anthonylisp":"^2.1.2","react":"^18.2.0","react-reconciler":"^0.29.0","webpack-bundle-analyzer":"^4.7.0","yaml":"^2.1.1"},"readme":"# parsegraph-stream\n\nThis project builds a client-side library to receive Parsegraph server events\nand update a local graph accordingly. It also allows for the client to callback\nthe server based on graph interaction.\n\nThis module allows live updates from a Parsegraph server to multiple connected\nclients.\n\n## Hosting a container\n\n    make build-container\n    docker run --net bridge --name parsegraph -e SITE_HOST=0.0.0.0 -e CONTENT_ROOT=/usr/src --expose 3000 -p=127.0.0.1:15000:3000/tcp localhost/parsegraph-stream:latest\n\n# interface ParsegraphServer\n\nA Parsegraph server manages a collection of proxy Parsegraph objects, and is\nable to stream changes to those Parsegraph objects to callbacks.\n\n## server.setCallbackUrl(callbackUrl: string): void\nSets the callback URL used by the server\n\n## server.connect(cb:(...args: any) => void): () => void\nStream server events as arguments back to the given callback.\n\n## server.forEach(cb:(...args: any) => void): void\nSend all saved server events back to the given callback.\n\n## server.callback(callbackIndex: number, val?: any): void\nInvokes the server callback\n\n## server.state(): ParsegraphServerState\nReturns the server state.\n\n# interface ParsegraphServerState\n\nThe Parsegraph server state contains the current state of the Parsegraph, and provides methods\nto update the state using Parsegraph proxy objects.\n\n## server.state().setBackgroundColor(r:number, g:number, b:number, a:number): void\nSets the background color in RGBA space. Numbers are expected to be in range [0, 1].\n\n## server.state().newCaret(type?: any): ParsegraphCaret\nReturns a Parsegraph caret, using the given type as the initial value of the caret root node.\n\n## server.state().setRoot(n: ParsegraphNode): void\nSets the root to the given Parsegraph node.\n\n# script.js module methods\n\nThese are the two methods imported from script.js, used to create new ParsegraphServers.\n\n## streamPath(mainPath: string, subPath: string): ParsegraphServer\nReturns a Parsegraph server designed for streaming and callbacks.\n\nA new Parsegraph streaming server is launched for the subPath if necessary.\n\n* mainPath - the contentRoot.\n* subPath - the URL part specific to the stream.\n\n## servePath(mainPath: string, subPath: string): ParsegraphServer\nReturns a Parsegraph server designed for caching.\n\nA new Parsegraph server is launched for the subPath if necessary.\n\n* mainPath - the contentRoot.\n* subPath - the URL part specific to the stream.\n\n# API Endpoints\n\n## GET /testroute: text/plain endpoint\nhealth check.\n\nResponds 200 with \"testroute from server\" on success.\n\n## GET /parsegraph/(.*): EventStream endpoint\nConnect to a Parsegraph streaming server named by the URL and stream\nParsegraph events back to the client.\n\n## GET /events/(.*) EventStream endpoint\nContent to a Parsegraph server named by the URL and stream\nParsegraph events back to the client.\n\n## GET /graph/(.*) text/plain endpoint\nConnects to a Parsegraph server and writes all saved events back to\nthe client, and close the connection.\n\n## GET /raw/(.*) Raw content\nStream raw content from the given path, under the content root.\n\n## POST /callback/(.*)?cb=123 JSON request\n\nFinds a Parsegraph streaming server named by the URL, and calls callback by\nindex, passing the request body as the argument.\n\nThe cb query parameter is the callback index.\n\n* Responds 500 on server error\n* Responds 200 on success\n\n## POST /splice/(.*) JSON request\nTakes a JSON request of the following form:\n\n    interface SpliceRequest {\n        offset: number;\n        len: number;\n        val: string;\n    }\n\nAnd splices val in the file at the named subPath, under the content\nroot. Both the Parsegraph servers and streaming server are replaced.\n\n* Responds 200 if the splice is successful.\n* Responds 500 on server error\n* Responds 400 if the offset or len are NaN.\n","readmeFilename":"README.md","_id":"parsegraph-stream@3.0.11-dev","_integrity":"sha512-NDeeJOelCnXK4eNwmUDf1XxPyHJKepRuMfKRzaiddrWzYKqzz/sR0qmf2zRCfUYK27J4Ep0Nhd3frA5ApI4iNQ==","_resolved":"/home/runner/work/stream/stream/parsegraph-stream-dev.tgz","_from":"file:parsegraph-stream-dev.tgz","_nodeVersion":"18.13.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-NDeeJOelCnXK4eNwmUDf1XxPyHJKepRuMfKRzaiddrWzYKqzz/sR0qmf2zRCfUYK27J4Ep0Nhd3frA5ApI4iNQ==","shasum":"16d98a01fa7fda6bfaea86b17fca41df884c69f7","tarball":"https://registry.npmjs.org/parsegraph-stream/-/parsegraph-stream-3.0.11-dev.tgz","fileCount":201,"unpackedSize":9291466,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCYLP3uZNUWttY2PgrWEAc9hn704B+QtOHAfaptRH92TQIhAIdNu38GTNXRbrGBGrdkb8XwS3gzjm9fbpImZwbTYOlt"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjwPk9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmohUhAAhEqeQgLgfiwV1KX2bu5axHOhVGkoNDUC6K9iNLG6gEu5DZmx\r\n+MNUzBDRL5Z7mJzG1d0g4vjG9MW1KYS3GNDC403ZLVHGEsBEW+Ybrp42jQtO\r\nA8ZeAXS2kE41WLNAYpFgwaNxVsbBt5myMsefcPqVA+VWepsv5PtnFJaXB4j8\r\ndZikGJa42TmctdiUmo4ugIb5RPjrxgvR3xRvWQju1HC5hVX0ErTpCuH9CG8d\r\nDCVFi0QO/2LH1kFG8Fk6wJQuHNRs+u95dHOpv4kKQCgvR+Ykf2UsC7L/fK5T\r\nysv8AUA5rclv/aszFC91o+LC/GeL6hNEmbZ2wnUVZrIG8PcNdq1QPg1hjcwA\r\nWDtYQ/WsdHUNML+N9cp+S85kJvFqdz0YGFKNpB4DWbyFBA3WedHCx1EHld7Z\r\nfv60m7nJFZu9H6fdYBEVF6eid42Djq4a4eWLryjUiSza9PJyULigsDLsl7DZ\r\nh/zPFA1LOzoeraXszetFf0z19GtS4OrrKYRm1AMDE9NrvLZQ5zbPM2jcXDQk\r\nMUY7FF0hhyw0mqIkX5P090jT9tq9x4/PTb9UTEDNFUpfvynM2TsPA3gs1xGF\r\nxAcjJwEddrzMMBOeFo2eRO+hv/GhkvbFxymDRPQUbyOeJAaVQWrPGaO+BOca\r\nO+F+rIH+3tiUxlK4bjS8gQ0uqz4jNPpVMxo=\r\n=gFLz\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-stream_3.0.11-dev_1673591100851_0.5426767523954443"},"_hasShrinkwrap":false},"3.0.11":{"name":"parsegraph-stream","version":"3.0.11","description":"stream","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/stream.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/stream/issues"},"homepage":"https://github.com/parsegraph/stream#readme","devDependencies":{"@babel/cli":"^7.18.9","@babel/core":"^7.18.9","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-private-property-in-object":"^7.18.6","@babel/preset-env":"^7.18.9","@babel/preset-react":"^7.18.6","@babel/preset-typescript":"^7.18.6","@babel/register":"^7.18.9","@types/chai":"^4.3.1","@types/jest":"^28.1.6","@types/node":"^18.0.6","@types/react":"^18.0.24","@typescript-eslint/eslint-plugin":"^5.30.7","@typescript-eslint/parser":"^5.30.7","babel-jest":"^28.1.3","babel-loader":"^8.2.5","chai":"^4.3.6","electron":"^19.0.7","eslint":"^8.20.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.5.0","html-webpack-plugin":"^5.5.0","jest":"^28.1.3","jest-environment-jsdom":"^28.1.3","jsdom":"^20.0.0","jsdom-global":"^3.0.2","parsegraph-checkglerror":"^1.5.5","parsegraph-log":"^1.9.0","parsegraph-viewport":"^2.9.8","prettier":"^2.7.1","raw-loader":"^4.0.2","source-map-loader":"^4.0.0","source-map-support":"^0.5.21","ts-loader":"^9.3.1","ts-node":"^10.9.1","typedoc":"^0.23.8","typescript":"^4.7.4","webpack":"^5.73.0","webpack-cli":"^4.10.0"},"peerDependencies":{"parsegraph-checkglerror":"^1.5.5","parsegraph-log":"^1.9.0","parsegraph-viewport":"^2.9.8"},"dependencies":{"espree":"^9.4.1","esprima":"^4.0.1","fast-xml-parser":"^4.0.9","parsegraph-anthonylisp":"^2.1.2","react":"^18.2.0","react-reconciler":"^0.29.0","webpack-bundle-analyzer":"^4.7.0","yaml":"^2.1.1"},"_id":"parsegraph-stream@3.0.11","_integrity":"sha512-uCVK/dWBsYw9ga+9EDqb8Do4AKPWH8Y/SDOBmBTfxfiD+sge9rei3g3+kagtgc7MXmfkGdHEwYmTaS4kZTcsjw==","_resolved":"/home/runner/work/stream/stream/parsegraph-stream-prod.tgz","_from":"file:parsegraph-stream-prod.tgz","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-uCVK/dWBsYw9ga+9EDqb8Do4AKPWH8Y/SDOBmBTfxfiD+sge9rei3g3+kagtgc7MXmfkGdHEwYmTaS4kZTcsjw==","shasum":"a761676c2a17d5448cede6c0b35fd19025fb741d","tarball":"https://registry.npmjs.org/parsegraph-stream/-/parsegraph-stream-3.0.11.tgz","fileCount":205,"unpackedSize":3598606,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIApgN6nbry5DG2DaxSPrS1kTbePECDxopwBFMrxKK/s4AiAc3hvTpTd0aQXbwT17nHCW8aRICncf3jJ01oaiXEcxlA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjwPqMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpHsg//b1u9yE1YVullfrxJDLrhOF8ey5CQSxtFTDbUc64TSejwXHRI\r\nxpIZ4BiiU6qJ2xxSuID/XGQqtBBVY6K5uzcWpVkf7gJY8hglotVg1+kHqUyA\r\nNgEWFLiz7SB/W6wheuzyIMC6H5PGu4JMiKsxprP2K5U7VKMjXWmZNHAImpS0\r\nEzBzP3tSKYZRSubvrWzD+XqfXSbcRXsjDsWFBveF2afUOa2QxImPR5DL5+yU\r\nIq3IIrDDsYX5CZqQYwD8gBTidaV1viLD8xh6mDjJdFGUMRxxqVezIRuyZJHx\r\n74MXOIo8s7ijb7xHVM33AJ0iAF0i2WXsYwuVNEaAhLZ7YJoC2yvjDnQx18Na\r\nFwVx6K4+sprj1h9JbZ2SMFU/2duZCM0RhEYCSd8bJgwLEg8u3/TYtiPFBYS6\r\nybbs2hu/09Tq6WKdBKsEQ+Lyvl1r/j2Jc9imIOfSzc5HZgxU5pg6/GX2gbes\r\nmtPptSSyotFi1Lp/ZLbkrrCvSx6EY1p55NUDJgMRaPFBo+YySvsRK33Nez49\r\n40IqsGKRjd6cNwwZLqXab7k3jHY7p5fREukIQF0aOoJkK1cjsUFuoQ53tgRk\r\nWaOLQcKaAHaI6lIW8gVEWr5EW/l2dDM6Gwla8HpXfzylGQl9LCZVm7+jbk2J\r\nT4SX/u2Bq06ajhtpX4mrFnOonrhyXDhDQ9k=\r\n=N/xD\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-stream_3.0.11_1673591436348_0.8891193008907239"},"_hasShrinkwrap":false},"3.0.14-dev":{"name":"parsegraph-stream","version":"3.0.14-dev","description":"stream","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/stream.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/stream/issues"},"homepage":"https://github.com/parsegraph/stream#readme","devDependencies":{"@babel/cli":"^7.20.7","@babel/core":"^7.20.12","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-private-property-in-object":"^7.20.5","@babel/preset-env":"^7.20.2","@babel/preset-react":"^7.18.6","@babel/preset-typescript":"^7.18.6","@babel/register":"^7.18.9","@types/chai":"^4.3.4","@types/jest":"^29.2.6","@types/node":"^18.11.18","@types/react":"^18.0.24","@typescript-eslint/eslint-plugin":"^5.48.2","@typescript-eslint/parser":"^5.48.2","babel-jest":"^29.3.1","babel-loader":"^9.1.2","chai":"^4.3.7","electron":"^19.0.7","eslint":"^8.32.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.6.0","html-webpack-plugin":"^5.5.0","jest":"^29.3.1","jest-environment-jsdom":"^29.3.1","jsdom":"^21.1.0","jsdom-global":"^3.0.2","parsegraph-checkglerror":"^1.5.7","parsegraph-log":"^1.9.2","parsegraph-viewport":"^2.9.8","prettier":"^2.8.3","raw-loader":"^4.0.2","source-map-loader":"^4.0.1","source-map-support":"^0.5.21","ts-loader":"^9.4.2","ts-node":"^10.9.1","typedoc":"^0.23.24","typescript":"^4.9.4","webpack":"^5.75.0","webpack-cli":"^5.0.1"},"peerDependencies":{"parsegraph-checkglerror":"^1.5.7","parsegraph-log":"^1.9.2"},"dependencies":{"espree":"^9.4.1","esprima":"^4.0.1","fast-xml-parser":"^4.0.9","parsegraph-artist":"^3.4.58","parsegraph-block":"^4.6.17","parsegraph-blockpainter":"^1.7.8","parsegraph-color":"^1.4.12","parsegraph-direction":"^2.2.3","react":"^18.2.0","react-reconciler":"^0.29.0","webpack-bundle-analyzer":"^4.7.0","yaml":"^2.1.1"},"readme":"# parsegraph-stream\n\nThis project builds a client-side library to receive Parsegraph server events\nand update a local graph accordingly. It also allows for the client to callback\nthe server based on graph interaction.\n\nThis module allows live updates from a Parsegraph server to multiple connected\nclients.\n\nIt also contains a server used to stream Parsegraph server events.\n\n## The problem\n\nParsegraph applications can be written solely on the client, with callbacks\nembedded in the application. However, it becomes challenging to add sharing of\nthe Parsegraph environment to other users, because updates to the graph must be\nmaintained.\n\nParsegraph stream inverts this problem by making all graph updates come from\nthe server. It provides means to add callbacks to the graph, completing a\nround-trip of serving an initial graph, letting the user invoke graph actions,\nand sending graph updates back to the client once the callback is complete.\n\n## How to use\n\nRun a server, either locally or within a container, and navigate to /. You\nshould see a Parsegraph client. This will show the Parsegraph for the content\nroot. The content root is set by the CONTENT_ROOT environment variable.\n\n## Hosting a container\n\nThe container will run the demo server.\n\n    make build-container\n    docker run -d --net bridge --name parsegraph -e SITE_HOST=0.0.0.0 -e CONTENT_ROOT=/usr/src --expose 3000 -p=127.0.0.1:15000:3000/tcp localhost/parsegraph-stream:latest\n\n# interface ParsegraphServer\n\nA Parsegraph server manages a collection of proxy Parsegraph objects, and is\nable to stream changes to those Parsegraph objects to callbacks.\n\n## server.setCallbackUrl(callbackUrl: string): void\nSets the callback URL used by the server\n\n## server.connect(cb:(...args: any) => void): () => void\nStream server events as arguments back to the given callback.\n\n## server.forEach(cb:(...args: any) => void): void\nSend all saved server events back to the given callback.\n\n## server.callback(callbackIndex: number, val?: any): void\nInvokes the server callback\n\n## server.state(): ParsegraphServerState\nReturns the server state.\n\n# interface ParsegraphServerState\n\nThe Parsegraph server state contains the current state of the Parsegraph, and provides methods\nto update the state using Parsegraph proxy objects.\n\n## server.state().setBackgroundColor(r:number, g:number, b:number, a:number): void\nSets the background color in RGBA space. Numbers are expected to be in range [0, 1].\n\n## server.state().newCaret(type?: any): ParsegraphCaret\nReturns a Parsegraph caret, using the given type as the initial value of the caret root node.\n\n## server.state().setRoot(n: ParsegraphNode): void\nSets the root to the given Parsegraph node.\n\n# script.js module methods\n\nThese are the two methods imported from script.js, used to create new ParsegraphServers.\n\n## streamPath(mainPath: string, subPath: string): ParsegraphServer\nReturns a Parsegraph server designed for streaming and callbacks.\n\nA new Parsegraph streaming server is launched for the subPath if necessary.\n\n* mainPath - the contentRoot.\n* subPath - the URL part specific to the stream.\n\n## servePath(mainPath: string, subPath: string): ParsegraphServer\nReturns a Parsegraph server designed for caching.\n\nA new Parsegraph server is launched for the subPath if necessary.\n\n* mainPath - the contentRoot.\n* subPath - the URL part specific to the stream.\n\n# API Endpoints\n\n## GET /testroute: text/plain endpoint\nhealth check.\n\nResponds 200 with \"testroute from server\" on success.\n\n## GET /parsegraph/(.*): EventStream endpoint\nConnect to a Parsegraph streaming server named by the URL and stream\nParsegraph events back to the client.\n\n## GET /events/(.*) EventStream endpoint\nContent to a Parsegraph server named by the URL and stream\nParsegraph events back to the client.\n\n## GET /graph/(.*) text/plain endpoint\nConnects to a Parsegraph server and writes all saved events back to\nthe client, and close the connection.\n\n## GET /raw/(.*) Raw content\nStream raw content from the given path, under the content root.\n\n## POST /callback/(.*)?cb=123 JSON request\n\nFinds a Parsegraph streaming server named by the URL, and calls callback by\nindex, passing the request body as the argument.\n\nThe cb query parameter is the callback index.\n\n* Responds 500 on server error\n* Responds 200 on success\n\n## POST /splice/(.*) JSON request\nTakes a JSON request of the following form:\n\n    interface SpliceRequest {\n        offset: number;\n        len: number;\n        val: string;\n    }\n\nAnd splices val in the file at the named subPath, under the content\nroot. Both the Parsegraph servers and streaming server are replaced.\n\n* Responds 200 if the splice is successful.\n* Responds 500 on server error\n* Responds 400 if the offset or len are NaN.\n","readmeFilename":"README.md","_id":"parsegraph-stream@3.0.14-dev","_integrity":"sha512-VZZzzfcVlC16DviqX6wf9Cv4MDw1WHRcpFzJNhBXy4pVdBoSc7RnJx0GqWgQex4O0981sdweUo8Grrh/L6pYsw==","_resolved":"/home/runner/work/stream/stream/parsegraph-stream-dev.tgz","_from":"file:parsegraph-stream-dev.tgz","_nodeVersion":"18.13.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-VZZzzfcVlC16DviqX6wf9Cv4MDw1WHRcpFzJNhBXy4pVdBoSc7RnJx0GqWgQex4O0981sdweUo8Grrh/L6pYsw==","shasum":"c9ddc701bc013309c423d0c1e8791fad23e5ff90","tarball":"https://registry.npmjs.org/parsegraph-stream/-/parsegraph-stream-3.0.14-dev.tgz","fileCount":24,"unpackedSize":16129308,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBTYqJs4FEaQ3RFAdOqmWVt/+Y1tV4os0PyHMVo9RYRjAiEAm6pZa18TbSyfRu/xOjJCaj9kPIy4NFRka8xSuUVzRw4="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjzVkjACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqrRBAAk0yK+voerFL5dY55uL53N+Zsd/zzTbGIj6u+uzqSG1LpyBEV\r\nTxFlCXaJufmDQ+3+PhKhwki9ic9ZO3AeIujRumRY8ZQZNCnoWSPwTLi8amph\r\ndVlSWa+tpW2oy4BmnlKGyD0SYcAZD3OFchrhxKJv8EbyVV/dns5GpynzoPZ7\r\nQ/6syiQutKzpEB/3YMdb5zIcRVfuIoUlBhJpzlHLQGdO7r+LsJLobLCaL1Io\r\nyckABDkC3G/77CemiuqRml8GzqrCFhvTJ9PhHpgQaQH9LFiBsU6TeMih7g2n\r\nGKDvvOGGu1/te+DFVQZ3fYbwB5gR4hQRHhaTxJH/1CgZ+wgERQlbFWJLELTV\r\nTciKA2RIFANeauLxQcRD0warIG1djO8iQ2DxDeIHqi0VGS9bDripEfcMcUJt\r\nBIS72/OQ3rHwwcODwNf3JmAaFbLe8opEWuVtAPkTKk36mmh11ktRg2xPFfcY\r\nILhzPbDiel2PREA9SJA+Gp0o8a4QmBDfgbT6fr6GbFCU608WM93b5JYB1am+\r\nR9mAK3l6ZKxBD/FmjZ0trsjqnDhr22TLXgd9TYiWc7mYH+bFs6TN4mGku/Nb\r\n+7iQrRpuGmLCV+/kXgDos7KgosqoBbn/Eb+psyXHEmysOvjup3pmLu07UOaT\r\nPwcSFkASkbCkZtUHwTcqQ0NUhrtB1NrZCcM=\r\n=Kyvj\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-stream_3.0.14-dev_1674402083579_0.10340919403334081"},"_hasShrinkwrap":false},"3.0.14":{"name":"parsegraph-stream","version":"3.0.14","description":"stream","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/stream.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/stream/issues"},"homepage":"https://github.com/parsegraph/stream#readme","devDependencies":{"@babel/cli":"^7.20.7","@babel/core":"^7.20.12","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-private-property-in-object":"^7.20.5","@babel/preset-env":"^7.20.2","@babel/preset-react":"^7.18.6","@babel/preset-typescript":"^7.18.6","@babel/register":"^7.18.9","@types/chai":"^4.3.4","@types/jest":"^29.2.6","@types/node":"^18.11.18","@types/react":"^18.0.24","@typescript-eslint/eslint-plugin":"^5.48.2","@typescript-eslint/parser":"^5.48.2","babel-jest":"^29.3.1","babel-loader":"^9.1.2","chai":"^4.3.7","electron":"^19.0.7","eslint":"^8.32.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.6.0","html-webpack-plugin":"^5.5.0","jest":"^29.3.1","jest-environment-jsdom":"^29.3.1","jsdom":"^21.1.0","jsdom-global":"^3.0.2","parsegraph-checkglerror":"^1.5.7","parsegraph-log":"^1.9.2","parsegraph-viewport":"^2.9.8","prettier":"^2.8.3","raw-loader":"^4.0.2","source-map-loader":"^4.0.1","source-map-support":"^0.5.21","ts-loader":"^9.4.2","ts-node":"^10.9.1","typedoc":"^0.23.24","typescript":"^4.9.4","webpack":"^5.75.0","webpack-cli":"^5.0.1"},"peerDependencies":{"parsegraph-checkglerror":"^1.5.7","parsegraph-log":"^1.9.2"},"dependencies":{"espree":"^9.4.1","esprima":"^4.0.1","fast-xml-parser":"^4.0.9","parsegraph-artist":"^3.4.58","parsegraph-block":"^4.6.17","parsegraph-blockpainter":"^1.7.8","parsegraph-color":"^1.4.12","parsegraph-direction":"^2.2.3","react":"^18.2.0","react-reconciler":"^0.29.0","webpack-bundle-analyzer":"^4.7.0","yaml":"^2.1.1"},"_id":"parsegraph-stream@3.0.14","_integrity":"sha512-IINziTuxgWuy1LukwFIuVglnSa5mr5aFtKUZKJF/3fsXc0upByPgZBqnJtSa1hfUS3pAEfugLCUoO8PFgrxtAQ==","_resolved":"/home/runner/work/stream/stream/parsegraph-stream-prod.tgz","_from":"file:parsegraph-stream-prod.tgz","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-IINziTuxgWuy1LukwFIuVglnSa5mr5aFtKUZKJF/3fsXc0upByPgZBqnJtSa1hfUS3pAEfugLCUoO8PFgrxtAQ==","shasum":"aa3e57225a94c35bec701e4fb5b027f781c825aa","tarball":"https://registry.npmjs.org/parsegraph-stream/-/parsegraph-stream-3.0.14.tgz","fileCount":20,"unpackedSize":8022891,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGPIjI0MT2YmKYqB7Ol0UDUVx/FkFTM3NznD4SuCXfQ6AiBkIkMPYqcbENdAVzZqTHfdK7dcjCDA04qLsilBDtoqAg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjzVmeACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrVVg//aqTR+roJu+3T1V+u7mQ/6wfvfWQM8w+VPttDW7LL8+CMvyA8\r\nPQ3zRexUnbki4tz43I6CIGTYOQMGcuh1k/c0q9NexAykBrA4aRamFcDAVQ1u\r\nYbMZKOUtZPLPH11laEYjHMgg5dfDZUiHG2o0F7vQ1GJZFnMnq9O8n0nJKcBE\r\nvUnQXnt7h08bU43AkkDIOgOq4nXSbQP9LE8v/UHMML7SzO8olefl/C47GmE2\r\nKS+2WJCx6ZGsaSDjD6idDOVgbh+Ix9cSK6LeRbYZwicMJj0F5+YfuMfBCHhG\r\nxt7psCszPHTBqqVX8/DzxwVGKIAygNf5gbEVr0a8x7EpHy220Nx92R6G9iUh\r\nAqfd3p0iusGXk573H2cjVgdlNXDH+F99EX9vQgKGcr+E5tPTIO31J4M+kmO3\r\nbGHV5vdT6tDVb3llhVbSAU6LDNY14HvKBC+feGGoLq9QWrUEL8ACeRKaf1+f\r\nWWWhi5QbvqZ1kBmCfJ6myoF1md7GDfRPjMARHhZezaxA1Ds1RpGngPczz2B2\r\nPnrj0Xm5UQ8v9vWms2VwbLHqGJsz8fFMqDttC8VG5apXQUFoPVx5rJ3rj/wj\r\nSvN+TRqwQdv44OVxNeQ/yVQM1thXBq3wyHmG1HYh2cNNdPbUAprha1c/54z6\r\nOFunu696TIJmjU5Oa00IInw9w/bMpPaEiTA=\r\n=eYy3\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-stream_3.0.14_1674402206021_0.9796480804280192"},"_hasShrinkwrap":false},"3.0.15-dev":{"name":"parsegraph-stream","version":"3.0.15-dev","description":"stream","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/stream.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/stream/issues"},"homepage":"https://github.com/parsegraph/stream#readme","devDependencies":{"@babel/cli":"^7.20.7","@babel/core":"^7.20.12","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-private-property-in-object":"^7.20.5","@babel/preset-env":"^7.20.2","@babel/preset-react":"^7.18.6","@babel/preset-typescript":"^7.18.6","@babel/register":"^7.18.9","@types/chai":"^4.3.4","@types/jest":"^29.2.6","@types/node":"^18.11.18","@types/react":"^18.0.24","@typescript-eslint/eslint-plugin":"^5.48.2","@typescript-eslint/parser":"^5.48.2","babel-jest":"^29.3.1","babel-loader":"^9.1.2","chai":"^4.3.7","electron":"^19.0.7","eslint":"^8.32.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.6.0","html-webpack-plugin":"^5.5.0","jest":"^29.3.1","jest-environment-jsdom":"^29.3.1","jsdom":"^21.1.0","jsdom-global":"^3.0.2","parsegraph-checkglerror":"^1.5.7","parsegraph-log":"^1.9.2","parsegraph-viewport":"^2.9.8","prettier":"^2.8.3","raw-loader":"^4.0.2","source-map-loader":"^4.0.1","source-map-support":"^0.5.21","ts-loader":"^9.4.2","ts-node":"^10.9.1","typedoc":"^0.23.24","typescript":"^4.9.4","webpack":"^5.75.0","webpack-cli":"^5.0.1"},"peerDependencies":{"parsegraph-checkglerror":"^1.5.7","parsegraph-log":"^1.9.2"},"dependencies":{"espree":"^9.4.1","esprima":"^4.0.1","fast-xml-parser":"^4.0.9","parsegraph-artist":"^3.4.58","parsegraph-block":"^4.6.17","parsegraph-blockpainter":"^1.7.8","parsegraph-color":"^1.4.12","parsegraph-direction":"^2.2.3","react":"^18.2.0","react-reconciler":"^0.29.0","webpack-bundle-analyzer":"^4.7.0","yaml":"^2.1.1"},"readme":"# parsegraph-stream\n\nThis project builds a client-side library to receive Parsegraph server events\nand update a local graph accordingly. It also allows for the client to callback\nthe server based on graph interaction.\n\nThis module allows live updates from a Parsegraph server to multiple connected\nclients.\n\nIt also contains a server used to stream Parsegraph server events.\n\n## The problem\n\nParsegraph applications can be written solely on the client, with callbacks\nembedded in the application. However, it becomes challenging to add sharing of\nthe Parsegraph environment to other users, because updates to the graph must be\nmaintained.\n\nParsegraph stream inverts this problem by making all graph updates come from\nthe server. It provides means to add callbacks to the graph, completing a\nround-trip of serving an initial graph, letting the user invoke graph actions,\nand sending graph updates back to the client once the callback is complete.\n\n## How to use\n\nRun a server, either locally or within a container, and navigate to /. You\nshould see a Parsegraph client. This will show the Parsegraph for the content\nroot. The content root is set by the CONTENT_ROOT environment variable.\n\n## Hosting a container\n\nThe container will run the demo server.\n\n    make build-container\n    docker run -d --net bridge --name parsegraph -e SITE_HOST=0.0.0.0 -e CONTENT_ROOT=/usr/src --expose 3000 -p=127.0.0.1:15000:3000/tcp localhost/parsegraph-stream:latest\n\n# interface ParsegraphServer\n\nA Parsegraph server manages a collection of proxy Parsegraph objects, and is\nable to stream changes to those Parsegraph objects to callbacks.\n\n## server.setCallbackUrl(callbackUrl: string): void\nSets the callback URL used by the server\n\n## server.connect(cb:(...args: any) => void): () => void\nStream server events as arguments back to the given callback.\n\n## server.forEach(cb:(...args: any) => void): void\nSend all saved server events back to the given callback.\n\n## server.callback(callbackIndex: number, val?: any): void\nInvokes the server callback\n\n## server.state(): ParsegraphServerState\nReturns the server state.\n\n# interface ParsegraphServerState\n\nThe Parsegraph server state contains the current state of the Parsegraph, and provides methods\nto update the state using Parsegraph proxy objects.\n\n## server.state().setBackgroundColor(r:number, g:number, b:number, a:number): void\nSets the background color in RGBA space. Numbers are expected to be in range [0, 1].\n\n## server.state().newCaret(type?: any): ParsegraphCaret\nReturns a Parsegraph caret, using the given type as the initial value of the caret root node.\n\n## server.state().setRoot(n: ParsegraphNode): void\nSets the root to the given Parsegraph node.\n\n# script.js module methods\n\nThese are the two methods imported from script.js, used to create new ParsegraphServers.\n\n## streamPath(mainPath: string, subPath: string): ParsegraphServer\nReturns a Parsegraph server designed for streaming and callbacks.\n\nA new Parsegraph streaming server is launched for the subPath if necessary.\n\n* mainPath - the contentRoot.\n* subPath - the URL part specific to the stream.\n\n## servePath(mainPath: string, subPath: string): ParsegraphServer\nReturns a Parsegraph server designed for caching.\n\nA new Parsegraph server is launched for the subPath if necessary.\n\n* mainPath - the contentRoot.\n* subPath - the URL part specific to the stream.\n\n# API Endpoints\n\n## GET /testroute: text/plain endpoint\nhealth check.\n\nResponds 200 with \"testroute from server\" on success.\n\n## GET /parsegraph/(.*): EventStream endpoint\nConnect to a Parsegraph streaming server named by the URL and stream\nParsegraph events back to the client.\n\n## GET /events/(.*) EventStream endpoint\nContent to a Parsegraph server named by the URL and stream\nParsegraph events back to the client.\n\n## GET /graph/(.*) text/plain endpoint\nConnects to a Parsegraph server and writes all saved events back to\nthe client, and close the connection.\n\n## GET /raw/(.*) Raw content\nStream raw content from the given path, under the content root.\n\n## POST /callback/(.*)?cb=123 JSON request\n\nFinds a Parsegraph streaming server named by the URL, and calls callback by\nindex, passing the request body as the argument.\n\nThe cb query parameter is the callback index.\n\n* Responds 500 on server error\n* Responds 200 on success\n\n## POST /splice/(.*) JSON request\nTakes a JSON request of the following form:\n\n    interface SpliceRequest {\n        offset: number;\n        len: number;\n        val: string;\n    }\n\nAnd splices val in the file at the named subPath, under the content\nroot. Both the Parsegraph servers and streaming server are replaced.\n\n* Responds 200 if the splice is successful.\n* Responds 500 on server error\n* Responds 400 if the offset or len are NaN.\n","readmeFilename":"README.md","_id":"parsegraph-stream@3.0.15-dev","_integrity":"sha512-bAkIqWsgj3wJExsaqPDwp9oIwJWBdK6V8I3HhLQscWx+SXx+BwvL9opHDcgKVdgtYSIknBCbRhJmggxlKW2VWQ==","_resolved":"/home/runner/work/stream/stream/parsegraph-stream-dev.tgz","_from":"file:parsegraph-stream-dev.tgz","_nodeVersion":"18.13.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-bAkIqWsgj3wJExsaqPDwp9oIwJWBdK6V8I3HhLQscWx+SXx+BwvL9opHDcgKVdgtYSIknBCbRhJmggxlKW2VWQ==","shasum":"b95d6c0f97972a43f6ff4a179a1514959f65cb29","tarball":"https://registry.npmjs.org/parsegraph-stream/-/parsegraph-stream-3.0.15-dev.tgz","fileCount":24,"unpackedSize":16129308,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEGJvVOPoew8QGsH+2FlLMiDtxrS+H5l9SYLK6ldkPj7AiAjD/EoY45rvcKsj3CuTQ67bfZW2v88Bdu5OWwmNN/AtA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjzV89ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrNPQ//ToCzTbaZIDyfTFTKKpgchQqvFcXL42iAtJUFV6ePVIkc/Ffd\r\n9CMg1j0hEiJlPEtZzXSTxmciVv++P3/2JwQgBPtyRPXo48JEu5ew7WjbYchM\r\nTUqGgSJNcBy4xJAtwgPovBEULxk6uqZHKPRx/gfpJV0tQvxweif9LDL0eGHu\r\nj3Gzw6zdZHkFkB3B/SgZMaJPq+26dMUQLot93JsfUCR6GbmsA0S3pb3bw3ZE\r\nQXE0Lc+2EZg0pHxK0ZxP3tcXhhgX8DJdL1jZ8VF426sCKFmDuD3h8z4LMV0j\r\ndPQLY+qnZLg5xe7cCzfjYoS6REjako1Cdj4beN2DkAFVcnF7NNe8YIRVu2bh\r\n3qh1KYHYIQj1Xjb9bkP0J/bBlDNcycOxO7iKc1QpWCVDpeWF6Ktgd8pxAyiY\r\nCTyE2kZJkMMMUa4Q5Kd9vRaNSXsUGYxTm419BvgS3EisOmjr3+ZwQfBuA+LD\r\nQSNaj+8VJu9PnFP/7EH3Y6QxSww1fsiQJDDzCRKWxJt2ylc6gB/xGEvZi7lN\r\ngLNhEgW75aRSAvX5f37jml6elUZL/JVj41MQFWwAvNDONfXK9eUv4d2x/ggk\r\n1psDsEgIwtkWyXGobnUU92x+8TU5YxqiR8+FX+Ls5QsvNbdznwIMzTSD0hSx\r\n8CrdzoFfmM2oSdJIvI2QQCq/087/owVXfvE=\r\n=qa/v\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-stream_3.0.15-dev_1674403645585_0.6331435695457857"},"_hasShrinkwrap":false},"3.0.15":{"name":"parsegraph-stream","version":"3.0.15","description":"stream","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/stream.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/stream/issues"},"homepage":"https://github.com/parsegraph/stream#readme","devDependencies":{"@babel/cli":"^7.20.7","@babel/core":"^7.20.12","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-private-property-in-object":"^7.20.5","@babel/preset-env":"^7.20.2","@babel/preset-react":"^7.18.6","@babel/preset-typescript":"^7.18.6","@babel/register":"^7.18.9","@types/chai":"^4.3.4","@types/jest":"^29.2.6","@types/node":"^18.11.18","@types/react":"^18.0.24","@typescript-eslint/eslint-plugin":"^5.48.2","@typescript-eslint/parser":"^5.48.2","babel-jest":"^29.3.1","babel-loader":"^9.1.2","chai":"^4.3.7","electron":"^19.0.7","eslint":"^8.32.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.6.0","html-webpack-plugin":"^5.5.0","jest":"^29.3.1","jest-environment-jsdom":"^29.3.1","jsdom":"^21.1.0","jsdom-global":"^3.0.2","parsegraph-checkglerror":"^1.5.7","parsegraph-log":"^1.9.2","parsegraph-viewport":"^2.9.8","prettier":"^2.8.3","raw-loader":"^4.0.2","source-map-loader":"^4.0.1","source-map-support":"^0.5.21","ts-loader":"^9.4.2","ts-node":"^10.9.1","typedoc":"^0.23.24","typescript":"^4.9.4","webpack":"^5.75.0","webpack-cli":"^5.0.1"},"peerDependencies":{"parsegraph-checkglerror":"^1.5.7","parsegraph-log":"^1.9.2"},"dependencies":{"espree":"^9.4.1","esprima":"^4.0.1","fast-xml-parser":"^4.0.9","parsegraph-artist":"^3.4.58","parsegraph-block":"^4.6.17","parsegraph-blockpainter":"^1.7.8","parsegraph-color":"^1.4.12","parsegraph-direction":"^2.2.3","react":"^18.2.0","react-reconciler":"^0.29.0","webpack-bundle-analyzer":"^4.7.0","yaml":"^2.1.1"},"_id":"parsegraph-stream@3.0.15","_integrity":"sha512-bV9unSbFwuQgPj+T8nfGq+ThslZsToRTzANtyOYtBNIlhHOSi7GnqJgbrNwE5uAJcQRZPvmjN54H87bGbINigw==","_resolved":"/home/runner/work/stream/stream/parsegraph-stream-prod.tgz","_from":"file:parsegraph-stream-prod.tgz","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-bV9unSbFwuQgPj+T8nfGq+ThslZsToRTzANtyOYtBNIlhHOSi7GnqJgbrNwE5uAJcQRZPvmjN54H87bGbINigw==","shasum":"ed38bd8b68386a0fcbb6d242102be8a586e12bea","tarball":"https://registry.npmjs.org/parsegraph-stream/-/parsegraph-stream-3.0.15.tgz","fileCount":20,"unpackedSize":8022891,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD3UxjJQEpPzIDHSBxUn22foDmQ6Oq2pMBFv0LqL0S28gIhANMncd3XQF6OKNhalwYIV7yFtUWJDjhzBAS4J7f0hbds"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjzV/tACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmox/Q//Vv44LsuGq8NFu5dWFcQryGgZTq+0Y2LY2UKbgvyq63AMRZVN\r\nixah2/LqO/z1OpBh8X7IwVpwNaTR2Mg9/TmNhuHlBprCmRIWDPyn1ztP2J2V\r\nEEUdOqu7KW1c6Q2yTVtmaAz4KQlyysVs1bszp+EyuTmkrWbie3hRdjM7A0wc\r\nRLPngZfSw2caXFrVgljHIxcrwGVBM9cafnjGjZBB0fz/Vf6SJQhEXgJzUlNS\r\nPvGlf/8xJpUeYcBsjdn06p9yCVmGZ3uhEPerPBjs1fsk9PbrxCwbqP0rTBYb\r\n7kxiX0myE701yQbygN1rG2MwSWO24/qPYbsBUMGqXFpPpxnMOkwfNEWoIi0v\r\nlUB7wqaqs0dCuBTXcaoTs4iYqtDIUeOYieiX81LrAvUkTupAHOGzZ6JoMgu1\r\nzy+CAWqgGCi+CwcqGf1l1gnBZVgL1/4/y+r3jGRnVRsP8ZkJ/Dp1+DWemDAv\r\nddNqjNexoIK0pv7zRysGXlFAYREWKjA4c4pZPb7H7xR2xUfgLVb6Jo16MGP4\r\nxIOW7a+vtl6NBHu4GFzgWwIBYUKO3uSOJE2Li57/U7S6Qw7H3C4JGsJSpbSV\r\nj2Erdh44zPVjyGXuGfJZL2QVKBTsphntW0klSQ7qKtfghTr6xlYHi0HWsqSL\r\nRArhFBZK2vYI/ucuQMOJAf6Uz43qT4tajH8=\r\n=stHu\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-stream_3.0.15_1674403821449_0.15641090867451202"},"_hasShrinkwrap":false},"3.0.16-dev":{"name":"parsegraph-stream","version":"3.0.16-dev","description":"stream","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/stream.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/stream/issues"},"homepage":"https://github.com/parsegraph/stream#readme","devDependencies":{"@babel/cli":"^7.20.7","@babel/core":"^7.20.12","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-private-property-in-object":"^7.20.5","@babel/preset-env":"^7.20.2","@babel/preset-react":"^7.18.6","@babel/preset-typescript":"^7.18.6","@babel/register":"^7.18.9","@types/chai":"^4.3.4","@types/jest":"^29.2.6","@types/node":"^18.11.18","@types/react":"^18.0.24","@typescript-eslint/eslint-plugin":"^5.48.2","@typescript-eslint/parser":"^5.48.2","babel-jest":"^29.3.1","babel-loader":"^9.1.2","chai":"^4.3.7","electron":"^19.0.7","eslint":"^8.32.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.6.0","html-webpack-plugin":"^5.5.0","jest":"^29.3.1","jest-environment-jsdom":"^29.3.1","jsdom":"^21.1.0","jsdom-global":"^3.0.2","parsegraph-checkglerror":"^1.5.7","parsegraph-log":"^1.9.2","parsegraph-viewport":"^2.9.8","prettier":"^2.8.3","raw-loader":"^4.0.2","source-map-loader":"^4.0.1","source-map-support":"^0.5.21","ts-loader":"^9.4.2","ts-node":"^10.9.1","typedoc":"^0.23.24","typescript":"^4.9.4","webpack":"^5.75.0","webpack-cli":"^5.0.1"},"peerDependencies":{"parsegraph-checkglerror":"^1.5.7","parsegraph-log":"^1.9.2"},"dependencies":{"espree":"^9.4.1","esprima":"^4.0.1","fast-xml-parser":"^4.0.9","parsegraph-artist":"^3.4.61","parsegraph-block":"^4.6.20","parsegraph-blockpainter":"^1.7.9","parsegraph-color":"^1.4.12","parsegraph-direction":"^2.2.4","react":"^18.2.0","react-reconciler":"^0.29.0","webpack-bundle-analyzer":"^4.7.0","yaml":"^2.1.1"},"readme":"# parsegraph-stream\n\nThis project builds a client-side library to receive Parsegraph server events\nand update a local graph accordingly. It also allows for the client to callback\nthe server based on graph interaction.\n\nThis module allows live updates from a Parsegraph server to multiple connected\nclients.\n\nIt also contains a server used to stream Parsegraph server events.\n\n## The problem\n\nParsegraph applications can be written solely on the client, with callbacks\nembedded in the application. However, it becomes challenging to add sharing of\nthe Parsegraph environment to other users, because updates to the graph must be\nmaintained.\n\nParsegraph stream inverts this problem by making all graph updates come from\nthe server. It provides means to add callbacks to the graph, completing a\nround-trip of serving an initial graph, letting the user invoke graph actions,\nand sending graph updates back to the client once the callback is complete.\n\n## How to use\n\nRun a server, either locally or within a container, and navigate to /. You\nshould see a Parsegraph client. This will show the Parsegraph for the content\nroot. The content root is set by the CONTENT_ROOT environment variable.\n\n## Hosting a container\n\nThe container will run the demo server.\n\n    make build-container\n    docker run -d --net bridge --name parsegraph -e SITE_HOST=0.0.0.0 -e CONTENT_ROOT=/usr/src --expose 3000 -p=127.0.0.1:15000:3000/tcp localhost/parsegraph-stream:latest\n\n# interface ParsegraphServer\n\nA Parsegraph server manages a collection of proxy Parsegraph objects, and is\nable to stream changes to those Parsegraph objects to callbacks.\n\n## server.setCallbackUrl(callbackUrl: string): void\nSets the callback URL used by the server\n\n## server.connect(cb:(...args: any) => void): () => void\nStream server events as arguments back to the given callback.\n\n## server.forEach(cb:(...args: any) => void): void\nSend all saved server events back to the given callback.\n\n## server.callback(callbackIndex: number, val?: any): void\nInvokes the server callback\n\n## server.state(): ParsegraphServerState\nReturns the server state.\n\n# interface ParsegraphServerState\n\nThe Parsegraph server state contains the current state of the Parsegraph, and provides methods\nto update the state using Parsegraph proxy objects.\n\n## server.state().setBackgroundColor(r:number, g:number, b:number, a:number): void\nSets the background color in RGBA space. Numbers are expected to be in range [0, 1].\n\n## server.state().newCaret(type?: any): ParsegraphCaret\nReturns a Parsegraph caret, using the given type as the initial value of the caret root node.\n\n## server.state().setRoot(n: ParsegraphNode): void\nSets the root to the given Parsegraph node.\n\n# script.js module methods\n\nThese are the two methods imported from script.js, used to create new ParsegraphServers.\n\n## streamPath(mainPath: string, subPath: string): ParsegraphServer\nReturns a Parsegraph server designed for streaming and callbacks.\n\nA new Parsegraph streaming server is launched for the subPath if necessary.\n\n* mainPath - the contentRoot.\n* subPath - the URL part specific to the stream.\n\n## servePath(mainPath: string, subPath: string): ParsegraphServer\nReturns a Parsegraph server designed for caching.\n\nA new Parsegraph server is launched for the subPath if necessary.\n\n* mainPath - the contentRoot.\n* subPath - the URL part specific to the stream.\n\n# API Endpoints\n\n## GET /testroute: text/plain endpoint\nhealth check.\n\nResponds 200 with \"testroute from server\" on success.\n\n## GET /parsegraph/(.*): EventStream endpoint\nConnect to a Parsegraph streaming server named by the URL and stream\nParsegraph events back to the client.\n\n## GET /events/(.*) EventStream endpoint\nContent to a Parsegraph server named by the URL and stream\nParsegraph events back to the client.\n\n## GET /graph/(.*) text/plain endpoint\nConnects to a Parsegraph server and writes all saved events back to\nthe client, and close the connection.\n\n## GET /raw/(.*) Raw content\nStream raw content from the given path, under the content root.\n\n## POST /callback/(.*)?cb=123 JSON request\n\nFinds a Parsegraph streaming server named by the URL, and calls callback by\nindex, passing the request body as the argument.\n\nThe cb query parameter is the callback index.\n\n* Responds 500 on server error\n* Responds 200 on success\n\n## POST /splice/(.*) JSON request\nTakes a JSON request of the following form:\n\n    interface SpliceRequest {\n        offset: number;\n        len: number;\n        val: string;\n    }\n\nAnd splices val in the file at the named subPath, under the content\nroot. Both the Parsegraph servers and streaming server are replaced.\n\n* Responds 200 if the splice is successful.\n* Responds 500 on server error\n* Responds 400 if the offset or len are NaN.\n","readmeFilename":"README.md","_id":"parsegraph-stream@3.0.16-dev","_integrity":"sha512-xpH4r0AwFy6dDW4LHxMyCTUZtGlxC4HVe0CbWy0ebdaVHtz+KG++OJrjDBKWsarW5AWMxkMgEqT08QOcqW6frA==","_resolved":"/home/runner/work/stream/stream/parsegraph-stream-dev.tgz","_from":"file:parsegraph-stream-dev.tgz","_nodeVersion":"18.13.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-xpH4r0AwFy6dDW4LHxMyCTUZtGlxC4HVe0CbWy0ebdaVHtz+KG++OJrjDBKWsarW5AWMxkMgEqT08QOcqW6frA==","shasum":"be3d0f9bb5c7012968c3be29ac581aefd967a823","tarball":"https://registry.npmjs.org/parsegraph-stream/-/parsegraph-stream-3.0.16-dev.tgz","fileCount":22,"unpackedSize":16168027,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCqqZ3h2PGFmfKBvqJ59ocwBCkGvK5pdGyHBk98pVkEiwIgLtp2oNzbkNgMOaQlzuNrcNWhf2lzmC4S8fCJLfNbCVU="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjzk8JACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrqIA/+MQ7kcXee6tsNPBo0YTTol1kdsXalHmtOq+D2yeSkhrsKhPhY\r\nEOjEoz3IcKJr8fzPIft49HazySK63QsS/XZDtQ0egyb/OjogDDSQ0JBM3thE\r\ncRxY9pet7TTqdqkJoIZpL4vSFCI/xhk8AFOj7t4e6aWgxpgkq+WR2bFiPNQu\r\n+44ZvXY0fvUGUDb+RC53Y7G8842pvA2e10Eim1eNYgwpFl93zYlC/szXCgwx\r\nxaOil69SK0QiONVXHdHfik63Z1b8t3T2x6L3pO0nBx2pfh+mHC2EBj0/M7IO\r\nuVM4faLqBCfkLqKifeCK0XVvQdT0AqnGbhL6WHq+VQJ/Z8NjYVf+G34yxJTP\r\n5o/G5KMZMy5SHFKkFNCBQr0NMb3Mj5Xr5vnZsCKoa4xd7jhYmJygdqcrEH4H\r\n6lZZ0ZyNKggOD3Fg9qKTisuvzDHo6pm6602F39Gh/PW3A4OYEuBObozab39e\r\n5Eg0eAnN/eZXVVAXxEkpas6a8JLRc5Z3S2uX/djBY0S/+bAaiPhaLyEruinM\r\n3QSquXOj/musSKbeLD+9dwGQT9N0F4nTP6nIM/OUgPskGzyW+NO2PTM9i3wk\r\nI/lpjo4kQUIxXugMOcsCei8h15VxRWi71OmSZLPhRaPoQxnZIc5waHdR6meY\r\nD5hcIEYK0qdc1WQ7qYx52mpFMBGmNBIyh9s=\r\n=KVHY\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-stream_3.0.16-dev_1674465032726_0.38493917129018906"},"_hasShrinkwrap":false},"3.0.16":{"name":"parsegraph-stream","version":"3.0.16","description":"stream","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/stream.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/stream/issues"},"homepage":"https://github.com/parsegraph/stream#readme","devDependencies":{"@babel/cli":"^7.20.7","@babel/core":"^7.20.12","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-private-property-in-object":"^7.20.5","@babel/preset-env":"^7.20.2","@babel/preset-react":"^7.18.6","@babel/preset-typescript":"^7.18.6","@babel/register":"^7.18.9","@types/chai":"^4.3.4","@types/jest":"^29.2.6","@types/node":"^18.11.18","@types/react":"^18.0.24","@typescript-eslint/eslint-plugin":"^5.48.2","@typescript-eslint/parser":"^5.48.2","babel-jest":"^29.3.1","babel-loader":"^9.1.2","chai":"^4.3.7","electron":"^19.0.7","eslint":"^8.32.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.6.0","html-webpack-plugin":"^5.5.0","jest":"^29.3.1","jest-environment-jsdom":"^29.3.1","jsdom":"^21.1.0","jsdom-global":"^3.0.2","parsegraph-checkglerror":"^1.5.7","parsegraph-log":"^1.9.2","parsegraph-viewport":"^2.9.8","prettier":"^2.8.3","raw-loader":"^4.0.2","source-map-loader":"^4.0.1","source-map-support":"^0.5.21","ts-loader":"^9.4.2","ts-node":"^10.9.1","typedoc":"^0.23.24","typescript":"^4.9.4","webpack":"^5.75.0","webpack-cli":"^5.0.1"},"peerDependencies":{"parsegraph-checkglerror":"^1.5.7","parsegraph-log":"^1.9.2"},"dependencies":{"espree":"^9.4.1","esprima":"^4.0.1","fast-xml-parser":"^4.0.9","parsegraph-artist":"^3.4.61","parsegraph-block":"^4.6.20","parsegraph-blockpainter":"^1.7.9","parsegraph-color":"^1.4.12","parsegraph-direction":"^2.2.4","react":"^18.2.0","react-reconciler":"^0.29.0","webpack-bundle-analyzer":"^4.7.0","yaml":"^2.1.1"},"_id":"parsegraph-stream@3.0.16","_integrity":"sha512-r9yD4+EA8JTDkFIoct19EDh13jwVpSD2QI58kf5bw+rgBkqgbbgUANtBbIQgb7X5V17gAUPx9eDNYOCo6FpoBA==","_resolved":"/home/runner/work/stream/stream/parsegraph-stream-prod.tgz","_from":"file:parsegraph-stream-prod.tgz","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-r9yD4+EA8JTDkFIoct19EDh13jwVpSD2QI58kf5bw+rgBkqgbbgUANtBbIQgb7X5V17gAUPx9eDNYOCo6FpoBA==","shasum":"69f1eb3aec85fa4fc54ab77d6bd371df68e23a5b","tarball":"https://registry.npmjs.org/parsegraph-stream/-/parsegraph-stream-3.0.16.tgz","fileCount":18,"unpackedSize":8026142,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGQ3tmFU6JlYh6El3yLeZdSwwsc5lPYYFFhzXIIqqIpUAiBpOmFGnAmDRE1+VAWSBYd7nW7l1zYHpnk9hXLh+R8J7g=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjzk+bACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmroUg/8Cv5H/rwDfvZ8/HX7dzZ5kIzhldaP43u1K5XtcNv1wwvw00/J\r\nSwbFJAGqFRg1V0jr5wIVr+MaPPpGSwwGx9+KKIfe437eZs9p2Blh41ioROYV\r\nuKQXGkwfEv3mWqz/CXRKczy3W4uOQUnPdozQ7pQ2BjArqfvjbuGcGvPunBh2\r\nv7VKOQ1V/ATsZEdbklwbaZm6l92LE1tkAYXpnjPgsZoOHg7Z7DLKoF/6gvE8\r\nrvatt7bkEuNnCxUU2iITbLWlhMivJZF0b0xWdJbSovqApZJ07eTzVDLFKxXD\r\n4iurrlCmVbr98rS93mHzieTjL8IZFLND67HnvT6AQ4uduv558hOTXJGexTw4\r\nMJLKmwLkm9IFW6GVp7LDyQMniRGyAffuzVt/wV8Xm2tHeAxa39cjY5oB985b\r\n2rHFbAGL0XoSDHtW46FuccGGs2HfB1CvXMuQdCQj+y4h08JI0APEOyzyQYWQ\r\nWDR4esjBWTYNjNjO8msQY4ETNB/tz/zF/OXt6S59UO0rA7F7YN2jdy28GsKD\r\nTo2Z/F45KwNLCjG37GZKqJrPP7oRKcWu+9KyWKfV/zEPUmo8VFikjW2fAxp5\r\nKSorXFBDKeM++WI0veI5U/C2JOeGEODz9sDl9KiVQ9dcV6SX0rp9Xu/nC9IJ\r\nKNrvcld0AceOlcVDHNfJB8+CRsL7q6x6rNA=\r\n=RKhV\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-stream_3.0.16_1674465178781_0.3761847041562625"},"_hasShrinkwrap":false},"3.0.17-dev":{"name":"parsegraph-stream","version":"3.0.17-dev","description":"stream","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/stream.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/stream/issues"},"homepage":"https://github.com/parsegraph/stream#readme","devDependencies":{"@babel/cli":"^7.20.7","@babel/core":"^7.20.12","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-private-property-in-object":"^7.20.5","@babel/preset-env":"^7.20.2","@babel/preset-react":"^7.18.6","@babel/preset-typescript":"^7.18.6","@babel/register":"^7.18.9","@types/chai":"^4.3.4","@types/jest":"^29.2.6","@types/node":"^18.11.18","@types/react":"^18.0.24","@typescript-eslint/eslint-plugin":"^5.48.2","@typescript-eslint/parser":"^5.48.2","babel-jest":"^29.3.1","babel-loader":"^9.1.2","chai":"^4.3.7","electron":"^19.0.7","eslint":"^8.32.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.6.0","html-webpack-plugin":"^5.5.0","jest":"^29.3.1","jest-environment-jsdom":"^29.3.1","jsdom":"^21.1.0","jsdom-global":"^3.0.2","parsegraph-checkglerror":"^1.5.7","parsegraph-log":"^1.9.2","parsegraph-viewport":"^2.9.8","prettier":"^2.8.3","raw-loader":"^4.0.2","source-map-loader":"^4.0.1","source-map-support":"^0.5.21","ts-loader":"^9.4.2","ts-node":"^10.9.1","typedoc":"^0.23.24","typescript":"^4.9.4","webpack":"^5.75.0","webpack-cli":"^5.0.1"},"peerDependencies":{"parsegraph-checkglerror":"^1.5.7","parsegraph-log":"^1.9.2"},"dependencies":{"espree":"^9.4.1","esprima":"^4.0.1","fast-xml-parser":"^4.0.9","parsegraph-artist":"^3.4.61","parsegraph-block":"^4.6.20","parsegraph-blockpainter":"^1.7.9","parsegraph-color":"^1.4.12","parsegraph-direction":"^2.2.4","react":"^18.2.0","react-reconciler":"^0.29.0","webpack-bundle-analyzer":"^4.7.0","yaml":"^2.1.1"},"readme":"# parsegraph-stream\n\nThis project builds a client-side library to receive Parsegraph server events\nand update a local graph accordingly. It also allows for the client to callback\nthe server based on graph interaction.\n\nThis module allows live updates from a Parsegraph server to multiple connected\nclients.\n\nIt also contains a server used to stream Parsegraph server events.\n\n## The problem\n\nParsegraph applications can be written solely on the client, with callbacks\nembedded in the application. However, it becomes challenging to add sharing of\nthe Parsegraph environment to other users, because updates to the graph must be\nmaintained.\n\nParsegraph stream inverts this problem by making all graph updates come from\nthe server. It provides means to add callbacks to the graph, completing a\nround-trip of serving an initial graph, letting the user invoke graph actions,\nand sending graph updates back to the client once the callback is complete.\n\n## How to use\n\nRun a server, either locally or within a container, and navigate to /. You\nshould see a Parsegraph client. This will show the Parsegraph for the content\nroot. The content root is set by the CONTENT_ROOT environment variable.\n\n## Hosting a container\n\nThe container will run the demo server.\n\n    make build-container\n    docker run -d --net bridge --name parsegraph -e SITE_HOST=0.0.0.0 -e CONTENT_ROOT=/usr/src --expose 3000 -p=127.0.0.1:15000:3000/tcp localhost/parsegraph-stream:latest\n\n# interface ParsegraphServer\n\nA Parsegraph server manages a collection of proxy Parsegraph objects, and is\nable to stream changes to those Parsegraph objects to callbacks.\n\n## server.setCallbackUrl(callbackUrl: string): void\nSets the callback URL used by the server\n\n## server.connect(cb:(...args: any) => void): () => void\nStream server events as arguments back to the given callback.\n\n## server.forEach(cb:(...args: any) => void): void\nSend all saved server events back to the given callback.\n\n## server.callback(callbackIndex: number, val?: any): void\nInvokes the server callback\n\n## server.state(): ParsegraphServerState\nReturns the server state.\n\n# interface ParsegraphServerState\n\nThe Parsegraph server state contains the current state of the Parsegraph, and provides methods\nto update the state using Parsegraph proxy objects.\n\n## server.state().setBackgroundColor(r:number, g:number, b:number, a:number): void\nSets the background color in RGBA space. Numbers are expected to be in range [0, 1].\n\n## server.state().newCaret(type?: any): ParsegraphCaret\nReturns a Parsegraph caret, using the given type as the initial value of the caret root node.\n\n## server.state().setRoot(n: ParsegraphNode): void\nSets the root to the given Parsegraph node.\n\n# script.js module methods\n\nThese are the two methods imported from script.js, used to create new ParsegraphServers.\n\n## streamPath(mainPath: string, subPath: string): ParsegraphServer\nReturns a Parsegraph server designed for streaming and callbacks.\n\nA new Parsegraph streaming server is launched for the subPath if necessary.\n\n* mainPath - the contentRoot.\n* subPath - the URL part specific to the stream.\n\n## servePath(mainPath: string, subPath: string): ParsegraphServer\nReturns a Parsegraph server designed for caching.\n\nA new Parsegraph server is launched for the subPath if necessary.\n\n* mainPath - the contentRoot.\n* subPath - the URL part specific to the stream.\n\n# API Endpoints\n\n## GET /testroute: text/plain endpoint\nhealth check.\n\nResponds 200 with \"testroute from server\" on success.\n\n## GET /parsegraph/(.*): EventStream endpoint\nConnect to a Parsegraph streaming server named by the URL and stream\nParsegraph events back to the client.\n\n## GET /events/(.*) EventStream endpoint\nContent to a Parsegraph server named by the URL and stream\nParsegraph events back to the client.\n\n## GET /graph/(.*) text/plain endpoint\nConnects to a Parsegraph server and writes all saved events back to\nthe client, and close the connection.\n\n## GET /raw/(.*) Raw content\nStream raw content from the given path, under the content root.\n\n## POST /callback/(.*)?cb=123 JSON request\n\nFinds a Parsegraph streaming server named by the URL, and calls callback by\nindex, passing the request body as the argument.\n\nThe cb query parameter is the callback index.\n\n* Responds 500 on server error\n* Responds 200 on success\n\n## POST /splice/(.*) JSON request\nTakes a JSON request of the following form:\n\n    interface SpliceRequest {\n        offset: number;\n        len: number;\n        val: string;\n    }\n\nAnd splices val in the file at the named subPath, under the content\nroot. Both the Parsegraph servers and streaming server are replaced.\n\n* Responds 200 if the splice is successful.\n* Responds 500 on server error\n* Responds 400 if the offset or len are NaN.\n","readmeFilename":"README.md","_id":"parsegraph-stream@3.0.17-dev","_integrity":"sha512-e3Ys24FjwffpHYDI+daVXoMvxoINlbS+pkD+JADAJI+GBhRo1lDTa8NyqhYL4XpzNmURiol0YwAddWygcUK3kg==","_resolved":"/home/runner/work/stream/stream/parsegraph-stream-dev.tgz","_from":"file:parsegraph-stream-dev.tgz","_nodeVersion":"18.13.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-e3Ys24FjwffpHYDI+daVXoMvxoINlbS+pkD+JADAJI+GBhRo1lDTa8NyqhYL4XpzNmURiol0YwAddWygcUK3kg==","shasum":"8e32505b8caab5f7da42e0aed332dc8055917590","tarball":"https://registry.npmjs.org/parsegraph-stream/-/parsegraph-stream-3.0.17-dev.tgz","fileCount":22,"unpackedSize":16168027,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC6nWbwJPVEYF8YuVLmHhxE7Q2E8TKlYGGY4WoqWiUt5wIgUPMpZTu4Te8OfG2l+5tIUVSjwaBCODfOcBi/G3zyXfc="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjzlUhACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq+ig//XhYV6QeJZl07ZGr1m+fMPEkuBickc1pvKzyKQ0X1GjG9syOM\r\nkrca622k8pcbEkufQGzN/ESU3UBSQ92doNW5A6NuaL3tJv6Z8wtnSDH22TDH\r\nFN/u8BuYHe7qk3qzv/+rS00Q878aQVDetcSJyNzK+pjIV1nA0J8SYcrlYfOc\r\nqA6IZ7DU8/o5kajSPTh/XhbsqGvOJvF07BmfWYTvuzKexI8JCI/nVIcW+keJ\r\nWhnOztu9JDIVBUS2BPA8ZbZuRY7gL3Io7CxP/wT0mSGZvbrUwSblc1gq5xnY\r\nmd+5KWRZpzEXzzGbc9mwGMgQYqrCyLci2eWRfSemrLpNRgsO72EW43UrQ6Mn\r\np3PPnYMc72DmFNwyisJbLRKCTxz8giX0ErnOQ88N359DWGdwm5rjL9YncKiC\r\ncABJZS2ZaC2hoCgT0VEv08sRMhE73YAuhrdOkR67lzM8iQhYNWO8BnEAsIPV\r\nK9PMw7Azlcr88WWoxtagCxgu2KAEndm59WXWrT6CEdTHi+iBTl4KOteVA6gJ\r\nwzKiFmJGVG3cyeFoN89m55rwjyb69n3D2SobU6Mrd6BFhjLwZdZvOC75YpX1\r\nPyHEerWqRaXXxhgtWXz8xz009yWM+PUwuOMU7RwH14zn0uA587oizA/Zj5h4\r\n7Bw9844O24GlBGbVh9D0rInjr76yxJit9uo=\r\n=oDAF\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-stream_3.0.17-dev_1674466592963_0.8595044315607012"},"_hasShrinkwrap":false},"3.0.17":{"name":"parsegraph-stream","version":"3.0.17","description":"stream","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/stream.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/stream/issues"},"homepage":"https://github.com/parsegraph/stream#readme","devDependencies":{"@babel/cli":"^7.20.7","@babel/core":"^7.20.12","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-private-property-in-object":"^7.20.5","@babel/preset-env":"^7.20.2","@babel/preset-react":"^7.18.6","@babel/preset-typescript":"^7.18.6","@babel/register":"^7.18.9","@types/chai":"^4.3.4","@types/jest":"^29.2.6","@types/node":"^18.11.18","@types/react":"^18.0.24","@typescript-eslint/eslint-plugin":"^5.48.2","@typescript-eslint/parser":"^5.48.2","babel-jest":"^29.3.1","babel-loader":"^9.1.2","chai":"^4.3.7","electron":"^19.0.7","eslint":"^8.32.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.6.0","html-webpack-plugin":"^5.5.0","jest":"^29.3.1","jest-environment-jsdom":"^29.3.1","jsdom":"^21.1.0","jsdom-global":"^3.0.2","parsegraph-checkglerror":"^1.5.7","parsegraph-log":"^1.9.2","parsegraph-viewport":"^2.9.8","prettier":"^2.8.3","raw-loader":"^4.0.2","source-map-loader":"^4.0.1","source-map-support":"^0.5.21","ts-loader":"^9.4.2","ts-node":"^10.9.1","typedoc":"^0.23.24","typescript":"^4.9.4","webpack":"^5.75.0","webpack-cli":"^5.0.1"},"peerDependencies":{"parsegraph-checkglerror":"^1.5.7","parsegraph-log":"^1.9.2"},"dependencies":{"espree":"^9.4.1","esprima":"^4.0.1","fast-xml-parser":"^4.0.9","parsegraph-artist":"^3.4.61","parsegraph-block":"^4.6.20","parsegraph-blockpainter":"^1.7.9","parsegraph-color":"^1.4.12","parsegraph-direction":"^2.2.4","react":"^18.2.0","react-reconciler":"^0.29.0","webpack-bundle-analyzer":"^4.7.0","yaml":"^2.1.1"},"_id":"parsegraph-stream@3.0.17","_integrity":"sha512-9cFulzq3c3hmMrGS7qk3zIfKQwwzfvdFSlQO6AhVf94um1XOh/qokw7YIa3kaWFuOVqCoLAfeIJlvgRC7Z3MrQ==","_resolved":"/home/runner/work/stream/stream/parsegraph-stream-prod.tgz","_from":"file:parsegraph-stream-prod.tgz","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-9cFulzq3c3hmMrGS7qk3zIfKQwwzfvdFSlQO6AhVf94um1XOh/qokw7YIa3kaWFuOVqCoLAfeIJlvgRC7Z3MrQ==","shasum":"d95c04ddfbf8a2152d462a91206b2a12984888f8","tarball":"https://registry.npmjs.org/parsegraph-stream/-/parsegraph-stream-3.0.17.tgz","fileCount":18,"unpackedSize":8026142,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCqleDMkEUy1NTjlYz5F7d6dCdA36ytebQSjrvWh/XJXgIgFBr/Pa3EDeczQGfmfQXKUOLToCgSSJrv+xycs+mi8LQ="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjzlWjACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoivg//cgwYTfeHZgKzsKKNUBqTIZA17WLLMsrVD7H4OwDLFgaox4Vm\r\nXkPz3ibe4QD29xxI6FjPD2t42Jzj5KNwwQvPfTImwDdm2KIT9f+Y7W7ik1/T\r\nx4+qTDTreBFsE/w6rx/m+7XHXqUjrIMOD+0GBK0o13HhMehDNlSGaByU535z\r\nVBONoiDdaTg8PLAHuLSykGUmrdrKxckABVYYYV/8215PHnd8MAS2DLJDZV/R\r\nR+octedddLepvmhTFVLiicK6pNtk5C+7d4FwFym1B15nM89fq4hJ0zPBsRMv\r\n/25yiXn9h2RbTkTXo8FykHZ6TK6otAkPTgvQdIyNw7hMs8VmZdleu6wRwR0/\r\no9Gx4SdGKNn2dMikl4dZvfGbElxizLLlUQ3PHB/HiI7mKnSDKTxsp/ZS7cOf\r\nkya9HadQlyDUbehRCJ4uNFpupgS2gpMeHYd0+cyhDqxokhDc/eeq02U9Uw2h\r\n83P5HKsRVShE9JO24GkECBR3t3TF9PS8tC7bt8vyXuJhjALoWfpQ3GwNRJdw\r\nLdd0oIoF2ZTHPkb8AaRxsTnxYEg8DdwPUhEufWXwa8nqbgtvOUACQ+Gc+6Rt\r\nbvGJoHXzxzvpiyISHsZtKKlrqSBVUCAnXJU90rqSRerAghLa285SHnkIZKXn\r\nplo282tWMMjmjlPftrKJSIEef6dqz0h2nBU=\r\n=6s3w\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-stream_3.0.17_1674466723237_0.8577798609098906"},"_hasShrinkwrap":false},"3.0.20-dev":{"name":"parsegraph-stream","version":"3.0.20-dev","description":"stream","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/stream.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/stream/issues"},"homepage":"https://github.com/parsegraph/stream#readme","devDependencies":{"@babel/cli":"^7.20.7","@babel/core":"^7.20.12","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-private-property-in-object":"^7.20.5","@babel/preset-env":"^7.20.2","@babel/preset-react":"^7.18.6","@babel/preset-typescript":"^7.18.6","@babel/register":"^7.18.9","@types/chai":"^4.3.4","@types/jest":"^29.2.6","@types/node":"^18.11.18","@types/react":"^18.0.24","@typescript-eslint/eslint-plugin":"^5.49.0","@typescript-eslint/parser":"^5.49.0","babel-jest":"^29.3.1","babel-loader":"^9.1.2","chai":"^4.3.7","electron":"^19.0.7","eslint":"^8.32.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.6.0","html-webpack-plugin":"^5.5.0","jest":"^29.3.1","jest-environment-jsdom":"^29.3.1","jsdom":"^21.1.0","jsdom-global":"^3.0.2","parsegraph-checkglerror":"^1.5.7","parsegraph-log":"^1.9.2","parsegraph-viewport":"^2.9.13","prettier":"^2.8.3","raw-loader":"^4.0.2","source-map-loader":"^4.0.1","source-map-support":"^0.5.21","ts-loader":"^9.4.2","ts-node":"^10.9.1","typedoc":"^0.23.24","typescript":"^4.9.4","webpack":"^5.75.0","webpack-cli":"^5.0.1"},"peerDependencies":{"parsegraph-checkglerror":"^1.5.7","parsegraph-log":"^1.9.2"},"dependencies":{"espree":"^9.4.1","esprima":"^4.0.1","fast-xml-parser":"^4.0.9","parsegraph-artist":"^3.4.64","parsegraph-block":"^4.6.22","parsegraph-blockpainter":"^1.7.10","parsegraph-color":"^1.4.12","parsegraph-direction":"^2.2.4","react":"^18.2.0","react-reconciler":"^0.29.0","webpack-bundle-analyzer":"^4.7.0","yaml":"^2.1.1"},"readme":"# parsegraph-stream\n\nThis project builds a client-side library to receive Parsegraph server events\nand update a local graph accordingly. It also allows for the client to callback\nthe server based on graph interaction.\n\nThis module allows live updates from a Parsegraph server to multiple connected\nclients.\n\nIt also contains a server used to stream Parsegraph server events.\n\n## The problem\n\nParsegraph applications can be written solely on the client, with callbacks\nembedded in the application. However, it becomes challenging to add sharing of\nthe Parsegraph environment to other users, because updates to the graph must be\nmaintained.\n\nParsegraph stream inverts this problem by making all graph updates come from\nthe server. It provides means to add callbacks to the graph, completing a\nround-trip of serving an initial graph, letting the user invoke graph actions,\nand sending graph updates back to the client once the callback is complete.\n\n## How to use\n\nRun a server, either locally or within a container, and navigate to /. You\nshould see a Parsegraph client. This will show the Parsegraph for the content\nroot. The content root is set by the CONTENT_ROOT environment variable.\n\n## Hosting a container\n\nThe container will run the demo server.\n\n    make build-container\n    docker run -d --net bridge --name parsegraph -e SITE_HOST=0.0.0.0 -e CONTENT_ROOT=/usr/src --expose 3000 -p=127.0.0.1:15000:3000/tcp localhost/parsegraph-stream:latest\n\n# interface ParsegraphServer\n\nA Parsegraph server manages a collection of proxy Parsegraph objects, and is\nable to stream changes to those Parsegraph objects to callbacks.\n\n## server.setCallbackUrl(callbackUrl: string): void\nSets the callback URL used by the server\n\n## server.connect(cb:(...args: any) => void): () => void\nStream server events as arguments back to the given callback.\n\n## server.forEach(cb:(...args: any) => void): void\nSend all saved server events back to the given callback.\n\n## server.callback(callbackIndex: number, val?: any): void\nInvokes the server callback\n\n## server.state(): ParsegraphServerState\nReturns the server state.\n\n# interface ParsegraphServerState\n\nThe Parsegraph server state contains the current state of the Parsegraph, and provides methods\nto update the state using Parsegraph proxy objects.\n\n## server.state().setBackgroundColor(r:number, g:number, b:number, a:number): void\nSets the background color in RGBA space. Numbers are expected to be in range [0, 1].\n\n## server.state().newCaret(type?: any): ParsegraphCaret\nReturns a Parsegraph caret, using the given type as the initial value of the caret root node.\n\n## server.state().setRoot(n: ParsegraphNode): void\nSets the root to the given Parsegraph node.\n\n# script.js module methods\n\nThese are the two methods imported from script.js, used to create new ParsegraphServers.\n\n## streamPath(mainPath: string, subPath: string): ParsegraphServer\nReturns a Parsegraph server designed for streaming and callbacks.\n\nA new Parsegraph streaming server is launched for the subPath if necessary.\n\n* mainPath - the contentRoot.\n* subPath - the URL part specific to the stream.\n\n## servePath(mainPath: string, subPath: string): ParsegraphServer\nReturns a Parsegraph server designed for caching.\n\nA new Parsegraph server is launched for the subPath if necessary.\n\n* mainPath - the contentRoot.\n* subPath - the URL part specific to the stream.\n\n# API Endpoints\n\n## GET /testroute: text/plain endpoint\nhealth check.\n\nResponds 200 with \"testroute from server\" on success.\n\n## GET /parsegraph/(.*): EventStream endpoint\nConnect to a Parsegraph streaming server named by the URL and stream\nParsegraph events back to the client.\n\n## GET /events/(.*) EventStream endpoint\nContent to a Parsegraph server named by the URL and stream\nParsegraph events back to the client.\n\n## GET /graph/(.*) text/plain endpoint\nConnects to a Parsegraph server and writes all saved events back to\nthe client, and close the connection.\n\n## GET /raw/(.*) Raw content\nStream raw content from the given path, under the content root.\n\n## POST /callback/(.*)?cb=123 JSON request\n\nFinds a Parsegraph streaming server named by the URL, and calls callback by\nindex, passing the request body as the argument.\n\nThe cb query parameter is the callback index.\n\n* Responds 500 on server error\n* Responds 200 on success\n\n## POST /splice/(.*) JSON request\nTakes a JSON request of the following form:\n\n    interface SpliceRequest {\n        offset: number;\n        len: number;\n        val: string;\n    }\n\nAnd splices val in the file at the named subPath, under the content\nroot. Both the Parsegraph servers and streaming server are replaced.\n\n* Responds 200 if the splice is successful.\n* Responds 500 on server error\n* Responds 400 if the offset or len are NaN.\n","readmeFilename":"README.md","_id":"parsegraph-stream@3.0.20-dev","_integrity":"sha512-jeJzVJrd55aO8s4UjzDehFUVm+gwRL4muUvhEqF+BtLJKOVFTr2dXpslFzAYgbzU3wnLqY871AHyZHBQspQM3g==","_resolved":"/home/runner/work/stream/stream/parsegraph-stream-dev.tgz","_from":"file:parsegraph-stream-dev.tgz","_nodeVersion":"18.13.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-jeJzVJrd55aO8s4UjzDehFUVm+gwRL4muUvhEqF+BtLJKOVFTr2dXpslFzAYgbzU3wnLqY871AHyZHBQspQM3g==","shasum":"5a30c02f3f7a6de8b39093c105ed31244e732034","tarball":"https://registry.npmjs.org/parsegraph-stream/-/parsegraph-stream-3.0.20-dev.tgz","fileCount":24,"unpackedSize":16509614,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDb2KWkDpSz+wtRzOATtCGStfygjkyxc2oarGqncxzEfgIgIKpfFwnd7M+Ly+AVNODmlpdgmB9Hed2f31GBkO8Houg="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjz6cYACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqepQ/+KuTOBlGwXQXbdzhDSdeTOygLLnV6aaeZ3QkKhCHzC9XILQo9\r\n10qti+EukGMHHznyrOAkC/FI4S4QsmPAoclbyIqu/alWRuNtNB/Yi020d6MB\r\nPjWx5IrDAyWujK7gLuiAneoxtJfOIwk1nrswlHrcwvdYHEMlpHCJupgHF4ZV\r\nGsfzG5HMdLIyeBRPgiu6HfMYP8h+a+UBHv/Z1+5nZBV8WDS361cb1inmRYQo\r\n4OhKbYoLbDmrLzDy8r1w2xDfYxEZQ+OQoWcSp2gyxuyXlITbwHPFAB4yq6l1\r\nmz4kKd/mV1Il0ZddMjUkQWNNL2nw/B9aRhoJCQbzFJjvKIO3iod8nTicu1q3\r\nNRdWLBH2l6mwZ+fCluXQREOCmboH7ocRN6fX7W9iQ4ZpQ0Kt/YN7xd9Vtxd0\r\nH08B59B/dUy77eJWQi7PG3Rhwvx/ZFzFA3FC4+2w84AwZQbVc9jPeUXOqjzf\r\nFFzqH4gpgGL0FwG/c4X77d7Bmv6Azx1JT0/txtbFcfRtrWmaY6GA5JNJTB3p\r\nU0LZOYkLagn8l5RLSpVV2Fg6ix4WwAd8Qhmf7bKCcMk28Y5Zxvv38Dms3TCf\r\nkg62kHL1eqmKi5rFYADeH01PgvifEi4zb4lIHigCjGkzOhggo2UjftAuUh9n\r\n6ii9efViYCGS/Ce6cV3ln8RsWwZc9fCQZ68=\r\n=DDdK\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-stream_3.0.20-dev_1674553112394_0.23426631223449368"},"_hasShrinkwrap":false},"3.0.20":{"name":"parsegraph-stream","version":"3.0.20","description":"stream","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/stream.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/stream/issues"},"homepage":"https://github.com/parsegraph/stream#readme","devDependencies":{"@babel/cli":"^7.20.7","@babel/core":"^7.20.12","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-private-property-in-object":"^7.20.5","@babel/preset-env":"^7.20.2","@babel/preset-react":"^7.18.6","@babel/preset-typescript":"^7.18.6","@babel/register":"^7.18.9","@types/chai":"^4.3.4","@types/jest":"^29.2.6","@types/node":"^18.11.18","@types/react":"^18.0.24","@typescript-eslint/eslint-plugin":"^5.49.0","@typescript-eslint/parser":"^5.49.0","babel-jest":"^29.3.1","babel-loader":"^9.1.2","chai":"^4.3.7","electron":"^19.0.7","eslint":"^8.32.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.6.0","html-webpack-plugin":"^5.5.0","jest":"^29.3.1","jest-environment-jsdom":"^29.3.1","jsdom":"^21.1.0","jsdom-global":"^3.0.2","parsegraph-checkglerror":"^1.5.7","parsegraph-log":"^1.9.2","parsegraph-viewport":"^2.9.13","prettier":"^2.8.3","raw-loader":"^4.0.2","source-map-loader":"^4.0.1","source-map-support":"^0.5.21","ts-loader":"^9.4.2","ts-node":"^10.9.1","typedoc":"^0.23.24","typescript":"^4.9.4","webpack":"^5.75.0","webpack-cli":"^5.0.1"},"peerDependencies":{"parsegraph-checkglerror":"^1.5.7","parsegraph-log":"^1.9.2"},"dependencies":{"espree":"^9.4.1","esprima":"^4.0.1","fast-xml-parser":"^4.0.9","parsegraph-artist":"^3.4.64","parsegraph-block":"^4.6.22","parsegraph-blockpainter":"^1.7.10","parsegraph-color":"^1.4.12","parsegraph-direction":"^2.2.4","react":"^18.2.0","react-reconciler":"^0.29.0","webpack-bundle-analyzer":"^4.7.0","yaml":"^2.1.1"},"_id":"parsegraph-stream@3.0.20","_integrity":"sha512-U3HlZ8HQvgaFegcJBedeN2BUMHdRsGMrtkF9B5KiWhqznaONyeK75mWHFLM6pCAMIz2mI8gV/wPAVwRjJ0l3lQ==","_resolved":"/home/runner/work/stream/stream/parsegraph-stream-prod.tgz","_from":"file:parsegraph-stream-prod.tgz","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-U3HlZ8HQvgaFegcJBedeN2BUMHdRsGMrtkF9B5KiWhqznaONyeK75mWHFLM6pCAMIz2mI8gV/wPAVwRjJ0l3lQ==","shasum":"56bc7bdf4dfc46a689b3102b936d82b6cb8c7043","tarball":"https://registry.npmjs.org/parsegraph-stream/-/parsegraph-stream-3.0.20.tgz","fileCount":20,"unpackedSize":8201460,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDo/xPf5e8SXiPElCDZLD1UwRUTDpZk3d2HUZc2b2TCmgIhAO4UDtHjsGBrCw9P73yeMd6W3pSocE5CknRwjSa0fbgI"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjz6ecACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqCgQ//f3SWfAOZYZApB0ntKMZeFu4BwAEo4rRzVVu25SuYFii+rLOk\r\nS4u3waLYnWp9bQfXBiuFFr1PEo0uBADqSP+WVJSr4ZdvXq36W4Wjon2MKvYV\r\nAIEHhO5vjT6n3wnfXL96Qrbt/WCkFToz/e57GwFosESXQUeGx6p55Nhm/ezc\r\n6fVE6tDV9qMvhPcTlbZ15JEjMX4lXBh5F0zz0WszR4ua+3gS7l4NKeeR4S7P\r\nmFlQ8Rb0gmgbPctnEwQpk6Goe+Qmt1IWFFT+Q1IfqguUngJt5sAZNZTZJLeq\r\njazP/j76iKqXatgCDoVx11ywK8HosAF8jn02O8Sh+rgS3cifP9MgulmM67uj\r\n2gTpoQssHAobCBUCTC6fmlfeGE+UCPlt280tMChg7M82kPeEt4oF3hLxC7yK\r\nQj8Pvu/mrfZMGWis/zlfPPSTZtBhY/Qrvrx2sVxWPZGPLa/WSjzXbp2K6a5o\r\nmyo9cAtdeMHp8O1h/xJ7bR4rfRkUfPm9lPw1JnE4duSYK+yVS1yo1u74eqAq\r\nB7HcfsCEd73tT5kP/n4yyszPDZX0rltCy/e9cG4kfN7yqxc4/IUdzvER6Okx\r\n7oZhtHKuBOZR6E7jWQzOyyLryt4vD46QcyVLIeMv673eBncGRKrGDAigNfcx\r\nwL5ZQXq7WCBlkADtTOI4IB47JQ703VHWN+g=\r\n=BwA+\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-stream_3.0.20_1674553244567_0.0712996036657303"},"_hasShrinkwrap":false},"3.0.21-dev":{"name":"parsegraph-stream","version":"3.0.21-dev","description":"stream","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/stream.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/stream/issues"},"homepage":"https://github.com/parsegraph/stream#readme","devDependencies":{"@babel/cli":"^7.20.7","@babel/core":"^7.20.12","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-private-property-in-object":"^7.20.5","@babel/preset-env":"^7.20.2","@babel/preset-react":"^7.18.6","@babel/preset-typescript":"^7.18.6","@babel/register":"^7.18.9","@types/chai":"^4.3.4","@types/jest":"^29.2.6","@types/node":"^18.11.18","@types/react":"^18.0.24","@typescript-eslint/eslint-plugin":"^5.49.0","@typescript-eslint/parser":"^5.49.0","babel-jest":"^29.3.1","babel-loader":"^9.1.2","chai":"^4.3.7","electron":"^19.0.7","eslint":"^8.32.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.6.0","html-webpack-plugin":"^5.5.0","jest":"^29.3.1","jest-environment-jsdom":"^29.3.1","jsdom":"^21.1.0","jsdom-global":"^3.0.2","parsegraph-checkglerror":"^1.5.7","parsegraph-log":"^1.9.2","parsegraph-viewport":"^2.9.13","prettier":"^2.8.3","raw-loader":"^4.0.2","source-map-loader":"^4.0.1","source-map-support":"^0.5.21","ts-loader":"^9.4.2","ts-node":"^10.9.1","typedoc":"^0.23.24","typescript":"^4.9.4","webpack":"^5.75.0","webpack-cli":"^5.0.1"},"peerDependencies":{"parsegraph-checkglerror":"^1.5.7","parsegraph-log":"^1.9.2"},"dependencies":{"espree":"^9.4.1","esprima":"^4.0.1","fast-xml-parser":"^4.0.9","parsegraph-artist":"^3.4.64","parsegraph-block":"^4.6.22","parsegraph-blockpainter":"^1.7.10","parsegraph-color":"^1.4.12","parsegraph-direction":"^2.2.4","react":"^18.2.0","react-reconciler":"^0.29.0","webpack-bundle-analyzer":"^4.7.0","yaml":"^2.1.1"},"readme":"# parsegraph-stream\n\nThis project builds a client-side library to receive Parsegraph server events\nand update a local graph accordingly. It also allows for the client to callback\nthe server based on graph interaction.\n\nThis module allows live updates from a Parsegraph server to multiple connected\nclients.\n\nIt also contains a server used to stream Parsegraph server events.\n\n## The problem\n\nParsegraph applications can be written solely on the client, with callbacks\nembedded in the application. However, it becomes challenging to add sharing of\nthe Parsegraph environment to other users, because updates to the graph must be\nmaintained.\n\nParsegraph stream inverts this problem by making all graph updates come from\nthe server. It provides means to add callbacks to the graph, completing a\nround-trip of serving an initial graph, letting the user invoke graph actions,\nand sending graph updates back to the client once the callback is complete.\n\n## How to use\n\nRun a server, either locally or within a container, and navigate to /. You\nshould see a Parsegraph client. This will show the Parsegraph for the content\nroot. The content root is set by the CONTENT_ROOT environment variable.\n\n## Hosting a container\n\nThe container will run the demo server.\n\n    make build-container\n    docker run -d --net bridge --name parsegraph -e SITE_HOST=0.0.0.0 -e CONTENT_ROOT=/usr/src --expose 3000 -p=127.0.0.1:15000:3000/tcp localhost/parsegraph-stream:latest\n\n# interface ParsegraphServer\n\nA Parsegraph server manages a collection of proxy Parsegraph objects, and is\nable to stream changes to those Parsegraph objects to callbacks.\n\n## server.setCallbackUrl(callbackUrl: string): void\nSets the callback URL used by the server\n\n## server.connect(cb:(...args: any) => void): () => void\nStream server events as arguments back to the given callback.\n\n## server.forEach(cb:(...args: any) => void): void\nSend all saved server events back to the given callback.\n\n## server.callback(callbackIndex: number, val?: any): void\nInvokes the server callback\n\n## server.state(): ParsegraphServerState\nReturns the server state.\n\n# interface ParsegraphServerState\n\nThe Parsegraph server state contains the current state of the Parsegraph, and provides methods\nto update the state using Parsegraph proxy objects.\n\n## server.state().setBackgroundColor(r:number, g:number, b:number, a:number): void\nSets the background color in RGBA space. Numbers are expected to be in range [0, 1].\n\n## server.state().newCaret(type?: any): ParsegraphCaret\nReturns a Parsegraph caret, using the given type as the initial value of the caret root node.\n\n## server.state().setRoot(n: ParsegraphNode): void\nSets the root to the given Parsegraph node.\n\n# script.js module methods\n\nThese are the two methods imported from script.js, used to create new ParsegraphServers.\n\n## streamPath(mainPath: string, subPath: string): ParsegraphServer\nReturns a Parsegraph server designed for streaming and callbacks.\n\nA new Parsegraph streaming server is launched for the subPath if necessary.\n\n* mainPath - the contentRoot.\n* subPath - the URL part specific to the stream.\n\n## servePath(mainPath: string, subPath: string): ParsegraphServer\nReturns a Parsegraph server designed for caching.\n\nA new Parsegraph server is launched for the subPath if necessary.\n\n* mainPath - the contentRoot.\n* subPath - the URL part specific to the stream.\n\n# API Endpoints\n\n## GET /testroute: text/plain endpoint\nhealth check.\n\nResponds 200 with \"testroute from server\" on success.\n\n## GET /parsegraph/(.*): EventStream endpoint\nConnect to a Parsegraph streaming server named by the URL and stream\nParsegraph events back to the client.\n\n## GET /events/(.*) EventStream endpoint\nContent to a Parsegraph server named by the URL and stream\nParsegraph events back to the client.\n\n## GET /graph/(.*) text/plain endpoint\nConnects to a Parsegraph server and writes all saved events back to\nthe client, and close the connection.\n\n## GET /raw/(.*) Raw content\nStream raw content from the given path, under the content root.\n\n## POST /callback/(.*)?cb=123 JSON request\n\nFinds a Parsegraph streaming server named by the URL, and calls callback by\nindex, passing the request body as the argument.\n\nThe cb query parameter is the callback index.\n\n* Responds 500 on server error\n* Responds 200 on success\n\n## POST /splice/(.*) JSON request\nTakes a JSON request of the following form:\n\n    interface SpliceRequest {\n        offset: number;\n        len: number;\n        val: string;\n    }\n\nAnd splices val in the file at the named subPath, under the content\nroot. Both the Parsegraph servers and streaming server are replaced.\n\n* Responds 200 if the splice is successful.\n* Responds 500 on server error\n* Responds 400 if the offset or len are NaN.\n","readmeFilename":"README.md","_id":"parsegraph-stream@3.0.21-dev","_integrity":"sha512-5nO1MFX9VOrGpYC77vfWdq+3L1qkzPwLORHpILG+uUxmTJp5yqwGyiU6qCOFQeW0yD3BpyBblxuzqh1fu/O5aA==","_resolved":"/home/runner/work/stream/stream/parsegraph-stream-dev.tgz","_from":"file:parsegraph-stream-dev.tgz","_nodeVersion":"18.13.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-5nO1MFX9VOrGpYC77vfWdq+3L1qkzPwLORHpILG+uUxmTJp5yqwGyiU6qCOFQeW0yD3BpyBblxuzqh1fu/O5aA==","shasum":"e1f36fd443ac6350a9db0645c878de2da83e1864","tarball":"https://registry.npmjs.org/parsegraph-stream/-/parsegraph-stream-3.0.21-dev.tgz","fileCount":24,"unpackedSize":16509614,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA1UQ9NdNB36hlY1xldO42HfUGCdWnD1hrrkOr/V0SgVAiEApHUyj6nbslKjg3fxoho+08Asy09nX76Kr03GKmzLPGQ="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjz6poACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoNJA/+NBdDP90YtU5Wn0RDOBE5W6CMwQeW8aBANNgA5zzTJp10tbCB\r\n3CKcVlZCl4rf0cFJKGGgAK/89bUFApG2x6dmaXcImy9IrSMWfFiKksvem19C\r\npPNUJWz6ghVOgGTcEp8TdtVclwafXod5cZwBoYtOyivB7g3vYVG6/Ae9A/1U\r\nc/AUjQa8LSF82m7cEm8jmeIdxQ4v8kQZdxdho5+hM/dbFpkIfN64lYt5rdQS\r\nfAL8yedY/OvFRfhjmcO+XPObvNs7P4hMJzO5JE3IfLQMP7aDmywWz1umPnP1\r\nNf+dCmb+txPmyZWXypS67xGlqj5ArIVcBqpOfWOwuiIN9ssC1gQMcT2dhAkz\r\n/d270JMhRi1FElWAm9beY70cxTs82pcyWe/CVT48m1BK250PWFnpsFags/sf\r\nchiK5iNEYWfCex/oP1swAixr0EfHSruhGCalGWnbGZxm5IhJ8nl4uweGVmhs\r\n0pi90PV4opRYM8VdE18gHmvSYeLS9gqu4VZHc/e/7WHpqrULDz+Vf8MfEF77\r\ncyqUQ/0NTtTZ6O5KgUxsC8kcuL43xVD+8XN9kW9o0VlY/OWD7hEE9RoJL6dr\r\nkZOPCVvygtnLTMzArjG55ZnlfNFJT4nkzp+hj8zjG0vQuTQsIgwP9SqEevlL\r\nJp93vdSO31rxCgR6FKtLjS6iihvV6Jt58fA=\r\n=yx6F\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-stream_3.0.21-dev_1674553959954_0.7639331976304766"},"_hasShrinkwrap":false},"3.0.21":{"name":"parsegraph-stream","version":"3.0.21","description":"stream","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/stream.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/stream/issues"},"homepage":"https://github.com/parsegraph/stream#readme","devDependencies":{"@babel/cli":"^7.20.7","@babel/core":"^7.20.12","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-private-property-in-object":"^7.20.5","@babel/preset-env":"^7.20.2","@babel/preset-react":"^7.18.6","@babel/preset-typescript":"^7.18.6","@babel/register":"^7.18.9","@types/chai":"^4.3.4","@types/jest":"^29.2.6","@types/node":"^18.11.18","@types/react":"^18.0.24","@typescript-eslint/eslint-plugin":"^5.49.0","@typescript-eslint/parser":"^5.49.0","babel-jest":"^29.3.1","babel-loader":"^9.1.2","chai":"^4.3.7","electron":"^19.0.7","eslint":"^8.32.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.6.0","html-webpack-plugin":"^5.5.0","jest":"^29.3.1","jest-environment-jsdom":"^29.3.1","jsdom":"^21.1.0","jsdom-global":"^3.0.2","parsegraph-checkglerror":"^1.5.7","parsegraph-log":"^1.9.2","parsegraph-viewport":"^2.9.13","prettier":"^2.8.3","raw-loader":"^4.0.2","source-map-loader":"^4.0.1","source-map-support":"^0.5.21","ts-loader":"^9.4.2","ts-node":"^10.9.1","typedoc":"^0.23.24","typescript":"^4.9.4","webpack":"^5.75.0","webpack-cli":"^5.0.1"},"peerDependencies":{"parsegraph-checkglerror":"^1.5.7","parsegraph-log":"^1.9.2"},"dependencies":{"espree":"^9.4.1","esprima":"^4.0.1","fast-xml-parser":"^4.0.9","parsegraph-artist":"^3.4.64","parsegraph-block":"^4.6.22","parsegraph-blockpainter":"^1.7.10","parsegraph-color":"^1.4.12","parsegraph-direction":"^2.2.4","react":"^18.2.0","react-reconciler":"^0.29.0","webpack-bundle-analyzer":"^4.7.0","yaml":"^2.1.1"},"_id":"parsegraph-stream@3.0.21","_integrity":"sha512-qE3jDo/gTetJ+fCdg5HxjKLRifPE2VUwrHgOOHRwCJ+zW9nrwGaozthypuS8/q9Ja3S6cN3+rr214AtXfh7ClQ==","_resolved":"/home/runner/work/stream/stream/parsegraph-stream-prod.tgz","_from":"file:parsegraph-stream-prod.tgz","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-qE3jDo/gTetJ+fCdg5HxjKLRifPE2VUwrHgOOHRwCJ+zW9nrwGaozthypuS8/q9Ja3S6cN3+rr214AtXfh7ClQ==","shasum":"cfce721de9bc518055a5ad0f567d5d64ccc4f22d","tarball":"https://registry.npmjs.org/parsegraph-stream/-/parsegraph-stream-3.0.21.tgz","fileCount":20,"unpackedSize":8201460,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDLxVmoEWFcpG1kOprkK/N4Iz7TBpYntGog2aeOuQOcrgIhAOcZGG2BP/wPtFSzEd7sBjdJ0dvawDVqIb9XPVJI1hFf"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjz6reACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq4Tw/9Gq8MXuB196WWCsxsRtpBF/qOw+wOviUsAXoPS44128D2bF43\r\nVwtGYJeD69Bm+cSzgPeK8/pO/emzQBx+zS607Ize7RvbKxYfFnHCXgdBwobq\r\nOMg+uSYXbUISLMJWxpm9JzcPatrDVOrE68VrvUMQ+1F8YjBHPFatKApwANR0\r\nOnX5gWrB6ZC3UaSqXMVIqV/afIcxXFpNlUh+oveJdzpsA161PbiLuv/4jvKa\r\n5MtqcNqFaIdLGcwWpu95Ztjx5vbEb1CtpBCkWe9dGVhBrrQtseCY64uNQOUm\r\nAcYS1x7iDTwlqcpOLWTGVKWaUU5b/2NwjIs5MGT7PnZDaK8XPH2u4KhrF0Z7\r\nW6M9cQRt/fgm40BfICzeVyk8Y/cFOuMRYb11cEqjz0A3cRFYNYEAhHY/Z+Om\r\n8+hppOG1q2ZXKnQh0K+1J066Q/FnsCiumqAjnnPh99NdHNdckXuggOVuKIrL\r\nTN86vFHfI8agKNt/EEFlYmjICK5QauSUelWgK9Qx9EceSP8iDSFhpnPEgY1W\r\n15b6YIep0PwhVIb25X7Q/hQG6DbDH241LJje6NGMU+9Xc+010+TZDBumHMnR\r\n1PxQ9uY3JjaXOug6XpTbST7GBXwTEMHUwpu8LCV8YZC418M5uLqXMC9VijcE\r\nrjlT+yI2RAuVFafKb2Z2hFWGRmTLsaLgWn4=\r\n=2jOI\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-stream_3.0.21_1674554078597_0.1589637504630137"},"_hasShrinkwrap":false},"3.0.22-dev":{"name":"parsegraph-stream","version":"3.0.22-dev","description":"stream","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/stream.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/stream/issues"},"homepage":"https://github.com/parsegraph/stream#readme","devDependencies":{"@babel/cli":"^7.20.7","@babel/core":"^7.20.12","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-private-property-in-object":"^7.20.5","@babel/preset-env":"^7.20.2","@babel/preset-react":"^7.18.6","@babel/preset-typescript":"^7.18.6","@babel/register":"^7.18.9","@types/chai":"^4.3.4","@types/jest":"^29.4.0","@types/node":"^18.11.18","@types/react":"^18.0.24","@typescript-eslint/eslint-plugin":"^5.50.0","@typescript-eslint/parser":"^5.50.0","babel-jest":"^29.4.1","babel-loader":"^9.1.2","chai":"^4.3.7","electron":"^19.0.7","eslint":"^8.33.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.6.0","html-webpack-plugin":"^5.5.0","jest":"^29.4.1","jest-environment-jsdom":"^29.4.1","jsdom":"^21.1.0","jsdom-global":"^3.0.2","parsegraph-checkglerror":"^1.5.7","parsegraph-log":"^1.9.2","parsegraph-viewport":"^2.9.14","prettier":"^2.8.3","raw-loader":"^4.0.2","source-map-loader":"^4.0.1","source-map-support":"^0.5.21","ts-loader":"^9.4.2","ts-node":"^10.9.1","typedoc":"^0.23.24","typescript":"^4.9.5","webpack":"^5.75.0","webpack-cli":"^5.0.1"},"peerDependencies":{"parsegraph-checkglerror":"^1.5.7","parsegraph-log":"^1.9.2"},"dependencies":{"espree":"^9.4.1","esprima":"^4.0.1","fast-xml-parser":"^4.0.9","parsegraph-artist":"^3.4.65","parsegraph-block":"^4.6.23","parsegraph-blockpainter":"^1.7.10","parsegraph-color":"^1.4.12","parsegraph-direction":"^2.2.4","react":"^18.2.0","react-reconciler":"^0.29.0","webpack-bundle-analyzer":"^4.7.0","yaml":"^2.1.1"},"readme":"# parsegraph-stream\n\nThis project builds a client-side library to receive Parsegraph server events\nand update a local graph accordingly. It also allows for the client to callback\nthe server based on graph interaction.\n\nThis module allows live updates from a Parsegraph server to multiple connected\nclients.\n\nIt also contains a server used to stream Parsegraph server events.\n\n## The problem\n\nParsegraph applications can be written solely on the client, with callbacks\nembedded in the application. However, it becomes challenging to add sharing of\nthe Parsegraph environment to other users, because updates to the graph must be\nmaintained.\n\nParsegraph stream inverts this problem by making all graph updates come from\nthe server. It provides means to add callbacks to the graph, completing a\nround-trip of serving an initial graph, letting the user invoke graph actions,\nand sending graph updates back to the client once the callback is complete.\n\n## How to use\n\nRun a server, either locally or within a container, and navigate to /. You\nshould see a Parsegraph client. This will show the Parsegraph for the content\nroot. The content root is set by the CONTENT_ROOT environment variable.\n\n## Hosting a container\n\nThe container will run the demo server.\n\n    make build-container\n    docker run -d --net bridge --name parsegraph -e SITE_HOST=0.0.0.0 -e CONTENT_ROOT=/usr/src --expose 3000 -p=127.0.0.1:15000:3000/tcp localhost/parsegraph-stream:latest\n\n# interface ParsegraphServer\n\nA Parsegraph server manages a collection of proxy Parsegraph objects, and is\nable to stream changes to those Parsegraph objects to callbacks.\n\n## server.setCallbackUrl(callbackUrl: string): void\nSets the callback URL used by the server\n\n## server.connect(cb:(...args: any) => void): () => void\nStream server events as arguments back to the given callback.\n\n## server.forEach(cb:(...args: any) => void): void\nSend all saved server events back to the given callback.\n\n## server.callback(callbackIndex: number, val?: any): void\nInvokes the server callback\n\n## server.state(): ParsegraphServerState\nReturns the server state.\n\n# interface ParsegraphServerState\n\nThe Parsegraph server state contains the current state of the Parsegraph, and provides methods\nto update the state using Parsegraph proxy objects.\n\n## server.state().setBackgroundColor(r:number, g:number, b:number, a:number): void\nSets the background color in RGBA space. Numbers are expected to be in range [0, 1].\n\n## server.state().newCaret(type?: any): ParsegraphCaret\nReturns a Parsegraph caret, using the given type as the initial value of the caret root node.\n\n## server.state().setRoot(n: ParsegraphNode): void\nSets the root to the given Parsegraph node.\n\n# script.js module methods\n\nThese are the two methods imported from script.js, used to create new ParsegraphServers.\n\n## streamPath(mainPath: string, subPath: string): ParsegraphServer\nReturns a Parsegraph server designed for streaming and callbacks.\n\nA new Parsegraph streaming server is launched for the subPath if necessary.\n\n* mainPath - the contentRoot.\n* subPath - the URL part specific to the stream.\n\n## servePath(mainPath: string, subPath: string): ParsegraphServer\nReturns a Parsegraph server designed for caching.\n\nA new Parsegraph server is launched for the subPath if necessary.\n\n* mainPath - the contentRoot.\n* subPath - the URL part specific to the stream.\n\n# API Endpoints\n\n## GET /testroute: text/plain endpoint\nhealth check.\n\nResponds 200 with \"testroute from server\" on success.\n\n## GET /parsegraph/(.*): EventStream endpoint\nConnect to a Parsegraph streaming server named by the URL and stream\nParsegraph events back to the client.\n\n## GET /events/(.*) EventStream endpoint\nContent to a Parsegraph server named by the URL and stream\nParsegraph events back to the client.\n\n## GET /graph/(.*) text/plain endpoint\nConnects to a Parsegraph server and writes all saved events back to\nthe client, and close the connection.\n\n## GET /raw/(.*) Raw content\nStream raw content from the given path, under the content root.\n\n## POST /callback/(.*)?cb=123 JSON request\n\nFinds a Parsegraph streaming server named by the URL, and calls callback by\nindex, passing the request body as the argument.\n\nThe cb query parameter is the callback index.\n\n* Responds 500 on server error\n* Responds 200 on success\n\n## POST /splice/(.*) JSON request\nTakes a JSON request of the following form:\n\n    interface SpliceRequest {\n        offset: number;\n        len: number;\n        val: string;\n    }\n\nAnd splices val in the file at the named subPath, under the content\nroot. Both the Parsegraph servers and streaming server are replaced.\n\n* Responds 200 if the splice is successful.\n* Responds 500 on server error\n* Responds 400 if the offset or len are NaN.\n","readmeFilename":"README.md","_id":"parsegraph-stream@3.0.22-dev","_integrity":"sha512-kz4OmFcQDTSIWoaPIqmAkpcUd3+PJnXk1vB+cYcAf0YsUIbBNzJfvVRt3kAMMr3iRn/dHtG2ppVEWFlgHLnEUw==","_resolved":"/home/runner/work/stream/stream/parsegraph-stream-dev.tgz","_from":"file:parsegraph-stream-dev.tgz","_nodeVersion":"18.13.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-kz4OmFcQDTSIWoaPIqmAkpcUd3+PJnXk1vB+cYcAf0YsUIbBNzJfvVRt3kAMMr3iRn/dHtG2ppVEWFlgHLnEUw==","shasum":"c3b15dae90cfbb95cfd7fc8f7ae5c259208f73c1","tarball":"https://registry.npmjs.org/parsegraph-stream/-/parsegraph-stream-3.0.22-dev.tgz","fileCount":24,"unpackedSize":16509754,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICFURGsabx8yJNrtqHRMUS4OPpzfT7IsLjM7s0+A6yAjAiEAttkbMbMob327ssGjQu4XWtQM05165ZB2hXGMaWhJ+9s="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj2i7fACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrzQg/7BS7cWExAukHOOH9rRs8t0eVwx2oPha3q50kSPkIfwQkuYPjF\r\nnTVpCAc6I2xYrOG0nD+YitA3zGOPpQaK2aftxSJ+jVHJqen6WGwChGGKPTfq\r\nQBArJWjYEbB8Zo02WCV2Yrby4s5C5v1dmIrZZAszdoj7GeIrAZ6TChdm+65e\r\nmIDKtR4S/cuQ0A6Z9eEH2/9T4hlTUKkfiuo0HA2vfXHcjwAMAAY3x1SuV7ef\r\n6sq3jE9fyca7JwVMm56Xg7aKodnk0+V8+mAEzoBlc5aGBifWF/yAmvP3jG38\r\nazvA+OSU9W6cm1Q3fkEyIe0VW8NzTRH3ElSGov/ijoA215IX/omSyWwU1lID\r\n2MpkzJyNWg7qTTH/tnLbgOmwCkDqC/lmbpzTrHS7fyotxYzwxqcBZfx5u6ze\r\n+asB7kcGa6ri7Vnpw8GdtGJBdP9OJ+3E7oncuL483HV7vhEHPbEqTX2N7r11\r\nkgXsQFJLbEWADgcMPTS96xwkQYgKIVdt25dwP/u6wl147Yfk2/ihDSM/iOG8\r\ngHGxCJD4iAvDp1WKMhCwmpRvhuM0qMQN2MAfmFjF5Yqu1kNVNoZErP9rycSF\r\n49iTKXv9hz2Y8kGmclydEnARw9vfu8DIeaxJOuElh0ya862B5dTcvMBMJAjG\r\n2fMmy9jGkQubaQss8BKxlerPA61k/iLCyvA=\r\n=7xUJ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-stream_3.0.22-dev_1675243231359_0.4117129619150568"},"_hasShrinkwrap":false},"3.0.22":{"name":"parsegraph-stream","version":"3.0.22","description":"stream","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/stream.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/stream/issues"},"homepage":"https://github.com/parsegraph/stream#readme","devDependencies":{"@babel/cli":"^7.20.7","@babel/core":"^7.20.12","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-private-property-in-object":"^7.20.5","@babel/preset-env":"^7.20.2","@babel/preset-react":"^7.18.6","@babel/preset-typescript":"^7.18.6","@babel/register":"^7.18.9","@types/chai":"^4.3.4","@types/jest":"^29.4.0","@types/node":"^18.11.18","@types/react":"^18.0.24","@typescript-eslint/eslint-plugin":"^5.50.0","@typescript-eslint/parser":"^5.50.0","babel-jest":"^29.4.1","babel-loader":"^9.1.2","chai":"^4.3.7","electron":"^19.0.7","eslint":"^8.33.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.6.0","html-webpack-plugin":"^5.5.0","jest":"^29.4.1","jest-environment-jsdom":"^29.4.1","jsdom":"^21.1.0","jsdom-global":"^3.0.2","parsegraph-checkglerror":"^1.5.7","parsegraph-log":"^1.9.2","parsegraph-viewport":"^2.9.14","prettier":"^2.8.3","raw-loader":"^4.0.2","source-map-loader":"^4.0.1","source-map-support":"^0.5.21","ts-loader":"^9.4.2","ts-node":"^10.9.1","typedoc":"^0.23.24","typescript":"^4.9.5","webpack":"^5.75.0","webpack-cli":"^5.0.1"},"peerDependencies":{"parsegraph-checkglerror":"^1.5.7","parsegraph-log":"^1.9.2"},"dependencies":{"espree":"^9.4.1","esprima":"^4.0.1","fast-xml-parser":"^4.0.9","parsegraph-artist":"^3.4.65","parsegraph-block":"^4.6.23","parsegraph-blockpainter":"^1.7.10","parsegraph-color":"^1.4.12","parsegraph-direction":"^2.2.4","react":"^18.2.0","react-reconciler":"^0.29.0","webpack-bundle-analyzer":"^4.7.0","yaml":"^2.1.1"},"_id":"parsegraph-stream@3.0.22","_integrity":"sha512-nUQbNL1G6kAGRcfeDvjZjTb9rSvzns2erAgEQxqIp2qJZR0ND+H15hXicW3txLBVpn9h/nZLzTULStosp/pjCg==","_resolved":"/home/runner/work/stream/stream/parsegraph-stream-prod.tgz","_from":"file:parsegraph-stream-prod.tgz","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-nUQbNL1G6kAGRcfeDvjZjTb9rSvzns2erAgEQxqIp2qJZR0ND+H15hXicW3txLBVpn9h/nZLzTULStosp/pjCg==","shasum":"354bc9aced43e3e912c12f54c2276e9ab125e8a3","tarball":"https://registry.npmjs.org/parsegraph-stream/-/parsegraph-stream-3.0.22.tgz","fileCount":20,"unpackedSize":8201530,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDssnu2noRmTE5S6OICJnFJZE7MspH9Ah3CrsJjM1JTdAIhAMf0uQtKGlW/3iMAgTiD2OYRfiE3hu0HLCh86Ce3Dqca"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj2i9uACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpqHg/5AP1b7HvUMfELDhjLc70Hy64YPZNh6RVCd7sFT+sgv3/mnH3M\r\ncczeSFsGtzRPBY1cUH+vN0eUQKE3bV8sAnIvJGf0AKVBz1troHj2OiNUSP77\r\nnnM51FjkSEyIg4v7SkUGbkCOgw5bvhcMYC+0cPG2Ix00jWbwhydCVBuRHqR/\r\nLL8OjoFWZb6njn8ivdMTejKWROvNGu0lJM7OYfOSIEgdR/6NeOyXQpyaKo/y\r\nQK0OjmNnLHMmxgYTrac8OLCepiANGnYiK2Kc+gJ0W4lf1eM8qE495oZjDc3R\r\nLS3nsisaXpnrj426YsKq8Q10bypERNjrM8N/gKKZBAA4vZlxSBkuOUP+7QqC\r\nDaBkohLwITY3K7n5LiNTNye5ui2cgQ+Hij+lmAdCH3IJKGhdpRGxRhkz0QeY\r\n5bMeaPGk2f8bOO/9c2MA4s5tEDlYvqs7ReSdbQfvn8B7czWd6G2CbtL9Z8jA\r\nI5h40d1HDm8OWriENiGq4z65vxcjGK8PTP6V5nQDtfvcNyxRpetAnjWq0UgE\r\nWXn0OaNzHx6mEt4HD6tmYRKhVxugooZhpvdQ7RNwbLBSPYVCiW0RCMXyfsEN\r\nTKETkOCxMEHPmT04A/armyV/gxQz6Z7g5NaS65BUBxIgyoVvFvqa9xX6zlMF\r\naERq39zvKoclq+hYBFPPf2JHKo/8IlNQwF0=\r\n=8VY8\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-stream_3.0.22_1675243374084_0.32232366276629865"},"_hasShrinkwrap":false},"3.0.23-dev":{"name":"parsegraph-stream","version":"3.0.23-dev","description":"stream","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/stream.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/stream/issues"},"homepage":"https://github.com/parsegraph/stream#readme","devDependencies":{"@babel/cli":"^7.20.7","@babel/core":"^7.20.12","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-private-property-in-object":"^7.20.5","@babel/preset-env":"^7.20.2","@babel/preset-react":"^7.18.6","@babel/preset-typescript":"^7.18.6","@babel/register":"^7.18.9","@types/chai":"^4.3.4","@types/jest":"^29.4.0","@types/node":"^18.11.18","@types/react":"^18.0.24","@typescript-eslint/eslint-plugin":"^5.50.0","@typescript-eslint/parser":"^5.50.0","babel-jest":"^29.4.1","babel-loader":"^9.1.2","chai":"^4.3.7","electron":"^19.0.7","eslint":"^8.33.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.6.0","html-webpack-plugin":"^5.5.0","jest":"^29.4.1","jest-environment-jsdom":"^29.4.1","jsdom":"^21.1.0","jsdom-global":"^3.0.2","parsegraph-checkglerror":"^1.5.7","parsegraph-log":"^1.9.2","parsegraph-viewport":"^2.9.14","prettier":"^2.8.3","raw-loader":"^4.0.2","source-map-loader":"^4.0.1","source-map-support":"^0.5.21","ts-loader":"^9.4.2","ts-node":"^10.9.1","typedoc":"^0.23.24","typescript":"^4.9.5","webpack":"^5.75.0","webpack-cli":"^5.0.1"},"peerDependencies":{"parsegraph-checkglerror":"^1.5.7","parsegraph-log":"^1.9.2"},"dependencies":{"espree":"^9.4.1","esprima":"^4.0.1","fast-xml-parser":"^4.0.9","parsegraph-artist":"^3.4.65","parsegraph-block":"^4.6.23","parsegraph-blockpainter":"^1.7.10","parsegraph-color":"^1.4.12","parsegraph-direction":"^2.2.4","react":"^18.2.0","react-reconciler":"^0.29.0","webpack-bundle-analyzer":"^4.7.0","yaml":"^2.1.1"},"readme":"# parsegraph-stream\n\nThis project builds a client-side library to receive Parsegraph server events\nand update a local graph accordingly. It also allows for the client to callback\nthe server based on graph interaction.\n\nThis module allows live updates from a Parsegraph server to multiple connected\nclients.\n\nIt also contains a server used to stream Parsegraph server events.\n\n## The problem\n\nParsegraph applications can be written solely on the client, with callbacks\nembedded in the application. However, it becomes challenging to add sharing of\nthe Parsegraph environment to other users, because updates to the graph must be\nmaintained.\n\nParsegraph stream inverts this problem by making all graph updates come from\nthe server. It provides means to add callbacks to the graph, completing a\nround-trip of serving an initial graph, letting the user invoke graph actions,\nand sending graph updates back to the client once the callback is complete.\n\n## How to use\n\nRun a server, either locally or within a container, and navigate to /. You\nshould see a Parsegraph client. This will show the Parsegraph for the content\nroot. The content root is set by the CONTENT_ROOT environment variable.\n\n## Hosting a container\n\nThe container will run the demo server.\n\n    make build-container\n    docker run -d --net bridge --name parsegraph -e SITE_HOST=0.0.0.0 -e CONTENT_ROOT=/usr/src --expose 3000 -p=127.0.0.1:15000:3000/tcp localhost/parsegraph-stream:latest\n\n# interface ParsegraphServer\n\nA Parsegraph server manages a collection of proxy Parsegraph objects, and is\nable to stream changes to those Parsegraph objects to callbacks.\n\n## server.setCallbackUrl(callbackUrl: string): void\nSets the callback URL used by the server\n\n## server.connect(cb:(...args: any) => void): () => void\nStream server events as arguments back to the given callback.\n\n## server.forEach(cb:(...args: any) => void): void\nSend all saved server events back to the given callback.\n\n## server.callback(callbackIndex: number, val?: any): void\nInvokes the server callback\n\n## server.state(): ParsegraphServerState\nReturns the server state.\n\n# interface ParsegraphServerState\n\nThe Parsegraph server state contains the current state of the Parsegraph, and provides methods\nto update the state using Parsegraph proxy objects.\n\n## server.state().setBackgroundColor(r:number, g:number, b:number, a:number): void\nSets the background color in RGBA space. Numbers are expected to be in range [0, 1].\n\n## server.state().newCaret(type?: any): ParsegraphCaret\nReturns a Parsegraph caret, using the given type as the initial value of the caret root node.\n\n## server.state().setRoot(n: ParsegraphNode): void\nSets the root to the given Parsegraph node.\n\n# script.js module methods\n\nThese are the two methods imported from script.js, used to create new ParsegraphServers.\n\n## streamPath(mainPath: string, subPath: string): ParsegraphServer\nReturns a Parsegraph server designed for streaming and callbacks.\n\nA new Parsegraph streaming server is launched for the subPath if necessary.\n\n* mainPath - the contentRoot.\n* subPath - the URL part specific to the stream.\n\n## servePath(mainPath: string, subPath: string): ParsegraphServer\nReturns a Parsegraph server designed for caching.\n\nA new Parsegraph server is launched for the subPath if necessary.\n\n* mainPath - the contentRoot.\n* subPath - the URL part specific to the stream.\n\n# API Endpoints\n\n## GET /testroute: text/plain endpoint\nhealth check.\n\nResponds 200 with \"testroute from server\" on success.\n\n## GET /parsegraph/(.*): EventStream endpoint\nConnect to a Parsegraph streaming server named by the URL and stream\nParsegraph events back to the client.\n\n## GET /events/(.*) EventStream endpoint\nContent to a Parsegraph server named by the URL and stream\nParsegraph events back to the client.\n\n## GET /graph/(.*) text/plain endpoint\nConnects to a Parsegraph server and writes all saved events back to\nthe client, and close the connection.\n\n## GET /raw/(.*) Raw content\nStream raw content from the given path, under the content root.\n\n## POST /callback/(.*)?cb=123 JSON request\n\nFinds a Parsegraph streaming server named by the URL, and calls callback by\nindex, passing the request body as the argument.\n\nThe cb query parameter is the callback index.\n\n* Responds 500 on server error\n* Responds 200 on success\n\n## POST /splice/(.*) JSON request\nTakes a JSON request of the following form:\n\n    interface SpliceRequest {\n        offset: number;\n        len: number;\n        val: string;\n    }\n\nAnd splices val in the file at the named subPath, under the content\nroot. Both the Parsegraph servers and streaming server are replaced.\n\n* Responds 200 if the splice is successful.\n* Responds 500 on server error\n* Responds 400 if the offset or len are NaN.\n","readmeFilename":"README.md","_id":"parsegraph-stream@3.0.23-dev","_integrity":"sha512-E5q8I5hD5/Sr5GNiII18imdb5UQ2iGdaPVANUe0uvCJJdCLBiUMELCK68cH3Rc9Yn4PTUh82ohTAa/FDddJp1w==","_resolved":"/home/runner/work/stream/stream/parsegraph-stream-dev.tgz","_from":"file:parsegraph-stream-dev.tgz","_nodeVersion":"18.13.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-E5q8I5hD5/Sr5GNiII18imdb5UQ2iGdaPVANUe0uvCJJdCLBiUMELCK68cH3Rc9Yn4PTUh82ohTAa/FDddJp1w==","shasum":"4dd8ebc391cb02222042ec381c4f4318a6d29c22","tarball":"https://registry.npmjs.org/parsegraph-stream/-/parsegraph-stream-3.0.23-dev.tgz","fileCount":24,"unpackedSize":16509754,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFtVjhIWlnR1iNDsGm8QnsRdVL85HR33tgbac/D1/U0pAiBBBr69YBfGPBMlTW1f3K2pfA7/vQYWhC5F6jiBQSuKfg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj2jNMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqqjw//ZxDAGtRc+hv3/QhM0EtbS7TXNuPIyt+sgzhiBRFyo7h7FySC\r\nK0KWZDTsFSKYfK5x3nNuii+QRrSgxpk+q/dYgs3aCFViL9fshuxvhgt/Dhmp\r\nd04kJ4Q1hWrqJSEueEfnO+x+z3MqELQcKkP/CZkYi+uXD0hQY4d+AIK71LEn\r\nSRPAJ9V9iGyOnuuCDAUr2Hz6SlCL7I1T6xXz9zb106BEHyLJmZ82RWsNc3sD\r\npVqMJhMSoobix7Cm+TVSTB6+xL/yK1p1ANPTWYEUO6VbiyxnYAEj34lBy1WZ\r\nAs2grGEuwuW+qsgOeDCytoEDe+GRKiq0+monjGc/OoahCp0S83wItBWFLxMn\r\nTYA44bjmY0HUoc/azhvT5+ZA55dIajaPRuXIkpgrfHOCg1gfWlODY2br6e81\r\n24o2KlRs5dyTvAnu2vsnbwkEssU8GfmRR7N1UY5/FvxWym50jvpoIPYDy5Br\r\n0DpC1I7T6G2QZCctv4FKLy8Jy1cMId8nY2K1xGYo3yd9LaKirx39gORGNu0R\r\ndEpbDIFKChc2ndjtirFcGzZ12rKhZQWML6r7acHIDSb+wXk8Z7G/WJ6AEAWM\r\nHKgoPdkU0zWGcqPiS3ELMfzOAu4QpR0vWf6ooIjEVyGVDzI+TSHLyBCTIAZ0\r\notGA+x8/OfYSgTxurghWdKJnEIpVRFpbwiQ=\r\n=YVQr\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-stream_3.0.23-dev_1675244363897_0.8362186495659711"},"_hasShrinkwrap":false},"3.0.23":{"name":"parsegraph-stream","version":"3.0.23","description":"stream","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/stream.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/stream/issues"},"homepage":"https://github.com/parsegraph/stream#readme","devDependencies":{"@babel/cli":"^7.20.7","@babel/core":"^7.20.12","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-private-property-in-object":"^7.20.5","@babel/preset-env":"^7.20.2","@babel/preset-react":"^7.18.6","@babel/preset-typescript":"^7.18.6","@babel/register":"^7.18.9","@types/chai":"^4.3.4","@types/jest":"^29.4.0","@types/node":"^18.11.18","@types/react":"^18.0.24","@typescript-eslint/eslint-plugin":"^5.50.0","@typescript-eslint/parser":"^5.50.0","babel-jest":"^29.4.1","babel-loader":"^9.1.2","chai":"^4.3.7","electron":"^19.0.7","eslint":"^8.33.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.6.0","html-webpack-plugin":"^5.5.0","jest":"^29.4.1","jest-environment-jsdom":"^29.4.1","jsdom":"^21.1.0","jsdom-global":"^3.0.2","parsegraph-checkglerror":"^1.5.7","parsegraph-log":"^1.9.2","parsegraph-viewport":"^2.9.14","prettier":"^2.8.3","raw-loader":"^4.0.2","source-map-loader":"^4.0.1","source-map-support":"^0.5.21","ts-loader":"^9.4.2","ts-node":"^10.9.1","typedoc":"^0.23.24","typescript":"^4.9.5","webpack":"^5.75.0","webpack-cli":"^5.0.1"},"peerDependencies":{"parsegraph-checkglerror":"^1.5.7","parsegraph-log":"^1.9.2"},"dependencies":{"espree":"^9.4.1","esprima":"^4.0.1","fast-xml-parser":"^4.0.9","parsegraph-artist":"^3.4.65","parsegraph-block":"^4.6.23","parsegraph-blockpainter":"^1.7.10","parsegraph-color":"^1.4.12","parsegraph-direction":"^2.2.4","react":"^18.2.0","react-reconciler":"^0.29.0","webpack-bundle-analyzer":"^4.7.0","yaml":"^2.1.1"},"_id":"parsegraph-stream@3.0.23","_integrity":"sha512-A7iIJnH2NmtG9Ke8lywgrSSCu7oWlX5wRuiKsiRhdlHma31dj76St5qXe+o3SgYCr6SFJGmMkL2uWavuQtjbsA==","_resolved":"/home/runner/work/stream/stream/parsegraph-stream-prod.tgz","_from":"file:parsegraph-stream-prod.tgz","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-A7iIJnH2NmtG9Ke8lywgrSSCu7oWlX5wRuiKsiRhdlHma31dj76St5qXe+o3SgYCr6SFJGmMkL2uWavuQtjbsA==","shasum":"6d02083b0568514ea1d6eda41aaa3012245c37f0","tarball":"https://registry.npmjs.org/parsegraph-stream/-/parsegraph-stream-3.0.23.tgz","fileCount":20,"unpackedSize":8201530,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDJ0hRpiOs/KJP1hEDAHa7tJJ1EXPfiiMsXpeIC3DxrwgIhAIK1EkGzia3qsrEbS+Lc0wBDRCNnpxdVl+g1q/yVYgvP"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj2jP3ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpXnBAAlXZtkMdWqL+4ETNz1j0B5Ti2L98v7VTza1jtXyhj323BYK/h\r\n4ZUJGq57k4ffA0xz/lck6aHj72My2qa59BoyBJAlHpqNZAKxwBjcFfkydrqm\r\nTSgXGQMeqKMF2IYl0udL02OQCMJ72hb3DdA1o5rrl9dELzPfo6Yb7+gQ9k7C\r\nDbtskmkWpHmYAmSF+QBHh3uUpuxhh6DS4TyonUEwiVRvuNsi3kd3umTgE2Tp\r\nM08RUknotrVk+wmA93FgwwgxS/kU937XzpUa0UbyBoeotCGskXv4MP40fgMd\r\nxEMuR0Exv15VFJE9oJBD0GGP4OKpUTY1Kzx2UF0cx86iHv3cOFM4/Zg4WUJ5\r\nhFN9NSnuR4uCT0gDrVXJd0YSygZZp0atnvcOX18nc8S99zQo4jLo9UdLvJ3h\r\nsYMupE09e4pvofHi+9tmSHMEyMzwFsFh+gCZhd9gYsdvg/HZSRyrnOhNRBdm\r\nZsJl9p+equroBiVY0H3iCXUixAM1DSD3gtFmk9Tg0ZyF6eeVNmN0ywVq/Qgj\r\nDURSUypqpVKjl8ckrgq9u+NllNnU2+GhW8fdDdmoO1JdZsqihTeNR49B5yBT\r\n7s6DNAV36C0EknGk6hHH7Ujulcdl8iMU4WaC+x/egn4OphuhHQS9TSQ089Hw\r\neabGXfK4OG3HZcX5u2Ypm2hYrm/bVBsgFZY=\r\n=aWIk\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-stream_3.0.23_1675244535137_0.8830622180521281"},"_hasShrinkwrap":false},"3.0.24-dev":{"name":"parsegraph-stream","version":"3.0.24-dev","description":"stream","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/stream.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/stream/issues"},"homepage":"https://github.com/parsegraph/stream#readme","devDependencies":{"@babel/cli":"^7.20.7","@babel/core":"^7.20.12","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-private-property-in-object":"^7.20.5","@babel/preset-env":"^7.20.2","@babel/preset-react":"^7.18.6","@babel/preset-typescript":"^7.18.6","@babel/register":"^7.18.9","@types/chai":"^4.3.4","@types/jest":"^29.4.0","@types/node":"^18.11.18","@types/react":"^18.0.24","@typescript-eslint/eslint-plugin":"^5.50.0","@typescript-eslint/parser":"^5.50.0","babel-jest":"^29.4.1","babel-loader":"^9.1.2","chai":"^4.3.7","electron":"^19.0.7","eslint":"^8.33.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.6.0","html-webpack-plugin":"^5.5.0","jest":"^29.4.1","jest-environment-jsdom":"^29.4.1","jsdom":"^21.1.0","jsdom-global":"^3.0.2","parsegraph-checkglerror":"^1.5.8","parsegraph-log":"^1.9.3","parsegraph-viewport":"^2.9.15","prettier":"^2.8.3","raw-loader":"^4.0.2","source-map-loader":"^4.0.1","source-map-support":"^0.5.21","ts-loader":"^9.4.2","ts-node":"^10.9.1","typedoc":"^0.23.24","typescript":"^4.9.5","webpack":"^5.75.0","webpack-cli":"^5.0.1"},"peerDependencies":{"parsegraph-checkglerror":"^1.5.8","parsegraph-log":"^1.9.3"},"dependencies":{"espree":"^9.4.1","esprima":"^4.0.1","fast-xml-parser":"^4.0.9","parsegraph-artist":"^3.4.65","parsegraph-block":"^4.6.23","parsegraph-blockpainter":"^1.7.12","parsegraph-color":"^1.4.13","parsegraph-direction":"^2.2.6","react":"^18.2.0","react-reconciler":"^0.29.0","webpack-bundle-analyzer":"^4.7.0","yaml":"^2.1.1"},"readme":"# parsegraph-stream\n\nThis project builds a client-side library to receive Parsegraph server events\nand update a local graph accordingly. It also allows for the client to callback\nthe server based on graph interaction.\n\nThis module allows live updates from a Parsegraph server to multiple connected\nclients.\n\nIt also contains a server used to stream Parsegraph server events.\n\n## The problem\n\nParsegraph applications can be written solely on the client, with callbacks\nembedded in the application. However, it becomes challenging to add sharing of\nthe Parsegraph environment to other users, because updates to the graph must be\nmaintained.\n\nParsegraph stream inverts this problem by making all graph updates come from\nthe server. It provides means to add callbacks to the graph, completing a\nround-trip of serving an initial graph, letting the user invoke graph actions,\nand sending graph updates back to the client once the callback is complete.\n\n## How to use\n\nRun a server, either locally or within a container, and navigate to /. You\nshould see a Parsegraph client. This will show the Parsegraph for the content\nroot. The content root is set by the CONTENT_ROOT environment variable.\n\n## Hosting a container\n\nThe container will run the demo server.\n\n    make build-container\n    docker run -d --net bridge --name parsegraph -e SITE_HOST=0.0.0.0 -e CONTENT_ROOT=/usr/src --expose 3000 -p=127.0.0.1:15000:3000/tcp localhost/parsegraph-stream:latest\n\n# interface ParsegraphServer\n\nA Parsegraph server manages a collection of proxy Parsegraph objects, and is\nable to stream changes to those Parsegraph objects to callbacks.\n\n## server.setCallbackUrl(callbackUrl: string): void\nSets the callback URL used by the server\n\n## server.connect(cb:(...args: any) => void): () => void\nStream server events as arguments back to the given callback.\n\n## server.forEach(cb:(...args: any) => void): void\nSend all saved server events back to the given callback.\n\n## server.callback(callbackIndex: number, val?: any): void\nInvokes the server callback\n\n## server.state(): ParsegraphServerState\nReturns the server state.\n\n# interface ParsegraphServerState\n\nThe Parsegraph server state contains the current state of the Parsegraph, and provides methods\nto update the state using Parsegraph proxy objects.\n\n## server.state().setBackgroundColor(r:number, g:number, b:number, a:number): void\nSets the background color in RGBA space. Numbers are expected to be in range [0, 1].\n\n## server.state().newCaret(type?: any): ParsegraphCaret\nReturns a Parsegraph caret, using the given type as the initial value of the caret root node.\n\n## server.state().setRoot(n: ParsegraphNode): void\nSets the root to the given Parsegraph node.\n\n# script.js module methods\n\nThese are the two methods imported from script.js, used to create new ParsegraphServers.\n\n## streamPath(mainPath: string, subPath: string): ParsegraphServer\nReturns a Parsegraph server designed for streaming and callbacks.\n\nA new Parsegraph streaming server is launched for the subPath if necessary.\n\n* mainPath - the contentRoot.\n* subPath - the URL part specific to the stream.\n\n## servePath(mainPath: string, subPath: string): ParsegraphServer\nReturns a Parsegraph server designed for caching.\n\nA new Parsegraph server is launched for the subPath if necessary.\n\n* mainPath - the contentRoot.\n* subPath - the URL part specific to the stream.\n\n# API Endpoints\n\n## GET /testroute: text/plain endpoint\nhealth check.\n\nResponds 200 with \"testroute from server\" on success.\n\n## GET /parsegraph/(.*): EventStream endpoint\nConnect to a Parsegraph streaming server named by the URL and stream\nParsegraph events back to the client.\n\n## GET /events/(.*) EventStream endpoint\nContent to a Parsegraph server named by the URL and stream\nParsegraph events back to the client.\n\n## GET /graph/(.*) text/plain endpoint\nConnects to a Parsegraph server and writes all saved events back to\nthe client, and close the connection.\n\n## GET /raw/(.*) Raw content\nStream raw content from the given path, under the content root.\n\n## POST /callback/(.*)?cb=123 JSON request\n\nFinds a Parsegraph streaming server named by the URL, and calls callback by\nindex, passing the request body as the argument.\n\nThe cb query parameter is the callback index.\n\n* Responds 500 on server error\n* Responds 200 on success\n\n## POST /splice/(.*) JSON request\nTakes a JSON request of the following form:\n\n    interface SpliceRequest {\n        offset: number;\n        len: number;\n        val: string;\n    }\n\nAnd splices val in the file at the named subPath, under the content\nroot. Both the Parsegraph servers and streaming server are replaced.\n\n* Responds 200 if the splice is successful.\n* Responds 500 on server error\n* Responds 400 if the offset or len are NaN.\n","readmeFilename":"README.md","_id":"parsegraph-stream@3.0.24-dev","_integrity":"sha512-mMyc8B4HczUKKXBRU6eXHiNz9RlrkrTxpayuO96awJ72IfKp9D8c3oGABdC8EXVwrPN9DV29aTpxpWd7JCJRww==","_resolved":"/home/runner/work/stream/stream/parsegraph-stream-dev.tgz","_from":"file:parsegraph-stream-dev.tgz","_nodeVersion":"18.13.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-mMyc8B4HczUKKXBRU6eXHiNz9RlrkrTxpayuO96awJ72IfKp9D8c3oGABdC8EXVwrPN9DV29aTpxpWd7JCJRww==","shasum":"c72d0e702376fe5f68bfde3d2e43b3f061914232","tarball":"https://registry.npmjs.org/parsegraph-stream/-/parsegraph-stream-3.0.24-dev.tgz","fileCount":22,"unpackedSize":16498895,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDPS/W1T4s77bSGIkcNQCD6bOXGgA/8mKnaHaubzWI7RgIgXvhBjWuFN6FkkFAExz0MuiiyzRt7/v8Z1P4lJ2GtmhI="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj2kzFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpuVQ/9F9sX/VwJb84MLl3749KkyroTm7OiXQymkfqcBUoqsrO5WFrH\r\nf4jrJw9J3iKl5Py0mmzh+Mt3WsI+ixDxnNDP/FdnQtVAJxRl5VcHnhXSSc1K\r\nrqXaof0BRxjDzq6GrRJBUq3gm90M8mTkqfoQ/5TmZzfIYjIEFITV80HvOwfC\r\nMP/TIG4uIXZzTE5wHy2UawDZG+9oOKbbOknoh1KCaSVckl+dwml01YQFhqXQ\r\nmO0PsM9VatFXs4+mu/352QfSSnViHdSVkuCH+0UXZZ8F4SxWNfCPmOfyQKei\r\nErNHFrEV5SJzN57cCJ1AzNnYcGnD7PPeOHJhvZ+PB7DQtipNoddhsWdtMhPd\r\n8DOFEKUVdaac5dcsN+hrrv7KN6EFa2nx/8T6lLLJCxa/n56bHQQOAQ5Z3dzN\r\nXkqqLDsfrZGb8lk9de+TYPler/1Nbg15PLPa4Cc2as5UP1xTHqNVjHIX6KAT\r\nB6F0clEhz22Ka1fPdlTMcCnSoZTarH3BqW/dwWHu8m8a9iWCDEiL/q73Fd7c\r\njon7TLu2FfwksDOTk+ZwxauS81GUqGgQGLoPC9/NKmCWginkPKsdNvXOSNvT\r\nVxwrseBr+AeJv72D+cqarGotrG7s5eAXylw039O8XGtq2VlnPOfSdp9/iBMo\r\n6GJyai1vrv9Hzb2YfmW0Gn80U74TX+Sfdys=\r\n=1iCs\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-stream_3.0.24-dev_1675250884697_0.24322863222588675"},"_hasShrinkwrap":false},"3.0.24":{"name":"parsegraph-stream","version":"3.0.24","description":"stream","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/stream.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/stream/issues"},"homepage":"https://github.com/parsegraph/stream#readme","devDependencies":{"@babel/cli":"^7.20.7","@babel/core":"^7.20.12","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-private-property-in-object":"^7.20.5","@babel/preset-env":"^7.20.2","@babel/preset-react":"^7.18.6","@babel/preset-typescript":"^7.18.6","@babel/register":"^7.18.9","@types/chai":"^4.3.4","@types/jest":"^29.4.0","@types/node":"^18.11.18","@types/react":"^18.0.24","@typescript-eslint/eslint-plugin":"^5.50.0","@typescript-eslint/parser":"^5.50.0","babel-jest":"^29.4.1","babel-loader":"^9.1.2","chai":"^4.3.7","electron":"^19.0.7","eslint":"^8.33.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.6.0","html-webpack-plugin":"^5.5.0","jest":"^29.4.1","jest-environment-jsdom":"^29.4.1","jsdom":"^21.1.0","jsdom-global":"^3.0.2","parsegraph-checkglerror":"^1.5.8","parsegraph-log":"^1.9.3","parsegraph-viewport":"^2.9.15","prettier":"^2.8.3","raw-loader":"^4.0.2","source-map-loader":"^4.0.1","source-map-support":"^0.5.21","ts-loader":"^9.4.2","ts-node":"^10.9.1","typedoc":"^0.23.24","typescript":"^4.9.5","webpack":"^5.75.0","webpack-cli":"^5.0.1"},"peerDependencies":{"parsegraph-checkglerror":"^1.5.8","parsegraph-log":"^1.9.3"},"dependencies":{"espree":"^9.4.1","esprima":"^4.0.1","fast-xml-parser":"^4.0.9","parsegraph-artist":"^3.4.65","parsegraph-block":"^4.6.23","parsegraph-blockpainter":"^1.7.12","parsegraph-color":"^1.4.13","parsegraph-direction":"^2.2.6","react":"^18.2.0","react-reconciler":"^0.29.0","webpack-bundle-analyzer":"^4.7.0","yaml":"^2.1.1"},"_id":"parsegraph-stream@3.0.24","_integrity":"sha512-mXncVVAfwpFnr1ItOywvaMyf34vyz/oPThDdZZi7I5ktKa0YtPGfOuWADXrk4z2G3lhzjE/ovsTaYGrc/rfEeQ==","_resolved":"/home/runner/work/stream/stream/parsegraph-stream-prod.tgz","_from":"file:parsegraph-stream-prod.tgz","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-mXncVVAfwpFnr1ItOywvaMyf34vyz/oPThDdZZi7I5ktKa0YtPGfOuWADXrk4z2G3lhzjE/ovsTaYGrc/rfEeQ==","shasum":"a49b72f49262cd8f4f09866b3a0a10088e3ffe83","tarball":"https://registry.npmjs.org/parsegraph-stream/-/parsegraph-stream-3.0.24.tgz","fileCount":18,"unpackedSize":8190621,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDtlApel95xW0/STT/UWK/krUpFT9QMw0KElKFEM0edywIgJj7Cky1UDZ5zB+z11brPB4gbWZLmlJu4JqbW05dP7T8="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj2k1wACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo5ABAAjgxoaJgbEplB5+qMz4toKcE7lBblcxgb2kyM740Qoh3mZ9Bu\r\n6k5sv/wh9QI165rVkraLAQXXzD24nR6j3l1kU9dN5pNHn4QIlyJ7ptK2BzVp\r\nmcqrE+JQ8+ZFmUJ59aS9wqCIsUuSd/gtbK2w/DcQMlkL+D6f/64EIxpjq7Gv\r\nhD80KpbPHWhCJniDta9kpXY+4/Na1tUSrPzZUZ3qp98lJlRQcW3gxFiMo002\r\nJYH7vSZ0aF0yhVbBKPUzYNmqov4jQPMUcweFJ9jwXnTVQ7KSVK5bCgKORVzv\r\nryrPQHrXhkdJTsPe2esqr4oftSsnTTKFoPX6LsmzZj6bGMZtDCcAc8WsRzb0\r\nbIqMIKcJh2on3FK158d+rCTDghh6Ks7NAVbdzIyQNCMUYfY0T7Dxlx9nFZnz\r\nga4vfgJFRxWQRVQtQAQSgELGAbW1iTQDsbbU+IXx0Jit5X1lrlpWolQJAwsZ\r\nN4aavuWWf6FL55bE8VRNWYi9nJyIEpkg2U+Z+fQDpvIVGwjRm+yibCZ+tIL/\r\n2/SopgRn6OZLlRigGjSIy5fl56qa/t+/h9Xkmy2bQmZ2mf9oqSYMlNqeZKx+\r\ni2G3KwzcKrdDMaSSsdQeSCqKBnH9UNNmCMFusaZPwIyYT7PV8u8ZMRgd0ZR7\r\nO/9LNgkeY4NqznyhwRUQGt1Mhu07s19brtY=\r\n=Jaoo\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-stream_3.0.24_1675251055781_0.8284730637252977"},"_hasShrinkwrap":false},"3.0.25-dev":{"name":"parsegraph-stream","version":"3.0.25-dev","description":"stream","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/stream.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/stream/issues"},"homepage":"https://github.com/parsegraph/stream#readme","devDependencies":{"@babel/cli":"^7.20.7","@babel/core":"^7.20.12","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-private-property-in-object":"^7.20.5","@babel/preset-env":"^7.20.2","@babel/preset-react":"^7.18.6","@babel/preset-typescript":"^7.18.6","@babel/register":"^7.18.9","@types/chai":"^4.3.4","@types/jest":"^29.4.0","@types/node":"^18.11.18","@types/react":"^18.0.24","@typescript-eslint/eslint-plugin":"^5.50.0","@typescript-eslint/parser":"^5.50.0","babel-jest":"^29.4.1","babel-loader":"^9.1.2","chai":"^4.3.7","electron":"^19.0.7","eslint":"^8.33.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.6.0","html-webpack-plugin":"^5.5.0","jest":"^29.4.1","jest-environment-jsdom":"^29.4.1","jsdom":"^21.1.0","jsdom-global":"^3.0.2","parsegraph-checkglerror":"^1.5.8","parsegraph-log":"^1.9.3","parsegraph-viewport":"^2.9.15","prettier":"^2.8.3","raw-loader":"^4.0.2","source-map-loader":"^4.0.1","source-map-support":"^0.5.21","ts-loader":"^9.4.2","ts-node":"^10.9.1","typedoc":"^0.23.24","typescript":"^4.9.5","webpack":"^5.75.0","webpack-cli":"^5.0.1"},"peerDependencies":{"parsegraph-checkglerror":"^1.5.8","parsegraph-log":"^1.9.3"},"dependencies":{"espree":"^9.4.1","esprima":"^4.0.1","fast-xml-parser":"^4.0.9","parsegraph-artist":"^3.4.65","parsegraph-block":"^4.6.23","parsegraph-blockpainter":"^1.7.12","parsegraph-color":"^1.4.13","parsegraph-direction":"^2.2.6","react":"^18.2.0","react-reconciler":"^0.29.0","webpack-bundle-analyzer":"^4.7.0","yaml":"^2.1.1"},"readme":"# parsegraph-stream\n\nThis project builds a client-side library to receive Parsegraph server events\nand update a local graph accordingly. It also allows for the client to callback\nthe server based on graph interaction.\n\nThis module allows live updates from a Parsegraph server to multiple connected\nclients.\n\nIt also contains a server used to stream Parsegraph server events.\n\n## The problem\n\nParsegraph applications can be written solely on the client, with callbacks\nembedded in the application. However, it becomes challenging to add sharing of\nthe Parsegraph environment to other users, because updates to the graph must be\nmaintained.\n\nParsegraph stream inverts this problem by making all graph updates come from\nthe server. It provides means to add callbacks to the graph, completing a\nround-trip of serving an initial graph, letting the user invoke graph actions,\nand sending graph updates back to the client once the callback is complete.\n\n## How to use\n\nRun a server, either locally or within a container, and navigate to /. You\nshould see a Parsegraph client. This will show the Parsegraph for the content\nroot. The content root is set by the CONTENT_ROOT environment variable.\n\n## Hosting a container\n\nThe container will run the demo server.\n\n    make build-container\n    docker run -d --net bridge --name parsegraph -e SITE_HOST=0.0.0.0 -e CONTENT_ROOT=/usr/src --expose 3000 -p=127.0.0.1:15000:3000/tcp localhost/parsegraph-stream:latest\n\n# interface ParsegraphServer\n\nA Parsegraph server manages a collection of proxy Parsegraph objects, and is\nable to stream changes to those Parsegraph objects to callbacks.\n\n## server.setCallbackUrl(callbackUrl: string): void\nSets the callback URL used by the server\n\n## server.connect(cb:(...args: any) => void): () => void\nStream server events as arguments back to the given callback.\n\n## server.forEach(cb:(...args: any) => void): void\nSend all saved server events back to the given callback.\n\n## server.callback(callbackIndex: number, val?: any): void\nInvokes the server callback\n\n## server.state(): ParsegraphServerState\nReturns the server state.\n\n# interface ParsegraphServerState\n\nThe Parsegraph server state contains the current state of the Parsegraph, and provides methods\nto update the state using Parsegraph proxy objects.\n\n## server.state().setBackgroundColor(r:number, g:number, b:number, a:number): void\nSets the background color in RGBA space. Numbers are expected to be in range [0, 1].\n\n## server.state().newCaret(type?: any): ParsegraphCaret\nReturns a Parsegraph caret, using the given type as the initial value of the caret root node.\n\n## server.state().setRoot(n: ParsegraphNode): void\nSets the root to the given Parsegraph node.\n\n# script.js module methods\n\nThese are the two methods imported from script.js, used to create new ParsegraphServers.\n\n## streamPath(mainPath: string, subPath: string): ParsegraphServer\nReturns a Parsegraph server designed for streaming and callbacks.\n\nA new Parsegraph streaming server is launched for the subPath if necessary.\n\n* mainPath - the contentRoot.\n* subPath - the URL part specific to the stream.\n\n## servePath(mainPath: string, subPath: string): ParsegraphServer\nReturns a Parsegraph server designed for caching.\n\nA new Parsegraph server is launched for the subPath if necessary.\n\n* mainPath - the contentRoot.\n* subPath - the URL part specific to the stream.\n\n# API Endpoints\n\n## GET /testroute: text/plain endpoint\nhealth check.\n\nResponds 200 with \"testroute from server\" on success.\n\n## GET /parsegraph/(.*): EventStream endpoint\nConnect to a Parsegraph streaming server named by the URL and stream\nParsegraph events back to the client.\n\n## GET /events/(.*) EventStream endpoint\nContent to a Parsegraph server named by the URL and stream\nParsegraph events back to the client.\n\n## GET /graph/(.*) text/plain endpoint\nConnects to a Parsegraph server and writes all saved events back to\nthe client, and close the connection.\n\n## GET /raw/(.*) Raw content\nStream raw content from the given path, under the content root.\n\n## POST /callback/(.*)?cb=123 JSON request\n\nFinds a Parsegraph streaming server named by the URL, and calls callback by\nindex, passing the request body as the argument.\n\nThe cb query parameter is the callback index.\n\n* Responds 500 on server error\n* Responds 200 on success\n\n## POST /splice/(.*) JSON request\nTakes a JSON request of the following form:\n\n    interface SpliceRequest {\n        offset: number;\n        len: number;\n        val: string;\n    }\n\nAnd splices val in the file at the named subPath, under the content\nroot. Both the Parsegraph servers and streaming server are replaced.\n\n* Responds 200 if the splice is successful.\n* Responds 500 on server error\n* Responds 400 if the offset or len are NaN.\n","readmeFilename":"README.md","_id":"parsegraph-stream@3.0.25-dev","_integrity":"sha512-cKN7AA/yAaFPZw3B2bEbV45p1ywZWMcd9TZqL0amT0OMcsJp0lcKQwk0caJMmveS2hfHSmNUzxjVlKnJ5hpdpw==","_resolved":"/home/runner/work/stream/stream/parsegraph-stream-dev.tgz","_from":"file:parsegraph-stream-dev.tgz","_nodeVersion":"18.13.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-cKN7AA/yAaFPZw3B2bEbV45p1ywZWMcd9TZqL0amT0OMcsJp0lcKQwk0caJMmveS2hfHSmNUzxjVlKnJ5hpdpw==","shasum":"eba0b288b1892ee8a706b45a51055c2a9caa6891","tarball":"https://registry.npmjs.org/parsegraph-stream/-/parsegraph-stream-3.0.25-dev.tgz","fileCount":22,"unpackedSize":16498895,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF1k0+q98jsZS/9eSnjouomwFwrZA8P4n/+equiRg7E7AiAnm+xRwCfG7fULXJhVGc5NdNMpSy3CCr1fFh/Ws+sX9Q=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj2lLhACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrygA//e4Cx/llWq15QLO+Mvtz5OBO7x1Bre9qmXWfG1UaBsUJ4zSyq\r\n5Y8naQBiUORO6mll0uJfTRR9bObLai/aNm+XgpJc+ZwvL+YQ4XEVvmSVd9fV\r\nXiLc/Nxl+AWj/JoQ4HblzccOqT5/7cc842UxxuMsj5vgHx8idUGDg9e7GPSK\r\na4SCPn3O9JxgVXfpQxAsEGKdjnFHRvEI4WoicyUd8AF0wRLz0Ch/gfKxj76x\r\nON+OWrGho8agGtd9odHNVeqPxI3yD+1g/K8PNsm7jF+vuUPvq6KH70EMV/nU\r\nJgOUE5Q8hAWUE00wnXEk6NH4+0CEkO9j6rCaT047oLxMWzQ2yLgkG2OmL8sU\r\nh/al8uvIMBCAs54PWYSZu2O6Ng3DiwnRcRlBmjzrCNnLUqIiOT2eBz0lm7Kp\r\nGJbkqCR7cLYse8dRy8tmpJcwnwU/6G3UYxi251N/AXGKCXhrGg8WsXD9lnIX\r\n/QsXss5xKsNRaeeOQC8glCKIt3uSZ6QKBd0+26DgmL6Qf333p50zTzkvCewY\r\nyOayfuIwURf+f8FGB/yA/pZIjmka3yDKbSO1kov1zLMEWzCH/aOvOAXH0sxO\r\nDvcxyuCRNY6+FqHYURgcEM6SS2gJ2Q2+QYnHF6qXCfOsu7DNiVY35f0muK1T\r\npqXy8AdnJ+lRSSONU4qovG3Aen6mv9Wbf2k=\r\n=/B0k\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-stream_3.0.25-dev_1675252449047_0.5350374670724964"},"_hasShrinkwrap":false},"3.0.25":{"name":"parsegraph-stream","version":"3.0.25","description":"stream","main":"dist/src/index.js","types":"dist/src/index.d.ts","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/stream.git"},"author":{"name":"Rainback, Inc."},"license":"MIT","bugs":{"url":"https://github.com/parsegraph/stream/issues"},"homepage":"https://github.com/parsegraph/stream#readme","devDependencies":{"@babel/cli":"^7.20.7","@babel/core":"^7.20.12","@babel/plugin-proposal-class-properties":"^7.18.6","@babel/plugin-proposal-private-property-in-object":"^7.20.5","@babel/preset-env":"^7.20.2","@babel/preset-react":"^7.18.6","@babel/preset-typescript":"^7.18.6","@babel/register":"^7.18.9","@types/chai":"^4.3.4","@types/jest":"^29.4.0","@types/node":"^18.11.18","@types/react":"^18.0.24","@typescript-eslint/eslint-plugin":"^5.50.0","@typescript-eslint/parser":"^5.50.0","babel-jest":"^29.4.1","babel-loader":"^9.1.2","chai":"^4.3.7","electron":"^19.0.7","eslint":"^8.33.0","eslint-config-google":"^0.14.0","eslint-config-prettier":"^8.6.0","html-webpack-plugin":"^5.5.0","jest":"^29.4.1","jest-environment-jsdom":"^29.4.1","jsdom":"^21.1.0","jsdom-global":"^3.0.2","parsegraph-checkglerror":"^1.5.8","parsegraph-log":"^1.9.3","parsegraph-viewport":"^2.9.15","prettier":"^2.8.3","raw-loader":"^4.0.2","source-map-loader":"^4.0.1","source-map-support":"^0.5.21","ts-loader":"^9.4.2","ts-node":"^10.9.1","typedoc":"^0.23.24","typescript":"^4.9.5","webpack":"^5.75.0","webpack-cli":"^5.0.1"},"peerDependencies":{"parsegraph-checkglerror":"^1.5.8","parsegraph-log":"^1.9.3"},"dependencies":{"espree":"^9.4.1","esprima":"^4.0.1","fast-xml-parser":"^4.0.9","parsegraph-artist":"^3.4.65","parsegraph-block":"^4.6.23","parsegraph-blockpainter":"^1.7.12","parsegraph-color":"^1.4.13","parsegraph-direction":"^2.2.6","react":"^18.2.0","react-reconciler":"^0.29.0","webpack-bundle-analyzer":"^4.7.0","yaml":"^2.1.1"},"_id":"parsegraph-stream@3.0.25","_integrity":"sha512-MvmiRF7snjwMVvJwvGNf/ZObzS/AjhiMmnni9bi/XHHMFC6bCzZce89dvjQT1JMRmvUXXrbeZlMxoj8TQvpd1A==","_resolved":"/home/runner/work/stream/stream/parsegraph-stream-prod.tgz","_from":"file:parsegraph-stream-prod.tgz","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-MvmiRF7snjwMVvJwvGNf/ZObzS/AjhiMmnni9bi/XHHMFC6bCzZce89dvjQT1JMRmvUXXrbeZlMxoj8TQvpd1A==","shasum":"4af92174f3861dce9dbb53d510dd574c01e24ee7","tarball":"https://registry.npmjs.org/parsegraph-stream/-/parsegraph-stream-3.0.25.tgz","fileCount":18,"unpackedSize":8190621,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDcXagSiVBVsBVwp9HjMosZ8qvpFoCSC9p+KAoAAKK+ggIhAP9j5cX4iJF54OGDzhLylbSB8SqyXaSQ2yo83UWd48l9"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj2lNgACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpYTA/8C6Y87mAHZvQ7h9vtPN/jXsM+uTgRAF9JxA3Y+1gA79V28Kpa\r\nWKV8FmgPhs2QhlZgWR8y+ckZkUZMGCSZOsxzF3D5u+Aw8ToxGJ7jabC/nX4w\r\nwAmFOpPR4vrpRLFQZfsWdPD7MP0BpMkalNl/d9RiH/duGwd6PmtXmSCDbZs5\r\ncRVdkF4DsUY1IYmtgRD6Gp+2gWEdCWm7XcLuK7K8esepLdJKRZvhZFz+vKh+\r\nlafIT6fa8mMKTrjRnph/0GcEsFiKs1sezTUKRjCMd2QJ2DTUHFux9ThDqfCQ\r\nW2tj+T1ON9o/vrWwggVAUWHUoshSNvRNQl+mu/KKB0eFUjYA3aW8UKpQ5BDQ\r\nsGLym+oK00b5Sz33ffnS/h4dpPe28WQUSkZwN6Cid/9a2PPl/ItZiyCGVSpr\r\nHlXT5133r2QHJgLd1K1V8AA4q2O/OOmwTxn4tc01C1iOISmR+6wR+lWbp2o9\r\nMD0op45Ckt5+eiE+G8Pka+Ow8BWIMplSM3DyLwtia9ETJFfl5q55jNgmH9t+\r\nYMmv6jpZ/IIMyGxskvsagQeDzjibJVmaBHUzy1+/ewh9DykLlp7OsGeXRbDe\r\npHHcG1jMepeofg9K4s7IRpI9mv1g3UokxWRDkvl76XBgePivvoCs5oILq3ie\r\n4myefgX6GavNAHR4uxsQppXTS0mybWnkklo=\r\n=ELrs\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dafrito","email":"dafrito@gmail.com"},"directories":{},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/parsegraph-stream_3.0.25_1675252576304_0.5053462642928181"},"_hasShrinkwrap":false}},"time":{"created":"2022-05-27T06:29:11.171Z","2.0.2-dev":"2022-05-27T06:29:11.467Z","modified":"2023-02-01T11:56:16.708Z","2.0.2":"2022-05-27T06:30:34.654Z","2.1.0-dev":"2022-06-22T06:38:06.778Z","2.1.0":"2022-06-22T06:40:11.896Z","3.0.0-dev":"2022-07-09T00:40:09.161Z","3.0.1-dev":"2022-07-09T00:40:55.423Z","3.0.1":"2022-07-09T00:42:46.998Z","3.0.2-dev":"2022-07-09T00:53:36.813Z","3.0.2":"2022-07-09T00:55:39.444Z","3.0.3-dev":"2022-07-09T04:10:18.378Z","3.0.3":"2022-07-09T04:12:38.759Z","3.0.4-dev":"2022-11-23T10:23:22.704Z","3.0.4":"2022-11-23T10:29:26.082Z","3.0.5-dev":"2022-12-15T05:13:14.797Z","3.0.5":"2022-12-15T05:17:10.301Z","3.0.6-dev":"2022-12-17T07:29:21.362Z","3.0.6":"2022-12-17T07:35:02.223Z","3.0.7-dev":"2023-01-05T05:47:49.820Z","3.0.7":"2023-01-05T05:51:48.446Z","3.0.8-dev":"2023-01-10T08:25:43.002Z","3.0.8":"2023-01-10T08:29:48.943Z","3.0.9-dev":"2023-01-10T10:42:30.372Z","3.0.9":"2023-01-10T10:47:44.985Z","3.0.10-dev":"2023-01-11T15:00:36.988Z","3.0.10":"2023-01-11T15:07:34.917Z","3.0.11-dev":"2023-01-13T06:25:01.080Z","3.0.11":"2023-01-13T06:30:36.712Z","3.0.14-dev":"2023-01-22T15:41:23.910Z","3.0.14":"2023-01-22T15:43:26.307Z","3.0.15-dev":"2023-01-22T16:07:25.869Z","3.0.15":"2023-01-22T16:10:21.678Z","3.0.16-dev":"2023-01-23T09:10:33.007Z","3.0.16":"2023-01-23T09:12:59.021Z","3.0.17-dev":"2023-01-23T09:36:33.227Z","3.0.17":"2023-01-23T09:38:43.432Z","3.0.20-dev":"2023-01-24T09:38:32.724Z","3.0.20":"2023-01-24T09:40:44.797Z","3.0.21-dev":"2023-01-24T09:52:40.251Z","3.0.21":"2023-01-24T09:54:38.795Z","3.0.22-dev":"2023-02-01T09:20:31.632Z","3.0.22":"2023-02-01T09:22:54.347Z","3.0.23-dev":"2023-02-01T09:39:24.206Z","3.0.23":"2023-02-01T09:42:15.365Z","3.0.24-dev":"2023-02-01T11:28:04.977Z","3.0.24":"2023-02-01T11:30:56.001Z","3.0.25-dev":"2023-02-01T11:54:09.309Z","3.0.25":"2023-02-01T11:56:16.545Z"},"maintainers":[{"name":"dafrito","email":"dafrito@gmail.com"}],"description":"stream","homepage":"https://github.com/parsegraph/stream#readme","repository":{"type":"git","url":"git+ssh://git@github.com/parsegraph/stream.git"},"author":{"name":"Rainback, Inc."},"bugs":{"url":"https://github.com/parsegraph/stream/issues"},"license":"MIT","readme":"# parsegraph-stream\n\nThis project builds a client-side library to receive Parsegraph server events\nand update a local graph accordingly. It also allows for the client to callback\nthe server based on graph interaction.\n\nThis module allows live updates from a Parsegraph server to multiple connected\nclients.\n\nIt also contains a server used to stream Parsegraph server events.\n\n## The problem\n\nParsegraph applications can be written solely on the client, with callbacks\nembedded in the application. However, it becomes challenging to add sharing of\nthe Parsegraph environment to other users, because updates to the graph must be\nmaintained.\n\nParsegraph stream inverts this problem by making all graph updates come from\nthe server. It provides means to add callbacks to the graph, completing a\nround-trip of serving an initial graph, letting the user invoke graph actions,\nand sending graph updates back to the client once the callback is complete.\n\n## How to use\n\nRun a server, either locally or within a container, and navigate to /. You\nshould see a Parsegraph client. This will show the Parsegraph for the content\nroot. The content root is set by the CONTENT_ROOT environment variable.\n\n## Hosting a container\n\nThe container will run the demo server.\n\n    make build-container\n    docker run -d --net bridge --name parsegraph -e SITE_HOST=0.0.0.0 -e CONTENT_ROOT=/usr/src --expose 3000 -p=127.0.0.1:15000:3000/tcp localhost/parsegraph-stream:latest\n\n# interface ParsegraphServer\n\nA Parsegraph server manages a collection of proxy Parsegraph objects, and is\nable to stream changes to those Parsegraph objects to callbacks.\n\n## server.setCallbackUrl(callbackUrl: string): void\nSets the callback URL used by the server\n\n## server.connect(cb:(...args: any) => void): () => void\nStream server events as arguments back to the given callback.\n\n## server.forEach(cb:(...args: any) => void): void\nSend all saved server events back to the given callback.\n\n## server.callback(callbackIndex: number, val?: any): void\nInvokes the server callback\n\n## server.state(): ParsegraphServerState\nReturns the server state.\n\n# interface ParsegraphServerState\n\nThe Parsegraph server state contains the current state of the Parsegraph, and provides methods\nto update the state using Parsegraph proxy objects.\n\n## server.state().setBackgroundColor(r:number, g:number, b:number, a:number): void\nSets the background color in RGBA space. Numbers are expected to be in range [0, 1].\n\n## server.state().newCaret(type?: any): ParsegraphCaret\nReturns a Parsegraph caret, using the given type as the initial value of the caret root node.\n\n## server.state().setRoot(n: ParsegraphNode): void\nSets the root to the given Parsegraph node.\n\n# script.js module methods\n\nThese are the two methods imported from script.js, used to create new ParsegraphServers.\n\n## streamPath(mainPath: string, subPath: string): ParsegraphServer\nReturns a Parsegraph server designed for streaming and callbacks.\n\nA new Parsegraph streaming server is launched for the subPath if necessary.\n\n* mainPath - the contentRoot.\n* subPath - the URL part specific to the stream.\n\n## servePath(mainPath: string, subPath: string): ParsegraphServer\nReturns a Parsegraph server designed for caching.\n\nA new Parsegraph server is launched for the subPath if necessary.\n\n* mainPath - the contentRoot.\n* subPath - the URL part specific to the stream.\n\n# API Endpoints\n\n## GET /testroute: text/plain endpoint\nhealth check.\n\nResponds 200 with \"testroute from server\" on success.\n\n## GET /parsegraph/(.*): EventStream endpoint\nConnect to a Parsegraph streaming server named by the URL and stream\nParsegraph events back to the client.\n\n## GET /events/(.*) EventStream endpoint\nContent to a Parsegraph server named by the URL and stream\nParsegraph events back to the client.\n\n## GET /graph/(.*) text/plain endpoint\nConnects to a Parsegraph server and writes all saved events back to\nthe client, and close the connection.\n\n## GET /raw/(.*) Raw content\nStream raw content from the given path, under the content root.\n\n## POST /callback/(.*)?cb=123 JSON request\n\nFinds a Parsegraph streaming server named by the URL, and calls callback by\nindex, passing the request body as the argument.\n\nThe cb query parameter is the callback index.\n\n* Responds 500 on server error\n* Responds 200 on success\n\n## POST /splice/(.*) JSON request\nTakes a JSON request of the following form:\n\n    interface SpliceRequest {\n        offset: number;\n        len: number;\n        val: string;\n    }\n\nAnd splices val in the file at the named subPath, under the content\nroot. Both the Parsegraph servers and streaming server are replaced.\n\n* Responds 200 if the splice is successful.\n* Responds 500 on server error\n* Responds 400 if the offset or len are NaN.\n","readmeFilename":"README.md"}