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
|
@@ -53,26 +53,51 @@ export async function fetchModelRankings(): Promise<ModelRanking[]> {
|
|
|
53
53
|
|
|
54
54
|
export function getDefaultRankings(): ModelRanking[] {
|
|
55
55
|
return [
|
|
56
|
-
{ id: '1', name: '
|
|
57
|
-
{ id: '2', name: 'GPT-4
|
|
58
|
-
{ id: '3', name: '
|
|
59
|
-
{ id: '4', name: '
|
|
60
|
-
{ id: '5', name: '
|
|
61
|
-
{ id: '6', name: 'GPT-
|
|
56
|
+
{ id: '1', name: 'Gemini 3.1 Pro Preview', slug: 'gemini-3.1-pro-preview', intelligenceIndex: 57, codingIndex: 55 },
|
|
57
|
+
{ id: '2', name: 'GPT-5.4', slug: 'gpt-5.4', intelligenceIndex: 57, codingIndex: 55 },
|
|
58
|
+
{ id: '3', name: 'GPT-5.3 Codex', slug: 'gpt-5.3-codex', intelligenceIndex: 54, codingIndex: 52 },
|
|
59
|
+
{ id: '4', name: 'Claude Opus 4.6', slug: 'claude-opus-4-6', intelligenceIndex: 53, codingIndex: 51 },
|
|
60
|
+
{ id: '5', name: 'Claude Sonnet 4.6', slug: 'claude-sonnet-4-6', intelligenceIndex: 52, codingIndex: 50 },
|
|
61
|
+
{ id: '6', name: 'GPT-5.2', slug: 'gpt-5.2', intelligenceIndex: 51, codingIndex: 49 },
|
|
62
|
+
{ id: '7', name: 'GLM-5', slug: 'glm-5', intelligenceIndex: 50, codingIndex: 48 },
|
|
63
|
+
{ id: '8', name: 'Grok 4.2 Beta 0309', slug: 'grok-4-2-beta-0309', intelligenceIndex: 48, codingIndex: 46 },
|
|
64
|
+
{ id: '9', name: 'Kimi K2.5', slug: 'kimi-k2-5', intelligenceIndex: 47, codingIndex: 45 },
|
|
65
|
+
{ id: '10', name: 'Gemini 3 Flash', slug: 'gemini-3-flash', intelligenceIndex: 46, codingIndex: 44 },
|
|
66
|
+
{ id: '11', name: 'Qwen 3.5', slug: 'qwen-3-5', intelligenceIndex: 45, codingIndex: 43 },
|
|
67
|
+
{ id: '12', name: 'MiniMax-M2.5', slug: 'minimax-m2-5', intelligenceIndex: 42, codingIndex: 40 },
|
|
68
|
+
{ id: '13', name: 'DeepSeek V3.2', slug: 'deepseek-v3-2', intelligenceIndex: 42, codingIndex: 40 },
|
|
69
|
+
{ id: '14', name: 'MiMo V2 Flash Feb 2026', slug: 'mimo-v2-flash-feb-2026', intelligenceIndex: 41, codingIndex: 39 },
|
|
70
|
+
{ id: '15', name: 'Grok 4.1 Fast', slug: 'grok-4-1-fast', intelligenceIndex: 39, codingIndex: 37 },
|
|
71
|
+
{ id: '16', name: 'Claude 4.5 Haiku', slug: 'claude-4-5-haiku', intelligenceIndex: 37, codingIndex: 35 },
|
|
72
|
+
{ id: '17', name: 'NVIDIA Nemotron 3 Super', slug: 'nvidia-nemotron-3-super', intelligenceIndex: 36, codingIndex: 34 },
|
|
73
|
+
{ id: '18', name: 'Nova 2.0 Pro Preview', slug: 'nova-2-0-pro-preview', intelligenceIndex: 36, codingIndex: 34 },
|
|
74
|
+
{ id: '19', name: 'Gemini 3.1 Flash Lite Preview', slug: 'gemini-3-1-flash-lite-preview', intelligenceIndex: 34, codingIndex: 32 },
|
|
75
|
+
{ id: '20', name: 'gpt-oss-120B', slug: 'gpt-oss-120b', intelligenceIndex: 33, codingIndex: 31 },
|
|
76
|
+
{ id: '21', name: 'K-EXAONE', slug: 'k-exaone', intelligenceIndex: 32, codingIndex: 30 },
|
|
77
|
+
{ id: '22', name: 'gpt-oss-20B', slug: 'gpt-oss-20b', intelligenceIndex: 24, codingIndex: 22 },
|
|
78
|
+
{ id: '23', name: 'NVIDIA Nemotron 3 Nano', slug: 'nvidia-nemotron-3-nano', intelligenceIndex: 24, codingIndex: 22 },
|
|
79
|
+
{ id: '24', name: 'K2 Think V2', slug: 'k2-think-v2', intelligenceIndex: 24, codingIndex: 22 },
|
|
80
|
+
{ id: '25', name: 'Mi:dm K 2.5 Pro', slug: 'midm-k-2-5-pro', intelligenceIndex: 23, codingIndex: 21 },
|
|
81
|
+
{ id: '26', name: 'Mistral Large 3', slug: 'mistral-large-3', intelligenceIndex: 23, codingIndex: 21 },
|
|
82
|
+
{ id: '27', name: 'Llama 4 Maverick', slug: 'llama-4-maverick', intelligenceIndex: 18, codingIndex: 16 },
|
|
62
83
|
];
|
|
63
84
|
}
|
|
64
85
|
|
|
65
86
|
const MODEL_SLUGS: Record<string, string> = {
|
|
66
|
-
'anthropic/claude-
|
|
67
|
-
'anthropic/claude-sonnet-4': 'claude-sonnet-4',
|
|
87
|
+
'anthropic/claude-opus-4.6': 'claude-opus-4-6',
|
|
88
|
+
'anthropic/claude-sonnet-4.6': 'claude-sonnet-4-6',
|
|
89
|
+
'anthropic/claude-opus-4': 'claude-opus-4-6',
|
|
90
|
+
'google/gemini-3.1-pro-preview': 'gemini-3.1-pro-preview',
|
|
91
|
+
'google/gemini-3-flash': 'gemini-3-flash',
|
|
68
92
|
'google/gemini-2.5-flash': 'gemini-2.5-flash',
|
|
69
|
-
'deepseek/deepseek-
|
|
70
|
-
'
|
|
71
|
-
'gpt-4
|
|
72
|
-
'
|
|
73
|
-
'gpt-
|
|
74
|
-
'
|
|
75
|
-
'gpt-
|
|
93
|
+
'deepseek/deepseek-v3.2': 'deepseek-v3-2',
|
|
94
|
+
'deepseek/deepseek-chat': 'deepseek-v3-2',
|
|
95
|
+
'openai/gpt-5.4': 'gpt-5.4',
|
|
96
|
+
'gpt-5.4': 'gpt-5.4',
|
|
97
|
+
'openai/gpt-5.3-codex': 'gpt-5.3-codex',
|
|
98
|
+
'gpt-5.3-codex': 'gpt-5.3-codex',
|
|
99
|
+
'openai/gpt-5.2': 'gpt-5.2',
|
|
100
|
+
'gpt-5.2': 'gpt-5.2',
|
|
76
101
|
};
|
|
77
102
|
|
|
78
103
|
function findModel(rankings: ModelRanking[], modelSlug: string): ModelRanking | undefined {
|
|
@@ -143,3 +143,13 @@ export interface CheckReport {
|
|
|
143
143
|
deps: CheckDepResult[];
|
|
144
144
|
agents: CheckAgentResult[];
|
|
145
145
|
}
|
|
146
|
+
|
|
147
|
+
export interface OPMENSRecords {
|
|
148
|
+
version?: string;
|
|
149
|
+
checksum?: string;
|
|
150
|
+
fileverse?: string;
|
|
151
|
+
riskScore?: string;
|
|
152
|
+
packages?: string;
|
|
153
|
+
signature?: string;
|
|
154
|
+
contract?: string;
|
|
155
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { HIGH_RISK_THRESHOLD, MEDIUM_RISK_THRESHOLD } from './constants';
|
|
2
|
-
import type { RiskLevel, AgentScanResult } from './types';
|
|
2
|
+
import type { RiskLevel, AgentScanResult, SupplyChainIndicators, VersionAnalysis } from './types';
|
|
3
3
|
|
|
4
4
|
export function classifyRisk(score: number): RiskLevel {
|
|
5
5
|
if (score >= HIGH_RISK_THRESHOLD) return 'HIGH';
|
|
@@ -145,7 +145,7 @@ export function normalizeScanResult(raw: unknown): AgentScanResult | null {
|
|
|
145
145
|
: [];
|
|
146
146
|
|
|
147
147
|
const sci = deepFindObj(o, ['supply_chain_indicators', 'supplyChainIndicators', 'indicators']);
|
|
148
|
-
const supply_chain_indicators = sci ?? {
|
|
148
|
+
const supply_chain_indicators: SupplyChainIndicators = (sci as SupplyChainIndicators) ?? {
|
|
149
149
|
has_install_scripts: false,
|
|
150
150
|
has_native_bindings: false,
|
|
151
151
|
has_obfuscated_code: false,
|
|
@@ -157,7 +157,7 @@ export function normalizeScanResult(raw: unknown): AgentScanResult | null {
|
|
|
157
157
|
};
|
|
158
158
|
|
|
159
159
|
const va = deepFindObj(o, ['version_analysis', 'versionAnalysis']);
|
|
160
|
-
const version_analysis = va ?? {
|
|
160
|
+
const version_analysis: VersionAnalysis = (va as VersionAnalysis) ?? {
|
|
161
161
|
version_reviewed: deepFind(o, ['version', 'version_reviewed'], 'string') ?? '',
|
|
162
162
|
previous_versions_reviewed: [],
|
|
163
163
|
changelog_risk: 'NONE',
|
|
@@ -8,8 +8,9 @@ export { callLLM, callLLMRaw, getLLMProvider } from './services/openrouter';
|
|
|
8
8
|
export { fetchPackageData, extractMetadata, buildVersionHistory, fetchSourceFiles, extractLocalSourceFiles, buildLocalPackageData } from './services/npm-registry';
|
|
9
9
|
export { submitScoreOnChain, setReportURIOnChain } from './services/contract-writer';
|
|
10
10
|
export { uploadReportToFileverse, uploadCheckReportToFileverse, fetchReportFromFileverse } from './services/fileverse';
|
|
11
|
+
export type { FileverseUploadResult } from './services/fileverse';
|
|
11
12
|
export { formatCheckReportAsMarkdown } from './services/report-formatter';
|
|
12
|
-
export { runBenchmarkSuite, type AgentCandidate, type BenchmarkRunResult } from './services/benchmark-runner';
|
|
13
|
+
export { runBenchmarkSuite, runBatchBenchmarkSuite, type AgentCandidate, type BenchmarkRunResult, type BatchBenchmarkRunResult } from './services/benchmark-runner';
|
|
13
14
|
export { generateProof, verifyProof, generateCommitment, proofToOnChainBytes, type ZKProof } from './services/zk-verifier';
|
|
14
15
|
|
|
15
16
|
if (import.meta.main) {
|
|
@@ -8,6 +8,7 @@ import { uploadReportToFileverse } from '../services/fileverse';
|
|
|
8
8
|
export interface ScanJobResult {
|
|
9
9
|
report: ScanReport;
|
|
10
10
|
reportURI: string;
|
|
11
|
+
ipfsHash?: string;
|
|
11
12
|
}
|
|
12
13
|
|
|
13
14
|
const activeJobs = new Map<string, Promise<ScanJobResult>>();
|
|
@@ -77,9 +78,13 @@ async function executeScan(
|
|
|
77
78
|
|
|
78
79
|
log('Uploading report to Fileverse...');
|
|
79
80
|
let reportURI: string;
|
|
81
|
+
let ipfsHash: string | undefined;
|
|
80
82
|
try {
|
|
81
|
-
|
|
83
|
+
const uploadResult = await uploadReportToFileverse(report);
|
|
84
|
+
reportURI = uploadResult.link;
|
|
85
|
+
ipfsHash = uploadResult.ipfsHash;
|
|
82
86
|
log(`Report uploaded: ${reportURI}`);
|
|
87
|
+
if (ipfsHash) log(`IPFS content hash: ${ipfsHash}`);
|
|
83
88
|
} catch (err) {
|
|
84
89
|
log(`Fileverse upload failed: ${err}`);
|
|
85
90
|
reportURI = `local://report-${packageName}-${version}`;
|
|
@@ -92,5 +97,5 @@ async function executeScan(
|
|
|
92
97
|
log(`On-chain report URI: ${err?.shortMessage || err?.message || 'failed'}`);
|
|
93
98
|
}
|
|
94
99
|
|
|
95
|
-
return { report, reportURI };
|
|
100
|
+
return { report, reportURI, ipfsHash };
|
|
96
101
|
}
|
|
@@ -3,10 +3,16 @@ import {
|
|
|
3
3
|
buildBenchmarkPrompt,
|
|
4
4
|
evaluateBenchmark,
|
|
5
5
|
SYSTEM_PROMPT,
|
|
6
|
+
buildBatchSystemPrompt,
|
|
7
|
+
buildBatchBenchmarkPrompt,
|
|
8
|
+
evaluateBatchBenchmark,
|
|
9
|
+
expectedFlagForCase,
|
|
6
10
|
type BenchmarkCase,
|
|
7
11
|
type BenchmarkResult,
|
|
12
|
+
type BatchBenchmarkResponse,
|
|
13
|
+
type BatchBenchmarkResult,
|
|
8
14
|
} from '@opm/core';
|
|
9
|
-
import { callLLM } from './openrouter';
|
|
15
|
+
import { callLLM, callLLMRaw } from './openrouter';
|
|
10
16
|
import {
|
|
11
17
|
generateCommitment,
|
|
12
18
|
generateProof,
|
|
@@ -32,6 +38,85 @@ export interface BenchmarkRunResult {
|
|
|
32
38
|
failureReasons: string[];
|
|
33
39
|
}
|
|
34
40
|
|
|
41
|
+
/** Result type for the fast single-call batch benchmark */
|
|
42
|
+
export interface BatchBenchmarkRunResult {
|
|
43
|
+
candidate: AgentCandidate;
|
|
44
|
+
results: BatchBenchmarkResult[];
|
|
45
|
+
passed: number;
|
|
46
|
+
failed: number;
|
|
47
|
+
total: number;
|
|
48
|
+
accuracyPct: number;
|
|
49
|
+
zkProof: ZKProof;
|
|
50
|
+
verified: boolean;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Fast single-call benchmark: sends all 10 cases in one prompt,
|
|
55
|
+
* gets back 10 flagged/safe answers, compares to ground truth,
|
|
56
|
+
* generates ZK proof. ~10x faster than runBenchmarkSuite.
|
|
57
|
+
*/
|
|
58
|
+
export async function runBatchBenchmarkSuite(
|
|
59
|
+
candidate: AgentCandidate,
|
|
60
|
+
onStatus?: (msg: string) => void,
|
|
61
|
+
): Promise<BatchBenchmarkRunResult> {
|
|
62
|
+
const log = onStatus || console.log;
|
|
63
|
+
const benchmarks = generateBenchmarkDataset();
|
|
64
|
+
|
|
65
|
+
// Expected verdicts: 1 = flagged, 0 = safe
|
|
66
|
+
const expectedVerdicts = benchmarks.map((b) => expectedFlagForCase(b) ? 1 : 0);
|
|
67
|
+
|
|
68
|
+
log(`Generating commitment for ${benchmarks.length} test cases...`);
|
|
69
|
+
const commitment = generateCommitment(expectedVerdicts);
|
|
70
|
+
log(`Commitment: ${commitment.expectedHash.slice(0, 16)}…`);
|
|
71
|
+
|
|
72
|
+
log(`Sending ${benchmarks.length} cases to ${candidate.model} (single call)...`);
|
|
73
|
+
const userPrompt = buildBatchBenchmarkPrompt(benchmarks);
|
|
74
|
+
// Use the candidate's own system prompt so a bad prompt actually fails the benchmark
|
|
75
|
+
const systemPrompt = buildBatchSystemPrompt(candidate.systemPrompt);
|
|
76
|
+
|
|
77
|
+
const response = await callLLMRaw<BatchBenchmarkResponse>(
|
|
78
|
+
candidate.model,
|
|
79
|
+
systemPrompt,
|
|
80
|
+
userPrompt,
|
|
81
|
+
);
|
|
82
|
+
|
|
83
|
+
if (!response?.answers || !Array.isArray(response.answers)) {
|
|
84
|
+
throw new Error(`Agent returned invalid batch response — expected { answers: [...] }`);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
log(`Received ${response.answers.length} answers, evaluating...`);
|
|
88
|
+
|
|
89
|
+
const results = evaluateBatchBenchmark(benchmarks, response.answers);
|
|
90
|
+
const actualVerdicts = results.map((r) => r.actualFlagged ? 1 : 0);
|
|
91
|
+
|
|
92
|
+
const passed = results.filter((r) => r.passed).length;
|
|
93
|
+
const failed = results.filter((r) => !r.passed).length;
|
|
94
|
+
const accuracyPct = Math.round((passed / results.length) * 100);
|
|
95
|
+
|
|
96
|
+
results.forEach((r, i) => {
|
|
97
|
+
const icon = r.passed ? '✓' : '✗';
|
|
98
|
+
log(` ${icon} Case ${i + 1} (${r.category}): ${r.actualFlagged ? 'FLAGGED' : 'SAFE'} — expected ${r.expectedFlagged ? 'FLAGGED' : 'SAFE'}`);
|
|
99
|
+
});
|
|
100
|
+
|
|
101
|
+
log(`Accuracy: ${passed}/${results.length} (${accuracyPct}%)`);
|
|
102
|
+
log('Generating ZK proof...');
|
|
103
|
+
|
|
104
|
+
const zkProof = generateProof(commitment, expectedVerdicts, actualVerdicts);
|
|
105
|
+
const verified = verifyProof(zkProof);
|
|
106
|
+
log(`ZK proof ${verified ? 'verified ✓' : 'INVALID ✗'}`);
|
|
107
|
+
|
|
108
|
+
return {
|
|
109
|
+
candidate,
|
|
110
|
+
results,
|
|
111
|
+
passed,
|
|
112
|
+
failed,
|
|
113
|
+
total: results.length,
|
|
114
|
+
accuracyPct,
|
|
115
|
+
zkProof,
|
|
116
|
+
verified,
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
|
|
35
120
|
export async function runBenchmarkSuite(
|
|
36
121
|
candidate: AgentCandidate,
|
|
37
122
|
onStatus?: (msg: string) => void,
|
|
@@ -11,7 +11,49 @@ function getApiConfig() {
|
|
|
11
11
|
return { apiUrl, apiKey };
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
-
export
|
|
14
|
+
export interface FileverseUploadResult {
|
|
15
|
+
link: string;
|
|
16
|
+
ipfsHash?: string;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
interface DdocResponse {
|
|
20
|
+
ddocId: string;
|
|
21
|
+
syncStatus: string;
|
|
22
|
+
link?: string;
|
|
23
|
+
contentHash?: string;
|
|
24
|
+
ipfsHash?: string;
|
|
25
|
+
cid?: string;
|
|
26
|
+
ipfsCid?: string;
|
|
27
|
+
[key: string]: unknown;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
function extractIPFSHash(data: DdocResponse, log?: (msg: string) => void): string | undefined {
|
|
31
|
+
const knownFields = ['contentHash', 'ipfsHash', 'cid', 'ipfsCid', 'hash', 'ipfs', 'contentId'];
|
|
32
|
+
for (const field of knownFields) {
|
|
33
|
+
const val = data[field];
|
|
34
|
+
if (typeof val === 'string' && val.length > 0) return val;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
for (const [key, val] of Object.entries(data)) {
|
|
38
|
+
if (typeof val === 'string' && (val.startsWith('Qm') || val.startsWith('bafy'))) {
|
|
39
|
+
return val;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
if (data.link) {
|
|
44
|
+
const ipfsMatch = data.link.match(/\/ipfs\/(Qm[A-Za-z0-9]{44,}|bafy[a-z2-7]{50,})/);
|
|
45
|
+
if (ipfsMatch) return ipfsMatch[1];
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
if (log) {
|
|
49
|
+
const keys = Object.keys(data).filter((k) => !['ddocId', 'syncStatus', 'link'].includes(k));
|
|
50
|
+
if (keys.length > 0) log(`Fileverse extra fields: ${keys.join(', ')}`);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
return undefined;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export async function uploadReportToFileverse(report: ScanReport): Promise<FileverseUploadResult> {
|
|
15
57
|
const { apiUrl, apiKey } = getApiConfig();
|
|
16
58
|
|
|
17
59
|
const title = `OPM Security Report: ${report.package}@${report.version}`;
|
|
@@ -28,16 +70,19 @@ export async function uploadReportToFileverse(report: ScanReport): Promise<strin
|
|
|
28
70
|
throw new Error(`Fileverse create failed (${res.status}): ${body}`);
|
|
29
71
|
}
|
|
30
72
|
|
|
31
|
-
const { data } = await res.json() as { data:
|
|
73
|
+
const { data } = await res.json() as { data: DdocResponse };
|
|
32
74
|
const ddocId = data.ddocId;
|
|
75
|
+
let ipfsHash = extractIPFSHash(data);
|
|
33
76
|
|
|
34
|
-
if (data.syncStatus === 'synced' && data.link)
|
|
77
|
+
if (data.syncStatus === 'synced' && data.link) {
|
|
78
|
+
return { link: data.link, ipfsHash };
|
|
79
|
+
}
|
|
35
80
|
|
|
36
|
-
const
|
|
37
|
-
return link;
|
|
81
|
+
const syncResult = await pollForSync(apiUrl, apiKey, ddocId);
|
|
82
|
+
return { link: syncResult.link, ipfsHash: ipfsHash || syncResult.ipfsHash };
|
|
38
83
|
}
|
|
39
84
|
|
|
40
|
-
async function pollForSync(apiUrl: string, apiKey: string, ddocId: string): Promise<
|
|
85
|
+
async function pollForSync(apiUrl: string, apiKey: string, ddocId: string): Promise<FileverseUploadResult> {
|
|
41
86
|
const start = Date.now();
|
|
42
87
|
|
|
43
88
|
while (Date.now() - start < POLL_TIMEOUT_MS) {
|
|
@@ -46,15 +91,17 @@ async function pollForSync(apiUrl: string, apiKey: string, ddocId: string): Prom
|
|
|
46
91
|
const res = await fetch(`${apiUrl}/api/ddocs/${ddocId}?apiKey=${encodeURIComponent(apiKey)}`);
|
|
47
92
|
if (!res.ok) continue;
|
|
48
93
|
|
|
49
|
-
const doc = await res.json() as
|
|
50
|
-
if (doc.syncStatus === 'synced' && doc.link)
|
|
94
|
+
const doc = await res.json() as DdocResponse;
|
|
95
|
+
if (doc.syncStatus === 'synced' && doc.link) {
|
|
96
|
+
return { link: doc.link, ipfsHash: extractIPFSHash(doc) };
|
|
97
|
+
}
|
|
51
98
|
if (doc.syncStatus === 'failed') throw new Error('Fileverse blockchain sync failed');
|
|
52
99
|
}
|
|
53
100
|
|
|
54
|
-
return `https://ddocs.new/pending/${ddocId}
|
|
101
|
+
return { link: `https://ddocs.new/pending/${ddocId}` };
|
|
55
102
|
}
|
|
56
103
|
|
|
57
|
-
export async function uploadCheckReportToFileverse(report: CheckReport): Promise<
|
|
104
|
+
export async function uploadCheckReportToFileverse(report: CheckReport): Promise<FileverseUploadResult> {
|
|
58
105
|
const { apiUrl, apiKey } = getApiConfig();
|
|
59
106
|
const title = `OPM Check Report: ${report.project} (${report.totalDeps} deps)`;
|
|
60
107
|
const content = formatCheckReportAsMarkdown(report);
|
|
@@ -70,8 +117,10 @@ export async function uploadCheckReportToFileverse(report: CheckReport): Promise
|
|
|
70
117
|
throw new Error(`Fileverse create failed (${res.status}): ${body}`);
|
|
71
118
|
}
|
|
72
119
|
|
|
73
|
-
const { data } = await res.json() as { data:
|
|
74
|
-
if (data.syncStatus === 'synced' && data.link)
|
|
120
|
+
const { data } = await res.json() as { data: DdocResponse };
|
|
121
|
+
if (data.syncStatus === 'synced' && data.link) {
|
|
122
|
+
return { link: data.link, ipfsHash: extractIPFSHash(data) };
|
|
123
|
+
}
|
|
75
124
|
return pollForSync(apiUrl, apiKey, data.ddocId);
|
|
76
125
|
}
|
|
77
126
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
0esGzFBCzREfVwijEGDfL
|
|
@@ -1,26 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"pages": {
|
|
3
|
-
"/_not-found/page": [
|
|
4
|
-
"static/chunks/webpack-e1ae44446e7f7355.js",
|
|
5
|
-
"static/chunks/4bd1b696-382748cc942d8a14.js",
|
|
6
|
-
"static/chunks/255-0dc49b7a6e8e5c05.js",
|
|
7
|
-
"static/chunks/main-app-dd261207182e5a23.js",
|
|
8
|
-
"static/chunks/app/_not-found/page-0da542be7eb33a64.js"
|
|
9
|
-
],
|
|
10
3
|
"/layout": [
|
|
11
|
-
"static/chunks/webpack
|
|
12
|
-
"static/chunks/
|
|
13
|
-
"static/
|
|
14
|
-
"static/chunks/
|
|
15
|
-
"static/css/21d69157e271f2ab.css",
|
|
16
|
-
"static/chunks/app/layout-28a489fb4398663f.js"
|
|
4
|
+
"static/chunks/webpack.js",
|
|
5
|
+
"static/chunks/main-app.js",
|
|
6
|
+
"static/css/app/layout.css",
|
|
7
|
+
"static/chunks/app/layout.js"
|
|
17
8
|
],
|
|
18
9
|
"/page": [
|
|
19
|
-
"static/chunks/webpack
|
|
20
|
-
"static/chunks/
|
|
21
|
-
"static/chunks/
|
|
22
|
-
"static/chunks/main-app-dd261207182e5a23.js",
|
|
23
|
-
"static/chunks/app/page-e58ccdb78625bce6.js"
|
|
10
|
+
"static/chunks/webpack.js",
|
|
11
|
+
"static/chunks/main-app.js",
|
|
12
|
+
"static/chunks/app/page.js"
|
|
24
13
|
]
|
|
25
14
|
}
|
|
26
15
|
}
|
|
@@ -1,33 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"polyfillFiles": [
|
|
3
|
-
"static/chunks/polyfills
|
|
3
|
+
"static/chunks/polyfills.js"
|
|
4
4
|
],
|
|
5
5
|
"devFiles": [],
|
|
6
6
|
"ampDevFiles": [],
|
|
7
7
|
"lowPriorityFiles": [
|
|
8
|
-
"static/
|
|
9
|
-
"static/
|
|
8
|
+
"static/development/_buildManifest.js",
|
|
9
|
+
"static/development/_ssgManifest.js"
|
|
10
10
|
],
|
|
11
11
|
"rootMainFiles": [
|
|
12
|
-
"static/chunks/webpack
|
|
13
|
-
"static/chunks/
|
|
14
|
-
"static/chunks/255-0dc49b7a6e8e5c05.js",
|
|
15
|
-
"static/chunks/main-app-dd261207182e5a23.js"
|
|
12
|
+
"static/chunks/webpack.js",
|
|
13
|
+
"static/chunks/main-app.js"
|
|
16
14
|
],
|
|
17
15
|
"rootMainFilesTree": {},
|
|
18
16
|
"pages": {
|
|
19
|
-
"/_app": [
|
|
20
|
-
"static/chunks/webpack-e1ae44446e7f7355.js",
|
|
21
|
-
"static/chunks/framework-ac73abd125e371fe.js",
|
|
22
|
-
"static/chunks/main-ee293fa6aa18bdd1.js",
|
|
23
|
-
"static/chunks/pages/_app-7d307437aca18ad4.js"
|
|
24
|
-
],
|
|
25
|
-
"/_error": [
|
|
26
|
-
"static/chunks/webpack-e1ae44446e7f7355.js",
|
|
27
|
-
"static/chunks/framework-ac73abd125e371fe.js",
|
|
28
|
-
"static/chunks/main-ee293fa6aa18bdd1.js",
|
|
29
|
-
"static/chunks/pages/_error-cb2a52f75f2162e2.js"
|
|
30
|
-
]
|
|
17
|
+
"/_app": []
|
|
31
18
|
},
|
|
32
19
|
"ampFirstPages": []
|
|
33
20
|
}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"ignoreDuringBuilds": false
|
|
8
8
|
},
|
|
9
9
|
"typescript": {
|
|
10
|
-
"ignoreBuildErrors":
|
|
10
|
+
"ignoreBuildErrors": true,
|
|
11
11
|
"tsconfigPath": "tsconfig.json"
|
|
12
12
|
},
|
|
13
13
|
"typedRoutes": false,
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
"contentSecurityPolicy": "script-src 'none'; frame-src 'none'; sandbox;",
|
|
62
62
|
"contentDispositionType": "attachment",
|
|
63
63
|
"remotePatterns": [],
|
|
64
|
-
"unoptimized":
|
|
64
|
+
"unoptimized": true
|
|
65
65
|
},
|
|
66
66
|
"devIndicators": {
|
|
67
67
|
"position": "bottom-left"
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(()=>{var a={};a.id=492,a.ids=[492],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},1025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},2292:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,1170,23)),Promise.resolve().then(c.t.bind(c,3597,23)),Promise.resolve().then(c.t.bind(c,6893,23)),Promise.resolve().then(c.t.bind(c,9748,23)),Promise.resolve().then(c.t.bind(c,6060,23)),Promise.resolve().then(c.t.bind(c,7184,23)),Promise.resolve().then(c.t.bind(c,9576,23)),Promise.resolve().then(c.t.bind(c,3041,23)),Promise.resolve().then(c.t.bind(c,1384,23))},2704:()=>{},3033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},6439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},
|
|
2
|
-
see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:v.CachedRouteKind.APP_PAGE,html:l,headers:o,rscData:m.flightData,postponed:m.postponed,status:m.statusCode,segmentData:m.segmentData},cacheControl:n}},o=async({hasResolved:c,previousCacheEntry:f,isRevalidating:g,span:i})=>{let j,k=!1===K.isDev,l=c||b.writableEnded;if(ah&&ab&&!f&&!N)return(null==ac?void 0:ac.render404)?await ac.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(ai&&(j=(0,w.parseFallbackField)(ai.fallback)),j===w.FallbackMode.PRERENDER&&(0,u.isBot)(al)&&(!ar||an)&&(j=w.FallbackMode.BLOCKING_STATIC_RENDER),(null==f?void 0:f.isStale)===-1&&(ah=!0),ah&&(j!==w.FallbackMode.NOT_FOUND||f)&&(j=w.FallbackMode.BLOCKING_STATIC_RENDER),!N&&j!==w.FallbackMode.BLOCKING_STATIC_RENDER&&aB&&!l&&!_&&T&&(k||!aj)){let b;if((k||ai)&&j===w.FallbackMode.NOT_FOUND)throw new B.NoFallbackError;if(ar&&!ap){let c="string"==typeof(null==ai?void 0:ai.fallback)?ai.fallback:k?ag:null;if(b=await K.handleResponse({cacheKey:c,req:a,nextConfig:ad,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:$,isRoutePPREnabled:ar,responseGenerator:async()=>m({span:i,postponed:void 0,fallbackRouteParams:k||at?(0,n.u)(ag):null}),waitUntil:d.waitUntil}),null===b)return null;if(b)return delete b.cacheControl,b}}let o=ah||g||!au?void 0:au;if(as&&void 0!==o)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:v.CachedRouteKind.PAGES,html:x.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let p=T&&ar&&((0,h.getRequestMeta)(a,"renderFallbackShell")||at)?(0,n.u)(af):null;return m({span:i,postponed:o,fallbackRouteParams:p})},p=async c=>{var f,g,i,j,k;let l,n=await K.handleResponse({cacheKey:aA,responseGenerator:a=>o({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ah,isRoutePPREnabled:ar,req:a,nextConfig:ad,prerenderManifest:$,waitUntil:d.waitUntil});if(_&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),K.isDev&&b.setHeader("Cache-Control","no-store, must-revalidate"),!n){if(aA)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=n.value)?void 0:f.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=n.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let p="string"==typeof n.value.postponed;ak&&!av&&(!p||ao)&&(N||b.setHeader("x-nextjs-cache",ah?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),b.setHeader(t.NEXT_IS_PRERENDER_HEADER,"1"));let{value:q}=n;if(au)l={revalidate:0,expire:void 0};else if(N&&ap&&!ao&&ar)l={revalidate:0,expire:void 0};else if(!K.isDev)if(_)l={revalidate:0,expire:void 0};else if(ak){if(n.cacheControl)if("number"==typeof n.cacheControl.revalidate){if(n.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${n.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});l={revalidate:n.cacheControl.revalidate,expire:(null==(j=n.cacheControl)?void 0:j.expire)??ad.expireTime}}else l={revalidate:y.CACHE_ONE_YEAR,expire:void 0}}else b.getHeader("Cache-Control")||(l={revalidate:0,expire:void 0});if(n.cacheControl=l,"string"==typeof aw&&(null==q?void 0:q.kind)===v.CachedRouteKind.APP_PAGE&&q.segmentData){b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=q.headers)?void 0:k[y.NEXT_CACHE_TAGS_HEADER];N&&ak&&c&&"string"==typeof c&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,c);let d=q.segmentData.get(aw);return void 0!==d?(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:x.default.fromStatic(d,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl}):(b.statusCode=204,(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:x.default.EMPTY,cacheControl:n.cacheControl}))}let r=(0,h.getRequestMeta)(a,"onCacheEntry");if(r&&await r({...n,value:{...n.value,kind:"PAGE"}},{url:(0,h.getRequestMeta)(a,"initURL")}))return null;if(p&&au)throw Object.defineProperty(Error("Invariant: postponed state should not be present on a resume request"),"__NEXT_ERROR_CODE",{value:"E396",enumerable:!1,configurable:!0});if(q.headers){let a={...q.headers};for(let[c,d]of(N&&ak||delete a[y.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let s=null==(g=q.headers)?void 0:g[y.NEXT_CACHE_TAGS_HEADER];if(N&&ak&&s&&"string"==typeof s&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,s),!q.status||ap&&ar||(b.statusCode=q.status),!N&&q.status&&F.RedirectStatusCode[q.status]&&ap&&(b.statusCode=200),p&&b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"1"),ap&&!_){if(void 0===q.rscData){if(q.postponed)throw Object.defineProperty(Error("Invariant: Expected postponed to be undefined"),"__NEXT_ERROR_CODE",{value:"E372",enumerable:!1,configurable:!0});return(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:q.html,cacheControl:av?{revalidate:0,expire:void 0}:n.cacheControl})}return(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:x.default.fromStatic(q.rscData,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl})}let u=q.html;if(!p||N||ap)return(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:u,cacheControl:n.cacheControl});if(as)return u.push(new ReadableStream({start(a){a.enqueue(z.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:u,cacheControl:{revalidate:0,expire:void 0}});let w=new TransformStream;return u.push(w.readable),m({span:c,postponed:q.postponed,fallbackRouteParams:null}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(w.writable)}).catch(a=>{w.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:u,cacheControl:{revalidate:0,expire:void 0}})};if(!aF)return await aE.withPropagatedContext(a.headers,()=>aE.trace(i.BaseServerSpan.handleRequest,{spanName:`${aD} ${a.url}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aD,"http.target":a.url}},p));await p(aF)}catch(b){throw b instanceof B.NoFallbackError||await K.onRequestError(a,b,{routerKind:"App Router",routePath:G,routeType:"render",revalidateReason:(0,f.c)({isRevalidate:ak,isOnDemandRevalidate:ah})},ac),b}}},8354:a=>{"use strict";a.exports=require("util")},8676:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,4160,23)),Promise.resolve().then(c.t.bind(c,1603,23)),Promise.resolve().then(c.t.bind(c,8495,23)),Promise.resolve().then(c.t.bind(c,5170,23)),Promise.resolve().then(c.t.bind(c,7526,23)),Promise.resolve().then(c.t.bind(c,8922,23)),Promise.resolve().then(c.t.bind(c,9234,23)),Promise.resolve().then(c.t.bind(c,2263,23)),Promise.resolve().then(c.bind(c,2146))},9121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},9294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},
|
|
1
|
+
(()=>{var a={};a.id=492,a.ids=[492],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},1025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},2292:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,1170,23)),Promise.resolve().then(c.t.bind(c,3597,23)),Promise.resolve().then(c.t.bind(c,6893,23)),Promise.resolve().then(c.t.bind(c,9748,23)),Promise.resolve().then(c.t.bind(c,6060,23)),Promise.resolve().then(c.t.bind(c,7184,23)),Promise.resolve().then(c.t.bind(c,9576,23)),Promise.resolve().then(c.t.bind(c,3041,23)),Promise.resolve().then(c.t.bind(c,1384,23))},2511:()=>{},2704:()=>{},3033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},6439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},6713:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/is-bot")},6953:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>f,metadata:()=>e});var d=c(5338);c(2704);let e={title:"OPM | On-chain Package Manager",description:"Cryptographically signed, AI-audited, on-chain verified package security for the npm ecosystem.",icons:{icon:"/favicon.svg"},openGraph:{title:"OPM | On-chain Package Manager",description:"Cryptographically signed, AI-audited, on-chain verified package security.",type:"website"}};function f({children:a}){return(0,d.jsx)("html",{lang:"en",children:(0,d.jsx)("body",{className:"font-sans antialiased",children:a})})}},7156:(a,b,c)=>{"use strict";c.r(b),c.d(b,{GlobalError:()=>D.a,__next_app__:()=>J,handler:()=>L,pages:()=>I,routeModule:()=>K,tree:()=>H});var d=c(9754),e=c(9117),f=c(6595),g=c(2324),h=c(9326),i=c(8928),j=c(175),k=c(12),l=c(4290),m=c(2696),n=c(2802),o=c(7533),p=c(5229),q=c(2822),r=c(261),s=c(6453),t=c(2474),u=c(6713),v=c(1356),w=c(2685),x=c(6225),y=c(3446),z=c(2762),A=c(5742),B=c(6439),C=c(1170),D=c.n(C),E=c(2506),F=c(1203),G={};for(let a in E)0>["default","tree","pages","GlobalError","__next_app__","routeModule","handler"].indexOf(a)&&(G[a]=()=>E[a]);c.d(b,G);let H={children:["",{children:["/_not-found",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.t.bind(c,7028,23)),"next/dist/client/components/builtin/not-found.js"]}]},{}]},{layout:[()=>Promise.resolve().then(c.bind(c,6953)),"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/layout.tsx"],"global-error":[()=>Promise.resolve().then(c.t.bind(c,1170,23)),"next/dist/client/components/builtin/global-error.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,461,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,2768,23)),"next/dist/client/components/builtin/unauthorized.js"]}]}.children,I=[],J={require:c,loadChunk:()=>Promise.resolve()},K=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/_not-found/page",pathname:"/_not-found",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:H},distDir:".next",relativeProjectDir:""});async function L(a,b,d){var C;let G="/_not-found/page";"/index"===G&&(G="/");let M=(0,h.getRequestMeta)(a,"postponed"),N=(0,h.getRequestMeta)(a,"minimalMode"),O=await K.prepare(a,b,{srcPage:G,multiZoneDraftMode:!1});if(!O)return b.statusCode=400,b.end("Bad Request"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let{buildId:P,query:Q,params:R,parsedUrl:S,pageIsDynamic:T,buildManifest:U,nextFontManifest:V,reactLoadableManifest:W,serverActionsManifest:X,clientReferenceManifest:Y,subresourceIntegrityManifest:Z,prerenderManifest:$,isDraftMode:_,resolvedPathname:aa,revalidateOnlyGenerated:ab,routerServerContext:ac,nextConfig:ad,interceptionRoutePatterns:ae}=O,af=S.pathname||"/",ag=(0,r.normalizeAppPath)(G),{isOnDemandRevalidate:ah}=O,ai=K.match(af,$),aj=!!$.routes[aa],ak=!!(ai||aj||$.routes[ag]),al=a.headers["user-agent"]||"",am=(0,u.getBotType)(al),an=(0,p.isHtmlBotRequest)(a),ao=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[t.NEXT_ROUTER_PREFETCH_HEADER],ap=(0,h.getRequestMeta)(a,"isRSCRequest")??!!a.headers[t.RSC_HEADER],aq=(0,s.getIsPossibleServerAction)(a),ar=(0,m.checkIsAppPPREnabled)(ad.experimental.ppr)&&(null==(C=$.routes[ag]??$.dynamicRoutes[ag])?void 0:C.renderingMode)==="PARTIALLY_STATIC",as=!1,at=!1,au=ar?M:void 0,av=ar&&ap&&!ao,aw=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),ax=!al||(0,p.shouldServeStreamingMetadata)(al,ad.htmlLimitedBots);an&&ar&&(ak=!1,ax=!1);let ay=!0===K.isDev||!ak||"string"==typeof M||av,az=an&&ar,aA=null;_||!ak||ay||aq||au||av||(aA=aa);let aB=aA;!aB&&K.isDev&&(aB=aa),K.isDev||_||!ak||!ap||av||(0,k.d)(a.headers);let aC={...E,tree:H,pages:I,GlobalError:D(),handler:L,routeModule:K,__next_app__:J};X&&Y&&(0,o.setReferenceManifestsSingleton)({page:G,clientReferenceManifest:Y,serverActionsManifest:X,serverModuleMap:(0,q.createServerModuleMap)({serverActionsManifest:X})});let aD=a.method||"GET",aE=(0,g.getTracer)(),aF=aE.getActiveScopeSpan();try{let f=K.getVaryHeader(aa,ae);b.setHeader("Vary",f);let k=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return K.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let d=aE.getRootSpanAttributes();if(!d)return;if(d.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${d.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=d.get("next.route");if(e){let a=`${aD} ${e}`;c.setAttributes({"next.route":e,"http.route":e,"next.span_name":a}),c.updateName(a)}else c.updateName(`${aD} ${a.url}`)})},m=async({span:e,postponed:f,fallbackRouteParams:g})=>{let i={query:Q,params:R,page:ag,sharedContext:{buildId:P},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aC,Component:(0,j.T)(aC),params:R,routeModule:K,page:G,postponed:f,shouldWaitOnAllReady:az,serveStreamingMetadata:ax,supportsDynamicResponse:"string"==typeof f||ay,buildManifest:U,nextFontManifest:V,reactLoadableManifest:W,subresourceIntegrityManifest:Z,serverActionsManifest:X,clientReferenceManifest:Y,setIsrStatus:null==ac?void 0:ac.setIsrStatus,dir:c(9902).join(process.cwd(),K.relativeProjectDir),isDraftMode:_,isRevalidate:ak&&!f&&!av,botType:am,isOnDemandRevalidate:ah,isPossibleServerAction:aq,assetPrefix:ad.assetPrefix,nextConfigOutput:ad.output,crossOrigin:ad.crossOrigin,trailingSlash:ad.trailingSlash,previewProps:$.preview,deploymentId:ad.deploymentId,enableTainting:ad.experimental.taint,htmlLimitedBots:ad.htmlLimitedBots,devtoolSegmentExplorer:ad.experimental.devtoolSegmentExplorer,reactMaxHeadersLength:ad.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:(0,h.getRequestMeta)(a,"incrementalCache"),cacheLifeProfiles:ad.experimental.cacheLife,basePath:ad.basePath,serverActions:ad.experimental.serverActions,...as?{nextExport:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isRevalidate:!0,isDebugDynamicAccesses:as}:{},experimental:{isRoutePPREnabled:ar,expireTime:ad.expireTime,staleTimes:ad.experimental.staleTimes,cacheComponents:!!ad.experimental.cacheComponents,clientSegmentCache:!!ad.experimental.clientSegmentCache,clientParamParsing:!!ad.experimental.clientParamParsing,dynamicOnHover:!!ad.experimental.dynamicOnHover,inlineCss:!!ad.experimental.inlineCss,authInterrupts:!!ad.experimental.authInterrupts,clientTraceMetadata:ad.experimental.clientTraceMetadata||[]},waitUntil:d.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d)=>K.onRequestError(a,b,d,ac),err:(0,h.getRequestMeta)(a,"invokeError"),dev:K.isDev}},l=await k(e,i),{metadata:m}=l,{cacheControl:n,headers:o={},fetchTags:p}=m;if(p&&(o[y.NEXT_CACHE_TAGS_HEADER]=p),a.fetchMetrics=m.fetchMetrics,ak&&(null==n?void 0:n.revalidate)===0&&!K.isDev&&!ar){let a=m.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${aa}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
|
|
2
|
+
see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:v.CachedRouteKind.APP_PAGE,html:l,headers:o,rscData:m.flightData,postponed:m.postponed,status:m.statusCode,segmentData:m.segmentData},cacheControl:n}},o=async({hasResolved:c,previousCacheEntry:f,isRevalidating:g,span:i})=>{let j,k=!1===K.isDev,l=c||b.writableEnded;if(ah&&ab&&!f&&!N)return(null==ac?void 0:ac.render404)?await ac.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(ai&&(j=(0,w.parseFallbackField)(ai.fallback)),j===w.FallbackMode.PRERENDER&&(0,u.isBot)(al)&&(!ar||an)&&(j=w.FallbackMode.BLOCKING_STATIC_RENDER),(null==f?void 0:f.isStale)===-1&&(ah=!0),ah&&(j!==w.FallbackMode.NOT_FOUND||f)&&(j=w.FallbackMode.BLOCKING_STATIC_RENDER),!N&&j!==w.FallbackMode.BLOCKING_STATIC_RENDER&&aB&&!l&&!_&&T&&(k||!aj)){let b;if((k||ai)&&j===w.FallbackMode.NOT_FOUND)throw new B.NoFallbackError;if(ar&&!ap){let c="string"==typeof(null==ai?void 0:ai.fallback)?ai.fallback:k?ag:null;if(b=await K.handleResponse({cacheKey:c,req:a,nextConfig:ad,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:$,isRoutePPREnabled:ar,responseGenerator:async()=>m({span:i,postponed:void 0,fallbackRouteParams:k||at?(0,n.u)(ag):null}),waitUntil:d.waitUntil}),null===b)return null;if(b)return delete b.cacheControl,b}}let o=ah||g||!au?void 0:au;if(as&&void 0!==o)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:v.CachedRouteKind.PAGES,html:x.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let p=T&&ar&&((0,h.getRequestMeta)(a,"renderFallbackShell")||at)?(0,n.u)(af):null;return m({span:i,postponed:o,fallbackRouteParams:p})},p=async c=>{var f,g,i,j,k;let l,n=await K.handleResponse({cacheKey:aA,responseGenerator:a=>o({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ah,isRoutePPREnabled:ar,req:a,nextConfig:ad,prerenderManifest:$,waitUntil:d.waitUntil});if(_&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),K.isDev&&b.setHeader("Cache-Control","no-store, must-revalidate"),!n){if(aA)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=n.value)?void 0:f.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=n.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let p="string"==typeof n.value.postponed;ak&&!av&&(!p||ao)&&(N||b.setHeader("x-nextjs-cache",ah?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),b.setHeader(t.NEXT_IS_PRERENDER_HEADER,"1"));let{value:q}=n;if(au)l={revalidate:0,expire:void 0};else if(N&&ap&&!ao&&ar)l={revalidate:0,expire:void 0};else if(!K.isDev)if(_)l={revalidate:0,expire:void 0};else if(ak){if(n.cacheControl)if("number"==typeof n.cacheControl.revalidate){if(n.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${n.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});l={revalidate:n.cacheControl.revalidate,expire:(null==(j=n.cacheControl)?void 0:j.expire)??ad.expireTime}}else l={revalidate:y.CACHE_ONE_YEAR,expire:void 0}}else b.getHeader("Cache-Control")||(l={revalidate:0,expire:void 0});if(n.cacheControl=l,"string"==typeof aw&&(null==q?void 0:q.kind)===v.CachedRouteKind.APP_PAGE&&q.segmentData){b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=q.headers)?void 0:k[y.NEXT_CACHE_TAGS_HEADER];N&&ak&&c&&"string"==typeof c&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,c);let d=q.segmentData.get(aw);return void 0!==d?(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:x.default.fromStatic(d,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl}):(b.statusCode=204,(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:x.default.EMPTY,cacheControl:n.cacheControl}))}let r=(0,h.getRequestMeta)(a,"onCacheEntry");if(r&&await r({...n,value:{...n.value,kind:"PAGE"}},{url:(0,h.getRequestMeta)(a,"initURL")}))return null;if(p&&au)throw Object.defineProperty(Error("Invariant: postponed state should not be present on a resume request"),"__NEXT_ERROR_CODE",{value:"E396",enumerable:!1,configurable:!0});if(q.headers){let a={...q.headers};for(let[c,d]of(N&&ak||delete a[y.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let s=null==(g=q.headers)?void 0:g[y.NEXT_CACHE_TAGS_HEADER];if(N&&ak&&s&&"string"==typeof s&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,s),!q.status||ap&&ar||(b.statusCode=q.status),!N&&q.status&&F.RedirectStatusCode[q.status]&&ap&&(b.statusCode=200),p&&b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"1"),ap&&!_){if(void 0===q.rscData){if(q.postponed)throw Object.defineProperty(Error("Invariant: Expected postponed to be undefined"),"__NEXT_ERROR_CODE",{value:"E372",enumerable:!1,configurable:!0});return(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:q.html,cacheControl:av?{revalidate:0,expire:void 0}:n.cacheControl})}return(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:x.default.fromStatic(q.rscData,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl})}let u=q.html;if(!p||N||ap)return(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:u,cacheControl:n.cacheControl});if(as)return u.push(new ReadableStream({start(a){a.enqueue(z.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:u,cacheControl:{revalidate:0,expire:void 0}});let w=new TransformStream;return u.push(w.readable),m({span:c,postponed:q.postponed,fallbackRouteParams:null}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(w.writable)}).catch(a=>{w.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,A.sendRenderResult)({req:a,res:b,generateEtags:ad.generateEtags,poweredByHeader:ad.poweredByHeader,result:u,cacheControl:{revalidate:0,expire:void 0}})};if(!aF)return await aE.withPropagatedContext(a.headers,()=>aE.trace(i.BaseServerSpan.handleRequest,{spanName:`${aD} ${a.url}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aD,"http.target":a.url}},p));await p(aF)}catch(b){throw b instanceof B.NoFallbackError||await K.onRequestError(a,b,{routerKind:"App Router",routePath:G,routeType:"render",revalidateReason:(0,f.c)({isRevalidate:ak,isOnDemandRevalidate:ah})},ac),b}}},8354:a=>{"use strict";a.exports=require("util")},8676:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,4160,23)),Promise.resolve().then(c.t.bind(c,1603,23)),Promise.resolve().then(c.t.bind(c,8495,23)),Promise.resolve().then(c.t.bind(c,5170,23)),Promise.resolve().then(c.t.bind(c,7526,23)),Promise.resolve().then(c.t.bind(c,8922,23)),Promise.resolve().then(c.t.bind(c,9234,23)),Promise.resolve().then(c.t.bind(c,2263,23)),Promise.resolve().then(c.bind(c,2146))},9121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},9294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},9463:()=>{},9902:a=>{"use strict";a.exports=require("path")}};var b=require("../../webpack-runtime.js");b.C(a);var c=b.X(0,[778],()=>b(b.s=7156));module.exports=c})();
|
|
@@ -1 +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":"
|
|
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":"5022","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/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Geist\",\"arguments\":[{\"subsets\":[\"latin\"]}],\"variableName\":\"_geist\"}":{"id":4304,"name":"*","chunks":["177","static/chunks/app/layout-de8e841104500505.js"],"async":false},"/Users/dhananjaypai/Coding/Personal/opm/packages/web/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Geist_Mono\",\"arguments\":[{\"subsets\":[\"latin\"]}],\"variableName\":\"_geistMono\"}":{"id":3672,"name":"*","chunks":["177","static/chunks/app/layout-de8e841104500505.js"],"async":false},"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/globals.css":{"id":1290,"name":"*","chunks":["177","static/chunks/app/layout-de8e841104500505.js"],"async":false},"/Users/dhananjaypai/Coding/Personal/opm/packages/web/app/page.tsx":{"id":7322,"name":"*","chunks":["174","static/chunks/174-5b5efcb3b8efcc01.js","974","static/chunks/app/page-7e086379698b9fb0.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/102562cf2d0ae9b0.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":{}}
|