{"_id":"hcifootprint","_rev":"34-e5333b73512fa855bb25d9b4bc071148","name":"hcifootprint","dist-tags":{"latest":"2.6.0"},"versions":{"0.2.0":{"name":"hcifootprint","version":"0.2.0","keywords":["llm","agent","mcp","skill-graph","affordance","interaction-graph","footprintjs"],"license":"MIT","_id":"hcifootprint@0.2.0","maintainers":[{"name":"sanjay1909","email":"sanjay1909@gmail.com"}],"homepage":"https://footprintjs.github.io/hcifootprint/","bugs":{"url":"https://github.com/footprintjs/hcifootprint/issues"},"dist":{"shasum":"08703c1cb36809682a8166c973b571dd7143791a","tarball":"https://registry.npmjs.org/hcifootprint/-/hcifootprint-0.2.0.tgz","fileCount":87,"integrity":"sha512-PY5IKwSgp0txX0mUYt9pt9mgZ9ephUHghE/XOL7cK2qSkR7rJt9bK16Yysg/t846CXcjyT1YTnhx86DHMuFFiw==","signatures":[{"sig":"MEUCIQD9ox0Ag6MgIdaHVVpL3cdgDSv5zQxlwHKeCYgMZu37GwIgG3+Kl+ya3KRma9g7GUxP6doRd0Z4E2JXBoCj8pYQ76k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":498040},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./mcp":{"types":"./dist/mcp.d.ts","default":"./dist/mcp.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./testing/lint":{"types":"./dist/testing/lint.d.ts","default":"./dist/testing/lint.js"}},"gitHead":"92766df1822d070e16b27fed3f344a3ec2757bca","scripts":{"test":"vitest run","build":"rm -rf dist && tsc","prepare":"npm run build","demo:chat":"tsx examples/dress-shop/chatbot.ts","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","test:watch":"vitest"},"_npmUser":{"name":"sanjay1909","email":"sanjay1909@gmail.com"},"repository":{"url":"git+https://github.com/footprintjs/hcifootprint.git","type":"git"},"_npmVersion":"11.18.0","description":"Turn a web app's interaction surface into a typed, traversable skill graph an LLM can plan over — the frontend sibling of footprintjs.","directories":{},"sideEffects":false,"_nodeVersion":"22.16.0","dependencies":{"footprintjs":"^9.10.1"},"typesVersions":{"*":{"mcp":["dist/mcp.d.ts"],"testing":["dist/testing/index.d.ts"],"testing/lint":["dist/testing/lint.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.5","zod":"^4.0.0","vitest":"^4.0.0","typescript":"^5.5.0","@types/node":"^20.0.0","@anthropic-ai/sdk":">=0.110.0 <1","@modelcontextprotocol/sdk":"^1.29.0"},"peerDependencies":{"@modelcontextprotocol/sdk":">=1.0.0"},"peerDependenciesMeta":{"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/hcifootprint_0.2.0_1784583927203_0.786340957432687","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"hcifootprint","version":"0.3.0","keywords":["llm","agent","mcp","skill-graph","affordance","interaction-graph","footprintjs"],"license":"MIT","_id":"hcifootprint@0.3.0","maintainers":[{"name":"sanjay1909","email":"sanjay1909@gmail.com"}],"homepage":"https://footprintjs.github.io/hcifootprint/","bugs":{"url":"https://github.com/footprintjs/hcifootprint/issues"},"dist":{"shasum":"adbaf7cfbbbf45a92241561c203a2b50470f4c0d","tarball":"https://registry.npmjs.org/hcifootprint/-/hcifootprint-0.3.0.tgz","fileCount":87,"integrity":"sha512-eUzAMNfqvgfiD6CHsf8B5lu91VSOulGRRWuqFkJRo3EH/2zy2bZRxGxaM1HDe4ebIClUwg7Nx7ORUgy05W9YsA==","signatures":[{"sig":"MEYCIQDwrAIRXwbppITYKtBrnGw81fyqJKoLgtT4mPLJtXO+hgIhAILyh9yN24SPoEAeIdD2d8kPxW7GQPIfFjmdOlt/hsKC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/hcifootprint@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":536767},"main":"./dist/index.js","type":"module","_from":"file:package.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./mcp":{"types":"./dist/mcp.d.ts","default":"./dist/mcp.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./testing/lint":{"types":"./dist/testing/lint.d.ts","default":"./dist/testing/lint.js"}},"scripts":{"test":"vitest run","build":"rm -rf dist && tsc","prepare":"npm run build","demo:chat":"tsx examples/dress-shop/chatbot.ts","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:68c003f7-c661-45f7-a6f7-873443785cf4"}},"_resolved":"/home/runner/work/hcifootprint/hcifootprint/package.tgz","_integrity":"sha512-eUzAMNfqvgfiD6CHsf8B5lu91VSOulGRRWuqFkJRo3EH/2zy2bZRxGxaM1HDe4ebIClUwg7Nx7ORUgy05W9YsA==","repository":{"url":"git+https://github.com/footprintjs/hcifootprint.git","type":"git"},"_npmVersion":"11.18.0","description":"Turn a web app's interaction surface into a typed, traversable skill graph an LLM can plan over — the frontend sibling of footprintjs.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"footprintjs":"^9.10.1"},"typesVersions":{"*":{"mcp":["dist/mcp.d.ts"],"testing":["dist/testing/index.d.ts"],"testing/lint":["dist/testing/lint.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.5","zod":"^4.0.0","vitest":"^4.0.0","typescript":"^5.5.0","@types/node":"^20.0.0","@anthropic-ai/sdk":">=0.110.0 <1","@modelcontextprotocol/sdk":"^1.29.0"},"peerDependencies":{"@modelcontextprotocol/sdk":">=1.0.0"},"peerDependenciesMeta":{"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/hcifootprint_0.3.0_1784938627866_0.993504755862552","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"hcifootprint","version":"0.4.0","keywords":["llm","agent","mcp","skill-graph","affordance","interaction-graph","footprintjs"],"license":"MIT","_id":"hcifootprint@0.4.0","maintainers":[{"name":"sanjay1909","email":"sanjay1909@gmail.com"}],"homepage":"https://footprintjs.github.io/hcifootprint/","bugs":{"url":"https://github.com/footprintjs/hcifootprint/issues"},"dist":{"shasum":"1ef9f7c5b11a9b918362002226d9a4d1676cb3b9","tarball":"https://registry.npmjs.org/hcifootprint/-/hcifootprint-0.4.0.tgz","fileCount":103,"integrity":"sha512-6HdiYHRf8E42EAR98mEYU2xdqScF1MozV0olXSpXrwuCjSz/o0HTG4ztCEhnjzuXv2pY1wwD8c06jkaDhg06hQ==","signatures":[{"sig":"MEQCIHwoD9fCyDF3Qx8Qh4lxHAbNaAQE3Up/Kxggo6oxyLKkAiBvAWWuNCfsEGzFh9YgCGm+kIMOt020cbj8Nx+J+xz12A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/hcifootprint@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":603146},"main":"./dist/index.js","type":"module","_from":"file:package.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./mcp":{"types":"./dist/mcp.d.ts","default":"./dist/mcp.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./testing/lint":{"types":"./dist/testing/lint.d.ts","default":"./dist/testing/lint.js"}},"scripts":{"test":"vitest run","build":"rm -rf dist && tsc","prepare":"npm run build","demo:chat":"tsx examples/dress-shop/chatbot.ts","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:68c003f7-c661-45f7-a6f7-873443785cf4"}},"_resolved":"/home/runner/work/hcifootprint/hcifootprint/package.tgz","_integrity":"sha512-6HdiYHRf8E42EAR98mEYU2xdqScF1MozV0olXSpXrwuCjSz/o0HTG4ztCEhnjzuXv2pY1wwD8c06jkaDhg06hQ==","repository":{"url":"git+https://github.com/footprintjs/hcifootprint.git","type":"git"},"_npmVersion":"11.18.0","description":"Turn a web app's interaction surface into a typed, traversable skill graph an LLM can plan over — the frontend sibling of footprintjs.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"footprintjs":"^9.10.1"},"typesVersions":{"*":{"mcp":["dist/mcp.d.ts"],"testing":["dist/testing/index.d.ts"],"testing/lint":["dist/testing/lint.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.5","zod":"^4.0.0","vitest":"^4.0.0","typescript":"^5.5.0","@types/node":"^20.0.0","@anthropic-ai/sdk":">=0.110.0 <1","@modelcontextprotocol/sdk":"^1.29.0"},"peerDependencies":{"@modelcontextprotocol/sdk":">=1.0.0"},"peerDependenciesMeta":{"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/hcifootprint_0.4.0_1785295316669_0.355313335362087","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"hcifootprint","version":"0.5.0","keywords":["llm","agent","mcp","skill-graph","affordance","interaction-graph","footprintjs"],"license":"MIT","_id":"hcifootprint@0.5.0","maintainers":[{"name":"sanjay1909","email":"sanjay1909@gmail.com"}],"homepage":"https://footprintjs.github.io/hcifootprint/","bugs":{"url":"https://github.com/footprintjs/hcifootprint/issues"},"dist":{"shasum":"8978685aa31135674539a5a8da1db6c92941b9db","tarball":"https://registry.npmjs.org/hcifootprint/-/hcifootprint-0.5.0.tgz","fileCount":123,"integrity":"sha512-qZdmCf/GAagiTZBgEhJijBy8u/8HYg24LGhL0/IHlQ1rtg8nxs8YUcAsaRs7kA+ezu12nVv1/kV8Afz3+bAigA==","signatures":[{"sig":"MEYCIQCVGPZ353yA/gaubnwuqh31t/LGS0WYu1j0spyq2R/oagIhAP1FXSVgrbCua3JsMV9D5FAZqsj1/6pf5d6PL/SqCGXw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/hcifootprint@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":677645},"main":"./dist/index.js","type":"module","_from":"file:package.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./mcp":{"types":"./dist/mcp.d.ts","default":"./dist/mcp.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./testing/lint":{"types":"./dist/testing/lint.d.ts","default":"./dist/testing/lint.js"}},"scripts":{"test":"vitest run","build":"rm -rf dist && tsc","prepare":"npm run build","docs:api":"node scripts/gen-fumadocs-api.mjs","demo:chat":"tsx examples/dress-shop/chatbot.ts","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","docs:links":"node scripts/check-doc-links.mjs --strict","test:watch":"vitest"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:68c003f7-c661-45f7-a6f7-873443785cf4"}},"_resolved":"/home/runner/work/hcifootprint/hcifootprint/package.tgz","_integrity":"sha512-qZdmCf/GAagiTZBgEhJijBy8u/8HYg24LGhL0/IHlQ1rtg8nxs8YUcAsaRs7kA+ezu12nVv1/kV8Afz3+bAigA==","repository":{"url":"git+https://github.com/footprintjs/hcifootprint.git","type":"git"},"_npmVersion":"11.18.0","description":"Turn a web app's interaction surface into a typed, traversable skill graph an LLM can plan over — the frontend sibling of footprintjs.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"footprintjs":"^9.10.1"},"typesVersions":{"*":{"mcp":["dist/mcp.d.ts"],"testing":["dist/testing/index.d.ts"],"testing/lint":["dist/testing/lint.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.5","zod":"^4.0.0","vitest":"^4.0.0","esbuild":"^0.28.1","typedoc":"^0.28.19","typescript":"^5.5.0","@types/node":"^20.0.0","github-slugger":"^2.0.0","unist-util-visit":"^5.0.0","@anthropic-ai/sdk":">=0.110.0 <1","typedoc-plugin-markdown":"^4.11.0","@modelcontextprotocol/sdk":"^1.29.0"},"peerDependencies":{"@modelcontextprotocol/sdk":">=1.0.0"},"peerDependenciesMeta":{"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/hcifootprint_0.5.0_1785323242232_0.35348461324982616","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"hcifootprint","version":"0.6.0","keywords":["llm","agent","mcp","skill-graph","affordance","interaction-graph","footprintjs"],"license":"MIT","_id":"hcifootprint@0.6.0","maintainers":[{"name":"sanjay1909","email":"sanjay1909@gmail.com"}],"homepage":"https://footprintjs.github.io/hcifootprint/","bugs":{"url":"https://github.com/footprintjs/hcifootprint/issues"},"dist":{"shasum":"75f1a116a8a0a22521b2e762674eb77fe67cc908","tarball":"https://registry.npmjs.org/hcifootprint/-/hcifootprint-0.6.0.tgz","fileCount":135,"integrity":"sha512-exJC9KCVlhEkbdn0r+H4qNAtqmnQiTOD/1RZBZrJ/Z5joMVy6nznbhYPWpgxjjAQTi4hFtCoikehWGc16J9EiA==","signatures":[{"sig":"MEUCIQD9wJNHfJ4jV6lh9w9wotd+wmCo9C0dCv8Dy4+BEBXHLgIgKGRFl+gcRwL8XBtbt6Q/i11rz4wEvgRPeK3NkDSvc9Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/hcifootprint@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":830154},"main":"./dist/index.js","type":"module","_from":"file:package.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./mcp":{"types":"./dist/mcp.d.ts","default":"./dist/mcp.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./testing/lint":{"types":"./dist/testing/lint.d.ts","default":"./dist/testing/lint.js"}},"scripts":{"test":"vitest run","build":"rm -rf dist && tsc","prepare":"npm run build","docs:api":"node scripts/gen-fumadocs-api.mjs","posttest":"node scripts/check-test-badge.mjs","demo:chat":"tsx examples/dress-shop/chatbot.ts","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","docs:links":"node scripts/check-doc-links.mjs --strict","test:watch":"vitest","example:wizard":"tsx examples/guarded-wizard/run.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:68c003f7-c661-45f7-a6f7-873443785cf4"}},"_resolved":"/home/runner/work/hcifootprint/hcifootprint/package.tgz","_integrity":"sha512-exJC9KCVlhEkbdn0r+H4qNAtqmnQiTOD/1RZBZrJ/Z5joMVy6nznbhYPWpgxjjAQTi4hFtCoikehWGc16J9EiA==","repository":{"url":"git+https://github.com/footprintjs/hcifootprint.git","type":"git"},"_npmVersion":"11.18.0","description":"Turn a web app's interaction surface into a typed, traversable skill graph an LLM can plan over — the frontend sibling of footprintjs.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"footprintjs":"^9.10.1"},"typesVersions":{"*":{"mcp":["dist/mcp.d.ts"],"testing":["dist/testing/index.d.ts"],"testing/lint":["dist/testing/lint.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.5","zod":"^4.0.0","vitest":"^4.0.0","esbuild":"^0.28.1","typedoc":"^0.28.19","typescript":"^5.5.0","@types/node":"^20.0.0","github-slugger":"^2.0.0","unist-util-visit":"^5.0.0","@anthropic-ai/sdk":">=0.110.0 <1","typedoc-plugin-markdown":"^4.11.0","@modelcontextprotocol/sdk":"^1.29.0"},"peerDependencies":{"@modelcontextprotocol/sdk":">=1.0.0"},"peerDependenciesMeta":{"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/hcifootprint_0.6.0_1785348630816_0.4335747652285684","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"hcifootprint","version":"0.7.0","keywords":["llm","agent","mcp","skill-graph","affordance","interaction-graph","footprintjs"],"license":"MIT","_id":"hcifootprint@0.7.0","maintainers":[{"name":"sanjay1909","email":"sanjay1909@gmail.com"}],"homepage":"https://footprintjs.github.io/hcifootprint/","bugs":{"url":"https://github.com/footprintjs/hcifootprint/issues"},"dist":{"shasum":"7f983aacbcfe103dcb53bf5b9a450c51f4631ae6","tarball":"https://registry.npmjs.org/hcifootprint/-/hcifootprint-0.7.0.tgz","fileCount":147,"integrity":"sha512-6E4GToW7VoY2LWUJH02BllfIhfVB7Zo0jZ191frO151ri8TcqjQBAURmUes+RqNWVvMcT999rg2tCk8se0xLjA==","signatures":[{"sig":"MEUCIQCF+Om7cDpNL7GFKnoGRbqKovaPBPcMPFtsjtyi3FbTzQIgbPTILaixInWp1EZaWrrzErhl1wT8l3ld1gS+cjBZ8Lc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/hcifootprint@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":970474},"main":"./dist/index.js","type":"module","_from":"file:package.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./mcp":{"types":"./dist/mcp.d.ts","default":"./dist/mcp.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./testing/lint":{"types":"./dist/testing/lint.d.ts","default":"./dist/testing/lint.js"}},"scripts":{"test":"vitest run","build":"rm -rf dist && tsc","prepare":"npm run build","docs:api":"node scripts/gen-fumadocs-api.mjs","posttest":"node scripts/check-test-badge.mjs","demo:chat":"tsx examples/dress-shop/chatbot.ts","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","docs:links":"node scripts/check-doc-links.mjs --strict","test:watch":"vitest","example:wizard":"tsx examples/guarded-wizard/run.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:68c003f7-c661-45f7-a6f7-873443785cf4"}},"_resolved":"/home/runner/work/hcifootprint/hcifootprint/package.tgz","_integrity":"sha512-6E4GToW7VoY2LWUJH02BllfIhfVB7Zo0jZ191frO151ri8TcqjQBAURmUes+RqNWVvMcT999rg2tCk8se0xLjA==","repository":{"url":"git+https://github.com/footprintjs/hcifootprint.git","type":"git"},"_npmVersion":"11.19.0","description":"Turn a web app's interaction surface into a typed, traversable skill graph an LLM can plan over — the frontend sibling of footprintjs.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"footprintjs":"^9.10.1"},"typesVersions":{"*":{"mcp":["dist/mcp.d.ts"],"testing":["dist/testing/index.d.ts"],"testing/lint":["dist/testing/lint.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.5","zod":"^4.0.0","vitest":"^4.0.0","esbuild":"^0.28.1","typedoc":"^0.28.19","typescript":"^5.5.0","@types/node":"^20.0.0","github-slugger":"^2.0.0","unist-util-visit":"^5.0.0","@anthropic-ai/sdk":">=0.110.0 <1","typedoc-plugin-markdown":"^4.11.0","@modelcontextprotocol/sdk":"^1.29.0"},"peerDependencies":{"@modelcontextprotocol/sdk":">=1.0.0"},"peerDependenciesMeta":{"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/hcifootprint_0.7.0_1785409182006_0.71149399223183","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"hcifootprint","version":"0.8.0","keywords":["llm","agent","mcp","skill-graph","affordance","interaction-graph","footprintjs"],"license":"MIT","_id":"hcifootprint@0.8.0","maintainers":[{"name":"sanjay1909","email":"sanjay1909@gmail.com"}],"homepage":"https://footprintjs.github.io/hcifootprint/","bugs":{"url":"https://github.com/footprintjs/hcifootprint/issues"},"dist":{"shasum":"346bf88c7c9eebf7434059467ee5f93a6b0988b5","tarball":"https://registry.npmjs.org/hcifootprint/-/hcifootprint-0.8.0.tgz","fileCount":215,"integrity":"sha512-OoWznT6MQP/cRLuL/Ddc+phpkNryAiDCwdcP9c35fGjNf5C7BqJIbVcOaMEHwgRmcvhVDDpz5KcHRMIv7ixTlA==","signatures":[{"sig":"MEUCIF3E7bTqxYgwbBGGLURONlUx2mzdUz+5oG9B1QaVtrWbAiEAtlAUw2d3ogcB0aO2EjTYK7Oa1861vEnaSj4+ILcFw8Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/hcifootprint@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1191049},"main":"./dist/index.js","type":"module","_from":"file:package.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./mcp":{"types":"./dist/mcp.d.ts","default":"./dist/mcp.js"},"./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./sensor":{"types":"./dist/sensor/index.d.ts","default":"./dist/sensor/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./testing/lint":{"types":"./dist/testing/lint.d.ts","default":"./dist/testing/lint.js"}},"scripts":{"test":"vitest run","build":"rm -rf dist && tsc","prepare":"npm run build","docs:api":"node scripts/gen-fumadocs-api.mjs","posttest":"node scripts/check-test-badge.mjs","demo:chat":"tsx examples/dress-shop/chatbot.ts","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","docs:links":"node scripts/check-doc-links.mjs --strict","test:watch":"vitest","example:wizard":"tsx examples/guarded-wizard/run.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:68c003f7-c661-45f7-a6f7-873443785cf4"}},"_resolved":"/home/runner/work/hcifootprint/hcifootprint/package.tgz","_integrity":"sha512-OoWznT6MQP/cRLuL/Ddc+phpkNryAiDCwdcP9c35fGjNf5C7BqJIbVcOaMEHwgRmcvhVDDpz5KcHRMIv7ixTlA==","repository":{"url":"git+https://github.com/footprintjs/hcifootprint.git","type":"git"},"_npmVersion":"11.19.0","description":"Turn a web app's interaction surface into a typed, traversable skill graph an LLM can plan over — the frontend sibling of footprintjs.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"footprintjs":"^9.10.1"},"typesVersions":{"*":{"mcp":["dist/mcp.d.ts"],"react":["dist/react/index.d.ts"],"sensor":["dist/sensor/index.d.ts"],"testing":["dist/testing/index.d.ts"],"testing/lint":["dist/testing/lint.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.5","zod":"^4.0.0","react":"^19.2.8","vitest":"^4.0.0","esbuild":"^0.28.1","typedoc":"^0.28.19","typescript":"^5.5.0","@types/node":"^20.0.0","@types/react":"^19.2.17","github-slugger":"^2.0.0","unist-util-visit":"^5.0.0","@anthropic-ai/sdk":">=0.110.0 <1","react-test-renderer":"^19.2.8","typedoc-plugin-markdown":"^4.11.0","@modelcontextprotocol/sdk":"^1.29.0","@types/react-test-renderer":"^19.1.0"},"peerDependencies":{"react":"*","@modelcontextprotocol/sdk":">=1.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/hcifootprint_0.8.0_1785428900103_0.9291945581834451","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"hcifootprint","version":"0.9.0","keywords":["llm","agent","mcp","skill-graph","affordance","interaction-graph","footprintjs"],"license":"MIT","_id":"hcifootprint@0.9.0","maintainers":[{"name":"sanjay1909","email":"sanjay1909@gmail.com"}],"homepage":"https://footprintjs.github.io/hcifootprint/","bugs":{"url":"https://github.com/footprintjs/hcifootprint/issues"},"dist":{"shasum":"91cd3cd197daac5b21341e81010baf2efda2cffe","tarball":"https://registry.npmjs.org/hcifootprint/-/hcifootprint-0.9.0.tgz","fileCount":215,"integrity":"sha512-2AczqBL1wa3t7KsxYH/tEM2qMhkCMqvxbnOKsUXMIa/zqwT8Uj4MMKMCV3Qe65hhgRxFGfG5V3Xj7S/AZyakSA==","signatures":[{"sig":"MEUCIQDiOcDcRWdgsrZurRkpQqcBz5pIYu8bWypEzetCzMTTvAIgNUkAg92jeQI9ht3oFzI7aTZsghUGeV1+N8m+0E+AHmE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/hcifootprint@0.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1293888},"main":"./dist/index.js","type":"module","_from":"file:package.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./mcp":{"types":"./dist/mcp.d.ts","default":"./dist/mcp.js"},"./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./sensor":{"types":"./dist/sensor/index.d.ts","default":"./dist/sensor/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./testing/lint":{"types":"./dist/testing/lint.d.ts","default":"./dist/testing/lint.js"}},"scripts":{"test":"vitest run","build":"rm -rf dist && tsc","prepare":"npm run build","docs:api":"node scripts/gen-fumadocs-api.mjs","posttest":"node scripts/check-test-badge.mjs","demo:chat":"tsx examples/dress-shop/chatbot.ts","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","docs:links":"node scripts/check-doc-links.mjs --strict","test:watch":"vitest","example:wizard":"tsx examples/guarded-wizard/run.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:68c003f7-c661-45f7-a6f7-873443785cf4"}},"_resolved":"/home/runner/work/hcifootprint/hcifootprint/package.tgz","_integrity":"sha512-2AczqBL1wa3t7KsxYH/tEM2qMhkCMqvxbnOKsUXMIa/zqwT8Uj4MMKMCV3Qe65hhgRxFGfG5V3Xj7S/AZyakSA==","repository":{"url":"git+https://github.com/footprintjs/hcifootprint.git","type":"git"},"_npmVersion":"11.19.0","description":"Turn a web app's interaction surface into a typed, traversable skill graph an LLM can plan over — the frontend sibling of footprintjs.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"footprintjs":"^9.10.1"},"typesVersions":{"*":{"mcp":["dist/mcp.d.ts"],"react":["dist/react/index.d.ts"],"sensor":["dist/sensor/index.d.ts"],"testing":["dist/testing/index.d.ts"],"testing/lint":["dist/testing/lint.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.5","zod":"^4.0.0","react":"^19.2.8","vitest":"^4.0.0","esbuild":"^0.28.1","typedoc":"^0.28.19","typescript":"^5.5.0","@types/node":"^20.0.0","@types/react":"^19.2.17","github-slugger":"^2.0.0","unist-util-visit":"^5.0.0","@anthropic-ai/sdk":">=0.110.0 <1","react-test-renderer":"^19.2.8","typedoc-plugin-markdown":"^4.11.0","@modelcontextprotocol/sdk":"^1.29.0","@types/react-test-renderer":"^19.1.0"},"peerDependencies":{"react":"*","@modelcontextprotocol/sdk":">=1.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/hcifootprint_0.9.0_1785455564553_0.07498771783871594","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"hcifootprint","version":"0.10.0","keywords":["llm","agent","mcp","skill-graph","affordance","interaction-graph","footprintjs"],"license":"MIT","_id":"hcifootprint@0.10.0","maintainers":[{"name":"sanjay1909","email":"sanjay1909@gmail.com"}],"homepage":"https://footprintjs.github.io/hcifootprint/","bugs":{"url":"https://github.com/footprintjs/hcifootprint/issues"},"dist":{"shasum":"00a41cb4572e82cc5a73456d76a1fb9efea433cf","tarball":"https://registry.npmjs.org/hcifootprint/-/hcifootprint-0.10.0.tgz","fileCount":219,"integrity":"sha512-UuSxOeyGPPNHe3i1qDUX3J8oKgYMHkKEQCNFpSAIIF7vpW/sQfyDTENlPjqsmnsVMFe3Vwa6G5tQ+od3j7A3+g==","signatures":[{"sig":"MEQCIHwxzYiaotSX5UFGsMXXKktM4vFrPV7LM950mQuOG/rsAiBpyG9pGXJr7FDR4imr+dOllQQsaCXRJxjFdAZ6rz9u5A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/hcifootprint@0.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1407894},"main":"./dist/index.js","type":"module","_from":"file:package.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./mcp":{"types":"./dist/mcp.d.ts","default":"./dist/mcp.js"},"./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./sensor":{"types":"./dist/sensor/index.d.ts","default":"./dist/sensor/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./testing/lint":{"types":"./dist/testing/lint.d.ts","default":"./dist/testing/lint.js"}},"scripts":{"test":"vitest run","build":"rm -rf dist && tsc","prepare":"npm run build","docs:api":"node scripts/gen-fumadocs-api.mjs","posttest":"node scripts/check-test-badge.mjs","demo:chat":"tsx examples/dress-shop/chatbot.ts","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","docs:links":"node scripts/check-doc-links.mjs --strict","test:watch":"vitest","example:wizard":"tsx examples/guarded-wizard/run.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:68c003f7-c661-45f7-a6f7-873443785cf4"}},"_resolved":"/home/runner/work/hcifootprint/hcifootprint/package.tgz","_integrity":"sha512-UuSxOeyGPPNHe3i1qDUX3J8oKgYMHkKEQCNFpSAIIF7vpW/sQfyDTENlPjqsmnsVMFe3Vwa6G5tQ+od3j7A3+g==","repository":{"url":"git+https://github.com/footprintjs/hcifootprint.git","type":"git"},"_npmVersion":"11.19.0","description":"Turn a web app's interaction surface into a typed, traversable skill graph an LLM can plan over — the frontend sibling of footprintjs.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"footprintjs":"^9.10.1"},"typesVersions":{"*":{"mcp":["dist/mcp.d.ts"],"react":["dist/react/index.d.ts"],"sensor":["dist/sensor/index.d.ts"],"testing":["dist/testing/index.d.ts"],"testing/lint":["dist/testing/lint.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.5","zod":"^4.0.0","react":"^19.2.8","vitest":"^4.0.0","esbuild":"^0.28.1","typedoc":"^0.28.19","typescript":"^5.5.0","@types/node":"^20.0.0","@types/react":"^19.2.17","github-slugger":"^2.0.0","unist-util-visit":"^5.0.0","@anthropic-ai/sdk":">=0.110.0 <1","react-test-renderer":"^19.2.8","typedoc-plugin-markdown":"^4.11.0","@modelcontextprotocol/sdk":"^1.29.0","@types/react-test-renderer":"^19.1.0"},"peerDependencies":{"react":"*","@modelcontextprotocol/sdk":">=1.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/hcifootprint_0.10.0_1785471594410_0.5687365247624319","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"hcifootprint","version":"0.11.0","keywords":["llm","agent","mcp","skill-graph","affordance","interaction-graph","footprintjs"],"license":"MIT","_id":"hcifootprint@0.11.0","maintainers":[{"name":"sanjay1909","email":"sanjay1909@gmail.com"}],"homepage":"https://footprintjs.github.io/hcifootprint/","bugs":{"url":"https://github.com/footprintjs/hcifootprint/issues"},"dist":{"shasum":"1840db93024a77f4d13397a6f9ecb7c4d86bf5c6","tarball":"https://registry.npmjs.org/hcifootprint/-/hcifootprint-0.11.0.tgz","fileCount":219,"integrity":"sha512-GYNa8g4HIlwytUcgCqdIwwH2dPJnL8fE+a1WhMqstjtkPoIfKft/Oi39IxJATvMX5I1Y0WL8OtNdG/Tt6fNsBA==","signatures":[{"sig":"MEUCIBiLr2qF1Orypn52mbFbWiceTosXA84d+lJQHbU+H6lgAiEA5dzxuy2DzwQB5gyOtnPmsxNMzOuVC6L6Jwr7HWqTOtY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/hcifootprint@0.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1420833},"main":"./dist/index.js","type":"module","_from":"file:package.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./mcp":{"types":"./dist/mcp.d.ts","default":"./dist/mcp.js"},"./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./sensor":{"types":"./dist/sensor/index.d.ts","default":"./dist/sensor/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./testing/lint":{"types":"./dist/testing/lint.d.ts","default":"./dist/testing/lint.js"}},"scripts":{"test":"vitest run","build":"rm -rf dist && tsc","prepare":"npm run build","docs:api":"node scripts/gen-fumadocs-api.mjs","posttest":"node scripts/check-test-badge.mjs","demo:chat":"tsx examples/dress-shop/chatbot.ts","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","docs:links":"node scripts/check-doc-links.mjs --strict","test:watch":"vitest","example:wizard":"tsx examples/guarded-wizard/run.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:68c003f7-c661-45f7-a6f7-873443785cf4"}},"_resolved":"/home/runner/work/hcifootprint/hcifootprint/package.tgz","_integrity":"sha512-GYNa8g4HIlwytUcgCqdIwwH2dPJnL8fE+a1WhMqstjtkPoIfKft/Oi39IxJATvMX5I1Y0WL8OtNdG/Tt6fNsBA==","repository":{"url":"git+https://github.com/footprintjs/hcifootprint.git","type":"git"},"_npmVersion":"11.19.0","description":"Turn a web app's interaction surface into a typed, traversable skill graph an LLM can plan over — the frontend sibling of footprintjs.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"footprintjs":"^9.10.1"},"typesVersions":{"*":{"mcp":["dist/mcp.d.ts"],"react":["dist/react/index.d.ts"],"sensor":["dist/sensor/index.d.ts"],"testing":["dist/testing/index.d.ts"],"testing/lint":["dist/testing/lint.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.5","zod":"^4.0.0","react":"^19.2.8","vitest":"^4.0.0","esbuild":"^0.28.1","typedoc":"^0.28.19","typescript":"^5.5.0","@types/node":"^20.0.0","@types/react":"^19.2.17","github-slugger":"^2.0.0","unist-util-visit":"^5.0.0","@anthropic-ai/sdk":">=0.110.0 <1","react-test-renderer":"^19.2.8","typedoc-plugin-markdown":"^4.11.0","@modelcontextprotocol/sdk":"^1.29.0","@types/react-test-renderer":"^19.1.0"},"peerDependencies":{"react":"*","@modelcontextprotocol/sdk":">=1.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/hcifootprint_0.11.0_1785543619499_0.23409476280158192","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"hcifootprint","version":"1.0.0","keywords":["llm","agent","mcp","journey-graph","affordance","interaction-graph","footprintjs"],"license":"MIT","_id":"hcifootprint@1.0.0","maintainers":[{"name":"sanjay1909","email":"sanjay1909@gmail.com"}],"homepage":"https://footprintjs.github.io/hcifootprint/","bugs":{"url":"https://github.com/footprintjs/hcifootprint/issues"},"dist":{"shasum":"8aed1958c6f8a04d73f3b901ca525f5b625e24c7","tarball":"https://registry.npmjs.org/hcifootprint/-/hcifootprint-1.0.0.tgz","fileCount":223,"integrity":"sha512-bNyUk7LE2DPecOiisv6WHfYI9P4RB9fGwFIcjBZ0f2cwXG2M/Lw/P5hqcJ1LQg2JanYmGGF4ytdEyjc6tgcuLw==","signatures":[{"sig":"MEUCIGo0ieITZI4ubrJ3U1Bzp/f8G81B+MNOgaUgx9bwpiG1AiEAjLHHksd2ZxofBCoEM3kTZoN12ENm+40FY8YYYMj8Jpk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/hcifootprint@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1430240},"main":"./dist/index.js","type":"module","_from":"file:package.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./mcp":{"types":"./dist/mcp.d.ts","default":"./dist/mcp.js"},"./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./sensor":{"types":"./dist/sensor/index.d.ts","default":"./dist/sensor/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./testing/lint":{"types":"./dist/testing/lint.d.ts","default":"./dist/testing/lint.js"}},"scripts":{"test":"vitest run","build":"rm -rf dist && tsc","prepare":"npm run build","docs:api":"node scripts/gen-fumadocs-api.mjs","posttest":"node scripts/check-test-badge.mjs","demo:chat":"tsx examples/dress-shop/chatbot.ts","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","docs:links":"node scripts/check-doc-links.mjs --strict","docs:truth":"node scripts/docs-truth-check.mjs --verbose","test:watch":"vitest","test:coverage":"vitest run --coverage","example:wizard":"tsx examples/guarded-wizard/run.ts","docs:truth:check":"node scripts/docs-truth-check.mjs --check","docs:truth:baseline":"node scripts/docs-truth-check.mjs --update-baseline"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:68c003f7-c661-45f7-a6f7-873443785cf4"}},"_resolved":"/home/runner/work/hcifootprint/hcifootprint/package.tgz","_integrity":"sha512-bNyUk7LE2DPecOiisv6WHfYI9P4RB9fGwFIcjBZ0f2cwXG2M/Lw/P5hqcJ1LQg2JanYmGGF4ytdEyjc6tgcuLw==","repository":{"url":"git+https://github.com/footprintjs/hcifootprint.git","type":"git"},"_npmVersion":"11.19.0","description":"Turn a web app's interaction surface into a typed, traversable journey graph an LLM can plan over — the frontend sibling of footprintjs.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"footprintjs":"^9.10.1"},"typesVersions":{"*":{"mcp":["dist/mcp.d.ts"],"react":["dist/react/index.d.ts"],"sensor":["dist/sensor/index.d.ts"],"testing":["dist/testing/index.d.ts"],"testing/lint":["dist/testing/lint.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.5","zod":"^4.0.0","react":"^19.2.8","vitest":"^4.0.0","esbuild":"^0.28.1","typedoc":"^0.28.19","typescript":"^5.5.0","@types/node":"^20.0.0","@types/react":"^19.2.17","github-slugger":"^2.0.0","unist-util-visit":"^5.0.0","@anthropic-ai/sdk":">=0.110.0 <1","@vitest/coverage-v8":"^4.0.0","react-test-renderer":"^19.2.8","typedoc-plugin-markdown":"^4.11.0","@modelcontextprotocol/sdk":"^1.29.0","@types/react-test-renderer":"^19.1.0"},"peerDependencies":{"react":"*","@modelcontextprotocol/sdk":">=1.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/hcifootprint_1.0.0_1785642102740_0.22154437418961503","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"hcifootprint","version":"1.0.1","keywords":["llm","agent","mcp","journey-graph","affordance","interaction-graph","footprintjs"],"license":"MIT","_id":"hcifootprint@1.0.1","maintainers":[{"name":"sanjay1909","email":"sanjay1909@gmail.com"}],"homepage":"https://footprintjs.github.io/hcifootprint/","bugs":{"url":"https://github.com/footprintjs/hcifootprint/issues"},"dist":{"shasum":"2c41a0aa0759e62da5fa9196cfb0dc0456348ea1","tarball":"https://registry.npmjs.org/hcifootprint/-/hcifootprint-1.0.1.tgz","fileCount":223,"integrity":"sha512-BJ3mJKlkw09EmHN8N2uzQeBDU1oKoK0XoLqUYesCVrfSnmX2wXkGE2TfA84eVcreIacTeyHmhNNxH4B363qJ8A==","signatures":[{"sig":"MEQCIClw3GKiOL4ZtJp+OK7NQkyVZ5DlrYWKch98wTtNTzDmAiA1t/0JyPvftECYWDrJik7CJ9WGE79POdYtjWdIYzxZYA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/hcifootprint@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1430822},"main":"./dist/index.js","type":"module","_from":"file:package.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./mcp":{"types":"./dist/mcp.d.ts","default":"./dist/mcp.js"},"./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./sensor":{"types":"./dist/sensor/index.d.ts","default":"./dist/sensor/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./testing/lint":{"types":"./dist/testing/lint.d.ts","default":"./dist/testing/lint.js"}},"scripts":{"test":"vitest run","build":"rm -rf dist && tsc","prepare":"npm run build","docs:api":"node scripts/gen-fumadocs-api.mjs","posttest":"node scripts/check-test-badge.mjs","demo:chat":"tsx examples/dress-shop/chatbot.ts","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","docs:links":"node scripts/check-doc-links.mjs --strict","docs:truth":"node scripts/docs-truth-check.mjs --verbose","test:watch":"vitest","bench:tokens":"node bench/token-cost/token-cost.mjs","test:coverage":"vitest run --coverage","example:wizard":"tsx examples/guarded-wizard/run.ts","docs:truth:check":"node scripts/docs-truth-check.mjs --check","docs:truth:baseline":"node scripts/docs-truth-check.mjs --update-baseline"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:68c003f7-c661-45f7-a6f7-873443785cf4"}},"_resolved":"/home/runner/work/hcifootprint/hcifootprint/package.tgz","_integrity":"sha512-BJ3mJKlkw09EmHN8N2uzQeBDU1oKoK0XoLqUYesCVrfSnmX2wXkGE2TfA84eVcreIacTeyHmhNNxH4B363qJ8A==","repository":{"url":"git+https://github.com/footprintjs/hcifootprint.git","type":"git"},"_npmVersion":"11.19.0","description":"Turn a web app's interaction surface into a typed, traversable journey graph an LLM can plan over — the frontend sibling of footprintjs.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"footprintjs":"^9.10.1"},"typesVersions":{"*":{"mcp":["dist/mcp.d.ts"],"react":["dist/react/index.d.ts"],"sensor":["dist/sensor/index.d.ts"],"testing":["dist/testing/index.d.ts"],"testing/lint":["dist/testing/lint.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.5","zod":"^4.0.0","react":"^19.2.8","vitest":"^4.0.0","esbuild":"^0.28.1","typedoc":"^0.28.19","typescript":"^5.5.0","@types/node":"^20.0.0","@types/react":"^19.2.17","gpt-tokenizer":"^3.4.0","github-slugger":"^2.0.0","unist-util-visit":"^5.0.0","@anthropic-ai/sdk":">=0.110.0 <1","@vitest/coverage-v8":"^4.0.0","react-test-renderer":"^19.2.8","typedoc-plugin-markdown":"^4.11.0","@modelcontextprotocol/sdk":"^1.29.0","@types/react-test-renderer":"^19.1.0"},"peerDependencies":{"react":"*","@modelcontextprotocol/sdk":">=1.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/hcifootprint_1.0.1_1785644942879_0.431929380090331","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"hcifootprint","version":"1.1.0","keywords":["llm","agent","mcp","journey-graph","affordance","interaction-graph","footprintjs"],"license":"MIT","_id":"hcifootprint@1.1.0","maintainers":[{"name":"sanjay1909","email":"sanjay1909@gmail.com"}],"homepage":"https://footprintjs.github.io/hcifootprint/","bugs":{"url":"https://github.com/footprintjs/hcifootprint/issues"},"dist":{"shasum":"6e15c78356efec130802fb4cb54e84f612dbbae6","tarball":"https://registry.npmjs.org/hcifootprint/-/hcifootprint-1.1.0.tgz","fileCount":223,"integrity":"sha512-vU4fmg/wUUeGz+0EBx6i7J3QoBZ4aBwXjFU7u2UjD0km2YZoC2WNvWiWL/kQ7s4n7TsTRvHnHFZSzLeaqz7VaQ==","signatures":[{"sig":"MEQCIEkPWISsd/Mi/bYqbrHMp/Bjeuq//zVUi+SIrSN125WBAiBkgi/Qx3NuBRBUGjLLFI6OyaU+9AN2kFy3+6FEwL9DAQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/hcifootprint@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1442536},"main":"./dist/index.js","type":"module","_from":"file:package.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./mcp":{"types":"./dist/mcp.d.ts","default":"./dist/mcp.js"},"./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./sensor":{"types":"./dist/sensor/index.d.ts","default":"./dist/sensor/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./testing/lint":{"types":"./dist/testing/lint.d.ts","default":"./dist/testing/lint.js"}},"scripts":{"test":"vitest run","build":"rm -rf dist && tsc","prepare":"npm run build","docs:api":"node scripts/gen-fumadocs-api.mjs","posttest":"node scripts/check-test-badge.mjs","demo:chat":"tsx examples/dress-shop/chatbot.ts","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","docs:links":"node scripts/check-doc-links.mjs --strict","docs:truth":"node scripts/docs-truth-check.mjs --verbose","test:watch":"vitest","bench:tokens":"node bench/token-cost/token-cost.mjs","test:coverage":"vitest run --coverage","example:wizard":"tsx examples/guarded-wizard/run.ts","docs:truth:check":"node scripts/docs-truth-check.mjs --check","docs:truth:baseline":"node scripts/docs-truth-check.mjs --update-baseline"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:68c003f7-c661-45f7-a6f7-873443785cf4"}},"_resolved":"/home/runner/work/hcifootprint/hcifootprint/package.tgz","_integrity":"sha512-vU4fmg/wUUeGz+0EBx6i7J3QoBZ4aBwXjFU7u2UjD0km2YZoC2WNvWiWL/kQ7s4n7TsTRvHnHFZSzLeaqz7VaQ==","repository":{"url":"git+https://github.com/footprintjs/hcifootprint.git","type":"git"},"_npmVersion":"11.19.0","description":"Turn a web app's interaction surface into a typed, traversable journey graph an LLM can plan over — the frontend sibling of footprintjs.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"footprintjs":"^9.10.1"},"typesVersions":{"*":{"mcp":["dist/mcp.d.ts"],"react":["dist/react/index.d.ts"],"sensor":["dist/sensor/index.d.ts"],"testing":["dist/testing/index.d.ts"],"testing/lint":["dist/testing/lint.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.5","zod":"^4.0.0","react":"^19.2.8","vitest":"^4.0.0","esbuild":"^0.28.1","typedoc":"^0.28.19","typescript":"^5.5.0","@types/node":"^20.0.0","@types/react":"^19.2.17","gpt-tokenizer":"^3.4.0","github-slugger":"^2.0.0","unist-util-visit":"^5.0.0","@anthropic-ai/sdk":">=0.110.0 <1","@vitest/coverage-v8":"^4.0.0","react-test-renderer":"^19.2.8","typedoc-plugin-markdown":"^4.11.0","@modelcontextprotocol/sdk":"^1.29.0","@types/react-test-renderer":"^19.1.0"},"peerDependencies":{"react":"*","@modelcontextprotocol/sdk":">=1.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/hcifootprint_1.1.0_1785653438601_0.6454970953721413","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"hcifootprint","version":"1.2.0","keywords":["llm","agent","mcp","journey-graph","affordance","interaction-graph","footprintjs"],"license":"MIT","_id":"hcifootprint@1.2.0","maintainers":[{"name":"sanjay1909","email":"sanjay1909@gmail.com"}],"homepage":"https://footprintjs.github.io/hcifootprint/","bugs":{"url":"https://github.com/footprintjs/hcifootprint/issues"},"dist":{"shasum":"cb63f67be7509991472b9166a92aec55d2851e6a","tarball":"https://registry.npmjs.org/hcifootprint/-/hcifootprint-1.2.0.tgz","fileCount":223,"integrity":"sha512-ZGILKUmoGR6O9NKjPFWMB/B5rJeGgNuzeFEM9SHLecbq8lwHUH8ZiM0B9mirb+3FCuj0kb2UJ4ty0LE7CUvHVQ==","signatures":[{"sig":"MEYCIQDimfc8bPt8Cwnm0FX8IISBYcDD+/Qr9M8v/4ZLSrEcTQIhAOTo5gAqlw/EoRiknOA1Q5KV9UA6Kzid0pQ3S2ySmFkQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/hcifootprint@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1473548},"main":"./dist/index.js","type":"module","_from":"file:package.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./mcp":{"types":"./dist/mcp.d.ts","default":"./dist/mcp.js"},"./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./sensor":{"types":"./dist/sensor/index.d.ts","default":"./dist/sensor/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./testing/lint":{"types":"./dist/testing/lint.d.ts","default":"./dist/testing/lint.js"}},"scripts":{"test":"vitest run","build":"rm -rf dist && tsc","prepare":"npm run build","docs:api":"node scripts/gen-fumadocs-api.mjs","posttest":"node scripts/check-test-badge.mjs","demo:chat":"tsx examples/dress-shop/chatbot.ts","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","docs:links":"node scripts/check-doc-links.mjs --strict","docs:truth":"node scripts/docs-truth-check.mjs --verbose","test:watch":"vitest","bench:tokens":"node bench/token-cost/token-cost.mjs","test:coverage":"vitest run --coverage","example:wizard":"tsx examples/guarded-wizard/run.ts","docs:truth:check":"node scripts/docs-truth-check.mjs --check","docs:truth:baseline":"node scripts/docs-truth-check.mjs --update-baseline"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:68c003f7-c661-45f7-a6f7-873443785cf4"}},"_resolved":"/home/runner/work/hcifootprint/hcifootprint/package.tgz","_integrity":"sha512-ZGILKUmoGR6O9NKjPFWMB/B5rJeGgNuzeFEM9SHLecbq8lwHUH8ZiM0B9mirb+3FCuj0kb2UJ4ty0LE7CUvHVQ==","repository":{"url":"git+https://github.com/footprintjs/hcifootprint.git","type":"git"},"_npmVersion":"11.19.0","description":"Turn a web app's interaction surface into a typed, traversable journey graph an LLM can plan over — the frontend sibling of footprintjs.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"footprintjs":"^9.10.1"},"typesVersions":{"*":{"mcp":["dist/mcp.d.ts"],"react":["dist/react/index.d.ts"],"sensor":["dist/sensor/index.d.ts"],"testing":["dist/testing/index.d.ts"],"testing/lint":["dist/testing/lint.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.5","zod":"^4.0.0","react":"^19.2.8","vitest":"^4.0.0","esbuild":"^0.28.1","typedoc":"^0.28.19","typescript":"^5.5.0","@types/node":"^20.0.0","@types/react":"^19.2.17","gpt-tokenizer":"^3.4.0","github-slugger":"^2.0.0","unist-util-visit":"^5.0.0","@anthropic-ai/sdk":">=0.110.0 <1","@vitest/coverage-v8":"^4.0.0","react-test-renderer":"^19.2.8","typedoc-plugin-markdown":"^4.11.0","@modelcontextprotocol/sdk":"^1.29.0","@types/react-test-renderer":"^19.1.0"},"peerDependencies":{"react":"*","@modelcontextprotocol/sdk":">=1.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/hcifootprint_1.2.0_1785655798373_0.31423869752417866","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"hcifootprint","version":"1.3.0","keywords":["llm","agent","mcp","journey-graph","affordance","interaction-graph","footprintjs"],"license":"MIT","_id":"hcifootprint@1.3.0","maintainers":[{"name":"sanjay1909","email":"sanjay1909@gmail.com"}],"homepage":"https://footprintjs.github.io/hcifootprint/","bugs":{"url":"https://github.com/footprintjs/hcifootprint/issues"},"dist":{"shasum":"6d8494fd8b958877e83b4219c19d43263cc1143d","tarball":"https://registry.npmjs.org/hcifootprint/-/hcifootprint-1.3.0.tgz","fileCount":223,"integrity":"sha512-264/N6YTn3P8Ewty62CVqV+5QPTM8JslbVmG2JRGk4FtzzQXUeQyGQul2EzImqiIxJdH64OVIoCa7lR1e/ZiSQ==","signatures":[{"sig":"MEQCIHHbdwFsDukdO+KBHn9OyyNfNvS6MKalia2watNDA+kTAiB8LAEQw8JA+t7lt+zqlkKcGfZclZ3yV/hH9jJa8MJ14g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/hcifootprint@1.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1539598},"main":"./dist/index.js","type":"module","_from":"file:package.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./mcp":{"types":"./dist/mcp.d.ts","default":"./dist/mcp.js"},"./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./sensor":{"types":"./dist/sensor/index.d.ts","default":"./dist/sensor/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./testing/lint":{"types":"./dist/testing/lint.d.ts","default":"./dist/testing/lint.js"}},"scripts":{"test":"vitest run","build":"rm -rf dist && tsc","prepare":"npm run build","docs:api":"node scripts/gen-fumadocs-api.mjs","posttest":"node scripts/check-test-badge.mjs","demo:chat":"tsx examples/dress-shop/chatbot.ts","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","docs:links":"node scripts/check-doc-links.mjs --strict","docs:truth":"node scripts/docs-truth-check.mjs --verbose","test:watch":"vitest","bench:tokens":"node bench/token-cost/token-cost.mjs","test:coverage":"vitest run --coverage","example:wizard":"tsx examples/guarded-wizard/run.ts","docs:truth:check":"node scripts/docs-truth-check.mjs --check","docs:truth:baseline":"node scripts/docs-truth-check.mjs --update-baseline"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:68c003f7-c661-45f7-a6f7-873443785cf4"}},"_resolved":"/home/runner/work/hcifootprint/hcifootprint/package.tgz","_integrity":"sha512-264/N6YTn3P8Ewty62CVqV+5QPTM8JslbVmG2JRGk4FtzzQXUeQyGQul2EzImqiIxJdH64OVIoCa7lR1e/ZiSQ==","repository":{"url":"git+https://github.com/footprintjs/hcifootprint.git","type":"git"},"_npmVersion":"11.19.0","description":"Turn a web app's interaction surface into a typed, traversable journey graph an LLM can plan over — the frontend sibling of footprintjs.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"footprintjs":"^9.10.1"},"typesVersions":{"*":{"mcp":["dist/mcp.d.ts"],"react":["dist/react/index.d.ts"],"sensor":["dist/sensor/index.d.ts"],"testing":["dist/testing/index.d.ts"],"testing/lint":["dist/testing/lint.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.5","zod":"^4.0.0","react":"^19.2.8","vitest":"^4.0.0","esbuild":"^0.28.1","typedoc":"^0.28.19","typescript":"^5.5.0","@types/node":"^20.0.0","@types/react":"^19.2.17","gpt-tokenizer":"^3.4.0","github-slugger":"^2.0.0","unist-util-visit":"^5.0.0","@anthropic-ai/sdk":">=0.110.0 <1","@vitest/coverage-v8":"^4.0.0","react-test-renderer":"^19.2.8","typedoc-plugin-markdown":"^4.11.0","@modelcontextprotocol/sdk":"^1.29.0","@types/react-test-renderer":"^19.1.0"},"peerDependencies":{"react":"*","@modelcontextprotocol/sdk":">=1.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/hcifootprint_1.3.0_1785658314017_0.9714839406083884","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"hcifootprint","version":"1.4.0","keywords":["llm","agent","mcp","journey-graph","affordance","interaction-graph","footprintjs"],"license":"MIT","_id":"hcifootprint@1.4.0","maintainers":[{"name":"sanjay1909","email":"sanjay1909@gmail.com"}],"homepage":"https://footprintjs.github.io/hcifootprint/","bugs":{"url":"https://github.com/footprintjs/hcifootprint/issues"},"dist":{"shasum":"dcb54944c71675d2e0d8d4cc818e7ae6c8fef19b","tarball":"https://registry.npmjs.org/hcifootprint/-/hcifootprint-1.4.0.tgz","fileCount":227,"integrity":"sha512-IxPqa6sEA8TspXrB1ujvmXHHYXBsURNpaAOflE/4b1Dmk9eJeclMmjmAug5Q2Zm9CYLvBpwuDywN/KAWiucjmA==","signatures":[{"sig":"MEUCIQCEWxJQygrWWa1DVps6b692go0MVkGYSMx0qV9URHUNowIgX8WSkFMkKZnWW3BLQJMuMbEEtXqcuJeewvCLyfsQt04=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/hcifootprint@1.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1585388},"main":"./dist/index.js","type":"module","_from":"file:package.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./mcp":{"types":"./dist/mcp.d.ts","default":"./dist/mcp.js"},"./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./sensor":{"types":"./dist/sensor/index.d.ts","default":"./dist/sensor/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./testing/lint":{"types":"./dist/testing/lint.d.ts","default":"./dist/testing/lint.js"}},"scripts":{"test":"vitest run","build":"rm -rf dist && tsc","prepare":"npm run build","docs:api":"node scripts/gen-fumadocs-api.mjs","posttest":"node scripts/check-test-badge.mjs","demo:chat":"tsx examples/dress-shop/chatbot.ts","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","docs:links":"node scripts/check-doc-links.mjs --strict","docs:truth":"node scripts/docs-truth-check.mjs --verbose","test:watch":"vitest","bench:tokens":"node bench/token-cost/token-cost.mjs","test:coverage":"vitest run --coverage","example:wizard":"tsx examples/guarded-wizard/run.ts","docs:truth:check":"node scripts/docs-truth-check.mjs --check","docs:truth:baseline":"node scripts/docs-truth-check.mjs --update-baseline"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:68c003f7-c661-45f7-a6f7-873443785cf4"}},"_resolved":"/home/runner/work/hcifootprint/hcifootprint/package.tgz","_integrity":"sha512-IxPqa6sEA8TspXrB1ujvmXHHYXBsURNpaAOflE/4b1Dmk9eJeclMmjmAug5Q2Zm9CYLvBpwuDywN/KAWiucjmA==","repository":{"url":"git+https://github.com/footprintjs/hcifootprint.git","type":"git"},"_npmVersion":"11.19.0","description":"Turn a web app's interaction surface into a typed, traversable journey graph an LLM can plan over — the frontend sibling of footprintjs.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"footprintjs":"^9.10.1"},"typesVersions":{"*":{"mcp":["dist/mcp.d.ts"],"react":["dist/react/index.d.ts"],"sensor":["dist/sensor/index.d.ts"],"testing":["dist/testing/index.d.ts"],"testing/lint":["dist/testing/lint.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.5","zod":"^4.0.0","react":"^19.2.8","vitest":"^4.0.0","esbuild":"^0.28.1","typedoc":"^0.28.19","typescript":"^5.5.0","@types/node":"^20.0.0","@types/react":"^19.2.17","gpt-tokenizer":"^3.4.0","github-slugger":"^2.0.0","unist-util-visit":"^5.0.0","@anthropic-ai/sdk":">=0.110.0 <1","@vitest/coverage-v8":"^4.0.0","react-test-renderer":"^19.2.8","typedoc-plugin-markdown":"^4.11.0","@modelcontextprotocol/sdk":"^1.29.0","@types/react-test-renderer":"^19.1.0"},"peerDependencies":{"react":"*","@modelcontextprotocol/sdk":">=1.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/hcifootprint_1.4.0_1785660696051_0.8205780686589597","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"hcifootprint","version":"1.5.0","keywords":["llm","agent","mcp","journey-graph","affordance","interaction-graph","footprintjs"],"license":"MIT","_id":"hcifootprint@1.5.0","maintainers":[{"name":"sanjay1909","email":"sanjay1909@gmail.com"}],"homepage":"https://footprintjs.github.io/hcifootprint/","bugs":{"url":"https://github.com/footprintjs/hcifootprint/issues"},"dist":{"shasum":"5208c26db6c186056f42eaf6c0e34451842f603e","tarball":"https://registry.npmjs.org/hcifootprint/-/hcifootprint-1.5.0.tgz","fileCount":231,"integrity":"sha512-JhP2v6ItqRdLH8t/dgvM1MLut+LNc/SHQ/iNv8I0ghFy/sP68lyU4QXEJQ38Z7XDKJvOYBeZYMgevKWLdmxlmA==","signatures":[{"sig":"MEUCIQDgUN7qoLPJGA0sOar6zNATBixfSv9mok+ekG5XL5tAngIgaP5CDDBi7vUPs1TVF3mixbGNrv3oBvH0KLFjmKU11sI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/hcifootprint@1.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1626385},"main":"./dist/index.js","type":"module","_from":"file:package.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./mcp":{"types":"./dist/mcp.d.ts","default":"./dist/mcp.js"},"./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./sensor":{"types":"./dist/sensor/index.d.ts","default":"./dist/sensor/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./testing/lint":{"types":"./dist/testing/lint.d.ts","default":"./dist/testing/lint.js"}},"scripts":{"test":"vitest run","build":"rm -rf dist && tsc","prepare":"npm run build","docs:api":"node scripts/gen-fumadocs-api.mjs","posttest":"node scripts/check-test-badge.mjs","demo:chat":"tsx examples/dress-shop/chatbot.ts","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","docs:links":"node scripts/check-doc-links.mjs --strict","docs:truth":"node scripts/docs-truth-check.mjs --verbose","test:watch":"vitest","bench:tokens":"node bench/token-cost/token-cost.mjs","test:coverage":"vitest run --coverage","example:wizard":"tsx examples/guarded-wizard/run.ts","docs:truth:check":"node scripts/docs-truth-check.mjs --check","docs:truth:baseline":"node scripts/docs-truth-check.mjs --update-baseline"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:68c003f7-c661-45f7-a6f7-873443785cf4"}},"_resolved":"/home/runner/work/hcifootprint/hcifootprint/package.tgz","_integrity":"sha512-JhP2v6ItqRdLH8t/dgvM1MLut+LNc/SHQ/iNv8I0ghFy/sP68lyU4QXEJQ38Z7XDKJvOYBeZYMgevKWLdmxlmA==","repository":{"url":"git+https://github.com/footprintjs/hcifootprint.git","type":"git"},"_npmVersion":"11.19.0","description":"Turn a web app's interaction surface into a typed, traversable journey graph an LLM can plan over — the frontend sibling of footprintjs.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"footprintjs":"^9.10.1"},"typesVersions":{"*":{"mcp":["dist/mcp.d.ts"],"react":["dist/react/index.d.ts"],"sensor":["dist/sensor/index.d.ts"],"testing":["dist/testing/index.d.ts"],"testing/lint":["dist/testing/lint.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.5","zod":"^4.0.0","react":"^19.2.8","vitest":"^4.0.0","esbuild":"^0.28.1","typedoc":"^0.28.19","typescript":"^5.5.0","@types/node":"^20.0.0","@types/react":"^19.2.17","gpt-tokenizer":"^3.4.0","github-slugger":"^2.0.0","unist-util-visit":"^5.0.0","@anthropic-ai/sdk":">=0.110.0 <1","@vitest/coverage-v8":"^4.0.0","react-test-renderer":"^19.2.8","typedoc-plugin-markdown":"^4.11.0","@modelcontextprotocol/sdk":"^1.29.0","@types/react-test-renderer":"^19.1.0"},"peerDependencies":{"react":"*","@modelcontextprotocol/sdk":">=1.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/hcifootprint_1.5.0_1785662232147_0.2764547513205047","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"hcifootprint","version":"1.6.0","keywords":["llm","agent","mcp","journey-graph","affordance","interaction-graph","footprintjs"],"license":"MIT","_id":"hcifootprint@1.6.0","maintainers":[{"name":"sanjay1909","email":"sanjay1909@gmail.com"}],"homepage":"https://footprintjs.github.io/hcifootprint/","bugs":{"url":"https://github.com/footprintjs/hcifootprint/issues"},"dist":{"shasum":"d3eec2ddeedfe9a8ea8664d97121e21e482c5d97","tarball":"https://registry.npmjs.org/hcifootprint/-/hcifootprint-1.6.0.tgz","fileCount":255,"integrity":"sha512-FHqYaiJVuIVyziYILzFlkfq4hpmg4dRhfSdct6t9GqWf6LUUquP07ylReHrk7bFVYWk/h3a/cOknQS9kOIrFmA==","signatures":[{"sig":"MEUCICrVFuD1TafrHzS/dDAzHPfQhrpxHB2aSRRamY3bgEkHAiEAjgMANjVKX7dGougJysE5RK6CT4BhgFcsD5TsTCbmUvc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/hcifootprint@1.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1790788},"main":"./dist/index.js","type":"module","_from":"file:package.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./mcp":{"types":"./dist/mcp.d.ts","default":"./dist/mcp.js"},"./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./sensor":{"types":"./dist/sensor/index.d.ts","default":"./dist/sensor/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./testing/lint":{"types":"./dist/testing/lint.d.ts","default":"./dist/testing/lint.js"}},"scripts":{"test":"vitest run","build":"rm -rf dist && tsc","prepare":"npm run build","docs:api":"node scripts/gen-fumadocs-api.mjs","posttest":"node scripts/check-test-badge.mjs","demo:chat":"tsx examples/dress-shop/chatbot.ts","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","docs:links":"node scripts/check-doc-links.mjs --strict","docs:truth":"node scripts/docs-truth-check.mjs --verbose","test:watch":"vitest","bench:tokens":"node bench/token-cost/token-cost.mjs","test:coverage":"vitest run --coverage","example:wizard":"tsx examples/guarded-wizard/run.ts","docs:truth:check":"node scripts/docs-truth-check.mjs --check","docs:truth:baseline":"node scripts/docs-truth-check.mjs --update-baseline"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:68c003f7-c661-45f7-a6f7-873443785cf4"}},"_resolved":"/home/runner/work/hcifootprint/hcifootprint/package.tgz","_integrity":"sha512-FHqYaiJVuIVyziYILzFlkfq4hpmg4dRhfSdct6t9GqWf6LUUquP07ylReHrk7bFVYWk/h3a/cOknQS9kOIrFmA==","repository":{"url":"git+https://github.com/footprintjs/hcifootprint.git","type":"git"},"_npmVersion":"11.19.0","description":"Turn a web app's interaction surface into a typed, traversable journey graph an LLM can plan over — the frontend sibling of footprintjs.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"footprintjs":"^9.10.1"},"typesVersions":{"*":{"mcp":["dist/mcp.d.ts"],"react":["dist/react/index.d.ts"],"sensor":["dist/sensor/index.d.ts"],"testing":["dist/testing/index.d.ts"],"testing/lint":["dist/testing/lint.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.5","zod":"^4.0.0","react":"^19.2.8","vitest":"^4.0.0","esbuild":"^0.28.1","typedoc":"^0.28.19","typescript":"^5.5.0","@types/node":"^20.0.0","@types/react":"^19.2.17","gpt-tokenizer":"^3.4.0","github-slugger":"^2.0.0","unist-util-visit":"^5.0.0","@anthropic-ai/sdk":">=0.110.0 <1","@vitest/coverage-v8":"^4.0.0","react-test-renderer":"^19.2.8","typedoc-plugin-markdown":"^4.11.0","@modelcontextprotocol/sdk":"^1.29.0","@types/react-test-renderer":"^19.1.0"},"peerDependencies":{"react":"*","@modelcontextprotocol/sdk":">=1.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/hcifootprint_1.6.0_1785996314767_0.3355563289896628","host":"s3://npm-registry-packages-npm-production"}},"1.7.1":{"name":"hcifootprint","version":"1.7.1","keywords":["llm","agent","mcp","journey-graph","affordance","interaction-graph","footprintjs"],"license":"MIT","_id":"hcifootprint@1.7.1","maintainers":[{"name":"sanjay1909","email":"sanjay1909@gmail.com"}],"homepage":"https://footprintjs.github.io/hcifootprint/","bugs":{"url":"https://github.com/footprintjs/hcifootprint/issues"},"dist":{"shasum":"130013d02d8ef248811b856a715c0c5760888e52","tarball":"https://registry.npmjs.org/hcifootprint/-/hcifootprint-1.7.1.tgz","fileCount":283,"integrity":"sha512-GBYJH2Nrh4esHD+S7VTOJze597XvlZAPiHDhXqfq4iP4M6+af79Fkp0Z4hFEOgxA+kjJY8loL2TAW1JNXRrwpQ==","signatures":[{"sig":"MEUCIF5VDMaI3cCOyuITtZ71YUet1UsN0y+E9s7PqQ99OiL1AiEAk1CUv4ls59Js94y4oU4M2Fald0ro226361oS2youpNc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/hcifootprint@1.7.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2099865},"main":"./dist/index.js","type":"module","_from":"file:package.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./mcp":{"types":"./dist/mcp.d.ts","default":"./dist/mcp.js"},"./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./sensor":{"types":"./dist/sensor/index.d.ts","default":"./dist/sensor/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./testing/lint":{"types":"./dist/testing/lint.d.ts","default":"./dist/testing/lint.js"}},"scripts":{"test":"vitest run","build":"rm -rf dist && tsc","prepare":"npm run build","docs:api":"node scripts/gen-fumadocs-api.mjs","posttest":"node scripts/check-test-badge.mjs","demo:chat":"tsx examples/dress-shop/chatbot.ts","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","docs:links":"node scripts/check-doc-links.mjs --strict","docs:truth":"node scripts/docs-truth-check.mjs --verbose","test:watch":"vitest","bench:tokens":"node bench/token-cost/token-cost.mjs","test:coverage":"vitest run --coverage","example:wizard":"tsx examples/guarded-wizard/run.ts","docs:truth:check":"node scripts/docs-truth-check.mjs --check","docs:truth:baseline":"node scripts/docs-truth-check.mjs --update-baseline"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:68c003f7-c661-45f7-a6f7-873443785cf4"}},"_resolved":"/home/runner/work/hcifootprint/hcifootprint/package.tgz","_integrity":"sha512-GBYJH2Nrh4esHD+S7VTOJze597XvlZAPiHDhXqfq4iP4M6+af79Fkp0Z4hFEOgxA+kjJY8loL2TAW1JNXRrwpQ==","repository":{"url":"git+https://github.com/footprintjs/hcifootprint.git","type":"git"},"_npmVersion":"11.19.0","description":"Turn a web app's interaction surface into a typed, traversable journey graph an LLM can plan over — the frontend sibling of footprintjs.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"footprintjs":"^9.10.1"},"typesVersions":{"*":{"mcp":["dist/mcp.d.ts"],"react":["dist/react/index.d.ts"],"sensor":["dist/sensor/index.d.ts"],"testing":["dist/testing/index.d.ts"],"testing/lint":["dist/testing/lint.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.5","zod":"^4.0.0","react":"^19.2.8","vitest":"^4.0.0","esbuild":"^0.28.1","typedoc":"^0.28.19","typescript":"^5.5.0","@types/node":"^20.0.0","@types/react":"^19.2.17","gpt-tokenizer":"^3.4.0","github-slugger":"^2.0.0","unist-util-visit":"^5.0.0","@anthropic-ai/sdk":">=0.110.0 <1","@vitest/coverage-v8":"^4.0.0","react-test-renderer":"^19.2.8","typedoc-plugin-markdown":"^4.11.0","@modelcontextprotocol/sdk":"^1.29.0","@types/react-test-renderer":"^19.1.0"},"peerDependencies":{"react":"*","@modelcontextprotocol/sdk":">=1.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/hcifootprint_1.7.1_1786081416338_0.43633970230866725","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"hcifootprint","version":"1.8.0","keywords":["llm","agent","mcp","journey-graph","affordance","interaction-graph","footprintjs"],"license":"MIT","_id":"hcifootprint@1.8.0","maintainers":[{"name":"sanjay1909","email":"sanjay1909@gmail.com"}],"homepage":"https://footprintjs.github.io/hcifootprint/","bugs":{"url":"https://github.com/footprintjs/hcifootprint/issues"},"dist":{"shasum":"611d6ca3de95981941afcc6f6a5c359a3ee601b5","tarball":"https://registry.npmjs.org/hcifootprint/-/hcifootprint-1.8.0.tgz","fileCount":287,"integrity":"sha512-pc2uW9ZEoLFsOyqx/OkyJ7L5qr/ccXI38lJI4JQIzuN53M2xRUlCC7I7pVgbynKR2z7FN+QgAh2YqOk3z+MtiA==","signatures":[{"sig":"MEYCIQC6kdLi7tXjNISM5OrEI+YQmS1ajfaubOuD2yQJ9vKOYgIhAJb8H/2XLpxWeSmYkR0AI/pAc7SifG0wvSE74vKZExY0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/hcifootprint@1.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2112534},"main":"./dist/index.js","type":"module","_from":"file:package.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./mcp":{"types":"./dist/mcp.d.ts","default":"./dist/mcp.js"},"./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./sensor":{"types":"./dist/sensor/index.d.ts","default":"./dist/sensor/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./testing/lint":{"types":"./dist/testing/lint.d.ts","default":"./dist/testing/lint.js"}},"scripts":{"test":"vitest run","build":"rm -rf dist && tsc","prepare":"npm run build","docs:api":"node scripts/gen-fumadocs-api.mjs","posttest":"node scripts/check-test-badge.mjs","demo:chat":"tsx examples/dress-shop/chatbot.ts","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","docs:links":"node scripts/check-doc-links.mjs --strict","docs:truth":"node scripts/docs-truth-check.mjs --verbose","test:watch":"vitest","bench:tokens":"node bench/token-cost/token-cost.mjs","test:coverage":"vitest run --coverage","example:wizard":"tsx examples/guarded-wizard/run.ts","docs:truth:check":"node scripts/docs-truth-check.mjs --check","docs:truth:baseline":"node scripts/docs-truth-check.mjs --update-baseline"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:68c003f7-c661-45f7-a6f7-873443785cf4"}},"_resolved":"/home/runner/work/hcifootprint/hcifootprint/package.tgz","_integrity":"sha512-pc2uW9ZEoLFsOyqx/OkyJ7L5qr/ccXI38lJI4JQIzuN53M2xRUlCC7I7pVgbynKR2z7FN+QgAh2YqOk3z+MtiA==","repository":{"url":"git+https://github.com/footprintjs/hcifootprint.git","type":"git"},"_npmVersion":"11.19.0","description":"Turn a web app's interaction surface into a typed, traversable journey graph an LLM can plan over — the frontend sibling of footprintjs.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"footprintjs":"^9.10.1"},"typesVersions":{"*":{"mcp":["dist/mcp.d.ts"],"react":["dist/react/index.d.ts"],"sensor":["dist/sensor/index.d.ts"],"testing":["dist/testing/index.d.ts"],"testing/lint":["dist/testing/lint.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.5","zod":"^4.0.0","react":"^19.2.8","vitest":"^4.0.0","esbuild":"^0.28.1","typedoc":"^0.28.19","typescript":"^5.5.0","@types/node":"^20.0.0","@types/react":"^19.2.17","gpt-tokenizer":"^3.4.0","github-slugger":"^2.0.0","unist-util-visit":"^5.0.0","@anthropic-ai/sdk":">=0.110.0 <1","@vitest/coverage-v8":"^4.0.0","react-test-renderer":"^19.2.8","typedoc-plugin-markdown":"^4.11.0","@modelcontextprotocol/sdk":"^1.29.0","@types/react-test-renderer":"^19.1.0"},"peerDependencies":{"react":"*","@modelcontextprotocol/sdk":">=1.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/hcifootprint_1.8.0_1787003148605_0.9283093865241765","host":"s3://npm-registry-packages-npm-production"}},"1.9.0":{"name":"hcifootprint","version":"1.9.0","keywords":["llm","agent","mcp","journey-graph","affordance","interaction-graph","footprintjs"],"license":"MIT","_id":"hcifootprint@1.9.0","maintainers":[{"name":"sanjay1909","email":"sanjay1909@gmail.com"}],"homepage":"https://footprintjs.github.io/hcifootprint/","bugs":{"url":"https://github.com/footprintjs/hcifootprint/issues"},"dist":{"shasum":"b50fd6756c8affee611f0b1a32e7769e4ed40996","tarball":"https://registry.npmjs.org/hcifootprint/-/hcifootprint-1.9.0.tgz","fileCount":287,"integrity":"sha512-gnmb8ySEfHFrjs39fQlmEG+T6xG2ZYfqFrPKWK+Mv27WUFVwdIHT/08mZxm3A6lnLZWQJkjzX3nW6Zh9Qu5kYg==","signatures":[{"sig":"MEYCIQDKeUrdo+xRaEs9y70tAZK4i2hVuRpfM7vfZ2VymbzygAIhAK+5T6hL84TfzBF62vuvfTxWsjvCSeS7MkEvk4mmhlt3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/hcifootprint@1.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2118862},"main":"./dist/index.js","type":"module","_from":"file:package.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./mcp":{"types":"./dist/mcp.d.ts","default":"./dist/mcp.js"},"./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./sensor":{"types":"./dist/sensor/index.d.ts","default":"./dist/sensor/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./testing/lint":{"types":"./dist/testing/lint.d.ts","default":"./dist/testing/lint.js"}},"scripts":{"test":"vitest run","build":"rm -rf dist && tsc","prepare":"npm run build","docs:api":"node scripts/gen-fumadocs-api.mjs","posttest":"node scripts/check-test-badge.mjs","demo:chat":"tsx examples/dress-shop/chatbot.ts","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","docs:links":"node scripts/check-doc-links.mjs --strict","docs:truth":"node scripts/docs-truth-check.mjs --verbose","test:watch":"vitest","bench:tokens":"node bench/token-cost/token-cost.mjs","test:coverage":"vitest run --coverage","example:wizard":"tsx examples/guarded-wizard/run.ts","docs:truth:check":"node scripts/docs-truth-check.mjs --check","docs:truth:baseline":"node scripts/docs-truth-check.mjs --update-baseline"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:68c003f7-c661-45f7-a6f7-873443785cf4"}},"_resolved":"/home/runner/work/hcifootprint/hcifootprint/package.tgz","_integrity":"sha512-gnmb8ySEfHFrjs39fQlmEG+T6xG2ZYfqFrPKWK+Mv27WUFVwdIHT/08mZxm3A6lnLZWQJkjzX3nW6Zh9Qu5kYg==","repository":{"url":"git+https://github.com/footprintjs/hcifootprint.git","type":"git"},"_npmVersion":"11.19.0","description":"Turn a web app's interaction surface into a typed, traversable journey graph an LLM can plan over — the frontend sibling of footprintjs.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"footprintjs":"^9.10.1"},"typesVersions":{"*":{"mcp":["dist/mcp.d.ts"],"react":["dist/react/index.d.ts"],"sensor":["dist/sensor/index.d.ts"],"testing":["dist/testing/index.d.ts"],"testing/lint":["dist/testing/lint.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.5","zod":"^4.0.0","react":"^19.2.8","vitest":"^4.0.0","esbuild":"^0.28.1","typedoc":"^0.28.19","typescript":"^5.5.0","@types/node":"^20.0.0","@types/react":"^19.2.17","gpt-tokenizer":"^3.4.0","github-slugger":"^2.0.0","unist-util-visit":"^5.0.0","@anthropic-ai/sdk":">=0.110.0 <1","@vitest/coverage-v8":"^4.0.0","react-test-renderer":"^19.2.8","typedoc-plugin-markdown":"^4.11.0","@modelcontextprotocol/sdk":"^1.29.0","@types/react-test-renderer":"^19.1.0"},"peerDependencies":{"react":"*","@modelcontextprotocol/sdk":">=1.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/hcifootprint_1.9.0_1787008352195_0.08223067193454625","host":"s3://npm-registry-packages-npm-production"}},"1.10.0":{"name":"hcifootprint","version":"1.10.0","keywords":["llm","agent","mcp","journey-graph","affordance","interaction-graph","footprintjs"],"license":"MIT","_id":"hcifootprint@1.10.0","maintainers":[{"name":"sanjay1909","email":"sanjay1909@gmail.com"}],"homepage":"https://footprintjs.github.io/hcifootprint/","bugs":{"url":"https://github.com/footprintjs/hcifootprint/issues"},"dist":{"shasum":"a446ea50a51a1e1829aa4765295503db6c8dfeef","tarball":"https://registry.npmjs.org/hcifootprint/-/hcifootprint-1.10.0.tgz","fileCount":287,"integrity":"sha512-IcZz+eisMYxmNW1Em1Tgzke4F5PNsfcGoBwflKSPJPSTcSfzOJwVWX4WW31vNJFyVFIbSpZLzO7mrzudO9YUkA==","signatures":[{"sig":"MEUCIQCNFP0N9D0xxmyS+TujsCu8W/yuD4SF73tuglebyy64IAIgMUxFqsHIx3fxuFNOXAuoOtrdCGE/yriiX1c3fCM+LnQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/hcifootprint@1.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2126878},"main":"./dist/index.js","type":"module","_from":"file:package.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./mcp":{"types":"./dist/mcp.d.ts","default":"./dist/mcp.js"},"./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./sensor":{"types":"./dist/sensor/index.d.ts","default":"./dist/sensor/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./testing/lint":{"types":"./dist/testing/lint.d.ts","default":"./dist/testing/lint.js"}},"scripts":{"test":"vitest run","build":"rm -rf dist && tsc","prepare":"npm run build","docs:api":"node scripts/gen-fumadocs-api.mjs","posttest":"node scripts/check-test-badge.mjs","demo:chat":"tsx examples/dress-shop/chatbot.ts","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","docs:links":"node scripts/check-doc-links.mjs --strict","docs:truth":"node scripts/docs-truth-check.mjs --verbose","test:watch":"vitest","bench:tokens":"node bench/token-cost/token-cost.mjs","test:coverage":"vitest run --coverage","example:wizard":"tsx examples/guarded-wizard/run.ts","docs:truth:check":"node scripts/docs-truth-check.mjs --check","docs:truth:baseline":"node scripts/docs-truth-check.mjs --update-baseline"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:68c003f7-c661-45f7-a6f7-873443785cf4"}},"_resolved":"/home/runner/work/hcifootprint/hcifootprint/package.tgz","_integrity":"sha512-IcZz+eisMYxmNW1Em1Tgzke4F5PNsfcGoBwflKSPJPSTcSfzOJwVWX4WW31vNJFyVFIbSpZLzO7mrzudO9YUkA==","repository":{"url":"git+https://github.com/footprintjs/hcifootprint.git","type":"git"},"_npmVersion":"11.19.0","description":"Turn a web app's interaction surface into a typed, traversable journey graph an LLM can plan over — the frontend sibling of footprintjs.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"footprintjs":"^9.10.1"},"typesVersions":{"*":{"mcp":["dist/mcp.d.ts"],"react":["dist/react/index.d.ts"],"sensor":["dist/sensor/index.d.ts"],"testing":["dist/testing/index.d.ts"],"testing/lint":["dist/testing/lint.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.5","zod":"^4.0.0","react":"^19.2.8","vitest":"^4.0.0","esbuild":"^0.28.1","typedoc":"^0.28.19","typescript":"^5.5.0","@types/node":"^20.0.0","@types/react":"^19.2.17","gpt-tokenizer":"^3.4.0","github-slugger":"^2.0.0","unist-util-visit":"^5.0.0","@anthropic-ai/sdk":">=0.110.0 <1","@vitest/coverage-v8":"^4.0.0","react-test-renderer":"^19.2.8","typedoc-plugin-markdown":"^4.11.0","@modelcontextprotocol/sdk":"^1.29.0","@types/react-test-renderer":"^19.1.0"},"peerDependencies":{"react":"*","@modelcontextprotocol/sdk":">=1.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/hcifootprint_1.10.0_1787187144216_0.9122320811563223","host":"s3://npm-registry-packages-npm-production"}},"1.11.0":{"name":"hcifootprint","version":"1.11.0","keywords":["llm","agent","mcp","journey-graph","affordance","interaction-graph","footprintjs"],"license":"MIT","_id":"hcifootprint@1.11.0","maintainers":[{"name":"sanjay1909","email":"sanjay1909@gmail.com"}],"homepage":"https://footprintjs.github.io/hcifootprint/","bugs":{"url":"https://github.com/footprintjs/hcifootprint/issues"},"dist":{"shasum":"1a7f73e48927a33c24dd601078eaf9d031348792","tarball":"https://registry.npmjs.org/hcifootprint/-/hcifootprint-1.11.0.tgz","fileCount":287,"integrity":"sha512-jRPQ56FzP79fEgOgAAxGQf+dZs/K0vFA/Jv3IVnnTI/0MaeQeAxRnXPxNQXKeoLcuBIaybIs36vUtuwLWv9qfg==","signatures":[{"sig":"MEQCICzxlc9C21GUNRwfYgh+ub/60Ds3Kifj9ER4nejVGO7ZAiA5iJlmXvl3u71wJy69sk3MBtsiiS34zfCziTKHcd5wgA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/hcifootprint@1.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2151175},"main":"./dist/index.js","type":"module","_from":"file:package.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./mcp":{"types":"./dist/mcp.d.ts","default":"./dist/mcp.js"},"./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./sensor":{"types":"./dist/sensor/index.d.ts","default":"./dist/sensor/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./testing/lint":{"types":"./dist/testing/lint.d.ts","default":"./dist/testing/lint.js"}},"scripts":{"test":"vitest run","build":"rm -rf dist && tsc","prepare":"npm run build","docs:api":"node scripts/gen-fumadocs-api.mjs","posttest":"node scripts/check-test-badge.mjs","demo:chat":"tsx examples/dress-shop/chatbot.ts","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","docs:links":"node scripts/check-doc-links.mjs --strict","docs:truth":"node scripts/docs-truth-check.mjs --verbose","test:watch":"vitest","bench:tokens":"node bench/token-cost/token-cost.mjs","test:coverage":"vitest run --coverage","example:wizard":"tsx examples/guarded-wizard/run.ts","docs:truth:check":"node scripts/docs-truth-check.mjs --check","docs:truth:baseline":"node scripts/docs-truth-check.mjs --update-baseline"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:68c003f7-c661-45f7-a6f7-873443785cf4"}},"_resolved":"/home/runner/work/hcifootprint/hcifootprint/package.tgz","_integrity":"sha512-jRPQ56FzP79fEgOgAAxGQf+dZs/K0vFA/Jv3IVnnTI/0MaeQeAxRnXPxNQXKeoLcuBIaybIs36vUtuwLWv9qfg==","repository":{"url":"git+https://github.com/footprintjs/hcifootprint.git","type":"git"},"_npmVersion":"11.19.0","description":"Turn a web app's interaction surface into a typed, traversable journey graph an LLM can plan over — the frontend sibling of footprintjs.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"footprintjs":"^9.10.1"},"typesVersions":{"*":{"mcp":["dist/mcp.d.ts"],"react":["dist/react/index.d.ts"],"sensor":["dist/sensor/index.d.ts"],"testing":["dist/testing/index.d.ts"],"testing/lint":["dist/testing/lint.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.5","zod":"^4.0.0","react":"^19.2.8","vitest":"^4.0.0","esbuild":"^0.28.1","typedoc":"^0.28.19","typescript":"^5.5.0","@types/node":"^20.0.0","@types/react":"^19.2.17","gpt-tokenizer":"^3.4.0","github-slugger":"^2.0.0","unist-util-visit":"^5.0.0","@anthropic-ai/sdk":">=0.110.0 <1","@vitest/coverage-v8":"^4.0.0","react-test-renderer":"^19.2.8","typedoc-plugin-markdown":"^4.11.0","@modelcontextprotocol/sdk":"^1.29.0","@types/react-test-renderer":"^19.1.0"},"peerDependencies":{"react":"*","@modelcontextprotocol/sdk":">=1.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/hcifootprint_1.11.0_1787194594494_0.9164474880729241","host":"s3://npm-registry-packages-npm-production"}},"1.12.0":{"name":"hcifootprint","version":"1.12.0","keywords":["llm","agent","mcp","journey-graph","affordance","interaction-graph","footprintjs"],"license":"MIT","_id":"hcifootprint@1.12.0","maintainers":[{"name":"sanjay1909","email":"sanjay1909@gmail.com"}],"homepage":"https://footprintjs.github.io/hcifootprint/","bugs":{"url":"https://github.com/footprintjs/hcifootprint/issues"},"dist":{"shasum":"c223f5343b96a7ebcfc166aa8251f8535fda1bfb","tarball":"https://registry.npmjs.org/hcifootprint/-/hcifootprint-1.12.0.tgz","fileCount":291,"integrity":"sha512-7jcbaCdMvkOt90/v+3Kj4u1jARG9rLxbp+i9VlF4tg7YVrDuUYksRIka8QnUsmOfrZB9NwC3hbh+5gmVs99v+Q==","signatures":[{"sig":"MEQCIGDspDJdb0yI6JPyfJvOvrPpzBpG98ZJ3mbCL+OpqPeWAiA1Abqt7DdW8QY0KGoAQEli6Ljnx/hQwM5g6bIcxKNSDA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/hcifootprint@1.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2179051},"main":"./dist/index.js","type":"module","_from":"file:package.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./mcp":{"types":"./dist/mcp.d.ts","default":"./dist/mcp.js"},"./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./sensor":{"types":"./dist/sensor/index.d.ts","default":"./dist/sensor/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./testing/lint":{"types":"./dist/testing/lint.d.ts","default":"./dist/testing/lint.js"}},"scripts":{"test":"vitest run","build":"rm -rf dist && tsc","prepare":"npm run build","docs:api":"node scripts/gen-fumadocs-api.mjs","posttest":"node scripts/check-test-badge.mjs","demo:chat":"tsx examples/dress-shop/chatbot.ts","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","docs:links":"node scripts/check-doc-links.mjs --strict","docs:truth":"node scripts/docs-truth-check.mjs --verbose","test:watch":"vitest","bench:tokens":"node bench/token-cost/token-cost.mjs","test:coverage":"vitest run --coverage","example:wizard":"tsx examples/guarded-wizard/run.ts","docs:truth:check":"node scripts/docs-truth-check.mjs --check","docs:truth:baseline":"node scripts/docs-truth-check.mjs --update-baseline","example:already-true":"tsx examples/already-true/run.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:68c003f7-c661-45f7-a6f7-873443785cf4"}},"_resolved":"/home/runner/work/hcifootprint/hcifootprint/package.tgz","_integrity":"sha512-7jcbaCdMvkOt90/v+3Kj4u1jARG9rLxbp+i9VlF4tg7YVrDuUYksRIka8QnUsmOfrZB9NwC3hbh+5gmVs99v+Q==","repository":{"url":"git+https://github.com/footprintjs/hcifootprint.git","type":"git"},"_npmVersion":"11.19.0","description":"Turn a web app's interaction surface into a typed, traversable journey graph an LLM can plan over — the frontend sibling of footprintjs.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"footprintjs":"^9.10.1"},"typesVersions":{"*":{"mcp":["dist/mcp.d.ts"],"react":["dist/react/index.d.ts"],"sensor":["dist/sensor/index.d.ts"],"testing":["dist/testing/index.d.ts"],"testing/lint":["dist/testing/lint.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.5","zod":"^4.0.0","react":"^19.2.8","vitest":"^4.0.0","esbuild":"^0.28.1","typedoc":"^0.28.19","typescript":"^5.5.0","@types/node":"^20.0.0","@types/react":"^19.2.17","gpt-tokenizer":"^3.4.0","github-slugger":"^2.0.0","unist-util-visit":"^5.0.0","@anthropic-ai/sdk":">=0.110.0 <1","@vitest/coverage-v8":"^4.0.0","react-test-renderer":"^19.2.8","typedoc-plugin-markdown":"^4.11.0","@modelcontextprotocol/sdk":"^1.29.0","@types/react-test-renderer":"^19.1.0"},"peerDependencies":{"react":"*","@modelcontextprotocol/sdk":">=1.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/hcifootprint_1.12.0_1787201562868_0.6180343707065983","host":"s3://npm-registry-packages-npm-production"}},"1.13.0":{"name":"hcifootprint","version":"1.13.0","keywords":["llm","agent","mcp","journey-graph","affordance","interaction-graph","footprintjs"],"license":"MIT","_id":"hcifootprint@1.13.0","maintainers":[{"name":"sanjay1909","email":"sanjay1909@gmail.com"}],"homepage":"https://footprintjs.github.io/hcifootprint/","bugs":{"url":"https://github.com/footprintjs/hcifootprint/issues"},"dist":{"shasum":"eca8c2c2b3a277f661eb9ee8445a70394a3784b1","tarball":"https://registry.npmjs.org/hcifootprint/-/hcifootprint-1.13.0.tgz","fileCount":295,"integrity":"sha512-uM7XuPDkwf7bxWDd9CZ2CsRolBJVwtfPDeIvHNY29dGhxDoTnjEnLjPO5L/x1w5pLzq2xceN5+6O6QXZo0R+sg==","signatures":[{"sig":"MEYCIQDUu54Zt/5gjrqyNRrRWRkPH235vJw8lSEJWhcEG75BLQIhAJCYyOuz515q6RJM7K5gBQ+XTEVc6z942DyzQG+zrA0M","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/hcifootprint@1.13.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2223331},"main":"./dist/index.js","type":"module","_from":"file:package.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./mcp":{"types":"./dist/mcp.d.ts","default":"./dist/mcp.js"},"./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./sensor":{"types":"./dist/sensor/index.d.ts","default":"./dist/sensor/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./testing/lint":{"types":"./dist/testing/lint.d.ts","default":"./dist/testing/lint.js"}},"scripts":{"test":"vitest run","build":"rm -rf dist && tsc","prepare":"npm run build","docs:api":"node scripts/gen-fumadocs-api.mjs","posttest":"node scripts/check-test-badge.mjs","demo:chat":"tsx examples/dress-shop/chatbot.ts","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","docs:links":"node scripts/check-doc-links.mjs --strict","docs:truth":"node scripts/docs-truth-check.mjs --verbose","test:watch":"vitest","bench:tokens":"node bench/token-cost/token-cost.mjs","test:coverage":"vitest run --coverage","example:wizard":"tsx examples/guarded-wizard/run.ts","docs:truth:check":"node scripts/docs-truth-check.mjs --check","docs:truth:baseline":"node scripts/docs-truth-check.mjs --update-baseline","example:already-true":"tsx examples/already-true/run.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:68c003f7-c661-45f7-a6f7-873443785cf4"}},"_resolved":"/home/runner/work/hcifootprint/hcifootprint/package.tgz","_integrity":"sha512-uM7XuPDkwf7bxWDd9CZ2CsRolBJVwtfPDeIvHNY29dGhxDoTnjEnLjPO5L/x1w5pLzq2xceN5+6O6QXZo0R+sg==","repository":{"url":"git+https://github.com/footprintjs/hcifootprint.git","type":"git"},"_npmVersion":"11.19.0","description":"Turn a web app's interaction surface into a typed, traversable journey graph an LLM can plan over — the frontend sibling of footprintjs.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"footprintjs":"^9.10.1"},"typesVersions":{"*":{"mcp":["dist/mcp.d.ts"],"react":["dist/react/index.d.ts"],"sensor":["dist/sensor/index.d.ts"],"testing":["dist/testing/index.d.ts"],"testing/lint":["dist/testing/lint.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.5","zod":"^4.0.0","react":"^19.2.8","vitest":"^4.0.0","esbuild":"^0.28.1","typedoc":"^0.28.19","typescript":"^5.5.0","@types/node":"^20.0.0","@types/react":"^19.2.17","gpt-tokenizer":"^3.4.0","github-slugger":"^2.0.0","unist-util-visit":"^5.0.0","@anthropic-ai/sdk":">=0.110.0 <1","@vitest/coverage-v8":"^4.0.0","react-test-renderer":"^19.2.8","typedoc-plugin-markdown":"^4.11.0","@modelcontextprotocol/sdk":"^1.29.0","@types/react-test-renderer":"^19.1.0"},"peerDependencies":{"react":"*","@modelcontextprotocol/sdk":">=1.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/hcifootprint_1.13.0_1787262783724_0.37192080936442484","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"hcifootprint","version":"2.0.0","keywords":["llm","agent","mcp","journey-graph","affordance","interaction-graph","footprintjs"],"license":"MIT","_id":"hcifootprint@2.0.0","maintainers":[{"name":"sanjay1909","email":"sanjay1909@gmail.com"}],"homepage":"https://footprintjs.github.io/hcifootprint/","bugs":{"url":"https://github.com/footprintjs/hcifootprint/issues"},"dist":{"shasum":"6f5539b35a71cca818059b7476dbfd3e45389e9f","tarball":"https://registry.npmjs.org/hcifootprint/-/hcifootprint-2.0.0.tgz","fileCount":323,"integrity":"sha512-WanQ0Eb/rZvVF3gWtNF4JIlw/5zNZ8Eh7NMUwwk6q9SRan0kReulSOyovCjbsYgpBshHXe648tR4xzXCHpO5Vg==","signatures":[{"sig":"MEUCIQDQnjhMcowpFIrHDotOCzwH7G/16TE3caRAn3EGcUwcQgIgTBLrA19vIXX+nelGeFMuBLkEREDc5tal81ns5xD3+LI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/hcifootprint@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2618645},"main":"./dist/index.js","type":"module","_from":"file:package.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./mcp":{"types":"./dist/mcp.d.ts","default":"./dist/mcp.js"},"./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./sensor":{"types":"./dist/sensor/index.d.ts","default":"./dist/sensor/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./testing/lint":{"types":"./dist/testing/lint.d.ts","default":"./dist/testing/lint.js"}},"scripts":{"test":"vitest run","build":"rm -rf dist && tsc","prepare":"npm run build","docs:api":"node scripts/gen-fumadocs-api.mjs","posttest":"node scripts/check-test-badge.mjs","demo:chat":"tsx examples/dress-shop/chatbot.ts","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","docs:links":"node scripts/check-doc-links.mjs --strict","docs:truth":"node scripts/docs-truth-check.mjs --verbose","test:watch":"vitest","bench:tokens":"node bench/token-cost/token-cost.mjs","test:coverage":"vitest run --coverage","example:wizard":"tsx examples/guarded-wizard/run.ts","docs:truth:check":"node scripts/docs-truth-check.mjs --check","docs:truth:baseline":"node scripts/docs-truth-check.mjs --update-baseline","example:already-true":"tsx examples/already-true/run.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:68c003f7-c661-45f7-a6f7-873443785cf4"}},"_resolved":"/home/runner/work/hcifootprint/hcifootprint/package.tgz","_integrity":"sha512-WanQ0Eb/rZvVF3gWtNF4JIlw/5zNZ8Eh7NMUwwk6q9SRan0kReulSOyovCjbsYgpBshHXe648tR4xzXCHpO5Vg==","repository":{"url":"git+https://github.com/footprintjs/hcifootprint.git","type":"git"},"_npmVersion":"11.19.0","description":"Turn a web app's interaction surface into a typed, traversable journey graph an LLM can plan over — the frontend sibling of footprintjs.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"footprintjs":"^9.10.1"},"typesVersions":{"*":{"mcp":["dist/mcp.d.ts"],"react":["dist/react/index.d.ts"],"sensor":["dist/sensor/index.d.ts"],"testing":["dist/testing/index.d.ts"],"testing/lint":["dist/testing/lint.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.5","zod":"^4.0.0","react":"^19.2.8","vitest":"^4.0.0","esbuild":"^0.28.1","typedoc":"^0.28.19","typescript":"^5.5.0","@types/node":"^20.0.0","@types/react":"^19.2.17","gpt-tokenizer":"^3.4.0","github-slugger":"^2.0.0","unist-util-visit":"^5.0.0","@anthropic-ai/sdk":">=0.110.0 <1","@vitest/coverage-v8":"^4.0.0","react-test-renderer":"^19.2.8","typedoc-plugin-markdown":"^4.11.0","@modelcontextprotocol/sdk":"^1.29.0","@types/react-test-renderer":"^19.1.0"},"peerDependencies":{"react":"*","@modelcontextprotocol/sdk":">=1.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/hcifootprint_2.0.0_1787701782704_0.38665507462643034","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"hcifootprint","version":"2.1.0","keywords":["llm","agent","mcp","journey-graph","affordance","interaction-graph","footprintjs"],"license":"MIT","_id":"hcifootprint@2.1.0","maintainers":[{"name":"sanjay1909","email":"sanjay1909@gmail.com"}],"homepage":"https://footprintjs.github.io/hcifootprint/","bugs":{"url":"https://github.com/footprintjs/hcifootprint/issues"},"dist":{"shasum":"1d61ecfad3e8f5ccb5ae6d9d69b45c0e8e4de66c","tarball":"https://registry.npmjs.org/hcifootprint/-/hcifootprint-2.1.0.tgz","fileCount":327,"integrity":"sha512-O8uuSx7f0slMqHZmQWohTAF5ZZoV5NJvoiDjH8+LS3mG5Mk+5HgNTjWbbjnBzG3DkrVNf0LV6ZwbMhEh4UxzRg==","signatures":[{"sig":"MEQCIHQ/6B6nOyyGgwio6U2lDXUruRegZOTsriF6EAZmTmkxAiBP1LKDCSoyBnnHZ/yM3eZKAvppzA4BVuJwo8dX0aTJdA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/hcifootprint@2.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2641724},"main":"./dist/index.js","type":"module","_from":"file:package.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./mcp":{"types":"./dist/mcp.d.ts","default":"./dist/mcp.js"},"./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./sensor":{"types":"./dist/sensor/index.d.ts","default":"./dist/sensor/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./testing/lint":{"types":"./dist/testing/lint.d.ts","default":"./dist/testing/lint.js"}},"scripts":{"test":"vitest run","build":"rm -rf dist && tsc","prepare":"npm run build","docs:api":"node scripts/gen-fumadocs-api.mjs","posttest":"node scripts/check-test-badge.mjs","demo:chat":"tsx examples/dress-shop/chatbot.ts","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","docs:links":"node scripts/check-doc-links.mjs --strict","docs:truth":"node scripts/docs-truth-check.mjs --verbose","test:watch":"vitest","bench:tokens":"node bench/token-cost/token-cost.mjs","test:coverage":"vitest run --coverage","example:wizard":"tsx examples/guarded-wizard/run.ts","docs:truth:check":"node scripts/docs-truth-check.mjs --check","docs:truth:baseline":"node scripts/docs-truth-check.mjs --update-baseline","example:already-true":"tsx examples/already-true/run.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:68c003f7-c661-45f7-a6f7-873443785cf4"}},"_resolved":"/home/runner/work/hcifootprint/hcifootprint/package.tgz","_integrity":"sha512-O8uuSx7f0slMqHZmQWohTAF5ZZoV5NJvoiDjH8+LS3mG5Mk+5HgNTjWbbjnBzG3DkrVNf0LV6ZwbMhEh4UxzRg==","repository":{"url":"git+https://github.com/footprintjs/hcifootprint.git","type":"git"},"_npmVersion":"11.19.0","description":"Turn a web app's interaction surface into a typed, traversable journey graph an LLM can plan over — the frontend sibling of footprintjs.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"footprintjs":"^9.10.1"},"typesVersions":{"*":{"mcp":["dist/mcp.d.ts"],"react":["dist/react/index.d.ts"],"sensor":["dist/sensor/index.d.ts"],"testing":["dist/testing/index.d.ts"],"testing/lint":["dist/testing/lint.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.5","zod":"^4.0.0","react":"^19.2.8","vitest":"^4.0.0","esbuild":"^0.28.1","typedoc":"^0.28.19","typescript":"^5.5.0","@types/node":"^20.0.0","@types/react":"^19.2.17","gpt-tokenizer":"^3.4.0","github-slugger":"^2.0.0","unist-util-visit":"^5.0.0","@anthropic-ai/sdk":">=0.110.0 <1","@vitest/coverage-v8":"^4.0.0","react-test-renderer":"^19.2.8","typedoc-plugin-markdown":"^4.11.0","@modelcontextprotocol/sdk":"^1.29.0","@types/react-test-renderer":"^19.1.0"},"peerDependencies":{"react":"*","@modelcontextprotocol/sdk":">=1.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/hcifootprint_2.1.0_1787702842286_0.8714175765316128","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"hcifootprint","version":"2.2.0","keywords":["llm","agent","mcp","journey-graph","affordance","interaction-graph","footprintjs"],"license":"MIT","_id":"hcifootprint@2.2.0","maintainers":[{"name":"sanjay1909","email":"sanjay1909@gmail.com"}],"homepage":"https://footprintjs.github.io/hcifootprint/","bugs":{"url":"https://github.com/footprintjs/hcifootprint/issues"},"dist":{"shasum":"9605f449504a8bcd23b2118785ec2f0b12317bfd","tarball":"https://registry.npmjs.org/hcifootprint/-/hcifootprint-2.2.0.tgz","fileCount":331,"integrity":"sha512-RXKQ07V74wBLnSvxrEfMmsuajPC8lR9eJV2vP1FTTqV+39ULNij43Olgvz6V58/47ynSl8kMKj4KyY7kxHxX4w==","signatures":[{"sig":"MEUCIQDApS+HHw49yAUHBXuAjddWW8ZzFPxnDuiS3TWrOZxdjAIgXNMvObbIIuNnyDmFKF6eETRxwrkrJen7wkDTq1XOKC0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/hcifootprint@2.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2662351},"main":"./dist/index.js","type":"module","_from":"file:package.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./mcp":{"types":"./dist/mcp.d.ts","default":"./dist/mcp.js"},"./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./sensor":{"types":"./dist/sensor/index.d.ts","default":"./dist/sensor/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./testing/lint":{"types":"./dist/testing/lint.d.ts","default":"./dist/testing/lint.js"}},"scripts":{"test":"vitest run","build":"rm -rf dist && tsc","prepare":"npm run build","docs:api":"node scripts/gen-fumadocs-api.mjs","posttest":"node scripts/check-test-badge.mjs","demo:chat":"tsx examples/dress-shop/chatbot.ts","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","docs:links":"node scripts/check-doc-links.mjs --strict","docs:truth":"node scripts/docs-truth-check.mjs --verbose","test:watch":"vitest","bench:tokens":"node bench/token-cost/token-cost.mjs","test:coverage":"vitest run --coverage","example:wizard":"tsx examples/guarded-wizard/run.ts","docs:truth:check":"node scripts/docs-truth-check.mjs --check","docs:truth:baseline":"node scripts/docs-truth-check.mjs --update-baseline","example:already-true":"tsx examples/already-true/run.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:68c003f7-c661-45f7-a6f7-873443785cf4"}},"_resolved":"/home/runner/work/hcifootprint/hcifootprint/package.tgz","_integrity":"sha512-RXKQ07V74wBLnSvxrEfMmsuajPC8lR9eJV2vP1FTTqV+39ULNij43Olgvz6V58/47ynSl8kMKj4KyY7kxHxX4w==","repository":{"url":"git+https://github.com/footprintjs/hcifootprint.git","type":"git"},"_npmVersion":"11.19.0","description":"Turn a web app's interaction surface into a typed, traversable journey graph an LLM can plan over — the frontend sibling of footprintjs.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"footprintjs":"^9.10.1"},"typesVersions":{"*":{"mcp":["dist/mcp.d.ts"],"react":["dist/react/index.d.ts"],"sensor":["dist/sensor/index.d.ts"],"testing":["dist/testing/index.d.ts"],"testing/lint":["dist/testing/lint.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.5","zod":"^4.0.0","react":"^19.2.8","vitest":"^4.0.0","esbuild":"^0.28.1","typedoc":"^0.28.19","typescript":"^5.5.0","@types/node":"^20.0.0","@types/react":"^19.2.17","gpt-tokenizer":"^3.4.0","github-slugger":"^2.0.0","unist-util-visit":"^5.0.0","@anthropic-ai/sdk":">=0.110.0 <1","@vitest/coverage-v8":"^4.0.0","react-test-renderer":"^19.2.8","typedoc-plugin-markdown":"^4.11.0","@modelcontextprotocol/sdk":"^1.29.0","@types/react-test-renderer":"^19.1.0"},"peerDependencies":{"react":"*","@modelcontextprotocol/sdk":">=1.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/hcifootprint_2.2.0_1787734960418_0.16978901672303648","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"hcifootprint","version":"2.3.0","keywords":["llm","agent","mcp","journey-graph","affordance","interaction-graph","footprintjs"],"license":"MIT","_id":"hcifootprint@2.3.0","maintainers":[{"name":"sanjay1909","email":"sanjay1909@gmail.com"}],"homepage":"https://footprintjs.github.io/hcifootprint/","bugs":{"url":"https://github.com/footprintjs/hcifootprint/issues"},"dist":{"shasum":"3cfc8107c217eac96963723dba69f5a12a43be31","tarball":"https://registry.npmjs.org/hcifootprint/-/hcifootprint-2.3.0.tgz","fileCount":335,"integrity":"sha512-Ce8QyTEHFeXMXwy16hvXfA7ZZlHdkx+q8WJGDFI0btZcGjbU6tDg5XTHCeWU2P1vQMg7YJawfGuBmHRWBtuxlw==","signatures":[{"sig":"MEUCIQCiooEWJeLxAGVGkr9bsL+c1h7WvoVGeMAbxxKwsXrZYgIgHwyC6Kaixr529bpb1i32FLwe84iLLV9wo53y4DDtxZ8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/hcifootprint@2.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2674784},"main":"./dist/index.js","type":"module","_from":"file:package.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./mcp":{"types":"./dist/mcp.d.ts","default":"./dist/mcp.js"},"./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./sensor":{"types":"./dist/sensor/index.d.ts","default":"./dist/sensor/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./testing/lint":{"types":"./dist/testing/lint.d.ts","default":"./dist/testing/lint.js"}},"scripts":{"test":"vitest run","build":"rm -rf dist && tsc","prepare":"npm run build","docs:api":"node scripts/gen-fumadocs-api.mjs","posttest":"node scripts/check-test-badge.mjs","demo:chat":"tsx examples/dress-shop/chatbot.ts","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","docs:links":"node scripts/check-doc-links.mjs --strict","docs:truth":"node scripts/docs-truth-check.mjs --verbose","test:watch":"vitest","bench:tokens":"node bench/token-cost/token-cost.mjs","test:coverage":"vitest run --coverage","example:wizard":"tsx examples/guarded-wizard/run.ts","docs:truth:check":"node scripts/docs-truth-check.mjs --check","docs:truth:baseline":"node scripts/docs-truth-check.mjs --update-baseline","example:already-true":"tsx examples/already-true/run.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:68c003f7-c661-45f7-a6f7-873443785cf4"}},"_resolved":"/home/runner/work/hcifootprint/hcifootprint/package.tgz","_integrity":"sha512-Ce8QyTEHFeXMXwy16hvXfA7ZZlHdkx+q8WJGDFI0btZcGjbU6tDg5XTHCeWU2P1vQMg7YJawfGuBmHRWBtuxlw==","repository":{"url":"git+https://github.com/footprintjs/hcifootprint.git","type":"git"},"_npmVersion":"11.19.0","description":"Turn a web app's interaction surface into a typed, traversable journey graph an LLM can plan over — the frontend sibling of footprintjs.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"footprintjs":"^9.10.1"},"typesVersions":{"*":{"mcp":["dist/mcp.d.ts"],"react":["dist/react/index.d.ts"],"sensor":["dist/sensor/index.d.ts"],"testing":["dist/testing/index.d.ts"],"testing/lint":["dist/testing/lint.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.5","zod":"^4.0.0","react":"^19.2.8","vitest":"^4.0.0","esbuild":"^0.28.1","typedoc":"^0.28.19","typescript":"^5.5.0","@types/node":"^20.0.0","@types/react":"^19.2.17","gpt-tokenizer":"^3.4.0","github-slugger":"^2.0.0","unist-util-visit":"^5.0.0","@anthropic-ai/sdk":">=0.110.0 <1","@vitest/coverage-v8":"^4.0.0","react-test-renderer":"^19.2.8","typedoc-plugin-markdown":"^4.11.0","@modelcontextprotocol/sdk":"^1.29.0","@types/react-test-renderer":"^19.1.0"},"peerDependencies":{"react":"*","@modelcontextprotocol/sdk":">=1.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/hcifootprint_2.3.0_1787735528456_0.5770101737715259","host":"s3://npm-registry-packages-npm-production"}},"2.3.1":{"name":"hcifootprint","version":"2.3.1","keywords":["llm","agent","mcp","journey-graph","affordance","interaction-graph","footprintjs"],"license":"MIT","_id":"hcifootprint@2.3.1","maintainers":[{"name":"sanjay1909","email":"sanjay1909@gmail.com"}],"homepage":"https://footprintjs.github.io/hcifootprint/","bugs":{"url":"https://github.com/footprintjs/hcifootprint/issues"},"dist":{"shasum":"9cf733d48b56d72e13f5613fe091e6d09797ce2f","tarball":"https://registry.npmjs.org/hcifootprint/-/hcifootprint-2.3.1.tgz","fileCount":335,"integrity":"sha512-LOnb0ETiBOXZNGa4ZduNxU8YCze0NAOHpt47XnnDTeVISg5ji462vu9K26tq/KgkG5Y9m/yAn5apAFkrFIX4Nw==","signatures":[{"sig":"MEUCIDUnFJZbh6iOWcmook+paIsLxa5IjTRDzHSH33+GOFAPAiEAn0LdYBL9eEYGy1pOEMbxlVvXDRDH+JjEVEpluao6zFY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/hcifootprint@2.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2674784},"main":"./dist/index.js","type":"module","_from":"file:package.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./mcp":{"types":"./dist/mcp.d.ts","default":"./dist/mcp.js"},"./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./sensor":{"types":"./dist/sensor/index.d.ts","default":"./dist/sensor/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./testing/lint":{"types":"./dist/testing/lint.d.ts","default":"./dist/testing/lint.js"}},"scripts":{"test":"vitest run","build":"rm -rf dist && tsc","prepare":"npm run build","docs:api":"node scripts/gen-fumadocs-api.mjs","posttest":"node scripts/check-test-badge.mjs","demo:chat":"tsx examples/dress-shop/chatbot.ts","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","docs:links":"node scripts/check-doc-links.mjs --strict","docs:truth":"node scripts/docs-truth-check.mjs --verbose","test:watch":"vitest","bench:tokens":"node bench/token-cost/token-cost.mjs","test:coverage":"vitest run --coverage","example:wizard":"tsx examples/guarded-wizard/run.ts","docs:truth:check":"node scripts/docs-truth-check.mjs --check","docs:truth:baseline":"node scripts/docs-truth-check.mjs --update-baseline","example:already-true":"tsx examples/already-true/run.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:68c003f7-c661-45f7-a6f7-873443785cf4"}},"_resolved":"/home/runner/work/hcifootprint/hcifootprint/package.tgz","_integrity":"sha512-LOnb0ETiBOXZNGa4ZduNxU8YCze0NAOHpt47XnnDTeVISg5ji462vu9K26tq/KgkG5Y9m/yAn5apAFkrFIX4Nw==","repository":{"url":"git+https://github.com/footprintjs/hcifootprint.git","type":"git"},"_npmVersion":"11.19.0","description":"Turn a web app's interaction surface into a typed, traversable journey graph an LLM can plan over — the frontend sibling of footprintjs.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"footprintjs":"^9.10.1"},"typesVersions":{"*":{"mcp":["dist/mcp.d.ts"],"react":["dist/react/index.d.ts"],"sensor":["dist/sensor/index.d.ts"],"testing":["dist/testing/index.d.ts"],"testing/lint":["dist/testing/lint.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.5","zod":"^4.0.0","react":"^19.2.8","vitest":"^4.0.0","esbuild":"^0.28.1","typedoc":"^0.28.19","typescript":"^5.5.0","@types/node":"^20.0.0","@types/react":"^19.2.17","gpt-tokenizer":"^3.4.0","github-slugger":"^2.0.0","unist-util-visit":"^5.0.0","@anthropic-ai/sdk":">=0.110.0 <1","@vitest/coverage-v8":"^4.0.0","react-test-renderer":"^19.2.8","typedoc-plugin-markdown":"^4.11.0","@modelcontextprotocol/sdk":"^1.29.0","@types/react-test-renderer":"^19.1.0"},"peerDependencies":{"react":"*","@modelcontextprotocol/sdk":">=1.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/hcifootprint_2.3.1_1787735928041_0.9156646945062965","host":"s3://npm-registry-packages-npm-production"}},"2.4.0":{"name":"hcifootprint","version":"2.4.0","keywords":["llm","agent","mcp","journey-graph","affordance","interaction-graph","footprintjs"],"license":"MIT","_id":"hcifootprint@2.4.0","maintainers":[{"name":"sanjay1909","email":"sanjay1909@gmail.com"}],"homepage":"https://footprintjs.github.io/hcifootprint/","bugs":{"url":"https://github.com/footprintjs/hcifootprint/issues"},"dist":{"shasum":"f6288a77f580f6daa59a334658f2d293efd9874e","tarball":"https://registry.npmjs.org/hcifootprint/-/hcifootprint-2.4.0.tgz","fileCount":371,"integrity":"sha512-B3Qk7VCPYra1BnNRQDLJm3OJR7vlpWNmIKvZpfBbGs5+miueOicP4rsNVszUsdY88GtKJKlHQN4ygqNNyDAPHQ==","signatures":[{"sig":"MEYCIQCuxqVOV3AFzEKuegpzBABz04XAeRmSxyqFhOx7whZs+AIhAMvwozvwX5iqBMTsS9IBF52g59XjdKKsryhkNyLhnXNT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/hcifootprint@2.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2701332},"main":"./dist/index.js","type":"module","_from":"file:package.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./mcp":{"types":"./dist/mcp.d.ts","default":"./dist/mcp.js"},"./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./sensor":{"types":"./dist/sensor/index.d.ts","default":"./dist/sensor/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./testing/lint":{"types":"./dist/testing/lint.d.ts","default":"./dist/testing/lint.js"}},"scripts":{"test":"vitest run","build":"rm -rf dist && tsc","prepare":"npm run build","docs:api":"node scripts/gen-fumadocs-api.mjs","posttest":"node scripts/check-test-badge.mjs","demo:chat":"tsx examples/dress-shop/chatbot.ts","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","docs:links":"node scripts/check-doc-links.mjs --strict","docs:truth":"node scripts/docs-truth-check.mjs --verbose","test:watch":"vitest","bench:tokens":"node bench/token-cost/token-cost.mjs","test:coverage":"vitest run --coverage","example:wizard":"tsx examples/guarded-wizard/run.ts","docs:truth:check":"node scripts/docs-truth-check.mjs --check","docs:truth:baseline":"node scripts/docs-truth-check.mjs --update-baseline","example:already-true":"tsx examples/already-true/run.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:68c003f7-c661-45f7-a6f7-873443785cf4"}},"_resolved":"/home/runner/work/hcifootprint/hcifootprint/package.tgz","_integrity":"sha512-B3Qk7VCPYra1BnNRQDLJm3OJR7vlpWNmIKvZpfBbGs5+miueOicP4rsNVszUsdY88GtKJKlHQN4ygqNNyDAPHQ==","repository":{"url":"git+https://github.com/footprintjs/hcifootprint.git","type":"git"},"_npmVersion":"11.19.0","description":"Turn a web app's interaction surface into a typed, traversable journey graph an LLM can plan over — the frontend sibling of footprintjs.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"footprintjs":"^9.10.1"},"typesVersions":{"*":{"mcp":["dist/mcp.d.ts"],"react":["dist/react/index.d.ts"],"sensor":["dist/sensor/index.d.ts"],"testing":["dist/testing/index.d.ts"],"testing/lint":["dist/testing/lint.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.5","zod":"^4.0.0","react":"^19.2.8","vitest":"^4.0.0","esbuild":"^0.28.1","typedoc":"^0.28.19","typescript":"^5.5.0","@types/node":"^20.0.0","@types/react":"^19.2.17","gpt-tokenizer":"^3.4.0","github-slugger":"^2.0.0","unist-util-visit":"^5.0.0","@anthropic-ai/sdk":">=0.110.0 <1","@vitest/coverage-v8":"^4.0.0","react-test-renderer":"^19.2.8","typedoc-plugin-markdown":"^4.11.0","@modelcontextprotocol/sdk":"^1.29.0","@types/react-test-renderer":"^19.1.0"},"peerDependencies":{"react":"*","@modelcontextprotocol/sdk":">=1.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/hcifootprint_2.4.0_1787737941167_0.9958405683194091","host":"s3://npm-registry-packages-npm-production"}},"2.4.1":{"name":"hcifootprint","version":"2.4.1","keywords":["llm","agent","mcp","journey-graph","affordance","interaction-graph","footprintjs"],"license":"MIT","_id":"hcifootprint@2.4.1","maintainers":[{"name":"sanjay1909","email":"sanjay1909@gmail.com"}],"homepage":"https://footprintjs.github.io/hcifootprint/","bugs":{"url":"https://github.com/footprintjs/hcifootprint/issues"},"dist":{"shasum":"dba3348ba33b398d8cd0749820e438231f5efc3b","tarball":"https://registry.npmjs.org/hcifootprint/-/hcifootprint-2.4.1.tgz","fileCount":387,"integrity":"sha512-q/DNPRb4I/1d4Jz/++9dquj3y1gT6GiqRJA09KI+sHAZLO0VXuIsU0XKIytpv8pk/5V/phqUyby6VNFfiZVd1g==","signatures":[{"sig":"MEYCIQD2mTvo1NJG3+ixfoAj6DU5ARyrQeWVZSzxsEfByiLHrwIhAPOAHsEdycuLYf4kByoYexxILdxncttv3HYgRTwa3DCt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/hcifootprint@2.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2717512},"main":"./dist/index.js","type":"module","_from":"file:package.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./mcp":{"types":"./dist/mcp.d.ts","default":"./dist/mcp.js"},"./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./sensor":{"types":"./dist/sensor/index.d.ts","default":"./dist/sensor/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./testing/lint":{"types":"./dist/testing/lint.d.ts","default":"./dist/testing/lint.js"}},"scripts":{"test":"vitest run","build":"rm -rf dist && tsc","prepare":"npm run build","docs:api":"node scripts/gen-fumadocs-api.mjs","posttest":"node scripts/check-test-badge.mjs","demo:chat":"tsx examples/dress-shop/chatbot.ts","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","docs:links":"node scripts/check-doc-links.mjs --strict","docs:truth":"node scripts/docs-truth-check.mjs --verbose","test:watch":"vitest","bench:tokens":"node bench/token-cost/token-cost.mjs","test:coverage":"vitest run --coverage","example:wizard":"tsx examples/guarded-wizard/run.ts","docs:truth:check":"node scripts/docs-truth-check.mjs --check","docs:truth:baseline":"node scripts/docs-truth-check.mjs --update-baseline","example:already-true":"tsx examples/already-true/run.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:68c003f7-c661-45f7-a6f7-873443785cf4"}},"_resolved":"/home/runner/work/hcifootprint/hcifootprint/package.tgz","_integrity":"sha512-q/DNPRb4I/1d4Jz/++9dquj3y1gT6GiqRJA09KI+sHAZLO0VXuIsU0XKIytpv8pk/5V/phqUyby6VNFfiZVd1g==","repository":{"url":"git+https://github.com/footprintjs/hcifootprint.git","type":"git"},"_npmVersion":"11.19.0","description":"Turn a web app's interaction surface into a typed, traversable journey graph an LLM can plan over — the frontend sibling of footprintjs.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"footprintjs":"^9.10.1"},"typesVersions":{"*":{"mcp":["dist/mcp.d.ts"],"react":["dist/react/index.d.ts"],"sensor":["dist/sensor/index.d.ts"],"testing":["dist/testing/index.d.ts"],"testing/lint":["dist/testing/lint.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.5","zod":"^4.0.0","react":"^19.2.8","vitest":"^4.0.0","esbuild":"^0.28.1","typedoc":"^0.28.19","typescript":"^5.5.0","@types/node":"^20.0.0","@types/react":"^19.2.17","gpt-tokenizer":"^3.4.0","github-slugger":"^2.0.0","unist-util-visit":"^5.0.0","@anthropic-ai/sdk":">=0.110.0 <1","@vitest/coverage-v8":"^4.0.0","react-test-renderer":"^19.2.8","typedoc-plugin-markdown":"^4.11.0","@modelcontextprotocol/sdk":"^1.29.0","@types/react-test-renderer":"^19.1.0"},"peerDependencies":{"react":"*","@modelcontextprotocol/sdk":">=1.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/hcifootprint_2.4.1_1787738644697_0.48767573348674165","host":"s3://npm-registry-packages-npm-production"}},"2.5.0":{"name":"hcifootprint","version":"2.5.0","keywords":["llm","agent","mcp","journey-graph","affordance","interaction-graph","footprintjs"],"license":"MIT","_id":"hcifootprint@2.5.0","maintainers":[{"name":"sanjay1909","email":"sanjay1909@gmail.com"}],"homepage":"https://footprintjs.github.io/hcifootprint/","bugs":{"url":"https://github.com/footprintjs/hcifootprint/issues"},"dist":{"shasum":"134b81c7d7141a7d09ca89e180f2ab6882057860","tarball":"https://registry.npmjs.org/hcifootprint/-/hcifootprint-2.5.0.tgz","fileCount":395,"integrity":"sha512-JGZm39dJbE9hR9Bxzplcs2ms1q9wAzARc/M6LNHi2j2NKtq25BBGCncAquji3WH0V++oQ1dRcBUT0ksebmZMOQ==","signatures":[{"sig":"MEYCIQD4GgBo/eHjmp+aGE+8UhGJ0Ao47ut1u7ecqarMgrGHIwIhAOEFgeo2GAFFWrBUXyyad0XKtknAqLFOi+KncCCrLfil","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/hcifootprint@2.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2751132},"main":"./dist/index.js","type":"module","_from":"file:package.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./mcp":{"types":"./dist/mcp.d.ts","default":"./dist/mcp.js"},"./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./sensor":{"types":"./dist/sensor/index.d.ts","default":"./dist/sensor/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./testing/lint":{"types":"./dist/testing/lint.d.ts","default":"./dist/testing/lint.js"}},"scripts":{"test":"vitest run","build":"rm -rf dist && tsc","prepare":"npm run build","docs:api":"node scripts/gen-fumadocs-api.mjs","posttest":"node scripts/check-test-badge.mjs","demo:chat":"tsx examples/dress-shop/chatbot.ts","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","docs:links":"node scripts/check-doc-links.mjs --strict","docs:truth":"node scripts/docs-truth-check.mjs --verbose","test:watch":"vitest","bench:tokens":"node bench/token-cost/token-cost.mjs","test:coverage":"vitest run --coverage","example:wizard":"tsx examples/guarded-wizard/run.ts","docs:truth:check":"node scripts/docs-truth-check.mjs --check","docs:truth:baseline":"node scripts/docs-truth-check.mjs --update-baseline","example:already-true":"tsx examples/already-true/run.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:68c003f7-c661-45f7-a6f7-873443785cf4"}},"_resolved":"/home/runner/work/hcifootprint/hcifootprint/package.tgz","_integrity":"sha512-JGZm39dJbE9hR9Bxzplcs2ms1q9wAzARc/M6LNHi2j2NKtq25BBGCncAquji3WH0V++oQ1dRcBUT0ksebmZMOQ==","repository":{"url":"git+https://github.com/footprintjs/hcifootprint.git","type":"git"},"_npmVersion":"11.19.0","description":"Turn a web app's interaction surface into a typed, traversable journey graph an LLM can plan over — the frontend sibling of footprintjs.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"footprintjs":"^9.10.1"},"typesVersions":{"*":{"mcp":["dist/mcp.d.ts"],"react":["dist/react/index.d.ts"],"sensor":["dist/sensor/index.d.ts"],"testing":["dist/testing/index.d.ts"],"testing/lint":["dist/testing/lint.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.5","zod":"^4.0.0","react":"^19.2.8","vitest":"^4.0.0","esbuild":"^0.28.1","typedoc":"^0.28.19","typescript":"^5.5.0","@types/node":"^20.0.0","@types/react":"^19.2.17","gpt-tokenizer":"^3.4.0","github-slugger":"^2.0.0","unist-util-visit":"^5.0.0","@anthropic-ai/sdk":">=0.110.0 <1","@vitest/coverage-v8":"^4.0.0","react-test-renderer":"^19.2.8","typedoc-plugin-markdown":"^4.11.0","@modelcontextprotocol/sdk":"^1.29.0","@types/react-test-renderer":"^19.1.0"},"peerDependencies":{"react":"*","@modelcontextprotocol/sdk":">=1.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/hcifootprint_2.5.0_1787739959189_0.5628621051705966","host":"s3://npm-registry-packages-npm-production"}},"2.6.0":{"_id":"hcifootprint@2.6.0","bugs":{"url":"https://github.com/footprintjs/hcifootprint/issues"},"dist":{"shasum":"3ad7e878fbb5761652c08fbd68565c0beea29891","tarball":"https://registry.npmjs.org/hcifootprint/-/hcifootprint-2.6.0.tgz","fileCount":403,"integrity":"sha512-4vtojIeUBQyV4zIdypACJbTNRA31HpN4Mk4D/ZXpXL6EV7OzLhB1eLWcmPf/vqs+U8sgw0K/ZJEp1yn73HkjrQ==","signatures":[{"sig":"MEQCIH6akOoMlcrvqEThdtgm3pI1INtgzvdYDG099hNIFpo0AiBTXFxT9tANLNXn3eh8wJMJhcPrJjw/c7+QGFvx132Psg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIBzsTjrNgIq0SMhrbcPdLlgQlUXv1F3tMiigfP03St5eAiAizYhZjwn3VUoR1GjZLADwHJIr1pUzFDkdm1e8c/fuHA=="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/hcifootprint@2.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2839165},"main":"./dist/index.js","name":"hcifootprint","type":"module","_from":"file:package.tgz","types":"./dist/index.d.ts","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./mcp":{"types":"./dist/mcp.d.ts","default":"./dist/mcp.js"},"./react":{"types":"./dist/react/index.d.ts","default":"./dist/react/index.js"},"./sensor":{"types":"./dist/sensor/index.d.ts","default":"./dist/sensor/index.js"},"./testing":{"types":"./dist/testing/index.d.ts","default":"./dist/testing/index.js"},"./testing/lint":{"types":"./dist/testing/lint.d.ts","default":"./dist/testing/lint.js"}},"license":"MIT","scripts":{"test":"vitest run","build":"rm -rf dist && tsc","prepare":"npm run build","docs:api":"node scripts/gen-fumadocs-api.mjs","posttest":"node scripts/check-test-badge.mjs","demo:chat":"tsx examples/dress-shop/chatbot.ts","typecheck":"tsc --noEmit && tsc -p tsconfig.test.json","docs:links":"node scripts/check-doc-links.mjs --strict","docs:truth":"node scripts/docs-truth-check.mjs --verbose","test:watch":"vitest","bench:tokens":"node bench/token-cost/token-cost.mjs","test:coverage":"vitest run --coverage","example:wizard":"tsx examples/guarded-wizard/run.ts","docs:truth:check":"node scripts/docs-truth-check.mjs --check","docs:truth:baseline":"node scripts/docs-truth-check.mjs --update-baseline","example:already-true":"tsx examples/already-true/run.ts"},"version":"2.6.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"68c003f7-c661-45f7-a6f7-873443785cf4"}},"homepage":"https://footprintjs.github.io/hcifootprint/","keywords":["llm","agent","mcp","journey-graph","affordance","interaction-graph","footprintjs"],"_resolved":"/home/runner/work/hcifootprint/hcifootprint/package.tgz","_integrity":"sha512-4vtojIeUBQyV4zIdypACJbTNRA31HpN4Mk4D/ZXpXL6EV7OzLhB1eLWcmPf/vqs+U8sgw0K/ZJEp1yn73HkjrQ==","repository":{"url":"git+https://github.com/footprintjs/hcifootprint.git","type":"git"},"_npmVersion":"11.21.0","description":"Turn a web app's interaction surface into a typed, traversable journey graph an LLM can plan over — the frontend sibling of footprintjs.","directories":{},"maintainers":[{"name":"sanjay1909","email":"sanjay1909@gmail.com"}],"sideEffects":false,"_nodeVersion":"22.23.3","dependencies":{"footprintjs":"^9.10.1"},"typesVersions":{"*":{"mcp":["dist/mcp.d.ts"],"react":["dist/react/index.d.ts"],"sensor":["dist/sensor/index.d.ts"],"testing":["dist/testing/index.d.ts"],"testing/lint":["dist/testing/lint.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.5","zod":"^4.0.0","react":"^19.2.8","vitest":"^4.0.0","esbuild":"^0.28.1","typedoc":"^0.28.19","typescript":"^5.5.0","@types/node":"^20.0.0","@types/react":"^19.2.17","gpt-tokenizer":"^3.4.0","github-slugger":"^2.0.0","unist-util-visit":"^5.0.0","@anthropic-ai/sdk":">=0.110.0 <1","@vitest/coverage-v8":"^4.0.0","react-test-renderer":"^19.2.8","typedoc-plugin-markdown":"^4.11.0","@modelcontextprotocol/sdk":"^1.29.0","@types/react-test-renderer":"^19.1.0"},"peerDependencies":{"react":"*","@modelcontextprotocol/sdk":">=1.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"@modelcontextprotocol/sdk":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/hcifootprint_2.6.0_1790812128170_0.823189757832508"}}},"time":{"created":"2026-07-20T21:45:27.080Z","modified":"2026-09-30T23:48:48.616Z","0.2.0":"2026-07-20T21:45:27.359Z","0.3.0":"2026-07-25T00:17:08.069Z","0.4.0":"2026-07-29T03:21:56.832Z","0.5.0":"2026-07-29T11:07:22.403Z","0.6.0":"2026-07-29T18:10:31.009Z","0.7.0":"2026-07-30T10:59:42.178Z","0.8.0":"2026-07-30T16:28:20.261Z","0.9.0":"2026-07-30T23:52:44.725Z","0.10.0":"2026-07-31T04:19:54.590Z","0.11.0":"2026-08-01T00:20:19.782Z","1.0.0":"2026-08-02T03:41:42.874Z","1.0.1":"2026-08-02T04:29:03.081Z","1.1.0":"2026-08-02T06:50:38.778Z","1.2.0":"2026-08-02T07:29:58.530Z","1.3.0":"2026-08-02T08:11:54.175Z","1.4.0":"2026-08-02T08:51:36.245Z","1.5.0":"2026-08-02T09:17:12.266Z","1.6.0":"2026-08-06T06:05:14.914Z","1.7.1":"2026-08-07T05:43:36.509Z","1.8.0":"2026-08-17T21:45:48.779Z","1.9.0":"2026-08-17T23:12:32.380Z","1.10.0":"2026-08-20T00:52:24.417Z","1.11.0":"2026-08-20T02:56:34.749Z","1.12.0":"2026-08-20T04:52:43.054Z","1.13.0":"2026-08-20T21:53:03.959Z","2.0.0":"2026-08-25T23:49:42.886Z","2.1.0":"2026-08-26T00:07:22.438Z","2.2.0":"2026-08-26T09:02:40.554Z","2.3.0":"2026-08-26T09:12:08.657Z","2.3.1":"2026-08-26T09:18:48.223Z","2.4.0":"2026-08-26T09:52:21.352Z","2.4.1":"2026-08-26T10:04:04.899Z","2.5.0":"2026-08-26T10:25:59.355Z","2.6.0":"2026-09-30T23:48:48.284Z"},"bugs":{"url":"https://github.com/footprintjs/hcifootprint/issues"},"license":"MIT","homepage":"https://footprintjs.github.io/hcifootprint/","keywords":["llm","agent","mcp","journey-graph","affordance","interaction-graph","footprintjs"],"repository":{"url":"git+https://github.com/footprintjs/hcifootprint.git","type":"git"},"description":"Turn a web app's interaction surface into a typed, traversable journey graph an LLM can plan over — the frontend sibling of footprintjs.","maintainers":[{"name":"sanjay1909","email":"sanjay1909@gmail.com"}],"readme":"<h1 align=\"center\">HACI&nbsp;Footprint</h1>\n\n<p align=\"center\"><b>Human &amp; Agent · Computer Interaction</b></p>\n\n<p align=\"center\">\n  <strong>Your agent can reach your app — but it's flying blind.<br/>\n  Your app already knows what can be done here, and by whom. Hand the agent that map.</strong>\n</p>\n\n<p align=\"center\">\n  <picture>\n    <source media=\"(prefers-color-scheme: dark)\" srcset=\"docs/assets/haci-hero-dark.svg\">\n    <source media=\"(prefers-color-scheme: light)\" srcset=\"docs/assets/haci-hero-light.svg\">\n    <img alt=\"HACI Footprint — the classic term HCI becomes HACI as a yellow A (Agent) joins the Human's side; a person and an AI act on the app as a team.\" src=\"docs/assets/haci-hero-light.svg\" width=\"100%\">\n  </picture>\n</p>\n\n<p align=\"center\">\n  <img src=\"https://img.shields.io/npm/v/hcifootprint?style=flat&color=e0a400\" alt=\"npm version\">\n  <img src=\"https://img.shields.io/badge/tests-3366%20passing-f5b301?style=flat\" alt=\"3366 tests passing\">\n  <img src=\"https://img.shields.io/badge/core-zero--dependency-f5b301?style=flat\" alt=\"zero-dependency core\">\n  <img src=\"https://img.shields.io/badge/serves-a%20real%20MCP%20server-f5b301?style=flat\" alt=\"serves a real MCP server\">\n  <a href=\"https://github.com/footprintjs/hcifootprint/blob/main/LICENSE\"><img src=\"https://img.shields.io/badge/license-MIT-blue.svg\" alt=\"MIT\"></a>\n</p>\n\n<p align=\"center\">\n  <strong>🌐 <a href=\"https://footprintjs.github.io/hcifootprint/\">footprintjs.github.io/hcifootprint</a></strong> ·\n  <a href=\"https://footprintjs.github.io/hcifootprint/docs/\">Docs</a> ·\n  <a href=\"https://footprintjs.github.io/hcifootprint/docs/get-started/quick-start\">Quick start</a>\n</p>\n\n```bash\nnpm install hcifootprint\n```\n\n> **1.0 — the names are frozen.** You author **actions**, you name **journeys**, and a **tool** is\n> what is served to a model. The pre-1.0 spellings (`tools:`, `skills:`) are gone, not deprecated —\n> see the [migration](CHANGELOG.md#100---2026-08-02).\n> **Agents:** [`llms.txt`](llms.txt) is the whole API surface on one page.\n\n---\n\n## The problem\n\nAn agent can already reach your app. The question is how it *operates* one.\n\n| How agents drive a UI today | The cost |\n|---|---|\n| Screenshot the page, reason over pixels | slow, fragile, redone every turn |\n| Dump the DOM into the prompt | every wrapper and class, re-sent each turn — and it still guesses what does what |\n| Hard-coded selectors, RPA scripts | break on the next redesign |\n\nAll three relearn your app from scratch on every visit.\n\n**Measured, on a real page**: a five-page demo's rendered DOM is 2,027 tokens; what this library\nsends for the same page is 332 — **6.1× less per turn**, at 41.5 tokens per available action. That is\none page of one small app whose DOM is dominated by its shell, so treat it as a floor rather than a\nheadline; the script is in the repo (`node bench/token-cost/token-cost.mjs`) and the honest way to\nknow your own number is to run it against your own app. A returning human doesn't — they carry a\nmental model of where things are and what they're allowed to do. **Your app holds that same map. This\nhands it to the agent.**\n\nAnd it is safe to adopt for one reason: **you are not opening your backend — you are letting an agent\ndrive the frontend a human already can.** It acts as the signed-in user, through your own buttons and\nhandlers, inside exactly the permissions they already have. No new endpoints, no new grants.\n\n---\n\n## The model\n\n**Three contexts.** An agent driving your app asks three questions, and this library answers exactly\nthose — each in the same three parts: what you **declare**, what you **wire**, and what the **agent\ngets**.\n\n### 1 · The map — *what can this app do?*\n\n**Declare** the app as the tree you already picture: places, the things inside them, the named flows\nworth finishing. One sentence per action — that sentence is your label *and* the tool description the\nmodel reads.\n\n```ts\npages: {\n  catalog:  { route: '/catalog',  actions: { 'add-to-cart': { does: 'Add the open dress to the cart', writes: ['cart.items'] } } },\n  checkout: { route: '/checkout', actions: { 'place-order': { does: 'Place the order', enabledWhen: { 'cart.items': { gt: 0 } }, confirm: true } } },\n},\njourneys: { purchase: { does: 'Buy a dress end to end', steps: ['add-to-cart', 'place-order'] } },\n```\n\nAlready have a route table, a router's own nested route tree, a journey list, a live action store?\n`fromRoutes`, `fromReactRouter`, `fromJourneys` and `fromLiveStore` adopt them under one documented\nmerge order — nobody re-types anything. `fromReactRouter` transcribes a page name from a fully-static\naddress (`/projects/new` → `projects-new`) and refuses, naming both doors, wherever there is nothing\nto transcribe — a `:param`, a `*`, the root. It never guesses a name.\n\n**Wire: nothing.** A map is static data. It validates and freezes in one call, so it can be linted in\nCI and argued about in a pull request before your app runs at all.\n\n**The agent gets** one tool per journey, plus four fixed generics. **The tool list *is* the map**, and\nits bytes never change for the life of a conversation. A whole-page dump is never served — that is the\nthesis, not an optimisation.\n\n### 2 · Traversal — *where am I, and how do I get there?*\n\n**Declare** two fields, on the map you already wrote: `route` on a page, `goTo` on an action. An\naction's claim **is** the edge; pages declare no edges to one another.\n\n```ts\ncart: { route: '/cart', actions: { pay: { does: 'Check out', goTo: 'checkout' } } },\n```\n\n**Wire** the session, and one line wherever your router already knows the page changed.\n\n```ts\nconst session = graph.createSession({ node: 'catalog' });\nsession.sync('checkout');            // the router moved → the cursor moves\n```\n\n**The agent gets** where it is, whether arrival is `claimed` or `observed` — never a guessed third\nvalue meaning *did not arrive* — and the declared hops to any destination.\n\n### 3 · Actions — *what is possible here?*\n\n**Declare** what an action is, once, where it lives: `does`, `writes`, `enabledWhen`, `goTo`,\n`confirm`, `verify`, `input`, `humanDecides`.\n\n**Wire** your own functions, by reference, when the component that renders them mounts.\n\n```ts\nconst group = session.registerActions('checkout', {\n  handlers: { 'place-order': (input) => shop.placeOrder(input) },\n});\ngroup.setEnabled('place-order', false);                // the greyed button\ngroup.setBusy('place-order', 'Placing your order…');   // your words, never ours\nsession.updateState({ 'cart.items': 3 });              // your store → conditions re-evaluate\n```\n\n**The agent gets** one row per action that is offered here, carrying `enabled`, `blockedBecause`,\n`busy`, `holds`, `goesTo`, `expects`, `highEffect`, `humanDecides` and `unblockedBy`. Every stamp is\npresence-only: a key means your app said so, and no key means the library does not know.\n\n### Declared or wired? One question decides\n\n> **Can this fact change while the page is open?** If **no**, it is a declaration\n> (`enabledWhen`). If **yes**, it is a wire (`setBusy`).\n\nThat is why there is no `busyWhen`: a condition can prove a state, but it cannot author a label, and a\nlibrary-written label would be a library-written meaning.\n\n### And a fourth thing — which you never build\n\nThe relations *between* actions are the part people expect to have to author. You don't.\n\n*Is `place-order` blocked, and by what?* `add-to-cart` writes `cart.items`; `place-order` waits on it.\nNobody wrote an edge, and the edge is unambiguously there — so it is **derived, never authored**, and\ncannot drift from your graph:\n\n```ts\nsession.whatUnblocks('checkout.place-order');\n// [{ affordanceId: 'catalog.add-to-cart', viaKeys: ['cart.items'] }]\n```\n\n*How do I get to checkout?* A route is walked from the `goTo` claims you already made:\n\n```ts\nsession.howToReach('checkout');   // [{ action: 'catalog.open', to: 'product' }, …]\n```\n\n**Everything relational is derived from declarations you make for other reasons.** There is no edge\nAPI in this library — not between pages, not between actions. The only thing you declare that cannot\nbe derived is *intent*: \"these steps, in this order, toward this goal\" — a\n[journey](https://footprintjs.github.io/hcifootprint/docs/map/journeys), because a preferred order is\nmeaning, and meaning is yours.\n\n→ [The three contexts](https://footprintjs.github.io/hcifootprint/docs/get-started/three-contexts) ·\n[What would free it](https://footprintjs.github.io/hcifootprint/docs/actions/what-would-free-it) ·\n[How to reach a page](https://footprintjs.github.io/hcifootprint/docs/traversal/how-to-reach) ·\n[Navigation graph](https://footprintjs.github.io/hcifootprint/docs/map/navigation-graph)\n\n---\n\n## Map & Walker\n\nThe three contexts above have one sentence under them, and it is the same sentence this\nlibrary's siblings say at their own altitude:\n\n> **You declare the JourneyMap; the session is the Walker; the recording carries both.**\n\nSince 1.10.0 those two nouns have names in the API — `defineJourneyMap` and `JourneyMap`,\n**permanent aliases** of `buildNavigationGraph` and `NavigationGraph`. Same function object,\nsame type, both names forever; neither is a rename, and a codebase may speak either dialect.\n\n```ts\nimport { defineJourneyMap } from 'hcifootprint';\n\nconst map = defineJourneyMap('shop', { pages: { /* … */ } });\nconst walker = map.createSession({ node: 'catalog' });   // the walker IS the session\n```\n\nThere is deliberately **no `Walker` to construct**. A walker is not a thing you wire up — it is\nthe session you already create, standing on a node, moving. Three movers move it, and each\nlands on the record as a `Cause` (`kind` — was an offered edge fired, or did the world move? —\nplus `principal`, whose move it was):\n\n| Mover | What moves the cursor | On the record |\n|---|---|---|\n| **human** | a real click in your own controls — `watchPage` senses it, `contextful` catches the app's own call | `kind: 'fired'`, `principal: 'user'`, with `Attribution` grading what that claim is worth |\n| **agent** | the four served verbs through the MCP door — `whats_here`, `why`, `do_action`, `did_it_work` | `kind: 'fired'`, `principal: 'agent'`, plus the `offerId` of the row it planned against |\n| **guard** | your data: an action's `when` / `enabledWhen` judged against the state your store pushed | the guard's own evidence, and `blockedBecause` / `unblockedBy` when it says no |\n\nAnd the world moves on its own — a back button, a server push, an expiry. That is\n`kind: 'stimulus'`: recorded, never silently absorbed.\n\nFive moves make up walking, and every one of them is answered by something that already ships:\n\n| A walker… | Here it is |\n|---|---|\n| **looks** | `whats_here` — one row per action offered on this node |\n| **navigates** | `do_action` on an action declaring `goTo`; the row carries `goesTo`, and `howToReach` walks the hops first |\n| **moves inside a screen** | a fire landing on an area, a tab or a modal moves the **focus**, not the page — `session.focus`, with `focusHistory` recording who moved it |\n| **keeps a task list** | **journeys** — `commitJourney` opens a frame, `journeyStanding` says where the flow stands |\n| **verifies** | `did_it_work` — the settled facts of one fire, never a guess; the drift sensor (`checkGraph`) is the honesty backstop under it |\n\nThe same pattern sits at three altitudes: [footprintjs](https://github.com/footprintjs/footPrint)\nwalks **stages**, [agentfootprint](https://github.com/footprintjs/agentfootprint)\n(`defineSkillMap`) walks **skills**, and this walks **screens**.\n\n### Where the reader is: page, container, state\n\n> **Sync pages; observe the deeper place. `sync()` moves the walker and decides what is\n> served; `observeFocus()` says which tab or area the reader is in. Declare containers, and\n> report the deepest one on screen.**\n\nPosition has three tiers, and each has one door: the page (`sync('run-detail')` — the walker\nmoves, and what is served moves with it), the container inside it\n(`observeFocus('run-detail.why')` — any declared tab, area or modal path, and serving does NOT\nmove), and state (`updateState`, which is not position). The middle one gets skipped because\nnothing forces it: declaring `tabs:` compiles, mounts and masks perfectly well while never once\nsaying which tab the person is looking at.\n\nIt has to be its own door. A tab is not a place the walker can stand — actions are served from\nthe **page**, so a cursor parked on a tab would be served nothing — and a **person** clicking a\ntab fires nothing, which is exactly the case worth reporting.\n\n```ts\nsession.show('run-detail.why');                              // which tab is VISIBLE\nsession.observeFocus('run-detail.why', { principal: 'user' }); // where the READER is\n```\n\n```text\nYou are on: run-detail.        →   You are on: run-detail.\n                                   Focus: run-detail.why.\n```\n\nEvery served answer carries both halves as data: `youAreOn` is the page that serves,\n`lookingAt` is the deeper place. Without it a screen-driving agent has to deduce the open tab\nfrom whatever unlabelled state keys happen to move. `lintGraph` proves the authored half\n(`unevidenceable-tab`).\n\n→ [Map & Walker](https://footprintjs.github.io/hcifootprint/docs/map/map-and-walker)\n\n### When the action is already done\n\n> **An effect that is already true is not a pending one. When an action's declarative verify\n> contract covers every key it declares it writes and already holds at fire time, the fire never\n> waits for a state report that nothing will send — it settles on its own handler and answers\n> `alreadyTrue`.**\n\nAn agent pressed a control while the thing it does was already the case — it asked to open a domain\nview while already inside that domain. The app's store publishes on *change*, so writing the value\nit already held notified nobody, no state report arrived, and the fire waited for one forever.\n`did_it_work` could only answer `still-pending`; the model read that as *the app is still working*\nand burned fifteen of its thirty steps on an outcome that could never arrive.\n\nDeclare the postcondition beside the action and the library can see it, because `verify` is the one\ndeclaration carrying a **value** (`writes` is key names only, by design — nothing here infers what\nyour handler would set):\n\n```ts\n'open-billing': {\n  does: 'Open the billing domain view',\n  writes: ['view.domain'],\n  verify: { 'view.domain': { eq: 'billing' } },\n}\n```\n\nThe fire comes back carrying `alreadyTrue` — the conditions that already hold — plus one authored\nsentence that tells the model to move on. Your handler still runs; what changed is only what the\nfire *waits on*.\n\n→ [When it is already true](https://footprintjs.github.io/hcifootprint/docs/actions/already-true)\n\n---\n\n## Why this makes an agent better\n\nNot by making the model smarter. By never making it guess.\n\nEvery turn, the agent gets **only what is true here, now** — one page's actions, not your whole app:\n\n```\nYou are on: Checkout   (step 3 of 4)\n\nActions here:\n  edit-address   Change the delivery address\n  place-order    Place the order          [not available]\n                 waiting on: cart.items\n                 which \"Add to cart\" writes — and it is running right now\n                 needs a person's approval before an agent may fire it\n\nLast outcome: address update — performed, verified\n```\n\nFollow what that removes. The model doesn't infer the page — it's told. It doesn't guess whether a\ncontrol is clickable — it's told, and told *why not*, and *what would change it*. It doesn't wonder\nwhether its last action worked — the outcome is a fact, not an assumption. It doesn't hunt for the\nfinish line — a journey names the steps and the library says which are still open.\n\n**A greyed button is the whole argument.** A production integration's agent met one, was told only\nthat it was disabled, fired it again to find out what would change, then told its human the app was\nbroken. Nothing had failed — an upload was still running. That agent wasn't bad at its job; it was\nanswering a question nobody had given it the facts for.\n\nThree consequences, in order of how much they matter:\n\n- **It stops hallucinating capability.** Anything derived rather than observed is flagged\n  (`arrival: 'claimed'`, `guardUnevaluated`, `presence: 'unknown'`). Every refusal is typed and\n  teaches — so the agent replans instead of inventing a cause.\n- **A smaller model goes further.** The reasoning that used to reconstruct your app from a DOM dump is\n  simply not spent. This is context engineering, not model choice.\n- **Tokens are bounded by the page, not the app.** What's on screen is what's sent.\n\n→ [Reading an action row](https://footprintjs.github.io/hcifootprint/docs/actions/reading-an-action-row) ·\n[Grounding](https://footprintjs.github.io/hcifootprint/docs/actions/grounding) ·\n[Modes](https://footprintjs.github.io/hcifootprint/docs/map/modes)\n\n---\n\n## Quick start\n\nThree steps. The first two run offline, with no API key.\n\n**1 · Describe the app** — the tree you already picture.\n\n```ts\nimport { buildNavigationGraph } from 'hcifootprint';\n\nconst graph = buildNavigationGraph('shop', {\n  pages: {\n    catalog: { actions: { 'add-to-cart': { does: 'Add the open dress to the cart' } } },\n    checkout: { actions: { 'place-order': { does: 'Place the order', confirm: true } } },\n  },\n});\n```\n\n**2 · Connect it** — components register what they have when they render; your router reports the page.\n\n```ts\nconst session = graph.createSession();\n\nconst group = session.registerActions('catalog', {\n  handlers: { 'add-to-cart': (input) => shop.add(input.id) },   // your own function, by reference\n});\n\nsession.sync('checkout');                       // router change → the cursor moves\nsession.updateState({ cartCount: 1 });          // your store → guards re-evaluate\n```\n\n**3 · Serve it** as a fixed set of MCP-shaped tools. The tool list never changes; what's doable *right\nnow* arrives inside each result.\n\n```ts\nimport { mcpServer } from 'hcifootprint/mcp';\nmcpServer(session);\n```\n\n→ [Quick start](https://footprintjs.github.io/hcifootprint/docs/get-started/quick-start) ·\n[Adoption ladder](https://footprintjs.github.io/hcifootprint/docs/get-started/adoption-ladder) —\nstart in guide mode, where the agent can only *describe* what's possible.\n\n---\n\n## Honest by construction\n\nTwo properties do most of the safety work, and they are why this is worth adopting over a DOM dump.\n\n**It says what it can't see.** Derived facts are marked as derived. Unknowable ones are `unknown`,\nnever guessed. A failed read says *\"the app could not re-read its actions here\"* instead of serving an\nempty list as truth. Silence is never a verdict, and a clock is never evidence.\n\n**A human's yes is a reference, not a claim.** For a high-effect action, an agent asserting *\"the user\napproved\"* proves nothing. The library requires a pointer to a decision a person actually recorded,\nbound to the receipts they were shown.\n\n**And some choices are not the agent's to make at all.** `humanDecides` says a decision belongs to a\nperson — the agent presents the options and stops, and the human answers through your own control.\nIt is disclosed on every surface and enforced on none: the flow is simply in someone's hands, and\nthe library can say so without inventing a gate you never declared.\n\n```ts\n'choose-shipping-speed': {\n  does: 'Choose a shipping speed',\n  writes: ['checkout.shipping'],\n  humanDecides: {\n    about: 'which shipping speed',                   // your words, carried as data\n    doneWhen: { 'checkout.shipping': { ne: '' } },   // your own \"it has been decided\"\n  },\n}\n```\n\n→ [Human-in-the-loop](https://footprintjs.github.io/hcifootprint/docs/actions/receipts) ·\n[Whose decision it is](https://footprintjs.github.io/hcifootprint/docs/actions/whose-decision-it-is) ·\n[Paused is not failed](https://footprintjs.github.io/hcifootprint/docs/actions/paused-not-failed) ·\n[The human sensor](https://footprintjs.github.io/hcifootprint/docs/actions/human-sensor)\n\n---\n\n## More\n\n| | |\n|---|---|\n| **Async & progress** — the promise is the completion signal; `busy` in the app's own words | [Going async](https://footprintjs.github.io/hcifootprint/docs/actions/going-async) · [Waiting for the app](https://footprintjs.github.io/hcifootprint/docs/actions/waiting-for-the-app) |\n| **Keep the graph true** — a drift harness that fails in CI, not in front of a user, and a conformance check no source adapter can silently drop a declared field past | [Testing](https://footprintjs.github.io/hcifootprint/docs/reference/testing) |\n| **Adopt what you have** — routes, journeys or a live store as graph sources | [Graph sources](https://footprintjs.github.io/hcifootprint/docs/map/graph-sources) |\n| **React** — one hook per control, and a five-line port for any other framework | [React binding](https://footprintjs.github.io/hcifootprint/docs/actions/react-binding) |\n| **Tree-shakeable, ESM-first** — the sensor is 11.9 KB; the React hook 610 B | [Tree-shaking](https://footprintjs.github.io/hcifootprint/docs/reference/tree-shaking) |\n| **The gap ledger** — what the agent *couldn't* do, recorded, never hidden | [Grounding](https://footprintjs.github.io/hcifootprint/docs/actions/grounding) |\n\n---\n\n## Development\n\n```bash\nnpm install && npm test        # the suite, with the badge gate\nnpm run build                  # dist/, ESM-first\nnpm run docs:truth             # does the documentation describe what ships?\n```\n\n## Built on\n\n[footprintjs](https://github.com/footprintjs/footPrint) for the graph engine and commit log ·\n[agentfootprint](https://github.com/footprintjs/agentfootprint) if you want the agent loop too.\n\n## Citing\n\nSee [`CITATION.cff`](CITATION.cff), or use GitHub's **Cite this repository**.\n\n## License\n\nMIT — see [LICENSE](LICENSE).\n","readmeFilename":"README.md"}