@hawkeyexl/manni 4.1.0 → 4.2.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/dist/index.js CHANGED
@@ -3,40 +3,95 @@ import {
3
3
  BLOCK_KINDS,
4
4
  BUILTIN_SOURCE,
5
5
  BUILT_IN_DEFAULTS,
6
+ COVERAGE_FIELDS,
7
+ COVERAGE_FIELD_NAMES,
6
8
  DEFAULT_CONFIG_FILENAME,
9
+ DEFAULT_MODEL,
7
10
  DocevalsError,
8
11
  EVAL_KEYS,
9
12
  EXTERNAL_KEYS,
13
+ EmbedderUnavailableError,
10
14
  FILL_PROMPT_VERSION,
11
15
  FILL_SYSTEM_PROMPT,
12
16
  FRONTMATTER_SCHEMA_ID,
13
17
  FillCache,
14
18
  GOLDEN_DIR,
19
+ GRAPH_NOT_APPLICABLE_TO_VARIANT,
20
+ GRAPH_NOT_SOFTWARE_SUBJECT,
21
+ GraphError,
22
+ GraphIndex,
15
23
  KeyError,
16
24
  LINT_JOBS,
17
25
  LINT_TOOLS,
26
+ LOCALIZATIONS_FILENAME,
18
27
  LintError,
28
+ MODEL_PROFILES,
29
+ NS,
30
+ PREFIXES,
19
31
  PROPOSAL_SCHEMA,
20
32
  REPORT_FORMATS as REPORT_FORMATS2,
21
33
  RULE_ID_PREFIX2 as RULE_ID_PREFIX,
34
+ SECTION_COVERAGE_FIELDS,
22
35
  SEEDED_GOLDEN_FILE,
36
+ SOFTWARE_LIFECYCLE_IRIS,
37
+ SOFTWARE_SUBJECT_IRIS,
23
38
  STDIN_LABEL,
24
39
  SUMMARY_FORMATS,
25
40
  TOOLS_BY_JOB,
26
41
  TOOL_NAME,
42
+ TOPIC_TYPE_IRIS,
43
+ UNDETERMINED,
44
+ VectorIndexError,
45
+ VectorMismatchError,
46
+ analyzeDoc,
27
47
  appendPageEvals,
48
+ applyGraphFields,
49
+ assertProviderSelection,
28
50
  buildFillUser,
51
+ buildSearchIndex,
52
+ byCodeUnit,
29
53
  cacheKey,
30
54
  cite_exports,
31
55
  classifyRef as classifyRef2,
32
56
  clearMatcherCache,
33
57
  clearPatternCache,
34
58
  clearTemplateCaches,
59
+ collectGitHistory,
60
+ compactIri,
61
+ conceptSlug,
62
+ constructProvider,
63
+ createFetchResolver,
64
+ createLexicalIndex,
65
+ createLocalEmbedder,
66
+ createMockEmbedder,
67
+ createTrace,
68
+ createVectorIndex,
69
+ decodeVectorIndex,
70
+ defaultConfig,
71
+ deriveGraph,
72
+ discoverFiles,
35
73
  discoverPages,
74
+ documentPreamble,
75
+ documentSectionOrder,
76
+ documentsByLanguage,
77
+ embedText,
78
+ emitJsonLd,
79
+ emitLocalizations,
80
+ emitRdfXml,
81
+ emitSearchIndex,
82
+ emitTurtle,
83
+ encodeSegment,
84
+ encodeVectorIndex,
85
+ existingGraphFields,
86
+ existingMetaProvenance,
87
+ expandTerm,
36
88
  fillCacheKey,
89
+ findEntry,
90
+ frontmatterKind,
37
91
  frontmatterSchema,
38
92
  graderFor,
39
93
  headingMatches,
94
+ impact,
40
95
  isLintTool,
41
96
  isValidProposal,
42
97
  isWildcard,
@@ -47,21 +102,42 @@ import {
47
102
  listReviews,
48
103
  loadConfig as loadConfig2,
49
104
  loadConfig2 as loadConfig3,
105
+ loadConfig3 as loadConfig4,
50
106
  loadExternalReader,
51
107
  loadGoldenCases,
108
+ loadGraph,
109
+ loadRunConfig,
52
110
  loadTemplate,
53
111
  loadTemplateFile,
54
112
  makeGenerateScripts,
55
113
  makeJudge,
56
114
  makeProvider,
115
+ makeProvider2,
57
116
  matchSections,
117
+ mintAgentIri,
118
+ mintBuildActivityIri,
119
+ mintConceptIri,
120
+ mintDocIri,
121
+ mintGraphIri,
122
+ mintProductIri,
123
+ mintSchemeIri,
124
+ mintSectionIri,
125
+ normalize,
126
+ normalizeDocPath,
58
127
  occurrenceRange,
59
128
  parseConfig as parseConfig2,
60
129
  parseConfig2 as parseConfig3,
130
+ parseConfig3 as parseConfig4,
61
131
  parseFormat,
132
+ parseLocalizations,
62
133
  parserByName,
63
134
  parserForExtension,
135
+ partitionByLanguage,
136
+ profileFor,
137
+ projectPackage,
64
138
  providerSpecFor,
139
+ providerSpecFor2,
140
+ reachedNodes,
65
141
  readPage,
66
142
  readTarget,
67
143
  rebaseConfig,
@@ -70,6 +146,7 @@ import {
70
146
  render as render2,
71
147
  render2 as render3,
72
148
  renderCalibration,
149
+ renderEmbed,
73
150
  renderFill as renderFill2,
74
151
  renderGithub,
75
152
  renderJson,
@@ -78,18 +155,31 @@ import {
78
155
  renderPretty,
79
156
  renderReviews,
80
157
  renderSarif as renderSarif2,
158
+ renderSearch,
81
159
  renderTemplates,
82
160
  renderTools,
161
+ renderTraverse,
162
+ resolveBaseIri,
163
+ resolveDocumentSet,
83
164
  resolveExtends,
84
165
  resolveLintRun,
85
166
  resolvePage,
86
167
  resolvePages,
87
168
  resolveProviderIdentity,
169
+ resolveProviderIdentity2,
170
+ resolveSubject,
171
+ resolveVariant,
172
+ reverseReferences,
173
+ rrfMerge,
88
174
  ruleId,
89
175
  ruleName,
176
+ runBuild,
90
177
  runCalibrate,
178
+ runEmbed,
91
179
  runEvals,
180
+ runExport,
92
181
  runFill as runFill2,
182
+ runFill2 as runFill3,
93
183
  runGenerate,
94
184
  runInit,
95
185
  runKeyRotate,
@@ -97,20 +187,38 @@ import {
97
187
  runLint,
98
188
  runList,
99
189
  runPromote,
190
+ runQuery as runQuery2,
100
191
  runReview,
101
192
  runRun,
193
+ runSearch,
194
+ runStats,
102
195
  runTemplates,
103
196
  runTools,
197
+ runTraverse,
198
+ scopeExclusion,
104
199
  scriptLocationFor,
200
+ searchIndexDigest,
201
+ searchIndexFilename,
202
+ sectionOccurrence,
203
+ sectionOccurrences,
204
+ sectionOwnText,
105
205
  seedGoldenCases,
206
+ selectProvider,
207
+ sliceSection,
208
+ splitFragment,
209
+ storeToQuads,
106
210
  stripFrontmatterBlock,
107
211
  supportedExtensions as supportedExtensions2,
212
+ traverse,
108
213
  updateConfigEval,
109
214
  updatePageEval,
110
215
  validateDocument,
111
216
  validateSections,
112
- withExternalMetadata
113
- } from "./chunk-S3NDEIOW.js";
217
+ vectorIndexFilename,
218
+ withExternalMetadata,
219
+ withPrefix,
220
+ writeZip
221
+ } from "./chunk-UYDRDFYF.js";
114
222
  import {
115
223
  BinMissing,
116
224
  COMMON_FORMATS,
@@ -130,6 +238,7 @@ import {
130
238
  EXTERNAL_OWNED_SCHEMA,
131
239
  FIELD_SOURCES,
132
240
  FILL_FORMATS,
241
+ GRAPH_OUTPUT_KEYWORD,
133
242
  GitHubClient,
134
243
  GitLabClient,
135
244
  INTEGRITY_SHAPE,
@@ -148,6 +257,7 @@ import {
148
257
  STDIN_TOKEN,
149
258
  SchemaCache,
150
259
  Validator,
260
+ __default2 as __default,
151
261
  __export,
152
262
  applyFrontmatter,
153
263
  argvFor,
@@ -236,7 +346,7 @@ import {
236
346
  valueOf,
237
347
  vendorFileName,
238
348
  writeFileAtomic
239
- } from "./chunk-I57KBF45.js";
349
+ } from "./chunk-TH565O2N.js";
240
350
 
241
351
  // src/docevals/index.ts
242
352
  var docevals_exports = {};
@@ -332,13 +442,13 @@ __export(lint_exports, {
332
442
  isWildcard: () => isWildcard,
333
443
  listBuiltins: () => listBuiltins2,
334
444
  listFormats: () => listFormats,
335
- loadConfig: () => loadConfig3,
445
+ loadConfig: () => loadConfig4,
336
446
  loadTemplate: () => loadTemplate,
337
447
  loadTemplateFile: () => loadTemplateFile,
338
448
  matchSections: () => matchSections,
339
449
  occurrenceRange: () => occurrenceRange,
340
450
  palette: () => palette,
341
- parseConfig: () => parseConfig3,
451
+ parseConfig: () => parseConfig4,
342
452
  parserByName: () => parserByName,
343
453
  parserForExtension: () => parserForExtension,
344
454
  rebaseConfig: () => rebaseConfig,
@@ -368,6 +478,281 @@ function clearCaches() {
368
478
  clearPatternCache();
369
479
  }
370
480
 
481
+ // src/graph/index.ts
482
+ var graph_exports = {};
483
+ __export(graph_exports, {
484
+ COVERAGE_FIELDS: () => COVERAGE_FIELDS,
485
+ COVERAGE_FIELD_NAMES: () => COVERAGE_FIELD_NAMES,
486
+ DEFAULT_MODEL: () => DEFAULT_MODEL,
487
+ EmbedderUnavailableError: () => EmbedderUnavailableError,
488
+ FRONTMATTER_SCHEMA_ID: () => FRONTMATTER_SCHEMA_ID2,
489
+ GRAPH_NOT_APPLICABLE_TO_VARIANT: () => GRAPH_NOT_APPLICABLE_TO_VARIANT,
490
+ GRAPH_NOT_SOFTWARE_SUBJECT: () => GRAPH_NOT_SOFTWARE_SUBJECT,
491
+ GraphError: () => GraphError,
492
+ GraphIndex: () => GraphIndex,
493
+ LOCALIZATIONS_FILENAME: () => LOCALIZATIONS_FILENAME,
494
+ MODEL_PROFILES: () => MODEL_PROFILES,
495
+ MockProvider: () => MockProvider2,
496
+ NS: () => NS,
497
+ PREFIXES: () => PREFIXES,
498
+ SECTION_COVERAGE_FIELDS: () => SECTION_COVERAGE_FIELDS,
499
+ SOFTWARE_LIFECYCLE_IRIS: () => SOFTWARE_LIFECYCLE_IRIS,
500
+ SOFTWARE_SUBJECT_IRIS: () => SOFTWARE_SUBJECT_IRIS,
501
+ TOPIC_TYPE_IRIS: () => TOPIC_TYPE_IRIS,
502
+ UNDETERMINED: () => UNDETERMINED,
503
+ VectorIndexError: () => VectorIndexError,
504
+ VectorMismatchError: () => VectorMismatchError,
505
+ analyzeDoc: () => analyzeDoc,
506
+ applyGraphFields: () => applyGraphFields,
507
+ assemble: () => assemble,
508
+ assertProviderSelection: () => assertProviderSelection,
509
+ buildSearchIndex: () => buildSearchIndex,
510
+ collectGitHistory: () => collectGitHistory,
511
+ compactIri: () => compactIri,
512
+ conceptSlug: () => conceptSlug,
513
+ constructProvider: () => constructProvider,
514
+ createFetchResolver: () => createFetchResolver,
515
+ createLexicalIndex: () => createLexicalIndex,
516
+ createLocalEmbedder: () => createLocalEmbedder,
517
+ createMockEmbedder: () => createMockEmbedder,
518
+ createTrace: () => createTrace,
519
+ createVectorIndex: () => createVectorIndex,
520
+ decodeVectorIndex: () => decodeVectorIndex,
521
+ defaultConfig: () => defaultConfig,
522
+ defaultGraph: () => defaultGraph,
523
+ deriveGraph: () => deriveGraph,
524
+ discoverFiles: () => discoverFiles,
525
+ documentPreamble: () => documentPreamble,
526
+ documentSectionOrder: () => documentSectionOrder,
527
+ documentsByLanguage: () => documentsByLanguage,
528
+ embedText: () => embedText,
529
+ emitJsonLd: () => emitJsonLd,
530
+ emitLocalizations: () => emitLocalizations,
531
+ emitRdfXml: () => emitRdfXml,
532
+ emitSearchIndex: () => emitSearchIndex,
533
+ emitTurtle: () => emitTurtle,
534
+ encodeSegment: () => encodeSegment,
535
+ encodeVectorIndex: () => encodeVectorIndex,
536
+ existingGraphFields: () => existingGraphFields,
537
+ existingMetaProvenance: () => existingMetaProvenance,
538
+ expandTerm: () => expandTerm,
539
+ findEntry: () => findEntry,
540
+ frontmatterKind: () => frontmatterKind,
541
+ frontmatterSchema: () => frontmatterSchema2,
542
+ impact: () => impact,
543
+ literal: () => literal,
544
+ loadConfig: () => loadConfig3,
545
+ loadGraph: () => loadGraph,
546
+ loadRunConfig: () => loadRunConfig,
547
+ makeProvider: () => makeProvider2,
548
+ matchQuads: () => matchQuads,
549
+ mintAgentIri: () => mintAgentIri,
550
+ mintBuildActivityIri: () => mintBuildActivityIri,
551
+ mintConceptIri: () => mintConceptIri,
552
+ mintDocIri: () => mintDocIri,
553
+ mintGraphIri: () => mintGraphIri,
554
+ mintProductIri: () => mintProductIri,
555
+ mintSchemeIri: () => mintSchemeIri,
556
+ mintSectionIri: () => mintSectionIri,
557
+ namedNode: () => namedNode,
558
+ normalize: () => normalize,
559
+ normalizeDocPath: () => normalizeDocPath,
560
+ parseConfig: () => parseConfig3,
561
+ parseLocalizations: () => parseLocalizations,
562
+ partitionByLanguage: () => partitionByLanguage,
563
+ profileFor: () => profileFor,
564
+ projectPackage: () => projectPackage,
565
+ providerSpecFor: () => providerSpecFor2,
566
+ rdfjsQuads: () => rdfjsQuads,
567
+ reachedNodes: () => reachedNodes,
568
+ renderEmbed: () => renderEmbed,
569
+ renderSearch: () => renderSearch,
570
+ renderTraverse: () => renderTraverse,
571
+ resolveBaseIri: () => resolveBaseIri,
572
+ resolveDocumentSet: () => resolveDocumentSet,
573
+ resolveProviderIdentity: () => resolveProviderIdentity2,
574
+ resolveSubject: () => resolveSubject,
575
+ resolveVariant: () => resolveVariant,
576
+ reverseReferences: () => reverseReferences,
577
+ rrfMerge: () => rrfMerge,
578
+ runBuild: () => runBuild,
579
+ runEmbed: () => runEmbed,
580
+ runExport: () => runExport,
581
+ runFill: () => runFill3,
582
+ runQuery: () => runQuery2,
583
+ runSearch: () => runSearch,
584
+ runStats: () => runStats,
585
+ runTraverse: () => runTraverse,
586
+ scopeExclusion: () => scopeExclusion,
587
+ searchIndexDigest: () => searchIndexDigest,
588
+ searchIndexFilename: () => searchIndexFilename,
589
+ sectionOccurrence: () => sectionOccurrence,
590
+ sectionOccurrences: () => sectionOccurrences,
591
+ sectionOwnText: () => sectionOwnText,
592
+ selectProvider: () => selectProvider,
593
+ sliceSection: () => sliceSection,
594
+ splitFragment: () => splitFragment,
595
+ storeToQuads: () => storeToQuads,
596
+ traverse: () => traverse,
597
+ vectorIndexFilename: () => vectorIndexFilename,
598
+ withPrefix: () => withPrefix,
599
+ writeZip: () => writeZip
600
+ });
601
+
602
+ // src/graph/runtime/assemble.ts
603
+ async function assemble(resolver, nodes, options = {}) {
604
+ const trace = options.trace ?? createTrace();
605
+ const budget = options.maxChars ?? Infinity;
606
+ if (nodes.length === 0) {
607
+ return {
608
+ ...options.entry ? { entry: options.entry } : {},
609
+ context: [],
610
+ citations: [],
611
+ trace,
612
+ truncated: false,
613
+ refusal: {
614
+ reason: "no-route",
615
+ detail: "No node in the graph was reachable for this query under the active scope filter."
616
+ }
617
+ };
618
+ }
619
+ const context = [];
620
+ let used = 0;
621
+ let truncated = false;
622
+ let resolvedAny = false;
623
+ for (const node of nodes) {
624
+ const resolved = await resolver.resolve(node.iri);
625
+ if (!resolved) continue;
626
+ resolvedAny = true;
627
+ if (used + resolved.text.length > budget) {
628
+ truncated = true;
629
+ continue;
630
+ }
631
+ used += resolved.text.length;
632
+ context.push({
633
+ iri: resolved.iri,
634
+ title: resolved.title,
635
+ text: resolved.text,
636
+ sourceUrl: resolved.sourceUrl,
637
+ depth: node.depth
638
+ });
639
+ }
640
+ if (context.length === 0) {
641
+ return {
642
+ ...options.entry ? { entry: options.entry } : {},
643
+ context: [],
644
+ citations: [],
645
+ trace,
646
+ truncated,
647
+ refusal: {
648
+ reason: "no-content",
649
+ detail: resolvedAny ? "Every matching node's content exceeded the character budget." : "Matching nodes were found, but none of them resolved to readable content."
650
+ }
651
+ };
652
+ }
653
+ return {
654
+ ...options.entry ? { entry: options.entry } : {},
655
+ context,
656
+ citations: context.map((b) => ({
657
+ iri: b.iri,
658
+ title: b.title,
659
+ sourceUrl: b.sourceUrl
660
+ })),
661
+ trace,
662
+ truncated
663
+ };
664
+ }
665
+
666
+ // src/graph/runtime/rdfjs.ts
667
+ var XSD_STRING = "http://www.w3.org/2001/XMLSchema#string";
668
+ function namedNode(value) {
669
+ return {
670
+ termType: "NamedNode",
671
+ value,
672
+ equals(other) {
673
+ return !!other && other.termType === "NamedNode" && other.value === value;
674
+ }
675
+ };
676
+ }
677
+ function defaultGraph() {
678
+ return {
679
+ termType: "DefaultGraph",
680
+ value: "",
681
+ equals(other) {
682
+ return !!other && other.termType === "DefaultGraph";
683
+ }
684
+ };
685
+ }
686
+ function literal(value, datatype) {
687
+ const dt = namedNode(datatype ?? XSD_STRING);
688
+ return {
689
+ termType: "Literal",
690
+ value,
691
+ language: "",
692
+ datatype: dt,
693
+ equals(other) {
694
+ return !!other && other.termType === "Literal" && other.value === value && !!other.datatype && other.datatype.value === dt.value;
695
+ }
696
+ };
697
+ }
698
+ function toTerm(v) {
699
+ return v.kind === "iri" ? namedNode(v.value) : literal(v.value, v.datatype);
700
+ }
701
+ function makeQuad(s, p, o) {
702
+ const subject = namedNode(s);
703
+ const predicate = namedNode(p);
704
+ const object = toTerm(o);
705
+ const graph = defaultGraph();
706
+ return {
707
+ termType: "Quad",
708
+ subject,
709
+ predicate,
710
+ object,
711
+ graph,
712
+ equals(other) {
713
+ return !!other && subject.equals(other.subject) && predicate.equals(other.predicate) && object.equals(other.object);
714
+ }
715
+ };
716
+ }
717
+ function rdfjsQuads(graph) {
718
+ const quads = [];
719
+ for (const s of graph.ids()) {
720
+ const node = graph.node(s);
721
+ if (!node) continue;
722
+ for (const p of [...node.props.keys()].sort(byCodeUnit)) {
723
+ for (const v of node.props.get(p) ?? []) quads.push(makeQuad(s, p, v));
724
+ }
725
+ }
726
+ return quads;
727
+ }
728
+ function matchQuads(graph, subject, predicate, object) {
729
+ const quads = [];
730
+ const subjects = subject ? [subject] : graph.ids();
731
+ for (const s of subjects) {
732
+ const node = graph.node(s);
733
+ if (!node) continue;
734
+ const predicates = predicate ? [predicate] : [...node.props.keys()].sort(byCodeUnit);
735
+ for (const p of predicates) {
736
+ for (const v of node.props.get(p) ?? []) {
737
+ if (object !== void 0 && object !== null && v.value !== object) {
738
+ continue;
739
+ }
740
+ quads.push(makeQuad(s, p, v));
741
+ }
742
+ }
743
+ }
744
+ return quads;
745
+ }
746
+
747
+ // src/graph/schema.ts
748
+ var frontmatterSchema2 = __default;
749
+ var FRONTMATTER_SCHEMA_ID2 = __default.$id;
750
+
751
+ // src/graph/index.ts
752
+ import {
753
+ MockProvider as MockProvider2
754
+ } from "@hawkeyexl/inference";
755
+
371
756
  // src/key/index.ts
372
757
  var key_exports = {};
373
758
  __export(key_exports, {
@@ -398,6 +783,7 @@ export {
398
783
  EXTERNAL_OWNED_SCHEMA,
399
784
  FIELD_SOURCES,
400
785
  FILL_FORMATS,
786
+ GRAPH_OUTPUT_KEYWORD,
401
787
  GitHubClient,
402
788
  GitLabClient,
403
789
  INTEGRITY_SHAPE,
@@ -439,6 +825,7 @@ export {
439
825
  fetchSchemaBytes,
440
826
  frontmatterInnerText,
441
827
  getSchemasInfo,
828
+ graph_exports as graph,
442
829
  identityFromOrigin,
443
830
  integrityOf,
444
831
  isBuiltinField,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/docevals/index.ts","../src/lint/index.ts","../src/key/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 { ResolvedEval, ResolvedPagePlan, PageProblem } 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","/**\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"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAAA;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAAC;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAAC;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAAAC;AAAA,EAAA;AAAA,oBAAAC;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAAC;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA8BA,SAAS,kBAAkB,eAAe;AAW1C;AAAA,EACE;AAAA,EACA;AAAA,OAKK;;;AChDP;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAAC;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA,sBAAAC;AAAA,EAAA;AAAA,oBAAAC;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAAC;AAAA,EAAA;AAAA;AAAA;AAAA,gBAAAC;AAAA,EAAA;AAAA;AAAA,qBAAAC;AAAA,EAAA;AAAA,qBAAAC;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6BAAAC;AAAA,EAAA;AAAA;AAAA;AAgBO,SAAS,cAAoB;AAClC,sBAAoB;AACpB,oBAAkB;AAClB,oBAAkB;AACpB;;;ACpBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;","names":["REPORT_FORMATS","loadConfig","parseConfig","render","renderFill","runFill","classifyRef","listBuiltins","loadConfig","parseConfig","render","renderJunit","renderSarif","supportedExtensions"]}
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"],"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 { ResolvedEval, ResolvedPagePlan, PageProblem } 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"],"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"]}