@leanspec/ui 0.2.3 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/standalone/packages/web/.next/BUILD_ID +1 -1
- package/dist/standalone/packages/web/.next/build-manifest.json +2 -2
- package/dist/standalone/packages/web/.next/prerender-manifest.json +3 -3
- package/dist/standalone/packages/web/.next/server/app/_global-error.html +2 -2
- package/dist/standalone/packages/web/.next/server/app/_global-error.rsc +1 -1
- package/dist/standalone/packages/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/dist/standalone/packages/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/dist/standalone/packages/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/dist/standalone/packages/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/dist/standalone/packages/web/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/dist/standalone/packages/web/.next/server/app/_not-found.html +2 -2
- package/dist/standalone/packages/web/.next/server/app/_not-found.rsc +2 -2
- package/dist/standalone/packages/web/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/dist/standalone/packages/web/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
- package/dist/standalone/packages/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/dist/standalone/packages/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/dist/standalone/packages/web/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/dist/standalone/packages/web/.next/server/app/api/projects/[id]/specs/route.js.nft.json +1 -1
- package/dist/standalone/packages/web/.next/server/app/api/projects/route.js.nft.json +1 -1
- package/dist/standalone/packages/web/.next/server/app/api/revalidate/route.js.nft.json +1 -1
- package/dist/standalone/packages/web/.next/server/app/api/specs/[id]/dependency-graph/route.js.nft.json +1 -1
- package/dist/standalone/packages/web/.next/server/app/api/specs/[id]/route.js.nft.json +1 -1
- package/dist/standalone/packages/web/.next/server/app/api/specs/[id]/subspecs/[file]/route.js.nft.json +1 -1
- package/dist/standalone/packages/web/.next/server/app/api/stats/route.js.nft.json +1 -1
- package/dist/standalone/packages/web/.next/server/app/board/page.js.nft.json +1 -1
- package/dist/standalone/packages/web/.next/server/app/board.html +1 -1
- package/dist/standalone/packages/web/.next/server/app/board.rsc +2 -2
- package/dist/standalone/packages/web/.next/server/app/board.segments/_full.segment.rsc +2 -2
- package/dist/standalone/packages/web/.next/server/app/board.segments/_index.segment.rsc +1 -1
- package/dist/standalone/packages/web/.next/server/app/board.segments/_tree.segment.rsc +1 -1
- package/dist/standalone/packages/web/.next/server/app/board.segments/board/__PAGE__.segment.rsc +1 -1
- package/dist/standalone/packages/web/.next/server/app/board.segments/board.segment.rsc +1 -1
- package/dist/standalone/packages/web/.next/server/app/page.js.nft.json +1 -1
- package/dist/standalone/packages/web/.next/server/app/specs/[id]/page.js.nft.json +1 -1
- package/dist/standalone/packages/web/.next/server/app/specs/[id]/page_client-reference-manifest.js +1 -1
- package/dist/standalone/packages/web/.next/server/app/specs/page.js.nft.json +1 -1
- package/dist/standalone/packages/web/.next/server/app/stats/page.js.nft.json +1 -1
- package/dist/standalone/packages/web/.next/server/chunks/[root-of-the-server]__2e0f9179._.js +1 -1
- package/dist/standalone/packages/web/.next/server/chunks/[root-of-the-server]__577d6d08._.js +1 -1
- package/dist/standalone/packages/web/.next/server/chunks/[root-of-the-server]__e54bc4b8._.js +1 -1
- package/dist/standalone/packages/web/.next/server/chunks/[root-of-the-server]__f8978f3e._.js +1 -1
- package/dist/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__be46bb7c._.js +1 -1
- package/dist/standalone/packages/web/.next/server/chunks/ssr/_7dedc302._.js +1 -1
- package/dist/standalone/packages/web/.next/server/chunks/ssr/_ad71cd8c._.js +1 -1
- package/dist/standalone/packages/web/.next/server/chunks/ssr/_c5a5c652._.js +1 -1
- package/dist/standalone/packages/web/.next/server/pages/404.html +2 -2
- package/dist/standalone/packages/web/.next/server/pages/500.html +2 -2
- package/dist/standalone/packages/web/.next/server/server-reference-manifest.js +1 -1
- package/dist/standalone/packages/web/.next/server/server-reference-manifest.json +1 -1
- package/dist/{static/chunks/0de258404bcae76f.js → standalone/packages/web/.next/static/chunks/8864b47e107cbe63.js} +1 -1
- package/dist/{static/chunks/09ff02250dd56621.js → standalone/packages/web/.next/static/chunks/a2889ecda42c83e7.js} +1 -1
- package/dist/standalone/packages/web/.next/static/chunks/c22619397bb8368e.js +1 -0
- package/dist/standalone/packages/web/components.json +20 -0
- package/dist/standalone/packages/web/drizzle/0000_reflective_thena.sql +59 -0
- package/dist/standalone/packages/web/drizzle/0001_fresh_carmella_unuscione.sql +1 -0
- package/dist/standalone/packages/web/drizzle/meta/0000_snapshot.json +427 -0
- package/dist/standalone/packages/web/drizzle/meta/0001_snapshot.json +436 -0
- package/dist/standalone/packages/web/drizzle/meta/_journal.json +20 -0
- package/dist/standalone/packages/web/drizzle.config.ts +10 -0
- package/dist/standalone/packages/web/eslint.config.mjs +18 -0
- package/dist/standalone/packages/web/next.config.ts +7 -0
- package/dist/standalone/packages/web/package.json +1 -1
- package/dist/standalone/packages/web/postcss.config.mjs +8 -0
- package/dist/standalone/packages/web/src/app/api/projects/[id]/specs/route.ts +23 -0
- package/dist/standalone/packages/web/src/app/api/projects/route.ts +19 -0
- package/dist/standalone/packages/web/src/app/api/revalidate/route.ts +63 -0
- package/dist/standalone/packages/web/src/app/api/specs/[id]/dependency-graph/route.test.ts +51 -0
- package/dist/standalone/packages/web/src/app/api/specs/[id]/dependency-graph/route.ts +171 -0
- package/dist/standalone/packages/web/src/app/api/specs/[id]/route.ts +36 -0
- package/dist/standalone/packages/web/src/app/api/specs/[id]/subspecs/[file]/route.ts +46 -0
- package/dist/standalone/packages/web/src/app/api/stats/route.ts +19 -0
- package/dist/standalone/packages/web/src/app/board/board-client.tsx +162 -0
- package/dist/standalone/packages/web/src/app/board/loading.tsx +43 -0
- package/dist/standalone/packages/web/src/app/board/page.tsx +18 -0
- package/dist/standalone/packages/web/src/app/dashboard-client.tsx +364 -0
- package/dist/standalone/packages/web/src/app/error.tsx +43 -0
- package/dist/standalone/packages/web/src/app/globals.css +531 -0
- package/dist/standalone/packages/web/src/app/home-client.tsx +277 -0
- package/dist/standalone/packages/web/src/app/layout.tsx +70 -0
- package/dist/standalone/packages/web/src/app/loading.tsx +87 -0
- package/dist/standalone/packages/web/src/app/not-found.tsx +27 -0
- package/dist/standalone/packages/web/src/app/page.tsx +18 -0
- package/dist/standalone/packages/web/src/app/specs/[id]/loading.tsx +5 -0
- package/dist/standalone/packages/web/src/app/specs/[id]/page.tsx +43 -0
- package/dist/standalone/packages/web/src/app/specs/page.tsx +18 -0
- package/dist/standalone/packages/web/src/app/specs/specs-client.tsx +425 -0
- package/dist/standalone/packages/web/src/app/stats/page.tsx +18 -0
- package/dist/standalone/packages/web/src/app/stats/stats-client.tsx +283 -0
- package/dist/standalone/packages/web/src/components/back-to-top.tsx +46 -0
- package/dist/standalone/packages/web/src/components/empty-state.tsx +52 -0
- package/dist/standalone/packages/web/src/components/main-sidebar.tsx +175 -0
- package/dist/standalone/packages/web/src/components/markdown-link.test.ts +96 -0
- package/dist/standalone/packages/web/src/components/markdown-link.tsx +95 -0
- package/dist/standalone/packages/web/src/components/navigation.tsx +210 -0
- package/dist/standalone/packages/web/src/components/priority-badge.tsx +53 -0
- package/dist/standalone/packages/web/src/components/quick-search.tsx +180 -0
- package/dist/standalone/packages/web/src/components/skeletons.tsx +119 -0
- package/dist/standalone/packages/web/src/components/spec-dependency-graph.tsx +369 -0
- package/dist/standalone/packages/web/src/components/spec-detail-client.tsx +372 -0
- package/dist/standalone/packages/web/src/components/spec-detail-loading-shell.tsx +42 -0
- package/dist/standalone/packages/web/src/components/spec-detail-wrapper.tsx +70 -0
- package/dist/standalone/packages/web/src/components/spec-metadata.tsx +136 -0
- package/dist/standalone/packages/web/src/components/spec-sidebar.tsx +127 -0
- package/dist/standalone/packages/web/src/components/spec-timeline.tsx +186 -0
- package/dist/standalone/packages/web/src/components/specs-nav-sidebar.tsx +561 -0
- package/dist/standalone/packages/web/src/components/status-badge.tsx +53 -0
- package/dist/standalone/packages/web/src/components/sub-spec-tabs.tsx +143 -0
- package/dist/standalone/packages/web/src/components/table-of-contents.tsx +130 -0
- package/dist/standalone/packages/web/src/components/theme-provider.tsx +11 -0
- package/dist/standalone/packages/web/src/components/theme-toggle.tsx +37 -0
- package/dist/standalone/packages/web/src/components/ui/avatar.tsx +50 -0
- package/dist/standalone/packages/web/src/components/ui/badge.tsx +36 -0
- package/dist/standalone/packages/web/src/components/ui/breadcrumb.tsx +110 -0
- package/dist/standalone/packages/web/src/components/ui/button.tsx +57 -0
- package/dist/standalone/packages/web/src/components/ui/card.tsx +76 -0
- package/dist/standalone/packages/web/src/components/ui/command.tsx +153 -0
- package/dist/standalone/packages/web/src/components/ui/dialog.tsx +122 -0
- package/dist/standalone/packages/web/src/components/ui/input.tsx +24 -0
- package/dist/standalone/packages/web/src/components/ui/select.tsx +159 -0
- package/dist/standalone/packages/web/src/components/ui/separator.tsx +31 -0
- package/dist/standalone/packages/web/src/components/ui/skeleton.tsx +15 -0
- package/dist/standalone/packages/web/src/components/ui/tabs.tsx +55 -0
- package/dist/standalone/packages/web/src/components/ui/toast.tsx +30 -0
- package/dist/standalone/packages/web/src/components/ui/tooltip.tsx +32 -0
- package/dist/standalone/packages/web/src/lib/date-utils.ts +76 -0
- package/dist/standalone/packages/web/src/lib/db/index.ts +42 -0
- package/dist/standalone/packages/web/src/lib/db/migrate.ts +18 -0
- package/dist/standalone/packages/web/src/lib/db/queries.ts +114 -0
- package/dist/standalone/packages/web/src/lib/db/schema.ts +123 -0
- package/dist/standalone/packages/web/src/lib/db/seed.ts +156 -0
- package/dist/standalone/packages/web/src/lib/db/service-queries.ts +216 -0
- package/dist/standalone/packages/web/src/lib/dependency-graph.ts +105 -0
- package/dist/standalone/packages/web/src/lib/specs/service.ts +120 -0
- package/dist/standalone/packages/web/src/lib/specs/sources/database-source.ts +94 -0
- package/dist/standalone/packages/web/src/lib/specs/sources/filesystem-source.ts +249 -0
- package/dist/standalone/packages/web/src/lib/specs/types.ts +55 -0
- package/dist/standalone/packages/web/src/lib/stores/specs-sidebar-store.ts +152 -0
- package/dist/standalone/packages/web/src/lib/sub-specs.ts +171 -0
- package/dist/standalone/packages/web/src/lib/utils.ts +17 -0
- package/dist/standalone/packages/web/src/types/specs.ts +18 -0
- package/dist/standalone/packages/web/tailwind.config.ts +58 -0
- package/dist/standalone/packages/web/tsconfig.json +34 -0
- package/dist/standalone/packages/web/vitest.config.ts +14 -0
- package/dist/standalone/specs/100-release-process-typecheck-failure/README.md +266 -0
- package/dist/standalone/specs/101-sidebar-scroll-position-drift/README.md +100 -0
- package/package.json +5 -3
- package/dist/BUILD_ID +0 -1
- package/dist/static/chunks/a3e649fcddd3d715.js +0 -1
- /package/dist/{static/Z_BxkB0KJViCNbULN1S5p → standalone/packages/web/.next/static/DDHAmoL_2Poji-whvFjry}/_buildManifest.js +0 -0
- /package/dist/{static/Z_BxkB0KJViCNbULN1S5p → standalone/packages/web/.next/static/DDHAmoL_2Poji-whvFjry}/_clientMiddlewareManifest.json +0 -0
- /package/dist/{static/Z_BxkB0KJViCNbULN1S5p → standalone/packages/web/.next/static/DDHAmoL_2Poji-whvFjry}/_ssgManifest.js +0 -0
- /package/dist/{static → standalone/packages/web/.next/static}/chunks/0c19c69aa7625475.js +0 -0
- /package/dist/{static → standalone/packages/web/.next/static}/chunks/116800b03245a1e5.js +0 -0
- /package/dist/{static → standalone/packages/web/.next/static}/chunks/19e80edf527aef5c.js +0 -0
- /package/dist/{static → standalone/packages/web/.next/static}/chunks/2ece90370908f56c.js +0 -0
- /package/dist/{static → standalone/packages/web/.next/static}/chunks/36fd2dddb486f6bc.js +0 -0
- /package/dist/{static → standalone/packages/web/.next/static}/chunks/5c2072ad938de8ed.js +0 -0
- /package/dist/{static → standalone/packages/web/.next/static}/chunks/6577fe797a336bab.js +0 -0
- /package/dist/{static → standalone/packages/web/.next/static}/chunks/6a05a93ec8fa7b83.js +0 -0
- /package/dist/{static → standalone/packages/web/.next/static}/chunks/7f732ea69e643219.js +0 -0
- /package/dist/{static → standalone/packages/web/.next/static}/chunks/a02c1f50ff00204f.js +0 -0
- /package/dist/{static → standalone/packages/web/.next/static}/chunks/a45464b9776dd88e.js +0 -0
- /package/dist/{static → standalone/packages/web/.next/static}/chunks/a6dad97d9634a72d.js +0 -0
- /package/dist/{static → standalone/packages/web/.next/static}/chunks/ae04dcd433be6dab.js +0 -0
- /package/dist/{static → standalone/packages/web/.next/static}/chunks/b20313408e970968.css +0 -0
- /package/dist/{static → standalone/packages/web/.next/static}/chunks/c46095e1a421d93f.js +0 -0
- /package/dist/{static → standalone/packages/web/.next/static}/chunks/c48dd4c72d7c5ef4.js +0 -0
- /package/dist/{static → standalone/packages/web/.next/static}/chunks/c557ac675be79771.js +0 -0
- /package/dist/{static → standalone/packages/web/.next/static}/chunks/dca0c854c59234cd.js +0 -0
- /package/dist/{static → standalone/packages/web/.next/static}/chunks/df1731c03abf1aee.css +0 -0
- /package/dist/{static → standalone/packages/web/.next/static}/chunks/dfd41488ad062cd5.js +0 -0
- /package/dist/{static → standalone/packages/web/.next/static}/chunks/ebd89051637b9a47.js +0 -0
- /package/dist/{static → standalone/packages/web/.next/static}/chunks/f3ec9fd77a8618b1.js +0 -0
- /package/dist/{static → standalone/packages/web/.next/static}/chunks/turbopack-7450632b40b2e378.js +0 -0
- /package/dist/{public → standalone/packages/web/public}/f864aa7e7061c0600e35cf3d879b27cf.txt +0 -0
- /package/dist/{public → standalone/packages/web/public}/favicon.ico +0 -0
- /package/dist/{public → standalone/packages/web/public}/file.svg +0 -0
- /package/dist/{public → standalone/packages/web/public}/github-mark-white.svg +0 -0
- /package/dist/{public → standalone/packages/web/public}/github-mark.svg +0 -0
- /package/dist/{public → standalone/packages/web/public}/globe.svg +0 -0
- /package/dist/{public → standalone/packages/web/public}/icon.svg +0 -0
- /package/dist/{public → standalone/packages/web/public}/logo-dark-bg.svg +0 -0
- /package/dist/{public → standalone/packages/web/public}/logo-with-bg.svg +0 -0
- /package/dist/{public → standalone/packages/web/public}/logo.svg +0 -0
- /package/dist/{public → standalone/packages/web/public}/next.svg +0 -0
- /package/dist/{public → standalone/packages/web/public}/vercel.svg +0 -0
- /package/dist/{public → standalone/packages/web/public}/window.svg +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":1,"files":["../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/api/context.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/api/diag.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/api/metrics.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/api/propagation.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/api/trace.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/baggage/context-helpers.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/baggage/internal/baggage-impl.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/baggage/internal/symbol.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/baggage/utils.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/context-api.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/context/NoopContextManager.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/context/context.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/diag-api.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/diag/ComponentLogger.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/diag/consoleLogger.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/diag/internal/logLevelLogger.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/diag/types.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/index.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/internal/global-utils.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/internal/semver.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/metrics-api.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/metrics/Metric.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/metrics/NoopMeter.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/metrics/NoopMeterProvider.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/platform/index.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/platform/node/globalThis.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/platform/node/index.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/propagation-api.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/propagation/NoopTextMapPropagator.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/propagation/TextMapPropagator.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace-api.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/NonRecordingSpan.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/NoopTracer.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/NoopTracerProvider.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/ProxyTracer.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/ProxyTracerProvider.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/SamplingResult.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/context-utils.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/internal/tracestate-impl.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/internal/tracestate-validators.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/internal/utils.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/invalid-span-constants.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/span_kind.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/spancontext-utils.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/status.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/trace_flags.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/version.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/package.json","../../../../../../node_modules/.pnpm/better-sqlite3@11.10.0/node_modules/better-sqlite3/build/Release/better_sqlite3.node","../../../../../../node_modules/.pnpm/better-sqlite3@11.10.0/node_modules/better-sqlite3/lib/database.js","../../../../../../node_modules/.pnpm/better-sqlite3@11.10.0/node_modules/better-sqlite3/lib/index.js","../../../../../../node_modules/.pnpm/better-sqlite3@11.10.0/node_modules/better-sqlite3/lib/methods/aggregate.js","../../../../../../node_modules/.pnpm/better-sqlite3@11.10.0/node_modules/better-sqlite3/lib/methods/backup.js","../../../../../../node_modules/.pnpm/better-sqlite3@11.10.0/node_modules/better-sqlite3/lib/methods/function.js","../../../../../../node_modules/.pnpm/better-sqlite3@11.10.0/node_modules/better-sqlite3/lib/methods/inspect.js","../../../../../../node_modules/.pnpm/better-sqlite3@11.10.0/node_modules/better-sqlite3/lib/methods/pragma.js","../../../../../../node_modules/.pnpm/better-sqlite3@11.10.0/node_modules/better-sqlite3/lib/methods/serialize.js","../../../../../../node_modules/.pnpm/better-sqlite3@11.10.0/node_modules/better-sqlite3/lib/methods/table.js","../../../../../../node_modules/.pnpm/better-sqlite3@11.10.0/node_modules/better-sqlite3/lib/methods/transaction.js","../../../../../../node_modules/.pnpm/better-sqlite3@11.10.0/node_modules/better-sqlite3/lib/methods/wrappers.js","../../../../../../node_modules/.pnpm/better-sqlite3@11.10.0/node_modules/better-sqlite3/lib/sqlite-error.js","../../../../../../node_modules/.pnpm/better-sqlite3@11.10.0/node_modules/better-sqlite3/lib/util.js","../../../../../../node_modules/.pnpm/better-sqlite3@11.10.0/node_modules/better-sqlite3/package.json","../../../../../../node_modules/.pnpm/better-sqlite3@11.10.0/node_modules/bindings","../../../../../../node_modules/.pnpm/bindings@1.5.0/node_modules/bindings/bindings.js","../../../../../../node_modules/.pnpm/bindings@1.5.0/node_modules/bindings/package.json","../../../../../../node_modules/.pnpm/bindings@1.5.0/node_modules/file-uri-to-path","../../../../../../node_modules/.pnpm/file-uri-to-path@1.0.0/node_modules/file-uri-to-path/index.js","../../../../../../node_modules/.pnpm/file-uri-to-path@1.0.0/node_modules/file-uri-to-path/package.json","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@opentelemetry/api","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/app-router-headers.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/safe-stable-stringify/index.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/safe-stable-stringify/package.json","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/lib/client-and-server-references.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/lib/constants.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/lib/interop-default.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/lib/is-error.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/lib/picocolors.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/lib/semver-noop.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/cache-signal.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/console-async-storage-instance.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/console-async-storage.external.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/lib/lru-cache.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/lib/trace/constants.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/load-manifest.external.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/node-environment-extensions/console-dim.external.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/response-cache/types.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/deep-freeze.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/invariant-error.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/is-plain-object.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/server-reference-info.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/package.json","../../../../../../node_modules/.pnpm/node_modules/@opentelemetry/api","../../../../../../node_modules/.pnpm/node_modules/bindings","../../../../../../node_modules/.pnpm/node_modules/file-uri-to-path","../../../../../../node_modules/next","../../../../../../specs/014-complete-custom-frontmatter/README.md","../../../../../../specs/016-github-action/README.md","../../../../../../specs/017-vscode-extension/README.md","../../../../../../specs/018-spec-validation/CLI-DESIGN.md","../../../../../../specs/018-spec-validation/CONFIGURATION-EXAMPLES.md","../../../../../../specs/018-spec-validation/CONFIGURATION.md","../../../../../../specs/018-spec-validation/IMPLEMENTATION.md","../../../../../../specs/018-spec-validation/README.md","../../../../../../specs/018-spec-validation/TESTING.md","../../../../../../specs/018-spec-validation/VALIDATION-RULES.md","../../../../../../specs/024-pattern-aware-list-grouping/README.md","../../../../../../specs/025-template-config-updates/README.md","../../../../../../specs/026-init-pattern-selection/README.md","../../../../../../specs/034-copilot-slash-commands/README.md","../../../../../../specs/035-live-specs-showcase/ARCHITECTURE.md","../../../../../../specs/035-live-specs-showcase/IMPLEMENTATION.md","../../../../../../specs/035-live-specs-showcase/README.md","../../../../../../specs/036-pm-integrations/README.md","../../../../../../specs/043-official-launch-02/DEMO-AI-ASSISTED.md","../../../../../../specs/043-official-launch-02/DEMO-FULL-LIFECYCLE.md","../../../../../../specs/043-official-launch-02/DEMO-REAL-FEATURE.md","../../../../../../specs/043-official-launch-02/DEMO-SCRIPT.md","../../../../../../specs/043-official-launch-02/DOGFOODING-FINAL.md","../../../../../../specs/043-official-launch-02/DOGFOODING-SESSION-2025-11-06.md","../../../../../../specs/043-official-launch-02/DOGFOODING-SUMMARY.md","../../../../../../specs/043-official-launch-02/IMPLEMENTATION.md","../../../../../../specs/043-official-launch-02/MARKETING.md","../../../../../../specs/043-official-launch-02/NEXT-STEPS-DEMO.md","../../../../../../specs/043-official-launch-02/README.md","../../../../../../specs/043-official-launch-02/SESSION-2025-11-06.md","../../../../../../specs/043-official-launch-02/TESTING.md","../../../../../../specs/045-unified-dashboard/ACTUAL-IMPLEMENTATION.md","../../../../../../specs/045-unified-dashboard/DESIGN.md","../../../../../../specs/045-unified-dashboard/IMPLEMENTATION.md","../../../../../../specs/045-unified-dashboard/RATIONALE.md","../../../../../../specs/045-unified-dashboard/README.md","../../../../../../specs/045-unified-dashboard/TESTING.md","../../../../../../specs/047-git-backfill-timestamps/README.md","../../../../../../specs/048-spec-complexity-analysis/FINDINGS.md","../../../../../../specs/048-spec-complexity-analysis/GUIDELINES.md","../../../../../../specs/048-spec-complexity-analysis/README.md","../../../../../../specs/049-leanspec-first-principles/ANALYSIS-COMPARISONS.md","../../../../../../specs/049-leanspec-first-principles/ANALYSIS-CONSTRAINTS.md","../../../../../../specs/049-leanspec-first-principles/FIRST-PRINCIPLES.md","../../../../../../specs/049-leanspec-first-principles/OPERATIONALIZATION-ROADMAP.md","../../../../../../specs/049-leanspec-first-principles/OPERATIONALIZATION-TOOLS.md","../../../../../../specs/049-leanspec-first-principles/README.md","../../../../../../specs/051-docs-system-prompt-principles/README.md","../../../../../../specs/052-branding-assets/README.md","../../../../../../specs/053-spec-assets-philosophy/README.md","../../../../../../specs/054-validate-output-lint-style/DESIGN-DECISIONS.md","../../../../../../specs/054-validate-output-lint-style/OUTPUT-FORMAT-SPEC.md","../../../../../../specs/054-validate-output-lint-style/README.md","../../../../../../specs/055-readme-redesign-ai-first/ANALYSIS-PART1.md","../../../../../../specs/055-readme-redesign-ai-first/ANALYSIS-PART2.md","../../../../../../specs/055-readme-redesign-ai-first/ANALYSIS.md","../../../../../../specs/055-readme-redesign-ai-first/CHANGES.md","../../../../../../specs/055-readme-redesign-ai-first/CONCERNS-ANALYSIS.md","../../../../../../specs/055-readme-redesign-ai-first/DOCS-ALIGNMENT-ANALYSIS.md","../../../../../../specs/055-readme-redesign-ai-first/README.md","../../../../../../specs/055-readme-redesign-ai-first/REDESIGN-DRAFT.md","../../../../../../specs/055-readme-redesign-ai-first/REDESIGN-REFINED.md","../../../../../../specs/056-docs-site-accuracy-audit/AUDIT-RESULTS.md","../../../../../../specs/056-docs-site-accuracy-audit/README.md","../../../../../../specs/057-docs-validation-comprehensive/README.md","../../../../../../specs/057-docs-validation-comprehensive/VALIDATION-RESULTS.md","../../../../../../specs/058-docs-overview-polish/ANALYSIS.md","../../../../../../specs/058-docs-overview-polish/DESIGN.md","../../../../../../specs/058-docs-overview-polish/IMPLEMENTATION.md","../../../../../../specs/058-docs-overview-polish/NOTES.md","../../../../../../specs/058-docs-overview-polish/README.md","../../../../../../specs/059-programmatic-spec-management/ARCHITECTURE.md","../../../../../../specs/059-programmatic-spec-management/COMMANDS.md","../../../../../../specs/059-programmatic-spec-management/CONTEXT-ENGINEERING.md","../../../../../../specs/059-programmatic-spec-management/IMPLEMENTATION.md","../../../../../../specs/059-programmatic-spec-management/README.md","../../../../../../specs/059-programmatic-spec-management/TESTING.md","../../../../../../specs/060-core-concepts-coherence/README.md","../../../../../../specs/061-ai-assisted-spec-writing/README.md","../../../../../../specs/062-docs-info-architecture-v2/IMPLEMENTATION-PLAN.md","../../../../../../specs/062-docs-info-architecture-v2/PAGE-SPECIFICATIONS.md","../../../../../../specs/062-docs-info-architecture-v2/PROBLEM-ANALYSIS.md","../../../../../../specs/062-docs-info-architecture-v2/README.md","../../../../../../specs/062-docs-info-architecture-v2/SOLUTION-DESIGN.md","../../../../../../specs/063-migration-from-existing-tools/DESIGN.md","../../../../../../specs/063-migration-from-existing-tools/EXAMPLES.md","../../../../../../specs/063-migration-from-existing-tools/IMPLEMENTATION.md","../../../../../../specs/063-migration-from-existing-tools/README.md","../../../../../../specs/064-docs-site-zh-translation/README.md","../../../../../../specs/065-v03-planning/README.md","../../../../../../specs/066-context-economy-thresholds-refinement/README.md","../../../../../../specs/067-monorepo-core-extraction/README.md","../../../../../../specs/068-live-specs-ux-enhancements/DESIGN.md","../../../../../../specs/068-live-specs-ux-enhancements/README.md","../../../../../../specs/069-token-counting-utils/README.md","../../../../../../specs/070-mcp-token-counting-tool/README.md","../../../../../../specs/071-simplified-token-validation/README.md","../../../../../../specs/072-ai-agent-first-use-workflow/README.md","../../../../../../specs/073-template-engine-agents-md/README.md","../../../../../../specs/074-content-at-creation/README.md","../../../../../../specs/075-intelligent-search-engine/README.md","../../../../../../specs/076-programmatic-spec-relationships/README.md","../../../../../../specs/077-archiving-strategy/README.md","../../../../../../specs/078-sub-spec-template-system/README.md","../../../../../../specs/079-cli-alphabetical-organization/README.md","../../../../../../specs/080-mcp-server-modular-architecture/README.md","../../../../../../specs/081-web-app-ux-redesign/README.md","../../../../../../specs/082-web-realtime-sync-architecture/DATABASE.md","../../../../../../specs/082-web-realtime-sync-architecture/DEPLOYMENT.md","../../../../../../specs/082-web-realtime-sync-architecture/FILESYSTEM.md","../../../../../../specs/082-web-realtime-sync-architecture/IMPLEMENTATION.md","../../../../../../specs/082-web-realtime-sync-architecture/README.md","../../../../../../specs/083-web-navigation-performance/README.md","../../../../../../specs/084-sub-spec-visibility-in-tools/README.md","../../../../../../specs/085-cli-relationship-commands/README.md","../../../../../../specs/086-template-component-deduplication/README.md","../../../../../../specs/087-cli-ui-command/README.md","../../../../../../specs/088-core-concepts-terminology-only/README.md","../../../../../../specs/089-sdd-practical-tutorials/README.md","../../../../../../specs/090-leanspec-sdd-case-studies/README.md","../../../../../../specs/091-chinese-localization-strategy/README.md","../../../../../../specs/092-docs-site-submodule-migration/README.md","../../../../../../specs/093-spec-detail-ui-improvements/README.md","../../../../../../specs/094-ai-chatbot-web-integration/README.md","../../../../../../specs/095-pr-migration-verification/README.md","../../../../../../specs/096-docs-beginner-first-reorg/README.md","../../../../../../specs/097-dag-visualization-library/README.md","../../../../../../specs/098-github-multi-project-integration/README.md","../../../../../../specs/099-enhanced-dependency-commands-cli-mcp/README.md","../../../../../../specs/archived/001-typescript-cli-migration/README.md","../../../../../../specs/archived/002-template-system-redesign/README.md","../../../../../../specs/archived/003-init-system-redesign/README.md","../../../../../../specs/archived/004-existing-project-integration/README.md","../../../../../../specs/archived/004-existing-project-integration/SUMMARY.md","../../../../../../specs/archived/005-structured-frontmatter/README.md","../../../../../../specs/archived/006-pm-visualization-tools/README.md","../../../../../../specs/archived/007-system-prompt-updates/README.md","../../../../../../specs/archived/008-commander-migration/README.md","../../../../../../specs/archived/009-cli-ux-enhancement/README.md","../../../../../../specs/archived/010-commands-refactor/README.md","../../../../../../specs/archived/011-test-results/README.md","../../../../../../specs/archived/011-test-results/TEST_SUMMARY.md","../../../../../../specs/archived/012-sub-spec-files/README.md","../../../../../../specs/archived/013-custom-spec-templates/README.md","../../../../../../specs/archived/015-npm-publishing/README.md","../../../../../../specs/archived/019-readme-improvement/README.md","../../../../../../specs/archived/020-documentation-website/README.md","../../../../../../specs/archived/021-docusaurus-vercel-migration/README.md","../../../../../../specs/archived/022-flexible-folder-structure/README.md","../../../../../../specs/archived/023-folder-structure-improvements/DESIGN.md","../../../../../../specs/archived/023-folder-structure-improvements/README.md","../../../../../../specs/archived/027-cli-ui-ux-optimization/README.md","../../../../../../specs/archived/028-cli-ui-modernization/README.md","../../../../../../specs/archived/029-visualization-improvements/IMPLEMENTATION.md","../../../../../../specs/archived/029-visualization-improvements/README.md","../../../../../../specs/archived/030-created-date-format-bug/README.md","../../../../../../specs/archived/031-gantt-ux-improvements/README.md","../../../../../../specs/archived/032-console-log-chalk-security/README.md","../../../../../../specs/archived/033-mcp-server/README.md","../../../../../../specs/archived/037-docs-overhaul/README.md","../../../../../../specs/archived/038-flat-structure-migration/README.md","../../../../../../specs/archived/038-mcp-frontmatter-bug-fix/README.md","../../../../../../specs/archived/039-simplify-viewer-commands/README.md","../../../../../../specs/archived/039-template-variable-sync/README.md","../../../../../../specs/archived/040-spec-viewer-commands/README.md","../../../../../../specs/archived/042-mcp-error-handling/README.md","../../../../../../specs/archived/044-spec-relationships-clarity/README.md","../../../../../../specs/archived/046-stats-dashboard-refactor/DESIGN.md","../../../../../../specs/archived/046-stats-dashboard-refactor/IMPLEMENTATION.md","../../../../../../specs/archived/046-stats-dashboard-refactor/README.md","../../../../../../specs/archived/046-stats-dashboard-refactor/TESTING.md","../../../../../../specs/archived/050-tool-redesign-first-principles/README.md","../../../../README.md","../../../../node_modules/better-sqlite3","../../../../node_modules/next","../../chunks/ssr/6e9bd_next_40720940._.js","../../chunks/ssr/6e9bd_next_dist_1decfd3f._.js","../../chunks/ssr/6e9bd_next_dist_7af75658._.js","../../chunks/ssr/6e9bd_next_dist_client_components_0f429de8._.js","../../chunks/ssr/6e9bd_next_dist_client_components_builtin_global-error_3666c25c.js","../../chunks/ssr/6e9bd_next_dist_client_components_builtin_unauthorized_78af867c.js","../../chunks/ssr/6e9bd_next_dist_esm_25672c28._.js","../../chunks/ssr/[externals]_better-sqlite3_a1cc22cb._.js","../../chunks/ssr/[root-of-the-server]__2977636f._.js","../../chunks/ssr/[root-of-the-server]__3964bea5._.js","../../chunks/ssr/[root-of-the-server]__7237ca87._.js","../../chunks/ssr/[root-of-the-server]__e30fd932._.js","../../chunks/ssr/[root-of-the-server]__e5891e5a._.js","../../chunks/ssr/[root-of-the-server]__eefaabd3._.js","../../chunks/ssr/[turbopack]_runtime.js","../../chunks/ssr/_367e3572._.js","../../chunks/ssr/_4d4c72c3._.js","../../chunks/ssr/_51748700._.js","../../chunks/ssr/_7dedc302._.js","../../chunks/ssr/_a87d6a16._.js","../../chunks/ssr/_bdcc66f8._.js","../../chunks/ssr/_c2721ff3._.js","../../chunks/ssr/_ec3b9d14._.js","../../chunks/ssr/node_modules__pnpm_50944832._.js","../../chunks/ssr/node_modules__pnpm_b8ff10b9._.js","../../chunks/ssr/packages_web__next-internal_server_app_stats_page_actions_be53469f.js","../../chunks/ssr/packages_web_src_22edbbc4._.js","../../chunks/ssr/packages_web_src_app_error_tsx_111a478a._.js","../../chunks/ssr/packages_web_src_app_error_tsx_26278c4b._.js","../../chunks/ssr/packages_web_src_lib_specs_sources_database-source_ts_d47f0403._.js","../../chunks/ssr/packages_web_src_lib_utils_ts_0aa64224._.js","../../chunks/ssr/packages_web_src_lib_utils_ts_8b0ad078._.js","./page/react-loadable-manifest.json","./page_client-reference-manifest.js"]}
|
|
1
|
+
{"version":1,"files":["../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/api/context.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/api/diag.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/api/metrics.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/api/propagation.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/api/trace.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/baggage/context-helpers.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/baggage/internal/baggage-impl.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/baggage/internal/symbol.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/baggage/utils.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/context-api.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/context/NoopContextManager.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/context/context.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/diag-api.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/diag/ComponentLogger.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/diag/consoleLogger.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/diag/internal/logLevelLogger.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/diag/types.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/index.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/internal/global-utils.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/internal/semver.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/metrics-api.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/metrics/Metric.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/metrics/NoopMeter.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/metrics/NoopMeterProvider.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/platform/index.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/platform/node/globalThis.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/platform/node/index.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/propagation-api.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/propagation/NoopTextMapPropagator.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/propagation/TextMapPropagator.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace-api.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/NonRecordingSpan.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/NoopTracer.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/NoopTracerProvider.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/ProxyTracer.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/ProxyTracerProvider.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/SamplingResult.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/context-utils.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/internal/tracestate-impl.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/internal/tracestate-validators.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/internal/utils.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/invalid-span-constants.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/span_kind.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/spancontext-utils.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/status.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/trace_flags.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/version.js","../../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/package.json","../../../../../../node_modules/.pnpm/better-sqlite3@11.10.0/node_modules/better-sqlite3/build/Release/better_sqlite3.node","../../../../../../node_modules/.pnpm/better-sqlite3@11.10.0/node_modules/better-sqlite3/lib/database.js","../../../../../../node_modules/.pnpm/better-sqlite3@11.10.0/node_modules/better-sqlite3/lib/index.js","../../../../../../node_modules/.pnpm/better-sqlite3@11.10.0/node_modules/better-sqlite3/lib/methods/aggregate.js","../../../../../../node_modules/.pnpm/better-sqlite3@11.10.0/node_modules/better-sqlite3/lib/methods/backup.js","../../../../../../node_modules/.pnpm/better-sqlite3@11.10.0/node_modules/better-sqlite3/lib/methods/function.js","../../../../../../node_modules/.pnpm/better-sqlite3@11.10.0/node_modules/better-sqlite3/lib/methods/inspect.js","../../../../../../node_modules/.pnpm/better-sqlite3@11.10.0/node_modules/better-sqlite3/lib/methods/pragma.js","../../../../../../node_modules/.pnpm/better-sqlite3@11.10.0/node_modules/better-sqlite3/lib/methods/serialize.js","../../../../../../node_modules/.pnpm/better-sqlite3@11.10.0/node_modules/better-sqlite3/lib/methods/table.js","../../../../../../node_modules/.pnpm/better-sqlite3@11.10.0/node_modules/better-sqlite3/lib/methods/transaction.js","../../../../../../node_modules/.pnpm/better-sqlite3@11.10.0/node_modules/better-sqlite3/lib/methods/wrappers.js","../../../../../../node_modules/.pnpm/better-sqlite3@11.10.0/node_modules/better-sqlite3/lib/sqlite-error.js","../../../../../../node_modules/.pnpm/better-sqlite3@11.10.0/node_modules/better-sqlite3/lib/util.js","../../../../../../node_modules/.pnpm/better-sqlite3@11.10.0/node_modules/better-sqlite3/package.json","../../../../../../node_modules/.pnpm/better-sqlite3@11.10.0/node_modules/bindings","../../../../../../node_modules/.pnpm/bindings@1.5.0/node_modules/bindings/bindings.js","../../../../../../node_modules/.pnpm/bindings@1.5.0/node_modules/bindings/package.json","../../../../../../node_modules/.pnpm/bindings@1.5.0/node_modules/file-uri-to-path","../../../../../../node_modules/.pnpm/file-uri-to-path@1.0.0/node_modules/file-uri-to-path/index.js","../../../../../../node_modules/.pnpm/file-uri-to-path@1.0.0/node_modules/file-uri-to-path/package.json","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@opentelemetry/api","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/client/components/app-router-headers.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/safe-stable-stringify/index.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/compiled/safe-stable-stringify/package.json","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/lib/client-and-server-references.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/lib/constants.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/lib/interop-default.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/lib/is-error.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/lib/picocolors.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/lib/semver-noop.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/cache-signal.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/console-async-storage-instance.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/console-async-storage.external.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/lib/lru-cache.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/lib/trace/constants.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/load-manifest.external.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/node-environment-extensions/console-dim.external.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/server/response-cache/types.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/deep-freeze.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/invariant-error.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/is-plain-object.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/dist/shared/lib/server-reference-info.js","../../../../../../node_modules/.pnpm/next@16.0.1_@babel+core@7.28.5_@opentelemetry+api@1.9.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/next/package.json","../../../../../../node_modules/.pnpm/node_modules/@opentelemetry/api","../../../../../../node_modules/.pnpm/node_modules/bindings","../../../../../../node_modules/.pnpm/node_modules/file-uri-to-path","../../../../../../node_modules/next","../../../../../../specs/014-complete-custom-frontmatter/README.md","../../../../../../specs/016-github-action/README.md","../../../../../../specs/017-vscode-extension/README.md","../../../../../../specs/018-spec-validation/CLI-DESIGN.md","../../../../../../specs/018-spec-validation/CONFIGURATION-EXAMPLES.md","../../../../../../specs/018-spec-validation/CONFIGURATION.md","../../../../../../specs/018-spec-validation/IMPLEMENTATION.md","../../../../../../specs/018-spec-validation/README.md","../../../../../../specs/018-spec-validation/TESTING.md","../../../../../../specs/018-spec-validation/VALIDATION-RULES.md","../../../../../../specs/024-pattern-aware-list-grouping/README.md","../../../../../../specs/025-template-config-updates/README.md","../../../../../../specs/026-init-pattern-selection/README.md","../../../../../../specs/034-copilot-slash-commands/README.md","../../../../../../specs/035-live-specs-showcase/ARCHITECTURE.md","../../../../../../specs/035-live-specs-showcase/IMPLEMENTATION.md","../../../../../../specs/035-live-specs-showcase/README.md","../../../../../../specs/036-pm-integrations/README.md","../../../../../../specs/043-official-launch-02/DEMO-AI-ASSISTED.md","../../../../../../specs/043-official-launch-02/DEMO-FULL-LIFECYCLE.md","../../../../../../specs/043-official-launch-02/DEMO-REAL-FEATURE.md","../../../../../../specs/043-official-launch-02/DEMO-SCRIPT.md","../../../../../../specs/043-official-launch-02/DOGFOODING-FINAL.md","../../../../../../specs/043-official-launch-02/DOGFOODING-SESSION-2025-11-06.md","../../../../../../specs/043-official-launch-02/DOGFOODING-SUMMARY.md","../../../../../../specs/043-official-launch-02/IMPLEMENTATION.md","../../../../../../specs/043-official-launch-02/MARKETING.md","../../../../../../specs/043-official-launch-02/NEXT-STEPS-DEMO.md","../../../../../../specs/043-official-launch-02/README.md","../../../../../../specs/043-official-launch-02/SESSION-2025-11-06.md","../../../../../../specs/043-official-launch-02/TESTING.md","../../../../../../specs/045-unified-dashboard/ACTUAL-IMPLEMENTATION.md","../../../../../../specs/045-unified-dashboard/DESIGN.md","../../../../../../specs/045-unified-dashboard/IMPLEMENTATION.md","../../../../../../specs/045-unified-dashboard/RATIONALE.md","../../../../../../specs/045-unified-dashboard/README.md","../../../../../../specs/045-unified-dashboard/TESTING.md","../../../../../../specs/047-git-backfill-timestamps/README.md","../../../../../../specs/048-spec-complexity-analysis/FINDINGS.md","../../../../../../specs/048-spec-complexity-analysis/GUIDELINES.md","../../../../../../specs/048-spec-complexity-analysis/README.md","../../../../../../specs/049-leanspec-first-principles/ANALYSIS-COMPARISONS.md","../../../../../../specs/049-leanspec-first-principles/ANALYSIS-CONSTRAINTS.md","../../../../../../specs/049-leanspec-first-principles/FIRST-PRINCIPLES.md","../../../../../../specs/049-leanspec-first-principles/OPERATIONALIZATION-ROADMAP.md","../../../../../../specs/049-leanspec-first-principles/OPERATIONALIZATION-TOOLS.md","../../../../../../specs/049-leanspec-first-principles/README.md","../../../../../../specs/051-docs-system-prompt-principles/README.md","../../../../../../specs/052-branding-assets/README.md","../../../../../../specs/053-spec-assets-philosophy/README.md","../../../../../../specs/054-validate-output-lint-style/DESIGN-DECISIONS.md","../../../../../../specs/054-validate-output-lint-style/OUTPUT-FORMAT-SPEC.md","../../../../../../specs/054-validate-output-lint-style/README.md","../../../../../../specs/055-readme-redesign-ai-first/ANALYSIS-PART1.md","../../../../../../specs/055-readme-redesign-ai-first/ANALYSIS-PART2.md","../../../../../../specs/055-readme-redesign-ai-first/ANALYSIS.md","../../../../../../specs/055-readme-redesign-ai-first/CHANGES.md","../../../../../../specs/055-readme-redesign-ai-first/CONCERNS-ANALYSIS.md","../../../../../../specs/055-readme-redesign-ai-first/DOCS-ALIGNMENT-ANALYSIS.md","../../../../../../specs/055-readme-redesign-ai-first/README.md","../../../../../../specs/055-readme-redesign-ai-first/REDESIGN-DRAFT.md","../../../../../../specs/055-readme-redesign-ai-first/REDESIGN-REFINED.md","../../../../../../specs/056-docs-site-accuracy-audit/AUDIT-RESULTS.md","../../../../../../specs/056-docs-site-accuracy-audit/README.md","../../../../../../specs/057-docs-validation-comprehensive/README.md","../../../../../../specs/057-docs-validation-comprehensive/VALIDATION-RESULTS.md","../../../../../../specs/058-docs-overview-polish/ANALYSIS.md","../../../../../../specs/058-docs-overview-polish/DESIGN.md","../../../../../../specs/058-docs-overview-polish/IMPLEMENTATION.md","../../../../../../specs/058-docs-overview-polish/NOTES.md","../../../../../../specs/058-docs-overview-polish/README.md","../../../../../../specs/059-programmatic-spec-management/ARCHITECTURE.md","../../../../../../specs/059-programmatic-spec-management/COMMANDS.md","../../../../../../specs/059-programmatic-spec-management/CONTEXT-ENGINEERING.md","../../../../../../specs/059-programmatic-spec-management/IMPLEMENTATION.md","../../../../../../specs/059-programmatic-spec-management/README.md","../../../../../../specs/059-programmatic-spec-management/TESTING.md","../../../../../../specs/060-core-concepts-coherence/README.md","../../../../../../specs/061-ai-assisted-spec-writing/README.md","../../../../../../specs/062-docs-info-architecture-v2/IMPLEMENTATION-PLAN.md","../../../../../../specs/062-docs-info-architecture-v2/PAGE-SPECIFICATIONS.md","../../../../../../specs/062-docs-info-architecture-v2/PROBLEM-ANALYSIS.md","../../../../../../specs/062-docs-info-architecture-v2/README.md","../../../../../../specs/062-docs-info-architecture-v2/SOLUTION-DESIGN.md","../../../../../../specs/063-migration-from-existing-tools/DESIGN.md","../../../../../../specs/063-migration-from-existing-tools/EXAMPLES.md","../../../../../../specs/063-migration-from-existing-tools/IMPLEMENTATION.md","../../../../../../specs/063-migration-from-existing-tools/README.md","../../../../../../specs/064-docs-site-zh-translation/README.md","../../../../../../specs/065-v03-planning/README.md","../../../../../../specs/066-context-economy-thresholds-refinement/README.md","../../../../../../specs/067-monorepo-core-extraction/README.md","../../../../../../specs/068-live-specs-ux-enhancements/DESIGN.md","../../../../../../specs/068-live-specs-ux-enhancements/README.md","../../../../../../specs/069-token-counting-utils/README.md","../../../../../../specs/070-mcp-token-counting-tool/README.md","../../../../../../specs/071-simplified-token-validation/README.md","../../../../../../specs/072-ai-agent-first-use-workflow/README.md","../../../../../../specs/073-template-engine-agents-md/README.md","../../../../../../specs/074-content-at-creation/README.md","../../../../../../specs/075-intelligent-search-engine/README.md","../../../../../../specs/076-programmatic-spec-relationships/README.md","../../../../../../specs/077-archiving-strategy/README.md","../../../../../../specs/078-sub-spec-template-system/README.md","../../../../../../specs/079-cli-alphabetical-organization/README.md","../../../../../../specs/080-mcp-server-modular-architecture/README.md","../../../../../../specs/081-web-app-ux-redesign/README.md","../../../../../../specs/082-web-realtime-sync-architecture/DATABASE.md","../../../../../../specs/082-web-realtime-sync-architecture/DEPLOYMENT.md","../../../../../../specs/082-web-realtime-sync-architecture/FILESYSTEM.md","../../../../../../specs/082-web-realtime-sync-architecture/IMPLEMENTATION.md","../../../../../../specs/082-web-realtime-sync-architecture/README.md","../../../../../../specs/083-web-navigation-performance/README.md","../../../../../../specs/084-sub-spec-visibility-in-tools/README.md","../../../../../../specs/085-cli-relationship-commands/README.md","../../../../../../specs/086-template-component-deduplication/README.md","../../../../../../specs/087-cli-ui-command/README.md","../../../../../../specs/088-core-concepts-terminology-only/README.md","../../../../../../specs/089-sdd-practical-tutorials/README.md","../../../../../../specs/090-leanspec-sdd-case-studies/README.md","../../../../../../specs/091-chinese-localization-strategy/README.md","../../../../../../specs/092-docs-site-submodule-migration/README.md","../../../../../../specs/093-spec-detail-ui-improvements/README.md","../../../../../../specs/094-ai-chatbot-web-integration/README.md","../../../../../../specs/095-pr-migration-verification/README.md","../../../../../../specs/096-docs-beginner-first-reorg/README.md","../../../../../../specs/097-dag-visualization-library/README.md","../../../../../../specs/098-github-multi-project-integration/README.md","../../../../../../specs/099-enhanced-dependency-commands-cli-mcp/README.md","../../../../../../specs/100-release-process-typecheck-failure/README.md","../../../../../../specs/101-sidebar-scroll-position-drift/README.md","../../../../../../specs/archived/001-typescript-cli-migration/README.md","../../../../../../specs/archived/002-template-system-redesign/README.md","../../../../../../specs/archived/003-init-system-redesign/README.md","../../../../../../specs/archived/004-existing-project-integration/README.md","../../../../../../specs/archived/004-existing-project-integration/SUMMARY.md","../../../../../../specs/archived/005-structured-frontmatter/README.md","../../../../../../specs/archived/006-pm-visualization-tools/README.md","../../../../../../specs/archived/007-system-prompt-updates/README.md","../../../../../../specs/archived/008-commander-migration/README.md","../../../../../../specs/archived/009-cli-ux-enhancement/README.md","../../../../../../specs/archived/010-commands-refactor/README.md","../../../../../../specs/archived/011-test-results/README.md","../../../../../../specs/archived/011-test-results/TEST_SUMMARY.md","../../../../../../specs/archived/012-sub-spec-files/README.md","../../../../../../specs/archived/013-custom-spec-templates/README.md","../../../../../../specs/archived/015-npm-publishing/README.md","../../../../../../specs/archived/019-readme-improvement/README.md","../../../../../../specs/archived/020-documentation-website/README.md","../../../../../../specs/archived/021-docusaurus-vercel-migration/README.md","../../../../../../specs/archived/022-flexible-folder-structure/README.md","../../../../../../specs/archived/023-folder-structure-improvements/DESIGN.md","../../../../../../specs/archived/023-folder-structure-improvements/README.md","../../../../../../specs/archived/027-cli-ui-ux-optimization/README.md","../../../../../../specs/archived/028-cli-ui-modernization/README.md","../../../../../../specs/archived/029-visualization-improvements/IMPLEMENTATION.md","../../../../../../specs/archived/029-visualization-improvements/README.md","../../../../../../specs/archived/030-created-date-format-bug/README.md","../../../../../../specs/archived/031-gantt-ux-improvements/README.md","../../../../../../specs/archived/032-console-log-chalk-security/README.md","../../../../../../specs/archived/033-mcp-server/README.md","../../../../../../specs/archived/037-docs-overhaul/README.md","../../../../../../specs/archived/038-flat-structure-migration/README.md","../../../../../../specs/archived/038-mcp-frontmatter-bug-fix/README.md","../../../../../../specs/archived/039-simplify-viewer-commands/README.md","../../../../../../specs/archived/039-template-variable-sync/README.md","../../../../../../specs/archived/040-spec-viewer-commands/README.md","../../../../../../specs/archived/042-mcp-error-handling/README.md","../../../../../../specs/archived/044-spec-relationships-clarity/README.md","../../../../../../specs/archived/046-stats-dashboard-refactor/DESIGN.md","../../../../../../specs/archived/046-stats-dashboard-refactor/IMPLEMENTATION.md","../../../../../../specs/archived/046-stats-dashboard-refactor/README.md","../../../../../../specs/archived/046-stats-dashboard-refactor/TESTING.md","../../../../../../specs/archived/050-tool-redesign-first-principles/README.md","../../../../README.md","../../../../components.json","../../../../drizzle.config.ts","../../../../drizzle/0000_reflective_thena.sql","../../../../drizzle/0001_fresh_carmella_unuscione.sql","../../../../drizzle/meta/0000_snapshot.json","../../../../drizzle/meta/0001_snapshot.json","../../../../drizzle/meta/_journal.json","../../../../eslint.config.mjs","../../../../next.config.ts","../../../../node_modules/better-sqlite3","../../../../node_modules/next","../../../../package.json","../../../../postcss.config.mjs","../../../../public/f864aa7e7061c0600e35cf3d879b27cf.txt","../../../../public/favicon.ico","../../../../public/file.svg","../../../../public/github-mark-white.svg","../../../../public/github-mark.svg","../../../../public/globe.svg","../../../../public/icon.svg","../../../../public/logo-dark-bg.svg","../../../../public/logo-with-bg.svg","../../../../public/logo.svg","../../../../public/next.svg","../../../../public/vercel.svg","../../../../public/window.svg","../../../../src/app/api/projects/[id]/specs/route.ts","../../../../src/app/api/projects/route.ts","../../../../src/app/api/revalidate/route.ts","../../../../src/app/api/specs/[id]/dependency-graph/route.test.ts","../../../../src/app/api/specs/[id]/dependency-graph/route.ts","../../../../src/app/api/specs/[id]/route.ts","../../../../src/app/api/specs/[id]/subspecs/[file]/route.ts","../../../../src/app/api/stats/route.ts","../../../../src/app/board/board-client.tsx","../../../../src/app/board/loading.tsx","../../../../src/app/board/page.tsx","../../../../src/app/dashboard-client.tsx","../../../../src/app/error.tsx","../../../../src/app/globals.css","../../../../src/app/home-client.tsx","../../../../src/app/layout.tsx","../../../../src/app/loading.tsx","../../../../src/app/not-found.tsx","../../../../src/app/page.tsx","../../../../src/app/specs/[id]/loading.tsx","../../../../src/app/specs/[id]/page.tsx","../../../../src/app/specs/page.tsx","../../../../src/app/specs/specs-client.tsx","../../../../src/app/stats/page.tsx","../../../../src/app/stats/stats-client.tsx","../../../../src/components/back-to-top.tsx","../../../../src/components/empty-state.tsx","../../../../src/components/main-sidebar.tsx","../../../../src/components/markdown-link.test.ts","../../../../src/components/markdown-link.tsx","../../../../src/components/navigation.tsx","../../../../src/components/priority-badge.tsx","../../../../src/components/quick-search.tsx","../../../../src/components/skeletons.tsx","../../../../src/components/spec-dependency-graph.tsx","../../../../src/components/spec-detail-client.tsx","../../../../src/components/spec-detail-loading-shell.tsx","../../../../src/components/spec-detail-wrapper.tsx","../../../../src/components/spec-metadata.tsx","../../../../src/components/spec-sidebar.tsx","../../../../src/components/spec-timeline.tsx","../../../../src/components/specs-nav-sidebar.tsx","../../../../src/components/status-badge.tsx","../../../../src/components/sub-spec-tabs.tsx","../../../../src/components/table-of-contents.tsx","../../../../src/components/theme-provider.tsx","../../../../src/components/theme-toggle.tsx","../../../../src/components/ui/avatar.tsx","../../../../src/components/ui/badge.tsx","../../../../src/components/ui/breadcrumb.tsx","../../../../src/components/ui/button.tsx","../../../../src/components/ui/card.tsx","../../../../src/components/ui/command.tsx","../../../../src/components/ui/dialog.tsx","../../../../src/components/ui/input.tsx","../../../../src/components/ui/select.tsx","../../../../src/components/ui/separator.tsx","../../../../src/components/ui/skeleton.tsx","../../../../src/components/ui/tabs.tsx","../../../../src/components/ui/toast.tsx","../../../../src/components/ui/tooltip.tsx","../../../../src/lib/date-utils.ts","../../../../src/lib/db/index.ts","../../../../src/lib/db/migrate.ts","../../../../src/lib/db/queries.ts","../../../../src/lib/db/schema.ts","../../../../src/lib/db/seed.ts","../../../../src/lib/db/service-queries.ts","../../../../src/lib/dependency-graph.ts","../../../../src/lib/specs/service.ts","../../../../src/lib/specs/sources/database-source.ts","../../../../src/lib/specs/sources/filesystem-source.ts","../../../../src/lib/specs/types.ts","../../../../src/lib/stores/specs-sidebar-store.ts","../../../../src/lib/sub-specs.ts","../../../../src/lib/utils.ts","../../../../src/types/specs.ts","../../../../tailwind.config.ts","../../../../tsconfig.json","../../../../vitest.config.ts","../../chunks/ssr/6e9bd_next_40720940._.js","../../chunks/ssr/6e9bd_next_dist_1decfd3f._.js","../../chunks/ssr/6e9bd_next_dist_7af75658._.js","../../chunks/ssr/6e9bd_next_dist_client_components_0f429de8._.js","../../chunks/ssr/6e9bd_next_dist_client_components_builtin_global-error_3666c25c.js","../../chunks/ssr/6e9bd_next_dist_client_components_builtin_unauthorized_78af867c.js","../../chunks/ssr/6e9bd_next_dist_esm_25672c28._.js","../../chunks/ssr/[externals]_better-sqlite3_a1cc22cb._.js","../../chunks/ssr/[root-of-the-server]__2977636f._.js","../../chunks/ssr/[root-of-the-server]__3964bea5._.js","../../chunks/ssr/[root-of-the-server]__7237ca87._.js","../../chunks/ssr/[root-of-the-server]__e30fd932._.js","../../chunks/ssr/[root-of-the-server]__e5891e5a._.js","../../chunks/ssr/[root-of-the-server]__eefaabd3._.js","../../chunks/ssr/[turbopack]_runtime.js","../../chunks/ssr/_367e3572._.js","../../chunks/ssr/_4d4c72c3._.js","../../chunks/ssr/_51748700._.js","../../chunks/ssr/_7dedc302._.js","../../chunks/ssr/_a87d6a16._.js","../../chunks/ssr/_bdcc66f8._.js","../../chunks/ssr/_c2721ff3._.js","../../chunks/ssr/_ec3b9d14._.js","../../chunks/ssr/node_modules__pnpm_50944832._.js","../../chunks/ssr/node_modules__pnpm_b8ff10b9._.js","../../chunks/ssr/packages_web__next-internal_server_app_stats_page_actions_be53469f.js","../../chunks/ssr/packages_web_src_22edbbc4._.js","../../chunks/ssr/packages_web_src_app_error_tsx_111a478a._.js","../../chunks/ssr/packages_web_src_app_error_tsx_26278c4b._.js","../../chunks/ssr/packages_web_src_lib_specs_sources_database-source_ts_d47f0403._.js","../../chunks/ssr/packages_web_src_lib_utils_ts_0aa64224._.js","../../chunks/ssr/packages_web_src_lib_utils_ts_8b0ad078._.js","./page/react-loadable-manifest.json","./page_client-reference-manifest.js"]}
|
package/dist/standalone/packages/web/.next/server/chunks/[root-of-the-server]__2e0f9179._.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[12714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},874,(e,t,r)=>{t.exports=e.x("buffer",()=>require("buffer"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},45790,e=>{"use strict";var t=e.i(35258),r=e.i(24119),a=e.i(14747),s=e.i(2157),n=e.i(92194);function i(e){return e?Array.isArray(e)?e.map(e=>String(e)):"string"==typeof e?[e]:[]:[]}async function o(e,o){let c=await t.specsService.getSpec(e,o);if(!c)return null;let l={...c,tags:c.tags?"string"==typeof c.tags?JSON.parse(c.tags):c.tags:null};if(!o){let e=(0,a.join)(process.cwd(),"../../specs",c.filePath.replace("/README.md","").replace("specs/","")),t=(0,r.detectSubSpecs)(e),o=function(e){try{let t=(0,a.join)(e,"README.md"),r=(0,s.readFileSync)(t,"utf-8"),{data:o}=(0,n.default)(r),c=i(o?.depends_on??o?.dependsOn),l=i(o?.related);return{dependsOn:c,related:l}}catch(e){return console.warn("Unable to parse spec relationships",e),{dependsOn:[],related:[]}}}(e);return{...l,subSpecs:t,relationships:o}}return l}async function c(e){let r=await t.specsService.getAllSpecs(e),a=new Map,s=new Map;for(let e of r)e.status&&a.set(e.status,(a.get(e.status)||0)+1),e.priority&&s.set(e.priority,(s.get(e.priority)||0)+1);let n=a.get("complete")||0,i=r.length>0?n/r.length*100:0;return{totalProjects:1,totalSpecs:r.length,specsByStatus:Array.from(a.entries()).map(([e,t])=>({status:e,count:t})),specsByPriority:Array.from(s.entries()).map(([e,t])=>({priority:e,count:t})),completionRate:Math.round(10*i)/10}}e.s(["getSpecById",()=>o,"getStats",()=>c])},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},24119,e=>{"use strict";var t=e.i(22734),r=e.i(14747),a=e.i(92194);let s=[{pattern:/design|ui|ux|mockup|wireframe|prototype/i,iconName:"Palette",color:"text-purple-600"},{pattern:/architecture|structure|system|diagram/i,iconName:"Map",color:"text-indigo-600"},{pattern:/implementation|code|develop|build/i,iconName:"Code",color:"text-green-600"},{pattern:/api|endpoint|integration|interface/i,iconName:"Code",color:"text-blue-600"},{pattern:/test|qa|quality|validation/i,iconName:"TestTube",color:"text-orange-600"},{pattern:/task|todo|checklist|milestone/i,iconName:"CheckSquare",color:"text-gray-600"},{pattern:/config|setup|settings|environment/i,iconName:"Wrench",color:"text-yellow-600"},{pattern:/deploy|devops|ci|cd|pipeline|release/i,iconName:"Wrench",color:"text-orange-600"},{pattern:/migration|upgrade|refactor|transition/i,iconName:"GitBranch",color:"text-cyan-600"},{pattern:/security|auth|permission|access|encryption/i,iconName:"CheckSquare",color:"text-red-600"},{pattern:/performance|optimization|speed|cache|benchmark/i,iconName:"TrendingUp",color:"text-green-600"},{pattern:/database|data|schema|model|query/i,iconName:"FileText",color:"text-blue-600"},{pattern:/doc|guide|manual|reference/i,iconName:"FileText",color:"text-gray-500"},{pattern:/github|git|vcs|version/i,iconName:"GitBranch",color:"text-pink-600"}],n={iconName:"FileText",color:"text-gray-600"};function i(e){let i=[];if(!(0,t.existsSync)(e))return i;try{for(let o of(0,t.readdirSync)(e)){if("README.md"===o||!o.endsWith(".md"))continue;let c=(0,r.join)(e,o);if((0,t.statSync)(c).isFile())try{let e=(0,t.readFileSync)(c,"utf-8"),{content:r}=(0,a.default)(e),l=function(e){let t=e.replace(/\.md$/i,"");for(let{pattern:e,iconName:r,color:a}of s)if(e.test(t))return{iconName:r,color:a};return n}(o);i.push({name:o.replace(/\.md$/i,"").split(/[-_]/).map(e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()).join(" "),file:o,iconName:l.iconName,color:l.color,content:r})}catch(e){console.error(`Error reading sub-spec ${o}:`,e)}}i.sort((e,t)=>e.file.localeCompare(t.file))}catch(t){console.error(`Error reading spec directory ${e}:`,t)}return i}e.s(["detectSubSpecs",()=>i])},35258,e=>{"use strict";var t=e.i(12714),r=e.i(50227),a=e.i(92194);let s=parseInt(process.env.CACHE_TTL||"60000",10);class n{cache=new Map;specsDir;constructor(e){this.specsDir=e||r.join(process.cwd(),"../../specs")}async getAllSpecs(){let e="__all_specs__",t=this.cache.get(e);if(t&&Date.now()<t.expiresAt)return t.data;let r=await this.loadSpecsFromFilesystem();return this.cache.set(e,{data:r,expiresAt:Date.now()+s}),r}async getSpec(e){let t=`spec:${e}`,r=this.cache.get(t);if(r&&Date.now()<r.expiresAt)return r.data;let a=parseInt(e.split("-")[0],10);if(isNaN(a))return null;let n=await this.loadSpecByNumber(a);return n&&this.cache.set(t,{data:n,expiresAt:Date.now()+s}),n}async getSpecsByStatus(e){return(await this.getAllSpecs()).filter(t=>t.status===e)}async searchSpecs(e){let t=await this.getAllSpecs(),r=e.toLowerCase();return t.filter(e=>e.specName.toLowerCase().includes(r)||e.title?.toLowerCase().includes(r)||e.contentMd.toLowerCase().includes(r))}invalidateCache(e){e?(this.cache.delete(`spec:${e}`),this.cache.delete("__all_specs__")):this.cache.clear()}async loadSpecsFromFilesystem(){let e=[];try{await t.access(this.specsDir)}catch{return[]}let a=/^(\d{2,})-/;for(let s of(await t.readdir(this.specsDir,{withFileTypes:!0})))if(s.isDirectory()&&"archived"!==s.name&&a.test(s.name)){let t=r.join(this.specsDir,s.name),a=await this.loadSpecFromDirectory(t,s.name);a&&e.push(a)}return e.sort((e,t)=>(e.specNumber||0)-(t.specNumber||0))}async loadSpecByNumber(e){try{await t.access(this.specsDir)}catch{return null}let a=await t.readdir(this.specsDir,{withFileTypes:!0}),s=RegExp(`^0*${e}-`);for(let e of a)if(e.isDirectory()&&s.test(e.name)){let t=r.join(this.specsDir,e.name);return await this.loadSpecFromDirectory(t,e.name)}return null}async loadSpecFromDirectory(e,s){let n=r.join(e,"README.md");try{let e=await t.readFile(n,"utf-8"),{data:r,content:i}=(0,a.default)(e);if(!r||!r.status)return null;let o=s.match(/^(\d+)/),c=o?parseInt(o[1],10):null,l=`fs-${s}`,p=r.created_at??r.created,u=r.updated_at??r.updated,d=r.completed_at??r.completed,h=e=>{if(!e)return null;let t=new Date(e);return isNaN(t.getTime())?null:t};return{id:l,projectId:"leanspec",specNumber:c,specName:s,title:this.extractTitle(i),status:r.status||"planned",priority:r.priority||null,tags:r.tags?JSON.stringify(r.tags):null,assignee:r.assignee||null,contentMd:i,contentHtml:null,createdAt:h(p),updatedAt:h(u),completedAt:h(d),filePath:`specs/${s}/README.md`,githubUrl:`https://github.com/codervisor/lean-spec/tree/main/specs/${s}/README.md`,syncedAt:new Date}}catch{return null}}extractTitle(e){for(let t of e.split("\n")){let e=t.match(/^#\s+(.+)$/);if(e)return e[1].trim()}return null}}let i=null,o=new class{filesystemSource;databaseSource;mode;constructor(){if(this.mode=process.env.SPECS_MODE||"filesystem","filesystem"===this.mode||"both"===this.mode){const e=process.env.SPECS_DIR;this.filesystemSource=new n(e)}}async getDatabaseSource(){if(!this.databaseSource){if(!i){let{DatabaseSource:t}=await e.A(73103);i=t}this.databaseSource=new i}return this.databaseSource}async getAllSpecs(e){let t=await this.getSource(e);return await t.getAllSpecs(e)}async getSpec(e,t){let r=await this.getSource(t);return await r.getSpec(e,t)}async getSpecsByStatus(e,t){let r=await this.getSource(t);return await r.getSpecsByStatus(e,t)}async searchSpecs(e,t){let r=await this.getSource(t);return await r.searchSpecs(e,t)}async invalidateCache(e,t){(await this.getSource(t)).invalidateCache(e)}async getSource(e){if(e&&("database"===this.mode||"both"===this.mode))return await this.getDatabaseSource();if(this.filesystemSource)return this.filesystemSource;throw Error("No spec source configured")}};e.s(["specsService",0,o],35258)},66048,e=>{"use strict";var t=e.i(6169),r=e.i(25864),a=e.i(71648),s=e.i(30064),n=e.i(74222),i=e.i(2043),o=e.i(71408),c=e.i(26527),l=e.i(30592),p=e.i(34639),u=e.i(88935),d=e.i(68515),h=e.i(87166),f=e.i(76718),m=e.i(76529),g=e.i(51151),y=e.i(93695);e.i(59704);var x=e.i(8259),w=e.i(31511),S=e.i(45790);async function v(e,{params:t}){try{let{id:e,file:r}=await t,a=await (0,S.getSpecById)(e);if(!a)return w.NextResponse.json({error:"Spec not found"},{status:404});let s=a.subSpecs?.find(e=>e.file===r);if(!s)return w.NextResponse.json({error:"Sub-spec not found"},{status:404});return w.NextResponse.json({subSpec:s},{headers:{"Cache-Control":"public, s-maxage=60, stale-while-revalidate=120"}})}catch(e){return console.error("Error fetching sub-spec:",e),w.NextResponse.json({error:"Failed to fetch sub-spec"},{status:500})}}e.s(["GET",()=>v],67488);var R=e.i(67488);let b=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/specs/[id]/subspecs/[file]/route",pathname:"/api/specs/[id]/subspecs/[file]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/packages/web/src/app/api/specs/[id]/subspecs/[file]/route.ts",nextConfigOutput:"standalone",userland:R}),{workAsyncStorage:E,workUnitAsyncStorage:A,serverHooks:N}=b;function C(){return(0,a.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:A})}async function _(e,t,a){b.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/specs/[id]/subspecs/[file]/route";w=w.replace(/\/index$/,"")||"/";let S=await b.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!S)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:v,params:R,nextConfig:E,parsedUrl:A,isDraftMode:N,prerenderManifest:C,routerServerContext:_,isOnDemandRevalidate:D,revalidateOnlyGenerated:T,resolvedPathname:j,clientReferenceManifest:k,serverActionsManifest:P}=S,q=(0,c.normalizeAppPath)(w),M=!!(C.dynamicRoutes[q]||C.routes[j]),O=async()=>((null==_?void 0:_.render404)?await _.render404(e,t,A,!1):t.end("This page could not be found"),null);if(M&&!N){let e=!!C.routes[j],t=C.dynamicRoutes[q];if(t&&!1===t.fallback&&!e){if(E.experimental.adapterPath)return await O();throw new y.NoFallbackError}}let F=null;!M||b.isDev||N||(F="/index"===(F=j)?"/":F);let I=!0===b.isDev||!M,U=M&&!I;P&&k&&(0,i.setReferenceManifestsSingleton)({page:w,clientReferenceManifest:k,serverActionsManifest:P,serverModuleMap:(0,o.createServerModuleMap)({serverActionsManifest:P})});let $=e.method||"GET",H=(0,n.getTracer)(),B=H.getActiveScopeSpan(),L={params:R,prerenderManifest:C,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:I,incrementalCache:(0,s.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:E.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a)=>b.onRequestError(e,t,a,_)},sharedContext:{buildId:v}},K=new l.NodeNextRequest(e),G=new l.NodeNextResponse(t),W=p.NextRequestAdapter.fromNodeNextRequest(K,(0,p.signalFromNodeResponse)(t));try{let i=async e=>b.handle(W,L).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=H.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${$} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${$} ${w}`)}),o=!!(0,s.getRequestMeta)(e,"minimalMode"),c=async s=>{var n,c;let l=async({previousCacheEntry:r})=>{try{if(!o&&D&&T&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await i(s);e.fetchMetrics=L.renderOpts.fetchMetrics;let c=L.renderOpts.pendingWaitUntil;c&&a.waitUntil&&(a.waitUntil(c),c=void 0);let l=L.renderOpts.collectedTags;if(!M)return await (0,h.sendResponse)(K,G,n,L.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[g.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==L.renderOpts.collectedRevalidate&&!(L.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&L.renderOpts.collectedRevalidate,a=void 0===L.renderOpts.collectedExpire||L.renderOpts.collectedExpire>=g.INFINITE_CACHE?void 0:L.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await b.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:D})},_),t}},p=await b.handleResponse({req:e,nextConfig:E,cacheKey:F,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:T,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:o});if(!M)return null;if((null==p||null==(n=p.value)?void 0:n.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==p||null==(c=p.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",D?"REVALIDATED":p.isMiss?"MISS":p.isStale?"STALE":"HIT"),N&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,f.fromNodeOutgoingHttpHeaders)(p.value.headers);return o&&M||u.delete(g.NEXT_CACHE_TAGS_HEADER),!p.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,m.getCacheControlHeader)(p.cacheControl)),await (0,h.sendResponse)(K,G,new Response(p.value.body,{headers:u,status:p.value.status||200})),null};B?await c(B):await H.withPropagatedContext(e.headers,()=>H.trace(u.BaseServerSpan.handleRequest,{spanName:`${$} ${w}`,kind:n.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},c))}catch(t){if(t instanceof y.NoFallbackError||await b.onRequestError(e,t,{routerKind:"App Router",routePath:q,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:D})}),M)throw t;return await (0,h.sendResponse)(K,G,new Response(null,{status:500})),null}}e.s(["handler",()=>_,"patchFetch",()=>C,"routeModule",()=>b,"serverHooks",()=>N,"workAsyncStorage",()=>E,"workUnitAsyncStorage",()=>A],66048)},73103,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__bda6ce94._.js","server/chunks/packages_web_src_lib_db_index_ts_6fe828c8._.js"].map(t=>e.l(t))).then(()=>t(28318)))}];
|
|
1
|
+
module.exports=[12714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},874,(e,t,r)=>{t.exports=e.x("buffer",()=>require("buffer"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},45790,e=>{"use strict";var t=e.i(35258),r=e.i(24119),a=e.i(14747),s=e.i(2157),n=e.i(92194);let i=(0,a.resolve)(process.cwd(),"../../specs");function o(e){return e?Array.isArray(e)?e.map(e=>String(e)):"string"==typeof e?[e]:[]:[]}async function c(e,c){let l=await t.specsService.getSpec(e,c);if(!l)return null;let p={...l,tags:l.tags?"string"==typeof l.tags?JSON.parse(l.tags):l.tags:null};if(!c){let e,t,c=(e=l.filePath.replace(/^specs\//,"").replace(/\/README\.md$/,""),(0,a.join)((t=process.env.SPECS_DIR)?t.startsWith("/")?t:(0,a.resolve)(process.cwd(),t):i,e)),u=(0,r.detectSubSpecs)(c),d=function(e){try{let t=(0,a.join)(e,"README.md"),r=(0,s.readFileSync)(t,"utf-8"),{data:i}=(0,n.default)(r),c=o(i?.depends_on??i?.dependsOn),l=o(i?.related);return{dependsOn:c,related:l}}catch(e){return console.warn("Unable to parse spec relationships",e),{dependsOn:[],related:[]}}}(c);return{...p,subSpecs:u,relationships:d}}return p}async function l(e){let r=await t.specsService.getAllSpecs(e),a=new Map,s=new Map;for(let e of r)e.status&&a.set(e.status,(a.get(e.status)||0)+1),e.priority&&s.set(e.priority,(s.get(e.priority)||0)+1);let n=a.get("complete")||0,i=r.length>0?n/r.length*100:0;return{totalProjects:1,totalSpecs:r.length,specsByStatus:Array.from(a.entries()).map(([e,t])=>({status:e,count:t})),specsByPriority:Array.from(s.entries()).map(([e,t])=>({priority:e,count:t})),completionRate:Math.round(10*i)/10}}e.s(["getSpecById",()=>c,"getStats",()=>l])},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},24119,e=>{"use strict";var t=e.i(22734),r=e.i(14747),a=e.i(92194);let s=[{pattern:/design|ui|ux|mockup|wireframe|prototype/i,iconName:"Palette",color:"text-purple-600"},{pattern:/architecture|structure|system|diagram/i,iconName:"Map",color:"text-indigo-600"},{pattern:/implementation|code|develop|build/i,iconName:"Code",color:"text-green-600"},{pattern:/api|endpoint|integration|interface/i,iconName:"Code",color:"text-blue-600"},{pattern:/test|qa|quality|validation/i,iconName:"TestTube",color:"text-orange-600"},{pattern:/task|todo|checklist|milestone/i,iconName:"CheckSquare",color:"text-gray-600"},{pattern:/config|setup|settings|environment/i,iconName:"Wrench",color:"text-yellow-600"},{pattern:/deploy|devops|ci|cd|pipeline|release/i,iconName:"Wrench",color:"text-orange-600"},{pattern:/migration|upgrade|refactor|transition/i,iconName:"GitBranch",color:"text-cyan-600"},{pattern:/security|auth|permission|access|encryption/i,iconName:"CheckSquare",color:"text-red-600"},{pattern:/performance|optimization|speed|cache|benchmark/i,iconName:"TrendingUp",color:"text-green-600"},{pattern:/database|data|schema|model|query/i,iconName:"FileText",color:"text-blue-600"},{pattern:/doc|guide|manual|reference/i,iconName:"FileText",color:"text-gray-500"},{pattern:/github|git|vcs|version/i,iconName:"GitBranch",color:"text-pink-600"}],n={iconName:"FileText",color:"text-gray-600"};function i(e){let i=[];if(!(0,t.existsSync)(e))return i;try{for(let o of(0,t.readdirSync)(e)){if("README.md"===o||!o.endsWith(".md"))continue;let c=(0,r.join)(e,o);if((0,t.statSync)(c).isFile())try{let e=(0,t.readFileSync)(c,"utf-8"),{content:r}=(0,a.default)(e),l=function(e){let t=e.replace(/\.md$/i,"");for(let{pattern:e,iconName:r,color:a}of s)if(e.test(t))return{iconName:r,color:a};return n}(o);i.push({name:o.replace(/\.md$/i,"").split(/[-_]/).map(e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()).join(" "),file:o,iconName:l.iconName,color:l.color,content:r})}catch(e){console.error(`Error reading sub-spec ${o}:`,e)}}i.sort((e,t)=>e.file.localeCompare(t.file))}catch(t){console.error(`Error reading spec directory ${e}:`,t)}return i}e.s(["detectSubSpecs",()=>i])},35258,e=>{"use strict";var t=e.i(12714),r=e.i(50227),a=e.i(92194);let s=parseInt(process.env.CACHE_TTL||"60000",10);class n{cache=new Map;specsDir;constructor(e){this.specsDir=e||r.join(process.cwd(),"../../specs")}async getAllSpecs(){let e="__all_specs__",t=this.cache.get(e);if(t&&Date.now()<t.expiresAt)return t.data;let r=await this.loadSpecsFromFilesystem();return this.cache.set(e,{data:r,expiresAt:Date.now()+s}),r}async getSpec(e){let t=`spec:${e}`,r=this.cache.get(t);if(r&&Date.now()<r.expiresAt)return r.data;let a=parseInt(e.split("-")[0],10);if(isNaN(a))return null;let n=await this.loadSpecByNumber(a);return n&&this.cache.set(t,{data:n,expiresAt:Date.now()+s}),n}async getSpecsByStatus(e){return(await this.getAllSpecs()).filter(t=>t.status===e)}async searchSpecs(e){let t=await this.getAllSpecs(),r=e.toLowerCase();return t.filter(e=>e.specName.toLowerCase().includes(r)||e.title?.toLowerCase().includes(r)||e.contentMd.toLowerCase().includes(r))}invalidateCache(e){e?(this.cache.delete(`spec:${e}`),this.cache.delete("__all_specs__")):this.cache.clear()}async loadSpecsFromFilesystem(){let e=[];try{await t.access(this.specsDir)}catch{return[]}let a=/^(\d{2,})-/;for(let s of(await t.readdir(this.specsDir,{withFileTypes:!0})))if(s.isDirectory()&&"archived"!==s.name&&a.test(s.name)){let t=r.join(this.specsDir,s.name),a=await this.loadSpecFromDirectory(t,s.name);a&&e.push(a)}return e.sort((e,t)=>(e.specNumber||0)-(t.specNumber||0))}async loadSpecByNumber(e){try{await t.access(this.specsDir)}catch{return null}let a=await t.readdir(this.specsDir,{withFileTypes:!0}),s=RegExp(`^0*${e}-`);for(let e of a)if(e.isDirectory()&&s.test(e.name)){let t=r.join(this.specsDir,e.name);return await this.loadSpecFromDirectory(t,e.name)}return null}async loadSpecFromDirectory(e,s){let n=r.join(e,"README.md");try{let e=await t.readFile(n,"utf-8"),{data:r,content:i}=(0,a.default)(e);if(!r||!r.status)return null;let o=s.match(/^(\d+)/),c=o?parseInt(o[1],10):null,l=`fs-${s}`,p=r.created_at??r.created,u=r.updated_at??r.updated,d=r.completed_at??r.completed,h=e=>{if(!e)return null;let t=new Date(e);return isNaN(t.getTime())?null:t};return{id:l,projectId:"leanspec",specNumber:c,specName:s,title:this.extractTitle(i),status:r.status||"planned",priority:r.priority||null,tags:r.tags?JSON.stringify(r.tags):null,assignee:r.assignee||null,contentMd:i,contentHtml:null,createdAt:h(p),updatedAt:h(u),completedAt:h(d),filePath:`specs/${s}/README.md`,githubUrl:`https://github.com/codervisor/lean-spec/tree/main/specs/${s}/README.md`,syncedAt:new Date}}catch{return null}}extractTitle(e){for(let t of e.split("\n")){let e=t.match(/^#\s+(.+)$/);if(e)return e[1].trim()}return null}}let i=null,o=new class{filesystemSource;databaseSource;mode;constructor(){if(this.mode=process.env.SPECS_MODE||"filesystem","filesystem"===this.mode||"both"===this.mode){const e=process.env.SPECS_DIR;this.filesystemSource=new n(e)}}async getDatabaseSource(){if(!this.databaseSource){if(!i){let{DatabaseSource:t}=await e.A(73103);i=t}this.databaseSource=new i}return this.databaseSource}async getAllSpecs(e){let t=await this.getSource(e);return await t.getAllSpecs(e)}async getSpec(e,t){let r=await this.getSource(t);return await r.getSpec(e,t)}async getSpecsByStatus(e,t){let r=await this.getSource(t);return await r.getSpecsByStatus(e,t)}async searchSpecs(e,t){let r=await this.getSource(t);return await r.searchSpecs(e,t)}async invalidateCache(e,t){(await this.getSource(t)).invalidateCache(e)}async getSource(e){if(e&&("database"===this.mode||"both"===this.mode))return await this.getDatabaseSource();if(this.filesystemSource)return this.filesystemSource;throw Error("No spec source configured")}};e.s(["specsService",0,o],35258)},66048,e=>{"use strict";var t=e.i(6169),r=e.i(25864),a=e.i(71648),s=e.i(30064),n=e.i(74222),i=e.i(2043),o=e.i(71408),c=e.i(26527),l=e.i(30592),p=e.i(34639),u=e.i(88935),d=e.i(68515),h=e.i(87166),f=e.i(76718),m=e.i(76529),g=e.i(51151),y=e.i(93695);e.i(59704);var x=e.i(8259),w=e.i(31511),S=e.i(45790);async function v(e,{params:t}){try{let{id:e,file:r}=await t,a=await (0,S.getSpecById)(e);if(!a)return w.NextResponse.json({error:"Spec not found"},{status:404});let s=a.subSpecs?.find(e=>e.file===r);if(!s)return w.NextResponse.json({error:"Sub-spec not found"},{status:404});return w.NextResponse.json({subSpec:s},{headers:{"Cache-Control":"public, s-maxage=60, stale-while-revalidate=120"}})}catch(e){return console.error("Error fetching sub-spec:",e),w.NextResponse.json({error:"Failed to fetch sub-spec"},{status:500})}}e.s(["GET",()=>v],67488);var R=e.i(67488);let b=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/specs/[id]/subspecs/[file]/route",pathname:"/api/specs/[id]/subspecs/[file]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/packages/web/src/app/api/specs/[id]/subspecs/[file]/route.ts",nextConfigOutput:"standalone",userland:R}),{workAsyncStorage:E,workUnitAsyncStorage:A,serverHooks:C}=b;function N(){return(0,a.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:A})}async function _(e,t,a){b.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/specs/[id]/subspecs/[file]/route";w=w.replace(/\/index$/,"")||"/";let S=await b.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!S)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:v,params:R,nextConfig:E,parsedUrl:A,isDraftMode:C,prerenderManifest:N,routerServerContext:_,isOnDemandRevalidate:D,revalidateOnlyGenerated:T,resolvedPathname:j,clientReferenceManifest:k,serverActionsManifest:P}=S,q=(0,c.normalizeAppPath)(w),M=!!(N.dynamicRoutes[q]||N.routes[j]),O=async()=>((null==_?void 0:_.render404)?await _.render404(e,t,A,!1):t.end("This page could not be found"),null);if(M&&!C){let e=!!N.routes[j],t=N.dynamicRoutes[q];if(t&&!1===t.fallback&&!e){if(E.experimental.adapterPath)return await O();throw new y.NoFallbackError}}let F=null;!M||b.isDev||C||(F="/index"===(F=j)?"/":F);let I=!0===b.isDev||!M,$=M&&!I;P&&k&&(0,i.setReferenceManifestsSingleton)({page:w,clientReferenceManifest:k,serverActionsManifest:P,serverModuleMap:(0,o.createServerModuleMap)({serverActionsManifest:P})});let U=e.method||"GET",H=(0,n.getTracer)(),B=H.getActiveScopeSpan(),L={params:R,prerenderManifest:N,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:I,incrementalCache:(0,s.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:E.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a)=>b.onRequestError(e,t,a,_)},sharedContext:{buildId:v}},K=new l.NodeNextRequest(e),G=new l.NodeNextResponse(t),W=p.NextRequestAdapter.fromNodeNextRequest(K,(0,p.signalFromNodeResponse)(t));try{let i=async e=>b.handle(W,L).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=H.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${U} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${U} ${w}`)}),o=!!(0,s.getRequestMeta)(e,"minimalMode"),c=async s=>{var n,c;let l=async({previousCacheEntry:r})=>{try{if(!o&&D&&T&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await i(s);e.fetchMetrics=L.renderOpts.fetchMetrics;let c=L.renderOpts.pendingWaitUntil;c&&a.waitUntil&&(a.waitUntil(c),c=void 0);let l=L.renderOpts.collectedTags;if(!M)return await (0,h.sendResponse)(K,G,n,L.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[g.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==L.renderOpts.collectedRevalidate&&!(L.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&L.renderOpts.collectedRevalidate,a=void 0===L.renderOpts.collectedExpire||L.renderOpts.collectedExpire>=g.INFINITE_CACHE?void 0:L.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await b.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:D})},_),t}},p=await b.handleResponse({req:e,nextConfig:E,cacheKey:F,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:N,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:T,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:o});if(!M)return null;if((null==p||null==(n=p.value)?void 0:n.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==p||null==(c=p.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",D?"REVALIDATED":p.isMiss?"MISS":p.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,f.fromNodeOutgoingHttpHeaders)(p.value.headers);return o&&M||u.delete(g.NEXT_CACHE_TAGS_HEADER),!p.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,m.getCacheControlHeader)(p.cacheControl)),await (0,h.sendResponse)(K,G,new Response(p.value.body,{headers:u,status:p.value.status||200})),null};B?await c(B):await H.withPropagatedContext(e.headers,()=>H.trace(u.BaseServerSpan.handleRequest,{spanName:`${U} ${w}`,kind:n.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},c))}catch(t){if(t instanceof y.NoFallbackError||await b.onRequestError(e,t,{routerKind:"App Router",routePath:q,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:D})}),M)throw t;return await (0,h.sendResponse)(K,G,new Response(null,{status:500})),null}}e.s(["handler",()=>_,"patchFetch",()=>N,"routeModule",()=>b,"serverHooks",()=>C,"workAsyncStorage",()=>E,"workUnitAsyncStorage",()=>A],66048)},73103,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__bda6ce94._.js","server/chunks/packages_web_src_lib_db_index_ts_6fe828c8._.js"].map(t=>e.l(t))).then(()=>t(28318)))}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=%5Broot-of-the-server%5D__2e0f9179._.js.map
|
package/dist/standalone/packages/web/.next/server/chunks/[root-of-the-server]__577d6d08._.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[12714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},874,(e,t,r)=>{t.exports=e.x("buffer",()=>require("buffer"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},45790,e=>{"use strict";var t=e.i(35258),r=e.i(24119),a=e.i(14747),s=e.i(2157),n=e.i(92194);function i(e){return e?Array.isArray(e)?e.map(e=>String(e)):"string"==typeof e?[e]:[]:[]}async function o(e,o){let c=await t.specsService.getSpec(e,o);if(!c)return null;let l={...c,tags:c.tags?"string"==typeof c.tags?JSON.parse(c.tags):c.tags:null};if(!o){let e=(0,a.join)(process.cwd(),"../../specs",c.filePath.replace("/README.md","").replace("specs/","")),t=(0,r.detectSubSpecs)(e),o=function(e){try{let t=(0,a.join)(e,"README.md"),r=(0,s.readFileSync)(t,"utf-8"),{data:o}=(0,n.default)(r),c=i(o?.depends_on??o?.dependsOn),l=i(o?.related);return{dependsOn:c,related:l}}catch(e){return console.warn("Unable to parse spec relationships",e),{dependsOn:[],related:[]}}}(e);return{...l,subSpecs:t,relationships:o}}return l}async function c(e){let r=await t.specsService.getAllSpecs(e),a=new Map,s=new Map;for(let e of r)e.status&&a.set(e.status,(a.get(e.status)||0)+1),e.priority&&s.set(e.priority,(s.get(e.priority)||0)+1);let n=a.get("complete")||0,i=r.length>0?n/r.length*100:0;return{totalProjects:1,totalSpecs:r.length,specsByStatus:Array.from(a.entries()).map(([e,t])=>({status:e,count:t})),specsByPriority:Array.from(s.entries()).map(([e,t])=>({priority:e,count:t})),completionRate:Math.round(10*i)/10}}e.s(["getSpecById",()=>o,"getStats",()=>c])},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},24119,e=>{"use strict";var t=e.i(22734),r=e.i(14747),a=e.i(92194);let s=[{pattern:/design|ui|ux|mockup|wireframe|prototype/i,iconName:"Palette",color:"text-purple-600"},{pattern:/architecture|structure|system|diagram/i,iconName:"Map",color:"text-indigo-600"},{pattern:/implementation|code|develop|build/i,iconName:"Code",color:"text-green-600"},{pattern:/api|endpoint|integration|interface/i,iconName:"Code",color:"text-blue-600"},{pattern:/test|qa|quality|validation/i,iconName:"TestTube",color:"text-orange-600"},{pattern:/task|todo|checklist|milestone/i,iconName:"CheckSquare",color:"text-gray-600"},{pattern:/config|setup|settings|environment/i,iconName:"Wrench",color:"text-yellow-600"},{pattern:/deploy|devops|ci|cd|pipeline|release/i,iconName:"Wrench",color:"text-orange-600"},{pattern:/migration|upgrade|refactor|transition/i,iconName:"GitBranch",color:"text-cyan-600"},{pattern:/security|auth|permission|access|encryption/i,iconName:"CheckSquare",color:"text-red-600"},{pattern:/performance|optimization|speed|cache|benchmark/i,iconName:"TrendingUp",color:"text-green-600"},{pattern:/database|data|schema|model|query/i,iconName:"FileText",color:"text-blue-600"},{pattern:/doc|guide|manual|reference/i,iconName:"FileText",color:"text-gray-500"},{pattern:/github|git|vcs|version/i,iconName:"GitBranch",color:"text-pink-600"}],n={iconName:"FileText",color:"text-gray-600"};function i(e){let i=[];if(!(0,t.existsSync)(e))return i;try{for(let o of(0,t.readdirSync)(e)){if("README.md"===o||!o.endsWith(".md"))continue;let c=(0,r.join)(e,o);if((0,t.statSync)(c).isFile())try{let e=(0,t.readFileSync)(c,"utf-8"),{content:r}=(0,a.default)(e),l=function(e){let t=e.replace(/\.md$/i,"");for(let{pattern:e,iconName:r,color:a}of s)if(e.test(t))return{iconName:r,color:a};return n}(o);i.push({name:o.replace(/\.md$/i,"").split(/[-_]/).map(e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()).join(" "),file:o,iconName:l.iconName,color:l.color,content:r})}catch(e){console.error(`Error reading sub-spec ${o}:`,e)}}i.sort((e,t)=>e.file.localeCompare(t.file))}catch(t){console.error(`Error reading spec directory ${e}:`,t)}return i}e.s(["detectSubSpecs",()=>i])},35258,e=>{"use strict";var t=e.i(12714),r=e.i(50227),a=e.i(92194);let s=parseInt(process.env.CACHE_TTL||"60000",10);class n{cache=new Map;specsDir;constructor(e){this.specsDir=e||r.join(process.cwd(),"../../specs")}async getAllSpecs(){let e="__all_specs__",t=this.cache.get(e);if(t&&Date.now()<t.expiresAt)return t.data;let r=await this.loadSpecsFromFilesystem();return this.cache.set(e,{data:r,expiresAt:Date.now()+s}),r}async getSpec(e){let t=`spec:${e}`,r=this.cache.get(t);if(r&&Date.now()<r.expiresAt)return r.data;let a=parseInt(e.split("-")[0],10);if(isNaN(a))return null;let n=await this.loadSpecByNumber(a);return n&&this.cache.set(t,{data:n,expiresAt:Date.now()+s}),n}async getSpecsByStatus(e){return(await this.getAllSpecs()).filter(t=>t.status===e)}async searchSpecs(e){let t=await this.getAllSpecs(),r=e.toLowerCase();return t.filter(e=>e.specName.toLowerCase().includes(r)||e.title?.toLowerCase().includes(r)||e.contentMd.toLowerCase().includes(r))}invalidateCache(e){e?(this.cache.delete(`spec:${e}`),this.cache.delete("__all_specs__")):this.cache.clear()}async loadSpecsFromFilesystem(){let e=[];try{await t.access(this.specsDir)}catch{return[]}let a=/^(\d{2,})-/;for(let s of(await t.readdir(this.specsDir,{withFileTypes:!0})))if(s.isDirectory()&&"archived"!==s.name&&a.test(s.name)){let t=r.join(this.specsDir,s.name),a=await this.loadSpecFromDirectory(t,s.name);a&&e.push(a)}return e.sort((e,t)=>(e.specNumber||0)-(t.specNumber||0))}async loadSpecByNumber(e){try{await t.access(this.specsDir)}catch{return null}let a=await t.readdir(this.specsDir,{withFileTypes:!0}),s=RegExp(`^0*${e}-`);for(let e of a)if(e.isDirectory()&&s.test(e.name)){let t=r.join(this.specsDir,e.name);return await this.loadSpecFromDirectory(t,e.name)}return null}async loadSpecFromDirectory(e,s){let n=r.join(e,"README.md");try{let e=await t.readFile(n,"utf-8"),{data:r,content:i}=(0,a.default)(e);if(!r||!r.status)return null;let o=s.match(/^(\d+)/),c=o?parseInt(o[1],10):null,l=`fs-${s}`,p=r.created_at??r.created,u=r.updated_at??r.updated,d=r.completed_at??r.completed,h=e=>{if(!e)return null;let t=new Date(e);return isNaN(t.getTime())?null:t};return{id:l,projectId:"leanspec",specNumber:c,specName:s,title:this.extractTitle(i),status:r.status||"planned",priority:r.priority||null,tags:r.tags?JSON.stringify(r.tags):null,assignee:r.assignee||null,contentMd:i,contentHtml:null,createdAt:h(p),updatedAt:h(u),completedAt:h(d),filePath:`specs/${s}/README.md`,githubUrl:`https://github.com/codervisor/lean-spec/tree/main/specs/${s}/README.md`,syncedAt:new Date}}catch{return null}}extractTitle(e){for(let t of e.split("\n")){let e=t.match(/^#\s+(.+)$/);if(e)return e[1].trim()}return null}}let i=null,o=new class{filesystemSource;databaseSource;mode;constructor(){if(this.mode=process.env.SPECS_MODE||"filesystem","filesystem"===this.mode||"both"===this.mode){const e=process.env.SPECS_DIR;this.filesystemSource=new n(e)}}async getDatabaseSource(){if(!this.databaseSource){if(!i){let{DatabaseSource:t}=await e.A(73103);i=t}this.databaseSource=new i}return this.databaseSource}async getAllSpecs(e){let t=await this.getSource(e);return await t.getAllSpecs(e)}async getSpec(e,t){let r=await this.getSource(t);return await r.getSpec(e,t)}async getSpecsByStatus(e,t){let r=await this.getSource(t);return await r.getSpecsByStatus(e,t)}async searchSpecs(e,t){let r=await this.getSource(t);return await r.searchSpecs(e,t)}async invalidateCache(e,t){(await this.getSource(t)).invalidateCache(e)}async getSource(e){if(e&&("database"===this.mode||"both"===this.mode))return await this.getDatabaseSource();if(this.filesystemSource)return this.filesystemSource;throw Error("No spec source configured")}};e.s(["specsService",0,o],35258)},88092,e=>{"use strict";var t=e.i(6169),r=e.i(25864),a=e.i(71648),s=e.i(30064),n=e.i(74222),i=e.i(2043),o=e.i(71408),c=e.i(26527),l=e.i(30592),p=e.i(34639),u=e.i(88935),d=e.i(68515),h=e.i(87166),m=e.i(76718),f=e.i(76529),g=e.i(51151),y=e.i(93695);e.i(59704);var x=e.i(8259),w=e.i(31511),S=e.i(45790);async function v(e,{params:t}){try{let{id:e}=await t,r=await (0,S.getSpecById)(e);if(!r)return w.NextResponse.json({error:"Spec not found"},{status:404});return w.NextResponse.json({spec:r},{headers:{"Cache-Control":"public, s-maxage=60, stale-while-revalidate=120"}})}catch(e){return console.error("Error fetching spec:",e),w.NextResponse.json({error:"Failed to fetch spec"},{status:500})}}e.s(["GET",()=>v],98012);var R=e.i(98012);let E=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/specs/[id]/route",pathname:"/api/specs/[id]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/packages/web/src/app/api/specs/[id]/route.ts",nextConfigOutput:"standalone",userland:R}),{workAsyncStorage:b,workUnitAsyncStorage:A,serverHooks:C}=E;function N(){return(0,a.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:A})}async function _(e,t,a){E.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/specs/[id]/route";w=w.replace(/\/index$/,"")||"/";let S=await E.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!S)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:v,params:R,nextConfig:b,parsedUrl:A,isDraftMode:C,prerenderManifest:N,routerServerContext:_,isOnDemandRevalidate:D,revalidateOnlyGenerated:T,resolvedPathname:j,clientReferenceManifest:k,serverActionsManifest:P}=S,q=(0,c.normalizeAppPath)(w),M=!!(N.dynamicRoutes[q]||N.routes[j]),O=async()=>((null==_?void 0:_.render404)?await _.render404(e,t,A,!1):t.end("This page could not be found"),null);if(M&&!C){let e=!!N.routes[j],t=N.dynamicRoutes[q];if(t&&!1===t.fallback&&!e){if(b.experimental.adapterPath)return await O();throw new y.NoFallbackError}}let F=null;!M||E.isDev||C||(F="/index"===(F=j)?"/":F);let I=!0===E.isDev||!M,U=M&&!I;P&&k&&(0,i.setReferenceManifestsSingleton)({page:w,clientReferenceManifest:k,serverActionsManifest:P,serverModuleMap:(0,o.createServerModuleMap)({serverActionsManifest:P})});let $=e.method||"GET",H=(0,n.getTracer)(),B=H.getActiveScopeSpan(),L={params:R,prerenderManifest:N,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:I,incrementalCache:(0,s.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:b.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a)=>E.onRequestError(e,t,a,_)},sharedContext:{buildId:v}},K=new l.NodeNextRequest(e),G=new l.NodeNextResponse(t),W=p.NextRequestAdapter.fromNodeNextRequest(K,(0,p.signalFromNodeResponse)(t));try{let i=async e=>E.handle(W,L).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=H.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${$} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${$} ${w}`)}),o=!!(0,s.getRequestMeta)(e,"minimalMode"),c=async s=>{var n,c;let l=async({previousCacheEntry:r})=>{try{if(!o&&D&&T&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await i(s);e.fetchMetrics=L.renderOpts.fetchMetrics;let c=L.renderOpts.pendingWaitUntil;c&&a.waitUntil&&(a.waitUntil(c),c=void 0);let l=L.renderOpts.collectedTags;if(!M)return await (0,h.sendResponse)(K,G,n,L.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[g.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==L.renderOpts.collectedRevalidate&&!(L.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&L.renderOpts.collectedRevalidate,a=void 0===L.renderOpts.collectedExpire||L.renderOpts.collectedExpire>=g.INFINITE_CACHE?void 0:L.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await E.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:D})},_),t}},p=await E.handleResponse({req:e,nextConfig:b,cacheKey:F,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:N,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:T,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:o});if(!M)return null;if((null==p||null==(n=p.value)?void 0:n.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==p||null==(c=p.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",D?"REVALIDATED":p.isMiss?"MISS":p.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,m.fromNodeOutgoingHttpHeaders)(p.value.headers);return o&&M||u.delete(g.NEXT_CACHE_TAGS_HEADER),!p.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,f.getCacheControlHeader)(p.cacheControl)),await (0,h.sendResponse)(K,G,new Response(p.value.body,{headers:u,status:p.value.status||200})),null};B?await c(B):await H.withPropagatedContext(e.headers,()=>H.trace(u.BaseServerSpan.handleRequest,{spanName:`${$} ${w}`,kind:n.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},c))}catch(t){if(t instanceof y.NoFallbackError||await E.onRequestError(e,t,{routerKind:"App Router",routePath:q,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:D})}),M)throw t;return await (0,h.sendResponse)(K,G,new Response(null,{status:500})),null}}e.s(["handler",()=>_,"patchFetch",()=>N,"routeModule",()=>E,"serverHooks",()=>C,"workAsyncStorage",()=>b,"workUnitAsyncStorage",()=>A],88092)},73103,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__bda6ce94._.js","server/chunks/packages_web_src_lib_db_index_ts_6fe828c8._.js"].map(t=>e.l(t))).then(()=>t(28318)))}];
|
|
1
|
+
module.exports=[12714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},874,(e,t,r)=>{t.exports=e.x("buffer",()=>require("buffer"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},45790,e=>{"use strict";var t=e.i(35258),r=e.i(24119),a=e.i(14747),s=e.i(2157),n=e.i(92194);let i=(0,a.resolve)(process.cwd(),"../../specs");function o(e){return e?Array.isArray(e)?e.map(e=>String(e)):"string"==typeof e?[e]:[]:[]}async function c(e,c){let l=await t.specsService.getSpec(e,c);if(!l)return null;let p={...l,tags:l.tags?"string"==typeof l.tags?JSON.parse(l.tags):l.tags:null};if(!c){let e,t,c=(e=l.filePath.replace(/^specs\//,"").replace(/\/README\.md$/,""),(0,a.join)((t=process.env.SPECS_DIR)?t.startsWith("/")?t:(0,a.resolve)(process.cwd(),t):i,e)),u=(0,r.detectSubSpecs)(c),d=function(e){try{let t=(0,a.join)(e,"README.md"),r=(0,s.readFileSync)(t,"utf-8"),{data:i}=(0,n.default)(r),c=o(i?.depends_on??i?.dependsOn),l=o(i?.related);return{dependsOn:c,related:l}}catch(e){return console.warn("Unable to parse spec relationships",e),{dependsOn:[],related:[]}}}(c);return{...p,subSpecs:u,relationships:d}}return p}async function l(e){let r=await t.specsService.getAllSpecs(e),a=new Map,s=new Map;for(let e of r)e.status&&a.set(e.status,(a.get(e.status)||0)+1),e.priority&&s.set(e.priority,(s.get(e.priority)||0)+1);let n=a.get("complete")||0,i=r.length>0?n/r.length*100:0;return{totalProjects:1,totalSpecs:r.length,specsByStatus:Array.from(a.entries()).map(([e,t])=>({status:e,count:t})),specsByPriority:Array.from(s.entries()).map(([e,t])=>({priority:e,count:t})),completionRate:Math.round(10*i)/10}}e.s(["getSpecById",()=>c,"getStats",()=>l])},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},24119,e=>{"use strict";var t=e.i(22734),r=e.i(14747),a=e.i(92194);let s=[{pattern:/design|ui|ux|mockup|wireframe|prototype/i,iconName:"Palette",color:"text-purple-600"},{pattern:/architecture|structure|system|diagram/i,iconName:"Map",color:"text-indigo-600"},{pattern:/implementation|code|develop|build/i,iconName:"Code",color:"text-green-600"},{pattern:/api|endpoint|integration|interface/i,iconName:"Code",color:"text-blue-600"},{pattern:/test|qa|quality|validation/i,iconName:"TestTube",color:"text-orange-600"},{pattern:/task|todo|checklist|milestone/i,iconName:"CheckSquare",color:"text-gray-600"},{pattern:/config|setup|settings|environment/i,iconName:"Wrench",color:"text-yellow-600"},{pattern:/deploy|devops|ci|cd|pipeline|release/i,iconName:"Wrench",color:"text-orange-600"},{pattern:/migration|upgrade|refactor|transition/i,iconName:"GitBranch",color:"text-cyan-600"},{pattern:/security|auth|permission|access|encryption/i,iconName:"CheckSquare",color:"text-red-600"},{pattern:/performance|optimization|speed|cache|benchmark/i,iconName:"TrendingUp",color:"text-green-600"},{pattern:/database|data|schema|model|query/i,iconName:"FileText",color:"text-blue-600"},{pattern:/doc|guide|manual|reference/i,iconName:"FileText",color:"text-gray-500"},{pattern:/github|git|vcs|version/i,iconName:"GitBranch",color:"text-pink-600"}],n={iconName:"FileText",color:"text-gray-600"};function i(e){let i=[];if(!(0,t.existsSync)(e))return i;try{for(let o of(0,t.readdirSync)(e)){if("README.md"===o||!o.endsWith(".md"))continue;let c=(0,r.join)(e,o);if((0,t.statSync)(c).isFile())try{let e=(0,t.readFileSync)(c,"utf-8"),{content:r}=(0,a.default)(e),l=function(e){let t=e.replace(/\.md$/i,"");for(let{pattern:e,iconName:r,color:a}of s)if(e.test(t))return{iconName:r,color:a};return n}(o);i.push({name:o.replace(/\.md$/i,"").split(/[-_]/).map(e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()).join(" "),file:o,iconName:l.iconName,color:l.color,content:r})}catch(e){console.error(`Error reading sub-spec ${o}:`,e)}}i.sort((e,t)=>e.file.localeCompare(t.file))}catch(t){console.error(`Error reading spec directory ${e}:`,t)}return i}e.s(["detectSubSpecs",()=>i])},35258,e=>{"use strict";var t=e.i(12714),r=e.i(50227),a=e.i(92194);let s=parseInt(process.env.CACHE_TTL||"60000",10);class n{cache=new Map;specsDir;constructor(e){this.specsDir=e||r.join(process.cwd(),"../../specs")}async getAllSpecs(){let e="__all_specs__",t=this.cache.get(e);if(t&&Date.now()<t.expiresAt)return t.data;let r=await this.loadSpecsFromFilesystem();return this.cache.set(e,{data:r,expiresAt:Date.now()+s}),r}async getSpec(e){let t=`spec:${e}`,r=this.cache.get(t);if(r&&Date.now()<r.expiresAt)return r.data;let a=parseInt(e.split("-")[0],10);if(isNaN(a))return null;let n=await this.loadSpecByNumber(a);return n&&this.cache.set(t,{data:n,expiresAt:Date.now()+s}),n}async getSpecsByStatus(e){return(await this.getAllSpecs()).filter(t=>t.status===e)}async searchSpecs(e){let t=await this.getAllSpecs(),r=e.toLowerCase();return t.filter(e=>e.specName.toLowerCase().includes(r)||e.title?.toLowerCase().includes(r)||e.contentMd.toLowerCase().includes(r))}invalidateCache(e){e?(this.cache.delete(`spec:${e}`),this.cache.delete("__all_specs__")):this.cache.clear()}async loadSpecsFromFilesystem(){let e=[];try{await t.access(this.specsDir)}catch{return[]}let a=/^(\d{2,})-/;for(let s of(await t.readdir(this.specsDir,{withFileTypes:!0})))if(s.isDirectory()&&"archived"!==s.name&&a.test(s.name)){let t=r.join(this.specsDir,s.name),a=await this.loadSpecFromDirectory(t,s.name);a&&e.push(a)}return e.sort((e,t)=>(e.specNumber||0)-(t.specNumber||0))}async loadSpecByNumber(e){try{await t.access(this.specsDir)}catch{return null}let a=await t.readdir(this.specsDir,{withFileTypes:!0}),s=RegExp(`^0*${e}-`);for(let e of a)if(e.isDirectory()&&s.test(e.name)){let t=r.join(this.specsDir,e.name);return await this.loadSpecFromDirectory(t,e.name)}return null}async loadSpecFromDirectory(e,s){let n=r.join(e,"README.md");try{let e=await t.readFile(n,"utf-8"),{data:r,content:i}=(0,a.default)(e);if(!r||!r.status)return null;let o=s.match(/^(\d+)/),c=o?parseInt(o[1],10):null,l=`fs-${s}`,p=r.created_at??r.created,u=r.updated_at??r.updated,d=r.completed_at??r.completed,h=e=>{if(!e)return null;let t=new Date(e);return isNaN(t.getTime())?null:t};return{id:l,projectId:"leanspec",specNumber:c,specName:s,title:this.extractTitle(i),status:r.status||"planned",priority:r.priority||null,tags:r.tags?JSON.stringify(r.tags):null,assignee:r.assignee||null,contentMd:i,contentHtml:null,createdAt:h(p),updatedAt:h(u),completedAt:h(d),filePath:`specs/${s}/README.md`,githubUrl:`https://github.com/codervisor/lean-spec/tree/main/specs/${s}/README.md`,syncedAt:new Date}}catch{return null}}extractTitle(e){for(let t of e.split("\n")){let e=t.match(/^#\s+(.+)$/);if(e)return e[1].trim()}return null}}let i=null,o=new class{filesystemSource;databaseSource;mode;constructor(){if(this.mode=process.env.SPECS_MODE||"filesystem","filesystem"===this.mode||"both"===this.mode){const e=process.env.SPECS_DIR;this.filesystemSource=new n(e)}}async getDatabaseSource(){if(!this.databaseSource){if(!i){let{DatabaseSource:t}=await e.A(73103);i=t}this.databaseSource=new i}return this.databaseSource}async getAllSpecs(e){let t=await this.getSource(e);return await t.getAllSpecs(e)}async getSpec(e,t){let r=await this.getSource(t);return await r.getSpec(e,t)}async getSpecsByStatus(e,t){let r=await this.getSource(t);return await r.getSpecsByStatus(e,t)}async searchSpecs(e,t){let r=await this.getSource(t);return await r.searchSpecs(e,t)}async invalidateCache(e,t){(await this.getSource(t)).invalidateCache(e)}async getSource(e){if(e&&("database"===this.mode||"both"===this.mode))return await this.getDatabaseSource();if(this.filesystemSource)return this.filesystemSource;throw Error("No spec source configured")}};e.s(["specsService",0,o],35258)},88092,e=>{"use strict";var t=e.i(6169),r=e.i(25864),a=e.i(71648),s=e.i(30064),n=e.i(74222),i=e.i(2043),o=e.i(71408),c=e.i(26527),l=e.i(30592),p=e.i(34639),u=e.i(88935),d=e.i(68515),h=e.i(87166),m=e.i(76718),f=e.i(76529),g=e.i(51151),y=e.i(93695);e.i(59704);var x=e.i(8259),w=e.i(31511),S=e.i(45790);async function v(e,{params:t}){try{let{id:e}=await t,r=await (0,S.getSpecById)(e);if(!r)return w.NextResponse.json({error:"Spec not found"},{status:404});return w.NextResponse.json({spec:r},{headers:{"Cache-Control":"public, s-maxage=60, stale-while-revalidate=120"}})}catch(e){return console.error("Error fetching spec:",e),w.NextResponse.json({error:"Failed to fetch spec"},{status:500})}}e.s(["GET",()=>v],98012);var R=e.i(98012);let E=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/specs/[id]/route",pathname:"/api/specs/[id]",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/packages/web/src/app/api/specs/[id]/route.ts",nextConfigOutput:"standalone",userland:R}),{workAsyncStorage:b,workUnitAsyncStorage:A,serverHooks:C}=E;function N(){return(0,a.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:A})}async function _(e,t,a){E.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/specs/[id]/route";w=w.replace(/\/index$/,"")||"/";let S=await E.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!S)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:v,params:R,nextConfig:b,parsedUrl:A,isDraftMode:C,prerenderManifest:N,routerServerContext:_,isOnDemandRevalidate:D,revalidateOnlyGenerated:T,resolvedPathname:j,clientReferenceManifest:k,serverActionsManifest:P}=S,q=(0,c.normalizeAppPath)(w),M=!!(N.dynamicRoutes[q]||N.routes[j]),O=async()=>((null==_?void 0:_.render404)?await _.render404(e,t,A,!1):t.end("This page could not be found"),null);if(M&&!C){let e=!!N.routes[j],t=N.dynamicRoutes[q];if(t&&!1===t.fallback&&!e){if(b.experimental.adapterPath)return await O();throw new y.NoFallbackError}}let F=null;!M||E.isDev||C||(F="/index"===(F=j)?"/":F);let I=!0===E.isDev||!M,$=M&&!I;P&&k&&(0,i.setReferenceManifestsSingleton)({page:w,clientReferenceManifest:k,serverActionsManifest:P,serverModuleMap:(0,o.createServerModuleMap)({serverActionsManifest:P})});let U=e.method||"GET",H=(0,n.getTracer)(),B=H.getActiveScopeSpan(),L={params:R,prerenderManifest:N,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:I,incrementalCache:(0,s.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:b.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a)=>E.onRequestError(e,t,a,_)},sharedContext:{buildId:v}},K=new l.NodeNextRequest(e),G=new l.NodeNextResponse(t),W=p.NextRequestAdapter.fromNodeNextRequest(K,(0,p.signalFromNodeResponse)(t));try{let i=async e=>E.handle(W,L).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=H.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${U} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${U} ${w}`)}),o=!!(0,s.getRequestMeta)(e,"minimalMode"),c=async s=>{var n,c;let l=async({previousCacheEntry:r})=>{try{if(!o&&D&&T&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await i(s);e.fetchMetrics=L.renderOpts.fetchMetrics;let c=L.renderOpts.pendingWaitUntil;c&&a.waitUntil&&(a.waitUntil(c),c=void 0);let l=L.renderOpts.collectedTags;if(!M)return await (0,h.sendResponse)(K,G,n,L.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[g.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==L.renderOpts.collectedRevalidate&&!(L.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&L.renderOpts.collectedRevalidate,a=void 0===L.renderOpts.collectedExpire||L.renderOpts.collectedExpire>=g.INFINITE_CACHE?void 0:L.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await E.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:D})},_),t}},p=await E.handleResponse({req:e,nextConfig:b,cacheKey:F,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:N,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:T,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:o});if(!M)return null;if((null==p||null==(n=p.value)?void 0:n.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==p||null==(c=p.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",D?"REVALIDATED":p.isMiss?"MISS":p.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,m.fromNodeOutgoingHttpHeaders)(p.value.headers);return o&&M||u.delete(g.NEXT_CACHE_TAGS_HEADER),!p.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,f.getCacheControlHeader)(p.cacheControl)),await (0,h.sendResponse)(K,G,new Response(p.value.body,{headers:u,status:p.value.status||200})),null};B?await c(B):await H.withPropagatedContext(e.headers,()=>H.trace(u.BaseServerSpan.handleRequest,{spanName:`${U} ${w}`,kind:n.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},c))}catch(t){if(t instanceof y.NoFallbackError||await E.onRequestError(e,t,{routerKind:"App Router",routePath:q,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:D})}),M)throw t;return await (0,h.sendResponse)(K,G,new Response(null,{status:500})),null}}e.s(["handler",()=>_,"patchFetch",()=>N,"routeModule",()=>E,"serverHooks",()=>C,"workAsyncStorage",()=>b,"workUnitAsyncStorage",()=>A],88092)},73103,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__bda6ce94._.js","server/chunks/packages_web_src_lib_db_index_ts_6fe828c8._.js"].map(t=>e.l(t))).then(()=>t(28318)))}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=%5Broot-of-the-server%5D__577d6d08._.js.map
|
package/dist/standalone/packages/web/.next/server/chunks/[root-of-the-server]__e54bc4b8._.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[12714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},874,(e,t,r)=>{t.exports=e.x("buffer",()=>require("buffer"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},45790,e=>{"use strict";var t=e.i(35258),r=e.i(24119),a=e.i(14747),s=e.i(2157),n=e.i(92194);function i(e){return e?Array.isArray(e)?e.map(e=>String(e)):"string"==typeof e?[e]:[]:[]}async function o(e,o){let c=await t.specsService.getSpec(e,o);if(!c)return null;let l={...c,tags:c.tags?"string"==typeof c.tags?JSON.parse(c.tags):c.tags:null};if(!o){let e=(0,a.join)(process.cwd(),"../../specs",c.filePath.replace("/README.md","").replace("specs/","")),t=(0,r.detectSubSpecs)(e),o=function(e){try{let t=(0,a.join)(e,"README.md"),r=(0,s.readFileSync)(t,"utf-8"),{data:o}=(0,n.default)(r),c=i(o?.depends_on??o?.dependsOn),l=i(o?.related);return{dependsOn:c,related:l}}catch(e){return console.warn("Unable to parse spec relationships",e),{dependsOn:[],related:[]}}}(e);return{...l,subSpecs:t,relationships:o}}return l}async function c(e){let r=await t.specsService.getAllSpecs(e),a=new Map,s=new Map;for(let e of r)e.status&&a.set(e.status,(a.get(e.status)||0)+1),e.priority&&s.set(e.priority,(s.get(e.priority)||0)+1);let n=a.get("complete")||0,i=r.length>0?n/r.length*100:0;return{totalProjects:1,totalSpecs:r.length,specsByStatus:Array.from(a.entries()).map(([e,t])=>({status:e,count:t})),specsByPriority:Array.from(s.entries()).map(([e,t])=>({priority:e,count:t})),completionRate:Math.round(10*i)/10}}e.s(["getSpecById",()=>o,"getStats",()=>c])},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},24119,e=>{"use strict";var t=e.i(22734),r=e.i(14747),a=e.i(92194);let s=[{pattern:/design|ui|ux|mockup|wireframe|prototype/i,iconName:"Palette",color:"text-purple-600"},{pattern:/architecture|structure|system|diagram/i,iconName:"Map",color:"text-indigo-600"},{pattern:/implementation|code|develop|build/i,iconName:"Code",color:"text-green-600"},{pattern:/api|endpoint|integration|interface/i,iconName:"Code",color:"text-blue-600"},{pattern:/test|qa|quality|validation/i,iconName:"TestTube",color:"text-orange-600"},{pattern:/task|todo|checklist|milestone/i,iconName:"CheckSquare",color:"text-gray-600"},{pattern:/config|setup|settings|environment/i,iconName:"Wrench",color:"text-yellow-600"},{pattern:/deploy|devops|ci|cd|pipeline|release/i,iconName:"Wrench",color:"text-orange-600"},{pattern:/migration|upgrade|refactor|transition/i,iconName:"GitBranch",color:"text-cyan-600"},{pattern:/security|auth|permission|access|encryption/i,iconName:"CheckSquare",color:"text-red-600"},{pattern:/performance|optimization|speed|cache|benchmark/i,iconName:"TrendingUp",color:"text-green-600"},{pattern:/database|data|schema|model|query/i,iconName:"FileText",color:"text-blue-600"},{pattern:/doc|guide|manual|reference/i,iconName:"FileText",color:"text-gray-500"},{pattern:/github|git|vcs|version/i,iconName:"GitBranch",color:"text-pink-600"}],n={iconName:"FileText",color:"text-gray-600"};function i(e){let i=[];if(!(0,t.existsSync)(e))return i;try{for(let o of(0,t.readdirSync)(e)){if("README.md"===o||!o.endsWith(".md"))continue;let c=(0,r.join)(e,o);if((0,t.statSync)(c).isFile())try{let e=(0,t.readFileSync)(c,"utf-8"),{content:r}=(0,a.default)(e),l=function(e){let t=e.replace(/\.md$/i,"");for(let{pattern:e,iconName:r,color:a}of s)if(e.test(t))return{iconName:r,color:a};return n}(o);i.push({name:o.replace(/\.md$/i,"").split(/[-_]/).map(e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()).join(" "),file:o,iconName:l.iconName,color:l.color,content:r})}catch(e){console.error(`Error reading sub-spec ${o}:`,e)}}i.sort((e,t)=>e.file.localeCompare(t.file))}catch(t){console.error(`Error reading spec directory ${e}:`,t)}return i}e.s(["detectSubSpecs",()=>i])},35258,e=>{"use strict";var t=e.i(12714),r=e.i(50227),a=e.i(92194);let s=parseInt(process.env.CACHE_TTL||"60000",10);class n{cache=new Map;specsDir;constructor(e){this.specsDir=e||r.join(process.cwd(),"../../specs")}async getAllSpecs(){let e="__all_specs__",t=this.cache.get(e);if(t&&Date.now()<t.expiresAt)return t.data;let r=await this.loadSpecsFromFilesystem();return this.cache.set(e,{data:r,expiresAt:Date.now()+s}),r}async getSpec(e){let t=`spec:${e}`,r=this.cache.get(t);if(r&&Date.now()<r.expiresAt)return r.data;let a=parseInt(e.split("-")[0],10);if(isNaN(a))return null;let n=await this.loadSpecByNumber(a);return n&&this.cache.set(t,{data:n,expiresAt:Date.now()+s}),n}async getSpecsByStatus(e){return(await this.getAllSpecs()).filter(t=>t.status===e)}async searchSpecs(e){let t=await this.getAllSpecs(),r=e.toLowerCase();return t.filter(e=>e.specName.toLowerCase().includes(r)||e.title?.toLowerCase().includes(r)||e.contentMd.toLowerCase().includes(r))}invalidateCache(e){e?(this.cache.delete(`spec:${e}`),this.cache.delete("__all_specs__")):this.cache.clear()}async loadSpecsFromFilesystem(){let e=[];try{await t.access(this.specsDir)}catch{return[]}let a=/^(\d{2,})-/;for(let s of(await t.readdir(this.specsDir,{withFileTypes:!0})))if(s.isDirectory()&&"archived"!==s.name&&a.test(s.name)){let t=r.join(this.specsDir,s.name),a=await this.loadSpecFromDirectory(t,s.name);a&&e.push(a)}return e.sort((e,t)=>(e.specNumber||0)-(t.specNumber||0))}async loadSpecByNumber(e){try{await t.access(this.specsDir)}catch{return null}let a=await t.readdir(this.specsDir,{withFileTypes:!0}),s=RegExp(`^0*${e}-`);for(let e of a)if(e.isDirectory()&&s.test(e.name)){let t=r.join(this.specsDir,e.name);return await this.loadSpecFromDirectory(t,e.name)}return null}async loadSpecFromDirectory(e,s){let n=r.join(e,"README.md");try{let e=await t.readFile(n,"utf-8"),{data:r,content:i}=(0,a.default)(e);if(!r||!r.status)return null;let o=s.match(/^(\d+)/),c=o?parseInt(o[1],10):null,l=`fs-${s}`,p=r.created_at??r.created,u=r.updated_at??r.updated,d=r.completed_at??r.completed,h=e=>{if(!e)return null;let t=new Date(e);return isNaN(t.getTime())?null:t};return{id:l,projectId:"leanspec",specNumber:c,specName:s,title:this.extractTitle(i),status:r.status||"planned",priority:r.priority||null,tags:r.tags?JSON.stringify(r.tags):null,assignee:r.assignee||null,contentMd:i,contentHtml:null,createdAt:h(p),updatedAt:h(u),completedAt:h(d),filePath:`specs/${s}/README.md`,githubUrl:`https://github.com/codervisor/lean-spec/tree/main/specs/${s}/README.md`,syncedAt:new Date}}catch{return null}}extractTitle(e){for(let t of e.split("\n")){let e=t.match(/^#\s+(.+)$/);if(e)return e[1].trim()}return null}}let i=null,o=new class{filesystemSource;databaseSource;mode;constructor(){if(this.mode=process.env.SPECS_MODE||"filesystem","filesystem"===this.mode||"both"===this.mode){const e=process.env.SPECS_DIR;this.filesystemSource=new n(e)}}async getDatabaseSource(){if(!this.databaseSource){if(!i){let{DatabaseSource:t}=await e.A(73103);i=t}this.databaseSource=new i}return this.databaseSource}async getAllSpecs(e){let t=await this.getSource(e);return await t.getAllSpecs(e)}async getSpec(e,t){let r=await this.getSource(t);return await r.getSpec(e,t)}async getSpecsByStatus(e,t){let r=await this.getSource(t);return await r.getSpecsByStatus(e,t)}async searchSpecs(e,t){let r=await this.getSource(t);return await r.searchSpecs(e,t)}async invalidateCache(e,t){(await this.getSource(t)).invalidateCache(e)}async getSource(e){if(e&&("database"===this.mode||"both"===this.mode))return await this.getDatabaseSource();if(this.filesystemSource)return this.filesystemSource;throw Error("No spec source configured")}};e.s(["specsService",0,o],35258)},42623,e=>{"use strict";var t=e.i(6169),r=e.i(25864),a=e.i(71648),s=e.i(30064),n=e.i(74222),i=e.i(2043),o=e.i(71408),c=e.i(26527),l=e.i(30592),p=e.i(34639),u=e.i(88935),d=e.i(68515),h=e.i(87166),m=e.i(76718),f=e.i(76529),g=e.i(51151),y=e.i(93695);e.i(59704);var x=e.i(8259),w=e.i(31511),S=e.i(45790);async function v(){try{let e=await (0,S.getStats)();return w.NextResponse.json(e)}catch(e){return console.error("Error fetching stats:",e),w.NextResponse.json({error:"Failed to fetch stats"},{status:500})}}e.s(["GET",()=>v],16512);var R=e.i(16512);let E=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/stats/route",pathname:"/api/stats",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/packages/web/src/app/api/stats/route.ts",nextConfigOutput:"standalone",userland:R}),{workAsyncStorage:b,workUnitAsyncStorage:A,serverHooks:N}=E;function C(){return(0,a.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:A})}async function _(e,t,a){E.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/stats/route";w=w.replace(/\/index$/,"")||"/";let S=await E.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!S)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:v,params:R,nextConfig:b,parsedUrl:A,isDraftMode:N,prerenderManifest:C,routerServerContext:_,isOnDemandRevalidate:D,revalidateOnlyGenerated:T,resolvedPathname:k,clientReferenceManifest:j,serverActionsManifest:P}=S,q=(0,c.normalizeAppPath)(w),M=!!(C.dynamicRoutes[q]||C.routes[k]),O=async()=>((null==_?void 0:_.render404)?await _.render404(e,t,A,!1):t.end("This page could not be found"),null);if(M&&!N){let e=!!C.routes[k],t=C.dynamicRoutes[q];if(t&&!1===t.fallback&&!e){if(b.experimental.adapterPath)return await O();throw new y.NoFallbackError}}let F=null;!M||E.isDev||N||(F="/index"===(F=k)?"/":F);let I=!0===E.isDev||!M,U=M&&!I;P&&j&&(0,i.setReferenceManifestsSingleton)({page:w,clientReferenceManifest:j,serverActionsManifest:P,serverModuleMap:(0,o.createServerModuleMap)({serverActionsManifest:P})});let $=e.method||"GET",H=(0,n.getTracer)(),B=H.getActiveScopeSpan(),L={params:R,prerenderManifest:C,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:I,incrementalCache:(0,s.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:b.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a)=>E.onRequestError(e,t,a,_)},sharedContext:{buildId:v}},K=new l.NodeNextRequest(e),G=new l.NodeNextResponse(t),W=p.NextRequestAdapter.fromNodeNextRequest(K,(0,p.signalFromNodeResponse)(t));try{let i=async e=>E.handle(W,L).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=H.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${$} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${$} ${w}`)}),o=!!(0,s.getRequestMeta)(e,"minimalMode"),c=async s=>{var n,c;let l=async({previousCacheEntry:r})=>{try{if(!o&&D&&T&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await i(s);e.fetchMetrics=L.renderOpts.fetchMetrics;let c=L.renderOpts.pendingWaitUntil;c&&a.waitUntil&&(a.waitUntil(c),c=void 0);let l=L.renderOpts.collectedTags;if(!M)return await (0,h.sendResponse)(K,G,n,L.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[g.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==L.renderOpts.collectedRevalidate&&!(L.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&L.renderOpts.collectedRevalidate,a=void 0===L.renderOpts.collectedExpire||L.renderOpts.collectedExpire>=g.INFINITE_CACHE?void 0:L.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await E.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:D})},_),t}},p=await E.handleResponse({req:e,nextConfig:b,cacheKey:F,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:T,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:o});if(!M)return null;if((null==p||null==(n=p.value)?void 0:n.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==p||null==(c=p.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",D?"REVALIDATED":p.isMiss?"MISS":p.isStale?"STALE":"HIT"),N&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,m.fromNodeOutgoingHttpHeaders)(p.value.headers);return o&&M||u.delete(g.NEXT_CACHE_TAGS_HEADER),!p.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,f.getCacheControlHeader)(p.cacheControl)),await (0,h.sendResponse)(K,G,new Response(p.value.body,{headers:u,status:p.value.status||200})),null};B?await c(B):await H.withPropagatedContext(e.headers,()=>H.trace(u.BaseServerSpan.handleRequest,{spanName:`${$} ${w}`,kind:n.SpanKind.SERVER,attributes:{"http.method":$,"http.target":e.url}},c))}catch(t){if(t instanceof y.NoFallbackError||await E.onRequestError(e,t,{routerKind:"App Router",routePath:q,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:U,isOnDemandRevalidate:D})}),M)throw t;return await (0,h.sendResponse)(K,G,new Response(null,{status:500})),null}}e.s(["handler",()=>_,"patchFetch",()=>C,"routeModule",()=>E,"serverHooks",()=>N,"workAsyncStorage",()=>b,"workUnitAsyncStorage",()=>A],42623)},73103,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__bda6ce94._.js","server/chunks/packages_web_src_lib_db_index_ts_6fe828c8._.js"].map(t=>e.l(t))).then(()=>t(28318)))}];
|
|
1
|
+
module.exports=[12714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},874,(e,t,r)=>{t.exports=e.x("buffer",()=>require("buffer"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},45790,e=>{"use strict";var t=e.i(35258),r=e.i(24119),a=e.i(14747),s=e.i(2157),n=e.i(92194);let i=(0,a.resolve)(process.cwd(),"../../specs");function o(e){return e?Array.isArray(e)?e.map(e=>String(e)):"string"==typeof e?[e]:[]:[]}async function c(e,c){let l=await t.specsService.getSpec(e,c);if(!l)return null;let p={...l,tags:l.tags?"string"==typeof l.tags?JSON.parse(l.tags):l.tags:null};if(!c){let e,t,c=(e=l.filePath.replace(/^specs\//,"").replace(/\/README\.md$/,""),(0,a.join)((t=process.env.SPECS_DIR)?t.startsWith("/")?t:(0,a.resolve)(process.cwd(),t):i,e)),u=(0,r.detectSubSpecs)(c),d=function(e){try{let t=(0,a.join)(e,"README.md"),r=(0,s.readFileSync)(t,"utf-8"),{data:i}=(0,n.default)(r),c=o(i?.depends_on??i?.dependsOn),l=o(i?.related);return{dependsOn:c,related:l}}catch(e){return console.warn("Unable to parse spec relationships",e),{dependsOn:[],related:[]}}}(c);return{...p,subSpecs:u,relationships:d}}return p}async function l(e){let r=await t.specsService.getAllSpecs(e),a=new Map,s=new Map;for(let e of r)e.status&&a.set(e.status,(a.get(e.status)||0)+1),e.priority&&s.set(e.priority,(s.get(e.priority)||0)+1);let n=a.get("complete")||0,i=r.length>0?n/r.length*100:0;return{totalProjects:1,totalSpecs:r.length,specsByStatus:Array.from(a.entries()).map(([e,t])=>({status:e,count:t})),specsByPriority:Array.from(s.entries()).map(([e,t])=>({priority:e,count:t})),completionRate:Math.round(10*i)/10}}e.s(["getSpecById",()=>c,"getStats",()=>l])},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},24119,e=>{"use strict";var t=e.i(22734),r=e.i(14747),a=e.i(92194);let s=[{pattern:/design|ui|ux|mockup|wireframe|prototype/i,iconName:"Palette",color:"text-purple-600"},{pattern:/architecture|structure|system|diagram/i,iconName:"Map",color:"text-indigo-600"},{pattern:/implementation|code|develop|build/i,iconName:"Code",color:"text-green-600"},{pattern:/api|endpoint|integration|interface/i,iconName:"Code",color:"text-blue-600"},{pattern:/test|qa|quality|validation/i,iconName:"TestTube",color:"text-orange-600"},{pattern:/task|todo|checklist|milestone/i,iconName:"CheckSquare",color:"text-gray-600"},{pattern:/config|setup|settings|environment/i,iconName:"Wrench",color:"text-yellow-600"},{pattern:/deploy|devops|ci|cd|pipeline|release/i,iconName:"Wrench",color:"text-orange-600"},{pattern:/migration|upgrade|refactor|transition/i,iconName:"GitBranch",color:"text-cyan-600"},{pattern:/security|auth|permission|access|encryption/i,iconName:"CheckSquare",color:"text-red-600"},{pattern:/performance|optimization|speed|cache|benchmark/i,iconName:"TrendingUp",color:"text-green-600"},{pattern:/database|data|schema|model|query/i,iconName:"FileText",color:"text-blue-600"},{pattern:/doc|guide|manual|reference/i,iconName:"FileText",color:"text-gray-500"},{pattern:/github|git|vcs|version/i,iconName:"GitBranch",color:"text-pink-600"}],n={iconName:"FileText",color:"text-gray-600"};function i(e){let i=[];if(!(0,t.existsSync)(e))return i;try{for(let o of(0,t.readdirSync)(e)){if("README.md"===o||!o.endsWith(".md"))continue;let c=(0,r.join)(e,o);if((0,t.statSync)(c).isFile())try{let e=(0,t.readFileSync)(c,"utf-8"),{content:r}=(0,a.default)(e),l=function(e){let t=e.replace(/\.md$/i,"");for(let{pattern:e,iconName:r,color:a}of s)if(e.test(t))return{iconName:r,color:a};return n}(o);i.push({name:o.replace(/\.md$/i,"").split(/[-_]/).map(e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()).join(" "),file:o,iconName:l.iconName,color:l.color,content:r})}catch(e){console.error(`Error reading sub-spec ${o}:`,e)}}i.sort((e,t)=>e.file.localeCompare(t.file))}catch(t){console.error(`Error reading spec directory ${e}:`,t)}return i}e.s(["detectSubSpecs",()=>i])},35258,e=>{"use strict";var t=e.i(12714),r=e.i(50227),a=e.i(92194);let s=parseInt(process.env.CACHE_TTL||"60000",10);class n{cache=new Map;specsDir;constructor(e){this.specsDir=e||r.join(process.cwd(),"../../specs")}async getAllSpecs(){let e="__all_specs__",t=this.cache.get(e);if(t&&Date.now()<t.expiresAt)return t.data;let r=await this.loadSpecsFromFilesystem();return this.cache.set(e,{data:r,expiresAt:Date.now()+s}),r}async getSpec(e){let t=`spec:${e}`,r=this.cache.get(t);if(r&&Date.now()<r.expiresAt)return r.data;let a=parseInt(e.split("-")[0],10);if(isNaN(a))return null;let n=await this.loadSpecByNumber(a);return n&&this.cache.set(t,{data:n,expiresAt:Date.now()+s}),n}async getSpecsByStatus(e){return(await this.getAllSpecs()).filter(t=>t.status===e)}async searchSpecs(e){let t=await this.getAllSpecs(),r=e.toLowerCase();return t.filter(e=>e.specName.toLowerCase().includes(r)||e.title?.toLowerCase().includes(r)||e.contentMd.toLowerCase().includes(r))}invalidateCache(e){e?(this.cache.delete(`spec:${e}`),this.cache.delete("__all_specs__")):this.cache.clear()}async loadSpecsFromFilesystem(){let e=[];try{await t.access(this.specsDir)}catch{return[]}let a=/^(\d{2,})-/;for(let s of(await t.readdir(this.specsDir,{withFileTypes:!0})))if(s.isDirectory()&&"archived"!==s.name&&a.test(s.name)){let t=r.join(this.specsDir,s.name),a=await this.loadSpecFromDirectory(t,s.name);a&&e.push(a)}return e.sort((e,t)=>(e.specNumber||0)-(t.specNumber||0))}async loadSpecByNumber(e){try{await t.access(this.specsDir)}catch{return null}let a=await t.readdir(this.specsDir,{withFileTypes:!0}),s=RegExp(`^0*${e}-`);for(let e of a)if(e.isDirectory()&&s.test(e.name)){let t=r.join(this.specsDir,e.name);return await this.loadSpecFromDirectory(t,e.name)}return null}async loadSpecFromDirectory(e,s){let n=r.join(e,"README.md");try{let e=await t.readFile(n,"utf-8"),{data:r,content:i}=(0,a.default)(e);if(!r||!r.status)return null;let o=s.match(/^(\d+)/),c=o?parseInt(o[1],10):null,l=`fs-${s}`,p=r.created_at??r.created,u=r.updated_at??r.updated,d=r.completed_at??r.completed,h=e=>{if(!e)return null;let t=new Date(e);return isNaN(t.getTime())?null:t};return{id:l,projectId:"leanspec",specNumber:c,specName:s,title:this.extractTitle(i),status:r.status||"planned",priority:r.priority||null,tags:r.tags?JSON.stringify(r.tags):null,assignee:r.assignee||null,contentMd:i,contentHtml:null,createdAt:h(p),updatedAt:h(u),completedAt:h(d),filePath:`specs/${s}/README.md`,githubUrl:`https://github.com/codervisor/lean-spec/tree/main/specs/${s}/README.md`,syncedAt:new Date}}catch{return null}}extractTitle(e){for(let t of e.split("\n")){let e=t.match(/^#\s+(.+)$/);if(e)return e[1].trim()}return null}}let i=null,o=new class{filesystemSource;databaseSource;mode;constructor(){if(this.mode=process.env.SPECS_MODE||"filesystem","filesystem"===this.mode||"both"===this.mode){const e=process.env.SPECS_DIR;this.filesystemSource=new n(e)}}async getDatabaseSource(){if(!this.databaseSource){if(!i){let{DatabaseSource:t}=await e.A(73103);i=t}this.databaseSource=new i}return this.databaseSource}async getAllSpecs(e){let t=await this.getSource(e);return await t.getAllSpecs(e)}async getSpec(e,t){let r=await this.getSource(t);return await r.getSpec(e,t)}async getSpecsByStatus(e,t){let r=await this.getSource(t);return await r.getSpecsByStatus(e,t)}async searchSpecs(e,t){let r=await this.getSource(t);return await r.searchSpecs(e,t)}async invalidateCache(e,t){(await this.getSource(t)).invalidateCache(e)}async getSource(e){if(e&&("database"===this.mode||"both"===this.mode))return await this.getDatabaseSource();if(this.filesystemSource)return this.filesystemSource;throw Error("No spec source configured")}};e.s(["specsService",0,o],35258)},42623,e=>{"use strict";var t=e.i(6169),r=e.i(25864),a=e.i(71648),s=e.i(30064),n=e.i(74222),i=e.i(2043),o=e.i(71408),c=e.i(26527),l=e.i(30592),p=e.i(34639),u=e.i(88935),d=e.i(68515),h=e.i(87166),m=e.i(76718),f=e.i(76529),g=e.i(51151),y=e.i(93695);e.i(59704);var x=e.i(8259),w=e.i(31511),S=e.i(45790);async function v(){try{let e=await (0,S.getStats)();return w.NextResponse.json(e)}catch(e){return console.error("Error fetching stats:",e),w.NextResponse.json({error:"Failed to fetch stats"},{status:500})}}e.s(["GET",()=>v],16512);var R=e.i(16512);let E=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/stats/route",pathname:"/api/stats",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/packages/web/src/app/api/stats/route.ts",nextConfigOutput:"standalone",userland:R}),{workAsyncStorage:b,workUnitAsyncStorage:A,serverHooks:C}=E;function N(){return(0,a.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:A})}async function _(e,t,a){E.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/stats/route";w=w.replace(/\/index$/,"")||"/";let S=await E.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!S)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:v,params:R,nextConfig:b,parsedUrl:A,isDraftMode:C,prerenderManifest:N,routerServerContext:_,isOnDemandRevalidate:D,revalidateOnlyGenerated:T,resolvedPathname:k,clientReferenceManifest:P,serverActionsManifest:j}=S,q=(0,c.normalizeAppPath)(w),M=!!(N.dynamicRoutes[q]||N.routes[k]),O=async()=>((null==_?void 0:_.render404)?await _.render404(e,t,A,!1):t.end("This page could not be found"),null);if(M&&!C){let e=!!N.routes[k],t=N.dynamicRoutes[q];if(t&&!1===t.fallback&&!e){if(b.experimental.adapterPath)return await O();throw new y.NoFallbackError}}let F=null;!M||E.isDev||C||(F="/index"===(F=k)?"/":F);let I=!0===E.isDev||!M,$=M&&!I;j&&P&&(0,i.setReferenceManifestsSingleton)({page:w,clientReferenceManifest:P,serverActionsManifest:j,serverModuleMap:(0,o.createServerModuleMap)({serverActionsManifest:j})});let U=e.method||"GET",H=(0,n.getTracer)(),B=H.getActiveScopeSpan(),L={params:R,prerenderManifest:N,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:I,incrementalCache:(0,s.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:b.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a)=>E.onRequestError(e,t,a,_)},sharedContext:{buildId:v}},K=new l.NodeNextRequest(e),G=new l.NodeNextResponse(t),W=p.NextRequestAdapter.fromNodeNextRequest(K,(0,p.signalFromNodeResponse)(t));try{let i=async e=>E.handle(W,L).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=H.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${U} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t)}else e.updateName(`${U} ${w}`)}),o=!!(0,s.getRequestMeta)(e,"minimalMode"),c=async s=>{var n,c;let l=async({previousCacheEntry:r})=>{try{if(!o&&D&&T&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await i(s);e.fetchMetrics=L.renderOpts.fetchMetrics;let c=L.renderOpts.pendingWaitUntil;c&&a.waitUntil&&(a.waitUntil(c),c=void 0);let l=L.renderOpts.collectedTags;if(!M)return await (0,h.sendResponse)(K,G,n,L.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,m.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[g.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==L.renderOpts.collectedRevalidate&&!(L.renderOpts.collectedRevalidate>=g.INFINITE_CACHE)&&L.renderOpts.collectedRevalidate,a=void 0===L.renderOpts.collectedExpire||L.renderOpts.collectedExpire>=g.INFINITE_CACHE?void 0:L.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await E.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:D})},_),t}},p=await E.handleResponse({req:e,nextConfig:b,cacheKey:F,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:N,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:T,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:o});if(!M)return null;if((null==p||null==(n=p.value)?void 0:n.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==p||null==(c=p.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});o||t.setHeader("x-nextjs-cache",D?"REVALIDATED":p.isMiss?"MISS":p.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,m.fromNodeOutgoingHttpHeaders)(p.value.headers);return o&&M||u.delete(g.NEXT_CACHE_TAGS_HEADER),!p.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,f.getCacheControlHeader)(p.cacheControl)),await (0,h.sendResponse)(K,G,new Response(p.value.body,{headers:u,status:p.value.status||200})),null};B?await c(B):await H.withPropagatedContext(e.headers,()=>H.trace(u.BaseServerSpan.handleRequest,{spanName:`${U} ${w}`,kind:n.SpanKind.SERVER,attributes:{"http.method":U,"http.target":e.url}},c))}catch(t){if(t instanceof y.NoFallbackError||await E.onRequestError(e,t,{routerKind:"App Router",routePath:q,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:$,isOnDemandRevalidate:D})}),M)throw t;return await (0,h.sendResponse)(K,G,new Response(null,{status:500})),null}}e.s(["handler",()=>_,"patchFetch",()=>N,"routeModule",()=>E,"serverHooks",()=>C,"workAsyncStorage",()=>b,"workUnitAsyncStorage",()=>A],42623)},73103,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__bda6ce94._.js","server/chunks/packages_web_src_lib_db_index_ts_6fe828c8._.js"].map(t=>e.l(t))).then(()=>t(28318)))}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=%5Broot-of-the-server%5D__e54bc4b8._.js.map
|