@wrtnlabs/evidence 0.0.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 (1076) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +516 -0
  3. package/lib/EvidenceChecker.d.ts +85 -0
  4. package/lib/EvidenceChecker.js +109 -0
  5. package/lib/adapters/bigquery/BigQueryColumnType.d.ts +14 -0
  6. package/lib/adapters/bigquery/BigQueryColumnType.js +34 -0
  7. package/lib/adapters/bigquery/BigQueryFileScanner.d.ts +97 -0
  8. package/lib/adapters/bigquery/BigQueryFileScanner.js +375 -0
  9. package/lib/adapters/bigquery/BigQueryIdentifier.d.ts +37 -0
  10. package/lib/adapters/bigquery/BigQueryIdentifier.js +88 -0
  11. package/lib/adapters/bigquery/BigQueryString.d.ts +14 -0
  12. package/lib/adapters/bigquery/BigQueryString.js +82 -0
  13. package/lib/adapters/bigquery/BigQueryWithdrawals.d.ts +14 -0
  14. package/lib/adapters/bigquery/BigQueryWithdrawals.js +70 -0
  15. package/lib/adapters/bigquery/EvidenceBigQueryAdapter.d.ts +17 -0
  16. package/lib/adapters/bigquery/EvidenceBigQueryAdapter.js +27 -0
  17. package/lib/adapters/c/CAdapter.d.ts +48 -0
  18. package/lib/adapters/c/CAdapter.js +677 -0
  19. package/lib/adapters/c/CDeclarationForm.d.ts +8 -0
  20. package/lib/adapters/c/CDeclarationForm.js +2 -0
  21. package/lib/adapters/c/CDeclaratorKind.d.ts +8 -0
  22. package/lib/adapters/c/CDeclaratorKind.js +2 -0
  23. package/lib/adapters/c/CDocumentation.d.ts +12 -0
  24. package/lib/adapters/c/CDocumentation.js +35 -0
  25. package/lib/adapters/c/CFileScanner.d.ts +64 -0
  26. package/lib/adapters/c/CFileScanner.js +505 -0
  27. package/lib/adapters/c/CSyntax.d.ts +24 -0
  28. package/lib/adapters/c/CSyntax.js +164 -0
  29. package/lib/adapters/c/EvidenceCAdapter.d.ts +15 -0
  30. package/lib/adapters/c/EvidenceCAdapter.js +19 -0
  31. package/lib/adapters/c/ICDeclaration.d.ts +74 -0
  32. package/lib/adapters/c/ICDeclaration.js +2 -0
  33. package/lib/adapters/c/ICDeclarationAddress.d.ts +28 -0
  34. package/lib/adapters/c/ICDeclarationAddress.js +2 -0
  35. package/lib/adapters/c/ICDeclarationGroup.d.ts +23 -0
  36. package/lib/adapters/c/ICDeclarationGroup.js +2 -0
  37. package/lib/adapters/c/ICDeclaratorShape.d.ts +30 -0
  38. package/lib/adapters/c/ICDeclaratorShape.js +2 -0
  39. package/lib/adapters/c/ICDocumentation.d.ts +36 -0
  40. package/lib/adapters/c/ICDocumentation.js +2 -0
  41. package/lib/adapters/c/ICDocumentationAttachment.d.ts +21 -0
  42. package/lib/adapters/c/ICDocumentationAttachment.js +2 -0
  43. package/lib/adapters/c/ICFileAnalysis.d.ts +44 -0
  44. package/lib/adapters/c/ICFileAnalysis.js +2 -0
  45. package/lib/adapters/c/ICTypeContext.d.ts +21 -0
  46. package/lib/adapters/c/ICTypeContext.js +2 -0
  47. package/lib/adapters/cpp/CppAccess.d.ts +7 -0
  48. package/lib/adapters/cpp/CppAccess.js +2 -0
  49. package/lib/adapters/cpp/CppAdapter.d.ts +50 -0
  50. package/lib/adapters/cpp/CppAdapter.js +707 -0
  51. package/lib/adapters/cpp/CppAliasKind.d.ts +7 -0
  52. package/lib/adapters/cpp/CppAliasKind.js +2 -0
  53. package/lib/adapters/cpp/CppDeclarationForm.d.ts +7 -0
  54. package/lib/adapters/cpp/CppDeclarationForm.js +2 -0
  55. package/lib/adapters/cpp/CppDeclaratorKind.d.ts +7 -0
  56. package/lib/adapters/cpp/CppDeclaratorKind.js +2 -0
  57. package/lib/adapters/cpp/CppDocumentation.d.ts +12 -0
  58. package/lib/adapters/cpp/CppDocumentation.js +35 -0
  59. package/lib/adapters/cpp/CppFileScanner.d.ts +79 -0
  60. package/lib/adapters/cpp/CppFileScanner.js +792 -0
  61. package/lib/adapters/cpp/CppScopeKind.d.ts +7 -0
  62. package/lib/adapters/cpp/CppScopeKind.js +2 -0
  63. package/lib/adapters/cpp/CppSyntax.d.ts +31 -0
  64. package/lib/adapters/cpp/CppSyntax.js +342 -0
  65. package/lib/adapters/cpp/CppVisibility.d.ts +7 -0
  66. package/lib/adapters/cpp/CppVisibility.js +2 -0
  67. package/lib/adapters/cpp/EvidenceCppAdapter.d.ts +16 -0
  68. package/lib/adapters/cpp/EvidenceCppAdapter.js +20 -0
  69. package/lib/adapters/cpp/ICppAlias.d.ts +44 -0
  70. package/lib/adapters/cpp/ICppAlias.js +2 -0
  71. package/lib/adapters/cpp/ICppDeclaration.d.ts +55 -0
  72. package/lib/adapters/cpp/ICppDeclaration.js +2 -0
  73. package/lib/adapters/cpp/ICppDeclarationGroup.d.ts +25 -0
  74. package/lib/adapters/cpp/ICppDeclarationGroup.js +2 -0
  75. package/lib/adapters/cpp/ICppDeclaratorShape.d.ts +42 -0
  76. package/lib/adapters/cpp/ICppDeclaratorShape.js +2 -0
  77. package/lib/adapters/cpp/ICppDocumentation.d.ts +30 -0
  78. package/lib/adapters/cpp/ICppDocumentation.js +2 -0
  79. package/lib/adapters/cpp/ICppDocumentationAttachment.d.ts +16 -0
  80. package/lib/adapters/cpp/ICppDocumentationAttachment.js +2 -0
  81. package/lib/adapters/cpp/ICppFileAnalysis.d.ts +41 -0
  82. package/lib/adapters/cpp/ICppFileAnalysis.js +2 -0
  83. package/lib/adapters/cpp/ICppQualifiedName.d.ts +16 -0
  84. package/lib/adapters/cpp/ICppQualifiedName.js +2 -0
  85. package/lib/adapters/cpp/ICppResolvedAlias.d.ts +24 -0
  86. package/lib/adapters/cpp/ICppResolvedAlias.js +2 -0
  87. package/lib/adapters/cpp/ICppScopeContext.d.ts +37 -0
  88. package/lib/adapters/cpp/ICppScopeContext.js +2 -0
  89. package/lib/adapters/csharp/CSharpAccessibility.d.ts +7 -0
  90. package/lib/adapters/csharp/CSharpAccessibility.js +2 -0
  91. package/lib/adapters/csharp/CSharpAdapter.d.ts +47 -0
  92. package/lib/adapters/csharp/CSharpAdapter.js +687 -0
  93. package/lib/adapters/csharp/CSharpDeclarationForm.d.ts +7 -0
  94. package/lib/adapters/csharp/CSharpDeclarationForm.js +2 -0
  95. package/lib/adapters/csharp/CSharpDocumentation.d.ts +12 -0
  96. package/lib/adapters/csharp/CSharpDocumentation.js +35 -0
  97. package/lib/adapters/csharp/CSharpFileScanner.d.ts +54 -0
  98. package/lib/adapters/csharp/CSharpFileScanner.js +403 -0
  99. package/lib/adapters/csharp/CSharpSyntax.d.ts +23 -0
  100. package/lib/adapters/csharp/CSharpSyntax.js +174 -0
  101. package/lib/adapters/csharp/CSharpTypeKind.d.ts +7 -0
  102. package/lib/adapters/csharp/CSharpTypeKind.js +2 -0
  103. package/lib/adapters/csharp/EvidenceCSharpAdapter.d.ts +15 -0
  104. package/lib/adapters/csharp/EvidenceCSharpAdapter.js +19 -0
  105. package/lib/adapters/csharp/ICSharpDeclaration.d.ts +63 -0
  106. package/lib/adapters/csharp/ICSharpDeclaration.js +2 -0
  107. package/lib/adapters/csharp/ICSharpDeclarationAddress.d.ts +22 -0
  108. package/lib/adapters/csharp/ICSharpDeclarationAddress.js +2 -0
  109. package/lib/adapters/csharp/ICSharpDeclarationGroup.d.ts +19 -0
  110. package/lib/adapters/csharp/ICSharpDeclarationGroup.js +2 -0
  111. package/lib/adapters/csharp/ICSharpDocumentation.d.ts +43 -0
  112. package/lib/adapters/csharp/ICSharpDocumentation.js +2 -0
  113. package/lib/adapters/csharp/ICSharpDocumentationAttachment.d.ts +25 -0
  114. package/lib/adapters/csharp/ICSharpDocumentationAttachment.js +2 -0
  115. package/lib/adapters/csharp/ICSharpFileAnalysis.d.ts +51 -0
  116. package/lib/adapters/csharp/ICSharpFileAnalysis.js +2 -0
  117. package/lib/adapters/csharp/ICSharpTypeContext.d.ts +41 -0
  118. package/lib/adapters/csharp/ICSharpTypeContext.js +2 -0
  119. package/lib/adapters/dart/DartAdapter.d.ts +96 -0
  120. package/lib/adapters/dart/DartAdapter.js +616 -0
  121. package/lib/adapters/dart/DartDocumentation.d.ts +16 -0
  122. package/lib/adapters/dart/DartDocumentation.js +73 -0
  123. package/lib/adapters/dart/DartFileScanner.d.ts +112 -0
  124. package/lib/adapters/dart/DartFileScanner.js +415 -0
  125. package/lib/adapters/dart/DartLibraries.d.ts +24 -0
  126. package/lib/adapters/dart/DartLibraries.js +228 -0
  127. package/lib/adapters/dart/EvidenceDartAdapter.d.ts +15 -0
  128. package/lib/adapters/dart/EvidenceDartAdapter.js +19 -0
  129. package/lib/adapters/dart/IDartDeclaration.d.ts +69 -0
  130. package/lib/adapters/dart/IDartDeclaration.js +2 -0
  131. package/lib/adapters/dart/IDartDirective.d.ts +53 -0
  132. package/lib/adapters/dart/IDartDirective.js +2 -0
  133. package/lib/adapters/dart/IDartDocumentation.d.ts +31 -0
  134. package/lib/adapters/dart/IDartDocumentation.js +2 -0
  135. package/lib/adapters/dart/IDartDocumentationAttachment.d.ts +23 -0
  136. package/lib/adapters/dart/IDartDocumentationAttachment.js +2 -0
  137. package/lib/adapters/dart/IDartExportFilter.d.ts +22 -0
  138. package/lib/adapters/dart/IDartExportFilter.js +2 -0
  139. package/lib/adapters/dart/IDartFileAnalysis.d.ts +55 -0
  140. package/lib/adapters/dart/IDartFileAnalysis.js +2 -0
  141. package/lib/adapters/dbml/DbmlDocumentation.d.ts +15 -0
  142. package/lib/adapters/dbml/DbmlDocumentation.js +49 -0
  143. package/lib/adapters/dbml/DbmlFileScanner.d.ts +114 -0
  144. package/lib/adapters/dbml/DbmlFileScanner.js +364 -0
  145. package/lib/adapters/dbml/EvidenceDbmlAdapter.d.ts +88 -0
  146. package/lib/adapters/dbml/EvidenceDbmlAdapter.js +674 -0
  147. package/lib/adapters/dbml/IDbmlDeclaration.d.ts +38 -0
  148. package/lib/adapters/dbml/IDbmlDeclaration.js +2 -0
  149. package/lib/adapters/dbml/IDbmlDocumentation.d.ts +34 -0
  150. package/lib/adapters/dbml/IDbmlDocumentation.js +2 -0
  151. package/lib/adapters/dbml/IDbmlEndpoint.d.ts +20 -0
  152. package/lib/adapters/dbml/IDbmlEndpoint.js +2 -0
  153. package/lib/adapters/dbml/IDbmlEnum.d.ts +27 -0
  154. package/lib/adapters/dbml/IDbmlEnum.js +2 -0
  155. package/lib/adapters/dbml/IDbmlFileAnalysis.d.ts +56 -0
  156. package/lib/adapters/dbml/IDbmlFileAnalysis.js +2 -0
  157. package/lib/adapters/dbml/IDbmlRelation.d.ts +56 -0
  158. package/lib/adapters/dbml/IDbmlRelation.js +2 -0
  159. package/lib/adapters/ecmascript/EcmaScriptAdapter.d.ts +71 -0
  160. package/lib/adapters/ecmascript/EcmaScriptAdapter.js +516 -0
  161. package/lib/adapters/ecmascript/EcmaScriptExportKind.d.ts +7 -0
  162. package/lib/adapters/ecmascript/EcmaScriptExportKind.js +2 -0
  163. package/lib/adapters/ecmascript/EcmaScriptExportResolver.d.ts +175 -0
  164. package/lib/adapters/ecmascript/EcmaScriptExportResolver.js +510 -0
  165. package/lib/adapters/ecmascript/EcmaScriptFileScanner.d.ts +84 -0
  166. package/lib/adapters/ecmascript/EcmaScriptFileScanner.js +946 -0
  167. package/lib/adapters/ecmascript/EcmaScriptModuleMode.d.ts +7 -0
  168. package/lib/adapters/ecmascript/EcmaScriptModuleMode.js +2 -0
  169. package/lib/adapters/ecmascript/EcmaScriptModuleResolver.d.ts +70 -0
  170. package/lib/adapters/ecmascript/EcmaScriptModuleResolver.js +211 -0
  171. package/lib/adapters/ecmascript/EcmaScriptSyntax.d.ts +24 -0
  172. package/lib/adapters/ecmascript/EcmaScriptSyntax.js +263 -0
  173. package/lib/adapters/ecmascript/EcmaScriptType.d.ts +7 -0
  174. package/lib/adapters/ecmascript/EcmaScriptType.js +2 -0
  175. package/lib/adapters/ecmascript/IEcmaScriptBinding.d.ts +29 -0
  176. package/lib/adapters/ecmascript/IEcmaScriptBinding.js +2 -0
  177. package/lib/adapters/ecmascript/IEcmaScriptComment.d.ts +39 -0
  178. package/lib/adapters/ecmascript/IEcmaScriptComment.js +2 -0
  179. package/lib/adapters/ecmascript/IEcmaScriptCommentAttachment.d.ts +24 -0
  180. package/lib/adapters/ecmascript/IEcmaScriptCommentAttachment.js +2 -0
  181. package/lib/adapters/ecmascript/IEcmaScriptExport.d.ts +51 -0
  182. package/lib/adapters/ecmascript/IEcmaScriptExport.js +2 -0
  183. package/lib/adapters/ecmascript/IEcmaScriptFileAnalysis.d.ts +56 -0
  184. package/lib/adapters/ecmascript/IEcmaScriptFileAnalysis.js +2 -0
  185. package/lib/adapters/ecmascript/IEcmaScriptHostPosition.d.ts +25 -0
  186. package/lib/adapters/ecmascript/IEcmaScriptHostPosition.js +2 -0
  187. package/lib/adapters/ecmascript/IEcmaScriptImport.d.ts +44 -0
  188. package/lib/adapters/ecmascript/IEcmaScriptImport.js +2 -0
  189. package/lib/adapters/ecmascript/IEcmaScriptModule.d.ts +55 -0
  190. package/lib/adapters/ecmascript/IEcmaScriptModule.js +2 -0
  191. package/lib/adapters/ecmascript/IEcmaScriptModuleResolution.d.ts +40 -0
  192. package/lib/adapters/ecmascript/IEcmaScriptModuleResolution.js +2 -0
  193. package/lib/adapters/ecmascript/IEcmaScriptOwnedUnit.d.ts +45 -0
  194. package/lib/adapters/ecmascript/IEcmaScriptOwnedUnit.js +2 -0
  195. package/lib/adapters/ecmascript/IEcmaScriptResolution.d.ts +31 -0
  196. package/lib/adapters/ecmascript/IEcmaScriptResolution.js +2 -0
  197. package/lib/adapters/ecmascript/IEcmaScriptStatementContext.d.ts +58 -0
  198. package/lib/adapters/ecmascript/IEcmaScriptStatementContext.js +2 -0
  199. package/lib/adapters/ecmascript/IJavaScriptPackageJson.d.ts +16 -0
  200. package/lib/adapters/ecmascript/IJavaScriptPackageJson.js +2 -0
  201. package/lib/adapters/go/EvidenceGoAdapter.d.ts +15 -0
  202. package/lib/adapters/go/EvidenceGoAdapter.js +19 -0
  203. package/lib/adapters/go/GoAdapter.d.ts +43 -0
  204. package/lib/adapters/go/GoAdapter.js +509 -0
  205. package/lib/adapters/go/GoDeclarationForm.d.ts +7 -0
  206. package/lib/adapters/go/GoDeclarationForm.js +2 -0
  207. package/lib/adapters/go/GoFileScanner.d.ts +57 -0
  208. package/lib/adapters/go/GoFileScanner.js +288 -0
  209. package/lib/adapters/go/GoPackageResolver.d.ts +147 -0
  210. package/lib/adapters/go/GoPackageResolver.js +306 -0
  211. package/lib/adapters/go/GoSyntax.d.ts +17 -0
  212. package/lib/adapters/go/GoSyntax.js +107 -0
  213. package/lib/adapters/go/IGoDeclaration.d.ts +53 -0
  214. package/lib/adapters/go/IGoDeclaration.js +2 -0
  215. package/lib/adapters/go/IGoDocumentation.d.ts +35 -0
  216. package/lib/adapters/go/IGoDocumentation.js +2 -0
  217. package/lib/adapters/go/IGoDocumentationAttachment.d.ts +20 -0
  218. package/lib/adapters/go/IGoDocumentationAttachment.js +2 -0
  219. package/lib/adapters/go/IGoFileAnalysis.d.ts +60 -0
  220. package/lib/adapters/go/IGoFileAnalysis.js +2 -0
  221. package/lib/adapters/go/IGoMaterializedDeclaration.d.ts +28 -0
  222. package/lib/adapters/go/IGoMaterializedDeclaration.js +2 -0
  223. package/lib/adapters/java/EvidenceJavaAdapter.d.ts +15 -0
  224. package/lib/adapters/java/EvidenceJavaAdapter.js +19 -0
  225. package/lib/adapters/java/IJavaDeclaration.d.ts +65 -0
  226. package/lib/adapters/java/IJavaDeclaration.js +2 -0
  227. package/lib/adapters/java/IJavaDocumentation.d.ts +35 -0
  228. package/lib/adapters/java/IJavaDocumentation.js +2 -0
  229. package/lib/adapters/java/IJavaDocumentationAttachment.d.ts +20 -0
  230. package/lib/adapters/java/IJavaDocumentationAttachment.js +2 -0
  231. package/lib/adapters/java/IJavaFileAnalysis.d.ts +42 -0
  232. package/lib/adapters/java/IJavaFileAnalysis.js +2 -0
  233. package/lib/adapters/java/IJavaTypeContext.d.ts +39 -0
  234. package/lib/adapters/java/IJavaTypeContext.js +2 -0
  235. package/lib/adapters/java/JavaAdapter.d.ts +45 -0
  236. package/lib/adapters/java/JavaAdapter.js +572 -0
  237. package/lib/adapters/java/JavaDeclarationForm.d.ts +7 -0
  238. package/lib/adapters/java/JavaDeclarationForm.js +2 -0
  239. package/lib/adapters/java/JavaDocumentation.d.ts +12 -0
  240. package/lib/adapters/java/JavaDocumentation.js +52 -0
  241. package/lib/adapters/java/JavaFileScanner.d.ts +51 -0
  242. package/lib/adapters/java/JavaFileScanner.js +317 -0
  243. package/lib/adapters/java/JavaSyntax.d.ts +18 -0
  244. package/lib/adapters/java/JavaSyntax.js +100 -0
  245. package/lib/adapters/java/JavaTypeKind.d.ts +7 -0
  246. package/lib/adapters/java/JavaTypeKind.js +2 -0
  247. package/lib/adapters/javascript/EvidenceJavaScriptAdapter.d.ts +26 -0
  248. package/lib/adapters/javascript/EvidenceJavaScriptAdapter.js +32 -0
  249. package/lib/adapters/kotlin/EvidenceKotlinAdapter.d.ts +15 -0
  250. package/lib/adapters/kotlin/EvidenceKotlinAdapter.js +19 -0
  251. package/lib/adapters/kotlin/IKotlinDeclaration.d.ts +77 -0
  252. package/lib/adapters/kotlin/IKotlinDeclaration.js +2 -0
  253. package/lib/adapters/kotlin/IKotlinDocumentation.d.ts +31 -0
  254. package/lib/adapters/kotlin/IKotlinDocumentation.js +2 -0
  255. package/lib/adapters/kotlin/IKotlinDocumentationAttachment.d.ts +23 -0
  256. package/lib/adapters/kotlin/IKotlinDocumentationAttachment.js +2 -0
  257. package/lib/adapters/kotlin/IKotlinFileAnalysis.d.ts +39 -0
  258. package/lib/adapters/kotlin/IKotlinFileAnalysis.js +2 -0
  259. package/lib/adapters/kotlin/IKotlinResolvedType.d.ts +23 -0
  260. package/lib/adapters/kotlin/IKotlinResolvedType.js +2 -0
  261. package/lib/adapters/kotlin/IKotlinTypeReference.d.ts +44 -0
  262. package/lib/adapters/kotlin/IKotlinTypeReference.js +2 -0
  263. package/lib/adapters/kotlin/KotlinAdapter.d.ts +114 -0
  264. package/lib/adapters/kotlin/KotlinAdapter.js +649 -0
  265. package/lib/adapters/kotlin/KotlinDocumentation.d.ts +18 -0
  266. package/lib/adapters/kotlin/KotlinDocumentation.js +80 -0
  267. package/lib/adapters/kotlin/KotlinFileScanner.d.ts +153 -0
  268. package/lib/adapters/kotlin/KotlinFileScanner.js +508 -0
  269. package/lib/adapters/kotlin/KotlinReceivers.d.ts +16 -0
  270. package/lib/adapters/kotlin/KotlinReceivers.js +104 -0
  271. package/lib/adapters/lua/EvidenceLuaAdapter.d.ts +16 -0
  272. package/lib/adapters/lua/EvidenceLuaAdapter.js +20 -0
  273. package/lib/adapters/lua/ILuaDeclaration.d.ts +54 -0
  274. package/lib/adapters/lua/ILuaDeclaration.js +2 -0
  275. package/lib/adapters/lua/ILuaDocumentation.d.ts +31 -0
  276. package/lib/adapters/lua/ILuaDocumentation.js +2 -0
  277. package/lib/adapters/lua/ILuaDocumentationAttachment.d.ts +23 -0
  278. package/lib/adapters/lua/ILuaDocumentationAttachment.js +2 -0
  279. package/lib/adapters/lua/ILuaFileAnalysis.d.ts +39 -0
  280. package/lib/adapters/lua/ILuaFileAnalysis.js +2 -0
  281. package/lib/adapters/lua/ILuaValue.d.ts +39 -0
  282. package/lib/adapters/lua/ILuaValue.js +2 -0
  283. package/lib/adapters/lua/LuaAdapter.d.ts +114 -0
  284. package/lib/adapters/lua/LuaAdapter.js +647 -0
  285. package/lib/adapters/lua/LuaDocumentation.d.ts +19 -0
  286. package/lib/adapters/lua/LuaDocumentation.js +79 -0
  287. package/lib/adapters/lua/LuaFileScanner.d.ts +167 -0
  288. package/lib/adapters/lua/LuaFileScanner.js +585 -0
  289. package/lib/adapters/markdown/EvidenceMarkdownAdapter.d.ts +28 -0
  290. package/lib/adapters/markdown/EvidenceMarkdownAdapter.js +296 -0
  291. package/lib/adapters/markdown/EvidenceMarkdownRenderedEdge.d.ts +7 -0
  292. package/lib/adapters/markdown/EvidenceMarkdownRenderedEdge.js +2 -0
  293. package/lib/adapters/markdown/IMarkdownComment.d.ts +31 -0
  294. package/lib/adapters/markdown/IMarkdownComment.js +2 -0
  295. package/lib/adapters/markdown/IMarkdownFence.d.ts +25 -0
  296. package/lib/adapters/markdown/IMarkdownFence.js +2 -0
  297. package/lib/adapters/markdown/IMarkdownHeading.d.ts +25 -0
  298. package/lib/adapters/markdown/IMarkdownHeading.js +2 -0
  299. package/lib/adapters/markdown/MarkdownScanner.d.ts +102 -0
  300. package/lib/adapters/markdown/MarkdownScanner.js +471 -0
  301. package/lib/adapters/markdown/MarkdownSyntax.d.ts +34 -0
  302. package/lib/adapters/markdown/MarkdownSyntax.js +234 -0
  303. package/lib/adapters/markdown/MarkdownTarget.d.ts +17 -0
  304. package/lib/adapters/markdown/MarkdownTarget.js +38 -0
  305. package/lib/adapters/matlab/EvidenceMatlabAdapter.d.ts +15 -0
  306. package/lib/adapters/matlab/EvidenceMatlabAdapter.js +19 -0
  307. package/lib/adapters/matlab/IMatlabDeclaration.d.ts +103 -0
  308. package/lib/adapters/matlab/IMatlabDeclaration.js +2 -0
  309. package/lib/adapters/matlab/IMatlabDocumentation.d.ts +35 -0
  310. package/lib/adapters/matlab/IMatlabDocumentation.js +2 -0
  311. package/lib/adapters/matlab/IMatlabDocumentationAttachment.d.ts +20 -0
  312. package/lib/adapters/matlab/IMatlabDocumentationAttachment.js +2 -0
  313. package/lib/adapters/matlab/IMatlabFileAnalysis.d.ts +43 -0
  314. package/lib/adapters/matlab/IMatlabFileAnalysis.js +2 -0
  315. package/lib/adapters/matlab/MatlabAdapter.d.ts +104 -0
  316. package/lib/adapters/matlab/MatlabAdapter.js +625 -0
  317. package/lib/adapters/matlab/MatlabDocumentation.d.ts +18 -0
  318. package/lib/adapters/matlab/MatlabDocumentation.js +78 -0
  319. package/lib/adapters/matlab/MatlabFileScanner.d.ts +118 -0
  320. package/lib/adapters/matlab/MatlabFileScanner.js +454 -0
  321. package/lib/adapters/matlab/MatlabOwnership.d.ts +17 -0
  322. package/lib/adapters/matlab/MatlabOwnership.js +139 -0
  323. package/lib/adapters/mysql/EvidenceMysqlAdapter.d.ts +16 -0
  324. package/lib/adapters/mysql/EvidenceMysqlAdapter.js +23 -0
  325. package/lib/adapters/mysql/MysqlDocumentation.d.ts +15 -0
  326. package/lib/adapters/mysql/MysqlDocumentation.js +40 -0
  327. package/lib/adapters/mysql/MysqlFileScanner.d.ts +16 -0
  328. package/lib/adapters/mysql/MysqlFileScanner.js +78 -0
  329. package/lib/adapters/mysql/MysqlIdentifier.d.ts +13 -0
  330. package/lib/adapters/mysql/MysqlIdentifier.js +30 -0
  331. package/lib/adapters/mysql/MysqlPolicy.d.ts +39 -0
  332. package/lib/adapters/mysql/MysqlPolicy.js +173 -0
  333. package/lib/adapters/objc/EvidenceObjcAdapter.d.ts +15 -0
  334. package/lib/adapters/objc/EvidenceObjcAdapter.js +19 -0
  335. package/lib/adapters/objc/IObjcDeclaration.d.ts +79 -0
  336. package/lib/adapters/objc/IObjcDeclaration.js +2 -0
  337. package/lib/adapters/objc/IObjcDocumentation.d.ts +35 -0
  338. package/lib/adapters/objc/IObjcDocumentation.js +2 -0
  339. package/lib/adapters/objc/IObjcDocumentationAttachment.d.ts +20 -0
  340. package/lib/adapters/objc/IObjcDocumentationAttachment.js +2 -0
  341. package/lib/adapters/objc/IObjcFileAnalysis.d.ts +43 -0
  342. package/lib/adapters/objc/IObjcFileAnalysis.js +2 -0
  343. package/lib/adapters/objc/ObjcAdapter.d.ts +100 -0
  344. package/lib/adapters/objc/ObjcAdapter.js +646 -0
  345. package/lib/adapters/objc/ObjcDeclarationForm.d.ts +7 -0
  346. package/lib/adapters/objc/ObjcDeclarationForm.js +2 -0
  347. package/lib/adapters/objc/ObjcDocumentation.d.ts +8 -0
  348. package/lib/adapters/objc/ObjcDocumentation.js +11 -0
  349. package/lib/adapters/objc/ObjcFileScanner.d.ts +123 -0
  350. package/lib/adapters/objc/ObjcFileScanner.js +461 -0
  351. package/lib/adapters/php/EvidencePhpAdapter.d.ts +15 -0
  352. package/lib/adapters/php/EvidencePhpAdapter.js +19 -0
  353. package/lib/adapters/php/IPhpDeclaration.d.ts +64 -0
  354. package/lib/adapters/php/IPhpDeclaration.js +2 -0
  355. package/lib/adapters/php/IPhpDocumentation.d.ts +35 -0
  356. package/lib/adapters/php/IPhpDocumentation.js +2 -0
  357. package/lib/adapters/php/IPhpDocumentationAttachment.d.ts +20 -0
  358. package/lib/adapters/php/IPhpDocumentationAttachment.js +2 -0
  359. package/lib/adapters/php/IPhpFileAnalysis.d.ts +48 -0
  360. package/lib/adapters/php/IPhpFileAnalysis.js +2 -0
  361. package/lib/adapters/php/PhpAdapter.d.ts +108 -0
  362. package/lib/adapters/php/PhpAdapter.js +670 -0
  363. package/lib/adapters/php/PhpDocumentation.d.ts +18 -0
  364. package/lib/adapters/php/PhpDocumentation.js +80 -0
  365. package/lib/adapters/php/PhpFileScanner.d.ts +79 -0
  366. package/lib/adapters/php/PhpFileScanner.js +346 -0
  367. package/lib/adapters/postgresql/EvidencePostgresqlAdapter.d.ts +26 -0
  368. package/lib/adapters/postgresql/EvidencePostgresqlAdapter.js +41 -0
  369. package/lib/adapters/postgresql/IPostgresqlFileAnalysis.d.ts +16 -0
  370. package/lib/adapters/postgresql/IPostgresqlFileAnalysis.js +2 -0
  371. package/lib/adapters/postgresql/IPostgresqlReference.d.ts +26 -0
  372. package/lib/adapters/postgresql/IPostgresqlReference.js +2 -0
  373. package/lib/adapters/postgresql/PostgresqlFileScanner.d.ts +103 -0
  374. package/lib/adapters/postgresql/PostgresqlFileScanner.js +431 -0
  375. package/lib/adapters/postgresql/PostgresqlFingerprint.d.ts +14 -0
  376. package/lib/adapters/postgresql/PostgresqlFingerprint.js +29 -0
  377. package/lib/adapters/postgresql/PostgresqlIdentity.d.ts +20 -0
  378. package/lib/adapters/postgresql/PostgresqlIdentity.js +41 -0
  379. package/lib/adapters/postgresql/PostgresqlOwnership.d.ts +14 -0
  380. package/lib/adapters/postgresql/PostgresqlOwnership.js +668 -0
  381. package/lib/adapters/prisma/EvidencePrismaAdapter.d.ts +57 -0
  382. package/lib/adapters/prisma/EvidencePrismaAdapter.js +603 -0
  383. package/lib/adapters/prisma/IPrismaBlockHead.d.ts +21 -0
  384. package/lib/adapters/prisma/IPrismaBlockHead.js +2 -0
  385. package/lib/adapters/prisma/IPrismaCacheEntry.d.ts +22 -0
  386. package/lib/adapters/prisma/IPrismaCacheEntry.js +2 -0
  387. package/lib/adapters/prisma/IPrismaCommentRun.d.ts +51 -0
  388. package/lib/adapters/prisma/IPrismaCommentRun.js +2 -0
  389. package/lib/adapters/prisma/IPrismaDatamodel.d.ts +15 -0
  390. package/lib/adapters/prisma/IPrismaDatamodel.js +2 -0
  391. package/lib/adapters/prisma/IPrismaDatamodelField.d.ts +26 -0
  392. package/lib/adapters/prisma/IPrismaDatamodelField.js +2 -0
  393. package/lib/adapters/prisma/IPrismaDatamodelModel.d.ts +29 -0
  394. package/lib/adapters/prisma/IPrismaDatamodelModel.js +2 -0
  395. package/lib/adapters/prisma/IPrismaField.d.ts +36 -0
  396. package/lib/adapters/prisma/IPrismaField.js +2 -0
  397. package/lib/adapters/prisma/IPrismaFileAnalysis.d.ts +31 -0
  398. package/lib/adapters/prisma/IPrismaFileAnalysis.js +2 -0
  399. package/lib/adapters/prisma/IPrismaLineParts.d.ts +26 -0
  400. package/lib/adapters/prisma/IPrismaLineParts.js +2 -0
  401. package/lib/adapters/prisma/IPrismaLoadResult.d.ts +22 -0
  402. package/lib/adapters/prisma/IPrismaLoadResult.js +2 -0
  403. package/lib/adapters/prisma/IPrismaLocatedDeclaration.d.ts +20 -0
  404. package/lib/adapters/prisma/IPrismaLocatedDeclaration.js +2 -0
  405. package/lib/adapters/prisma/IPrismaLocation.d.ts +22 -0
  406. package/lib/adapters/prisma/IPrismaLocation.js +2 -0
  407. package/lib/adapters/prisma/IPrismaModel.d.ts +36 -0
  408. package/lib/adapters/prisma/IPrismaModel.js +2 -0
  409. package/lib/adapters/prisma/IPrismaOwnedUnit.d.ts +37 -0
  410. package/lib/adapters/prisma/IPrismaOwnedUnit.js +2 -0
  411. package/lib/adapters/prisma/IPrismaParser.d.ts +28 -0
  412. package/lib/adapters/prisma/IPrismaParser.js +2 -0
  413. package/lib/adapters/prisma/IPrismaPendingComment.d.ts +52 -0
  414. package/lib/adapters/prisma/IPrismaPendingComment.js +2 -0
  415. package/lib/adapters/prisma/IPrismaSchemaFile.d.ts +22 -0
  416. package/lib/adapters/prisma/IPrismaSchemaFile.js +2 -0
  417. package/lib/adapters/prisma/ITrimmedMapping.d.ts +23 -0
  418. package/lib/adapters/prisma/ITrimmedMapping.js +2 -0
  419. package/lib/adapters/prisma/PrismaCommentForm.d.ts +7 -0
  420. package/lib/adapters/prisma/PrismaCommentForm.js +2 -0
  421. package/lib/adapters/prisma/PrismaFileScanner.d.ts +70 -0
  422. package/lib/adapters/prisma/PrismaFileScanner.js +361 -0
  423. package/lib/adapters/prisma/PrismaModelLoader.d.ts +12 -0
  424. package/lib/adapters/prisma/PrismaModelLoader.js +268 -0
  425. package/lib/adapters/prisma/PrismaSyntax.d.ts +9 -0
  426. package/lib/adapters/prisma/PrismaSyntax.js +27 -0
  427. package/lib/adapters/prisma/PrismaTarget.d.ts +10 -0
  428. package/lib/adapters/prisma/PrismaTarget.js +23 -0
  429. package/lib/adapters/python/EvidencePythonAdapter.d.ts +15 -0
  430. package/lib/adapters/python/EvidencePythonAdapter.js +19 -0
  431. package/lib/adapters/python/IPythonAll.d.ts +24 -0
  432. package/lib/adapters/python/IPythonAll.js +2 -0
  433. package/lib/adapters/python/IPythonBinding.d.ts +52 -0
  434. package/lib/adapters/python/IPythonBinding.js +2 -0
  435. package/lib/adapters/python/IPythonClassContext.d.ts +36 -0
  436. package/lib/adapters/python/IPythonClassContext.js +2 -0
  437. package/lib/adapters/python/IPythonDocumentation.d.ts +47 -0
  438. package/lib/adapters/python/IPythonDocumentation.js +2 -0
  439. package/lib/adapters/python/IPythonDocumentationAttachment.d.ts +31 -0
  440. package/lib/adapters/python/IPythonDocumentationAttachment.js +2 -0
  441. package/lib/adapters/python/IPythonFileAnalysis.d.ts +63 -0
  442. package/lib/adapters/python/IPythonFileAnalysis.js +2 -0
  443. package/lib/adapters/python/IPythonHostPosition.d.ts +33 -0
  444. package/lib/adapters/python/IPythonHostPosition.js +2 -0
  445. package/lib/adapters/python/IPythonModule.d.ts +42 -0
  446. package/lib/adapters/python/IPythonModule.js +2 -0
  447. package/lib/adapters/python/IPythonOwnedUnit.d.ts +30 -0
  448. package/lib/adapters/python/IPythonOwnedUnit.js +2 -0
  449. package/lib/adapters/python/IPythonResolution.d.ts +21 -0
  450. package/lib/adapters/python/IPythonResolution.js +2 -0
  451. package/lib/adapters/python/IPythonResolvedBinding.d.ts +20 -0
  452. package/lib/adapters/python/IPythonResolvedBinding.js +2 -0
  453. package/lib/adapters/python/PythonAdapter.d.ts +43 -0
  454. package/lib/adapters/python/PythonAdapter.js +488 -0
  455. package/lib/adapters/python/PythonAllState.d.ts +7 -0
  456. package/lib/adapters/python/PythonAllState.js +2 -0
  457. package/lib/adapters/python/PythonBindingKind.d.ts +7 -0
  458. package/lib/adapters/python/PythonBindingKind.js +2 -0
  459. package/lib/adapters/python/PythonExportResolver.d.ts +146 -0
  460. package/lib/adapters/python/PythonExportResolver.js +408 -0
  461. package/lib/adapters/python/PythonFileScanner.d.ts +367 -0
  462. package/lib/adapters/python/PythonFileScanner.js +1019 -0
  463. package/lib/adapters/python/PythonResolutionMode.d.ts +7 -0
  464. package/lib/adapters/python/PythonResolutionMode.js +2 -0
  465. package/lib/adapters/python/PythonSyntax.d.ts +115 -0
  466. package/lib/adapters/python/PythonSyntax.js +298 -0
  467. package/lib/adapters/ruby/EvidenceRubyAdapter.d.ts +15 -0
  468. package/lib/adapters/ruby/EvidenceRubyAdapter.js +19 -0
  469. package/lib/adapters/ruby/IRubyConstantPath.d.ts +20 -0
  470. package/lib/adapters/ruby/IRubyConstantPath.js +2 -0
  471. package/lib/adapters/ruby/IRubyDeclaration.d.ts +105 -0
  472. package/lib/adapters/ruby/IRubyDeclaration.js +2 -0
  473. package/lib/adapters/ruby/IRubyDocumentation.d.ts +42 -0
  474. package/lib/adapters/ruby/IRubyDocumentation.js +2 -0
  475. package/lib/adapters/ruby/IRubyDocumentationAttachment.d.ts +20 -0
  476. package/lib/adapters/ruby/IRubyDocumentationAttachment.js +2 -0
  477. package/lib/adapters/ruby/IRubyFileAnalysis.d.ts +42 -0
  478. package/lib/adapters/ruby/IRubyFileAnalysis.js +2 -0
  479. package/lib/adapters/ruby/IRubyScopeContext.d.ts +48 -0
  480. package/lib/adapters/ruby/IRubyScopeContext.js +2 -0
  481. package/lib/adapters/ruby/RubyAdapter.d.ts +50 -0
  482. package/lib/adapters/ruby/RubyAdapter.js +724 -0
  483. package/lib/adapters/ruby/RubyAttributeMode.d.ts +7 -0
  484. package/lib/adapters/ruby/RubyAttributeMode.js +2 -0
  485. package/lib/adapters/ruby/RubyContainerKind.d.ts +7 -0
  486. package/lib/adapters/ruby/RubyContainerKind.js +2 -0
  487. package/lib/adapters/ruby/RubyDeclarationForm.d.ts +7 -0
  488. package/lib/adapters/ruby/RubyDeclarationForm.js +2 -0
  489. package/lib/adapters/ruby/RubyFileScanner.d.ts +332 -0
  490. package/lib/adapters/ruby/RubyFileScanner.js +990 -0
  491. package/lib/adapters/ruby/RubyMethodSide.d.ts +7 -0
  492. package/lib/adapters/ruby/RubyMethodSide.js +2 -0
  493. package/lib/adapters/ruby/RubyScopeKind.d.ts +7 -0
  494. package/lib/adapters/ruby/RubyScopeKind.js +2 -0
  495. package/lib/adapters/ruby/RubySyntax.d.ts +81 -0
  496. package/lib/adapters/ruby/RubySyntax.js +202 -0
  497. package/lib/adapters/ruby/RubyVisibility.d.ts +7 -0
  498. package/lib/adapters/ruby/RubyVisibility.js +2 -0
  499. package/lib/adapters/rust/EvidenceRustAdapter.d.ts +15 -0
  500. package/lib/adapters/rust/EvidenceRustAdapter.js +19 -0
  501. package/lib/adapters/rust/IRustDeclaration.d.ts +72 -0
  502. package/lib/adapters/rust/IRustDeclaration.js +2 -0
  503. package/lib/adapters/rust/IRustDocumentation.d.ts +41 -0
  504. package/lib/adapters/rust/IRustDocumentation.js +2 -0
  505. package/lib/adapters/rust/IRustDocumentationAttachment.d.ts +20 -0
  506. package/lib/adapters/rust/IRustDocumentationAttachment.js +2 -0
  507. package/lib/adapters/rust/IRustExportRecord.d.ts +28 -0
  508. package/lib/adapters/rust/IRustExportRecord.js +2 -0
  509. package/lib/adapters/rust/IRustExternalModule.d.ts +32 -0
  510. package/lib/adapters/rust/IRustExternalModule.js +2 -0
  511. package/lib/adapters/rust/IRustFileAnalysis.d.ts +66 -0
  512. package/lib/adapters/rust/IRustFileAnalysis.js +2 -0
  513. package/lib/adapters/rust/IRustFilePlacement.d.ts +35 -0
  514. package/lib/adapters/rust/IRustFilePlacement.js +2 -0
  515. package/lib/adapters/rust/IRustImplementation.d.ts +38 -0
  516. package/lib/adapters/rust/IRustImplementation.js +2 -0
  517. package/lib/adapters/rust/IRustLocatedDeclaration.d.ts +35 -0
  518. package/lib/adapters/rust/IRustLocatedDeclaration.js +2 -0
  519. package/lib/adapters/rust/IRustModuleRecord.d.ts +62 -0
  520. package/lib/adapters/rust/IRustModuleRecord.js +2 -0
  521. package/lib/adapters/rust/IRustPublicOccurrence.d.ts +35 -0
  522. package/lib/adapters/rust/IRustPublicOccurrence.js +2 -0
  523. package/lib/adapters/rust/IRustResolvedMember.d.ts +34 -0
  524. package/lib/adapters/rust/IRustResolvedMember.js +2 -0
  525. package/lib/adapters/rust/IRustUse.d.ts +33 -0
  526. package/lib/adapters/rust/IRustUse.js +2 -0
  527. package/lib/adapters/rust/IRustUseBinding.d.ts +26 -0
  528. package/lib/adapters/rust/IRustUseBinding.js +2 -0
  529. package/lib/adapters/rust/RustAdapter.d.ts +43 -0
  530. package/lib/adapters/rust/RustAdapter.js +503 -0
  531. package/lib/adapters/rust/RustDeclarationForm.d.ts +7 -0
  532. package/lib/adapters/rust/RustDeclarationForm.js +2 -0
  533. package/lib/adapters/rust/RustFileScanner.d.ts +61 -0
  534. package/lib/adapters/rust/RustFileScanner.js +550 -0
  535. package/lib/adapters/rust/RustModuleResolver.d.ts +70 -0
  536. package/lib/adapters/rust/RustModuleResolver.js +716 -0
  537. package/lib/adapters/rust/RustSyntax.d.ts +93 -0
  538. package/lib/adapters/rust/RustSyntax.js +244 -0
  539. package/lib/adapters/rust/RustVisibility.d.ts +7 -0
  540. package/lib/adapters/rust/RustVisibility.js +2 -0
  541. package/lib/adapters/scala/EvidenceScalaAdapter.d.ts +15 -0
  542. package/lib/adapters/scala/EvidenceScalaAdapter.js +19 -0
  543. package/lib/adapters/scala/IScalaDeclaration.d.ts +78 -0
  544. package/lib/adapters/scala/IScalaDeclaration.js +2 -0
  545. package/lib/adapters/scala/IScalaDocumentation.d.ts +35 -0
  546. package/lib/adapters/scala/IScalaDocumentation.js +2 -0
  547. package/lib/adapters/scala/IScalaDocumentationAttachment.d.ts +22 -0
  548. package/lib/adapters/scala/IScalaDocumentationAttachment.js +2 -0
  549. package/lib/adapters/scala/IScalaExport.d.ts +29 -0
  550. package/lib/adapters/scala/IScalaExport.js +2 -0
  551. package/lib/adapters/scala/IScalaFileAnalysis.d.ts +50 -0
  552. package/lib/adapters/scala/IScalaFileAnalysis.js +2 -0
  553. package/lib/adapters/scala/ScalaAdapter.d.ts +100 -0
  554. package/lib/adapters/scala/ScalaAdapter.js +638 -0
  555. package/lib/adapters/scala/ScalaDocumentation.d.ts +16 -0
  556. package/lib/adapters/scala/ScalaDocumentation.js +77 -0
  557. package/lib/adapters/scala/ScalaExports.d.ts +16 -0
  558. package/lib/adapters/scala/ScalaExports.js +136 -0
  559. package/lib/adapters/scala/ScalaFileScanner.d.ts +111 -0
  560. package/lib/adapters/scala/ScalaFileScanner.js +434 -0
  561. package/lib/adapters/sql/EvidenceSqlAdapter.d.ts +13 -0
  562. package/lib/adapters/sql/EvidenceSqlAdapter.js +28 -0
  563. package/lib/adapters/sql/ISqlAdapterOptions.d.ts +33 -0
  564. package/lib/adapters/sql/ISqlAdapterOptions.js +2 -0
  565. package/lib/adapters/sql/ISqlDeclaration.d.ts +67 -0
  566. package/lib/adapters/sql/ISqlDeclaration.js +2 -0
  567. package/lib/adapters/sql/ISqlDocumentation.d.ts +40 -0
  568. package/lib/adapters/sql/ISqlDocumentation.js +2 -0
  569. package/lib/adapters/sql/ISqlDocumentationAttachment.d.ts +18 -0
  570. package/lib/adapters/sql/ISqlDocumentationAttachment.js +2 -0
  571. package/lib/adapters/sql/ISqlFileAnalysis.d.ts +41 -0
  572. package/lib/adapters/sql/ISqlFileAnalysis.js +2 -0
  573. package/lib/adapters/sql/ISqlPolicy.d.ts +43 -0
  574. package/lib/adapters/sql/ISqlPolicy.js +2 -0
  575. package/lib/adapters/sql/SqlAdapter.d.ts +123 -0
  576. package/lib/adapters/sql/SqlAdapter.js +658 -0
  577. package/lib/adapters/sql/SqlDocumentation.d.ts +16 -0
  578. package/lib/adapters/sql/SqlDocumentation.js +91 -0
  579. package/lib/adapters/sql/SqlFileScanner.d.ts +86 -0
  580. package/lib/adapters/sql/SqlFileScanner.js +299 -0
  581. package/lib/adapters/sql/SqlPolicy.d.ts +20 -0
  582. package/lib/adapters/sql/SqlPolicy.js +111 -0
  583. package/lib/adapters/sqlite/EvidenceSqliteAdapter.d.ts +16 -0
  584. package/lib/adapters/sqlite/EvidenceSqliteAdapter.js +26 -0
  585. package/lib/adapters/sqlite/SqliteFileScanner.d.ts +83 -0
  586. package/lib/adapters/sqlite/SqliteFileScanner.js +285 -0
  587. package/lib/adapters/sqlite/SqliteSyntax.d.ts +26 -0
  588. package/lib/adapters/sqlite/SqliteSyntax.js +49 -0
  589. package/lib/adapters/swagger/EvidenceSwaggerAdapter.d.ts +55 -0
  590. package/lib/adapters/swagger/EvidenceSwaggerAdapter.js +489 -0
  591. package/lib/adapters/swagger/IRemoteSwaggerSource.d.ts +19 -0
  592. package/lib/adapters/swagger/IRemoteSwaggerSource.js +2 -0
  593. package/lib/adapters/swagger/ISwaggerCacheEntry.d.ts +18 -0
  594. package/lib/adapters/swagger/ISwaggerCacheEntry.js +2 -0
  595. package/lib/adapters/swagger/ISwaggerLoadResult.d.ts +13 -0
  596. package/lib/adapters/swagger/ISwaggerLoadResult.js +2 -0
  597. package/lib/adapters/swagger/ISwaggerOperation.d.ts +42 -0
  598. package/lib/adapters/swagger/ISwaggerOperation.js +2 -0
  599. package/lib/adapters/swagger/ISwaggerOperationLocation.d.ts +21 -0
  600. package/lib/adapters/swagger/ISwaggerOperationLocation.js +2 -0
  601. package/lib/adapters/swagger/IYamlScalarMapping.d.ts +36 -0
  602. package/lib/adapters/swagger/IYamlScalarMapping.js +2 -0
  603. package/lib/adapters/swagger/SwaggerDescription.d.ts +18 -0
  604. package/lib/adapters/swagger/SwaggerDescription.js +62 -0
  605. package/lib/adapters/swagger/SwaggerDocumentInput.d.ts +8 -0
  606. package/lib/adapters/swagger/SwaggerDocumentInput.js +2 -0
  607. package/lib/adapters/swagger/SwaggerDocumentLoader.d.ts +15 -0
  608. package/lib/adapters/swagger/SwaggerDocumentLoader.js +6962 -0
  609. package/lib/adapters/swagger/SwaggerRemoteReader.d.ts +26 -0
  610. package/lib/adapters/swagger/SwaggerRemoteReader.js +89 -0
  611. package/lib/adapters/swagger/SwaggerTarget.d.ts +14 -0
  612. package/lib/adapters/swagger/SwaggerTarget.js +29 -0
  613. package/lib/adapters/swagger/YamlScalarMapper.d.ts +11 -0
  614. package/lib/adapters/swagger/YamlScalarMapper.js +76 -0
  615. package/lib/adapters/swift/EvidenceSwiftAdapter.d.ts +15 -0
  616. package/lib/adapters/swift/EvidenceSwiftAdapter.js +19 -0
  617. package/lib/adapters/swift/ISwiftDeclaration.d.ts +91 -0
  618. package/lib/adapters/swift/ISwiftDeclaration.js +2 -0
  619. package/lib/adapters/swift/ISwiftDocumentation.d.ts +35 -0
  620. package/lib/adapters/swift/ISwiftDocumentation.js +2 -0
  621. package/lib/adapters/swift/ISwiftDocumentationAttachment.d.ts +22 -0
  622. package/lib/adapters/swift/ISwiftDocumentationAttachment.js +2 -0
  623. package/lib/adapters/swift/ISwiftFileAnalysis.d.ts +43 -0
  624. package/lib/adapters/swift/ISwiftFileAnalysis.js +2 -0
  625. package/lib/adapters/swift/SwiftAdapter.d.ts +108 -0
  626. package/lib/adapters/swift/SwiftAdapter.js +666 -0
  627. package/lib/adapters/swift/SwiftDocumentation.d.ts +16 -0
  628. package/lib/adapters/swift/SwiftDocumentation.js +75 -0
  629. package/lib/adapters/swift/SwiftFileScanner.d.ts +87 -0
  630. package/lib/adapters/swift/SwiftFileScanner.js +341 -0
  631. package/lib/adapters/swift/SwiftOwnership.d.ts +16 -0
  632. package/lib/adapters/swift/SwiftOwnership.js +141 -0
  633. package/lib/adapters/typescript/EvidenceTypeScriptAdapter.d.ts +29 -0
  634. package/lib/adapters/typescript/EvidenceTypeScriptAdapter.js +35 -0
  635. package/lib/adapters/zig/EvidenceZigAdapter.d.ts +16 -0
  636. package/lib/adapters/zig/EvidenceZigAdapter.js +20 -0
  637. package/lib/adapters/zig/IZigDeclaration.d.ts +73 -0
  638. package/lib/adapters/zig/IZigDeclaration.js +2 -0
  639. package/lib/adapters/zig/IZigDocumentation.d.ts +35 -0
  640. package/lib/adapters/zig/IZigDocumentation.js +2 -0
  641. package/lib/adapters/zig/IZigDocumentationAttachment.d.ts +21 -0
  642. package/lib/adapters/zig/IZigDocumentationAttachment.js +2 -0
  643. package/lib/adapters/zig/IZigFileAnalysis.d.ts +47 -0
  644. package/lib/adapters/zig/IZigFileAnalysis.js +2 -0
  645. package/lib/adapters/zig/ZigAdapter.d.ts +114 -0
  646. package/lib/adapters/zig/ZigAdapter.js +647 -0
  647. package/lib/adapters/zig/ZigDocumentation.d.ts +18 -0
  648. package/lib/adapters/zig/ZigDocumentation.js +80 -0
  649. package/lib/adapters/zig/ZigFileScanner.d.ts +125 -0
  650. package/lib/adapters/zig/ZigFileScanner.js +538 -0
  651. package/lib/commands/EvidenceCommand.d.ts +70 -0
  652. package/lib/commands/EvidenceCommand.js +722 -0
  653. package/lib/commands/EvidenceCommandError.d.ts +16 -0
  654. package/lib/commands/EvidenceCommandError.js +23 -0
  655. package/lib/commands/EvidenceWatcher.d.ts +134 -0
  656. package/lib/commands/EvidenceWatcher.js +500 -0
  657. package/lib/contexts/EvidenceQueryPopulationContext.d.ts +102 -0
  658. package/lib/contexts/EvidenceQueryPopulationContext.js +166 -0
  659. package/lib/contexts/IEvidenceCheckContext.d.ts +26 -0
  660. package/lib/contexts/IEvidenceCheckContext.js +2 -0
  661. package/lib/contexts/IEvidenceClaimContext.d.ts +48 -0
  662. package/lib/contexts/IEvidenceClaimContext.js +2 -0
  663. package/lib/contexts/IEvidenceGraphClaimContext.d.ts +40 -0
  664. package/lib/contexts/IEvidenceGraphClaimContext.js +2 -0
  665. package/lib/contexts/IEvidenceGraphReferenceContext.d.ts +65 -0
  666. package/lib/contexts/IEvidenceGraphReferenceContext.js +2 -0
  667. package/lib/contexts/IEvidenceQueryContext.d.ts +32 -0
  668. package/lib/contexts/IEvidenceQueryContext.js +2 -0
  669. package/lib/contexts/IEvidenceTagContext.d.ts +64 -0
  670. package/lib/contexts/IEvidenceTagContext.js +2 -0
  671. package/lib/executable/evidence.d.ts +2 -0
  672. package/lib/executable/evidence.js +14 -0
  673. package/lib/graph/EvidenceFingerprint.d.ts +27 -0
  674. package/lib/graph/EvidenceFingerprint.js +37 -0
  675. package/lib/graph/EvidenceGraph.d.ts +56 -0
  676. package/lib/graph/EvidenceGraph.js +1944 -0
  677. package/lib/graph/EvidenceInventory.d.ts +146 -0
  678. package/lib/graph/EvidenceInventory.js +1165 -0
  679. package/lib/graph/EvidenceQuery.d.ts +86 -0
  680. package/lib/graph/EvidenceQuery.js +109 -0
  681. package/lib/index.d.ts +110 -0
  682. package/lib/index.js +154 -0
  683. package/lib/internal/CanonicalJson.d.ts +20 -0
  684. package/lib/internal/CanonicalJson.js +67 -0
  685. package/lib/internal/ConfigDependencyScanner.d.ts +40 -0
  686. package/lib/internal/ConfigDependencyScanner.js +330 -0
  687. package/lib/internal/EvidenceAdapterFactory.d.ts +15 -0
  688. package/lib/internal/EvidenceAdapterFactory.js +104 -0
  689. package/lib/internal/EvidenceArtifactTypes.d.ts +20 -0
  690. package/lib/internal/EvidenceArtifactTypes.js +41 -0
  691. package/lib/internal/EvidenceConfigFormat.d.ts +11 -0
  692. package/lib/internal/EvidenceConfigFormat.js +24 -0
  693. package/lib/internal/EvidenceFingerprintIndex.d.ts +49 -0
  694. package/lib/internal/EvidenceFingerprintIndex.js +201 -0
  695. package/lib/internal/EvidenceTargetApplicability.d.ts +16 -0
  696. package/lib/internal/EvidenceTargetApplicability.js +144 -0
  697. package/lib/internal/EvidenceTargetBody.d.ts +21 -0
  698. package/lib/internal/EvidenceTargetBody.js +66 -0
  699. package/lib/internal/FileGlob.d.ts +24 -0
  700. package/lib/internal/FileGlob.js +148 -0
  701. package/lib/internal/IConfigDependencyScan.d.ts +25 -0
  702. package/lib/internal/IConfigDependencyScan.js +2 -0
  703. package/lib/internal/IConfigPackageScope.d.ts +16 -0
  704. package/lib/internal/IConfigPackageScope.js +2 -0
  705. package/lib/internal/IEvaluateTypeScriptConfigOptions.d.ts +16 -0
  706. package/lib/internal/IEvaluateTypeScriptConfigOptions.js +2 -0
  707. package/lib/internal/IEvidenceMaterializedClaim.d.ts +47 -0
  708. package/lib/internal/IEvidenceMaterializedClaim.js +2 -0
  709. package/lib/internal/IEvidenceMaterializedReference.d.ts +31 -0
  710. package/lib/internal/IEvidenceMaterializedReference.js +2 -0
  711. package/lib/internal/IEvidenceQueryPopulation.d.ts +43 -0
  712. package/lib/internal/IEvidenceQueryPopulation.js +2 -0
  713. package/lib/internal/IEvidenceResolvedAcknowledgement.d.ts +30 -0
  714. package/lib/internal/IEvidenceResolvedAcknowledgement.js +2 -0
  715. package/lib/internal/IEvidenceResolvedReview.d.ts +30 -0
  716. package/lib/internal/IEvidenceResolvedReview.js +2 -0
  717. package/lib/internal/IEvidenceTargetBody.d.ts +22 -0
  718. package/lib/internal/IEvidenceTargetBody.js +2 -0
  719. package/lib/internal/IEvidenceTargetCandidate.d.ts +23 -0
  720. package/lib/internal/IEvidenceTargetCandidate.js +2 -0
  721. package/lib/internal/IEvidenceUnhostedChecklist.d.ts +38 -0
  722. package/lib/internal/IEvidenceUnhostedChecklist.js +2 -0
  723. package/lib/internal/IEvidenceWatchAttempt.d.ts +39 -0
  724. package/lib/internal/IEvidenceWatchAttempt.js +2 -0
  725. package/lib/internal/IFileGlobPattern.d.ts +22 -0
  726. package/lib/internal/IFileGlobPattern.js +2 -0
  727. package/lib/internal/IPackageManifest.d.ts +16 -0
  728. package/lib/internal/IPackageManifest.js +2 -0
  729. package/lib/internal/IPendingEvidenceTag.d.ts +36 -0
  730. package/lib/internal/IPendingEvidenceTag.js +2 -0
  731. package/lib/internal/ITreeSitterAssetLock.d.ts +23 -0
  732. package/lib/internal/ITreeSitterAssetLock.js +2 -0
  733. package/lib/internal/ITreeSitterAssetOptions.d.ts +51 -0
  734. package/lib/internal/ITreeSitterAssetOptions.js +2 -0
  735. package/lib/internal/ITreeSitterAssetPending.d.ts +29 -0
  736. package/lib/internal/ITreeSitterAssetPending.js +2 -0
  737. package/lib/internal/ITtsxExecutables.d.ts +16 -0
  738. package/lib/internal/ITtsxExecutables.js +2 -0
  739. package/lib/internal/ITtsxManifest.d.ts +17 -0
  740. package/lib/internal/ITtsxManifest.js +2 -0
  741. package/lib/internal/InventoryMerge.d.ts +53 -0
  742. package/lib/internal/InventoryMerge.js +317 -0
  743. package/lib/internal/InventorySources.d.ts +16 -0
  744. package/lib/internal/InventorySources.js +77 -0
  745. package/lib/internal/ParserSlots.d.ts +79 -0
  746. package/lib/internal/ParserSlots.js +113 -0
  747. package/lib/internal/SourceCollector.d.ts +62 -0
  748. package/lib/internal/SourceCollector.js +301 -0
  749. package/lib/internal/SourceFailure.d.ts +17 -0
  750. package/lib/internal/SourceFailure.js +23 -0
  751. package/lib/internal/SourcePath.d.ts +43 -0
  752. package/lib/internal/SourcePath.js +93 -0
  753. package/lib/internal/SourceText.d.ts +40 -0
  754. package/lib/internal/SourceText.js +81 -0
  755. package/lib/internal/TreeSitterAssetCache.d.ts +35 -0
  756. package/lib/internal/TreeSitterAssetCache.js +456 -0
  757. package/lib/internal/TreeSitterAssetScope.d.ts +23 -0
  758. package/lib/internal/TreeSitterAssetScope.js +40 -0
  759. package/lib/internal/TreeSitterAssets.d.ts +67 -0
  760. package/lib/internal/TreeSitterAssets.js +367 -0
  761. package/lib/internal/TreeSitterRange.d.ts +17 -0
  762. package/lib/internal/TreeSitterRange.js +33 -0
  763. package/lib/internal/TreeSitterRuntime.d.ts +17 -0
  764. package/lib/internal/TreeSitterRuntime.js +57 -0
  765. package/lib/internal/WatchDependencySet.d.ts +31 -0
  766. package/lib/internal/WatchDependencySet.js +59 -0
  767. package/lib/internal/WatchDependencySnapshot.d.ts +38 -0
  768. package/lib/internal/WatchDependencySnapshot.js +191 -0
  769. package/lib/internal/createEvidenceConfigPlan.d.ts +10 -0
  770. package/lib/internal/createEvidenceConfigPlan.js +90 -0
  771. package/lib/internal/evaluateTypeScriptConfig.d.ts +9 -0
  772. package/lib/internal/evaluateTypeScriptConfig.js +341 -0
  773. package/lib/internal/parser-grammars.json +452 -0
  774. package/lib/internal/validateEvidenceConfig.d.ts +8 -0
  775. package/lib/internal/validateEvidenceConfig.js +154 -0
  776. package/lib/loaders/EvidenceConfigLoader.d.ts +36 -0
  777. package/lib/loaders/EvidenceConfigLoader.js +557 -0
  778. package/lib/loaders/EvidenceSourceLoader.d.ts +35 -0
  779. package/lib/loaders/EvidenceSourceLoader.js +50 -0
  780. package/lib/parsers/EvidenceDocumentation.d.ts +20 -0
  781. package/lib/parsers/EvidenceDocumentation.js +77 -0
  782. package/lib/parsers/EvidenceLanguageRegistry.d.ts +49 -0
  783. package/lib/parsers/EvidenceLanguageRegistry.js +652 -0
  784. package/lib/parsers/EvidenceParseSession.d.ts +141 -0
  785. package/lib/parsers/EvidenceParseSession.js +193 -0
  786. package/lib/parsers/EvidenceParser.d.ts +109 -0
  787. package/lib/parsers/EvidenceParser.js +307 -0
  788. package/lib/parsers/EvidenceParserError.d.ts +71 -0
  789. package/lib/parsers/EvidenceParserError.js +63 -0
  790. package/lib/parsers/EvidenceTagParser.d.ts +56 -0
  791. package/lib/parsers/EvidenceTagParser.js +81 -0
  792. package/lib/programmers/EvidenceCheckProgrammer.d.ts +36 -0
  793. package/lib/programmers/EvidenceCheckProgrammer.js +446 -0
  794. package/lib/programmers/EvidenceQueryProgrammer.d.ts +69 -0
  795. package/lib/programmers/EvidenceQueryProgrammer.js +970 -0
  796. package/lib/programmers/EvidenceTagProgrammer.d.ts +25 -0
  797. package/lib/programmers/EvidenceTagProgrammer.js +252 -0
  798. package/lib/reporters/EvidenceGraphReporter.d.ts +39 -0
  799. package/lib/reporters/EvidenceGraphReporter.js +193 -0
  800. package/lib/reporters/EvidenceQueryReporter.d.ts +33 -0
  801. package/lib/reporters/EvidenceQueryReporter.js +181 -0
  802. package/lib/reporters/EvidenceReporter.d.ts +33 -0
  803. package/lib/reporters/EvidenceReporter.js +117 -0
  804. package/lib/reporters/EvidenceWatchReporter.d.ts +31 -0
  805. package/lib/reporters/EvidenceWatchReporter.js +46 -0
  806. package/lib/structures/IEvidenceAdapter.d.ts +39 -0
  807. package/lib/structures/IEvidenceAdapter.js +2 -0
  808. package/lib/structures/IEvidenceAddress.d.ts +29 -0
  809. package/lib/structures/IEvidenceAddress.js +2 -0
  810. package/lib/structures/IEvidenceCheckAnalysis.d.ts +37 -0
  811. package/lib/structures/IEvidenceCheckAnalysis.js +2 -0
  812. package/lib/structures/IEvidenceCheckClaim.d.ts +48 -0
  813. package/lib/structures/IEvidenceCheckClaim.js +2 -0
  814. package/lib/structures/IEvidenceCheckCommand.d.ts +47 -0
  815. package/lib/structures/IEvidenceCheckCommand.js +2 -0
  816. package/lib/structures/IEvidenceCheckCounts.d.ts +70 -0
  817. package/lib/structures/IEvidenceCheckCounts.js +2 -0
  818. package/lib/structures/IEvidenceCheckObligation.d.ts +67 -0
  819. package/lib/structures/IEvidenceCheckObligation.js +2 -0
  820. package/lib/structures/IEvidenceCheckReport.d.ts +74 -0
  821. package/lib/structures/IEvidenceCheckReport.js +2 -0
  822. package/lib/structures/IEvidenceClaim.d.ts +12 -0
  823. package/lib/structures/IEvidenceClaim.js +2 -0
  824. package/lib/structures/IEvidenceClaimBase.d.ts +111 -0
  825. package/lib/structures/IEvidenceClaimBase.js +2 -0
  826. package/lib/structures/IEvidenceCommand.d.ts +16 -0
  827. package/lib/structures/IEvidenceCommand.js +2 -0
  828. package/lib/structures/IEvidenceCommandFailure.d.ts +58 -0
  829. package/lib/structures/IEvidenceCommandFailure.js +2 -0
  830. package/lib/structures/IEvidenceCommandResult.d.ts +31 -0
  831. package/lib/structures/IEvidenceCommandResult.js +2 -0
  832. package/lib/structures/IEvidenceCommentSyntax.d.ts +42 -0
  833. package/lib/structures/IEvidenceCommentSyntax.js +2 -0
  834. package/lib/structures/IEvidenceConfig.d.ts +42 -0
  835. package/lib/structures/IEvidenceConfig.js +2 -0
  836. package/lib/structures/IEvidenceConfigPlan.d.ts +29 -0
  837. package/lib/structures/IEvidenceConfigPlan.js +2 -0
  838. package/lib/structures/IEvidenceConfigPlanClaim.d.ts +49 -0
  839. package/lib/structures/IEvidenceConfigPlanClaim.js +2 -0
  840. package/lib/structures/IEvidenceConfigPlanReference.d.ts +40 -0
  841. package/lib/structures/IEvidenceConfigPlanReference.js +2 -0
  842. package/lib/structures/IEvidenceDatabaseClaim.d.ts +26 -0
  843. package/lib/structures/IEvidenceDatabaseClaim.js +2 -0
  844. package/lib/structures/IEvidenceDatabaseLanguage.d.ts +37 -0
  845. package/lib/structures/IEvidenceDatabaseLanguage.js +2 -0
  846. package/lib/structures/IEvidenceDatabaseLanguageAdapter.d.ts +48 -0
  847. package/lib/structures/IEvidenceDatabaseLanguageAdapter.js +2 -0
  848. package/lib/structures/IEvidenceDatabaseReference.d.ts +20 -0
  849. package/lib/structures/IEvidenceDatabaseReference.js +2 -0
  850. package/lib/structures/IEvidenceDeclaration.d.ts +37 -0
  851. package/lib/structures/IEvidenceDeclaration.js +2 -0
  852. package/lib/structures/IEvidenceDiagnostic.d.ts +66 -0
  853. package/lib/structures/IEvidenceDiagnostic.js +2 -0
  854. package/lib/structures/IEvidenceDocumentation.d.ts +51 -0
  855. package/lib/structures/IEvidenceDocumentation.js +2 -0
  856. package/lib/structures/IEvidenceDocumentedConfig.d.ts +20 -0
  857. package/lib/structures/IEvidenceDocumentedConfig.js +2 -0
  858. package/lib/structures/IEvidenceFingerprint.d.ts +49 -0
  859. package/lib/structures/IEvidenceFingerprint.js +2 -0
  860. package/lib/structures/IEvidenceGrammar.d.ts +47 -0
  861. package/lib/structures/IEvidenceGrammar.js +2 -0
  862. package/lib/structures/IEvidenceGrammarAsset.d.ts +37 -0
  863. package/lib/structures/IEvidenceGrammarAsset.js +2 -0
  864. package/lib/structures/IEvidenceGraphBoundary.d.ts +73 -0
  865. package/lib/structures/IEvidenceGraphBoundary.js +2 -0
  866. package/lib/structures/IEvidenceGraphClaim.d.ts +65 -0
  867. package/lib/structures/IEvidenceGraphClaim.js +2 -0
  868. package/lib/structures/IEvidenceGraphClaimResult.d.ts +36 -0
  869. package/lib/structures/IEvidenceGraphClaimResult.js +2 -0
  870. package/lib/structures/IEvidenceGraphCommand.d.ts +40 -0
  871. package/lib/structures/IEvidenceGraphCommand.js +2 -0
  872. package/lib/structures/IEvidenceGraphEdge.d.ts +56 -0
  873. package/lib/structures/IEvidenceGraphEdge.js +2 -0
  874. package/lib/structures/IEvidenceGraphExportEdge.d.ts +71 -0
  875. package/lib/structures/IEvidenceGraphExportEdge.js +2 -0
  876. package/lib/structures/IEvidenceGraphExportReview.d.ts +55 -0
  877. package/lib/structures/IEvidenceGraphExportReview.js +2 -0
  878. package/lib/structures/IEvidenceGraphHostCoverage.d.ts +36 -0
  879. package/lib/structures/IEvidenceGraphHostCoverage.js +2 -0
  880. package/lib/structures/IEvidenceGraphHostNode.d.ts +46 -0
  881. package/lib/structures/IEvidenceGraphHostNode.js +2 -0
  882. package/lib/structures/IEvidenceGraphInput.d.ts +24 -0
  883. package/lib/structures/IEvidenceGraphInput.js +2 -0
  884. package/lib/structures/IEvidenceGraphNode.d.ts +82 -0
  885. package/lib/structures/IEvidenceGraphNode.js +2 -0
  886. package/lib/structures/IEvidenceGraphObligation.d.ts +79 -0
  887. package/lib/structures/IEvidenceGraphObligation.js +2 -0
  888. package/lib/structures/IEvidenceGraphPolicy.d.ts +53 -0
  889. package/lib/structures/IEvidenceGraphPolicy.js +2 -0
  890. package/lib/structures/IEvidenceGraphReference.d.ts +95 -0
  891. package/lib/structures/IEvidenceGraphReference.js +2 -0
  892. package/lib/structures/IEvidenceGraphReport.d.ts +84 -0
  893. package/lib/structures/IEvidenceGraphReport.js +2 -0
  894. package/lib/structures/IEvidenceGraphResolution.d.ts +22 -0
  895. package/lib/structures/IEvidenceGraphResolution.js +2 -0
  896. package/lib/structures/IEvidenceGraphResult.d.ts +37 -0
  897. package/lib/structures/IEvidenceGraphResult.js +2 -0
  898. package/lib/structures/IEvidenceGraphReviewResolution.d.ts +23 -0
  899. package/lib/structures/IEvidenceGraphReviewResolution.js +2 -0
  900. package/lib/structures/IEvidenceHelpCommand.d.ts +14 -0
  901. package/lib/structures/IEvidenceHelpCommand.js +2 -0
  902. package/lib/structures/IEvidenceHost.d.ts +78 -0
  903. package/lib/structures/IEvidenceHost.js +2 -0
  904. package/lib/structures/IEvidenceInitCommand.d.ts +26 -0
  905. package/lib/structures/IEvidenceInitCommand.js +2 -0
  906. package/lib/structures/IEvidenceInspectCommand.d.ts +46 -0
  907. package/lib/structures/IEvidenceInspectCommand.js +2 -0
  908. package/lib/structures/IEvidenceInspectReport.d.ts +70 -0
  909. package/lib/structures/IEvidenceInspectReport.js +2 -0
  910. package/lib/structures/IEvidenceInspectedAcknowledgement.d.ts +60 -0
  911. package/lib/structures/IEvidenceInspectedAcknowledgement.js +2 -0
  912. package/lib/structures/IEvidenceInspectedObligation.d.ts +61 -0
  913. package/lib/structures/IEvidenceInspectedObligation.js +2 -0
  914. package/lib/structures/IEvidenceInspectedReview.d.ts +48 -0
  915. package/lib/structures/IEvidenceInspectedReview.js +2 -0
  916. package/lib/structures/IEvidenceInspectedUnit.d.ts +36 -0
  917. package/lib/structures/IEvidenceInspectedUnit.js +2 -0
  918. package/lib/structures/IEvidenceInspection.d.ts +73 -0
  919. package/lib/structures/IEvidenceInspection.js +2 -0
  920. package/lib/structures/IEvidenceInventory.d.ts +114 -0
  921. package/lib/structures/IEvidenceInventory.js +2 -0
  922. package/lib/structures/IEvidenceLanguage.d.ts +37 -0
  923. package/lib/structures/IEvidenceLanguage.js +2 -0
  924. package/lib/structures/IEvidenceLanguageAdapter.d.ts +49 -0
  925. package/lib/structures/IEvidenceLanguageAdapter.js +2 -0
  926. package/lib/structures/IEvidenceLanguageCandidate.d.ts +94 -0
  927. package/lib/structures/IEvidenceLanguageCandidate.js +2 -0
  928. package/lib/structures/IEvidenceLanguageGrammar.d.ts +29 -0
  929. package/lib/structures/IEvidenceLanguageGrammar.js +2 -0
  930. package/lib/structures/IEvidenceLanguagesCommand.d.ts +33 -0
  931. package/lib/structures/IEvidenceLanguagesCommand.js +2 -0
  932. package/lib/structures/IEvidenceLanguagesReport.d.ts +36 -0
  933. package/lib/structures/IEvidenceLanguagesReport.js +2 -0
  934. package/lib/structures/IEvidenceListCommand.d.ts +55 -0
  935. package/lib/structures/IEvidenceListCommand.js +2 -0
  936. package/lib/structures/IEvidenceListItem.d.ts +69 -0
  937. package/lib/structures/IEvidenceListItem.js +2 -0
  938. package/lib/structures/IEvidenceListReport.d.ts +82 -0
  939. package/lib/structures/IEvidenceListReport.js +2 -0
  940. package/lib/structures/IEvidenceMarkdownClaim.d.ts +19 -0
  941. package/lib/structures/IEvidenceMarkdownClaim.js +2 -0
  942. package/lib/structures/IEvidenceMarkdownReference.d.ts +48 -0
  943. package/lib/structures/IEvidenceMarkdownReference.js +2 -0
  944. package/lib/structures/IEvidenceParserInput.d.ts +31 -0
  945. package/lib/structures/IEvidenceParserInput.js +2 -0
  946. package/lib/structures/IEvidenceParserOptions.d.ts +19 -0
  947. package/lib/structures/IEvidenceParserOptions.js +2 -0
  948. package/lib/structures/IEvidenceParserState.d.ts +34 -0
  949. package/lib/structures/IEvidenceParserState.js +2 -0
  950. package/lib/structures/IEvidencePopulation.d.ts +63 -0
  951. package/lib/structures/IEvidencePopulation.js +2 -0
  952. package/lib/structures/IEvidenceProgrammingClaim.d.ts +28 -0
  953. package/lib/structures/IEvidenceProgrammingClaim.js +2 -0
  954. package/lib/structures/IEvidenceProgrammingReference.d.ts +20 -0
  955. package/lib/structures/IEvidenceProgrammingReference.js +2 -0
  956. package/lib/structures/IEvidencePublicAddress.d.ts +21 -0
  957. package/lib/structures/IEvidencePublicAddress.js +2 -0
  958. package/lib/structures/IEvidenceQueryScope.d.ts +41 -0
  959. package/lib/structures/IEvidenceQueryScope.js +2 -0
  960. package/lib/structures/IEvidenceReference.d.ts +12 -0
  961. package/lib/structures/IEvidenceReference.js +2 -0
  962. package/lib/structures/IEvidenceReferenceBase.d.ts +107 -0
  963. package/lib/structures/IEvidenceReferenceBase.js +2 -0
  964. package/lib/structures/IEvidenceResolution.d.ts +32 -0
  965. package/lib/structures/IEvidenceResolution.js +2 -0
  966. package/lib/structures/IEvidenceReview.d.ts +50 -0
  967. package/lib/structures/IEvidenceReview.js +2 -0
  968. package/lib/structures/IEvidenceSourceAddress.d.ts +39 -0
  969. package/lib/structures/IEvidenceSourceAddress.js +2 -0
  970. package/lib/structures/IEvidenceSourceDependency.d.ts +24 -0
  971. package/lib/structures/IEvidenceSourceDependency.js +2 -0
  972. package/lib/structures/IEvidenceSourceDiagnostic.d.ts +30 -0
  973. package/lib/structures/IEvidenceSourceDiagnostic.js +2 -0
  974. package/lib/structures/IEvidenceSourceFile.d.ts +50 -0
  975. package/lib/structures/IEvidenceSourceFile.js +2 -0
  976. package/lib/structures/IEvidenceSourceLocation.d.ts +23 -0
  977. package/lib/structures/IEvidenceSourceLocation.js +2 -0
  978. package/lib/structures/IEvidenceSourcePosition.d.ts +36 -0
  979. package/lib/structures/IEvidenceSourcePosition.js +2 -0
  980. package/lib/structures/IEvidenceSourceRange.d.ts +28 -0
  981. package/lib/structures/IEvidenceSourceRange.js +2 -0
  982. package/lib/structures/IEvidenceSourceRoot.d.ts +38 -0
  983. package/lib/structures/IEvidenceSourceRoot.js +2 -0
  984. package/lib/structures/IEvidenceSourceSelection.d.ts +23 -0
  985. package/lib/structures/IEvidenceSourceSelection.js +2 -0
  986. package/lib/structures/IEvidenceSourceSnapshot.d.ts +53 -0
  987. package/lib/structures/IEvidenceSourceSnapshot.js +2 -0
  988. package/lib/structures/IEvidenceSupportedDatabaseLanguage.d.ts +36 -0
  989. package/lib/structures/IEvidenceSupportedDatabaseLanguage.js +2 -0
  990. package/lib/structures/IEvidenceSupportedLanguage.d.ts +36 -0
  991. package/lib/structures/IEvidenceSupportedLanguage.js +2 -0
  992. package/lib/structures/IEvidenceSwaggerClaim.d.ts +17 -0
  993. package/lib/structures/IEvidenceSwaggerClaim.js +2 -0
  994. package/lib/structures/IEvidenceSwaggerReference.d.ts +23 -0
  995. package/lib/structures/IEvidenceSwaggerReference.js +2 -0
  996. package/lib/structures/IEvidenceTagParseResult.d.ts +37 -0
  997. package/lib/structures/IEvidenceTagParseResult.js +2 -0
  998. package/lib/structures/IEvidenceTargetResolution.d.ts +51 -0
  999. package/lib/structures/IEvidenceTargetResolution.js +2 -0
  1000. package/lib/structures/IEvidenceTargetStatement.d.ts +32 -0
  1001. package/lib/structures/IEvidenceTargetStatement.js +2 -0
  1002. package/lib/structures/IEvidenceUnit.d.ts +96 -0
  1003. package/lib/structures/IEvidenceUnit.js +2 -0
  1004. package/lib/structures/IEvidenceUnitSite.d.ts +44 -0
  1005. package/lib/structures/IEvidenceUnitSite.js +2 -0
  1006. package/lib/structures/IEvidenceVersionCommand.d.ts +14 -0
  1007. package/lib/structures/IEvidenceVersionCommand.js +2 -0
  1008. package/lib/structures/IEvidenceWatchCheckCycle.d.ts +60 -0
  1009. package/lib/structures/IEvidenceWatchCheckCycle.js +2 -0
  1010. package/lib/structures/IEvidenceWatchFailureCycle.d.ts +70 -0
  1011. package/lib/structures/IEvidenceWatchFailureCycle.js +2 -0
  1012. package/lib/structures/IEvidenceWatchOptions.d.ts +37 -0
  1013. package/lib/structures/IEvidenceWatchOptions.js +2 -0
  1014. package/lib/structures/IEvidenceWithdrawal.d.ts +24 -0
  1015. package/lib/structures/IEvidenceWithdrawal.js +2 -0
  1016. package/lib/structures/index.d.ts +105 -0
  1017. package/lib/structures/index.js +2 -0
  1018. package/lib/targets/EvidenceAccessor.d.ts +31 -0
  1019. package/lib/targets/EvidenceAccessor.js +165 -0
  1020. package/lib/targets/EvidenceFileTarget.d.ts +41 -0
  1021. package/lib/targets/EvidenceFileTarget.js +122 -0
  1022. package/lib/targets/EvidenceTargetResolver.d.ts +174 -0
  1023. package/lib/targets/EvidenceTargetResolver.js +403 -0
  1024. package/lib/typings/EvidenceAcknowledgementKind.d.ts +7 -0
  1025. package/lib/typings/EvidenceAcknowledgementKind.js +2 -0
  1026. package/lib/typings/EvidenceActiveSeverity.d.ts +7 -0
  1027. package/lib/typings/EvidenceActiveSeverity.js +2 -0
  1028. package/lib/typings/EvidenceArtifactType.d.ts +10 -0
  1029. package/lib/typings/EvidenceArtifactType.js +2 -0
  1030. package/lib/typings/EvidenceCheckStatus.d.ts +8 -0
  1031. package/lib/typings/EvidenceCheckStatus.js +2 -0
  1032. package/lib/typings/EvidenceCommandExitCode.d.ts +8 -0
  1033. package/lib/typings/EvidenceCommandExitCode.js +2 -0
  1034. package/lib/typings/EvidenceDatabaseSymbol.d.ts +24 -0
  1035. package/lib/typings/EvidenceDatabaseSymbol.js +2 -0
  1036. package/lib/typings/EvidenceDatabaseType.d.ts +7 -0
  1037. package/lib/typings/EvidenceDatabaseType.js +2 -0
  1038. package/lib/typings/EvidenceGrammarWasmAvailability.d.ts +7 -0
  1039. package/lib/typings/EvidenceGrammarWasmAvailability.js +2 -0
  1040. package/lib/typings/EvidenceGraphFormat.d.ts +7 -0
  1041. package/lib/typings/EvidenceGraphFormat.js +2 -0
  1042. package/lib/typings/EvidenceGraphNode.d.ts +10 -0
  1043. package/lib/typings/EvidenceGraphNode.js +2 -0
  1044. package/lib/typings/EvidenceLanguageCandidateId.d.ts +7 -0
  1045. package/lib/typings/EvidenceLanguageCandidateId.js +2 -0
  1046. package/lib/typings/EvidenceLanguageCandidateKind.d.ts +7 -0
  1047. package/lib/typings/EvidenceLanguageCandidateKind.js +2 -0
  1048. package/lib/typings/EvidenceMarkdownSymbol.d.ts +22 -0
  1049. package/lib/typings/EvidenceMarkdownSymbol.js +2 -0
  1050. package/lib/typings/EvidenceParserErrorCode.d.ts +8 -0
  1051. package/lib/typings/EvidenceParserErrorCode.js +2 -0
  1052. package/lib/typings/EvidencePopulationRole.d.ts +7 -0
  1053. package/lib/typings/EvidencePopulationRole.js +2 -0
  1054. package/lib/typings/EvidenceProgrammingSymbol.d.ts +58 -0
  1055. package/lib/typings/EvidenceProgrammingSymbol.js +2 -0
  1056. package/lib/typings/EvidenceProgrammingType.d.ts +7 -0
  1057. package/lib/typings/EvidenceProgrammingType.js +2 -0
  1058. package/lib/typings/EvidenceQueryReport.d.ts +10 -0
  1059. package/lib/typings/EvidenceQueryReport.js +2 -0
  1060. package/lib/typings/EvidenceReportFormat.d.ts +7 -0
  1061. package/lib/typings/EvidenceReportFormat.js +2 -0
  1062. package/lib/typings/EvidenceSeverity.d.ts +7 -0
  1063. package/lib/typings/EvidenceSeverity.js +2 -0
  1064. package/lib/typings/EvidenceSymbol.d.ts +11 -0
  1065. package/lib/typings/EvidenceSymbol.js +2 -0
  1066. package/lib/typings/EvidenceTargetResolutionStatus.d.ts +8 -0
  1067. package/lib/typings/EvidenceTargetResolutionStatus.js +2 -0
  1068. package/lib/typings/EvidenceUnitSelection.d.ts +7 -0
  1069. package/lib/typings/EvidenceUnitSelection.js +2 -0
  1070. package/lib/typings/EvidenceWatchCycle.d.ts +9 -0
  1071. package/lib/typings/EvidenceWatchCycle.js +2 -0
  1072. package/lib/typings/EvidenceWatchPublisher.d.ts +8 -0
  1073. package/lib/typings/EvidenceWatchPublisher.js +2 -0
  1074. package/lib/typings/index.d.ts +25 -0
  1075. package/lib/typings/index.js +2 -0
  1076. package/package.json +66 -0
@@ -0,0 +1,1944 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.EvidenceGraph = void 0;
40
+ const _assertGuard_1 = __importStar(require("typia/lib/internal/_assertGuard"));
41
+ const _jsonStringifyString_1 = __importStar(require("typia/lib/internal/_jsonStringifyString"));
42
+ const _jsonStringifyNumber_1 = __importStar(require("typia/lib/internal/_jsonStringifyNumber"));
43
+ const _jsonStringifyTail_1 = __importStar(require("typia/lib/internal/_jsonStringifyTail"));
44
+ const _jsonStringifyArray_1 = __importStar(require("typia/lib/internal/_jsonStringifyArray"));
45
+ const typia_1 = __importDefault(require("typia"));
46
+ const EvidenceFileTarget_1 = require("../targets/EvidenceFileTarget");
47
+ const EvidenceInventory_1 = require("./EvidenceInventory");
48
+ const EvidenceFingerprintIndex_1 = require("../internal/EvidenceFingerprintIndex");
49
+ const InventoryMerge_1 = require("../internal/InventoryMerge");
50
+ /**
51
+ * Evaluates coverage and review policies over captured, materialized populations.
52
+ *
53
+ * The checker supplies inventories, selected unit IDs, target resolutions, and
54
+ * reference policies. This facade validates and captures that input; it does not
55
+ * load files or infer declarations. Each call creates a fresh evaluator and
56
+ * returns an owned result, isolating prior diagnostics and caller mutations.
57
+ *
58
+ * Evaluation preserves the following boundaries:
59
+ *
60
+ * 1. Each claim selects its own semantic hosts and exclusion carriers.
61
+ * 2. Each reference independently judges coverage, exclusions, cardinality,
62
+ * checklist answers, and review freshness, even when populations overlap.
63
+ * 3. Incomplete analysis remains a failure rather than a passing smaller graph.
64
+ * 4. Findings requiring cross-reference participation are finalized after all
65
+ * applicable references have been examined.
66
+ *
67
+ * @example
68
+ * const graph: EvidenceGraph = new EvidenceGraph(materializedInput);
69
+ * const first: IEvidenceGraphResult = graph.evaluate();
70
+ * const second: IEvidenceGraphResult = graph.evaluate();
71
+ * // The results have independent storage and no accumulated evaluator state.
72
+ */
73
+ class EvidenceGraph {
74
+ /**
75
+ * Validated input snapshot owned by this facade.
76
+ *
77
+ * Evaluators read this captured policy and inventory data. Neither later caller
78
+ * edits nor modifications to an earlier result can change the snapshot.
79
+ */
80
+ input;
81
+ /**
82
+ * Validates the input shape and captures an independent graph snapshot.
83
+ *
84
+ * Semantic inventory and resolution checks occur during evaluation so their
85
+ * findings can be reported in graph context. Construction performs no source IO.
86
+ */
87
+ constructor(input) {
88
+ this.input = structuredClone((() => {
89
+ const _ip0 = input => undefined === input["index"] || "number" === typeof input["index"];
90
+ const _ip1 = input => "error" === input["severity"] || "off" === input["severity"] || "warning" === input["severity"];
91
+ const _ip2 = input => "object" === typeof input["inventory"] && null !== input["inventory"] && _io2(input["inventory"]);
92
+ const _ip3 = input => Array.isArray(input["unitIds"]) && input["unitIds"].every(elem => "string" === typeof elem);
93
+ const _ip4 = input => Array.isArray(input["units"]) && input["units"].every(elem => "object" === typeof elem && null !== elem && _io8(elem));
94
+ const _ip5 = input => Array.isArray(input["diagnostics"]) && input["diagnostics"].every(elem => "object" === typeof elem && null !== elem && _io15(elem));
95
+ const _ip6 = input => "string" === typeof input["id"];
96
+ const _ip7 = input => "string" === typeof input["file"];
97
+ const _iv0 = new Set(["bigquery", "c", "cpp", "csharp", "dart", "dbml", "go", "java", "javascript", "kotlin", "lua", "markdown", "matlab", "mysql", "objc", "php", "postgresql", "prisma", "python", "ruby", "rust", "scala", "sql", "sqlite", "swagger", "swift", "typescript", "zig"]);
98
+ const _iv1 = new Set(["column", "file", "function", "h1", "h2", "h3", "h4", "model", "operation", "property", "relation", "type"]);
99
+ const _ip8 = input => Array.isArray(input["withdrawals"]) && input["withdrawals"].every(elem => "object" === typeof elem && null !== elem && _io10(elem));
100
+ const _ip9 = input => "object" === typeof input["range"] && null !== input["range"] && _io6(input["range"]);
101
+ const _ip10 = input => "object" === typeof input["location"] && null !== input["location"] && _io5(input["location"]);
102
+ const _ip11 = input => Array.isArray(input["segments"]) && input["segments"].every(elem => "string" === typeof elem);
103
+ const _ip12 = input => "string" === typeof input["hostId"];
104
+ const _ip13 = input => "string" === typeof input["target"];
105
+ const _ip14 = input => "object" === typeof input["resolution"] && null !== input["resolution"] && _io19(input["resolution"]);
106
+ const _ap0 = (input, _path, _exceptionable = true) => undefined === input["index"] || "number" === typeof input["index"] || _assertGuard_1._assertGuard(_exceptionable, {
107
+ method: "typia.assert",
108
+ path: _path + ".index",
109
+ expected: "(number | undefined)",
110
+ value: input["index"]
111
+ }, _errorFactory);
112
+ const _ap1 = (input, _path, _exceptionable = true) => "error" === input["severity"] || "off" === input["severity"] || "warning" === input["severity"] || _assertGuard_1._assertGuard(_exceptionable, {
113
+ method: "typia.assert",
114
+ path: _path + ".severity",
115
+ expected: "(\"error\" | \"off\" | \"warning\")",
116
+ value: input["severity"]
117
+ }, _errorFactory);
118
+ const _ap2 = (input, _path, _exceptionable = true) => ("object" === typeof input["inventory"] && null !== input["inventory"] || _assertGuard_1._assertGuard(_exceptionable, {
119
+ method: "typia.assert",
120
+ path: _path + ".inventory",
121
+ expected: "IEvidenceInventory",
122
+ value: input["inventory"]
123
+ }, _errorFactory)) && _ao2(input["inventory"], _path + ".inventory", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
124
+ method: "typia.assert",
125
+ path: _path + ".inventory",
126
+ expected: "IEvidenceInventory",
127
+ value: input["inventory"]
128
+ }, _errorFactory);
129
+ const _ap3 = (input, _path, _exceptionable = true) => (Array.isArray(input["unitIds"]) || _assertGuard_1._assertGuard(_exceptionable, {
130
+ method: "typia.assert",
131
+ path: _path + ".unitIds",
132
+ expected: "Array<string>",
133
+ value: input["unitIds"]
134
+ }, _errorFactory)) && input["unitIds"].every((elem, _index25) => "string" === typeof elem || _assertGuard_1._assertGuard(_exceptionable, {
135
+ method: "typia.assert",
136
+ path: _path + ".unitIds[" + _index25 + "]",
137
+ expected: "string",
138
+ value: elem
139
+ }, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
140
+ method: "typia.assert",
141
+ path: _path + ".unitIds",
142
+ expected: "Array<string>",
143
+ value: input["unitIds"]
144
+ }, _errorFactory);
145
+ const _ap4 = (input, _path, _exceptionable = true) => (Array.isArray(input["units"]) || _assertGuard_1._assertGuard(_exceptionable, {
146
+ method: "typia.assert",
147
+ path: _path + ".units",
148
+ expected: "Array<IEvidenceUnit>",
149
+ value: input["units"]
150
+ }, _errorFactory)) && input["units"].every((elem, _index30) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
151
+ method: "typia.assert",
152
+ path: _path + ".units[" + _index30 + "]",
153
+ expected: "IEvidenceUnit",
154
+ value: elem
155
+ }, _errorFactory)) && _ao8(elem, _path + ".units[" + _index30 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
156
+ method: "typia.assert",
157
+ path: _path + ".units[" + _index30 + "]",
158
+ expected: "IEvidenceUnit",
159
+ value: elem
160
+ }, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
161
+ method: "typia.assert",
162
+ path: _path + ".units",
163
+ expected: "Array<IEvidenceUnit>",
164
+ value: input["units"]
165
+ }, _errorFactory);
166
+ const _ap5 = (input, _path, _exceptionable = true) => (Array.isArray(input["diagnostics"]) || _assertGuard_1._assertGuard(_exceptionable, {
167
+ method: "typia.assert",
168
+ path: _path + ".diagnostics",
169
+ expected: "Array<IEvidenceDiagnostic>",
170
+ value: input["diagnostics"]
171
+ }, _errorFactory)) && input["diagnostics"].every((elem, _index35) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
172
+ method: "typia.assert",
173
+ path: _path + ".diagnostics[" + _index35 + "]",
174
+ expected: "IEvidenceDiagnostic",
175
+ value: elem
176
+ }, _errorFactory)) && _ao15(elem, _path + ".diagnostics[" + _index35 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
177
+ method: "typia.assert",
178
+ path: _path + ".diagnostics[" + _index35 + "]",
179
+ expected: "IEvidenceDiagnostic",
180
+ value: elem
181
+ }, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
182
+ method: "typia.assert",
183
+ path: _path + ".diagnostics",
184
+ expected: "Array<IEvidenceDiagnostic>",
185
+ value: input["diagnostics"]
186
+ }, _errorFactory);
187
+ const _ap6 = (input, _path, _exceptionable = true) => "string" === typeof input["id"] || _assertGuard_1._assertGuard(_exceptionable, {
188
+ method: "typia.assert",
189
+ path: _path + ".id",
190
+ expected: "string",
191
+ value: input["id"]
192
+ }, _errorFactory);
193
+ const _ap7 = (input, _path, _exceptionable = true) => "string" === typeof input["file"] || _assertGuard_1._assertGuard(_exceptionable, {
194
+ method: "typia.assert",
195
+ path: _path + ".file",
196
+ expected: "string",
197
+ value: input["file"]
198
+ }, _errorFactory);
199
+ const _av0 = new Set(["bigquery", "c", "cpp", "csharp", "dart", "dbml", "go", "java", "javascript", "kotlin", "lua", "markdown", "matlab", "mysql", "objc", "php", "postgresql", "prisma", "python", "ruby", "rust", "scala", "sql", "sqlite", "swagger", "swift", "typescript", "zig"]);
200
+ const _ae0 = "(\"bigquery\" | \"c\" | \"cpp\" | \"csharp\" | \"dart\" | \"dbml\" | \"go\" | \"java\" | \"javascript\" | \"kotlin\" | \"lua\" | \"markdown\" | \"matlab\" | \"mysql\" | \"objc\" | \"php\" | \"postgresql\" | \"prisma\" | \"python\" | \"ruby\" | \"rust\" | \"scala\" | \"sql\" | \"sqlite\" | \"swagger\" | \"swift\" | \"typescript\" | \"zig\")";
201
+ const _av1 = new Set(["column", "file", "function", "h1", "h2", "h3", "h4", "model", "operation", "property", "relation", "type"]);
202
+ const _ap8 = (input, _path, _exceptionable = true) => (Array.isArray(input["withdrawals"]) || _assertGuard_1._assertGuard(_exceptionable, {
203
+ method: "typia.assert",
204
+ path: _path + ".withdrawals",
205
+ expected: "Array<IEvidenceWithdrawal>",
206
+ value: input["withdrawals"]
207
+ }, _errorFactory)) && input["withdrawals"].every((elem, _index40) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
208
+ method: "typia.assert",
209
+ path: _path + ".withdrawals[" + _index40 + "]",
210
+ expected: "IEvidenceWithdrawal",
211
+ value: elem
212
+ }, _errorFactory)) && _ao10(elem, _path + ".withdrawals[" + _index40 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
213
+ method: "typia.assert",
214
+ path: _path + ".withdrawals[" + _index40 + "]",
215
+ expected: "IEvidenceWithdrawal",
216
+ value: elem
217
+ }, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
218
+ method: "typia.assert",
219
+ path: _path + ".withdrawals",
220
+ expected: "Array<IEvidenceWithdrawal>",
221
+ value: input["withdrawals"]
222
+ }, _errorFactory);
223
+ const _ap9 = (input, _path, _exceptionable = true) => ("object" === typeof input["range"] && null !== input["range"] || _assertGuard_1._assertGuard(_exceptionable, {
224
+ method: "typia.assert",
225
+ path: _path + ".range",
226
+ expected: "IEvidenceSourceRange",
227
+ value: input["range"]
228
+ }, _errorFactory)) && _ao6(input["range"], _path + ".range", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
229
+ method: "typia.assert",
230
+ path: _path + ".range",
231
+ expected: "IEvidenceSourceRange",
232
+ value: input["range"]
233
+ }, _errorFactory);
234
+ const _ap10 = (input, _path, _exceptionable = true) => ("object" === typeof input["location"] && null !== input["location"] || _assertGuard_1._assertGuard(_exceptionable, {
235
+ method: "typia.assert",
236
+ path: _path + ".location",
237
+ expected: "IEvidenceSourceLocation",
238
+ value: input["location"]
239
+ }, _errorFactory)) && _ao5(input["location"], _path + ".location", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
240
+ method: "typia.assert",
241
+ path: _path + ".location",
242
+ expected: "IEvidenceSourceLocation",
243
+ value: input["location"]
244
+ }, _errorFactory);
245
+ const _ap11 = (input, _path, _exceptionable = true) => (Array.isArray(input["segments"]) || _assertGuard_1._assertGuard(_exceptionable, {
246
+ method: "typia.assert",
247
+ path: _path + ".segments",
248
+ expected: "Array<string>",
249
+ value: input["segments"]
250
+ }, _errorFactory)) && input["segments"].every((elem, _index42) => "string" === typeof elem || _assertGuard_1._assertGuard(_exceptionable, {
251
+ method: "typia.assert",
252
+ path: _path + ".segments[" + _index42 + "]",
253
+ expected: "string",
254
+ value: elem
255
+ }, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
256
+ method: "typia.assert",
257
+ path: _path + ".segments",
258
+ expected: "Array<string>",
259
+ value: input["segments"]
260
+ }, _errorFactory);
261
+ const _ap12 = (input, _path, _exceptionable = true) => "string" === typeof input["hostId"] || _assertGuard_1._assertGuard(_exceptionable, {
262
+ method: "typia.assert",
263
+ path: _path + ".hostId",
264
+ expected: "string",
265
+ value: input["hostId"]
266
+ }, _errorFactory);
267
+ const _ap13 = (input, _path, _exceptionable = true) => "string" === typeof input["target"] || _assertGuard_1._assertGuard(_exceptionable, {
268
+ method: "typia.assert",
269
+ path: _path + ".target",
270
+ expected: "string",
271
+ value: input["target"]
272
+ }, _errorFactory);
273
+ const _ap14 = (input, _path, _exceptionable = true) => ("object" === typeof input["resolution"] && null !== input["resolution"] || _assertGuard_1._assertGuard(_exceptionable, {
274
+ method: "typia.assert",
275
+ path: _path + ".resolution",
276
+ expected: "IEvidenceTargetResolution",
277
+ value: input["resolution"]
278
+ }, _errorFactory)) && _ao19(input["resolution"], _path + ".resolution", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
279
+ method: "typia.assert",
280
+ path: _path + ".resolution",
281
+ expected: "IEvidenceTargetResolution",
282
+ value: input["resolution"]
283
+ }, _errorFactory);
284
+ const _ae1 = "(\"ambiguous\" | \"hidden\" | \"incomplete\" | \"malformed\" | \"missing-file\" | \"missing-member\" | \"out-of-population\" | \"resolved\" | \"unsupported-host\")";
285
+ const _ao0 = (input, _path, _exceptionable = true) => (Array.isArray(input.claims) || _assertGuard_1._assertGuard(_exceptionable, {
286
+ method: "typia.assert",
287
+ path: _path + ".claims",
288
+ expected: "Array<IEvidenceGraphClaim>",
289
+ value: input.claims
290
+ }, _errorFactory)) && input.claims.every((elem, _index24) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
291
+ method: "typia.assert",
292
+ path: _path + ".claims[" + _index24 + "]",
293
+ expected: "IEvidenceGraphClaim",
294
+ value: elem
295
+ }, _errorFactory)) && _ao1(elem, _path + ".claims[" + _index24 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
296
+ method: "typia.assert",
297
+ path: _path + ".claims[" + _index24 + "]",
298
+ expected: "IEvidenceGraphClaim",
299
+ value: elem
300
+ }, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
301
+ method: "typia.assert",
302
+ path: _path + ".claims",
303
+ expected: "Array<IEvidenceGraphClaim>",
304
+ value: input.claims
305
+ }, _errorFactory);
306
+ const _ao1 = (input, _path, _exceptionable = true) => _ap0(input, _path, true && _exceptionable) && (undefined === input.name || "string" === typeof input.name || _assertGuard_1._assertGuard(_exceptionable, {
307
+ method: "typia.assert",
308
+ path: _path + ".name",
309
+ expected: "(string | undefined)",
310
+ value: input.name
311
+ }, _errorFactory)) && _ap1(input, _path, true && _exceptionable) && _ap2(input, _path, true && _exceptionable) && _ap3(input, _path, true && _exceptionable) && (undefined === input.exclusionHostIds || (Array.isArray(input.exclusionHostIds) || _assertGuard_1._assertGuard(_exceptionable, {
312
+ method: "typia.assert",
313
+ path: _path + ".exclusionHostIds",
314
+ expected: "(Array<string> | undefined)",
315
+ value: input.exclusionHostIds
316
+ }, _errorFactory)) && input.exclusionHostIds.every((elem, _index26) => "string" === typeof elem || _assertGuard_1._assertGuard(_exceptionable, {
317
+ method: "typia.assert",
318
+ path: _path + ".exclusionHostIds[" + _index26 + "]",
319
+ expected: "string",
320
+ value: elem
321
+ }, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
322
+ method: "typia.assert",
323
+ path: _path + ".exclusionHostIds",
324
+ expected: "(Array<string> | undefined)",
325
+ value: input.exclusionHostIds
326
+ }, _errorFactory)) && ((Array.isArray(input.references) || _assertGuard_1._assertGuard(_exceptionable, {
327
+ method: "typia.assert",
328
+ path: _path + ".references",
329
+ expected: "Array<IEvidenceGraphReference>",
330
+ value: input.references
331
+ }, _errorFactory)) && input.references.every((elem, _index27) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
332
+ method: "typia.assert",
333
+ path: _path + ".references[" + _index27 + "]",
334
+ expected: "IEvidenceGraphReference",
335
+ value: elem
336
+ }, _errorFactory)) && _ao17(elem, _path + ".references[" + _index27 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
337
+ method: "typia.assert",
338
+ path: _path + ".references[" + _index27 + "]",
339
+ expected: "IEvidenceGraphReference",
340
+ value: elem
341
+ }, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
342
+ method: "typia.assert",
343
+ path: _path + ".references",
344
+ expected: "Array<IEvidenceGraphReference>",
345
+ value: input.references
346
+ }, _errorFactory));
347
+ const _ao10 = (input, _path, _exceptionable = true) => ("hidden" === input.tag || "ignore" === input.tag || "internal" === input.tag || _assertGuard_1._assertGuard(_exceptionable, {
348
+ method: "typia.assert",
349
+ path: _path + ".tag",
350
+ expected: "(\"hidden\" | \"ignore\" | \"internal\")",
351
+ value: input.tag
352
+ }, _errorFactory)) && _ap10(input, _path, true && _exceptionable);
353
+ const _ao11 = (input, _path, _exceptionable = true) => _ap7(input, _path, true && _exceptionable) && _ap11(input, _path, true && _exceptionable) && ("string" === typeof input.unitId || _assertGuard_1._assertGuard(_exceptionable, {
354
+ method: "typia.assert",
355
+ path: _path + ".unitId",
356
+ expected: "string",
357
+ value: input.unitId
358
+ }, _errorFactory));
359
+ const _ao12 = (input, _path, _exceptionable = true) => _ap6(input, _path, true && _exceptionable) && _ap7(input, _path, true && _exceptionable) && _ap9(input, _path, true && _exceptionable) && (undefined === input.origins || (Array.isArray(input.origins) || _assertGuard_1._assertGuard(_exceptionable, {
360
+ method: "typia.assert",
361
+ path: _path + ".origins",
362
+ expected: "(Array<string> | undefined)",
363
+ value: input.origins
364
+ }, _errorFactory)) && input.origins.every((elem, _index43) => "string" === typeof elem || _assertGuard_1._assertGuard(_exceptionable, {
365
+ method: "typia.assert",
366
+ path: _path + ".origins[" + _index43 + "]",
367
+ expected: "string",
368
+ value: elem
369
+ }, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
370
+ method: "typia.assert",
371
+ path: _path + ".origins",
372
+ expected: "(Array<string> | undefined)",
373
+ value: input.origins
374
+ }, _errorFactory)) && (undefined === input.siteId || "string" === typeof input.siteId || _assertGuard_1._assertGuard(_exceptionable, {
375
+ method: "typia.assert",
376
+ path: _path + ".siteId",
377
+ expected: "(string | undefined)",
378
+ value: input.siteId
379
+ }, _errorFactory)) && _ap3(input, _path, true && _exceptionable) && ("attached" === input.attachment || "unattached" === input.attachment || "unsupported" === input.attachment || _assertGuard_1._assertGuard(_exceptionable, {
380
+ method: "typia.assert",
381
+ path: _path + ".attachment",
382
+ expected: "(\"attached\" | \"unattached\" | \"unsupported\")",
383
+ value: input.attachment
384
+ }, _errorFactory)) && (undefined === input.problem || "string" === typeof input.problem || _assertGuard_1._assertGuard(_exceptionable, {
385
+ method: "typia.assert",
386
+ path: _path + ".problem",
387
+ expected: "(string | undefined)",
388
+ value: input.problem
389
+ }, _errorFactory));
390
+ const _ao13 = (input, _path, _exceptionable = true) => _ap12(input, _path, true && _exceptionable) && _ap13(input, _path, true && _exceptionable) && _ap10(input, _path, true && _exceptionable) && _ap6(input, _path, true && _exceptionable) && ("evidence" === input.kind || "evidenceExclude" === input.kind || _assertGuard_1._assertGuard(_exceptionable, {
391
+ method: "typia.assert",
392
+ path: _path + ".kind",
393
+ expected: "(\"evidence\" | \"evidenceExclude\")",
394
+ value: input.kind
395
+ }, _errorFactory)) && ("string" === typeof input.reason || _assertGuard_1._assertGuard(_exceptionable, {
396
+ method: "typia.assert",
397
+ path: _path + ".reason",
398
+ expected: "string",
399
+ value: input.reason
400
+ }, _errorFactory));
401
+ const _ao14 = (input, _path, _exceptionable = true) => _ap12(input, _path, true && _exceptionable) && _ap13(input, _path, true && _exceptionable) && _ap10(input, _path, true && _exceptionable) && _ap6(input, _path, true && _exceptionable) && ("evidence" === input.reviews || "evidenceExclude" === input.reviews || _assertGuard_1._assertGuard(_exceptionable, {
402
+ method: "typia.assert",
403
+ path: _path + ".reviews",
404
+ expected: "(\"evidence\" | \"evidenceExclude\")",
405
+ value: input.reviews
406
+ }, _errorFactory)) && (undefined === input.fingerprint || "string" === typeof input.fingerprint || _assertGuard_1._assertGuard(_exceptionable, {
407
+ method: "typia.assert",
408
+ path: _path + ".fingerprint",
409
+ expected: "(string | undefined)",
410
+ value: input.fingerprint
411
+ }, _errorFactory)) && ("string" === typeof input.description || _assertGuard_1._assertGuard(_exceptionable, {
412
+ method: "typia.assert",
413
+ path: _path + ".description",
414
+ expected: "string",
415
+ value: input.description
416
+ }, _errorFactory));
417
+ const _ao15 = (input, _path, _exceptionable = true) => ("string" === typeof input.code || _assertGuard_1._assertGuard(_exceptionable, {
418
+ method: "typia.assert",
419
+ path: _path + ".code",
420
+ expected: "string",
421
+ value: input.code
422
+ }, _errorFactory)) && ("error" === input.severity || "warning" === input.severity || _assertGuard_1._assertGuard(_exceptionable, {
423
+ method: "typia.assert",
424
+ path: _path + ".severity",
425
+ expected: "(\"error\" | \"warning\")",
426
+ value: input.severity
427
+ }, _errorFactory)) && ("string" === typeof input.message || _assertGuard_1._assertGuard(_exceptionable, {
428
+ method: "typia.assert",
429
+ path: _path + ".message",
430
+ expected: "string",
431
+ value: input.message
432
+ }, _errorFactory)) && ("string" === typeof input.repair || _assertGuard_1._assertGuard(_exceptionable, {
433
+ method: "typia.assert",
434
+ path: _path + ".repair",
435
+ expected: "string",
436
+ value: input.repair
437
+ }, _errorFactory)) && (undefined === input.location || ("object" === typeof input.location && null !== input.location || _assertGuard_1._assertGuard(_exceptionable, {
438
+ method: "typia.assert",
439
+ path: _path + ".location",
440
+ expected: "(IEvidenceSourceLocation | undefined)",
441
+ value: input.location
442
+ }, _errorFactory)) && _ao5(input.location, _path + ".location", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
443
+ method: "typia.assert",
444
+ path: _path + ".location",
445
+ expected: "(IEvidenceSourceLocation | undefined)",
446
+ value: input.location
447
+ }, _errorFactory)) && (undefined === input.claim || "number" === typeof input.claim || _assertGuard_1._assertGuard(_exceptionable, {
448
+ method: "typia.assert",
449
+ path: _path + ".claim",
450
+ expected: "(number | undefined)",
451
+ value: input.claim
452
+ }, _errorFactory)) && (undefined === input.reference || "number" === typeof input.reference || _assertGuard_1._assertGuard(_exceptionable, {
453
+ method: "typia.assert",
454
+ path: _path + ".reference",
455
+ expected: "(number | undefined)",
456
+ value: input.reference
457
+ }, _errorFactory)) && (undefined === input.hostId || "string" === typeof input.hostId || _assertGuard_1._assertGuard(_exceptionable, {
458
+ method: "typia.assert",
459
+ path: _path + ".hostId",
460
+ expected: "(string | undefined)",
461
+ value: input.hostId
462
+ }, _errorFactory)) && (undefined === input.target || "string" === typeof input.target || _assertGuard_1._assertGuard(_exceptionable, {
463
+ method: "typia.assert",
464
+ path: _path + ".target",
465
+ expected: "(string | undefined)",
466
+ value: input.target
467
+ }, _errorFactory));
468
+ const _ao16 = (input, _path, _exceptionable = true) => ("string" === typeof input.path || _assertGuard_1._assertGuard(_exceptionable, {
469
+ method: "typia.assert",
470
+ path: _path + ".path",
471
+ expected: "string",
472
+ value: input.path
473
+ }, _errorFactory)) && ("boolean" === typeof input.recursive || _assertGuard_1._assertGuard(_exceptionable, {
474
+ method: "typia.assert",
475
+ path: _path + ".recursive",
476
+ expected: "boolean",
477
+ value: input.recursive
478
+ }, _errorFactory));
479
+ const _ao17 = (input, _path, _exceptionable = true) => _ap0(input, _path, true && _exceptionable) && _ap1(input, _path, true && _exceptionable) && _ap2(input, _path, true && _exceptionable) && _ap3(input, _path, true && _exceptionable) && ((Array.isArray(input.resolutions) || _assertGuard_1._assertGuard(_exceptionable, {
480
+ method: "typia.assert",
481
+ path: _path + ".resolutions",
482
+ expected: "Array<IEvidenceGraphResolution>",
483
+ value: input.resolutions
484
+ }, _errorFactory)) && input.resolutions.every((elem, _index44) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
485
+ method: "typia.assert",
486
+ path: _path + ".resolutions[" + _index44 + "]",
487
+ expected: "IEvidenceGraphResolution",
488
+ value: elem
489
+ }, _errorFactory)) && _ao18(elem, _path + ".resolutions[" + _index44 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
490
+ method: "typia.assert",
491
+ path: _path + ".resolutions[" + _index44 + "]",
492
+ expected: "IEvidenceGraphResolution",
493
+ value: elem
494
+ }, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
495
+ method: "typia.assert",
496
+ path: _path + ".resolutions",
497
+ expected: "Array<IEvidenceGraphResolution>",
498
+ value: input.resolutions
499
+ }, _errorFactory)) && (undefined === input.reviewResolutions || (Array.isArray(input.reviewResolutions) || _assertGuard_1._assertGuard(_exceptionable, {
500
+ method: "typia.assert",
501
+ path: _path + ".reviewResolutions",
502
+ expected: "(Array<IEvidenceGraphReviewResolution> | undefined)",
503
+ value: input.reviewResolutions
504
+ }, _errorFactory)) && input.reviewResolutions.every((elem, _index45) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
505
+ method: "typia.assert",
506
+ path: _path + ".reviewResolutions[" + _index45 + "]",
507
+ expected: "IEvidenceGraphReviewResolution",
508
+ value: elem
509
+ }, _errorFactory)) && _ao21(elem, _path + ".reviewResolutions[" + _index45 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
510
+ method: "typia.assert",
511
+ path: _path + ".reviewResolutions[" + _index45 + "]",
512
+ expected: "IEvidenceGraphReviewResolution",
513
+ value: elem
514
+ }, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
515
+ method: "typia.assert",
516
+ path: _path + ".reviewResolutions",
517
+ expected: "(Array<IEvidenceGraphReviewResolution> | undefined)",
518
+ value: input.reviewResolutions
519
+ }, _errorFactory)) && (undefined === input.noEvidenceExclude || "boolean" === typeof input.noEvidenceExclude || _assertGuard_1._assertGuard(_exceptionable, {
520
+ method: "typia.assert",
521
+ path: _path + ".noEvidenceExclude",
522
+ expected: "(boolean | undefined)",
523
+ value: input.noEvidenceExclude
524
+ }, _errorFactory)) && (undefined === input.uniqueEvidence || "boolean" === typeof input.uniqueEvidence || _assertGuard_1._assertGuard(_exceptionable, {
525
+ method: "typia.assert",
526
+ path: _path + ".uniqueEvidence",
527
+ expected: "(boolean | undefined)",
528
+ value: input.uniqueEvidence
529
+ }, _errorFactory)) && (undefined === input.singleEvidencePerSymbol || "boolean" === typeof input.singleEvidencePerSymbol || _assertGuard_1._assertGuard(_exceptionable, {
530
+ method: "typia.assert",
531
+ path: _path + ".singleEvidencePerSymbol",
532
+ expected: "(boolean | undefined)",
533
+ value: input.singleEvidencePerSymbol
534
+ }, _errorFactory)) && (undefined === input.checklist || "boolean" === typeof input.checklist || _assertGuard_1._assertGuard(_exceptionable, {
535
+ method: "typia.assert",
536
+ path: _path + ".checklist",
537
+ expected: "(boolean | undefined)",
538
+ value: input.checklist
539
+ }, _errorFactory)) && (undefined === input.requireReview || "boolean" === typeof input.requireReview || _assertGuard_1._assertGuard(_exceptionable, {
540
+ method: "typia.assert",
541
+ path: _path + ".requireReview",
542
+ expected: "(boolean | undefined)",
543
+ value: input.requireReview
544
+ }, _errorFactory));
545
+ const _ao18 = (input, _path, _exceptionable = true) => ("string" === typeof input.declarationId || _assertGuard_1._assertGuard(_exceptionable, {
546
+ method: "typia.assert",
547
+ path: _path + ".declarationId",
548
+ expected: "string",
549
+ value: input.declarationId
550
+ }, _errorFactory)) && _ap14(input, _path, true && _exceptionable);
551
+ const _ao19 = (input, _path, _exceptionable = true) => ("ambiguous" === input.status || "hidden" === input.status || "incomplete" === input.status || "malformed" === input.status || "missing-file" === input.status || "missing-member" === input.status || "out-of-population" === input.status || "resolved" === input.status || "unsupported-host" === input.status || _assertGuard_1._assertGuard(_exceptionable, {
552
+ method: "typia.assert",
553
+ path: _path + ".status",
554
+ expected: _ae1,
555
+ value: input.status
556
+ }, _errorFactory)) && ((Array.isArray(input.addresses) || _assertGuard_1._assertGuard(_exceptionable, {
557
+ method: "typia.assert",
558
+ path: _path + ".addresses",
559
+ expected: "Array<IEvidenceAddress>",
560
+ value: input.addresses
561
+ }, _errorFactory)) && input.addresses.every((elem, _index46) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
562
+ method: "typia.assert",
563
+ path: _path + ".addresses[" + _index46 + "]",
564
+ expected: "IEvidenceAddress",
565
+ value: elem
566
+ }, _errorFactory)) && _ao20(elem, _path + ".addresses[" + _index46 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
567
+ method: "typia.assert",
568
+ path: _path + ".addresses[" + _index46 + "]",
569
+ expected: "IEvidenceAddress",
570
+ value: elem
571
+ }, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
572
+ method: "typia.assert",
573
+ path: _path + ".addresses",
574
+ expected: "Array<IEvidenceAddress>",
575
+ value: input.addresses
576
+ }, _errorFactory)) && _ap4(input, _path, true && _exceptionable) && _ap8(input, _path, true && _exceptionable) && _ap5(input, _path, true && _exceptionable);
577
+ const _ao2 = (input, _path, _exceptionable = true) => (1 === input.schemaVersion || _assertGuard_1._assertGuard(_exceptionable, {
578
+ method: "typia.assert",
579
+ path: _path + ".schemaVersion",
580
+ expected: "1",
581
+ value: input.schemaVersion
582
+ }, _errorFactory)) && ((Array.isArray(input.sources) || _assertGuard_1._assertGuard(_exceptionable, {
583
+ method: "typia.assert",
584
+ path: _path + ".sources",
585
+ expected: "Array<IEvidenceSourceFile>",
586
+ value: input.sources
587
+ }, _errorFactory)) && input.sources.every((elem, _index28) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
588
+ method: "typia.assert",
589
+ path: _path + ".sources[" + _index28 + "]",
590
+ expected: "IEvidenceSourceFile",
591
+ value: elem
592
+ }, _errorFactory)) && _ao3(elem, _path + ".sources[" + _index28 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
593
+ method: "typia.assert",
594
+ path: _path + ".sources[" + _index28 + "]",
595
+ expected: "IEvidenceSourceFile",
596
+ value: elem
597
+ }, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
598
+ method: "typia.assert",
599
+ path: _path + ".sources",
600
+ expected: "Array<IEvidenceSourceFile>",
601
+ value: input.sources
602
+ }, _errorFactory)) && ((Array.isArray(input.annotationRanges) || _assertGuard_1._assertGuard(_exceptionable, {
603
+ method: "typia.assert",
604
+ path: _path + ".annotationRanges",
605
+ expected: "Array<IEvidenceSourceLocation>",
606
+ value: input.annotationRanges
607
+ }, _errorFactory)) && input.annotationRanges.every((elem, _index29) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
608
+ method: "typia.assert",
609
+ path: _path + ".annotationRanges[" + _index29 + "]",
610
+ expected: "IEvidenceSourceLocation",
611
+ value: elem
612
+ }, _errorFactory)) && _ao5(elem, _path + ".annotationRanges[" + _index29 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
613
+ method: "typia.assert",
614
+ path: _path + ".annotationRanges[" + _index29 + "]",
615
+ expected: "IEvidenceSourceLocation",
616
+ value: elem
617
+ }, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
618
+ method: "typia.assert",
619
+ path: _path + ".annotationRanges",
620
+ expected: "Array<IEvidenceSourceLocation>",
621
+ value: input.annotationRanges
622
+ }, _errorFactory)) && _ap4(input, _path, true && _exceptionable) && ((Array.isArray(input.addresses) || _assertGuard_1._assertGuard(_exceptionable, {
623
+ method: "typia.assert",
624
+ path: _path + ".addresses",
625
+ expected: "Array<IEvidencePublicAddress>",
626
+ value: input.addresses
627
+ }, _errorFactory)) && input.addresses.every((elem, _index31) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
628
+ method: "typia.assert",
629
+ path: _path + ".addresses[" + _index31 + "]",
630
+ expected: "IEvidencePublicAddress",
631
+ value: elem
632
+ }, _errorFactory)) && _ao11(elem, _path + ".addresses[" + _index31 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
633
+ method: "typia.assert",
634
+ path: _path + ".addresses[" + _index31 + "]",
635
+ expected: "IEvidencePublicAddress",
636
+ value: elem
637
+ }, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
638
+ method: "typia.assert",
639
+ path: _path + ".addresses",
640
+ expected: "Array<IEvidencePublicAddress>",
641
+ value: input.addresses
642
+ }, _errorFactory)) && ((Array.isArray(input.hosts) || _assertGuard_1._assertGuard(_exceptionable, {
643
+ method: "typia.assert",
644
+ path: _path + ".hosts",
645
+ expected: "Array<IEvidenceHost>",
646
+ value: input.hosts
647
+ }, _errorFactory)) && input.hosts.every((elem, _index32) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
648
+ method: "typia.assert",
649
+ path: _path + ".hosts[" + _index32 + "]",
650
+ expected: "IEvidenceHost",
651
+ value: elem
652
+ }, _errorFactory)) && _ao12(elem, _path + ".hosts[" + _index32 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
653
+ method: "typia.assert",
654
+ path: _path + ".hosts[" + _index32 + "]",
655
+ expected: "IEvidenceHost",
656
+ value: elem
657
+ }, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
658
+ method: "typia.assert",
659
+ path: _path + ".hosts",
660
+ expected: "Array<IEvidenceHost>",
661
+ value: input.hosts
662
+ }, _errorFactory)) && ((Array.isArray(input.declarations) || _assertGuard_1._assertGuard(_exceptionable, {
663
+ method: "typia.assert",
664
+ path: _path + ".declarations",
665
+ expected: "Array<IEvidenceDeclaration>",
666
+ value: input.declarations
667
+ }, _errorFactory)) && input.declarations.every((elem, _index33) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
668
+ method: "typia.assert",
669
+ path: _path + ".declarations[" + _index33 + "]",
670
+ expected: "IEvidenceDeclaration",
671
+ value: elem
672
+ }, _errorFactory)) && _ao13(elem, _path + ".declarations[" + _index33 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
673
+ method: "typia.assert",
674
+ path: _path + ".declarations[" + _index33 + "]",
675
+ expected: "IEvidenceDeclaration",
676
+ value: elem
677
+ }, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
678
+ method: "typia.assert",
679
+ path: _path + ".declarations",
680
+ expected: "Array<IEvidenceDeclaration>",
681
+ value: input.declarations
682
+ }, _errorFactory)) && ((Array.isArray(input.reviews) || _assertGuard_1._assertGuard(_exceptionable, {
683
+ method: "typia.assert",
684
+ path: _path + ".reviews",
685
+ expected: "Array<IEvidenceReview>",
686
+ value: input.reviews
687
+ }, _errorFactory)) && input.reviews.every((elem, _index34) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
688
+ method: "typia.assert",
689
+ path: _path + ".reviews[" + _index34 + "]",
690
+ expected: "IEvidenceReview",
691
+ value: elem
692
+ }, _errorFactory)) && _ao14(elem, _path + ".reviews[" + _index34 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
693
+ method: "typia.assert",
694
+ path: _path + ".reviews[" + _index34 + "]",
695
+ expected: "IEvidenceReview",
696
+ value: elem
697
+ }, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
698
+ method: "typia.assert",
699
+ path: _path + ".reviews",
700
+ expected: "Array<IEvidenceReview>",
701
+ value: input.reviews
702
+ }, _errorFactory)) && _ap5(input, _path, true && _exceptionable) && ((Array.isArray(input.dependencies) || _assertGuard_1._assertGuard(_exceptionable, {
703
+ method: "typia.assert",
704
+ path: _path + ".dependencies",
705
+ expected: "Array<IEvidenceSourceDependency>",
706
+ value: input.dependencies
707
+ }, _errorFactory)) && input.dependencies.every((elem, _index36) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
708
+ method: "typia.assert",
709
+ path: _path + ".dependencies[" + _index36 + "]",
710
+ expected: "IEvidenceSourceDependency",
711
+ value: elem
712
+ }, _errorFactory)) && _ao16(elem, _path + ".dependencies[" + _index36 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
713
+ method: "typia.assert",
714
+ path: _path + ".dependencies[" + _index36 + "]",
715
+ expected: "IEvidenceSourceDependency",
716
+ value: elem
717
+ }, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
718
+ method: "typia.assert",
719
+ path: _path + ".dependencies",
720
+ expected: "Array<IEvidenceSourceDependency>",
721
+ value: input.dependencies
722
+ }, _errorFactory)) && ("boolean" === typeof input.complete || _assertGuard_1._assertGuard(_exceptionable, {
723
+ method: "typia.assert",
724
+ path: _path + ".complete",
725
+ expected: "boolean",
726
+ value: input.complete
727
+ }, _errorFactory));
728
+ const _ao20 = (input, _path, _exceptionable = true) => _ap7(input, _path, true && _exceptionable) && _ap11(input, _path, true && _exceptionable);
729
+ const _ao21 = (input, _path, _exceptionable = true) => ("string" === typeof input.reviewId || _assertGuard_1._assertGuard(_exceptionable, {
730
+ method: "typia.assert",
731
+ path: _path + ".reviewId",
732
+ expected: "string",
733
+ value: input.reviewId
734
+ }, _errorFactory)) && _ap14(input, _path, true && _exceptionable);
735
+ const _ao3 = (input, _path, _exceptionable = true) => _ap6(input, _path, true && _exceptionable) && ("string" === typeof input.physicalPath || _assertGuard_1._assertGuard(_exceptionable, {
736
+ method: "typia.assert",
737
+ path: _path + ".physicalPath",
738
+ expected: "string",
739
+ value: input.physicalPath
740
+ }, _errorFactory)) && ("string" === typeof input.content || _assertGuard_1._assertGuard(_exceptionable, {
741
+ method: "typia.assert",
742
+ path: _path + ".content",
743
+ expected: "string",
744
+ value: input.content
745
+ }, _errorFactory)) && ("string" === typeof input.digest || _assertGuard_1._assertGuard(_exceptionable, {
746
+ method: "typia.assert",
747
+ path: _path + ".digest",
748
+ expected: "string",
749
+ value: input.digest
750
+ }, _errorFactory)) && ((Array.isArray(input.addresses) || _assertGuard_1._assertGuard(_exceptionable, {
751
+ method: "typia.assert",
752
+ path: _path + ".addresses",
753
+ expected: "Array<IEvidenceSourceAddress>",
754
+ value: input.addresses
755
+ }, _errorFactory)) && input.addresses.every((elem, _index37) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
756
+ method: "typia.assert",
757
+ path: _path + ".addresses[" + _index37 + "]",
758
+ expected: "IEvidenceSourceAddress",
759
+ value: elem
760
+ }, _errorFactory)) && _ao4(elem, _path + ".addresses[" + _index37 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
761
+ method: "typia.assert",
762
+ path: _path + ".addresses[" + _index37 + "]",
763
+ expected: "IEvidenceSourceAddress",
764
+ value: elem
765
+ }, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
766
+ method: "typia.assert",
767
+ path: _path + ".addresses",
768
+ expected: "Array<IEvidenceSourceAddress>",
769
+ value: input.addresses
770
+ }, _errorFactory));
771
+ const _ao4 = (input, _path, _exceptionable = true) => ("string" === typeof input.absolute || _assertGuard_1._assertGuard(_exceptionable, {
772
+ method: "typia.assert",
773
+ path: _path + ".absolute",
774
+ expected: "string",
775
+ value: input.absolute
776
+ }, _errorFactory)) && ("string" === typeof input.relative || _assertGuard_1._assertGuard(_exceptionable, {
777
+ method: "typia.assert",
778
+ path: _path + ".relative",
779
+ expected: "string",
780
+ value: input.relative
781
+ }, _errorFactory)) && ("string" === typeof input.display || _assertGuard_1._assertGuard(_exceptionable, {
782
+ method: "typia.assert",
783
+ path: _path + ".display",
784
+ expected: "string",
785
+ value: input.display
786
+ }, _errorFactory)) && (undefined === input.selected || "boolean" === typeof input.selected || _assertGuard_1._assertGuard(_exceptionable, {
787
+ method: "typia.assert",
788
+ path: _path + ".selected",
789
+ expected: "(boolean | undefined)",
790
+ value: input.selected
791
+ }, _errorFactory));
792
+ const _ao5 = (input, _path, _exceptionable = true) => _ap7(input, _path, true && _exceptionable) && (undefined === input.range || ("object" === typeof input.range && null !== input.range || _assertGuard_1._assertGuard(_exceptionable, {
793
+ method: "typia.assert",
794
+ path: _path + ".range",
795
+ expected: "(IEvidenceSourceRange | undefined)",
796
+ value: input.range
797
+ }, _errorFactory)) && _ao6(input.range, _path + ".range", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
798
+ method: "typia.assert",
799
+ path: _path + ".range",
800
+ expected: "(IEvidenceSourceRange | undefined)",
801
+ value: input.range
802
+ }, _errorFactory));
803
+ const _ao6 = (input, _path, _exceptionable = true) => (("object" === typeof input.start && null !== input.start || _assertGuard_1._assertGuard(_exceptionable, {
804
+ method: "typia.assert",
805
+ path: _path + ".start",
806
+ expected: "IEvidenceSourcePosition",
807
+ value: input.start
808
+ }, _errorFactory)) && _ao7(input.start, _path + ".start", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
809
+ method: "typia.assert",
810
+ path: _path + ".start",
811
+ expected: "IEvidenceSourcePosition",
812
+ value: input.start
813
+ }, _errorFactory)) && (("object" === typeof input.end && null !== input.end || _assertGuard_1._assertGuard(_exceptionable, {
814
+ method: "typia.assert",
815
+ path: _path + ".end",
816
+ expected: "IEvidenceSourcePosition",
817
+ value: input.end
818
+ }, _errorFactory)) && _ao7(input.end, _path + ".end", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
819
+ method: "typia.assert",
820
+ path: _path + ".end",
821
+ expected: "IEvidenceSourcePosition",
822
+ value: input.end
823
+ }, _errorFactory));
824
+ const _ao7 = (input, _path, _exceptionable = true) => ("number" === typeof input.offset || _assertGuard_1._assertGuard(_exceptionable, {
825
+ method: "typia.assert",
826
+ path: _path + ".offset",
827
+ expected: "number",
828
+ value: input.offset
829
+ }, _errorFactory)) && ("number" === typeof input.line || _assertGuard_1._assertGuard(_exceptionable, {
830
+ method: "typia.assert",
831
+ path: _path + ".line",
832
+ expected: "number",
833
+ value: input.line
834
+ }, _errorFactory)) && ("number" === typeof input.column || _assertGuard_1._assertGuard(_exceptionable, {
835
+ method: "typia.assert",
836
+ path: _path + ".column",
837
+ expected: "number",
838
+ value: input.column
839
+ }, _errorFactory));
840
+ const _ao8 = (input, _path, _exceptionable = true) => _ap6(input, _path, true && _exceptionable) && (undefined === input.parentId || "string" === typeof input.parentId || _assertGuard_1._assertGuard(_exceptionable, {
841
+ method: "typia.assert",
842
+ path: _path + ".parentId",
843
+ expected: "(string | undefined)",
844
+ value: input.parentId
845
+ }, _errorFactory)) && (true === _av0.has(input.type) || _assertGuard_1._assertGuard(_exceptionable, {
846
+ method: "typia.assert",
847
+ path: _path + ".type",
848
+ expected: _ae0,
849
+ value: input.type
850
+ }, _errorFactory)) && (true === _av1.has(input.symbol) || _assertGuard_1._assertGuard(_exceptionable, {
851
+ method: "typia.assert",
852
+ path: _path + ".symbol",
853
+ expected: "(\"column\" | \"file\" | \"function\" | \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"model\" | \"operation\" | \"property\" | \"relation\" | \"type\")",
854
+ value: input.symbol
855
+ }, _errorFactory)) && ((Array.isArray(input.identity) || _assertGuard_1._assertGuard(_exceptionable, {
856
+ method: "typia.assert",
857
+ path: _path + ".identity",
858
+ expected: "Array<string>",
859
+ value: input.identity
860
+ }, _errorFactory)) && input.identity.every((elem, _index38) => "string" === typeof elem || _assertGuard_1._assertGuard(_exceptionable, {
861
+ method: "typia.assert",
862
+ path: _path + ".identity[" + _index38 + "]",
863
+ expected: "string",
864
+ value: elem
865
+ }, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
866
+ method: "typia.assert",
867
+ path: _path + ".identity",
868
+ expected: "Array<string>",
869
+ value: input.identity
870
+ }, _errorFactory)) && ("string" === typeof input.name || _assertGuard_1._assertGuard(_exceptionable, {
871
+ method: "typia.assert",
872
+ path: _path + ".name",
873
+ expected: "string",
874
+ value: input.name
875
+ }, _errorFactory)) && (undefined === input.contentDigest || "string" === typeof input.contentDigest || _assertGuard_1._assertGuard(_exceptionable, {
876
+ method: "typia.assert",
877
+ path: _path + ".contentDigest",
878
+ expected: "(string | undefined)",
879
+ value: input.contentDigest
880
+ }, _errorFactory)) && ((Array.isArray(input.sites) || _assertGuard_1._assertGuard(_exceptionable, {
881
+ method: "typia.assert",
882
+ path: _path + ".sites",
883
+ expected: "Array<IEvidenceUnitSite>",
884
+ value: input.sites
885
+ }, _errorFactory)) && input.sites.every((elem, _index39) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
886
+ method: "typia.assert",
887
+ path: _path + ".sites[" + _index39 + "]",
888
+ expected: "IEvidenceUnitSite",
889
+ value: elem
890
+ }, _errorFactory)) && _ao9(elem, _path + ".sites[" + _index39 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
891
+ method: "typia.assert",
892
+ path: _path + ".sites[" + _index39 + "]",
893
+ expected: "IEvidenceUnitSite",
894
+ value: elem
895
+ }, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
896
+ method: "typia.assert",
897
+ path: _path + ".sites",
898
+ expected: "Array<IEvidenceUnitSite>",
899
+ value: input.sites
900
+ }, _errorFactory)) && _ap8(input, _path, true && _exceptionable);
901
+ const _ao9 = (input, _path, _exceptionable = true) => _ap6(input, _path, true && _exceptionable) && _ap7(input, _path, true && _exceptionable) && _ap9(input, _path, true && _exceptionable) && ((Array.isArray(input.content) || _assertGuard_1._assertGuard(_exceptionable, {
902
+ method: "typia.assert",
903
+ path: _path + ".content",
904
+ expected: "Array<IEvidenceSourceRange>",
905
+ value: input.content
906
+ }, _errorFactory)) && input.content.every((elem, _index41) => ("object" === typeof elem && null !== elem || _assertGuard_1._assertGuard(_exceptionable, {
907
+ method: "typia.assert",
908
+ path: _path + ".content[" + _index41 + "]",
909
+ expected: "IEvidenceSourceRange",
910
+ value: elem
911
+ }, _errorFactory)) && _ao6(elem, _path + ".content[" + _index41 + "]", true && _exceptionable) || _assertGuard_1._assertGuard(_exceptionable, {
912
+ method: "typia.assert",
913
+ path: _path + ".content[" + _index41 + "]",
914
+ expected: "IEvidenceSourceRange",
915
+ value: elem
916
+ }, _errorFactory)) || _assertGuard_1._assertGuard(_exceptionable, {
917
+ method: "typia.assert",
918
+ path: _path + ".content",
919
+ expected: "Array<IEvidenceSourceRange>",
920
+ value: input.content
921
+ }, _errorFactory));
922
+ const _io0 = input => Array.isArray(input.claims) && input.claims.every(elem => "object" === typeof elem && null !== elem && _io1(elem));
923
+ const _io1 = input => _ip0(input) && (undefined === input.name || "string" === typeof input.name) && _ip1(input) && _ip2(input) && _ip3(input) && (undefined === input.exclusionHostIds || Array.isArray(input.exclusionHostIds) && input.exclusionHostIds.every(elem => "string" === typeof elem)) && (Array.isArray(input.references) && input.references.every(elem => "object" === typeof elem && null !== elem && _io17(elem)));
924
+ const _io10 = input => ("hidden" === input.tag || "ignore" === input.tag || "internal" === input.tag) && _ip10(input);
925
+ const _io11 = input => _ip7(input) && _ip11(input) && "string" === typeof input.unitId;
926
+ const _io12 = input => _ip6(input) && _ip7(input) && _ip9(input) && (undefined === input.origins || Array.isArray(input.origins) && input.origins.every(elem => "string" === typeof elem)) && (undefined === input.siteId || "string" === typeof input.siteId) && _ip3(input) && ("attached" === input.attachment || "unattached" === input.attachment || "unsupported" === input.attachment) && (undefined === input.problem || "string" === typeof input.problem);
927
+ const _io13 = input => _ip12(input) && _ip13(input) && _ip10(input) && _ip6(input) && ("evidence" === input.kind || "evidenceExclude" === input.kind) && "string" === typeof input.reason;
928
+ const _io14 = input => _ip12(input) && _ip13(input) && _ip10(input) && _ip6(input) && ("evidence" === input.reviews || "evidenceExclude" === input.reviews) && (undefined === input.fingerprint || "string" === typeof input.fingerprint) && "string" === typeof input.description;
929
+ const _io15 = input => "string" === typeof input.code && ("error" === input.severity || "warning" === input.severity) && "string" === typeof input.message && "string" === typeof input.repair && (undefined === input.location || "object" === typeof input.location && null !== input.location && _io5(input.location)) && (undefined === input.claim || "number" === typeof input.claim) && (undefined === input.reference || "number" === typeof input.reference) && (undefined === input.hostId || "string" === typeof input.hostId) && (undefined === input.target || "string" === typeof input.target);
930
+ const _io16 = input => "string" === typeof input.path && "boolean" === typeof input.recursive;
931
+ const _io17 = input => _ip0(input) && _ip1(input) && _ip2(input) && _ip3(input) && (Array.isArray(input.resolutions) && input.resolutions.every(elem => "object" === typeof elem && null !== elem && _io18(elem))) && (undefined === input.reviewResolutions || Array.isArray(input.reviewResolutions) && input.reviewResolutions.every(elem => "object" === typeof elem && null !== elem && _io21(elem))) && (undefined === input.noEvidenceExclude || "boolean" === typeof input.noEvidenceExclude) && (undefined === input.uniqueEvidence || "boolean" === typeof input.uniqueEvidence) && (undefined === input.singleEvidencePerSymbol || "boolean" === typeof input.singleEvidencePerSymbol) && (undefined === input.checklist || "boolean" === typeof input.checklist) && (undefined === input.requireReview || "boolean" === typeof input.requireReview);
932
+ const _io18 = input => "string" === typeof input.declarationId && _ip14(input);
933
+ const _io19 = input => ("ambiguous" === input.status || "hidden" === input.status || "incomplete" === input.status || "malformed" === input.status || "missing-file" === input.status || "missing-member" === input.status || "out-of-population" === input.status || "resolved" === input.status || "unsupported-host" === input.status) && (Array.isArray(input.addresses) && input.addresses.every(elem => "object" === typeof elem && null !== elem && _io20(elem))) && _ip4(input) && _ip8(input) && _ip5(input);
934
+ const _io2 = input => 1 === input.schemaVersion && (Array.isArray(input.sources) && input.sources.every(elem => "object" === typeof elem && null !== elem && _io3(elem))) && (Array.isArray(input.annotationRanges) && input.annotationRanges.every(elem => "object" === typeof elem && null !== elem && _io5(elem))) && _ip4(input) && (Array.isArray(input.addresses) && input.addresses.every(elem => "object" === typeof elem && null !== elem && _io11(elem))) && (Array.isArray(input.hosts) && input.hosts.every(elem => "object" === typeof elem && null !== elem && _io12(elem))) && (Array.isArray(input.declarations) && input.declarations.every(elem => "object" === typeof elem && null !== elem && _io13(elem))) && (Array.isArray(input.reviews) && input.reviews.every(elem => "object" === typeof elem && null !== elem && _io14(elem))) && _ip5(input) && (Array.isArray(input.dependencies) && input.dependencies.every(elem => "object" === typeof elem && null !== elem && _io16(elem))) && "boolean" === typeof input.complete;
935
+ const _io20 = input => _ip7(input) && _ip11(input);
936
+ const _io21 = input => "string" === typeof input.reviewId && _ip14(input);
937
+ const _io3 = input => _ip6(input) && "string" === typeof input.physicalPath && "string" === typeof input.content && "string" === typeof input.digest && (Array.isArray(input.addresses) && input.addresses.every(elem => "object" === typeof elem && null !== elem && _io4(elem)));
938
+ const _io4 = input => "string" === typeof input.absolute && "string" === typeof input.relative && "string" === typeof input.display && (undefined === input.selected || "boolean" === typeof input.selected);
939
+ const _io5 = input => _ip7(input) && (undefined === input.range || "object" === typeof input.range && null !== input.range && _io6(input.range));
940
+ const _io6 = input => "object" === typeof input.start && null !== input.start && _io7(input.start) && ("object" === typeof input.end && null !== input.end && _io7(input.end));
941
+ const _io7 = input => "number" === typeof input.offset && "number" === typeof input.line && "number" === typeof input.column;
942
+ const _io8 = input => _ip6(input) && (undefined === input.parentId || "string" === typeof input.parentId) && true === _iv0.has(input.type) && true === _iv1.has(input.symbol) && (Array.isArray(input.identity) && input.identity.every(elem => "string" === typeof elem)) && "string" === typeof input.name && (undefined === input.contentDigest || "string" === typeof input.contentDigest) && (Array.isArray(input.sites) && input.sites.every(elem => "object" === typeof elem && null !== elem && _io9(elem))) && _ip8(input);
943
+ const _io9 = input => _ip6(input) && _ip7(input) && _ip9(input) && (Array.isArray(input.content) && input.content.every(elem => "object" === typeof elem && null !== elem && _io6(elem)));
944
+ const __is = input => "object" === typeof input && null !== input && _io0(input);
945
+ let _errorFactory;
946
+ return (input, errorFactory) => {
947
+ if (false === __is(input)) {
948
+ _errorFactory = errorFactory;
949
+ ((input, _path, _exceptionable = true) => ("object" === typeof input && null !== input || _assertGuard_1._assertGuard(true, {
950
+ method: "typia.assert",
951
+ path: _path + "",
952
+ expected: "IEvidenceGraphInput",
953
+ value: input
954
+ }, _errorFactory)) && _ao0(input, _path + "", true) || _assertGuard_1._assertGuard(true, {
955
+ method: "typia.assert",
956
+ path: _path + "",
957
+ expected: "IEvidenceGraphInput",
958
+ value: input
959
+ }, _errorFactory))(input, "$input", true);
960
+ }
961
+ return input;
962
+ };
963
+ })()(input));
964
+ }
965
+ /**
966
+ * Evaluates every independent obligation in the captured input.
967
+ *
968
+ * A fresh evaluator prevents coverage sets and deferred diagnostics from leaking
969
+ * across calls. The returned clone also prevents consumers from mutating records
970
+ * retained by the facade.
971
+ */
972
+ evaluate() {
973
+ return structuredClone(new GraphEvaluator(this.input).evaluate());
974
+ }
975
+ /**
976
+ * Captures and evaluates input without retaining a graph facade.
977
+ *
978
+ * This convenience entry point has the same validation and result ownership as
979
+ * construction followed by the instance `evaluate` method.
980
+ */
981
+ static evaluate(input) {
982
+ return new EvidenceGraph(input).evaluate();
983
+ }
984
+ }
985
+ exports.EvidenceGraph = EvidenceGraph;
986
+ /**
987
+ * Owns coverage accumulation and deferred findings for one graph evaluation.
988
+ *
989
+ * Claim and reference contexts keep local populations and resolutions, while this
990
+ * controller records whether acknowledgements participate anywhere in the graph.
991
+ * That shared participation state is needed to avoid declaring an unhosted
992
+ * checklist citation invalid before another applicable reference can explain it.
993
+ *
994
+ * The public facade creates a new controller for every evaluation. Its sets and
995
+ * maps therefore describe one traversal only and must not become facade caches.
996
+ */
997
+ class GraphEvaluator {
998
+ /**
999
+ * Acknowledgements handled by a complete applicable obligation.
1000
+ *
1001
+ * Final checklist reporting consults this set across references, preventing a
1002
+ * citation accepted elsewhere from receiving a premature unhosted finding.
1003
+ */
1004
+ answeredDeclarations = new Set();
1005
+ /**
1006
+ * Findings accumulated during this single traversal.
1007
+ *
1008
+ * Finalization deduplicates equivalent findings after all claims are evaluated.
1009
+ * The array is never reused by a later facade invocation.
1010
+ */
1011
+ diagnostics = [];
1012
+ /**
1013
+ * Acknowledgements whose participation is uncertain because analysis failed.
1014
+ *
1015
+ * Deferred reporting must not infer invalid ownership from a reference that
1016
+ * could not supply a complete population or resolution.
1017
+ */
1018
+ uncertainDeclarations = new Set();
1019
+ /**
1020
+ * Checklist statements awaiting graph-wide participation finalization.
1021
+ *
1022
+ * Each record retains its diagnostic boundary and severity. Later references
1023
+ * can establish that the statement was handled or that its status is uncertain.
1024
+ */
1025
+ unhostedChecklists = new Map();
1026
+ /**
1027
+ * Captured facade input used to create this traversal's claim contexts.
1028
+ *
1029
+ * The controller relies on the facade's shape validation and copy ownership;
1030
+ * it adds evaluation state without replacing or reloading source populations.
1031
+ */
1032
+ input;
1033
+ /**
1034
+ * Binds captured input to empty per-evaluation state.
1035
+ *
1036
+ * The facade owns input validation and cloning. Keeping construction separate
1037
+ * from traversal lets every evaluation start with empty participation sets.
1038
+ */
1039
+ constructor(input) {
1040
+ this.input = input;
1041
+ }
1042
+ /**
1043
+ * Evaluates claims, then finalizes findings that depend on reference participation.
1044
+ *
1045
+ * Inactive obligations do not affect completeness. Every active claim and
1046
+ * reference must be complete, and the final diagnostic list must be empty,
1047
+ * before this graph result is successful.
1048
+ */
1049
+ evaluate() {
1050
+ const claims = this.input.claims.map((claim, index) => this.evaluateClaim(claim, index));
1051
+ // A citation can participate in another reference. Decide deferred checklist
1052
+ // findings only after every claim has recorded accepted or uncertain usage.
1053
+ this.reportUnhostedChecklists();
1054
+ const diagnostics = InventoryMerge_1.InventoryMerge.unique(this.diagnostics, (diagnostic) => (() => {
1055
+ const _so0 = input => `{${_jsonStringifyTail_1._jsonStringifyTail(`"code":${_jsonStringifyString_1._jsonStringifyString(input.code)},"severity":${"\"" + input.severity + "\""},"message":${_jsonStringifyString_1._jsonStringifyString(input.message)},"repair":${_jsonStringifyString_1._jsonStringifyString(input.repair)},${undefined === input.location ? "" : `"location":${undefined !== input.location ? _so1(input.location) : undefined},`}${undefined === input.claim ? "" : `"claim":${undefined !== input.claim ? String(_jsonStringifyNumber_1._jsonStringifyNumber(input.claim)) : undefined},`}${undefined === input.reference ? "" : `"reference":${undefined !== input.reference ? String(_jsonStringifyNumber_1._jsonStringifyNumber(input.reference)) : undefined},`}${undefined === input.hostId ? "" : `"hostId":${undefined !== input.hostId ? _jsonStringifyString_1._jsonStringifyString(input.hostId) : undefined},`}${undefined === input.target ? "" : `"target":${undefined !== input.target ? _jsonStringifyString_1._jsonStringifyString(input.target) : undefined}`}`)}}`;
1056
+ const _so1 = input => `{${_jsonStringifyTail_1._jsonStringifyTail(`"file":${_jsonStringifyString_1._jsonStringifyString(input.file)},${undefined === input.range ? "" : `"range":${undefined !== input.range ? _so2(input.range) : undefined}`}`)}}`;
1057
+ const _so2 = input => `{"start":${_so3(input.start)},"end":${_so3(input.end)}}`;
1058
+ const _so3 = input => `{"offset":${String(_jsonStringifyNumber_1._jsonStringifyNumber(input.offset))},"line":${String(_jsonStringifyNumber_1._jsonStringifyNumber(input.line))},"column":${String(_jsonStringifyNumber_1._jsonStringifyNumber(input.column))}}`;
1059
+ const _io1 = input => "string" === typeof input.file && (undefined === input.range || "object" === typeof input.range && null !== input.range && _io2(input.range));
1060
+ const _io2 = input => "object" === typeof input.start && null !== input.start && _io3(input.start) && ("object" === typeof input.end && null !== input.end && _io3(input.end));
1061
+ const _io3 = input => "number" === typeof input.offset && "number" === typeof input.line && "number" === typeof input.column;
1062
+ return input => _so0(input);
1063
+ })()(diagnostic));
1064
+ const complete = claims.every((claim) => !claim.active ||
1065
+ (claim.complete &&
1066
+ claim.obligations.every((obligation) => !obligation.active || obligation.complete)));
1067
+ return {
1068
+ success: complete && diagnostics.length === 0,
1069
+ claims,
1070
+ diagnostics,
1071
+ };
1072
+ }
1073
+ /**
1074
+ * Evaluates one claim and establishes its independent obligation boundaries.
1075
+ *
1076
+ * Disabled claims produce inactive reference records without touching their
1077
+ * inventories. A complete claim with no selected units is likewise inactive;
1078
+ * otherwise an incomplete claim remains active and marks every child
1079
+ * obligation incomplete so missing extraction cannot reduce required coverage.
1080
+ */
1081
+ evaluateClaim(claim, claimIndex) {
1082
+ if (claim.severity === "off")
1083
+ return {
1084
+ claim: this.claimIndex(claimIndex),
1085
+ active: false,
1086
+ complete: true,
1087
+ obligations: claim.references.map((reference, referenceIndex) => this.inactiveObligation(claimIndex, referenceIndex, reference)),
1088
+ };
1089
+ const inventory = new EvidenceInventory_1.EvidenceInventory([claim.inventory]);
1090
+ const snapshot = inventory.snapshot();
1091
+ const population = inventory.select(claim.unitIds);
1092
+ const context = {
1093
+ claim,
1094
+ inventory: snapshot,
1095
+ population,
1096
+ index: claimIndex,
1097
+ };
1098
+ this.diagnostics.push(...snapshot.diagnostics.map((diagnostic) => this.context(diagnostic, claim.severity, claimIndex)));
1099
+ if (!snapshot.complete)
1100
+ for (const declaration of snapshot.declarations)
1101
+ this.uncertainDeclarations.add(declaration.id);
1102
+ if (snapshot.complete && population.units.length === 0)
1103
+ return {
1104
+ claim: this.claimIndex(claimIndex),
1105
+ active: false,
1106
+ complete: true,
1107
+ obligations: claim.references.map((reference, referenceIndex) => this.inactiveObligation(claimIndex, referenceIndex, reference)),
1108
+ };
1109
+ const obligations = claim.references.map((reference, referenceIndex) => snapshot.complete
1110
+ ? this.evaluateReference(context, reference, referenceIndex)
1111
+ : this.incompleteObligation(claimIndex, referenceIndex, reference));
1112
+ return {
1113
+ claim: this.claimIndex(claimIndex),
1114
+ active: true,
1115
+ complete: snapshot.complete,
1116
+ obligations,
1117
+ };
1118
+ }
1119
+ /**
1120
+ * Prepares one reference obligation and stops before coverage when its inputs are uncertain.
1121
+ *
1122
+ * Reference selection, acknowledgement resolution, and review resolution are
1123
+ * validated at this boundary because each reference owns them independently.
1124
+ * Any incomplete inventory or resolution records participation as uncertain
1125
+ * and returns an incomplete obligation instead of deriving coverage from a
1126
+ * potentially smaller population.
1127
+ */
1128
+ evaluateReference(context, reference, referenceIndex) {
1129
+ const { claim, inventory: claimInventory, index: claimIndex } = context;
1130
+ if (reference.severity === "off")
1131
+ return this.inactiveObligation(claimIndex, referenceIndex, reference);
1132
+ const inventory = new EvidenceInventory_1.EvidenceInventory([reference.inventory]);
1133
+ const snapshot = inventory.snapshot();
1134
+ const population = inventory.select(reference.unitIds);
1135
+ this.validateReferencePolicy(claim, reference, population, claimIndex, referenceIndex);
1136
+ this.diagnostics.push(...snapshot.diagnostics.map((diagnostic) => this.context(diagnostic, reference.severity, claimIndex, referenceIndex)));
1137
+ if (!snapshot.complete)
1138
+ for (const declaration of claimInventory.declarations)
1139
+ this.uncertainDeclarations.add(declaration.id);
1140
+ const unitIds = population.units.map((unit) => unit.id);
1141
+ if (!snapshot.complete)
1142
+ return this.obligation(claimIndex, referenceIndex, true, false, unitIds, [], []);
1143
+ if (unitIds.length === 0) {
1144
+ this.diagnostics.push(this.problem("graph-empty-reference", reference.severity, "The reference contains no selected evidence units.", "Select symbol kinds present in the reference files or correct its source selection.", claimIndex, referenceIndex));
1145
+ return this.obligation(claimIndex, referenceIndex, true, true, [], [], []);
1146
+ }
1147
+ const resolutions = this.resolutions(claimInventory, reference, claimIndex, referenceIndex);
1148
+ const reviewResolutions = this.reviewResolutions(claimInventory, reference, claimIndex, referenceIndex);
1149
+ for (const entry of resolutions)
1150
+ this.diagnostics.push(...entry.resolution.diagnostics.map((diagnostic) => this.context(diagnostic, reference.severity, claimIndex, referenceIndex)));
1151
+ for (const entry of reviewResolutions)
1152
+ this.diagnostics.push(...entry.resolution.diagnostics.map((diagnostic) => this.context(diagnostic, reference.severity, claimIndex, referenceIndex)));
1153
+ const incomplete = [
1154
+ ...resolutions.map((entry) => entry.resolution.status),
1155
+ ...reviewResolutions.map((entry) => entry.resolution.status),
1156
+ ].includes("incomplete");
1157
+ if (incomplete) {
1158
+ for (const entry of resolutions)
1159
+ if (entry.resolution.status === "incomplete")
1160
+ this.uncertainDeclarations.add(entry.declarationId);
1161
+ if (reviewResolutions.some((entry) => entry.resolution.status === "incomplete"))
1162
+ for (const declaration of claimInventory.declarations)
1163
+ this.uncertainDeclarations.add(declaration.id);
1164
+ return this.obligation(claimIndex, referenceIndex, true, false, unitIds, [], []);
1165
+ }
1166
+ return this.cover({
1167
+ claim: context,
1168
+ reference,
1169
+ inventory: snapshot,
1170
+ population,
1171
+ index: referenceIndex,
1172
+ resolutions,
1173
+ reviewResolutions,
1174
+ });
1175
+ }
1176
+ /**
1177
+ * Evaluates acknowledgements against one independent reference context.
1178
+ *
1179
+ * Coverage, exclusion conflicts, reviews, and cardinality all use this same
1180
+ * claim/reference boundary. The method retains one edge per accepted statement
1181
+ * so reports can explain both the selected units it covers and the host that
1182
+ * accepted responsibility for them.
1183
+ */
1184
+ cover(context) {
1185
+ const { claim: { claim, inventory: claimInventory, population: claimPopulation, index: claimIndex, }, reference, index: referenceIndex, inventory: referenceInventory, population: referencePopulation, resolutions, } = context;
1186
+ const declarations = new Map(claimInventory.declarations.map((declaration) => [
1187
+ declaration.id,
1188
+ declaration,
1189
+ ]));
1190
+ const selectedHosts = new Map(claimPopulation.hosts.map((host) => [host.id, host.unitIds]));
1191
+ const attachedHosts = new Set(claimInventory.hosts
1192
+ .filter((host) => host.attachment === "attached")
1193
+ .map((host) => host.id));
1194
+ const exclusionHosts = new Set(claim.exclusionHostIds === undefined
1195
+ ? attachedHosts
1196
+ : claim.exclusionHostIds.filter((id) => attachedHosts.has(id)));
1197
+ const units = new Map(referenceInventory.units.map((unit) => [unit.id, unit]));
1198
+ const selectedUnits = referencePopulation.units;
1199
+ const selectedUnitIds = new Set(selectedUnits.map((unit) => unit.id));
1200
+ const scopeIds = new Set(referencePopulation.scopes.map((unit) => unit.id));
1201
+ const fingerprints = new EvidenceFingerprintIndex_1.EvidenceFingerprintIndex(referenceInventory);
1202
+ const checklist = reference.checklist === true;
1203
+ const explainedByHost = new Map();
1204
+ const covered = new Set();
1205
+ const edges = [];
1206
+ for (const entry of resolutions) {
1207
+ const declaration = declarations.get(entry.declarationId);
1208
+ if (declaration === undefined) {
1209
+ this.diagnostics.push(this.problem("graph-resolution-declaration", reference.severity, `Resolution '${entry.declarationId}' has no claim acknowledgement.`, "Rebuild target resolutions from this claim inventory before evaluating the graph.", claimIndex, referenceIndex));
1210
+ continue;
1211
+ }
1212
+ if (entry.resolution.status !== "resolved")
1213
+ continue;
1214
+ const target = entry.resolution.units[0];
1215
+ if (target === undefined ||
1216
+ entry.resolution.units.length !== 1 ||
1217
+ !scopeIds.has(target.id)) {
1218
+ this.diagnostics.push(this.problem("graph-resolution-scope", reference.severity, `Resolved target '${declaration.target}' is outside this reference's selected structural scopes.`, "Resolve the declaration with this reference's exact selected unit IDs.", claimIndex, referenceIndex, declaration));
1219
+ continue;
1220
+ }
1221
+ let unitIds = selectedUnits
1222
+ .filter((unit) => this.descends(unit, target.id, units))
1223
+ .map((unit) => unit.id);
1224
+ if (unitIds.length === 0)
1225
+ continue;
1226
+ const hostUnitIds = selectedHosts.get(declaration.hostId) ?? [];
1227
+ if (declaration.kind === "evidence" &&
1228
+ hostUnitIds.length === 0 &&
1229
+ checklist) {
1230
+ this.recordUnhostedChecklist(declaration, reference.severity, claimIndex, referenceIndex);
1231
+ continue;
1232
+ }
1233
+ if ((declaration.kind === "evidence" && hostUnitIds.length === 0) ||
1234
+ (declaration.kind === "evidenceExclude" &&
1235
+ !exclusionHosts.has(declaration.hostId))) {
1236
+ this.diagnostics.push(this.problem("graph-out-of-scope-host", reference.severity, `@${declaration.kind} for '${declaration.target}' is outside its eligible claim hosts.`, declaration.kind === "evidence"
1237
+ ? "Move the acknowledgement to a host selected by the claim's symbol kinds."
1238
+ : "Move the exclusion to an eligible public carrier in the claim files.", claimIndex, referenceIndex, declaration));
1239
+ continue;
1240
+ }
1241
+ if (declaration.kind === "evidenceExclude" &&
1242
+ reference.noEvidenceExclude === true) {
1243
+ this.diagnostics.push(this.problem("graph-forbidden-exclusion", reference.severity, `@evidenceExclude for '${declaration.target}' is forbidden by noEvidenceExclude.`, "Remove the exclusion and cite the implemented target with positive @evidence.", claimIndex, referenceIndex, declaration));
1244
+ continue;
1245
+ }
1246
+ if (checklist && hostUnitIds.length === 0) {
1247
+ this.recordUnhostedChecklist(declaration, reference.severity, claimIndex, referenceIndex);
1248
+ continue;
1249
+ }
1250
+ if (checklist &&
1251
+ declaration.kind === "evidence" &&
1252
+ !selectedUnitIds.has(target.id)) {
1253
+ this.answeredDeclarations.add(declaration.id);
1254
+ this.diagnostics.push(this.problem("graph-checklist-aggregate", reference.severity, `Positive checklist target '${declaration.target}' names an unselected aggregate containing ${unitIds.length} selected item(s).`, "Cite each selected checklist item this host answers, or exclude the aggregate when none of it applies.", claimIndex, referenceIndex, declaration));
1255
+ for (const hostUnitId of hostUnitIds) {
1256
+ let explained = explainedByHost.get(hostUnitId);
1257
+ if (explained === undefined) {
1258
+ explained = new Set();
1259
+ explainedByHost.set(hostUnitId, explained);
1260
+ }
1261
+ for (const unitId of unitIds)
1262
+ explained.add(unitId);
1263
+ }
1264
+ continue;
1265
+ }
1266
+ if (checklist && declaration.kind === "evidence")
1267
+ unitIds = [target.id];
1268
+ this.conflicts(declaration, target.id, hostUnitIds, unitIds, edges, declarations, reference.severity, claimIndex, referenceIndex, checklist);
1269
+ edges.push({
1270
+ declarationId: declaration.id,
1271
+ hostId: declaration.hostId,
1272
+ hostUnitIds,
1273
+ kind: declaration.kind,
1274
+ targetUnitId: target.id,
1275
+ unitIds,
1276
+ fingerprint: fingerprints.inspect(target.id).fingerprint,
1277
+ });
1278
+ this.answeredDeclarations.add(declaration.id);
1279
+ if (!checklist)
1280
+ for (const id of unitIds)
1281
+ covered.add(id);
1282
+ }
1283
+ this.evaluateReviews(context, edges);
1284
+ if (checklist)
1285
+ return this.checklistObligation(context, edges, explainedByHost);
1286
+ this.cardinality(context, edges);
1287
+ const coveredUnitIds = selectedUnits
1288
+ .filter((unit) => covered.has(unit.id))
1289
+ .map((unit) => unit.id);
1290
+ const missingUnits = selectedUnits.filter((unit) => !covered.has(unit.id));
1291
+ for (const unit of missingUnits)
1292
+ this.diagnostics.push(this.problem("graph-missing-acknowledgement", reference.severity, `Missing acknowledgement for '${this.display(referenceInventory, unit)}'.`, reference.noEvidenceExclude === true
1293
+ ? "Cite the claim artifact that implements this unit with positive @evidence."
1294
+ : "Cite the claim artifact that implements this unit with @evidence, or exclude it on an eligible carrier when it does not apply.", claimIndex, referenceIndex, undefined, unit));
1295
+ return this.obligation(claimIndex, referenceIndex, true, true, selectedUnits.map((unit) => unit.id), coveredUnitIds, missingUnits.map((unit) => unit.id), edges);
1296
+ }
1297
+ /**
1298
+ * Computes checklist coverage separately for every selected claim host.
1299
+ *
1300
+ * A checklist does not permit one host's acknowledgement to answer another
1301
+ * host's obligation. Aggregate citations that were diagnosed earlier are kept
1302
+ * as explanations, allowing the result to distinguish an explicitly invalid
1303
+ * aggregate answer from an entirely absent answer.
1304
+ */
1305
+ checklistObligation(context, edges, explainedByHost) {
1306
+ const { claim: { inventory: claimInventory, population: claimPopulation, index: claimIndex, }, reference, index: referenceIndex, inventory: referenceInventory, } = context;
1307
+ const selectedUnits = context.population.units;
1308
+ const coveredByHost = new Map(claimPopulation.units.map((unit) => [unit.id, new Set()]));
1309
+ for (const edge of edges)
1310
+ for (const hostUnitId of edge.hostUnitIds) {
1311
+ const covered = coveredByHost.get(hostUnitId);
1312
+ if (covered === undefined)
1313
+ continue;
1314
+ for (const unitId of edge.unitIds)
1315
+ covered.add(unitId);
1316
+ }
1317
+ const hostCoverage = claimPopulation.units.map((host) => {
1318
+ const covered = coveredByHost.get(host.id) ?? new Set();
1319
+ const explained = explainedByHost.get(host.id) ?? new Set();
1320
+ const coveredUnitIds = selectedUnits
1321
+ .filter((unit) => covered.has(unit.id))
1322
+ .map((unit) => unit.id);
1323
+ const missingUnits = selectedUnits.filter((unit) => !covered.has(unit.id));
1324
+ const explainedUnitIds = missingUnits
1325
+ .filter((unit) => explained.has(unit.id))
1326
+ .map((unit) => unit.id);
1327
+ const reportable = missingUnits.filter((unit) => !explained.has(unit.id));
1328
+ if (reportable.length !== 0)
1329
+ this.diagnostics.push(this.problem("graph-checklist-missing", reference.severity, `Host '${this.display(claimInventory, host)}' has not acknowledged ${reportable.length} of ${selectedUnits.length} checklist item(s): ${reportable
1330
+ .map((unit) => `'${this.display(referenceInventory, unit)}'`)
1331
+ .join(", ")}.`, reference.noEvidenceExclude === true
1332
+ ? "Cite every missing checklist item from this host with positive @evidence."
1333
+ : "Cite every missing checklist item from this host, or exclude the scope that does not apply.", claimIndex, referenceIndex, undefined, host));
1334
+ return {
1335
+ hostUnitId: host.id,
1336
+ coveredUnitIds,
1337
+ missingUnitIds: missingUnits.map((unit) => unit.id),
1338
+ explainedUnitIds,
1339
+ };
1340
+ });
1341
+ const coveredUnitIds = selectedUnits
1342
+ .filter((unit) => hostCoverage.every((host) => host.coveredUnitIds.includes(unit.id)))
1343
+ .map((unit) => unit.id);
1344
+ const covered = new Set(coveredUnitIds);
1345
+ return this.obligation(claimIndex, referenceIndex, true, true, selectedUnits.map((unit) => unit.id), coveredUnitIds, selectedUnits
1346
+ .filter((unit) => !covered.has(unit.id))
1347
+ .map((unit) => unit.id), edges, hostCoverage);
1348
+ }
1349
+ /**
1350
+ * Enforces cardinality policies over positive coverage edges.
1351
+ *
1352
+ * Exclusions do not count as evidence, and aliases cannot inflate counts
1353
+ * because sets use semantic identities. This runs after edge creation so the
1354
+ * policy observes the same host and target scopes reported to callers.
1355
+ */
1356
+ cardinality(context, edges) {
1357
+ const { claim: { inventory: claimInventory, population: claimPopulation, index: claimIndex, }, reference, index: referenceIndex, inventory: referenceInventory, } = context;
1358
+ const selectedUnits = context.population.units;
1359
+ const evidence = edges.filter((edge) => edge.kind === "evidence");
1360
+ if (reference.singleEvidencePerSymbol === true)
1361
+ for (const host of claimPopulation.units) {
1362
+ const cited = new Set(evidence
1363
+ .filter((edge) => edge.hostUnitIds.includes(host.id))
1364
+ .flatMap((edge) => edge.unitIds));
1365
+ if (cited.size === 1)
1366
+ continue;
1367
+ this.diagnostics.push(this.problem("graph-single-evidence-per-symbol", reference.severity, `Host '${this.display(claimInventory, host)}' cites ${cited.size} distinct selected evidence unit(s); singleEvidencePerSymbol requires exactly 1.`, "Keep positive @evidence on this semantic host to exactly one selected unit.", claimIndex, referenceIndex, undefined, host));
1368
+ }
1369
+ if (reference.uniqueEvidence === true)
1370
+ for (const unit of selectedUnits) {
1371
+ const hosts = new Set(evidence
1372
+ .filter((edge) => edge.unitIds.includes(unit.id))
1373
+ .flatMap((edge) => edge.hostUnitIds));
1374
+ if (hosts.size <= 1)
1375
+ continue;
1376
+ this.diagnostics.push(this.problem("graph-unique-evidence", reference.severity, `Evidence unit '${this.display(referenceInventory, unit)}' has ${hosts.size} distinct positive evidence host(s); uniqueEvidence allows at most 1.`, "Keep one selected semantic host for this unit and remove the other positive citations.", claimIndex, referenceIndex, undefined, unit));
1377
+ }
1378
+ }
1379
+ /**
1380
+ * Reports duplicate and contradictory acknowledgement scopes before adding an edge.
1381
+ *
1382
+ * Normal coverage permits one aggregate target to cover several selected units,
1383
+ * while checklist coverage also requires the same host to overlap. Comparing
1384
+ * the appropriate scopes prevents an exclusion or repeated annotation from
1385
+ * silently changing the meaning of an earlier acknowledgement.
1386
+ */
1387
+ conflicts(declaration, targetUnitId, hostUnitIds, unitIds, edges, declarations, severity, claimIndex, referenceIndex, checklist) {
1388
+ if (declaration.kind === "evidence") {
1389
+ const duplicate = edges.find((edge) => edge.kind === "evidence" &&
1390
+ this.overlaps(edge.hostUnitIds, hostUnitIds) &&
1391
+ edge.targetUnitId === targetUnitId);
1392
+ if (duplicate !== undefined)
1393
+ this.diagnostics.push(this.problem("graph-duplicate-evidence", severity, `The same host repeats @evidence for '${declaration.target}'.`, "Keep one acknowledgement for this target on the semantic host.", claimIndex, referenceIndex, declaration));
1394
+ }
1395
+ const opposite = edges.find((edge) => edge.kind !== declaration.kind &&
1396
+ this.overlaps(edge.unitIds, unitIds) &&
1397
+ (!checklist || this.overlaps(edge.hostUnitIds, hostUnitIds)));
1398
+ if (opposite !== undefined) {
1399
+ const previous = declarations.get(opposite.declarationId);
1400
+ this.diagnostics.push(this.problem("graph-conflicting-acknowledgements", severity, `@evidence and @evidenceExclude overlap at '${declaration.target}'.`, previous === undefined
1401
+ ? "Delete whichever acknowledgement states the wrong intent."
1402
+ : `Delete whichever acknowledgement states the wrong intent; the earlier declaration is '${previous.target}'.`, claimIndex, referenceIndex, declaration));
1403
+ }
1404
+ if (declaration.kind === "evidenceExclude") {
1405
+ const duplicate = edges.find((edge) => edge.kind === "evidenceExclude" &&
1406
+ this.overlaps(edge.unitIds, unitIds) &&
1407
+ (!checklist || this.overlaps(edge.hostUnitIds, hostUnitIds)));
1408
+ if (duplicate !== undefined)
1409
+ this.diagnostics.push(this.problem("graph-duplicate-exclusion", severity, `@evidenceExclude for '${declaration.target}' overlaps an earlier exclusion.`, "Keep one exclusion at the widest truthful scope.", claimIndex, referenceIndex, declaration));
1410
+ }
1411
+ }
1412
+ /**
1413
+ * Pairs reviews with acknowledgements by kind, host, and resolved target.
1414
+ *
1415
+ * Reviews validate fingerprints but never discharge missing coverage. This
1416
+ * phase first validates review statements against resolved acknowledgements,
1417
+ * then enforces required-review freshness only for accepted coverage edges.
1418
+ * A malformed review therefore remains diagnostic evidence without becoming a
1419
+ * substitute for the positive or exclusion statement it names.
1420
+ */
1421
+ evaluateReviews(context, edges) {
1422
+ const { claim: { inventory: claimInventory, index: claimIndex }, reference, index: referenceIndex, inventory: referenceInventory, population: referencePopulation, resolutions: declarationResolutions, reviewResolutions, } = context;
1423
+ const declarations = new Map(claimInventory.declarations.map((declaration) => [
1424
+ declaration.id,
1425
+ declaration,
1426
+ ]));
1427
+ const reviews = new Map(claimInventory.reviews.map((review) => [review.id, review]));
1428
+ const hosts = new Map(claimInventory.hosts.map((host) => [host.id, host]));
1429
+ const scopeIds = new Set(referencePopulation.scopes.map((unit) => unit.id));
1430
+ const acknowledgements = [];
1431
+ for (const entry of declarationResolutions) {
1432
+ const declaration = declarations.get(entry.declarationId);
1433
+ const target = entry.resolution.units[0];
1434
+ if (declaration === undefined ||
1435
+ entry.resolution.status !== "resolved" ||
1436
+ target === undefined ||
1437
+ entry.resolution.units.length !== 1 ||
1438
+ !scopeIds.has(target.id))
1439
+ continue;
1440
+ const host = hosts.get(declaration.hostId);
1441
+ acknowledgements.push({
1442
+ declaration,
1443
+ hostUnitIds: host?.attachment === "attached" ? host.unitIds : [],
1444
+ targetUnitId: target.id,
1445
+ });
1446
+ }
1447
+ const records = [];
1448
+ const duplicateKeys = new Set();
1449
+ for (const entry of reviewResolutions) {
1450
+ const review = reviews.get(entry.reviewId);
1451
+ if (review === undefined) {
1452
+ this.diagnostics.push(this.problem("graph-review-resolution-review", reference.severity, `Review resolution '${entry.reviewId}' has no claim review statement.`, "Rebuild review target resolutions from this claim inventory before evaluating the graph.", claimIndex, referenceIndex));
1453
+ continue;
1454
+ }
1455
+ if (entry.resolution.status !== "resolved")
1456
+ continue;
1457
+ const target = entry.resolution.units[0];
1458
+ if (target === undefined ||
1459
+ entry.resolution.units.length !== 1 ||
1460
+ !scopeIds.has(target.id)) {
1461
+ this.diagnostics.push(this.problem("graph-review-resolution-scope", reference.severity, `Resolved review target '${review.target}' is outside this reference's selected structural scopes.`, "Resolve the review with this reference's exact selected unit IDs.", claimIndex, referenceIndex, review));
1462
+ continue;
1463
+ }
1464
+ const host = hosts.get(review.hostId);
1465
+ const hostUnitIds = host?.attachment === "attached" ? host.unitIds : [];
1466
+ const key = JSON.stringify([review.hostId, review.reviews, target.id]);
1467
+ if (duplicateKeys.has(key)) {
1468
+ this.diagnostics.push(this.problem("graph-duplicate-review", reference.severity, `The same documentation position repeats ${this.reviewMarker(review.reviews)} for '${review.target}'.`, "Keep the review that states what was checked and remove the other.", claimIndex, referenceIndex, review));
1469
+ continue;
1470
+ }
1471
+ duplicateKeys.add(key);
1472
+ records.push({ review, hostUnitIds, targetUnitId: target.id });
1473
+ }
1474
+ for (const record of records) {
1475
+ const matching = acknowledgements.some((acknowledgement) => acknowledgement.declaration.kind === record.review.reviews &&
1476
+ acknowledgement.targetUnitId === record.targetUnitId &&
1477
+ this.reviewHostMatches(record, acknowledgement.declaration.hostId, acknowledgement.hostUnitIds));
1478
+ if (matching)
1479
+ continue;
1480
+ const opposite = acknowledgements.find((acknowledgement) => acknowledgement.declaration.kind !== record.review.reviews &&
1481
+ acknowledgement.targetUnitId === record.targetUnitId &&
1482
+ this.reviewHostMatches(record, acknowledgement.declaration.hostId, acknowledgement.hostUnitIds));
1483
+ this.diagnostics.push(opposite === undefined
1484
+ ? this.problem("graph-orphan-review", reference.severity, `${this.reviewMarker(record.review.reviews)} for '${record.review.target}' has no matching acknowledgement on its semantic host.`, `Correct the target, add @${record.review.reviews} when this host answers it, or remove the review.`, claimIndex, referenceIndex, record.review)
1485
+ : this.problem("graph-review-kind", reference.severity, `${this.reviewMarker(record.review.reviews)} for '${record.review.target}' cannot review @${opposite.declaration.kind}.`, `Rewrite it as ${this.reviewMarker(opposite.declaration.kind)}, or correct the acknowledgement kind.`, claimIndex, referenceIndex, record.review));
1486
+ }
1487
+ if (reference.requireReview !== true)
1488
+ return;
1489
+ for (const edge of edges) {
1490
+ const candidates = records.filter((record) => record.review.reviews === edge.kind &&
1491
+ record.targetUnitId === edge.targetUnitId &&
1492
+ this.reviewHostMatches(record, edge.hostId, edge.hostUnitIds));
1493
+ const review = candidates[0]?.review;
1494
+ const marker = this.reviewMarker(edge.kind);
1495
+ const declaration = claimInventory.declarations.find((candidate) => candidate.id === edge.declarationId);
1496
+ if (review === undefined) {
1497
+ const wrongKind = records.some((record) => record.review.reviews !== edge.kind &&
1498
+ record.targetUnitId === edge.targetUnitId &&
1499
+ this.reviewHostMatches(record, edge.hostId, edge.hostUnitIds));
1500
+ if (wrongKind)
1501
+ continue;
1502
+ this.diagnostics.push(this.problem("graph-missing-review", reference.severity, `@${edge.kind} for '${declaration?.target ?? this.displayUnit(referenceInventory, edge.targetUnitId)}' has no matching ${marker}; the current scope fingerprint is '#${edge.fingerprint}'.`, `Add '${marker} ${declaration?.target ?? "<target>"} #${edge.fingerprint} <what you checked>' on the same semantic host.`, claimIndex, referenceIndex, declaration));
1503
+ continue;
1504
+ }
1505
+ if (review.fingerprint === undefined) {
1506
+ this.diagnostics.push(this.problem("graph-missing-review-fingerprint", reference.severity, `${marker} for '${review.target}' has no fingerprint; the current scope fingerprint is '#${edge.fingerprint}'.`, `Write '#${edge.fingerprint}' after the review target so later content changes can expire it.`, claimIndex, referenceIndex, review));
1507
+ continue;
1508
+ }
1509
+ if (review.fingerprint !== edge.fingerprint)
1510
+ this.diagnostics.push(this.problem("graph-stale-review", reference.severity, `${marker} for '${review.target}' names '#${review.fingerprint}', but the current scope fingerprint is '#${edge.fingerprint}'.`, `Review the cited content again and replace the fingerprint with '#${edge.fingerprint}', or correct the acknowledgement if it no longer applies.`, claimIndex, referenceIndex, review));
1511
+ }
1512
+ }
1513
+ /**
1514
+ * Tests whether a review belongs to an acknowledgement's semantic host population.
1515
+ *
1516
+ * Unattached reviews can match only their exact documentation host. Attached
1517
+ * reviews instead match any shared semantic owner, which preserves alias and
1518
+ * multi-owner attachment semantics without matching a different claim host.
1519
+ */
1520
+ reviewHostMatches(review, hostId, hostUnitIds) {
1521
+ return review.hostUnitIds.length === 0
1522
+ ? review.review.hostId === hostId
1523
+ : this.overlaps(review.hostUnitIds, hostUnitIds);
1524
+ }
1525
+ /**
1526
+ * Selects the review marker required by an acknowledgement kind.
1527
+ *
1528
+ * Keeping this mapping in one place makes diagnostics and repair text agree
1529
+ * about whether a positive citation needs @evidenceReview or an exclusion
1530
+ * needs @evidenceExcludeReview.
1531
+ */
1532
+ reviewMarker(kind) {
1533
+ return kind === "evidence" ? "@evidenceReview" : "@evidenceExcludeReview";
1534
+ }
1535
+ /**
1536
+ * Formats a known semantic identity for a diagnostic.
1537
+ *
1538
+ * Resolution records can be stale or invalid, so an unknown identity remains
1539
+ * visible verbatim rather than causing diagnostic construction to fail.
1540
+ */
1541
+ displayUnit(inventory, id) {
1542
+ const unit = inventory.units.find((candidate) => candidate.id === id);
1543
+ return unit === undefined ? id : this.display(inventory, unit);
1544
+ }
1545
+ /**
1546
+ * Validates and orders acknowledgement resolutions within one reference obligation.
1547
+ *
1548
+ * Repeated identical entries collapse to one statement. Conflicting entries
1549
+ * are removed and diagnosed because selecting either outcome would let source
1550
+ * order decide coverage; source-coordinate ordering then stabilizes all valid
1551
+ * edge and diagnostic processing.
1552
+ */
1553
+ resolutions(inventory, reference, claimIndex, referenceIndex) {
1554
+ const declarations = new Map(inventory.declarations.map((declaration) => [
1555
+ declaration.id,
1556
+ declaration,
1557
+ ]));
1558
+ const records = new Map();
1559
+ const conflicts = new Set();
1560
+ for (const entry of reference.resolutions) {
1561
+ if (conflicts.has(entry.declarationId))
1562
+ continue;
1563
+ const previous = records.get(entry.declarationId);
1564
+ if (previous !== undefined &&
1565
+ (() => {
1566
+ const _ip0 = input => Array.isArray(input["withdrawals"]) && input["withdrawals"].every(elem => "object" === typeof elem && null !== elem && _io6(elem));
1567
+ const _ip1 = input => "string" === typeof input["file"];
1568
+ const _ip2 = input => "string" === typeof input["id"];
1569
+ const _iv0 = new Set(["bigquery", "c", "cpp", "csharp", "dart", "dbml", "go", "java", "javascript", "kotlin", "lua", "markdown", "matlab", "mysql", "objc", "php", "postgresql", "prisma", "python", "ruby", "rust", "scala", "sql", "sqlite", "swagger", "swift", "typescript", "zig"]);
1570
+ const _iv1 = new Set(["column", "file", "function", "h1", "h2", "h3", "h4", "model", "operation", "property", "relation", "type"]);
1571
+ const _so0 = input => `{"status":${"\"" + input.status + "\""},"addresses":${`[${_jsonStringifyArray_1._jsonStringifyArray(input.addresses, elem => _so1(elem))}]`},"units":${`[${_jsonStringifyArray_1._jsonStringifyArray(input.units, elem => _so2(elem))}]`},"withdrawals":${`[${_jsonStringifyArray_1._jsonStringifyArray(input.withdrawals, elem => _so6(elem))}]`},"diagnostics":${`[${_jsonStringifyArray_1._jsonStringifyArray(input.diagnostics, elem => _so8(elem))}]`}}`;
1572
+ const _so1 = input => `{"file":${_jsonStringifyString_1._jsonStringifyString(input.file)},"segments":${`[${_jsonStringifyArray_1._jsonStringifyArray(input.segments, elem => _jsonStringifyString_1._jsonStringifyString(elem))}]`}}`;
1573
+ const _so2 = input => `{"id":${_jsonStringifyString_1._jsonStringifyString(input.id)},${undefined === input.parentId ? "" : `"parentId":${undefined !== input.parentId ? _jsonStringifyString_1._jsonStringifyString(input.parentId) : undefined},`}"type":${"\"" + input.type + "\""},"symbol":${"\"" + input.symbol + "\""},"identity":${`[${_jsonStringifyArray_1._jsonStringifyArray(input.identity, elem => _jsonStringifyString_1._jsonStringifyString(elem))}]`},"name":${_jsonStringifyString_1._jsonStringifyString(input.name)},${undefined === input.contentDigest ? "" : `"contentDigest":${undefined !== input.contentDigest ? _jsonStringifyString_1._jsonStringifyString(input.contentDigest) : undefined},`}"sites":${`[${_jsonStringifyArray_1._jsonStringifyArray(input.sites, elem => _so3(elem))}]`},"withdrawals":${`[${_jsonStringifyArray_1._jsonStringifyArray(input.withdrawals, elem => _so6(elem))}]`}}`;
1574
+ const _so3 = input => `{"id":${_jsonStringifyString_1._jsonStringifyString(input.id)},"file":${_jsonStringifyString_1._jsonStringifyString(input.file)},"range":${_so4(input.range)},"content":${`[${_jsonStringifyArray_1._jsonStringifyArray(input.content, elem => _so4(elem))}]`}}`;
1575
+ const _so4 = input => `{"start":${_so5(input.start)},"end":${_so5(input.end)}}`;
1576
+ const _so5 = input => `{"offset":${String(_jsonStringifyNumber_1._jsonStringifyNumber(input.offset))},"line":${String(_jsonStringifyNumber_1._jsonStringifyNumber(input.line))},"column":${String(_jsonStringifyNumber_1._jsonStringifyNumber(input.column))}}`;
1577
+ const _so6 = input => `{"tag":${"\"" + input.tag + "\""},"location":${_so7(input.location)}}`;
1578
+ const _so7 = input => `{${_jsonStringifyTail_1._jsonStringifyTail(`"file":${_jsonStringifyString_1._jsonStringifyString(input.file)},${undefined === input.range ? "" : `"range":${undefined !== input.range ? _so4(input.range) : undefined}`}`)}}`;
1579
+ const _so8 = input => `{${_jsonStringifyTail_1._jsonStringifyTail(`"code":${_jsonStringifyString_1._jsonStringifyString(input.code)},"severity":${"\"" + input.severity + "\""},"message":${_jsonStringifyString_1._jsonStringifyString(input.message)},"repair":${_jsonStringifyString_1._jsonStringifyString(input.repair)},${undefined === input.location ? "" : `"location":${undefined !== input.location ? _so7(input.location) : undefined},`}${undefined === input.claim ? "" : `"claim":${undefined !== input.claim ? String(_jsonStringifyNumber_1._jsonStringifyNumber(input.claim)) : undefined},`}${undefined === input.reference ? "" : `"reference":${undefined !== input.reference ? String(_jsonStringifyNumber_1._jsonStringifyNumber(input.reference)) : undefined},`}${undefined === input.hostId ? "" : `"hostId":${undefined !== input.hostId ? _jsonStringifyString_1._jsonStringifyString(input.hostId) : undefined},`}${undefined === input.target ? "" : `"target":${undefined !== input.target ? _jsonStringifyString_1._jsonStringifyString(input.target) : undefined}`}`)}}`;
1580
+ const _io1 = input => _ip1(input) && (Array.isArray(input.segments) && input.segments.every(elem => "string" === typeof elem));
1581
+ const _io2 = input => _ip2(input) && (undefined === input.parentId || "string" === typeof input.parentId) && true === _iv0.has(input.type) && true === _iv1.has(input.symbol) && (Array.isArray(input.identity) && input.identity.every(elem => "string" === typeof elem)) && "string" === typeof input.name && (undefined === input.contentDigest || "string" === typeof input.contentDigest) && (Array.isArray(input.sites) && input.sites.every(elem => "object" === typeof elem && null !== elem && _io3(elem))) && _ip0(input);
1582
+ const _io3 = input => _ip2(input) && _ip1(input) && ("object" === typeof input.range && null !== input.range && _io4(input.range)) && (Array.isArray(input.content) && input.content.every(elem => "object" === typeof elem && null !== elem && _io4(elem)));
1583
+ const _io4 = input => "object" === typeof input.start && null !== input.start && _io5(input.start) && ("object" === typeof input.end && null !== input.end && _io5(input.end));
1584
+ const _io5 = input => "number" === typeof input.offset && "number" === typeof input.line && "number" === typeof input.column;
1585
+ const _io6 = input => ("hidden" === input.tag || "ignore" === input.tag || "internal" === input.tag) && ("object" === typeof input.location && null !== input.location && _io7(input.location));
1586
+ const _io7 = input => _ip1(input) && (undefined === input.range || "object" === typeof input.range && null !== input.range && _io4(input.range));
1587
+ const _io8 = input => "string" === typeof input.code && ("error" === input.severity || "warning" === input.severity) && "string" === typeof input.message && "string" === typeof input.repair && (undefined === input.location || "object" === typeof input.location && null !== input.location && _io7(input.location)) && (undefined === input.claim || "number" === typeof input.claim) && (undefined === input.reference || "number" === typeof input.reference) && (undefined === input.hostId || "string" === typeof input.hostId) && (undefined === input.target || "string" === typeof input.target);
1588
+ return input => _so0(input);
1589
+ })()(previous.resolution) !== (() => {
1590
+ const _ip0 = input => Array.isArray(input["withdrawals"]) && input["withdrawals"].every(elem => "object" === typeof elem && null !== elem && _io6(elem));
1591
+ const _ip1 = input => "string" === typeof input["file"];
1592
+ const _ip2 = input => "string" === typeof input["id"];
1593
+ const _iv0 = new Set(["bigquery", "c", "cpp", "csharp", "dart", "dbml", "go", "java", "javascript", "kotlin", "lua", "markdown", "matlab", "mysql", "objc", "php", "postgresql", "prisma", "python", "ruby", "rust", "scala", "sql", "sqlite", "swagger", "swift", "typescript", "zig"]);
1594
+ const _iv1 = new Set(["column", "file", "function", "h1", "h2", "h3", "h4", "model", "operation", "property", "relation", "type"]);
1595
+ const _so0 = input => `{"status":${"\"" + input.status + "\""},"addresses":${`[${_jsonStringifyArray_1._jsonStringifyArray(input.addresses, elem => _so1(elem))}]`},"units":${`[${_jsonStringifyArray_1._jsonStringifyArray(input.units, elem => _so2(elem))}]`},"withdrawals":${`[${_jsonStringifyArray_1._jsonStringifyArray(input.withdrawals, elem => _so6(elem))}]`},"diagnostics":${`[${_jsonStringifyArray_1._jsonStringifyArray(input.diagnostics, elem => _so8(elem))}]`}}`;
1596
+ const _so1 = input => `{"file":${_jsonStringifyString_1._jsonStringifyString(input.file)},"segments":${`[${_jsonStringifyArray_1._jsonStringifyArray(input.segments, elem => _jsonStringifyString_1._jsonStringifyString(elem))}]`}}`;
1597
+ const _so2 = input => `{"id":${_jsonStringifyString_1._jsonStringifyString(input.id)},${undefined === input.parentId ? "" : `"parentId":${undefined !== input.parentId ? _jsonStringifyString_1._jsonStringifyString(input.parentId) : undefined},`}"type":${"\"" + input.type + "\""},"symbol":${"\"" + input.symbol + "\""},"identity":${`[${_jsonStringifyArray_1._jsonStringifyArray(input.identity, elem => _jsonStringifyString_1._jsonStringifyString(elem))}]`},"name":${_jsonStringifyString_1._jsonStringifyString(input.name)},${undefined === input.contentDigest ? "" : `"contentDigest":${undefined !== input.contentDigest ? _jsonStringifyString_1._jsonStringifyString(input.contentDigest) : undefined},`}"sites":${`[${_jsonStringifyArray_1._jsonStringifyArray(input.sites, elem => _so3(elem))}]`},"withdrawals":${`[${_jsonStringifyArray_1._jsonStringifyArray(input.withdrawals, elem => _so6(elem))}]`}}`;
1598
+ const _so3 = input => `{"id":${_jsonStringifyString_1._jsonStringifyString(input.id)},"file":${_jsonStringifyString_1._jsonStringifyString(input.file)},"range":${_so4(input.range)},"content":${`[${_jsonStringifyArray_1._jsonStringifyArray(input.content, elem => _so4(elem))}]`}}`;
1599
+ const _so4 = input => `{"start":${_so5(input.start)},"end":${_so5(input.end)}}`;
1600
+ const _so5 = input => `{"offset":${String(_jsonStringifyNumber_1._jsonStringifyNumber(input.offset))},"line":${String(_jsonStringifyNumber_1._jsonStringifyNumber(input.line))},"column":${String(_jsonStringifyNumber_1._jsonStringifyNumber(input.column))}}`;
1601
+ const _so6 = input => `{"tag":${"\"" + input.tag + "\""},"location":${_so7(input.location)}}`;
1602
+ const _so7 = input => `{${_jsonStringifyTail_1._jsonStringifyTail(`"file":${_jsonStringifyString_1._jsonStringifyString(input.file)},${undefined === input.range ? "" : `"range":${undefined !== input.range ? _so4(input.range) : undefined}`}`)}}`;
1603
+ const _so8 = input => `{${_jsonStringifyTail_1._jsonStringifyTail(`"code":${_jsonStringifyString_1._jsonStringifyString(input.code)},"severity":${"\"" + input.severity + "\""},"message":${_jsonStringifyString_1._jsonStringifyString(input.message)},"repair":${_jsonStringifyString_1._jsonStringifyString(input.repair)},${undefined === input.location ? "" : `"location":${undefined !== input.location ? _so7(input.location) : undefined},`}${undefined === input.claim ? "" : `"claim":${undefined !== input.claim ? String(_jsonStringifyNumber_1._jsonStringifyNumber(input.claim)) : undefined},`}${undefined === input.reference ? "" : `"reference":${undefined !== input.reference ? String(_jsonStringifyNumber_1._jsonStringifyNumber(input.reference)) : undefined},`}${undefined === input.hostId ? "" : `"hostId":${undefined !== input.hostId ? _jsonStringifyString_1._jsonStringifyString(input.hostId) : undefined},`}${undefined === input.target ? "" : `"target":${undefined !== input.target ? _jsonStringifyString_1._jsonStringifyString(input.target) : undefined}`}`)}}`;
1604
+ const _io1 = input => _ip1(input) && (Array.isArray(input.segments) && input.segments.every(elem => "string" === typeof elem));
1605
+ const _io2 = input => _ip2(input) && (undefined === input.parentId || "string" === typeof input.parentId) && true === _iv0.has(input.type) && true === _iv1.has(input.symbol) && (Array.isArray(input.identity) && input.identity.every(elem => "string" === typeof elem)) && "string" === typeof input.name && (undefined === input.contentDigest || "string" === typeof input.contentDigest) && (Array.isArray(input.sites) && input.sites.every(elem => "object" === typeof elem && null !== elem && _io3(elem))) && _ip0(input);
1606
+ const _io3 = input => _ip2(input) && _ip1(input) && ("object" === typeof input.range && null !== input.range && _io4(input.range)) && (Array.isArray(input.content) && input.content.every(elem => "object" === typeof elem && null !== elem && _io4(elem)));
1607
+ const _io4 = input => "object" === typeof input.start && null !== input.start && _io5(input.start) && ("object" === typeof input.end && null !== input.end && _io5(input.end));
1608
+ const _io5 = input => "number" === typeof input.offset && "number" === typeof input.line && "number" === typeof input.column;
1609
+ const _io6 = input => ("hidden" === input.tag || "ignore" === input.tag || "internal" === input.tag) && ("object" === typeof input.location && null !== input.location && _io7(input.location));
1610
+ const _io7 = input => _ip1(input) && (undefined === input.range || "object" === typeof input.range && null !== input.range && _io4(input.range));
1611
+ const _io8 = input => "string" === typeof input.code && ("error" === input.severity || "warning" === input.severity) && "string" === typeof input.message && "string" === typeof input.repair && (undefined === input.location || "object" === typeof input.location && null !== input.location && _io7(input.location)) && (undefined === input.claim || "number" === typeof input.claim) && (undefined === input.reference || "number" === typeof input.reference) && (undefined === input.hostId || "string" === typeof input.hostId) && (undefined === input.target || "string" === typeof input.target);
1612
+ return input => _so0(input);
1613
+ })()(entry.resolution)) {
1614
+ this.diagnostics.push(this.problem("graph-conflicting-resolution", reference.severity, `Acknowledgement '${entry.declarationId}' has conflicting target resolutions.`, "Resolve each acknowledgement once per reference population.", claimIndex, referenceIndex, declarations.get(entry.declarationId)));
1615
+ records.delete(entry.declarationId);
1616
+ conflicts.add(entry.declarationId);
1617
+ }
1618
+ else
1619
+ records.set(entry.declarationId, entry);
1620
+ }
1621
+ return Array.from(records.values()).sort((x, y) => this.compareStatements(declarations.get(x.declarationId), declarations.get(y.declarationId), x.declarationId, y.declarationId));
1622
+ }
1623
+ /**
1624
+ * Validates and orders review resolutions without combining them with acknowledgements.
1625
+ *
1626
+ * Reviews have their own target-resolution lifecycle. Conflicts therefore
1627
+ * invalidate only the review statement and cannot alter acknowledgement
1628
+ * coverage or mask a missing positive citation.
1629
+ */
1630
+ reviewResolutions(inventory, reference, claimIndex, referenceIndex) {
1631
+ const reviews = new Map(inventory.reviews.map((review) => [review.id, review]));
1632
+ const records = new Map();
1633
+ const conflicts = new Set();
1634
+ for (const entry of reference.reviewResolutions ?? []) {
1635
+ if (conflicts.has(entry.reviewId))
1636
+ continue;
1637
+ const previous = records.get(entry.reviewId);
1638
+ if (previous !== undefined &&
1639
+ (() => {
1640
+ const _ip0 = input => Array.isArray(input["withdrawals"]) && input["withdrawals"].every(elem => "object" === typeof elem && null !== elem && _io6(elem));
1641
+ const _ip1 = input => "string" === typeof input["file"];
1642
+ const _ip2 = input => "string" === typeof input["id"];
1643
+ const _iv0 = new Set(["bigquery", "c", "cpp", "csharp", "dart", "dbml", "go", "java", "javascript", "kotlin", "lua", "markdown", "matlab", "mysql", "objc", "php", "postgresql", "prisma", "python", "ruby", "rust", "scala", "sql", "sqlite", "swagger", "swift", "typescript", "zig"]);
1644
+ const _iv1 = new Set(["column", "file", "function", "h1", "h2", "h3", "h4", "model", "operation", "property", "relation", "type"]);
1645
+ const _so0 = input => `{"status":${"\"" + input.status + "\""},"addresses":${`[${_jsonStringifyArray_1._jsonStringifyArray(input.addresses, elem => _so1(elem))}]`},"units":${`[${_jsonStringifyArray_1._jsonStringifyArray(input.units, elem => _so2(elem))}]`},"withdrawals":${`[${_jsonStringifyArray_1._jsonStringifyArray(input.withdrawals, elem => _so6(elem))}]`},"diagnostics":${`[${_jsonStringifyArray_1._jsonStringifyArray(input.diagnostics, elem => _so8(elem))}]`}}`;
1646
+ const _so1 = input => `{"file":${_jsonStringifyString_1._jsonStringifyString(input.file)},"segments":${`[${_jsonStringifyArray_1._jsonStringifyArray(input.segments, elem => _jsonStringifyString_1._jsonStringifyString(elem))}]`}}`;
1647
+ const _so2 = input => `{"id":${_jsonStringifyString_1._jsonStringifyString(input.id)},${undefined === input.parentId ? "" : `"parentId":${undefined !== input.parentId ? _jsonStringifyString_1._jsonStringifyString(input.parentId) : undefined},`}"type":${"\"" + input.type + "\""},"symbol":${"\"" + input.symbol + "\""},"identity":${`[${_jsonStringifyArray_1._jsonStringifyArray(input.identity, elem => _jsonStringifyString_1._jsonStringifyString(elem))}]`},"name":${_jsonStringifyString_1._jsonStringifyString(input.name)},${undefined === input.contentDigest ? "" : `"contentDigest":${undefined !== input.contentDigest ? _jsonStringifyString_1._jsonStringifyString(input.contentDigest) : undefined},`}"sites":${`[${_jsonStringifyArray_1._jsonStringifyArray(input.sites, elem => _so3(elem))}]`},"withdrawals":${`[${_jsonStringifyArray_1._jsonStringifyArray(input.withdrawals, elem => _so6(elem))}]`}}`;
1648
+ const _so3 = input => `{"id":${_jsonStringifyString_1._jsonStringifyString(input.id)},"file":${_jsonStringifyString_1._jsonStringifyString(input.file)},"range":${_so4(input.range)},"content":${`[${_jsonStringifyArray_1._jsonStringifyArray(input.content, elem => _so4(elem))}]`}}`;
1649
+ const _so4 = input => `{"start":${_so5(input.start)},"end":${_so5(input.end)}}`;
1650
+ const _so5 = input => `{"offset":${String(_jsonStringifyNumber_1._jsonStringifyNumber(input.offset))},"line":${String(_jsonStringifyNumber_1._jsonStringifyNumber(input.line))},"column":${String(_jsonStringifyNumber_1._jsonStringifyNumber(input.column))}}`;
1651
+ const _so6 = input => `{"tag":${"\"" + input.tag + "\""},"location":${_so7(input.location)}}`;
1652
+ const _so7 = input => `{${_jsonStringifyTail_1._jsonStringifyTail(`"file":${_jsonStringifyString_1._jsonStringifyString(input.file)},${undefined === input.range ? "" : `"range":${undefined !== input.range ? _so4(input.range) : undefined}`}`)}}`;
1653
+ const _so8 = input => `{${_jsonStringifyTail_1._jsonStringifyTail(`"code":${_jsonStringifyString_1._jsonStringifyString(input.code)},"severity":${"\"" + input.severity + "\""},"message":${_jsonStringifyString_1._jsonStringifyString(input.message)},"repair":${_jsonStringifyString_1._jsonStringifyString(input.repair)},${undefined === input.location ? "" : `"location":${undefined !== input.location ? _so7(input.location) : undefined},`}${undefined === input.claim ? "" : `"claim":${undefined !== input.claim ? String(_jsonStringifyNumber_1._jsonStringifyNumber(input.claim)) : undefined},`}${undefined === input.reference ? "" : `"reference":${undefined !== input.reference ? String(_jsonStringifyNumber_1._jsonStringifyNumber(input.reference)) : undefined},`}${undefined === input.hostId ? "" : `"hostId":${undefined !== input.hostId ? _jsonStringifyString_1._jsonStringifyString(input.hostId) : undefined},`}${undefined === input.target ? "" : `"target":${undefined !== input.target ? _jsonStringifyString_1._jsonStringifyString(input.target) : undefined}`}`)}}`;
1654
+ const _io1 = input => _ip1(input) && (Array.isArray(input.segments) && input.segments.every(elem => "string" === typeof elem));
1655
+ const _io2 = input => _ip2(input) && (undefined === input.parentId || "string" === typeof input.parentId) && true === _iv0.has(input.type) && true === _iv1.has(input.symbol) && (Array.isArray(input.identity) && input.identity.every(elem => "string" === typeof elem)) && "string" === typeof input.name && (undefined === input.contentDigest || "string" === typeof input.contentDigest) && (Array.isArray(input.sites) && input.sites.every(elem => "object" === typeof elem && null !== elem && _io3(elem))) && _ip0(input);
1656
+ const _io3 = input => _ip2(input) && _ip1(input) && ("object" === typeof input.range && null !== input.range && _io4(input.range)) && (Array.isArray(input.content) && input.content.every(elem => "object" === typeof elem && null !== elem && _io4(elem)));
1657
+ const _io4 = input => "object" === typeof input.start && null !== input.start && _io5(input.start) && ("object" === typeof input.end && null !== input.end && _io5(input.end));
1658
+ const _io5 = input => "number" === typeof input.offset && "number" === typeof input.line && "number" === typeof input.column;
1659
+ const _io6 = input => ("hidden" === input.tag || "ignore" === input.tag || "internal" === input.tag) && ("object" === typeof input.location && null !== input.location && _io7(input.location));
1660
+ const _io7 = input => _ip1(input) && (undefined === input.range || "object" === typeof input.range && null !== input.range && _io4(input.range));
1661
+ const _io8 = input => "string" === typeof input.code && ("error" === input.severity || "warning" === input.severity) && "string" === typeof input.message && "string" === typeof input.repair && (undefined === input.location || "object" === typeof input.location && null !== input.location && _io7(input.location)) && (undefined === input.claim || "number" === typeof input.claim) && (undefined === input.reference || "number" === typeof input.reference) && (undefined === input.hostId || "string" === typeof input.hostId) && (undefined === input.target || "string" === typeof input.target);
1662
+ return input => _so0(input);
1663
+ })()(previous.resolution) !== (() => {
1664
+ const _ip0 = input => Array.isArray(input["withdrawals"]) && input["withdrawals"].every(elem => "object" === typeof elem && null !== elem && _io6(elem));
1665
+ const _ip1 = input => "string" === typeof input["file"];
1666
+ const _ip2 = input => "string" === typeof input["id"];
1667
+ const _iv0 = new Set(["bigquery", "c", "cpp", "csharp", "dart", "dbml", "go", "java", "javascript", "kotlin", "lua", "markdown", "matlab", "mysql", "objc", "php", "postgresql", "prisma", "python", "ruby", "rust", "scala", "sql", "sqlite", "swagger", "swift", "typescript", "zig"]);
1668
+ const _iv1 = new Set(["column", "file", "function", "h1", "h2", "h3", "h4", "model", "operation", "property", "relation", "type"]);
1669
+ const _so0 = input => `{"status":${"\"" + input.status + "\""},"addresses":${`[${_jsonStringifyArray_1._jsonStringifyArray(input.addresses, elem => _so1(elem))}]`},"units":${`[${_jsonStringifyArray_1._jsonStringifyArray(input.units, elem => _so2(elem))}]`},"withdrawals":${`[${_jsonStringifyArray_1._jsonStringifyArray(input.withdrawals, elem => _so6(elem))}]`},"diagnostics":${`[${_jsonStringifyArray_1._jsonStringifyArray(input.diagnostics, elem => _so8(elem))}]`}}`;
1670
+ const _so1 = input => `{"file":${_jsonStringifyString_1._jsonStringifyString(input.file)},"segments":${`[${_jsonStringifyArray_1._jsonStringifyArray(input.segments, elem => _jsonStringifyString_1._jsonStringifyString(elem))}]`}}`;
1671
+ const _so2 = input => `{"id":${_jsonStringifyString_1._jsonStringifyString(input.id)},${undefined === input.parentId ? "" : `"parentId":${undefined !== input.parentId ? _jsonStringifyString_1._jsonStringifyString(input.parentId) : undefined},`}"type":${"\"" + input.type + "\""},"symbol":${"\"" + input.symbol + "\""},"identity":${`[${_jsonStringifyArray_1._jsonStringifyArray(input.identity, elem => _jsonStringifyString_1._jsonStringifyString(elem))}]`},"name":${_jsonStringifyString_1._jsonStringifyString(input.name)},${undefined === input.contentDigest ? "" : `"contentDigest":${undefined !== input.contentDigest ? _jsonStringifyString_1._jsonStringifyString(input.contentDigest) : undefined},`}"sites":${`[${_jsonStringifyArray_1._jsonStringifyArray(input.sites, elem => _so3(elem))}]`},"withdrawals":${`[${_jsonStringifyArray_1._jsonStringifyArray(input.withdrawals, elem => _so6(elem))}]`}}`;
1672
+ const _so3 = input => `{"id":${_jsonStringifyString_1._jsonStringifyString(input.id)},"file":${_jsonStringifyString_1._jsonStringifyString(input.file)},"range":${_so4(input.range)},"content":${`[${_jsonStringifyArray_1._jsonStringifyArray(input.content, elem => _so4(elem))}]`}}`;
1673
+ const _so4 = input => `{"start":${_so5(input.start)},"end":${_so5(input.end)}}`;
1674
+ const _so5 = input => `{"offset":${String(_jsonStringifyNumber_1._jsonStringifyNumber(input.offset))},"line":${String(_jsonStringifyNumber_1._jsonStringifyNumber(input.line))},"column":${String(_jsonStringifyNumber_1._jsonStringifyNumber(input.column))}}`;
1675
+ const _so6 = input => `{"tag":${"\"" + input.tag + "\""},"location":${_so7(input.location)}}`;
1676
+ const _so7 = input => `{${_jsonStringifyTail_1._jsonStringifyTail(`"file":${_jsonStringifyString_1._jsonStringifyString(input.file)},${undefined === input.range ? "" : `"range":${undefined !== input.range ? _so4(input.range) : undefined}`}`)}}`;
1677
+ const _so8 = input => `{${_jsonStringifyTail_1._jsonStringifyTail(`"code":${_jsonStringifyString_1._jsonStringifyString(input.code)},"severity":${"\"" + input.severity + "\""},"message":${_jsonStringifyString_1._jsonStringifyString(input.message)},"repair":${_jsonStringifyString_1._jsonStringifyString(input.repair)},${undefined === input.location ? "" : `"location":${undefined !== input.location ? _so7(input.location) : undefined},`}${undefined === input.claim ? "" : `"claim":${undefined !== input.claim ? String(_jsonStringifyNumber_1._jsonStringifyNumber(input.claim)) : undefined},`}${undefined === input.reference ? "" : `"reference":${undefined !== input.reference ? String(_jsonStringifyNumber_1._jsonStringifyNumber(input.reference)) : undefined},`}${undefined === input.hostId ? "" : `"hostId":${undefined !== input.hostId ? _jsonStringifyString_1._jsonStringifyString(input.hostId) : undefined},`}${undefined === input.target ? "" : `"target":${undefined !== input.target ? _jsonStringifyString_1._jsonStringifyString(input.target) : undefined}`}`)}}`;
1678
+ const _io1 = input => _ip1(input) && (Array.isArray(input.segments) && input.segments.every(elem => "string" === typeof elem));
1679
+ const _io2 = input => _ip2(input) && (undefined === input.parentId || "string" === typeof input.parentId) && true === _iv0.has(input.type) && true === _iv1.has(input.symbol) && (Array.isArray(input.identity) && input.identity.every(elem => "string" === typeof elem)) && "string" === typeof input.name && (undefined === input.contentDigest || "string" === typeof input.contentDigest) && (Array.isArray(input.sites) && input.sites.every(elem => "object" === typeof elem && null !== elem && _io3(elem))) && _ip0(input);
1680
+ const _io3 = input => _ip2(input) && _ip1(input) && ("object" === typeof input.range && null !== input.range && _io4(input.range)) && (Array.isArray(input.content) && input.content.every(elem => "object" === typeof elem && null !== elem && _io4(elem)));
1681
+ const _io4 = input => "object" === typeof input.start && null !== input.start && _io5(input.start) && ("object" === typeof input.end && null !== input.end && _io5(input.end));
1682
+ const _io5 = input => "number" === typeof input.offset && "number" === typeof input.line && "number" === typeof input.column;
1683
+ const _io6 = input => ("hidden" === input.tag || "ignore" === input.tag || "internal" === input.tag) && ("object" === typeof input.location && null !== input.location && _io7(input.location));
1684
+ const _io7 = input => _ip1(input) && (undefined === input.range || "object" === typeof input.range && null !== input.range && _io4(input.range));
1685
+ const _io8 = input => "string" === typeof input.code && ("error" === input.severity || "warning" === input.severity) && "string" === typeof input.message && "string" === typeof input.repair && (undefined === input.location || "object" === typeof input.location && null !== input.location && _io7(input.location)) && (undefined === input.claim || "number" === typeof input.claim) && (undefined === input.reference || "number" === typeof input.reference) && (undefined === input.hostId || "string" === typeof input.hostId) && (undefined === input.target || "string" === typeof input.target);
1686
+ return input => _so0(input);
1687
+ })()(entry.resolution)) {
1688
+ this.diagnostics.push(this.problem("graph-conflicting-review-resolution", reference.severity, `Review '${entry.reviewId}' has conflicting target resolutions.`, "Resolve each review once per reference population.", claimIndex, referenceIndex, reviews.get(entry.reviewId)));
1689
+ records.delete(entry.reviewId);
1690
+ conflicts.add(entry.reviewId);
1691
+ }
1692
+ else
1693
+ records.set(entry.reviewId, entry);
1694
+ }
1695
+ return Array.from(records.values()).sort((x, y) => this.compareStatements(reviews.get(x.reviewId), reviews.get(y.reviewId), x.reviewId, y.reviewId));
1696
+ }
1697
+ /**
1698
+ * Orders statements by physical source position and stable identity.
1699
+ *
1700
+ * Missing locations sort before known offsets through an explicit key, making
1701
+ * invalid adapter records deterministic without inventing a source position.
1702
+ */
1703
+ compareStatements(x, y, xId, yId) {
1704
+ const xLocation = x === undefined ? undefined : x.location;
1705
+ const yLocation = y === undefined ? undefined : y.location;
1706
+ const xOffset = xLocation?.range === undefined ? -1 : xLocation.range.start.offset;
1707
+ const yOffset = yLocation?.range === undefined ? -1 : yLocation.range.start.offset;
1708
+ const xKey = JSON.stringify([xLocation?.file ?? "", xOffset, xId]);
1709
+ const yKey = JSON.stringify([yLocation?.file ?? "", yOffset, yId]);
1710
+ return InventoryMerge_1.InventoryMerge.compare(xKey, yKey);
1711
+ }
1712
+ /**
1713
+ * Tests structural ancestry through explicit parent identities.
1714
+ *
1715
+ * Coverage scopes must not be inferred from display names or accessor text.
1716
+ * The visited set bounds malformed parent cycles so an invalid inventory can
1717
+ * still yield its diagnostic result without hanging graph evaluation.
1718
+ */
1719
+ descends(unit, ancestorId, units) {
1720
+ const visited = new Set();
1721
+ let current = unit;
1722
+ while (current !== undefined && !visited.has(current.id)) {
1723
+ if (current.id === ancestorId)
1724
+ return true;
1725
+ visited.add(current.id);
1726
+ current =
1727
+ current.parentId === undefined
1728
+ ? undefined
1729
+ : units.get(current.parentId);
1730
+ }
1731
+ return false;
1732
+ }
1733
+ /**
1734
+ * Tests whether two semantic-identity collections share a member.
1735
+ *
1736
+ * Callers use this for host and target scope relations where duplicated aliases
1737
+ * must not change the boolean result.
1738
+ */
1739
+ overlaps(x, y) {
1740
+ const right = new Set(y);
1741
+ return x.some((id) => right.has(id));
1742
+ }
1743
+ /**
1744
+ * Formats the preferred public address of a semantic unit for diagnostics.
1745
+ *
1746
+ * An address from a selected source is preferred so the repair text reflects
1747
+ * the configured population. If no public address exists, the semantic name
1748
+ * remains a useful fallback for invalid or partially extracted inventory data.
1749
+ */
1750
+ display(inventory, unit) {
1751
+ const selectedFiles = new Set(inventory.sources.flatMap((source) => source.addresses.flatMap((address) => address.selected === false
1752
+ ? []
1753
+ : [EvidenceFileTarget_1.EvidenceFileTarget.normalize(address.absolute)])));
1754
+ const addresses = inventory.addresses
1755
+ .filter((address) => address.unitId === unit.id)
1756
+ .sort((x, y) => InventoryMerge_1.InventoryMerge.compare(JSON.stringify([x.file, x.segments]), JSON.stringify([y.file, y.segments])));
1757
+ const address = addresses.find((candidate) => selectedFiles.has(EvidenceFileTarget_1.EvidenceFileTarget.normalize(candidate.file))) ?? addresses[0];
1758
+ if (address === undefined)
1759
+ return unit.name;
1760
+ return address.segments.length === 0
1761
+ ? address.file
1762
+ : EvidenceFileTarget_1.EvidenceFileTarget.format(address);
1763
+ }
1764
+ /**
1765
+ * Applies an obligation's severity and configured coordinates to an existing diagnostic.
1766
+ *
1767
+ * Inventory diagnostics carry adapter facts but no graph boundary. This wrapper
1768
+ * preserves their repair data while adding the claim/reference identity needed
1769
+ * to distinguish repeated populations in one check result.
1770
+ */
1771
+ context(diagnostic, severity, claim, reference) {
1772
+ if (severity === "off")
1773
+ throw new Error("Disabled graph state cannot emit a diagnostic.");
1774
+ return {
1775
+ ...diagnostic,
1776
+ severity,
1777
+ message: `${this.label(claim, reference)}: ${diagnostic.message}`,
1778
+ claim: this.claimIndex(claim),
1779
+ ...(reference === undefined
1780
+ ? {}
1781
+ : { reference: this.referenceIndex(claim, reference) }),
1782
+ };
1783
+ }
1784
+ /**
1785
+ * Creates a graph diagnostic with the most specific available repair location.
1786
+ *
1787
+ * A statement location wins because its annotation should be edited; otherwise
1788
+ * a missing-coverage finding points at the selected unit's first declaration
1789
+ * site. Disabled obligations are forbidden from emitting findings, protecting
1790
+ * the inactive-result contract.
1791
+ */
1792
+ problem(code, severity, message, repair, claim, reference, statement, unit) {
1793
+ if (severity === "off")
1794
+ throw new Error("Disabled graph state cannot emit a diagnostic.");
1795
+ const site = unit === undefined ? undefined : unit.sites[0];
1796
+ return {
1797
+ code,
1798
+ severity,
1799
+ message: `${this.label(claim, reference)}: ${message}`,
1800
+ repair,
1801
+ claim: this.claimIndex(claim),
1802
+ reference: this.referenceIndex(claim, reference),
1803
+ ...(statement === undefined
1804
+ ? site === undefined
1805
+ ? {}
1806
+ : { location: { file: site.file, range: site.range } }
1807
+ : {
1808
+ location: statement.location,
1809
+ hostId: statement.hostId,
1810
+ target: statement.target,
1811
+ }),
1812
+ };
1813
+ }
1814
+ /**
1815
+ * Formats a claim and optional reference boundary for a diagnostic message.
1816
+ *
1817
+ * Display numbering uses configured indexes rather than array positions, so
1818
+ * filtering or duplicated policies cannot make a report point at another
1819
+ * configuration entry.
1820
+ */
1821
+ label(claim, reference) {
1822
+ const input = this.input.claims[claim];
1823
+ const name = input?.name;
1824
+ const configuredClaim = this.claimIndex(claim);
1825
+ const label = name === undefined || name.length === 0
1826
+ ? `Claim ${configuredClaim + 1}`
1827
+ : `Claim ${configuredClaim + 1} ('${name}')`;
1828
+ return reference === undefined
1829
+ ? label
1830
+ : `${label} reference ${this.referenceIndex(claim, reference) + 1}`;
1831
+ }
1832
+ /**
1833
+ * Maps an input claim position to its configured stable index.
1834
+ *
1835
+ * The positional fallback preserves a usable boundary for malformed or
1836
+ * partially constructed graph input that lacks an indexed claim record.
1837
+ */
1838
+ claimIndex(position) {
1839
+ return this.input.claims[position]?.index ?? position;
1840
+ }
1841
+ /**
1842
+ * Maps a reference position to its configured stable index within a claim.
1843
+ *
1844
+ * This fallback mirrors claim indexing so diagnostics remain attributable even
1845
+ * while reporting an invalid graph structure.
1846
+ */
1847
+ referenceIndex(claim, position) {
1848
+ const input = this.input.claims[claim];
1849
+ return input === undefined
1850
+ ? position
1851
+ : (input.references[position]?.index ?? position);
1852
+ }
1853
+ /**
1854
+ * Rejects policy combinations that have no coherent checklist interpretation.
1855
+ *
1856
+ * Checklist asks every selected host to answer every Markdown item, whereas
1857
+ * cardinality and gathered exclusions impose incompatible global rules. Fail
1858
+ * early rather than producing coverage findings whose denominator is unclear.
1859
+ */
1860
+ validateReferencePolicy(claim, reference, population, claimIndex, referenceIndex) {
1861
+ if (reference.checklist !== true)
1862
+ return;
1863
+ if (reference.uniqueEvidence === true ||
1864
+ reference.singleEvidencePerSymbol === true)
1865
+ throw new Error(`${this.label(claimIndex, referenceIndex)} combines checklist with an incompatible cardinality policy.`);
1866
+ if ((claim.exclusionHostIds?.length ?? 0) !== 0 &&
1867
+ reference.noEvidenceExclude !== true)
1868
+ throw new Error(`${this.label(claimIndex, referenceIndex)} combines checklist with gathered exclusion carriers.`);
1869
+ if (population.units.some((unit) => unit.type !== "markdown"))
1870
+ throw new Error(`${this.label(claimIndex, referenceIndex)} applies checklist to a non-Markdown reference population.`);
1871
+ }
1872
+ /**
1873
+ * Defers an unhosted checklist finding until every reference can participate.
1874
+ *
1875
+ * The same declaration may be an eligible answer under another obligation.
1876
+ * For duplicate deferred records, the error severity is retained over warning
1877
+ * so final reporting cannot weaken the strongest applicable policy.
1878
+ */
1879
+ recordUnhostedChecklist(declaration, severity, claim, reference) {
1880
+ const previous = this.unhostedChecklists.get(declaration.id);
1881
+ if (previous === undefined ||
1882
+ (previous.severity === "warning" && severity === "error"))
1883
+ this.unhostedChecklists.set(declaration.id, {
1884
+ declaration,
1885
+ severity,
1886
+ claim,
1887
+ reference,
1888
+ });
1889
+ }
1890
+ /**
1891
+ * Reports deferred checklist annotations that remain conclusively unhosted.
1892
+ *
1893
+ * Accepted participation suppresses the finding, and uncertain participation
1894
+ * suppresses it as well because an incomplete reference cannot prove that the
1895
+ * declaration is ineligible everywhere.
1896
+ */
1897
+ reportUnhostedChecklists() {
1898
+ for (const record of this.unhostedChecklists.values()) {
1899
+ if (this.answeredDeclarations.has(record.declaration.id) ||
1900
+ this.uncertainDeclarations.has(record.declaration.id))
1901
+ continue;
1902
+ this.diagnostics.push(this.problem("graph-unhosted-checklist", record.severity, `@${record.declaration.kind} for '${record.declaration.target}' is not attached to a selected checklist host.`, "Move the acknowledgement onto a selected semantic host that owes this checklist item.", record.claim, record.reference, record.declaration));
1903
+ }
1904
+ }
1905
+ /**
1906
+ * Creates a successful inactive obligation without evaluating coverage.
1907
+ *
1908
+ * The configured unit IDs are retained for query reporting, but no selected,
1909
+ * covered, or missing population is claimed while its policy is disabled.
1910
+ */
1911
+ inactiveObligation(claim, reference, input) {
1912
+ return this.obligation(claim, reference, false, true, input.unitIds, [], []);
1913
+ }
1914
+ /**
1915
+ * Creates an active but incomplete obligation after analysis failure.
1916
+ *
1917
+ * It retains configured IDs for inspection while leaving coverage sets empty,
1918
+ * preventing callers from interpreting a partial traversal as an uncovered
1919
+ * or successfully covered population.
1920
+ */
1921
+ incompleteObligation(claim, reference, input) {
1922
+ return this.obligation(claim, reference, input.severity !== "off", false, input.unitIds, [], []);
1923
+ }
1924
+ /**
1925
+ * Builds the report record for one configured claim/reference obligation.
1926
+ *
1927
+ * All paths use this constructor so active and completeness flags, configured
1928
+ * coordinates, coverage sets, accepted acknowledgement edges, and optional
1929
+ * host-local checklist coverage remain aligned in exported graph results.
1930
+ */
1931
+ obligation(claim, reference, active, complete, unitIds, coveredUnitIds, missingUnitIds, edges = [], hostCoverage = []) {
1932
+ return {
1933
+ claim: this.claimIndex(claim),
1934
+ reference: this.referenceIndex(claim, reference),
1935
+ active,
1936
+ complete,
1937
+ unitIds,
1938
+ coveredUnitIds,
1939
+ missingUnitIds,
1940
+ edges,
1941
+ hostCoverage,
1942
+ };
1943
+ }
1944
+ }