{"_id":"suppa-mcp-2","_rev":"73-16f270406b0d76980bd2d4d8629ad2fd","name":"suppa-mcp-2","dist-tags":{"latest":"1.42.1"},"versions":{"1.0.0":{"name":"suppa-mcp-2","version":"1.0.0","keywords":["mcp","model-context-protocol","suppa","claude","ai-tools"],"license":"MIT","_id":"suppa-mcp-2@1.0.0","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"bin":{"suppa-mcp":"dist/bin.js"},"dist":{"shasum":"c9af80e4b85efe83654cc90b4d74b9423f3ab548","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.0.0.tgz","fileCount":21,"integrity":"sha512-eHfc4lClQP7sM98CCt29iMMYzfWl1asacbaFBAmDuI0ivXCYDFh8vbnA/esnTOmZG7E+rumskhSkXmw9RmP8RQ==","signatures":[{"sig":"MEUCIQDSv5BvB/mx4+qMnBM/O6YNPWGL/rOpjQqoaNc8WKYfgQIgWlbvabb0n5+fK24kAW5K/BK8Z8eAwwJbIFB4ELtqpO4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":333774},"type":"module","engines":{"node":">=18"},"gitHead":"468a09c5f95504b3ce899737f3474afe6c993066","scripts":{"test":"vitest run","build":"tsc","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"_npmVersion":"10.9.4","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.0.0_1782899960782_0.9579650072724608","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"suppa-mcp-2","version":"1.1.0","keywords":["mcp","model-context-protocol","suppa","claude","ai-tools"],"license":"MIT","_id":"suppa-mcp-2@1.1.0","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"bin":{"suppa-mcp":"dist/bin.js"},"dist":{"shasum":"bde8e1fd255e09742bfe928bf116030fe6d4cd57","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.1.0.tgz","fileCount":21,"integrity":"sha512-1fb+HPOelxslLVe/SU50zG6hVbKy+i+MouWNadDNdnfKAbRQr7Qf4dOtOpf9oTOe2B5gOx1j1MqWat0H+5y76w==","signatures":[{"sig":"MEUCIAauR4cRkuxsLS4IJU3Nm7594VeIJi+E+rvZkXgA5tPkAiEAy8g9CMlvzP4ZtHwHHIw3ybgqbWX+f3hUaMPpl/hgjwE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":353779},"type":"module","engines":{"node":">=18"},"gitHead":"acb816935c4a00219b1f1e1b572678db732d9ad3","scripts":{"test":"vitest run","build":"tsc","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"_npmVersion":"10.9.4","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.1.0_1783081824060_0.09317517565983113","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"suppa-mcp-2","version":"1.1.1","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.1.1","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js"},"dist":{"shasum":"098e43a340369d6a4f4898df2b1eb126bc498eb0","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.1.1.tgz","fileCount":21,"integrity":"sha512-s2l3HaVRqDONEdV/c4v1jO5+M2NDhsOlr4MPfSYFRZ5+iElPXLiDcC+Mh9Su5VGZPNbTQwJTUR7gOZxvu2JsCQ==","signatures":[{"sig":"MEUCIQCot3NHEc/Mk+DXbftHnPsqm0hVuwiz2CiTbx5mIK0d4gIge0USfA0/s6EtgAdf9mGMHqslFANU1niz/RWqu7sRghU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":365738},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"f18b4cb6b8099b98a24c23a728487d4ab9e824ba","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"10.9.4","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.1.1_1784115990250_0.45473980083908927","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"suppa-mcp-2","version":"1.1.2","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.1.2","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js"},"dist":{"shasum":"32b76b3ef0552c9e81e232d081f988ac21337ce7","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.1.2.tgz","fileCount":21,"integrity":"sha512-lg3ge3l3CZIdCjPcaZpwReE2mx0JTnFys1L/x1ojRLGUUg0P4IJ/JALv9TJz2A/Q1v01Xg7fhkbT+IMgwJaVlQ==","signatures":[{"sig":"MEYCIQDCFYSDMXGgZiDyO8oSMOJeOlJEPZg6iVRdAaN7aFaaAQIhAJNRjANe1wyKMCnMcofSdm37ns/v7ZOBvTHv+uB2VgKN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":370856},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"f2d89cdb702379c449ae0a71b10520fdc15670d5","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"10.9.4","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.1.2_1784723446267_0.5563038280624539","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"suppa-mcp-2","version":"1.1.3","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.1.3","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js"},"dist":{"shasum":"959d6a883e81c2d4e6242edd3b2a663da9fa86c5","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.1.3.tgz","fileCount":21,"integrity":"sha512-6A+DQu65wuXEpTQhXldWyR0uJNegt/YYhlAERwfEgzvN3ZOlHK1joaHN+PseO3b8BbNmTVOGoBVUaOES8xaNQA==","signatures":[{"sig":"MEUCIAdHUZNUdyIKqtoBc2qtnr91JfF2nrtuKysc1q5ueK8DAiEA22CMk1baJYMsepj72Mj7uW9cpkCmFohbU3Zq2vHPHGs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":380824},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"064e433ebc22b785e1d16d8558271af82ab55e17","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"10.9.4","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.1.3_1784806620126_0.9526107298378517","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"suppa-mcp-2","version":"1.1.4","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.1.4","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js"},"dist":{"shasum":"b9d4eecfb2a359a0dac69a2da32a85a98a6d8cbe","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.1.4.tgz","fileCount":21,"integrity":"sha512-90kd5U51tBB9X9UY9Q/IZw9mwk9ONZfvpjwZtBY5uelheSkdd4Tj+YqL7ibYTRewjYNXOayZLUDsqCvkuHUWBw==","signatures":[{"sig":"MEUCIDtRX/6eQW3RbXG0a5tgSCVFq63/9No0ls+rsSgsFxHeAiEAtwvX9pfAk2XNn69wSNDsN1yB+7MUCgUqYcXNJ2Dgh6E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":389019},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"96e1b1272e0aaf71d6ab41321fe34204d20329d8","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"10.9.4","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.1.4_1784809818830_0.6524511836956124","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"suppa-mcp-2","version":"1.2.0","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.2.0","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js"},"dist":{"shasum":"0546f8488c73f5700e9eeb0507045691647574af","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.2.0.tgz","fileCount":29,"integrity":"sha512-IIE2vRM4jRVNN4pOSSdl2VhxNHIkHkDv9nj35oo03DmGY+32wzDTN3JwkkMzVYpbOYbgdhIUgNeUiAEl3VJJeg==","signatures":[{"sig":"MEUCIQClkCb78ewBsB6gIA69lv5lBojRvVlBBQS+Szj4vQhqogIgQXNL6Mr4XP4hqdl9zWym02JyfVhTMJv0mXvtuno8hdY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":486130},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"60935901b98daf255beba6ee2169470ebe79a42a","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.2.0_1785824130702_0.3970387538316209","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"suppa-mcp-2","version":"1.2.1","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.2.1","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js"},"dist":{"shasum":"bace46f0cc6611ad4ab223b29ecb882fb8b6644c","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.2.1.tgz","fileCount":31,"integrity":"sha512-mduWOhT+39BEYX95J5rh5zT+tyfl+Qm/AZsHkRI6OmOFIf/sCBeVDQsACbVDjL3pSpgpStA1uWhNkeMLPju6XQ==","signatures":[{"sig":"MEUCIQDSifk7xRS0s5/LJj1I/cw8sipwU8ISaXnEOMZd3BENcwIgT3O7MVJ16hNZq3cvbgiXOKQa3CtON4nx4QthZURb/8U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":521883},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"60ae3f194720ce4ce6c243d6e75dd4f9e08a2f28","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.2.1_1785831563871_0.37295319109634884","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"suppa-mcp-2","version":"1.2.2","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.2.2","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js"},"dist":{"shasum":"d930d324ad5d4342472c857cbb8fef57902722e2","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.2.2.tgz","fileCount":31,"integrity":"sha512-Q2y+CFxn7GyHYdtqhiryIkfWFw1tKyAuB4I+46P2SUaEuZ1F3uKungu2cinQeOETU+5RB9qjgpxZ0qllmEWJEA==","signatures":[{"sig":"MEQCIARpCvvrZjpNWReNm0SBez/f4VcQBR5deUC52mex2fzRAiBOVE5eV6aL5+tj5FHNnZw//gMquZ9t72nqJYN0V6zPYQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":526143},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"8863b11c74930d532395b8c42708a923ab92fcbd","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.2.2_1785834298952_0.7862054566288696","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"suppa-mcp-2","version":"1.2.3","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.2.3","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js"},"dist":{"shasum":"e9973c28d09b361153c968f6f48aee4d6a38a761","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.2.3.tgz","fileCount":31,"integrity":"sha512-piLC7rOL3Qivj6b/n1bH5dWu4qpD0vl19bpSc3furs2G1vbn6ABFOixgAOTj77Xr2n0XPMhylQ/PougJpknFXg==","signatures":[{"sig":"MEUCIQCDWNA7lgrh0m8fTR8VfREfPnhS1Bm3P+JpKgfmPbWPMwIgSGMmwKQbeNLH8lIEqsayS+XKt+pqDoBKxdx51SBuPaQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":532950},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"f1111a50723f39edf2ff1a66145a71ba9b4f45c9","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.2.3_1785845194424_0.38835187872758103","host":"s3://npm-registry-packages-npm-production"}},"1.2.4":{"name":"suppa-mcp-2","version":"1.2.4","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.2.4","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js"},"dist":{"shasum":"3b2d662e2142e1f9b92b92818772f36a3763985b","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.2.4.tgz","fileCount":31,"integrity":"sha512-yaOjcgFd7xehBdh2xxQ6CsaAQCijAQzySITLb1N+vRfGamMdzLJSz7H1VSgVGSeJcH0NRYRMWqxnTtvDApHaFQ==","signatures":[{"sig":"MEUCIQCscTeuwY1vZycG8aZyxr67Dyxtd7TDGT4WN5sXlWlbvAIgUPC1IwGk8P+drMMekZsiG0RfqW+IjZ1A4NkOczfmSgA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":577852},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"128507e4a880f4b9476f0b45d324028987e0aa69","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.2.4_1785851544424_0.3398002659821735","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"suppa-mcp-2","version":"1.3.0","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.3.0","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js"},"dist":{"shasum":"acc0c4a7e06e1b3d7bca77fd04f94e915e45c31b","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.3.0.tgz","fileCount":31,"integrity":"sha512-sklmDiYpvQTbq0s4bATU2Z3o4IM3FfVmuZu1K/EHDDdd4MbSrNmqtNq+t03GyU19jKBdCqQU2eZveCwKNTZkBg==","signatures":[{"sig":"MEUCIQD3OJHQhrBNjq6+rb2MwE8V8QV/GARO1Ij5GeW9EGefmgIgMpLKI7UKRyUzGwFTei8MK7FBNWedMugk3DketSyZ4d8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":670996},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"f0970c151c13dcfa94611018eec087eb18392ca5","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.3.0_1785858692095_0.1268601018817781","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"suppa-mcp-2","version":"1.3.1","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.3.1","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js"},"dist":{"shasum":"8a6cdfcf687d13bbd3b67e16bfcf1998372d1295","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.3.1.tgz","fileCount":31,"integrity":"sha512-w+0CwT6dyg/D4IHygk19ZgKDNi8f/NmznC6iUI+Vs6ofNNiZjkokSYpYm6nmfLejNGG6mmt2sa5D2OopiPSPpQ==","signatures":[{"sig":"MEUCIQDK6R9mNnFnsD+5rjyryepqyy+psAOCfZXTvaEaxztxnwIgfW2MwJd1tOhzMhEqOTfUbP0p0Iub8eCY6M6uoqp4mAs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":677065},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"b54c55ec18656c11484ae2631dd227d1d6f4d997","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.3.1_1785911322821_0.2844904527507157","host":"s3://npm-registry-packages-npm-production"}},"1.3.2":{"name":"suppa-mcp-2","version":"1.3.2","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.3.2","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js"},"dist":{"shasum":"a80071041dfdad40851d1b4a21926bf3fb281a13","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.3.2.tgz","fileCount":31,"integrity":"sha512-uDEIN5Y9Pe81VNv3ULsFJ8hsCHk/FnLLdXFIMzfGm9cbihGF+IFnFdYYM0AMmM1JykYGyeJUERXU9+r2EumgpA==","signatures":[{"sig":"MEUCIFHJSO169/B1rm6hZRrxBVRSRYbpaWjrBvI6xwmIt1tIAiEAiTudYG3PYjHJ15eZObAiBjqH9drCQYEa6+Gip7+todw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":680176},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"0951f3ea2d76cbebd31ba61d5537fea0fc81fe9a","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.3.2_1785913620353_0.6707501992294622","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"suppa-mcp-2","version":"1.4.0","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.4.0","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js"},"dist":{"shasum":"8a1afdb32ba74cdda880821e302aaf9635e2170c","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.4.0.tgz","fileCount":31,"integrity":"sha512-e78HmAxcb1AE39fBOCpecfBcWGf94J9tiixdpYYvM67nKL98zn3PyABJToRDF7805bOnPVimgog6hkl32BmZDw==","signatures":[{"sig":"MEYCIQDLvOb0F0RfeQndu62d7RsVDpRkoQRAWf9LTJ8rMQH7hwIhAO70k80VoBcPWy+cX4bNMng1KmqPdb9OffgxYSKJgnZD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":695977},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"d2813398070c2d6f1acda8c4cafe1637e5495336","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.4.0_1786956729966_0.044125067467506884","host":"s3://npm-registry-packages-npm-production"}},"1.4.1":{"name":"suppa-mcp-2","version":"1.4.1","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.4.1","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js"},"dist":{"shasum":"71ead84a07215d5cfe9021dc8d5da0c9fe17af94","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.4.1.tgz","fileCount":31,"integrity":"sha512-kOl+LnmLaFOK6F9UJoEIW8o1xMQyPZgci/YKmY4pNW849ln+rFzn5ESy8py+rhv4wDCg251BHviApdBNai6m0w==","signatures":[{"sig":"MEUCIBNP/omBTCNli1AYWggqe3vZsFcUhwz4cZ7NiuocuQQ5AiEAtwEx/fnCyIyM/fg/gVYJ1olvNPv17zXf6Stht7w1w0Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":699285},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"3e454f468b01ba8f5c9f6eb1495c591b9cc84572","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.4.1_1786957962575_0.2160884383893802","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"suppa-mcp-2","version":"1.5.0","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.5.0","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js"},"dist":{"shasum":"fe37a1224e3eaa872a76371407fa81666b4c592b","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.5.0.tgz","fileCount":31,"integrity":"sha512-bk3CgVNPlTY2b4LQDzo3yQL+5B94qKdFj2Fdlvk4dJo7+HBiWny5xx7LhzdLNniHBoNnBrPJpv4xYxIpBtZ33A==","signatures":[{"sig":"MEUCIQDO4o2Dkm0/RV9Vyxe8PabpxXf9pQcb1Opqc2c/6uCXDgIgXP75jIW2ibskWX2dbZDScLcwIOU9Oaa6KVVY8JTA8o0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":713811},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"5e6a56d7f9c67e3bd3e6ff0e1d4e73522c343eef","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.5.0_1786961807673_0.9719160963109197","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"suppa-mcp-2","version":"1.6.0","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.6.0","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js"},"dist":{"shasum":"5d217d92d49cae7d15e3d9e1b4c5a11465d60f0a","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.6.0.tgz","fileCount":32,"integrity":"sha512-v3SL3x9eouACouTSTDcN01/mmwNDBBUKyUyqGfqKolA4tvqLHkzKRujRAmJJyj62WOhS0FJp950VByhNHq3mTg==","signatures":[{"sig":"MEQCIHrj9Pu8juTioAe1m355xCLN6U6DuIHapcnFeZjAhMbbAiA/r0Mvk3rsqPAONJxFMbbI8DMpOL+DcTcunpfmOcHCaA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":730423},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"b53830ef2e676d6963b51b57de886cba6cd7f9d1","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.6.0_1786966540829_0.7047465084208866","host":"s3://npm-registry-packages-npm-production"}},"1.6.1":{"name":"suppa-mcp-2","version":"1.6.1","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.6.1","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js"},"dist":{"shasum":"c245263120da8eb1e14ac77ed7ad4acdf85101bf","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.6.1.tgz","fileCount":32,"integrity":"sha512-PTzZfXnBOjuFAC4PUn78FgTUsaMO3QhOh+soAgng/OnkM5QkvTT1+iVJXGCJXYIrmBa3g+R55B16eSbcV2i2DQ==","signatures":[{"sig":"MEQCIAZ13CHvF5RbcWL97aSdSjhdZnZ3jMaNPjLinMMpznwLAiAUILTw/BZjZ3w/dVHv1sfSZ0YgO3emsU7iELm4mjnsuQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":734156},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"cba3fcf8bd614b53e7421be6320b29879a32acd7","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.6.1_1786967994146_0.21972582227756066","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"suppa-mcp-2","version":"1.7.0","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.7.0","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js"},"dist":{"shasum":"e9481c4b9a975af48070c7a7e0125032b83661ac","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.7.0.tgz","fileCount":32,"integrity":"sha512-w7PHNV17xO6S2+RvY2USG0dZNUXFXFnrDDWCqLZor4FAw0+UwLh4OY6T522bbsHSVhFJcs8hDGoxfh+07nwE/Q==","signatures":[{"sig":"MEQCIFjgCOl64h4x5crQ5VWdpKokdA92BS8z3rP4mVhoJyxBAiAFzyJ4xHxi5kTy2eoPvAdX6NZxtw/zEKJ6cV47m4oH3Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":751452},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"484987eb32c913a51fdf74d35d86ae84040ea162","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.7.0_1786974285953_0.5925060165929308","host":"s3://npm-registry-packages-npm-production"}},"1.7.1":{"name":"suppa-mcp-2","version":"1.7.1","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.7.1","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js"},"dist":{"shasum":"bb810a35d03b211729ba50addf2feb65037e02f1","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.7.1.tgz","fileCount":32,"integrity":"sha512-431YZiGXmb5118s8Fml5CHh9vt3fie3HEYnN2e/qbikZSZr013VI1bwxXRI129zI4WnGSh7AleSSEo1Ti82rXw==","signatures":[{"sig":"MEUCIB5mUmfhTf5qo8pINrgKvYwCIYwi6YVVaninITZMdIKfAiEAxk3a4O4iosdSeg/2K/AFY8y9lQxwWSXhGeTXZ0vk4cQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":760055},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"077b5c5b60a55ab928fb50f2228f708dfb7a8a9e","scripts":{"dev":"tsc --watch","test":"vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.7.1_1787036889030_0.6302389485348017","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"suppa-mcp-2","version":"1.8.0","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.8.0","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js"},"dist":{"shasum":"f9d0b2ff96967a26d40fbaf0f16a616669e6bd1f","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.8.0.tgz","fileCount":33,"integrity":"sha512-LSJ9sPyP64D7SPeZu2IYbTMluWwIHmZCey1prKTBUls+dw4EuErjCfiAwe9Dj1aK3LeCQDcCVIfswvBLvf15QQ==","signatures":[{"sig":"MEUCIBxYhwPQQrp/yeb9Jh2WSpiTbDHXVixJ4EgH3TS7J1CMAiEA78htX5KcHWgJtomYS3LVwddowR8DKJFQoZ9hwdgsOvM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":770388},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"1f4c19d4d744a249811480af13fb790adcd6cf4b","scripts":{"dev":"tsc --watch","test":"node scripts/check-version-literals.mjs && vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.8.0_1787037450470_0.6355542235482701","host":"s3://npm-registry-packages-npm-production"}},"1.9.0":{"name":"suppa-mcp-2","version":"1.9.0","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.9.0","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js"},"dist":{"shasum":"b5d97e0c90186029552bf41b344187c915462741","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.9.0.tgz","fileCount":34,"integrity":"sha512-KZKZmDh6r36O0YFqMZ36dcOVB6HbUkDgt3LoHXcDmMnnb/1OR1TT6HGkSCwZSyvAFe547DIQhul21ih0Xpi+xg==","signatures":[{"sig":"MEQCID+ZytL7gjoDHNpZ7LXMeY05ImPdZm1fn8//ioPcYlskAiBG5JYJS7fuO+endXP5mrJP5OlnWpHLq8WB8Ih4omkQVw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":778407},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"5538301f5d328258bcc263c64ec1ec5d4e5eeb50","scripts":{"dev":"tsc --watch","test":"node scripts/check-version-literals.mjs && vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.9.0_1787038000943_0.8054058416331025","host":"s3://npm-registry-packages-npm-production"}},"1.10.0":{"name":"suppa-mcp-2","version":"1.10.0","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.10.0","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js"},"dist":{"shasum":"a16cba43905bc364c828cc601717fa4554160780","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.10.0.tgz","fileCount":34,"integrity":"sha512-d2U0kT6M2GHUfaLwlrMiWW5nqGu6tbwxfDhrn74SqpWh4fdUwTZdqF/zUfLthQiG9NQYo+lcwmkUuSBb8UF/2w==","signatures":[{"sig":"MEUCIQDiGikSBM61Pi5ZqO913E/kOrhjYdFb1HGt57603Um5jAIgMb6G2/w0qx+JkLUp/t10XNDeOKJAC6l/aEwgrygnsVk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":789271},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"ee8dcb91ef063fd0cb3d3b6793329938cf07901d","scripts":{"dev":"tsc --watch","test":"node scripts/check-version-literals.mjs && vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.10.0_1787040685101_0.45872108522848376","host":"s3://npm-registry-packages-npm-production"}},"1.10.1":{"name":"suppa-mcp-2","version":"1.10.1","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.10.1","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js"},"dist":{"shasum":"c4ef8c8622409de429d23fa8df56ef4d76bda031","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.10.1.tgz","fileCount":34,"integrity":"sha512-AOkRJSuP+i/MMF1g9NmU7euLELn0W4gw1GVKoZ+qWlVDnvkG6Eg9oXtUdKdRKBIcSp+0vyC8G2AlgeXU3FoMgg==","signatures":[{"sig":"MEUCIQDtGhNXVbfp8CHRiL/9q3Mq+6fHr81wOcLTCTYK+vll2QIgULSUnx40k8qJmK9QAZ5eI6yoXJkczAc/46OqWAUOslQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":790874},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"3e52a7cf0d0b878a8349789cdde165824382af16","scripts":{"dev":"tsc --watch","test":"node scripts/check-version-literals.mjs && vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.10.1_1787042246897_0.8477237444713912","host":"s3://npm-registry-packages-npm-production"}},"1.12.0":{"name":"suppa-mcp-2","version":"1.12.0","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.12.0","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js"},"dist":{"shasum":"b244e08294e883bc94c53e363bdbacc56c0ded53","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.12.0.tgz","fileCount":40,"integrity":"sha512-tNmhqaWgTG4Z9UNt7GDRcxrWWt7Agy3zCI4BMqsOQytN8le/kPR//c+A2D7aJnD0c/eXJzVTf5TC1/7OrCB1vg==","signatures":[{"sig":"MEUCIQDTGrl04SajwPZtbhtYCVm0pWrk7+ikchd/5wzgOHCSqQIgODvsZX23vWUXbdbcTYA2MKkA/ZoOZ6B6m9tWyNIWF9w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":860871},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"77c7f0d4e679c20ebe7b8fd8d8f89ad0054fe4ab","scripts":{"dev":"tsc --watch","test":"node scripts/check-version-literals.mjs && vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","schema:gate":"node skills/suppa-entity-code/scripts/entity-code-guard.mjs --ci .","guards:install":"node skills/suppa-entity-code/scripts/install-entity-code-guards.mjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.12.0_1787131918702_0.7104452525391454","host":"s3://npm-registry-packages-npm-production"}},"1.12.1":{"name":"suppa-mcp-2","version":"1.12.1","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.12.1","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js"},"dist":{"shasum":"0c715080986067b40b7fd076642ff07891f8b391","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.12.1.tgz","fileCount":40,"integrity":"sha512-kUDXPgB8DWel5HxV4/b/OatLDulJAlXUvjWcpuGDeDwY2m5Hf5zCqsnaN3H/5wComAHKCVAXKEzryYriWpq29A==","signatures":[{"sig":"MEUCIFiqVKC8redgZOUWIDPwsRMgw3upjeKRk7lr1iBhhNNcAiEA79ftP3EKAR3ucypcuSF7qG7q75ruIttL9aQ9LT5zeBs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":861352},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"3a00df4518d9a3a1dc3ce7fc6d265ae73947a3fc","scripts":{"dev":"tsc --watch","test":"node scripts/check-version-literals.mjs && vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","schema:gate":"node skills/suppa-entity-code/scripts/entity-code-guard.mjs --ci .","guards:install":"node skills/suppa-entity-code/scripts/install-entity-code-guards.mjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.12.1_1787137449811_0.4329208425058442","host":"s3://npm-registry-packages-npm-production"}},"1.13.0":{"name":"suppa-mcp-2","version":"1.13.0","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.13.0","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js"},"dist":{"shasum":"20d6a5e373c96805b54ad08f7f70ec711a05ddcf","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.13.0.tgz","fileCount":42,"integrity":"sha512-WZwhJu83RgczD/Jq/DdQC6SQTwhbi9NcfYScqM8mwUhNtgB16JUKCMRqN5Qpr2zKBFarfQski0tP3LaWpydXXQ==","signatures":[{"sig":"MEUCIGRhOangCuOahbB9rcoftXMjue4XiMuc5pkVRqvR3MFUAiEAyIuy90SulqSELtazFR1ny75YEDIrrLaHqXuIHY8pdr0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":887605},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"b13a6b867deb75a5c5b9d6d0b6eff1d5545703ac","scripts":{"dev":"tsc --watch","test":"node scripts/check-version-literals.mjs && vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","schema:gate":"node skills/suppa-entity-code/scripts/entity-code-guard.mjs --ci .","guards:install":"node skills/suppa-entity-code/scripts/install-entity-code-guards.mjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.13.0_1787643356251_0.41078467155117115","host":"s3://npm-registry-packages-npm-production"}},"1.13.1":{"name":"suppa-mcp-2","version":"1.13.1","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.13.1","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js"},"dist":{"shasum":"8cc05dde9e266a3af6ec05d2cd2f9764d8e2a1ca","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.13.1.tgz","fileCount":42,"integrity":"sha512-TUbbV+6IgZsQeRkVywxDfSBipOnVYw8uCxsqANp+TQeB92j0rsCnPmU0mpfBauASGnXlnuDlIRvh+ilHm+53sg==","signatures":[{"sig":"MEUCIQD+1/r8dWKGCpxH9K3usC6GYJ+eM9JAkjdCN9QD7px1aQIgYQN5ZhLbqX9J5kCm1tZn1FUhTas+mNUaBoRe34AHjPI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":889675},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"94ff0eab1210d6a5f0876a46aecaa8d593021076","scripts":{"dev":"tsc --watch","test":"node scripts/check-version-literals.mjs && vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","schema:gate":"node skills/suppa-entity-code/scripts/entity-code-guard.mjs --ci .","guards:install":"node skills/suppa-entity-code/scripts/install-entity-code-guards.mjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.13.1_1787644658996_0.0676205211054739","host":"s3://npm-registry-packages-npm-production"}},"1.14.0":{"name":"suppa-mcp-2","version":"1.14.0","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.14.0","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js"},"dist":{"shasum":"0a752032b501d163c8a032add227224135eb89f6","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.14.0.tgz","fileCount":42,"integrity":"sha512-zkYzywtJnXTvxs7TydnX9AGnS/RlupcGnxxowEyC5qikxD3y3T9ffUDJSoXX+ijq9tA6pcZwVTw6zSVL8dADHg==","signatures":[{"sig":"MEUCICo7+dzhDbe7bmRyfWxawTnakqWHzXAUaaQOeoj+wiZeAiEA/l/HhHdkOfjeg+BB7GngUKdnWEUTXGoYxNTg1nYdl2M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":898403},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"95108fb81d701898d3940cf7423cbc4fc2fde136","scripts":{"dev":"tsc --watch","test":"node scripts/check-version-literals.mjs && vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","schema:gate":"node skills/suppa-entity-code/scripts/entity-code-guard.mjs --ci .","guards:install":"node skills/suppa-entity-code/scripts/install-entity-code-guards.mjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.14.0_1787645977859_0.8544458362984964","host":"s3://npm-registry-packages-npm-production"}},"1.15.0":{"name":"suppa-mcp-2","version":"1.15.0","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.15.0","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js","suppa-entity-guards":"skills/suppa-entity-code/scripts/install-entity-code-guards.mjs"},"dist":{"shasum":"9894912061185d0327bf93f25998acc4010d86c6","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.15.0.tgz","fileCount":42,"integrity":"sha512-QSo0tGxHNmfcwTcMCkQ17MKk4HNgZgXNWGjV66SeTybVCrq6Eo4nzaFbwledkwlB7UC3iL4/2B6kxYUJ0VQK9g==","signatures":[{"sig":"MEYCIQCgRYJUOonmAinfakiJFtypqY1ECcDJsnBrFr93ilaGAwIhANVzdTy7CK5m78sJ3Z0t7gYr8uGdTwIJR7ZUANElH5r6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":900072},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"e9c5cd076e87430b7ccae766d890098ae532889d","scripts":{"dev":"tsc --watch","test":"node scripts/check-version-literals.mjs && vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","schema:gate":"node skills/suppa-entity-code/scripts/entity-code-guard.mjs --ci .","guards:install":"node skills/suppa-entity-code/scripts/install-entity-code-guards.mjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.15.0_1787733908463_0.8055187398995303","host":"s3://npm-registry-packages-npm-production"}},"1.16.0":{"name":"suppa-mcp-2","version":"1.16.0","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.16.0","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js","suppa-entity-guards":"skills/suppa-entity-code/scripts/install-entity-code-guards.mjs"},"dist":{"shasum":"f18d6ad7271e94d3a5bdd9dcb842ffaab88da346","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.16.0.tgz","fileCount":43,"integrity":"sha512-tL6xMRD0fEQS7QFB/wTjqw774nvb7boYDER/I4iXUR0AYWAL5Wqtd45tdqy1+IXp0Jm4CSmtkhyLOhmECFUp3A==","signatures":[{"sig":"MEUCIQCbqXCJXv0ZeamUd0KHQcpsdZjbjCUN1jBZcD9hzvojmQIgZtM4Lfbah3LyVp9g2HjnFOleb/xwx/PZaBsn32YTvOQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":906981},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"7cde4f62811cb8db43fb9d6319583cb19dc62e60","scripts":{"dev":"tsc --watch","test":"node scripts/check-version-literals.mjs && vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","postinstall":"node skills/suppa-entity-code/scripts/postinstall.mjs","schema:gate":"node skills/suppa-entity-code/scripts/entity-code-guard.mjs --ci .","guards:install":"node skills/suppa-entity-code/scripts/install-entity-code-guards.mjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.16.0_1787734926122_0.706302219986064","host":"s3://npm-registry-packages-npm-production"}},"1.16.1":{"name":"suppa-mcp-2","version":"1.16.1","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.16.1","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js","suppa-entity-guards":"skills/suppa-entity-code/scripts/install-entity-code-guards.mjs"},"dist":{"shasum":"c504a0c0cefbb419cd9525d53767bf4b61499db9","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.16.1.tgz","fileCount":43,"integrity":"sha512-9BoZtJyoi3p8W1U93jr57ZC5epNXP9lb24w2P5DCZ7BIuSjcbXb5BqHwYl+kH4L3fyck7ldNhZOqVFjP+bAXCw==","signatures":[{"sig":"MEYCIQCS1+He/XhlIn5qaqQ3Oftv6ZoBtyjehvyOehyidsYqTgIhAJqac2s6mdtmJefCNlmMacL4lHp/4EUHHzxokdbtu1xv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":908527},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"81c294b08cad5ad7681bb2516fbdb8ed77a58fe8","scripts":{"dev":"tsc --watch","test":"node scripts/check-version-literals.mjs && vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","postinstall":"node skills/suppa-entity-code/scripts/postinstall.mjs","schema:gate":"node skills/suppa-entity-code/scripts/entity-code-guard.mjs --ci .","guards:install":"node skills/suppa-entity-code/scripts/install-entity-code-guards.mjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.16.1_1787735870864_0.23476224239254817","host":"s3://npm-registry-packages-npm-production"}},"1.17.0":{"name":"suppa-mcp-2","version":"1.17.0","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.17.0","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js","suppa-entity-guards":"skills/suppa-entity-code/scripts/install-entity-code-guards.mjs"},"dist":{"shasum":"6e1b070f477709d3667a77ad44a76724a4eb6196","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.17.0.tgz","fileCount":43,"integrity":"sha512-j+5AOs31XWDOY85jJrk74YCwxWHHUHgte9/QRJX+2vfXgmMDx8wKBimup1GoxcJeNXAAeWeF+vH4UGXpuf84wQ==","signatures":[{"sig":"MEYCIQDw5xzTxUpzSHfwuo4UAFBeLDn6gvg3SQ+YdeYrpbcvswIhAJPAg6dm80Iq/45H47ZdbdTyRUNklW4D15lwY9qC7+J0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":909201},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"8c5ec7026d99e690387a6090edc28b0cc281b089","scripts":{"dev":"tsc --watch","test":"node scripts/check-version-literals.mjs && vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","postinstall":"node skills/suppa-entity-code/scripts/postinstall.mjs","schema:gate":"node skills/suppa-entity-code/scripts/entity-code-guard.mjs --ci .","guards:install":"node skills/suppa-entity-code/scripts/install-entity-code-guards.mjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.17.0_1787908090764_0.4919296275525886","host":"s3://npm-registry-packages-npm-production"}},"1.18.0":{"name":"suppa-mcp-2","version":"1.18.0","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.18.0","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js","suppa-entity-guards":"skills/suppa-entity-code/scripts/install-entity-code-guards.mjs"},"dist":{"shasum":"73f7d6910386daf2982872bc7aff01e0b48bd2a4","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.18.0.tgz","fileCount":43,"integrity":"sha512-B/fS1HPHzeUOPW0L5IllE55zI/yNHr6hgWsCSkiUcrdyYNtrgT78TpeqW9Yi2gwnl7aWvHMbs84Uq/KDApDvXA==","signatures":[{"sig":"MEYCIQD2ylUz2mdh1OH61Na4FLK3BYD9+8JXr692V2PORel6/AIhAMjY424d/GuwsDFmZtbkrIQ+fnkS6H+aQzIaeUBZhG9J","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":905599},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"9604607baa8f0f35c43444e1fda6153e14a35fe7","scripts":{"dev":"tsc --watch","test":"node scripts/check-version-literals.mjs && vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","postinstall":"node skills/suppa-entity-code/scripts/postinstall.mjs","schema:gate":"node skills/suppa-entity-code/scripts/entity-code-guard.mjs --ci .","guards:install":"node skills/suppa-entity-code/scripts/install-entity-code-guards.mjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.18.0_1787909402997_0.9060533652049294","host":"s3://npm-registry-packages-npm-production"}},"1.19.0":{"name":"suppa-mcp-2","version":"1.19.0","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.19.0","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js","suppa-entity-guards":"skills/suppa-entity-code/scripts/install-entity-code-guards.mjs"},"dist":{"shasum":"a4e48325ebd20e7d7f865699e68b4f73de09a233","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.19.0.tgz","fileCount":43,"integrity":"sha512-pFLfj4CmheEnnQzpX+rZMrv84u0Vu1HmLm0H1cN1hmAqfu5dfrf8iz88M/4Z9liCtI3ZydSzzD8+NYeQyfQB6w==","signatures":[{"sig":"MEYCIQCWMHJ+AK/tqlmJD3FDtxY4mqK2Smt09vOTHcjJg/2/2wIhAKrpV4dA4BOAKLMzzIq5HlzvAWJ5aTMNJ+OrIV9w1U5D","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":915128},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"51a18bada4e8f65419603d8907330830d40d2a89","scripts":{"dev":"tsc --watch","test":"node scripts/check-version-literals.mjs && vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","postinstall":"node skills/suppa-entity-code/scripts/postinstall.mjs","schema:gate":"node skills/suppa-entity-code/scripts/entity-code-guard.mjs --ci .","guards:install":"node skills/suppa-entity-code/scripts/install-entity-code-guards.mjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.19.0_1787910764154_0.2542958956015702","host":"s3://npm-registry-packages-npm-production"}},"1.20.0":{"name":"suppa-mcp-2","version":"1.20.0","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.20.0","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js","suppa-entity-guards":"skills/suppa-entity-code/scripts/install-entity-code-guards.mjs"},"dist":{"shasum":"003c7180fdcbc05eda959615d318e4b21a445e9e","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.20.0.tgz","fileCount":44,"integrity":"sha512-ah19o+NZGlSqSVOjTPrXP6CXz7yZy1w9jYEmaCsKEiXheepmfqgh+EoY55XapN2WOPUL7Im/w2DzfxXyfaotnQ==","signatures":[{"sig":"MEYCIQCpS8JQavS6Ufx4S5R5KHtTpSj9NC7/fc8Pt5mZg/r6zwIhAI3HZKD7iOBjsDCbSIf+P7VAXZjXhhEeOyHN4ptWut5+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":923537},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"8958c1751a4da4294b76fb061e7cc5eea7319581","scripts":{"dev":"tsc --watch","test":"node scripts/check-version-literals.mjs && vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","postinstall":"node skills/suppa-entity-code/scripts/postinstall.mjs","schema:gate":"node skills/suppa-entity-code/scripts/entity-code-guard.mjs --ci .","guards:install":"node skills/suppa-entity-code/scripts/install-entity-code-guards.mjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"deprecated":"Superseded — 1.15.0-1.27.0 cannot be launched with 'npx suppa-mcp-2' (no bin matching the package name). Use suppa-mcp-2@latest.","repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.20.0_1787915574711_0.6955645428068742","host":"s3://npm-registry-packages-npm-production"}},"1.21.0":{"name":"suppa-mcp-2","version":"1.21.0","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.21.0","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js","suppa-entity-guards":"skills/suppa-entity-code/scripts/install-entity-code-guards.mjs"},"dist":{"shasum":"c04778ac6e9d3bf909971861e13014a82cf27465","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.21.0.tgz","fileCount":44,"integrity":"sha512-K2YriPyCjxA01xK0/Q5o9wECEwnL0rZ6juPqmt++O6gi68Bw7xp4hkKNkKDHlAjD22ki3c2S1g7UwOjUXQUhbA==","signatures":[{"sig":"MEUCIHlQIFn6om8nuLs4Ln3XxxNvqhf8vkWdeqzaZ3q42lcYAiEAm1qJsxlOBIIp+/hIUQKtWfVs44HzFo0c2rBSDv41Xew=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":922315},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"1857311fa8c3a04513828a74a43245bd5f48c2c0","scripts":{"dev":"tsc --watch","test":"node scripts/check-version-literals.mjs && vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","postinstall":"node skills/suppa-entity-code/scripts/postinstall.mjs","schema:gate":"node skills/suppa-entity-code/scripts/entity-code-guard.mjs --ci .","guards:install":"node skills/suppa-entity-code/scripts/install-entity-code-guards.mjs","prepublishOnly":"npm run build && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.21.0_1787921395161_0.747921540963769","host":"s3://npm-registry-packages-npm-production"}},"1.21.1":{"name":"suppa-mcp-2","version":"1.21.1","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.21.1","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js","suppa-entity-guards":"skills/suppa-entity-code/scripts/install-entity-code-guards.mjs"},"dist":{"shasum":"378860ffb92042f0b5c3a4f0b0b060e4b164b62c","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.21.1.tgz","fileCount":43,"integrity":"sha512-RfjriDk0+1y83LwqfAuEY8K3b8Jbl8rC+PJTMGME0Jr4gWJhB0c/lYImWfmxAjObztIAwLHWrf1/h7VNcC5UGg==","signatures":[{"sig":"MEUCIQC/eMkgF2tg62OV9YNHXYAxE34ChHSx7Rae/hiFUjf6BgIgAModRmEBqxhElVgfPQ08wjDke0RMqMKlWzSWbX3UFT0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":918057},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"c9fafeef387d4a7082d2b4b43c813d218539ec3c","scripts":{"dev":"tsc --watch","test":"node scripts/check-version-literals.mjs && vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","postinstall":"node skills/suppa-entity-code/scripts/postinstall.mjs","schema:gate":"node skills/suppa-entity-code/scripts/entity-code-guard.mjs --ci .","guards:install":"node skills/suppa-entity-code/scripts/install-entity-code-guards.mjs","prepublishOnly":"npm run rebuild && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.21.1_1787921821226_0.3184919645909956","host":"s3://npm-registry-packages-npm-production"}},"1.21.2":{"name":"suppa-mcp-2","version":"1.21.2","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.21.2","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js","suppa-entity-guards":"skills/suppa-entity-code/scripts/install-entity-code-guards.mjs"},"dist":{"shasum":"2357fe5138e53129331f274269a7c9d106384f93","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.21.2.tgz","fileCount":43,"integrity":"sha512-vgqXmsyBVf/tBEdIBaCo0QJ/h0jcXYZfVNp8jGh+b/reeQqXJtDZpxPggT2wFKDoTkcV7IAKPAs7rIes9DUkZQ==","signatures":[{"sig":"MEUCIQDPJp0LhJ+31jdTBdGMPRcG5IOdwa+TFnrUbH7Ql2LhEQIgfT4YOxV/SYXe7y2uC9HdzG7jAO0FgUws47+C1lyUkGg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":918057},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"36d2b2bdf1addcb999e3a0563adc505768eef186","scripts":{"dev":"tsc --watch","test":"node scripts/check-version-literals.mjs && vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","postinstall":"node skills/suppa-entity-code/scripts/postinstall.mjs","schema:gate":"node skills/suppa-entity-code/scripts/entity-code-guard.mjs --ci .","guards:install":"node skills/suppa-entity-code/scripts/install-entity-code-guards.mjs","prepublishOnly":"npm run rebuild && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.21.2_1788157663831_0.17660483656090853","host":"s3://npm-registry-packages-npm-production"}},"1.22.0":{"name":"suppa-mcp-2","version":"1.22.0","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.22.0","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js","suppa-entity-guards":"skills/suppa-entity-code/scripts/install-entity-code-guards.mjs"},"dist":{"shasum":"6a4977886d9a509e9751dd386206452783792a71","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.22.0.tgz","fileCount":43,"integrity":"sha512-bsot+QTHXdmODkD1gw+eRlOHD8cn9hi68wjr34z4q9ZtM5nApS8hlbZhZHQXJYkZYaBT/USvh66fmd7rBGDokw==","signatures":[{"sig":"MEYCIQCVkenTFeI6QLVq5sdrmxYAhua1AOuoaHGPCSCLm4wtpgIhAKW07UWaqbLCxc1Mwk+YocezLDQn23pod10rn/oFdKjg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":993199},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"6e630f742c32aef2c711aed058f4ff680f57293c","scripts":{"dev":"tsc --watch","test":"node scripts/check-version-literals.mjs && vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","postinstall":"node skills/suppa-entity-code/scripts/postinstall.mjs","schema:gate":"node skills/suppa-entity-code/scripts/entity-code-guard.mjs --ci .","guards:install":"node skills/suppa-entity-code/scripts/install-entity-code-guards.mjs","prepublishOnly":"npm run rebuild && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.22.0_1788333920905_0.08476785687197208","host":"s3://npm-registry-packages-npm-production"}},"1.23.0":{"name":"suppa-mcp-2","version":"1.23.0","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.23.0","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js","suppa-entity-guards":"skills/suppa-entity-code/scripts/install-entity-code-guards.mjs"},"dist":{"shasum":"09bdae59c9370a5e8c1ab30e2c8c2ca0ebd8ad29","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.23.0.tgz","fileCount":44,"integrity":"sha512-DeMPcEb71i7dYrFl5qQPGIZpqHsRxJ94bMxwdHx09A0ePUrcA9HpozWEP3Oj0VapRdkEPKAL5oTTp3q0eJHOPA==","signatures":[{"sig":"MEUCIQD4lcFnfzFpiAV9qJF+/eDXIIuAs+5kndlTyzU9TvKHDAIgGjLxWJCifbnpOxCVS2R6pIbgzsZyAlzC4vIk6WlxEIo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":999679},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"8d018f82e4644c1571c0a531b1bce209a80c9916","scripts":{"dev":"tsc --watch","test":"node scripts/check-version-literals.mjs && vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","postinstall":"node skills/suppa-entity-code/scripts/postinstall.mjs","schema:gate":"node skills/suppa-entity-code/scripts/entity-code-guard.mjs --ci .","guards:install":"node skills/suppa-entity-code/scripts/install-entity-code-guards.mjs","prepublishOnly":"npm run rebuild && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.23.0_1788339657137_0.6791023691942326","host":"s3://npm-registry-packages-npm-production"}},"1.23.1":{"name":"suppa-mcp-2","version":"1.23.1","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.23.1","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js","suppa-entity-guards":"skills/suppa-entity-code/scripts/install-entity-code-guards.mjs"},"dist":{"shasum":"a66ddd3a6171eac1994462e0102b90f86b85f3e7","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.23.1.tgz","fileCount":44,"integrity":"sha512-rTHK6DWj5xYIB07xlwR/NrXqLCLGWRJ01qJ6zngKNaJ8u/dIJEQlcMIOgPqggUKRozHHp2KH0jWAU+7AGCuXWQ==","signatures":[{"sig":"MEQCIBdSihRJ3xl2PXvfm5H5v6QiAK07YVK4aq0LcON5b1etAiA8p6eoZzQtxT+XkqHSN6PZ3aX1B+5tKJvCHRy3Oo/i6w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1000030},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"e9e0698488204c6950583eba8ac847129f7628c6","scripts":{"dev":"tsc --watch","test":"node scripts/check-version-literals.mjs && vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","postinstall":"node skills/suppa-entity-code/scripts/postinstall.mjs","schema:gate":"node skills/suppa-entity-code/scripts/entity-code-guard.mjs --ci .","guards:install":"node skills/suppa-entity-code/scripts/install-entity-code-guards.mjs","prepublishOnly":"npm run rebuild && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.23.1_1788339963697_0.7053383217438487","host":"s3://npm-registry-packages-npm-production"}},"1.24.0":{"name":"suppa-mcp-2","version":"1.24.0","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.24.0","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js","suppa-entity-guards":"skills/suppa-entity-code/scripts/install-entity-code-guards.mjs"},"dist":{"shasum":"5065168bd99b2bb25eb1757f66c0647759363b04","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.24.0.tgz","fileCount":45,"integrity":"sha512-Hmtxd94VGxx/2Jym4ZpciInElTWF3o3nkhQr+RBOuW66B8UMaJtEiDOeoEQkU3Cpbza1reLxS7qmRwaU2WmtcA==","signatures":[{"sig":"MEUCIQCZrzhJmg0+rnndilBqUX8NN8p2W9fHD06aF6G9qdCvxQIgOD/kBvLN/ZIMKxC6g+FnK9cZPH3bVy5Ukpxn2tyAjHo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1005958},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"66b161eb3abc5815de36b063ecdd2a8c985ecba9","scripts":{"dev":"tsc --watch","test":"node scripts/check-version-literals.mjs && vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","postinstall":"node skills/suppa-entity-code/scripts/postinstall.mjs","schema:gate":"node skills/suppa-entity-code/scripts/entity-code-guard.mjs --ci .","guards:install":"node skills/suppa-entity-code/scripts/install-entity-code-guards.mjs","prepublishOnly":"npm run rebuild && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.24.0_1788344746697_0.4997435550807543","host":"s3://npm-registry-packages-npm-production"}},"1.25.0":{"name":"suppa-mcp-2","version":"1.25.0","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.25.0","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js","suppa-entity-guards":"skills/suppa-entity-code/scripts/install-entity-code-guards.mjs"},"dist":{"shasum":"48a097f95234c2e8ade6a8da227f6c5f755fc30f","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.25.0.tgz","fileCount":47,"integrity":"sha512-n/2aKUg1GX4kQJHTTSfRQ36ATprNcEV9TyCVJlzfwA1tfMne+nDNnUjforoUEQN0sSfvDNgehWZkZzXlbYcHJA==","signatures":[{"sig":"MEUCIQCv7R21zP8u2YMSJl5/ldwUy8ncoIAtYY1Bb8WqbLw2kwIgTVAuJeABOg1MO55CFddVi0t4QStABXOdQWGc3ZKuG+I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1019382},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"ad7e229c2c93ff64109580bf6d733a25294b827e","scripts":{"dev":"tsc --watch","test":"node scripts/check-version-literals.mjs && vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","postinstall":"node skills/suppa-entity-code/scripts/postinstall.mjs","schema:gate":"node skills/suppa-entity-code/scripts/entity-code-guard.mjs --ci .","guards:install":"node skills/suppa-entity-code/scripts/install-entity-code-guards.mjs","prepublishOnly":"npm run rebuild && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.25.0_1788349999652_0.2576188116461382","host":"s3://npm-registry-packages-npm-production"}},"1.26.0":{"name":"suppa-mcp-2","version":"1.26.0","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.26.0","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js","suppa-entity-guards":"skills/suppa-entity-code/scripts/install-entity-code-guards.mjs"},"dist":{"shasum":"ccc82ec9b85c8bcba7384772d2a1c107ab718577","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.26.0.tgz","fileCount":47,"integrity":"sha512-m6PGYSlvyyloLSbp9wxi7jUthrzud/Dha7XAA34FvN7Fy9+9iKeEZ5X+UjW6+8LJ676Pol0lvoHUc5OJ4LoNFQ==","signatures":[{"sig":"MEUCIQChgTyUHibpE4OifY5IkNBPO+P7DntJB9laayp8Uv8WxQIgA+rbAPNJMgyR2dHog05s4BfQ6VKT3Mb5wreY4x0dHCY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1025689},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"3ef34694f525616a8e8a9fc5e224dd3352a87ba4","scripts":{"dev":"tsc --watch","test":"node scripts/check-version-literals.mjs && vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","postinstall":"node skills/suppa-entity-code/scripts/postinstall.mjs","schema:gate":"node skills/suppa-entity-code/scripts/entity-code-guard.mjs --ci .","guards:install":"node skills/suppa-entity-code/scripts/install-entity-code-guards.mjs","prepublishOnly":"npm run rebuild && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.26.0_1788357366940_0.5193910238435968","host":"s3://npm-registry-packages-npm-production"}},"1.27.0":{"name":"suppa-mcp-2","version":"1.27.0","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.27.0","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js","suppa-entity-guards":"skills/suppa-entity-code/scripts/install-entity-code-guards.mjs"},"dist":{"shasum":"2e4936b33c9c760e1a30c3975870169777d97988","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.27.0.tgz","fileCount":50,"integrity":"sha512-216x+Mw7/mnAS0+aKNssoti7rWL13FftMfj8k9ibdIdmv7bKUGBHnaQePOyQc0Go4O5l6Vhba3rylSKhyBGB1g==","signatures":[{"sig":"MEUCIQDX2rEuPyCDJwiT/zsgnBwekkBs8J7lS+3pWoYXkfJ5ZgIgNmPzByUrfmhd2TqcTqC8jnMxccefdR3CFpGhLoKSOWQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1139831},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"bc772dfef11821a79412f73ab18a00d652a7ee36","scripts":{"dev":"tsc --watch","test":"node scripts/check-version-literals.mjs && vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","live:verify":"node scripts/verify-live-install.mjs","postinstall":"node skills/suppa-entity-code/scripts/postinstall.mjs","schema:gate":"node skills/suppa-entity-code/scripts/entity-code-guard.mjs --ci .","live:install":"node scripts/live-install.mjs","guards:install":"node skills/suppa-entity-code/scripts/install-entity-code-guards.mjs","prepublishOnly":"npm run rebuild && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.27.0_1788786164671_0.9967909675807025","host":"s3://npm-registry-packages-npm-production"}},"1.27.1":{"name":"suppa-mcp-2","version":"1.27.1","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.27.1","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js","suppa-mcp-2":"dist/bin.js","suppa-entity-guards":"skills/suppa-entity-code/scripts/install-entity-code-guards.mjs"},"dist":{"shasum":"576ca9d3ed149016e307b5524d3a914f595d40ff","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.27.1.tgz","fileCount":50,"integrity":"sha512-UdZQNW1ARQ6mQuD3JdfYNu7cCGRRwIxN8kiAsn7y6g7FvK4Aa2Tc/U9g+J1zlTZU43PoRhuHg8zQKk/yjXugEQ==","signatures":[{"sig":"MEUCIQDwPY2Lt8t7mw6Mx99bpWO2De7J3UpPH8Cj+mVjDeAwWAIgEPm5PkpqfcDlh126J2aBLZ8JfqDNJQMLsV08+LP7fU8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1139902},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"ef7b3370235d361e2ce0db582ce72db1cd697841","scripts":{"dev":"tsc --watch","test":"node scripts/check-version-literals.mjs && vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","live:verify":"node scripts/verify-live-install.mjs","postinstall":"node skills/suppa-entity-code/scripts/postinstall.mjs","schema:gate":"node skills/suppa-entity-code/scripts/entity-code-guard.mjs --ci .","live:install":"node scripts/live-install.mjs","guards:install":"node skills/suppa-entity-code/scripts/install-entity-code-guards.mjs","prepublishOnly":"npm run rebuild && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.27.1_1788876456355_0.34960068478911155","host":"s3://npm-registry-packages-npm-production"}},"1.28.0":{"name":"suppa-mcp-2","version":"1.28.0","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.28.0","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js","suppa-mcp-2":"dist/bin.js","suppa-entity-guards":"skills/suppa-entity-code/scripts/install-entity-code-guards.mjs"},"dist":{"shasum":"4b03a8a3204f8ef476322b1c297c351345fba1b2","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.28.0.tgz","fileCount":50,"integrity":"sha512-q3uncr3pSgVTuUX/pnWBMspjCIO19I3+LI6nTfcCjb/BnnotERnV/1FQuKXkwCWJKkLUjJqHlvcj+0zZWe4gwA==","signatures":[{"sig":"MEUCIQCwPzaRx+q2BmRWkUCLSBZa3S0aj/8goPaKveil0Q8pXgIgY93RO9UOIWXHzT1BxIBUxKmRSJpsB9LiBpFI32Bdatc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1140321},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"076fdd38bca5b7c139b5ecc2d7973c3106ae5878","scripts":{"dev":"tsc --watch","test":"node scripts/check-version-literals.mjs && vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","live:verify":"node scripts/verify-live-install.mjs","postinstall":"node skills/suppa-entity-code/scripts/postinstall.mjs","schema:gate":"node skills/suppa-entity-code/scripts/entity-code-guard.mjs --ci .","live:install":"node scripts/live-install.mjs","guards:install":"node skills/suppa-entity-code/scripts/install-entity-code-guards.mjs","prepublishOnly":"npm run rebuild && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.28.0_1788876680639_0.3831515706129758","host":"s3://npm-registry-packages-npm-production"}},"1.28.1":{"name":"suppa-mcp-2","version":"1.28.1","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.28.1","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js","suppa-mcp-2":"dist/bin.js","suppa-entity-guards":"skills/suppa-entity-code/scripts/install-entity-code-guards.mjs"},"dist":{"shasum":"119bdd310bdeec57e4137610e1b1dc6b5183cde5","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.28.1.tgz","fileCount":51,"integrity":"sha512-gsMJjCgTaHQcT8Ouy0KQkg4pUR+QSc+9KiBteRoat6/XmY3FhRqn9b3lfW0uxcCek1+7M1cuk690jwQG2vRwvQ==","signatures":[{"sig":"MEQCIFdj4IENaRjmzZJ9lQ7O47FecGJ7yVqDDu3tlYDSu+2nAiBS+iIPz8V83VHkIDCGgn5NYu+HqU69Eisi4tS19TP09Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1149983},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"debfd88e1954fa767a67249942c681b0b83f5593","scripts":{"dev":"tsc --watch","test":"node scripts/check-version-literals.mjs && vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","live:verify":"node scripts/verify-live-install.mjs","postinstall":"node skills/suppa-entity-code/scripts/postinstall.mjs","schema:gate":"node skills/suppa-entity-code/scripts/entity-code-guard.mjs --ci .","live:install":"node scripts/live-install.mjs","guards:install":"node skills/suppa-entity-code/scripts/install-entity-code-guards.mjs","prepublishOnly":"npm run rebuild && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.28.1_1788937937414_0.7057305784225358","host":"s3://npm-registry-packages-npm-production"}},"1.29.0":{"name":"suppa-mcp-2","version":"1.29.0","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.29.0","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js","suppa-mcp-2":"dist/bin.js","suppa-entity-guards":"skills/suppa-entity-code/scripts/install-entity-code-guards.mjs"},"dist":{"shasum":"bdf44b7e473158917e9dadadd019d4fe7530473e","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.29.0.tgz","fileCount":53,"integrity":"sha512-T5AcpVKnKRbjxbTWiypg32jHyvHacmBycGzBn3MrOclEMVktH3c/Rw15ogcLdbpiR7TTPMkTx0644RqtX0qG0A==","signatures":[{"sig":"MEYCIQDOYCbc78tBXL0bia6N4GAa00Cx2ZMF69aXdRjAYek7BgIhAK0ysoQDuh+B0MVOR+uI1EQoXaGNqgt3rl+Yb+D2Cyg9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1161591},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"f4b506c5782872730048be06411dbb939176d147","scripts":{"dev":"tsc --watch","test":"node scripts/check-version-literals.mjs && vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","live:verify":"node scripts/verify-live-install.mjs","postinstall":"node skills/suppa-entity-code/scripts/postinstall.mjs","schema:gate":"node skills/suppa-entity-code/scripts/entity-code-guard.mjs --ci .","live:install":"node scripts/live-install.mjs","guards:install":"node skills/suppa-entity-code/scripts/install-entity-code-guards.mjs","prepublishOnly":"npm run rebuild && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.29.0_1788939739774_0.5512959612732182","host":"s3://npm-registry-packages-npm-production"}},"1.30.0":{"name":"suppa-mcp-2","version":"1.30.0","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.30.0","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js","suppa-mcp-2":"dist/bin.js","suppa-entity-guards":"skills/suppa-entity-code/scripts/install-entity-code-guards.mjs"},"dist":{"shasum":"0cde6e897e4433cb66b619e27b786479ef49fbe0","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.30.0.tgz","fileCount":54,"integrity":"sha512-4sVW9E00zS9KMtlpuzj+3uPg9plA6rNw9DEBsECgcPaEb2wujJon+PXAh41St6U7OIC/rgAgGkxGFDE1hiZfbA==","signatures":[{"sig":"MEQCIHpnQ7Y1ERtGBOMNCXk8KWUCjMwzRn6VUdN0iOUu0YypAiBBlXvbtleItWH0HfpIZn14a5cDtWXsEagdPV8Xw01ZNA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1173928},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"a663cdb5c510df8fdfd1f31dfda9639a9451aad4","scripts":{"dev":"tsc --watch","test":"node scripts/check-version-literals.mjs && vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","live:verify":"node scripts/verify-live-install.mjs","postinstall":"node skills/suppa-entity-code/scripts/postinstall.mjs","schema:gate":"node skills/suppa-entity-code/scripts/entity-code-guard.mjs --ci .","live:install":"node scripts/live-install.mjs","guards:install":"node skills/suppa-entity-code/scripts/install-entity-code-guards.mjs","prepublishOnly":"npm run rebuild && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.30.0_1788941072234_0.0022717464036969837","host":"s3://npm-registry-packages-npm-production"}},"1.30.1":{"name":"suppa-mcp-2","version":"1.30.1","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.30.1","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js","suppa-mcp-2":"dist/bin.js","suppa-entity-guards":"skills/suppa-entity-code/scripts/install-entity-code-guards.mjs"},"dist":{"shasum":"1d2fbfb724c7129ff93b054c288b88bf46ff43e2","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.30.1.tgz","fileCount":54,"integrity":"sha512-cGnQJ4jXcHVEnTplS0y/WyoWxOA269lhZnkmlf2knqi80w4qDOReYTU4ERxMIH17iDff8kCTvLFlsiksDz2p3Q==","signatures":[{"sig":"MEYCIQC/E2R9gegpzSkvFPsXgYzv0beaTcUqrU8sUXmNG+hoEQIhAPtiKioKAtUdhVdabzOW5clbGyduwYiM60KUEbHF2h3T","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1174658},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"758251fbafe8c12fb2505c0b4907e02b5cd580c7","scripts":{"dev":"tsc --watch","test":"node scripts/check-version-literals.mjs && vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","live:verify":"node scripts/verify-live-install.mjs","postinstall":"node skills/suppa-entity-code/scripts/postinstall.mjs","schema:gate":"node skills/suppa-entity-code/scripts/entity-code-guard.mjs --ci .","live:install":"node scripts/live-install.mjs","guards:install":"node skills/suppa-entity-code/scripts/install-entity-code-guards.mjs","prepublishOnly":"npm run rebuild && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.30.1_1788951337241_0.6508929320650791","host":"s3://npm-registry-packages-npm-production"}},"1.31.0":{"name":"suppa-mcp-2","version":"1.31.0","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.31.0","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js","suppa-mcp-2":"dist/bin.js","suppa-entity-guards":"skills/suppa-entity-code/scripts/install-entity-code-guards.mjs"},"dist":{"shasum":"20e5bed8aec9b6dc47f5733e3ac93ba6227c8b49","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.31.0.tgz","fileCount":54,"integrity":"sha512-XgmT7kw+zK5TcR3Gw3lNck6Kb2MGtZROm1dmV11SH3mOClR7fo/V2GVuvG1m4zudSz2IYga0PFxTyqPUY9p1fg==","signatures":[{"sig":"MEUCIDljFiRk1qee/VuLBpNK/43jml9V8542rXXJkWxUgREgAiEAwq6YMIMUqdCLu8nfWzepFa5lAHge+k0U1d//98ZDfZ8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1176292},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"eeca566df36bad4ef76f353a7090f016868de177","scripts":{"dev":"tsc --watch","test":"node scripts/check-version-literals.mjs && vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","live:verify":"node scripts/verify-live-install.mjs","postinstall":"node skills/suppa-entity-code/scripts/postinstall.mjs","schema:gate":"node skills/suppa-entity-code/scripts/entity-code-guard.mjs --ci .","live:install":"node scripts/live-install.mjs","guards:install":"node skills/suppa-entity-code/scripts/install-entity-code-guards.mjs","prepublishOnly":"npm run rebuild && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.31.0_1788953120349_0.8640795594787871","host":"s3://npm-registry-packages-npm-production"}},"1.31.1":{"name":"suppa-mcp-2","version":"1.31.1","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.31.1","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js","suppa-mcp-2":"dist/bin.js","suppa-entity-guards":"skills/suppa-entity-code/scripts/install-entity-code-guards.mjs"},"dist":{"shasum":"3274321164b30427cd4b6822972d9f12d32a6d80","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.31.1.tgz","fileCount":54,"integrity":"sha512-NUk0yZdOh0SgKCrUK2eYCb3u/cxYRE1xDr6LjxfyTB65CAzTDx8hW+xg+0aRCYWbq/+G7OcCkzIe8enLXb/fjw==","signatures":[{"sig":"MEUCIQCU1lDI1xUOXcLIdj30m/ey8r0/TDSRC0mjFLtobCPp7AIgK7EzZqjqwsZ9ABaLr7Xpwje7ZGpwkvN2rDYYjg0hac4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1177986},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"b0eb051c36ec2ff1ae1996559ab1a683b1466392","scripts":{"dev":"tsc --watch","test":"node scripts/check-version-literals.mjs && vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","live:verify":"node scripts/verify-live-install.mjs","postinstall":"node skills/suppa-entity-code/scripts/postinstall.mjs","schema:gate":"node skills/suppa-entity-code/scripts/entity-code-guard.mjs --ci .","live:install":"node scripts/live-install.mjs","guards:install":"node skills/suppa-entity-code/scripts/install-entity-code-guards.mjs","prepublishOnly":"npm run rebuild && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.31.1_1788953821701_0.8255118092051839","host":"s3://npm-registry-packages-npm-production"}},"1.33.0":{"name":"suppa-mcp-2","version":"1.33.0","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.33.0","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js","suppa-mcp-2":"dist/bin.js","suppa-entity-guards":"skills/suppa-entity-code/scripts/install-entity-code-guards.mjs"},"dist":{"shasum":"1e58670ec4c0d84bc95b556d560b691e9b5ec832","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.33.0.tgz","fileCount":55,"integrity":"sha512-JiLO+TBTUK4qCl21ck2HpcllufzSuEvDrs0MFChkqZ1bX1LyZjpHdYmzNJrTlvE6CeAW1cKq0aUFvLZpPXC7Xw==","signatures":[{"sig":"MEUCICEKVD+9S2fhMAIrd85UN9f+AT0MICz12UjIB3vLUg6gAiEAv050EFP6RlNNpJv1L42nLb23lqSxkK3xGFlk7rMHdlU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGzylONZNmEdmR1jFgMLGbSakmVS7Qc3s8z1P/n44ZfgAiAxdi+YVen+l91vQuAe1CAvEiCfAArQWgVnSGZ/8XtDZw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1204737},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"353c7ffecca5267626f74bb5d75e52522d0729ca","scripts":{"dev":"tsc --watch","test":"node scripts/check-version-literals.mjs && vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","live:verify":"node scripts/verify-live-install.mjs","postinstall":"node skills/suppa-entity-code/scripts/postinstall.mjs","schema:gate":"node skills/suppa-entity-code/scripts/entity-code-guard.mjs --ci .","live:install":"node scripts/live-install.mjs","guards:install":"node skills/suppa-entity-code/scripts/install-entity-code-guards.mjs","prepublishOnly":"npm run rebuild && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.33.0_1789132166433_0.19665460721901806","host":"s3://npm-registry-packages-npm-production"}},"1.34.0":{"name":"suppa-mcp-2","version":"1.34.0","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.34.0","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js","suppa-mcp-2":"dist/bin.js","suppa-entity-guards":"skills/suppa-entity-code/scripts/install-entity-code-guards.mjs"},"dist":{"shasum":"74038f0fed79afccd38bc4bd91f662e3558bdbe9","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.34.0.tgz","fileCount":55,"integrity":"sha512-X1sZDQCNuUDw54F139h6eTsQ856DVtUNkmuoVuJgR1+uG4G5gRo6CBmkggribM0Y0q9AF5pVXE8S7kbhBurc9A==","signatures":[{"sig":"MEQCIASq0W51ZOZAXRntnbQiP/1nTK8IxDxEAfhwH74S//QoAiAn0YsAutT8VKR46XpjSLHLvbIOwAkqudkmZD+GbefoCA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDRmoF4VVbMrmwW1rc2ZWkxnd62e9y+RkERtNEfMV8GegIhAPxF0vc2ASBvsdKEhbOLZ+Fqslkl/poHQZRHmfAEEgW5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1218379},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"aedd4251d2ba4f7896034456ea818bea8e24c605","scripts":{"dev":"tsc --watch","test":"node scripts/check-version-literals.mjs && vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","live:verify":"node scripts/verify-live-install.mjs","postinstall":"node skills/suppa-entity-code/scripts/postinstall.mjs","schema:gate":"node skills/suppa-entity-code/scripts/entity-code-guard.mjs --ci .","live:install":"node scripts/live-install.mjs","guards:install":"node skills/suppa-entity-code/scripts/install-entity-code-guards.mjs","prepublishOnly":"npm run rebuild && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.34.0_1789133563337_0.2189977875256195","host":"s3://npm-registry-packages-npm-production"}},"1.35.0":{"name":"suppa-mcp-2","version":"1.35.0","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.35.0","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js","suppa-mcp-2":"dist/bin.js","suppa-entity-guards":"skills/suppa-entity-code/scripts/install-entity-code-guards.mjs"},"dist":{"shasum":"5af6690342610fbda13292d67dd9b03841bb0b21","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.35.0.tgz","fileCount":56,"integrity":"sha512-SaHw0FE7Wk0vnhuTryocPV8GSrYX0jeoS+LOujlBDQwLnBj/VikReeB4UUjvjiNWatgoPxpbHtCelj8n0wCXSw==","signatures":[{"sig":"MEUCIDOX7kLhcek2fuMsUuA3OKvQnPrfV6W6Byf8i+VnsY8JAiEAgCL4tmcIPigFFkovo6NGtoovpTiuX6pdf7nhDr/mVNQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDFpJYLN+F/6BW0tEIDmwhcelRCyOCS9G1/bjWbZP9d9AiEAnyKbNIXSGM5CYBzJQOZRYvbtbbmoHyqc2nlPZJ9ZXGQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1239429},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"8a25b9b9918c4cb319776395a6126f1a87ce4384","scripts":{"dev":"tsc --watch","test":"node scripts/check-version-literals.mjs && vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","live:verify":"node scripts/verify-live-install.mjs","postinstall":"node skills/suppa-entity-code/scripts/postinstall.mjs","schema:gate":"node skills/suppa-entity-code/scripts/entity-code-guard.mjs --ci .","live:install":"node scripts/live-install.mjs","guards:install":"node skills/suppa-entity-code/scripts/install-entity-code-guards.mjs","prepublishOnly":"npm run rebuild && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.35.0_1789137707629_0.767059425174927","host":"s3://npm-registry-packages-npm-production"}},"1.36.0":{"name":"suppa-mcp-2","version":"1.36.0","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.36.0","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js","suppa-mcp-2":"dist/bin.js","suppa-entity-guards":"skills/suppa-entity-code/scripts/install-entity-code-guards.mjs"},"dist":{"shasum":"5ff312aeffdb4714b22b50bfd68d4ccab66faed5","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.36.0.tgz","fileCount":56,"integrity":"sha512-Z6BXWVDAH0H72qXKUWlGZpQl2g9tbqZ7iqIBMyv/q+R2uxLpLLXnteNctihjqVV/6AtN1XwSMRATOBxQ8XD3fw==","signatures":[{"sig":"MEQCIEy6OEqWxWLcvgZfdJieUZVFYZ1c31CCvJu4whXikHWoAiADbei8KXiNROk/NLs6v53pmSQ+q2ylQGjD4715PAMlMQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQC+Mo/c+8bnXMlXLLwrAhCuOQaqxwvhONqa7bs9CzjkUgIgEYHtx/Ma8QNTjd7SI8DZK+lsStw1Q7aFiqtySFEQeW4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1244744},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"3e580d9717d667caa6fda614bb6b46912e0e7790","scripts":{"dev":"tsc --watch","test":"node scripts/check-version-literals.mjs && vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","live:verify":"node scripts/verify-live-install.mjs","postinstall":"node skills/suppa-entity-code/scripts/postinstall.mjs","schema:gate":"node skills/suppa-entity-code/scripts/entity-code-guard.mjs --ci .","live:install":"node scripts/live-install.mjs","guards:install":"node skills/suppa-entity-code/scripts/install-entity-code-guards.mjs","prepublishOnly":"npm run rebuild && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.36.0_1789457354611_0.15571422606557905","host":"s3://npm-registry-packages-npm-production"}},"1.37.0":{"name":"suppa-mcp-2","version":"1.37.0","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.37.0","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js","suppa-mcp-2":"dist/bin.js","suppa-entity-guards":"skills/suppa-entity-code/scripts/install-entity-code-guards.mjs"},"dist":{"shasum":"1922693fb07940f041f0f88aa76c4fdf202f9888","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.37.0.tgz","fileCount":56,"integrity":"sha512-Br3HxUCJt2u+nppUuAcQeMg7XP6VFLRZx6SK4mbcQLxw/DwRs/Pab4U2QNPsm8l40Qh5z3nhdpMgV95+LSt7og==","signatures":[{"sig":"MEUCIQD1wd9GGzKLsoIClkkGeK3x8OQqwYR3IRnKZj+6AUMsJAIgY0m8fmAixzAVJ1nWOPvTRPIb2qPr+ZJbq3PzMOBslGY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIQCzIW6Zh2R+ETL7sEsQY7rQxbk46TcmbqkEstnkbeZN8wIfOEBEp7xE/5kMUy+AQC0c4GAU0XFptkVZs5r8C2K21A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1249776},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"9dd8a3095bf13185b3a931c5954f6245808c8947","scripts":{"dev":"tsc --watch","test":"node scripts/check-version-literals.mjs && vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","live:verify":"node scripts/verify-live-install.mjs","postinstall":"node skills/suppa-entity-code/scripts/postinstall.mjs","schema:gate":"node skills/suppa-entity-code/scripts/entity-code-guard.mjs --ci .","live:install":"node scripts/live-install.mjs","guards:install":"node skills/suppa-entity-code/scripts/install-entity-code-guards.mjs","prepublishOnly":"npm run rebuild && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.37.0_1789459791565_0.1484376972354151","host":"s3://npm-registry-packages-npm-production"}},"1.38.0":{"name":"suppa-mcp-2","version":"1.38.0","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.38.0","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa-mcp":"dist/bin.js","suppa-mcp-2":"dist/bin.js","suppa-entity-guards":"skills/suppa-entity-code/scripts/install-entity-code-guards.mjs"},"dist":{"shasum":"17489298fb2b64b789bbac85243a5a7374af96e1","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.38.0.tgz","fileCount":56,"integrity":"sha512-s+0k8mXFNUbRTpbmIt6rlKt2JUOS2S57ZNXEMBjgsEAYgk+zs0mr11nd2vYxZrLk1rH09DOaJMhda8LGxou15g==","signatures":[{"sig":"MEUCIQDztTeatiVcRtSY5PyW0cEXCRbHxqU+o7dgD4VnDK8IFgIgKjMfwIHE2L6D58RxGSHltCxcMYA2p/0d6zpj6nsrt50=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDUlX/Ftj8wInzCMjDZqevNtxf+UHnexfZ0Fk1QkAuanwIhAOHD6GY9WpHz+OvGSc7/cwijNySNgh1ZXJed947+Gg2F","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1258540},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"539a529b9d4ed4f066501d3d2894a8f8b9a0730b","scripts":{"dev":"tsc --watch","test":"node scripts/check-version-literals.mjs && vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","test:watch":"vitest","live:verify":"node scripts/verify-live-install.mjs","postinstall":"node skills/suppa-entity-code/scripts/postinstall.mjs","schema:gate":"node skills/suppa-entity-code/scripts/entity-code-guard.mjs --ci .","live:install":"node scripts/live-install.mjs","guards:install":"node skills/suppa-entity-code/scripts/install-entity-code-guards.mjs","prepublishOnly":"npm run rebuild && npm test"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.18.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.38.0_1789479984700_0.6155440824674947","host":"s3://npm-registry-packages-npm-production"}},"1.39.0":{"name":"suppa-mcp-2","version":"1.39.0","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.39.0","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa":"dist/cliBin.js","suppa-mcp":"dist/bin.js","suppa-mcp-2":"dist/bin.js","suppa-entity-guards":"skills/suppa-entity-code/scripts/install-entity-code-guards.mjs"},"dist":{"shasum":"25b542f90dc4c56085a0784506fdf1d09e6688c2","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.39.0.tgz","fileCount":100,"integrity":"sha512-In2T0riqCdM6zaOneaVzwjTf1RT0N5kUYUq5vz9ORdHOQE38FvI4QrQ9DC+PEOHp0vcXmXWA19SBG2FYyDKRPQ==","signatures":[{"sig":"MEUCIGqtxZWRBzdfC6ZC5+v9cLY+LtS1nnhlZfmi6Exj/yyGAiEA99bL4Pxtr1R5tHI9nBByYZ1GbCEWxozrYi+bzRC/DS8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIAF0VyCqmpa7Li/cYXYiuEpz8/rDwLGS1m8ApiqVLgywAiB/DCMJrEhQoKbuaEtBHipFBHQX09Bs8nzOj03wFC6nxQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2296070},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"563110d9158e8d495d756e4b50551f3ac6d922fb","scripts":{"dev":"tsc --watch","test":"node scripts/check-version-literals.mjs && vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","form:gate":"node skills/suppa-form-v2/scripts/validate-form-schema.mjs","test:watch":"vitest","live:verify":"node scripts/verify-live-install.mjs","postinstall":"node skills/suppa-entity-code/scripts/postinstall.mjs","schema:gate":"node skills/suppa-entity-code/scripts/entity-code-guard.mjs --ci .","live:install":"node scripts/live-install.mjs","guards:install":"node skills/suppa-entity-code/scripts/install-entity-code-guards.mjs","prepublishOnly":"npm run rebuild && npm test","sync:formbuilder":"node scripts/sync-formbuilder.mjs"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","esbuild":"^0.21.5","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.39.0_1789983629678_0.3282953550442611","host":"s3://npm-registry-packages-npm-production"}},"1.40.0":{"name":"suppa-mcp-2","version":"1.40.0","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.40.0","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa":"dist/cliBin.js","suppa-mcp":"dist/bin.js","suppa-mcp-2":"dist/bin.js","suppa-entity-guards":"skills/suppa-entity-code/scripts/install-entity-code-guards.mjs"},"dist":{"shasum":"9c2466120c3bdb2ff5751139e439c09acabacf2e","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.40.0.tgz","fileCount":101,"integrity":"sha512-LMiR4cizwHJmQ0PgpX5pXYB26+1x3htQZ8bYwUTY/Qhybsn9osZRAFemWw4wHKWxd6KEvnStWFrF0WzWX7dsTg==","signatures":[{"sig":"MEQCIF93La64m52JZhZ9txJfFtg2P1K7fCUOps24rRQVAd+GAiB7MeeEBfYCKokcwSRI9JPVeqkoS7eRRNmLuYdeCdjazA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCleGoDlAe4u9+iqlWysasWDUlpdw3DbH7+RLKS/jTM5QIhAMW2p4qxfwDWmLXpPWd0Fr3IEAXV5AGJ+ec5ItgOvfQL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2359410},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"4cf05cf4763abc42c3ac092b5d2dc077f94ba832","scripts":{"dev":"tsc --watch","test":"node scripts/check-version-literals.mjs && vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","form:gate":"node skills/suppa-form-v2/scripts/validate-form-schema.mjs","test:watch":"vitest","live:verify":"node scripts/verify-live-install.mjs","postinstall":"node skills/suppa-entity-code/scripts/postinstall.mjs","schema:gate":"node skills/suppa-entity-code/scripts/entity-code-guard.mjs --ci .","live:install":"node scripts/live-install.mjs","guards:install":"node skills/suppa-entity-code/scripts/install-entity-code-guards.mjs","prepublishOnly":"npm run rebuild && npm test","sync:formbuilder":"node scripts/sync-formbuilder.mjs"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","esbuild":"^0.21.5","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.40.0_1789996254021_0.5266311663843117","host":"s3://npm-registry-packages-npm-production"}},"1.40.1":{"name":"suppa-mcp-2","version":"1.40.1","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.40.1","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa":"dist/cliBin.js","suppa-mcp":"dist/bin.js","suppa-mcp-2":"dist/bin.js","suppa-entity-guards":"skills/suppa-entity-code/scripts/install-entity-code-guards.mjs"},"dist":{"shasum":"e33115dd0012bd974ca2bd85c04192184caad439","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.40.1.tgz","fileCount":101,"integrity":"sha512-DNtj/GB5wLAeWAX/NlzQCod0BzXjioLcamcRc9G8RtBh6yk5cfMBqrV2CDQyzD2UMaq0nFxcyeko5m8ttaXn2Q==","signatures":[{"sig":"MEUCIQCu2kpJxrO+WOFdee6nall9OIWQ/zyqhmHALoZvVb32tgIgcBJeN5p3iH6vTTuLct4S/fC5F+wud3MWfkdKGtBPCjM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCX+B92Ud1J2W0hk3Sqr6MCqhAjCeRInLDt5xBw+pI6EAIhAJh67RwcX7kRoh+Z+reLAu+BOFdJbjYsZsINr0KHHtAD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2361280},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"80a5c574d6865088f13791a39dc7ab131dabb98b","scripts":{"dev":"tsc --watch","test":"node scripts/check-version-literals.mjs && vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","form:gate":"node skills/suppa-form-v2/scripts/validate-form-schema.mjs","test:watch":"vitest","live:verify":"node scripts/verify-live-install.mjs","postinstall":"node skills/suppa-entity-code/scripts/postinstall.mjs","schema:gate":"node skills/suppa-entity-code/scripts/entity-code-guard.mjs --ci .","live:install":"node scripts/live-install.mjs","guards:install":"node skills/suppa-entity-code/scripts/install-entity-code-guards.mjs","prepublishOnly":"npm run rebuild && npm test","sync:formbuilder":"node scripts/sync-formbuilder.mjs"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","esbuild":"^0.21.5","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.40.1_1789997180878_0.6137700536921193","host":"s3://npm-registry-packages-npm-production"}},"1.40.2":{"name":"suppa-mcp-2","version":"1.40.2","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.40.2","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa":"dist/cliBin.js","suppa-mcp":"dist/bin.js","suppa-mcp-2":"dist/bin.js","suppa-entity-guards":"skills/suppa-entity-code/scripts/install-entity-code-guards.mjs"},"dist":{"shasum":"886dc0a255464fabb4fc37f38128a581b0c24a52","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.40.2.tgz","fileCount":101,"integrity":"sha512-SuiAxyzS/v+g5RP6XZ+hv6/x9KhDlQCctZtKvm/wmbt7K5fa0Efp4xNMsMtl0ZdXci4PJVm2I5Pd4cW7jYJ+Tg==","signatures":[{"sig":"MEUCIFNtVoKpvV3SXNVrd39OPFS5M3Vw2OWC9iGxDlqGdJncAiEAkorOlLutO79hyM6WxQGeqhdOgXT5L/D5Rio+TXPCuQg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIH0/6YJ1JUkCeBrHsPzePorBoWOPfO4ax1Sq1H7gFo3uAiAXk6+yIlgSJcn2ktYQR00HwQR6bvxCyqGWgNwbvTX/tQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2363006},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"a2b81205e33f44f4c70d02c9983a33d98028612c","scripts":{"dev":"tsc --watch","test":"node scripts/check-version-literals.mjs && vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","form:gate":"node skills/suppa-form-v2/scripts/validate-form-schema.mjs","test:watch":"vitest","live:verify":"node scripts/verify-live-install.mjs","postinstall":"node skills/suppa-entity-code/scripts/postinstall.mjs","schema:gate":"node skills/suppa-entity-code/scripts/entity-code-guard.mjs --ci .","live:install":"node scripts/live-install.mjs","guards:install":"node skills/suppa-entity-code/scripts/install-entity-code-guards.mjs","prepublishOnly":"npm run rebuild && npm test","sync:formbuilder":"node scripts/sync-formbuilder.mjs"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","esbuild":"^0.21.5","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.40.2_1790000665691_0.38269456286481174","host":"s3://npm-registry-packages-npm-production"}},"1.40.3":{"name":"suppa-mcp-2","version":"1.40.3","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.40.3","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa":"dist/cliBin.js","suppa-mcp":"dist/bin.js","suppa-mcp-2":"dist/bin.js","suppa-entity-guards":"skills/suppa-entity-code/scripts/install-entity-code-guards.mjs"},"dist":{"shasum":"fb11f18b383b63c7ef42820894dc96991f7f6868","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.40.3.tgz","fileCount":101,"integrity":"sha512-AfC4subIrnZZ4wRvv9sR0PLMsLdeCbMsuBeb3s3kyjIslXXr35vuH7edV2UJYmP0QfA7tAKC1qpKH+ZA5D1tZg==","signatures":[{"sig":"MEQCIB5pv1/4dSniAT/q7o1/rBEzMt4ZMqVAV1vDz1z6lYu4AiBXWinC32ekj1BSoRPAst953l2Wx8SOwAsCtDOj2nf4ZA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFgxThMFnJGRVIRPGrd2AdwX0LdPX64IlSJfbHoUfnELAiEAqxQQXlIY0f01/1lxqrb72S4QBJbEgwv5X7dmCZnCofA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2364076},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"315e46a842c174ec31d455c8ea5089f259ed9874","scripts":{"dev":"tsc --watch","test":"node scripts/check-version-literals.mjs && vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","form:gate":"node skills/suppa-form-v2/scripts/validate-form-schema.mjs","test:watch":"vitest","live:verify":"node scripts/verify-live-install.mjs","postinstall":"node skills/suppa-entity-code/scripts/postinstall.mjs","schema:gate":"node skills/suppa-entity-code/scripts/entity-code-guard.mjs --ci .","live:install":"node scripts/live-install.mjs","guards:install":"node skills/suppa-entity-code/scripts/install-entity-code-guards.mjs","prepublishOnly":"npm run rebuild && npm test","sync:formbuilder":"node scripts/sync-formbuilder.mjs"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","esbuild":"^0.21.5","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.40.3_1790001194429_0.8973415142965044","host":"s3://npm-registry-packages-npm-production"}},"1.40.4":{"name":"suppa-mcp-2","version":"1.40.4","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.40.4","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa":"dist/cliBin.js","suppa-mcp":"dist/bin.js","suppa-mcp-2":"dist/bin.js","suppa-entity-guards":"skills/suppa-entity-code/scripts/install-entity-code-guards.mjs"},"dist":{"shasum":"4ea9d6d07872fd84a3773e2f513b021a0c693770","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.40.4.tgz","fileCount":101,"integrity":"sha512-gjmsspk9cSYnRnZtV0vmm5hmASKQac01d/HmqOC97VSkekt6rZlTkQiJ/CnMqlnonvmWSNY5u2iksONJBPu9Hw==","signatures":[{"sig":"MEUCIQCC7MonCNgq8VlFfCLOZdNmkHFvV+CAis5D7mO68uebUQIgIpdmLG4D7jrRpA14OxRq4MKqGYO6N2GS4PzfY+wDZ+I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIB8b5T0ZKBs2Th/FmEVn1+gwxSagBfza6kw9YoC7sfnSAiAVaHARvAEIPO7ax/k4nVh9zF0AqLpsG8IrwE0jLD3UKQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2380436},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"55d264fe1be97a29c60e047086100785ff8c1a84","scripts":{"dev":"tsc --watch","test":"node scripts/check-version-literals.mjs && vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","form:gate":"node skills/suppa-form-v2/scripts/validate-form-schema.mjs","test:watch":"vitest","live:verify":"node scripts/verify-live-install.mjs","postinstall":"node skills/suppa-entity-code/scripts/postinstall.mjs","schema:gate":"node skills/suppa-entity-code/scripts/entity-code-guard.mjs --ci .","live:install":"node scripts/live-install.mjs","guards:install":"node skills/suppa-entity-code/scripts/install-entity-code-guards.mjs","prepublishOnly":"npm run rebuild && npm test","sync:formbuilder":"node scripts/sync-formbuilder.mjs"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","esbuild":"^0.21.5","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.40.4_1790341441208_0.7698515241717889","host":"s3://npm-registry-packages-npm-production"}},"1.40.5":{"name":"suppa-mcp-2","version":"1.40.5","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.40.5","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa":"dist/cliBin.js","suppa-mcp":"dist/bin.js","suppa-mcp-2":"dist/bin.js","suppa-entity-guards":"skills/suppa-entity-code/scripts/install-entity-code-guards.mjs"},"dist":{"shasum":"87b78019b550e3416618145c8311204c3cc6a141","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.40.5.tgz","fileCount":101,"integrity":"sha512-yayK8IN/SPc1RsxSWymqrEuX/TO/WhkW/2aixeewSw2yNurfVpuGUgBRqWkmiv+pYcrjojzDX8aExwrmBNywGA==","signatures":[{"sig":"MEQCIF90YYxPWXsMkwfqy/JqOr43DWpKyEIfRH6kKwhuAda7AiBj1pJKA/yqFCChWVwdnQPDmt2dzk0g6GMz6yayUXtvpQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQC5t25TUEqcwcJrD2iP6NTStRwVbQfyI4A7SJvT1dRA+AIgcWzxa/KRbZl1zYQsnWAxenfYsUXrblV4bQNuVOKIzt0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2381175},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"7faa9153d08a04afe58e90f6aa99aadd6f9ed239","scripts":{"dev":"tsc --watch","test":"node scripts/check-version-literals.mjs && vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","form:gate":"node skills/suppa-form-v2/scripts/validate-form-schema.mjs","test:watch":"vitest","live:verify":"node scripts/verify-live-install.mjs","postinstall":"node skills/suppa-entity-code/scripts/postinstall.mjs","schema:gate":"node skills/suppa-entity-code/scripts/entity-code-guard.mjs --ci .","live:install":"node scripts/live-install.mjs","guards:install":"node skills/suppa-entity-code/scripts/install-entity-code-guards.mjs","prepublishOnly":"npm run rebuild && npm test","sync:formbuilder":"node scripts/sync-formbuilder.mjs"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","esbuild":"^0.21.5","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.40.5_1790594487991_0.869849309171232","host":"s3://npm-registry-packages-npm-production"}},"1.40.6":{"name":"suppa-mcp-2","version":"1.40.6","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.40.6","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa":"dist/cliBin.js","suppa-mcp":"dist/bin.js","suppa-mcp-2":"dist/bin.js","suppa-entity-guards":"skills/suppa-entity-code/scripts/install-entity-code-guards.mjs"},"dist":{"shasum":"0837bf24cc7e8fcd3857b43eb87a7234d6f4a4d0","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.40.6.tgz","fileCount":105,"integrity":"sha512-QSYNNiMTawL0mupftjCw771IqWzLFg0YZqoCxM9z+kv0UaFjBpgLcbZS0ZrjlwtaC6fWPOqQCLg7eGNfHiHJ6w==","signatures":[{"sig":"MEUCIQDbQB4ZfoEHK3i0X0ad9BajF0LLvj/YK1xKwGr4+ZYyqwIgLTZf8ev6bC1SvbEuit5hkrvNc5XkriisOgReuBNr5fk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIGj5WuQHO4yKOaBHNeuYx6uIc537zNbOJVi38xJZeNMmAiEAven8tQC/8FacNWLinFYzDb72XYlZ0akIvduyM6B+n30=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2463685},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"c46cc12ae40226e9b6195f381266022625a9d039","scripts":{"dev":"tsc --watch","test":"node scripts/check-version-literals.mjs && vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","form:gate":"node skills/suppa-form-v2/scripts/validate-form-schema.mjs","test:watch":"vitest","live:verify":"node scripts/verify-live-install.mjs","postinstall":"node skills/suppa-entity-code/scripts/postinstall.mjs","schema:gate":"node skills/suppa-entity-code/scripts/entity-code-guard.mjs --ci .","live:install":"node scripts/live-install.mjs","guards:install":"node skills/suppa-entity-code/scripts/install-entity-code-guards.mjs","prepublishOnly":"npm run rebuild && npm test","sync:formbuilder":"node scripts/sync-formbuilder.mjs"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","esbuild":"^0.21.5","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.40.6_1790667254063_0.42431766199113463","host":"s3://npm-registry-packages-npm-production"}},"1.41.0":{"name":"suppa-mcp-2","version":"1.41.0","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.41.0","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa":"dist/cliBin.js","suppa-mcp":"dist/bin.js","suppa-mcp-2":"dist/bin.js","suppa-entity-guards":"skills/suppa-entity-code/scripts/install-entity-code-guards.mjs"},"dist":{"shasum":"e1d567a1a2467181d6a863e810b9f10360975472","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.41.0.tgz","fileCount":108,"integrity":"sha512-Y3mvRxPqkrfA5oYAm8bZ+TNSHicUpmF6sE/djNwGI9EFjJWkYKT5KNtQPLAx4XOiLtouTpKmBsJdzlOz3axoMw==","signatures":[{"sig":"MEQCICIgxAdQczoX0LSpH1L19XqMB7cPauycXxwu658sU7S+AiBaVCLe8kHpQ8S1vD/2IGZPrjUT1OgXmIzFUXDsoG2nYQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC2CVjV3WiqxzSN+8oX0glH9G7r57OsGWNViow/Z0jRxgIhAIbObV7s3+7ufYpUzZDvLAQQF7Ygku3EtLZ74MebLK/8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2652869},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"b318c94e7faca0134df9bf3e720149b5195a9c41","scripts":{"dev":"tsc --watch","test":"node scripts/check-version-literals.mjs && vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","form:gate":"node skills/suppa-form-v2/scripts/validate-form-schema.mjs","test:watch":"vitest","live:verify":"node scripts/verify-live-install.mjs","postinstall":"node skills/suppa-entity-code/scripts/postinstall.mjs","schema:gate":"node skills/suppa-entity-code/scripts/entity-code-guard.mjs --ci .","live:install":"node scripts/live-install.mjs","guards:install":"node skills/suppa-entity-code/scripts/install-entity-code-guards.mjs","prepublishOnly":"npm run rebuild && npm test","sync:formbuilder":"node scripts/sync-formbuilder.mjs"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","esbuild":"^0.21.5","typescript":"^5.6.0","@types/node":"^20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.41.0_1790838536295_0.1894526183507912","host":"s3://npm-registry-packages-npm-production"}},"1.42.0":{"name":"suppa-mcp-2","version":"1.42.0","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"license":"MIT","_id":"suppa-mcp-2@1.42.0","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"homepage":"https://modern.suppa.me","bin":{"suppa":"dist/cliBin.js","suppa-mcp":"dist/bin.js","suppa-mcp-2":"dist/bin.js","suppa-entity-guards":"skills/suppa-entity-code/scripts/install-entity-code-guards.mjs"},"dist":{"shasum":"d9f5c6fd1c2dd5323144699cfe29bd2768c472d6","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.42.0.tgz","fileCount":112,"integrity":"sha512-x2UqPABLZHv6ipdBP7lqbMkeHbQ9UWRKna4fHXXvJhs1l0kJysXLY9K1Z7OyjTDGx7PkxfBHTBgAx4U6S1GRRg==","signatures":[{"sig":"MEQCIHmc+agHY52Y5U2f62skp/3VSveFpd7OrEmaIiRhzRkDAiAHcCJJUx07etMw+7vhIVU9BzY6Baz8QmY5BotTffiE5g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBsaS9mV5PaeVIK48DeKttAMDWNg8zLQddWazSd+SmujAiEA2EkBlVOaSYo3q4q+6umNDeUjYSs0SqbX6UwtDSy3YOc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2914426},"main":"dist/bin.js","type":"module","engines":{"node":">=18"},"gitHead":"9fadc7f572a1e850c3d6d7cae4bc299d8c0d4d85","scripts":{"dev":"tsc --watch","test":"node scripts/check-version-literals.mjs && vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","form:gate":"node skills/suppa-form-v2/scripts/validate-form-schema.mjs","test:watch":"vitest","live:verify":"node scripts/verify-live-install.mjs","postinstall":"node skills/suppa-entity-code/scripts/postinstall.mjs","schema:gate":"node skills/suppa-entity-code/scripts/entity-code-guard.mjs --ci .","live:install":"node scripts/live-install.mjs","guards:install":"node skills/suppa-entity-code/scripts/install-entity-code-guards.mjs","prepublishOnly":"npm run rebuild && npm test","sync:formbuilder":"node scripts/sync-formbuilder.mjs","sync:vue-compiler":"node scripts/sync-vue-compiler.mjs"},"_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","esbuild":"^0.21.5","typescript":"^5.6.0","@types/node":"^20.0.0","@vue/compiler-dom":"3.5.12"},"_npmOperationalInternal":{"tmp":"tmp/suppa-mcp-2_1.42.0_1790924280152_0.0051646987211115825","host":"s3://npm-registry-packages-npm-production"}},"1.42.1":{"_id":"suppa-mcp-2@1.42.1","bin":{"suppa":"dist/cliBin.js","suppa-mcp":"dist/bin.js","suppa-mcp-2":"dist/bin.js","suppa-entity-guards":"skills/suppa-entity-code/scripts/install-entity-code-guards.mjs"},"dist":{"shasum":"d13bb1fca76b64a71f864aa351b4b7be1c1a8b6e","tarball":"https://registry.npmjs.org/suppa-mcp-2/-/suppa-mcp-2-1.42.1.tgz","fileCount":114,"integrity":"sha512-s7x11Pj45wl1HtaJQs2+4g2usOdrTjeo7PjbBp8O2BvvUSaKGlN+WiuPdEXoMjvnF/hIKUfj57UTpGMyVGSM+g==","signatures":[{"sig":"MEQCICdWg2e/go+76/4gb2pqz9rX/UPMZqNs6BYuVsne6BpRAiBiDsQAugssN+5dEnUsgLRZZXqcvzCnLHQJGYlgA07LQg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIHia6mf3tFlzP6pJWMkWpSBzrJ3F9KywwQQCTfhyrx3wAiEA7CFxq0U6O3Vv5oEB2nE+NOGvUn6WdZBaH6bgK58n2n8="}],"unpackedSize":2941806},"main":"dist/bin.js","name":"suppa-mcp-2","type":"module","engines":{"node":">=18"},"gitHead":"53882e8e38d0f859553992bc59f3f25831e20e6a","license":"MIT","scripts":{"dev":"tsc --watch","test":"node scripts/check-version-literals.mjs && vitest run","build":"tsc","clean":"node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\"","start":"node dist/bin.js","inspect":"npx @modelcontextprotocol/inspector node dist/bin.js","rebuild":"npm run clean && npm run build","form:gate":"node skills/suppa-form-v2/scripts/validate-form-schema.mjs","test:watch":"vitest","live:verify":"node scripts/verify-live-install.mjs","postinstall":"node skills/suppa-entity-code/scripts/postinstall.mjs","schema:gate":"node skills/suppa-entity-code/scripts/entity-code-guard.mjs --ci .","live:install":"node scripts/live-install.mjs","guards:install":"node skills/suppa-entity-code/scripts/install-entity-code-guards.mjs","prepublishOnly":"npm run rebuild && npm test","sync:formbuilder":"node scripts/sync-formbuilder.mjs","sync:vue-compiler":"node scripts/sync-vue-compiler.mjs"},"version":"1.42.1","_npmUser":{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"},"homepage":"https://modern.suppa.me","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"_npmVersion":"11.17.0","description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","directories":{},"maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"_nodeVersion":"26.5.0","dependencies":{"zod":"^3.23.8","@napi-rs/keyring":"^1.1.0","@modelcontextprotocol/sdk":"^1.30.0"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^2.1.0","esbuild":"^0.21.5","typescript":"^5.6.0","@types/node":"^20.0.0","@vue/compiler-dom":"3.5.12"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/suppa-mcp-2_1.42.1_1790936273266_0.6062668457782585"}}},"time":{"created":"2026-07-01T09:59:20.587Z","modified":"2026-10-02T10:17:53.537Z","1.0.0":"2026-07-01T09:59:20.943Z","1.1.0":"2026-07-03T12:30:24.207Z","1.1.1":"2026-07-15T11:46:30.395Z","1.1.2":"2026-07-22T12:30:46.421Z","1.1.3":"2026-07-23T11:37:00.262Z","1.1.4":"2026-07-23T12:30:18.976Z","1.2.0":"2026-08-04T06:15:30.892Z","1.2.1":"2026-08-04T08:19:24.039Z","1.2.2":"2026-08-04T09:04:59.139Z","1.2.3":"2026-08-04T12:06:34.566Z","1.2.4":"2026-08-04T13:52:24.588Z","1.3.0":"2026-08-04T15:51:32.274Z","1.3.1":"2026-08-05T06:28:43.010Z","1.3.2":"2026-08-05T07:07:00.492Z","1.4.0":"2026-08-17T08:52:10.128Z","1.4.1":"2026-08-17T09:12:42.742Z","1.5.0":"2026-08-17T10:16:47.850Z","1.6.0":"2026-08-17T11:35:40.985Z","1.6.1":"2026-08-17T11:59:54.313Z","1.7.0":"2026-08-17T13:44:46.125Z","1.7.1":"2026-08-18T07:08:09.162Z","1.8.0":"2026-08-18T07:17:30.619Z","1.9.0":"2026-08-18T07:26:41.086Z","1.10.0":"2026-08-18T08:11:25.270Z","1.10.1":"2026-08-18T08:37:27.019Z","1.12.0":"2026-08-19T09:31:58.848Z","1.12.1":"2026-08-19T11:04:09.960Z","1.13.0":"2026-08-25T07:35:56.384Z","1.13.1":"2026-08-25T07:57:39.149Z","1.14.0":"2026-08-25T08:19:38.015Z","1.15.0":"2026-08-26T08:45:08.620Z","1.16.0":"2026-08-26T09:02:06.266Z","1.16.1":"2026-08-26T09:17:51.011Z","1.17.0":"2026-08-28T09:08:10.930Z","1.18.0":"2026-08-28T09:30:03.138Z","1.19.0":"2026-08-28T09:52:44.290Z","1.20.0":"2026-08-28T11:12:54.869Z","1.21.0":"2026-08-28T12:49:55.311Z","1.21.1":"2026-08-28T12:57:01.425Z","1.21.2":"2026-08-31T06:27:44.011Z","1.22.0":"2026-09-02T07:25:21.061Z","1.23.0":"2026-09-02T09:00:57.299Z","1.23.1":"2026-09-02T09:06:03.839Z","1.24.0":"2026-09-02T10:25:46.849Z","1.25.0":"2026-09-02T11:53:19.842Z","1.26.0":"2026-09-02T13:56:07.073Z","1.27.0":"2026-09-07T13:02:44.815Z","1.27.1":"2026-09-08T14:07:36.484Z","1.28.0":"2026-09-08T14:11:20.768Z","1.28.1":"2026-09-09T07:12:17.579Z","1.29.0":"2026-09-09T07:42:19.918Z","1.30.0":"2026-09-09T08:04:32.378Z","1.30.1":"2026-09-09T10:55:37.428Z","1.31.0":"2026-09-09T11:25:20.545Z","1.31.1":"2026-09-09T11:37:01.846Z","1.33.0":"2026-09-11T13:09:26.570Z","1.34.0":"2026-09-11T13:32:43.442Z","1.35.0":"2026-09-11T14:41:47.741Z","1.36.0":"2026-09-15T07:29:14.704Z","1.37.0":"2026-09-15T08:09:51.684Z","1.38.0":"2026-09-15T13:46:24.827Z","1.39.0":"2026-09-21T09:40:29.869Z","1.40.0":"2026-09-21T13:10:54.168Z","1.40.1":"2026-09-21T13:26:21.014Z","1.40.2":"2026-09-21T14:24:25.841Z","1.40.3":"2026-09-21T14:33:14.521Z","1.40.4":"2026-09-25T13:04:01.331Z","1.40.5":"2026-09-28T11:21:28.116Z","1.40.6":"2026-09-29T07:34:14.196Z","1.41.0":"2026-10-01T07:08:56.394Z","1.42.0":"2026-10-02T06:58:00.283Z","1.42.1":"2026-10-02T10:17:53.364Z"},"license":"MIT","homepage":"https://modern.suppa.me","keywords":["mcp","model-context-protocol","suppa","modern-expo","ai","llm","tools","claude","copilot","cursor"],"repository":{"url":"https://git.modern-expo.com/asu/me-development/skills.git","type":"git","directory":"suppa-mcp-node"},"description":"MCP server for the Suppa platform (modern.suppa.me) — Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments, with multi-tenant Google auth. Node port of PyPI suppa-mcp.","maintainers":[{"name":"taniant","email":"andrii.herasymchuk@modern-expo.com"}],"readme":"# suppa-mcp-2\n\nMCP (Model Context Protocol) server for the **Suppa 2.0** platform ([modern.suppa.me](https://modern.suppa.me)).\nAllows LLMs (Claude, GPT, Copilot, Cursor, etc.) to manage Tasks, Docs/Pages, Entities & Schema, Forms, Automations, and file attachments through standardised MCP tools — with multi-tenant Google authentication.\n\nThis is the Node.js/TypeScript port of the Python [`suppa-mcp`](https://pypi.org/project/suppa-mcp/) package, published to npm as **`suppa-mcp-2`**.\n\n[![npm version](https://img.shields.io/npm/v/suppa-mcp-2)](https://www.npmjs.com/package/suppa-mcp-2)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n\n---\n\n## Quick start\n\n### Run directly with npx\n\n```bash\nnpx suppa-mcp-2\n```\n\n### Or install from npm\n\n```bash\nnpm install -g suppa-mcp-2\n```\n\nNo API key needed to start — the server authenticates interactively via the `suppa_login` tool (see [Authentication](#authentication)).\n\n---\n\n## The `suppa` command\n\nThe same 104 operations the MCP server exposes are available as a command, for\nshells, scripts and CI:\n\n```bash\nnpm install -g suppa-mcp-2\nsuppa help\n\n# Or without a global install, use --package to select the CLI bin:\nnpx --package=suppa-mcp-2 -- suppa help\nsuppa use-tenant --tenant modern-expo\nsuppa search-records --entity-name Tasks --limit 5\n```\n\nBoth shells are generated from one table, so neither can drift from the other.\nThe command validates arguments against the same schema before sending\nanything, and carries the same approval gates: `--confirm` is never implied.\n\nNothing about a value is guessed: numbers are plain decimals, a flag is never\nread as another flag's value, and `--context-value 007` stays the text `007`.\nJSON, non-ASCII text and typed numbers travel in `--args-file <path>` or\n`--args-stdin` (a JSON object of arguments) — a shell that rewrites quotes,\nas PowerShell does, cannot touch them there. `--tenant <alias>` points one\ncall elsewhere; `--pretty` re-indents the answer. Exit codes: `0` done, `1`\nrefused or not fully done (`passed: false`, `created: false`, a non-zero\n`failed`), `2` refused before anything was sent.\n\nFor an endpoint no command covers there is `suppa api <METHOD> <path>` — the raw\ncall, with the CLI's session and tenant resolution. It exists only in the CLI,\nnever as an MCP tool, and it is gated because it skips every check the commands\nmake. Reads (GET, and POST to `…/select`, `…/search`, `…/query`, `…/count`) are\nsent at once. Anything else prints the request and sends nothing. With\n`--confirm` it is sent, but only to a tenant named by `--tenant`, never to the\nremembered one. The permanent delete stays refused. `suppa help api` has the\nflags. In Git Bash, leave off the path's leading slash (`core/schema`): MSYS\nrewrites an argument that starts with `/` into a Windows path, and the command\nrefuses that path and says why.\n\n---\n\n## Authentication\n\nThere is **no API key to paste**. Run the **`suppa_login`** tool from your MCP client — it opens a browser for Google sign-in, then stores the resulting tokens in the OS keychain (Windows Credential Manager / macOS Keychain / libsecret). The server is **multi-tenant**: log in to more than one Suppa tenant and switch with `suppa_use_tenant`.\n\nCredentials stay on your machine, are sent only in the `Authorization` header to your configured `SUPPA_BASE_URL`, and are **never** exposed to the AI agent. A `SUPPA_API_KEY` env var is an optional CI-only alternative.\n\n---\n\n## Configuration\n\nAll variables are optional — the server works out of the box and authenticates via `suppa_login`.\n\n| Variable | Default | Description |\n|---|---|---|\n| `SUPPA_BASE_URL` | `https://modern.suppa.me` | Platform base URL (the active tenant) |\n| `SUPPA_API_KEY` | (none) | JWT / API key; skips interactive login when set (CI) |\n| `SUPPA_REFRESH_TOKEN` | (none) | Refresh token; paired with `SUPPA_API_KEY` for long-lived CI sessions |\n| `SUPPA_LANG` | `en` | Language (`en` / `uk`) |\n| `SUPPA_LANGS` | (auto) | Languages a multi-language title/Name is written into. When unset, resolved from the platform: the languages the tenant has enabled (`SystemPreferences.availableLanguages`, what the builder UI reads), else the language keys of existing entity titles, falling back to `en,uk`. Only the 24 `Localizations` language columns are kept, and `en` is always included. Set e.g. `en,uk` to force it. |\n| `SUPPA_TZ` | `Europe/Kyiv` | Timezone, sent as `X-Timezone`. Must be an IANA name (`Europe/Kyiv`, `UTC`): the platform refuses an offset such as `+03:00` on every request, so an invalid value falls back to the default with a warning on stderr. |\n| `SUPPA_MCP_LOGIN_PORT` | `8080` | Local loopback port for the browser login callback |\n| `SUPPA_MCP_HOME` | `~/.suppa-mcp` | Directory for the tenant registry |\n| `SUPPA_HTTP_TIMEOUT` | `60` | Per-request timeout, seconds |\n| `SUPPA_MCP_DEBUG` | (off) | `1` logs each request line to stderr |\n| `SUPPA_MCP_NO_SELFTEST` | (off) | Set to skip the install-time self-check |\n| `SUPPA_MCP_NO_CACHE_REPAIR` | (off) | Set to keep the server from removing its own broken `_npx/<hash>` directory after an incomplete download (see below) |\n\n### The install checks itself\n\nEvery `npm install` / `npx` of this package runs a self-check before anything\nelse: it confirms each declared bin is on disk, then **starts the server in a\nchild process and makes it speak MCP** — `initialize`, then `tools/list`. A\nhealthy install prints one line:\n\n```\nsuppa-mcp-2: self-check ok — v1.30.0, 96 tools.\n```\n\nA broken one says what is wrong, what the host will show you instead, and the\ncommand that fixes it. This exists because the two faults that reached users —\na bin `npx` could not choose, and a truncated download missing `ajv` — were both\ninvisible to a test suite that only ever drove `dist/bin.js` directly, which is\nthe one path an MCP host never takes.\n\nIt never fails an install (a package that refuses to install is worse than one\nthat installs and complains), it touches no network, and it runs its child with\nrepair disabled so it can never delete the package while npm is still writing\nit. It reports on **stderr**, never stdout — under `npx` the install and the\nserver share one pipe, and stdout on that pipe is the JSON-RPC stream.\n`SUPPA_MCP_NO_SELFTEST=1` turns it off; `node dist/selfcheckCli.js` runs it by\nhand.\n\n**One caveat worth knowing.** npm 11 does not run lifecycle scripts by default —\nit prints `1 package has install scripts not yet covered by allowScripts` and\nskips them, so on those versions the self-check (and the entity-code guards) do\nnot run until you allow them:\n\n```\nnpm approve-scripts suppa-mcp-2\n```\n\nThat is npm's policy, not something this package can opt out of. It is why the\nserver also checks itself at **startup**: an incomplete install is caught there\nin every case, whatever npm decided about scripts.\n\n### When npx leaves a half-downloaded package\n\nAn interrupted `npx` download leaves the package in the cache with files\nmissing, and the symptom points at the wrong thing: Node cannot resolve a\ndependency, the process dies *before* the MCP handshake, and the host reports\n`CONNECT_TIMEOUT` / `CONNECTION_CLOSED` / `Server disconnected` — as though the\nserver had crashed, when it never ran.\n\nThe server now recognises this and repairs it. On a module-resolution failure it\nremoves **only** its own `_npx/<hash>` directory and exits, so the next launch\ndownloads a clean copy; the message on stderr names the missing module and the\ndirectory. It never clears the npm cache as a whole, never touches a global\ninstall or a project's `node_modules`, and never runs on a healthy start — a\nrepair is only ever a response to a failure that already happened. A second\nfailure within a minute leaves the directory alone, so a host that restarts the\nserver cannot loop.\n\n---\n\n## Use with Claude Desktop\n\nAdd to your `claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"suppa-2.0\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"suppa-mcp-2\"]\n    }\n  }\n}\n```\n\n## Use with Cursor\n\nAdd to `.cursor/mcp.json` in your project:\n\n```json\n{\n  \"mcpServers\": {\n    \"suppa-2.0\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"suppa-mcp-2\"]\n    }\n  }\n}\n```\n\n## Use with VS Code (Copilot)\n\nAdd to `.vscode/mcp.json`:\n\n```json\n{\n  \"servers\": {\n    \"suppa-2.0\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"suppa-mcp-2\"]\n    }\n  }\n}\n```\n\nThen run **`suppa_login`** once per tenant to authenticate.\n\n### Windows: prefer `node` over `npx`\n\nOn Windows `npx` runs through a `.cmd` shim, so a host that starts the server that way gets a chain\nof processes — `cmd` → `npx` → `node` — and ends only the first one. The server exits on its own\nonce its client is gone (its stdin closes), and `npx` follows it; but a direct launch has no chain\nto leave behind and starts faster. Install once and point the host at the entry file:\n\n```\nnpm i -g suppa-mcp-2\nnpm root -g        # e.g. C:\\Users\\<you>\\AppData\\Roaming\\npm\\node_modules\n```\n\n```json\n{\n  \"mcpServers\": {\n    \"suppa-2.0\": {\n      \"command\": \"node\",\n      \"args\": [\"C:\\\\Users\\\\<you>\\\\AppData\\\\Roaming\\\\npm\\\\node_modules\\\\suppa-mcp-2\\\\dist\\\\bin.js\"]\n    }\n  }\n}\n```\n\nUpdate with `npm i -g suppa-mcp-2@latest`; the path stays the same.\n\n---\n\n## Which version is running (and is it current)\n\nAn MCP client keeps whatever build it started with — an `npx` cache or a\n`node_modules` copy — for the whole session. Publishing a fix changes nothing\nfor that session, so \"the fix isn't working\" and \"I'm running last week's\nserver\" look identical from the inside. Two mechanisms keep them apart:\n\n- **`suppa_version`** — read-only, asks the npm registry live, and reports the\n  running version, the published one, and the upgrade command. Ask it first\n  whenever a tool or behaviour you expect is missing. `suppa_health_check` also\n  carries `version` in every report, so a bug report names its build without\n  anyone remembering to ask.\n- **An automatic notice.** The server checks the registry in the background\n  (detached, cached for 6h, 4s timeout, silent when offline — startup never\n  waits). If the running build is behind, the next session's instructions open\n  with an `OUTDATED` banner telling the agent to say so in its first reply, and\n  to restart the client after updating.\n\nUpgrading: `npm i -g suppa-mcp-2@latest`, or pin `suppa-mcp-2@latest` in the\nclient's MCP config — then **restart the client**. Without the restart the old\nprocess, and its old code, keep serving the session.\n\nOn the source side, the version is stated in `package.json` **only**.\n`scripts/check-version-literals.mjs` runs inside `npm test` (and so inside\n`prepublishOnly`) and fails the build if a version string is typed into `src/`:\nthe handshake once announced a hardcoded `1.6.1` for every release after it,\nwhich made the one diagnostic question unanswerable.\n\n## Agent workflow\n\nWhen an AI agent connects, the server provides built-in instructions describing the correct workflow. Auth first, then discover schema before reading or writing data:\n\n```\n┌─────────────────────────────────────────────────────────┐\n│  0. AUTHENTICATE (once per tenant)                       │\n│     suppa_login              — Google browser sign-in    │\n│     suppa_use_tenant         — switch active tenant      │\n├─────────────────────────────────────────────────────────┤\n│  1. DISCOVER ENTITIES                                    │\n│     suppa_list_entities(search?: \"task\")                 │\n│     suppa_search_entities    — fuzzy-find + record count │\n├─────────────────────────────────────────────────────────┤\n│  2. DISCOVER FIELDS                                      │\n│     suppa_describe_entity(entity_name)                   │\n│     suppa_list_field_types / suppa_list_tabular_parts    │\n├─────────────────────────────────────────────────────────┤\n│  3. READ DATA                                            │\n│     suppa_search_records / suppa_get_record              │\n│     suppa_search_tasks / suppa_get_task / …              │\n│     suppa_list_docs / suppa_read_page / suppa_get_blocks │\n│     suppa_list_automations / suppa_get_automation        │\n├─────────────────────────────────────────────────────────┤\n│  4. WRITE DATA (destructive/edit tools are confirm-gated)│\n│     suppa_create_record / suppa_update_record            │\n│     suppa_copy_record / suppa_restore_record             │\n│     suppa_create_entity / suppa_add_field                │\n│     suppa_create_automation / suppa_publish_automation   │\n└─────────────────────────────────────────────────────────┘\n```\n\n> **Important:** discover with `suppa_list_entities` → `suppa_describe_entity` before reading or writing — field names, types, and filters vary between entities. Edit/delete tools return a **confirmation preview** first and only apply when re-called with `confirm=true`.\n\n### What the server does not send back\n\nA tool result is not paid once: the whole conversation is re-sent on every turn, so a long string returned early is charged again on every later turn and is still occupying the window when compaction fires. These bytes are therefore removed on the way out — each chosen because it carries nothing the reader does not already hold or is not told:\n\n| Removed | Why it is safe |\n|---|---|\n| `$readAccess`, `$updateAccess`, `$instanceAccess` | Lists of field names, identical on every row of an entity, read by nothing in this server. Suppressed at the source with `getAccessByFields: false` where the endpoint documents the flag, and stripped by name in `makeRequest` everywhere else. Two bounds, both deliberate: only these three key names (never a blanket `$`-prefix rule, which would silently eat a future key that matters), and only at **record level** — the response object, and each row of a returned array. The strip never descends into a value, so a `json`-typed field holding data that happens to use these names is left exactly as stored. |\n| Long values in a **confirmation preview** | `proposed_changes` was built by copying the tool's own arguments back out. The value is verbatim in the same tool call, so it is named and sized instead: `<4231 chars — unchanged from this call's arguments>`. Short values stay verbatim, and `target` — the half that says *what* is about to change — is never touched. |\n| Long values a **write echoed back** | An insert with no `returning` projection answers with the whole stored record, so the HTML just uploaded returns with it. Replaced only when byte-identical to what was sent, and the marker says what was checked — `<4231 chars — identical to the value this call wrote>`, not a claim about what you typed (a task description passes through `wrapHtml()` on the way out). If the platform normalised the markup or filled a default, the stored value differs — that difference is real information and comes back in full. |\n\n| **Schema reads** (`suppa_describe_entity`) | A field lists only what departs from the platform defaults: constraints that are `null`, flags that are `false`/`0` and options at their default (`canGroup`/`canSort`/`showInTable`/`editFromTable`/`canFilter` true, `readOnly`/`searchable` false) are omitted, and a title keeps its language keys only. The result leads with a `_legend` stating exactly that rule, and `full=true` returns the platform's raw schema. Measured on a live tenant: Tasks 43,316 → 16,687 characters, Users 14,829 → 4,858. `suppa_list_entities` reduces each title the same way (24,840 → 13,132 for 202 entities; `full=true` keeps it whole). |\n| `deletedAt: null` **on expanded relations** | The platform adds `deletedAt` to every relation it expands — `null` on every live row, nine times per task. Dropped only inside relations named by a projection **this server wrote** (tasks, docs, forms, automations), never inside a `json` value and never where the projection asked for it; a non-null value — the related row *is* deleted — always comes back. A projection the caller supplied (`suppa_search_records`) is returned as sent. |\n| **A stage's status object** | `suppa_list_workflows` / `suppa_list_stages` return `status` as its value (`\"completed\"`) instead of the expanded enum row; the value is the one word every stage decision reads. 68,565 → 41,119 characters for 162 workflows. |\n| **A task's second description** | `suppa_get_task` drops `plainDescription` when it is exactly `htmlDescription` with the tags removed — the HTML is what an edit has to send back, and the text is one strip away. When the two differ, both come back. |\n\nThe key is always kept, so \"the field was written\" is never in doubt. A marker is not the stored text: quote the value to the user from your own arguments.\n\nThe same discipline applies to what every session pays before the first call. The `instructions` block is budgeted (`test/instructionsBudget.test.ts`), and `tools/list` goes out without the JSON-Schema boilerplate no model reads — the `$schema` URI on each tool, `\"default\": null` on optional parameters, the two-branch `anyOf` where a type array says the same — while every property, `required` list, enum, non-null default and description is kept and compared against the SDK's own output in `test/toolsListEconomy.test.ts`. Measured on the shipped listing: 103,058 characters for 89 tools uncompacted, 95,074 compacted; 100,867 for the 93 tools of 1.27.0, of which the four custom-field tools are 5,007. The ceiling in that test was raised from 96,000 to 101,500 deliberately, in the same commit and with the arithmetic in its comment.\n\n\n### Deletes are reversible — permanent delete is blocked\n\nThis server performs **reversible deletes only**. Every delete tool calls the platform's\nsoft delete, `POST /core/data/:entity/remove`, which sets `deletedAt` and leaves the row in\nthe table; `suppa_restore_record` clears it again.\n\nThe platform's permanent delete — `POST /core/data/:entity/delete`, where *\"the rows leave\nthe table and cannot be restored\"* — is **deliberately unavailable here**, and the block is\nnot a tool-level check that a future tool could miss: `src/httpClient.ts` refuses that route\nshape at the single choke point every request to a 2.0 tenant passes through — `makeRequest`\nand `makeRequestRawBytes` — before any `fetch`. No tool, parameter, `confirm=true` or direct\n`makeRequest` call can reach it, and an attempt raises\n\n```\nREFUSED BY POLICY — permanent delete is not available through this server. …\nUse the reversible pair instead: /remove … undone with suppa_restore_record.\n```\n\nNeighbouring routes are untouched: `/remove`, `/restore`, `/copy/:id`,\n`/core/builder/:entity/remove-fields` and an entity legitimately named `DeleteRequests` all\nwork normally. Erasing data for good is an admin action in the platform's own UI.\n\n---\n\n### Custom fields\n\nA tenant can add columns to an entity from the running product, and they are **scoped to a\ncontext** — in practice, one project. The pieces:\n\n| Piece | What it is |\n|---|---|\n| `options.customFields` on the entity | Turns the feature on and creates the `{Entity}CustomFields` extension table. `suppa_update_entity_options`. |\n| A **set** (`CustomFieldSets`) | Entity + context field + context value, e.g. `Tasks.project = \"2556\"`. An ordinary record — the generic tools reach it. |\n| A **link row** (`CustomFieldSetFields`) | Puts one field in one set, with `required` / `readOnly` / `defaultValue`. Also an ordinary record. |\n| The values | Live on the OWNER record under the reserved `customFields` key. |\n\n```text\nsuppa_update_entity_options(\"Tasks\", '{\"customFields\": true}', confirm=true)\nsuppa_add_custom_field(\"Tasks\", \"budget\", \"numeric\", context_field=\"project\", context_value=2556)\nsuppa_update_record(\"Tasks\", 900, '{\"customFields\": {\"budget\": 600}}', confirm=true)\nsuppa_get_record(\"Tasks\", 900, '{\"id\": true, \"customFields\": {\"budget\": true}}')\n```\n\nThe `confirm=true` on the write is not optional: every tool that changes existing data\nreturns a confirmation preview first and applies nothing until it is re-called with it.\n\nFive things worth knowing before the platform tells you the hard way, all verified against a\nlive 2.0 tenant. The first two are refusals that name the next step; the rest are behaviour:\n\n- **A custom field must belong to a set.** Pass `context_field` + `context_value` (the set\n  for that context is created if it has none) or `set_ids`. Neither is HTTP 400.\n- **A custom field cannot be created NOT NULL** on this platform build, in either form — so\n  `suppa_add_custom_field` has no `required` parameter at all. Per-context obligation lives on\n  the link row instead: set `required` on the `CustomFieldSetFields` record.\n- **One field can live in SEVERAL contexts.** The link row is the membership, so the same\n  column and the same values are offered in each — `suppa_link_custom_field` adds or removes\n  that membership. Verified live: a field resolved in two contexts at once and a record in the\n  newly linked one accepted a value for it.\n- **`readOnly` and `defaultValue` on the link row are NOT enforced** by the data API — an\n  update through a readOnly link stored the value, and a record created without one did not\n  receive the default (both verified live). `required` IS enforced, but only when the record's\n  custom-values row is written: a create that omits the `customFields` envelope entirely still\n  succeeds.\n- **`/schema` lags** up to a minute behind an add or a remove; `suppa_resolve_custom_fields`\n  is current immediately. `suppa_add_custom_field` confirms itself through resolve when it was\n  given a context, and says so when the field it just created is not in the answer. The other\n  three writers return the platform's own rows — read them back with resolve, not with a schema\n  call, or you will be told the old field list for the next minute.\n- **Removal is reversible.** `suppa_remove_custom_field` soft-deletes the metadata and the\n  platform *renames* the column to `<name>_<timestamp>` rather than dropping it, so\n  `suppa_restore_custom_field` brings the field and every value back. The NAME is freed\n  (entity-builder, 2026-09-25): a new field can take it, but that field starts empty, and the\n  removed one can then not be restored while its twin lives. `suppa_apply_custom_fields`\n  therefore never re-creates a removed field — it reports it under `parked`.\n- **Restoring a record restores its values with it.** Deleting a record soft-deletes the row\n  holding its custom values; the platform's own restore does not clear that row, which reads\n  back as stale values (or as none, with `include_deleted_relations=false`) and makes the next\n  write create a *second* values row. `suppa_restore_record` restores both — its confirmation\n  preview names the second table, and it leaves a `{Entity}CustomFields` alone when the tenant\n  has an entity of that name (the platform keeps its own extension tables out of the schema\n  listing, so a listed one is the tenant's).\n\n### Two rules that are easy to get wrong\n\n**An enum's values belong to the group named by the field's `subType`.** That is the only\nbinding the platform enforces — the value picker filters on it and the enum validation checks\nit. The familiar `Entity.field` shape is a *client convention*, not something the backend\ngenerates or parses; live tenants also carry groups called `Salutation` or `department`. So\nfor a field that already exists, **read** the name, never rebuild it:\n\n```text\nsuppa_add_enum_values(values=\"high:High,low:Low\", entity_name=\"TasksCustomFields\", field_name=\"stage\")\n```\n\n`enum_name` on its own stays for a group whose field does not exist yet. Passing both, with\na name that disagrees with the field, is refused rather than silently preferred — values\nwritten under the wrong name are invisible to the field.\n\n**An entity name is at most 30 characters, letters, numbers and underscores.** The platform\ntypes it as `@Length(1, 30)` and the rename path applies the same bound, so\n`suppa_create_entity` refuses a longer one before sending anything. The `{Name}CustomFields`\nextension table is created outside that check and is not subject to it.\n\n## Available tools\n\n104 tools across the areas below.\n\n### Session & identity\n\n| Tool | Description |\n|---|---|\n| `suppa_get_me` | Current authenticated user's profile |\n| `suppa_login` | Google browser sign-in for a tenant (stores tokens in OS keychain) |\n| `suppa_use_tenant` | Switch the active tenant (alias / host / URL) |\n| `suppa_list_tenants` | List known tenants + which is active / authenticated |\n| `suppa_logout` | Remove stored credentials for a tenant |\n| `suppa_diagnostics` | Validate the whole multi-tenant setup |\n| `suppa_health_check` | Config + upstream connectivity check (reports `version`) |\n| `suppa_version` | Running build vs newest published, and how to upgrade |\n| `suppa_validate_entity_code` | Run the schema gate over an app repo before calling entity code done |\n\n### Tasks\n\n| Tool | Description |\n|---|---|\n| `suppa_search_tasks` | Search tasks (my / active / overdue / due-today filters, paginated); `task_ids` reads several known tasks in one call; `fields_json` narrows each row |\n| `suppa_count_tasks` | Count tasks matching filters |\n| `suppa_get_task` | Get a single task (full details, or only `fields_json`) |\n| `suppa_create_task` | Create a task |\n| `suppa_update_task` | Update a task (confirm-gated) |\n| `suppa_delete_task` | Delete a task (confirm-gated) |\n| `suppa_move_task` | Move a task to another stage (confirm-gated) |\n| `suppa_close_task` | Close a task (confirm-gated) |\n| `suppa_add_comment` | Add a comment (supports @mentions) |\n| `suppa_get_comments` | Get comments on a task |\n| `suppa_attach_file` | Attach a local file to a task |\n| `suppa_list_workflows` | List Task workflows |\n| `suppa_list_stages` | List stages of a workflow |\n| `suppa_list_task_types` | List task types |\n| `suppa_search_users` | Search users (feeds assignee / mentions) |\n\n### Docs & pages\n\n| Tool | Description |\n|---|---|\n| `suppa_list_docs` | List docs (`fields_json` narrows each row) |\n| `suppa_get_doc` | Get a doc (page tree included, or only `fields_json`) |\n| `suppa_create_doc` | Create a doc |\n| `suppa_update_doc` | Update a doc (confirm-gated) |\n| `suppa_delete_doc` | Delete a doc (confirm-gated) |\n| `suppa_list_pages` | List pages of a doc (`fields_json` narrows each row) |\n| `suppa_get_page` | Get a page (metadata, or only `fields_json`) |\n| `suppa_create_page` | Create a page |\n| `suppa_update_page` | Update a page (confirm-gated) |\n| `suppa_delete_page` | Delete a page (confirm-gated) |\n| `suppa_get_blocks` | Get raw blocks of a page |\n| `suppa_read_page` | Read a page rendered to text |\n| `suppa_create_blocks` | Create blocks from a JSON array (11 block types) |\n| `suppa_insert_block` | Insert a block at a position |\n| `suppa_update_block` | Update a block (confirm-gated) |\n| `suppa_delete_block` | Delete a block (confirm-gated) |\n| `suppa_reorder_blocks` | Reorder blocks on a page |\n\n### Entities & records\n\n| Tool | Description |\n|---|---|\n| `suppa_list_entities` | List entities (tables) |\n| `suppa_describe_entity` | Field definitions + types for an entity (compact by default; `full=true` for the raw schema) |\n| `suppa_list_tabular_parts` | List tabular parts (ТЧ) of an entity |\n| `suppa_search_records` | Search / filter records in any entity — nested AND/OR groups, auto-diagnoses an empty result (`deleted_scope` finds soft-deleted rows) |\n| `suppa_validate_select` | Check a select/filter payload against the entity without running it — names the field that does not resolve |\n| `suppa_query` | Run one read-only SuppaSQL statement (SELECT/WITH) with the caller's read permissions — check a SQL chart or table source before writing the form |\n| `suppa_get_record` | Get a single record (`deleted_scope` reads a soft-deleted one) |\n| `suppa_create_entity` | Create a new entity (`options_json`: comments / globalSearch / hierarchy …) |\n| `suppa_create_tabular_part` | Create a tabular part (owned rows) of a parent |\n| `suppa_add_field` | Add a field to an entity (`options_json`: searchable / showInTable / canFilter …) |\n| `suppa_update_field` | Edit an existing field — name, title, flags, options, encryption (confirm-gated) |\n| `suppa_change_field_type` | Change a field's type, converting every row — the platform's plan first, a refused plan never sent, a loss (locale loss, restoring an earlier column) sent only when accepted by name, a default the new type cannot hold replaced in the same call (confirm-gated) |\n| `suppa_update_entity_options` | Toggle the 20 per-entity features — comments, hierarchy, approvals, customFields … (confirm-gated) |\n| `suppa_add_enum_values` | Add values to an enum field — the group is read from the field's subType |\n| `suppa_resolve_custom_fields` | Which custom fields are live for a record or context, and their values |\n| `suppa_add_custom_field` | Create a custom field in one context (its set is created if missing) |\n| `suppa_add_custom_fields_batch` | Create MANY custom fields in ONE atomic call — one bad entry creates nothing |\n| `suppa_link_custom_field` | Put an existing custom field into another context, take it out, or set `required` there (confirm-gated) |\n| `suppa_apply_custom_fields` | Apply a custom-field declaration FILE from the repo — idempotent, never deletes, dry run by default |\n| `suppa_remove_custom_field` | Soft-remove custom fields; the column is parked, not dropped (confirm-gated) |\n| `suppa_restore_custom_field` | Put a removed custom field and its values back (confirm-gated) |\n| `suppa_set_title_field` | Set the representative/title field |\n| `suppa_list_field_types` | List supported field types |\n| `suppa_create_record` | Create a record — or a batch, by passing an array of records (one request) |\n| `suppa_update_record` | Update a record (confirm-gated) |\n| `suppa_delete_record` | Soft-delete a record — reversible (confirm-gated); permanent delete is blocked server-wide |\n| `suppa_restore_record` | Undo a soft delete: clear `deletedAt` on a record (confirm-gated) |\n| `suppa_copy_record` | Duplicate a record, optionally with its files / related records |\n| `suppa_attach_file_to_record` | Attach a local file to any record |\n| `suppa_list_record_files` | List the files attached to a record |\n| `suppa_download_file` | Download one attachment (original, preview, or generated PDF) |\n| `suppa_download_files_zip` | Download several attachments as a ZIP |\n\n### Automations\n\n| Tool | Description |\n|---|---|\n| `suppa_list_automations` | List automation workflows |\n| `suppa_get_automation` | Get one automation as a normalized graph (nodes + edges) |\n| `suppa_list_automation_runs` | List runs (executions) of an automation |\n| `suppa_get_automation_run` | Get one run with per-node steps + trigger payload |\n| `suppa_list_automation_node_types` | Node-type catalog (authoritative + fallback) |\n| `suppa_get_automation_node_schema` | Parameter schema for one node type |\n| `suppa_search_entities` | Fuzzy-find an entity by name/title (+ record count) |\n| `suppa_create_automation` | Create an automation (pre-flight validated; draft) |\n| `suppa_update_automation` | Update an automation (read-modify-write; confirm-gated) |\n| `suppa_delete_automation` | Delete an automation (confirm-gated) |\n| `suppa_publish_automation` | Publish the draft snapshot (confirm-gated) |\n| `suppa_unpublish_automation` | Deactivate an automation (confirm-gated) |\n\n### Forms\n\n| Tool | Description |\n|---|---|\n| `suppa_list_forms` | List forms |\n| `suppa_get_form` | Get a form |\n| `suppa_create_form` | Create a form (optionally generated from an entity) |\n| `suppa_update_form` | Update a form (confirm-gated) |\n| `suppa_generate_form_schema` | Generate a grid form schema from an entity |\n| `suppa_add_field_to_form` | Add a field element to a form (confirm-gated) |\n| `suppa_list_form_field_types` | List form element types |\n\nThe seven above are **Suppa 1.0** forms: they read and write `data.formShema` (the platform's\nmisspelling) and the v1 field types. A **Suppa 2.0** entity-builder form is a different product —\nthe `schema` column on the row since 2.1, 58 component types — and is served by the six below plus the bundled\n`skills/suppa-form-v2` skill. The first two touch no tenant: they read files inside the package.\n\n| Tool | Description |\n|---|---|\n| `suppa_form_kb` | The 2.0 form knowledge base: the 58 element types, one type's prop table, a behaviour note, a reference topic, a template |\n| `suppa_validate_form_schema` | Run the 2.0 form gate over a draft before writing it — 37 structural error codes (the authoring lints live in the source agent, not here), each chart's and each custom chart source's readiness, and widget code: every widget template is compiled with the builder's own compiler (`@vue/compiler-dom` 3.5.12, the esm-bundler production build the builder runs) into the `compiledRender` the runtime executes, and checked against the widget sandbox |\n| `suppa_write_form_draft` | Save a checked draft through the builder's own save (`PUT /core/forms/:id/schema`) — gated first against the live form (what the form already has does not block), guarded by the form's revision, recorded in History; saves the widget renders the gate compiled, never a hand-written one; `variables` only when the draft lists some. It never publishes |\n| `suppa_create_form_v2` | Create a 2.0 form (create / update / custom) with its draft in one transaction — the routing flag and default variable the builder adds, optionally filed into a folder (confirm-gated) |\n| `suppa_form_versions` | A form's published versions, the component diff between two of them, and a summary of recent draft saves (read-only) |\n| `suppa_form_lifecycle` | Publish, roll back (restore + publish), discard (unrecoverable) or promote — gated on the form gate (a stored widget with an empty render is refused) and on the version belonging to the form (confirm-gated) |\n\n### Migration (Suppa 1.0 → 2.0) & workspace\n\n| Tool | Description |\n|---|---|\n| `suppa_migrate_entities_from_v1` | Migrate 1.0 entities → 2.0 (dry-run / create / gap-fill / reconcile) |\n| `suppa_read_v1_entities` | Read entity list from a Suppa 1.0 tenant |\n| `suppa_read_v1_entity_props` | Read 1.0 entity field definitions |\n| `suppa_read_v1_enum` | Read 1.0 enum values |\n| `suppa_create_workspace` | Create a workspace + nav item |\n| `suppa_add_menu_item` | Add a navigation-menu item |\n\n---\n\n## Prompts\n\nGuided workflows clients can expose as slash commands:\n\n| Prompt | Arguments | Description |\n|---|---|---|\n| `plan_my_day` | — | Triage my Suppa tasks into a prioritized day plan |\n| `build_entity` | `entity_purpose` | Guided design + creation of a new entity, fields, enums, and a form |\n| `migrate_from_v1` | `entity_names?` | Guided Suppa 1.0 → 2.0 schema migration (dry-run, review, execute) |\n| `write_entity_code` | `entity_purpose` | Guided: write v2 application schema code (entities, seeds, registration) instead of API calls |\n\n---\n\n## Bundled agent skill: suppa-entity-code\n\nThe package ships an agent skill at `skills/suppa-entity-code/` (also installed\nvia npm) that writes **Suppa v2 application schema code** — `*.entity.ts`\nclasses, `*.seed.ts` seeds, and the `EntityModule.forFeature()` registration —\nfollowing the platform's declarative-migration rules, where the entity class\n*is* the migration.\n\nTwo flows:\n\n- **Flow A** — design a new entity/seed in an application repo.\n- **Flow B** — port a Suppa 1.0 entity to v2 code, using the same\n  type-mapping authority as `suppa_migrate_entities_from_v1`.\n\nIt includes a static validator that catches everything `tsc` cannot:\n\n```bash\nnode <this-skill-dir>/scripts/validate-suppa-schema.mjs <app-root>\n# (installed via npm: node_modules/suppa-mcp-2/skills/suppa-entity-code/scripts/validate-suppa-schema.mjs)\n```\n\nChecks: SQL-string defaults, decorator misuse, thunk-less relations, an\n`inverse` selector wrongly passed to `@ManyToOne`/`@ManyToMany` (W609) or\npointing at a non-relation property such as `id` on any of the four relation\ndecorators (E111), seed idempotency (importKeyFields / `$key`), forbidden\nseed keys, numeric relation ids, reverse `@OneToMany` references, `forFeature`\nmembership, seed dependency order, `dist/` autoload paths, tsconfig decorator\nflags, unknown `@Entity()`/`@Column()` options or field types, and tabular-part rules —\nthe `type: 'tabular-part'` + `relationEntityName` + `owner` triad, `owner`\nresolving to the right parent, and `owner` first in `importKeyFields`\n(E108/E109/E110/W607) — validated against the installed `@suppa/sdk` typings\nwhen resolvable, falling back to the doc tables otherwise\n(E101/E102/E107/E501/E502). Options/records/registration arrays delivered via\nspread or by reference can't be statically checked and fire a W606 warning\ninstead. An entity or seed left out of `EntityModule.forFeature()` fires\nE301/E302, naming the module file to edit so the fix is a find-and-add, not a\nsearch. Use the `write_entity_code` MCP prompt to drive it from any client.\n\n**Make the rules unskippable.** Stating a rule in a skill, in the server\ninstructions and in a tool description is optional at the moment code gets\nwritten — an agent may open none of them, and that is exactly how an entity\nshipped with restated defaults and four bare relation stand-ins. Install the\nguards into an application repo:\n\n```bash\nnpx --package=suppa-mcp-2 -- suppa-entity-guards .\n# or, without npx:\nnode node_modules/suppa-mcp-2/skills/suppa-entity-code/scripts/install-entity-code-guards.mjs .\n```\n\nIt is idempotent, and it refuses to write a hook whose path does not resolve —\nhooks pointing at nothing behave exactly like no hooks at all.\n\n**Adding the package runs this for you.** A `postinstall` installs the guards into\nthe repo the install was run from, so a developer who never reads this file still\ngets them. It refuses far more often than it acts: never when\n`SUPPA_NO_GUARD_INSTALL` is set, never in CI (where hooks do nothing and the CI job\nis its own layer), never for a global install, and never for a repo with no sign of\nSuppa schema code — no `@suppa/*` dependency and no `*.entity.ts`. A package install\nis not permission to configure an unrelated project. It also never fails an install:\nwhatever happens, it exits 0 and prints one line saying what to run by hand.\n\nOne caveat worth knowing: `npm ci --ignore-scripts` skips it, which is common in CI\nand in locked-down organisations. There the CI job is the layer that holds.\n\nFive layers, each covering a way the previous one is missed: Claude Code hooks\nput the rules in an agent's context **before** it writes `*.entity.ts` and the\ngate's findings in front of it **after**, a `Stop` hook refuses to end a turn\nwhile a changed schema file still fails, `.githooks/pre-commit` refuses the\ncommit, a `.gitlab/suppa-schema-gate.yml` job refuses the merge request, and a\nmanaged section in `AGENTS.md` / `CLAUDE.md` carries the same rules to editors\nwith no hook support. Re-running the installer is safe, `--dry-run` prints the\nplan, and details are in `skills/suppa-entity-code/references/enforcement.md`.\n\nIt also enforces the **authoring rules** the platform doc does not: a\nrelation property must carry a TypeScript type that agrees with its decorator\n(E114/E115/W610, and W615 when the type names no class at all — `any`), enum\nmember keys are PascalCase (W611), no field option may be written at its\nplatform default (W612), `@Enum`/`@MultiEnum` take a global name only when\nthe enum is actually shared (W613), and a relation target that already exists on\nthe tenant is declared as a **stub**: `@Entity({ name, key })` + `extends\nSystemBaseEntity`, an **empty body**, alone in a `<name>.stub.entity.ts` file,\nregistered in `forFeature()`. A bare `export class Accounts {}` satisfies the\nthunk but registers nothing, so the platform cannot resolve the relation — the\ntarget is chased through its import (relative, `.js`-suffixed or tsconfig-aliased)\ninto the file that declares it and reported as E116. A stub that kept its fields\nis E117, because each field is a column the migration would create on a table\nanother application owns; the `.stub.entity.ts` name is what makes that rule\ncheckable (W617 when it is missing, W616 when stubs share a file).\n\nA stub stands in for a table so a relation can reach it. To **add columns** to an\nentity you do not own — a platform system entity, or another application's — the\nplatform supports an **extension**: the entity's existing name, only your own\ncolumns, in `<owner>.extension.entity.ts` (SKILL.md rule 20,\n`references/extensions.md`). The mode is chosen by ownership at start, so the\nfilename is what lets the gate apply extension mode's restrictions before the\nbuild does: entity options are ignored there (W618), `@OneToMany` /\n`@ManyToManyBackRef` (E118) and `primary: true` (E119) are refused, `nullable:\nfalse` needs a `default` (E120), and `@Index`/`@Check` may cover only the columns\nyou declare (E121). A relation to an entity you do not own names its target by\nstring and is typed by shape — right there, W620 anywhere else.\n\nThose, plus\n`owner` first in a tabular part's `importKeyFields` (W607) and no `inverse` on\n`@ManyToOne`/`@ManyToMany` (W609), are the **rule violations** — W607, W609,\nW610, W611, W612, W613, W615, W616, W617, W618, W619, W620, W621, W622, W623, W625 — and like errors they exit 1, because a\nrule that only warns is a rule that gets ignored. `--no-strict` demotes them for a legacy repo, and says so:\nthey print as `[rule violation, demoted]` and the summary ends `NOT a clean\nrun`. Advisory warnings — W601-W606, W608, W614, W624 — never block; they report what\nthe checker could not see. W624 is the one to read rather than skim: it names a\ncheck that could NOT run, which is not the same as a check that passed.\n\nTabular parts (owned child sub-tables like checklist items or order lines)\nand the remove-and-re-add-a-field semantics — a re-added field restores its\nold data because the key defaults to `<EntityName>.<fieldName>` — are both\ncovered; see `references/tabular-parts.md` and `references/registration.md`.\n\n---\n\n## Development\n\n```bash\n# Install dependencies\nnpm install\n\n# Build\nnpm run build\n\n# Run locally (stdio)\nnode dist/bin.js\n\n# Test with MCP Inspector\nnpm run inspect\n\n# Tests\nnpm test\n\n# Watch mode\nnpm run dev\n```\n\n### Run the tests through this package, not through npx\n\n`npm test` and `npm --prefix <path>/suppa-mcp-node test` both use the vitest in\nthis package's `node_modules`. `npx vitest` does not: with nothing resolvable\nlocally it downloads the newest major from the registry, and from the repo root\nit also never reads this package's `vitest.config.ts`. It still collects these\ntest files, and the failures it invents look real — a phantom timeout from\nexactly that mistake was believed long enough for a `testTimeout` bump to be\ncommitted on the strength of it.\n\nBoth halves now refuse rather than mislead: `vitest.config.ts` asserts the\nrunning vitest is the one installed here, and the repo root carries a\n`vitest.config.mjs` whose only job is to stop a run started from there.\n\n### Driving a real build against a tenant\n\n```bash\nnpm run live:install -- <harness-dir>   # rebuild, pack, install, verify\nnpm run live:verify  -- <harness-dir>   # re-check before a long sweep\n```\n\nnpm resolves a `file:` dependency by name and version, so repacking after a\nrebuild — same filename, same version — lets `npm install` decide there is\nnothing to do and leave the previous build in `node_modules`, exit 0, no\nwarning. A sweep against a stale build reports confidence it did not earn.\n\n`live:install` names the tarball after a hash of its own contents, clears the\ntarget's `node_modules` and lockfile, and then compares every packed file\nbyte for byte against what npm extracted. Only that last step is trusted; the\nmanifest it leaves behind is what `live:verify` re-checks later.\n\n---\n\n## Publish to npm\n\n```bash\n# 1. Make sure you're logged in\nnpm login\n\n# 2. Build & publish\nnpm publish\n```\n\nThe `prepublishOnly` script automatically runs `tsc` + the full test suite before publishing.\n\n---\n\n## Project structure\n\n```\nsuppa-mcp-node/\n├── src/\n│   ├── bin.ts                  # Entry point — stdio transport\n│   ├── server.ts               # McpServer + all 95 tool + 4 prompt registrations\n│   ├── config.ts               # Env / .env config surface\n│   ├── store.ts                # Credentials in the OS keychain (@napi-rs/keyring)\n│   ├── registry.ts             # Non-secret tenant registry (~/.suppa-mcp/tenants.json)\n│   ├── tenants.ts              # Tenant context, active tenant, resolve, diagnostics\n│   ├── auth.ts                 # JWT refresh (single-flight) + browser Google login\n│   ├── refreshLock.ts          # one refresh per tenant across processes (~/.suppa-mcp/locks)\n│   ├── httpClient.ts           # fetch client: retry, envelope unwrap, 401→refresh→retry\n│   ├── utils.ts                # filters, dates, JSON params, multipart, confirm gate\n│   └── tools/\n│       ├── tasks.ts  docs.ts  entity.ts  forms.ts\n│       ├── automation.ts       # read + write automation tools\n│       ├── migrate.ts  nameMap.ts  v1Fields.ts\n│       └── workspace.ts\n├── skills/suppa-entity-code/   # bundled agent skill: write v2 schema code + validator\n├── test/                       # vitest suite (ports the Python test suite)\n├── scripts/                    # live read-only / write verify scripts\n├── package.json\n├── tsconfig.json\n├── vitest.config.ts\n└── README.md\n```\n\n---\n\n## License\n\nMIT — see [LICENSE](LICENSE).\n","readmeFilename":"README.md"}