faf-cli 7.0.2 → 7.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -146,7 +146,7 @@ ${Z.comment}`:Z.comment}this.doc.range[2]=Z.offset;break}default:this.errors.pus
146
146
  <meta charset="UTF-8">
147
147
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
148
148
  <title>${X} — project.faf</title>
149
- <meta name="description" content="Visual render of project.faf. Generated by faf — humans like visuals, we gave them one.">
149
+ <meta name="description" content="Visual render of project.faf. Authored by faf — humans like visuals, we gave them one.">
150
150
  <meta name="robots" content="index,follow">
151
151
  <style>
152
152
  *{margin:0;padding:0;box-sizing:border-box}
@@ -222,5 +222,5 @@ Rendered on-demand from your current <strong>${S0(U)}</strong><br>
222
222
  `),X=0;while(X<U.length){let Q=U[X].trim().match(/^(#{1,6})\s+(.+)$/);if(Q&&Z.test(Q[2])){let J=Q[1].length,q=[];X++;while(X<U.length){let H=U[X].trim(),G=H.match(/^(#{1,6})\s+/);if(G&&G[1].length<=J)break;if(H===""){if(q.length>0)break;X++;continue}if(/^(>|```|---|\||\s*[-*+]\s|\d+\.\s)/.test(H))break;q.push(H),X++}if(q.length===0)return null;return q.join(" ").trim()}X++}return null}function lq($){let Z=D0($,/^(use\s+cases?|goal)\b/i);if(Z&&p(Z))return Z;let U=pq($);if(U&&p(U))return U;return}function dq($){let Z=D0($,/^(about|description|overview|what(\s+is\s+this)?)\b/i);if(Z&&p(Z))return Z;return}function cq($){let Z=D0($,/^(audience|users?|for\s+whom|who(\s+is\s+this\s+for)?)\b/i);if(Z&&p(Z))return Z;return}function aq($){let Z=D0($,/^(why|motivation|problem|rationale)\b/i);if(Z&&p(Z))return Z;return}function iq($){let Z=D0($,/^(deployment|where(\s+it\s+runs)?|hosting)\b/i);if(Z&&p(Z))return Z;return}function sq($){let Z=D0($,/^(status|history|timeline|since|launched)\b/i);if(Z&&p(Z))return Z;return}function rq($){let Z=D0($,/^(architecture|how(\s+it\s+works)?|approach|design)\b/i);if(Z&&p(Z))return Z;return}function k2($){let Z=["README.md","README.MD","Readme.md","readme.md"],U=null;for(let O of Z){let _=vq($,O);if(uq(_)){U=_;break}}if(!U)return{};let X;try{X=kq(U,"utf-8")}catch{return{}}let z={},Q=lq(X);if(Q)z.project={goal:Q};let J={},q=dq(X);if(q)J.what=q;let H=cq(X);if(H)J.who=H;let G=aq(X);if(G)J.why=G;let W=iq(X);if(W)J.where=W;let Y=sq(X);if(Y)J.when=Y;let V=rq(X);if(V)J.how=V;if(Object.keys(J).length>0)z.human_context=J;return z}import{existsSync as nq,readFileSync as oq}from"fs";import{join as tq}from"path";function eq($,Z){let U=$.split(`
223
223
  `),X=!1;for(let z of U){let Q=z.trim();if(/^\[/.test(Q)){X=Q==="[package]";continue}if(!X)continue;let J=Q.match(new RegExp(`^${Z}\\s*=\\s*(.+)$`));if(J){let q=J[1].trim();q=q.replace(/\s*#.*$/,"").trim();let H=q.match(/^"((?:[^"\\]|\\.)*)"$/)||q.match(/^'((?:[^'\\]|\\.)*)'$/);if(H)return H[1];return q}}return null}function v2($){let Z=tq($,"Cargo.toml");if(!nq(Z))return{};let U;try{U=oq(Z,"utf-8")}catch{return{}}let X=eq(U,"description");if(X&&p(X))return{project:{goal:X}};return{}}function $H($,Z){let U={project:{...Z.project??{},...$.project??{}},human_context:{...Z.human_context??{},...$.human_context??{}}};if(U.project&&Object.keys(U.project).length===0)delete U.project;if(U.human_context&&Object.keys(U.human_context).length===0)delete U.human_context;return U}function e4($){return $H(k2($),v2($))}function ZH($){let Z=o4($),U=e4($),X=Y9(Z,U);UH(X);let z=Y9(X,x2($));return Y9(z,{human_context:h2($)})}function UH($){let Z=$.project?.type??"library",U=I0[Z]||I0.library;for(let X of y){if(U.includes(X.category))continue;let[z,Q]=X.path.split(".");if(z==="stack"&&$.stack)$.stack[Q]="slotignored";if(z==="monorepo"&&$.monorepo)$.monorepo[Q]="slotignored"}}function Y9($,Z){let U={...$};for(let[X,z]of Object.entries(Z)){let Q=U[X];if(q0(Q))U[X]=z;else if(typeof z==="object"&&z!==null&&!Array.isArray(z)&&typeof Q==="object"&&Q!==null&&!Array.isArray(Q))U[X]=Y9(Q,z)}return U}export{jJ as writeServerCard,PJ as writeProjectHtml,_6 as validateFaf,x2 as turboCatSlots,E4 as turboCatScan,Q6 as slotsByCategory,F4 as seedSixWsFromGoal,_9 as scoreFafYaml,uJ as runLoop,h4 as relentlessContextDetailed,h2 as relentlessContext,bJ as registryName,wJ as registryMeta,z4 as readFafRaw,VJ as readFaf,j2 as questionForSlot,lJ as publicQuestions,H9 as normalizeAnswer,A4 as loopVerdict,L9 as kernel,q0 as isPlaceholder,K4 as isHumanSlot,q9 as isEmptyValue,EJ as interviewForMissing,dJ as gradeAnswers,m0 as getTier,H6 as getNextTier,W4 as generateServerCard,G4 as generateProjectHtml,Q4 as findFafFile,b2 as fafContextBlock,c2 as enrichScore,pJ as deriveQuestionSet,T4 as classifyGaps,xJ as buildTableOf8,cJ as buildReceipt,ZH as assembleFreshFaf,C4 as answersMatch,i as TIERS,M4 as STACK_INTERVIEW,u0 as SLOT_BY_PATH,y as SLOTS,C2 as SIX_WS_INTERVIEW,O4 as REGISTRY_PUBLISHER_KEY,_$ as PLACEHOLDERS,R4 as INTERVIEW_VERSION,SJ as INTERVIEW_PATHS,P4 as INTERVIEW_BY_PATH,g0 as INTERVIEW,v0 as FAF_HEX,q6 as ENTERPRISE_SLOTS,E2 as BENCH_VERSION,J6 as BASE_SLOTS,b4 as ALIAS_GROUPS};
224
224
 
225
- //# debugId=55FCAAE8CC3A663464756E2164756E21
225
+ //# debugId=FC4CF824C7150B9364756E2164756E21
226
226
  //# sourceMappingURL=index.js.map