@thinkingsage/kanon 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (199) hide show
  1. package/CHANGELOG.md +410 -0
  2. package/LICENSE +21 -0
  3. package/README.md +168 -0
  4. package/bridge/mcp-server.cjs +14171 -0
  5. package/package.json +98 -0
  6. package/src/adapters/capabilities.ts +178 -0
  7. package/src/adapters/claude-code.ts +110 -0
  8. package/src/adapters/cline.ts +98 -0
  9. package/src/adapters/codex.ts +173 -0
  10. package/src/adapters/copilot.ts +106 -0
  11. package/src/adapters/cursor.ts +97 -0
  12. package/src/adapters/degradation.ts +95 -0
  13. package/src/adapters/index.ts +324 -0
  14. package/src/adapters/kiro-frontmatter.ts +139 -0
  15. package/src/adapters/kiro-inclusion.ts +86 -0
  16. package/src/adapters/kiro.ts +412 -0
  17. package/src/adapters/qdeveloper.ts +115 -0
  18. package/src/adapters/types.ts +81 -0
  19. package/src/adapters/windsurf.ts +96 -0
  20. package/src/admin.ts +283 -0
  21. package/src/asset-conventions.ts +118 -0
  22. package/src/attribution-backfill.ts +319 -0
  23. package/src/attribution-report.ts +95 -0
  24. package/src/attribution.ts +239 -0
  25. package/src/backends/github.ts +194 -0
  26. package/src/backends/http.ts +122 -0
  27. package/src/backends/index.ts +39 -0
  28. package/src/backends/local.ts +47 -0
  29. package/src/backends/s3.ts +157 -0
  30. package/src/backends/types.ts +59 -0
  31. package/src/base-cache.ts +270 -0
  32. package/src/browse-ui.ts +3754 -0
  33. package/src/browse.ts +1038 -0
  34. package/src/build.ts +1108 -0
  35. package/src/catalog.ts +204 -0
  36. package/src/cli-deprecated.ts +29 -0
  37. package/src/cli.ts +773 -0
  38. package/src/collection-admin.ts +287 -0
  39. package/src/collection-builder.ts +464 -0
  40. package/src/collections.ts +116 -0
  41. package/src/compatibility.ts +105 -0
  42. package/src/config.ts +743 -0
  43. package/src/eval/rubrics/kiro-progressive-steering.ts +841 -0
  44. package/src/eval.ts +1169 -0
  45. package/src/file-writer.ts +61 -0
  46. package/src/format-registry.ts +141 -0
  47. package/src/guild/auto-updater.ts +163 -0
  48. package/src/guild/backend-resolver.ts +49 -0
  49. package/src/guild/cli.ts +592 -0
  50. package/src/guild/collection-expander.ts +47 -0
  51. package/src/guild/global-cache.ts +247 -0
  52. package/src/guild/hook-generator.ts +100 -0
  53. package/src/guild/manifest.ts +154 -0
  54. package/src/guild/path-utils.ts +12 -0
  55. package/src/guild/sync.ts +622 -0
  56. package/src/guild/version-resolver.ts +42 -0
  57. package/src/help/metadata.ts +445 -0
  58. package/src/help/renderer.ts +265 -0
  59. package/src/help/typo-suggester.ts +25 -0
  60. package/src/hooks/expression.ts +493 -0
  61. package/src/hooks/pipeline.ts +141 -0
  62. package/src/import.ts +773 -0
  63. package/src/importers/claude-code.ts +134 -0
  64. package/src/importers/cline.ts +103 -0
  65. package/src/importers/codex.ts +140 -0
  66. package/src/importers/copilot.ts +103 -0
  67. package/src/importers/cursor.ts +105 -0
  68. package/src/importers/index.ts +390 -0
  69. package/src/importers/kiro.ts +110 -0
  70. package/src/importers/qdeveloper.ts +103 -0
  71. package/src/importers/types.ts +54 -0
  72. package/src/importers/windsurf.ts +104 -0
  73. package/src/install.ts +1005 -0
  74. package/src/manifest-admin.ts +306 -0
  75. package/src/mcp-bridge.ts +240 -0
  76. package/src/mutation/delta.ts +50 -0
  77. package/src/mutation/history.ts +66 -0
  78. package/src/mutation/operators.ts +524 -0
  79. package/src/mutation/runner.ts +332 -0
  80. package/src/new.ts +106 -0
  81. package/src/outcomes/collision.ts +127 -0
  82. package/src/outcomes/normalize.ts +208 -0
  83. package/src/outcomes/registry.ts +173 -0
  84. package/src/parser.ts +446 -0
  85. package/src/provenance-backfill-cli.ts +319 -0
  86. package/src/provenance-backfill.ts +520 -0
  87. package/src/publish.ts +354 -0
  88. package/src/reconcile-orchestrator.ts +502 -0
  89. package/src/reconcile-report-renderer.ts +176 -0
  90. package/src/resolve-body.ts +15 -0
  91. package/src/rosetta/builtins/compatibility-profiles.ts +297 -0
  92. package/src/rosetta/builtins/contracts.ts +1033 -0
  93. package/src/rosetta/builtins/pretty-printers/claude-code-native.ts +122 -0
  94. package/src/rosetta/builtins/pretty-printers/cline-native.ts +50 -0
  95. package/src/rosetta/builtins/pretty-printers/codex-native.ts +127 -0
  96. package/src/rosetta/builtins/pretty-printers/copilot-native.ts +50 -0
  97. package/src/rosetta/builtins/pretty-printers/cursor-native.ts +50 -0
  98. package/src/rosetta/builtins/pretty-printers/index.ts +81 -0
  99. package/src/rosetta/builtins/pretty-printers/kiro-native.ts +166 -0
  100. package/src/rosetta/builtins/pretty-printers/kiro-power.ts +108 -0
  101. package/src/rosetta/builtins/pretty-printers/kiro-skill.ts +88 -0
  102. package/src/rosetta/builtins/pretty-printers/qdeveloper-native.ts +51 -0
  103. package/src/rosetta/builtins/pretty-printers/superpowers.ts +97 -0
  104. package/src/rosetta/builtins/pretty-printers/windsurf-native.ts +50 -0
  105. package/src/rosetta/builtins/sources/claude-code-native.ts +348 -0
  106. package/src/rosetta/builtins/sources/cline-native.ts +176 -0
  107. package/src/rosetta/builtins/sources/codex-native.ts +343 -0
  108. package/src/rosetta/builtins/sources/copilot-native.ts +178 -0
  109. package/src/rosetta/builtins/sources/cursor-native.ts +176 -0
  110. package/src/rosetta/builtins/sources/index.ts +95 -0
  111. package/src/rosetta/builtins/sources/kiro-native.ts +462 -0
  112. package/src/rosetta/builtins/sources/kiro-power.ts +285 -0
  113. package/src/rosetta/builtins/sources/kiro-skill.ts +230 -0
  114. package/src/rosetta/builtins/sources/qdeveloper-native.ts +181 -0
  115. package/src/rosetta/builtins/sources/superpowers.ts +240 -0
  116. package/src/rosetta/builtins/sources/windsurf-native.ts +176 -0
  117. package/src/rosetta/builtins/targets/claude-code.ts +181 -0
  118. package/src/rosetta/builtins/targets/cline.ts +87 -0
  119. package/src/rosetta/builtins/targets/codex.ts +226 -0
  120. package/src/rosetta/builtins/targets/copilot.ts +103 -0
  121. package/src/rosetta/builtins/targets/cursor.ts +87 -0
  122. package/src/rosetta/builtins/targets/index.ts +60 -0
  123. package/src/rosetta/builtins/targets/kiro.ts +278 -0
  124. package/src/rosetta/builtins/targets/qdeveloper.ts +103 -0
  125. package/src/rosetta/builtins/targets/windsurf.ts +87 -0
  126. package/src/rosetta/canonical.ts +729 -0
  127. package/src/rosetta/compatibility.ts +432 -0
  128. package/src/rosetta/contracts.ts +329 -0
  129. package/src/rosetta/detector.ts +724 -0
  130. package/src/rosetta/diagnostics.ts +630 -0
  131. package/src/rosetta/engine-bootstrap.ts +103 -0
  132. package/src/rosetta/engine.ts +744 -0
  133. package/src/rosetta/index.ts +381 -0
  134. package/src/rosetta/inspection.ts +530 -0
  135. package/src/rosetta/plan.ts +448 -0
  136. package/src/rosetta/provenance-digest.ts +369 -0
  137. package/src/rosetta/reconcile.ts +812 -0
  138. package/src/rosetta/redaction.ts +467 -0
  139. package/src/rosetta/registry.ts +712 -0
  140. package/src/rosetta/renderers.ts +571 -0
  141. package/src/rosetta/request-guard.ts +335 -0
  142. package/src/rosetta/resolution.ts +419 -0
  143. package/src/rosetta/source-accounting.ts +233 -0
  144. package/src/rosetta/templates.ts +129 -0
  145. package/src/rosetta-cli.ts +717 -0
  146. package/src/rosetta-docs-generator.ts +793 -0
  147. package/src/rosetta-profiles-cli.ts +367 -0
  148. package/src/schemas.ts +1712 -0
  149. package/src/spec-coordination.ts +1141 -0
  150. package/src/temper.ts +747 -0
  151. package/src/template-bundle-loader.ts +312 -0
  152. package/src/template-engine.ts +53 -0
  153. package/src/translation-application-policy.ts +496 -0
  154. package/src/translation-orchestrator.ts +1013 -0
  155. package/src/translation-plan-applier.ts +473 -0
  156. package/src/tutorial.ts +305 -0
  157. package/src/validate.ts +1093 -0
  158. package/src/versioning.ts +553 -0
  159. package/src/wizard.ts +660 -0
  160. package/src/workspace.ts +237 -0
  161. package/templates/eval-contexts/claude-code.md.njk +6 -0
  162. package/templates/eval-contexts/cline.md.njk +6 -0
  163. package/templates/eval-contexts/copilot.md.njk +6 -0
  164. package/templates/eval-contexts/cursor.md.njk +6 -0
  165. package/templates/eval-contexts/kiro.md.njk +10 -0
  166. package/templates/eval-contexts/qdeveloper.md.njk +6 -0
  167. package/templates/eval-contexts/windsurf.md.njk +6 -0
  168. package/templates/harness-adapters/_base/attribution-footer.md.njk +17 -0
  169. package/templates/harness-adapters/_base/base.md.njk +16 -0
  170. package/templates/harness-adapters/claude-code/claude.md.njk +1 -0
  171. package/templates/harness-adapters/claude-code/mcp.json.njk +1 -0
  172. package/templates/harness-adapters/claude-code/settings.json.njk +1 -0
  173. package/templates/harness-adapters/claude-code/skill-library-index.md.njk +13 -0
  174. package/templates/harness-adapters/claude-code/skill.md.njk +19 -0
  175. package/templates/harness-adapters/cline/hook.sh.njk +4 -0
  176. package/templates/harness-adapters/cline/mcp.json.njk +1 -0
  177. package/templates/harness-adapters/cline/rule.md.njk +1 -0
  178. package/templates/harness-adapters/codex/agents-md.md.njk +6 -0
  179. package/templates/harness-adapters/codex/agents-pointer.md.njk +16 -0
  180. package/templates/harness-adapters/codex/skill.md.njk +27 -0
  181. package/templates/harness-adapters/copilot/agents.md.njk +1 -0
  182. package/templates/harness-adapters/copilot/instructions.md.njk +1 -0
  183. package/templates/harness-adapters/copilot/scoped.md.njk +6 -0
  184. package/templates/harness-adapters/cursor/mcp.json.njk +1 -0
  185. package/templates/harness-adapters/cursor/rule.md.njk +6 -0
  186. package/templates/harness-adapters/kiro/hook.json.njk +1 -0
  187. package/templates/harness-adapters/kiro/mcp.json.njk +1 -0
  188. package/templates/harness-adapters/kiro/power-steering.md.njk +3 -0
  189. package/templates/harness-adapters/kiro/power.md.njk +12 -0
  190. package/templates/harness-adapters/kiro/steering.md.njk +16 -0
  191. package/templates/harness-adapters/qdeveloper/agent.md.njk +1 -0
  192. package/templates/harness-adapters/qdeveloper/mcp.json.njk +1 -0
  193. package/templates/harness-adapters/qdeveloper/rule.md.njk +1 -0
  194. package/templates/harness-adapters/windsurf/mcp.json.njk +1 -0
  195. package/templates/harness-adapters/windsurf/rule.md.njk +1 -0
  196. package/templates/harness-adapters/windsurf/workflow.md.njk +1 -0
  197. package/templates/knowledge/hooks.yaml.njk +4 -0
  198. package/templates/knowledge/knowledge.md.njk +53 -0
  199. package/templates/knowledge/mcp-servers.yaml.njk +2 -0
@@ -0,0 +1,381 @@
1
+ /**
2
+ * Rosetta Stone — Stable Library API
3
+ *
4
+ * Public barrel export for the pure Rosetta Stone translation core.
5
+ *
6
+ * Exports: engine, schemas/types, registry construction, built-in contracts,
7
+ * built-in translators, built-in compatibility profiles, detection, diagnostics,
8
+ * translation plans, inspection, redaction, resolution, source accounting,
9
+ * request guard, and canonical parsing.
10
+ *
11
+ * Does NOT export impure services (TranslationOrchestrator, PlanApplier, scanners).
12
+ *
13
+ * Requirements: 1.1, 2.1, 15.1, 15.2, 15.6
14
+ */
15
+
16
+ // ═══════════════════════════════════════════════════════════════════════════════
17
+ // Engine — Translation entry point
18
+ // ═══════════════════════════════════════════════════════════════════════════════
19
+
20
+ export type { RosettaStone } from "./engine";
21
+ export { createEngine, RosettaEngine } from "./engine";
22
+
23
+ // ═══════════════════════════════════════════════════════════════════════════════
24
+ // Schemas and Types — Re-exported from contracts.ts (owned by ../schemas.ts)
25
+ // ═══════════════════════════════════════════════════════════════════════════════
26
+
27
+ export type {
28
+ AppliedDefault,
29
+ AppliedNormalization,
30
+ CanonicalCapability,
31
+ CanonicalDiagnosticLocation,
32
+ CanonicalOutputOptions,
33
+ CanonicalSchemaVersion,
34
+ CanonicalVersionRange,
35
+ ContractVersion,
36
+ DegradationDetail,
37
+ DegradationRecord,
38
+ DetectionCandidate,
39
+ DetectionContract,
40
+ DetectionEvidence,
41
+ DetectionRule,
42
+ DetectionRuleKind,
43
+ DiagnosticsEnvelope,
44
+ Direction,
45
+ FormatContract,
46
+ FormatIdentifier,
47
+ FormatOptionDefinition,
48
+ FormatSecurityPolicy,
49
+ FormatSelection,
50
+ ImmutableContext,
51
+ ImmutableRecord,
52
+ InboundTranslationRequest,
53
+ InspectionReportEnvelope,
54
+ JsonValue,
55
+ LifecycleMetadata,
56
+ LifecycleStatus,
57
+ NormalizationRule,
58
+ NormalizedRelativePath,
59
+ OutboundTranslationRequest,
60
+ OutputFile,
61
+ PathConvention,
62
+ PlanOperation,
63
+ ProvenanceRecord,
64
+ RegistryFailure,
65
+ ResolvedFormatSummary,
66
+ RosettaCompatibilityEntry,
67
+ RosettaCompatibilityProfile,
68
+ RosettaSeverity,
69
+ SchemaReference,
70
+ SourceDiagnosticLocation,
71
+ SourceDocument,
72
+ SourceLocation,
73
+ TranscodeTranslationRequest,
74
+ TranslationDiagnostic,
75
+ TranslationPhase,
76
+ TranslationPlan,
77
+ TranslationProfile,
78
+ TranslationRequest,
79
+ TranslationResult,
80
+ VariantContract,
81
+ } from "./contracts";
82
+
83
+ export {
84
+ codePointCompare,
85
+ compareDiagnostics,
86
+ comparePlanFiles,
87
+ deepFreeze,
88
+ normalizeForComparison,
89
+ stableJsonStringify,
90
+ TRANSLATION_PHASE_ORDER,
91
+ yamlKeyOrder,
92
+ } from "./contracts";
93
+
94
+ // ═══════════════════════════════════════════════════════════════════════════════
95
+ // Registry Construction — Builder, snapshot, and extension interfaces
96
+ // ═══════════════════════════════════════════════════════════════════════════════
97
+
98
+ export type {
99
+ FormatResolution,
100
+ PrettyPrinter,
101
+ RegistrationResult,
102
+ RegistryExtension,
103
+ RegistryQuery,
104
+ RequestedDirection,
105
+ ResolveOptions,
106
+ SourcePrintOutput,
107
+ SourceTranslationOutput,
108
+ SourceTranslator,
109
+ SourceTranslatorContext,
110
+ TargetTranslationOutput,
111
+ TargetTranslator,
112
+ TargetTranslatorContext,
113
+ TranslationRegistryBuilder,
114
+ TranslationRegistrySnapshot,
115
+ } from "./registry";
116
+
117
+ export { createRegistryBuilder } from "./registry";
118
+
119
+ // ═══════════════════════════════════════════════════════════════════════════════
120
+ // Built-in Format Contracts
121
+ // ═══════════════════════════════════════════════════════════════════════════════
122
+
123
+ export type { SelectionAliasMetadata } from "./builtins/contracts";
124
+ export {
125
+ BUILTIN_FORMAT_CONTRACTS,
126
+ CLAUDE_CODE_CONTRACT,
127
+ CLINE_CONTRACT,
128
+ CODEX_CONTRACT,
129
+ COPILOT_CONTRACT,
130
+ CURSOR_CONTRACT,
131
+ KANON_CANONICAL_CONTRACT,
132
+ KIRO_CONTRACT,
133
+ KIRO_POWER_CONTRACT,
134
+ KIRO_SKILL_CONTRACT,
135
+ QDEVELOPER_CONTRACT,
136
+ SELECTION_ALIASES,
137
+ SUPERPOWERS_CONTRACT,
138
+ WINDSURF_CONTRACT,
139
+ } from "./builtins/contracts";
140
+
141
+ // ═══════════════════════════════════════════════════════════════════════════════
142
+ // Built-in Compatibility Profiles
143
+ // ═══════════════════════════════════════════════════════════════════════════════
144
+
145
+ export {
146
+ buildCompatibilityProfile,
147
+ CLAUDE_CODE_PROFILE,
148
+ CLINE_PROFILE,
149
+ CODEX_PROFILE,
150
+ COPILOT_PROFILE,
151
+ CURSOR_PROFILE,
152
+ getAllBuiltinProfileKeys,
153
+ getBuiltinProfile,
154
+ KIRO_POWER_PROFILE,
155
+ KIRO_STEERING_PROFILE,
156
+ QDEVELOPER_PROFILE,
157
+ WINDSURF_PROFILE,
158
+ } from "./builtins/compatibility-profiles";
159
+
160
+ // ═══════════════════════════════════════════════════════════════════════════════
161
+ // Built-in Source Translators
162
+ // ═══════════════════════════════════════════════════════════════════════════════
163
+
164
+ export {
165
+ HARNESS_NATIVE_SOURCE_TRANSLATORS,
166
+ PATH_BASED_SOURCE_TRANSLATORS,
167
+ translateClaudeCodeNative,
168
+ translateClineNative,
169
+ translateCodexNative,
170
+ translateCopilotNative,
171
+ translateCursorNative,
172
+ translateKiroNative,
173
+ translateKiroPower,
174
+ translateKiroSkill,
175
+ translateQDeveloperNative,
176
+ translateSuperpowers,
177
+ translateWindsurfNative,
178
+ } from "./builtins/sources";
179
+
180
+ // ═══════════════════════════════════════════════════════════════════════════════
181
+ // Built-in Target Translators
182
+ // ═══════════════════════════════════════════════════════════════════════════════
183
+
184
+ export {
185
+ TARGET_TRANSLATORS,
186
+ translateClaudeCodeTarget,
187
+ translateClineTarget,
188
+ translateCodexTarget,
189
+ translateCopilotTarget,
190
+ translateCursorTarget,
191
+ translateKiroTarget,
192
+ translateQDeveloperTarget,
193
+ translateWindsurfTarget,
194
+ } from "./builtins/targets";
195
+
196
+ // ═══════════════════════════════════════════════════════════════════════════════
197
+ // Detection — Format detection and selection
198
+ // ═══════════════════════════════════════════════════════════════════════════════
199
+
200
+ export type { DetectionRequest, DetectionResult } from "./detector";
201
+ export { detect } from "./detector";
202
+
203
+ // ═══════════════════════════════════════════════════════════════════════════════
204
+ // Diagnostics — Structured diagnostic creation and utilities
205
+ // ═══════════════════════════════════════════════════════════════════════════════
206
+
207
+ export type {
208
+ CreateDiagnosticOptions,
209
+ DiagnosticCodeMetadata,
210
+ } from "./diagnostics";
211
+ export {
212
+ convertInternalError,
213
+ createDiagnostic,
214
+ createRegistryFailure,
215
+ DIAGNOSTIC_CODE_REGISTRY,
216
+ getBlockingDiagnostics,
217
+ hasBlockingDiagnostics,
218
+ isBlockingCode,
219
+ sortDiagnostics,
220
+ } from "./diagnostics";
221
+
222
+ // ═══════════════════════════════════════════════════════════════════════════════
223
+ // Request Guard — Pure request validation and normalization
224
+ // ═══════════════════════════════════════════════════════════════════════════════
225
+
226
+ export type { AppliedGuardDefault, GuardResult } from "./request-guard";
227
+ export { guardRequest } from "./request-guard";
228
+
229
+ // ═══════════════════════════════════════════════════════════════════════════════
230
+ // Canonical — Parser and serializer
231
+ // ═══════════════════════════════════════════════════════════════════════════════
232
+
233
+ export type {
234
+ CanonicalParserContext,
235
+ CanonicalParserOutput,
236
+ } from "./canonical";
237
+ export { getKnownFrontmatterKeys, parseCanonical } from "./canonical";
238
+
239
+ // ═══════════════════════════════════════════════════════════════════════════════
240
+ // Compatibility — Evaluation and profile resolution
241
+ // ═══════════════════════════════════════════════════════════════════════════════
242
+
243
+ export type {
244
+ CompatibilityEvaluation,
245
+ DegradationRecordOutput,
246
+ EffectiveCompatibilityProfile,
247
+ } from "./compatibility";
248
+ export {
249
+ evaluateCompatibility,
250
+ identifyUsedCapabilities,
251
+ promoteInStrictMode,
252
+ resolveEffectiveProfile,
253
+ } from "./compatibility";
254
+
255
+ // ═══════════════════════════════════════════════════════════════════════════════
256
+ // Plan — Validation and construction
257
+ // ═══════════════════════════════════════════════════════════════════════════════
258
+
259
+ export type { CreatePlanOptions, PlanValidationResult } from "./plan";
260
+ export {
261
+ createPlan,
262
+ normalizePlanPath,
263
+ sortPlanDeterministically,
264
+ validatePlan,
265
+ withholdBlockedOperations,
266
+ } from "./plan";
267
+
268
+ // ═══════════════════════════════════════════════════════════════════════════════
269
+ // Inspection — Report building and validation
270
+ // ═══════════════════════════════════════════════════════════════════════════════
271
+
272
+ export type {
273
+ CanonicalSummary,
274
+ CollisionSummary,
275
+ CompatibilitySummary,
276
+ DetectionCandidateSummary,
277
+ DetectionSummary,
278
+ DiagnosticsSummary,
279
+ FormatSummary,
280
+ InspectionContext,
281
+ InspectionReport,
282
+ OptionsSummary,
283
+ PlanSummary,
284
+ PreviewStatus,
285
+ RequestSummary,
286
+ } from "./inspection";
287
+ export { buildInspectionReport, validateInspectionReport } from "./inspection";
288
+
289
+ // ═══════════════════════════════════════════════════════════════════════════════
290
+ // Redaction — Sensitive value handling
291
+ // ═══════════════════════════════════════════════════════════════════════════════
292
+
293
+ export type {
294
+ PolicyApplicationResult,
295
+ RedactionProof,
296
+ SensitiveLocation,
297
+ StructuredRedactor,
298
+ SuppressedResult,
299
+ } from "./redaction";
300
+ export {
301
+ applySensitivePolicy,
302
+ computeFingerprint,
303
+ createRedactor,
304
+ looksLikeSecret,
305
+ matchesApprovedPattern,
306
+ RedactionRegistry,
307
+ suppressOnIncompleteRedaction,
308
+ } from "./redaction";
309
+
310
+ // ═══════════════════════════════════════════════════════════════════════════════
311
+ // Resolution — Variant and option resolution
312
+ // ═══════════════════════════════════════════════════════════════════════════════
313
+
314
+ export type {
315
+ OptionResolutionContext,
316
+ OptionResolutionResult,
317
+ VariantResolutionContext,
318
+ VariantResolutionResult,
319
+ } from "./resolution";
320
+ export { listValidChoices, resolveOptions, resolveVariant } from "./resolution";
321
+
322
+ // ═══════════════════════════════════════════════════════════════════════════════
323
+ // Source Accounting — Field mapping and document ordering
324
+ // ═══════════════════════════════════════════════════════════════════════════════
325
+
326
+ export type { FieldMapping, SourceAppliedDefault } from "./source-accounting";
327
+ export {
328
+ namespacedExtraField,
329
+ normalizeDocumentOrder,
330
+ SourceAccountant,
331
+ validateSourceAccounting,
332
+ } from "./source-accounting";
333
+
334
+ // ═══════════════════════════════════════════════════════════════════════════════
335
+ // Templates — Immutable template bundle types
336
+ // ═══════════════════════════════════════════════════════════════════════════════
337
+
338
+ export type {
339
+ ImmutableTemplateBundle,
340
+ TemplateBundleOptions,
341
+ TemplateRenderError,
342
+ } from "./templates";
343
+ export { computeBundleDigest } from "./templates";
344
+
345
+ // ═══════════════════════════════════════════════════════════════════════════════
346
+ // Reconciliation — Pure three-way merge core
347
+ // ═══════════════════════════════════════════════════════════════════════════════
348
+
349
+ export type {
350
+ ReconcileInput,
351
+ ReconciliationConfidence,
352
+ } from "./reconcile";
353
+ export { reconcileArtifact } from "./reconcile";
354
+
355
+ // ═══════════════════════════════════════════════════════════════════════════════
356
+ // Provenance Digest — Base_Digest computation and self-verification
357
+ // ═══════════════════════════════════════════════════════════════════════════════
358
+
359
+ export type {
360
+ BaseDigestResult,
361
+ ProvenanceVerification,
362
+ SelfVerifiedReconcileInput,
363
+ } from "./provenance-digest";
364
+ export {
365
+ computeBaseDigest,
366
+ readProvenance,
367
+ selfVerifyReconcileInput,
368
+ verifyProvenanceBase,
369
+ } from "./provenance-digest";
370
+
371
+ // ═══════════════════════════════════════════════════════════════════════════════
372
+ // Renderers — Human and versioned JSON output
373
+ // ═══════════════════════════════════════════════════════════════════════════════
374
+
375
+ export type { JsonRenderOptions } from "./renderers";
376
+ export {
377
+ renderHuman,
378
+ renderJson,
379
+ renderJsonObject,
380
+ stripAnsi,
381
+ } from "./renderers";