scip-query 0.10.2 → 0.10.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -8
- package/dist/{chunk-FGCL6NDB.js → chunk-237YUOPK.js} +2 -2
- package/dist/chunk-56UN3DMK.js +2 -0
- package/dist/chunk-5UDFZC4D.js +2 -0
- package/dist/{chunk-MHK7Z53U.js → chunk-6UFMPECA.js} +2 -2
- package/dist/chunk-7JOTOWZO.js +4 -0
- package/dist/chunk-A7RNHUJH.js +20 -0
- package/dist/chunk-AYYIZ4BA.js +4 -0
- package/dist/chunk-BNKE4TT5.js +2 -0
- package/dist/{chunk-CNTEQMHA.js → chunk-EYLXU575.js} +2 -2
- package/dist/chunk-KRGBLZT2.js +7 -0
- package/dist/chunk-MA7OVFHI.js +2 -0
- package/dist/chunk-QUJBXLBY.js +2 -0
- package/dist/chunk-UQJGTVHV.js +5 -0
- package/dist/chunk-WBJZNPUT.js +2 -0
- package/dist/{chunk-UNJG7P2I.js → chunk-YUTRW57I.js} +2 -2
- package/dist/cli.js +209 -197
- package/dist/frontend-behavior-evidence-BxKpKWUu.d.ts +4 -0
- package/dist/postinstall.js +3 -3
- package/dist/queries/co-change.js +1 -1
- package/dist/queries/diff-gate.d.ts +10 -3
- package/dist/queries/diff-gate.js +1 -1
- package/dist/queries/diff-impact.js +1 -1
- package/dist/queries/doc-drift.js +1 -1
- package/dist/queries/health.js +1 -1
- package/dist/queries/incomplete-migration.js +1 -1
- package/dist/queries/index.d.ts +1 -0
- package/dist/queries/index.js +1 -1
- package/dist/queries/plan-context.js +1 -1
- package/dist/queries/react-component-duplicates.js +1 -1
- package/dist/queries/react-hook-candidates.d.ts +3 -2
- package/dist/queries/react-hook-candidates.js +1 -1
- package/dist/queries/recent-duplicates.js +1 -1
- package/dist/queries/similar.d.ts +9 -1
- package/dist/queries/similar.js +1 -1
- package/dist/queries/vue-component-duplicates.js +1 -1
- package/dist/queries/vue-composable-candidates.d.ts +3 -2
- package/dist/queries/vue-composable-candidates.js +1 -1
- package/dist/runtime.js +1 -1
- package/docs/AGENT_GUIDE.md +42 -5
- package/docs/AI_FAILURE_MODES.md +28 -21
- package/docs/COMMAND_REFERENCE.md +4 -2
- package/docs/analyzer-inventory.md +5 -1
- package/docs/analyzer-validation-ledger.md +8 -0
- package/package.json +3 -2
- package/skills/concrete-plan/SKILL.md +3 -5
- package/skills/concrete-plan/agents/openai.yaml +4 -0
- package/skills/scip-adoption/SKILL.md +120 -0
- package/skills/scip-adoption/agents/openai.yaml +4 -0
- package/skills/scip-ai-cleanup/SKILL.md +12 -4
- package/skills/scip-ai-cleanup/agents/openai.yaml +4 -0
- package/skills/scip-api-impact/SKILL.md +147 -0
- package/skills/scip-api-impact/agents/openai.yaml +4 -0
- package/skills/scip-debloat/SKILL.md +15 -13
- package/skills/scip-debloat/agents/openai.yaml +4 -0
- package/skills/scip-debug/SKILL.md +119 -0
- package/skills/scip-debug/agents/openai.yaml +4 -0
- package/skills/scip-diagram/SKILL.md +138 -0
- package/skills/scip-diagram/agents/openai.yaml +4 -0
- package/skills/scip-directory-architecture/SKILL.md +2 -2
- package/skills/scip-directory-architecture/agents/openai.yaml +4 -0
- package/skills/scip-doc-reconcile/SKILL.md +1 -3
- package/skills/scip-doc-reconcile/agents/openai.yaml +4 -0
- package/skills/scip-explore/SKILL.md +8 -2
- package/skills/scip-explore/agents/openai.yaml +4 -0
- package/skills/scip-health-audit/SKILL.md +158 -0
- package/skills/scip-health-audit/agents/openai.yaml +4 -0
- package/skills/scip-health-improve/SKILL.md +151 -0
- package/skills/scip-health-improve/agents/openai.yaml +4 -0
- package/skills/scip-language-playbook/SKILL.md +7 -4
- package/skills/scip-language-playbook/agents/openai.yaml +4 -0
- package/skills/scip-maintainability/SKILL.md +7 -3
- package/skills/scip-maintainability/agents/openai.yaml +4 -0
- package/skills/scip-query/SKILL.md +74 -33
- package/skills/scip-query/agents/openai.yaml +4 -0
- package/skills/scip-query-setup/SKILL.md +65 -18
- package/skills/scip-query-setup/agents/openai.yaml +3 -0
- package/skills/scip-react-maintainability/SKILL.md +2 -2
- package/skills/scip-react-maintainability/agents/openai.yaml +4 -0
- package/skills/scip-triage-issue/SKILL.md +112 -0
- package/skills/scip-triage-issue/agents/openai.yaml +4 -0
- package/skills/scip-verify/SKILL.md +83 -232
- package/skills/scip-verify/agents/openai.yaml +4 -0
- package/skills/scip-vue-maintainability/SKILL.md +2 -3
- package/skills/scip-vue-maintainability/agents/openai.yaml +4 -0
- package/dist/chunk-5B53WB6E.js +0 -4
- package/dist/chunk-DRAZH77R.js +0 -7
- package/dist/chunk-FPMVCDIJ.js +0 -2
- package/dist/chunk-GS33KGAY.js +0 -2
- package/dist/chunk-MHTDOFV7.js +0 -5
- package/dist/chunk-NP5HYVLX.js +0 -20
- package/dist/chunk-O4L4AB3T.js +0 -2
- package/dist/chunk-TO54DY4O.js +0 -2
- package/dist/chunk-UMNENNTX.js +0 -2
- package/dist/chunk-WDUTG2ZR.js +0 -4
package/dist/chunk-TO54DY4O.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as y}from"./chunk-PVZMPG5I.js";import{a as k,b as p,c as H}from"./chunk-3UVJJ6Z7.js";import{e as v}from"./chunk-EWC3UK4V.js";function x(e,s={}){let{minSimilarity:r=.45,minSharedBehaviors:a=6,limit:t=20,scope:c,scanLimit:i,filePattern:l}=s,d=v(e,{scope:c,minBehaviorTokens:Math.max(3,a),scanLimit:i}).map(o=>({file:o.file,component:o.name,tokens:o.behaviorTokens,profile:o}));return y({profiles:d,limit:t,filePattern:l,compare:(o,n)=>b(o,n,r,a),sort:(o,n)=>n.similarity-o.similarity||o.fileA.localeCompare(n.fileA)||o.componentA.localeCompare(n.componentA)||o.fileB.localeCompare(n.fileB)||o.componentB.localeCompare(n.componentB)})}function b(e,s,r,a){let t=k(e.tokens,s.tokens);if(t.size<a||!T(t))return null;let c=S(e.tokens,s.tokens);if(c<r)return null;let i=h(t,"hook:"),l=h(t,"react-hook:"),d=h(t,"effect:"),o=h(t,"state:"),n=h(t,"request:"),u=h(t,"handler:"),g=h(t,"handler-verb:"),m=A({sharedHooks:i,sharedReactHooks:l,sharedEffects:d,sharedState:o,sharedRequests:n,sharedHandlers:u,sharedHandlerVerbs:g});return{fileA:e.file,componentA:e.component,fileB:s.file,componentB:s.component,similarity:c,sharedTokens:R(t),sharedHooks:i,sharedReactHooks:l,sharedEffects:d,sharedState:o,sharedRequests:n,sharedHandlers:u,sharedHandlerVerbs:g,evidenceClass:m.evidenceClass,actionTier:m.actionTier,evidenceClassReasons:m.reasons,recommendation:m.recommendation,uniqueToA:R(p(e.tokens,s.tokens)).slice(0,25),uniqueToB:R(p(s.tokens,e.tokens)).slice(0,25),reason:E({sharedHooks:i,sharedReactHooks:l,sharedEffects:d,sharedState:o,sharedRequests:n,sharedHandlers:u,sharedHandlerVerbs:g}),locA:e.profile.loc,locB:s.profile.loc}}function A(e){let s=[],r=[],a=[];e.sharedReactHooks.length&&r.push(`shared React primitives: ${e.sharedReactHooks.join(", ")}`),e.sharedEffects.length&&r.push(`shared lifecycle primitive: ${e.sharedEffects.join(", ")}`),f(e.sharedHooks,"shared hook",s,a),f(e.sharedRequests,"shared request",s,r),f(e.sharedState,"shared state",s,r),f(e.sharedHandlers,"shared handler",s,r),f(e.sharedHandlerVerbs,"shared action verb",s,r);let t=s.length>0,c=r.length>0,i=a.length>0,l=t?c||i?"mixed":"domain-behavior":i?"shared-abstraction":"generic-workflow-scaffolding",d=l==="domain-behavior"||l==="mixed"?"signal":"support",o=[...s,...a,...r].slice(0,6);return{actionTier:d,evidenceClass:l,reasons:o,recommendation:w(l)}}function f(e,s,r,a){let t=[],c=[];for(let i of e)B(i)?t.push(i):c.push(i);t.length&&r.push(`${s} has domain term(s): ${t.slice(0,6).join(", ")}`),c.length&&a.push(`${s} is generic workflow: ${c.slice(0,6).join(", ")}`)}function B(e){return C(e).filter(r=>!P.has(r)).length>0}function C(e){return e.replace(/([A-Z])([A-Z][a-z])/g,"$1 $2").replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/^use(?=[A-Z])/,"").replace(/^handle(?=[A-Z])/,"").replace(/^is(?=[A-Z])/,"").replace(/^has(?=[A-Z])/,"").toLowerCase().split(/[^a-z0-9]+/).filter(Boolean)}function w(e){switch(e){case"domain-behavior":return"Review for a shared hook, controller, or feature module around the named domain behavior.";case"mixed":return"Separate generic React mechanics from domain-specific behavior before extracting a shared hook.";case"shared-abstraction":return"Review the existing shared hook usage first; extract only if duplicated behavior remains outside it.";case"generic-workflow-scaffolding":return"Treat as support evidence for a repeated workflow shape, not direct hook-extraction evidence."}}function S(e,s){if(e.size===0||s.size===0)return 0;let a=k(e,s).size/Math.min(e.size,s.size);return Math.max(H(e,s),a)}function T(e){let s=0,r=0,a=0,t=0,c=0,i=0,l=0;for(let n of e)n.startsWith("hook:")?s+=1:n.startsWith("react-hook:")?r+=1:n.startsWith("effect:")?a+=1:n.startsWith("request:")?t+=1:n.startsWith("handler:")||n.startsWith("handler-verb:")?c+=1:n.startsWith("state:")?i+=1:n.startsWith("state-hook:")&&(l+=1);let d=i+l,o=s+r+a+t+c+d;return t>=1&&o>=4||s>=1&&(t>=1||i>=1||c>=2)&&o>=5||i>=1&&c>=2&&(a>=1||r>=2)&&o>=5}function E(e){let s=[];return e.sharedHooks.length&&s.push(`shared hooks: ${e.sharedHooks.join(", ")}`),e.sharedReactHooks.length&&s.push(`shared React hooks: ${e.sharedReactHooks.join(", ")}`),e.sharedEffects.length&&s.push(`shared effects: ${e.sharedEffects.join(", ")}`),e.sharedState.length&&s.push(`shared state: ${e.sharedState.join(", ")}`),e.sharedRequests.length&&s.push(`shared requests: ${e.sharedRequests.join(", ")}`),e.sharedHandlers.length&&s.push(`shared handlers: ${e.sharedHandlers.slice(0,6).join(", ")}`),e.sharedHandlerVerbs.length&&s.push(`shared action verbs: ${e.sharedHandlerVerbs.slice(0,6).join(", ")}`),s.join("; ")||"shared React behavior profile"}function h(e,s){return[...e].filter(r=>r.startsWith(s)).map(r=>r.slice(s.length)).sort()}function R(e){return[...e].sort()}var P=new Set(["add","apply","async","callback","cancel","change","clear","close","create","data","delete","draft","edit","effect","error","fetch","filter","form","handle","has","is","item","items","load","loader","loading","memo","name","open","reducer","refresh","ref","remove","request","reset","resource","row","rows","save","saving","search","select","selected","state","store","submit","toggle","update","use","value"]);export{x as a};
|
|
2
|
-
//# sourceMappingURL=chunk-TO54DY4O.js.map
|
package/dist/chunk-UMNENNTX.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as u}from"./chunk-PVZMPG5I.js";import{a as p,b as l,c as f}from"./chunk-3UVJJ6Z7.js";import{e as m}from"./chunk-EWC3UK4V.js";function v(n,t={}){let{minSimilarity:o=.62,minTokens:e=8,limit:a=20,scope:g,scanLimit:d,filePattern:h}=t,k=m(n,{scope:g,minJsxTokens:e,scanLimit:d}).filter(i=>i.kind==="component").map(i=>({file:i.file,component:i.name,tokens:i.jsxTokens,profile:i}));return u({profiles:k,limit:a,filePattern:h,compare:(i,r)=>P(i,r,o),sort:(i,r)=>r.similarity-i.similarity||i.fileA.localeCompare(r.fileA)||i.componentA.localeCompare(r.componentA)||i.fileB.localeCompare(r.fileB)||i.componentB.localeCompare(r.componentB)})}function P(n,t,o){let e=p(n.tokens,t.tokens);if(e.size<6||!B(e))return null;let a=f(n.tokens,t.tokens);return a<o?null:{fileA:n.file,componentA:n.component,fileB:t.file,componentB:t.component,similarity:a,sharedTokens:c(e),sharedComponents:s(e,"component:"),sharedNativeTags:s(e,"native:"),sharedProps:s(e,"prop:"),sharedEvents:s(e,"event:"),sharedBindings:s(e,"binding:"),uniqueToA:c(l(n.tokens,t.tokens)).slice(0,25),uniqueToB:c(l(t.tokens,n.tokens)).slice(0,25),locA:n.profile.loc,locB:t.profile.loc}}function B(n){let t=0,o=0;for(let e of n)e.startsWith("component:")&&(t+=1),(e.startsWith("prop:")||e.startsWith("event:")||e.startsWith("native:")||e.startsWith("jsx:"))&&(o+=1);return t>=1||o>=4}function s(n,t){return[...n].filter(o=>o.startsWith(t)).map(o=>o.slice(t.length)).sort()}function c(n){return[...n].sort()}export{v as a};
|
|
2
|
-
//# sourceMappingURL=chunk-UMNENNTX.js.map
|
package/dist/chunk-WDUTG2ZR.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{a as E,d as I}from"./chunk-DRAZH77R.js";import{b as _,c as v,d as N}from"./chunk-A4L36SZS.js";import{existsSync as X,readFileSync as A}from"fs";import{join as D}from"path";function j(t,n){let e=$(t,n)??W(t,n)??G(t,n)??Z(t,n);return J(t,e,n)}function $(t,n){let e=-1,i=null;for(let o=0;o<=n;o+=1){let r=x(t[o]??"");r&&(i===null?(i=r,e=o):r===i&&(i=null,e=-1))}if(i===null||e<0)return null;for(let o=n+1;o<t.length;o+=1)if(x(t[o]??"")===i)return{start:e,end:o+1};return{start:e,end:t.length}}function x(t){let n=t.match(/^\s*(```+|~~~+)/);return n?n[1].startsWith("`")?"`":"~":null}function W(t,n){if(!y(t[n]??""))return null;let e=n;for(;e>0&&y(t[e-1]??"");)e-=1;let i=n+1;for(;i<t.length&&y(t[i]??"");)i+=1;return{start:e,end:i}}function y(t){let n=t.trim();return n.startsWith("|")&&n.endsWith("|")&&n.includes("|")}function G(t,n){let e=n;for(;e>=0;){let r=t[e]??"";if(T(r)!==null)break;if(k(r)!==null)return null;e-=1}if(e<0)return null;let i=T(t[e]??"");if(i===null)return null;let o=e+1;for(;o<t.length;){let r=t[o]??"",s=T(r);if(s!==null){if(s<=i)break;o+=1;continue}if(k(r)!==null)break;o+=1}return{start:e,end:o}}function T(t){let n=t.match(/^(\s*)(?:[-*+]\s+|\d+[.)]\s+)/);return n?n[1].length:null}function Z(t,n){let e=t[n]??"";if(L(e)||e.trim().length===0)return{start:n,end:n+1};let i=n;for(;i>0&&O(t[i-1]??"");)i-=1;let o=n+1;for(;o<t.length&&O(t[o]??"");)o+=1;return{start:i,end:o}}function O(t){return k(t)===null}function k(t){return t.trim().length===0?"blank":L(t)?"heading":x(t)?"fence":y(t)?"table":T(t)!==null?"list":null}function L(t){return/^#{1,6}\s+/.test(t.trim())}function J(t,n,e){let{start:i,end:o}=n;if(o-i>40){let s=Math.floor(20);i=Math.max(i,e-s),o=Math.min(o,i+40),i=Math.max(n.start,o-40)}let r=t.slice(i,o).join(`
|
|
2
|
-
`).trim();return r.length<=2e3?r:`${r.slice(0,2e3).trimEnd()}...`}var p=/\.(?:md|mdx|rst|txt)$/i;function q(t){return/(?:^|\/)(?:docs\/plans|plans|adrs?|rfcs?|decisions|changelogs?|archive|reports?)\//i.test(t)||/(?:^|\/)CHANGELOG\.(?:md|mdx|rst|txt)$/i.test(t)}var K=3,H=/[A-Za-z0-9_@-]+(?:\/[A-Za-z0-9_.@-]+)+\.[A-Za-z0-9]{1,6}\b/g;function lt(t,n={}){let{doc:e,limit:i=20,minCoupling:o=K}=n,r=Y(t);if(!r)return{available:!1,commitsAnalyzed:0,docsScanned:0,findings:[]};let s=[];for(let c of r.docFiles){if(e!==void 0&&!c.includes(e)||e===void 0&&!z(t,c)||e!==void 0&&!X(D(t.config.projectRoot,c)))continue;let d=Math.max(0,...r.changeTimes.get(c)??[]),g=Q(t,c),l=new Map,{resolved:a,broken:u,citations:m}=P(t,c,r.tracked,r.trackedBySuffix,r.everSeenInHistory),S=new Map(m.map(f=>[f.file,f.contexts]));for(let f of a){if(f===c||p.test(f))continue;let h=(r.changeTimes.get(f)??[]).filter(b=>b>d).length;h!==0&&l.set(f,{file:f,evidence:"reference",coChanges:0,changesSinceDocUpdate:h,...w("reference",g),citationContexts:S.get(f)})}for(let[f,h]of r.coupling.get(c)??[]){if(h<o||!r.tracked.has(f))continue;let b=(r.changeTimes.get(f)??[]).filter(U=>U>d).length;if(b===0)continue;let C=l.get(f);C?(C.evidence="both",C.coChanges=h,Object.assign(C,w("both",g))):l.set(f,{file:f,evidence:"co-change",coChanges:h,changesSinceDocUpdate:b,...w("co-change",g)})}if(l.size===0&&u.length===0)continue;let R=[...l.values()].sort((f,h)=>h.changesSinceDocUpdate-f.changesSinceDocUpdate);s.push({doc:c,docLastChangedAt:d,staleness:R.reduce((f,h)=>f+h.changesSinceDocUpdate,0)+u.length*10,subjects:R.slice(0,8),brokenReferences:u})}return s.sort((c,d)=>d.staleness-c.staleness),{available:!0,commitsAnalyzed:r.historyCommitCount,docsScanned:r.docFiles.length,findings:s.slice(0,i)}}function Q(t,n){let e;try{e=A(D(t.config.projectRoot,n),"utf8").slice(0,6e3)}catch{return{docIntent:"unknown",reasons:["doc text unavailable"]}}let i=`${n}
|
|
3
|
-
${e}`.toLowerCase(),o=F(i,["historical note","historical record","history note","retrospective","postmortem","post-mortem","archived","archive","previously","legacy","recorded","record of","snapshot","as of","migration note","decision record"]);if(o.length>0)return{docIntent:"historical-note",reasons:[`historical-note terms: ${o.join(", ")}`]};let r=F(i,["current","standard","standards","must","should","policy","guide","guidance","workflow","contract","invariant","source of truth"]);return r.length>0?{docIntent:"current-guidance",reasons:[`current-guidance terms: ${r.join(", ")}`]}:{docIntent:"unknown",reasons:["no current-guidance or historical-note markers found"]}}function F(t,n){return n.filter(e=>t.includes(e))}function w(t,n){return{actionTier:V(t,n.docIntent),docIntent:n.docIntent,docIntentReasons:n.reasons}}function V(t,n){return n==="historical-note"?"support":t==="co-change"?"signal":"direct"}function Y(t){let n=E(t);if(!n)return null;let e=I(t)??new Set,i=new Map,o=new Map,r=new Set;for(let s of n.commits){let c=[...new Set(s.files)],d=c.filter(l=>p.test(l)),g=c.filter(l=>!p.test(l));for(let l of c){r.add(l);let a=i.get(l)??[];a.push(s.timestamp),i.set(l,a)}for(let l of d){let a=o.get(l);a||(a=new Map,o.set(l,a));for(let u of g)a.set(u,(a.get(u)??0)+1)}}return{changeTimes:i,coupling:o,docFiles:[...e].filter(s=>p.test(s)),everSeenInHistory:r,historyCommitCount:n.commits.length,tracked:e,trackedBySuffix:B(e)}}function ut(t,n){let e=I(t)??new Set,i=B(e),o=[];for(let r of e){if(!z(t,r))continue;let{resolved:s,citations:c}=P(t,r,e,i,new Set),d=[...s].filter(g=>n.has(g));if(d.length>0){let g=d.sort(),l=new Set(g),a=c.filter(u=>l.has(u.file));o.push({doc:r,cited:g,citations:a,citedClaims:M(a.flatMap(u=>u.contexts)).slice(0,3)})}}return o}function z(t,n){return p.test(n)&&!q(n)&&X(D(t.config.projectRoot,n))}function B(t){let n=new Map;for(let e of t){let i=e.split("/");for(let o of[2,3]){if(i.length<o)continue;let r=i.slice(-o).join("/"),s=n.get(r)??[];s.push(e),n.set(r,s)}}return n}function P(t,n,e,i,o){let r=new Set,s=new Set,c=et(t,n);if(!c)return{resolved:r,broken:[],citations:[]};let d=tt(t,n,c),g=new Map,l=(a,u)=>{let m=d.get(u);if(!m||m.length===0)return;let S=g.get(a)??[];S.push(...m),g.set(a,M(S).slice(0,3))};for(let a of c){if(e.has(a)){r.add(a),l(a,a);continue}let u=i.get(a);if(u&&u.length===1){r.add(u[0]),l(u[0],a);continue}u&&u.length>1||o.has(a)&&s.add(a)}return{resolved:r,broken:[...s],citations:[...g].map(([a,u])=>({file:a,contexts:u}))}}function tt(t,n,e){let i;try{i=A(D(t.config.projectRoot,n),"utf-8").split(/\r?\n/)}catch{return new Map}let o=new Set(e),r=new Map;for(let s=0;s<i.length;s+=1){let c=i[s]??"";for(let d of c.matchAll(H)){let g=d[0].replace(/^\.?\//,"");if(!o.has(g))continue;let l=j(i,s);if(l.length===0)continue;let a=r.get(g)??[];a.push(l),r.set(g,M(a).slice(0,3))}}return r}function M(t){let n=[];for(let e of new Set(t))n.some(i=>nt(i,e))||n.push(e);return n}function nt(t,n){if(t===n)return!0;let e=t.split(/\r?\n/).map(c=>c.trim()).filter(c=>c.length>0),i=n.split(/\r?\n/).map(c=>c.trim()).filter(c=>c.length>0),o=Math.min(e.length,i.length);if(o===0)return!1;if(o<3)return t.includes(n)||n.includes(t);let r=new Set(i),s=e.filter(c=>r.has(c)).length;return s>=3&&s/o>=.6}function et(t,n){let e;try{e=A(D(t.config.projectRoot,n),"utf-8")}catch{return null}let i=_(t,n,e),o=v(t,"doc-path-tokens",n,i);if(o!==null)try{return JSON.parse(o)}catch{}let r=[...new Set([...e.matchAll(H)].map(s=>s[0].replace(/^\.?\//,"")))];return N(t,"doc-path-tokens",n,i,JSON.stringify(r)),r}export{j as a,q as b,lt as c,ut as d};
|
|
4
|
-
//# sourceMappingURL=chunk-WDUTG2ZR.js.map
|