@hawkeyexl/manni 4.4.0 → 4.5.0

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.
Files changed (169) hide show
  1. package/README.md +1 -1
  2. package/dist/{batch-DFRCLY77.js → batch-GOE3UXOD.js} +11 -11
  3. package/dist/{build-Q5C6SX5J.js → build-M7BMEHL2.js} +13 -11
  4. package/dist/{calibrate-XQILKXS3.js → calibrate-6RRAILUY.js} +12 -12
  5. package/dist/{capture-JQMOC3BW.js → capture-RJPQ6B4N.js} +12 -12
  6. package/dist/{check-NFZQLJKN.js → check-BQD64X3N.js} +11 -11
  7. package/dist/{check-HYNGXYJV.js → check-ESNS7ZBC.js} +4 -4
  8. package/dist/{check-U54XV6BP.js → check-RQIIIURI.js} +12 -12
  9. package/dist/{chunk-7QMCHA4N.js → chunk-3R5Y3XOL.js} +3 -3
  10. package/dist/{chunk-K3D6FPV6.js → chunk-3YHAYXBC.js} +2 -2
  11. package/dist/{chunk-JVTNMVYU.js → chunk-527HHQPS.js} +4 -4
  12. package/dist/{chunk-JVTNMVYU.js.map → chunk-527HHQPS.js.map} +1 -1
  13. package/dist/{chunk-6OYEI2VV.js → chunk-52PDIZKV.js} +3 -3
  14. package/dist/{chunk-UZC7LDAQ.js → chunk-6XTQDFGP.js} +2 -2
  15. package/dist/{chunk-UZC7LDAQ.js.map → chunk-6XTQDFGP.js.map} +1 -1
  16. package/dist/{chunk-NWZ2SLYL.js → chunk-7OQAU4EA.js} +5 -5
  17. package/dist/{chunk-5YXBLLAC.js → chunk-7ZUCEMCY.js} +8 -8
  18. package/dist/{chunk-M2JCK5F6.js → chunk-B7XUEQF3.js} +13 -2
  19. package/dist/chunk-B7XUEQF3.js.map +1 -0
  20. package/dist/{chunk-MYMBCTDE.js → chunk-BOIF2XGG.js} +2 -2
  21. package/dist/{chunk-H6FZ66XR.js → chunk-C3KI45RF.js} +8 -6
  22. package/dist/{chunk-H6FZ66XR.js.map → chunk-C3KI45RF.js.map} +1 -1
  23. package/dist/{chunk-3AFUD75K.js → chunk-C6HZ6C5T.js} +2 -2
  24. package/dist/{chunk-XYLUCIKQ.js → chunk-CP4ZM43V.js} +2 -2
  25. package/dist/chunk-DE7JSWXV.js +2462 -0
  26. package/dist/chunk-DE7JSWXV.js.map +1 -0
  27. package/dist/{chunk-YTCZRLTU.js → chunk-DX32P2DT.js} +2 -2
  28. package/dist/{chunk-644JVKJ4.js → chunk-EL2BZTDL.js} +137 -50
  29. package/dist/chunk-EL2BZTDL.js.map +1 -0
  30. package/dist/{chunk-JOHKIAVH.js → chunk-ELZ2IIOF.js} +332 -2522
  31. package/dist/chunk-ELZ2IIOF.js.map +1 -0
  32. package/dist/{chunk-OBFENF3U.js → chunk-F2OVHJNC.js} +10 -10
  33. package/dist/{chunk-5KHIFVD2.js → chunk-FLF6AECQ.js} +7 -7
  34. package/dist/{chunk-77HX34KD.js → chunk-GAZFKZHM.js} +4 -4
  35. package/dist/{chunk-KCGV52AM.js → chunk-HQFVJDEN.js} +7 -7
  36. package/dist/{chunk-RLR4TKUZ.js → chunk-HVFR66GQ.js} +2 -2
  37. package/dist/{chunk-2U3ORT6D.js → chunk-IA7BMIPE.js} +2 -2
  38. package/dist/{chunk-LAKAWRV5.js → chunk-JQU7FHYH.js} +6 -6
  39. package/dist/{chunk-YIL4XLLJ.js → chunk-K3U5F2QT.js} +183 -31
  40. package/dist/chunk-K3U5F2QT.js.map +1 -0
  41. package/dist/{chunk-X3BPBDGQ.js → chunk-MZC62HPZ.js} +2 -2
  42. package/dist/{chunk-V46OILVC.js → chunk-NAZRLJAK.js} +3 -3
  43. package/dist/{chunk-BUXDLRDT.js → chunk-NGK3N6F2.js} +3 -3
  44. package/dist/{chunk-WQE54PNH.js → chunk-NN4ASVTY.js} +3 -3
  45. package/dist/{chunk-PCHZY2I7.js → chunk-OIZ3XMKB.js} +13 -11
  46. package/dist/chunk-OIZ3XMKB.js.map +1 -0
  47. package/dist/{chunk-CYWHFSRT.js → chunk-QCBICNKC.js} +6 -6
  48. package/dist/chunk-QCBICNKC.js.map +1 -0
  49. package/dist/{chunk-YFQBFNQS.js → chunk-QLUMKWQQ.js} +3 -3
  50. package/dist/{chunk-YYBFZLAJ.js → chunk-QY3DOZMS.js} +4 -4
  51. package/dist/{chunk-IEQHSCZG.js → chunk-SJO2FTPG.js} +6 -6
  52. package/dist/{chunk-ERMSO34F.js → chunk-SNEHX4VE.js} +2 -2
  53. package/dist/{chunk-252LNOEG.js → chunk-TA42STP7.js} +4 -4
  54. package/dist/{chunk-CK7SKVHR.js → chunk-TBAMBLF3.js} +3 -12
  55. package/dist/chunk-TBAMBLF3.js.map +1 -0
  56. package/dist/{chunk-C6OH6CNF.js → chunk-TCC737IS.js} +3 -3
  57. package/dist/{chunk-H2DLH2JI.js → chunk-TVIX653Q.js} +3 -3
  58. package/dist/{chunk-G7NJSREW.js → chunk-UK2I3ACY.js} +3 -3
  59. package/dist/{chunk-XSLV76YK.js → chunk-XWFNO5PO.js} +3 -3
  60. package/dist/{chunk-PHF3D7ER.js → chunk-YA63PVWI.js} +5 -5
  61. package/dist/chunk-YGFIQ6Y5.js +17 -0
  62. package/dist/chunk-YGFIQ6Y5.js.map +1 -0
  63. package/dist/{chunk-MYC3O5EJ.js → chunk-ZX43SRZR.js} +3 -3
  64. package/dist/{cli-URZQXL4K.js → cli-6PGVHP7Y.js} +15 -15
  65. package/dist/{cli-2QPR2OZG.js → cli-AAG3N4NB.js} +16 -16
  66. package/dist/{cli-4IOPGZHR.js → cli-E3H6ZP4I.js} +2 -2
  67. package/dist/{cli-OFPZ5MAS.js → cli-HUIMNJT6.js} +20 -15
  68. package/dist/cli-HUIMNJT6.js.map +1 -0
  69. package/dist/{cli-LJLLIQB2.js → cli-MHTYPVOD.js} +16 -16
  70. package/dist/{cli-5FL73WHA.js → cli-PRZHQ3QB.js} +15 -13
  71. package/dist/{cli-5FL73WHA.js.map → cli-PRZHQ3QB.js.map} +1 -1
  72. package/dist/{cli-SRHFUZHA.js → cli-QKIJOXGW.js} +13 -13
  73. package/dist/{cli-C262QOWM.js → cli-TYGOHJOJ.js} +25 -25
  74. package/dist/{cli-SHSMSRQY.js → cli-YW6VWBHX.js} +9 -9
  75. package/dist/cli.js +11 -11
  76. package/dist/docmeta.js +8 -8
  77. package/dist/{github-QXL3VMK2.js → github-3WMSTNTK.js} +13 -13
  78. package/dist/{github-FE6KCNYJ.js → github-OXSJQ4PS.js} +11 -11
  79. package/dist/index.d.ts +30 -8
  80. package/dist/index.js +42 -38
  81. package/dist/index.js.map +1 -1
  82. package/dist/{json-SGZ6ZRFD.js → json-4DCKDGUV.js} +11 -11
  83. package/dist/lint-YDHVVZHT.js +30 -0
  84. package/dist/{list-7BKNYPSB.js → list-3ZO2NIYO.js} +11 -11
  85. package/dist/{list-6BAXTZUM.js → list-EJH6VAOW.js} +11 -11
  86. package/dist/{page-3U2GCFNE.js → page-QEDB7EVU.js} +10 -10
  87. package/dist/{pretty-N6DO4OOL.js → pretty-5DGEBZSV.js} +11 -11
  88. package/dist/{pretty-2H57QVTY.js → pretty-SQX33UM2.js} +12 -12
  89. package/dist/{reporters-N6GHXSS7.js → reporters-OHSI3RMV.js} +12 -11
  90. package/dist/{reporters-UCNEV7PH.js → reporters-YELDDYJD.js} +4 -4
  91. package/dist/{run-XZDAREJE.js → run-IP6NZHAG.js} +11 -11
  92. package/dist/{term-5ICGKPC3.js → term-2WMDZ4PY.js} +15 -15
  93. package/dist/{validate-GQRM77YN.js → validate-G6HH3YXL.js} +5 -5
  94. package/package.json +1 -1
  95. package/plugin/manni/.claude-plugin/plugin.json +1 -1
  96. package/plugin/manni/hooks/hooks.json +21 -4
  97. package/plugin/manni/hooks/manni.mjs +157 -0
  98. package/plugin/manni/skills/check/SKILL.md +3 -3
  99. package/plugin/manni/skills/evals/SKILL.md +2 -2
  100. package/plugin/manni/skills/fix/SKILL.md +3 -3
  101. package/plugin/manni/skills/setup/SKILL.md +3 -3
  102. package/dist/chunk-644JVKJ4.js.map +0 -1
  103. package/dist/chunk-CK7SKVHR.js.map +0 -1
  104. package/dist/chunk-CYWHFSRT.js.map +0 -1
  105. package/dist/chunk-JOHKIAVH.js.map +0 -1
  106. package/dist/chunk-M2JCK5F6.js.map +0 -1
  107. package/dist/chunk-PCHZY2I7.js.map +0 -1
  108. package/dist/chunk-YIL4XLLJ.js.map +0 -1
  109. package/dist/cli-OFPZ5MAS.js.map +0 -1
  110. package/dist/lint-DL4LJRAY.js +0 -28
  111. /package/dist/{batch-DFRCLY77.js.map → batch-GOE3UXOD.js.map} +0 -0
  112. /package/dist/{build-Q5C6SX5J.js.map → build-M7BMEHL2.js.map} +0 -0
  113. /package/dist/{calibrate-XQILKXS3.js.map → calibrate-6RRAILUY.js.map} +0 -0
  114. /package/dist/{capture-JQMOC3BW.js.map → capture-RJPQ6B4N.js.map} +0 -0
  115. /package/dist/{check-HYNGXYJV.js.map → check-BQD64X3N.js.map} +0 -0
  116. /package/dist/{check-NFZQLJKN.js.map → check-ESNS7ZBC.js.map} +0 -0
  117. /package/dist/{check-U54XV6BP.js.map → check-RQIIIURI.js.map} +0 -0
  118. /package/dist/{chunk-7QMCHA4N.js.map → chunk-3R5Y3XOL.js.map} +0 -0
  119. /package/dist/{chunk-K3D6FPV6.js.map → chunk-3YHAYXBC.js.map} +0 -0
  120. /package/dist/{chunk-6OYEI2VV.js.map → chunk-52PDIZKV.js.map} +0 -0
  121. /package/dist/{chunk-NWZ2SLYL.js.map → chunk-7OQAU4EA.js.map} +0 -0
  122. /package/dist/{chunk-5YXBLLAC.js.map → chunk-7ZUCEMCY.js.map} +0 -0
  123. /package/dist/{chunk-MYMBCTDE.js.map → chunk-BOIF2XGG.js.map} +0 -0
  124. /package/dist/{chunk-3AFUD75K.js.map → chunk-C6HZ6C5T.js.map} +0 -0
  125. /package/dist/{chunk-XYLUCIKQ.js.map → chunk-CP4ZM43V.js.map} +0 -0
  126. /package/dist/{chunk-YTCZRLTU.js.map → chunk-DX32P2DT.js.map} +0 -0
  127. /package/dist/{chunk-OBFENF3U.js.map → chunk-F2OVHJNC.js.map} +0 -0
  128. /package/dist/{chunk-5KHIFVD2.js.map → chunk-FLF6AECQ.js.map} +0 -0
  129. /package/dist/{chunk-77HX34KD.js.map → chunk-GAZFKZHM.js.map} +0 -0
  130. /package/dist/{chunk-KCGV52AM.js.map → chunk-HQFVJDEN.js.map} +0 -0
  131. /package/dist/{chunk-RLR4TKUZ.js.map → chunk-HVFR66GQ.js.map} +0 -0
  132. /package/dist/{chunk-2U3ORT6D.js.map → chunk-IA7BMIPE.js.map} +0 -0
  133. /package/dist/{chunk-LAKAWRV5.js.map → chunk-JQU7FHYH.js.map} +0 -0
  134. /package/dist/{chunk-X3BPBDGQ.js.map → chunk-MZC62HPZ.js.map} +0 -0
  135. /package/dist/{chunk-V46OILVC.js.map → chunk-NAZRLJAK.js.map} +0 -0
  136. /package/dist/{chunk-BUXDLRDT.js.map → chunk-NGK3N6F2.js.map} +0 -0
  137. /package/dist/{chunk-WQE54PNH.js.map → chunk-NN4ASVTY.js.map} +0 -0
  138. /package/dist/{chunk-YFQBFNQS.js.map → chunk-QLUMKWQQ.js.map} +0 -0
  139. /package/dist/{chunk-YYBFZLAJ.js.map → chunk-QY3DOZMS.js.map} +0 -0
  140. /package/dist/{chunk-IEQHSCZG.js.map → chunk-SJO2FTPG.js.map} +0 -0
  141. /package/dist/{chunk-ERMSO34F.js.map → chunk-SNEHX4VE.js.map} +0 -0
  142. /package/dist/{chunk-252LNOEG.js.map → chunk-TA42STP7.js.map} +0 -0
  143. /package/dist/{chunk-C6OH6CNF.js.map → chunk-TCC737IS.js.map} +0 -0
  144. /package/dist/{chunk-H2DLH2JI.js.map → chunk-TVIX653Q.js.map} +0 -0
  145. /package/dist/{chunk-G7NJSREW.js.map → chunk-UK2I3ACY.js.map} +0 -0
  146. /package/dist/{chunk-XSLV76YK.js.map → chunk-XWFNO5PO.js.map} +0 -0
  147. /package/dist/{chunk-PHF3D7ER.js.map → chunk-YA63PVWI.js.map} +0 -0
  148. /package/dist/{chunk-MYC3O5EJ.js.map → chunk-ZX43SRZR.js.map} +0 -0
  149. /package/dist/{cli-URZQXL4K.js.map → cli-6PGVHP7Y.js.map} +0 -0
  150. /package/dist/{cli-2QPR2OZG.js.map → cli-AAG3N4NB.js.map} +0 -0
  151. /package/dist/{cli-4IOPGZHR.js.map → cli-E3H6ZP4I.js.map} +0 -0
  152. /package/dist/{cli-LJLLIQB2.js.map → cli-MHTYPVOD.js.map} +0 -0
  153. /package/dist/{cli-SRHFUZHA.js.map → cli-QKIJOXGW.js.map} +0 -0
  154. /package/dist/{cli-C262QOWM.js.map → cli-TYGOHJOJ.js.map} +0 -0
  155. /package/dist/{cli-SHSMSRQY.js.map → cli-YW6VWBHX.js.map} +0 -0
  156. /package/dist/{github-FE6KCNYJ.js.map → github-3WMSTNTK.js.map} +0 -0
  157. /package/dist/{github-QXL3VMK2.js.map → github-OXSJQ4PS.js.map} +0 -0
  158. /package/dist/{json-SGZ6ZRFD.js.map → json-4DCKDGUV.js.map} +0 -0
  159. /package/dist/{lint-DL4LJRAY.js.map → lint-YDHVVZHT.js.map} +0 -0
  160. /package/dist/{list-6BAXTZUM.js.map → list-3ZO2NIYO.js.map} +0 -0
  161. /package/dist/{list-7BKNYPSB.js.map → list-EJH6VAOW.js.map} +0 -0
  162. /package/dist/{page-3U2GCFNE.js.map → page-QEDB7EVU.js.map} +0 -0
  163. /package/dist/{pretty-2H57QVTY.js.map → pretty-5DGEBZSV.js.map} +0 -0
  164. /package/dist/{pretty-N6DO4OOL.js.map → pretty-SQX33UM2.js.map} +0 -0
  165. /package/dist/{reporters-N6GHXSS7.js.map → reporters-OHSI3RMV.js.map} +0 -0
  166. /package/dist/{reporters-UCNEV7PH.js.map → reporters-YELDDYJD.js.map} +0 -0
  167. /package/dist/{run-XZDAREJE.js.map → run-IP6NZHAG.js.map} +0 -0
  168. /package/dist/{term-5ICGKPC3.js.map → term-2WMDZ4PY.js.map} +0 -0
  169. /package/dist/{validate-GQRM77YN.js.map → validate-G6HH3YXL.js.map} +0 -0
package/dist/index.d.ts CHANGED
@@ -7826,6 +7826,21 @@ interface SectionNode {
7826
7826
  parentSlug: string | null;
7827
7827
  /** Span of the title itself. Null for the implicit lead section. */
7828
7828
  titlePosition: Position | null;
7829
+ /**
7830
+ * The anchor the source itself gives this section, verbatim - an HTML `id`,
7831
+ * a DITA `@id`, an AsciiDoc `[[id]]`, a reST `.. _label:` - when it gives
7832
+ * one. `slug` stays the slugged title either way: a link written against
7833
+ * the source's own id resolves through this, and nothing lint matches on
7834
+ * reads it.
7835
+ */
7836
+ id?: string;
7837
+ /**
7838
+ * Set on the level-1 section `withMetadataTitle` made from a metadata
7839
+ * `title`, so a consumer can tell it from a heading the author wrote. Its
7840
+ * `titlePosition` is not enough: a reST title read back as docinfo shares
7841
+ * its span with the frontmatter, written or not.
7842
+ */
7843
+ synthetic?: true;
7829
7844
  /** Span of the whole section: its heading through the last node before the next sibling heading. */
7830
7845
  position: Position;
7831
7846
  /** Direct content, in document order, excluding anything owned by a subsection. */
@@ -7845,6 +7860,16 @@ interface DocumentTree {
7845
7860
  frontmatterPosition: Position | null;
7846
7861
  /** Top-level sections, in document order. */
7847
7862
  sections: SectionNode[];
7863
+ /**
7864
+ * Link targets exactly as the source wrote them, in document order, for
7865
+ * `manni graph`. No lint rule reads them. Each parser decides what counts:
7866
+ * an anchor to elsewhere does, and a stylesheet, a heading's own permalink,
7867
+ * or a key reference resolved only at build time does not.
7868
+ */
7869
+ links: {
7870
+ target: string;
7871
+ position: Position;
7872
+ }[];
7848
7873
  }
7849
7874
  /**
7850
7875
  * A parser for one input format.
@@ -9156,16 +9181,13 @@ interface RunConfigOptions {
9156
9181
  */
9157
9182
  declare function loadRunConfig(opts: RunConfigOptions, cwd?: string): GraphConfig;
9158
9183
 
9159
- /** The formats graph parses, as `--as` names them. */
9160
- declare const DOC_FORMATS: readonly ["markdown", "mdx"];
9184
+ /** The formats graph parses, as `--as` names them: lint's parser names. */
9185
+ declare const DOC_FORMATS: readonly ["asciidoc", "html", "markdown", "mdx", "rst", "xml"];
9161
9186
  type DocFormat = (typeof DOC_FORMATS)[number];
9162
9187
  interface AnalyzeOptions {
9163
9188
  /** Site-route mappings for resolving root-absolute links. */
9164
9189
  routes?: RouteMapping[];
9165
- /**
9166
- * `--as`: parse as this format whatever the path says. Absent, a `.mdx`
9167
- * path is MDX and anything else is markdown.
9168
- */
9190
+ /** `--as`: parse as this format whatever the path says. Absent, see `formatOf`. */
9169
9191
  format?: DocFormat;
9170
9192
  /**
9171
9193
  * How the body is parsed. Absent, `parseBody`. `graph build` passes a cache's
@@ -9191,7 +9213,7 @@ interface DocBody {
9191
9213
  /** Code fence languages, sorted and distinct. */
9192
9214
  codeLanguages: string[];
9193
9215
  }
9194
- /** Analyze one Markdown file. `allPaths` is the discovered corpus for link resolution. */
9216
+ /** Analyze one document. `allPaths` is the discovered corpus for link resolution. */
9195
9217
  declare function analyzeDoc(content: string, relPath: string, allPaths: ReadonlySet<string>, options?: AnalyzeOptions): DocModel;
9196
9218
 
9197
9219
  /** Shared types for manni graph. */
@@ -9304,7 +9326,7 @@ interface DocumentSetOptions {
9304
9326
  exclude?: string[];
9305
9327
  /**
9306
9328
  * `--ext <list>`: what a directory walk or a glob keeps. Absent means
9307
- * `.md,.mdx,.markdown`. A file named outright is never filtered by it.
9329
+ * `DEFAULT_EXTENSIONS`. A file named outright is never filtered by it.
9308
9330
  */
9309
9331
  ext?: string[];
9310
9332
  /** `--as <format>`: parse every input as this format. Required with `-`. */
package/dist/index.js CHANGED
@@ -5,7 +5,7 @@ import {
5
5
  rescore,
6
6
  runCalibrate as runCalibrate2,
7
7
  score
8
- } from "./chunk-MYC3O5EJ.js";
8
+ } from "./chunk-ZX43SRZR.js";
9
9
  import {
10
10
  buildManifest,
11
11
  deviceId,
@@ -13,7 +13,7 @@ import {
13
13
  redactDeep,
14
14
  renderCapture,
15
15
  runCapture
16
- } from "./chunk-YFQBFNQS.js";
16
+ } from "./chunk-QLUMKWQQ.js";
17
17
  import {
18
18
  ALLOWED_GRADERS,
19
19
  BUILTIN_TOOLS,
@@ -34,16 +34,16 @@ import {
34
34
  runFill as runFill4,
35
35
  runList as runList2,
36
36
  systemPromptFor
37
- } from "./chunk-5KHIFVD2.js";
37
+ } from "./chunk-FLF6AECQ.js";
38
38
  import {
39
39
  discoverArtifacts
40
- } from "./chunk-XYLUCIKQ.js";
40
+ } from "./chunk-CP4ZM43V.js";
41
41
  import {
42
42
  KeyError,
43
43
  cite_exports,
44
44
  runKeyRotate,
45
45
  runKeySet
46
- } from "./chunk-OBFENF3U.js";
46
+ } from "./chunk-F2OVHJNC.js";
47
47
  import {
48
48
  parseHookPayload,
49
49
  readStdin
@@ -108,7 +108,7 @@ import {
108
108
  splitFragment,
109
109
  traverse,
110
110
  writeZip
111
- } from "./chunk-644JVKJ4.js";
111
+ } from "./chunk-EL2BZTDL.js";
112
112
  import {
113
113
  LOCALIZATIONS_FILENAME,
114
114
  UNDETERMINED,
@@ -123,13 +123,13 @@ import {
123
123
  runBuild,
124
124
  searchIndexFilename,
125
125
  vectorIndexFilename
126
- } from "./chunk-YIL4XLLJ.js";
126
+ } from "./chunk-K3U5F2QT.js";
127
127
  import {
128
128
  compactIri,
129
129
  expandTerm,
130
130
  loadGraph,
131
131
  storeToQuads
132
- } from "./chunk-MYMBCTDE.js";
132
+ } from "./chunk-BOIF2XGG.js";
133
133
  import {
134
134
  COVERAGE_FIELDS,
135
135
  COVERAGE_FIELD_NAMES,
@@ -163,7 +163,7 @@ import {
163
163
  profileFor,
164
164
  resolveBaseIri,
165
165
  withPrefix
166
- } from "./chunk-M2JCK5F6.js";
166
+ } from "./chunk-B7XUEQF3.js";
167
167
  import {
168
168
  BUILTIN_GRADER_KINDS,
169
169
  IMPLICIT_EVAL_NAME,
@@ -221,7 +221,7 @@ import {
221
221
  skippedWindow,
222
222
  validateWhen,
223
223
  windowFor
224
- } from "./chunk-IEQHSCZG.js";
224
+ } from "./chunk-SJO2FTPG.js";
225
225
  import {
226
226
  ARTIFACT_EVALS_SCHEMA_ID,
227
227
  CONFIG_SECTION_KEY,
@@ -262,7 +262,7 @@ import {
262
262
  sha256Hex,
263
263
  siblingManifestPath,
264
264
  writeManifest
265
- } from "./chunk-7QMCHA4N.js";
265
+ } from "./chunk-3R5Y3XOL.js";
266
266
  import {
267
267
  pickTrace
268
268
  } from "./chunk-PAU352SV.js";
@@ -296,11 +296,11 @@ import {
296
296
  runPromote,
297
297
  runReview,
298
298
  seedGoldenCases
299
- } from "./chunk-77HX34KD.js";
299
+ } from "./chunk-GAZFKZHM.js";
300
300
  import {
301
301
  renderList,
302
302
  runList
303
- } from "./chunk-YTCZRLTU.js";
303
+ } from "./chunk-DX32P2DT.js";
304
304
  import {
305
305
  appendPageEvals,
306
306
  makeGenerateScripts,
@@ -312,7 +312,7 @@ import {
312
312
  scriptLocationFor,
313
313
  updateConfigEval,
314
314
  updatePageEval
315
- } from "./chunk-PHF3D7ER.js";
315
+ } from "./chunk-YA63PVWI.js";
316
316
  import {
317
317
  DEFAULT_CONFIG_FILENAME,
318
318
  EVAL_KEYS,
@@ -335,7 +335,7 @@ import {
335
335
  runEvals,
336
336
  stripFrontmatterBlock,
337
337
  withExternalMetadata
338
- } from "./chunk-NWZ2SLYL.js";
338
+ } from "./chunk-7OQAU4EA.js";
339
339
  import "./chunk-LJ2RDH3F.js";
340
340
  import "./chunk-YNHZHSSM.js";
341
341
  import {
@@ -349,18 +349,18 @@ import {
349
349
  import {
350
350
  DocevalsError
351
351
  } from "./chunk-SE4JN5XN.js";
352
- import "./chunk-5YXBLLAC.js";
353
- import "./chunk-LAKAWRV5.js";
354
- import "./chunk-XSLV76YK.js";
355
- import "./chunk-BUXDLRDT.js";
356
- import "./chunk-252LNOEG.js";
352
+ import "./chunk-7ZUCEMCY.js";
353
+ import "./chunk-JQU7FHYH.js";
354
+ import "./chunk-XWFNO5PO.js";
355
+ import "./chunk-NGK3N6F2.js";
356
+ import "./chunk-TA42STP7.js";
357
357
  import "./chunk-PCE7QHXJ.js";
358
358
  import {
359
359
  BUILTIN_SOURCE,
360
360
  BUILT_IN_DEFAULTS,
361
361
  runTemplates,
362
362
  runTools
363
- } from "./chunk-PCHZY2I7.js";
363
+ } from "./chunk-OIZ3XMKB.js";
364
364
  import {
365
365
  LINT_JOBS,
366
366
  LINT_TOOLS,
@@ -371,21 +371,23 @@ import {
371
371
  clearTemplateCaches,
372
372
  isLintTool,
373
373
  listBuiltins as listBuiltins2,
374
- listFormats,
375
374
  loadConfig as loadConfig2,
376
375
  loadTemplate,
377
376
  loadTemplateFile,
378
377
  parseConfig as parseConfig2,
379
- parserByName,
380
- parserForExtension,
381
378
  rebaseConfig,
382
379
  resolveExtends,
383
380
  resolveLintRun,
384
381
  runLint,
385
- supportedExtensions as supportedExtensions2,
386
382
  validateDocument,
387
383
  validateSections
388
- } from "./chunk-JOHKIAVH.js";
384
+ } from "./chunk-DE7JSWXV.js";
385
+ import {
386
+ listFormats,
387
+ parserByName,
388
+ parserForExtension,
389
+ supportedExtensions as supportedExtensions2
390
+ } from "./chunk-ELZ2IIOF.js";
389
391
  import "./chunk-TIUTIOFB.js";
390
392
  import {
391
393
  RULE_ID_PREFIX,
@@ -400,24 +402,26 @@ import {
400
402
  renderTools,
401
403
  ruleId,
402
404
  ruleName
403
- } from "./chunk-H6FZ66XR.js";
405
+ } from "./chunk-C3KI45RF.js";
404
406
  import "./chunk-GLP5PSXB.js";
405
407
  import {
406
408
  BLOCK_KINDS,
407
- LintError,
408
409
  clearPatternCache,
409
410
  headingMatches,
410
411
  isWildcard,
411
412
  matchSections,
412
413
  occurrenceRange
413
- } from "./chunk-CK7SKVHR.js";
414
+ } from "./chunk-TBAMBLF3.js";
415
+ import {
416
+ LintError
417
+ } from "./chunk-YGFIQ6Y5.js";
414
418
  import "./chunk-77AINBYM.js";
415
- import "./chunk-G7NJSREW.js";
419
+ import "./chunk-UK2I3ACY.js";
416
420
  import "./chunk-IKEWBMCN.js";
417
421
  import "./chunk-TU2WUBVZ.js";
418
422
  import {
419
423
  reencryptMetadata
420
- } from "./chunk-H2DLH2JI.js";
424
+ } from "./chunk-TVIX653Q.js";
421
425
  import {
422
426
  DEFAULT_VENDOR_DIR,
423
427
  DERIVE_FORMATS,
@@ -439,8 +443,8 @@ import {
439
443
  runVendorSchema,
440
444
  stringifyValue,
441
445
  vendorFileName
442
- } from "./chunk-CYWHFSRT.js";
443
- import "./chunk-K3D6FPV6.js";
446
+ } from "./chunk-QCBICNKC.js";
447
+ import "./chunk-3YHAYXBC.js";
444
448
  import {
445
449
  BinMissing,
446
450
  FIELD_SOURCES,
@@ -469,7 +473,7 @@ import {
469
473
  runValidate,
470
474
  sourcesFor,
471
475
  valueOf
472
- } from "./chunk-V46OILVC.js";
476
+ } from "./chunk-NAZRLJAK.js";
473
477
  import {
474
478
  EXTERNAL_DUPLICATE_SCHEMA,
475
479
  EXTERNAL_KEYWORD,
@@ -490,7 +494,7 @@ import {
490
494
  orphanError,
491
495
  orphanJoins,
492
496
  resolveEncryptionKey
493
- } from "./chunk-RLR4TKUZ.js";
497
+ } from "./chunk-HVFR66GQ.js";
494
498
  import {
495
499
  COMMON_FORMATS,
496
500
  QUERY_FORMATS,
@@ -501,7 +505,7 @@ import {
501
505
  render,
502
506
  renderJunit,
503
507
  renderSarif
504
- } from "./chunk-C6OH6CNF.js";
508
+ } from "./chunk-TCC737IS.js";
505
509
  import {
506
510
  DEFAULT_SCHEMAS,
507
511
  DEFAULT_TTL_HOURS,
@@ -544,7 +548,7 @@ import {
544
548
  staleFindings,
545
549
  supportedExtensions,
546
550
  writeFileAtomic
547
- } from "./chunk-JVTNMVYU.js";
551
+ } from "./chunk-527HHQPS.js";
548
552
  import "./chunk-YEUYKR62.js";
549
553
  import {
550
554
  palette,
@@ -560,7 +564,7 @@ import {
560
564
  parseCollections,
561
565
  selectCollections
562
566
  } from "./chunk-Q35YIDBV.js";
563
- import "./chunk-UZC7LDAQ.js";
567
+ import "./chunk-6XTQDFGP.js";
564
568
  import "./chunk-OWBRDNRZ.js";
565
569
  import "./chunk-G3T47CFV.js";
566
570
  import {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/docevals/index.ts","../src/lint/index.ts","../src/graph/index.ts","../src/graph/runtime/assemble.ts","../src/graph/runtime/rdfjs.ts","../src/graph/schema.ts","../src/key/index.ts","../src/tracevals/index.ts"],"sourcesContent":["/** Programmatic API for manni docevals. */\nexport { loadConfig, parseConfig, DEFAULT_CONFIG_FILENAME } from \"./core/config.js\";\nexport type { DocevalsConfig, EvalDef, SuiteDef, ProviderName } from \"./core/config.js\";\nexport { discoverPages, readPage, stripFrontmatterBlock } from \"./core/discover.js\";\nexport type { PageFile } from \"./core/discover.js\";\nexport {\n loadExternalReader,\n withExternalMetadata,\n EVAL_KEYS,\n EXTERNAL_KEYS,\n} from \"./core/external.js\";\nexport type { ExternalMetadataReader, PageExternal } from \"./core/external.js\";\nexport { resolvePage, resolvePages } from \"./core/resolve.js\";\nexport type {\n EvalLocation,\n ResolvedEval,\n ResolvedPagePlan,\n PageProblem,\n} from \"./core/resolve.js\";\nexport { runList, renderList } from \"./commands/list.js\";\nexport type { ListOptions, ListRun } from \"./commands/list.js\";\nexport { runEvals } from \"./core/engine.js\";\nexport type {\n EngineReport,\n JudgeFn,\n JudgeOptions,\n RunOptions,\n RunProblem,\n} from \"./core/engine.js\";\nexport { runRun } from \"./commands/run.js\";\nexport type { RunCommandOptions } from \"./commands/run.js\";\n// From the library, not local copies: judge.ts calls the library's versions,\n// so re-exporting a second implementation here would let a consumer's\n// computeConsensus() diverge from what the judge actually ran — the drift this\n// extraction exists to end.\nexport { computeConsensus, zoneFor } from \"@hawkeyexl/inference\";\nexport type { ZoneThresholds } from \"@hawkeyexl/inference\";\nexport { makeJudge } from \"./judge/judge.js\";\nexport {\n makeProvider,\n providerSpecFor,\n resolveProviderIdentity,\n} from \"./judge/provider.js\";\n// The provider contract and the offline test seam come from the shared\n// inference layer; re-exported so downstream code keeps one import site.\n// `InferenceProvider` is what this package used to call `JudgeProvider`.\nexport {\n MockProvider,\n mockVerdict,\n type CompleteJSONRequest,\n type CompleteJSONResponse,\n type InferenceProvider,\n type MockResponse,\n} from \"@hawkeyexl/inference\";\nexport {\n render,\n parseFormat,\n REPORT_FORMATS,\n SUMMARY_FORMATS,\n} from \"./reporters/index.js\";\nexport type { ColorOptions, ReportFormat, SummaryFormat } from \"./reporters/index.js\";\nexport {\n listReviews,\n renderReviews,\n runReview,\n} from \"./commands/review.js\";\nexport { runGenerate } from \"./commands/generate.js\";\nexport type { GenerateOptions, GenerateRun } from \"./commands/generate.js\";\nexport { runFill, renderFill } from \"./commands/fill.js\";\nexport type {\n FillOptions,\n FillReport,\n FillPageResult,\n FillStatus,\n ProposedEval,\n} from \"./commands/fill.js\";\nexport {\n FILL_PROMPT_VERSION,\n FILL_SYSTEM_PROMPT,\n PROPOSAL_SCHEMA,\n buildFillUser,\n isValidProposal,\n} from \"./fill/prompt.js\";\nexport { FillCache, fillCacheKey } from \"./fill/cache.js\";\nexport { runPromote } from \"./commands/promote.js\";\nexport type { PromoteOptions, PromoteProposal } from \"./commands/promote.js\";\nexport { makeGenerateScripts, scriptLocationFor } from \"./graders/scriptgen.js\";\nexport {\n runCalibrate,\n renderCalibration,\n loadGoldenCases,\n seedGoldenCases,\n GOLDEN_DIR,\n SEEDED_GOLDEN_FILE,\n} from \"./commands/calibrate.js\";\nexport type {\n CalibrateOptions,\n CalibrationReport,\n CalibrationCaseResult,\n GoldenCase,\n SeedResult,\n} from \"./commands/calibrate.js\";\nexport { runInit } from \"./commands/init.js\";\nexport { registerGrader, graderFor, listGraderKinds } from \"./graders/registry.js\";\nexport type { Grader, GraderContext, GraderTarget, ExecFn } from \"./graders/types.js\";\nexport {\n updatePageEval,\n updateConfigEval,\n appendPageEvals,\n} from \"./core/frontmatter-edit.js\";\nexport type { NewEvalEntry } from \"./core/frontmatter-edit.js\";\nexport { frontmatterSchema, FRONTMATTER_SCHEMA_ID } from \"./schema.js\";\n// The judge cache key and the exact body it hashes. Exported so that anything\n// asking \"is this verdict already cached?\" — `scripts/check-docs-cache.mjs`\n// above all — computes it with the judge's own code instead of reproducing the\n// composition by hand, which is how that script silently keyed on the raw page\n// body after the judge started prefixing the chunk budget.\nexport { cacheKey, judgeCacheBody } from \"./judge/cache.js\";\nexport type { JudgeCacheBody } from \"./judge/cache.js\";\nexport { readTarget } from \"./core/target.js\";\nexport * from \"./types.js\";\n","/** Programmatic API for manni lint. */\nimport { clearTemplateCaches } from \"./core/template-registry.js\";\nimport { clearMatcherCache } from \"./core/resolve-template.js\";\nimport { clearPatternCache } from \"./rules/index.js\";\n\n/**\n * Drop every process-lifetime cache: parsed built-ins, fetched template files,\n * compiled override globs, and compiled heading patterns.\n *\n * A CLI run never needs this - it lints one docset and exits, and the caches\n * are what stop a tree of one doctype from re-reading the same template per\n * page. A long-lived host is the different case: the maps grow with the number\n * of distinct refs and patterns seen, and a cached remote template is served\n * for the life of the process, so one republished upstream is never picked up.\n * Call this between runs, or when a template may have changed underneath.\n */\nexport function clearCaches(): void {\n clearTemplateCaches();\n clearMatcherCache();\n clearPatternCache();\n}\n\nexport { runLint, STDIN_LABEL } from \"./commands/lint.js\";\nexport type {\n LintOptions,\n LintRun,\n LintSummary,\n LintFileResult,\n} from \"./commands/lint.js\";\nexport { runTemplates, BUILTIN_SOURCE } from \"./commands/templates.js\";\nexport type {\n TemplateInfo,\n TemplatesInfo,\n TemplatesOptions,\n} from \"./commands/templates.js\";\nexport { runTools, BUILT_IN_DEFAULTS } from \"./commands/tools.js\";\nexport type { FormatInfo, ToolInfo, ToolsOptions } from \"./commands/tools.js\";\nexport {\n LINT_JOBS,\n LINT_TOOLS,\n TOOLS_BY_JOB,\n isLintTool,\n loadConfig,\n parseConfig,\n rebaseConfig,\n resolveLintRun,\n} from \"./core/config.js\";\nexport type {\n LintConfig,\n LintJob,\n LintJobConfig,\n LintRunOptions,\n LintTool,\n ResolvedLintRun,\n} from \"./core/config.js\";\nexport { validateDocument, validateSections } from \"./core/validator.js\";\nexport { matchSections } from \"./core/match.js\";\nexport type { Match, MatchResult } from \"./core/match.js\";\nexport {\n BLOCK_KINDS,\n headingMatches,\n isWildcard,\n occurrenceRange,\n} from \"./core/template.js\";\nexport type {\n AdmonitionsRule,\n AttributesRule,\n BlockKind,\n BlockRule,\n CodeBlocksRule,\n ElementsRule,\n HeadingRule,\n ImagesRule,\n ListItemsRule,\n ListsRule,\n Occurrences,\n ParagraphsRule,\n Rule,\n TablesRule,\n Template,\n TemplateFile,\n} from \"./core/template.js\";\nexport {\n listBuiltins,\n loadTemplate,\n loadTemplateFile,\n resolveExtends,\n classifyRef,\n} from \"./core/template-registry.js\";\nexport type {\n BuiltinInfo,\n LoadTemplateOptions,\n RefKind,\n TemplateResolver,\n} from \"./core/template-registry.js\";\n// Targets resolve through the family's walker (`src/meta/internal.ts`), which\n// is what makes `--ext`, `--exclude`, `.gitignore` handling and `--allow-empty`\n// mean the same thing here as they do for `meta` and `cite`.\nexport { STDIN_TOKEN } from \"../meta/internal.js\";\nexport {\n listFormats,\n parserByName,\n parserForExtension,\n supportedExtensions,\n} from \"./parsers/index.js\";\nexport {\n render,\n renderPretty,\n renderJson,\n renderGithub,\n renderJunit,\n renderTemplates,\n renderTools,\n} from \"./reporters/index.js\";\nexport type {\n ReportFormat,\n ReportOptions,\n ListFormat,\n} from \"./reporters/index.js\";\nexport { renderSarif } from \"./reporters/sarif.js\";\nexport type { SarifOptions } from \"./reporters/sarif.js\";\n// A finding's durable identity, so a caller filing or correlating findings\n// spells the id the same way every reporter does.\nexport { RULE_ID_PREFIX, TOOL_NAME, ruleId, ruleName } from \"./core/rule-id.js\";\n// Colour is the family's decision, made once in `src/shared/color.js`. These\n// are re-exported here so a library caller building lint's reports does not\n// have to reach for another tool's entry point to turn ANSI on or off.\nexport { palette, shouldColor } from \"../shared/color.js\";\nexport * from \"./types.js\";\n","/** The graph tool's public API. */\nexport * from \"./types.js\";\nexport {\n defaultConfig,\n loadConfig,\n loadRunConfig,\n parseConfig,\n type GraphConfig,\n type DeriveSource,\n type FillField,\n} from \"./core/config.js\";\nexport {\n COVERAGE_FIELDS,\n COVERAGE_FIELD_NAMES,\n // reference/library-api.mdx names this alongside the other two, so it has to\n // be reachable from the entry point that page tells consumers to import from.\n SECTION_COVERAGE_FIELDS,\n type CoverageField,\n} from \"./core/coverage.js\";\nexport {\n discoverFiles,\n resolveDocumentSet,\n type DocumentInputOptions,\n type DocumentSetOptions,\n} from \"./core/discover.js\";\nexport {\n GRAPH_NOT_APPLICABLE_TO_VARIANT,\n GRAPH_NOT_SOFTWARE_SUBJECT,\n SOFTWARE_LIFECYCLE_IRIS,\n SOFTWARE_SUBJECT_IRIS,\n TOPIC_TYPE_IRIS,\n} from \"./core/iirds.js\";\nexport {\n conceptSlug,\n encodeSegment,\n mintAgentIri,\n type AgentKind,\n mintBuildActivityIri,\n mintConceptIri,\n mintDocIri,\n mintGraphIri,\n mintProductIri,\n mintSchemeIri,\n mintSectionIri,\n normalizeDocPath,\n resolveBaseIri,\n} from \"./core/iri.js\";\nexport { analyzeDoc } from \"./core/analyze.js\";\nexport {\n deriveGraph,\n type DeriveOptions,\n type Quad,\n type Term,\n} from \"./core/derive.js\";\nexport {\n collectGitHistory,\n type GitFileHistory,\n type GitHistory,\n} from \"./core/git.js\";\nexport { emitTurtle } from \"./core/emit.js\";\nexport { emitJsonLd } from \"./core/emit-jsonld.js\";\nexport { emitRdfXml } from \"./core/emit-rdfxml.js\";\nexport { writeZip, type ZipEntry } from \"./core/zip.js\";\nexport {\n projectPackage,\n type IirdsPackageOptions,\n type PackageProjection,\n type ContentFile,\n} from \"./core/iirds-package.js\";\nexport {\n loadGraph,\n expandTerm,\n compactIri,\n storeToQuads,\n} from \"./core/load.js\";\n/**\n * The browser-native GraphRAG runtime is also published as the `@hawkeyexl/manni/graph/runtime`\n * subpath, which is the import to use in a browser: it has no `node:` imports\n * and no dependencies (ADR 01018).\n */\nexport * from \"./runtime/index.js\";\nexport {\n applyGraphFields,\n existingGraphFields,\n existingMetaProvenance,\n frontmatterKind,\n type GraphApplyOptions,\n type GraphApplyResult,\n} from \"./core/frontmatter-edit.js\";\nexport { NS, PREFIXES } from \"./core/vocab.js\";\nexport {\n runBuild,\n type BuildOptions,\n type BuildResult,\n} from \"./commands/build.js\";\nexport { frontmatterSchema, FRONTMATTER_SCHEMA_ID } from \"./schema.js\";\nexport {\n runExport,\n type ExportOptions,\n type ExportResult,\n type ExportFormat,\n} from \"./commands/export.js\";\nexport {\n runQuery,\n type QueryOptions,\n type QueryResult,\n} from \"./commands/query.js\";\nexport {\n runStats,\n type CoverageRow,\n type StatsOptions,\n type StatsReport,\n} from \"./commands/stats.js\";\nexport {\n runTraverse,\n renderTraverse,\n type TraverseOptions as TraverseCommandOptions,\n type TraverseReport,\n} from \"./commands/traverse.js\";\nexport {\n runSearch,\n renderSearch,\n type SearchHit,\n type SearchOptions,\n type SearchReport,\n} from \"./commands/search.js\";\nexport {\n runEmbed,\n renderEmbed,\n embedText,\n type EmbedOptions,\n type EmbedReport,\n} from \"./commands/embed.js\";\nexport {\n createLocalEmbedder,\n createMockEmbedder,\n EmbedderUnavailableError,\n DEFAULT_MODEL,\n MODEL_PROFILES,\n profileFor,\n withPrefix,\n type EmbedRole,\n type Embedder,\n type LocalEmbedderOptions,\n type MockEmbedderOptions,\n type ModelProfile,\n} from \"./embed/index.js\";\nexport {\n buildSearchIndex,\n documentsByLanguage,\n emitSearchIndex,\n partitionByLanguage,\n type SearchEntry,\n type SearchIndexDoc,\n type SearchIndexOptions,\n} from \"./core/search-index.js\";\nexport {\n emitLocalizations,\n LOCALIZATIONS_FILENAME,\n parseLocalizations,\n searchIndexFilename,\n UNDETERMINED,\n vectorIndexFilename,\n type LocalizationEntry,\n type LocalizationsDoc,\n type SearchArtifact,\n type VectorArtifact,\n} from \"./core/localizations.js\";\nexport {\n runFill,\n type FillOptions,\n type FillReport,\n type FillDocResult,\n} from \"./commands/fill.js\";\n// The inference layer is @hawkeyexl/inference; re-exported here so downstream\n// code that only depends on dockg can still construct providers and drive the\n// offline test seam without adding a second dependency.\nexport {\n MockProvider,\n type CompleteJSONRequest,\n type CompleteJSONResponse,\n type InferenceProvider,\n type MockResponse,\n} from \"@hawkeyexl/inference\";\nexport {\n assertProviderSelection,\n constructProvider,\n makeProvider,\n providerSpecFor,\n resolveProviderIdentity,\n selectProvider,\n type ProviderChoice,\n type ProviderFlags,\n type ProviderSelection,\n} from \"./llm/provider.js\";\n","/**\n * Context assembly (ADR 01018) — the runtime's terminal stage.\n *\n * Turns traversed nodes into the bundle an inference engine consumes:\n * `{ context, citations, trace, refusal? }`. **dockg stops here**: it never\n * calls a model. A different tool (an agent over MCP, a site backend) takes the\n * bundle onward, which keeps this runtime fully deterministic and keeps API\n * keys and inference cost outside dockg entirely.\n *\n * When nothing survives retrieval the result is a *structured refusal*, never\n * empty context — a caller must be able to tell \"no route exists\" apart from\n * \"here is nothing, proceed anyway\" (the disciplined-silence contract).\n *\n * Platform-neutral: no `node:` imports, no npm dependencies.\n */\nimport type { ContentResolver } from \"./resolve.js\";\nimport type { EntryCandidate, QueryTrace } from \"./trace.js\";\nimport { createTrace } from \"./trace.js\";\nimport type { TraversedNode } from \"./traverse.js\";\n\nexport interface ContextBlock {\n iri: string;\n title?: string;\n text: string;\n sourceUrl: string;\n /** Hops from the nearest seed — the relevance signal, carried through. */\n depth: number;\n}\n\nexport interface Citation {\n iri: string;\n title?: string;\n sourceUrl: string;\n}\n\nexport type RefusalReason = \"no-route\" | \"no-content\";\n\nexport interface Refusal {\n reason: RefusalReason;\n detail: string;\n}\n\n/**\n * The rankings that produced the seeds, carried through to the caller.\n *\n * Retrieval answers two different questions — \"what matched the query?\" and\n * \"what is the graph connected to it?\" — and a consumer needs both. Returning\n * only the graph result would make the match rankings inferrable solely from the\n * trace, which is diagnostic rather than a result surface (ADR 01020).\n */\nexport interface EntryRankings {\n /** The lexical leg's own ranking. */\n lexical: EntryCandidate[];\n /** The vector leg's own ranking; empty when no embedder was in play. */\n vector: EntryCandidate[];\n /** The fused ranking that actually seeded traversal. */\n merged: EntryCandidate[];\n}\n\nexport interface RetrievalBundle {\n /** What matched the query, per leg. Absent when seeds were given explicitly. */\n entry?: EntryRankings;\n context: ContextBlock[];\n citations: Citation[];\n trace: QueryTrace;\n /** Present when retrieval found nothing usable. `context` is then empty. */\n refusal?: Refusal;\n /** True when the character budget dropped otherwise-eligible blocks. */\n truncated: boolean;\n}\n\nexport interface AssembleOptions {\n /** Character budget across all blocks. Default: unbounded. */\n maxChars?: number;\n /** Append to an existing trace (normally the traversal's). */\n trace?: QueryTrace;\n /**\n * The entry rankings that produced these nodes, passed through to the bundle\n * so callers see matches and graph results side by side.\n */\n entry?: EntryRankings;\n}\n\n/**\n * Resolve traversed nodes to text and assemble the retrieval bundle. Nodes are\n * kept in traversal order (nearest-first), which is deterministic, and every\n * block carries the IRI it came from so citations are structural, not inferred.\n */\nexport async function assemble(\n resolver: ContentResolver,\n nodes: TraversedNode[],\n options: AssembleOptions = {},\n): Promise<RetrievalBundle> {\n const trace = options.trace ?? createTrace();\n const budget = options.maxChars ?? Infinity;\n\n if (nodes.length === 0) {\n return {\n ...(options.entry ? { entry: options.entry } : {}),\n context: [],\n citations: [],\n trace,\n truncated: false,\n refusal: {\n reason: \"no-route\",\n detail:\n \"No node in the graph was reachable for this query under the active scope filter.\",\n },\n };\n }\n\n const context: ContextBlock[] = [];\n let used = 0;\n let truncated = false;\n let resolvedAny = false;\n\n for (const node of nodes) {\n const resolved = await resolver.resolve(node.iri);\n if (!resolved) continue;\n resolvedAny = true;\n if (used + resolved.text.length > budget) {\n truncated = true;\n continue;\n }\n used += resolved.text.length;\n context.push({\n iri: resolved.iri,\n title: resolved.title,\n text: resolved.text,\n sourceUrl: resolved.sourceUrl,\n depth: node.depth,\n });\n }\n\n if (context.length === 0) {\n return {\n ...(options.entry ? { entry: options.entry } : {}),\n context: [],\n citations: [],\n trace,\n truncated,\n refusal: {\n reason: \"no-content\",\n detail: resolvedAny\n ? \"Every matching node's content exceeded the character budget.\"\n : \"Matching nodes were found, but none of them resolved to readable content.\",\n },\n };\n }\n\n return {\n ...(options.entry ? { entry: options.entry } : {}),\n context,\n citations: context.map((b) => ({\n iri: b.iri,\n title: b.title,\n sourceUrl: b.sourceUrl,\n })),\n trace,\n truncated,\n };\n}\n","/**\n * RDF/JS interop — the custom-SPARQL escape hatch (ADR 01018).\n *\n * The runtime's own walker is deliberately not a SPARQL engine: it is 0 KB and\n * it records a trace. But arbitrary user-authored SPARQL is a legitimate need,\n * so the index can hand out its contents as standard **RDF/JS quads**. Feed\n * them to any RDF/JS store and query with any engine:\n *\n * ```js\n * import { Store } from \"n3\";\n * import { QueryEngine } from \"@comunica/query-sparql-rdfjs-lite\";\n * const store = new Store(rdfjsQuads(graph));\n * const bindings = await new QueryEngine().queryBindings(sparql, { sources: [store] });\n * ```\n *\n * Quads are plain data rather than a hand-rolled `Source` stream on purpose:\n * every engine already accepts a store, stores accept quad arrays, and faking\n * Node's stream contract in a browser-safe module is fragile for no gain. At\n * docs scale materializing is trivial (the reference corpus is 172 quads).\n *\n * Honest caveat: engine results are bindings, not walker traces —\n * explainability lives in the walker API.\n *\n * The term shapes are structural, so they are hand-rolled here rather than\n * pulled from `@rdfjs/data-model`, keeping the runtime dependency-free and\n * browser-safe.\n */\nimport { byCodeUnit } from \"../core/sort.js\";\nimport type { GraphIndex, Value } from \"./graph.js\";\n\nconst XSD_STRING = \"http://www.w3.org/2001/XMLSchema#string\";\n\nexport interface RdfTerm {\n termType: \"NamedNode\" | \"Literal\" | \"DefaultGraph\";\n value: string;\n language?: string;\n datatype?: RdfTerm;\n equals(other?: RdfTerm | null): boolean;\n}\n\nexport interface RdfQuad {\n termType: \"Quad\";\n subject: RdfTerm;\n predicate: RdfTerm;\n object: RdfTerm;\n graph: RdfTerm;\n equals(other?: RdfQuad | null): boolean;\n}\n\nexport function namedNode(value: string): RdfTerm {\n return {\n termType: \"NamedNode\",\n value,\n equals(other) {\n return !!other && other.termType === \"NamedNode\" && other.value === value;\n },\n };\n}\n\nexport function defaultGraph(): RdfTerm {\n return {\n termType: \"DefaultGraph\",\n value: \"\",\n equals(other) {\n return !!other && other.termType === \"DefaultGraph\";\n },\n };\n}\n\nexport function literal(value: string, datatype?: string): RdfTerm {\n const dt = namedNode(datatype ?? XSD_STRING);\n return {\n termType: \"Literal\",\n value,\n language: \"\",\n datatype: dt,\n equals(other) {\n return (\n !!other &&\n other.termType === \"Literal\" &&\n other.value === value &&\n !!other.datatype &&\n other.datatype.value === dt.value\n );\n },\n };\n}\n\nfunction toTerm(v: Value): RdfTerm {\n return v.kind === \"iri\" ? namedNode(v.value) : literal(v.value, v.datatype);\n}\n\nfunction makeQuad(s: string, p: string, o: Value): RdfQuad {\n const subject = namedNode(s);\n const predicate = namedNode(p);\n const object = toTerm(o);\n const graph = defaultGraph();\n return {\n termType: \"Quad\",\n subject,\n predicate,\n object,\n graph,\n equals(other) {\n return (\n !!other &&\n subject.equals(other.subject) &&\n predicate.equals(other.predicate) &&\n object.equals(other.object)\n );\n },\n };\n}\n\n/**\n * The whole index as RDF/JS quads, in the index's deterministic order. Feed to\n * any RDF/JS store (`new Store(rdfjsQuads(graph))`) to run SPARQL.\n */\nexport function rdfjsQuads(graph: GraphIndex): RdfQuad[] {\n const quads: RdfQuad[] = [];\n for (const s of graph.ids()) {\n const node = graph.node(s);\n if (!node) continue;\n for (const p of [...node.props.keys()].sort(byCodeUnit)) {\n for (const v of node.props.get(p) ?? []) quads.push(makeQuad(s, p, v));\n }\n }\n return quads;\n}\n\n/**\n * Triple-pattern match returning RDF/JS quads. A null/undefined position is a\n * wildcard. Convenience for callers who want RDF/JS terms without pulling in a\n * store; the walker API is the richer (and traced) way to query.\n */\nexport function matchQuads(\n graph: GraphIndex,\n subject?: string | null,\n predicate?: string | null,\n object?: string | null,\n): RdfQuad[] {\n const quads: RdfQuad[] = [];\n const subjects = subject ? [subject] : graph.ids();\n for (const s of subjects) {\n const node = graph.node(s);\n if (!node) continue;\n const predicates = predicate\n ? [predicate]\n : [...node.props.keys()].sort(byCodeUnit);\n for (const p of predicates) {\n for (const v of node.props.get(p) ?? []) {\n if (object !== undefined && object !== null && v.value !== object) {\n continue;\n }\n quads.push(makeQuad(s, p, v));\n }\n }\n }\n return quads;\n}\n","/**\n * The page vocabulary manni graph implements: `manni:graph:1.0.0`, the built-in\n * schema the metadata tool publishes under `src/meta/schemas/`. It defines the\n * `graph:` block a page carries. Pages are validated against that schema\n * itself, imported and bundled into the build, so graph and `manni meta validate`\n * read the same bytes.\n *\n * graph ships no copy of the schema. A copy is a second artifact to keep in step,\n * with nothing but a test to say the two still match. A consumer who wants to\n * validate pages names `manni:graph:1.0.0` to `manni meta validate`, or\n * validates programmatically against the object below.\n */\nimport schema from \"../meta/schemas/graph/1.0.0.json\" with { type: \"json\" };\n\n/** The graph vocabulary, for validators that accept an inline schema. */\nexport const frontmatterSchema = schema as Record<string, unknown>;\n\n/** The vocabulary's `$id`: `manni:graph:1.0.0`. */\nexport const FRONTMATTER_SCHEMA_ID: string = schema.$id;\n","/**\n * The key domain's programmatic API, exported from the package as the `key`\n * namespace: `import { key } from \"@hawkeyexl/manni\"`. The command cores, and\n * the family's encryption primitives a caller needs beside them.\n */\nexport * from \"./types.js\";\nexport { KeyError } from \"./errors.js\";\nexport { runKeySet } from \"./commands/set.js\";\nexport { runKeyRotate } from \"./commands/rotate.js\";\nexport { decryptValue, encryptValue, isEncryptedValue } from \"../shared/encryption.js\";\nexport type { EncryptionContext } from \"../shared/encryption.js\";\nexport { resolveEncryptionKey } from \"../shared/encryption-key.js\";\nexport type { KeySource, ResolvedKey } from \"../shared/encryption-key.js\";\n","/** Programmatic API for manni tracevals. */\nexport * from \"./types.js\";\nexport * from \"./trace/types.js\";\nexport { detectFormat, detectContentFormat } from \"./trace/detect.js\";\nexport { parseTraceFile, parseTraceContent } from \"./trace/claude.js\";\nexport {\n availableAt,\n joinDescriptions,\n newAvailability,\n offeredNames,\n} from \"./trace/availability.js\";\nexport {\n configDir,\n discoverTraces,\n slugFor,\n type DiscoverOptions,\n type TraceListing,\n} from \"./trace/discover.js\";\nexport { renderList, runList, type ListOptions, type ListRun } from \"./commands/list.js\";\nexport * from \"./artifacts/types.js\";\nexport {\n PROJECT_RULES_FILENAMES,\n resolveArtifacts,\n type ResolveOptions,\n} from \"./artifacts/resolve.js\";\nexport {\n coverAvailability,\n type AvailabilityCoverage,\n type AvailabilityOptions,\n} from \"./artifacts/availability.js\";\nexport {\n discoverArtifacts,\n type DiscoverOptions as DiscoverArtifactsOptions,\n type DiscoveredArtifact,\n type DiscoveryResult,\n} from \"./artifacts/discover.js\";\nexport {\n PRUNED_DIRS,\n findGitRoot,\n findInTree,\n listInTree,\n safeMtime,\n safeRead,\n} from \"./artifacts/fs.js\";\nexport {\n ARTIFACT_EVALS_SCHEMA_ID,\n extractEvals,\n type EvalEntry,\n type EvalType,\n type ExtractedEvals,\n type Severity,\n} from \"./evals/extract.js\";\nexport {\n appendArtifactEvals,\n type EvalProvenance,\n type NewEvalEntry,\n} from \"./evals/write.js\";\nexport {\n IMPLICIT_EVAL_NAME,\n planEvals,\n type EvalLocation,\n type EvalPlan,\n type SuppliedMetadata,\n} from \"./core/plan.js\";\nexport * from \"./graders/types.js\";\nexport {\n BUILTIN_GRADER_KINDS,\n graderFor,\n listGraderKinds,\n registerGrader,\n} from \"./graders/registry.js\";\nexport {\n loadGraderPlugins,\n type GraderPluginApi,\n type GraderPluginRegister,\n type LoadGraderPluginsOptions,\n type LoadedGraderPlugins,\n} from \"./graders/plugins.js\";\nexport { skippedWindow, windowFor, type TraceWindow } from \"./graders/util.js\";\nexport { globToRegExp, matchesGlob } from \"./graders/glob.js\";\nexport {\n WHEN_CONDITIONS,\n evaluateWhen,\n validateWhen,\n type TriggerResult,\n type WhenCondition,\n} from \"./graders/when.js\";\nexport { renderTrace, type RenderOptions } from \"./judge/render.js\";\nexport {\n CUSTOM_PLACEHOLDER,\n REDACTION_PATTERNS,\n compileRedactPatterns,\n makeRedactor,\n type RedactionPattern,\n type Redactor,\n} from \"./judge/redact.js\";\nexport {\n JUDGE_SYSTEM_PROMPT,\n PROMPT_VERSION,\n buildUserContent,\n} from \"./judge/prompt.js\";\nexport { VerdictCache, cacheKey, sha256 } from \"./judge/cache.js\";\nexport {\n makeTraceJudge,\n type JudgedEval,\n type TraceJudge,\n type TraceJudgeOptions,\n} from \"./judge/trace-judge.js\";\nexport {\n announceSelection,\n assertProviderSelection,\n constructProvider,\n makeJudgeProvider,\n providerSpecFor,\n resolveProviderIdentity,\n selectProvider,\n type JudgeProviderOptions,\n type MockResponse,\n type ProviderChoice,\n type ProviderFlags,\n type ProviderSelection,\n} from \"./judge/provider.js\";\nexport {\n CONFIG_SECTION_KEY,\n DEFAULT_CONFIG_FILENAME,\n loadConfig,\n parseConfig,\n type ConfigFileContext,\n type TracevalsConfig,\n} from \"./core/config.js\";\nexport { runEvals, type EngineOptions } from \"./core/engine.js\";\nexport {\n render,\n renderBatch,\n renderCalibration,\n parseFormat,\n REPORT_FORMATS,\n SUMMARY_FORMATS,\n type ReportFormat,\n type SummaryFormat,\n} from \"./reporters/index.js\";\nexport { renderBatchPretty, renderBatchMarkdown } from \"./reporters/batch.js\";\nexport {\n renderCalibrationPretty,\n renderCalibrationMarkdown,\n} from \"./reporters/calibration.js\";\nexport { aggregate, type BatchOutcome } from \"./aggregate.js\";\nexport {\n prepareRun,\n runOne,\n runRun,\n type RunCommandOptions,\n type RunCommandResult,\n type RunContext,\n type RunSharedOptions,\n} from \"./commands/run.js\";\nexport {\n keepNewerThan,\n parseNewerThan,\n resolveBatchTraces,\n runBatch,\n type BatchCommandOptions,\n type BatchCommandResult,\n} from \"./commands/batch.js\";\nexport {\n runCalibrate,\n type CalibrateCommandOptions,\n type CalibrateCommandResult,\n} from \"./commands/calibrate.js\";\nexport * from \"./calibrate/types.js\";\nexport {\n DEFAULT_LABELS_FILE,\n labelKey,\n loadLabels,\n parseLabels,\n} from \"./calibrate/labels.js\";\nexport {\n classify,\n joinLabels,\n rescore,\n score,\n type JoinedLabel,\n type AmbiguousLabel,\n type JoinResult,\n type Rescored,\n type ScoreInput,\n type ScoreResult,\n} from \"./calibrate/score.js\";\nexport {\n renderFill,\n runFill,\n type FillArtifactResult,\n type FillOptions,\n type FillReport,\n type FillRun,\n type FillStatus,\n type SharpeningNote,\n} from \"./commands/fill.js\";\nexport {\n ALLOWED_GRADERS,\n gateProposals,\n type GateOptions,\n type GateResult,\n type ProposedEval,\n type Rejection,\n type RejectionReason,\n type Vocabulary,\n} from \"./fill/gate.js\";\nexport {\n FILL_PROMPT_VERSION,\n MAX_BODY_CHARS,\n PROPOSAL_SCHEMA,\n buildFillUser,\n isValidProposal,\n systemPromptFor,\n} from \"./fill/prompt.js\";\nexport { FillCache, fillCacheKey, type FillCacheKeyParts } from \"./fill/cache.js\";\nexport { artifactFacts, type ArtifactFacts } from \"./fill/facts.js\";\nexport { BUILTIN_TOOLS, buildVocabulary } from \"./fill/vocabulary.js\";\nexport { mockFillProposal } from \"./fill/mock.js\";\nexport { pickTrace, type PickerChoice, type PromptFn } from \"./trace/picker.js\";\nexport {\n appendHistory,\n compareToLast,\n entryFor,\n loadHistory,\n type HistoryComparison,\n type HistoryEntry,\n type HistoryEval,\n} from \"./history.js\";\nexport * from \"./capture/types.js\";\nexport {\n checkContent,\n findManifest,\n hashFile,\n manifestPathFor,\n readManifest,\n relPosix,\n safeSessionId,\n sha256Hex,\n siblingManifestPath,\n writeManifest,\n type FindManifestOptions,\n type FoundManifest,\n} from \"./capture/manifest.js\";\nexport {\n buildManifest,\n deviceId,\n readGit,\n redactDeep,\n type BuildManifestOptions,\n} from \"./capture/build.js\";\nexport { parseHookPayload, readStdin, type HookPayload } from \"./capture/hook.js\";\nexport {\n renderCapture,\n runCapture,\n type CaptureCommandOptions,\n type CaptureCommandResult,\n} from \"./commands/capture.js\";\n"],"mappings":"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","names":["REPORT_FORMATS","loadConfig","parseConfig","render","renderFill","runFill","classifyRef","listBuiltins","loadConfig","parseConfig","render","renderJunit","renderSarif","supportedExtensions","FRONTMATTER_SCHEMA_ID","MockProvider","frontmatterSchema","loadConfig","makeProvider","parseConfig","providerSpecFor","resolveProviderIdentity","runFill","runQuery","frontmatterSchema","FRONTMATTER_SCHEMA_ID","MockProvider","DEFAULT_CONFIG_FILENAME","FILL_PROMPT_VERSION","FillCache","PROPOSAL_SCHEMA","REPORT_FORMATS","SUMMARY_FORMATS","assertProviderSelection","buildFillUser","cacheKey","constructProvider","fillCacheKey","graderFor","isValidProposal","listGraderKinds","loadConfig","parseConfig","parseFormat","providerSpecFor","registerGrader","render","renderCalibration","renderFill","renderList","resolveProviderIdentity","runCalibrate","runEvals","runFill","runList","runRun","selectProvider"]}
1
+ {"version":3,"sources":["../src/docevals/index.ts","../src/lint/index.ts","../src/graph/index.ts","../src/graph/runtime/assemble.ts","../src/graph/runtime/rdfjs.ts","../src/graph/schema.ts","../src/key/index.ts","../src/tracevals/index.ts"],"sourcesContent":["/** Programmatic API for manni docevals. */\nexport { loadConfig, parseConfig, DEFAULT_CONFIG_FILENAME } from \"./core/config.js\";\nexport type { DocevalsConfig, EvalDef, SuiteDef, ProviderName } from \"./core/config.js\";\nexport { discoverPages, readPage, stripFrontmatterBlock } from \"./core/discover.js\";\nexport type { PageFile } from \"./core/discover.js\";\nexport {\n loadExternalReader,\n withExternalMetadata,\n EVAL_KEYS,\n EXTERNAL_KEYS,\n} from \"./core/external.js\";\nexport type { ExternalMetadataReader, PageExternal } from \"./core/external.js\";\nexport { resolvePage, resolvePages } from \"./core/resolve.js\";\nexport type {\n EvalLocation,\n ResolvedEval,\n ResolvedPagePlan,\n PageProblem,\n} from \"./core/resolve.js\";\nexport { runList, renderList } from \"./commands/list.js\";\nexport type { ListOptions, ListRun } from \"./commands/list.js\";\nexport { runEvals } from \"./core/engine.js\";\nexport type {\n EngineReport,\n JudgeFn,\n JudgeOptions,\n RunOptions,\n RunProblem,\n} from \"./core/engine.js\";\nexport { runRun } from \"./commands/run.js\";\nexport type { RunCommandOptions } from \"./commands/run.js\";\n// From the library, not local copies: judge.ts calls the library's versions,\n// so re-exporting a second implementation here would let a consumer's\n// computeConsensus() diverge from what the judge actually ran — the drift this\n// extraction exists to end.\nexport { computeConsensus, zoneFor } from \"@hawkeyexl/inference\";\nexport type { ZoneThresholds } from \"@hawkeyexl/inference\";\nexport { makeJudge } from \"./judge/judge.js\";\nexport {\n makeProvider,\n providerSpecFor,\n resolveProviderIdentity,\n} from \"./judge/provider.js\";\n// The provider contract and the offline test seam come from the shared\n// inference layer; re-exported so downstream code keeps one import site.\n// `InferenceProvider` is what this package used to call `JudgeProvider`.\nexport {\n MockProvider,\n mockVerdict,\n type CompleteJSONRequest,\n type CompleteJSONResponse,\n type InferenceProvider,\n type MockResponse,\n} from \"@hawkeyexl/inference\";\nexport {\n render,\n parseFormat,\n REPORT_FORMATS,\n SUMMARY_FORMATS,\n} from \"./reporters/index.js\";\nexport type { ColorOptions, ReportFormat, SummaryFormat } from \"./reporters/index.js\";\nexport {\n listReviews,\n renderReviews,\n runReview,\n} from \"./commands/review.js\";\nexport { runGenerate } from \"./commands/generate.js\";\nexport type { GenerateOptions, GenerateRun } from \"./commands/generate.js\";\nexport { runFill, renderFill } from \"./commands/fill.js\";\nexport type {\n FillOptions,\n FillReport,\n FillPageResult,\n FillStatus,\n ProposedEval,\n} from \"./commands/fill.js\";\nexport {\n FILL_PROMPT_VERSION,\n FILL_SYSTEM_PROMPT,\n PROPOSAL_SCHEMA,\n buildFillUser,\n isValidProposal,\n} from \"./fill/prompt.js\";\nexport { FillCache, fillCacheKey } from \"./fill/cache.js\";\nexport { runPromote } from \"./commands/promote.js\";\nexport type { PromoteOptions, PromoteProposal } from \"./commands/promote.js\";\nexport { makeGenerateScripts, scriptLocationFor } from \"./graders/scriptgen.js\";\nexport {\n runCalibrate,\n renderCalibration,\n loadGoldenCases,\n seedGoldenCases,\n GOLDEN_DIR,\n SEEDED_GOLDEN_FILE,\n} from \"./commands/calibrate.js\";\nexport type {\n CalibrateOptions,\n CalibrationReport,\n CalibrationCaseResult,\n GoldenCase,\n SeedResult,\n} from \"./commands/calibrate.js\";\nexport { runInit } from \"./commands/init.js\";\nexport { registerGrader, graderFor, listGraderKinds } from \"./graders/registry.js\";\nexport type { Grader, GraderContext, GraderTarget, ExecFn } from \"./graders/types.js\";\nexport {\n updatePageEval,\n updateConfigEval,\n appendPageEvals,\n} from \"./core/frontmatter-edit.js\";\nexport type { NewEvalEntry } from \"./core/frontmatter-edit.js\";\nexport { frontmatterSchema, FRONTMATTER_SCHEMA_ID } from \"./schema.js\";\n// The judge cache key and the exact body it hashes. Exported so that anything\n// asking \"is this verdict already cached?\" — `scripts/check-docs-cache.mjs`\n// above all — computes it with the judge's own code instead of reproducing the\n// composition by hand, which is how that script silently keyed on the raw page\n// body after the judge started prefixing the chunk budget.\nexport { cacheKey, judgeCacheBody } from \"./judge/cache.js\";\nexport type { JudgeCacheBody } from \"./judge/cache.js\";\nexport { readTarget } from \"./core/target.js\";\nexport * from \"./types.js\";\n","/** Programmatic API for manni lint. */\nimport { clearTemplateCaches } from \"./core/template-registry.js\";\nimport { clearMatcherCache } from \"./core/resolve-template.js\";\nimport { clearPatternCache } from \"./rules/index.js\";\n\n/**\n * Drop every process-lifetime cache: parsed built-ins, fetched template files,\n * compiled override globs, and compiled heading patterns.\n *\n * A CLI run never needs this - it lints one docset and exits, and the caches\n * are what stop a tree of one doctype from re-reading the same template per\n * page. A long-lived host is the different case: the maps grow with the number\n * of distinct refs and patterns seen, and a cached remote template is served\n * for the life of the process, so one republished upstream is never picked up.\n * Call this between runs, or when a template may have changed underneath.\n */\nexport function clearCaches(): void {\n clearTemplateCaches();\n clearMatcherCache();\n clearPatternCache();\n}\n\nexport { runLint, STDIN_LABEL } from \"./commands/lint.js\";\nexport type {\n LintOptions,\n LintRun,\n LintSummary,\n LintFileResult,\n} from \"./commands/lint.js\";\nexport { runTemplates, BUILTIN_SOURCE } from \"./commands/templates.js\";\nexport type {\n TemplateInfo,\n TemplatesInfo,\n TemplatesOptions,\n} from \"./commands/templates.js\";\nexport { runTools, BUILT_IN_DEFAULTS } from \"./commands/tools.js\";\nexport type { FormatInfo, ToolInfo, ToolsOptions } from \"./commands/tools.js\";\nexport {\n LINT_JOBS,\n LINT_TOOLS,\n TOOLS_BY_JOB,\n isLintTool,\n loadConfig,\n parseConfig,\n rebaseConfig,\n resolveLintRun,\n} from \"./core/config.js\";\nexport type {\n LintConfig,\n LintJob,\n LintJobConfig,\n LintRunOptions,\n LintTool,\n ResolvedLintRun,\n} from \"./core/config.js\";\nexport { validateDocument, validateSections } from \"./core/validator.js\";\nexport { matchSections } from \"./core/match.js\";\nexport type { Match, MatchResult } from \"./core/match.js\";\nexport {\n BLOCK_KINDS,\n headingMatches,\n isWildcard,\n occurrenceRange,\n} from \"./core/template.js\";\nexport type {\n AdmonitionsRule,\n AttributesRule,\n BlockKind,\n BlockRule,\n CodeBlocksRule,\n ElementsRule,\n HeadingRule,\n ImagesRule,\n ListItemsRule,\n ListsRule,\n Occurrences,\n ParagraphsRule,\n Rule,\n TablesRule,\n Template,\n TemplateFile,\n} from \"./core/template.js\";\nexport {\n listBuiltins,\n loadTemplate,\n loadTemplateFile,\n resolveExtends,\n classifyRef,\n} from \"./core/template-registry.js\";\nexport type {\n BuiltinInfo,\n LoadTemplateOptions,\n RefKind,\n TemplateResolver,\n} from \"./core/template-registry.js\";\n// Targets resolve through the family's walker (`src/meta/internal.ts`), which\n// is what makes `--ext`, `--exclude`, `.gitignore` handling and `--allow-empty`\n// mean the same thing here as they do for `meta` and `cite`.\nexport { STDIN_TOKEN } from \"../meta/internal.js\";\nexport {\n listFormats,\n parserByName,\n parserForExtension,\n supportedExtensions,\n} from \"./parsers/index.js\";\nexport {\n render,\n renderPretty,\n renderJson,\n renderGithub,\n renderJunit,\n renderTemplates,\n renderTools,\n} from \"./reporters/index.js\";\nexport type {\n ReportFormat,\n ReportOptions,\n ListFormat,\n} from \"./reporters/index.js\";\nexport { renderSarif } from \"./reporters/sarif.js\";\nexport type { SarifOptions } from \"./reporters/sarif.js\";\n// A finding's durable identity, so a caller filing or correlating findings\n// spells the id the same way every reporter does.\nexport { RULE_ID_PREFIX, TOOL_NAME, ruleId, ruleName } from \"./core/rule-id.js\";\n// Colour is the family's decision, made once in `src/shared/color.js`. These\n// are re-exported here so a library caller building lint's reports does not\n// have to reach for another tool's entry point to turn ANSI on or off.\nexport { palette, shouldColor } from \"../shared/color.js\";\nexport * from \"./types.js\";\n","/** The graph tool's public API. */\nexport * from \"./types.js\";\nexport {\n defaultConfig,\n loadConfig,\n loadRunConfig,\n parseConfig,\n type GraphConfig,\n type DeriveSource,\n type FillField,\n} from \"./core/config.js\";\nexport {\n COVERAGE_FIELDS,\n COVERAGE_FIELD_NAMES,\n // reference/library-api.mdx names this alongside the other two, so it has to\n // be reachable from the entry point that page tells consumers to import from.\n SECTION_COVERAGE_FIELDS,\n type CoverageField,\n} from \"./core/coverage.js\";\nexport {\n discoverFiles,\n resolveDocumentSet,\n type DocumentInputOptions,\n type DocumentSetOptions,\n} from \"./core/discover.js\";\nexport {\n GRAPH_NOT_APPLICABLE_TO_VARIANT,\n GRAPH_NOT_SOFTWARE_SUBJECT,\n SOFTWARE_LIFECYCLE_IRIS,\n SOFTWARE_SUBJECT_IRIS,\n TOPIC_TYPE_IRIS,\n} from \"./core/iirds.js\";\nexport {\n conceptSlug,\n encodeSegment,\n mintAgentIri,\n type AgentKind,\n mintBuildActivityIri,\n mintConceptIri,\n mintDocIri,\n mintGraphIri,\n mintProductIri,\n mintSchemeIri,\n mintSectionIri,\n normalizeDocPath,\n resolveBaseIri,\n} from \"./core/iri.js\";\nexport { analyzeDoc } from \"./core/analyze.js\";\nexport {\n deriveGraph,\n type DeriveOptions,\n type Quad,\n type Term,\n} from \"./core/derive.js\";\nexport {\n collectGitHistory,\n type GitFileHistory,\n type GitHistory,\n} from \"./core/git.js\";\nexport { emitTurtle } from \"./core/emit.js\";\nexport { emitJsonLd } from \"./core/emit-jsonld.js\";\nexport { emitRdfXml } from \"./core/emit-rdfxml.js\";\nexport { writeZip, type ZipEntry } from \"./core/zip.js\";\nexport {\n projectPackage,\n type IirdsPackageOptions,\n type PackageProjection,\n type ContentFile,\n} from \"./core/iirds-package.js\";\nexport {\n loadGraph,\n expandTerm,\n compactIri,\n storeToQuads,\n} from \"./core/load.js\";\n/**\n * The browser-native GraphRAG runtime is also published as the `@hawkeyexl/manni/graph/runtime`\n * subpath, which is the import to use in a browser: it has no `node:` imports\n * and no dependencies (ADR 01018).\n */\nexport * from \"./runtime/index.js\";\nexport {\n applyGraphFields,\n existingGraphFields,\n existingMetaProvenance,\n frontmatterKind,\n type GraphApplyOptions,\n type GraphApplyResult,\n} from \"./core/frontmatter-edit.js\";\nexport { NS, PREFIXES } from \"./core/vocab.js\";\nexport {\n runBuild,\n type BuildOptions,\n type BuildResult,\n} from \"./commands/build.js\";\nexport { frontmatterSchema, FRONTMATTER_SCHEMA_ID } from \"./schema.js\";\nexport {\n runExport,\n type ExportOptions,\n type ExportResult,\n type ExportFormat,\n} from \"./commands/export.js\";\nexport {\n runQuery,\n type QueryOptions,\n type QueryResult,\n} from \"./commands/query.js\";\nexport {\n runStats,\n type CoverageRow,\n type StatsOptions,\n type StatsReport,\n} from \"./commands/stats.js\";\nexport {\n runTraverse,\n renderTraverse,\n type TraverseOptions as TraverseCommandOptions,\n type TraverseReport,\n} from \"./commands/traverse.js\";\nexport {\n runSearch,\n renderSearch,\n type SearchHit,\n type SearchOptions,\n type SearchReport,\n} from \"./commands/search.js\";\nexport {\n runEmbed,\n renderEmbed,\n embedText,\n type EmbedOptions,\n type EmbedReport,\n} from \"./commands/embed.js\";\nexport {\n createLocalEmbedder,\n createMockEmbedder,\n EmbedderUnavailableError,\n DEFAULT_MODEL,\n MODEL_PROFILES,\n profileFor,\n withPrefix,\n type EmbedRole,\n type Embedder,\n type LocalEmbedderOptions,\n type MockEmbedderOptions,\n type ModelProfile,\n} from \"./embed/index.js\";\nexport {\n buildSearchIndex,\n documentsByLanguage,\n emitSearchIndex,\n partitionByLanguage,\n type SearchEntry,\n type SearchIndexDoc,\n type SearchIndexOptions,\n} from \"./core/search-index.js\";\nexport {\n emitLocalizations,\n LOCALIZATIONS_FILENAME,\n parseLocalizations,\n searchIndexFilename,\n UNDETERMINED,\n vectorIndexFilename,\n type LocalizationEntry,\n type LocalizationsDoc,\n type SearchArtifact,\n type VectorArtifact,\n} from \"./core/localizations.js\";\nexport {\n runFill,\n type FillOptions,\n type FillReport,\n type FillDocResult,\n} from \"./commands/fill.js\";\n// The inference layer is @hawkeyexl/inference; re-exported here so downstream\n// code that only depends on dockg can still construct providers and drive the\n// offline test seam without adding a second dependency.\nexport {\n MockProvider,\n type CompleteJSONRequest,\n type CompleteJSONResponse,\n type InferenceProvider,\n type MockResponse,\n} from \"@hawkeyexl/inference\";\nexport {\n assertProviderSelection,\n constructProvider,\n makeProvider,\n providerSpecFor,\n resolveProviderIdentity,\n selectProvider,\n type ProviderChoice,\n type ProviderFlags,\n type ProviderSelection,\n} from \"./llm/provider.js\";\n","/**\n * Context assembly (ADR 01018) — the runtime's terminal stage.\n *\n * Turns traversed nodes into the bundle an inference engine consumes:\n * `{ context, citations, trace, refusal? }`. **dockg stops here**: it never\n * calls a model. A different tool (an agent over MCP, a site backend) takes the\n * bundle onward, which keeps this runtime fully deterministic and keeps API\n * keys and inference cost outside dockg entirely.\n *\n * When nothing survives retrieval the result is a *structured refusal*, never\n * empty context — a caller must be able to tell \"no route exists\" apart from\n * \"here is nothing, proceed anyway\" (the disciplined-silence contract).\n *\n * Platform-neutral: no `node:` imports, no npm dependencies.\n */\nimport type { ContentResolver } from \"./resolve.js\";\nimport type { EntryCandidate, QueryTrace } from \"./trace.js\";\nimport { createTrace } from \"./trace.js\";\nimport type { TraversedNode } from \"./traverse.js\";\n\nexport interface ContextBlock {\n iri: string;\n title?: string;\n text: string;\n sourceUrl: string;\n /** Hops from the nearest seed — the relevance signal, carried through. */\n depth: number;\n}\n\nexport interface Citation {\n iri: string;\n title?: string;\n sourceUrl: string;\n}\n\nexport type RefusalReason = \"no-route\" | \"no-content\";\n\nexport interface Refusal {\n reason: RefusalReason;\n detail: string;\n}\n\n/**\n * The rankings that produced the seeds, carried through to the caller.\n *\n * Retrieval answers two different questions — \"what matched the query?\" and\n * \"what is the graph connected to it?\" — and a consumer needs both. Returning\n * only the graph result would make the match rankings inferrable solely from the\n * trace, which is diagnostic rather than a result surface (ADR 01020).\n */\nexport interface EntryRankings {\n /** The lexical leg's own ranking. */\n lexical: EntryCandidate[];\n /** The vector leg's own ranking; empty when no embedder was in play. */\n vector: EntryCandidate[];\n /** The fused ranking that actually seeded traversal. */\n merged: EntryCandidate[];\n}\n\nexport interface RetrievalBundle {\n /** What matched the query, per leg. Absent when seeds were given explicitly. */\n entry?: EntryRankings;\n context: ContextBlock[];\n citations: Citation[];\n trace: QueryTrace;\n /** Present when retrieval found nothing usable. `context` is then empty. */\n refusal?: Refusal;\n /** True when the character budget dropped otherwise-eligible blocks. */\n truncated: boolean;\n}\n\nexport interface AssembleOptions {\n /** Character budget across all blocks. Default: unbounded. */\n maxChars?: number;\n /** Append to an existing trace (normally the traversal's). */\n trace?: QueryTrace;\n /**\n * The entry rankings that produced these nodes, passed through to the bundle\n * so callers see matches and graph results side by side.\n */\n entry?: EntryRankings;\n}\n\n/**\n * Resolve traversed nodes to text and assemble the retrieval bundle. Nodes are\n * kept in traversal order (nearest-first), which is deterministic, and every\n * block carries the IRI it came from so citations are structural, not inferred.\n */\nexport async function assemble(\n resolver: ContentResolver,\n nodes: TraversedNode[],\n options: AssembleOptions = {},\n): Promise<RetrievalBundle> {\n const trace = options.trace ?? createTrace();\n const budget = options.maxChars ?? Infinity;\n\n if (nodes.length === 0) {\n return {\n ...(options.entry ? { entry: options.entry } : {}),\n context: [],\n citations: [],\n trace,\n truncated: false,\n refusal: {\n reason: \"no-route\",\n detail:\n \"No node in the graph was reachable for this query under the active scope filter.\",\n },\n };\n }\n\n const context: ContextBlock[] = [];\n let used = 0;\n let truncated = false;\n let resolvedAny = false;\n\n for (const node of nodes) {\n const resolved = await resolver.resolve(node.iri);\n if (!resolved) continue;\n resolvedAny = true;\n if (used + resolved.text.length > budget) {\n truncated = true;\n continue;\n }\n used += resolved.text.length;\n context.push({\n iri: resolved.iri,\n title: resolved.title,\n text: resolved.text,\n sourceUrl: resolved.sourceUrl,\n depth: node.depth,\n });\n }\n\n if (context.length === 0) {\n return {\n ...(options.entry ? { entry: options.entry } : {}),\n context: [],\n citations: [],\n trace,\n truncated,\n refusal: {\n reason: \"no-content\",\n detail: resolvedAny\n ? \"Every matching node's content exceeded the character budget.\"\n : \"Matching nodes were found, but none of them resolved to readable content.\",\n },\n };\n }\n\n return {\n ...(options.entry ? { entry: options.entry } : {}),\n context,\n citations: context.map((b) => ({\n iri: b.iri,\n title: b.title,\n sourceUrl: b.sourceUrl,\n })),\n trace,\n truncated,\n };\n}\n","/**\n * RDF/JS interop — the custom-SPARQL escape hatch (ADR 01018).\n *\n * The runtime's own walker is deliberately not a SPARQL engine: it is 0 KB and\n * it records a trace. But arbitrary user-authored SPARQL is a legitimate need,\n * so the index can hand out its contents as standard **RDF/JS quads**. Feed\n * them to any RDF/JS store and query with any engine:\n *\n * ```js\n * import { Store } from \"n3\";\n * import { QueryEngine } from \"@comunica/query-sparql-rdfjs-lite\";\n * const store = new Store(rdfjsQuads(graph));\n * const bindings = await new QueryEngine().queryBindings(sparql, { sources: [store] });\n * ```\n *\n * Quads are plain data rather than a hand-rolled `Source` stream on purpose:\n * every engine already accepts a store, stores accept quad arrays, and faking\n * Node's stream contract in a browser-safe module is fragile for no gain. At\n * docs scale materializing is trivial (the reference corpus is 172 quads).\n *\n * Honest caveat: engine results are bindings, not walker traces —\n * explainability lives in the walker API.\n *\n * The term shapes are structural, so they are hand-rolled here rather than\n * pulled from `@rdfjs/data-model`, keeping the runtime dependency-free and\n * browser-safe.\n */\nimport { byCodeUnit } from \"../core/sort.js\";\nimport type { GraphIndex, Value } from \"./graph.js\";\n\nconst XSD_STRING = \"http://www.w3.org/2001/XMLSchema#string\";\n\nexport interface RdfTerm {\n termType: \"NamedNode\" | \"Literal\" | \"DefaultGraph\";\n value: string;\n language?: string;\n datatype?: RdfTerm;\n equals(other?: RdfTerm | null): boolean;\n}\n\nexport interface RdfQuad {\n termType: \"Quad\";\n subject: RdfTerm;\n predicate: RdfTerm;\n object: RdfTerm;\n graph: RdfTerm;\n equals(other?: RdfQuad | null): boolean;\n}\n\nexport function namedNode(value: string): RdfTerm {\n return {\n termType: \"NamedNode\",\n value,\n equals(other) {\n return !!other && other.termType === \"NamedNode\" && other.value === value;\n },\n };\n}\n\nexport function defaultGraph(): RdfTerm {\n return {\n termType: \"DefaultGraph\",\n value: \"\",\n equals(other) {\n return !!other && other.termType === \"DefaultGraph\";\n },\n };\n}\n\nexport function literal(value: string, datatype?: string): RdfTerm {\n const dt = namedNode(datatype ?? XSD_STRING);\n return {\n termType: \"Literal\",\n value,\n language: \"\",\n datatype: dt,\n equals(other) {\n return (\n !!other &&\n other.termType === \"Literal\" &&\n other.value === value &&\n !!other.datatype &&\n other.datatype.value === dt.value\n );\n },\n };\n}\n\nfunction toTerm(v: Value): RdfTerm {\n return v.kind === \"iri\" ? namedNode(v.value) : literal(v.value, v.datatype);\n}\n\nfunction makeQuad(s: string, p: string, o: Value): RdfQuad {\n const subject = namedNode(s);\n const predicate = namedNode(p);\n const object = toTerm(o);\n const graph = defaultGraph();\n return {\n termType: \"Quad\",\n subject,\n predicate,\n object,\n graph,\n equals(other) {\n return (\n !!other &&\n subject.equals(other.subject) &&\n predicate.equals(other.predicate) &&\n object.equals(other.object)\n );\n },\n };\n}\n\n/**\n * The whole index as RDF/JS quads, in the index's deterministic order. Feed to\n * any RDF/JS store (`new Store(rdfjsQuads(graph))`) to run SPARQL.\n */\nexport function rdfjsQuads(graph: GraphIndex): RdfQuad[] {\n const quads: RdfQuad[] = [];\n for (const s of graph.ids()) {\n const node = graph.node(s);\n if (!node) continue;\n for (const p of [...node.props.keys()].sort(byCodeUnit)) {\n for (const v of node.props.get(p) ?? []) quads.push(makeQuad(s, p, v));\n }\n }\n return quads;\n}\n\n/**\n * Triple-pattern match returning RDF/JS quads. A null/undefined position is a\n * wildcard. Convenience for callers who want RDF/JS terms without pulling in a\n * store; the walker API is the richer (and traced) way to query.\n */\nexport function matchQuads(\n graph: GraphIndex,\n subject?: string | null,\n predicate?: string | null,\n object?: string | null,\n): RdfQuad[] {\n const quads: RdfQuad[] = [];\n const subjects = subject ? [subject] : graph.ids();\n for (const s of subjects) {\n const node = graph.node(s);\n if (!node) continue;\n const predicates = predicate\n ? [predicate]\n : [...node.props.keys()].sort(byCodeUnit);\n for (const p of predicates) {\n for (const v of node.props.get(p) ?? []) {\n if (object !== undefined && object !== null && v.value !== object) {\n continue;\n }\n quads.push(makeQuad(s, p, v));\n }\n }\n }\n return quads;\n}\n","/**\n * The page vocabulary manni graph implements: `manni:graph:1.0.0`, the built-in\n * schema the metadata tool publishes under `src/meta/schemas/`. It defines the\n * `graph:` block a page carries. Pages are validated against that schema\n * itself, imported and bundled into the build, so graph and `manni meta validate`\n * read the same bytes.\n *\n * graph ships no copy of the schema. A copy is a second artifact to keep in step,\n * with nothing but a test to say the two still match. A consumer who wants to\n * validate pages names `manni:graph:1.0.0` to `manni meta validate`, or\n * validates programmatically against the object below.\n */\nimport schema from \"../meta/schemas/graph/1.0.0.json\" with { type: \"json\" };\n\n/** The graph vocabulary, for validators that accept an inline schema. */\nexport const frontmatterSchema = schema as Record<string, unknown>;\n\n/** The vocabulary's `$id`: `manni:graph:1.0.0`. */\nexport const FRONTMATTER_SCHEMA_ID: string = schema.$id;\n","/**\n * The key domain's programmatic API, exported from the package as the `key`\n * namespace: `import { key } from \"@hawkeyexl/manni\"`. The command cores, and\n * the family's encryption primitives a caller needs beside them.\n */\nexport * from \"./types.js\";\nexport { KeyError } from \"./errors.js\";\nexport { runKeySet } from \"./commands/set.js\";\nexport { runKeyRotate } from \"./commands/rotate.js\";\nexport { decryptValue, encryptValue, isEncryptedValue } from \"../shared/encryption.js\";\nexport type { EncryptionContext } from \"../shared/encryption.js\";\nexport { resolveEncryptionKey } from \"../shared/encryption-key.js\";\nexport type { KeySource, ResolvedKey } from \"../shared/encryption-key.js\";\n","/** Programmatic API for manni tracevals. */\nexport * from \"./types.js\";\nexport * from \"./trace/types.js\";\nexport { detectFormat, detectContentFormat } from \"./trace/detect.js\";\nexport { parseTraceFile, parseTraceContent } from \"./trace/claude.js\";\nexport {\n availableAt,\n joinDescriptions,\n newAvailability,\n offeredNames,\n} from \"./trace/availability.js\";\nexport {\n configDir,\n discoverTraces,\n slugFor,\n type DiscoverOptions,\n type TraceListing,\n} from \"./trace/discover.js\";\nexport { renderList, runList, type ListOptions, type ListRun } from \"./commands/list.js\";\nexport * from \"./artifacts/types.js\";\nexport {\n PROJECT_RULES_FILENAMES,\n resolveArtifacts,\n type ResolveOptions,\n} from \"./artifacts/resolve.js\";\nexport {\n coverAvailability,\n type AvailabilityCoverage,\n type AvailabilityOptions,\n} from \"./artifacts/availability.js\";\nexport {\n discoverArtifacts,\n type DiscoverOptions as DiscoverArtifactsOptions,\n type DiscoveredArtifact,\n type DiscoveryResult,\n} from \"./artifacts/discover.js\";\nexport {\n PRUNED_DIRS,\n findGitRoot,\n findInTree,\n listInTree,\n safeMtime,\n safeRead,\n} from \"./artifacts/fs.js\";\nexport {\n ARTIFACT_EVALS_SCHEMA_ID,\n extractEvals,\n type EvalEntry,\n type EvalType,\n type ExtractedEvals,\n type Severity,\n} from \"./evals/extract.js\";\nexport {\n appendArtifactEvals,\n type EvalProvenance,\n type NewEvalEntry,\n} from \"./evals/write.js\";\nexport {\n IMPLICIT_EVAL_NAME,\n planEvals,\n type EvalLocation,\n type EvalPlan,\n type SuppliedMetadata,\n} from \"./core/plan.js\";\nexport * from \"./graders/types.js\";\nexport {\n BUILTIN_GRADER_KINDS,\n graderFor,\n listGraderKinds,\n registerGrader,\n} from \"./graders/registry.js\";\nexport {\n loadGraderPlugins,\n type GraderPluginApi,\n type GraderPluginRegister,\n type LoadGraderPluginsOptions,\n type LoadedGraderPlugins,\n} from \"./graders/plugins.js\";\nexport { skippedWindow, windowFor, type TraceWindow } from \"./graders/util.js\";\nexport { globToRegExp, matchesGlob } from \"./graders/glob.js\";\nexport {\n WHEN_CONDITIONS,\n evaluateWhen,\n validateWhen,\n type TriggerResult,\n type WhenCondition,\n} from \"./graders/when.js\";\nexport { renderTrace, type RenderOptions } from \"./judge/render.js\";\nexport {\n CUSTOM_PLACEHOLDER,\n REDACTION_PATTERNS,\n compileRedactPatterns,\n makeRedactor,\n type RedactionPattern,\n type Redactor,\n} from \"./judge/redact.js\";\nexport {\n JUDGE_SYSTEM_PROMPT,\n PROMPT_VERSION,\n buildUserContent,\n} from \"./judge/prompt.js\";\nexport { VerdictCache, cacheKey, sha256 } from \"./judge/cache.js\";\nexport {\n makeTraceJudge,\n type JudgedEval,\n type TraceJudge,\n type TraceJudgeOptions,\n} from \"./judge/trace-judge.js\";\nexport {\n announceSelection,\n assertProviderSelection,\n constructProvider,\n makeJudgeProvider,\n providerSpecFor,\n resolveProviderIdentity,\n selectProvider,\n type JudgeProviderOptions,\n type MockResponse,\n type ProviderChoice,\n type ProviderFlags,\n type ProviderSelection,\n} from \"./judge/provider.js\";\nexport {\n CONFIG_SECTION_KEY,\n DEFAULT_CONFIG_FILENAME,\n loadConfig,\n parseConfig,\n type ConfigFileContext,\n type TracevalsConfig,\n} from \"./core/config.js\";\nexport { runEvals, type EngineOptions } from \"./core/engine.js\";\nexport {\n render,\n renderBatch,\n renderCalibration,\n parseFormat,\n REPORT_FORMATS,\n SUMMARY_FORMATS,\n type ReportFormat,\n type SummaryFormat,\n} from \"./reporters/index.js\";\nexport { renderBatchPretty, renderBatchMarkdown } from \"./reporters/batch.js\";\nexport {\n renderCalibrationPretty,\n renderCalibrationMarkdown,\n} from \"./reporters/calibration.js\";\nexport { aggregate, type BatchOutcome } from \"./aggregate.js\";\nexport {\n prepareRun,\n runOne,\n runRun,\n type RunCommandOptions,\n type RunCommandResult,\n type RunContext,\n type RunSharedOptions,\n} from \"./commands/run.js\";\nexport {\n keepNewerThan,\n parseNewerThan,\n resolveBatchTraces,\n runBatch,\n type BatchCommandOptions,\n type BatchCommandResult,\n} from \"./commands/batch.js\";\nexport {\n runCalibrate,\n type CalibrateCommandOptions,\n type CalibrateCommandResult,\n} from \"./commands/calibrate.js\";\nexport * from \"./calibrate/types.js\";\nexport {\n DEFAULT_LABELS_FILE,\n labelKey,\n loadLabels,\n parseLabels,\n} from \"./calibrate/labels.js\";\nexport {\n classify,\n joinLabels,\n rescore,\n score,\n type JoinedLabel,\n type AmbiguousLabel,\n type JoinResult,\n type Rescored,\n type ScoreInput,\n type ScoreResult,\n} from \"./calibrate/score.js\";\nexport {\n renderFill,\n runFill,\n type FillArtifactResult,\n type FillOptions,\n type FillReport,\n type FillRun,\n type FillStatus,\n type SharpeningNote,\n} from \"./commands/fill.js\";\nexport {\n ALLOWED_GRADERS,\n gateProposals,\n type GateOptions,\n type GateResult,\n type ProposedEval,\n type Rejection,\n type RejectionReason,\n type Vocabulary,\n} from \"./fill/gate.js\";\nexport {\n FILL_PROMPT_VERSION,\n MAX_BODY_CHARS,\n PROPOSAL_SCHEMA,\n buildFillUser,\n isValidProposal,\n systemPromptFor,\n} from \"./fill/prompt.js\";\nexport { FillCache, fillCacheKey, type FillCacheKeyParts } from \"./fill/cache.js\";\nexport { artifactFacts, type ArtifactFacts } from \"./fill/facts.js\";\nexport { BUILTIN_TOOLS, buildVocabulary } from \"./fill/vocabulary.js\";\nexport { mockFillProposal } from \"./fill/mock.js\";\nexport { pickTrace, type PickerChoice, type PromptFn } from \"./trace/picker.js\";\nexport {\n appendHistory,\n compareToLast,\n entryFor,\n loadHistory,\n type HistoryComparison,\n type HistoryEntry,\n type HistoryEval,\n} from \"./history.js\";\nexport * from \"./capture/types.js\";\nexport {\n checkContent,\n findManifest,\n hashFile,\n manifestPathFor,\n readManifest,\n relPosix,\n safeSessionId,\n sha256Hex,\n siblingManifestPath,\n writeManifest,\n type FindManifestOptions,\n type FoundManifest,\n} from \"./capture/manifest.js\";\nexport {\n buildManifest,\n deviceId,\n readGit,\n redactDeep,\n type BuildManifestOptions,\n} from \"./capture/build.js\";\nexport { parseHookPayload, readStdin, type HookPayload } from \"./capture/hook.js\";\nexport {\n renderCapture,\n runCapture,\n type CaptureCommandOptions,\n type CaptureCommandResult,\n} from \"./commands/capture.js\";\n"],"mappings":"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","names":["REPORT_FORMATS","loadConfig","parseConfig","render","renderFill","runFill","classifyRef","listBuiltins","loadConfig","parseConfig","render","renderJunit","renderSarif","supportedExtensions","FRONTMATTER_SCHEMA_ID","MockProvider","frontmatterSchema","loadConfig","makeProvider","parseConfig","providerSpecFor","resolveProviderIdentity","runFill","runQuery","frontmatterSchema","FRONTMATTER_SCHEMA_ID","MockProvider","DEFAULT_CONFIG_FILENAME","FILL_PROMPT_VERSION","FillCache","PROPOSAL_SCHEMA","REPORT_FORMATS","SUMMARY_FORMATS","assertProviderSelection","buildFillUser","cacheKey","constructProvider","fillCacheKey","graderFor","isValidProposal","listGraderKinds","loadConfig","parseConfig","parseFormat","providerSpecFor","registerGrader","render","renderCalibration","renderFill","renderList","resolveProviderIdentity","runCalibrate","runEvals","runFill","runList","runRun","selectProvider"]}
@@ -5,23 +5,23 @@ import {
5
5
  renderGetJson,
6
6
  renderListJson,
7
7
  termEntry
8
- } from "./chunk-X3BPBDGQ.js";
9
- import "./chunk-WQE54PNH.js";
8
+ } from "./chunk-MZC62HPZ.js";
9
+ import "./chunk-NN4ASVTY.js";
10
10
  import "./chunk-77AINBYM.js";
11
11
  import "./chunk-IKEWBMCN.js";
12
12
  import "./chunk-TU2WUBVZ.js";
13
- import "./chunk-H2DLH2JI.js";
14
- import "./chunk-CYWHFSRT.js";
15
- import "./chunk-K3D6FPV6.js";
16
- import "./chunk-V46OILVC.js";
17
- import "./chunk-RLR4TKUZ.js";
18
- import "./chunk-C6OH6CNF.js";
19
- import "./chunk-JVTNMVYU.js";
13
+ import "./chunk-TVIX653Q.js";
14
+ import "./chunk-QCBICNKC.js";
15
+ import "./chunk-3YHAYXBC.js";
16
+ import "./chunk-NAZRLJAK.js";
17
+ import "./chunk-HVFR66GQ.js";
18
+ import "./chunk-TCC737IS.js";
19
+ import "./chunk-527HHQPS.js";
20
20
  import "./chunk-YEUYKR62.js";
21
21
  import "./chunk-RNVYGWIC.js";
22
22
  import "./chunk-MNH7QO4Z.js";
23
23
  import "./chunk-Q35YIDBV.js";
24
- import "./chunk-UZC7LDAQ.js";
24
+ import "./chunk-6XTQDFGP.js";
25
25
  import "./chunk-OWBRDNRZ.js";
26
26
  import "./chunk-G3T47CFV.js";
27
27
  import "./chunk-2H7UOFLK.js";
@@ -32,4 +32,4 @@ export {
32
32
  renderListJson,
33
33
  termEntry
34
34
  };
35
- //# sourceMappingURL=json-SGZ6ZRFD.js.map
35
+ //# sourceMappingURL=json-4DCKDGUV.js.map
@@ -0,0 +1,30 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ STDIN_LABEL,
4
+ runLint
5
+ } from "./chunk-DE7JSWXV.js";
6
+ import "./chunk-ELZ2IIOF.js";
7
+ import "./chunk-TIUTIOFB.js";
8
+ import "./chunk-TBAMBLF3.js";
9
+ import "./chunk-YGFIQ6Y5.js";
10
+ import "./chunk-TU2WUBVZ.js";
11
+ import "./chunk-TVIX653Q.js";
12
+ import "./chunk-QCBICNKC.js";
13
+ import "./chunk-3YHAYXBC.js";
14
+ import "./chunk-NAZRLJAK.js";
15
+ import "./chunk-HVFR66GQ.js";
16
+ import "./chunk-TCC737IS.js";
17
+ import "./chunk-527HHQPS.js";
18
+ import "./chunk-YEUYKR62.js";
19
+ import "./chunk-RNVYGWIC.js";
20
+ import "./chunk-MNH7QO4Z.js";
21
+ import "./chunk-Q35YIDBV.js";
22
+ import "./chunk-6XTQDFGP.js";
23
+ import "./chunk-OWBRDNRZ.js";
24
+ import "./chunk-G3T47CFV.js";
25
+ import "./chunk-2H7UOFLK.js";
26
+ export {
27
+ STDIN_LABEL,
28
+ runLint
29
+ };
30
+ //# sourceMappingURL=lint-YDHVVZHT.js.map
@@ -2,25 +2,25 @@
2
2
  import {
3
3
  renderList,
4
4
  runList
5
- } from "./chunk-YTCZRLTU.js";
6
- import "./chunk-NWZ2SLYL.js";
5
+ } from "./chunk-DX32P2DT.js";
6
+ import "./chunk-7OQAU4EA.js";
7
7
  import "./chunk-LJ2RDH3F.js";
8
8
  import "./chunk-YNHZHSSM.js";
9
9
  import "./chunk-ZXRAE55H.js";
10
10
  import "./chunk-SE4JN5XN.js";
11
11
  import "./chunk-TU2WUBVZ.js";
12
- import "./chunk-H2DLH2JI.js";
13
- import "./chunk-CYWHFSRT.js";
14
- import "./chunk-K3D6FPV6.js";
15
- import "./chunk-V46OILVC.js";
16
- import "./chunk-RLR4TKUZ.js";
17
- import "./chunk-C6OH6CNF.js";
18
- import "./chunk-JVTNMVYU.js";
12
+ import "./chunk-TVIX653Q.js";
13
+ import "./chunk-QCBICNKC.js";
14
+ import "./chunk-3YHAYXBC.js";
15
+ import "./chunk-NAZRLJAK.js";
16
+ import "./chunk-HVFR66GQ.js";
17
+ import "./chunk-TCC737IS.js";
18
+ import "./chunk-527HHQPS.js";
19
19
  import "./chunk-YEUYKR62.js";
20
20
  import "./chunk-RNVYGWIC.js";
21
21
  import "./chunk-MNH7QO4Z.js";
22
22
  import "./chunk-Q35YIDBV.js";
23
- import "./chunk-UZC7LDAQ.js";
23
+ import "./chunk-6XTQDFGP.js";
24
24
  import "./chunk-OWBRDNRZ.js";
25
25
  import "./chunk-G3T47CFV.js";
26
26
  import "./chunk-2H7UOFLK.js";
@@ -28,4 +28,4 @@ export {
28
28
  renderList,
29
29
  runList
30
30
  };
31
- //# sourceMappingURL=list-7BKNYPSB.js.map
31
+ //# sourceMappingURL=list-3ZO2NIYO.js.map