@nivora/matrix 0.3.0 → 0.3.1
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/.next/BUILD_ID +1 -1
- package/.next/app-path-routes-manifest.json +6 -8
- package/.next/build-manifest.json +3 -3
- package/.next/prerender-manifest.json +3 -3
- package/.next/react-loadable-manifest.json +6 -6
- package/.next/routes-manifest.json +0 -12
- package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_global-error.html +2 -2
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +2 -2
- package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/matrix/page.js +1 -1
- package/.next/server/app/matrix/page.js.nft.json +1 -1
- package/.next/server/app/matrix/page_client-reference-manifest.js +1 -1
- package/.next/server/app/page.js +2 -2
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/releases/[id]/page.js +4 -4
- package/.next/server/app/releases/[id]/page.js.nft.json +1 -1
- package/.next/server/app/releases/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/releases/page.js +1 -1
- package/.next/server/app/releases/page.js.nft.json +1 -1
- package/.next/server/app/releases/page_client-reference-manifest.js +1 -1
- package/.next/server/app/specs/[id]/page.js +2 -2
- package/.next/server/app/specs/[id]/page.js.nft.json +1 -1
- package/.next/server/app/specs/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/traceability/fs/[id]/page.js +6 -9
- package/.next/server/app/traceability/fs/[id]/page.js.nft.json +1 -1
- package/.next/server/app/traceability/fs/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/traceability/fs/page.js +1 -1
- package/.next/server/app/traceability/fs/page.js.nft.json +1 -1
- package/.next/server/app/traceability/fs/page_client-reference-manifest.js +1 -1
- package/.next/server/app/traceability/page.js +1 -1
- package/.next/server/app/traceability/page.js.nft.json +1 -1
- package/.next/server/app/traceability/page_client-reference-manifest.js +1 -1
- package/.next/server/app/traceability/risk/[id]/page.js +2 -2
- package/.next/server/app/traceability/risk/[id]/page.js.nft.json +1 -1
- package/.next/server/app/traceability/risk/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/traceability/risk/page.js +1 -1
- package/.next/server/app/traceability/risk/page.js.nft.json +1 -1
- package/.next/server/app/traceability/risk/page_client-reference-manifest.js +1 -1
- package/.next/server/app/traceability/urs/[id]/page.js +2 -2
- package/.next/server/app/traceability/urs/[id]/page.js.nft.json +1 -1
- package/.next/server/app/traceability/urs/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/traceability/urs/page.js +1 -1
- package/.next/server/app/traceability/urs/page.js.nft.json +1 -1
- package/.next/server/app/traceability/urs/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +6 -8
- package/.next/server/chunks/380.js +34 -0
- package/.next/server/chunks/480.js +1 -0
- package/.next/server/chunks/515.js +1 -0
- package/.next/server/chunks/907.js +15 -2
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +2 -2
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/Kmw0LKGKnAjXW7PIRrRfi/_buildManifest.js +1 -0
- package/.next/static/chunks/495.b8b5ad2ed4920ce3.js +1 -0
- package/.next/static/chunks/app/page-b6683055d30b04b4.js +1 -0
- package/.next/static/chunks/app/releases/[id]/{page-4c326d62508877ef.js → page-306074ff56f91959.js} +1 -1
- package/.next/static/chunks/app/releases/page-315d42962b72aaa1.js +1 -0
- package/.next/static/chunks/app/specs/[id]/page-9767a7983dad5d28.js +1 -0
- package/.next/static/chunks/app/traceability/fs/[id]/page-03af8ffe39c7f083.js +7 -0
- package/.next/static/chunks/app/traceability/fs/page-b6683055d30b04b4.js +1 -0
- package/.next/static/chunks/app/traceability/risk/[id]/{page-76d6b1fd318e7d5e.js → page-1d7cf3c4b6e2369e.js} +1 -1
- package/.next/static/chunks/app/traceability/risk/page-b6683055d30b04b4.js +1 -0
- package/.next/static/chunks/app/traceability/urs/[id]/page-4c2957eb12c64231.js +1 -0
- package/.next/static/chunks/app/traceability/urs/page-b6683055d30b04b4.js +1 -0
- package/.next/static/chunks/{webpack-e1b658b93e085428.js → webpack-3f9c01744f340426.js} +1 -1
- package/README.md +5 -5
- package/bin/cli.js +50 -9
- package/package.json +1 -1
- package/.next/server/app/builder/page.js +0 -11
- package/.next/server/app/builder/page.js.nft.json +0 -1
- package/.next/server/app/builder/page_client-reference-manifest.js +0 -1
- package/.next/server/app/guide/page.js +0 -2
- package/.next/server/app/guide/page.js.nft.json +0 -1
- package/.next/server/app/guide/page_client-reference-manifest.js +0 -1
- package/.next/server/chunks/138.js +0 -1
- package/.next/server/chunks/829.js +0 -34
- package/.next/server/chunks/941.js +0 -14
- package/.next/static/_plXSl3JsnaL0Y8LiiDGM/_buildManifest.js +0 -1
- package/.next/static/chunks/411.1639aedf51af4bc4.js +0 -1
- package/.next/static/chunks/app/builder/page-98dfb8ccb235f9a8.js +0 -10
- package/.next/static/chunks/app/guide/page-f227601c12abd1f8.js +0 -1
- package/.next/static/chunks/app/page-f227601c12abd1f8.js +0 -1
- package/.next/static/chunks/app/releases/page-0060204f72b7307f.js +0 -1
- package/.next/static/chunks/app/specs/[id]/page-8bdf217e9957a247.js +0 -1
- package/.next/static/chunks/app/traceability/fs/[id]/page-c89eac470b12216d.js +0 -10
- package/.next/static/chunks/app/traceability/fs/page-f227601c12abd1f8.js +0 -1
- package/.next/static/chunks/app/traceability/risk/page-f227601c12abd1f8.js +0 -1
- package/.next/static/chunks/app/traceability/urs/[id]/page-ccb0c3574010d771.js +0 -1
- package/.next/static/chunks/app/traceability/urs/page-f227601c12abd1f8.js +0 -1
- /package/.next/static/{_plXSl3JsnaL0Y8LiiDGM → Kmw0LKGKnAjXW7PIRrRfi}/_ssgManifest.js +0 -0
package/bin/cli.js
CHANGED
|
@@ -2200,6 +2200,7 @@ var init_database = __esm(() => {
|
|
|
2200
2200
|
// src/lib/database/fs-repo.ts
|
|
2201
2201
|
var exports_fs_repo = {};
|
|
2202
2202
|
__export(exports_fs_repo, {
|
|
2203
|
+
updateFSURSLinks: () => updateFSURSLinks,
|
|
2203
2204
|
syncFS: () => syncFS,
|
|
2204
2205
|
loadFSMetadata: () => loadFSMetadata,
|
|
2205
2206
|
loadAllFSMetadata: () => loadAllFSMetadata,
|
|
@@ -2303,6 +2304,50 @@ function deleteFS(id) {
|
|
|
2303
2304
|
const result = db2.query("DELETE FROM fs WHERE id = ?").run(id);
|
|
2304
2305
|
return result.changes > 0;
|
|
2305
2306
|
}
|
|
2307
|
+
function updateFSURSLinks(fsId, ursIds) {
|
|
2308
|
+
const db2 = getDb();
|
|
2309
|
+
const { readFileSync: readFileSync4, writeFileSync } = __require("fs");
|
|
2310
|
+
const row = db2.query("SELECT file_path FROM fs WHERE id = ?").get(fsId);
|
|
2311
|
+
if (!row)
|
|
2312
|
+
return false;
|
|
2313
|
+
const filePath = row.file_path;
|
|
2314
|
+
db2.query("DELETE FROM fs_urs_link WHERE fs_id = ?").run(fsId);
|
|
2315
|
+
for (const ursId of ursIds) {
|
|
2316
|
+
db2.query("INSERT OR IGNORE INTO fs_urs_link (fs_id, urs_id) VALUES (?, ?)").run(fsId, ursId);
|
|
2317
|
+
}
|
|
2318
|
+
try {
|
|
2319
|
+
const content = readFileSync4(filePath, "utf-8");
|
|
2320
|
+
const lines = content.split(`
|
|
2321
|
+
`);
|
|
2322
|
+
const riskLinks = db2.query("SELECT risk_id FROM risk_fs_link WHERE fs_id = ?").all(fsId);
|
|
2323
|
+
const riskTags = riskLinks.map((r) => `@${r.risk_id}`);
|
|
2324
|
+
const ursTags = ursIds.map((id) => `@${id}`);
|
|
2325
|
+
const allTags = [...ursTags, ...riskTags].join(" ");
|
|
2326
|
+
let featureLineIndex = lines.findIndex((l) => l.trim().startsWith("Feature:"));
|
|
2327
|
+
if (featureLineIndex === -1)
|
|
2328
|
+
return false;
|
|
2329
|
+
let startIndex = 0;
|
|
2330
|
+
for (let i = 0;i < featureLineIndex; i++) {
|
|
2331
|
+
if (lines[i].trim().startsWith("@")) {
|
|
2332
|
+
startIndex = i + 1;
|
|
2333
|
+
} else if (lines[i].trim() === "") {
|
|
2334
|
+
continue;
|
|
2335
|
+
} else {
|
|
2336
|
+
break;
|
|
2337
|
+
}
|
|
2338
|
+
}
|
|
2339
|
+
const newLines = [
|
|
2340
|
+
allTags,
|
|
2341
|
+
...lines.slice(featureLineIndex)
|
|
2342
|
+
];
|
|
2343
|
+
writeFileSync(filePath, newLines.join(`
|
|
2344
|
+
`), "utf-8");
|
|
2345
|
+
return true;
|
|
2346
|
+
} catch (err) {
|
|
2347
|
+
console.error("Failed to update FS file:", err);
|
|
2348
|
+
return false;
|
|
2349
|
+
}
|
|
2350
|
+
}
|
|
2306
2351
|
var init_fs_repo = __esm(() => {
|
|
2307
2352
|
init_database();
|
|
2308
2353
|
});
|
|
@@ -2806,7 +2851,7 @@ function parseGherkinFS(content, filePath) {
|
|
|
2806
2851
|
const featureMatch = featureLine?.match(/Feature:\s*(.+)/);
|
|
2807
2852
|
const fullTitle = featureMatch?.[1] || basename(filePath);
|
|
2808
2853
|
const idMatch = fullTitle.match(/^(FS-\d+)/);
|
|
2809
|
-
const id = idMatch?.[1] || basename(filePath, ".
|
|
2854
|
+
const id = idMatch?.[1] || basename(filePath, ".feature").toUpperCase();
|
|
2810
2855
|
const featureIndex = lines.findIndex((l) => l.trim().startsWith("Feature:"));
|
|
2811
2856
|
let description = "";
|
|
2812
2857
|
const requirements = [];
|
|
@@ -3293,7 +3338,7 @@ async function syncCommand(config) {
|
|
|
3293
3338
|
closeDb2();
|
|
3294
3339
|
return;
|
|
3295
3340
|
}
|
|
3296
|
-
const fsFiles = readdirSync(fsDir).filter((f) => f.endsWith(".
|
|
3341
|
+
const fsFiles = readdirSync(fsDir).filter((f) => f.endsWith(".feature"));
|
|
3297
3342
|
console.log(`Syncing ${fsFiles.length} FS files...`);
|
|
3298
3343
|
const fsItems = [];
|
|
3299
3344
|
const referencedURS = new Set;
|
|
@@ -3372,10 +3417,6 @@ var EXAMPLE_FS = `@URS-001
|
|
|
3372
3417
|
Feature: FS-001 Example Feature
|
|
3373
3418
|
This is an example functional specification.
|
|
3374
3419
|
|
|
3375
|
-
Requirements:
|
|
3376
|
-
- FR-001.1: The system shall do something
|
|
3377
|
-
- FR-001.2: The system shall do something else
|
|
3378
|
-
|
|
3379
3420
|
Scenario: Example scenario
|
|
3380
3421
|
Given a precondition exists
|
|
3381
3422
|
When an action is performed
|
|
@@ -3396,16 +3437,16 @@ async function initCommand(config) {
|
|
|
3396
3437
|
}
|
|
3397
3438
|
}
|
|
3398
3439
|
const fsDir = join5(config.specsDir, "fs");
|
|
3399
|
-
const examplePath = join5(fsDir, "FS-001-example.
|
|
3440
|
+
const examplePath = join5(fsDir, "FS-001-example.feature");
|
|
3400
3441
|
if (!existsSync5(examplePath)) {
|
|
3401
3442
|
writeFileSync(examplePath, EXAMPLE_FS, "utf-8");
|
|
3402
|
-
console.log(` ✓ Created example FS: FS-001-example.
|
|
3443
|
+
console.log(` ✓ Created example FS: FS-001-example.feature`);
|
|
3403
3444
|
}
|
|
3404
3445
|
console.log("");
|
|
3405
3446
|
console.log("✅ Specs directory initialized!");
|
|
3406
3447
|
console.log("");
|
|
3407
3448
|
console.log("Next steps:");
|
|
3408
|
-
console.log(" 1. Edit specs/fs/*.
|
|
3449
|
+
console.log(" 1. Edit specs/fs/*.feature files");
|
|
3409
3450
|
console.log(" 2. Run `matrix sync` to index files");
|
|
3410
3451
|
console.log(" 3. Run `matrix serve` to start the UI");
|
|
3411
3452
|
}
|
package/package.json
CHANGED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
(()=>{var a={};a.id=462,a.ids=[462],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},1524:(a,b,c)=>{"use strict";c.r(b),c.d(b,{GlobalError:()=>C.a,__next_app__:()=>K,handler:()=>M,routeModule:()=>L});var d=c(7553),e=c(84006),f=c(67798),g=c(34775),h=c(99373),i=c(73461),j=c(1020),k=c(26349),l=c(54365),m=c(16023),n=c(63747),o=c(24235),p=c(23938),q=c(261),r=c(66758),s=c(77243),t=c(26713),u=c(37527),v=c(22820),w=c(88216),x=c(47929),y=c(79551),z=c(89125),A=c(86439),B=c(95547),C=c.n(B),D=c(61287),E=c(81494),F=c(70722),G=c(70753),H=c(43954),I={};for(let a in D)0>["default","GlobalError","__next_app__","routeModule","handler"].indexOf(a)&&(I[a]=()=>D[a]);c.d(b,I);let J={children:["",{children:["builder",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,20142)),"/Users/matthew/Code/github/p11o/machine/docs/src/app/builder/page.tsx"]}]},{metadata:{icon:[async a=>(await Promise.resolve().then(c.bind(c,70440))).default(a)],apple:[],openGraph:[],twitter:[],manifest:void 0}}]},{layout:[()=>Promise.resolve().then(c.bind(c,76537)),"/Users/matthew/Code/github/p11o/machine/docs/src/app/layout.tsx"],"global-error":[()=>Promise.resolve().then(c.t.bind(c,95547,23)),"next/dist/client/components/builtin/global-error.js"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,55091,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,45270,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,28193,23)),"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[async a=>(await Promise.resolve().then(c.bind(c,70440))).default(a)],apple:[],openGraph:[],twitter:[],manifest:void 0}}]}.children,K={require:c,loadChunk:()=>Promise.resolve()},L=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/builder/page",pathname:"/builder",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:J},distDir:".next",relativeProjectDir:""});async function M(a,b,d){var B;L.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let I=!!(0,h.getRequestMeta)(a,"minimalMode"),N="/builder/page";"/index"===N&&(N="/");let O=await L.prepare(a,b,{srcPage:N,multiZoneDraftMode:!1});if(!O)return b.statusCode=400,b.end("Bad Request"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let{buildId:P,query:Q,params:R,pageIsDynamic:S,buildManifest:T,nextFontManifest:U,reactLoadableManifest:V,serverActionsManifest:W,clientReferenceManifest:X,subresourceIntegrityManifest:Y,prerenderManifest:Z,isDraftMode:$,resolvedPathname:_,revalidateOnlyGenerated:aa,routerServerContext:ab,nextConfig:ac,parsedUrl:ad,interceptionRoutePatterns:ae,deploymentId:af}=O,ag=(0,q.normalizeAppPath)(N),{isOnDemandRevalidate:ah}=O,ai=ac.experimental.ppr&&!ac.cacheComponents&&(0,H.isInterceptionRouteAppPath)(_)?null:L.match(_,Z),aj=!!Z.routes[_],ak=a.headers["user-agent"]||"",al=(0,t.getBotType)(ak),am=(0,p.isHtmlBotRequest)(a),an=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[s.NEXT_ROUTER_PREFETCH_HEADER],ao=(0,h.getRequestMeta)(a,"isRSCRequest")??!!a.headers[s.RSC_HEADER],ap=(0,r.getIsPossibleServerAction)(a),aq=(0,m.checkIsAppPPREnabled)(ac.experimental.ppr);if(!(0,h.getRequestMeta)(a,"postponed")&&aq&&"1"===a.headers[x.NEXT_RESUME_HEADER]&&"POST"===a.method){let b=[];for await(let c of a)b.push(c);let c=Buffer.concat(b).toString("utf8");(0,h.addRequestMeta)(a,"postponed",c)}let ar=aq&&(null==(B=Z.routes[ag]??Z.dynamicRoutes[ag])?void 0:B.renderingMode)==="PARTIALLY_STATIC",as=!1,at=!1,au=ar?(0,h.getRequestMeta)(a,"postponed"):void 0,av=ar&&ao&&!an;I&&(av=av&&!!au);let aw=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),ax=(!am||!ar)&&(!ak||(0,p.shouldServeStreamingMetadata)(ak,ac.htmlLimitedBots)),ay=!!((ai||aj||Z.routes[ag])&&!(am&&ar)),az=ar&&!0===ac.cacheComponents,aA=!0===L.isDev||!ay||"string"==typeof au||(az&&(0,h.getRequestMeta)(a,"onCacheEntryV2")?av&&!I:av),aB=am&&ar,aC=null;$||!ay||aA||ap||au||av||(aC=_);let aD=aC;!aD&&L.isDev&&(aD=_),L.isDev||$||!ay||!ao||av||(0,k.d)(a.headers);let aE={...D,tree:J,GlobalError:C(),handler:M,routeModule:L,__next_app__:K};W&&X&&(0,o.setManifestsSingleton)({page:N,clientReferenceManifest:X,serverActionsManifest:W});let aF=a.method||"GET",aG=(0,g.getTracer)(),aH=aG.getActiveScopeSpan(),aI=async()=>((null==ab?void 0:ab.render404)?await ab.render404(a,b,ad,!1):b.end("This page could not be found"),null);try{let f=L.getVaryHeader(_,ae);b.setHeader("Vary",f);let k=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return L.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let a=aG.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let d=a.get("next.route");if(d){let a=`${aF} ${d}`;c.setAttributes({"next.route":d,"http.route":d,"next.span_name":a}),c.updateName(a)}else c.updateName(`${aF} ${N}`)})},m=(0,h.getRequestMeta)(a,"incrementalCache"),o=async({span:e,postponed:f,fallbackRouteParams:g,forceStaticRender:i})=>{let l={query:Q,params:R,page:ag,sharedContext:{buildId:P},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aE,Component:(0,j.T)(aE),params:R,routeModule:L,page:N,postponed:f,shouldWaitOnAllReady:aB,serveStreamingMetadata:ax,supportsDynamicResponse:"string"==typeof f||aA,buildManifest:T,nextFontManifest:U,reactLoadableManifest:V,subresourceIntegrityManifest:Y,setCacheStatus:null==ab?void 0:ab.setCacheStatus,setIsrStatus:null==ab?void 0:ab.setIsrStatus,setReactDebugChannel:null==ab?void 0:ab.setReactDebugChannel,sendErrorsToBrowser:null==ab?void 0:ab.sendErrorsToBrowser,dir:c(33873).join(process.cwd(),L.relativeProjectDir),isDraftMode:$,botType:al,isOnDemandRevalidate:ah,isPossibleServerAction:ap,assetPrefix:ac.assetPrefix,nextConfigOutput:ac.output,crossOrigin:ac.crossOrigin,trailingSlash:ac.trailingSlash,images:ac.images,previewProps:Z.preview,deploymentId:af,enableTainting:ac.experimental.taint,htmlLimitedBots:ac.htmlLimitedBots,reactMaxHeadersLength:ac.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:m,cacheLifeProfiles:ac.cacheLife,basePath:ac.basePath,serverActions:ac.experimental.serverActions,...as||at?{nextExport:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isDebugDynamicAccesses:as}:{},cacheComponents:!!ac.cacheComponents,experimental:{isRoutePPREnabled:ar,expireTime:ac.expireTime,staleTimes:ac.experimental.staleTimes,dynamicOnHover:!!ac.experimental.dynamicOnHover,inlineCss:!!ac.experimental.inlineCss,authInterrupts:!!ac.experimental.authInterrupts,clientTraceMetadata:ac.experimental.clientTraceMetadata||[],clientParamParsingOrigins:ac.experimental.clientParamParsingOrigins},waitUntil:d.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d,e)=>L.onRequestError(a,b,d,e,ab),err:(0,h.getRequestMeta)(a,"invokeError"),dev:L.isDev}};as&&(l.renderOpts.nextExport=!0,l.renderOpts.supportsDynamicResponse=!1,l.renderOpts.isDebugDynamicAccesses=as),i&&(l.renderOpts.supportsDynamicResponse=!1);let n=await k(e,l),{metadata:o}=n,{cacheControl:p,headers:q={},fetchTags:r,fetchMetrics:s}=o;if(r&&(q[x.NEXT_CACHE_TAGS_HEADER]=r),a.fetchMetrics=s,ay&&(null==p?void 0:p.revalidate)===0&&!L.isDev&&!ar){let a=o.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${_}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
|
|
2
|
-
see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:u.CachedRouteKind.APP_PAGE,html:n,headers:q,rscData:o.flightData,postponed:o.postponed,status:o.statusCode,segmentData:o.segmentData},cacheControl:p}},p=async({hasResolved:c,previousCacheEntry:f,isRevalidating:g,span:i,forceStaticRender:j=!1})=>{let k,l=!1===L.isDev,q=c||b.writableEnded;if(ah&&aa&&!f&&!I)return(null==ab?void 0:ab.render404)?await ab.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(ai&&(k=(0,v.parseFallbackField)(ai.fallback)),k===v.FallbackMode.PRERENDER&&(0,t.isBot)(ak)&&(!ar||am)&&(k=v.FallbackMode.BLOCKING_STATIC_RENDER),(null==f?void 0:f.isStale)===-1&&(ah=!0),ah&&(k!==v.FallbackMode.NOT_FOUND||f)&&(k=v.FallbackMode.BLOCKING_STATIC_RENDER),!I&&k!==v.FallbackMode.BLOCKING_STATIC_RENDER&&aD&&!q&&!$&&S&&(l||!aj)){if((l||ai)&&k===v.FallbackMode.NOT_FOUND){if(ac.experimental.adapterPath)return await aI();throw new A.NoFallbackError}if(ar&&(ac.cacheComponents?!av:!ao)){let b=l&&"string"==typeof(null==ai?void 0:ai.fallback)?ai.fallback:ag,c=l&&(null==ai?void 0:ai.fallbackRouteParams)?(0,n.createOpaqueFallbackRouteParams)(ai.fallbackRouteParams):at?(0,n.getFallbackRouteParams)(ag,L):null,f=await L.handleResponse({cacheKey:b,req:a,nextConfig:ac,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:Z,isRoutePPREnabled:ar,responseGenerator:async()=>o({span:i,postponed:void 0,fallbackRouteParams:c,forceStaticRender:!1}),waitUntil:d.waitUntil,isMinimalMode:I});if(null===f)return null;if(f)return delete f.cacheControl,f}}let r=ah||g||!au?void 0:au;if(az&&!I&&m&&av&&!j){let b=await m.get(_,{kind:u.IncrementalCacheKind.APP_PAGE,isRoutePPREnabled:!0,isFallback:!1});b&&b.value&&b.value.kind===u.CachedRouteKind.APP_PAGE&&(r=b.value.postponed,b&&(-1===b.isStale||!0===b.isStale)&&(0,G.scheduleOnNextTick)(async()=>{let b=L.getResponseCache(a);try{await b.revalidate(_,m,ar,!1,a=>p({...a,forceStaticRender:!0}),null,c,d.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}))}if(as&&void 0!==r)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:u.CachedRouteKind.PAGES,html:w.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let s=l&&(null==ai?void 0:ai.fallbackRouteParams)&&(0,h.getRequestMeta)(a,"renderFallbackShell")?(0,n.createOpaqueFallbackRouteParams)(ai.fallbackRouteParams):at?(0,n.getFallbackRouteParams)(ag,L):null;return o({span:i,postponed:r,fallbackRouteParams:s,forceStaticRender:j})},q=async c=>{var f,g,i,j,k;let l,m=await L.handleResponse({cacheKey:aC,responseGenerator:a=>p({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ah,isRoutePPREnabled:ar,req:a,nextConfig:ac,prerenderManifest:Z,waitUntil:d.waitUntil,isMinimalMode:I});if($&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),L.isDev&&b.setHeader("Cache-Control","no-store, must-revalidate"),!m){if(aC)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=m.value)?void 0:f.kind)!==u.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=m.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let n="string"==typeof m.value.postponed;ay&&!av&&(!n||an)&&(I||b.setHeader("x-nextjs-cache",ah?"REVALIDATED":m.isMiss?"MISS":m.isStale?"STALE":"HIT"),b.setHeader(s.NEXT_IS_PRERENDER_HEADER,"1"));let{value:q}=m;if(au)l={revalidate:0,expire:void 0};else if(av)l={revalidate:0,expire:void 0};else if(!L.isDev)if($)l={revalidate:0,expire:void 0};else if(ay){if(m.cacheControl)if("number"==typeof m.cacheControl.revalidate){if(m.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${m.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});l={revalidate:m.cacheControl.revalidate,expire:(null==(j=m.cacheControl)?void 0:j.expire)??ac.expireTime}}else l={revalidate:x.CACHE_ONE_YEAR,expire:void 0}}else b.getHeader("Cache-Control")||(l={revalidate:0,expire:void 0});if(m.cacheControl=l,"string"==typeof aw&&(null==q?void 0:q.kind)===u.CachedRouteKind.APP_PAGE&&q.segmentData){b.setHeader(s.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=q.headers)?void 0:k[x.NEXT_CACHE_TAGS_HEADER];I&&ay&&c&&"string"==typeof c&&b.setHeader(x.NEXT_CACHE_TAGS_HEADER,c);let d=q.segmentData.get(aw);return void 0!==d?(0,z.sendRenderResult)({req:a,res:b,generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:w.default.fromStatic(d,s.RSC_CONTENT_TYPE_HEADER),cacheControl:m.cacheControl}):(b.statusCode=204,(0,z.sendRenderResult)({req:a,res:b,generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:w.default.EMPTY,cacheControl:m.cacheControl}))}let r=az?(0,h.getRequestMeta)(a,"onCacheEntryV2")??(0,h.getRequestMeta)(a,"onCacheEntry"):(0,h.getRequestMeta)(a,"onCacheEntry");if(r&&await r(m,{url:(0,h.getRequestMeta)(a,"initURL")??a.url}))return null;if(q.headers){let a={...q.headers};for(let[c,d]of(I&&ay||delete a[x.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let t=null==(g=q.headers)?void 0:g[x.NEXT_CACHE_TAGS_HEADER];if(I&&ay&&t&&"string"==typeof t&&b.setHeader(x.NEXT_CACHE_TAGS_HEADER,t),!q.status||ao&&ar||(b.statusCode=q.status),!I&&q.status&&E.RedirectStatusCode[q.status]&&ao&&(b.statusCode=200),n&&!av&&b.setHeader(s.NEXT_DID_POSTPONE_HEADER,"1"),ao&&!$){if(void 0===q.rscData){if(q.html.contentType!==s.RSC_CONTENT_TYPE_HEADER)if(ac.cacheComponents)return b.statusCode=404,(0,z.sendRenderResult)({req:a,res:b,generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:w.default.EMPTY,cacheControl:m.cacheControl});else throw Object.defineProperty(new F.InvariantError(`Expected RSC response, got ${q.html.contentType}`),"__NEXT_ERROR_CODE",{value:"E789",enumerable:!1,configurable:!0});return(0,z.sendRenderResult)({req:a,res:b,generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:q.html,cacheControl:m.cacheControl})}return(0,z.sendRenderResult)({req:a,res:b,generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:w.default.fromStatic(q.rscData,s.RSC_CONTENT_TYPE_HEADER),cacheControl:m.cacheControl})}let v=q.html;if(!n||I||ao)return(0,z.sendRenderResult)({req:a,res:b,generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:v,cacheControl:m.cacheControl});if(as)return v.push(new ReadableStream({start(a){a.enqueue(y.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,z.sendRenderResult)({req:a,res:b,generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:v,cacheControl:{revalidate:0,expire:void 0}});let A=new TransformStream;return v.push(A.readable),o({span:c,postponed:q.postponed,fallbackRouteParams:null,forceStaticRender:!1}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==u.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(A.writable)}).catch(a=>{A.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,z.sendRenderResult)({req:a,res:b,generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:v,cacheControl:{revalidate:0,expire:void 0}})};if(!aH)return await aG.withPropagatedContext(a.headers,()=>aG.trace(i.BaseServerSpan.handleRequest,{spanName:`${aF} ${N}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aF,"http.target":a.url}},q));await q(aH)}catch(b){throw b instanceof A.NoFallbackError||await L.onRequestError(a,b,{routerKind:"App Router",routePath:N,routeType:"render",revalidateReason:(0,f.c)({isStaticGeneration:ay,isOnDemandRevalidate:ah})},!1,ab),b}}},1932:a=>{"use strict";a.exports=require("url")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},11756:(a,b,c)=>{"use strict";c.d(b,{h:()=>e});var d=c(99829);let e=(0,d.createServerReference)("608a1eb44cf3bfbc19631e51c68c49e2a723fe80b6",d.callServer,void 0,d.findSourceMapURL,"saveFS")},16845:(a,b,c)=>{"use strict";c.d(b,{BuilderTabs:()=>v});var d=c(48249),e=c(67484),f=c(58165),g=c(11756),h=c(88960);function i({ursItems:a,riskItems:b,existingFSCount:c,stepsByType:i}){let m,n,o,[p,q]=(0,e.useState)("FS-"+String(c+1).padStart(3,"0")),[r,s]=(0,e.useState)(""),[t,u]=(0,e.useState)(""),[v,w]=(0,e.useState)([""]),[x,y]=(0,e.useState)([]),[z,A]=(0,e.useState)([]),[B,C]=(0,e.useState)([{name:"",steps:[{type:"given",text:""},{type:"when",text:""},{type:"then",text:""}]}]),[D,E]=(0,e.useState)({type:"idle"}),[F,G]=(0,e.useTransition)(),[H,I]=(0,e.useState)(null),J=(m=[...x.map(a=>`@${a}`),...z.map(a=>`@${a}`)].join(" "),n=v.filter(a=>a.trim()).map(a=>` - ${a}`).join("\n"),o=B.filter(a=>a.name.trim()).map(a=>{let b=a.steps.filter(a=>a.text.trim()).map(a=>` ${l(a.type)} ${a.text}`).join("\n");return` Scenario: ${a.name}
|
|
3
|
-
${b}`}).join("\n\n"),`${m}
|
|
4
|
-
Feature: ${p} ${r}
|
|
5
|
-
${t}
|
|
6
|
-
|
|
7
|
-
Requirements:
|
|
8
|
-
${n}
|
|
9
|
-
|
|
10
|
-
${o}
|
|
11
|
-
`),K=()=>`${p}-${r.toLowerCase().replace(/\s+/g,"-")}.requirement`;return(0,d.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"1.5rem"},children:[(0,d.jsxs)("div",{className:"card",style:{maxWidth:"none"},children:[(0,d.jsx)(h.Mo,{icon:"⚙️",title:"Functional Specification",subtitle:"Create a Gherkin-based feature file"}),(0,d.jsx)(h.t3,{status:D}),(0,d.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"120px 1fr",gap:"1rem",marginBottom:"1.5rem"},children:[(0,d.jsx)(h.zB,{label:"FS ID",compact:!0,children:(0,d.jsx)("input",{type:"text",value:p,onChange:a=>q(a.target.value),onFocus:()=>I("fsId"),onBlur:()=>I(null),style:(0,h.wI)("fsId",H)})}),(0,d.jsx)(h.zB,{label:"Title",required:!0,compact:!0,children:(0,d.jsx)("input",{type:"text",value:r,onChange:a=>s(a.target.value),onFocus:()=>I("title"),onBlur:()=>I(null),placeholder:"e.g., User Login Authentication",style:(0,h.wI)("title",H)})})]}),(0,d.jsx)(h.zB,{label:"Description",hint:"Brief description of the feature",children:(0,d.jsx)("div",{contentEditable:!0,onInput:a=>u(a.currentTarget.textContent||""),onFocus:()=>I("description"),onBlur:()=>I(null),suppressContentEditableWarning:!0,style:{...(0,h.wI)("description",H),minHeight:"80px",whiteSpace:"pre-wrap"},"data-placeholder":"The system shall..."})}),(0,d.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"1rem",marginBottom:"1.5rem"},children:[(0,d.jsx)(h.zB,{label:"Link URS",compact:!0,children:(0,d.jsx)(f.j,{options:a.map(a=>({value:a.id,label:`${a.id} - ${a.title}`})),selected:x,onChange:y,placeholder:"Search URS...",multi:!0})}),(0,d.jsx)(h.zB,{label:"Link Risks",compact:!0,children:(0,d.jsx)(f.j,{options:b.map(a=>({value:a.id,label:`${a.id} - ${a.title}`})),selected:z,onChange:A,placeholder:"Search Risks...",multi:!0})})]}),(0,d.jsx)(h.zB,{label:"Requirements",hint:"Functional requirements",action:{label:"+ Add",onClick:()=>w([...v,""])},children:(0,d.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:"0.75rem"},children:v.map((a,b)=>(0,d.jsxs)("div",{style:{display:"flex",gap:"0.75rem",alignItems:"center"},children:[(0,d.jsxs)("span",{style:{color:"var(--warning)",fontWeight:600,fontSize:"0.875rem",minWidth:"60px"},children:["FR-",p.split("-")[1],".",b+1]}),(0,d.jsx)("input",{type:"text",value:a,onChange:a=>{var c;let d;return c=a.target.value,void((d=[...v])[b]=c,w(d))},onFocus:()=>I(`req-${b}`),onBlur:()=>I(null),placeholder:"Requirement description",style:{...(0,h.wI)(`req-${b}`,H),flex:1}}),v.length>1&&(0,d.jsx)(j,{onClick:()=>{v.length>1&&w(v.filter((a,c)=>c!==b))}})]},b))})}),(0,d.jsx)(h.zB,{label:"Test Scenarios",hint:"Gherkin scenarios",action:{label:"+ Scenario",onClick:()=>{C([...B,{name:"",steps:[{type:"given",text:""},{type:"when",text:""},{type:"then",text:""}]}])}},children:B.map((a,b)=>(0,d.jsx)(k,{scenario:a,index:b,stepsByType:i,focusedField:H,setFocusedField:I,onNameChange:a=>{let c;(c=[...B])[b].name=a,C(c)},onStepChange:(a,c)=>{let d;(d=[...B])[b].steps[a].text=c,C(d)},onAddStep:a=>{let c;(c=[...B])[b].steps.push({type:a,text:""}),C(c)},onRemoveStep:a=>{let c;(c=[...B])[b].steps=c[b].steps.filter((b,c)=>c!==a),C(c)},onRemove:()=>{B.length>1&&C(B.filter((a,c)=>c!==b))},canRemove:B.length>1},b))})]}),(0,d.jsxs)("div",{className:"card",style:{maxWidth:"none"},children:[(0,d.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"1.5rem",paddingBottom:"1rem",borderBottom:"1px solid var(--border)"},children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("h2",{style:{margin:0,fontSize:"1.125rem",fontWeight:600},children:"\uD83D\uDCC4 Preview"}),(0,d.jsx)("p",{style:{margin:"0.25rem 0 0",color:"var(--text-secondary)",fontSize:"0.8125rem"},children:K()})]}),(0,d.jsxs)("div",{style:{display:"flex",gap:"0.75rem"},children:[(0,d.jsx)("button",{onClick:()=>{let a=new Blob([J],{type:"text/plain"}),b=URL.createObjectURL(a),c=document.createElement("a");c.href=b,c.download=K(),c.click(),URL.revokeObjectURL(b)},style:{padding:"0.625rem 1rem",fontSize:"0.875rem",fontWeight:500,borderRadius:"8px",border:"1px solid var(--border)",background:"transparent",color:"var(--text-primary)",cursor:"pointer"},children:"⬇️ Download"}),(0,d.jsx)("button",{onClick:()=>{E({type:"idle"}),G(async()=>{let a=await (0,g.h)(K(),J);a.success?E({type:"success",message:`Saved as ${a.id}`}):E({type:"error",message:a.error})})},disabled:F||!r.trim(),style:{padding:"0.625rem 1.25rem",fontSize:"0.875rem",fontWeight:600,borderRadius:"8px",border:"none",cursor:F||!r.trim()?"not-allowed":"pointer",background:F||!r.trim()?"var(--bg-hover)":"linear-gradient(135deg, var(--gradient-start), var(--gradient-end))",color:F||!r.trim()?"var(--text-secondary)":"white",boxShadow:F||!r.trim()?"none":"0 4px 12px rgba(99, 102, 241, 0.25)"},children:F?"\uD83D\uDCBE Saving...":"\uD83D\uDCBE Save"})]})]}),(0,d.jsx)("pre",{style:{background:"var(--bg-secondary)",padding:"1.25rem",borderRadius:"10px",overflow:"auto",whiteSpace:"pre-wrap",fontFamily:"'JetBrains Mono', monospace",fontSize:"0.8125rem",lineHeight:1.7,maxHeight:"calc(100vh - 350px)",borderWidth:"1px",borderStyle:"solid",borderColor:"var(--border)"},children:J})]})]})}function j({onClick:a}){return(0,d.jsx)("button",{onClick:a,style:{padding:"0.5rem",background:"transparent",border:"1px solid var(--border)",borderRadius:"8px",color:"var(--text-secondary)",cursor:"pointer",transition:"all 0.2s",lineHeight:1},title:"Remove",children:"✕"})}function k({scenario:a,index:b,stepsByType:c,focusedField:e,setFocusedField:g,onNameChange:i,onStepChange:k,onAddStep:m,onRemoveStep:n,onRemove:o,canRemove:p}){return(0,d.jsxs)("div",{style:{marginBottom:"1rem",padding:"1.25rem",background:"var(--bg-secondary)",borderRadius:"10px",borderWidth:"1px",borderStyle:"solid",borderColor:"var(--border)"},children:[(0,d.jsxs)("div",{style:{display:"flex",gap:"0.75rem",marginBottom:"1rem",alignItems:"center"},children:[(0,d.jsxs)("span",{style:{color:"var(--accent)",fontWeight:600,fontSize:"0.875rem"},children:["Scenario ",b+1]}),(0,d.jsx)("input",{type:"text",value:a.name,onChange:a=>i(a.target.value),onFocus:()=>g(`scenario-${b}`),onBlur:()=>g(null),placeholder:"Scenario name (e.g., Successful login)",style:{...(0,h.wI)(`scenario-${b}`,e),flex:1,fontWeight:500}}),p&&(0,d.jsx)(j,{onClick:o})]}),a.steps.map((a,b)=>(0,d.jsxs)("div",{style:{display:"flex",gap:"0.75rem",marginBottom:"0.75rem",alignItems:"center"},children:[(0,d.jsx)("span",{style:{minWidth:"55px",fontSize:"0.75rem",fontWeight:600,color:{given:"#a78bfa",when:"#60a5fa",then:"#34d399",and:"#94a3b8",but:"#f472b6"}[a.type]||"var(--text-secondary)",textTransform:"capitalize"},children:a.type}),(0,d.jsx)(f.j,{options:c[a.type].map(a=>({value:a.replace(/^(Given|When|Then|And|But)\s+/,""),label:a})),selected:a.text?[a.text]:[],onChange:a=>k(b,a[0]||""),placeholder:`Select or type ${a.type} step...`,multi:!1,allowCustom:!1}),(0,d.jsx)(j,{onClick:()=>n(b)})]},b)),(0,d.jsx)("div",{style:{display:"flex",gap:"0.5rem",marginTop:"1rem"},children:["and","but"].map(a=>(0,d.jsxs)("button",{onClick:()=>m(a),style:{padding:"0.375rem 0.75rem",fontSize:"0.8125rem",fontWeight:500,background:"transparent",border:"1px solid var(--border)",borderRadius:"6px",color:"var(--text-secondary)",cursor:"pointer"},children:["+ ",l(a)]},a))})]})}function l(a){return a.charAt(0).toUpperCase()+a.slice(1)}var m=c(92683);let n={width:"100%",padding:"0.875rem 1rem",fontSize:"0.9375rem",lineHeight:"1.5",color:"var(--text-primary)",background:"var(--bg-secondary)",borderWidth:"1px",borderStyle:"solid",borderColor:"var(--border)",borderRadius:"10px",outline:"none",transition:"all 0.2s ease"},o={borderColor:"var(--accent)",boxShadow:"0 0 0 3px rgba(99, 102, 241, 0.15)"},p={...n,cursor:"pointer",appearance:"none",backgroundImage:"url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%238888a0' d='M6 8L1 3h10z'/%3E%3C/svg%3E\")",backgroundRepeat:"no-repeat",backgroundPosition:"right 1rem center",paddingRight:"2.5rem"},q={...n,resize:"vertical",minHeight:"120px",fontFamily:"inherit"};function r({existingCount:a}){let[b,c]=(0,e.useState)(""),[f,g]=(0,e.useState)("draft"),[h,i]=(0,e.useState)("high"),[j,k]=(0,e.useState)(""),[l,r]=(0,e.useState)(""),[t,u]=(0,e.useState)(""),[v,w]=(0,e.useState)(""),[x,y]=(0,e.useState)([""]),[z,A]=(0,e.useState)(["GAMP 5"]),[B,C]=(0,e.useState)(null),[D,E]=(0,e.useState)({type:"idle"}),[F,G]=(0,e.useTransition)(),H=a=>({...n,...B===a?o:{}}),I=a=>({...p,...B===a?o:{}}),J=a=>({...q,...B===a?o:{}});return(0,d.jsxs)("div",{className:"card",style:{maxWidth:"900px"},children:[(0,d.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"2rem",paddingBottom:"1.5rem",borderBottom:"1px solid var(--border)"},children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("h2",{style:{margin:0,fontSize:"1.25rem",fontWeight:600},children:"\uD83D\uDCCB New User Requirement"}),(0,d.jsx)("p",{style:{margin:"0.25rem 0 0",color:"var(--text-secondary)",fontSize:"0.875rem"},children:"Create a new URS document"})]}),(0,d.jsx)("button",{onClick:()=>{E({type:"idle"}),G(async()=>{let a=await (0,m.G)({title:b,status:f,priority:h,owner:j,category:l,business_need:t,intended_use:v,acceptance_criteria:x.filter(a=>a.trim()),regulatory_refs:z.filter(a=>a.trim())});a.success?(E({type:"success",message:`Created ${a.id}`}),c(""),u(""),w(""),y([""])):E({type:"error",message:a.error})})},disabled:F||!b.trim()||!j.trim(),style:{padding:"0.75rem 1.5rem",fontSize:"0.9375rem",fontWeight:600,borderRadius:"10px",border:"none",cursor:!F&&b.trim()&&j.trim()?"pointer":"not-allowed",background:!F&&b.trim()&&j.trim()?"linear-gradient(135deg, var(--gradient-start), var(--gradient-end))":"var(--bg-hover)",color:!F&&b.trim()&&j.trim()?"white":"var(--text-secondary)",transition:"all 0.2s ease",boxShadow:!F&&b.trim()&&j.trim()?"0 4px 12px rgba(99, 102, 241, 0.25)":"none"},children:F?"\uD83D\uDCBE Saving...":"\uD83D\uDCBE Save URS"})]}),"idle"!==D.type&&(0,d.jsxs)("div",{style:{marginBottom:"1.5rem",padding:"1rem 1.25rem",borderRadius:"10px",background:"success"===D.type?"rgba(16, 185, 129, 0.1)":"rgba(239, 68, 68, 0.1)",color:"success"===D.type?"var(--success)":"var(--error)",fontSize:"0.9375rem",display:"flex",alignItems:"center",gap:"0.5rem",border:`1px solid ${"success"===D.type?"rgba(16, 185, 129, 0.2)":"rgba(239, 68, 68, 0.2)"}`},children:["success"===D.type?"✅":"❌"," ",D.message]}),(0,d.jsx)(s,{label:"Title",required:!0,children:(0,d.jsx)("input",{type:"text",value:b,onChange:a=>c(a.target.value),onFocus:()=>C("title"),onBlur:()=>C(null),placeholder:"e.g., User Authentication Requirements",style:H("title")})}),(0,d.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"repeat(4, 1fr)",gap:"1rem",marginBottom:"1.5rem"},children:[(0,d.jsx)(s,{label:"Status",compact:!0,children:(0,d.jsxs)("select",{value:f,onChange:a=>g(a.target.value),onFocus:()=>C("status"),onBlur:()=>C(null),style:I("status"),children:[(0,d.jsx)("option",{value:"draft",children:"\uD83D\uDCDD Draft"}),(0,d.jsx)("option",{value:"review",children:"\uD83D\uDC40 Review"}),(0,d.jsx)("option",{value:"approved",children:"✅ Approved"})]})}),(0,d.jsx)(s,{label:"Priority",compact:!0,children:(0,d.jsxs)("select",{value:h,onChange:a=>i(a.target.value),onFocus:()=>C("priority"),onBlur:()=>C(null),style:I("priority"),children:[(0,d.jsx)("option",{value:"critical",children:"\uD83D\uDD34 Critical"}),(0,d.jsx)("option",{value:"high",children:"\uD83D\uDFE0 High"}),(0,d.jsx)("option",{value:"medium",children:"\uD83D\uDFE1 Medium"}),(0,d.jsx)("option",{value:"low",children:"\uD83D\uDFE2 Low"})]})}),(0,d.jsx)(s,{label:"Category",compact:!0,children:(0,d.jsx)("input",{type:"text",value:l,onChange:a=>r(a.target.value),onFocus:()=>C("category"),onBlur:()=>C(null),placeholder:"e.g., Security",style:H("category")})}),(0,d.jsx)(s,{label:"Owner",required:!0,compact:!0,children:(0,d.jsx)("input",{type:"text",value:j,onChange:a=>k(a.target.value),onFocus:()=>C("owner"),onBlur:()=>C(null),placeholder:"e.g., Product Team",style:H("owner")})})]}),(0,d.jsx)(s,{label:"Business Need",hint:"Describe why this requirement exists",children:(0,d.jsx)("div",{contentEditable:!0,onInput:a=>u(a.currentTarget.textContent||""),onFocus:()=>C("businessNeed"),onBlur:()=>C(null),suppressContentEditableWarning:!0,style:{...J("businessNeed"),minHeight:"140px",whiteSpace:"pre-wrap"},"data-placeholder":"Describe the business problem this requirement addresses..."})}),(0,d.jsx)(s,{label:"Intended Use",hint:"Describe how this will be used",children:(0,d.jsx)("div",{contentEditable:!0,onInput:a=>w(a.currentTarget.textContent||""),onFocus:()=>C("intendedUse"),onBlur:()=>C(null),suppressContentEditableWarning:!0,style:{...J("intendedUse"),minHeight:"100px",whiteSpace:"pre-wrap"},"data-placeholder":"Describe the intended usage patterns and user workflows..."})}),(0,d.jsx)(s,{label:"Acceptance Criteria",hint:"Define measurable conditions for success",action:{label:"+ Add Criterion",onClick:()=>y([...x,""])},children:(0,d.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:"0.75rem"},children:x.map((a,b)=>(0,d.jsxs)("div",{style:{display:"flex",gap:"0.75rem",alignItems:"center"},children:[(0,d.jsxs)("span",{style:{color:"var(--accent)",fontWeight:600,fontSize:"0.875rem",minWidth:"24px"},children:[b+1,"."]}),(0,d.jsx)("input",{type:"text",value:a,onChange:a=>{var c;let d;return c=a.target.value,void((d=[...x])[b]=c,y(d))},onFocus:()=>C(`criterion-${b}`),onBlur:()=>C(null),placeholder:`Criterion ${b+1}: e.g., System shall respond within 2 seconds`,style:{...H(`criterion-${b}`),flex:1}}),x.length>1&&(0,d.jsx)("button",{onClick:()=>{x.length>1&&y(x.filter((a,c)=>c!==b))},style:{padding:"0.5rem",background:"transparent",border:"1px solid var(--border)",borderRadius:"8px",color:"var(--text-secondary)",cursor:"pointer",transition:"all 0.2s"},title:"Remove criterion",children:"✕"})]},b))})})]})}function s({label:a,children:b,required:c,compact:e,hint:f,action:g}){return(0,d.jsxs)("div",{style:{marginBottom:e?"0":"1.5rem"},children:[(0,d.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"0.5rem"},children:[(0,d.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"0.5rem"},children:[(0,d.jsx)("label",{style:{fontWeight:500,fontSize:"0.875rem",color:"var(--text-primary)"},children:a}),c&&(0,d.jsx)("span",{style:{color:"var(--accent)",fontSize:"0.75rem"},children:"Required"}),f&&(0,d.jsxs)("span",{style:{color:"var(--text-secondary)",fontSize:"0.8125rem",fontWeight:400},children:["— ",f]})]}),g&&(0,d.jsx)("button",{onClick:g.onClick,style:{padding:"0.375rem 0.75rem",fontSize:"0.8125rem",fontWeight:500,background:"transparent",border:"1px solid var(--accent)",borderRadius:"6px",color:"var(--accent)",cursor:"pointer",transition:"all 0.2s"},children:g.label})]}),b]})}var t=c(80637);function u({fsItems:a,existingCount:b}){let[c,g]=(0,e.useState)(""),[i,j]=(0,e.useState)("draft"),[k,l]=(0,e.useState)(""),[m,n]=(0,e.useState)(4),[o,p]=(0,e.useState)("medium"),[q,r]=(0,e.useState)("medium"),[s,u]=(0,e.useState)("medium"),[v,w]=(0,e.useState)("acceptable"),[x,y]=(0,e.useState)([]),[z,A]=(0,e.useState)([{id:"R-001.1",description:"",impact:"medium",probability:"medium"}]),[B,C]=(0,e.useState)([{risk_id:"R-001.1",control:"",test:""}]),[D,E]=(0,e.useState)(null),[F,G]=(0,e.useState)({type:"idle"}),[H,I]=(0,e.useTransition)(),J=(a,b,c)=>{let d=[...z];d[a]={...d[a],[b]:c},A(d)},K=(a,b,c)=>{let d=[...B];d[a]={...d[a],[b]:c},C(d)};return(0,d.jsxs)("div",{className:"card",style:{maxWidth:"900px"},children:[(0,d.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"flex-start",marginBottom:"2rem",paddingBottom:"1.5rem",borderBottom:"1px solid var(--border)"},children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("h2",{style:{margin:0,fontSize:"1.25rem",fontWeight:600},children:"⚠️ Risk Assessment"}),(0,d.jsx)("p",{style:{margin:"0.25rem 0 0",color:"var(--text-secondary)",fontSize:"0.875rem"},children:"Create a new risk assessment document"})]}),(0,d.jsx)(h.yY,{onClick:()=>{G({type:"idle"}),I(async()=>{let a=await (0,t.D)({title:c,status:i,category:k,gamp_category:m,fs_ids:x,impact:o,probability:q,risk_level:s,risks:z.filter(a=>a.description.trim()).map(a=>({id:a.id,description:a.description,impact:a.impact,probability:a.probability})),mitigations:B.filter(a=>a.control.trim()).map(a=>({risk_id:a.risk_id,control:a.control,test:a.test})),residual_risk:v});a.success?(G({type:"success",message:`Created ${a.id}`}),g(""),l(""),A([{id:"R-001.1",description:"",impact:"medium",probability:"medium"}]),C([{risk_id:"R-001.1",control:"",test:""}])):G({type:"error",message:a.error})})},disabled:H||!c.trim()||0===x.length,isPending:H,label:"Save Risk"})]}),(0,d.jsx)(h.t3,{status:F}),(0,d.jsx)(h.zB,{label:"Title",required:!0,children:(0,d.jsx)("input",{type:"text",value:c,onChange:a=>g(a.target.value),onFocus:()=>E("title"),onBlur:()=>E(null),placeholder:"e.g., Authentication Security Risk",style:(0,h.wI)("title",D)})}),(0,d.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"1rem",marginBottom:"1.5rem"},children:[(0,d.jsx)(h.zB,{label:"Category",compact:!0,children:(0,d.jsx)("input",{type:"text",value:k,onChange:a=>l(a.target.value),onFocus:()=>E("category"),onBlur:()=>E(null),placeholder:"e.g., Security, Data Integrity",style:(0,h.wI)("category",D)})}),(0,d.jsx)(h.zB,{label:"Link FS",required:!0,compact:!0,children:(0,d.jsx)(f.j,{options:a.map(a=>({value:a.id,label:`${a.id} - ${a.title}`})),selected:x,onChange:y,placeholder:"Search FS...",multi:!0})})]}),(0,d.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"repeat(4, 1fr)",gap:"1rem",marginBottom:"1.5rem"},children:[(0,d.jsx)(h.zB,{label:"Impact",compact:!0,children:(0,d.jsxs)("select",{value:o,onChange:a=>p(a.target.value),onFocus:()=>E("impact"),onBlur:()=>E(null),style:(0,h.mQ)("impact",D),children:[(0,d.jsx)("option",{value:"low",children:"\uD83D\uDFE2 Low"}),(0,d.jsx)("option",{value:"medium",children:"\uD83D\uDFE1 Medium"}),(0,d.jsx)("option",{value:"high",children:"\uD83D\uDFE0 High"}),(0,d.jsx)("option",{value:"critical",children:"\uD83D\uDD34 Critical"})]})}),(0,d.jsx)(h.zB,{label:"Probability",compact:!0,children:(0,d.jsxs)("select",{value:q,onChange:a=>r(a.target.value),onFocus:()=>E("probability"),onBlur:()=>E(null),style:(0,h.mQ)("probability",D),children:[(0,d.jsx)("option",{value:"low",children:"\uD83D\uDFE2 Low"}),(0,d.jsx)("option",{value:"medium",children:"\uD83D\uDFE1 Medium"}),(0,d.jsx)("option",{value:"high",children:"\uD83D\uDD34 High"})]})}),(0,d.jsx)(h.zB,{label:"Risk Level",compact:!0,children:(0,d.jsxs)("select",{value:s,onChange:a=>u(a.target.value),onFocus:()=>E("riskLevel"),onBlur:()=>E(null),style:(0,h.mQ)("riskLevel",D),children:[(0,d.jsx)("option",{value:"low",children:"\uD83D\uDFE2 Low"}),(0,d.jsx)("option",{value:"medium",children:"\uD83D\uDFE1 Medium"}),(0,d.jsx)("option",{value:"high",children:"\uD83D\uDFE0 High"}),(0,d.jsx)("option",{value:"critical",children:"\uD83D\uDD34 Critical"})]})}),(0,d.jsx)(h.zB,{label:"Residual Risk",compact:!0,children:(0,d.jsxs)("select",{value:v,onChange:a=>w(a.target.value),onFocus:()=>E("residualRisk"),onBlur:()=>E(null),style:(0,h.mQ)("residualRisk",D),children:[(0,d.jsx)("option",{value:"acceptable",children:"✅ Acceptable"}),(0,d.jsx)("option",{value:"unacceptable",children:"❌ Unacceptable"}),(0,d.jsx)("option",{value:"pending",children:"⏳ Pending"})]})})]}),(0,d.jsx)(h.zB,{label:"Identified Risks",hint:"List specific risks",action:{label:"+ Add Risk",onClick:()=>A([...z,{id:`R-001.${z.length+1}`,description:"",impact:"medium",probability:"medium"}])},children:(0,d.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:"0.75rem"},children:z.map((a,b)=>(0,d.jsxs)("div",{style:{display:"flex",gap:"0.75rem",alignItems:"center"},children:[(0,d.jsx)("input",{type:"text",value:a.id,onChange:a=>J(b,"id",a.target.value),onFocus:()=>E(`risk-id-${b}`),onBlur:()=>E(null),placeholder:"R-001.1",style:{...(0,h.wI)(`risk-id-${b}`,D),width:"100px",flexShrink:0}}),(0,d.jsx)("input",{type:"text",value:a.description,onChange:a=>J(b,"description",a.target.value),onFocus:()=>E(`risk-desc-${b}`),onBlur:()=>E(null),placeholder:"Risk description",style:{...(0,h.wI)(`risk-desc-${b}`,D),flex:1}}),z.length>1&&(0,d.jsx)(h.d0,{onClick:()=>{z.length>1&&A(z.filter((a,c)=>c!==b))}})]},b))})}),(0,d.jsx)(h.zB,{label:"Mitigations",hint:"Control measures and testing",action:{label:"+ Add Mitigation",onClick:()=>C([...B,{risk_id:"",control:"",test:""}])},children:(0,d.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:"0.75rem"},children:B.map((a,b)=>(0,d.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"100px 1fr 1fr auto",gap:"0.75rem",alignItems:"center",padding:"1rem",background:"var(--bg-secondary)",borderRadius:"10px",borderWidth:"1px",borderStyle:"solid",borderColor:"var(--border)"},children:[(0,d.jsx)("input",{type:"text",value:a.risk_id,onChange:a=>K(b,"risk_id",a.target.value),onFocus:()=>E(`mit-id-${b}`),onBlur:()=>E(null),placeholder:"R-ID",style:(0,h.wI)(`mit-id-${b}`,D)}),(0,d.jsx)("input",{type:"text",value:a.control,onChange:a=>K(b,"control",a.target.value),onFocus:()=>E(`mit-control-${b}`),onBlur:()=>E(null),placeholder:"Control measure",style:(0,h.wI)(`mit-control-${b}`,D)}),(0,d.jsx)("input",{type:"text",value:a.test,onChange:a=>K(b,"test",a.target.value),onFocus:()=>E(`mit-test-${b}`),onBlur:()=>E(null),placeholder:"How to test",style:(0,h.wI)(`mit-test-${b}`,D)}),B.length>1&&(0,d.jsx)(h.d0,{onClick:()=>{B.length>1&&C(B.filter((a,c)=>c!==b))}})]},b))})})]})}function v({ursItems:a,riskItems:b,fsItems:c,counts:f,stepsByType:g,initialTab:h="fs"}){let[j,k]=(0,e.useState)(h);return(0,d.jsxs)("div",{children:[(0,d.jsx)("div",{style:{display:"flex",gap:"0.5rem",marginBottom:"1.5rem"},children:[{id:"urs",label:"URS",icon:"\uD83D\uDCCB",color:"var(--success)"},{id:"fs",label:"FS",icon:"⚙️",color:"var(--warning)"},{id:"risk",label:"Risk",icon:"⚠️",color:"#f97316"}].map(a=>(0,d.jsxs)("button",{onClick:()=>k(a.id),className:`btn ${j===a.id?"btn-primary":""}`,style:j!==a.id?{background:"var(--bg-hover)"}:{},children:[a.icon," New ",a.label]},a.id))}),"urs"===j&&(0,d.jsx)(r,{existingCount:f.urs}),"fs"===j&&(0,d.jsx)(i,{ursItems:a,riskItems:b,existingFSCount:f.fs,stepsByType:g}),"risk"===j&&(0,d.jsx)(u,{fsItems:c,existingCount:f.risk})]})}},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},20142:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>h,dynamic:()=>g});var d=c(5735),e=c(71081),f=c(51805);let g="force-dynamic";async function h({searchParams:a}){let{tab:b}=await a,c=(0,e.Er)(),g=(0,e.I1)(),h=(0,e.x7)(),i=h.flatMap(a=>a.scenarios.flatMap(a=>a.steps)),j={given:[...new Set(i.filter(a=>a.startsWith("Given ")))],when:[...new Set(i.filter(a=>a.startsWith("When ")))],then:[...new Set(i.filter(a=>a.startsWith("Then ")))],and:[...new Set(i.filter(a=>a.startsWith("And ")))],but:[...new Set(i.filter(a=>a.startsWith("But ")))]};return(0,d.jsxs)("div",{children:[(0,d.jsxs)("header",{className:"page-header",children:[(0,d.jsx)("h1",{className:"page-title",children:"Builder"}),(0,d.jsx)("p",{className:"page-subtitle",children:"Create URS, FS, and Risk specifications"})]}),(0,d.jsx)(f.BuilderTabs,{ursItems:c.map(a=>({id:a.id,title:a.title})),riskItems:g.map(a=>({id:a.id,title:a.title})),fsItems:h.map(a=>({id:a.id,title:a.title})),counts:{urs:c.length,fs:h.length,risk:g.length},stepsByType:j,initialTab:"urs"===b||"fs"===b||"risk"===b?b:"fs"})]})}},26713:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/is-bot")},28354:a=>{"use strict";a.exports=require("util")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{"use strict";a.exports=require("path")},36126:(a,b,c)=>{Promise.resolve().then(c.bind(c,51805))},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},43954:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/interception-routes")},46193:a=>{"use strict";a.exports=require("node:string_decoder")},51455:a=>{"use strict";a.exports=require("node:fs/promises")},51805:(a,b,c)=>{"use strict";c.d(b,{BuilderTabs:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call BuilderTabs() from the server but BuilderTabs is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/matthew/Code/github/p11o/machine/docs/src/app/builder/builder-tabs.tsx","BuilderTabs")},57075:a=>{"use strict";a.exports=require("node:stream")},58165:(a,b,c)=>{"use strict";c.d(b,{j:()=>f});var d=c(48249),e=c(67484);function f({options:a,selected:b,onChange:c,placeholder:f,multi:g=!0,allowCustom:h=!0}){let[i,j]=(0,e.useState)(!1),[k,l]=(0,e.useState)(""),m=(0,e.useRef)(null),n=a.filter(a=>a.label.toLowerCase().includes(k.toLowerCase())&&(!g||!b.includes(a.value)));return(0,d.jsxs)("div",{ref:m,style:{position:"relative",flex:1},children:[g&&b.length>0&&(0,d.jsx)("div",{style:{display:"flex",gap:"0.25rem",flexWrap:"wrap",marginBottom:"0.5rem"},children:b.map(e=>{let f=a.find(a=>a.value===e);return(0,d.jsxs)("span",{className:"badge badge-success",style:{display:"flex",alignItems:"center",gap:"0.25rem"},children:[f?.value||e,(0,d.jsx)("button",{onClick:()=>{c(b.filter(a=>a!==e))},style:{background:"none",border:"none",cursor:"pointer",padding:0,fontSize:"1rem",color:"inherit"},children:"\xd7"})]},e)})}),(0,d.jsx)("input",{type:"text",value:g||i?k:(()=>{if(!g&&b.length>0){let c=a.find(a=>a.value===b[0]);return c?.label||b[0]}return""})(),onChange:a=>l(a.target.value),onFocus:()=>j(!0),placeholder:0!==b.length&&g?"Add more...":f,className:"input",style:{width:"100%"}}),i&&(0,d.jsxs)("div",{style:{position:"absolute",top:"100%",left:0,right:0,marginTop:"0.25rem",background:"var(--bg-card)",border:"1px solid var(--border)",borderRadius:"8px",maxHeight:"200px",overflowY:"auto",zIndex:100,boxShadow:"0 4px 12px rgba(0,0,0,0.3)"},children:[0===n.length?(0,d.jsx)("div",{style:{padding:"0.75rem",color:"var(--text-secondary)",fontSize:"0.875rem"},children:h?"No matches - type to create":"No matching steps"}):n.slice(0,20).map(a=>(0,d.jsxs)("div",{onClick:()=>{var d;return d=a.value,void(g?c([...b,d]):(c([d]),j(!1)),l(""))},style:{padding:"0.625rem 0.75rem",cursor:"pointer",fontSize:"0.875rem",borderBottom:"1px solid var(--border)",transition:"background 0.15s"},onMouseEnter:a=>a.currentTarget.style.background="var(--bg-hover)",onMouseLeave:a=>a.currentTarget.style.background="transparent",children:[(0,d.jsx)("div",{style:{fontWeight:500},children:a.value}),a.label!==a.value&&(0,d.jsx)("div",{style:{fontSize:"0.75rem",color:"var(--text-secondary)",marginTop:"0.125rem"},children:a.label})]},a.value)),n.length>20&&(0,d.jsxs)("div",{style:{padding:"0.5rem",color:"var(--text-secondary)",fontSize:"0.75rem",textAlign:"center"},children:["+",n.length-20," more..."]})]})]})}},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},70722:a=>{"use strict";a.exports=require("next/dist/shared/lib/invariant-error")},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},76294:(a,b,c)=>{Promise.resolve().then(c.bind(c,16845))},76760:a=>{"use strict";a.exports=require("node:path")},78474:a=>{"use strict";a.exports=require("node:events")},80637:(a,b,c)=>{"use strict";c.d(b,{D:()=>e});var d=c(99829);let e=(0,d.createServerReference)("4029e7e4d67ee5166acd30181de6477e788c68ac9e",d.callServer,void 0,d.findSourceMapURL,"saveRisk")},81787:a=>{"use strict";a.exports=require("bun:sqlite")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},92683:(a,b,c)=>{"use strict";c.d(b,{G:()=>e});var d=c(99829);let e=(0,d.createServerReference)("40819b9e3272b2a2e90f7779aa569592c172feaee5",d.callServer,void 0,d.findSourceMapURL,"saveURS")},99829:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={callServer:function(){return f.callServer},createServerReference:function(){return h.createServerReference},findSourceMapURL:function(){return g.findSourceMapURL}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(35766),g=c(87006),h=c(35569)}};var b=require("../../webpack-runtime.js");b.C(a);var c=b.X(0,[445,471,391,390,160,870,829,907,941],()=>b(b.s=1524));module.exports=c})();
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":1,"files":["../../../../matrix.db","../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../node_modules/next/dist/lib/constants.js","../../../../node_modules/next/dist/lib/interop-default.js","../../../../node_modules/next/dist/lib/is-error.js","../../../../node_modules/next/dist/lib/semver-noop.js","../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../../node_modules/next/dist/server/app-render/console-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/console-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../node_modules/next/dist/server/lib/lru-cache.js","../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../node_modules/next/dist/server/load-manifest.external.js","../../../../node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js","../../../../node_modules/next/dist/server/response-cache/types.js","../../../../node_modules/next/dist/server/runtime-reacts.external.js","../../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","../../../../node_modules/next/dist/shared/lib/router/utils/app-paths.js","../../../../node_modules/next/dist/shared/lib/router/utils/html-bots.js","../../../../node_modules/next/dist/shared/lib/router/utils/interception-routes.js","../../../../node_modules/next/dist/shared/lib/router/utils/is-bot.js","../../../../node_modules/next/dist/shared/lib/segment.js","../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../node_modules/next/package.json","../../../../package.json","../../../../specs/fs/FS-001-login.requirement","../../../../specs/fs/FS-002-session.requirement","../../../../specs/fs/FS-003-registration.requirement","../../../../specs/fs/FS-004-booking.requirement","../../../../specs/fs/FS-005-waitlist.requirement","../../../../specs/fs/FS-006-schedule.requirement","../../../../specs/fs/FS-007-instructor.requirement","../../../../specs/fs/fs-008-something.requirement","../../../../specs/fs/fs-009-bleep-bloop-thing.requirement","../../../../specs/fs/fs-009-fs-009-bleep-bloop-thing.requirement","../../../../specs/fs/fs-010-asfdlka.requirement","../../../../src/lib/database/schema.sql","../../../package.json","../../chunks/160.js","../../chunks/390.js","../../chunks/391.js","../../chunks/445.js","../../chunks/471.js","../../chunks/829.js","../../chunks/870.js","../../chunks/907.js","../../chunks/941.js","../../webpack-runtime.js","page_client-reference-manifest.js"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/builder/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"484":{"*":{"id":"70664","name":"*","chunks":[],"async":false}},"574":{"*":{"id":"10194","name":"*","chunks":[],"async":false}},"1304":{"*":{"id":"60440","name":"*","chunks":[],"async":false}},"1864":{"*":{"id":"44204","name":"*","chunks":[],"async":false}},"2335":{"*":{"id":"35947","name":"*","chunks":[],"async":false}},"2716":{"*":{"id":"62386","name":"*","chunks":[],"async":false}},"4425":{"*":{"id":"33227","name":"*","chunks":[],"async":false}},"4581":{"*":{"id":"61335","name":"*","chunks":[],"async":false}},"4777":{"*":{"id":"82265","name":"*","chunks":[],"async":false}},"5230":{"*":{"id":"1114","name":"*","chunks":[],"async":false}},"6120":{"*":{"id":"43725","name":"*","chunks":[],"async":false}},"6438":{"*":{"id":"36648","name":"*","chunks":[],"async":false}},"6869":{"*":{"id":"74661","name":"*","chunks":[],"async":false}},"7018":{"*":{"id":"21515","name":"*","chunks":[],"async":false}},"7121":{"*":{"id":"35421","name":"*","chunks":[],"async":false}},"7123":{"*":{"id":"81921","name":"*","chunks":[],"async":false}},"7582":{"*":{"id":"16845","name":"*","chunks":[],"async":false}},"8169":{"*":{"id":"93291","name":"*","chunks":[],"async":false}},"8500":{"*":{"id":"2116","name":"*","chunks":[],"async":false}},"8616":{"*":{"id":"84342","name":"*","chunks":[],"async":false}},"9325":{"*":{"id":"40987","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/matthew/Code/github/p11o/machine/docs/node_modules/next/dist/client/components/builtin/global-error.js":{"id":7123,"name":"*","chunks":[],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":7123,"name":"*","chunks":[],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/node_modules/next/dist/client/components/client-page.js":{"id":1304,"name":"*","chunks":[],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/node_modules/next/dist/esm/client/components/client-page.js":{"id":1304,"name":"*","chunks":[],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/node_modules/next/dist/client/components/client-segment.js":{"id":8616,"name":"*","chunks":[],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/node_modules/next/dist/esm/client/components/client-segment.js":{"id":8616,"name":"*","chunks":[],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":4777,"name":"*","chunks":[],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":4777,"name":"*","chunks":[],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/node_modules/next/dist/client/components/layout-router.js":{"id":7121,"name":"*","chunks":[],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/node_modules/next/dist/esm/client/components/layout-router.js":{"id":7121,"name":"*","chunks":[],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/node_modules/next/dist/client/components/render-from-template-context.js":{"id":4581,"name":"*","chunks":[],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":4581,"name":"*","chunks":[],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/node_modules/next/dist/lib/framework/boundary-components.js":{"id":484,"name":"*","chunks":[],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":484,"name":"*","chunks":[],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":6869,"name":"*","chunks":[],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":6869,"name":"*","chunks":[],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/node_modules/next/dist/client/app-dir/link.js":{"id":8500,"name":"*","chunks":["500","static/chunks/500-b84d19d842172eba.js","974","static/chunks/app/page-f227601c12abd1f8.js"],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/node_modules/next/dist/esm/client/app-dir/link.js":{"id":8500,"name":"*","chunks":["500","static/chunks/500-b84d19d842172eba.js","974","static/chunks/app/page-f227601c12abd1f8.js"],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/src/app/globals.css":{"id":1743,"name":"*","chunks":["500","static/chunks/500-b84d19d842172eba.js","177","static/chunks/app/layout-0f51af36ad0921db.js"],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/src/app/nav-section.tsx":{"id":1864,"name":"*","chunks":["500","static/chunks/500-b84d19d842172eba.js","177","static/chunks/app/layout-0f51af36ad0921db.js"],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/src/app/releases/releases-client.tsx":{"id":6438,"name":"*","chunks":[],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/src/app/releases/[id]/release-detail-client.tsx":{"id":6120,"name":"*","chunks":[],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/src/app/matrix/client.tsx":{"id":2716,"name":"*","chunks":[],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/src/app/builder/builder-tabs.tsx":{"id":7582,"name":"*","chunks":["462","static/chunks/app/builder/page-98dfb8ccb235f9a8.js"],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/src/app/specs/[id]/risk-detail-client.tsx":{"id":2335,"name":"*","chunks":[],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/src/app/specs/[id]/scenario-list.tsx":{"id":8169,"name":"*","chunks":[],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/src/app/specs/[id]/urs-detail-client.tsx":{"id":7018,"name":"*","chunks":[],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/src/app/traceability/urs/[id]/client.tsx":{"id":9325,"name":"*","chunks":[],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/src/app/traceability/fs/[id]/client.tsx":{"id":574,"name":"*","chunks":[],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/src/app/traceability/matrix-client.tsx":{"id":4425,"name":"*","chunks":[],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/src/app/traceability/risk/[id]/client.tsx":{"id":5230,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/matthew/Code/github/p11o/machine/docs/src/":[],"/Users/matthew/Code/github/p11o/machine/docs/src/app/layout":[{"inlined":false,"path":"static/css/230ac595a7268d78.css"}],"/Users/matthew/Code/github/p11o/machine/docs/src/app/page":[],"/Users/matthew/Code/github/p11o/machine/docs/src/app/builder/page":[]},"rscModuleMapping":{"484":{"*":{"id":"98562","name":"*","chunks":[],"async":false}},"574":{"*":{"id":"50596","name":"*","chunks":[],"async":false}},"1304":{"*":{"id":"15098","name":"*","chunks":[],"async":false}},"1743":{"*":{"id":"61135","name":"*","chunks":[],"async":false}},"1864":{"*":{"id":"40946","name":"*","chunks":[],"async":false}},"2335":{"*":{"id":"19665","name":"*","chunks":[],"async":false}},"2716":{"*":{"id":"97652","name":"*","chunks":[],"async":false}},"4425":{"*":{"id":"65100","name":"*","chunks":[],"async":false}},"4581":{"*":{"id":"16237","name":"*","chunks":[],"async":false}},"4777":{"*":{"id":"33859","name":"*","chunks":[],"async":false}},"5230":{"*":{"id":"59216","name":"*","chunks":[],"async":false}},"6120":{"*":{"id":"29575","name":"*","chunks":[],"async":false}},"6438":{"*":{"id":"4618","name":"*","chunks":[],"async":false}},"6869":{"*":{"id":"36675","name":"*","chunks":[],"async":false}},"7018":{"*":{"id":"17250","name":"*","chunks":[],"async":false}},"7121":{"*":{"id":"98099","name":"*","chunks":[],"async":false}},"7123":{"*":{"id":"95547","name":"*","chunks":[],"async":false}},"7582":{"*":{"id":"51805","name":"*","chunks":[],"async":false}},"8169":{"*":{"id":"47831","name":"*","chunks":[],"async":false}},"8500":{"*":{"id":"23318","name":"*","chunks":[],"async":false}},"8616":{"*":{"id":"47644","name":"*","chunks":[],"async":false}},"9325":{"*":{"id":"89737","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
(()=>{var a={};a.id=585,a.ids=[585],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},1932:a=>{"use strict";a.exports=require("url")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},18250:(a,b,c)=>{"use strict";c.r(b),c.d(b,{GlobalError:()=>C.a,__next_app__:()=>K,handler:()=>M,routeModule:()=>L});var d=c(7553),e=c(84006),f=c(67798),g=c(34775),h=c(99373),i=c(73461),j=c(1020),k=c(26349),l=c(54365),m=c(16023),n=c(63747),o=c(24235),p=c(23938),q=c(261),r=c(66758),s=c(77243),t=c(26713),u=c(37527),v=c(22820),w=c(88216),x=c(47929),y=c(79551),z=c(89125),A=c(86439),B=c(95547),C=c.n(B),D=c(61287),E=c(81494),F=c(70722),G=c(70753),H=c(43954),I={};for(let a in D)0>["default","GlobalError","__next_app__","routeModule","handler"].indexOf(a)&&(I[a]=()=>D[a]);c.d(b,I);let J={children:["",{children:["guide",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,64161)),"/Users/matthew/Code/github/p11o/machine/docs/src/app/guide/page.tsx"]}]},{metadata:{icon:[async a=>(await Promise.resolve().then(c.bind(c,70440))).default(a)],apple:[],openGraph:[],twitter:[],manifest:void 0}}]},{layout:[()=>Promise.resolve().then(c.bind(c,76537)),"/Users/matthew/Code/github/p11o/machine/docs/src/app/layout.tsx"],"global-error":[()=>Promise.resolve().then(c.t.bind(c,95547,23)),"next/dist/client/components/builtin/global-error.js"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,55091,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,45270,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,28193,23)),"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[async a=>(await Promise.resolve().then(c.bind(c,70440))).default(a)],apple:[],openGraph:[],twitter:[],manifest:void 0}}]}.children,K={require:c,loadChunk:()=>Promise.resolve()},L=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/guide/page",pathname:"/guide",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:J},distDir:".next",relativeProjectDir:""});async function M(a,b,d){var B;L.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let I=!!(0,h.getRequestMeta)(a,"minimalMode"),N="/guide/page";"/index"===N&&(N="/");let O=await L.prepare(a,b,{srcPage:N,multiZoneDraftMode:!1});if(!O)return b.statusCode=400,b.end("Bad Request"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let{buildId:P,query:Q,params:R,pageIsDynamic:S,buildManifest:T,nextFontManifest:U,reactLoadableManifest:V,serverActionsManifest:W,clientReferenceManifest:X,subresourceIntegrityManifest:Y,prerenderManifest:Z,isDraftMode:$,resolvedPathname:_,revalidateOnlyGenerated:aa,routerServerContext:ab,nextConfig:ac,parsedUrl:ad,interceptionRoutePatterns:ae,deploymentId:af}=O,ag=(0,q.normalizeAppPath)(N),{isOnDemandRevalidate:ah}=O,ai=ac.experimental.ppr&&!ac.cacheComponents&&(0,H.isInterceptionRouteAppPath)(_)?null:L.match(_,Z),aj=!!Z.routes[_],ak=a.headers["user-agent"]||"",al=(0,t.getBotType)(ak),am=(0,p.isHtmlBotRequest)(a),an=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[s.NEXT_ROUTER_PREFETCH_HEADER],ao=(0,h.getRequestMeta)(a,"isRSCRequest")??!!a.headers[s.RSC_HEADER],ap=(0,r.getIsPossibleServerAction)(a),aq=(0,m.checkIsAppPPREnabled)(ac.experimental.ppr);if(!(0,h.getRequestMeta)(a,"postponed")&&aq&&"1"===a.headers[x.NEXT_RESUME_HEADER]&&"POST"===a.method){let b=[];for await(let c of a)b.push(c);let c=Buffer.concat(b).toString("utf8");(0,h.addRequestMeta)(a,"postponed",c)}let ar=aq&&(null==(B=Z.routes[ag]??Z.dynamicRoutes[ag])?void 0:B.renderingMode)==="PARTIALLY_STATIC",as=!1,at=!1,au=ar?(0,h.getRequestMeta)(a,"postponed"):void 0,av=ar&&ao&&!an;I&&(av=av&&!!au);let aw=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),ax=(!am||!ar)&&(!ak||(0,p.shouldServeStreamingMetadata)(ak,ac.htmlLimitedBots)),ay=!!((ai||aj||Z.routes[ag])&&!(am&&ar)),az=ar&&!0===ac.cacheComponents,aA=!0===L.isDev||!ay||"string"==typeof au||(az&&(0,h.getRequestMeta)(a,"onCacheEntryV2")?av&&!I:av),aB=am&&ar,aC=null;$||!ay||aA||ap||au||av||(aC=_);let aD=aC;!aD&&L.isDev&&(aD=_),L.isDev||$||!ay||!ao||av||(0,k.d)(a.headers);let aE={...D,tree:J,GlobalError:C(),handler:M,routeModule:L,__next_app__:K};W&&X&&(0,o.setManifestsSingleton)({page:N,clientReferenceManifest:X,serverActionsManifest:W});let aF=a.method||"GET",aG=(0,g.getTracer)(),aH=aG.getActiveScopeSpan(),aI=async()=>((null==ab?void 0:ab.render404)?await ab.render404(a,b,ad,!1):b.end("This page could not be found"),null);try{let f=L.getVaryHeader(_,ae);b.setHeader("Vary",f);let k=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return L.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let a=aG.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let d=a.get("next.route");if(d){let a=`${aF} ${d}`;c.setAttributes({"next.route":d,"http.route":d,"next.span_name":a}),c.updateName(a)}else c.updateName(`${aF} ${N}`)})},m=(0,h.getRequestMeta)(a,"incrementalCache"),o=async({span:e,postponed:f,fallbackRouteParams:g,forceStaticRender:i})=>{let l={query:Q,params:R,page:ag,sharedContext:{buildId:P},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aE,Component:(0,j.T)(aE),params:R,routeModule:L,page:N,postponed:f,shouldWaitOnAllReady:aB,serveStreamingMetadata:ax,supportsDynamicResponse:"string"==typeof f||aA,buildManifest:T,nextFontManifest:U,reactLoadableManifest:V,subresourceIntegrityManifest:Y,setCacheStatus:null==ab?void 0:ab.setCacheStatus,setIsrStatus:null==ab?void 0:ab.setIsrStatus,setReactDebugChannel:null==ab?void 0:ab.setReactDebugChannel,sendErrorsToBrowser:null==ab?void 0:ab.sendErrorsToBrowser,dir:c(33873).join(process.cwd(),L.relativeProjectDir),isDraftMode:$,botType:al,isOnDemandRevalidate:ah,isPossibleServerAction:ap,assetPrefix:ac.assetPrefix,nextConfigOutput:ac.output,crossOrigin:ac.crossOrigin,trailingSlash:ac.trailingSlash,images:ac.images,previewProps:Z.preview,deploymentId:af,enableTainting:ac.experimental.taint,htmlLimitedBots:ac.htmlLimitedBots,reactMaxHeadersLength:ac.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:m,cacheLifeProfiles:ac.cacheLife,basePath:ac.basePath,serverActions:ac.experimental.serverActions,...as||at?{nextExport:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isDebugDynamicAccesses:as}:{},cacheComponents:!!ac.cacheComponents,experimental:{isRoutePPREnabled:ar,expireTime:ac.expireTime,staleTimes:ac.experimental.staleTimes,dynamicOnHover:!!ac.experimental.dynamicOnHover,inlineCss:!!ac.experimental.inlineCss,authInterrupts:!!ac.experimental.authInterrupts,clientTraceMetadata:ac.experimental.clientTraceMetadata||[],clientParamParsingOrigins:ac.experimental.clientParamParsingOrigins},waitUntil:d.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d,e)=>L.onRequestError(a,b,d,e,ab),err:(0,h.getRequestMeta)(a,"invokeError"),dev:L.isDev}};as&&(l.renderOpts.nextExport=!0,l.renderOpts.supportsDynamicResponse=!1,l.renderOpts.isDebugDynamicAccesses=as),i&&(l.renderOpts.supportsDynamicResponse=!1);let n=await k(e,l),{metadata:o}=n,{cacheControl:p,headers:q={},fetchTags:r,fetchMetrics:s}=o;if(r&&(q[x.NEXT_CACHE_TAGS_HEADER]=r),a.fetchMetrics=s,ay&&(null==p?void 0:p.revalidate)===0&&!L.isDev&&!ar){let a=o.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${_}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
|
|
2
|
-
see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:u.CachedRouteKind.APP_PAGE,html:n,headers:q,rscData:o.flightData,postponed:o.postponed,status:o.statusCode,segmentData:o.segmentData},cacheControl:p}},p=async({hasResolved:c,previousCacheEntry:f,isRevalidating:g,span:i,forceStaticRender:j=!1})=>{let k,l=!1===L.isDev,q=c||b.writableEnded;if(ah&&aa&&!f&&!I)return(null==ab?void 0:ab.render404)?await ab.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(ai&&(k=(0,v.parseFallbackField)(ai.fallback)),k===v.FallbackMode.PRERENDER&&(0,t.isBot)(ak)&&(!ar||am)&&(k=v.FallbackMode.BLOCKING_STATIC_RENDER),(null==f?void 0:f.isStale)===-1&&(ah=!0),ah&&(k!==v.FallbackMode.NOT_FOUND||f)&&(k=v.FallbackMode.BLOCKING_STATIC_RENDER),!I&&k!==v.FallbackMode.BLOCKING_STATIC_RENDER&&aD&&!q&&!$&&S&&(l||!aj)){if((l||ai)&&k===v.FallbackMode.NOT_FOUND){if(ac.experimental.adapterPath)return await aI();throw new A.NoFallbackError}if(ar&&(ac.cacheComponents?!av:!ao)){let b=l&&"string"==typeof(null==ai?void 0:ai.fallback)?ai.fallback:ag,c=l&&(null==ai?void 0:ai.fallbackRouteParams)?(0,n.createOpaqueFallbackRouteParams)(ai.fallbackRouteParams):at?(0,n.getFallbackRouteParams)(ag,L):null,f=await L.handleResponse({cacheKey:b,req:a,nextConfig:ac,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:Z,isRoutePPREnabled:ar,responseGenerator:async()=>o({span:i,postponed:void 0,fallbackRouteParams:c,forceStaticRender:!1}),waitUntil:d.waitUntil,isMinimalMode:I});if(null===f)return null;if(f)return delete f.cacheControl,f}}let r=ah||g||!au?void 0:au;if(az&&!I&&m&&av&&!j){let b=await m.get(_,{kind:u.IncrementalCacheKind.APP_PAGE,isRoutePPREnabled:!0,isFallback:!1});b&&b.value&&b.value.kind===u.CachedRouteKind.APP_PAGE&&(r=b.value.postponed,b&&(-1===b.isStale||!0===b.isStale)&&(0,G.scheduleOnNextTick)(async()=>{let b=L.getResponseCache(a);try{await b.revalidate(_,m,ar,!1,a=>p({...a,forceStaticRender:!0}),null,c,d.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}))}if(as&&void 0!==r)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:u.CachedRouteKind.PAGES,html:w.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let s=l&&(null==ai?void 0:ai.fallbackRouteParams)&&(0,h.getRequestMeta)(a,"renderFallbackShell")?(0,n.createOpaqueFallbackRouteParams)(ai.fallbackRouteParams):at?(0,n.getFallbackRouteParams)(ag,L):null;return o({span:i,postponed:r,fallbackRouteParams:s,forceStaticRender:j})},q=async c=>{var f,g,i,j,k;let l,m=await L.handleResponse({cacheKey:aC,responseGenerator:a=>p({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ah,isRoutePPREnabled:ar,req:a,nextConfig:ac,prerenderManifest:Z,waitUntil:d.waitUntil,isMinimalMode:I});if($&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),L.isDev&&b.setHeader("Cache-Control","no-store, must-revalidate"),!m){if(aC)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=m.value)?void 0:f.kind)!==u.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=m.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let n="string"==typeof m.value.postponed;ay&&!av&&(!n||an)&&(I||b.setHeader("x-nextjs-cache",ah?"REVALIDATED":m.isMiss?"MISS":m.isStale?"STALE":"HIT"),b.setHeader(s.NEXT_IS_PRERENDER_HEADER,"1"));let{value:q}=m;if(au)l={revalidate:0,expire:void 0};else if(av)l={revalidate:0,expire:void 0};else if(!L.isDev)if($)l={revalidate:0,expire:void 0};else if(ay){if(m.cacheControl)if("number"==typeof m.cacheControl.revalidate){if(m.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${m.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});l={revalidate:m.cacheControl.revalidate,expire:(null==(j=m.cacheControl)?void 0:j.expire)??ac.expireTime}}else l={revalidate:x.CACHE_ONE_YEAR,expire:void 0}}else b.getHeader("Cache-Control")||(l={revalidate:0,expire:void 0});if(m.cacheControl=l,"string"==typeof aw&&(null==q?void 0:q.kind)===u.CachedRouteKind.APP_PAGE&&q.segmentData){b.setHeader(s.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=q.headers)?void 0:k[x.NEXT_CACHE_TAGS_HEADER];I&&ay&&c&&"string"==typeof c&&b.setHeader(x.NEXT_CACHE_TAGS_HEADER,c);let d=q.segmentData.get(aw);return void 0!==d?(0,z.sendRenderResult)({req:a,res:b,generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:w.default.fromStatic(d,s.RSC_CONTENT_TYPE_HEADER),cacheControl:m.cacheControl}):(b.statusCode=204,(0,z.sendRenderResult)({req:a,res:b,generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:w.default.EMPTY,cacheControl:m.cacheControl}))}let r=az?(0,h.getRequestMeta)(a,"onCacheEntryV2")??(0,h.getRequestMeta)(a,"onCacheEntry"):(0,h.getRequestMeta)(a,"onCacheEntry");if(r&&await r(m,{url:(0,h.getRequestMeta)(a,"initURL")??a.url}))return null;if(q.headers){let a={...q.headers};for(let[c,d]of(I&&ay||delete a[x.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let t=null==(g=q.headers)?void 0:g[x.NEXT_CACHE_TAGS_HEADER];if(I&&ay&&t&&"string"==typeof t&&b.setHeader(x.NEXT_CACHE_TAGS_HEADER,t),!q.status||ao&&ar||(b.statusCode=q.status),!I&&q.status&&E.RedirectStatusCode[q.status]&&ao&&(b.statusCode=200),n&&!av&&b.setHeader(s.NEXT_DID_POSTPONE_HEADER,"1"),ao&&!$){if(void 0===q.rscData){if(q.html.contentType!==s.RSC_CONTENT_TYPE_HEADER)if(ac.cacheComponents)return b.statusCode=404,(0,z.sendRenderResult)({req:a,res:b,generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:w.default.EMPTY,cacheControl:m.cacheControl});else throw Object.defineProperty(new F.InvariantError(`Expected RSC response, got ${q.html.contentType}`),"__NEXT_ERROR_CODE",{value:"E789",enumerable:!1,configurable:!0});return(0,z.sendRenderResult)({req:a,res:b,generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:q.html,cacheControl:m.cacheControl})}return(0,z.sendRenderResult)({req:a,res:b,generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:w.default.fromStatic(q.rscData,s.RSC_CONTENT_TYPE_HEADER),cacheControl:m.cacheControl})}let v=q.html;if(!n||I||ao)return(0,z.sendRenderResult)({req:a,res:b,generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:v,cacheControl:m.cacheControl});if(as)return v.push(new ReadableStream({start(a){a.enqueue(y.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,z.sendRenderResult)({req:a,res:b,generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:v,cacheControl:{revalidate:0,expire:void 0}});let A=new TransformStream;return v.push(A.readable),o({span:c,postponed:q.postponed,fallbackRouteParams:null,forceStaticRender:!1}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==u.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(A.writable)}).catch(a=>{A.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,z.sendRenderResult)({req:a,res:b,generateEtags:ac.generateEtags,poweredByHeader:ac.poweredByHeader,result:v,cacheControl:{revalidate:0,expire:void 0}})};if(!aH)return await aG.withPropagatedContext(a.headers,()=>aG.trace(i.BaseServerSpan.handleRequest,{spanName:`${aF} ${N}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aF,"http.target":a.url}},q));await q(aH)}catch(b){throw b instanceof A.NoFallbackError||await L.onRequestError(a,b,{routerKind:"App Router",routePath:N,routeType:"render",revalidateReason:(0,f.c)({isStaticGeneration:ay,isOnDemandRevalidate:ah})},!1,ab),b}}},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21309:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,23318,23))},26713:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/is-bot")},28354:a=>{"use strict";a.exports=require("util")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{"use strict";a.exports=require("path")},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},43954:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/interception-routes")},46193:a=>{"use strict";a.exports=require("node:string_decoder")},51455:a=>{"use strict";a.exports=require("node:fs/promises")},57075:a=>{"use strict";a.exports=require("node:stream")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},64161:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>i,dynamic:()=>h});var d=c(5735),e=c(71081),f=c(63059),g=c.n(f);let h="force-dynamic";function i(){let a=(0,e.x7)(),b=(0,e.Er)(),c=new Map;a.forEach(a=>{let d=b.find(b=>a.urs_ids.includes(b.id)),e=d?.category||"General";c.has(e)||c.set(e,[]),c.get(e).push(a)});let f=Array.from(c.entries()).sort((a,b)=>a[0].localeCompare(b[0]));return(0,d.jsxs)("div",{children:[(0,d.jsxs)("header",{className:"page-header",children:[(0,d.jsx)("h1",{className:"page-title",children:"\uD83D\uDCD6 User Guide"}),(0,d.jsx)("p",{className:"page-subtitle",children:"Auto-generated from Functional Specifications"})]}),(0,d.jsxs)("div",{className:"card",style:{marginBottom:"2rem"},children:[(0,d.jsx)("h2",{className:"card-title",children:"Contents"}),(0,d.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(200px, 1fr))",gap:"0.5rem"},children:f.map(([a,b])=>(0,d.jsxs)("a",{href:`#${a.toLowerCase().replace(/\s+/g,"-")}`,style:{textDecoration:"none",padding:"0.5rem 0.75rem",background:"var(--bg-hover)",borderRadius:"6px",color:"var(--text-primary)",display:"flex",alignItems:"center",gap:"0.5rem"},children:[(0,d.jsx)("span",{children:k(a)}),(0,d.jsx)("span",{children:a}),(0,d.jsx)("span",{style:{marginLeft:"auto",fontSize:"0.75rem",color:"var(--text-secondary)"},children:b.length})]},a))})]}),f.map(([a,b])=>(0,d.jsxs)("section",{id:a.toLowerCase().replace(/\s+/g,"-"),style:{marginBottom:"3rem"},children:[(0,d.jsxs)("h2",{style:{fontSize:"1.5rem",fontWeight:700,marginBottom:"1rem",display:"flex",alignItems:"center",gap:"0.75rem"},children:[(0,d.jsx)("span",{children:k(a)}),a]}),(0,d.jsx)("div",{style:{display:"grid",gap:"1.5rem"},children:b.map(a=>(0,d.jsx)(j,{fs:a},a.id))})]},a))]})}function j({fs:a}){return(0,d.jsxs)("div",{className:"card",style:{margin:0},children:[(0,d.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"0.75rem",marginBottom:"1rem"},children:[(0,d.jsx)("h3",{style:{fontSize:"1.125rem",fontWeight:600,margin:0},children:a.title}),(0,d.jsx)(g(),{href:`/specs/${a.id}`,style:{marginLeft:"auto",fontSize:"0.75rem",color:"var(--text-secondary)"},children:"View details →"})]}),a.description&&(0,d.jsx)("p",{style:{color:"var(--text-secondary)",marginBottom:"1rem",lineHeight:1.6},children:a.description}),(0,d.jsx)("div",{style:{display:"grid",gap:"1rem"},children:a.scenarios.map((a,b)=>{var c;return(0,d.jsxs)("div",{style:{padding:"1rem",background:"var(--bg-hover)",borderRadius:"8px"},children:[(0,d.jsx)("h4",{style:{fontSize:"0.9375rem",fontWeight:600,marginBottom:"0.75rem",color:"var(--accent)"},children:(c=a.name).toLowerCase().includes("successful")?`How to: ${c.replace(/successful\s*/i,"").trim()}`:c.toLowerCase().includes("failed")||c.toLowerCase().includes("invalid")?`Troubleshooting: ${c}`:`How to: ${c}`}),(0,d.jsx)("ol",{style:{margin:0,paddingLeft:"1.25rem"},children:a.steps.map((a,b)=>{let c;return(0,d.jsx)("li",{style:{color:"var(--text-secondary)",marginBottom:"0.375rem",lineHeight:1.5},children:(c=(c=a.replace(/^(Given|When|Then|And|But)\s+/i,"").trim()).replace(/^I am on the (.+) page$/i,"Navigate to the $1 page").replace(/^I am logged in as (.+)$/i,"Make sure you are logged in as $1").replace(/^I enter (.+) into the (.+) field$/i,"Enter $1 in the $2 field").replace(/^I enter (.+) credentials$/i,"Enter your $1 login credentials").replace(/^I click (?:the |on )?["']?(.+?)["']?(?: button)?$/i,'Click the "$1" button').replace(/^I should see (.+)$/i,"You will see $1").replace(/^I should be redirected to (.+)$/i,"You will be taken to $1").replace(/^I should be on the (.+) page$/i,"You should now be on the $1 page").replace(/^the (.+) should be (.+)$/i,"The $1 will be $2").replace(/^I fill in (.+) with (.+)$/i,"Enter $2 in the $1 field").replace(/^I select (.+) from (.+)$/i,"Select $1 from the $2 dropdown").replace(/^I wait for (.+)$/i,"Wait for $1").replace(/^the system (.+)$/i,"The system will $1")).charAt(0).toUpperCase()+c.slice(1)},b)})})]},b)})})]})}function k(a){return({Security:"\uD83D\uDD10",Core:"⚡",Booking:"\uD83D\uDCC5",Scheduling:"\uD83D\uDCC6",Operations:"⚙️",Reporting:"\uD83D\uDCCA",General:"\uD83D\uDCCB"})[a]||"\uD83D\uDCC4"}},70722:a=>{"use strict";a.exports=require("next/dist/shared/lib/invariant-error")},71081:(a,b,c)=>{"use strict";c.d(b,{Er:()=>d.Er,Ey:()=>d.Ey,I1:()=>d.I1,Lo:()=>d.Lo,i7:()=>d.i7,wx:()=>f,x7:()=>d.x7,zm:()=>e});var d=c(30998);function e(){let a=(0,d.Er)(),b=(0,d.x7)(),c=new Map((0,d.I1)().map(a=>[a.id,a]));return a.map(a=>{let d=b.filter(b=>b.urs_ids.includes(a.id)),e=0;return{urs:a,fsItems:d.map(a=>{e+=a.scenario_count;let b=a.risk_ids.map(a=>c.get(a)).filter(Boolean);return{fs:a,risks:b}}),coverage:{fsCount:d.length,scenarioCount:e,hasCoverage:e>0}}})}function f(){let a=(0,d.Er)(),b=(0,d.x7)(),c=(0,d.I1)(),e=b.reduce((a,b)=>a+b.scenario_count,0),f=a.filter(a=>"draft"===a.status).length+c.filter(a=>"draft"===a.status).length,g=a.filter(a=>"review"===a.status).length+c.filter(a=>"review"===a.status).length,h=a.filter(a=>"approved"===a.status).length+c.filter(a=>"approved"===a.status).length,i=a.filter(a=>b.some(b=>b.urs_ids.includes(a.id))).length,j=b.filter(a=>a.scenario_count>0).length;return{counts:{urs:a.length,fs:b.length,scenarios:e,risk:c.length},byStatus:{draft:f,review:g,approved:h},coverage:{ursWithFS:i,ursTotal:a.length,fsWithTests:j,fsTotal:b.length}}}},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},76760:a=>{"use strict";a.exports=require("node:path")},78474:a=>{"use strict";a.exports=require("node:events")},81787:a=>{"use strict";a.exports=require("bun:sqlite")},84357:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,2116,23))},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")}};var b=require("../../webpack-runtime.js");b.C(a);var c=b.X(0,[445,471,391,390,829],()=>b(b.s=18250));module.exports=c})();
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":1,"files":["../../../../matrix.db","../../../../node_modules/next/dist/client/components/app-router-headers.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../node_modules/next/dist/lib/constants.js","../../../../node_modules/next/dist/lib/interop-default.js","../../../../node_modules/next/dist/lib/is-error.js","../../../../node_modules/next/dist/lib/semver-noop.js","../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../../node_modules/next/dist/server/app-render/console-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/console-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../node_modules/next/dist/server/lib/lru-cache.js","../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../node_modules/next/dist/server/load-manifest.external.js","../../../../node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js","../../../../node_modules/next/dist/server/response-cache/types.js","../../../../node_modules/next/dist/server/runtime-reacts.external.js","../../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js","../../../../node_modules/next/dist/shared/lib/router/utils/app-paths.js","../../../../node_modules/next/dist/shared/lib/router/utils/html-bots.js","../../../../node_modules/next/dist/shared/lib/router/utils/interception-routes.js","../../../../node_modules/next/dist/shared/lib/router/utils/is-bot.js","../../../../node_modules/next/dist/shared/lib/segment.js","../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../node_modules/next/package.json","../../../../package.json","../../../../specs/fs/FS-001-login.requirement","../../../../specs/fs/FS-002-session.requirement","../../../../specs/fs/FS-003-registration.requirement","../../../../specs/fs/FS-004-booking.requirement","../../../../specs/fs/FS-005-waitlist.requirement","../../../../specs/fs/FS-006-schedule.requirement","../../../../specs/fs/FS-007-instructor.requirement","../../../../specs/fs/fs-008-something.requirement","../../../../specs/fs/fs-009-bleep-bloop-thing.requirement","../../../../specs/fs/fs-009-fs-009-bleep-bloop-thing.requirement","../../../../specs/fs/fs-010-asfdlka.requirement","../../../../src/lib/database/schema.sql","../../../package.json","../../chunks/390.js","../../chunks/391.js","../../chunks/445.js","../../chunks/471.js","../../chunks/829.js","../../webpack-runtime.js","page_client-reference-manifest.js"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/guide/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"484":{"*":{"id":"70664","name":"*","chunks":[],"async":false}},"574":{"*":{"id":"10194","name":"*","chunks":[],"async":false}},"1304":{"*":{"id":"60440","name":"*","chunks":[],"async":false}},"1864":{"*":{"id":"44204","name":"*","chunks":[],"async":false}},"2335":{"*":{"id":"35947","name":"*","chunks":[],"async":false}},"2716":{"*":{"id":"62386","name":"*","chunks":[],"async":false}},"4425":{"*":{"id":"33227","name":"*","chunks":[],"async":false}},"4581":{"*":{"id":"61335","name":"*","chunks":[],"async":false}},"4777":{"*":{"id":"82265","name":"*","chunks":[],"async":false}},"5230":{"*":{"id":"1114","name":"*","chunks":[],"async":false}},"6120":{"*":{"id":"43725","name":"*","chunks":[],"async":false}},"6438":{"*":{"id":"36648","name":"*","chunks":[],"async":false}},"6869":{"*":{"id":"74661","name":"*","chunks":[],"async":false}},"7018":{"*":{"id":"21515","name":"*","chunks":[],"async":false}},"7121":{"*":{"id":"35421","name":"*","chunks":[],"async":false}},"7123":{"*":{"id":"81921","name":"*","chunks":[],"async":false}},"7582":{"*":{"id":"16845","name":"*","chunks":[],"async":false}},"8169":{"*":{"id":"93291","name":"*","chunks":[],"async":false}},"8500":{"*":{"id":"2116","name":"*","chunks":[],"async":false}},"8616":{"*":{"id":"84342","name":"*","chunks":[],"async":false}},"9325":{"*":{"id":"40987","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/matthew/Code/github/p11o/machine/docs/node_modules/next/dist/client/components/builtin/global-error.js":{"id":7123,"name":"*","chunks":[],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":7123,"name":"*","chunks":[],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/node_modules/next/dist/client/components/client-page.js":{"id":1304,"name":"*","chunks":[],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/node_modules/next/dist/esm/client/components/client-page.js":{"id":1304,"name":"*","chunks":[],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/node_modules/next/dist/client/components/client-segment.js":{"id":8616,"name":"*","chunks":[],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/node_modules/next/dist/esm/client/components/client-segment.js":{"id":8616,"name":"*","chunks":[],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":4777,"name":"*","chunks":[],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":4777,"name":"*","chunks":[],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/node_modules/next/dist/client/components/layout-router.js":{"id":7121,"name":"*","chunks":[],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/node_modules/next/dist/esm/client/components/layout-router.js":{"id":7121,"name":"*","chunks":[],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/node_modules/next/dist/client/components/render-from-template-context.js":{"id":4581,"name":"*","chunks":[],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":4581,"name":"*","chunks":[],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/node_modules/next/dist/lib/framework/boundary-components.js":{"id":484,"name":"*","chunks":[],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":484,"name":"*","chunks":[],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":6869,"name":"*","chunks":[],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":6869,"name":"*","chunks":[],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/node_modules/next/dist/client/app-dir/link.js":{"id":8500,"name":"*","chunks":["500","static/chunks/500-b84d19d842172eba.js","585","static/chunks/app/guide/page-f227601c12abd1f8.js"],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/node_modules/next/dist/esm/client/app-dir/link.js":{"id":8500,"name":"*","chunks":["500","static/chunks/500-b84d19d842172eba.js","585","static/chunks/app/guide/page-f227601c12abd1f8.js"],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/src/app/globals.css":{"id":1743,"name":"*","chunks":["500","static/chunks/500-b84d19d842172eba.js","177","static/chunks/app/layout-0f51af36ad0921db.js"],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/src/app/nav-section.tsx":{"id":1864,"name":"*","chunks":["500","static/chunks/500-b84d19d842172eba.js","177","static/chunks/app/layout-0f51af36ad0921db.js"],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/src/app/releases/releases-client.tsx":{"id":6438,"name":"*","chunks":[],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/src/app/releases/[id]/release-detail-client.tsx":{"id":6120,"name":"*","chunks":[],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/src/app/matrix/client.tsx":{"id":2716,"name":"*","chunks":[],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/src/app/builder/builder-tabs.tsx":{"id":7582,"name":"*","chunks":[],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/src/app/specs/[id]/risk-detail-client.tsx":{"id":2335,"name":"*","chunks":[],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/src/app/specs/[id]/scenario-list.tsx":{"id":8169,"name":"*","chunks":[],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/src/app/specs/[id]/urs-detail-client.tsx":{"id":7018,"name":"*","chunks":[],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/src/app/traceability/urs/[id]/client.tsx":{"id":9325,"name":"*","chunks":[],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/src/app/traceability/fs/[id]/client.tsx":{"id":574,"name":"*","chunks":[],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/src/app/traceability/matrix-client.tsx":{"id":4425,"name":"*","chunks":[],"async":false},"/Users/matthew/Code/github/p11o/machine/docs/src/app/traceability/risk/[id]/client.tsx":{"id":5230,"name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/matthew/Code/github/p11o/machine/docs/src/":[],"/Users/matthew/Code/github/p11o/machine/docs/src/app/layout":[{"inlined":false,"path":"static/css/230ac595a7268d78.css"}],"/Users/matthew/Code/github/p11o/machine/docs/src/app/page":[],"/Users/matthew/Code/github/p11o/machine/docs/src/app/guide/page":[]},"rscModuleMapping":{"484":{"*":{"id":"98562","name":"*","chunks":[],"async":false}},"574":{"*":{"id":"50596","name":"*","chunks":[],"async":false}},"1304":{"*":{"id":"15098","name":"*","chunks":[],"async":false}},"1743":{"*":{"id":"61135","name":"*","chunks":[],"async":false}},"1864":{"*":{"id":"40946","name":"*","chunks":[],"async":false}},"2335":{"*":{"id":"19665","name":"*","chunks":[],"async":false}},"2716":{"*":{"id":"97652","name":"*","chunks":[],"async":false}},"4425":{"*":{"id":"65100","name":"*","chunks":[],"async":false}},"4581":{"*":{"id":"16237","name":"*","chunks":[],"async":false}},"4777":{"*":{"id":"33859","name":"*","chunks":[],"async":false}},"5230":{"*":{"id":"59216","name":"*","chunks":[],"async":false}},"6120":{"*":{"id":"29575","name":"*","chunks":[],"async":false}},"6438":{"*":{"id":"4618","name":"*","chunks":[],"async":false}},"6869":{"*":{"id":"36675","name":"*","chunks":[],"async":false}},"7018":{"*":{"id":"17250","name":"*","chunks":[],"async":false}},"7121":{"*":{"id":"98099","name":"*","chunks":[],"async":false}},"7123":{"*":{"id":"95547","name":"*","chunks":[],"async":false}},"7582":{"*":{"id":"51805","name":"*","chunks":[],"async":false}},"8169":{"*":{"id":"47831","name":"*","chunks":[],"async":false}},"8500":{"*":{"id":"23318","name":"*","chunks":[],"async":false}},"8616":{"*":{"id":"47644","name":"*","chunks":[],"async":false}},"9325":{"*":{"id":"89737","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=138,exports.ids=[138],exports.modules={11756:(a,b,c)=>{c.d(b,{h:()=>e});var d=c(99829);let e=(0,d.createServerReference)("608a1eb44cf3bfbc19631e51c68c49e2a723fe80b6",d.callServer,void 0,d.findSourceMapURL,"saveFS")},48138:(a,b,c)=>{c.d(b,{saveFS:()=>h.h,saveRisk:()=>d.D,saveURS:()=>e.G,updateRiskAction:()=>g,updateURSAction:()=>i});var d=c(80637),e=c(92683),f=c(99829);let g=(0,f.createServerReference)("605ad78b9fc68b119662ee147fa3e675e1a8a7165d",f.callServer,void 0,f.findSourceMapURL,"updateRiskAction");var h=c(11756);let i=(0,f.createServerReference)("60e27573fbd7b0ae0b2a249cba045ea5a5d2e8d0bd",f.callServer,void 0,f.findSourceMapURL,"updateURSAction")},80637:(a,b,c)=>{c.d(b,{D:()=>e});var d=c(99829);let e=(0,d.createServerReference)("4029e7e4d67ee5166acd30181de6477e788c68ac9e",d.callServer,void 0,d.findSourceMapURL,"saveRisk")},92683:(a,b,c)=>{c.d(b,{G:()=>e});var d=c(99829);let e=(0,d.createServerReference)("40819b9e3272b2a2e90f7779aa569592c172feaee5",d.callServer,void 0,d.findSourceMapURL,"saveURS")},99829:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0});var d={callServer:function(){return f.callServer},createServerReference:function(){return h.createServerReference},findSourceMapURL:function(){return g.findSourceMapURL}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(35766),g=c(87006),h=c(35569)}};
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
exports.id=829,exports.ids=[829],exports.modules={22332:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,95547,23)),Promise.resolve().then(c.t.bind(c,15098,23)),Promise.resolve().then(c.t.bind(c,47644,23)),Promise.resolve().then(c.t.bind(c,33859,23)),Promise.resolve().then(c.t.bind(c,98099,23)),Promise.resolve().then(c.t.bind(c,16237,23)),Promise.resolve().then(c.t.bind(c,98562,23)),Promise.resolve().then(c.t.bind(c,36675,23))},23505:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,23318,23)),Promise.resolve().then(c.bind(c,40946))},30998:(a,b,c)=>{"use strict";c.d(b,{Nn:()=>q,x7:()=>o,I1:()=>l,Er:()=>j,Ey:()=>p,i7:()=>m,Lo:()=>k});var d=c(29021),e=c.n(d),f=c(33873),g=c.n(f),h=c(87390),i=c(90311);function j(){return(0,i.Lf)().query(`
|
|
2
|
-
SELECT id, title, status, priority, owner, category,
|
|
3
|
-
created_at, updated_at, business_need, intended_use,
|
|
4
|
-
acceptance_criteria, regulatory_refs
|
|
5
|
-
FROM urs
|
|
6
|
-
ORDER BY id
|
|
7
|
-
`).all().map(a=>({id:a.id,type:"urs",title:a.title,status:a.status,priority:a.priority,owner:a.owner,category:a.category,created_at:a.created_at,updated_at:a.updated_at,business_need:a.business_need,intended_use:a.intended_use,acceptance_criteria:JSON.parse(a.acceptance_criteria),regulatory_refs:JSON.parse(a.regulatory_refs)}))}function k(a){let b=(0,i.Lf)().query(`
|
|
8
|
-
SELECT id, title, status, priority, owner, category,
|
|
9
|
-
created_at, updated_at, business_need, intended_use,
|
|
10
|
-
acceptance_criteria, regulatory_refs
|
|
11
|
-
FROM urs
|
|
12
|
-
WHERE id = ?
|
|
13
|
-
`).get(a);return b?{id:b.id,type:"urs",title:b.title,status:b.status,priority:b.priority,owner:b.owner,category:b.category,created_at:b.created_at,updated_at:b.updated_at,business_need:b.business_need,intended_use:b.intended_use,acceptance_criteria:JSON.parse(b.acceptance_criteria),regulatory_refs:JSON.parse(b.regulatory_refs)}:null}function l(){return(0,i.Lf)().query(`
|
|
14
|
-
SELECT id, title, status, category, gamp_category,
|
|
15
|
-
created_at, updated_at, impact, probability, risk_level, residual_risk
|
|
16
|
-
FROM risk
|
|
17
|
-
ORDER BY id
|
|
18
|
-
`).all().map(a=>n(a))}function m(a){let b=(0,i.Lf)().query(`
|
|
19
|
-
SELECT id, title, status, category, gamp_category,
|
|
20
|
-
created_at, updated_at, impact, probability, risk_level, residual_risk
|
|
21
|
-
FROM risk
|
|
22
|
-
WHERE id = ?
|
|
23
|
-
`).get(a);return b?n(b):null}function n(a){let b=(0,i.Lf)(),c=a.id,d=b.query(`
|
|
24
|
-
SELECT item_id, description, impact, probability
|
|
25
|
-
FROM risk_item
|
|
26
|
-
WHERE risk_id = ?
|
|
27
|
-
ORDER BY item_id
|
|
28
|
-
`).all(c),e=b.query(`
|
|
29
|
-
SELECT risk_item_id, control, test
|
|
30
|
-
FROM mitigation
|
|
31
|
-
WHERE risk_id = ?
|
|
32
|
-
`).all(c),f=b.query(`
|
|
33
|
-
SELECT fs_id FROM risk_fs_link WHERE risk_id = ?
|
|
34
|
-
`).all(c);return{id:c,type:"risk",title:a.title,status:a.status,category:a.category,gamp_category:a.gamp_category,created_at:a.created_at,updated_at:a.updated_at,fs_ids:f.map(a=>a.fs_id),impact:a.impact,probability:a.probability,risk_level:a.risk_level,risks:d.map(a=>({id:a.item_id,description:a.description,impact:a.impact,probability:a.probability})),mitigations:e.map(a=>({risk_id:a.risk_item_id,control:a.control,test:a.test})),residual_risk:a.residual_risk}}function o(){let a=(0,i.G0)(),b=g().join(a,"fs");if(!e().existsSync(b))return[];let c=h.TI.sync("*.requirement",{cwd:b}).map(a=>{try{let c=g().join(b,a),h=e().readFileSync(c,"utf-8");return function(a,b){let c=a.split("\n"),e=[],g=[],h=!1;for(let a of c){let b=a.trim();if(b.startsWith("@")&&!h){let a=b.split(/\s+/).filter(a=>a.startsWith("@"));g.push(...a)}else if(b.startsWith("Feature:")){h=!0;break}}let i=c.find(a=>a.trim().startsWith("Feature:")),j=i?.match(/Feature:\s*(.+)/),k=j?.[1]||(0,f.basename)(b),l=k.match(/^(FS-\d+)/),m=l?.[1]||(0,f.basename)(b,".requirement").toUpperCase(),n=c.findIndex(a=>a.trim().startsWith("Feature:")),o="",p=[];for(let a=n+1;a<c.length;a++){let b=c[a].trim();if(b.startsWith("Scenario")||b.startsWith("Background")||b.startsWith("@"))break;b.startsWith("-")?p.push(b.substring(1).trim()):b&&!b.startsWith("Requirements:")&&(o+=(o?" ":"")+b)}let q=null,r=!1,s=[];for(let a=0;a<c.length;a++){let b=c[a].trim();if(b.startsWith("Scenario Outline:")||b.startsWith("Scenario:")){q&&e.push(q);let d=b.startsWith("Scenario Outline:"),f=b.replace(/Scenario( Outline)?:\s*/,""),g=[];for(let b=a-1;b>=0;b--){let a=c[b].trim();if(a.startsWith("@")){let b=a.split(/\s+/).filter(a=>a.startsWith("@"));g.unshift(...b)}else if(a)break}q={name:f,tags:g,steps:[],line:a+1,is_outline:d},r=!1}if(q&&!r&&/^(Given|When|Then|And|But)\s/.test(b)&&q.steps.push(b),b.startsWith("Examples:")&&(r=!0,s=[]),r&&b.startsWith("|")){let a=b.split("|").map(a=>a.trim()).filter(a=>a);if(0===s.length){if(s=a,q)for(let a of(q.examples={},s))q.examples[a]=[]}else if(q?.examples)for(let b=0;b<a.length&&b<s.length;b++)q.examples[s[b]].push(a[b])}}q&&e.push(q);let t=g.filter(a=>a.match(/@URS-\d+/)).map(a=>a.replace("@","")),u=g.filter(a=>a.match(/@RISK-\d+/)).map(a=>a.replace("@","")),v=new Date().toISOString().split("T")[0],w=v;try{let a=(0,d.statSync)(b);v=a.birthtime.toISOString().split("T")[0],w=a.mtime.toISOString().split("T")[0]}catch{}return{id:m,type:"fs",title:k,file_path:b,description:o,requirements:p,urs_ids:t,risk_ids:u,scenarios:e,scenario_count:e.length,created_at:v,updated_at:w}}(h,c)}catch{return null}}).filter(Boolean);try{let a=(0,i.Lf)().query("SELECT risk_id, fs_id FROM risk_fs_link").all().reduce((a,b)=>(a[b.fs_id]||(a[b.fs_id]=[]),a[b.fs_id].push(b.risk_id),a),{});return c.map(b=>{let c=a[b.id]||[],d=Array.from(new Set([...b.risk_ids,...c]));return{...b,risk_ids:d}})}catch(a){return c}}function p(a){return o().find(b=>b.id===a)||null}function q(a){return o().filter(b=>b.urs_ids.includes(a))}},40946:(a,b,c)=>{"use strict";c.d(b,{NavSection:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call NavSection() from the server but NavSection is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/matthew/Code/github/p11o/machine/docs/src/app/nav-section.tsx","NavSection")},44204:(a,b,c)=>{"use strict";c.d(b,{NavSection:()=>i});var d=c(48249),e=c(67484),f=c(2116),g=c.n(f),h=c(19099);function i({label:a,icon:b,storageKey:c,items:f}){let i=(0,h.usePathname)(),[j,k]=(0,e.useState)(!0),l=f.some(a=>i.startsWith(a.href));return(0,d.jsxs)("li",{children:[(0,d.jsxs)("button",{onClick:()=>{let a=!j;k(a),localStorage.setItem(`nav-${c}`,String(a))},className:"nav-link",style:{width:"100%",display:"flex",alignItems:"center",justifyContent:"space-between",background:l?"var(--bg-hover)":"transparent",border:"none",cursor:"pointer"},children:[(0,d.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:"0.75rem"},children:[(0,d.jsx)("span",{children:b}),(0,d.jsx)("span",{children:a})]}),(0,d.jsx)("span",{style:{fontSize:"0.625rem",transition:"transform 0.2s",transform:j?"rotate(180deg)":"rotate(0deg)"},children:"▼"})]}),j&&(0,d.jsx)("ul",{style:{listStyle:"none",padding:0,margin:0},children:f.map(a=>{let b=i===a.href||"/traceability"!==a.href&&i.startsWith(a.href);return(0,d.jsx)("li",{children:(0,d.jsxs)(g(),{href:a.href,className:"nav-link",style:{paddingLeft:"2.5rem",fontSize:"0.875rem",background:b?"var(--bg-hover)":"transparent"},children:[(0,d.jsx)("span",{children:a.icon}),(0,d.jsx)("span",{children:a.label})]})},a.href)})})]})}},50619:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,81921,23))},61135:()=>{},70440:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>e});var d=c(88868);let e=async a=>[{type:"image/x-icon",sizes:"16x16",url:(0,d.fillMetadataSegment)(".",await a.params,"favicon.ico")+"?603d046c9a6fdfbb"}]},76537:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>j,metadata:()=>h});var d=c(5735),e=c(63059),f=c.n(e);c(61135);var g=c(40946);let h={title:"GAMP 5 Traceability",description:"V-Model Documentation & Test Management"},i=[{href:"/traceability",label:"Search",icon:"\uD83D\uDD0D"},{href:"/traceability/urs",label:"URS",icon:"\uD83D\uDCCB"},{href:"/traceability/fs",label:"Functional Specs",icon:"⚙️"},{href:"/traceability/risk",label:"Risk Assessments",icon:"⚠️"}];function j({children:a}){return(0,d.jsx)("html",{lang:"en",suppressHydrationWarning:!0,children:(0,d.jsx)("body",{children:(0,d.jsxs)("div",{className:"layout",children:[(0,d.jsxs)("aside",{className:"sidebar",children:[(0,d.jsxs)("div",{className:"sidebar-header",children:[(0,d.jsx)("h1",{style:{fontSize:"1.25rem",fontWeight:700,margin:0},children:"GAMP 5"}),(0,d.jsx)("span",{style:{fontSize:"0.75rem",color:"var(--text-secondary)"},children:"V-Model System"})]}),(0,d.jsx)("nav",{className:"sidebar-nav",children:(0,d.jsxs)("ul",{style:{listStyle:"none",padding:0,margin:0},children:[(0,d.jsx)("li",{children:(0,d.jsxs)(f(),{href:"/",className:"nav-link",children:[(0,d.jsx)("span",{children:"\uD83D\uDCCA"}),(0,d.jsx)("span",{children:"Dashboard"})]})}),(0,d.jsx)(g.NavSection,{label:"Specs",icon:"\uD83D\uDCD1",storageKey:"specs",items:i}),(0,d.jsx)("li",{children:(0,d.jsxs)(f(),{href:"/releases",className:"nav-link",children:[(0,d.jsx)("span",{children:"\uD83D\uDCE6"}),(0,d.jsx)("span",{children:"Releases"})]})})]})}),(0,d.jsxs)("div",{style:{marginTop:"2rem",paddingTop:"2rem",borderTop:"1px solid var(--border)"},children:[(0,d.jsx)("div",{style:{fontSize:"0.75rem",color:"var(--text-secondary)"},children:"GAMP 5 Compliant"}),(0,d.jsx)("div",{style:{fontSize:"0.75rem",color:"var(--text-secondary)",marginTop:"0.25rem"},children:"21 CFR Part 11 Ready"})]})]}),(0,d.jsx)("main",{className:"main-content",children:a})]})})})}},78335:()=>{},80476:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,81921,23)),Promise.resolve().then(c.t.bind(c,60440,23)),Promise.resolve().then(c.t.bind(c,84342,23)),Promise.resolve().then(c.t.bind(c,82265,23)),Promise.resolve().then(c.t.bind(c,35421,23)),Promise.resolve().then(c.t.bind(c,61335,23)),Promise.resolve().then(c.t.bind(c,70664,23)),Promise.resolve().then(c.bind(c,74661))},84963:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,95547,23))},88657:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,2116,23)),Promise.resolve().then(c.bind(c,44204))},90311:(a,b,c)=>{"use strict";c.d(b,{G0:()=>k,Lf:()=>j});var d=c(81787),e=c(29021),f=c(33873),g=c(1932);let h=(0,f.dirname)((0,g.fileURLToPath)("file:///Users/matthew/Code/github/p11o/machine/docs/src/lib/database/index.ts")),i=null;function j(){if(!i){let a=process.env.MACHINE_DB_PATH?process.env.MACHINE_DB_PATH:(0,f.join)(process.cwd(),"matrix.db");(i=new d.Database(a,{create:!0})).exec("PRAGMA foreign_keys = ON"),function(){if(!i)return;let a=(0,f.join)(h,"schema.sql"),b=(0,e.readFileSync)(a,"utf-8");i.exec(b)}()}return i}function k(){return process.env.MACHINE_SPECS_DIR?process.env.MACHINE_SPECS_DIR:(0,f.join)(process.cwd(),"specs")}},96487:()=>{}};
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=941,exports.ids=[941],exports.modules={27818:(a,b,c)=>{c.r(b),c.d(b,{"4029e7e4d67ee5166acd30181de6477e788c68ac9e":()=>o,"40819b9e3272b2a2e90f7779aa569592c172feaee5":()=>m,"605ad78b9fc68b119662ee147fa3e675e1a8a7165d":()=>p,"608a1eb44cf3bfbc19631e51c68c49e2a723fe80b6":()=>l,"60e27573fbd7b0ae0b2a249cba045ea5a5d2e8d0bd":()=>n});var d=c(95349),e=c(29021),f=c.n(e),g=c(33873),h=c.n(g),i=c(42650),j=c(82907),k=c(68864);async function l(a,b){try{let c=a.replace(/[^a-zA-Z0-9\-_\.]/g,"-").toLowerCase();if(!c.endsWith(".requirement"))return{success:!1,error:"Filename must end with .requirement"};let d=h().join(process.cwd(),"specs","fs",c);if(f().existsSync(d))return{success:!1,error:`File ${c} already exists`};f().writeFileSync(d,b,"utf-8");let e=function(a,b){let c=a.split("\n"),d=[],e=[],f=!1;for(let a of c){let b=a.trim();if(b.startsWith("@")&&!f){let a=b.split(/\s+/).filter(a=>a.startsWith("@"));e.push(...a)}else if(b.startsWith("Feature:")){f=!0;break}}let g=c.find(a=>a.trim().startsWith("Feature:")),i=g?.match(/Feature:\s*(.+)/),j=i?.[1]||h().basename(b),k=j.match(/^(FS-\d+)/),l=k?.[1]||h().basename(b,".requirement").toUpperCase(),m=c.findIndex(a=>a.trim().startsWith("Feature:")),n="",o=[];for(let a=m+1;a<c.length;a++){let b=c[a].trim();if(b.startsWith("Scenario")||b.startsWith("Background")||b.startsWith("@"))break;b.startsWith("-")?o.push(b.substring(1).trim()):b&&!b.startsWith("Requirements:")&&(n+=(n?" ":"")+b)}let p=null;for(let a=0;a<c.length;a++){let b=c[a].trim();if(b.startsWith("Scenario Outline:")||b.startsWith("Scenario:")){p&&d.push(p);let e=b.startsWith("Scenario Outline:"),f=b.replace(/Scenario( Outline)?:\s*/,""),g=[];for(let b=a-1;b>=0;b--){let a=c[b].trim();if(a.startsWith("@")){let b=a.split(/\s+/).filter(a=>a.startsWith("@"));g.unshift(...b)}else if(a)break}p={name:f,tags:g,steps:[],line:a+1,is_outline:e}}p&&/^(Given|When|Then|And|But)\s/.test(b)&&p.steps.push(b)}p&&d.push(p);let q=e.filter(a=>a.match(/@URS-\d+/)).map(a=>a.replace("@","")),r=e.filter(a=>a.match(/@RISK-\d+/)).map(a=>a.replace("@","")),s=new Date().toISOString().split("T")[0];return{id:l,type:"fs",title:j,file_path:b,description:n,requirements:o,urs_ids:q,risk_ids:r,scenarios:d,scenario_count:d.length,created_at:s,updated_at:s}}(b,d),g=(0,k.Lf)();for(let a of(g.query(`
|
|
2
|
-
INSERT INTO fs (id, title, file_path, description, requirements,
|
|
3
|
-
scenario_count, created_at, updated_at)
|
|
4
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?)
|
|
5
|
-
ON CONFLICT(id) DO UPDATE SET
|
|
6
|
-
title = excluded.title,
|
|
7
|
-
file_path = excluded.file_path,
|
|
8
|
-
description = excluded.description,
|
|
9
|
-
requirements = excluded.requirements,
|
|
10
|
-
scenario_count = excluded.scenario_count,
|
|
11
|
-
updated_at = excluded.updated_at
|
|
12
|
-
`).run(e.id,e.title,e.file_path,e.description,JSON.stringify(e.requirements),e.scenario_count,e.created_at,(0,k.lg)()),g.query("DELETE FROM fs_urs_link WHERE fs_id = ?").run(e.id),e.urs_ids))g.query("SELECT id FROM urs WHERE id = ?").get(a)&&g.query(`
|
|
13
|
-
INSERT OR IGNORE INTO fs_urs_link (fs_id, urs_id) VALUES (?, ?)
|
|
14
|
-
`).run(e.id,a);return(0,i.revalidatePath)("/"),(0,i.revalidatePath)("/matrix"),(0,i.revalidatePath)("/builder"),{success:!0,id:e.id}}catch(a){return{success:!1,error:String(a)}}}async function m(a){try{let b=(0,j.r_)(a);return(0,i.revalidatePath)("/"),(0,i.revalidatePath)("/matrix"),(0,i.revalidatePath)("/builder"),(0,i.revalidatePath)("/traceability"),{success:!0,id:b.id}}catch(a){return{success:!1,error:String(a)}}}async function n(a,b){try{let{updateURS:d}=await Promise.resolve().then(c.bind(c,15177)),e=d(a,b);if(!e)return{success:!1,error:"URS not found"};return(0,i.revalidatePath)("/"),(0,i.revalidatePath)("/matrix"),(0,i.revalidatePath)("/builder"),(0,i.revalidatePath)("/traceability"),{success:!0,id:e.id}}catch(a){return{success:!1,error:String(a)}}}async function o(a){try{let b=(0,j.w)(a);return(0,i.revalidatePath)("/"),(0,i.revalidatePath)("/matrix"),(0,i.revalidatePath)("/builder"),(0,i.revalidatePath)("/traceability"),{success:!0,id:b.id}}catch(a){return{success:!1,error:String(a)}}}async function p(a,b){try{let{updateRisk:d}=await Promise.resolve().then(c.bind(c,18986)),e=d(a,b);if(!e)return{success:!1,error:"Risk not found"};return(0,i.revalidatePath)("/"),(0,i.revalidatePath)("/matrix"),(0,i.revalidatePath)("/builder"),(0,i.revalidatePath)("/traceability"),{success:!0,id:e.id}}catch(a){return{success:!1,error:String(a)}}}(0,c(89337).D)([l,m,n,o,p]),(0,d.A)(l,"608a1eb44cf3bfbc19631e51c68c49e2a723fe80b6",null),(0,d.A)(m,"40819b9e3272b2a2e90f7779aa569592c172feaee5",null),(0,d.A)(n,"60e27573fbd7b0ae0b2a249cba045ea5a5d2e8d0bd",null),(0,d.A)(o,"4029e7e4d67ee5166acd30181de6477e788c68ac9e",null),(0,d.A)(p,"605ad78b9fc68b119662ee147fa3e675e1a8a7165d",null)},71081:(a,b,c)=>{c.d(b,{Er:()=>d.Er,Ey:()=>d.Ey,I1:()=>d.I1,Lo:()=>d.Lo,i7:()=>d.i7,wx:()=>f,x7:()=>d.x7,zm:()=>e});var d=c(30998);function e(){let a=(0,d.Er)(),b=(0,d.x7)(),c=new Map((0,d.I1)().map(a=>[a.id,a]));return a.map(a=>{let d=b.filter(b=>b.urs_ids.includes(a.id)),e=0;return{urs:a,fsItems:d.map(a=>{e+=a.scenario_count;let b=a.risk_ids.map(a=>c.get(a)).filter(Boolean);return{fs:a,risks:b}}),coverage:{fsCount:d.length,scenarioCount:e,hasCoverage:e>0}}})}function f(){let a=(0,d.Er)(),b=(0,d.x7)(),c=(0,d.I1)(),e=b.reduce((a,b)=>a+b.scenario_count,0),f=a.filter(a=>"draft"===a.status).length+c.filter(a=>"draft"===a.status).length,g=a.filter(a=>"review"===a.status).length+c.filter(a=>"review"===a.status).length,h=a.filter(a=>"approved"===a.status).length+c.filter(a=>"approved"===a.status).length,i=a.filter(a=>b.some(b=>b.urs_ids.includes(a.id))).length,j=b.filter(a=>a.scenario_count>0).length;return{counts:{urs:a.length,fs:b.length,scenarios:e,risk:c.length},byStatus:{draft:f,review:g,approved:h},coverage:{ursWithFS:i,ursTotal:a.length,fsWithTests:j,fsTotal:b.length}}}},88960:(a,b,c)=>{c.d(b,{KN:()=>k,Mo:()=>n,d0:()=>p,mQ:()=>j,t3:()=>m,wI:()=>i,yY:()=>o,zB:()=>l});var d=c(48249);c(67484);let e={width:"100%",padding:"0.875rem 1rem",fontSize:"0.9375rem",lineHeight:"1.5",color:"var(--text-primary)",background:"var(--bg-secondary)",borderWidth:"1px",borderStyle:"solid",borderColor:"var(--border)",borderRadius:"10px",outline:"none",transition:"all 0.2s ease"},f={borderColor:"var(--accent)",boxShadow:"0 0 0 3px rgba(99, 102, 241, 0.15)"},g={...e,cursor:"pointer",appearance:"none",backgroundImage:"url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%238888a0' d='M6 8L1 3h10z'/%3E%3C/svg%3E\")",backgroundRepeat:"no-repeat",backgroundPosition:"right 1rem center",paddingRight:"2.5rem"},h={...e,resize:"vertical",minHeight:"120px",fontFamily:"inherit"};function i(a,b){return{...e,...b===a?f:{}}}function j(a,b){return{...g,...b===a?f:{}}}function k(a,b){return{...h,...b===a?f:{}}}function l({label:a,children:b,required:c,compact:e,hint:f,action:g}){return(0,d.jsxs)("div",{style:{marginBottom:e?"0":"1.5rem"},children:[(0,d.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"0.5rem"},children:[(0,d.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"0.5rem"},children:[(0,d.jsx)("label",{style:{fontWeight:500,fontSize:"0.875rem",color:"var(--text-primary)"},children:a}),c&&(0,d.jsx)("span",{style:{color:"var(--accent)",fontSize:"0.75rem"},children:"Required"}),f&&(0,d.jsxs)("span",{style:{color:"var(--text-secondary)",fontSize:"0.8125rem",fontWeight:400},children:["— ",f]})]}),g&&(0,d.jsx)("button",{onClick:g.onClick,style:{padding:"0.375rem 0.75rem",fontSize:"0.8125rem",fontWeight:500,background:"transparent",border:"1px solid var(--accent)",borderRadius:"6px",color:"var(--accent)",cursor:"pointer",transition:"all 0.2s"},children:g.label})]}),b]})}function m({status:a}){return"idle"===a.type?null:(0,d.jsxs)("div",{style:{marginBottom:"1.5rem",padding:"1rem 1.25rem",borderRadius:"10px",background:"success"===a.type?"rgba(16, 185, 129, 0.1)":"rgba(239, 68, 68, 0.1)",color:"success"===a.type?"var(--success)":"var(--error)",fontSize:"0.9375rem",display:"flex",alignItems:"center",gap:"0.5rem",borderWidth:"1px",borderStyle:"solid",borderColor:"success"===a.type?"rgba(16, 185, 129, 0.2)":"rgba(239, 68, 68, 0.2)"},children:["success"===a.type?"✅":"❌"," ",a.message]})}function n({icon:a,title:b,subtitle:c}){return(0,d.jsxs)("div",{style:{marginBottom:"2rem",paddingBottom:"1.5rem",borderBottom:"1px solid var(--border)"},children:[(0,d.jsxs)("h2",{style:{margin:0,fontSize:"1.25rem",fontWeight:600},children:[a," ",b]}),(0,d.jsx)("p",{style:{margin:"0.25rem 0 0",color:"var(--text-secondary)",fontSize:"0.875rem"},children:c})]})}function o({onClick:a,disabled:b,isPending:c,label:e="Save"}){return(0,d.jsx)("button",{onClick:a,disabled:b,style:{padding:"0.75rem 1.5rem",fontSize:"0.9375rem",fontWeight:600,borderRadius:"10px",border:"none",cursor:b?"not-allowed":"pointer",background:b?"var(--bg-hover)":"linear-gradient(135deg, var(--gradient-start), var(--gradient-end))",color:b?"var(--text-secondary)":"white",transition:"all 0.2s ease",boxShadow:b?"none":"0 4px 12px rgba(99, 102, 241, 0.25)"},children:c?"\uD83D\uDCBE Saving...":`💾 ${e}`})}function p({onClick:a}){return(0,d.jsx)("button",{onClick:a,style:{padding:"0.5rem",background:"transparent",border:"1px solid var(--border)",borderRadius:"8px",color:"var(--text-secondary)",cursor:"pointer",transition:"all 0.2s",lineHeight:1},title:"Remove",children:"✕"})}}};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var a,b,c,d;self.__BUILD_MANIFEST=(a=0,b=0,c=0,d=0,{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:12,errorRate:1e-4,numBits:231,numHashes:14,bitArray:[0,0,1,0,0,1,1,0,1,0,0,1,0,0,0,1,1,0,0,1,0,1,0,1,0,1,1,1,0,0,0,0,0,1,0,1,1,0,1,0,0,1,1,0,1,1,0,0,1,1,1,0,1,1,1,0,1,1,0,0,1,1,0,0,1,1,1,1,0,1,1,0,0,0,0,0,1,1,1,0,1,1,1,1,0,0,1,1,0,1,1,1,1,0,0,1,1,0,0,1,1,1,1,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,1,1,0,1,1,0,1,0,0,1,0,1,0,1,1,1,1,0,0,1,1,0,0,0,1,1,1,1,0,0,0,0,1,0,0,1,0,0,0,0,1,0,1,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,1,1,1,0,0,1,0,1,1,1,1,1,1,0,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,1,0,1,0,0,1,1,0,1,1,0,0,1,1,0,1,0,0,0,0]},__routerFilterDynamic:{numItems:5,errorRate:1e-4,numBits:96,numHashes:14,bitArray:[0,1,1,0,1,0,1,0,1,1,0,0,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,0,0,1,1,1,0,1,0,0,1,1,0,0,1,0,0,0,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,0,1,1,0,1,0,1,0,1,1,1,1,0,1,1,1,1,1,1,0,0,1,0,1,0,1,0,1,0,1,1,1,1,1,0,0]},sortedPages:["/_app"]}),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[411],{1792:(e,r,a)=>{a.d(r,{saveFS:()=>d.h,saveRisk:()=>c.D,saveURS:()=>t.G,updateRiskAction:()=>v,updateURSAction:()=>f});var c=a(6016),t=a(3122),n=a(9339);let v=(0,n.createServerReference)("605ad78b9fc68b119662ee147fa3e675e1a8a7165d",n.callServer,void 0,n.findSourceMapURL,"updateRiskAction");var d=a(2905);let f=(0,n.createServerReference)("60e27573fbd7b0ae0b2a249cba045ea5a5d2e8d0bd",n.callServer,void 0,n.findSourceMapURL,"updateURSAction")},2905:(e,r,a)=>{a.d(r,{h:()=>t});var c=a(9339);let t=(0,c.createServerReference)("608a1eb44cf3bfbc19631e51c68c49e2a723fe80b6",c.callServer,void 0,c.findSourceMapURL,"saveFS")},3122:(e,r,a)=>{a.d(r,{G:()=>t});var c=a(9339);let t=(0,c.createServerReference)("40819b9e3272b2a2e90f7779aa569592c172feaee5",c.callServer,void 0,c.findSourceMapURL,"saveURS")},6016:(e,r,a)=>{a.d(r,{D:()=>t});var c=a(9339);let t=(0,c.createServerReference)("4029e7e4d67ee5166acd30181de6477e788c68ac9e",c.callServer,void 0,c.findSourceMapURL,"saveRisk")},9339:(e,r,a)=>{Object.defineProperty(r,"__esModule",{value:!0});var c={callServer:function(){return n.callServer},createServerReference:function(){return d.createServerReference},findSourceMapURL:function(){return v.findSourceMapURL}};for(var t in c)Object.defineProperty(r,t,{enumerable:!0,get:c[t]});let n=a(7304),v=a(4060),d=a(7197)}}]);
|