opmsec 0.1.3 → 0.1.4
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.
- package/.husky/pre-commit +1 -0
- package/bun.lock +4 -4
- package/docs/mint.json +2 -2
- package/package.json +7 -6
- package/packages/cli/src/commands/install.tsx +282 -24
- package/packages/cli/src/index.tsx +3 -1
- package/packages/cli/src/services/version.ts +156 -5
- package/packages/core/src/utils.ts +135 -0
- package/packages/scanner/src/services/openrouter.ts +18 -7
- package/packages/web/.next/BUILD_ID +1 -0
- package/packages/web/.next/app-build-manifest.json +18 -7
- package/packages/web/.next/app-path-routes-manifest.json +4 -0
- package/packages/web/.next/build-manifest.json +19 -6
- package/packages/web/.next/diagnostics/build-diagnostics.json +6 -0
- package/packages/web/.next/diagnostics/framework.json +1 -0
- package/packages/web/.next/export-marker.json +6 -0
- package/packages/web/.next/images-manifest.json +58 -0
- package/packages/web/.next/next-minimal-server.js.nft.json +1 -0
- package/packages/web/.next/next-server.js.nft.json +1 -0
- package/packages/web/.next/prerender-manifest.json +54 -4
- package/packages/web/.next/required-server-files.json +320 -0
- package/packages/web/.next/routes-manifest.json +53 -1
- package/packages/web/.next/server/app/_not-found/page.js +2 -0
- package/packages/web/.next/server/app/_not-found/page.js.nft.json +1 -0
- package/packages/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -0
- package/packages/web/.next/server/app/_not-found.html +1 -0
- package/packages/web/.next/server/app/_not-found.meta +8 -0
- package/packages/web/.next/server/app/_not-found.rsc +16 -0
- package/packages/web/.next/server/app/index.html +1 -0
- package/packages/web/.next/server/app/index.meta +7 -0
- package/packages/web/.next/server/app/index.rsc +20 -0
- package/packages/web/.next/server/app/page.js +2 -272
- package/packages/web/.next/server/app/page.js.nft.json +1 -0
- package/packages/web/.next/server/app/page_client-reference-manifest.js +1 -1
- package/packages/web/.next/server/app-paths-manifest.json +1 -0
- package/packages/web/.next/server/chunks/611.js +6 -0
- package/packages/web/.next/server/chunks/778.js +30 -0
- package/packages/web/.next/server/functions-config-manifest.json +4 -0
- package/packages/web/.next/server/interception-route-rewrite-manifest.js +1 -1
- package/packages/web/.next/server/middleware-build-manifest.js +1 -22
- package/packages/web/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/packages/web/.next/server/next-font-manifest.js +1 -1
- package/packages/web/.next/server/pages/404.html +1 -0
- package/packages/web/.next/server/pages/500.html +1 -0
- package/packages/web/.next/server/pages/_app.js +1 -0
- package/packages/web/.next/server/pages/_app.js.nft.json +1 -0
- package/packages/web/.next/server/pages/_document.js +1 -0
- package/packages/web/.next/server/pages/_document.js.nft.json +1 -0
- package/packages/web/.next/server/pages/_error.js +19 -0
- package/packages/web/.next/server/pages/_error.js.nft.json +1 -0
- package/packages/web/.next/server/pages-manifest.json +6 -1
- package/packages/web/.next/server/server-reference-manifest.js +1 -1
- package/packages/web/.next/server/server-reference-manifest.json +1 -5
- package/packages/web/.next/server/webpack-runtime.js +1 -209
- package/packages/web/.next/static/2XIFCTTKVZwN_RsNE-Rrr/_buildManifest.js +1 -0
- package/packages/web/.next/static/2XIFCTTKVZwN_RsNE-Rrr/_ssgManifest.js +1 -0
- package/packages/web/.next/static/chunks/255-0dc49b7a6e8e5c05.js +1 -0
- package/packages/web/.next/static/chunks/4bd1b696-382748cc942d8a14.js +1 -0
- package/packages/web/.next/static/chunks/app/_not-found/page-0da542be7eb33a64.js +1 -0
- package/packages/web/.next/static/chunks/app/layout-28a489fb4398663f.js +1 -0
- package/packages/web/.next/static/chunks/app/page-e58ccdb78625bce6.js +1 -0
- package/packages/web/.next/static/chunks/framework-ac73abd125e371fe.js +1 -0
- package/packages/web/.next/static/chunks/main-app-dd261207182e5a23.js +1 -0
- package/packages/web/.next/static/chunks/main-ee293fa6aa18bdd1.js +1 -0
- package/packages/web/.next/static/chunks/pages/_app-7d307437aca18ad4.js +1 -0
- package/packages/web/.next/static/chunks/pages/_error-cb2a52f75f2162e2.js +1 -0
- package/packages/web/.next/static/chunks/webpack-e1ae44446e7f7355.js +1 -0
- package/packages/web/.next/static/css/21d69157e271f2ab.css +3 -0
- package/packages/web/.next/trace +2 -5
- package/packages/web/app/page.tsx +5 -2
- package/packages/web/.next/server/vendor-chunks/@swc.js +0 -55
- package/packages/web/.next/server/vendor-chunks/next.js +0 -3010
- package/packages/web/.next/static/chunks/app/layout.js +0 -39
- package/packages/web/.next/static/chunks/app/page.js +0 -61
- package/packages/web/.next/static/chunks/app-pages-internals.js +0 -182
- package/packages/web/.next/static/chunks/main-app.js +0 -1882
- package/packages/web/.next/static/chunks/webpack.js +0 -1393
- package/packages/web/.next/static/css/app/layout.css +0 -1237
- package/packages/web/.next/static/development/_buildManifest.js +0 -1
- package/packages/web/.next/static/development/_ssgManifest.js +0 -1
- package/packages/web/.next/static/webpack/633457081244afec._.hot-update.json +0 -1
- package/packages/web/.next/static/webpack/6fee6306e0f98869.webpack.hot-update.json +0 -1
- package/packages/web/.next/static/webpack/73e341375c8d429e.webpack.hot-update.json +0 -1
- package/packages/web/.next/static/webpack/app/layout.6fee6306e0f98869.hot-update.js +0 -22
- package/packages/web/.next/static/webpack/app/layout.73e341375c8d429e.hot-update.js +0 -22
- package/packages/web/.next/static/webpack/app/page.6fee6306e0f98869.hot-update.js +0 -22
- package/packages/web/.next/static/webpack/app/page.73e341375c8d429e.hot-update.js +0 -22
- package/packages/web/.next/static/webpack/webpack.6fee6306e0f98869.hot-update.js +0 -12
- package/packages/web/.next/static/webpack/webpack.73e341375c8d429e.hot-update.js +0 -12
- /package/packages/web/.next/static/chunks/{polyfills.js → polyfills-42372ed130431b0a.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":1,"files":["../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../node_modules/next/dist/lib/constants.js","../../../../node_modules/next/dist/lib/interop-default.js","../../../../node_modules/next/dist/lib/is-error.js","../../../../node_modules/next/dist/lib/semver-noop.js","../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../node_modules/next/dist/server/lib/cache-handlers/default.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../node_modules/next/dist/server/lib/lru-cache.js","../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../node_modules/next/dist/server/load-manifest.external.js","../../../../node_modules/next/dist/server/response-cache/types.js","../../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","../../../../node_modules/next/dist/shared/lib/router/utils/app-paths.js","../../../../node_modules/next/dist/shared/lib/router/utils/html-bots.js","../../../../node_modules/next/dist/shared/lib/router/utils/is-bot.js","../../../../node_modules/next/dist/shared/lib/segment.js","../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../node_modules/next/package.json","../../../package.json","../../chunks/778.js","../../webpack-runtime.js","page_client-reference-manifest.js"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/_not-found/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"622":{"*":{"id":"2146","name":"*","chunks":[],"async":false}},"1959":{"*":{"id":"1603","name":"*","chunks":[],"async":false}},"3886":{"*":{"id":"5170","name":"*","chunks":[],"async":false}},"4431":{"*":{"id":"2263","name":"*","chunks":[],"async":false}},"5278":{"*":{"id":"8922","name":"*","chunks":[],"async":false}},"7150":{"*":{"id":"4160","name":"*","chunks":[],"async":false}},"7322":{"*":{"id":"9992","name":"*","chunks":[],"async":false}},"7989":{"*":{"id":"8495","name":"*","chunks":[],"async":false}},"8924":{"*":{"id":"9234","name":"*","chunks":[],"async":false}},"9766":{"*":{"id":"7526","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/dhananjaypai/Coding/Personal/opm/packages/web/node_modules/next/dist/client/components/builtin/global-error.js":{"id":7150,"name":"*","chunks":[],"async":false},"/Users/dhananjaypai/Coding/Personal/opm/packages/web/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":7150,"name":"*","chunks":[],"async":false},"/Users/dhananjaypai/Coding/Personal/opm/packages/web/node_modules/next/dist/client/components/client-page.js":{"id":1959,"name":"*","chunks":[],"async":false},"/Users/dhananjaypai/Coding/Personal/opm/packages/web/node_modules/next/dist/esm/client/components/client-page.js":{"id":1959,"name":"*","chunks":[],"async":false},"/Users/dhananjaypai/Coding/Personal/opm/packages/web/node_modules/next/dist/client/components/client-segment.js":{"id":7989,"name":"*","chunks":[],"async":false},"/Users/dhananjaypai/Coding/Personal/opm/packages/web/node_modules/next/dist/esm/client/components/client-segment.js":{"id":7989,"name":"*","chunks":[],"async":false},"/Users/dhananjaypai/Coding/Personal/opm/packages/web/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":3886,"name":"*","chunks":[],"async":false},"/Users/dhananjaypai/Coding/Personal/opm/packages/web/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":3886,"name":"*","chunks":[],"async":false},"/Users/dhananjaypai/Coding/Personal/opm/packages/web/node_modules/next/dist/client/components/layout-router.js":{"id":9766,"name":"*","chunks":[],"async":false},"/Users/dhananjaypai/Coding/Personal/opm/packages/web/node_modules/next/dist/esm/client/components/layout-router.js":{"id":9766,"name":"*","chunks":[],"async":false},"/Users/dhananjaypai/Coding/Personal/opm/packages/web/node_modules/next/dist/client/components/metadata/async-metadata.js":{"id":5278,"name":"*","chunks":[],"async":false},"/Users/dhananjaypai/Coding/Personal/opm/packages/web/node_modules/next/dist/esm/client/components/metadata/async-metadata.js":{"id":5278,"name":"*","chunks":[],"async":false},"/Users/dhananjaypai/Coding/Personal/opm/packages/web/node_modules/next/dist/client/components/render-from-template-context.js":{"id":8924,"name":"*","chunks":[],"async":false},"/Users/dhananjaypai/Coding/Personal/opm/packages/web/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":8924,"name":"*","chunks":[],"async":false},"/Users/dhananjaypai/Coding/Personal/opm/packages/web/node_modules/next/dist/lib/framework/boundary-components.js":{"id":4431,"name":"*","chunks":[],"async":false},"/Users/dhananjaypai/Coding/Personal/opm/packages/web/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":4431,"name":"*","chunks":[],"async":false},"/Users/dhananjaypai/Coding/Personal/opm/packages/web/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":622,"name":"*","chunks":[],"async":false},"/Users/dhananjaypai/Coding/Personal/opm/packages/web/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":622,"name":"*","chunks":[],"async":false},"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/globals.css":{"id":1290,"name":"*","chunks":["177","static/chunks/app/layout-28a489fb4398663f.js"],"async":false},"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx":{"id":7322,"name":"*","chunks":["974","static/chunks/app/page-e58ccdb78625bce6.js"],"async":false}},"entryCSSFiles":{"/Users/dhananjaypai/Coding/Personal/opm/packages/web/":[],"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/layout":[{"inlined":false,"path":"static/css/21d69157e271f2ab.css"}],"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page":[],"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/_not-found/page":[]},"rscModuleMapping":{"622":{"*":{"id":"1384","name":"*","chunks":[],"async":false}},"1290":{"*":{"id":"2704","name":"*","chunks":[],"async":false}},"1959":{"*":{"id":"3597","name":"*","chunks":[],"async":false}},"3886":{"*":{"id":"9748","name":"*","chunks":[],"async":false}},"4431":{"*":{"id":"3041","name":"*","chunks":[],"async":false}},"5278":{"*":{"id":"7184","name":"*","chunks":[],"async":false}},"7150":{"*":{"id":"1170","name":"*","chunks":[],"async":false}},"7322":{"*":{"id":"7742","name":"*","chunks":[],"async":false}},"7989":{"*":{"id":"6893","name":"*","chunks":[],"async":false}},"8924":{"*":{"id":"9576","name":"*","chunks":[],"async":false}},"9766":{"*":{"id":"6060","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<!DOCTYPE html><!--2XIFCTTKVZwN_RsNE_Rrr--><html lang="en" class="dark"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/21d69157e271f2ab.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-e1ae44446e7f7355.js"/><script src="/_next/static/chunks/4bd1b696-382748cc942d8a14.js" async=""></script><script src="/_next/static/chunks/255-0dc49b7a6e8e5c05.js" async=""></script><script src="/_next/static/chunks/main-app-dd261207182e5a23.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>OPM | On-chain Package Manager</title><meta name="description" content="Cryptographically signed, AI-audited, on-chain verified package security for the npm ecosystem."/><meta property="og:title" content="OPM | On-chain Package Manager"/><meta property="og:description" content="Cryptographically signed, AI-audited, on-chain verified package security."/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary"/><meta name="twitter:title" content="OPM | On-chain Package Manager"/><meta name="twitter:description" content="Cryptographically signed, AI-audited, on-chain verified package security."/><link rel="icon" href="/favicon.svg"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="bg-bg text-accent antialiased"><div hidden=""><!--$--><!--/$--></div><div class="noise-overlay"></div><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-e1ae44446e7f7355.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[9766,[],\"\"]\n3:I[8924,[],\"\"]\n4:I[4431,[],\"OutletBoundary\"]\n6:I[5278,[],\"AsyncMetadataOutlet\"]\n8:I[4431,[],\"ViewportBoundary\"]\na:I[4431,[],\"MetadataBoundary\"]\nb:\"$Sreact.suspense\"\nd:I[7150,[],\"\"]\n:HL[\"/_next/static/css/21d69157e271f2ab.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"2XIFCTTKVZwN_RsNE-Rrr\",\"p\":\"\",\"c\":[\"\",\"_not-found\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/21d69157e271f2ab.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"dark\",\"children\":[\"$\",\"body\",null,{\"className\":\"bg-bg text-accent antialiased\",\"children\":[[\"$\",\"div\",null,{\"className\":\"noise-overlay\"}],[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]}]]}],{\"children\":[\"/_not-found\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L4\",null,{\"children\":[\"$L5\",[\"$\",\"$L6\",null,{\"promise\":\"$@7\"}]]}]]}],{},null,false]},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],null],[\"$\",\"$La\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$b\",null,{\"fallback\":null,\"children\":\"$Lc\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$d\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n5:null\n"])</script><script>self.__next_f.push([1,"e:I[622,[],\"IconMark\"]\n"])</script><script>self.__next_f.push([1,"7:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"OPM | On-chain Package Manager\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Cryptographically signed, AI-audited, on-chain verified package security for the npm ecosystem.\"}],[\"$\",\"meta\",\"2\",{\"property\":\"og:title\",\"content\":\"OPM | On-chain Package Manager\"}],[\"$\",\"meta\",\"3\",{\"property\":\"og:description\",\"content\":\"Cryptographically signed, AI-audited, on-chain verified package security.\"}],[\"$\",\"meta\",\"4\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"5\",{\"name\":\"twitter:card\",\"content\":\"summary\"}],[\"$\",\"meta\",\"6\",{\"name\":\"twitter:title\",\"content\":\"OPM | On-chain Package Manager\"}],[\"$\",\"meta\",\"7\",{\"name\":\"twitter:description\",\"content\":\"Cryptographically signed, AI-audited, on-chain verified package security.\"}],[\"$\",\"link\",\"8\",{\"rel\":\"icon\",\"href\":\"/favicon.svg\"}],[\"$\",\"$Le\",\"9\",{}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"c:\"$7:metadata\"\n"])</script></body></html>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
1:"$Sreact.fragment"
|
|
2
|
+
2:I[9766,[],""]
|
|
3
|
+
3:I[8924,[],""]
|
|
4
|
+
4:I[4431,[],"OutletBoundary"]
|
|
5
|
+
6:I[5278,[],"AsyncMetadataOutlet"]
|
|
6
|
+
8:I[4431,[],"ViewportBoundary"]
|
|
7
|
+
a:I[4431,[],"MetadataBoundary"]
|
|
8
|
+
b:"$Sreact.suspense"
|
|
9
|
+
d:I[7150,[],""]
|
|
10
|
+
:HL["/_next/static/css/21d69157e271f2ab.css","style"]
|
|
11
|
+
0:{"P":null,"b":"2XIFCTTKVZwN_RsNE-Rrr","p":"","c":["","_not-found"],"i":false,"f":[[["",{"children":["/_not-found",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/21d69157e271f2ab.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","className":"dark","children":["$","body",null,{"className":"bg-bg text-accent antialiased","children":[["$","div",null,{"className":"noise-overlay"}],["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}]}]]}],{"children":["/_not-found",["$","$1","c",{"children":[null,["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],null,["$","$L4",null,{"children":["$L5",["$","$L6",null,{"promise":"$@7"}]]}]]}],{},null,false]},null,false]},null,false],["$","$1","h",{"children":[["$","meta",null,{"name":"robots","content":"noindex"}],[["$","$L8",null,{"children":"$L9"}],null],["$","$La",null,{"children":["$","div",null,{"hidden":true,"children":["$","$b",null,{"fallback":null,"children":"$Lc"}]}]}]]}],false]],"m":"$undefined","G":["$d",[]],"s":false,"S":true}
|
|
12
|
+
9:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
|
|
13
|
+
5:null
|
|
14
|
+
e:I[622,[],"IconMark"]
|
|
15
|
+
7:{"metadata":[["$","title","0",{"children":"OPM | On-chain Package Manager"}],["$","meta","1",{"name":"description","content":"Cryptographically signed, AI-audited, on-chain verified package security for the npm ecosystem."}],["$","meta","2",{"property":"og:title","content":"OPM | On-chain Package Manager"}],["$","meta","3",{"property":"og:description","content":"Cryptographically signed, AI-audited, on-chain verified package security."}],["$","meta","4",{"property":"og:type","content":"website"}],["$","meta","5",{"name":"twitter:card","content":"summary"}],["$","meta","6",{"name":"twitter:title","content":"OPM | On-chain Package Manager"}],["$","meta","7",{"name":"twitter:description","content":"Cryptographically signed, AI-audited, on-chain verified package security."}],["$","link","8",{"rel":"icon","href":"/favicon.svg"}],["$","$Le","9",{}]],"error":null,"digest":"$undefined"}
|
|
16
|
+
c:"$7:metadata"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<!DOCTYPE html><!--2XIFCTTKVZwN_RsNE_Rrr--><html lang="en" class="dark"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/21d69157e271f2ab.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-e1ae44446e7f7355.js"/><script src="/_next/static/chunks/4bd1b696-382748cc942d8a14.js" async=""></script><script src="/_next/static/chunks/255-0dc49b7a6e8e5c05.js" async=""></script><script src="/_next/static/chunks/main-app-dd261207182e5a23.js" async=""></script><script src="/_next/static/chunks/app/page-e58ccdb78625bce6.js" async=""></script><title>OPM | On-chain Package Manager</title><meta name="description" content="Cryptographically signed, AI-audited, on-chain verified package security for the npm ecosystem."/><meta property="og:title" content="OPM | On-chain Package Manager"/><meta property="og:description" content="Cryptographically signed, AI-audited, on-chain verified package security."/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary"/><meta name="twitter:title" content="OPM | On-chain Package Manager"/><meta name="twitter:description" content="Cryptographically signed, AI-audited, on-chain verified package security."/><link rel="icon" href="/favicon.svg"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="bg-bg text-accent antialiased"><div hidden=""><!--$--><!--/$--></div><div class="noise-overlay"></div><main><nav class="fixed top-0 left-0 right-0 z-40 transition-all duration-300 "><div class="max-w-6xl mx-auto px-6 h-16 flex items-center justify-between"><a href="/" class="flex items-center gap-2.5 hover:opacity-80 transition-opacity"><svg viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg" width="24" height="24"><rect width="32" height="32" rx="6" fill="#ededed"></rect><path d="M8 10L12 22L16 13L20 22L24 10" stroke="#0a0a0a" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path><circle cx="16" cy="24" r="1.5" fill="#16a34a"></circle></svg><span class="text-lg font-semibold tracking-tight">opm</span><span class="text-[10px] font-mono text-muted bg-surface px-1.5 py-0.5 rounded border border-border">v0.1.3</span></a><div class="flex items-center gap-8"><a href="#features" class="text-sm text-muted hover:text-accent transition-colors">Features</a><a href="#cli" class="text-sm text-muted hover:text-accent transition-colors">CLI</a><a href="https://opm.mintlify.app" target="_blank" rel="noopener" class="text-sm text-muted hover:text-accent transition-colors">Docs</a><a href="https://www.npmjs.com/package/opmsec" target="_blank" rel="noopener" class="text-sm text-muted hover:text-accent transition-colors">npm</a><a href="https://github.com/dhananjaypai08/opm" target="_blank" rel="noopener" class="text-sm text-muted hover:text-accent transition-colors">GitHub</a><a href="https://sepolia.basescan.org/address/0x16684391fc9bf48246B08Afe16d1a57BFa181d48" target="_blank" rel="noopener" class="text-sm font-mono text-muted hover:text-accent transition-colors flex items-center gap-1.5"><span class="w-1.5 h-1.5 rounded-full bg-green-500 animate-pulse"></span>Base Sepolia</a></div></div></nav><section class="relative min-h-screen flex items-center justify-center grid-bg overflow-hidden"><div class="absolute inset-0"><div class="absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[800px] h-[800px] rounded-full bg-gradient-radial from-white/[0.02] to-transparent animate-glow-pulse"></div></div><div class="relative z-10 max-w-4xl mx-auto px-6 text-center"><div class="animate-fade-in"><div class="inline-flex items-center gap-2 text-xs font-mono text-muted mb-8 px-3 py-1.5 rounded-full border border-border bg-surface/50"><span class="w-1.5 h-1.5 rounded-full bg-green-500"></span>Secured by multi-agent consensus on Base L2</div></div><h1 class="text-6xl md:text-8xl font-bold tracking-tighter leading-[0.9] mb-6 animate-slide-up" style="animation-delay:0.1s;animation-fill-mode:backwards">On-chain<br/><span class="text-transparent bg-clip-text bg-gradient-to-r from-white via-white/90 to-white/40">Package Security</span></h1><p class="text-lg md:text-xl text-muted max-w-2xl mx-auto mb-12 leading-relaxed animate-slide-up" style="animation-delay:0.3s;animation-fill-mode:backwards">Cryptographic attestation, multi-model AI auditing, and immutable risk scoring for every npm package. All verified on-chain.</p><div class="flex flex-col sm:flex-row items-center justify-center gap-4 animate-slide-up" style="animation-delay:0.5s;animation-fill-mode:backwards"><div class="group relative"><div class="absolute -inset-0.5 bg-gradient-to-r from-white/20 to-white/5 rounded-lg opacity-0 group-hover:opacity-100 transition-opacity blur-sm"></div><code class="relative flex items-center gap-3 bg-surface border border-border rounded-lg px-5 py-3 font-mono text-sm cursor-pointer hover:border-border-light transition-colors"><span class="text-muted">$</span><span>npm i -g opmsec</span><span class="text-muted/50">|</span><span class="text-muted text-xs">then: opm install <!-- --><pkg></span></code></div><a href="https://opm.mintlify.app" target="_blank" rel="noopener" class="px-5 py-3 text-sm font-medium text-bg bg-accent rounded-lg hover:bg-white transition-colors">Read the docs</a></div></div><div class="absolute bottom-0 left-0 right-0 h-32 bg-gradient-to-t from-bg to-transparent"></div></section><section id="features" class="py-32 px-6"><div class="max-w-6xl mx-auto"><div class="text-center mb-20"><p class="text-xs font-mono text-muted mb-4 tracking-widest uppercase">Security Primitives</p><h2 class="text-4xl md:text-5xl font-bold tracking-tight">Defense in depth,<br/>by default.</h2></div><div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-px bg-border rounded-2xl overflow-hidden"><div class="bg-surface p-8 hover:bg-surface-hover transition-colors group"><span class="text-2xl mb-4 block opacity-40 group-hover:opacity-100 transition-opacity">⬡</span><h3 class="text-lg font-semibold mb-3">Multi-Agent Consensus</h3><p class="text-sm text-muted leading-relaxed mb-4">Three independent LLMs (Claude, Gemini, DeepSeek) analyze every package in parallel. Risk scores are intelligence-weighted using live Artificial Analysis benchmarks.</p><p class="text-xs font-mono text-muted/60 leading-relaxed">No single model failure point. Weighted aggregate scoring with model intelligence and coding indices.</p></div><div class="bg-surface p-8 hover:bg-surface-hover transition-colors group"><span class="text-2xl mb-4 block opacity-40 group-hover:opacity-100 transition-opacity">◈</span><h3 class="text-lg font-semibold mb-3">Cryptographic Attestation</h3><p class="text-sm text-muted leading-relaxed mb-4">Every package is checksummed, signed with the author's wallet, and registered on Base L2. Signatures are verified at install time.</p><p class="text-xs font-mono text-muted/60 leading-relaxed">SHA-256 checksum, ECDSA signature, on-chain registration. Tamper-evident by design.</p></div><div class="bg-surface p-8 hover:bg-surface-hover transition-colors group"><span class="text-2xl mb-4 block opacity-40 group-hover:opacity-100 transition-opacity">◎</span><h3 class="text-lg font-semibold mb-3">ZK-Verified Agent Registration</h3><p class="text-sm text-muted leading-relaxed mb-4">Permissionless agent onboarding with zero-knowledge proof of benchmark accuracy. Agents must achieve 100% on labeled security datasets to participate.</p><p class="text-xs font-mono text-muted/60 leading-relaxed">Hash-commitment scheme with circom circuit reference. Accuracy proven without revealing test data.</p></div><div class="bg-surface p-8 hover:bg-surface-hover transition-colors group"><span class="text-2xl mb-4 block opacity-40 group-hover:opacity-100 transition-opacity">▣</span><h3 class="text-lg font-semibold mb-3">On-chain Risk Registry</h3><p class="text-sm text-muted leading-relaxed mb-4">Immutable risk scores, author profiles, and audit reports stored on Base Sepolia. Every security assessment is a verifiable public record.</p><p class="text-xs font-mono text-muted/60 leading-relaxed">OPMRegistry.sol: authorizedAgents, packages, versionData, AgentScores. Fully queryable.</p></div><div class="bg-surface p-8 hover:bg-surface-hover transition-colors group"><span class="text-2xl mb-4 block opacity-40 group-hover:opacity-100 transition-opacity">◬</span><h3 class="text-lg font-semibold mb-3">CVE + Typosquat Detection</h3><p class="text-sm text-muted leading-relaxed mb-4">OSV database integration for known vulnerabilities. Levenshtein-distance typosquat detection against the top 10,000 npm packages.</p><p class="text-xs font-mono text-muted/60 leading-relaxed">Real-time CVE lookups, automated fix suggestions, dependency confusion detection.</p></div><div class="bg-surface p-8 hover:bg-surface-hover transition-colors group"><span class="text-2xl mb-4 block opacity-40 group-hover:opacity-100 transition-opacity">◯</span><h3 class="text-lg font-semibold mb-3">Drop-in npm Replacement</h3><p class="text-sm text-muted leading-relaxed mb-4">Full CLI compatibility: install, audit, check, push, fix. Every npm command works transparently with security verification layered on top.</p><p class="text-xs font-mono text-muted/60 leading-relaxed">opm install = npm install + on-chain verification + signature check + CVE scan.</p></div></div></div></section><section id="architecture" class="py-32 px-6 border-t border-border"><div class="max-w-6xl mx-auto"><div class="text-center mb-20"><p class="text-xs font-mono text-muted mb-4 tracking-widest uppercase">System Design</p><h2 class="text-4xl md:text-5xl font-bold tracking-tight">Verification pipeline</h2></div><div class="relative"><div class="grid grid-cols-1 md:grid-cols-5 gap-4"><div class="relative"><div class="bg-gradient-to-b from-white/5 to-transparent border border-border rounded-xl p-6 h-full"><span class="text-xs font-mono text-muted block mb-3">01</span><h3 class="text-sm font-semibold mb-2">Pack & Sign</h3><p class="text-xs text-muted leading-relaxed">SHA-256 checksum, ECDSA signature via author wallet</p></div><div class="hidden md:block absolute top-1/2 -right-2.5 w-5 h-px bg-border"></div></div><div class="relative"><div class="bg-gradient-to-b from-white/5 to-transparent border border-border rounded-xl p-6 h-full"><span class="text-xs font-mono text-muted block mb-3">02</span><h3 class="text-sm font-semibold mb-2">Multi-Agent Scan</h3><p class="text-xs text-muted leading-relaxed">3 LLMs analyze source in parallel, each submits risk score</p></div><div class="hidden md:block absolute top-1/2 -right-2.5 w-5 h-px bg-border"></div></div><div class="relative"><div class="bg-gradient-to-b from-white/5 to-transparent border border-border rounded-xl p-6 h-full"><span class="text-xs font-mono text-muted block mb-3">03</span><h3 class="text-sm font-semibold mb-2">Weighted Consensus</h3><p class="text-xs text-muted leading-relaxed">Intelligence-weighted aggregate via Artificial Analysis indices</p></div><div class="hidden md:block absolute top-1/2 -right-2.5 w-5 h-px bg-border"></div></div><div class="relative"><div class="bg-gradient-to-b from-white/5 to-transparent border border-border rounded-xl p-6 h-full"><span class="text-xs font-mono text-muted block mb-3">04</span><h3 class="text-sm font-semibold mb-2">On-chain Registry</h3><p class="text-xs text-muted leading-relaxed">Package, scores, report URI registered on Base Sepolia</p></div><div class="hidden md:block absolute top-1/2 -right-2.5 w-5 h-px bg-border"></div></div><div class="relative"><div class="bg-gradient-to-b from-white/5 to-transparent border border-border rounded-xl p-6 h-full"><span class="text-xs font-mono text-muted block mb-3">05</span><h3 class="text-sm font-semibold mb-2">Install Verify</h3><p class="text-xs text-muted leading-relaxed">Signature + on-chain score + CVE check at install time</p></div></div></div></div><div class="mt-20 grid grid-cols-1 md:grid-cols-3 gap-8"><div class="border border-border rounded-xl p-6 bg-surface/50"><p class="text-xs font-mono text-green-500/80 mb-3">CHAIN</p><p class="text-sm font-semibold mb-1">Base Sepolia (L2)</p><p class="text-xs text-muted">Low-cost, high-throughput settlement for agent score submissions and package registrations.</p></div><div class="border border-border rounded-xl p-6 bg-surface/50"><p class="text-xs font-mono text-blue-400/80 mb-3">STORAGE</p><p class="text-sm font-semibold mb-1">Fileverse (IPFS)</p><p class="text-xs text-muted">Full audit reports uploaded to decentralized storage. URI stored on-chain for permanent reference.</p></div><div class="border border-border rounded-xl p-6 bg-surface/50"><p class="text-xs font-mono text-purple-400/80 mb-3">IDENTITY</p><p class="text-sm font-semibold mb-1">ENS Resolution</p><p class="text-xs text-muted">Author addresses resolved to ENS names. On-chain author profiles with reputation scoring.</p></div></div></div></section><section id="cli" class="py-32 px-6 border-t border-border"><div class="max-w-6xl mx-auto"><div class="grid grid-cols-1 lg:grid-cols-2 gap-16"><div><p class="text-xs font-mono text-muted mb-4 tracking-widest uppercase">CLI Reference</p><h2 class="text-4xl font-bold tracking-tight mb-6">Every command,<br/>security-first.</h2><p class="text-muted leading-relaxed mb-8">Drop-in replacement for npm. Every operation gains cryptographic verification, AI-powered auditing, and on-chain attestation transparently.</p><a href="https://opm.mintlify.app" target="_blank" rel="noopener" class="inline-flex items-center gap-2 text-sm font-medium px-4 py-2 border border-border rounded-lg hover:bg-surface transition-colors">Full CLI documentation</a></div><div class="terminal-glow rounded-xl border border-border bg-surface overflow-hidden"><div class="flex items-center gap-2 px-4 py-3 border-b border-border"><div class="w-3 h-3 rounded-full bg-[#ff5f57]"></div><div class="w-3 h-3 rounded-full bg-[#febc2e]"></div><div class="w-3 h-3 rounded-full bg-[#28c840]"></div><span class="ml-2 text-xs text-muted font-mono">terminal</span></div><div class="p-5 font-mono text-sm space-y-3"><div class="flex gap-3"><span class="text-muted shrink-0">$</span><div><span class="text-green-400">opm push</span><span class="text-muted/50 text-xs block mt-0.5">Sign, scan with 3 AI agents, publish, register on-chain</span></div></div><div class="flex gap-3"><span class="text-muted shrink-0">$</span><div><span class="text-green-400">opm install <pkg></span><span class="text-muted/50 text-xs block mt-0.5">Install with signature + on-chain + CVE verification</span></div></div><div class="flex gap-3"><span class="text-muted shrink-0">$</span><div><span class="text-green-400">opm check</span><span class="text-muted/50 text-xs block mt-0.5">Scan all deps: typosquats, CVEs, AI analysis, Fileverse report</span></div></div><div class="flex gap-3"><span class="text-muted shrink-0">$</span><div><span class="text-green-400">opm fix</span><span class="text-muted/50 text-xs block mt-0.5">Auto-fix typosquats and vulnerable versions</span></div></div><div class="flex gap-3"><span class="text-muted shrink-0">$</span><div><span class="text-green-400">opm audit</span><span class="text-muted/50 text-xs block mt-0.5">On-chain + CVE audit for entire dependency tree</span></div></div><div class="flex gap-3"><span class="text-muted shrink-0">$</span><div><span class="text-green-400">opm info <pkg></span><span class="text-muted/50 text-xs block mt-0.5">On-chain metadata, agent scores, safest version</span></div></div><div class="flex gap-3"><span class="text-muted shrink-0">$</span><div><span class="text-green-400">opm register-agent</span><span class="text-muted/50 text-xs block mt-0.5">Register a new security agent (ZK-verified)</span></div></div><div class="flex gap-3"><span class="text-muted shrink-0">$</span><div><span class="text-green-400">opm view <name.eth></span><span class="text-muted/50 text-xs block mt-0.5">ENS author profile, reputation, published packages</span></div></div></div></div></div></div></section><section class="py-32 px-6 border-t border-border"><div class="max-w-4xl mx-auto text-center"><p class="text-xs font-mono text-muted mb-4 tracking-widest uppercase">Smart Contract</p><h2 class="text-4xl font-bold tracking-tight mb-6">Fully on-chain. Fully verifiable.</h2><p class="text-muted max-w-2xl mx-auto mb-12">OPMRegistry.sol deployed on Base Sepolia. Every package registration, agent score submission, and author profile is an immutable on-chain record.</p><div class="grid grid-cols-2 md:grid-cols-4 gap-px bg-border rounded-xl overflow-hidden mb-12"><div class="bg-surface p-6"><p class="text-xs text-muted mb-1">Registered</p><p class="text-sm font-semibold">Packages</p></div><div class="bg-surface p-6"><p class="text-xs text-muted mb-1">Submitted</p><p class="text-sm font-semibold">Agent Scores</p></div><div class="bg-surface p-6"><p class="text-xs text-muted mb-1">Verified</p><p class="text-sm font-semibold">Authors</p></div><div class="bg-surface p-6"><p class="text-xs text-muted mb-1">On IPFS</p><p class="text-sm font-semibold">Reports</p></div></div><div class="inline-flex items-center gap-3"><a href="https://sepolia.basescan.org/address/0x16684391fc9bf48246B08Afe16d1a57BFa181d48" target="_blank" rel="noopener" class="flex items-center gap-2 text-sm font-mono text-muted hover:text-accent transition-colors px-4 py-2 border border-border rounded-lg"><span class="w-2 h-2 rounded-full bg-green-500"></span>View on BaseScan</a><a href="https://github.com/dhananjaypai08/opm/blob/main/packages/contracts/contracts/OPMRegistry.sol" target="_blank" rel="noopener" class="flex items-center gap-2 text-sm text-muted hover:text-accent transition-colors px-4 py-2 border border-border rounded-lg">Source Code</a></div></div></section><footer class="border-t border-border py-12 px-6"><div class="max-w-6xl mx-auto flex flex-col md:flex-row items-center justify-between gap-6"><a href="/" class="flex items-center gap-2.5 hover:opacity-80 transition-opacity"><svg viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg" width="18" height="18"><rect width="32" height="32" rx="6" fill="#ededed"></rect><path d="M8 10L12 22L16 13L20 22L24 10" stroke="#0a0a0a" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path><circle cx="16" cy="24" r="1.5" fill="#16a34a"></circle></svg><span class="font-semibold tracking-tight">opm</span><span class="text-xs text-muted">On-chain Package Manager</span></a><div class="flex items-center gap-6 text-sm text-muted"><a href="https://opm.mintlify.app" target="_blank" rel="noopener" class="hover:text-accent transition-colors">Docs</a><a href="https://github.com/dhananjaypai08/opm" target="_blank" rel="noopener" class="hover:text-accent transition-colors">GitHub</a><a href="https://www.npmjs.com/package/opmsec" target="_blank" rel="noopener" class="hover:text-accent transition-colors">npm</a><a href="https://sepolia.basescan.org/address/0x16684391fc9bf48246B08Afe16d1a57BFa181d48" target="_blank" rel="noopener" class="hover:text-accent transition-colors">Contract</a></div><p class="text-xs text-muted/50">MIT License</p></div></footer></main><!--$--><!--/$--><script src="/_next/static/chunks/webpack-e1ae44446e7f7355.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[9766,[],\"\"]\n3:I[8924,[],\"\"]\n4:I[1959,[],\"ClientPageRoot\"]\n5:I[7322,[\"974\",\"static/chunks/app/page-e58ccdb78625bce6.js\"],\"default\"]\n8:I[4431,[],\"OutletBoundary\"]\na:I[5278,[],\"AsyncMetadataOutlet\"]\nc:I[4431,[],\"ViewportBoundary\"]\ne:I[4431,[],\"MetadataBoundary\"]\nf:\"$Sreact.suspense\"\n11:I[7150,[],\"\"]\n:HL[\"/_next/static/css/21d69157e271f2ab.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"2XIFCTTKVZwN_RsNE-Rrr\",\"p\":\"\",\"c\":[\"\",\"\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/21d69157e271f2ab.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"dark\",\"children\":[\"$\",\"body\",null,{\"className\":\"bg-bg text-accent antialiased\",\"children\":[[\"$\",\"div\",null,{\"className\":\"noise-overlay\"}],[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L4\",null,{\"Component\":\"$5\",\"searchParams\":{},\"params\":{},\"promises\":[\"$@6\",\"$@7\"]}],null,[\"$\",\"$L8\",null,{\"children\":[\"$L9\",[\"$\",\"$La\",null,{\"promise\":\"$@b\"}]]}]]}],{},null,false]},null,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$Lc\",null,{\"children\":\"$Ld\"}],null],[\"$\",\"$Le\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$f\",null,{\"fallback\":null,\"children\":\"$L10\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$11\",[]],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"6:{}\n7:\"$0:f:0:1:2:children:1:props:children:0:props:params\"\n"])</script><script>self.__next_f.push([1,"d:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n9:null\n"])</script><script>self.__next_f.push([1,"12:I[622,[],\"IconMark\"]\n"])</script><script>self.__next_f.push([1,"b:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"OPM | On-chain Package Manager\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Cryptographically signed, AI-audited, on-chain verified package security for the npm ecosystem.\"}],[\"$\",\"meta\",\"2\",{\"property\":\"og:title\",\"content\":\"OPM | On-chain Package Manager\"}],[\"$\",\"meta\",\"3\",{\"property\":\"og:description\",\"content\":\"Cryptographically signed, AI-audited, on-chain verified package security.\"}],[\"$\",\"meta\",\"4\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"5\",{\"name\":\"twitter:card\",\"content\":\"summary\"}],[\"$\",\"meta\",\"6\",{\"name\":\"twitter:title\",\"content\":\"OPM | On-chain Package Manager\"}],[\"$\",\"meta\",\"7\",{\"name\":\"twitter:description\",\"content\":\"Cryptographically signed, AI-audited, on-chain verified package security.\"}],[\"$\",\"link\",\"8\",{\"rel\":\"icon\",\"href\":\"/favicon.svg\"}],[\"$\",\"$L12\",\"9\",{}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"10:\"$b:metadata\"\n"])</script></body></html>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
1:"$Sreact.fragment"
|
|
2
|
+
2:I[9766,[],""]
|
|
3
|
+
3:I[8924,[],""]
|
|
4
|
+
4:I[1959,[],"ClientPageRoot"]
|
|
5
|
+
5:I[7322,["974","static/chunks/app/page-e58ccdb78625bce6.js"],"default"]
|
|
6
|
+
8:I[4431,[],"OutletBoundary"]
|
|
7
|
+
a:I[5278,[],"AsyncMetadataOutlet"]
|
|
8
|
+
c:I[4431,[],"ViewportBoundary"]
|
|
9
|
+
e:I[4431,[],"MetadataBoundary"]
|
|
10
|
+
f:"$Sreact.suspense"
|
|
11
|
+
11:I[7150,[],""]
|
|
12
|
+
:HL["/_next/static/css/21d69157e271f2ab.css","style"]
|
|
13
|
+
0:{"P":null,"b":"2XIFCTTKVZwN_RsNE-Rrr","p":"","c":["",""],"i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/21d69157e271f2ab.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","className":"dark","children":["$","body",null,{"className":"bg-bg text-accent antialiased","children":[["$","div",null,{"className":"noise-overlay"}],["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]]}]}]]}],{"children":["__PAGE__",["$","$1","c",{"children":[["$","$L4",null,{"Component":"$5","searchParams":{},"params":{},"promises":["$@6","$@7"]}],null,["$","$L8",null,{"children":["$L9",["$","$La",null,{"promise":"$@b"}]]}]]}],{},null,false]},null,false],["$","$1","h",{"children":[null,[["$","$Lc",null,{"children":"$Ld"}],null],["$","$Le",null,{"children":["$","div",null,{"hidden":true,"children":["$","$f",null,{"fallback":null,"children":"$L10"}]}]}]]}],false]],"m":"$undefined","G":["$11",[]],"s":false,"S":true}
|
|
14
|
+
6:{}
|
|
15
|
+
7:"$0:f:0:1:2:children:1:props:children:0:props:params"
|
|
16
|
+
d:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
|
|
17
|
+
9:null
|
|
18
|
+
12:I[622,[],"IconMark"]
|
|
19
|
+
b:{"metadata":[["$","title","0",{"children":"OPM | On-chain Package Manager"}],["$","meta","1",{"name":"description","content":"Cryptographically signed, AI-audited, on-chain verified package security for the npm ecosystem."}],["$","meta","2",{"property":"og:title","content":"OPM | On-chain Package Manager"}],["$","meta","3",{"property":"og:description","content":"Cryptographically signed, AI-audited, on-chain verified package security."}],["$","meta","4",{"property":"og:type","content":"website"}],["$","meta","5",{"name":"twitter:card","content":"summary"}],["$","meta","6",{"name":"twitter:title","content":"OPM | On-chain Package Manager"}],["$","meta","7",{"name":"twitter:description","content":"Cryptographically signed, AI-audited, on-chain verified package security."}],["$","link","8",{"rel":"icon","href":"/favicon.svg"}],["$","$L12","9",{}]],"error":null,"digest":"$undefined"}
|
|
20
|
+
10:"$b:metadata"
|