@plebeiantech/lat.md 0.12.3-fork.17 → 0.12.3-fork.20
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 +1 -1
- package/dist/src/cli/agent-invocation.d.ts +6 -0
- package/dist/src/cli/agent-invocation.js +23 -0
- package/dist/src/cli/fork-instructions.js +1 -1
- package/dist/src/cli/fork-scaffold.js +2 -2
- package/dist/src/cli/graph.d.ts +1 -1
- package/dist/src/cli/hook.js +11 -11
- package/dist/src/cli/index.js +41 -59
- package/dist/src/cli/init-preferences.js +5 -4
- package/dist/src/cli/init.d.ts +1 -1
- package/dist/src/cli/init.js +54 -45
- package/dist/src/cli/reindex.d.ts +1 -1
- package/dist/src/cli/reindex.js +2 -2
- package/dist/src/cli/search.d.ts +4 -4
- package/dist/src/cli/search.js +41 -28
- package/dist/src/cli/ui-build-server.d.ts +1 -1
- package/dist/src/cli/ui-build.d.ts +1 -1
- package/dist/src/cli/ui.d.ts +1 -1
- package/dist/src/fork/antigravity-hook.js +6 -6
- package/dist/src/fork/antigravity-init.d.ts +2 -2
- package/dist/src/fork/antigravity-init.js +2 -2
- package/dist/src/graph-export.js +7 -7
- package/dist/src/knowledge/index.js +2 -2
- package/dist/src/mcp/server.js +8 -8
- package/dist/src/search/cache.d.ts +1 -1
- package/dist/src/search/cache.js +40 -7
- package/dist/src/search/chunks.d.ts +2 -2
- package/dist/src/search/db.d.ts +5 -4
- package/dist/src/search/db.js +36 -40
- package/dist/src/search/embedder.js +1 -1
- package/dist/src/search/index.d.ts +1 -1
- package/dist/src/search/index.js +2 -2
- package/dist/src/search/lock.d.ts +4 -1
- package/dist/src/search/lock.js +30 -8
- package/dist/src/search/query.d.ts +5 -2
- package/dist/src/search/query.js +55 -38
- package/dist/src/search/search.d.ts +3 -1
- package/dist/src/search/search.js +21 -12
- package/dist/src/search/types.d.ts +2 -18
- package/dist/src/view/client/assets/{GraphView-BWlRdQM4.js → GraphView-Dij8mAA_.js} +1 -1
- package/dist/src/view/client/assets/{MarkdownEditor-MW-Ck1O0.js → MarkdownEditor-88Wbt0M1.js} +1 -1
- package/dist/src/view/client/assets/{abnfDiagram-VCTEODGH-Bn3RshMV.js → abnfDiagram-VCTEODGH-y0DlYa8E.js} +1 -1
- package/dist/src/view/client/assets/{arc-En9tdFQF.js → arc-FlMu8dnO.js} +1 -1
- package/dist/src/view/client/assets/{architectureDiagram-5GKGNRK7-B-9J1VAM.js → architectureDiagram-5GKGNRK7-DA_uWZW1.js} +1 -1
- package/dist/src/view/client/assets/{blockDiagram-I7D4REHJ-QlznwalP.js → blockDiagram-I7D4REHJ-BHQ5LU85.js} +1 -1
- package/dist/src/view/client/assets/{c4Diagram-7LVT6UL2-Bp2y8B4_.js → c4Diagram-7LVT6UL2-BRucKCt2.js} +1 -1
- package/dist/src/view/client/assets/channel-BgDNA_Ay.js +1 -0
- package/dist/src/view/client/assets/{chunk-2Q5K7J3B-CnBKL-lm.js → chunk-2Q5K7J3B-BJPcFivt.js} +1 -1
- package/dist/src/view/client/assets/{chunk-5VM5RSS4-LLYMi_n6.js → chunk-5VM5RSS4-v2q99bGz.js} +1 -1
- package/dist/src/view/client/assets/{chunk-F27PBJKO-VIeO7VF0.js → chunk-F27PBJKO-CcHOuJCs.js} +1 -1
- package/dist/src/view/client/assets/{chunk-IMKFNOWR-D5i67DVD.js → chunk-IMKFNOWR-DNxYuJNq.js} +1 -1
- package/dist/src/view/client/assets/{chunk-JWPE2WC7-D4qAtoL3.js → chunk-JWPE2WC7-C0eHKvLW.js} +1 -1
- package/dist/src/view/client/assets/{chunk-POPQ4Y6H-BMzOyiW_.js → chunk-POPQ4Y6H-57CWp2Ve.js} +1 -1
- package/dist/src/view/client/assets/{chunk-SVP7TREG-DWy5nbfp.js → chunk-SVP7TREG-BqcoxIJw.js} +1 -1
- package/dist/src/view/client/assets/{chunk-TICWLB2K-CVqCANFB.js → chunk-TICWLB2K-DRUJR5zH.js} +1 -1
- package/dist/src/view/client/assets/{chunk-XXDRQBXY-Bp23h6Tf.js → chunk-XXDRQBXY-Dez0oRoM.js} +1 -1
- package/dist/src/view/client/assets/classDiagram-ZZMXUADV-CFZ_Sgh5.js +1 -0
- package/dist/src/view/client/assets/classDiagram-v2-VYDZK3BY-CFZ_Sgh5.js +1 -0
- package/dist/src/view/client/assets/{cose-bilkent-JH36ORCC-BCw7fCC2.js → cose-bilkent-JH36ORCC-BHtud6Hg.js} +1 -1
- package/dist/src/view/client/assets/{cynefin-OW5HDTMX--lYN4N9m.js → cynefin-OW5HDTMX-BjBW8VGk.js} +1 -1
- package/dist/src/view/client/assets/{cynefinDiagram-5FMLGOSQ-9sK5EV7v.js → cynefinDiagram-5FMLGOSQ-DwGuD7oF.js} +1 -1
- package/dist/src/view/client/assets/{dagre-GXQ25YYZ-CoMdEFCq.js → dagre-GXQ25YYZ-C5zSlGK9.js} +1 -1
- package/dist/src/view/client/assets/{diagram-S7CK7UJ4-D13dyWdd.js → diagram-S7CK7UJ4-C_NhA3bj.js} +1 -1
- package/dist/src/view/client/assets/{diagram-UQ7AKVKN-PdwLPPPA.js → diagram-UQ7AKVKN-az7QPYNb.js} +1 -1
- package/dist/src/view/client/assets/{diagram-VSXAHHWV-CtWWa_A7.js → diagram-VSXAHHWV-BRvDuM8_.js} +1 -1
- package/dist/src/view/client/assets/{diagram-VX7I27RA-BeCYcSU-.js → diagram-VX7I27RA-BWLgF6S-.js} +1 -1
- package/dist/src/view/client/assets/{diagram-Z3DM3KII-DiWabOBM.js → diagram-Z3DM3KII-DV3d6mL5.js} +1 -1
- package/dist/src/view/client/assets/{ebnfDiagram-PWID7BFC-CZQ3MD_K.js → ebnfDiagram-PWID7BFC-yUXrEAvK.js} +1 -1
- package/dist/src/view/client/assets/{erDiagram-RLTQ6QDP-B1AhXIrP.js → erDiagram-RLTQ6QDP-D35FN1Pt.js} +1 -1
- package/dist/src/view/client/assets/{flowDiagram-HODETNUW-Bhr0JM6P.js → flowDiagram-HODETNUW-BciZqsjT.js} +1 -1
- package/dist/src/view/client/assets/{ganttDiagram-EL5Y4UJY-CbP8iAkg.js → ganttDiagram-EL5Y4UJY-BysPGgXS.js} +1 -1
- package/dist/src/view/client/assets/{gitGraphDiagram-WWUBYQGX-B9uuGdLF.js → gitGraphDiagram-WWUBYQGX-C3DdJ5xG.js} +1 -1
- package/dist/src/view/client/assets/index-CJokoRSp.js +13 -0
- package/dist/src/view/client/assets/{infoDiagram-27XIBGKW-BrfwQ_Cq.js → infoDiagram-27XIBGKW-D3HZrDRb.js} +1 -1
- package/dist/src/view/client/assets/{ishikawaDiagram-5VMMS53U-CHtJ36re.js → ishikawaDiagram-5VMMS53U-BXyVIXTU.js} +1 -1
- package/dist/src/view/client/assets/{journeyDiagram-3NMN7TZE-BChcgX1s.js → journeyDiagram-3NMN7TZE-D4-1NxVU.js} +1 -1
- package/dist/src/view/client/assets/{kanban-definition-UXKFOSKX-BnwFsKiB.js → kanban-definition-UXKFOSKX-4Gu_5yBA.js} +1 -1
- package/dist/src/view/client/assets/{layout-Dnd0pLdb.js → layout-Jf1K3TMM.js} +1 -1
- package/dist/src/view/client/assets/{linear-CFhW2ozn.js → linear-DWfwzUT_.js} +1 -1
- package/dist/src/view/client/assets/{mermaid.core--OP6lXtW.js → mermaid.core-DMx_DAl8.js} +5 -5
- package/dist/src/view/client/assets/{mindmap-definition-YA3MSWOX-D51y2zbm.js → mindmap-definition-YA3MSWOX-8pxY_RWi.js} +1 -1
- package/dist/src/view/client/assets/{pegDiagram-XKGWAZYB--zyQJDvI.js → pegDiagram-XKGWAZYB-DNAw_O5t.js} +1 -1
- package/dist/src/view/client/assets/{pieDiagram-E7YTZNPT-Cj8mvpJy.js → pieDiagram-E7YTZNPT-uuvRCDkC.js} +1 -1
- package/dist/src/view/client/assets/{quadrantDiagram-AXDQQJYC-qvhJrnBf.js → quadrantDiagram-AXDQQJYC-BER2O4Aq.js} +1 -1
- package/dist/src/view/client/assets/{railroadDiagram-O6MQD6OU-CtWvxpSo.js → railroadDiagram-O6MQD6OU-CxEsJ_0n.js} +1 -1
- package/dist/src/view/client/assets/{requirementDiagram-BXWQKSXE-CBxen_KG.js → requirementDiagram-BXWQKSXE-yS9rspca.js} +1 -1
- package/dist/src/view/client/assets/{sankeyDiagram-P5KCCOFB-B_fUkmfc.js → sankeyDiagram-P5KCCOFB-Bqt70a2j.js} +1 -1
- package/dist/src/view/client/assets/{sequenceDiagram-WJ2MYXX4-Dclv4p68.js → sequenceDiagram-WJ2MYXX4-BvOOEJNr.js} +1 -1
- package/dist/src/view/client/assets/{sizeCapture-INFHLROL-GfG0sMTZ.js → sizeCapture-INFHLROL-CvO_Pjjo.js} +1 -1
- package/dist/src/view/client/assets/{stateDiagram-D77RDMKH-YQWPnzxU.js → stateDiagram-D77RDMKH-KLmVOZkq.js} +1 -1
- package/dist/src/view/client/assets/stateDiagram-v2-MP3YSRHH-KCS8Mdzu.js +1 -0
- package/dist/src/view/client/assets/{swimlanes-42K2YHIH-5yiCveVS.js → swimlanes-42K2YHIH-DC1r4_sq.js} +1 -1
- package/dist/src/view/client/assets/swimlanesDiagram-VR7AAH4N-B2TcAwis.js +8 -0
- package/dist/src/view/client/assets/{timeline-definition-24CTP7MA-BvAbB5Zs.js → timeline-definition-24CTP7MA-ChXLOuBL.js} +1 -1
- package/dist/src/view/client/assets/{vennDiagram-4TSXK5OY-guC-r60n.js → vennDiagram-4TSXK5OY-D9_h25-Y.js} +1 -1
- package/dist/src/view/client/assets/{wardleyDiagram-VM6X3IG4-C0yXcU2x.js → wardleyDiagram-VM6X3IG4-CsQJGGW0.js} +1 -1
- package/dist/src/view/client/assets/{xychartDiagram-S5SC5T6Z-RPmkPNfK.js → xychartDiagram-S5SC5T6Z-DGMuPMlm.js} +1 -1
- package/dist/src/view/client/index.html +1 -1
- package/dist/src/view/diagnostics.d.ts +2 -2
- package/dist/src/view/diagnostics.js +5 -5
- package/dist/src/view/external-document-tree.js +1 -1
- package/dist/src/view/git-diff.js +1 -1
- package/dist/src/view/git.js +1 -1
- package/dist/src/view/graph.d.ts +2 -2
- package/dist/src/view/graph.js +2 -2
- package/dist/src/view/markdown.js +1 -1
- package/dist/src/view/preindexed-search.d.ts +1 -1
- package/dist/src/view/protocol.d.ts +2 -18
- package/dist/src/view/publication.d.ts +2 -0
- package/dist/src/view/publication.js +78 -0
- package/dist/src/view/references.d.ts +3 -3
- package/dist/src/view/references.js +3 -3
- package/dist/src/view/repository.d.ts +6 -6
- package/dist/src/view/repository.js +28 -14
- package/dist/src/view/request-security.d.ts +5 -0
- package/dist/src/view/request-security.js +46 -0
- package/dist/src/view/search-result.d.ts +1 -1
- package/dist/src/view/search-result.js +1 -1
- package/dist/src/view/search.d.ts +1 -1
- package/dist/src/view/server-build.d.ts +2 -2
- package/dist/src/view/server-build.js +2 -2
- package/dist/src/view/server-deployment.d.ts +1 -2
- package/dist/src/view/server-deployment.js +6 -46
- package/dist/src/view/server-index-worker.d.ts +1 -1
- package/dist/src/view/server.d.ts +1 -1
- package/dist/src/view/server.js +13 -3
- package/dist/src/view/source-target.js +2 -2
- package/dist/src/view/static-build.d.ts +1 -1
- package/dist/src/view/static-build.js +49 -17
- package/dist/src/view/store.d.ts +4 -2
- package/dist/src/view/store.js +31 -19
- package/dist/src/view/table-of-contents.d.ts +1 -1
- package/dist/src/view/table-of-contents.js +1 -1
- package/dist/src/view/vercel-server-build.d.ts +1 -1
- package/package.json +19 -29
- package/templates/AGENTS.md +2 -2
- package/templates/cursor-rules.md +2 -2
- package/templates/opencode-plugin.ts +9 -9
- package/templates/pi-extension.ts +11 -11
- package/templates/skill/SKILL.md +2 -1
- package/dist/src/cli/check-context.d.ts +0 -56
- package/dist/src/cli/check-context.js +0 -215
- package/dist/src/cli/check-coverage.d.ts +0 -2
- package/dist/src/cli/check-coverage.js +0 -75
- package/dist/src/cli/check-frontmatter.d.ts +0 -12
- package/dist/src/cli/check-frontmatter.js +0 -44
- package/dist/src/cli/check-mode.d.ts +0 -21
- package/dist/src/cli/check-mode.js +0 -394
- package/dist/src/cli/check-status.d.ts +0 -74
- package/dist/src/cli/check-status.js +0 -217
- package/dist/src/cli/check.d.ts +0 -52
- package/dist/src/cli/check.js +0 -834
- package/dist/src/cli/context.d.ts +0 -11
- package/dist/src/cli/context.js +0 -58
- package/dist/src/cli/expand.d.ts +0 -7
- package/dist/src/cli/expand.js +0 -141
- package/dist/src/cli/external.d.ts +0 -11
- package/dist/src/cli/external.js +0 -185
- package/dist/src/cli/gen-index.d.ts +0 -45
- package/dist/src/cli/gen-index.js +0 -235
- package/dist/src/cli/link-scheme.d.ts +0 -54
- package/dist/src/cli/link-scheme.js +0 -101
- package/dist/src/cli/locate.d.ts +0 -2
- package/dist/src/cli/locate.js +0 -18
- package/dist/src/cli/refs.d.ts +0 -23
- package/dist/src/cli/refs.js +0 -274
- package/dist/src/cli/section.d.ts +0 -45
- package/dist/src/cli/section.js +0 -328
- package/dist/src/cli/select-menu.d.ts +0 -13
- package/dist/src/cli/select-menu.js +0 -100
- package/dist/src/code-refs.d.ts +0 -29
- package/dist/src/code-refs.js +0 -479
- package/dist/src/config.d.ts +0 -29
- package/dist/src/config.js +0 -83
- package/dist/src/context.d.ts +0 -26
- package/dist/src/context.js +0 -11
- package/dist/src/document-formats.d.ts +0 -7
- package/dist/src/document-formats.js +0 -39
- package/dist/src/extensions/alert-marker.d.ts +0 -25
- package/dist/src/extensions/alert-marker.js +0 -55
- package/dist/src/extensions/wiki-link/from-markdown.d.ts +0 -5
- package/dist/src/extensions/wiki-link/from-markdown.js +0 -34
- package/dist/src/extensions/wiki-link/index.d.ts +0 -4
- package/dist/src/extensions/wiki-link/index.js +0 -3
- package/dist/src/extensions/wiki-link/syntax.d.ts +0 -14
- package/dist/src/extensions/wiki-link/syntax.js +0 -121
- package/dist/src/extensions/wiki-link/to-markdown.d.ts +0 -5
- package/dist/src/extensions/wiki-link/to-markdown.js +0 -28
- package/dist/src/extensions/wiki-link/types.d.ts +0 -34
- package/dist/src/extensions/wiki-link/types.js +0 -1
- package/dist/src/external-documents.d.ts +0 -56
- package/dist/src/external-documents.js +0 -404
- package/dist/src/external-sources.d.ts +0 -136
- package/dist/src/external-sources.js +0 -1098
- package/dist/src/fork/frontmatter-fields.d.ts +0 -36
- package/dist/src/fork/frontmatter-fields.js +0 -23
- package/dist/src/format.d.ts +0 -16
- package/dist/src/format.js +0 -76
- package/dist/src/init-version.d.ts +0 -10
- package/dist/src/init-version.js +0 -49
- package/dist/src/lattice-model.d.ts +0 -84
- package/dist/src/lattice-model.js +0 -467
- package/dist/src/lattice.d.ts +0 -14
- package/dist/src/lattice.js +0 -353
- package/dist/src/markdown-analysis-cache.d.ts +0 -20
- package/dist/src/markdown-analysis-cache.js +0 -139
- package/dist/src/markdown-analysis-worker.d.ts +0 -16
- package/dist/src/markdown-analysis-worker.js +0 -33
- package/dist/src/markdown-analysis.d.ts +0 -61
- package/dist/src/markdown-analysis.js +0 -169
- package/dist/src/markdown-analyzer-loader.d.ts +0 -4
- package/dist/src/markdown-analyzer-loader.js +0 -13
- package/dist/src/markdown-validation.d.ts +0 -25
- package/dist/src/markdown-validation.js +0 -104
- package/dist/src/parser-cache.d.ts +0 -17
- package/dist/src/parser-cache.js +0 -65
- package/dist/src/parser-import.d.ts +0 -8
- package/dist/src/parser-import.js +0 -1
- package/dist/src/parser.d.ts +0 -3
- package/dist/src/parser.js +0 -93
- package/dist/src/path.d.ts +0 -2
- package/dist/src/path.js +0 -4
- package/dist/src/profiler.d.ts +0 -16
- package/dist/src/profiler.js +0 -81
- package/dist/src/project-analysis.d.ts +0 -59
- package/dist/src/project-analysis.js +0 -233
- package/dist/src/project-discovery.d.ts +0 -6
- package/dist/src/project-discovery.js +0 -30
- package/dist/src/repository-path.d.ts +0 -11
- package/dist/src/repository-path.js +0 -52
- package/dist/src/source-formats.d.ts +0 -7
- package/dist/src/source-formats.js +0 -30
- package/dist/src/source-parser.d.ts +0 -67
- package/dist/src/source-parser.js +0 -1749
- package/dist/src/untrusted.d.ts +0 -18
- package/dist/src/untrusted.js +0 -93
- package/dist/src/view/client/assets/channel-uy0fFvcW.js +0 -1
- package/dist/src/view/client/assets/classDiagram-ZZMXUADV-DbSEqjA5.js +0 -1
- package/dist/src/view/client/assets/classDiagram-v2-VYDZK3BY-DbSEqjA5.js +0 -1
- package/dist/src/view/client/assets/index-nBmbYfun.js +0 -13
- package/dist/src/view/client/assets/stateDiagram-v2-MP3YSRHH-gUj6Hzgl.js +0 -1
- package/dist/src/view/client/assets/swimlanesDiagram-VR7AAH4N-DR7JhrxL.js +0 -8
- package/dist/src/walk.d.ts +0 -20
- package/dist/src/walk.js +0 -121
package/dist/src/config.js
DELETED
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
import { execSync } from 'node:child_process';
|
|
2
|
-
import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'node:fs';
|
|
3
|
-
import { join, resolve } from 'node:path';
|
|
4
|
-
import xdg from '@folder/xdg';
|
|
5
|
-
// ── XDG config directory ────────────────────────────────────────────
|
|
6
|
-
export function getConfigDir() {
|
|
7
|
-
return join(xdg().config, 'lat');
|
|
8
|
-
}
|
|
9
|
-
export function getConfigPath() {
|
|
10
|
-
return join(getConfigDir(), 'config.json');
|
|
11
|
-
}
|
|
12
|
-
export function readConfig() {
|
|
13
|
-
const configPath = getConfigPath();
|
|
14
|
-
if (!existsSync(configPath))
|
|
15
|
-
return {};
|
|
16
|
-
try {
|
|
17
|
-
return JSON.parse(readFileSync(configPath, 'utf-8'));
|
|
18
|
-
}
|
|
19
|
-
catch (err) {
|
|
20
|
-
process.stderr.write(`Error: failed to parse config ${configPath}: ${err.message}\n`);
|
|
21
|
-
process.exit(1);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
export function writeConfig(config) {
|
|
25
|
-
const dir = getConfigDir();
|
|
26
|
-
mkdirSync(dir, { recursive: true });
|
|
27
|
-
writeFileSync(getConfigPath(), JSON.stringify(config, null, 2) + '\n');
|
|
28
|
-
}
|
|
29
|
-
// ── Per-repo embedding backend preference ───────────────────────────
|
|
30
|
-
/** Durable per-repo backend choice, or undefined if none recorded. */
|
|
31
|
-
export function getRepoEmbedding(latDir) {
|
|
32
|
-
return readConfig().repos?.[resolve(latDir)]?.embedding;
|
|
33
|
-
}
|
|
34
|
-
/** Record (or clear, with `null`) the durable per-repo backend choice. */
|
|
35
|
-
export function setRepoEmbedding(latDir, embedding) {
|
|
36
|
-
const key = resolve(latDir);
|
|
37
|
-
const config = readConfig();
|
|
38
|
-
const repos = config.repos ?? {};
|
|
39
|
-
if (embedding === null)
|
|
40
|
-
delete repos[key];
|
|
41
|
-
else
|
|
42
|
-
repos[key] = { embedding };
|
|
43
|
-
config.repos = repos;
|
|
44
|
-
writeConfig(config);
|
|
45
|
-
}
|
|
46
|
-
// ── Centralized LLM key resolution ─────────────────────────────────
|
|
47
|
-
/**
|
|
48
|
-
* Returns the LLM key from (in priority order):
|
|
49
|
-
* 1. LAT_LLM_KEY environment variable
|
|
50
|
-
* 2. LAT_LLM_KEY_FILE — path to a file containing the key
|
|
51
|
-
* 3. LAT_LLM_KEY_HELPER — shell command that prints the key
|
|
52
|
-
* 4. llm_key field in ~/.config/lat/config.json
|
|
53
|
-
*
|
|
54
|
-
* Returns undefined if none is set.
|
|
55
|
-
*/
|
|
56
|
-
export function getLlmKey() {
|
|
57
|
-
const envKey = process.env.LAT_LLM_KEY;
|
|
58
|
-
if (envKey)
|
|
59
|
-
return envKey;
|
|
60
|
-
const file = process.env.LAT_LLM_KEY_FILE;
|
|
61
|
-
if (file) {
|
|
62
|
-
const content = readFileSync(file, 'utf-8').trim();
|
|
63
|
-
if (!content) {
|
|
64
|
-
throw new Error(`LAT_LLM_KEY_FILE (${file}) is empty.`);
|
|
65
|
-
}
|
|
66
|
-
return content;
|
|
67
|
-
}
|
|
68
|
-
const helper = process.env.LAT_LLM_KEY_HELPER;
|
|
69
|
-
if (helper) {
|
|
70
|
-
const result = execSync(helper, {
|
|
71
|
-
encoding: 'utf-8',
|
|
72
|
-
timeout: 10_000,
|
|
73
|
-
}).trim();
|
|
74
|
-
if (!result) {
|
|
75
|
-
throw new Error('LAT_LLM_KEY_HELPER command returned an empty string.');
|
|
76
|
-
}
|
|
77
|
-
return result;
|
|
78
|
-
}
|
|
79
|
-
const config = readConfig();
|
|
80
|
-
if (config.llm_key)
|
|
81
|
-
return config.llm_key;
|
|
82
|
-
return undefined;
|
|
83
|
-
}
|
package/dist/src/context.d.ts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import type { MarkdownProjectSession } from './project-analysis.js';
|
|
2
|
-
export type Styler = {
|
|
3
|
-
bold: (s: string) => string;
|
|
4
|
-
dim: (s: string) => string;
|
|
5
|
-
red: (s: string) => string;
|
|
6
|
-
cyan: (s: string) => string;
|
|
7
|
-
white: (s: string) => string;
|
|
8
|
-
green: (s: string) => string;
|
|
9
|
-
yellow: (s: string) => string;
|
|
10
|
-
boldWhite: (s: string) => string;
|
|
11
|
-
};
|
|
12
|
-
export declare const plainStyler: Styler;
|
|
13
|
-
export type CmdContext = {
|
|
14
|
-
latDir: string;
|
|
15
|
-
projectRoot: string;
|
|
16
|
-
styler: Styler;
|
|
17
|
-
mode: 'cli' | 'mcp';
|
|
18
|
-
/** The check target was supplied explicitly instead of discovered as lat.md. */
|
|
19
|
-
headless?: boolean;
|
|
20
|
-
/** Lazy Markdown analysis shared by nested operations in this request. */
|
|
21
|
-
analysis?: MarkdownProjectSession;
|
|
22
|
-
};
|
|
23
|
-
export type CmdResult = {
|
|
24
|
-
output: string;
|
|
25
|
-
isError?: boolean;
|
|
26
|
-
};
|
package/dist/src/context.js
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/** Document formats that external sources can resolve by heading. */
|
|
2
|
-
export declare const DOCUMENT_FILE_EXTENSIONS: ReadonlySet<string>;
|
|
3
|
-
export type DocumentFormat = 'asciidoc' | 'markdown' | 'restructuredtext';
|
|
4
|
-
export declare function documentFormat(path: string): DocumentFormat | null;
|
|
5
|
-
export declare function isDocumentPath(path: string): boolean;
|
|
6
|
-
export declare function stripDocumentExtension(path: string): string;
|
|
7
|
-
export declare function documentFormatLabel(format: DocumentFormat): string;
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
/** Document formats that external sources can resolve by heading. */
|
|
2
|
-
export const DOCUMENT_FILE_EXTENSIONS = new Set([
|
|
3
|
-
'.adoc',
|
|
4
|
-
'.asciidoc',
|
|
5
|
-
'.md',
|
|
6
|
-
'.rst',
|
|
7
|
-
]);
|
|
8
|
-
export function documentFormat(path) {
|
|
9
|
-
const lower = path.toLowerCase();
|
|
10
|
-
if (lower.endsWith('.md'))
|
|
11
|
-
return 'markdown';
|
|
12
|
-
if (lower.endsWith('.rst'))
|
|
13
|
-
return 'restructuredtext';
|
|
14
|
-
if (lower.endsWith('.adoc') || lower.endsWith('.asciidoc')) {
|
|
15
|
-
return 'asciidoc';
|
|
16
|
-
}
|
|
17
|
-
return null;
|
|
18
|
-
}
|
|
19
|
-
export function isDocumentPath(path) {
|
|
20
|
-
return documentFormat(path) !== null;
|
|
21
|
-
}
|
|
22
|
-
export function stripDocumentExtension(path) {
|
|
23
|
-
const lower = path.toLowerCase();
|
|
24
|
-
for (const extension of DOCUMENT_FILE_EXTENSIONS) {
|
|
25
|
-
if (lower.endsWith(extension))
|
|
26
|
-
return path.slice(0, -extension.length);
|
|
27
|
-
}
|
|
28
|
-
return path;
|
|
29
|
-
}
|
|
30
|
-
export function documentFormatLabel(format) {
|
|
31
|
-
switch (format) {
|
|
32
|
-
case 'asciidoc':
|
|
33
|
-
return 'AsciiDoc';
|
|
34
|
-
case 'markdown':
|
|
35
|
-
return 'Markdown';
|
|
36
|
-
case 'restructuredtext':
|
|
37
|
-
return 'reStructuredText';
|
|
38
|
-
}
|
|
39
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import type { Data, Literal, Root } from 'mdast';
|
|
2
|
-
import type { Options } from 'mdast-util-to-markdown';
|
|
3
|
-
export declare const ALERT_KINDS: readonly ["NOTE", "TIP", "IMPORTANT", "WARNING", "CAUTION"];
|
|
4
|
-
export type AlertKind = (typeof ALERT_KINDS)[number];
|
|
5
|
-
export interface AlertMarker extends Literal {
|
|
6
|
-
type: 'alertMarker';
|
|
7
|
-
value: AlertKind;
|
|
8
|
-
data?: Data;
|
|
9
|
-
}
|
|
10
|
-
/** Promote GitHub alert markers so serialization does not escape their brackets. */
|
|
11
|
-
export declare function markAlertMarkers(tree: Root): void;
|
|
12
|
-
export declare function alertMarkerToMarkdown(): Options;
|
|
13
|
-
declare module 'mdast' {
|
|
14
|
-
interface RootContentMap {
|
|
15
|
-
alertMarker: AlertMarker;
|
|
16
|
-
}
|
|
17
|
-
interface PhrasingContentMap {
|
|
18
|
-
alertMarker: AlertMarker;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
declare module 'mdast-util-to-markdown' {
|
|
22
|
-
interface ConstructNameMap {
|
|
23
|
-
alertMarker: 'alertMarker';
|
|
24
|
-
}
|
|
25
|
-
}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { visit } from 'unist-util-visit';
|
|
2
|
-
export const ALERT_KINDS = [
|
|
3
|
-
'NOTE',
|
|
4
|
-
'TIP',
|
|
5
|
-
'IMPORTANT',
|
|
6
|
-
'WARNING',
|
|
7
|
-
'CAUTION',
|
|
8
|
-
];
|
|
9
|
-
const ALERT_PATTERN = /^\[!(NOTE|TIP|IMPORTANT|WARNING|CAUTION)\](?:\r?\n|$)/;
|
|
10
|
-
/** Promote GitHub alert markers so serialization does not escape their brackets. */
|
|
11
|
-
export function markAlertMarkers(tree) {
|
|
12
|
-
visit(tree, 'blockquote', (node) => {
|
|
13
|
-
const firstBlock = node.children[0];
|
|
14
|
-
if (firstBlock?.type !== 'paragraph')
|
|
15
|
-
return;
|
|
16
|
-
const firstInline = firstBlock.children[0];
|
|
17
|
-
if (firstInline?.type !== 'text')
|
|
18
|
-
return;
|
|
19
|
-
const match = firstInline.value.match(ALERT_PATTERN);
|
|
20
|
-
if (!match)
|
|
21
|
-
return;
|
|
22
|
-
const marker = {
|
|
23
|
-
type: 'alertMarker',
|
|
24
|
-
value: match[1],
|
|
25
|
-
};
|
|
26
|
-
const start = firstInline.position?.start;
|
|
27
|
-
if (start) {
|
|
28
|
-
const markerLength = match[0].replace(/\r?\n$/, '').length;
|
|
29
|
-
marker.position = {
|
|
30
|
-
start,
|
|
31
|
-
end: {
|
|
32
|
-
line: start.line,
|
|
33
|
-
column: start.column + markerLength,
|
|
34
|
-
...(start.offset === undefined
|
|
35
|
-
? {}
|
|
36
|
-
: { offset: start.offset + markerLength }),
|
|
37
|
-
},
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
const remaining = firstInline.value.slice(match[0].length);
|
|
41
|
-
const replacement = [marker];
|
|
42
|
-
if (remaining !== '')
|
|
43
|
-
replacement.push({ type: 'text', value: remaining });
|
|
44
|
-
firstBlock.children.splice(0, 1, ...replacement);
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
function alertMarkerHandler(node, _parent, state, _info) {
|
|
48
|
-
const exit = state.enter('alertMarker');
|
|
49
|
-
const value = `[!${node.value}]\n`;
|
|
50
|
-
exit();
|
|
51
|
-
return value;
|
|
52
|
-
}
|
|
53
|
-
export function alertMarkerToMarkdown() {
|
|
54
|
-
return { handlers: { alertMarker: alertMarkerHandler } };
|
|
55
|
-
}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* mdast-util extension to turn wiki-link micromark tokens into mdast nodes.
|
|
3
|
-
*/
|
|
4
|
-
function enterWikiLink(token) {
|
|
5
|
-
const node = {
|
|
6
|
-
type: 'wikiLink',
|
|
7
|
-
value: '',
|
|
8
|
-
data: { alias: null },
|
|
9
|
-
};
|
|
10
|
-
this.enter(node, token);
|
|
11
|
-
}
|
|
12
|
-
function exitWikiLinkTarget(token) {
|
|
13
|
-
const target = this.sliceSerialize(token);
|
|
14
|
-
const node = this.stack[this.stack.length - 1];
|
|
15
|
-
node.value = target;
|
|
16
|
-
}
|
|
17
|
-
function exitWikiLinkAlias(token) {
|
|
18
|
-
const alias = this.sliceSerialize(token);
|
|
19
|
-
const node = this.stack[this.stack.length - 1];
|
|
20
|
-
node.data.alias = alias;
|
|
21
|
-
}
|
|
22
|
-
function exitWikiLink(token) {
|
|
23
|
-
this.exit(token);
|
|
24
|
-
}
|
|
25
|
-
export function wikiLinkFromMarkdown() {
|
|
26
|
-
return {
|
|
27
|
-
enter: { wikiLink: enterWikiLink },
|
|
28
|
-
exit: {
|
|
29
|
-
wikiLinkTarget: exitWikiLinkTarget,
|
|
30
|
-
wikiLinkAlias: exitWikiLinkAlias,
|
|
31
|
-
wikiLink: exitWikiLink,
|
|
32
|
-
},
|
|
33
|
-
};
|
|
34
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Micromark syntax extension for wiki links: [[target]] and [[target|alias]].
|
|
3
|
-
*
|
|
4
|
-
* Produces the following token types:
|
|
5
|
-
* - wikiLink (the entire construct)
|
|
6
|
-
* - wikiLinkMarker ([[ and ]])
|
|
7
|
-
* - wikiLinkData (everything between markers)
|
|
8
|
-
* - wikiLinkTarget (the target portion)
|
|
9
|
-
* - wikiLinkAliasMarker (the | divider)
|
|
10
|
-
* - wikiLinkAlias (the alias portion)
|
|
11
|
-
*/
|
|
12
|
-
import type { Extension } from 'micromark-util-types';
|
|
13
|
-
import './types.js';
|
|
14
|
-
export declare function wikiLinkSyntax(): Extension;
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Micromark syntax extension for wiki links: [[target]] and [[target|alias]].
|
|
3
|
-
*
|
|
4
|
-
* Produces the following token types:
|
|
5
|
-
* - wikiLink (the entire construct)
|
|
6
|
-
* - wikiLinkMarker ([[ and ]])
|
|
7
|
-
* - wikiLinkData (everything between markers)
|
|
8
|
-
* - wikiLinkTarget (the target portion)
|
|
9
|
-
* - wikiLinkAliasMarker (the | divider)
|
|
10
|
-
* - wikiLinkAlias (the alias portion)
|
|
11
|
-
*/
|
|
12
|
-
import './types.js';
|
|
13
|
-
const ALIAS_DIVIDER = '|';
|
|
14
|
-
const OPEN = '[[';
|
|
15
|
-
const CLOSE = ']]';
|
|
16
|
-
function tokenize(effects, ok, nok) {
|
|
17
|
-
let openCursor = 0;
|
|
18
|
-
let closeCursor = 0;
|
|
19
|
-
let aliasCursor = 0;
|
|
20
|
-
let hasData = false;
|
|
21
|
-
let hasAlias = false;
|
|
22
|
-
return start;
|
|
23
|
-
function start(code) {
|
|
24
|
-
if (code !== OPEN.charCodeAt(openCursor))
|
|
25
|
-
return nok(code);
|
|
26
|
-
effects.enter('wikiLink');
|
|
27
|
-
effects.enter('wikiLinkMarker');
|
|
28
|
-
return consumeOpen(code);
|
|
29
|
-
}
|
|
30
|
-
function consumeOpen(code) {
|
|
31
|
-
if (openCursor === OPEN.length) {
|
|
32
|
-
effects.exit('wikiLinkMarker');
|
|
33
|
-
return consumeDataStart(code);
|
|
34
|
-
}
|
|
35
|
-
if (code !== OPEN.charCodeAt(openCursor))
|
|
36
|
-
return nok(code);
|
|
37
|
-
effects.consume(code);
|
|
38
|
-
openCursor++;
|
|
39
|
-
return consumeOpen;
|
|
40
|
-
}
|
|
41
|
-
function consumeDataStart(code) {
|
|
42
|
-
if (code === null || code < -2)
|
|
43
|
-
return nok(code);
|
|
44
|
-
effects.enter('wikiLinkData');
|
|
45
|
-
effects.enter('wikiLinkTarget');
|
|
46
|
-
return consumeTarget(code);
|
|
47
|
-
}
|
|
48
|
-
function consumeTarget(code) {
|
|
49
|
-
if (code === ALIAS_DIVIDER.charCodeAt(aliasCursor)) {
|
|
50
|
-
if (!hasData)
|
|
51
|
-
return nok(code);
|
|
52
|
-
effects.exit('wikiLinkTarget');
|
|
53
|
-
effects.enter('wikiLinkAliasMarker');
|
|
54
|
-
return consumeAliasMarker(code);
|
|
55
|
-
}
|
|
56
|
-
if (code === CLOSE.charCodeAt(closeCursor)) {
|
|
57
|
-
if (!hasData)
|
|
58
|
-
return nok(code);
|
|
59
|
-
effects.exit('wikiLinkTarget');
|
|
60
|
-
effects.exit('wikiLinkData');
|
|
61
|
-
effects.enter('wikiLinkMarker');
|
|
62
|
-
return consumeClose(code);
|
|
63
|
-
}
|
|
64
|
-
// No line endings or EOF inside wiki links
|
|
65
|
-
if (code === null || code < -2)
|
|
66
|
-
return nok(code);
|
|
67
|
-
if (code !== -2 && code !== -1 && code !== 32) {
|
|
68
|
-
hasData = true;
|
|
69
|
-
}
|
|
70
|
-
effects.consume(code);
|
|
71
|
-
return consumeTarget;
|
|
72
|
-
}
|
|
73
|
-
function consumeAliasMarker(code) {
|
|
74
|
-
if (aliasCursor === ALIAS_DIVIDER.length) {
|
|
75
|
-
effects.exit('wikiLinkAliasMarker');
|
|
76
|
-
effects.enter('wikiLinkAlias');
|
|
77
|
-
return consumeAlias(code);
|
|
78
|
-
}
|
|
79
|
-
if (code !== ALIAS_DIVIDER.charCodeAt(aliasCursor))
|
|
80
|
-
return nok(code);
|
|
81
|
-
effects.consume(code);
|
|
82
|
-
aliasCursor++;
|
|
83
|
-
return consumeAliasMarker;
|
|
84
|
-
}
|
|
85
|
-
function consumeAlias(code) {
|
|
86
|
-
if (code === CLOSE.charCodeAt(closeCursor)) {
|
|
87
|
-
if (!hasAlias)
|
|
88
|
-
return nok(code);
|
|
89
|
-
effects.exit('wikiLinkAlias');
|
|
90
|
-
effects.exit('wikiLinkData');
|
|
91
|
-
effects.enter('wikiLinkMarker');
|
|
92
|
-
return consumeClose(code);
|
|
93
|
-
}
|
|
94
|
-
if (code === null || code < -2)
|
|
95
|
-
return nok(code);
|
|
96
|
-
if (code !== -2 && code !== -1 && code !== 32) {
|
|
97
|
-
hasAlias = true;
|
|
98
|
-
}
|
|
99
|
-
effects.consume(code);
|
|
100
|
-
return consumeAlias;
|
|
101
|
-
}
|
|
102
|
-
function consumeClose(code) {
|
|
103
|
-
if (closeCursor === CLOSE.length) {
|
|
104
|
-
effects.exit('wikiLinkMarker');
|
|
105
|
-
effects.exit('wikiLink');
|
|
106
|
-
return ok(code);
|
|
107
|
-
}
|
|
108
|
-
if (code !== CLOSE.charCodeAt(closeCursor))
|
|
109
|
-
return nok(code);
|
|
110
|
-
effects.consume(code);
|
|
111
|
-
closeCursor++;
|
|
112
|
-
return consumeClose;
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
export function wikiLinkSyntax() {
|
|
116
|
-
return {
|
|
117
|
-
text: {
|
|
118
|
-
91: { tokenize }, // '[' character code
|
|
119
|
-
},
|
|
120
|
-
};
|
|
121
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* mdast-util extension to serialize wiki-link nodes back to markdown.
|
|
3
|
-
*/
|
|
4
|
-
function handler(node, _parent, state, _info) {
|
|
5
|
-
const exit = state.enter('wikiLink');
|
|
6
|
-
const target = state.safe(node.value, { before: '[', after: ']' });
|
|
7
|
-
let value;
|
|
8
|
-
if (node.data.alias) {
|
|
9
|
-
const alias = state.safe(node.data.alias, { before: '[', after: ']' });
|
|
10
|
-
value = `[[${target}|${alias}]]`;
|
|
11
|
-
}
|
|
12
|
-
else {
|
|
13
|
-
value = `[[${target}]]`;
|
|
14
|
-
}
|
|
15
|
-
exit();
|
|
16
|
-
return value;
|
|
17
|
-
}
|
|
18
|
-
export function wikiLinkToMarkdown() {
|
|
19
|
-
return {
|
|
20
|
-
unsafe: [
|
|
21
|
-
{ character: '[', inConstruct: ['phrasing', 'label', 'reference'] },
|
|
22
|
-
{ character: ']', inConstruct: ['label', 'reference'] },
|
|
23
|
-
],
|
|
24
|
-
handlers: {
|
|
25
|
-
wikiLink: handler,
|
|
26
|
-
},
|
|
27
|
-
};
|
|
28
|
-
}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import type { Data, Literal } from 'mdast';
|
|
2
|
-
/**
|
|
3
|
-
* mdast node for a wiki-style link like [[target]] or [[target|alias]].
|
|
4
|
-
*/
|
|
5
|
-
export interface WikiLink extends Literal {
|
|
6
|
-
type: 'wikiLink';
|
|
7
|
-
value: string;
|
|
8
|
-
data: Data & {
|
|
9
|
-
alias: string | null;
|
|
10
|
-
};
|
|
11
|
-
}
|
|
12
|
-
declare module 'mdast' {
|
|
13
|
-
interface RootContentMap {
|
|
14
|
-
wikiLink: WikiLink;
|
|
15
|
-
}
|
|
16
|
-
interface PhrasingContentMap {
|
|
17
|
-
wikiLink: WikiLink;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
declare module 'micromark-util-types' {
|
|
21
|
-
interface TokenTypeMap {
|
|
22
|
-
wikiLink: 'wikiLink';
|
|
23
|
-
wikiLinkMarker: 'wikiLinkMarker';
|
|
24
|
-
wikiLinkData: 'wikiLinkData';
|
|
25
|
-
wikiLinkTarget: 'wikiLinkTarget';
|
|
26
|
-
wikiLinkAliasMarker: 'wikiLinkAliasMarker';
|
|
27
|
-
wikiLinkAlias: 'wikiLinkAlias';
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
declare module 'mdast-util-to-markdown' {
|
|
31
|
-
interface ConstructNameMap {
|
|
32
|
-
wikiLink: 'wikiLink';
|
|
33
|
-
}
|
|
34
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { type Section } from './lattice-model.js';
|
|
2
|
-
import { type DocumentFormat } from './document-formats.js';
|
|
3
|
-
import type { ParserImportObserver } from './parser-import.js';
|
|
4
|
-
import type { ViewDocumentTree } from './view/protocol.js';
|
|
5
|
-
export type ExternalDocumentSection = {
|
|
6
|
-
title: string;
|
|
7
|
-
depth: number;
|
|
8
|
-
anchor: string;
|
|
9
|
-
aliases: string[];
|
|
10
|
-
hierarchy: string[];
|
|
11
|
-
startLine: number;
|
|
12
|
-
endLine: number;
|
|
13
|
-
};
|
|
14
|
-
/** Serializable document facts retained after a format parser discards its AST. */
|
|
15
|
-
export type ExternalDocumentAnalysis = {
|
|
16
|
-
format: DocumentFormat;
|
|
17
|
-
title: string;
|
|
18
|
-
sections: ExternalDocumentSection[];
|
|
19
|
-
};
|
|
20
|
-
export type ExternalDocumentCacheStatus = 'disabled' | 'hit' | 'miss';
|
|
21
|
-
export type ExternalDocumentAnalysisTimings = {
|
|
22
|
-
hashMs: number;
|
|
23
|
-
cacheReadMs: number;
|
|
24
|
-
cacheWriteMs: number;
|
|
25
|
-
parseMs: number;
|
|
26
|
-
cacheStatus: ExternalDocumentCacheStatus;
|
|
27
|
-
};
|
|
28
|
-
export type ExternalDocumentFileAnalysis = {
|
|
29
|
-
path: string;
|
|
30
|
-
document: ExternalDocumentAnalysis;
|
|
31
|
-
timings: ExternalDocumentAnalysisTimings;
|
|
32
|
-
};
|
|
33
|
-
export type AnalyzeExternalDocumentOptions = {
|
|
34
|
-
identity?: string;
|
|
35
|
-
cache?: boolean;
|
|
36
|
-
runtime?: ExternalDocumentParserRuntime;
|
|
37
|
-
onFileAnalyzed?: (analysis: ExternalDocumentFileAnalysis) => void;
|
|
38
|
-
onParserImport?: ParserImportObserver;
|
|
39
|
-
};
|
|
40
|
-
/** Accept legacy AsciiDoc source listings whose delimiter lengths do not match. */
|
|
41
|
-
export declare function asciidocCompatibleContent(content: string): string;
|
|
42
|
-
export declare function analyzeExternalDocument(path: string, content: string, onParserImport?: ParserImportObserver, importDetail?: string): Promise<ExternalDocumentAnalysis>;
|
|
43
|
-
/** Request-scoped owner for external document parser work. */
|
|
44
|
-
export declare class ExternalDocumentParserRuntime {
|
|
45
|
-
readonly analyses: Map<string, Promise<ExternalDocumentFileAnalysis>>;
|
|
46
|
-
clear(): void;
|
|
47
|
-
}
|
|
48
|
-
/** Return the shared parsed-cache path for one external document identity. */
|
|
49
|
-
export declare function externalDocumentAnalysisCachePath(latDir: string, identity: string): string;
|
|
50
|
-
/** Analyze an external document through the shared persistent parser cache. */
|
|
51
|
-
export declare function analyzeExternalDocumentCached(path: string, content: string, latDir: string, options?: AnalyzeExternalDocumentOptions): Promise<ExternalDocumentFileAnalysis>;
|
|
52
|
-
export declare function findExternalDocumentSection(analysis: ExternalDocumentAnalysis, fragment: string): ExternalDocumentSection | undefined;
|
|
53
|
-
/** Project format-neutral document sections into the existing browser TOC model. */
|
|
54
|
-
export declare function externalDocumentSections(path: string, analysis: ExternalDocumentAnalysis): Section[];
|
|
55
|
-
/** Add zero-size alias anchors to the normalized external document tree. */
|
|
56
|
-
export declare function addExternalDocumentAliasAnchors(source: ViewDocumentTree, analysis: ExternalDocumentAnalysis): ViewDocumentTree;
|