installgate 0.1.0__tar.gz → 0.1.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (444) hide show
  1. {installgate-0.1.0 → installgate-0.1.2}/.gitignore +1 -0
  2. {installgate-0.1.0 → installgate-0.1.2}/AGENTS.md +1 -1
  3. installgate-0.1.2/PKG-INFO +96 -0
  4. {installgate-0.1.0 → installgate-0.1.2}/README.md +67 -55
  5. {installgate-0.1.0 → installgate-0.1.2}/docs/collaboration.md +1 -1
  6. {installgate-0.1.0 → installgate-0.1.2}/docs/playbook.md +7 -7
  7. {installgate-0.1.0 → installgate-0.1.2}/docs/prd-ssd.md +1 -1
  8. installgate-0.1.2/docs/pypi.md +62 -0
  9. {installgate-0.1.0 → installgate-0.1.2}/mcp_server/cli.py +12 -0
  10. {installgate-0.1.0 → installgate-0.1.2}/pyproject.toml +6 -3
  11. {installgate-0.1.0 → installgate-0.1.2}/remediate/README.md +1 -1
  12. {installgate-0.1.0 → installgate-0.1.2}/tests/test_cli.py +11 -0
  13. installgate-0.1.0/.cursor/mcp.json +0 -16
  14. installgate-0.1.0/PKG-INFO +0 -439
  15. installgate-0.1.0/docs/demo-script.md +0 -131
  16. installgate-0.1.0/docs/sprint.md +0 -100
  17. installgate-0.1.0/docs/status-update-2026-10-28.md +0 -91
  18. {installgate-0.1.0 → installgate-0.1.2}/.cursor/rules/ponytail.mdc +0 -0
  19. {installgate-0.1.0 → installgate-0.1.2}/.dockerignore +0 -0
  20. {installgate-0.1.0 → installgate-0.1.2}/.env.example +0 -0
  21. {installgate-0.1.0 → installgate-0.1.2}/.github/CODEOWNERS +0 -0
  22. {installgate-0.1.0 → installgate-0.1.2}/.github/ISSUE_TEMPLATE/task.yml +0 -0
  23. {installgate-0.1.0 → installgate-0.1.2}/.github/pull_request_template.md +0 -0
  24. {installgate-0.1.0 → installgate-0.1.2}/.github/workflows/ci.yml +0 -0
  25. {installgate-0.1.0 → installgate-0.1.2}/.pre-commit-config.yaml +0 -0
  26. {installgate-0.1.0 → installgate-0.1.2}/.python-version +0 -0
  27. {installgate-0.1.0 → installgate-0.1.2}/Caddyfile +0 -0
  28. {installgate-0.1.0 → installgate-0.1.2}/Dockerfile +0 -0
  29. {installgate-0.1.0 → installgate-0.1.2}/LICENSE +0 -0
  30. {installgate-0.1.0 → installgate-0.1.2}/contracts/README.md +0 -0
  31. {installgate-0.1.0 → installgate-0.1.2}/contracts/__init__.py +0 -0
  32. {installgate-0.1.0 → installgate-0.1.2}/contracts/contracts.py +0 -0
  33. {installgate-0.1.0 → installgate-0.1.2}/contracts/contracts.ts +0 -0
  34. {installgate-0.1.0 → installgate-0.1.2}/docker-compose.yml +0 -0
  35. {installgate-0.1.0 → installgate-0.1.2}/docs/architecture.md +0 -0
  36. {installgate-0.1.0 → installgate-0.1.2}/docs/logo.svg +0 -0
  37. {installgate-0.1.0 → installgate-0.1.2}/engine/README.md +0 -0
  38. {installgate-0.1.0 → installgate-0.1.2}/engine/__init__.py +0 -0
  39. {installgate-0.1.0 → installgate-0.1.2}/engine/cache.py +0 -0
  40. {installgate-0.1.0 → installgate-0.1.2}/engine/checks.py +0 -0
  41. {installgate-0.1.0 → installgate-0.1.2}/engine/clients/__init__.py +0 -0
  42. {installgate-0.1.0 → installgate-0.1.2}/engine/clients/huggingface.py +0 -0
  43. {installgate-0.1.0 → installgate-0.1.2}/engine/clients/npm.py +0 -0
  44. {installgate-0.1.0 → installgate-0.1.2}/engine/clients/osv.py +0 -0
  45. {installgate-0.1.0 → installgate-0.1.2}/engine/clients/pypi.py +0 -0
  46. {installgate-0.1.0 → installgate-0.1.2}/engine/data/pypi-top5000-2026-10-27.txt +0 -0
  47. {installgate-0.1.0 → installgate-0.1.2}/engine/evidence.py +0 -0
  48. {installgate-0.1.0 → installgate-0.1.2}/engine/parsers.py +0 -0
  49. {installgate-0.1.0 → installgate-0.1.2}/engine/policy.py +0 -0
  50. {installgate-0.1.0 → installgate-0.1.2}/engine/policy.yaml +0 -0
  51. {installgate-0.1.0 → installgate-0.1.2}/engine/runtime_floors.yaml +0 -0
  52. {installgate-0.1.0 → installgate-0.1.2}/engine/stage1.py +0 -0
  53. {installgate-0.1.0 → installgate-0.1.2}/eval/README.md +0 -0
  54. {installgate-0.1.0 → installgate-0.1.2}/eval/__init__.py +0 -0
  55. {installgate-0.1.0 → installgate-0.1.2}/eval/add_cases.py +0 -0
  56. {installgate-0.1.0 → installgate-0.1.2}/eval/cases/benign.jsonl +0 -0
  57. {installgate-0.1.0 → installgate-0.1.2}/eval/cases/hallucinated.jsonl +0 -0
  58. {installgate-0.1.0 → installgate-0.1.2}/eval/cases/huggingface.jsonl +0 -0
  59. {installgate-0.1.0 → installgate-0.1.2}/eval/cases/malicious.jsonl +0 -0
  60. {installgate-0.1.0 → installgate-0.1.2}/eval/cases/malicious.provenance.json +0 -0
  61. {installgate-0.1.0 → installgate-0.1.2}/eval/cases/typosquat.jsonl +0 -0
  62. {installgate-0.1.0 → installgate-0.1.2}/eval/fetch_osv_malicious.py +0 -0
  63. {installgate-0.1.0 → installgate-0.1.2}/eval/fetch_top_pypi.py +0 -0
  64. {installgate-0.1.0 → installgate-0.1.2}/eval/fixtures/fault-timeout.json +0 -0
  65. {installgate-0.1.0 → installgate-0.1.2}/eval/fixtures/prompt-injection-readme.txt +0 -0
  66. {installgate-0.1.0 → installgate-0.1.2}/eval/make_cases.py +0 -0
  67. {installgate-0.1.0 → installgate-0.1.2}/eval/results-models.md +0 -0
  68. {installgate-0.1.0 → installgate-0.1.2}/eval/results.md +0 -0
  69. {installgate-0.1.0 → installgate-0.1.2}/eval/runner.py +0 -0
  70. {installgate-0.1.0 → installgate-0.1.2}/eval/verify_labels.py +0 -0
  71. {installgate-0.1.0 → installgate-0.1.2}/keep-awake.sh +0 -0
  72. {installgate-0.1.0 → installgate-0.1.2}/mcp_server/README.md +0 -0
  73. {installgate-0.1.0 → installgate-0.1.2}/mcp_server/__init__.py +0 -0
  74. {installgate-0.1.0 → installgate-0.1.2}/mcp_server/agent.py +0 -0
  75. {installgate-0.1.0 → installgate-0.1.2}/mcp_server/api.py +0 -0
  76. {installgate-0.1.0 → installgate-0.1.2}/mcp_server/check.py +0 -0
  77. {installgate-0.1.0 → installgate-0.1.2}/mcp_server/limit.py +0 -0
  78. {installgate-0.1.0 → installgate-0.1.2}/mcp_server/render.py +0 -0
  79. {installgate-0.1.0 → installgate-0.1.2}/mcp_server/samples.py +0 -0
  80. {installgate-0.1.0 → installgate-0.1.2}/mcp_server/server.py +0 -0
  81. {installgate-0.1.0 → installgate-0.1.2}/mcp_server/spend.py +0 -0
  82. {installgate-0.1.0 → installgate-0.1.2}/remediate/__init__.py +0 -0
  83. {installgate-0.1.0 → installgate-0.1.2}/remediate/candidates.py +0 -0
  84. {installgate-0.1.0 → installgate-0.1.2}/remediate/diff.py +0 -0
  85. {installgate-0.1.0 → installgate-0.1.2}/remediate/pinning.py +0 -0
  86. {installgate-0.1.0 → installgate-0.1.2}/remediate/sandbox.py +0 -0
  87. {installgate-0.1.0 → installgate-0.1.2}/router/README.md +0 -0
  88. {installgate-0.1.0 → installgate-0.1.2}/router/__init__.py +0 -0
  89. {installgate-0.1.0 → installgate-0.1.2}/router/compare.py +0 -0
  90. {installgate-0.1.0 → installgate-0.1.2}/router/prompts/explain.txt +0 -0
  91. {installgate-0.1.0 → installgate-0.1.2}/router/prompts/extract.txt +0 -0
  92. {installgate-0.1.0 → installgate-0.1.2}/router/prompts/rank_substitute.txt +0 -0
  93. {installgate-0.1.0 → installgate-0.1.2}/router/receipt.py +0 -0
  94. {installgate-0.1.0 → installgate-0.1.2}/router/smoke.py +0 -0
  95. {installgate-0.1.0 → installgate-0.1.2}/router/tavily.py +0 -0
  96. {installgate-0.1.0 → installgate-0.1.2}/router/tiers.py +0 -0
  97. {installgate-0.1.0 → installgate-0.1.2}/router/token_factory.py +0 -0
  98. {installgate-0.1.0 → installgate-0.1.2}/setup-github.sh +0 -0
  99. {installgate-0.1.0 → installgate-0.1.2}/tests/README.md +0 -0
  100. {installgate-0.1.0 → installgate-0.1.2}/tests/__init__.py +0 -0
  101. {installgate-0.1.0 → installgate-0.1.2}/tests/test_agent.py +0 -0
  102. {installgate-0.1.0 → installgate-0.1.2}/tests/test_checks.py +0 -0
  103. {installgate-0.1.0 → installgate-0.1.2}/tests/test_clients.py +0 -0
  104. {installgate-0.1.0 → installgate-0.1.2}/tests/test_compare.py +0 -0
  105. {installgate-0.1.0 → installgate-0.1.2}/tests/test_contracts_check_unavailable.py +0 -0
  106. {installgate-0.1.0 → installgate-0.1.2}/tests/test_contracts_import.py +0 -0
  107. {installgate-0.1.0 → installgate-0.1.2}/tests/test_env.py +0 -0
  108. {installgate-0.1.0 → installgate-0.1.2}/tests/test_gate.py +0 -0
  109. {installgate-0.1.0 → installgate-0.1.2}/tests/test_hf_pinning.py +0 -0
  110. {installgate-0.1.0 → installgate-0.1.2}/tests/test_hosting.py +0 -0
  111. {installgate-0.1.0 → installgate-0.1.2}/tests/test_make_cases_guard.py +0 -0
  112. {installgate-0.1.0 → installgate-0.1.2}/tests/test_osv_versions.py +0 -0
  113. {installgate-0.1.0 → installgate-0.1.2}/tests/test_parsers.py +0 -0
  114. {installgate-0.1.0 → installgate-0.1.2}/tests/test_php_floors.py +0 -0
  115. {installgate-0.1.0 → installgate-0.1.2}/tests/test_policy.py +0 -0
  116. {installgate-0.1.0 → installgate-0.1.2}/tests/test_remediate.py +0 -0
  117. {installgate-0.1.0 → installgate-0.1.2}/tests/test_router.py +0 -0
  118. {installgate-0.1.0 → installgate-0.1.2}/tests/test_runner_attribution.py +0 -0
  119. {installgate-0.1.0 → installgate-0.1.2}/tests/test_runner_clock.py +0 -0
  120. {installgate-0.1.0 → installgate-0.1.2}/tests/test_tavily.py +0 -0
  121. {installgate-0.1.0 → installgate-0.1.2}/tests/test_token_factory.py +0 -0
  122. {installgate-0.1.0 → installgate-0.1.2}/tests/test_validator.py +0 -0
  123. {installgate-0.1.0 → installgate-0.1.2}/ui/.gitignore +0 -0
  124. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/.build/cache.cjs +0 -0
  125. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/.build/composable-cache.cjs +0 -0
  126. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/.build/durable-objects/bucket-cache-purge.js +0 -0
  127. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/.build/durable-objects/queue.js +0 -0
  128. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/.build/durable-objects/sharded-tag-cache.js +0 -0
  129. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/.build/open-next.config.edge.mjs +0 -0
  130. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/.build/open-next.config.mjs +0 -0
  131. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/assets/BUILD_ID +0 -0
  132. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/assets/_next/static/NwnmEL55GHO8VU_9KDEQx/_buildManifest.js +0 -0
  133. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/assets/_next/static/NwnmEL55GHO8VU_9KDEQx/_ssgManifest.js +0 -0
  134. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/assets/_next/static/chunks/38-de2a86404693f939.js +0 -0
  135. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/assets/_next/static/chunks/657-bbb05fcf0c8455eb.js +0 -0
  136. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/assets/_next/static/chunks/829-8dab9a64d44a51d9.js +0 -0
  137. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/assets/_next/static/chunks/833-6d10aef285d28015.js +0 -0
  138. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/assets/_next/static/chunks/app/_not-found/page-bcca22b1d59a13d4.js +0 -0
  139. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/assets/_next/static/chunks/app/api/check/route-82a2888fbb135a8c.js +0 -0
  140. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/assets/_next/static/chunks/app/api/check/stream/route-82a2888fbb135a8c.js +0 -0
  141. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/assets/_next/static/chunks/app/api/health/route-82a2888fbb135a8c.js +0 -0
  142. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/assets/_next/static/chunks/app/api/mcp/route-82a2888fbb135a8c.js +0 -0
  143. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/assets/_next/static/chunks/app/layout-5e3ba7c0d26b5404.js +0 -0
  144. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/assets/_next/static/chunks/app/mockup/page-60d09c5ee6f64879.js +0 -0
  145. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/assets/_next/static/chunks/app/page-5ac5f5b50183c124.js +0 -0
  146. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/assets/_next/static/chunks/d9cbff8c-b2655549e18d6010.js +0 -0
  147. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/assets/_next/static/chunks/framework-c189959243d787af.js +0 -0
  148. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/assets/_next/static/chunks/main-app-3c699f0edccdc8d7.js +0 -0
  149. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/assets/_next/static/chunks/main-d77a8281b279d438.js +0 -0
  150. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/assets/_next/static/chunks/pages/_app-d643eb3fa4ea4d95.js +0 -0
  151. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/assets/_next/static/chunks/pages/_error-3a1134004232a0ab.js +0 -0
  152. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/assets/_next/static/chunks/polyfills-42372ed130431b0a.js +0 -0
  153. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/assets/_next/static/chunks/webpack-73d1f068656abf24.js +0 -0
  154. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/assets/_next/static/css/d32d2bcb0d5024ea.css +0 -0
  155. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/assets/_next/static/media/26d4368bf94c0ec4-s.p.woff2 +0 -0
  156. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/assets/_next/static/media/2801417b65625cf5-s.woff2 +0 -0
  157. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/assets/_next/static/media/28793f5c5e3d822d-s.woff2 +0 -0
  158. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/assets/_next/static/media/558ca1a6aa3cb55e-s.p.woff2 +0 -0
  159. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/assets/_next/static/media/64d784ea54a4acde-s.woff2 +0 -0
  160. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/assets/_next/static/media/6d831b18ae5b01dc-s.woff2 +0 -0
  161. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/assets/_next/static/media/7b19b489dc6743ba-s.woff2 +0 -0
  162. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/assets/_next/static/media/ac0e76ddaeeb7981-s.woff2 +0 -0
  163. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/assets/_next/static/media/b3bf17a9041d9433-s.woff2 +0 -0
  164. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/assets/_next/static/media/c9c3823090ec8b55-s.woff2 +0 -0
  165. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/assets/_next/static/media/edc640959b0c7826-s.woff2 +0 -0
  166. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/assets/_next/static/media/ff71da380fbe67dd-s.woff2 +0 -0
  167. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/cache/NwnmEL55GHO8VU_9KDEQx/500.cache +0 -0
  168. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/cache/NwnmEL55GHO8VU_9KDEQx/route-cache/APP_PAGE/41da0ef926a63354a29f601d8e8d0a5951196c45ebcd28b7d4708fb7f56f3bf1/$/_not-found.cache +0 -0
  169. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/cache/NwnmEL55GHO8VU_9KDEQx/route-cache/APP_PAGE/774f78912094c1f4a4edd40f45575b08c38d84a54e8cd21776f7627b1c9f53df/$/mockup.cache +0 -0
  170. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/cache/NwnmEL55GHO8VU_9KDEQx/route-cache/APP_PAGE/c6377dd9ce6a1c2cd100eb4344e843eb4639b9ed26f84643f77680e9eb454c4b/$/index.cache +0 -0
  171. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/cloudflare/cache-assets-manifest.sql +0 -0
  172. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/cloudflare/images.js +0 -0
  173. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/cloudflare/init.js +0 -0
  174. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/cloudflare/next-env.mjs +0 -0
  175. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/cloudflare/skew-protection.js +0 -0
  176. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/cloudflare-templates/images.d.ts +0 -0
  177. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/cloudflare-templates/images.js +0 -0
  178. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/cloudflare-templates/init.d.ts +0 -0
  179. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/cloudflare-templates/init.js +0 -0
  180. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/cloudflare-templates/shims/empty.d.ts +0 -0
  181. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/cloudflare-templates/shims/empty.js +0 -0
  182. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/cloudflare-templates/shims/env.d.ts +0 -0
  183. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/cloudflare-templates/shims/env.js +0 -0
  184. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/cloudflare-templates/shims/fetch.d.ts +0 -0
  185. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/cloudflare-templates/shims/fetch.js +0 -0
  186. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/cloudflare-templates/shims/throw.d.ts +0 -0
  187. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/cloudflare-templates/shims/throw.js +0 -0
  188. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/cloudflare-templates/skew-protection.d.ts +0 -0
  189. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/cloudflare-templates/skew-protection.js +0 -0
  190. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/cloudflare-templates/worker.d.ts +0 -0
  191. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/cloudflare-templates/worker.js +0 -0
  192. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/dynamodb-provider/dynamodb-cache.json +0 -0
  193. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/dynamodb-provider/open-next.config.mjs +0 -0
  194. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/middleware/handler.mjs +0 -0
  195. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/middleware/open-next.config.mjs +0 -0
  196. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/.next/BUILD_ID +0 -0
  197. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/.next/app-build-manifest.json +0 -0
  198. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/.next/app-path-routes-manifest.json +0 -0
  199. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/.next/build-manifest.json +0 -0
  200. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/.next/package.json +0 -0
  201. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/.next/prerender-manifest.json +0 -0
  202. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/.next/react-loadable-manifest.json +0 -0
  203. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/.next/required-server-files.json +0 -0
  204. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/.next/routes-manifest.json +0 -0
  205. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/.next/server/app/_not-found/page.js +0 -0
  206. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/.next/server/app/_not-found/page_client-reference-manifest.js +0 -0
  207. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/.next/server/app/api/check/route.js +0 -0
  208. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/.next/server/app/api/check/route_client-reference-manifest.js +0 -0
  209. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/.next/server/app/api/check/stream/route.js +0 -0
  210. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/.next/server/app/api/check/stream/route_client-reference-manifest.js +0 -0
  211. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/.next/server/app/api/health/route.js +0 -0
  212. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/.next/server/app/api/health/route_client-reference-manifest.js +0 -0
  213. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/.next/server/app/api/mcp/route.js +0 -0
  214. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/.next/server/app/api/mcp/route_client-reference-manifest.js +0 -0
  215. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/.next/server/app/mockup/page.js +0 -0
  216. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/.next/server/app/mockup/page_client-reference-manifest.js +0 -0
  217. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/.next/server/app/page.js +0 -0
  218. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/.next/server/app/page_client-reference-manifest.js +0 -0
  219. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/.next/server/app-paths-manifest.json +0 -0
  220. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/.next/server/chunks/125.js +0 -0
  221. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/.next/server/chunks/446.js +0 -0
  222. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/.next/server/chunks/56.js +0 -0
  223. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/.next/server/chunks/583.js +0 -0
  224. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/.next/server/chunks/67.js +0 -0
  225. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/.next/server/chunks/87.js +0 -0
  226. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/.next/server/functions-config-manifest.json +0 -0
  227. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/.next/server/middleware-build-manifest.js +0 -0
  228. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/.next/server/middleware-manifest.json +0 -0
  229. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/.next/server/middleware-react-loadable-manifest.js +0 -0
  230. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/.next/server/next-font-manifest.js +0 -0
  231. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/.next/server/next-font-manifest.json +0 -0
  232. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/.next/server/pages/404.html +0 -0
  233. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/.next/server/pages/_app.js +0 -0
  234. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/.next/server/pages/_document.js +0 -0
  235. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/.next/server/pages/_error.js +0 -0
  236. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/.next/server/pages-manifest.json +0 -0
  237. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/.next/server/server-reference-manifest.js +0 -0
  238. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/.next/server/server-reference-manifest.json +0 -0
  239. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/.next/server/webpack-runtime.js +0 -0
  240. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/cache.cjs +0 -0
  241. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/composable-cache.cjs +0 -0
  242. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/handler.mjs +0 -0
  243. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/handler.mjs.meta.json +0 -0
  244. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/index.mjs +0 -0
  245. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/@next+env@15.5.28/node_modules/@next/env/package.json +0 -0
  246. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/@swc+helpers@0.5.15/node_modules/@swc/helpers/_/_class_private_field_loose_base/package.json +0 -0
  247. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/@swc+helpers@0.5.15/node_modules/@swc/helpers/_/_class_private_field_loose_key/package.json +0 -0
  248. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/@swc+helpers@0.5.15/node_modules/@swc/helpers/_/_interop_require_default/package.json +0 -0
  249. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/@swc+helpers@0.5.15/node_modules/@swc/helpers/_/_interop_require_wildcard/package.json +0 -0
  250. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/@swc+helpers@0.5.15/node_modules/@swc/helpers/cjs/_class_private_field_loose_base.cjs +0 -0
  251. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/@swc+helpers@0.5.15/node_modules/@swc/helpers/cjs/_class_private_field_loose_key.cjs +0 -0
  252. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/@swc+helpers@0.5.15/node_modules/@swc/helpers/cjs/_interop_require_default.cjs +0 -0
  253. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/@swc+helpers@0.5.15/node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs +0 -0
  254. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/@swc+helpers@0.5.15/node_modules/@swc/helpers/package.json +0 -0
  255. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/buffer-from@1.1.2/node_modules/buffer-from/index.js +0 -0
  256. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/buffer-from@1.1.2/node_modules/buffer-from/package.json +0 -0
  257. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/client-only@0.0.1/node_modules/client-only/index.js +0 -0
  258. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/client-only@0.0.1/node_modules/client-only/package.json +0 -0
  259. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/detect-libc@2.1.2/node_modules/detect-libc/lib/detect-libc.js +0 -0
  260. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/detect-libc@2.1.2/node_modules/detect-libc/lib/elf.js +0 -0
  261. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/detect-libc@2.1.2/node_modules/detect-libc/lib/filesystem.js +0 -0
  262. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/detect-libc@2.1.2/node_modules/detect-libc/lib/process.js +0 -0
  263. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/detect-libc@2.1.2/node_modules/detect-libc/package.json +0 -0
  264. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/nanoid@3.3.20/node_modules/nanoid/non-secure/index.cjs +0 -0
  265. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/nanoid@3.3.20/node_modules/nanoid/non-secure/package.json +0 -0
  266. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/nanoid@3.3.20/node_modules/nanoid/package.json +0 -0
  267. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/next/font/google/target.css +0 -0
  268. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/next/package.json +0 -0
  269. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/postcss/lib/at-rule.js +0 -0
  270. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/postcss/lib/comment.js +0 -0
  271. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/postcss/lib/container.js +0 -0
  272. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/postcss/lib/css-syntax-error.js +0 -0
  273. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/postcss/lib/declaration.js +0 -0
  274. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/postcss/lib/document.js +0 -0
  275. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/postcss/lib/fromJSON.js +0 -0
  276. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/postcss/lib/input.js +0 -0
  277. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/postcss/lib/lazy-result.js +0 -0
  278. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/postcss/lib/list.js +0 -0
  279. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/postcss/lib/map-generator.js +0 -0
  280. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/postcss/lib/no-work-result.js +0 -0
  281. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/postcss/lib/node.js +0 -0
  282. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/postcss/lib/parse.js +0 -0
  283. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/postcss/lib/parser.js +0 -0
  284. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/postcss/lib/postcss.js +0 -0
  285. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/postcss/lib/previous-map.js +0 -0
  286. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/postcss/lib/processor.js +0 -0
  287. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/postcss/lib/result.js +0 -0
  288. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/postcss/lib/root.js +0 -0
  289. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/postcss/lib/rule.js +0 -0
  290. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/postcss/lib/stringifier.js +0 -0
  291. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/postcss/lib/stringify.js +0 -0
  292. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/postcss/lib/symbols.js +0 -0
  293. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/postcss/lib/terminal-highlight.js +0 -0
  294. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/postcss/lib/tokenize.js +0 -0
  295. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/postcss/lib/warn-once.js +0 -0
  296. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/postcss/lib/warning.js +0 -0
  297. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/postcss/package.json +0 -0
  298. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/react/cjs/react-compiler-runtime.production.js +0 -0
  299. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/react/cjs/react-jsx-dev-runtime.production.js +0 -0
  300. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/react/cjs/react-jsx-runtime.development.js +0 -0
  301. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/react/cjs/react-jsx-runtime.production.js +0 -0
  302. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/react/cjs/react.development.js +0 -0
  303. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/react/cjs/react.production.js +0 -0
  304. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/react/compiler-runtime.js +0 -0
  305. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/react/index.js +0 -0
  306. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/react/jsx-dev-runtime.js +0 -0
  307. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/react/jsx-runtime.js +0 -0
  308. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/react/package.json +0 -0
  309. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/react-dom/cjs/react-dom-server-legacy.browser.development.js +0 -0
  310. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/react-dom/cjs/react-dom-server-legacy.browser.production.js +0 -0
  311. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/react-dom/cjs/react-dom-server-legacy.node.production.js +0 -0
  312. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/react-dom/cjs/react-dom-server.browser.development.js +0 -0
  313. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/react-dom/cjs/react-dom-server.browser.production.js +0 -0
  314. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/react-dom/cjs/react-dom-server.edge.development.js +0 -0
  315. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/react-dom/cjs/react-dom-server.edge.production.js +0 -0
  316. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/react-dom/cjs/react-dom-server.node.production.js +0 -0
  317. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/react-dom/cjs/react-dom.development.js +0 -0
  318. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/react-dom/cjs/react-dom.production.js +0 -0
  319. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/react-dom/index.js +0 -0
  320. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/react-dom/package.json +0 -0
  321. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/react-dom/server.browser.js +0 -0
  322. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/react-dom/server.edge.js +0 -0
  323. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/react-dom/server.js +0 -0
  324. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/react-dom/server.node.js +0 -0
  325. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/react-dom/static.js +0 -0
  326. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/react-dom/static.node.js +0 -0
  327. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/styled-jsx/index.js +0 -0
  328. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/styled-jsx/package.json +0 -0
  329. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/next@15.5.28_@types+node@22.20.5_react-dom@19.3.1_react@19.3.1__react@19.3.1/node_modules/styled-jsx/style.js +0 -0
  330. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/node_modules/source-map-support/package.json +0 -0
  331. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/node_modules/source-map-support/source-map-support.js +0 -0
  332. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/picocolors@1.1.1/node_modules/picocolors/package.json +0 -0
  333. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/picocolors@1.1.1/node_modules/picocolors/picocolors.js +0 -0
  334. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/postcss@8.4.31/node_modules/source-map-js/lib/array-set.js +0 -0
  335. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/postcss@8.4.31/node_modules/source-map-js/lib/base64-vlq.js +0 -0
  336. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/postcss@8.4.31/node_modules/source-map-js/lib/base64.js +0 -0
  337. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/postcss@8.4.31/node_modules/source-map-js/lib/binary-search.js +0 -0
  338. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/postcss@8.4.31/node_modules/source-map-js/lib/mapping-list.js +0 -0
  339. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/postcss@8.4.31/node_modules/source-map-js/lib/quick-sort.js +0 -0
  340. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/postcss@8.4.31/node_modules/source-map-js/lib/source-map-consumer.js +0 -0
  341. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/postcss@8.4.31/node_modules/source-map-js/lib/source-map-generator.js +0 -0
  342. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/postcss@8.4.31/node_modules/source-map-js/lib/source-node.js +0 -0
  343. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/postcss@8.4.31/node_modules/source-map-js/lib/util.js +0 -0
  344. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/postcss@8.4.31/node_modules/source-map-js/package.json +0 -0
  345. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/postcss@8.4.31/node_modules/source-map-js/source-map.js +0 -0
  346. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/semver@7.8.5/node_modules/semver/classes/comparator.js +0 -0
  347. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/semver@7.8.5/node_modules/semver/classes/range.js +0 -0
  348. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/semver@7.8.5/node_modules/semver/classes/semver.js +0 -0
  349. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/clean.js +0 -0
  350. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/cmp.js +0 -0
  351. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/coerce.js +0 -0
  352. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/compare-build.js +0 -0
  353. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/compare-loose.js +0 -0
  354. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/compare.js +0 -0
  355. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/diff.js +0 -0
  356. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/eq.js +0 -0
  357. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/gt.js +0 -0
  358. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/gte.js +0 -0
  359. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/inc.js +0 -0
  360. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/lt.js +0 -0
  361. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/lte.js +0 -0
  362. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/major.js +0 -0
  363. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/minor.js +0 -0
  364. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/neq.js +0 -0
  365. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/parse.js +0 -0
  366. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/patch.js +0 -0
  367. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/prerelease.js +0 -0
  368. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/rcompare.js +0 -0
  369. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/rsort.js +0 -0
  370. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/satisfies.js +0 -0
  371. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/sort.js +0 -0
  372. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/truncate.js +0 -0
  373. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/semver@7.8.5/node_modules/semver/functions/valid.js +0 -0
  374. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/semver@7.8.5/node_modules/semver/index.js +0 -0
  375. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/constants.js +0 -0
  376. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/debug.js +0 -0
  377. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/identifiers.js +0 -0
  378. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/lrucache.js +0 -0
  379. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/parse-options.js +0 -0
  380. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/re.js +0 -0
  381. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/semver@7.8.5/node_modules/semver/package.json +0 -0
  382. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/semver@7.8.5/node_modules/semver/preload.js +0 -0
  383. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/gtr.js +0 -0
  384. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/intersects.js +0 -0
  385. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/ltr.js +0 -0
  386. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/max-satisfying.js +0 -0
  387. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/min-satisfying.js +0 -0
  388. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/min-version.js +0 -0
  389. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/outside.js +0 -0
  390. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/simplify.js +0 -0
  391. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/subset.js +0 -0
  392. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/to-comparators.js +0 -0
  393. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/semver@7.8.5/node_modules/semver/ranges/valid.js +0 -0
  394. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/source-map-support@0.5.21/node_modules/source-map/lib/array-set.js +0 -0
  395. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/source-map-support@0.5.21/node_modules/source-map/lib/base64-vlq.js +0 -0
  396. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/source-map-support@0.5.21/node_modules/source-map/lib/base64.js +0 -0
  397. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/source-map-support@0.5.21/node_modules/source-map/lib/binary-search.js +0 -0
  398. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/source-map-support@0.5.21/node_modules/source-map/lib/mapping-list.js +0 -0
  399. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/source-map-support@0.5.21/node_modules/source-map/lib/quick-sort.js +0 -0
  400. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/source-map-support@0.5.21/node_modules/source-map/lib/source-map-consumer.js +0 -0
  401. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/source-map-support@0.5.21/node_modules/source-map/lib/source-map-generator.js +0 -0
  402. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/source-map-support@0.5.21/node_modules/source-map/lib/source-node.js +0 -0
  403. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/source-map-support@0.5.21/node_modules/source-map/lib/util.js +0 -0
  404. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/source-map-support@0.5.21/node_modules/source-map/package.json +0 -0
  405. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/node_modules/.pnpm/source-map-support@0.5.21/node_modules/source-map/source-map.js +0 -0
  406. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/open-next.config.mjs +0 -0
  407. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/package.json +0 -0
  408. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/server-functions/default/patchedAsyncStorage.cjs +0 -0
  409. {installgate-0.1.0 → installgate-0.1.2}/ui/.open-next/worker.js +0 -0
  410. {installgate-0.1.0 → installgate-0.1.2}/ui/.wrangler/state/v3/cache/miniflare-CacheObject/metadata.sqlite +0 -0
  411. {installgate-0.1.0 → installgate-0.1.2}/ui/.wrangler/state/v3/cache/miniflare-CacheObject/metadata.sqlite-shm +0 -0
  412. {installgate-0.1.0 → installgate-0.1.2}/ui/.wrangler/state/v3/cache/miniflare-CacheObject/metadata.sqlite-wal +0 -0
  413. {installgate-0.1.0 → installgate-0.1.2}/ui/Dockerfile +0 -0
  414. {installgate-0.1.0 → installgate-0.1.2}/ui/README.md +0 -0
  415. {installgate-0.1.0 → installgate-0.1.2}/ui/eslint.config.mjs +0 -0
  416. {installgate-0.1.0 → installgate-0.1.2}/ui/next-env.d.ts +0 -0
  417. {installgate-0.1.0 → installgate-0.1.2}/ui/next.config.ts +0 -0
  418. {installgate-0.1.0 → installgate-0.1.2}/ui/open-next.config.ts +0 -0
  419. {installgate-0.1.0 → installgate-0.1.2}/ui/package.json +0 -0
  420. {installgate-0.1.0 → installgate-0.1.2}/ui/pnpm-lock.yaml +0 -0
  421. {installgate-0.1.0 → installgate-0.1.2}/ui/pnpm-workspace.yaml +0 -0
  422. {installgate-0.1.0 → installgate-0.1.2}/ui/postcss.config.mjs +0 -0
  423. {installgate-0.1.0 → installgate-0.1.2}/ui/src/app/api/check/route.ts +0 -0
  424. {installgate-0.1.0 → installgate-0.1.2}/ui/src/app/api/check/stream/route.ts +0 -0
  425. {installgate-0.1.0 → installgate-0.1.2}/ui/src/app/api/forward.ts +0 -0
  426. {installgate-0.1.0 → installgate-0.1.2}/ui/src/app/api/health/route.ts +0 -0
  427. {installgate-0.1.0 → installgate-0.1.2}/ui/src/app/api/mcp/route.ts +0 -0
  428. {installgate-0.1.0 → installgate-0.1.2}/ui/src/app/demo.tsx +0 -0
  429. {installgate-0.1.0 → installgate-0.1.2}/ui/src/app/globals.css +0 -0
  430. {installgate-0.1.0 → installgate-0.1.2}/ui/src/app/layout.tsx +0 -0
  431. {installgate-0.1.0 → installgate-0.1.2}/ui/src/app/mockup/mockup.tsx +0 -0
  432. {installgate-0.1.0 → installgate-0.1.2}/ui/src/app/mockup/page.tsx +0 -0
  433. {installgate-0.1.0 → installgate-0.1.2}/ui/src/app/page.tsx +0 -0
  434. {installgate-0.1.0 → installgate-0.1.2}/ui/src/app/terminal.tsx +0 -0
  435. {installgate-0.1.0 → installgate-0.1.2}/ui/src/app/use-checks.ts +0 -0
  436. {installgate-0.1.0 → installgate-0.1.2}/ui/tailwind.config.ts +0 -0
  437. {installgate-0.1.0 → installgate-0.1.2}/ui/tsconfig.json +0 -0
  438. {installgate-0.1.0 → installgate-0.1.2}/ui/wrangler.jsonc +0 -0
  439. {installgate-0.1.0 → installgate-0.1.2}/uv.lock +0 -0
  440. {installgate-0.1.0 → installgate-0.1.2}/validator/README.md +0 -0
  441. {installgate-0.1.0 → installgate-0.1.2}/validator/__init__.py +0 -0
  442. {installgate-0.1.0 → installgate-0.1.2}/validator/citations.py +0 -0
  443. {installgate-0.1.0 → installgate-0.1.2}/validator/failclosed.py +0 -0
  444. {installgate-0.1.0 → installgate-0.1.2}/validator/lattice.py +0 -0
@@ -3,6 +3,7 @@
3
3
  .env.local
4
4
  .env.*.local
5
5
  .pypirc
6
+ .cursor/mcp.json
6
7
 
7
8
  # Python
8
9
  .venv/
@@ -175,7 +175,7 @@ substitute remediate/ closed set, pin, diff. Engine re-che
175
175
 
176
176
  `mcp_server/check.py` `check()` is the orchestrator and the only function that builds a `GateVerdict`. Every stage above is implemented except `remediate/sandbox.py` (T15, cut). Edit the module that already owns the job. Do not add a second module for the same job.
177
177
 
178
- Who is doing what, and what is already done: `docs/sprint.md`.
178
+ Who is doing what: the table above. Task list: `docs/prd-ssd.md`, section 13.
179
179
 
180
180
  ## 7. Policy rules (`engine/policy.yaml`)
181
181
 
@@ -0,0 +1,96 @@
1
+ Metadata-Version: 2.5
2
+ Name: installgate
3
+ Version: 0.1.2
4
+ Summary: Pre-install trust gate for coding agents. Check pip/npm before install; never runs the package.
5
+ Project-URL: Homepage, https://github.com/Seavleu/installgate
6
+ Project-URL: Documentation, https://github.com/Seavleu/installgate#readme
7
+ Project-URL: Source, https://github.com/Seavleu/installgate
8
+ Project-URL: Issues, https://github.com/Seavleu/installgate/issues
9
+ Author: InstallGate contributors
10
+ License-Expression: Apache-2.0
11
+ License-File: LICENSE
12
+ Requires-Python: >=3.11
13
+ Requires-Dist: fastapi
14
+ Requires-Dist: httpx
15
+ Requires-Dist: mcp
16
+ Requires-Dist: openai
17
+ Requires-Dist: packaging
18
+ Requires-Dist: pydantic>=2
19
+ Requires-Dist: pyyaml
20
+ Requires-Dist: rapidfuzz
21
+ Requires-Dist: typer
22
+ Requires-Dist: uvicorn[standard]
23
+ Provides-Extra: dev
24
+ Requires-Dist: mypy; extra == 'dev'
25
+ Requires-Dist: pre-commit; extra == 'dev'
26
+ Requires-Dist: pytest; extra == 'dev'
27
+ Requires-Dist: pytest-asyncio; extra == 'dev'
28
+ Requires-Dist: respx; extra == 'dev'
29
+ Requires-Dist: ruff; extra == 'dev'
30
+ Requires-Dist: types-pyyaml; extra == 'dev'
31
+ Provides-Extra: tavily
32
+ Requires-Dist: tavily-python; extra == 'tavily'
33
+ Description-Content-Type: text/markdown
34
+
35
+ # InstallGate
36
+
37
+ Pre-install trust gate for coding agents. You pass one `pip install` or `npm install` command. InstallGate reads **registry metadata only** (never installs), applies a YAML policy, and returns **ALLOW**, **REVIEW**, or **BLOCK**.
38
+
39
+ A clean ALLOW is pinned (`name==version`) and skips the model. BLOCK needs hard deterministic evidence. The model may explain; it cannot override policy.
40
+
41
+ ## Install
42
+
43
+ Python 3.11+.
44
+
45
+ ```bash
46
+ uv tool install installgate
47
+ uv tool update-shell
48
+ ```
49
+
50
+ If you use pipx:
51
+
52
+ ```bash
53
+ pipx install installgate
54
+ ```
55
+
56
+ Then `ig` is on your PATH from any directory (same idea as installing Node, then typing `node`). If a previous `ig` is in the way:
57
+
58
+ ```bash
59
+ uv tool install --force installgate
60
+ ```
61
+
62
+ ```bash
63
+ ig --version
64
+ ```
65
+
66
+ ## Use
67
+
68
+ `--no` means check only — it never runs pip/npm.
69
+
70
+ ```bash
71
+ ig --no pip install requests # ALLOW, pin, no model
72
+ ig --no pip install reqeusts # BLOCK typo; substitute is pinned requests
73
+ ig --no pip install no-such-pkg-xyz # BLOCK, no substitute
74
+ ```
75
+
76
+ Exit codes: `0` ALLOW, `1` REVIEW, `2` BLOCK.
77
+
78
+ Optional keys in the environment (or a `.env` in the current directory):
79
+
80
+ - `NEBIUS_API_KEY` — explanations on REVIEW/BLOCK (NVIDIA Nemotron on Nebius Token Factory). ALLOW does not need it.
81
+ - `TAVILY_API_KEY` — recent web evidence (untrusted, never a BLOCK).
82
+
83
+ ## MCP
84
+
85
+ ```bash
86
+ uvx --from installgate python -m mcp_server.server
87
+ ```
88
+
89
+ Tool: `check_install`. Argument: `command`.
90
+
91
+ ## Docs
92
+
93
+ GitHub: [Seavleu/installgate](https://github.com/Seavleu/installgate) (full README, policy, demo).
94
+ Live page: [installgate.installgate-ui.workers.dev](https://installgate.installgate-ui.workers.dev)
95
+
96
+ License: Apache-2.0
@@ -22,6 +22,62 @@ It does not install the package. It does not run the command it proposes. A bloc
22
22
 
23
23
  Built for the Nebius x NVIDIA hackathon. The explanation step uses NVIDIA Nemotron on Nebius Token Factory. The decision itself does not.
24
24
 
25
+ ## Install
26
+
27
+ Python 3.11+. Package: [`installgate` on PyPI](https://pypi.org/project/installgate/).
28
+
29
+ ```bash
30
+ uv tool install installgate
31
+ uv tool update-shell # once; then open a new terminal
32
+ ig --version # installgate 0.1.2
33
+ ```
34
+
35
+ `pipx install installgate` works if you have pipx. If `ig` already exists on your PATH:
36
+
37
+ ```bash
38
+ uv tool install --force installgate
39
+ ```
40
+
41
+ `--no` checks only. It never runs pip or npm. Press **n** if a prompt appears.
42
+
43
+ Optional keys in the environment, or a `.env` in the current directory:
44
+
45
+ ```bash
46
+ export NEBIUS_API_KEY=... # explanations on REVIEW/BLOCK. ALLOW does not need it.
47
+ export TAVILY_API_KEY=... # optional web evidence; untrusted, never a BLOCK
48
+ ```
49
+
50
+ ## Usage
51
+
52
+ ```bash
53
+ ig --no pip install requests # ALLOW, pin, no model; rerun is cached
54
+ ig --no pip install reqeusts # BLOCK typo; substitute is pinned requests
55
+ ig --no pip install no-such-pkg-xyz # BLOCK, no substitute
56
+ ig --no npm install lodash # ALLOW (exists + pin)
57
+ ig --no npm install totally-fake-npm-xyz # BLOCK
58
+ ig --no pip install requests numpy # abort: one package per check
59
+ ```
60
+
61
+ ```bash
62
+ ig pip install reqeusts # same, may prompt [Y/n] on ALLOW
63
+ ig reqeusts # same as pip install reqeusts
64
+ ig --json --no pip install requests
65
+ ig --help
66
+ ```
67
+
68
+ Exit: `0` ALLOW, `1` REVIEW, `2` BLOCK.
69
+
70
+ Wrap your real pip/npm in this shell (ALLOW then runs your pip; REVIEW/BLOCK stop):
71
+
72
+ ```bash
73
+ eval "$(ig hook)"
74
+ pip install reqeusts
75
+ ```
76
+
77
+ From this repo instead of PyPI: `uv tool install --force .`
78
+
79
+ Agent playbook: [`docs/playbook.md`](docs/playbook.md).
80
+
25
81
  ## What you get back
26
82
 
27
83
  Every entry point returns the same `GateVerdict`.
@@ -35,18 +91,6 @@ Every entry point returns the same `GateVerdict`.
35
91
  | `next_action` | `proceed`, `use_substitute`, `ask_human`, or `abort`. |
36
92
  | `receipt` | Tokens, cost, and the cost if every model call had been Ultra. |
37
93
 
38
- ```text
39
- ig --no pip install requests # ALLOW P9, pin, no model; rerun for ~12ms cache
40
- ig --no pip install numpy # ALLOW P9
41
- ig --no pip install reqeusts # BLOCK P1 + substitute requests
42
- ig --no pip install no-such-pkg-xyz # BLOCK P1, no substitute
43
- ig --no npm install lodash # ALLOW P9
44
- ig --no npm install totally-fake-npm-xyz # BLOCK P1
45
- ig --no npm install express # ALLOW, or REVIEW if Tavily adds colour
46
- ig --no pip install requests numpy # abort: one package
47
- ig --no uv add numpy # abort: unsupported
48
- ```
49
-
50
94
  ## How a check works
51
95
 
52
96
  ```text
@@ -85,61 +129,21 @@ Every rule runs. The strictest match wins. Policy version `2026-10-30.1`.
85
129
 
86
130
  An allow requires a pin: version plus sha256, or a Hugging Face revision. Stage 1 attaches the registry pin, so `pip install numpy` can ALLOW. An unpinned package with no findings and no hash is a review. A fresh release of an established project is not P6; a brand-new name is. Release age alone never blocks. npm has no typosquat snapshot; a name that exists and pins still ALLOWs (P9). A name that does not exist BLOCKs (P1).
87
131
 
88
- ## Quick start
89
-
90
- Requirements: Python 3.11, [uv](https://docs.astral.sh/uv/), and Node 22 with pnpm for the page.
132
+ ## Develop from source
91
133
 
92
134
  ```bash
93
135
  uv sync --extra dev
94
136
  cp .env.example .env
137
+ source .venv/bin/activate
95
138
  ```
96
139
 
97
- Put `NEBIUS_API_KEY` and, if you want web evidence, `TAVILY_API_KEY` in `.env`. The file is never committed. `ig` and `python -m router.smoke` read `.env` from the current directory. A variable already set in the environment wins. The API process does not read that file, so export it before uvicorn, or use Compose, which loads `.env` for the API service:
140
+ `ig` is then on PATH from this venv. Keys in `.env` are read from the current directory. The API process does not load that file unless you export it:
98
141
 
99
142
  ```bash
100
143
  set -a && source .env && set +a
101
144
  uv run uvicorn mcp_server.api:app --port 8000
102
145
  ```
103
146
 
104
- A clean allow does not need the model key. A review or a block does, if you want an explanation.
105
-
106
- ## Use it
107
-
108
- ### Command line
109
-
110
- `ig` is not on your PATH until you install the tool (same idea as `node` after installing Node). From this repo:
111
-
112
- ```bash
113
- uv tool install .
114
- export PATH="$HOME/.local/bin:$PATH" # once; or: uv tool update-shell
115
- ig --no pip install requests
116
- ```
117
-
118
- Anyone else, after we publish to PyPI: `uv tool install installgate` or `pipx install installgate`. Until then: `uv tool install git+https://github.com/Seavleu/installgate`.
119
-
120
- The command is `ig` (`installgate` still works). Type the install the way you would type it.
121
-
122
- ```bash
123
- ig pip install reqeusts
124
- ig reqeusts # same as pip install reqeusts
125
- ig npm install lodash
126
- ```
127
-
128
- To keep typing `pip install …` and still get a check, once per shell:
129
-
130
- ```bash
131
- eval "$(ig hook)"
132
- pip install reqeusts # checked first; the real pip runs only on ALLOW
133
- ```
134
-
135
- InstallGate never runs the install itself. The hook is a shell function: on ALLOW it calls your `pip`, on REVIEW or BLOCK it stops.
136
-
137
- Exit codes: `0` ALLOW, `1` REVIEW, `2` BLOCK. A pipe stays one JSON document:
138
-
139
- ```bash
140
- ig pip install requests | jq .final_verdict
141
- ```
142
-
143
147
  ### HTTP
144
148
 
145
149
  ```bash
@@ -168,6 +172,14 @@ Open [http://127.0.0.1:3000](http://127.0.0.1:3000). The page calls `/api/check`
168
172
 
169
173
  The tool name is `check_install`. It takes one `command` string (one package). The JSON is a `GateVerdict` plus `pinned_command` (copy-paste on ALLOW), `substitute_command`, and `decided_by`. Policy always wins. It speaks stdio, from the repo root, so `uv` can see the project:
170
174
 
175
+ From PyPI:
176
+
177
+ ```bash
178
+ uvx --from installgate python -m mcp_server.server
179
+ ```
180
+
181
+ From this repo:
182
+
171
183
  ```bash
172
184
  uv run python -m mcp_server.server
173
185
  ```
@@ -53,7 +53,7 @@ A pass is `7 passed`. These tests mock HTTP. They do not read `.env` and they do
53
53
 
54
54
  ### 3. Commit the task files
55
55
 
56
- Leave out `.env`, `AGENTS.md`, and `docs/sprint.md` unless that task changed them.
56
+ Leave out `.env` and `AGENTS.md` unless that task changed them.
57
57
 
58
58
  ```bash
59
59
  git add router/README.md router/prompts/explain.txt router/prompts/extract.txt \
@@ -83,13 +83,13 @@ No login. One contract for HTTP, MCP, and CLI.
83
83
 
84
84
  ### Demo host (public, now)
85
85
 
86
- | Use | URL |
87
- | --- | --- |
88
- | Page | `https://installgate.installgate-ui.workers.dev` |
89
- | Check | `POST /api/check` `{"command":"pip install requests"}` |
90
- | Stream | `POST /api/check/stream` NDJSON stages then the verdict |
91
- | MCP | `https://installgate.installgate-ui.workers.dev/api/mcp` |
92
- | Health | `GET /api/health` → `{"ok":true}` |
86
+ | Use | URL |
87
+ | ------ | -------------------------------------------------------- |
88
+ | Page | `https://installgate.installgate-ui.workers.dev` |
89
+ | Check | `POST /api/check` `{"command":"pip install requests"}` |
90
+ | Stream | `POST /api/check/stream` NDJSON stages then the verdict |
91
+ | MCP | `https://installgate.installgate-ui.workers.dev/api/mcp` |
92
+ | Health | `GET /api/health` → `{"ok":true}` |
93
93
 
94
94
  Cursor / Claude MCP (remote):
95
95
 
@@ -1,5 +1,5 @@
1
1
  # Product spec
2
2
 
3
- See `AGENTS.md` for rules. Diagrams: `architecture.md`. Demo notes: `demo-script.md`.
3
+ See `AGENTS.md` for rules. Diagrams: `architecture.md`. Demo notes: `playbook.md`.
4
4
 
5
5
  Paste the full exported PRD here when you have it.
@@ -0,0 +1,62 @@
1
+ # InstallGate
2
+
3
+ Pre-install trust gate for coding agents. You pass one `pip install` or `npm install` command. InstallGate reads **registry metadata only** (never installs), applies a YAML policy, and returns **ALLOW**, **REVIEW**, or **BLOCK**.
4
+
5
+ A clean ALLOW is pinned (`name==version`) and skips the model. BLOCK needs hard deterministic evidence. The model may explain; it cannot override policy.
6
+
7
+ ## Install
8
+
9
+ Python 3.11+.
10
+
11
+ ```bash
12
+ uv tool install installgate
13
+ uv tool update-shell
14
+ ```
15
+
16
+ If you use pipx:
17
+
18
+ ```bash
19
+ pipx install installgate
20
+ ```
21
+
22
+ Then `ig` is on your PATH from any directory (same idea as installing Node, then typing `node`). If a previous `ig` is in the way:
23
+
24
+ ```bash
25
+ uv tool install --force installgate
26
+ ```
27
+
28
+ ```bash
29
+ ig --version
30
+ ```
31
+
32
+ ## Use
33
+
34
+ `--no` means check only — it never runs pip/npm.
35
+
36
+ ```bash
37
+ ig --no pip install requests # ALLOW, pin, no model
38
+ ig --no pip install reqeusts # BLOCK typo; substitute is pinned requests
39
+ ig --no pip install no-such-pkg-xyz # BLOCK, no substitute
40
+ ```
41
+
42
+ Exit codes: `0` ALLOW, `1` REVIEW, `2` BLOCK.
43
+
44
+ Optional keys in the environment (or a `.env` in the current directory):
45
+
46
+ - `NEBIUS_API_KEY` — explanations on REVIEW/BLOCK (NVIDIA Nemotron on Nebius Token Factory). ALLOW does not need it.
47
+ - `TAVILY_API_KEY` — recent web evidence (untrusted, never a BLOCK).
48
+
49
+ ## MCP
50
+
51
+ ```bash
52
+ uvx --from installgate python -m mcp_server.server
53
+ ```
54
+
55
+ Tool: `check_install`. Argument: `command`.
56
+
57
+ ## Docs
58
+
59
+ GitHub: [Seavleu/installgate](https://github.com/Seavleu/installgate) (full README, policy, demo).
60
+ Live page: [installgate.installgate-ui.workers.dev](https://installgate.installgate-ui.workers.dev)
61
+
62
+ License: Apache-2.0
@@ -10,6 +10,7 @@ import subprocess
10
10
  import sys
11
11
  import tempfile
12
12
  import time
13
+ from importlib.metadata import PackageNotFoundError, version
13
14
  from pathlib import Path
14
15
 
15
16
  from contracts.contracts import Ecosystem, GateVerdict, Verdict
@@ -26,6 +27,7 @@ Usage:
26
27
  ig -y pip install numpy # run if ALLOW, no prompt
27
28
  ig --no pip install numpy # check only
28
29
  ig --json pip install numpy
30
+ ig --version
29
31
 
30
32
  eval "$(ig hook)" # `pip install` checks, then real pip on ALLOW
31
33
 
@@ -37,6 +39,13 @@ _INSTALLERS = frozenset(
37
39
  )
38
40
 
39
41
 
42
+ def package_version() -> str:
43
+ try:
44
+ return version("installgate")
45
+ except PackageNotFoundError:
46
+ return "0.0.0+local"
47
+
48
+
40
49
  def command_from_argv(argv: list[str]) -> str:
41
50
  """Turn argv into one install command. A bare name means `pip install <name>`."""
42
51
  if not argv:
@@ -224,6 +233,9 @@ def run(argv: list[str]) -> int:
224
233
  if not argv or argv[0] in {"-h", "--help", "help"}:
225
234
  print(_HELP, end="")
226
235
  return 0 if argv else 2
236
+ if argv[0] in {"-V", "--version", "version"}:
237
+ print(f"installgate {package_version()}")
238
+ return 0
227
239
  if argv[0] == "hook":
228
240
  print(hook_script(), end="")
229
241
  return 0
@@ -4,9 +4,9 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "installgate"
7
- version = "0.1.0"
8
- description = "Pre-install trust gate for coding agents"
9
- readme = "README.md"
7
+ version = "0.1.2"
8
+ description = "Pre-install trust gate for coding agents. Check pip/npm before install; never runs the package."
9
+ readme = "docs/pypi.md"
10
10
  license = "Apache-2.0"
11
11
  requires-python = ">=3.11"
12
12
  authors = [{ name = "InstallGate contributors" }]
@@ -27,6 +27,9 @@ dependencies = [
27
27
 
28
28
  [project.urls]
29
29
  Homepage = "https://github.com/Seavleu/installgate"
30
+ Documentation = "https://github.com/Seavleu/installgate#readme"
31
+ Source = "https://github.com/Seavleu/installgate"
32
+ Issues = "https://github.com/Seavleu/installgate/issues"
30
33
 
31
34
  [project.scripts]
32
35
  ig = "mcp_server.cli:main"
@@ -7,7 +7,7 @@ Stage 4. Safe substitute. You never run the command.
7
7
  | `candidates.py` | Closed set only: alias map, top-n neighbours, HF safetensors sibling, patched docker tag |
8
8
  | `pinning.py` | Pin version + sha256 |
9
9
  | `diff.py` | `- bad` / `+ safe` command diff |
10
- | `sandbox.py` | Stretch (T15), cut. Not built: Nebius Sandboxes (`contree-sdk`) document no egress-off setting. See `docs/sprint.md`. |
10
+ | `sandbox.py` | Stretch (T15), cut. Not built: Nebius Sandboxes (`contree-sdk`) document no egress-off setting. |
11
11
 
12
12
  The model picks a candidate **by id** (`C1`, `C2`, …). A package name it types is discarded and does not appear in the diff. The pick is shown only after the engine re-check ids are passed in. This folder does not run the command and does not call the engine.
13
13
 
@@ -12,6 +12,7 @@ from mcp_server.cli import (
12
12
  confirm_run,
13
13
  exit_code,
14
14
  hook_script,
15
+ package_version,
15
16
  proposed_argv,
16
17
  run,
17
18
  take_flags,
@@ -48,6 +49,16 @@ def test_hook_wraps_pip_and_npm() -> None:
48
49
  assert "unalias pip" in text
49
50
 
50
51
 
52
+ def test_version_prints_the_package_and_does_not_check() -> None:
53
+ assert run(["--version"]) == 0
54
+ assert run(["-V"]) == 0
55
+ assert run(["version"]) == 0
56
+
57
+
58
+ def test_package_version_is_nonempty() -> None:
59
+ assert package_version()
60
+
61
+
51
62
  def test_take_flags_strips_leading_only() -> None:
52
63
  json, assume, rest = take_flags(["-y", "pip", "install", "numpy"])
53
64
  assert json is False and assume is True and rest == ["pip", "install", "numpy"]
@@ -1,16 +0,0 @@
1
- {
2
- "mcpServers": {
3
- "nebius": {
4
- "type": "stdio",
5
- "command": "/opt/homebrew/bin/uvx",
6
- "args": [
7
- "--refresh-package",
8
- "nebius-mcp-server",
9
- "nebius-mcp-server@git+https://github.com/nebius/mcp-server@main"
10
- ],
11
- "env": {
12
- "SAFE_MODE": "true"
13
- }
14
- }
15
- }
16
- }