opmsec 0.1.4 → 0.1.5
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/.env.example +1 -0
- package/README.md +71 -275
- package/bun.lock +3 -3
- package/docs/architecture/agents.mdx +11 -59
- package/docs/architecture/benchmarks.mdx +20 -46
- package/docs/architecture/overview.mdx +31 -38
- package/docs/architecture/scanner.mdx +11 -37
- package/docs/cli/audit.mdx +9 -12
- package/docs/cli/check.mdx +12 -26
- package/docs/cli/fix.mdx +10 -30
- package/docs/cli/info.mdx +12 -19
- package/docs/cli/install.mdx +27 -39
- package/docs/cli/push.mdx +40 -57
- package/docs/cli/register-agent.mdx +21 -53
- package/docs/cli/view.mdx +12 -29
- package/docs/concepts/ens-records.mdx +44 -0
- package/docs/concepts/multi-agent-consensus.mdx +18 -36
- package/docs/concepts/on-chain-registry.mdx +22 -49
- package/docs/concepts/security-model.mdx +20 -52
- package/docs/concepts/zk-agent-verification.mdx +26 -64
- package/docs/contract/events.mdx +13 -74
- package/docs/contract/functions.mdx +40 -126
- package/docs/contract/overview.mdx +17 -36
- package/docs/introduction.mdx +22 -25
- package/docs/mint.json +1 -0
- package/docs/quickstart.mdx +34 -70
- package/docs/system-design.png +0 -0
- package/package.json +5 -5
- package/packages/cli/src/commands/author-view.tsx +87 -2
- package/packages/cli/src/commands/check.tsx +18 -5
- package/packages/cli/src/commands/fix.tsx +25 -12
- package/packages/cli/src/commands/info.tsx +92 -4
- package/packages/cli/src/commands/install.tsx +54 -8
- package/packages/cli/src/commands/push.tsx +112 -0
- package/packages/cli/src/commands/register-agent.tsx +72 -31
- package/packages/cli/src/index.tsx +4 -4
- package/packages/cli/src/services/ens-records.ts +525 -0
- package/packages/core/src/benchmarks.ts +116 -0
- package/packages/core/src/constants.ts +18 -6
- package/packages/core/src/model-rankings.ts +40 -15
- package/packages/core/src/types.ts +10 -0
- package/packages/core/src/utils.ts +3 -3
- package/packages/scanner/src/index.ts +2 -1
- package/packages/scanner/src/queue/memory-queue.ts +7 -2
- package/packages/scanner/src/services/benchmark-runner.ts +86 -1
- package/packages/scanner/src/services/fileverse.ts +61 -12
- package/packages/web/.next/BUILD_ID +1 -1
- package/packages/web/.next/app-build-manifest.json +7 -18
- package/packages/web/.next/build-manifest.json +6 -19
- package/packages/web/.next/images-manifest.json +1 -1
- package/packages/web/.next/required-server-files.json +2 -2
- package/packages/web/.next/server/app/_not-found/page.js +2 -2
- package/packages/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/packages/web/.next/server/app/_not-found.html +1 -1
- package/packages/web/.next/server/app/_not-found.rsc +4 -2
- package/packages/web/.next/server/app/index.html +6 -1
- package/packages/web/.next/server/app/index.rsc +5 -3
- package/packages/web/.next/server/app/page.js +272 -2
- package/packages/web/.next/server/app/page_client-reference-manifest.js +1 -1
- package/packages/web/.next/server/app-paths-manifest.json +0 -1
- package/packages/web/.next/server/middleware-build-manifest.js +22 -1
- 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/next-font-manifest.json +1 -1
- package/packages/web/.next/server/pages/404.html +1 -1
- package/packages/web/.next/server/pages/500.html +1 -1
- package/packages/web/.next/server/pages-manifest.json +1 -6
- package/packages/web/.next/server/server-reference-manifest.js +1 -1
- package/packages/web/.next/server/server-reference-manifest.json +5 -1
- package/packages/web/.next/server/webpack-runtime.js +209 -1
- package/packages/web/.next/static/chunks/174-5b5efcb3b8efcc01.js +1 -0
- package/packages/web/.next/static/chunks/app/layout-de8e841104500505.js +1 -0
- package/packages/web/.next/static/chunks/app/layout.js +69 -0
- package/packages/web/.next/static/chunks/app/page-7e086379698b9fb0.js +1 -0
- package/packages/web/.next/static/chunks/app/page.js +357 -0
- package/packages/web/.next/static/chunks/{main-ee293fa6aa18bdd1.js → main-4e8d71b5ef7ee7e3.js} +1 -1
- package/packages/web/.next/static/chunks/webpack-0dcd67569eb46132.js +1 -0
- package/packages/web/.next/static/chunks/webpack.js +1393 -0
- package/packages/web/.next/static/css/102562cf2d0ae9b0.css +3 -0
- package/packages/web/.next/static/development/_buildManifest.js +1 -0
- package/packages/web/.next/static/development/_ssgManifest.js +1 -0
- package/packages/web/.next/static/media/4cf2300e9c8272f7-s.p.woff2 +0 -0
- package/packages/web/.next/static/media/747892c23ea88013-s.woff2 +0 -0
- package/packages/web/.next/static/media/8d697b304b401681-s.woff2 +0 -0
- package/packages/web/.next/static/media/93f479601ee12b01-s.p.woff2 +0 -0
- package/packages/web/.next/static/media/9610d9e46709d722-s.woff2 +0 -0
- package/packages/web/.next/static/media/ba015fad6dcf6784-s.woff2 +0 -0
- package/packages/web/.next/static/webpack/16f18baa938a434c.webpack.hot-update.json +1 -0
- package/packages/web/.next/static/webpack/5fe9fe8578f9c3d2.webpack.hot-update.json +1 -0
- package/packages/web/.next/static/webpack/653e365406c0d9ac.webpack.hot-update.json +1 -0
- package/packages/web/.next/static/webpack/6800169a899e3a8b.webpack.hot-update.json +1 -0
- package/packages/web/.next/static/webpack/73c7d02260cc80e4.webpack.hot-update.json +1 -0
- package/packages/web/.next/static/webpack/a2d85d19aa028de1.webpack.hot-update.json +1 -0
- package/packages/web/.next/static/webpack/app/layout.16f18baa938a434c.hot-update.js +22 -0
- package/packages/web/.next/static/webpack/app/layout.5fe9fe8578f9c3d2.hot-update.js +22 -0
- package/packages/web/.next/static/webpack/app/layout.653e365406c0d9ac.hot-update.js +22 -0
- package/packages/web/.next/static/webpack/app/layout.6800169a899e3a8b.hot-update.js +22 -0
- package/packages/web/.next/static/webpack/app/layout.73c7d02260cc80e4.hot-update.js +22 -0
- package/packages/web/.next/static/webpack/app/layout.a2d85d19aa028de1.hot-update.js +22 -0
- package/packages/web/.next/static/webpack/app/page.653e365406c0d9ac.hot-update.js +22 -0
- package/packages/web/.next/static/webpack/app/page.6800169a899e3a8b.hot-update.js +22 -0
- package/packages/web/.next/static/webpack/app/page.73c7d02260cc80e4.hot-update.js +22 -0
- package/packages/web/.next/static/webpack/app/page.a2d85d19aa028de1.hot-update.js +22 -0
- package/packages/web/.next/static/webpack/webpack.16f18baa938a434c.hot-update.js +12 -0
- package/packages/web/.next/static/webpack/webpack.5fe9fe8578f9c3d2.hot-update.js +12 -0
- package/packages/web/.next/static/webpack/webpack.653e365406c0d9ac.hot-update.js +12 -0
- package/packages/web/.next/static/webpack/webpack.6800169a899e3a8b.hot-update.js +12 -0
- package/packages/web/.next/static/webpack/webpack.73c7d02260cc80e4.hot-update.js +12 -0
- package/packages/web/.next/static/webpack/webpack.a2d85d19aa028de1.hot-update.js +12 -0
- package/packages/web/.next/trace +2 -2
- package/packages/web/app/globals.css +197 -51
- package/packages/web/app/layout.tsx +6 -3
- package/packages/web/app/page.tsx +791 -312
- package/packages/web/bun.lock +66 -105
- package/packages/web/next.config.ts +8 -1
- package/packages/web/package.json +5 -2
- package/packages/web/postcss.config.mjs +2 -2
- package/packages/web/public/apple-icon.png +1 -0
- package/packages/web/public/dependency-bottleneck.png +0 -0
- package/packages/web/public/icon-dark-32x32.png +1 -0
- package/packages/web/public/icon-light-32x32.png +1 -0
- package/packages/web/public/icon.svg +1 -0
- package/packages/web/public/nextjs-cve-announcement.png +0 -0
- package/packages/web/public/phantomraven-npm-attack.png +0 -0
- package/packages/web/public/placeholder-logo.png +1 -0
- package/packages/web/public/placeholder-logo.svg +1 -0
- package/packages/web/public/placeholder-user.jpg +1 -0
- package/packages/web/public/placeholder.jpg +1 -0
- package/packages/web/public/placeholder.svg +1 -0
- package/packages/web/public/react-cve-meme.png +0 -0
- package/packages/web/public/wallet-drain-exploit.png +0 -0
- package/packages/web/styles/globals.css +125 -0
- package/packages/web/.next/static/chunks/app/layout-28a489fb4398663f.js +0 -1
- package/packages/web/.next/static/chunks/app/page-e58ccdb78625bce6.js +0 -1
- package/packages/web/.next/static/chunks/webpack-e1ae44446e7f7355.js +0 -1
- package/packages/web/.next/static/css/21d69157e271f2ab.css +0 -3
- package/packages/web/tailwind.config.ts +0 -48
- /package/packages/web/.next/static/{2XIFCTTKVZwN_RsNE-Rrr → 0esGzFBCzREfVwijEGDfL}/_buildManifest.js +0 -0
- /package/packages/web/.next/static/{2XIFCTTKVZwN_RsNE-Rrr → 0esGzFBCzREfVwijEGDfL}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
@import 'tailwindcss';
|
|
2
|
+
@import 'tw-animate-css';
|
|
3
|
+
|
|
4
|
+
@custom-variant dark (&:is(.dark *));
|
|
5
|
+
|
|
6
|
+
:root {
|
|
7
|
+
--background: oklch(1 0 0);
|
|
8
|
+
--foreground: oklch(0.145 0 0);
|
|
9
|
+
--card: oklch(1 0 0);
|
|
10
|
+
--card-foreground: oklch(0.145 0 0);
|
|
11
|
+
--popover: oklch(1 0 0);
|
|
12
|
+
--popover-foreground: oklch(0.145 0 0);
|
|
13
|
+
--primary: oklch(0.205 0 0);
|
|
14
|
+
--primary-foreground: oklch(0.985 0 0);
|
|
15
|
+
--secondary: oklch(0.97 0 0);
|
|
16
|
+
--secondary-foreground: oklch(0.205 0 0);
|
|
17
|
+
--muted: oklch(0.97 0 0);
|
|
18
|
+
--muted-foreground: oklch(0.556 0 0);
|
|
19
|
+
--accent: oklch(0.97 0 0);
|
|
20
|
+
--accent-foreground: oklch(0.205 0 0);
|
|
21
|
+
--destructive: oklch(0.577 0.245 27.325);
|
|
22
|
+
--destructive-foreground: oklch(0.577 0.245 27.325);
|
|
23
|
+
--border: oklch(0.922 0 0);
|
|
24
|
+
--input: oklch(0.922 0 0);
|
|
25
|
+
--ring: oklch(0.708 0 0);
|
|
26
|
+
--chart-1: oklch(0.646 0.222 41.116);
|
|
27
|
+
--chart-2: oklch(0.6 0.118 184.704);
|
|
28
|
+
--chart-3: oklch(0.398 0.07 227.392);
|
|
29
|
+
--chart-4: oklch(0.828 0.189 84.429);
|
|
30
|
+
--chart-5: oklch(0.769 0.188 70.08);
|
|
31
|
+
--radius: 0.625rem;
|
|
32
|
+
--sidebar: oklch(0.985 0 0);
|
|
33
|
+
--sidebar-foreground: oklch(0.145 0 0);
|
|
34
|
+
--sidebar-primary: oklch(0.205 0 0);
|
|
35
|
+
--sidebar-primary-foreground: oklch(0.985 0 0);
|
|
36
|
+
--sidebar-accent: oklch(0.97 0 0);
|
|
37
|
+
--sidebar-accent-foreground: oklch(0.205 0 0);
|
|
38
|
+
--sidebar-border: oklch(0.922 0 0);
|
|
39
|
+
--sidebar-ring: oklch(0.708 0 0);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.dark {
|
|
43
|
+
--background: oklch(0.145 0 0);
|
|
44
|
+
--foreground: oklch(0.985 0 0);
|
|
45
|
+
--card: oklch(0.145 0 0);
|
|
46
|
+
--card-foreground: oklch(0.985 0 0);
|
|
47
|
+
--popover: oklch(0.145 0 0);
|
|
48
|
+
--popover-foreground: oklch(0.985 0 0);
|
|
49
|
+
--primary: oklch(0.985 0 0);
|
|
50
|
+
--primary-foreground: oklch(0.205 0 0);
|
|
51
|
+
--secondary: oklch(0.269 0 0);
|
|
52
|
+
--secondary-foreground: oklch(0.985 0 0);
|
|
53
|
+
--muted: oklch(0.269 0 0);
|
|
54
|
+
--muted-foreground: oklch(0.708 0 0);
|
|
55
|
+
--accent: oklch(0.269 0 0);
|
|
56
|
+
--accent-foreground: oklch(0.985 0 0);
|
|
57
|
+
--destructive: oklch(0.396 0.141 25.723);
|
|
58
|
+
--destructive-foreground: oklch(0.637 0.237 25.331);
|
|
59
|
+
--border: oklch(0.269 0 0);
|
|
60
|
+
--input: oklch(0.269 0 0);
|
|
61
|
+
--ring: oklch(0.439 0 0);
|
|
62
|
+
--chart-1: oklch(0.488 0.243 264.376);
|
|
63
|
+
--chart-2: oklch(0.696 0.17 162.48);
|
|
64
|
+
--chart-3: oklch(0.769 0.188 70.08);
|
|
65
|
+
--chart-4: oklch(0.627 0.265 303.9);
|
|
66
|
+
--chart-5: oklch(0.645 0.246 16.439);
|
|
67
|
+
--sidebar: oklch(0.205 0 0);
|
|
68
|
+
--sidebar-foreground: oklch(0.985 0 0);
|
|
69
|
+
--sidebar-primary: oklch(0.488 0.243 264.376);
|
|
70
|
+
--sidebar-primary-foreground: oklch(0.985 0 0);
|
|
71
|
+
--sidebar-accent: oklch(0.269 0 0);
|
|
72
|
+
--sidebar-accent-foreground: oklch(0.985 0 0);
|
|
73
|
+
--sidebar-border: oklch(0.269 0 0);
|
|
74
|
+
--sidebar-ring: oklch(0.439 0 0);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
@theme inline {
|
|
78
|
+
--font-sans: 'Geist', 'Geist Fallback';
|
|
79
|
+
--font-mono: 'Geist Mono', 'Geist Mono Fallback';
|
|
80
|
+
--color-background: var(--background);
|
|
81
|
+
--color-foreground: var(--foreground);
|
|
82
|
+
--color-card: var(--card);
|
|
83
|
+
--color-card-foreground: var(--card-foreground);
|
|
84
|
+
--color-popover: var(--popover);
|
|
85
|
+
--color-popover-foreground: var(--popover-foreground);
|
|
86
|
+
--color-primary: var(--primary);
|
|
87
|
+
--color-primary-foreground: var(--primary-foreground);
|
|
88
|
+
--color-secondary: var(--secondary);
|
|
89
|
+
--color-secondary-foreground: var(--secondary-foreground);
|
|
90
|
+
--color-muted: var(--muted);
|
|
91
|
+
--color-muted-foreground: var(--muted-foreground);
|
|
92
|
+
--color-accent: var(--accent);
|
|
93
|
+
--color-accent-foreground: var(--accent-foreground);
|
|
94
|
+
--color-destructive: var(--destructive);
|
|
95
|
+
--color-destructive-foreground: var(--destructive-foreground);
|
|
96
|
+
--color-border: var(--border);
|
|
97
|
+
--color-input: var(--input);
|
|
98
|
+
--color-ring: var(--ring);
|
|
99
|
+
--color-chart-1: var(--chart-1);
|
|
100
|
+
--color-chart-2: var(--chart-2);
|
|
101
|
+
--color-chart-3: var(--chart-3);
|
|
102
|
+
--color-chart-4: var(--chart-4);
|
|
103
|
+
--color-chart-5: var(--chart-5);
|
|
104
|
+
--radius-sm: calc(var(--radius) - 4px);
|
|
105
|
+
--radius-md: calc(var(--radius) - 2px);
|
|
106
|
+
--radius-lg: var(--radius);
|
|
107
|
+
--radius-xl: calc(var(--radius) + 4px);
|
|
108
|
+
--color-sidebar: var(--sidebar);
|
|
109
|
+
--color-sidebar-foreground: var(--sidebar-foreground);
|
|
110
|
+
--color-sidebar-primary: var(--sidebar-primary);
|
|
111
|
+
--color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
|
|
112
|
+
--color-sidebar-accent: var(--sidebar-accent);
|
|
113
|
+
--color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
|
|
114
|
+
--color-sidebar-border: var(--sidebar-border);
|
|
115
|
+
--color-sidebar-ring: var(--sidebar-ring);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
@layer base {
|
|
119
|
+
* {
|
|
120
|
+
@apply border-border outline-ring/50;
|
|
121
|
+
}
|
|
122
|
+
body {
|
|
123
|
+
@apply bg-background text-foreground;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[177],{1290:()=>{},3174:(e,s,_)=>{Promise.resolve().then(_.t.bind(_,1290,23))}},e=>{e.O(0,[741,441,255,358],()=>e(e.s=3174)),_N_E=e.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[974],{1381:(e,t,s)=>{Promise.resolve().then(s.bind(s,7322))},7322:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>b});var a=s(5155),r=s(2115);let i="https://opm.mintlify.app";if(!i)throw Error("NEXT_PUBLIC_DOCS_URL is not set");let n="https://github.com/dhananjaypai08/opm",l="https://www.npmjs.com/package/opmsec",o="https://sepolia.basescan.org/address/".concat("0x16684391fc9bf48246B08Afe16d1a57BFa181d48");function c(e){let{size:t=20}=e;return(0,a.jsxs)("svg",{viewBox:"0 0 32 32",fill:"none",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,children:[(0,a.jsx)("rect",{width:"32",height:"32",rx:"6",fill:"#ededed"}),(0,a.jsx)("path",{d:"M8 10L12 22L16 13L20 22L24 10",stroke:"#0a0a0a",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),(0,a.jsx)("circle",{cx:"16",cy:"24",r:"1.5",fill:"#16a34a"})]})}function d(){let[e,t]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{let e=()=>t(window.scrollY>20);return window.addEventListener("scroll",e,{passive:!0}),()=>window.removeEventListener("scroll",e)},[]),(0,a.jsx)("nav",{className:"fixed top-0 left-0 right-0 z-40 transition-all duration-300 ".concat(e?"bg-bg/80 backdrop-blur-xl border-b border-border":""),children:(0,a.jsxs)("div",{className:"max-w-6xl mx-auto px-6 h-16 flex items-center justify-between",children:[(0,a.jsxs)("a",{href:"/",className:"flex items-center gap-2.5 hover:opacity-80 transition-opacity",children:[(0,a.jsx)(c,{size:24}),(0,a.jsx)("span",{className:"text-lg font-semibold tracking-tight",children:"opm"}),(0,a.jsx)("span",{className:"text-[10px] font-mono text-muted bg-surface px-1.5 py-0.5 rounded border border-border",children:"v0.1.3"})]}),(0,a.jsxs)("div",{className:"flex items-center gap-8",children:[(0,a.jsx)("a",{href:"#features",className:"text-sm text-muted hover:text-accent transition-colors",children:"Features"}),(0,a.jsx)("a",{href:"#cli",className:"text-sm text-muted hover:text-accent transition-colors",children:"CLI"}),(0,a.jsx)("a",{href:i,target:"_blank",rel:"noopener",className:"text-sm text-muted hover:text-accent transition-colors",children:"Docs"}),(0,a.jsx)("a",{href:l,target:"_blank",rel:"noopener",className:"text-sm text-muted hover:text-accent transition-colors",children:"npm"}),(0,a.jsx)("a",{href:n,target:"_blank",rel:"noopener",className:"text-sm text-muted hover:text-accent transition-colors",children:"GitHub"}),(0,a.jsxs)("a",{href:o,target:"_blank",rel:"noopener",className:"text-sm font-mono text-muted hover:text-accent transition-colors flex items-center gap-1.5",children:[(0,a.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-green-500 animate-pulse"}),"Base Sepolia"]})]})]})})}function m(){return(0,a.jsxs)("section",{className:"relative min-h-screen flex items-center justify-center grid-bg overflow-hidden",children:[(0,a.jsx)("div",{className:"absolute inset-0",children:(0,a.jsx)("div",{className:"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"})}),(0,a.jsxs)("div",{className:"relative z-10 max-w-4xl mx-auto px-6 text-center",children:[(0,a.jsx)("div",{className:"animate-fade-in",children:(0,a.jsxs)("div",{className:"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",children:[(0,a.jsx)("span",{className:"w-1.5 h-1.5 rounded-full bg-green-500"}),"Secured by multi-agent consensus on Base L2"]})}),(0,a.jsxs)("h1",{className:"text-6xl md:text-8xl font-bold tracking-tighter leading-[0.9] mb-6 animate-slide-up",style:{animationDelay:"0.1s",animationFillMode:"backwards"},children:["On-chain",(0,a.jsx)("br",{}),(0,a.jsx)("span",{className:"text-transparent bg-clip-text bg-gradient-to-r from-white via-white/90 to-white/40",children:"Package Security"})]}),(0,a.jsx)("p",{className:"text-lg md:text-xl text-muted max-w-2xl mx-auto mb-12 leading-relaxed animate-slide-up",style:{animationDelay:"0.3s",animationFillMode:"backwards"},children:"Cryptographic attestation, multi-model AI auditing, and immutable risk scoring for every npm package. All verified on-chain."}),(0,a.jsxs)("div",{className:"flex flex-col sm:flex-row items-center justify-center gap-4 animate-slide-up",style:{animationDelay:"0.5s",animationFillMode:"backwards"},children:[(0,a.jsxs)("div",{className:"group relative",children:[(0,a.jsx)("div",{className:"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"}),(0,a.jsxs)("code",{className:"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",children:[(0,a.jsx)("span",{className:"text-muted",children:"$"}),(0,a.jsx)("span",{children:"npm i -g opmsec"}),(0,a.jsx)("span",{className:"text-muted/50",children:"|"}),(0,a.jsxs)("span",{className:"text-muted text-xs",children:["then: opm install ","<pkg>"]})]})]}),(0,a.jsx)("a",{href:i,target:"_blank",rel:"noopener",className:"px-5 py-3 text-sm font-medium text-bg bg-accent rounded-lg hover:bg-white transition-colors",children:"Read the docs"})]})]}),(0,a.jsx)("div",{className:"absolute bottom-0 left-0 right-0 h-32 bg-gradient-to-t from-bg to-transparent"})]})}function x(){return(0,a.jsx)("section",{id:"features",className:"py-32 px-6",children:(0,a.jsxs)("div",{className:"max-w-6xl mx-auto",children:[(0,a.jsxs)("div",{className:"text-center mb-20",children:[(0,a.jsx)("p",{className:"text-xs font-mono text-muted mb-4 tracking-widest uppercase",children:"Security Primitives"}),(0,a.jsxs)("h2",{className:"text-4xl md:text-5xl font-bold tracking-tight",children:["Defense in depth,",(0,a.jsx)("br",{}),"by default."]})]}),(0,a.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-px bg-border rounded-2xl overflow-hidden",children:[{title:"Multi-Agent Consensus",description:"Three independent LLMs (Claude, Gemini, DeepSeek) analyze every package in parallel. Risk scores are intelligence-weighted using live Artificial Analysis benchmarks.",detail:"No single model failure point. Weighted aggregate scoring with model intelligence and coding indices.",icon:"⬡"},{title:"Cryptographic Attestation",description:"Every package is checksummed, signed with the author's wallet, and registered on Base L2. Signatures are verified at install time.",detail:"SHA-256 checksum, ECDSA signature, on-chain registration. Tamper-evident by design.",icon:"◈"},{title:"ZK-Verified Agent Registration",description:"Permissionless agent onboarding with zero-knowledge proof of benchmark accuracy. Agents must achieve 100% on labeled security datasets to participate.",detail:"Hash-commitment scheme with circom circuit reference. Accuracy proven without revealing test data.",icon:"◎"},{title:"On-chain Risk Registry",description:"Immutable risk scores, author profiles, and audit reports stored on Base Sepolia. Every security assessment is a verifiable public record.",detail:"OPMRegistry.sol: authorizedAgents, packages, versionData, AgentScores. Fully queryable.",icon:"▣"},{title:"CVE + Typosquat Detection",description:"OSV database integration for known vulnerabilities. Levenshtein-distance typosquat detection against the top 10,000 npm packages.",detail:"Real-time CVE lookups, automated fix suggestions, dependency confusion detection.",icon:"◬"},{title:"Drop-in npm Replacement",description:"Full CLI compatibility: install, audit, check, push, fix. Every npm command works transparently with security verification layered on top.",detail:"opm install = npm install + on-chain verification + signature check + CVE scan.",icon:"◯"}].map((e,t)=>(0,a.jsxs)("div",{className:"bg-surface p-8 hover:bg-surface-hover transition-colors group",children:[(0,a.jsx)("span",{className:"text-2xl mb-4 block opacity-40 group-hover:opacity-100 transition-opacity",children:e.icon}),(0,a.jsx)("h3",{className:"text-lg font-semibold mb-3",children:e.title}),(0,a.jsx)("p",{className:"text-sm text-muted leading-relaxed mb-4",children:e.description}),(0,a.jsx)("p",{className:"text-xs font-mono text-muted/60 leading-relaxed",children:e.detail})]},t))})]})})}function p(){return(0,a.jsx)("section",{id:"architecture",className:"py-32 px-6 border-t border-border",children:(0,a.jsxs)("div",{className:"max-w-6xl mx-auto",children:[(0,a.jsxs)("div",{className:"text-center mb-20",children:[(0,a.jsx)("p",{className:"text-xs font-mono text-muted mb-4 tracking-widest uppercase",children:"System Design"}),(0,a.jsx)("h2",{className:"text-4xl md:text-5xl font-bold tracking-tight",children:"Verification pipeline"})]}),(0,a.jsx)("div",{className:"relative",children:(0,a.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-5 gap-4",children:[{step:"01",title:"Pack & Sign",desc:"SHA-256 checksum, ECDSA signature via author wallet"},{step:"02",title:"Multi-Agent Scan",desc:"3 LLMs analyze source in parallel, each submits risk score"},{step:"03",title:"Weighted Consensus",desc:"Intelligence-weighted aggregate via Artificial Analysis indices"},{step:"04",title:"On-chain Registry",desc:"Package, scores, report URI registered on Base Sepolia"},{step:"05",title:"Install Verify",desc:"Signature + on-chain score + CVE check at install time"}].map((e,t)=>(0,a.jsxs)("div",{className:"relative",children:[(0,a.jsxs)("div",{className:"bg-gradient-to-b from-white/5 to-transparent border border-border rounded-xl p-6 h-full",children:[(0,a.jsx)("span",{className:"text-xs font-mono text-muted block mb-3",children:e.step}),(0,a.jsx)("h3",{className:"text-sm font-semibold mb-2",children:e.title}),(0,a.jsx)("p",{className:"text-xs text-muted leading-relaxed",children:e.desc})]}),t<4&&(0,a.jsx)("div",{className:"hidden md:block absolute top-1/2 -right-2.5 w-5 h-px bg-border"})]},t))})}),(0,a.jsxs)("div",{className:"mt-20 grid grid-cols-1 md:grid-cols-3 gap-8",children:[(0,a.jsxs)("div",{className:"border border-border rounded-xl p-6 bg-surface/50",children:[(0,a.jsx)("p",{className:"text-xs font-mono text-green-500/80 mb-3",children:"CHAIN"}),(0,a.jsx)("p",{className:"text-sm font-semibold mb-1",children:"Base Sepolia (L2)"}),(0,a.jsx)("p",{className:"text-xs text-muted",children:"Low-cost, high-throughput settlement for agent score submissions and package registrations."})]}),(0,a.jsxs)("div",{className:"border border-border rounded-xl p-6 bg-surface/50",children:[(0,a.jsx)("p",{className:"text-xs font-mono text-blue-400/80 mb-3",children:"STORAGE"}),(0,a.jsx)("p",{className:"text-sm font-semibold mb-1",children:"Fileverse (IPFS)"}),(0,a.jsx)("p",{className:"text-xs text-muted",children:"Full audit reports uploaded to decentralized storage. URI stored on-chain for permanent reference."})]}),(0,a.jsxs)("div",{className:"border border-border rounded-xl p-6 bg-surface/50",children:[(0,a.jsx)("p",{className:"text-xs font-mono text-purple-400/80 mb-3",children:"IDENTITY"}),(0,a.jsx)("p",{className:"text-sm font-semibold mb-1",children:"ENS Resolution"}),(0,a.jsx)("p",{className:"text-xs text-muted",children:"Author addresses resolved to ENS names. On-chain author profiles with reputation scoring."})]})]})]})})}function h(){return(0,a.jsx)("section",{id:"cli",className:"py-32 px-6 border-t border-border",children:(0,a.jsx)("div",{className:"max-w-6xl mx-auto",children:(0,a.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-16",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-xs font-mono text-muted mb-4 tracking-widest uppercase",children:"CLI Reference"}),(0,a.jsxs)("h2",{className:"text-4xl font-bold tracking-tight mb-6",children:["Every command,",(0,a.jsx)("br",{}),"security-first."]}),(0,a.jsx)("p",{className:"text-muted leading-relaxed mb-8",children:"Drop-in replacement for npm. Every operation gains cryptographic verification, AI-powered auditing, and on-chain attestation transparently."}),(0,a.jsx)("a",{href:i,target:"_blank",rel:"noopener",className:"inline-flex items-center gap-2 text-sm font-medium px-4 py-2 border border-border rounded-lg hover:bg-surface transition-colors",children:"Full CLI documentation"})]}),(0,a.jsxs)("div",{className:"terminal-glow rounded-xl border border-border bg-surface overflow-hidden",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 px-4 py-3 border-b border-border",children:[(0,a.jsx)("div",{className:"w-3 h-3 rounded-full bg-[#ff5f57]"}),(0,a.jsx)("div",{className:"w-3 h-3 rounded-full bg-[#febc2e]"}),(0,a.jsx)("div",{className:"w-3 h-3 rounded-full bg-[#28c840]"}),(0,a.jsx)("span",{className:"ml-2 text-xs text-muted font-mono",children:"terminal"})]}),(0,a.jsx)("div",{className:"p-5 font-mono text-sm space-y-3",children:[{cmd:"opm push",desc:"Sign, scan with 3 AI agents, publish, register on-chain"},{cmd:"opm install <pkg>",desc:"Install with signature + on-chain + CVE verification"},{cmd:"opm check",desc:"Scan all deps: typosquats, CVEs, AI analysis, Fileverse report"},{cmd:"opm fix",desc:"Auto-fix typosquats and vulnerable versions"},{cmd:"opm audit",desc:"On-chain + CVE audit for entire dependency tree"},{cmd:"opm info <pkg>",desc:"On-chain metadata, agent scores, safest version"},{cmd:"opm register-agent",desc:"Register a new security agent (ZK-verified)"},{cmd:"opm view <name.eth>",desc:"ENS author profile, reputation, published packages"}].map((e,t)=>(0,a.jsxs)("div",{className:"flex gap-3",children:[(0,a.jsx)("span",{className:"text-muted shrink-0",children:"$"}),(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:"text-green-400",children:e.cmd}),(0,a.jsx)("span",{className:"text-muted/50 text-xs block mt-0.5",children:e.desc})]})]},t))})]})]})})})}function g(){return(0,a.jsx)("section",{className:"py-32 px-6 border-t border-border",children:(0,a.jsxs)("div",{className:"max-w-4xl mx-auto text-center",children:[(0,a.jsx)("p",{className:"text-xs font-mono text-muted mb-4 tracking-widest uppercase",children:"Smart Contract"}),(0,a.jsx)("h2",{className:"text-4xl font-bold tracking-tight mb-6",children:"Fully on-chain. Fully verifiable."}),(0,a.jsx)("p",{className:"text-muted max-w-2xl mx-auto mb-12",children:"OPMRegistry.sol deployed on Base Sepolia. Every package registration, agent score submission, and author profile is an immutable on-chain record."}),(0,a.jsx)("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-px bg-border rounded-xl overflow-hidden mb-12",children:[{label:"Packages",desc:"Registered"},{label:"Agent Scores",desc:"Submitted"},{label:"Authors",desc:"Verified"},{label:"Reports",desc:"On IPFS"}].map((e,t)=>(0,a.jsxs)("div",{className:"bg-surface p-6",children:[(0,a.jsx)("p",{className:"text-xs text-muted mb-1",children:e.desc}),(0,a.jsx)("p",{className:"text-sm font-semibold",children:e.label})]},t))}),(0,a.jsxs)("div",{className:"inline-flex items-center gap-3",children:[(0,a.jsxs)("a",{href:o,target:"_blank",rel:"noopener",className:"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",children:[(0,a.jsx)("span",{className:"w-2 h-2 rounded-full bg-green-500"}),"View on BaseScan"]}),(0,a.jsx)("a",{href:"".concat(n,"/blob/main/packages/contracts/contracts/OPMRegistry.sol"),target:"_blank",rel:"noopener",className:"flex items-center gap-2 text-sm text-muted hover:text-accent transition-colors px-4 py-2 border border-border rounded-lg",children:"Source Code"})]})]})})}function u(){return(0,a.jsx)("footer",{className:"border-t border-border py-12 px-6",children:(0,a.jsxs)("div",{className:"max-w-6xl mx-auto flex flex-col md:flex-row items-center justify-between gap-6",children:[(0,a.jsxs)("a",{href:"/",className:"flex items-center gap-2.5 hover:opacity-80 transition-opacity",children:[(0,a.jsx)(c,{size:18}),(0,a.jsx)("span",{className:"font-semibold tracking-tight",children:"opm"}),(0,a.jsx)("span",{className:"text-xs text-muted",children:"On-chain Package Manager"})]}),(0,a.jsxs)("div",{className:"flex items-center gap-6 text-sm text-muted",children:[(0,a.jsx)("a",{href:i,target:"_blank",rel:"noopener",className:"hover:text-accent transition-colors",children:"Docs"}),(0,a.jsx)("a",{href:n,target:"_blank",rel:"noopener",className:"hover:text-accent transition-colors",children:"GitHub"}),(0,a.jsx)("a",{href:l,target:"_blank",rel:"noopener",className:"hover:text-accent transition-colors",children:"npm"}),(0,a.jsx)("a",{href:o,target:"_blank",rel:"noopener",className:"hover:text-accent transition-colors",children:"Contract"})]}),(0,a.jsx)("p",{className:"text-xs text-muted/50",children:"MIT License"})]})})}function b(){return(0,a.jsxs)("main",{children:[(0,a.jsx)(d,{}),(0,a.jsx)(m,{}),(0,a.jsx)(x,{}),(0,a.jsx)(p,{}),(0,a.jsx)(h,{}),(0,a.jsx)(g,{}),(0,a.jsx)(u,{})]})}}},e=>{e.O(0,[441,255,358],()=>e(e.s=1381)),_N_E=e.O()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(()=>{"use strict";var e={},t={};function r(o){var n=t[o];if(void 0!==n)return n.exports;var a=t[o]={exports:{}},i=!0;try{e[o](a,a.exports,r),i=!1}finally{i&&delete t[o]}return a.exports}r.m=e,(()=>{var e=[];r.O=(t,o,n,a)=>{if(o){a=a||0;for(var i=e.length;i>0&&e[i-1][2]>a;i--)e[i]=e[i-1];e[i]=[o,n,a];return}for(var u=1/0,i=0;i<e.length;i++){for(var[o,n,a]=e[i],l=!0,d=0;d<o.length;d++)(!1&a||u>=a)&&Object.keys(r.O).every(e=>r.O[e](o[d]))?o.splice(d--,1):(l=!1,a<u&&(u=a));if(l){e.splice(i--,1);var c=n();void 0!==c&&(t=c)}}return t}})(),(()=>{var e,t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;r.t=function(o,n){if(1&n&&(o=this(o)),8&n||"object"==typeof o&&o&&(4&n&&o.__esModule||16&n&&"function"==typeof o.then))return o;var a=Object.create(null);r.r(a);var i={};e=e||[null,t({}),t([]),t(t)];for(var u=2&n&&o;"object"==typeof u&&!~e.indexOf(u);u=t(u))Object.getOwnPropertyNames(u).forEach(e=>i[e]=()=>o[e]);return i.default=()=>o,r.d(a,i),a}})(),r.d=(e,t)=>{for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((t,o)=>(r.f[o](e,t),t),[])),r.u=e=>{},r.miniCssF=e=>{},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e={},t="_N_E:";r.l=(o,n,a,i)=>{if(e[o])return void e[o].push(n);if(void 0!==a)for(var u,l,d=document.getElementsByTagName("script"),c=0;c<d.length;c++){var s=d[c];if(s.getAttribute("src")==o||s.getAttribute("data-webpack")==t+a){u=s;break}}u||(l=!0,(u=document.createElement("script")).charset="utf-8",u.timeout=120,r.nc&&u.setAttribute("nonce",r.nc),u.setAttribute("data-webpack",t+a),u.src=r.tu(o)),e[o]=[n];var f=(t,r)=>{u.onerror=u.onload=null,clearTimeout(p);var n=e[o];if(delete e[o],u.parentNode&&u.parentNode.removeChild(u),n&&n.forEach(e=>e(r)),t)return t(r)},p=setTimeout(f.bind(null,void 0,{type:"timeout",target:u}),12e4);u.onerror=f.bind(null,u.onerror),u.onload=f.bind(null,u.onload),l&&document.head.appendChild(u)}})(),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;r.tt=()=>(void 0===e&&(e={createScriptURL:e=>e},"undefined"!=typeof trustedTypes&&trustedTypes.createPolicy&&(e=trustedTypes.createPolicy("nextjs#bundler",e))),e)})(),r.tu=e=>r.tt().createScriptURL(e),r.p="/_next/",(()=>{var e={68:0,741:0};r.f.j=(t,o)=>{var n=r.o(e,t)?e[t]:void 0;if(0!==n)if(n)o.push(n[2]);else if(/^(68|741)$/.test(t))e[t]=0;else{var a=new Promise((r,o)=>n=e[t]=[r,o]);o.push(n[2]=a);var i=r.p+r.u(t),u=Error();r.l(i,o=>{if(r.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var a=o&&("load"===o.type?"missing":o.type),i=o&&o.target&&o.target.src;u.message="Loading chunk "+t+" failed.\n("+a+": "+i+")",u.name="ChunkLoadError",u.type=a,u.request=i,n[1](u)}},"chunk-"+t,t)}},r.O.j=t=>0===e[t];var t=(t,o)=>{var n,a,[i,u,l]=o,d=0;if(i.some(t=>0!==e[t])){for(n in u)r.o(u,n)&&(r.m[n]=u[n]);if(l)var c=l(r)}for(t&&t(o);d<i.length;d++)a=i[d],r.o(e,a)&&e[a]&&e[a][0](),e[a]=0;return r.O(c)},o=self.webpackChunk_N_E=self.webpackChunk_N_E||[];o.forEach(t.bind(null,0)),o.push=t.bind(null,o.push.bind(o))})()})();
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
|
|
2
|
-
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
|
|
3
|
-
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,system-ui,-apple-system,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:JetBrains Mono,Menlo,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.-inset-0\.5{inset:-.125rem}.inset-0{inset:0}.-right-2\.5{right:-.625rem}.bottom-0{bottom:0}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.top-0{top:0}.top-1\/2{top:50%}.z-10{z-index:10}.z-40{z-index:40}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:.5rem}.mb-20{margin-bottom:5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-2{margin-left:.5rem}.mt-0\.5{margin-top:.125rem}.mt-20{margin-top:5rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.h-1\.5{height:.375rem}.h-16{height:4rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-32{height:8rem}.h-\[800px\]{height:800px}.h-full{height:100%}.h-px{height:1px}.min-h-screen{min-height:100vh}.w-1\.5{width:.375rem}.w-2{width:.5rem}.w-3{width:.75rem}.w-5{width:1.25rem}.w-\[800px\]{width:800px}.max-w-2xl{max-width:42rem}.max-w-4xl{max-width:56rem}.max-w-6xl{max-width:72rem}.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:fadeIn .8s ease-out forwards}@keyframes glowPulse{0%,to{opacity:.4}50%{opacity:.8}}.animate-glow-pulse{animation:glowPulse 3s ease-in-out infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-slide-up{animation:slideUp .6s ease-out forwards}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1\.5{gap:.375rem}.gap-16{gap:4rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-px{gap:1px}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-border{--tw-border-opacity:1;border-color:rgb(34 34 34/var(--tw-border-opacity,1))}.bg-\[\#28c840\]{--tw-bg-opacity:1;background-color:rgb(40 200 64/var(--tw-bg-opacity,1))}.bg-\[\#febc2e\]{--tw-bg-opacity:1;background-color:rgb(254 188 46/var(--tw-bg-opacity,1))}.bg-\[\#ff5f57\]{--tw-bg-opacity:1;background-color:rgb(255 95 87/var(--tw-bg-opacity,1))}.bg-accent{--tw-bg-opacity:1;background-color:rgb(237 237 237/var(--tw-bg-opacity,1))}.bg-bg{--tw-bg-opacity:1;background-color:rgb(10 10 10/var(--tw-bg-opacity,1))}.bg-bg\/80{background-color:rgb(10 10 10/.8)}.bg-border{--tw-bg-opacity:1;background-color:rgb(34 34 34/var(--tw-bg-opacity,1))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.bg-surface{--tw-bg-opacity:1;background-color:rgb(17 17 17/var(--tw-bg-opacity,1))}.bg-surface\/50{background-color:rgb(17 17 17/.5)}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-bg{--tw-gradient-from:#0a0a0a var(--tw-gradient-from-position);--tw-gradient-to:rgb(10 10 10/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-white{--tw-gradient-from:#fff var(--tw-gradient-from-position);--tw-gradient-to:rgb(255 255 255/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-white\/20{--tw-gradient-from:rgb(255 255 255/0.2) var(--tw-gradient-from-position);--tw-gradient-to:rgb(255 255 255/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-white\/5{--tw-gradient-from:rgb(255 255 255/0.05) var(--tw-gradient-from-position);--tw-gradient-to:rgb(255 255 255/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-white\/\[0\.02\]{--tw-gradient-from:rgb(255 255 255/0.02) var(--tw-gradient-from-position);--tw-gradient-to:rgb(255 255 255/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-white\/90{--tw-gradient-to:rgb(255 255 255/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgb(255 255 255/0.9) var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.to-white\/40{--tw-gradient-to:rgb(255 255 255/0.4) var(--tw-gradient-to-position)}.to-white\/5{--tw-gradient-to:rgb(255 255 255/0.05) var(--tw-gradient-to-position)}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-32{padding-top:8rem;padding-bottom:8rem}.text-center{text-align:center}.font-mono{font-family:JetBrains Mono,Menlo,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-6xl{font-size:3.75rem;line-height:1}.text-\[10px\]{font-size:10px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-\[0\.9\]{line-height:.9}.leading-relaxed{line-height:1.625}.tracking-tight{letter-spacing:-.025em}.tracking-tighter{letter-spacing:-.05em}.tracking-widest{letter-spacing:.1em}.text-accent{--tw-text-opacity:1;color:rgb(237 237 237/var(--tw-text-opacity,1))}.text-bg{--tw-text-opacity:1;color:rgb(10 10 10/var(--tw-text-opacity,1))}.text-blue-400\/80{color:rgb(96 165 250/.8)}.text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.text-green-500\/80{color:rgb(34 197 94/.8)}.text-muted{--tw-text-opacity:1;color:rgb(136 136 136/var(--tw-text-opacity,1))}.text-muted\/50{color:rgb(136 136 136/.5)}.text-muted\/60{color:rgb(136 136 136/.6)}.text-purple-400\/80{color:rgb(192 132 252/.8)}.text-transparent{color:transparent}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-40{opacity:.4}.blur-sm{--tw-blur:blur(4px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-xl{--tw-backdrop-blur:blur(24px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300{transition-duration:.3s}@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap");:root{--bg:#0a0a0a;--surface:#111111;--border:#222222;--accent:#ededed;--muted:#888888}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--bg);color:var(--accent);font-family:Inter,system-ui,-apple-system,sans-serif}::-moz-selection{background:rgba(237,237,237,.15);color:#fff}::selection{background:rgba(237,237,237,.15);color:#fff}.gradient-border{position:relative}.gradient-border:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,rgba(255,255,255,.1),rgba(255,255,255,.02));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.terminal-glow{box-shadow:0 0 60px -12px rgba(100,255,150,.08),0 0 120px -20px rgba(100,255,150,.04)}.grid-bg{background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 0),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 0);background-size:60px 60px}.noise-overlay{position:fixed;inset:0;z-index:50;pointer-events:none;opacity:.015;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E")}.hover\:border-border-light:hover{--tw-border-opacity:1;border-color:rgb(51 51 51/var(--tw-border-opacity,1))}.hover\:bg-surface:hover{--tw-bg-opacity:1;background-color:rgb(17 17 17/var(--tw-bg-opacity,1))}.hover\:bg-surface-hover:hover{--tw-bg-opacity:1;background-color:rgb(26 26 26/var(--tw-bg-opacity,1))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.hover\:text-accent:hover{--tw-text-opacity:1;color:rgb(237 237 237/var(--tw-text-opacity,1))}.hover\:opacity-80:hover{opacity:.8}.group:hover .group-hover\:opacity-100{opacity:1}@media (min-width:640px){.sm\:flex-row{flex-direction:row}}@media (min-width:768px){.md\:block{display:block}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:text-5xl{font-size:3rem;line-height:1}.md\:text-8xl{font-size:6rem;line-height:1}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width:1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import type { Config } from 'tailwindcss';
|
|
2
|
-
|
|
3
|
-
const config: Config = {
|
|
4
|
-
content: [
|
|
5
|
-
'./app/**/*.{js,ts,jsx,tsx,mdx}',
|
|
6
|
-
'./components/**/*.{js,ts,jsx,tsx,mdx}',
|
|
7
|
-
],
|
|
8
|
-
theme: {
|
|
9
|
-
extend: {
|
|
10
|
-
colors: {
|
|
11
|
-
bg: '#0a0a0a',
|
|
12
|
-
surface: '#111111',
|
|
13
|
-
'surface-hover': '#1a1a1a',
|
|
14
|
-
border: '#222222',
|
|
15
|
-
'border-light': '#333333',
|
|
16
|
-
accent: '#ededed',
|
|
17
|
-
muted: '#888888',
|
|
18
|
-
'muted-light': '#a1a1a1',
|
|
19
|
-
},
|
|
20
|
-
fontFamily: {
|
|
21
|
-
sans: ['Inter', 'system-ui', '-apple-system', 'sans-serif'],
|
|
22
|
-
mono: ['JetBrains Mono', 'Menlo', 'monospace'],
|
|
23
|
-
},
|
|
24
|
-
animation: {
|
|
25
|
-
'fade-in': 'fadeIn 0.8s ease-out forwards',
|
|
26
|
-
'slide-up': 'slideUp 0.6s ease-out forwards',
|
|
27
|
-
'glow-pulse': 'glowPulse 3s ease-in-out infinite',
|
|
28
|
-
},
|
|
29
|
-
keyframes: {
|
|
30
|
-
fadeIn: {
|
|
31
|
-
from: { opacity: '0' },
|
|
32
|
-
to: { opacity: '1' },
|
|
33
|
-
},
|
|
34
|
-
slideUp: {
|
|
35
|
-
from: { opacity: '0', transform: 'translateY(20px)' },
|
|
36
|
-
to: { opacity: '1', transform: 'translateY(0)' },
|
|
37
|
-
},
|
|
38
|
-
glowPulse: {
|
|
39
|
-
'0%, 100%': { opacity: '0.4' },
|
|
40
|
-
'50%': { opacity: '0.8' },
|
|
41
|
-
},
|
|
42
|
-
},
|
|
43
|
-
},
|
|
44
|
-
},
|
|
45
|
-
plugins: [],
|
|
46
|
-
};
|
|
47
|
-
|
|
48
|
-
export default config;
|
/package/packages/web/.next/static/{2XIFCTTKVZwN_RsNE-Rrr → 0esGzFBCzREfVwijEGDfL}/_buildManifest.js
RENAMED
|
File without changes
|
/package/packages/web/.next/static/{2XIFCTTKVZwN_RsNE-Rrr → 0esGzFBCzREfVwijEGDfL}/_ssgManifest.js
RENAMED
|
File without changes
|