{"_id":"@adaptivekind/graph-schema","_rev":"10-1db1a8eab7ad78e8d67ad960ca798d50","name":"@adaptivekind/graph-schema","dist-tags":{"latest":"0.1.11"},"versions":{"0.1.0":{"name":"@adaptivekind/graph-schema","version":"0.1.0","keywords":["graph","schema","typescript","json-schema"],"author":{"name":"adaptivekind"},"license":"MIT","_id":"@adaptivekind/graph-schema@0.1.0","maintainers":[{"name":"ianhomer","email":"ian@adaptivekind.com"}],"dist":{"shasum":"41b0ef7c10a190390048b0f9a55158beaaad8da7","tarball":"https://registry.npmjs.org/@adaptivekind/graph-schema/-/graph-schema-0.1.0.tgz","fileCount":19,"integrity":"sha512-vvM3oUTcJvdD1KltYOy7mtPGxLxFI15pNWrf4hS/R3PdC7OYjkcb8OhmeNhAbZZuPW83aeVG/23E0w9sX9YAOQ==","signatures":[{"sig":"MEQCIBmV8vCpRL1IYaMhOSB/7t63SMUwVlshkljim+2uVwiRAiAYJEG4CHi3SoY4fd5EVXd7VjAodx2gakx+u2m/Pfi3mA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10682},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"5c9bd22fa5aa7793d623ab869bf9bb1175e6649f","scripts":{"dev":"tsc --watch","lint":"npm run prettier && npm run eslint","test":"jest","build":"tsc","clean":"rm -rf dist","eslint":"eslint","prepare":"husky","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"npx prettier --check .","typecheck":"tsc --noEmit","eslint:fix":"eslint","test:watch":"jest --watch","prettier:fix":"npx prettier --write .","generate-json-schema":"ts-json-schema-generator --path 'src/*.ts' --type 'Graph' -o graph.schema.json"},"_npmUser":{"name":"ianhomer","actor":{"name":"ianhomer","type":"user","email":"ian@adaptivekind.com"},"email":"ian@adaptivekind.com"},"_npmVersion":"11.4.2","description":"JSON schema for a graph along with TypeScript types","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.17.1","jest":"^29.0.0","husky":"^9.1.7","eslint":"^8.0.0","ts-jest":"^29.0.0","prettier":"^3.6.2","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^20.0.0","lint-staged":"^16.1.2","ts-json-schema-generator":"^2.4.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/graph-schema_0.1.0_1751814900107_0.5722196851631918","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@adaptivekind/graph-schema","version":"0.1.3","keywords":["graph","schema","typescript","json-schema"],"author":{"name":"adaptivekind"},"license":"MIT","_id":"@adaptivekind/graph-schema@0.1.3","maintainers":[{"name":"ianhomer","email":"ian@adaptivekind.com"}],"dist":{"shasum":"b2232d003d1b392754d34d079c9d4ad94f5c782c","tarball":"https://registry.npmjs.org/@adaptivekind/graph-schema/-/graph-schema-0.1.3.tgz","fileCount":3,"integrity":"sha512-S/9KCL4iqx6YzifIsE0Mvp0nZWrwsBBuy0npF4H2qTxf1L+p8wcc2D5gV348JRsbzh22Tc7wnHBDDNz04Ye7lQ==","signatures":[{"sig":"MEUCIAPSZclZkxM0QCzLjmztVxn1ROLxyl9x0KivG/KKcMQCAiEAxszSs9DOGm1SWbDj1BdGYmDpSJm9JNHn9Kx4mA9ua34=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6649},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"0136430d4c783d02e406ba7be9052f05d6080122","scripts":{"dev":"tsc --watch","lint":"npm run prettier && npm run eslint","test":"jest","build":"tsc","clean":"rm -rf dist","eslint":"eslint","prepare":"husky","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"npx prettier --check .","typecheck":"tsc --noEmit","eslint:fix":"eslint","test:watch":"jest --watch","prettier:fix":"npx prettier --write .","generate-json-schema":"ts-json-schema-generator --path 'src/*.ts' --type 'Graph' -o graph.schema.json"},"_npmUser":{"name":"ianhomer","actor":{"name":"ianhomer","type":"user","email":"ian@adaptivekind.com"},"email":"ian@adaptivekind.com"},"_npmVersion":"10.9.3","description":"JSON schema for a graph along with TypeScript types","directories":{},"_nodeVersion":"22.16.0","_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.17.1","jest":"^29.0.0","husky":"^9.1.7","eslint":"^8.0.0","ts-jest":"^29.0.0","prettier":"^3.6.2","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^20.0.0","lint-staged":"^16.1.2","@semantic-release/npm":"^12.0.2","ts-json-schema-generator":"^2.4.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/graph-schema_0.1.3_1751899279164_0.5894709616399871","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@adaptivekind/graph-schema","version":"0.1.4","keywords":["graph","schema","typescript","json-schema"],"author":{"name":"adaptivekind"},"license":"MIT","_id":"@adaptivekind/graph-schema@0.1.4","maintainers":[{"name":"ianhomer","email":"ian@adaptivekind.com"}],"dist":{"shasum":"827686e414cf702b3f4b9cf42845e08699424f3e","tarball":"https://registry.npmjs.org/@adaptivekind/graph-schema/-/graph-schema-0.1.4.tgz","fileCount":31,"integrity":"sha512-buaGmyk0cuENToKXb45ZkOZ332xmIN4pTcz962DAjBDPZ3CAjmnxTHqasHyxeiz/HbSUbNNcbUwN1lUUhMQ2ng==","signatures":[{"sig":"MEYCIQCvr4m1pIucRM4gCtgCZHzq7yIFtbL40j13GwHc6utvDgIhAOqtXyixZGFtHr5VbTDTOTiH8Nbs6zZPyerHEM3z7gLK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22298},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"12c99887c7795b1f301ca2ccbb858596611b3dfc","scripts":{"dev":"tsc --watch","lint":"npm run prettier && npm run eslint","test":"jest","build":"tsc","clean":"rm -rf dist","eslint":"eslint","prepare":"husky","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"npx prettier --check .","typecheck":"tsc --noEmit","eslint:fix":"eslint","test:watch":"jest --watch","prettier:fix":"npx prettier --write .","generate-json-schema":"ts-json-schema-generator --path 'src/*.ts' --type 'Graph' -o graph.schema.json"},"_npmUser":{"name":"ianhomer","actor":{"name":"ianhomer","type":"user","email":"ian@adaptivekind.com"},"email":"ian@adaptivekind.com"},"_npmVersion":"10.9.3","description":"JSON schema for a graph along with TypeScript types","directories":{},"_nodeVersion":"22.16.0","_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.17.1","jest":"^29.0.0","husky":"^9.1.7","eslint":"^8.0.0","ts-jest":"^29.0.0","prettier":"^3.6.2","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^20.0.0","lint-staged":"^16.1.2","@semantic-release/npm":"^12.0.2","ts-json-schema-generator":"^2.4.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/graph-schema_0.1.4_1751900394145_0.09325897941976691","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@adaptivekind/graph-schema","version":"0.1.5","keywords":["graph","schema","typescript","json-schema"],"author":{"name":"adaptivekind"},"license":"MIT","_id":"@adaptivekind/graph-schema@0.1.5","maintainers":[{"name":"ianhomer","email":"ian@adaptivekind.com"}],"dist":{"shasum":"6f1eb1cc48cd9f0534a06fd1c7127654b94ca278","tarball":"https://registry.npmjs.org/@adaptivekind/graph-schema/-/graph-schema-0.1.5.tgz","fileCount":8,"integrity":"sha512-OLJYp6wMsADuw0xcSLqtlT5yrTs5hER2pT1S/Ma9iihGhpHXGMZl0p/lupNES6+n8IbajtttRYTDka0/QmQ2zA==","signatures":[{"sig":"MEQCIGsLKpUmwb62gSjUQPf1kFMrwmsawf92UY3WeF9J+UkOAiAkGKmR+L+DLrgTn7PAT9DszJTXtTx4PfWwOCtlNL/6Jw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19883},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"1938b7013d1ba48627274b40d6b39552bfc65979","scripts":{"dev":"rollup -c --watch","lint":"npm run prettier && npm run eslint","test":"jest","build":"rollup -c","clean":"rm -rf dist","eslint":"eslint","prepare":"husky","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"npx prettier --check .","typecheck":"tsc --noEmit","eslint:fix":"eslint","test:build":"node test/build/test-build.mjs","test:watch":"jest --watch","prettier:fix":"npx prettier --write .","generate-json-schema":"ts-json-schema-generator --path 'src/*.ts' --type 'Graph' -o graph.schema.json"},"_npmUser":{"name":"ianhomer","actor":{"name":"ianhomer","type":"user","email":"ian@adaptivekind.com"},"email":"ian@adaptivekind.com"},"_npmVersion":"10.9.3","description":"JSON schema for a graph along with TypeScript types","directories":{},"_nodeVersion":"22.16.0","_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.17.1","jest":"^29.0.0","husky":"^9.1.7","eslint":"^8.0.0","rollup":"^4.44.2","ts-jest":"^29.0.0","prettier":"^3.6.2","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^20.0.0","lint-staged":"^16.1.2","rollup-plugin-dts":"^6.2.1","@semantic-release/npm":"^12.0.2","@rollup/plugin-commonjs":"^28.0.6","ts-json-schema-generator":"^2.4.0","@rollup/plugin-typescript":"^12.1.4","@typescript-eslint/parser":"^6.0.0","@rollup/plugin-node-resolve":"^16.0.1","@typescript-eslint/eslint-plugin":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/graph-schema_0.1.5_1751909372516_0.6024631295017138","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@adaptivekind/graph-schema","version":"0.1.6","keywords":["graph","schema","typescript","json-schema"],"author":{"name":"adaptivekind"},"license":"MIT","_id":"@adaptivekind/graph-schema@0.1.6","maintainers":[{"name":"ianhomer","email":"ian@adaptivekind.com"}],"dist":{"shasum":"9ccee0eb231d83a6bb85796629d487fc01fdcdd0","tarball":"https://registry.npmjs.org/@adaptivekind/graph-schema/-/graph-schema-0.1.6.tgz","fileCount":8,"integrity":"sha512-9Wh90U6rTJJM/HYW6zPRBId3G+7unGdNCHQ3infwRcEHgGPiPd0EHmODngneeUUWenszznTOsnL+Eg3lYqB/dg==","signatures":[{"sig":"MEUCIAPpX9nxW/f8Lhbm0KrL/+psB69cFWovOlkFXI2JspVYAiEA10PBbaZ42YV9n0wyXAeV8HgB6FSoUIGMECAzOGK+fY8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20666},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"1232beb9516c991c2e58ffb7b3fe46f25f31afba","scripts":{"dev":"rollup -c --watch","lint":"npm run prettier && npm run eslint","test":"jest","build":"rollup -c  --failAfterWarnings","clean":"rm -rf dist","eslint":"eslint","prepare":"husky","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"npx prettier --check .","typecheck":"tsc --noEmit","eslint:fix":"eslint","test:build":"node test/build/test-build.mjs","test:watch":"jest --watch","prettier:fix":"npx prettier --write .","generate-json-schema":"ts-json-schema-generator --path 'src/*.ts' --type 'Graph' -o graph.schema.json"},"_npmUser":{"name":"ianhomer","actor":{"name":"ianhomer","type":"user","email":"ian@adaptivekind.com"},"email":"ian@adaptivekind.com"},"_npmVersion":"10.9.3","description":"JSON schema for a graph along with TypeScript types","directories":{},"_nodeVersion":"22.17.0","_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.17.1","jest":"^30.0.4","husky":"^9.1.7","eslint":"^9.30.1","rollup":"^4.44.2","ts-jest":"^29.4.0","prettier":"^3.6.2","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.12","lint-staged":"^16.1.2","rollup-plugin-dts":"^6.2.1","@semantic-release/npm":"^12.0.2","@rollup/plugin-commonjs":"^28.0.6","ts-json-schema-generator":"^2.4.0","@rollup/plugin-typescript":"^12.1.4","@typescript-eslint/parser":"^8.36.0","@rollup/plugin-node-resolve":"^16.0.1","@typescript-eslint/eslint-plugin":"^8.36.0"},"_npmOperationalInternal":{"tmp":"tmp/graph-schema_0.1.6_1752059262627_0.7580911956518808","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@adaptivekind/graph-schema","version":"0.1.7","keywords":["graph","schema","typescript","json-schema"],"author":{"name":"adaptivekind"},"license":"MIT","_id":"@adaptivekind/graph-schema@0.1.7","maintainers":[{"name":"ianhomer","email":"ian@adaptivekind.com"}],"dist":{"shasum":"c1ed2d9ef69116ed78a6383d1122a4c26f1acf9b","tarball":"https://registry.npmjs.org/@adaptivekind/graph-schema/-/graph-schema-0.1.7.tgz","fileCount":10,"integrity":"sha512-AyNlqKrtJjbh9OZHRKuEZW4zMzrtGMlYt4ShUZuV7vinyG07MgTOzzgMhuO2GSJZY/V1HlJEFGpq2T/2roBHKQ==","signatures":[{"sig":"MEUCIQDxd2RLsoSjs/w+3KTrH9Y91dH/g0HZx2HfGU9tO0ZYfQIgbmmfh1LakwdBab2HV/tjoSH9WCpC3kmGu3xZ9Jv+nQk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26406},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"24e93c39b60697b00d6c98ce09a681ceaa2077ef","scripts":{"dev":"rollup -c --watch","lint":"npm run prettier && npm run eslint","test":"jest","build":"rollup -c  --failAfterWarnings","clean":"rm -rf dist","eslint":"eslint","prepare":"husky","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"npx prettier --check .","typecheck":"tsc --noEmit","eslint:fix":"eslint","test:build":"node test/build/test-build.mjs","test:watch":"jest --watch","prettier:fix":"npx prettier --write .","generate-json-schema":"ts-json-schema-generator --path 'src/*.ts' --type 'Graph' -o graph.schema.json"},"_npmUser":{"name":"ianhomer","actor":{"name":"ianhomer","type":"user","email":"ian@adaptivekind.com"},"email":"ian@adaptivekind.com"},"_npmVersion":"10.9.3","description":"JSON schema for a graph along with TypeScript types","directories":{},"_nodeVersion":"22.17.0","_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.17.1","jest":"^30.0.4","husky":"^9.1.7","eslint":"^9.30.1","rollup":"^4.44.2","ts-jest":"^29.4.0","prettier":"^3.6.2","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.12","lint-staged":"^16.1.2","rollup-plugin-dts":"^6.2.1","@semantic-release/npm":"^12.0.2","@rollup/plugin-commonjs":"^28.0.6","ts-json-schema-generator":"^2.4.0","@rollup/plugin-typescript":"^12.1.4","@typescript-eslint/parser":"^8.36.0","@rollup/plugin-node-resolve":"^16.0.1","@typescript-eslint/eslint-plugin":"^8.36.0"},"_npmOperationalInternal":{"tmp":"tmp/graph-schema_0.1.7_1752059481019_0.36258243850104543","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@adaptivekind/graph-schema","version":"0.1.8","keywords":["graph","schema","typescript","json-schema"],"author":{"name":"adaptivekind"},"license":"MIT","_id":"@adaptivekind/graph-schema@0.1.8","maintainers":[{"name":"ianhomer","email":"ian@adaptivekind.com"}],"dist":{"shasum":"435dda2c20c9ea0c25b289482cf487668bf2ed9a","tarball":"https://registry.npmjs.org/@adaptivekind/graph-schema/-/graph-schema-0.1.8.tgz","fileCount":10,"integrity":"sha512-cmgcViO8XqMgb0wk/62xSb6V3Zg4/cCDLxzHsFjrVv5qgT5WQqZCb4h6psgWr4snKNn+kCE4EzJQq6ef8NLu+w==","signatures":[{"sig":"MEUCIHLF/PWaFZJiOCs5D8yIK2udpMBxLwqNKy3zJOTCT61gAiEA81uAUPLxIru4vDCJFdrZkgGAoX7EBRaxBJtbkbWMXLw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29450},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"f95584294a8813a5e4a9ff41195413e430a47b88","scripts":{"dev":"rollup -c --watch","lint":"npm run prettier && npm run eslint","test":"jest","build":"rollup -c  --failAfterWarnings","clean":"rm -rf dist","eslint":"eslint","prepare":"husky","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"npx prettier --check .","typecheck":"tsc --noEmit","eslint:fix":"eslint","test:build":"node test/build/test-build.mjs","test:watch":"jest --watch","prettier:fix":"npx prettier --write .","generate-json-schema":"ts-json-schema-generator --path 'src/*.ts' --type 'Graph' -o graph.schema.json"},"_npmUser":{"name":"ianhomer","actor":{"name":"ianhomer","type":"user","email":"ian@adaptivekind.com"},"email":"ian@adaptivekind.com"},"_npmVersion":"10.9.3","description":"JSON schema for a graph along with TypeScript types","directories":{},"_nodeVersion":"22.17.0","_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.17.1","jest":"^30.0.4","husky":"^9.1.7","eslint":"^9.30.1","rollup":"^4.44.2","ts-jest":"^29.4.0","prettier":"^3.6.2","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.12","lint-staged":"^16.1.2","rollup-plugin-dts":"^6.2.1","@semantic-release/npm":"^12.0.2","@rollup/plugin-commonjs":"^28.0.6","ts-json-schema-generator":"^2.4.0","@rollup/plugin-typescript":"^12.1.4","@typescript-eslint/parser":"^8.36.0","@rollup/plugin-node-resolve":"^16.0.1","@typescript-eslint/eslint-plugin":"^8.36.0"},"_npmOperationalInternal":{"tmp":"tmp/graph-schema_0.1.8_1752069984195_0.24563770255497408","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@adaptivekind/graph-schema","version":"0.1.9","keywords":["graph","schema","typescript","json-schema"],"author":{"name":"adaptivekind"},"license":"MIT","_id":"@adaptivekind/graph-schema@0.1.9","maintainers":[{"name":"ianhomer","email":"ian@adaptivekind.com"}],"dist":{"shasum":"9b95a20f3a06cda5fa5302a1683f2ddee8d538f6","tarball":"https://registry.npmjs.org/@adaptivekind/graph-schema/-/graph-schema-0.1.9.tgz","fileCount":10,"integrity":"sha512-cZny1JBl0JhzmNJXqC/YSnPx0vcpwlzoZd7KSL0XXreKnPrpmvCrwyGGdsi5JWYD9lfHdgCOEWzFlgKTmz+Wqw==","signatures":[{"sig":"MEUCIAiljuNdIodsxTDmVPb+FcC/q6SVz5hRQxy9CD8g8505AiEAo2/Jj29txsV72mDK79tzm1SQqJamXy24TdGLjH2/a44=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29487},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"535d1ca29e0e24a2ca103dd4ae9580036fc69644","scripts":{"dev":"rollup -c --watch","lint":"npm run prettier && npm run eslint","test":"jest","build":"rollup -c  --failAfterWarnings","clean":"rm -rf dist","eslint":"eslint","prepare":"husky","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"npx prettier --check .","typecheck":"tsc --noEmit","eslint:fix":"eslint","test:build":"node test/build/test-build.mjs","test:watch":"jest --watch","prettier:fix":"npx prettier --write .","generate-json-schema":"ts-json-schema-generator --path 'src/types.ts' -o graph.schema.json"},"_npmUser":{"name":"ianhomer","actor":{"name":"ianhomer","type":"user","email":"ian@adaptivekind.com"},"email":"ian@adaptivekind.com"},"_npmVersion":"10.9.3","description":"JSON schema for a graph along with TypeScript types","directories":{},"_nodeVersion":"22.17.0","_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.17.1","jest":"^30.0.4","husky":"^9.1.7","eslint":"^9.30.1","rollup":"^4.44.2","ts-jest":"^29.4.0","prettier":"^3.6.2","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.12","lint-staged":"^16.1.2","rollup-plugin-dts":"^6.2.1","@semantic-release/npm":"^12.0.2","@rollup/plugin-commonjs":"^28.0.6","ts-json-schema-generator":"^2.4.0","@rollup/plugin-typescript":"^12.1.4","@typescript-eslint/parser":"^8.36.0","@rollup/plugin-node-resolve":"^16.0.1","@typescript-eslint/eslint-plugin":"^8.36.0"},"_npmOperationalInternal":{"tmp":"tmp/graph-schema_0.1.9_1752080875566_0.2655781189288755","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"@adaptivekind/graph-schema","version":"0.1.10","keywords":["graph","schema","typescript","json-schema"],"author":{"name":"Ian Homer"},"license":"MIT","_id":"@adaptivekind/graph-schema@0.1.10","maintainers":[{"name":"ianhomer","email":"ian@adaptivekind.com"}],"dist":{"shasum":"8f643a968e534cf7d5242ad704723e0a94ee1480","tarball":"https://registry.npmjs.org/@adaptivekind/graph-schema/-/graph-schema-0.1.10.tgz","fileCount":10,"integrity":"sha512-eukJA2WqNApVBkfP2hyiPnQwt9q6cFV9dpMqzYvqk1p3zR183LW0Zw4cB8liOg6ud1b6F7WEwiIeFrxw4tU4zA==","signatures":[{"sig":"MEQCIGZGb9ibOX68tuO8CKj7w5RSpXHFAuWqmANiJug8GefxAiBUeaBy+fb6+lO2uaHP8NaSXT+PE/evRjV5o/XQkjAVgQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29506},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"627179909f48dbc803e6ec0cd4655fd4fa147eef","scripts":{"dev":"rollup -c --watch","lint":"npm run prettier && npm run eslint","test":"jest","build":"rollup -c  --failAfterWarnings","clean":"rm -rf dist","eslint":"eslint","prepare":"husky","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"npx prettier --check .","typecheck":"tsc --noEmit","eslint:fix":"eslint","test:build":"node test/build/test-build.mjs","test:watch":"jest --watch","prettier:fix":"npx prettier --write .","generate-json-schema":"ts-json-schema-generator --path 'src/types.ts' -o graph.schema.json"},"_npmUser":{"name":"ianhomer","email":"ian@adaptivekind.com"},"_npmVersion":"10.9.3","description":"JSON schema for a graph along with TypeScript types","directories":{},"_nodeVersion":"22.17.0","_hasShrinkwrap":false,"devDependencies":{"ajv":"^8.17.1","jest":"^30.0.4","husky":"^9.1.7","eslint":"^9.30.1","rollup":"^4.44.2","ts-jest":"^29.4.0","prettier":"^3.6.2","typescript":"^5.8.3","@types/jest":"^30.0.0","@types/node":"^24.0.12","lint-staged":"^16.1.2","rollup-plugin-dts":"^6.2.1","@semantic-release/npm":"^12.0.2","@rollup/plugin-commonjs":"^28.0.6","ts-json-schema-generator":"^2.4.0","@rollup/plugin-typescript":"^12.1.4","@typescript-eslint/parser":"^8.36.0","@rollup/plugin-node-resolve":"^16.0.1","@typescript-eslint/eslint-plugin":"^8.36.0"},"_npmOperationalInternal":{"tmp":"tmp/graph-schema_0.1.10_1752239636462_0.5528621542021761","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"@adaptivekind/graph-schema","version":"0.1.11","description":"JSON schema for a graph along with TypeScript types","main":"dist/index.js","module":"dist/index.esm.js","types":"dist/index.d.ts","scripts":{"build":"rollup -c  --failAfterWarnings","dev":"rollup -c --watch","clean":"rm -rf dist","eslint":"eslint","eslint:fix":"eslint","lint":"npm run prettier && npm run eslint","lint:fix":"npm run prettier:fix && npm run eslint:fix","prettier":"npx prettier --check .","prettier:fix":"npx prettier --write .","generate-json-schema":"ts-json-schema-generator --path 'src/types.ts' -o graph.schema.json","typecheck":"tsc --noEmit","test":"jest","test:build":"node test/build/test-build.mjs","test:watch":"jest --watch","prepare":"husky"},"keywords":["graph","schema","typescript","json-schema"],"author":{"name":"Ian Homer"},"license":"MIT","devDependencies":{"@rollup/plugin-commonjs":"^28.0.6","@rollup/plugin-node-resolve":"^16.0.1","@rollup/plugin-typescript":"^12.1.4","@semantic-release/npm":"^12.0.2","@types/jest":"^30.0.0","@types/node":"^24.0.12","@typescript-eslint/eslint-plugin":"^8.36.0","@typescript-eslint/parser":"^8.36.0","ajv":"^8.17.1","eslint":"^9.30.1","husky":"^9.1.7","jest":"^30.0.4","lint-staged":"^16.1.2","prettier":"^3.6.2","rollup":"^4.44.2","rollup-plugin-dts":"^6.2.1","ts-jest":"^29.4.0","ts-json-schema-generator":"^2.4.0","typescript":"^5.8.3"},"_id":"@adaptivekind/graph-schema@0.1.11","gitHead":"933e20d7be7db1cdcaab9de5477c539a7546edb2","_nodeVersion":"22.17.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-GiFxkkxmTvhXc7sygRbdmtAYQZJoO79Y0dqn507ImFXLyrtOwDa6+h04qsM3pJn7KHWTWiTPHV60rhwooUqhIg==","shasum":"fc2ff6afde37c746850cfbfadad0318ae6b42623","tarball":"https://registry.npmjs.org/@adaptivekind/graph-schema/-/graph-schema-0.1.11.tgz","fileCount":10,"unpackedSize":35740,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFeoH9YqFm35apEwnMgW5CpcI/X9SUYYtnwihcT/gUZzAiBDZbKonWWxKO9+zWdg8fM81acDTe4u0dKdD6B2k0K7Sw=="}]},"_npmUser":{"name":"ianhomer","email":"ian@adaptivekind.com"},"directories":{},"maintainers":[{"name":"ianhomer","email":"ian@adaptivekind.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/graph-schema_0.1.11_1752589098101_0.7238523943037818"},"_hasShrinkwrap":false}},"time":{"created":"2025-07-06T15:15:00.008Z","modified":"2025-07-15T14:18:18.477Z","0.1.0":"2025-07-06T15:15:01.838Z","0.1.3":"2025-07-07T14:41:19.339Z","0.1.4":"2025-07-07T14:59:54.315Z","0.1.5":"2025-07-07T17:29:32.688Z","0.1.6":"2025-07-09T11:07:42.801Z","0.1.7":"2025-07-09T11:11:21.188Z","0.1.8":"2025-07-09T14:06:24.388Z","0.1.9":"2025-07-09T17:07:55.788Z","0.1.10":"2025-07-11T13:13:56.633Z","0.1.11":"2025-07-15T14:18:18.280Z"},"author":{"name":"Ian Homer"},"license":"MIT","keywords":["graph","schema","typescript","json-schema"],"description":"JSON schema for a graph along with TypeScript types","maintainers":[{"name":"ianhomer","email":"ian@adaptivekind.com"}],"readme":"# Graph Schema\n\nTypeScript types and JSON schema for representing [graphs](https://en.wikipedia.org/wiki/Graph_theory) with nodes and links.\n\n## Features\n\n- **TypeScript-first**: Strongly typed interfaces for graph structures\n- **JSON Schema**: Generated schema for validation\n- **Flexible Metadata**: Support for custom data, weights, and metadata on nodes and links\n\n## Installation\n\n```bash\nnpm install\n```\n\n## Usage\n\n### Basic Graph Structure\n\n```typescript\nimport { Graph, Node, Link } from \"./src/index\";\n\nconst graph: Graph = {\n  id: \"my-graph\",\n  label: \"Sample Graph\",\n  nodes: {\n    user1: {\n      label: \"Alice\",\n      type: \"person\",\n      meta: {\n        department: \"engineering\",\n      },\n      weights: {\n        influence: 0.8,\n      },\n    },\n    user2: {\n      label: \"Bob\",\n      type: \"person\",\n    },\n  },\n  links: [\n    {\n      id: \"connection1\",\n      source: \"user1\",\n      target: \"user2\",\n      type: \"friendship\",\n      weights: {\n        strength: 0.9,\n      },\n      meta: {\n        since: \"2023-01-15\",\n      },\n    },\n  ],\n};\n```\n\n### Node Interface\n\n```typescript\ninterface Node {\n  label?: string; // Display name\n  type?: string; // Node category/type\n  aliases?: Array<string>; // Alternative names\n  value?: number; // Numeric value\n  weights?: Record<string, number>; // Named weights\n  meta?: Record<string, string>; // String metadata\n}\n```\n\n### Link Interface\n\n```typescript\ninterface Link {\n  id?: string; // Optional identifier\n  source: string; // Source node ID (required)\n  target: string; // Target node ID (required)\n  type?: string; // Link category/type\n  label?: string; // Display label\n  value?: number; // Numeric value\n  weights?: Record<string, number>; // Named weights\n  meta?: Record<string, string>; // String metadata\n}\n```\n\n### Graph Interface\n\n```typescript\ninterface Graph {\n  id?: string; // Graph identifier\n  label?: string; // Graph label\n  nodes: Record<string, Node>; // Nodes keyed by ID\n  links: Link[]; // Array of links\n}\n```\n\n## JSON Schema\n\nThe project includes automatically generated JSON Schema for validation:\n\n```bash\nnpm run generate-json-schema\n```\n\nThis creates `graph.schema.json` which can be used with JSON Schema validators like AJV.\n\n## Development\n\n### Available Scripts\n\n- `npm run build` - Compile TypeScript to JavaScript\n- `npm run dev` - Watch mode compilation\n- `npm run clean` - Remove build artifacts\n- `npm run lint` - Run ESLint and Prettier\n- `npm run lint:fix` - Fix linting issues\n- `npm run typecheck` - Type check without emitting files\n- `npm test` - Run test suite\n- `npm run test:watch` - Run tests in watch mode\n- `npm run generate-json-schema` - Generate JSON schema from types\n\n### Testing\n\nThe project includes comprehensive tests that validate:\n\n- TypeScript interface compatibility\n- JSON schema validation with AJV\n- Round-trip serialization\n- Node and link structure validation\n- Reference integrity (all links point to existing nodes)\n\n## Design Decisions\n\n### Node Storage as Map\n\nNodes are stored as `Record<string, Node>` rather than `Node[]` for several benefits:\n\n- **No duplicate IDs** - object keys are naturally unique\n- **No redundant ID storage** - the map key serves as the node ID\n\n### Flexible Typing\n\nBoth nodes and links support:\n\n- **Strong typing** for required fields\n- **Optional metadata** through `meta` and `weights` properties\n- **Custom types** via the `type` field\n- **Extensible design** for domain-specific needs\n\n## License\n\nMIT\n","readmeFilename":"README.md"}