@hawkeyexl/manni 4.8.1 → 4.10.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.
- package/README.md +1 -1
- package/dist/{batch-QMHYWGUA.js → batch-6NICDKRE.js} +12 -12
- package/dist/{build-ZGA3O3P4.js → build-3KP2K3XN.js} +11 -11
- package/dist/{calibrate-KBMFGKP3.js → calibrate-LUA3DWKD.js} +13 -13
- package/dist/{capture-C46UXFRK.js → capture-NETOHCB4.js} +12 -12
- package/dist/{check-UMI5ACCE.js → check-7B77ZD2N.js} +11 -11
- package/dist/{check-OAJWC3WD.js → check-E4QCB7LS.js} +5 -5
- package/dist/{check-CORYIW76.js → check-NLL4NRYA.js} +13 -13
- package/dist/{check-LLQ6PJV3.js → check-PTECPIIB.js} +10 -10
- package/dist/{chunk-N7J5C35C.js → chunk-2BV4FBC7.js} +2 -2
- package/dist/chunk-2BV4FBC7.js.map +1 -0
- package/dist/{chunk-PO5W6JAP.js → chunk-2JV7C4YV.js} +7 -7
- package/dist/{chunk-Z27GYQOY.js → chunk-2UCC26MO.js} +8 -8
- package/dist/{chunk-WBETAXO2.js → chunk-2W34HX2U.js} +5 -5
- package/dist/{chunk-ZIGIJBXG.js → chunk-2YJ5H5E6.js} +9 -9
- package/dist/{chunk-HWNSIEZK.js → chunk-3E2X2RBU.js} +6 -6
- package/dist/{chunk-Q3GFZJTY.js → chunk-4DLF5SA4.js} +35 -17
- package/dist/chunk-4DLF5SA4.js.map +1 -0
- package/dist/{chunk-BYVH727K.js → chunk-55GMOVKW.js} +2 -2
- package/dist/{chunk-C2JPBQCJ.js → chunk-5REEVKGH.js} +2 -2
- package/dist/{chunk-XXDXIIQ4.js → chunk-6AGESHHM.js} +2 -2
- package/dist/{chunk-GQBVZS5G.js → chunk-6LR73NMO.js} +6 -6
- package/dist/{chunk-XKBEHKWO.js → chunk-6M5VJOC2.js} +2 -1
- package/dist/{chunk-F734HIHT.js → chunk-7Y3N4Y72.js} +3 -3
- package/dist/{chunk-WUFP4V7B.js → chunk-ABHG6I3G.js} +1292 -126
- package/dist/chunk-ABHG6I3G.js.map +1 -0
- package/dist/{chunk-FEALEYSE.js → chunk-AO5TSDKT.js} +4 -4
- package/dist/{chunk-LF6FOF6U.js → chunk-BD7IXBWE.js} +15 -26
- package/dist/{chunk-LF6FOF6U.js.map → chunk-BD7IXBWE.js.map} +1 -1
- package/dist/{chunk-NB4ILZMQ.js → chunk-CCWMACJL.js} +8 -8
- package/dist/{chunk-K43X5VDR.js → chunk-D2UW3ZCK.js} +6 -6
- package/dist/{chunk-SV6UEQCU.js → chunk-DFCQ6BMI.js} +4 -4
- package/dist/{chunk-ECVQNGTH.js → chunk-DNZUBCGZ.js} +3 -3
- package/dist/{chunk-POGYWOJ2.js → chunk-EAUIQADY.js} +3 -3
- package/dist/{chunk-XDS3KQCK.js → chunk-G6FNWRAI.js} +4 -4
- package/dist/{chunk-6HMLYFEU.js → chunk-G7XD4QH5.js} +810 -5
- package/dist/chunk-G7XD4QH5.js.map +1 -0
- package/dist/{chunk-WUXD6VBD.js → chunk-GB2XPITA.js} +2 -2
- package/dist/{chunk-KPXOJMQ6.js → chunk-GCKHSBEN.js} +2 -2
- package/dist/{chunk-6QBJHRFC.js → chunk-GDLHTI5R.js} +129 -26
- package/dist/chunk-GDLHTI5R.js.map +1 -0
- package/dist/{chunk-NNFSIRVE.js → chunk-GXN7RRHR.js} +3 -3
- package/dist/{chunk-RCS5YFY2.js → chunk-H26VDFDS.js} +2 -2
- package/dist/{chunk-4VQBHTGA.js → chunk-IJ62BB2T.js} +5 -5
- package/dist/{chunk-WT6HMEEF.js → chunk-KBG463UK.js} +35 -8
- package/dist/{chunk-WT6HMEEF.js.map → chunk-KBG463UK.js.map} +1 -1
- package/dist/{chunk-UWY4B2PM.js → chunk-LQZQ5KGG.js} +4 -4
- package/dist/{chunk-VSOYZ7QH.js → chunk-PK7EKJ5T.js} +4 -4
- package/dist/{chunk-YVVMC4SZ.js → chunk-QBVP3SQP.js} +4 -4
- package/dist/{chunk-6MNOMHFI.js → chunk-QJRQ4BRC.js} +11 -11
- package/dist/{chunk-7LC4YJJ3.js → chunk-RODZ7MB7.js} +3 -3
- package/dist/{chunk-SXODK43S.js → chunk-RZVCWX5R.js} +4 -4
- package/dist/{chunk-5LAKRYXU.js → chunk-SUTMSDQ2.js} +3 -3
- package/dist/{chunk-6KKZXB2O.js → chunk-VVVKBUBO.js} +2 -2
- package/dist/{chunk-6ZR24A4S.js → chunk-VZVEP2OZ.js} +2 -2
- package/dist/{chunk-3FG2UU3H.js → chunk-WN47MNSK.js} +4 -4
- package/dist/{chunk-LAU6SVTJ.js → chunk-XU73V5XT.js} +7 -7
- package/dist/{chunk-77L5GNVO.js → chunk-Z5YHMRLF.js} +2 -2
- package/dist/{chunk-AO66Q66S.js → chunk-ZHRPH52H.js} +2 -2
- package/dist/chunk-ZMECS2IJ.js +27 -0
- package/dist/chunk-ZMECS2IJ.js.map +1 -0
- package/dist/{chunk-VD3EQSBI.js → chunk-ZXXFP2LA.js} +2 -2
- package/dist/{cli-SBJY2NQH.js → cli-4YYC6LCY.js} +15 -15
- package/dist/{cli-4B5RWL7P.js → cli-BIIUKPTE.js} +13 -12
- package/dist/{cli-4B5RWL7P.js.map → cli-BIIUKPTE.js.map} +1 -1
- package/dist/{cli-XIQKPNA7.js → cli-EH3I4IUX.js} +32 -32
- package/dist/cli-EH3I4IUX.js.map +1 -0
- package/dist/{cli-MNNOXWYU.js → cli-HO62TOM2.js} +8 -8
- package/dist/cli-LWST5FQH.js +839 -0
- package/dist/cli-LWST5FQH.js.map +1 -0
- package/dist/{cli-UB5W75GJ.js → cli-P2X7PNY6.js} +12 -12
- package/dist/{cli-QR3ZQZA4.js → cli-SGVFZOAW.js} +19 -19
- package/dist/{cli-5AML7QR2.js → cli-TELPAMJO.js} +14 -14
- package/dist/{cli-I4GBPLRM.js → cli-UETKXHJN.js} +3 -3
- package/dist/{cli-WWDARAWS.js → cli-V2DI3K2R.js} +14 -14
- package/dist/cli.js +18 -11
- package/dist/cli.js.map +1 -1
- package/dist/{config-YWSNBFEE.js → config-TYXYQK3I.js} +3 -3
- package/dist/docmeta.js +7 -7
- package/dist/{github-TIZ3ZR3D.js → github-ESK45CEZ.js} +10 -10
- package/dist/{github-WKOJRW7P.js → github-WER7JUTN.js} +12 -12
- package/dist/index.js +35 -34
- package/dist/index.js.map +1 -1
- package/dist/{json-4FUOZ3XX.js → json-QR4G35KA.js} +10 -10
- package/dist/{lint-7VQFESHK.js → lint-QTI7XK2A.js} +11 -10
- package/dist/{list-7U2MBDIM.js → list-JO4G3TS3.js} +10 -10
- package/dist/{list-W6EUAOBV.js → list-O2MJUP5V.js} +10 -10
- package/dist/{page-WZLBKSCD.js → page-FSXDXCDD.js} +9 -9
- package/dist/{prepare-FPEWAHJH.js → prepare-UPIBTFNS.js} +11 -11
- package/dist/{pretty-7M4X4TCY.js → pretty-4IONWSEP.js} +10 -10
- package/dist/{pretty-CUCMQU5R.js → pretty-R4BQD2VH.js} +11 -11
- package/dist/{reporters-DQVSDXV6.js → reporters-DHO2BXAD.js} +5 -5
- package/dist/{reporters-KYJE54JS.js → reporters-FPP6JNDP.js} +9 -9
- package/dist/{run-ABGXGOGQ.js → run-YH5Z7RJ7.js} +10 -10
- package/dist/{term-HTIG3YDC.js → term-ASM4LVYC.js} +279 -150
- package/dist/term-ASM4LVYC.js.map +1 -0
- package/dist/{validate-HWNU3MDY.js → validate-7JI3H57P.js} +5 -5
- package/package.json +1 -1
- package/plugin/manni/.claude-plugin/plugin.json +1 -1
- package/dist/chunk-6HMLYFEU.js.map +0 -1
- package/dist/chunk-6QBJHRFC.js.map +0 -1
- package/dist/chunk-N7J5C35C.js.map +0 -1
- package/dist/chunk-Q3GFZJTY.js.map +0 -1
- package/dist/chunk-WUFP4V7B.js.map +0 -1
- package/dist/cli-XIQKPNA7.js.map +0 -1
- package/dist/term-HTIG3YDC.js.map +0 -1
- /package/dist/{batch-QMHYWGUA.js.map → batch-6NICDKRE.js.map} +0 -0
- /package/dist/{build-ZGA3O3P4.js.map → build-3KP2K3XN.js.map} +0 -0
- /package/dist/{calibrate-KBMFGKP3.js.map → calibrate-LUA3DWKD.js.map} +0 -0
- /package/dist/{capture-C46UXFRK.js.map → capture-NETOHCB4.js.map} +0 -0
- /package/dist/{check-LLQ6PJV3.js.map → check-7B77ZD2N.js.map} +0 -0
- /package/dist/{check-OAJWC3WD.js.map → check-E4QCB7LS.js.map} +0 -0
- /package/dist/{check-CORYIW76.js.map → check-NLL4NRYA.js.map} +0 -0
- /package/dist/{check-UMI5ACCE.js.map → check-PTECPIIB.js.map} +0 -0
- /package/dist/{chunk-PO5W6JAP.js.map → chunk-2JV7C4YV.js.map} +0 -0
- /package/dist/{chunk-Z27GYQOY.js.map → chunk-2UCC26MO.js.map} +0 -0
- /package/dist/{chunk-WBETAXO2.js.map → chunk-2W34HX2U.js.map} +0 -0
- /package/dist/{chunk-ZIGIJBXG.js.map → chunk-2YJ5H5E6.js.map} +0 -0
- /package/dist/{chunk-HWNSIEZK.js.map → chunk-3E2X2RBU.js.map} +0 -0
- /package/dist/{chunk-BYVH727K.js.map → chunk-55GMOVKW.js.map} +0 -0
- /package/dist/{chunk-C2JPBQCJ.js.map → chunk-5REEVKGH.js.map} +0 -0
- /package/dist/{chunk-XXDXIIQ4.js.map → chunk-6AGESHHM.js.map} +0 -0
- /package/dist/{chunk-GQBVZS5G.js.map → chunk-6LR73NMO.js.map} +0 -0
- /package/dist/{chunk-XKBEHKWO.js.map → chunk-6M5VJOC2.js.map} +0 -0
- /package/dist/{chunk-F734HIHT.js.map → chunk-7Y3N4Y72.js.map} +0 -0
- /package/dist/{chunk-FEALEYSE.js.map → chunk-AO5TSDKT.js.map} +0 -0
- /package/dist/{chunk-NB4ILZMQ.js.map → chunk-CCWMACJL.js.map} +0 -0
- /package/dist/{chunk-K43X5VDR.js.map → chunk-D2UW3ZCK.js.map} +0 -0
- /package/dist/{chunk-SV6UEQCU.js.map → chunk-DFCQ6BMI.js.map} +0 -0
- /package/dist/{chunk-ECVQNGTH.js.map → chunk-DNZUBCGZ.js.map} +0 -0
- /package/dist/{chunk-POGYWOJ2.js.map → chunk-EAUIQADY.js.map} +0 -0
- /package/dist/{chunk-XDS3KQCK.js.map → chunk-G6FNWRAI.js.map} +0 -0
- /package/dist/{chunk-WUXD6VBD.js.map → chunk-GB2XPITA.js.map} +0 -0
- /package/dist/{chunk-KPXOJMQ6.js.map → chunk-GCKHSBEN.js.map} +0 -0
- /package/dist/{chunk-NNFSIRVE.js.map → chunk-GXN7RRHR.js.map} +0 -0
- /package/dist/{chunk-RCS5YFY2.js.map → chunk-H26VDFDS.js.map} +0 -0
- /package/dist/{chunk-4VQBHTGA.js.map → chunk-IJ62BB2T.js.map} +0 -0
- /package/dist/{chunk-UWY4B2PM.js.map → chunk-LQZQ5KGG.js.map} +0 -0
- /package/dist/{chunk-VSOYZ7QH.js.map → chunk-PK7EKJ5T.js.map} +0 -0
- /package/dist/{chunk-YVVMC4SZ.js.map → chunk-QBVP3SQP.js.map} +0 -0
- /package/dist/{chunk-6MNOMHFI.js.map → chunk-QJRQ4BRC.js.map} +0 -0
- /package/dist/{chunk-7LC4YJJ3.js.map → chunk-RODZ7MB7.js.map} +0 -0
- /package/dist/{chunk-SXODK43S.js.map → chunk-RZVCWX5R.js.map} +0 -0
- /package/dist/{chunk-5LAKRYXU.js.map → chunk-SUTMSDQ2.js.map} +0 -0
- /package/dist/{chunk-6KKZXB2O.js.map → chunk-VVVKBUBO.js.map} +0 -0
- /package/dist/{chunk-6ZR24A4S.js.map → chunk-VZVEP2OZ.js.map} +0 -0
- /package/dist/{chunk-3FG2UU3H.js.map → chunk-WN47MNSK.js.map} +0 -0
- /package/dist/{chunk-LAU6SVTJ.js.map → chunk-XU73V5XT.js.map} +0 -0
- /package/dist/{chunk-77L5GNVO.js.map → chunk-Z5YHMRLF.js.map} +0 -0
- /package/dist/{chunk-AO66Q66S.js.map → chunk-ZHRPH52H.js.map} +0 -0
- /package/dist/{chunk-VD3EQSBI.js.map → chunk-ZXXFP2LA.js.map} +0 -0
- /package/dist/{cli-SBJY2NQH.js.map → cli-4YYC6LCY.js.map} +0 -0
- /package/dist/{cli-MNNOXWYU.js.map → cli-HO62TOM2.js.map} +0 -0
- /package/dist/{cli-UB5W75GJ.js.map → cli-P2X7PNY6.js.map} +0 -0
- /package/dist/{cli-QR3ZQZA4.js.map → cli-SGVFZOAW.js.map} +0 -0
- /package/dist/{cli-5AML7QR2.js.map → cli-TELPAMJO.js.map} +0 -0
- /package/dist/{cli-I4GBPLRM.js.map → cli-UETKXHJN.js.map} +0 -0
- /package/dist/{cli-WWDARAWS.js.map → cli-V2DI3K2R.js.map} +0 -0
- /package/dist/{config-YWSNBFEE.js.map → config-TYXYQK3I.js.map} +0 -0
- /package/dist/{github-TIZ3ZR3D.js.map → github-ESK45CEZ.js.map} +0 -0
- /package/dist/{github-WKOJRW7P.js.map → github-WER7JUTN.js.map} +0 -0
- /package/dist/{json-4FUOZ3XX.js.map → json-QR4G35KA.js.map} +0 -0
- /package/dist/{lint-7VQFESHK.js.map → lint-QTI7XK2A.js.map} +0 -0
- /package/dist/{list-7U2MBDIM.js.map → list-JO4G3TS3.js.map} +0 -0
- /package/dist/{list-W6EUAOBV.js.map → list-O2MJUP5V.js.map} +0 -0
- /package/dist/{page-WZLBKSCD.js.map → page-FSXDXCDD.js.map} +0 -0
- /package/dist/{prepare-FPEWAHJH.js.map → prepare-UPIBTFNS.js.map} +0 -0
- /package/dist/{pretty-7M4X4TCY.js.map → pretty-4IONWSEP.js.map} +0 -0
- /package/dist/{pretty-CUCMQU5R.js.map → pretty-R4BQD2VH.js.map} +0 -0
- /package/dist/{reporters-DQVSDXV6.js.map → reporters-DHO2BXAD.js.map} +0 -0
- /package/dist/{reporters-KYJE54JS.js.map → reporters-FPP6JNDP.js.map} +0 -0
- /package/dist/{run-ABGXGOGQ.js.map → run-YH5Z7RJ7.js.map} +0 -0
- /package/dist/{validate-HWNU3MDY.js.map → validate-7JI3H57P.js.map} +0 -0
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/cli.ts"],"sourcesContent":["/**\n * The `manni` CLI: one bin, one subcommand per tool in the family.\n *\n * Each tool builds its own commander program and is mounted here under its\n * name, so `manni meta validate …` is the metadata tool's `validate` with\n * nothing in between. The umbrella owns only what is common to all of them:\n * the name, the version, and the exit-code contract in `runProgram`.\n *\n * Tools land here one at a time, on their own branches; until one merges its\n * subcommand does not exist.\n *\n * Every domain is imported on demand. A domain's module graph is its whole\n * dependency tree (Playwright, axe, Asciidoctor, the RDF stack, ajv), and a\n * hook runs `manni check` after every edit, so the bin mounts only the domain\n * argv names. `--version` mounts none. Anything else (`--help`, a bare\n * `manni`, a typo) mounts them all, so help and \"unknown command\" read as\n * they always did.\n */\nimport { Command } from \"commander\";\nimport pkg from \"../package.json\" with { type: \"json\" };\nimport { runIfMain } from \"./shared/run.js\";\n\ninterface Domain {\n /** The command names the loader mounts, known before it is loaded. */\n names: readonly string[];\n load: () => Promise<Command[]>;\n}\n\n// In the order `manni --help` lists them.\nconst DOMAINS: readonly Domain[] = [\n {\n names: [\"meta\"],\n load: async () => [\n (await import(\"./meta/cli.js\"))\n .buildProgram()\n .name(\"meta\")\n .description(\n \"Validate, read, query and fill document metadata against JSON Schema\",\n ),\n ],\n },\n {\n names: [\"a11y\"],\n load: async () => [\n (await import(\"./a11y/cli.js\"))\n .buildProgram()\n .name(\"a11y\")\n .description(\n \"Crawl a site and check every page for accessibility violations with axe-core\",\n ),\n ],\n },\n {\n names: [\"cite\"],\n load: async () => [\n (await import(\"./cite/cli.js\"))\n .buildProgram()\n .name(\"cite\")\n .description(\n \"Track citations from doc claims to source lines and check them for drift\",\n ),\n ],\n },\n {\n names: [\"lint\"],\n load: async () => [\n (await import(\"./lint/cli.js\"))\n .buildProgram()\n .name(\"lint\")\n .description(\n \"Validate document structure against doctype templates, routed by a page's type\",\n ),\n ],\n },\n {\n names: [\"docevals\"],\n load: async () => [\n (await import(\"./docevals/cli.js\"))\n .buildProgram()\n .name(\"docevals\")\n .description(\n \"Deterministic and LLM-as-judge evals for documentation pages, driven by frontmatter\",\n ),\n ],\n },\n {\n names: [\"term\"],\n load: async () => [\n (await import(\"./term/index.js\"))\n .buildProgram()\n .name(\"term\")\n .description(\"Check, lint and render a docset's terms and the references into them\"),\n ],\n },\n {\n names: [\"graph\"],\n load: async () => [\n (await import(\"./graph/cli.js\"))\n .buildProgram()\n .name(\"graph\")\n .description(\n \"Deterministic knowledge graphs derived from documentation frontmatter and formatting\",\n ),\n ],\n },\n {\n names: [\"tracevals\"],\n load: async () => [\n (await import(\"./tracevals/cli.js\"))\n .buildProgram()\n .name(\"tracevals\")\n .description(\n \"Deterministic and LLM-as-judge adherence evals for AI agent session traces\",\n ),\n ],\n },\n // Not a tool but a family resource with verbs (proposal 0045).\n {\n names: [\"key\"],\n load: async () => [\n (await import(\"./key/cli.js\"))\n .buildProgram()\n .name(\"key\")\n .description(\"Set and rotate the family key that encrypted values are encrypted with.\"),\n ],\n },\n // The two family verbs (proposal 0078), and the only verbs the umbrella\n // carries: each runs other domains' command cores and owns no checks.\n {\n names: [\"check\", \"status\"],\n load: async () => {\n const { buildCheck, buildStatus } = await import(\"./family/cli.js\");\n return [buildCheck(), buildStatus()];\n },\n },\n];\n\nconst VERSION_FLAGS = new Set([\"-V\", \"--version\"]);\n\n/**\n * The domains a run with these arguments (argv after the script) dispatches\n * to. The umbrella's only options are `--version` and `--help`, so the first\n * argument is one of them or the command commander will look up.\n */\nfunction domainsFor(args: readonly string[]): readonly Domain[] {\n const first = args[0];\n if (first === undefined) return DOMAINS;\n if (VERSION_FLAGS.has(first)) return [];\n const named = DOMAINS.find((d) => d.names.includes(first));\n return named === undefined ? DOMAINS : [named];\n}\n\nasync function mount(domains: readonly Domain[]): Promise<Command> {\n const mounted = (await Promise.all(domains.map((d) => d.load()))).flat();\n const metaCommands = new Set(\n mounted.find((c) => c.name() === \"meta\")?.commands.map((c) => c.name()),\n );\n\n const program = new Command();\n program\n .name(\"manni\")\n .description(\"Tools for documentation that is meant to be checked.\")\n .version(pkg.version, \"-V, --version\")\n // A pointer, not the whole help screen. Commander appends this after every\n // usage error, and the message that precedes it already names the problem.\n .showHelpAfterError(\"(add --help for usage)\")\n // MUST come before `addCommand`, which copies the exit callback into the\n // mounted program by value. See the same note in ./meta/cli.ts.\n .exitOverride()\n .configureOutput({\n outputError: (str, write) => {\n write(str);\n // `manni validate …` is the most likely thing a docmeta user types\n // first. Commander's \"unknown command\" is correct and unhelpful; say\n // where the command went.\n const m = /unknown command '([^']+)'/.exec(str);\n const name = m?.[1];\n if (name !== undefined && metaCommands.has(name)) {\n write(\n `(\\`${name}\\` is a metadata command: try \\`manni meta ${name}\\`)\\n`,\n );\n }\n },\n });\n\n for (const command of mounted) program.addCommand(command);\n return program;\n}\n\n/** The whole command tree, every domain mounted. */\nexport function buildProgram(): Promise<Command> {\n return mount(DOMAINS);\n}\n\n/** The tree a run with these arguments needs: the one domain they name, or all of them. */\nexport function buildProgramFor(args: readonly string[]): Promise<Command> {\n return mount(domainsFor(args));\n}\n\nrunIfMain(import.meta.url, () => buildProgramFor(process.argv.slice(2)));\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/cli.ts"],"sourcesContent":["/**\n * The `manni` CLI: one bin, one subcommand per tool in the family.\n *\n * Each tool builds its own commander program and is mounted here under its\n * name, so `manni meta validate …` is the metadata tool's `validate` with\n * nothing in between. The umbrella owns only what is common to all of them:\n * the name, the version, and the exit-code contract in `runProgram`.\n *\n * Tools land here one at a time, on their own branches; until one merges its\n * subcommand does not exist.\n *\n * Every domain is imported on demand. A domain's module graph is its whole\n * dependency tree (Playwright, axe, Asciidoctor, the RDF stack, ajv), and a\n * hook runs `manni check` after every edit, so the bin mounts only the domain\n * argv names. `--version` mounts none. Anything else (`--help`, a bare\n * `manni`, a typo) mounts them all, so help and \"unknown command\" read as\n * they always did.\n */\nimport { Command } from \"commander\";\nimport pkg from \"../package.json\" with { type: \"json\" };\nimport { runIfMain } from \"./shared/run.js\";\n\ninterface Domain {\n /** The command names the loader mounts, known before it is loaded. */\n names: readonly string[];\n load: () => Promise<Command[]>;\n}\n\n// In the order `manni --help` lists them.\nconst DOMAINS: readonly Domain[] = [\n {\n names: [\"meta\"],\n load: async () => [\n (await import(\"./meta/cli.js\"))\n .buildProgram()\n .name(\"meta\")\n .description(\n \"Validate, read, query and fill document metadata against JSON Schema\",\n ),\n ],\n },\n {\n names: [\"a11y\"],\n load: async () => [\n (await import(\"./a11y/cli.js\"))\n .buildProgram()\n .name(\"a11y\")\n .description(\n \"Crawl a site and check every page for accessibility violations with axe-core\",\n ),\n ],\n },\n {\n names: [\"cite\"],\n load: async () => [\n (await import(\"./cite/cli.js\"))\n .buildProgram()\n .name(\"cite\")\n .description(\n \"Track citations from doc claims to source lines and check them for drift\",\n ),\n ],\n },\n {\n names: [\"lint\"],\n load: async () => [\n (await import(\"./lint/cli.js\"))\n .buildProgram()\n .name(\"lint\")\n .description(\n \"Validate document structure against doctype templates, routed by a page's type\",\n ),\n ],\n },\n {\n names: [\"docevals\"],\n load: async () => [\n (await import(\"./docevals/cli.js\"))\n .buildProgram()\n .name(\"docevals\")\n .description(\n \"Deterministic and LLM-as-judge evals for documentation pages, driven by frontmatter\",\n ),\n ],\n },\n {\n names: [\"term\"],\n load: async () => [\n (await import(\"./term/index.js\"))\n .buildProgram()\n .name(\"term\")\n .description(\"Check, lint and render a docset's terms and the references into them\"),\n ],\n },\n {\n names: [\"graph\"],\n load: async () => [\n (await import(\"./graph/cli.js\"))\n .buildProgram()\n .name(\"graph\")\n .description(\n \"Deterministic knowledge graphs derived from documentation frontmatter and formatting\",\n ),\n ],\n },\n {\n names: [\"tracevals\"],\n load: async () => [\n (await import(\"./tracevals/cli.js\"))\n .buildProgram()\n .name(\"tracevals\")\n .description(\n \"Deterministic and LLM-as-judge adherence evals for AI agent session traces\",\n ),\n ],\n },\n // Not a tool but a family resource with verbs (proposal 0045).\n {\n names: [\"key\"],\n load: async () => [\n (await import(\"./key/cli.js\"))\n .buildProgram()\n .name(\"key\")\n .description(\"Set and rotate the family key that encrypted values are encrypted with.\"),\n ],\n },\n // The docs site, a family resource with verbs like `key` (proposal 0082).\n {\n names: [\"site\"],\n load: async () => [\n (await import(\"./site/cli.js\"))\n .buildProgram()\n .name(\"site\")\n .description(\"Start, build and preview the docs site\"),\n ],\n },\n // The two family verbs (proposal 0078), and the only verbs the umbrella\n // carries: each runs other domains' command cores and owns no checks.\n {\n names: [\"check\", \"status\"],\n load: async () => {\n const { buildCheck, buildStatus } = await import(\"./family/cli.js\");\n return [buildCheck(), buildStatus()];\n },\n },\n];\n\nconst VERSION_FLAGS = new Set([\"-V\", \"--version\"]);\n\n/**\n * The domains a run with these arguments (argv after the script) dispatches\n * to. The umbrella's only options are `--version` and `--help`, so the first\n * argument is one of them or the command commander will look up.\n */\nfunction domainsFor(args: readonly string[]): readonly Domain[] {\n const first = args[0];\n if (first === undefined) return DOMAINS;\n if (VERSION_FLAGS.has(first)) return [];\n const named = DOMAINS.find((d) => d.names.includes(first));\n return named === undefined ? DOMAINS : [named];\n}\n\nasync function mount(domains: readonly Domain[]): Promise<Command> {\n const mounted = (await Promise.all(domains.map((d) => d.load()))).flat();\n const metaCommands = new Set(\n mounted.find((c) => c.name() === \"meta\")?.commands.map((c) => c.name()),\n );\n\n const program = new Command();\n program\n .name(\"manni\")\n .description(\"Tools for documentation that is meant to be checked.\")\n .version(pkg.version, \"-V, --version\")\n // A pointer, not the whole help screen. Commander appends this after every\n // usage error, and the message that precedes it already names the problem.\n .showHelpAfterError(\"(add --help for usage)\")\n // MUST come before `addCommand`, which copies the exit callback into the\n // mounted program by value. See the same note in ./meta/cli.ts.\n .exitOverride()\n .configureOutput({\n outputError: (str, write) => {\n write(str);\n // `manni validate …` is the most likely thing a docmeta user types\n // first. Commander's \"unknown command\" is correct and unhelpful; say\n // where the command went.\n const m = /unknown command '([^']+)'/.exec(str);\n const name = m?.[1];\n if (name !== undefined && metaCommands.has(name)) {\n write(\n `(\\`${name}\\` is a metadata command: try \\`manni meta ${name}\\`)\\n`,\n );\n }\n },\n });\n\n for (const command of mounted) program.addCommand(command);\n return program;\n}\n\n/** The whole command tree, every domain mounted. */\nexport function buildProgram(): Promise<Command> {\n return mount(DOMAINS);\n}\n\n/** The tree a run with these arguments needs: the one domain they name, or all of them. */\nexport function buildProgramFor(args: readonly string[]): Promise<Command> {\n return mount(domainsFor(args));\n}\n\nrunIfMain(import.meta.url, () => buildProgramFor(process.argv.slice(2)));\n"],"mappings":"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","names":[]}
|
|
@@ -5,12 +5,12 @@ import {
|
|
|
5
5
|
discoverConfig,
|
|
6
6
|
loadConfig,
|
|
7
7
|
parseConfig
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-GCKHSBEN.js";
|
|
9
9
|
import "./chunk-CU57HT2E.js";
|
|
10
10
|
import "./chunk-NGTVREIH.js";
|
|
11
11
|
import "./chunk-UKZNLVJW.js";
|
|
12
12
|
import "./chunk-YNHZHSSM.js";
|
|
13
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-6M5VJOC2.js";
|
|
14
14
|
import "./chunk-HX44GB4Z.js";
|
|
15
15
|
import "./chunk-QCHVR4ZM.js";
|
|
16
16
|
import "./chunk-OWBRDNRZ.js";
|
|
@@ -23,4 +23,4 @@ export {
|
|
|
23
23
|
loadConfig,
|
|
24
24
|
parseConfig
|
|
25
25
|
};
|
|
26
|
-
//# sourceMappingURL=config-
|
|
26
|
+
//# sourceMappingURL=config-TYXYQK3I.js.map
|
package/dist/docmeta.js
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
buildProgram
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-6LR73NMO.js";
|
|
5
|
+
import "./chunk-2W34HX2U.js";
|
|
6
|
+
import "./chunk-KBG463UK.js";
|
|
7
|
+
import "./chunk-QBVP3SQP.js";
|
|
8
|
+
import "./chunk-G7XD4QH5.js";
|
|
9
9
|
import {
|
|
10
10
|
runIfMain
|
|
11
11
|
} from "./chunk-YEUYKR62.js";
|
|
12
12
|
import "./chunk-RNVYGWIC.js";
|
|
13
13
|
import "./chunk-MNH7QO4Z.js";
|
|
14
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-6M5VJOC2.js";
|
|
15
15
|
import "./chunk-HX44GB4Z.js";
|
|
16
16
|
import "./chunk-QCHVR4ZM.js";
|
|
17
|
-
import "./chunk-
|
|
17
|
+
import "./chunk-2BV4FBC7.js";
|
|
18
18
|
import "./chunk-OWBRDNRZ.js";
|
|
19
19
|
import "./chunk-G3T47CFV.js";
|
|
20
20
|
import "./chunk-2H7UOFLK.js";
|
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
renderFindingsGithub
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-55GMOVKW.js";
|
|
5
|
+
import "./chunk-ABHG6I3G.js";
|
|
6
6
|
import "./chunk-77AINBYM.js";
|
|
7
7
|
import "./chunk-IKEWBMCN.js";
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
8
|
+
import "./chunk-G6FNWRAI.js";
|
|
9
|
+
import "./chunk-2W34HX2U.js";
|
|
10
|
+
import "./chunk-KBG463UK.js";
|
|
11
|
+
import "./chunk-QBVP3SQP.js";
|
|
12
|
+
import "./chunk-G7XD4QH5.js";
|
|
13
13
|
import "./chunk-YEUYKR62.js";
|
|
14
14
|
import "./chunk-RNVYGWIC.js";
|
|
15
15
|
import "./chunk-MNH7QO4Z.js";
|
|
16
|
-
import "./chunk-
|
|
16
|
+
import "./chunk-6M5VJOC2.js";
|
|
17
17
|
import "./chunk-HX44GB4Z.js";
|
|
18
18
|
import "./chunk-QCHVR4ZM.js";
|
|
19
|
-
import "./chunk-
|
|
19
|
+
import "./chunk-2BV4FBC7.js";
|
|
20
20
|
import "./chunk-OWBRDNRZ.js";
|
|
21
21
|
import "./chunk-G3T47CFV.js";
|
|
22
22
|
import "./chunk-2H7UOFLK.js";
|
|
23
23
|
export {
|
|
24
24
|
renderFindingsGithub
|
|
25
25
|
};
|
|
26
|
-
//# sourceMappingURL=github-
|
|
26
|
+
//# sourceMappingURL=github-ESK45CEZ.js.map
|
|
@@ -3,23 +3,23 @@ import {
|
|
|
3
3
|
NAMES_ITS_SUBJECT,
|
|
4
4
|
findingMessage,
|
|
5
5
|
renderCheckGithub
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-SUTMSDQ2.js";
|
|
7
|
+
import "./chunk-7Y3N4Y72.js";
|
|
8
|
+
import "./chunk-RZVCWX5R.js";
|
|
9
|
+
import "./chunk-PK7EKJ5T.js";
|
|
10
10
|
import "./chunk-IKEWBMCN.js";
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-G6FNWRAI.js";
|
|
12
|
+
import "./chunk-2W34HX2U.js";
|
|
13
|
+
import "./chunk-KBG463UK.js";
|
|
14
|
+
import "./chunk-QBVP3SQP.js";
|
|
15
|
+
import "./chunk-G7XD4QH5.js";
|
|
16
16
|
import "./chunk-YEUYKR62.js";
|
|
17
17
|
import "./chunk-RNVYGWIC.js";
|
|
18
18
|
import "./chunk-MNH7QO4Z.js";
|
|
19
|
-
import "./chunk-
|
|
19
|
+
import "./chunk-6M5VJOC2.js";
|
|
20
20
|
import "./chunk-HX44GB4Z.js";
|
|
21
21
|
import "./chunk-QCHVR4ZM.js";
|
|
22
|
-
import "./chunk-
|
|
22
|
+
import "./chunk-2BV4FBC7.js";
|
|
23
23
|
import "./chunk-OWBRDNRZ.js";
|
|
24
24
|
import "./chunk-G3T47CFV.js";
|
|
25
25
|
import "./chunk-2H7UOFLK.js";
|
|
@@ -28,4 +28,4 @@ export {
|
|
|
28
28
|
findingMessage,
|
|
29
29
|
renderCheckGithub
|
|
30
30
|
};
|
|
31
|
-
//# sourceMappingURL=github-
|
|
31
|
+
//# sourceMappingURL=github-WER7JUTN.js.map
|
package/dist/index.js
CHANGED
|
@@ -19,13 +19,13 @@ import {
|
|
|
19
19
|
runFill as runFill4,
|
|
20
20
|
runList as runList2,
|
|
21
21
|
systemPromptFor
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-XU73V5XT.js";
|
|
23
23
|
import {
|
|
24
24
|
KeyError,
|
|
25
25
|
cite_exports,
|
|
26
26
|
runKeyRotate,
|
|
27
27
|
runKeySet
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-QJRQ4BRC.js";
|
|
29
29
|
import {
|
|
30
30
|
pickTrace
|
|
31
31
|
} from "./chunk-PAU352SV.js";
|
|
@@ -35,7 +35,7 @@ import {
|
|
|
35
35
|
rescore,
|
|
36
36
|
runCalibrate as runCalibrate2,
|
|
37
37
|
score
|
|
38
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-GXN7RRHR.js";
|
|
39
39
|
import {
|
|
40
40
|
BUILTIN_GRADER_KINDS,
|
|
41
41
|
IMPLICIT_EVAL_NAME,
|
|
@@ -74,7 +74,7 @@ import {
|
|
|
74
74
|
runOne,
|
|
75
75
|
runRun as runRun2,
|
|
76
76
|
sha256
|
|
77
|
-
} from "./chunk-
|
|
77
|
+
} from "./chunk-2YJ5H5E6.js";
|
|
78
78
|
import {
|
|
79
79
|
buildManifest,
|
|
80
80
|
deviceId,
|
|
@@ -82,10 +82,10 @@ import {
|
|
|
82
82
|
redactDeep,
|
|
83
83
|
renderCapture,
|
|
84
84
|
runCapture
|
|
85
|
-
} from "./chunk-
|
|
85
|
+
} from "./chunk-DFCQ6BMI.js";
|
|
86
86
|
import {
|
|
87
87
|
discoverArtifacts
|
|
88
|
-
} from "./chunk-
|
|
88
|
+
} from "./chunk-Z5YHMRLF.js";
|
|
89
89
|
import {
|
|
90
90
|
parseHookPayload,
|
|
91
91
|
readStdin
|
|
@@ -96,7 +96,7 @@ import {
|
|
|
96
96
|
parseTraceContent,
|
|
97
97
|
parseTraceFile,
|
|
98
98
|
renderTrace
|
|
99
|
-
} from "./chunk-
|
|
99
|
+
} from "./chunk-5REEVKGH.js";
|
|
100
100
|
import {
|
|
101
101
|
WHEN_CONDITIONS,
|
|
102
102
|
evaluateWhen,
|
|
@@ -134,7 +134,7 @@ import {
|
|
|
134
134
|
sha256Hex,
|
|
135
135
|
siblingManifestPath,
|
|
136
136
|
writeManifest
|
|
137
|
-
} from "./chunk-
|
|
137
|
+
} from "./chunk-EAUIQADY.js";
|
|
138
138
|
import {
|
|
139
139
|
configDir,
|
|
140
140
|
discoverTraces,
|
|
@@ -200,7 +200,7 @@ import {
|
|
|
200
200
|
splitFragment,
|
|
201
201
|
traverse,
|
|
202
202
|
writeZip
|
|
203
|
-
} from "./chunk-
|
|
203
|
+
} from "./chunk-2JV7C4YV.js";
|
|
204
204
|
import {
|
|
205
205
|
LOCALIZATIONS_FILENAME,
|
|
206
206
|
UNDETERMINED,
|
|
@@ -215,13 +215,13 @@ import {
|
|
|
215
215
|
runBuild,
|
|
216
216
|
searchIndexFilename,
|
|
217
217
|
vectorIndexFilename
|
|
218
|
-
} from "./chunk-
|
|
218
|
+
} from "./chunk-CCWMACJL.js";
|
|
219
219
|
import {
|
|
220
220
|
compactIri,
|
|
221
221
|
expandTerm,
|
|
222
222
|
loadGraph,
|
|
223
223
|
storeToQuads
|
|
224
|
-
} from "./chunk-
|
|
224
|
+
} from "./chunk-6AGESHHM.js";
|
|
225
225
|
import {
|
|
226
226
|
COVERAGE_FIELDS,
|
|
227
227
|
COVERAGE_FIELD_NAMES,
|
|
@@ -255,7 +255,7 @@ import {
|
|
|
255
255
|
profileFor,
|
|
256
256
|
resolveBaseIri,
|
|
257
257
|
withPrefix
|
|
258
|
-
} from "./chunk-
|
|
258
|
+
} from "./chunk-VVVKBUBO.js";
|
|
259
259
|
import {
|
|
260
260
|
CONFIG_SECTION_KEY,
|
|
261
261
|
DEFAULT_CONFIG_FILENAME as DEFAULT_CONFIG_FILENAME2,
|
|
@@ -265,7 +265,7 @@ import {
|
|
|
265
265
|
loadLabels,
|
|
266
266
|
parseConfig as parseConfig5,
|
|
267
267
|
parseLabels
|
|
268
|
-
} from "./chunk-
|
|
268
|
+
} from "./chunk-GCKHSBEN.js";
|
|
269
269
|
import {
|
|
270
270
|
CUSTOM_PLACEHOLDER,
|
|
271
271
|
DEFAULT_CAPTURE_DIR,
|
|
@@ -308,11 +308,11 @@ import {
|
|
|
308
308
|
runPromote,
|
|
309
309
|
runReview,
|
|
310
310
|
seedGoldenCases
|
|
311
|
-
} from "./chunk-
|
|
311
|
+
} from "./chunk-AO5TSDKT.js";
|
|
312
312
|
import {
|
|
313
313
|
renderList,
|
|
314
314
|
runList
|
|
315
|
-
} from "./chunk-
|
|
315
|
+
} from "./chunk-H26VDFDS.js";
|
|
316
316
|
import {
|
|
317
317
|
appendPageEvals,
|
|
318
318
|
makeGenerateScripts,
|
|
@@ -324,7 +324,7 @@ import {
|
|
|
324
324
|
scriptLocationFor,
|
|
325
325
|
updateConfigEval,
|
|
326
326
|
updatePageEval
|
|
327
|
-
} from "./chunk-
|
|
327
|
+
} from "./chunk-IJ62BB2T.js";
|
|
328
328
|
import {
|
|
329
329
|
DEFAULT_CONFIG_FILENAME,
|
|
330
330
|
EVAL_KEYS,
|
|
@@ -347,7 +347,7 @@ import {
|
|
|
347
347
|
runEvals,
|
|
348
348
|
stripFrontmatterBlock,
|
|
349
349
|
withExternalMetadata
|
|
350
|
-
} from "./chunk-
|
|
350
|
+
} from "./chunk-D2UW3ZCK.js";
|
|
351
351
|
import "./chunk-XG6PVB5S.js";
|
|
352
352
|
import "./chunk-YNHZHSSM.js";
|
|
353
353
|
import {
|
|
@@ -361,18 +361,18 @@ import {
|
|
|
361
361
|
import {
|
|
362
362
|
DocevalsError
|
|
363
363
|
} from "./chunk-SE4JN5XN.js";
|
|
364
|
-
import "./chunk-
|
|
365
|
-
import "./chunk-
|
|
366
|
-
import "./chunk-
|
|
367
|
-
import "./chunk-
|
|
368
|
-
import "./chunk-
|
|
364
|
+
import "./chunk-2UCC26MO.js";
|
|
365
|
+
import "./chunk-3E2X2RBU.js";
|
|
366
|
+
import "./chunk-SUTMSDQ2.js";
|
|
367
|
+
import "./chunk-7Y3N4Y72.js";
|
|
368
|
+
import "./chunk-RZVCWX5R.js";
|
|
369
369
|
import "./chunk-PCE7QHXJ.js";
|
|
370
370
|
import {
|
|
371
371
|
BUILTIN_SOURCE,
|
|
372
372
|
BUILT_IN_DEFAULTS,
|
|
373
373
|
runTemplates,
|
|
374
374
|
runTools
|
|
375
|
-
} from "./chunk-
|
|
375
|
+
} from "./chunk-WN47MNSK.js";
|
|
376
376
|
import {
|
|
377
377
|
LINT_JOBS,
|
|
378
378
|
LINT_TOOLS,
|
|
@@ -393,13 +393,14 @@ import {
|
|
|
393
393
|
runLint,
|
|
394
394
|
validateDocument,
|
|
395
395
|
validateSections
|
|
396
|
-
} from "./chunk-
|
|
396
|
+
} from "./chunk-BD7IXBWE.js";
|
|
397
|
+
import "./chunk-ZMECS2IJ.js";
|
|
397
398
|
import {
|
|
398
399
|
listFormats,
|
|
399
400
|
parserByName,
|
|
400
401
|
parserForExtension,
|
|
401
402
|
supportedExtensions as supportedExtensions2
|
|
402
|
-
} from "./chunk-
|
|
403
|
+
} from "./chunk-ZHRPH52H.js";
|
|
403
404
|
import "./chunk-TIUTIOFB.js";
|
|
404
405
|
import {
|
|
405
406
|
RULE_ID_PREFIX,
|
|
@@ -414,7 +415,7 @@ import {
|
|
|
414
415
|
renderTools,
|
|
415
416
|
ruleId,
|
|
416
417
|
ruleName
|
|
417
|
-
} from "./chunk-
|
|
418
|
+
} from "./chunk-LQZQ5KGG.js";
|
|
418
419
|
import "./chunk-GLP5PSXB.js";
|
|
419
420
|
import {
|
|
420
421
|
BLOCK_KINDS,
|
|
@@ -428,11 +429,11 @@ import {
|
|
|
428
429
|
LintError
|
|
429
430
|
} from "./chunk-YGFIQ6Y5.js";
|
|
430
431
|
import "./chunk-77AINBYM.js";
|
|
431
|
-
import "./chunk-
|
|
432
|
+
import "./chunk-PK7EKJ5T.js";
|
|
432
433
|
import "./chunk-IKEWBMCN.js";
|
|
433
434
|
import {
|
|
434
435
|
reencryptMetadata
|
|
435
|
-
} from "./chunk-
|
|
436
|
+
} from "./chunk-G6FNWRAI.js";
|
|
436
437
|
import {
|
|
437
438
|
DEFAULT_VENDOR_DIR,
|
|
438
439
|
DERIVE_FORMATS,
|
|
@@ -454,7 +455,7 @@ import {
|
|
|
454
455
|
runVendorSchema,
|
|
455
456
|
stringifyValue,
|
|
456
457
|
vendorFileName
|
|
457
|
-
} from "./chunk-
|
|
458
|
+
} from "./chunk-2W34HX2U.js";
|
|
458
459
|
import {
|
|
459
460
|
BinMissing,
|
|
460
461
|
EXTERNAL_DUPLICATE_SCHEMA,
|
|
@@ -502,7 +503,7 @@ import {
|
|
|
502
503
|
runValidate,
|
|
503
504
|
sourcesFor,
|
|
504
505
|
valueOf
|
|
505
|
-
} from "./chunk-
|
|
506
|
+
} from "./chunk-KBG463UK.js";
|
|
506
507
|
import {
|
|
507
508
|
COMMON_FORMATS,
|
|
508
509
|
QUERY_FORMATS,
|
|
@@ -513,7 +514,7 @@ import {
|
|
|
513
514
|
render,
|
|
514
515
|
renderJunit,
|
|
515
516
|
renderSarif
|
|
516
|
-
} from "./chunk-
|
|
517
|
+
} from "./chunk-QBVP3SQP.js";
|
|
517
518
|
import {
|
|
518
519
|
DEFAULT_SCHEMAS,
|
|
519
520
|
DEFAULT_TTL_HOURS,
|
|
@@ -556,7 +557,7 @@ import {
|
|
|
556
557
|
staleFindings,
|
|
557
558
|
supportedExtensions,
|
|
558
559
|
writeFileAtomic
|
|
559
|
-
} from "./chunk-
|
|
560
|
+
} from "./chunk-G7XD4QH5.js";
|
|
560
561
|
import "./chunk-YEUYKR62.js";
|
|
561
562
|
import {
|
|
562
563
|
palette,
|
|
@@ -571,10 +572,10 @@ import {
|
|
|
571
572
|
isMember,
|
|
572
573
|
parseCollections,
|
|
573
574
|
selectCollections
|
|
574
|
-
} from "./chunk-
|
|
575
|
+
} from "./chunk-6M5VJOC2.js";
|
|
575
576
|
import "./chunk-HX44GB4Z.js";
|
|
576
577
|
import "./chunk-QCHVR4ZM.js";
|
|
577
|
-
import "./chunk-
|
|
578
|
+
import "./chunk-2BV4FBC7.js";
|
|
578
579
|
import "./chunk-OWBRDNRZ.js";
|
|
579
580
|
import "./chunk-G3T47CFV.js";
|
|
580
581
|
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"]}
|