modelable 1.2.1__tar.gz → 1.4.0__tar.gz

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.

Potentially problematic release.


This version of modelable might be problematic. Click here for more details.

Files changed (693) hide show
  1. {modelable-1.2.1 → modelable-1.4.0}/.gitignore +20 -0
  2. {modelable-1.2.1 → modelable-1.4.0}/PKG-INFO +4 -2
  3. modelable-1.4.0/hatch_build.py +34 -0
  4. {modelable-1.2.1 → modelable-1.4.0}/mypy-baseline.txt +258 -324
  5. {modelable-1.2.1 → modelable-1.4.0}/pyproject.toml +23 -4
  6. modelable-1.4.0/src/modelable/browser/__init__.py +30 -0
  7. modelable-1.4.0/src/modelable/browser/api.py +416 -0
  8. modelable-1.4.0/src/modelable/browser/compatibility.py +77 -0
  9. modelable-1.4.0/src/modelable/browser/conversation.py +658 -0
  10. modelable-1.4.0/src/modelable/browser/dispatch.py +405 -0
  11. modelable-1.4.0/src/modelable/browser/dto.py +213 -0
  12. modelable-1.4.0/src/modelable/browser/errors.py +21 -0
  13. modelable-1.4.0/src/modelable/browser/governance.py +33 -0
  14. modelable-1.4.0/src/modelable/browser/graph.py +164 -0
  15. modelable-1.4.0/src/modelable/browser/lineage.py +43 -0
  16. modelable-1.4.0/src/modelable/browser/rag.py +190 -0
  17. modelable-1.4.0/src/modelable/capabilities.py +245 -0
  18. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/cli.py +10 -0
  19. modelable-1.4.0/src/modelable/commands/capabilities.py +41 -0
  20. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/commands/common.py +3 -0
  21. modelable-1.4.0/src/modelable/commands/compile.py +158 -0
  22. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/commands/diff.py +65 -7
  23. modelable-1.4.0/src/modelable/commands/docs_ask.py +74 -0
  24. modelable-1.4.0/src/modelable/commands/docs_eval.py +65 -0
  25. modelable-1.4.0/src/modelable/commands/docs_index.py +59 -0
  26. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/commands/llm.py +110 -21
  27. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/commands/sync.py +4 -1
  28. modelable-1.4.0/src/modelable/commands/validate_compat.py +96 -0
  29. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/commands/workspace.py +1 -1
  30. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/compat/__init__.py +2 -1
  31. modelable-1.4.0/src/modelable/compat/checker.py +290 -0
  32. modelable-1.4.0/src/modelable/compat/diff.py +640 -0
  33. modelable-1.4.0/src/modelable/compat/policy.py +108 -0
  34. modelable-1.4.0/src/modelable/compat/projection_fields.py +47 -0
  35. modelable-1.4.0/src/modelable/compat/targets.py +481 -0
  36. modelable-1.4.0/src/modelable/compiler/render.py +522 -0
  37. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/compiler/workspace.py +131 -20
  38. modelable-1.4.0/src/modelable/data/__init__.py +1 -0
  39. modelable-1.4.0/src/modelable/data/docs-index/docs/0.d2a9cff4.json +1 -0
  40. modelable-1.4.0/src/modelable/data/docs-index/manifest.json +1 -0
  41. modelable-1.4.0/src/modelable/data/docs-index/terms/en/0.29825211.json +1 -0
  42. modelable-1.4.0/src/modelable/data/docs-index/terms/en/1.d788357d.json +1 -0
  43. modelable-1.4.0/src/modelable/data/docs-index/terms/en/2.40ec2bfa.json +1 -0
  44. modelable-1.4.0/src/modelable/data/docs-index/terms/en/3.6b026482.json +1 -0
  45. modelable-1.4.0/src/modelable/data/docs-index/terms/en/4.d2724327.json +1 -0
  46. modelable-1.4.0/src/modelable/data/docs-index/terms/en/5.393daee9.json +1 -0
  47. modelable-1.4.0/src/modelable/data/docs-index/terms/en/6.8a39faa3.json +1 -0
  48. modelable-1.4.0/src/modelable/data/docs-index/terms/en/7.ac2d3601.json +1 -0
  49. modelable-1.4.0/src/modelable/data/docs-index/terms/en/8.ca045ac5.json +1 -0
  50. modelable-1.4.0/src/modelable/data/docs-index/terms/en/9.07024106.json +1 -0
  51. modelable-1.4.0/src/modelable/data/docs-index/terms/en/a1.f97ab840.json +1 -0
  52. modelable-1.4.0/src/modelable/data/docs-index/terms/en/a2.f3cb1235.json +1 -0
  53. modelable-1.4.0/src/modelable/data/docs-index/terms/en/a3.09cc8521.json +1 -0
  54. modelable-1.4.0/src/modelable/data/docs-index/terms/en/a4.b0389541.json +1 -0
  55. modelable-1.4.0/src/modelable/data/docs-index/terms/en/ab.3b882c86.json +1 -0
  56. modelable-1.4.0/src/modelable/data/docs-index/terms/en/ac.ec3f984e.json +1 -0
  57. modelable-1.4.0/src/modelable/data/docs-index/terms/en/ad.1361a653.json +1 -0
  58. modelable-1.4.0/src/modelable/data/docs-index/terms/en/af.50c5c237.json +1 -0
  59. modelable-1.4.0/src/modelable/data/docs-index/terms/en/ag.deca7439.json +1 -0
  60. modelable-1.4.0/src/modelable/data/docs-index/terms/en/ah.267878dc.json +1 -0
  61. modelable-1.4.0/src/modelable/data/docs-index/terms/en/ai.887fbdaf.json +1 -0
  62. modelable-1.4.0/src/modelable/data/docs-index/terms/en/al.89f8abc6.json +1 -0
  63. modelable-1.4.0/src/modelable/data/docs-index/terms/en/am.13fd8ee5.json +1 -0
  64. modelable-1.4.0/src/modelable/data/docs-index/terms/en/an.2c4909ac.json +1 -0
  65. modelable-1.4.0/src/modelable/data/docs-index/terms/en/ap.3c888716.json +1 -0
  66. modelable-1.4.0/src/modelable/data/docs-index/terms/en/ar.676b9a53.json +1 -0
  67. modelable-1.4.0/src/modelable/data/docs-index/terms/en/as.6f049c89.json +1 -0
  68. modelable-1.4.0/src/modelable/data/docs-index/terms/en/at.06bed93a.json +1 -0
  69. modelable-1.4.0/src/modelable/data/docs-index/terms/en/au.bc86085c.json +1 -0
  70. modelable-1.4.0/src/modelable/data/docs-index/terms/en/av.299604f7.json +1 -0
  71. modelable-1.4.0/src/modelable/data/docs-index/terms/en/aw.18798e84.json +1 -0
  72. modelable-1.4.0/src/modelable/data/docs-index/terms/en/ax.7ce3d4ce.json +1 -0
  73. modelable-1.4.0/src/modelable/data/docs-index/terms/en/b.7fb7aaa1.json +1 -0
  74. modelable-1.4.0/src/modelable/data/docs-index/terms/en/c.0c1e4aa8.json +1 -0
  75. modelable-1.4.0/src/modelable/data/docs-index/terms/en/c1.64ffbace.json +1 -0
  76. modelable-1.4.0/src/modelable/data/docs-index/terms/en/c2.bfc075fa.json +1 -0
  77. modelable-1.4.0/src/modelable/data/docs-index/terms/en/c3.3adc22bd.json +1 -0
  78. modelable-1.4.0/src/modelable/data/docs-index/terms/en/c4.815eee50.json +1 -0
  79. modelable-1.4.0/src/modelable/data/docs-index/terms/en/c6.8faff7cf.json +1 -0
  80. modelable-1.4.0/src/modelable/data/docs-index/terms/en/ca.a7725575.json +1 -0
  81. modelable-1.4.0/src/modelable/data/docs-index/terms/en/cb.77a02209.json +1 -0
  82. modelable-1.4.0/src/modelable/data/docs-index/terms/en/cd.5a88466d.json +1 -0
  83. modelable-1.4.0/src/modelable/data/docs-index/terms/en/ce.1d0a0ff4.json +1 -0
  84. modelable-1.4.0/src/modelable/data/docs-index/terms/en/cf.2d50b4bd.json +1 -0
  85. modelable-1.4.0/src/modelable/data/docs-index/terms/en/ch.ca5c4990.json +1 -0
  86. modelable-1.4.0/src/modelable/data/docs-index/terms/en/ci.552a69ec.json +1 -0
  87. modelable-1.4.0/src/modelable/data/docs-index/terms/en/ck.8db78cd2.json +1 -0
  88. modelable-1.4.0/src/modelable/data/docs-index/terms/en/cl.4f113f9e.json +1 -0
  89. modelable-1.4.0/src/modelable/data/docs-index/terms/en/cm.6458a691.json +1 -0
  90. modelable-1.4.0/src/modelable/data/docs-index/terms/en/coa.9a869af4.json +1 -0
  91. modelable-1.4.0/src/modelable/data/docs-index/terms/en/cob.ca3f10e7.json +1 -0
  92. modelable-1.4.0/src/modelable/data/docs-index/terms/en/cod.27f83e9a.json +1 -0
  93. modelable-1.4.0/src/modelable/data/docs-index/terms/en/coe.e3b65cd6.json +1 -0
  94. modelable-1.4.0/src/modelable/data/docs-index/terms/en/coh.4b2a144d.json +1 -0
  95. modelable-1.4.0/src/modelable/data/docs-index/terms/en/coi.6faabd34.json +1 -0
  96. modelable-1.4.0/src/modelable/data/docs-index/terms/en/col.b1ee5d8e.json +1 -0
  97. modelable-1.4.0/src/modelable/data/docs-index/terms/en/com.453e771f.json +1 -0
  98. modelable-1.4.0/src/modelable/data/docs-index/terms/en/con.d1fbcdc5.json +1 -0
  99. modelable-1.4.0/src/modelable/data/docs-index/terms/en/coo.8dfae238.json +1 -0
  100. modelable-1.4.0/src/modelable/data/docs-index/terms/en/cop.ed2bf28d.json +1 -0
  101. modelable-1.4.0/src/modelable/data/docs-index/terms/en/cor.cc77e1d8.json +1 -0
  102. modelable-1.4.0/src/modelable/data/docs-index/terms/en/cos.445d8ca1.json +1 -0
  103. modelable-1.4.0/src/modelable/data/docs-index/terms/en/cou.4935467a.json +1 -0
  104. modelable-1.4.0/src/modelable/data/docs-index/terms/en/cov.cde49ab9.json +1 -0
  105. modelable-1.4.0/src/modelable/data/docs-index/terms/en/cp.8834b4da.json +1 -0
  106. modelable-1.4.0/src/modelable/data/docs-index/terms/en/cr.31d9c99d.json +1 -0
  107. modelable-1.4.0/src/modelable/data/docs-index/terms/en/cs.dca61e59.json +1 -0
  108. modelable-1.4.0/src/modelable/data/docs-index/terms/en/ct.76633b6e.json +1 -0
  109. modelable-1.4.0/src/modelable/data/docs-index/terms/en/cu.b572faaa.json +1 -0
  110. modelable-1.4.0/src/modelable/data/docs-index/terms/en/cw.e10db4f5.json +1 -0
  111. modelable-1.4.0/src/modelable/data/docs-index/terms/en/cy.ec788cfa.json +1 -0
  112. modelable-1.4.0/src/modelable/data/docs-index/terms/en/d.ee833624.json +1 -0
  113. modelable-1.4.0/src/modelable/data/docs-index/terms/en/d0.51430925.json +1 -0
  114. modelable-1.4.0/src/modelable/data/docs-index/terms/en/d1.77fb978d.json +1 -0
  115. modelable-1.4.0/src/modelable/data/docs-index/terms/en/d2.37415895.json +1 -0
  116. modelable-1.4.0/src/modelable/data/docs-index/terms/en/d3.1a485ddb.json +1 -0
  117. modelable-1.4.0/src/modelable/data/docs-index/terms/en/d4.f86a7fc1.json +1 -0
  118. modelable-1.4.0/src/modelable/data/docs-index/terms/en/d5.f33983dc.json +1 -0
  119. modelable-1.4.0/src/modelable/data/docs-index/terms/en/d6.af49f493.json +1 -0
  120. modelable-1.4.0/src/modelable/data/docs-index/terms/en/da.3063a290.json +1 -0
  121. modelable-1.4.0/src/modelable/data/docs-index/terms/en/db.d747fbf6.json +1 -0
  122. modelable-1.4.0/src/modelable/data/docs-index/terms/en/dc.e4bd32af.json +1 -0
  123. modelable-1.4.0/src/modelable/data/docs-index/terms/en/dd.f79c7be3.json +1 -0
  124. modelable-1.4.0/src/modelable/data/docs-index/terms/en/de.994cfad0.json +1 -0
  125. modelable-1.4.0/src/modelable/data/docs-index/terms/en/di.7114a7a2.json +1 -0
  126. modelable-1.4.0/src/modelable/data/docs-index/terms/en/dl.c127b0a5.json +1 -0
  127. modelable-1.4.0/src/modelable/data/docs-index/terms/en/do.d3cea55c.json +1 -0
  128. modelable-1.4.0/src/modelable/data/docs-index/terms/en/dr.b2d4e973.json +1 -0
  129. modelable-1.4.0/src/modelable/data/docs-index/terms/en/ds.48d6007e.json +1 -0
  130. modelable-1.4.0/src/modelable/data/docs-index/terms/en/dt.035236aa.json +1 -0
  131. modelable-1.4.0/src/modelable/data/docs-index/terms/en/du.37c50558.json +1 -0
  132. modelable-1.4.0/src/modelable/data/docs-index/terms/en/dy.d184675d.json +1 -0
  133. modelable-1.4.0/src/modelable/data/docs-index/terms/en/e.05b631a2.json +1 -0
  134. modelable-1.4.0/src/modelable/data/docs-index/terms/en/e1.a9708af0.json +1 -0
  135. modelable-1.4.0/src/modelable/data/docs-index/terms/en/e2.d0cbe905.json +1 -0
  136. modelable-1.4.0/src/modelable/data/docs-index/terms/en/e3.8518c093.json +1 -0
  137. modelable-1.4.0/src/modelable/data/docs-index/terms/en/ea.9064212e.json +1 -0
  138. modelable-1.4.0/src/modelable/data/docs-index/terms/en/eb.065fd851.json +1 -0
  139. modelable-1.4.0/src/modelable/data/docs-index/terms/en/ec.a633e180.json +1 -0
  140. modelable-1.4.0/src/modelable/data/docs-index/terms/en/ed.820e83d0.json +1 -0
  141. modelable-1.4.0/src/modelable/data/docs-index/terms/en/ef.2a8cdedb.json +1 -0
  142. modelable-1.4.0/src/modelable/data/docs-index/terms/en/eg.f94a30e2.json +1 -0
  143. modelable-1.4.0/src/modelable/data/docs-index/terms/en/ei.d861a64a.json +1 -0
  144. modelable-1.4.0/src/modelable/data/docs-index/terms/en/el.806291a8.json +1 -0
  145. modelable-1.4.0/src/modelable/data/docs-index/terms/en/em.9c84bd24.json +1 -0
  146. modelable-1.4.0/src/modelable/data/docs-index/terms/en/en.5de28cf6.json +1 -0
  147. modelable-1.4.0/src/modelable/data/docs-index/terms/en/eo.bc6215df.json +1 -0
  148. modelable-1.4.0/src/modelable/data/docs-index/terms/en/eq.77aba179.json +1 -0
  149. modelable-1.4.0/src/modelable/data/docs-index/terms/en/er.a2bffc33.json +1 -0
  150. modelable-1.4.0/src/modelable/data/docs-index/terms/en/es.1784b77c.json +1 -0
  151. modelable-1.4.0/src/modelable/data/docs-index/terms/en/et.32c39967.json +1 -0
  152. modelable-1.4.0/src/modelable/data/docs-index/terms/en/ev.7497d3fe.json +1 -0
  153. modelable-1.4.0/src/modelable/data/docs-index/terms/en/ex.18f80721.json +1 -0
  154. modelable-1.4.0/src/modelable/data/docs-index/terms/en/ey.669a699e.json +1 -0
  155. modelable-1.4.0/src/modelable/data/docs-index/terms/en/f.ed4e2160.json +1 -0
  156. modelable-1.4.0/src/modelable/data/docs-index/terms/en/f1.93a44c67.json +1 -0
  157. modelable-1.4.0/src/modelable/data/docs-index/terms/en/f2.a2eeb452.json +1 -0
  158. modelable-1.4.0/src/modelable/data/docs-index/terms/en/f3.9fdbf023.json +1 -0
  159. modelable-1.4.0/src/modelable/data/docs-index/terms/en/f4.8c036c95.json +1 -0
  160. modelable-1.4.0/src/modelable/data/docs-index/terms/en/f6.680ceb9f.json +1 -0
  161. modelable-1.4.0/src/modelable/data/docs-index/terms/en/f8.a0da030b.json +1 -0
  162. modelable-1.4.0/src/modelable/data/docs-index/terms/en/fa.22816645.json +1 -0
  163. modelable-1.4.0/src/modelable/data/docs-index/terms/en/fe.fbdec0f0.json +1 -0
  164. modelable-1.4.0/src/modelable/data/docs-index/terms/en/ff.c03ee387.json +1 -0
  165. modelable-1.4.0/src/modelable/data/docs-index/terms/en/fh.1b31674d.json +1 -0
  166. modelable-1.4.0/src/modelable/data/docs-index/terms/en/fi.74da2762.json +1 -0
  167. modelable-1.4.0/src/modelable/data/docs-index/terms/en/fl.dcdee654.json +1 -0
  168. modelable-1.4.0/src/modelable/data/docs-index/terms/en/fn.2364d40a.json +1 -0
  169. modelable-1.4.0/src/modelable/data/docs-index/terms/en/fo.2a828594.json +1 -0
  170. modelable-1.4.0/src/modelable/data/docs-index/terms/en/fp.f885354d.json +1 -0
  171. modelable-1.4.0/src/modelable/data/docs-index/terms/en/fq.6386e751.json +1 -0
  172. modelable-1.4.0/src/modelable/data/docs-index/terms/en/fr.59a85e4a.json +1 -0
  173. modelable-1.4.0/src/modelable/data/docs-index/terms/en/fs.dba100ae.json +1 -0
  174. modelable-1.4.0/src/modelable/data/docs-index/terms/en/fu.6f7ee749.json +1 -0
  175. modelable-1.4.0/src/modelable/data/docs-index/terms/en/g.8a0bcad2.json +1 -0
  176. modelable-1.4.0/src/modelable/data/docs-index/terms/en/h.8d6cdcce.json +1 -0
  177. modelable-1.4.0/src/modelable/data/docs-index/terms/en/i1.1bf76f4a.json +1 -0
  178. modelable-1.4.0/src/modelable/data/docs-index/terms/en/i3.5b66e455.json +1 -0
  179. modelable-1.4.0/src/modelable/data/docs-index/terms/en/i6.92bbea2b.json +1 -0
  180. modelable-1.4.0/src/modelable/data/docs-index/terms/en/i8.ab452d91.json +1 -0
  181. modelable-1.4.0/src/modelable/data/docs-index/terms/en/ic.8a96fa27.json +1 -0
  182. modelable-1.4.0/src/modelable/data/docs-index/terms/en/id.4090b331.json +1 -0
  183. modelable-1.4.0/src/modelable/data/docs-index/terms/en/if.9817feb1.json +1 -0
  184. modelable-1.4.0/src/modelable/data/docs-index/terms/en/ig.a8e3e6d2.json +1 -0
  185. modelable-1.4.0/src/modelable/data/docs-index/terms/en/il.48f18eb2.json +1 -0
  186. modelable-1.4.0/src/modelable/data/docs-index/terms/en/im.c81c1441.json +1 -0
  187. modelable-1.4.0/src/modelable/data/docs-index/terms/en/in.459b56e7.json +1 -0
  188. modelable-1.4.0/src/modelable/data/docs-index/terms/en/io.d6b15b8a.json +1 -0
  189. modelable-1.4.0/src/modelable/data/docs-index/terms/en/ip.d07a1d4c.json +1 -0
  190. modelable-1.4.0/src/modelable/data/docs-index/terms/en/ir.0b77882a.json +1 -0
  191. modelable-1.4.0/src/modelable/data/docs-index/terms/en/is.7a042b3f.json +1 -0
  192. modelable-1.4.0/src/modelable/data/docs-index/terms/en/it.dca80eca.json +1 -0
  193. modelable-1.4.0/src/modelable/data/docs-index/terms/en/ix.0c752eb6.json +1 -0
  194. modelable-1.4.0/src/modelable/data/docs-index/terms/en/j.42a3636f.json +1 -0
  195. modelable-1.4.0/src/modelable/data/docs-index/terms/en/k.c4a4abdd.json +1 -0
  196. modelable-1.4.0/src/modelable/data/docs-index/terms/en/l.68dfa60d.json +1 -0
  197. modelable-1.4.0/src/modelable/data/docs-index/terms/en/m.dc388e41.json +1 -0
  198. modelable-1.4.0/src/modelable/data/docs-index/terms/en/ma.3cb8e06c.json +1 -0
  199. modelable-1.4.0/src/modelable/data/docs-index/terms/en/mb.17419820.json +1 -0
  200. modelable-1.4.0/src/modelable/data/docs-index/terms/en/md.0798a182.json +1 -0
  201. modelable-1.4.0/src/modelable/data/docs-index/terms/en/me.adc16284.json +1 -0
  202. modelable-1.4.0/src/modelable/data/docs-index/terms/en/mi.50eef3c5.json +1 -0
  203. modelable-1.4.0/src/modelable/data/docs-index/terms/en/mj.7ef37215.json +1 -0
  204. modelable-1.4.0/src/modelable/data/docs-index/terms/en/mk.dc151e81.json +1 -0
  205. modelable-1.4.0/src/modelable/data/docs-index/terms/en/ml.3686f9e8.json +1 -0
  206. modelable-1.4.0/src/modelable/data/docs-index/terms/en/mo.c0774c68.json +1 -0
  207. modelable-1.4.0/src/modelable/data/docs-index/terms/en/mr.2e79aeb2.json +1 -0
  208. modelable-1.4.0/src/modelable/data/docs-index/terms/en/ms.011d64eb.json +1 -0
  209. modelable-1.4.0/src/modelable/data/docs-index/terms/en/mt.e5072e79.json +1 -0
  210. modelable-1.4.0/src/modelable/data/docs-index/terms/en/mu.c25a7e3c.json +1 -0
  211. modelable-1.4.0/src/modelable/data/docs-index/terms/en/mv.793fa3ff.json +1 -0
  212. modelable-1.4.0/src/modelable/data/docs-index/terms/en/my.8f8ebebc.json +1 -0
  213. modelable-1.4.0/src/modelable/data/docs-index/terms/en/n.027f7159.json +1 -0
  214. modelable-1.4.0/src/modelable/data/docs-index/terms/en/o.48d4d08e.json +1 -0
  215. modelable-1.4.0/src/modelable/data/docs-index/terms/en/p.d6b9a95a.json +1 -0
  216. modelable-1.4.0/src/modelable/data/docs-index/terms/en/p1.a44d6211.json +1 -0
  217. modelable-1.4.0/src/modelable/data/docs-index/terms/en/p2.25bdd819.json +1 -0
  218. modelable-1.4.0/src/modelable/data/docs-index/terms/en/pa.23eb58d9.json +1 -0
  219. modelable-1.4.0/src/modelable/data/docs-index/terms/en/pb.c42ee640.json +1 -0
  220. modelable-1.4.0/src/modelable/data/docs-index/terms/en/pe.315fce1b.json +1 -0
  221. modelable-1.4.0/src/modelable/data/docs-index/terms/en/pg.3588f3d5.json +1 -0
  222. modelable-1.4.0/src/modelable/data/docs-index/terms/en/ph.73b39e66.json +1 -0
  223. modelable-1.4.0/src/modelable/data/docs-index/terms/en/pi.3107e47d.json +1 -0
  224. modelable-1.4.0/src/modelable/data/docs-index/terms/en/pk.d11d68e6.json +1 -0
  225. modelable-1.4.0/src/modelable/data/docs-index/terms/en/pl.fa7f4ef3.json +1 -0
  226. modelable-1.4.0/src/modelable/data/docs-index/terms/en/pn.dcb2ecc2.json +1 -0
  227. modelable-1.4.0/src/modelable/data/docs-index/terms/en/po.863d4df3.json +1 -0
  228. modelable-1.4.0/src/modelable/data/docs-index/terms/en/pr.60e6124e.json +1 -0
  229. modelable-1.4.0/src/modelable/data/docs-index/terms/en/ps.ee8e89cd.json +1 -0
  230. modelable-1.4.0/src/modelable/data/docs-index/terms/en/pt.e733138d.json +1 -0
  231. modelable-1.4.0/src/modelable/data/docs-index/terms/en/pu.7cc19d15.json +1 -0
  232. modelable-1.4.0/src/modelable/data/docs-index/terms/en/pv.62c792dd.json +1 -0
  233. modelable-1.4.0/src/modelable/data/docs-index/terms/en/pw.1729d76f.json +1 -0
  234. modelable-1.4.0/src/modelable/data/docs-index/terms/en/py.a46ecc5e.json +1 -0
  235. modelable-1.4.0/src/modelable/data/docs-index/terms/en/q.b409d014.json +1 -0
  236. modelable-1.4.0/src/modelable/data/docs-index/terms/en/r.9af600e4.json +1 -0
  237. modelable-1.4.0/src/modelable/data/docs-index/terms/en/r4.cfb9dddd.json +1 -0
  238. modelable-1.4.0/src/modelable/data/docs-index/terms/en/r5.3f138835.json +1 -0
  239. modelable-1.4.0/src/modelable/data/docs-index/terms/en/r6.b4c21814.json +1 -0
  240. modelable-1.4.0/src/modelable/data/docs-index/terms/en/ra.2b9177f0.json +1 -0
  241. modelable-1.4.0/src/modelable/data/docs-index/terms/en/rc.7126843c.json +1 -0
  242. modelable-1.4.0/src/modelable/data/docs-index/terms/en/re.42aed5f2.json +1 -0
  243. modelable-1.4.0/src/modelable/data/docs-index/terms/en/rea.2c1e538f.json +1 -0
  244. modelable-1.4.0/src/modelable/data/docs-index/terms/en/reb.643f2bee.json +1 -0
  245. modelable-1.4.0/src/modelable/data/docs-index/terms/en/rec.43597d65.json +1 -0
  246. modelable-1.4.0/src/modelable/data/docs-index/terms/en/red.94fc6d6f.json +1 -0
  247. modelable-1.4.0/src/modelable/data/docs-index/terms/en/ref.b0e8ecfd.json +1 -0
  248. modelable-1.4.0/src/modelable/data/docs-index/terms/en/reg.09d82abd.json +1 -0
  249. modelable-1.4.0/src/modelable/data/docs-index/terms/en/rei.9a35d92f.json +1 -0
  250. modelable-1.4.0/src/modelable/data/docs-index/terms/en/rej.7c20411d.json +1 -0
  251. modelable-1.4.0/src/modelable/data/docs-index/terms/en/rel.2cf650d3.json +1 -0
  252. modelable-1.4.0/src/modelable/data/docs-index/terms/en/rem.4d800f1c.json +1 -0
  253. modelable-1.4.0/src/modelable/data/docs-index/terms/en/ren.7530b61f.json +1 -0
  254. modelable-1.4.0/src/modelable/data/docs-index/terms/en/reo.a1fe4ddf.json +1 -0
  255. modelable-1.4.0/src/modelable/data/docs-index/terms/en/rep.7e95dd45.json +1 -0
  256. modelable-1.4.0/src/modelable/data/docs-index/terms/en/req.c659f9c2.json +1 -0
  257. modelable-1.4.0/src/modelable/data/docs-index/terms/en/rer.28422fbb.json +1 -0
  258. modelable-1.4.0/src/modelable/data/docs-index/terms/en/res.de83b844.json +1 -0
  259. modelable-1.4.0/src/modelable/data/docs-index/terms/en/ret.12d5c9f1.json +1 -0
  260. modelable-1.4.0/src/modelable/data/docs-index/terms/en/reu.378f9289.json +1 -0
  261. modelable-1.4.0/src/modelable/data/docs-index/terms/en/rev.4876b1d5.json +1 -0
  262. modelable-1.4.0/src/modelable/data/docs-index/terms/en/rew.ad943c3c.json +1 -0
  263. modelable-1.4.0/src/modelable/data/docs-index/terms/en/rf.54e391fa.json +1 -0
  264. modelable-1.4.0/src/modelable/data/docs-index/terms/en/rg.168c5955.json +1 -0
  265. modelable-1.4.0/src/modelable/data/docs-index/terms/en/ri.e6f2c971.json +1 -0
  266. modelable-1.4.0/src/modelable/data/docs-index/terms/en/rm.478acc8f.json +1 -0
  267. modelable-1.4.0/src/modelable/data/docs-index/terms/en/rn.fa3b3385.json +1 -0
  268. modelable-1.4.0/src/modelable/data/docs-index/terms/en/ro.3f7a7943.json +1 -0
  269. modelable-1.4.0/src/modelable/data/docs-index/terms/en/rp.0a2502d5.json +1 -0
  270. modelable-1.4.0/src/modelable/data/docs-index/terms/en/rs.f58067cc.json +1 -0
  271. modelable-1.4.0/src/modelable/data/docs-index/terms/en/ru.e1a30fe2.json +1 -0
  272. modelable-1.4.0/src/modelable/data/docs-index/terms/en/s.e5370d51.json +1 -0
  273. modelable-1.4.0/src/modelable/data/docs-index/terms/en/s1.3bbeba84.json +1 -0
  274. modelable-1.4.0/src/modelable/data/docs-index/terms/en/s2.7c295c0e.json +1 -0
  275. modelable-1.4.0/src/modelable/data/docs-index/terms/en/sa.7dc6ef43.json +1 -0
  276. modelable-1.4.0/src/modelable/data/docs-index/terms/en/sb.64301ab1.json +1 -0
  277. modelable-1.4.0/src/modelable/data/docs-index/terms/en/sc.250679d3.json +1 -0
  278. modelable-1.4.0/src/modelable/data/docs-index/terms/en/sd.93306cd5.json +1 -0
  279. modelable-1.4.0/src/modelable/data/docs-index/terms/en/se.717a8c36.json +1 -0
  280. modelable-1.4.0/src/modelable/data/docs-index/terms/en/sh.8e0cae14.json +1 -0
  281. modelable-1.4.0/src/modelable/data/docs-index/terms/en/si.26a7a5b9.json +1 -0
  282. modelable-1.4.0/src/modelable/data/docs-index/terms/en/sk.e54c9b72.json +1 -0
  283. modelable-1.4.0/src/modelable/data/docs-index/terms/en/sl.55325271.json +1 -0
  284. modelable-1.4.0/src/modelable/data/docs-index/terms/en/sm.ac4fb571.json +1 -0
  285. modelable-1.4.0/src/modelable/data/docs-index/terms/en/sn.00c51852.json +1 -0
  286. modelable-1.4.0/src/modelable/data/docs-index/terms/en/so.6929de09.json +1 -0
  287. modelable-1.4.0/src/modelable/data/docs-index/terms/en/sp.b9323486.json +1 -0
  288. modelable-1.4.0/src/modelable/data/docs-index/terms/en/sq.b2eeba48.json +1 -0
  289. modelable-1.4.0/src/modelable/data/docs-index/terms/en/sr.089f028b.json +1 -0
  290. modelable-1.4.0/src/modelable/data/docs-index/terms/en/ss.a4b4bee2.json +1 -0
  291. modelable-1.4.0/src/modelable/data/docs-index/terms/en/st.2d374593.json +1 -0
  292. modelable-1.4.0/src/modelable/data/docs-index/terms/en/su.2cea6c4f.json +1 -0
  293. modelable-1.4.0/src/modelable/data/docs-index/terms/en/sv.3b0cc376.json +1 -0
  294. modelable-1.4.0/src/modelable/data/docs-index/terms/en/sw.e891f5a4.json +1 -0
  295. modelable-1.4.0/src/modelable/data/docs-index/terms/en/sy.df22d630.json +1 -0
  296. modelable-1.4.0/src/modelable/data/docs-index/terms/en/t.7f11623e.json +1 -0
  297. modelable-1.4.0/src/modelable/data/docs-index/terms/en/ta.114a4030.json +1 -0
  298. modelable-1.4.0/src/modelable/data/docs-index/terms/en/tb.8033badd.json +1 -0
  299. modelable-1.4.0/src/modelable/data/docs-index/terms/en/td.3878cd2b.json +1 -0
  300. modelable-1.4.0/src/modelable/data/docs-index/terms/en/te.2a20069b.json +1 -0
  301. modelable-1.4.0/src/modelable/data/docs-index/terms/en/th.45566b32.json +1 -0
  302. modelable-1.4.0/src/modelable/data/docs-index/terms/en/ti.a91369a9.json +1 -0
  303. modelable-1.4.0/src/modelable/data/docs-index/terms/en/tm.7f2756ee.json +1 -0
  304. modelable-1.4.0/src/modelable/data/docs-index/terms/en/tn.6a2cc86b.json +1 -0
  305. modelable-1.4.0/src/modelable/data/docs-index/terms/en/to.57a59fd0.json +1 -0
  306. modelable-1.4.0/src/modelable/data/docs-index/terms/en/tr.64cbbee5.json +1 -0
  307. modelable-1.4.0/src/modelable/data/docs-index/terms/en/ts.9ea8b17a.json +1 -0
  308. modelable-1.4.0/src/modelable/data/docs-index/terms/en/tu.e0d0f9fb.json +1 -0
  309. modelable-1.4.0/src/modelable/data/docs-index/terms/en/tw.0319c168.json +1 -0
  310. modelable-1.4.0/src/modelable/data/docs-index/terms/en/tx.ee50f4bf.json +1 -0
  311. modelable-1.4.0/src/modelable/data/docs-index/terms/en/ty.47689fef.json +1 -0
  312. modelable-1.4.0/src/modelable/data/docs-index/terms/en/u.83db6686.json +1 -0
  313. modelable-1.4.0/src/modelable/data/docs-index/terms/en/v.855d9b01.json +1 -0
  314. modelable-1.4.0/src/modelable/data/docs-index/terms/en/w.f4ff3f74.json +1 -0
  315. modelable-1.4.0/src/modelable/data/docs-index/terms/en/x.7de440a9.json +1 -0
  316. modelable-1.4.0/src/modelable/data/docs-index/terms/en/y.5b9bf901.json +1 -0
  317. modelable-1.4.0/src/modelable/data/docs-index/terms/en/z.6188671c.json +1 -0
  318. modelable-1.4.0/src/modelable/dependency_graph.py +118 -0
  319. modelable-1.4.0/src/modelable/emitters/base.py +36 -0
  320. modelable-1.4.0/src/modelable/emitters/descriptors.py +61 -0
  321. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/emitters/grpc.py +74 -15
  322. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/emitters/json_schema.py +11 -4
  323. modelable-1.4.0/src/modelable/emitters/protobuf.py +827 -0
  324. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/emitters/rust.py +78 -8
  325. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/emitters/sql.py +26 -2
  326. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/emitters/targets.py +7 -0
  327. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/emitters/typescript.py +28 -13
  328. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/expressions/cel.py +31 -0
  329. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/governance/checker.py +4 -12
  330. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/grammar/modelable.lark +15 -3
  331. modelable-1.4.0/src/modelable/language/__init__.py +26 -0
  332. {modelable-1.2.1/src/modelable/lsp → modelable-1.4.0/src/modelable/language}/completion.py +191 -217
  333. {modelable-1.2.1/src/modelable/lsp → modelable-1.4.0/src/modelable/language}/definition.py +86 -82
  334. modelable-1.4.0/src/modelable/language/dto.py +119 -0
  335. modelable-1.4.0/src/modelable/language/hover.py +602 -0
  336. modelable-1.4.0/src/modelable/language/positions.py +30 -0
  337. modelable-1.4.0/src/modelable/language/ref_lookup.py +62 -0
  338. {modelable-1.2.1/src/modelable/lsp → modelable-1.4.0/src/modelable/language}/references.py +115 -84
  339. {modelable-1.2.1/src/modelable/lsp → modelable-1.4.0/src/modelable/language}/rename.py +223 -161
  340. modelable-1.4.0/src/modelable/language/workspace.py +132 -0
  341. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/llm/__init__.py +22 -12
  342. modelable-1.4.0/src/modelable/llm/chat.py +482 -0
  343. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/llm/context.py +34 -18
  344. modelable-1.4.0/src/modelable/llm/conversation.py +406 -0
  345. modelable-1.4.0/src/modelable/llm/conversation_backend.py +111 -0
  346. modelable-1.4.0/src/modelable/llm/conversation_engine.py +422 -0
  347. modelable-1.4.0/src/modelable/llm/conversation_plan.py +467 -0
  348. modelable-1.4.0/src/modelable/llm/conversation_planner.py +486 -0
  349. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/llm/engine.py +95 -452
  350. modelable-1.4.0/src/modelable/llm/filesystem_conversation.py +407 -0
  351. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/llm/importers.py +1 -1
  352. modelable-1.4.0/src/modelable/llm/provider_types.py +26 -0
  353. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/llm/providers.py +49 -28
  354. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/llm/qa.py +35 -3
  355. modelable-1.4.0/src/modelable/llm/render.py +15 -0
  356. modelable-1.4.0/src/modelable/llm/workspace_editor.py +1444 -0
  357. modelable-1.4.0/src/modelable/llm/workspace_query.py +209 -0
  358. modelable-1.4.0/src/modelable/lsp/completion.py +112 -0
  359. modelable-1.4.0/src/modelable/lsp/conversation_protocol.py +184 -0
  360. modelable-1.4.0/src/modelable/lsp/conversation_service.py +453 -0
  361. modelable-1.4.0/src/modelable/lsp/definition.py +53 -0
  362. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/lsp/document_symbols.py +33 -2
  363. modelable-1.4.0/src/modelable/lsp/highlight.py +46 -0
  364. modelable-1.4.0/src/modelable/lsp/hover.py +50 -0
  365. modelable-1.4.0/src/modelable/lsp/references.py +45 -0
  366. modelable-1.4.0/src/modelable/lsp/rename.py +62 -0
  367. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/lsp/server.py +63 -21
  368. modelable-1.4.0/src/modelable/lsp/workspace.py +189 -0
  369. modelable-1.4.0/src/modelable/operations/__init__.py +1 -0
  370. modelable-1.4.0/src/modelable/operations/compilation.py +1610 -0
  371. modelable-1.4.0/src/modelable/operations/compilation_audit.py +74 -0
  372. modelable-1.4.0/src/modelable/operations/file_transaction.py +500 -0
  373. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/parser/__init__.py +2 -0
  374. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/parser/ir.py +46 -0
  375. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/parser/parse.py +8 -2
  376. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/parser/transformer.py +66 -2
  377. modelable-1.4.0/src/modelable/planner/planner.py +281 -0
  378. modelable-1.4.0/src/modelable/rag/__init__.py +45 -0
  379. modelable-1.4.0/src/modelable/rag/bundled_index.py +15 -0
  380. modelable-1.4.0/src/modelable/rag/bundled_index_builder.py +19 -0
  381. modelable-1.4.0/src/modelable/rag/chunking.py +291 -0
  382. modelable-1.4.0/src/modelable/rag/context.py +45 -0
  383. modelable-1.4.0/src/modelable/rag/evaluation.py +199 -0
  384. modelable-1.4.0/src/modelable/rag/evaluation_corpus.yaml +126 -0
  385. modelable-1.4.0/src/modelable/rag/generation.py +130 -0
  386. modelable-1.4.0/src/modelable/rag/index.py +110 -0
  387. modelable-1.4.0/src/modelable/rag/intent.py +90 -0
  388. modelable-1.4.0/src/modelable/rag/model.py +16 -0
  389. modelable-1.4.0/src/modelable/rag/retriever.py +101 -0
  390. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/registry/index.py +1 -0
  391. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/registry/resolver.py +60 -0
  392. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/registry/signature.py +3 -3
  393. modelable-1.4.0/src/modelable/validation/deferred_syntax.py +58 -0
  394. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/validation/semantic.py +96 -16
  395. modelable-1.4.0/tests/conformance/__init__.py +1 -0
  396. modelable-1.4.0/tests/conformance/browser/analysis/analysis-billing.mdl +13 -0
  397. modelable-1.4.0/tests/conformance/browser/analysis/analysis-customer.mdl +19 -0
  398. modelable-1.4.0/tests/conformance/browser/compatibility.mdl +18 -0
  399. modelable-1.4.0/tests/conformance/browser/composite-key.mdl +10 -0
  400. modelable-1.4.0/tests/conformance/browser/deferred-constructs.mdl +15 -0
  401. modelable-1.4.0/tests/conformance/browser/invalid-parse.mdl +5 -0
  402. modelable-1.4.0/tests/conformance/browser/invalid-reference.mdl +9 -0
  403. modelable-1.4.0/tests/conformance/browser/invalid-semantic.mdl +11 -0
  404. modelable-1.4.0/tests/conformance/browser/multi-domain-customer.mdl +8 -0
  405. modelable-1.4.0/tests/conformance/browser/multi-domain-order.mdl +9 -0
  406. modelable-1.4.0/tests/conformance/browser/single-valid.mdl +18 -0
  407. modelable-1.4.0/tests/conformance/browser/snapshots/compatibility.json +48 -0
  408. modelable-1.4.0/tests/conformance/browser/snapshots/composite-key.json +20 -0
  409. modelable-1.4.0/tests/conformance/browser/snapshots/deferred-constructs.json +20 -0
  410. modelable-1.4.0/tests/conformance/browser/snapshots/invalid-parse.json +20 -0
  411. modelable-1.4.0/tests/conformance/browser/snapshots/invalid-reference.json +20 -0
  412. modelable-1.4.0/tests/conformance/browser/snapshots/invalid-semantic.json +30 -0
  413. modelable-1.4.0/tests/conformance/browser/snapshots/multi-domain.json +42 -0
  414. modelable-1.4.0/tests/conformance/browser/snapshots/single-valid.json +26 -0
  415. modelable-1.4.0/tests/conformance/language/workspace-invalid-current.json +32 -0
  416. modelable-1.4.0/tests/conformance/language/workspace-valid.json +75 -0
  417. modelable-1.4.0/tests/conformance/signature/__init__.py +1 -0
  418. modelable-1.4.0/tests/conformance/signature/scenarios.py +128 -0
  419. {modelable-1.2.1 → modelable-1.4.0}/tests/fixtures/wire_golden/golden/protobuf/platform_widget_v1.proto +1 -1
  420. {modelable-1.2.1 → modelable-1.4.0}/tests/fixtures/wire_golden/golden/rust/platform_widget_v1.rs +10 -0
  421. modelable-1.4.0/tests/support/__init__.py +1 -0
  422. modelable-1.4.0/tests/support/conversation_simulator.py +162 -0
  423. modelable-1.4.0/tests/test_browser_api.py +1001 -0
  424. modelable-1.4.0/tests/test_browser_compatibility.py +97 -0
  425. modelable-1.4.0/tests/test_browser_conformance.py +195 -0
  426. modelable-1.4.0/tests/test_browser_conversation.py +605 -0
  427. modelable-1.4.0/tests/test_browser_governance.py +95 -0
  428. modelable-1.4.0/tests/test_browser_graph.py +251 -0
  429. modelable-1.4.0/tests/test_browser_lineage.py +107 -0
  430. modelable-1.4.0/tests/test_browser_packaging.py +172 -0
  431. modelable-1.4.0/tests/test_browser_playground_runner.py +149 -0
  432. modelable-1.4.0/tests/test_browser_rag.py +156 -0
  433. modelable-1.4.0/tests/test_build_bundled_docs_index_script.py +26 -0
  434. modelable-1.4.0/tests/test_capabilities.py +138 -0
  435. modelable-1.4.0/tests/test_capability_manifest_linkage.py +88 -0
  436. modelable-1.4.0/tests/test_cel_doc_consistency.py +46 -0
  437. modelable-1.4.0/tests/test_cel_validation.py +929 -0
  438. {modelable-1.2.1 → modelable-1.4.0}/tests/test_cli.py +132 -0
  439. modelable-1.4.0/tests/test_cli_capabilities.py +43 -0
  440. {modelable-1.2.1 → modelable-1.4.0}/tests/test_cli_compile.py +122 -0
  441. modelable-1.4.0/tests/test_cli_docs_ask.py +338 -0
  442. modelable-1.4.0/tests/test_cli_docs_eval.py +62 -0
  443. modelable-1.4.0/tests/test_cli_docs_index.py +63 -0
  444. {modelable-1.2.1 → modelable-1.4.0}/tests/test_codegen_docker_smoke.py +48 -2
  445. modelable-1.4.0/tests/test_compatibility.py +641 -0
  446. modelable-1.4.0/tests/test_compatibility_policy.py +182 -0
  447. modelable-1.4.0/tests/test_compilation_audit.py +89 -0
  448. modelable-1.4.0/tests/test_compilation_service.py +1473 -0
  449. modelable-1.4.0/tests/test_conversation.py +1447 -0
  450. modelable-1.4.0/tests/test_conversation_engine.py +496 -0
  451. modelable-1.4.0/tests/test_conversation_plan.py +994 -0
  452. modelable-1.4.0/tests/test_coverage_ratchet.py +129 -0
  453. modelable-1.4.0/tests/test_deferred_syntax.py +166 -0
  454. modelable-1.4.0/tests/test_dependency_graph.py +318 -0
  455. modelable-1.4.0/tests/test_descriptor_artifacts.py +355 -0
  456. modelable-1.4.0/tests/test_doc_examples_parse.py +64 -0
  457. modelable-1.4.0/tests/test_editor_grammar_sync.py +36 -0
  458. {modelable-1.2.1 → modelable-1.4.0}/tests/test_emit_grpc.py +189 -0
  459. {modelable-1.2.1 → modelable-1.4.0}/tests/test_emit_json_schema.py +25 -1
  460. modelable-1.4.0/tests/test_emit_protobuf.py +1083 -0
  461. {modelable-1.2.1 → modelable-1.4.0}/tests/test_emit_rust.py +152 -2
  462. {modelable-1.2.1 → modelable-1.4.0}/tests/test_emit_sql.py +29 -0
  463. {modelable-1.2.1 → modelable-1.4.0}/tests/test_emit_typescript.py +95 -0
  464. modelable-1.4.0/tests/test_file_transaction.py +652 -0
  465. {modelable-1.2.1 → modelable-1.4.0}/tests/test_grammar.py +114 -2
  466. modelable-1.4.0/tests/test_grammar_doc_sync.py +26 -0
  467. modelable-1.4.0/tests/test_language_completion.py +228 -0
  468. modelable-1.4.0/tests/test_language_definition.py +316 -0
  469. modelable-1.4.0/tests/test_language_dto.py +85 -0
  470. modelable-1.4.0/tests/test_language_hover.py +457 -0
  471. modelable-1.4.0/tests/test_language_positions.py +47 -0
  472. modelable-1.4.0/tests/test_language_references.py +225 -0
  473. modelable-1.4.0/tests/test_language_rename.py +275 -0
  474. modelable-1.4.0/tests/test_language_stability.py +189 -0
  475. modelable-1.4.0/tests/test_language_workspace.py +169 -0
  476. {modelable-1.2.1 → modelable-1.4.0}/tests/test_llm_features.py +255 -5
  477. modelable-1.4.0/tests/test_llm_provider_integration.py +1651 -0
  478. modelable-1.4.0/tests/test_llm_render_roundtrip.py +104 -0
  479. modelable-1.4.0/tests/test_lsp_completion.py +62 -0
  480. modelable-1.4.0/tests/test_lsp_conformance_fixture.py +161 -0
  481. modelable-1.4.0/tests/test_lsp_conversation_integration.py +251 -0
  482. modelable-1.4.0/tests/test_lsp_conversation_protocol.py +319 -0
  483. modelable-1.4.0/tests/test_lsp_conversation_service.py +1331 -0
  484. {modelable-1.2.1 → modelable-1.4.0}/tests/test_lsp_federation_diagnostics.py +8 -23
  485. {modelable-1.2.1 → modelable-1.4.0}/tests/test_lsp_hover.py +22 -1
  486. {modelable-1.2.1 → modelable-1.4.0}/tests/test_lsp_integration.py +45 -0
  487. {modelable-1.2.1 → modelable-1.4.0}/tests/test_lsp_server.py +74 -1
  488. modelable-1.4.0/tests/test_lsp_workspace.py +281 -0
  489. modelable-1.4.0/tests/test_ollama_conversation_conformance.py +125 -0
  490. modelable-1.4.0/tests/test_pages_assembly.py +87 -0
  491. modelable-1.4.0/tests/test_projection_compatibility.py +1274 -0
  492. modelable-1.4.0/tests/test_projection_fields.py +112 -0
  493. modelable-1.4.0/tests/test_projection_selection.py +503 -0
  494. modelable-1.4.0/tests/test_protobuf_reservations.py +186 -0
  495. modelable-1.4.0/tests/test_rag_bundled_index.py +33 -0
  496. modelable-1.4.0/tests/test_rag_bundled_index_builder.py +20 -0
  497. modelable-1.4.0/tests/test_rag_chunking.py +78 -0
  498. modelable-1.4.0/tests/test_rag_context.py +69 -0
  499. modelable-1.4.0/tests/test_rag_evaluation.py +142 -0
  500. modelable-1.4.0/tests/test_rag_generation.py +138 -0
  501. modelable-1.4.0/tests/test_rag_index.py +133 -0
  502. modelable-1.4.0/tests/test_rag_intent.py +66 -0
  503. modelable-1.4.0/tests/test_rag_model.py +19 -0
  504. modelable-1.4.0/tests/test_rag_retriever.py +164 -0
  505. modelable-1.4.0/tests/test_ref_lookup.py +62 -0
  506. modelable-1.4.0/tests/test_ref_resolution.py +98 -0
  507. {modelable-1.2.1 → modelable-1.4.0}/tests/test_release_workflow.py +119 -4
  508. modelable-1.4.0/tests/test_render_ref_types.py +37 -0
  509. {modelable-1.2.1 → modelable-1.4.0}/tests/test_repository_release.py +43 -0
  510. {modelable-1.2.1 → modelable-1.4.0}/tests/test_semantic.py +257 -0
  511. modelable-1.4.0/tests/test_semantic_type_resolution.py +124 -0
  512. {modelable-1.2.1 → modelable-1.4.0}/tests/test_serialization_hints.py +1 -1
  513. modelable-1.4.0/tests/test_target_compatibility.py +1038 -0
  514. modelable-1.4.0/tests/test_targets.py +17 -0
  515. {modelable-1.2.1 → modelable-1.4.0}/tests/test_transformer.py +21 -0
  516. modelable-1.4.0/tests/test_validate_surface_detection.py +177 -0
  517. {modelable-1.2.1 → modelable-1.4.0}/tests/test_workspace.py +40 -1
  518. modelable-1.4.0/tests/test_workspace_editor.py +1340 -0
  519. modelable-1.4.0/tests/test_workspace_query.py +290 -0
  520. modelable-1.4.0/tests/test_workspace_warnings.py +52 -0
  521. modelable-1.2.1/.python-version +0 -1
  522. modelable-1.2.1/src/modelable/commands/compile.py +0 -395
  523. modelable-1.2.1/src/modelable/compat/checker.py +0 -200
  524. modelable-1.2.1/src/modelable/compat/diff.py +0 -196
  525. modelable-1.2.1/src/modelable/emitters/base.py +0 -22
  526. modelable-1.2.1/src/modelable/emitters/protobuf.py +0 -329
  527. modelable-1.2.1/src/modelable/llm/chat.py +0 -255
  528. modelable-1.2.1/src/modelable/llm/render.py +0 -279
  529. modelable-1.2.1/src/modelable/llm/update_plan.py +0 -101
  530. modelable-1.2.1/src/modelable/lsp/highlight.py +0 -30
  531. modelable-1.2.1/src/modelable/lsp/hover.py +0 -370
  532. modelable-1.2.1/src/modelable/lsp/workspace.py +0 -83
  533. modelable-1.2.1/src/modelable/planner/planner.py +0 -134
  534. modelable-1.2.1/tests/test_cel_validation.py +0 -355
  535. modelable-1.2.1/tests/test_compatibility.py +0 -294
  536. modelable-1.2.1/tests/test_emit_protobuf.py +0 -240
  537. modelable-1.2.1/tests/test_llm_provider_integration.py +0 -701
  538. modelable-1.2.1/tests/test_lsp_completion.py +0 -137
  539. modelable-1.2.1/tests/test_lsp_workspace.py +0 -58
  540. modelable-1.2.1/tests/test_validate_surface_detection.py +0 -90
  541. modelable-1.2.1/uv.lock +0 -942
  542. {modelable-1.2.1 → modelable-1.4.0}/LICENSE +0 -0
  543. {modelable-1.2.1 → modelable-1.4.0}/README.md +0 -0
  544. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/__init__.py +0 -0
  545. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/__main__.py +0 -0
  546. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/_pydantic_py314_compat.py +0 -0
  547. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/commands/__init__.py +0 -0
  548. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/commands/apicurio.py +0 -0
  549. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/commands/codegen.py +0 -0
  550. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/commands/create.py +0 -0
  551. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/commands/graph.py +0 -0
  552. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/commands/lsp.py +0 -0
  553. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/commands/runtime.py +0 -0
  554. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/commands/scenario.py +0 -0
  555. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/commands/spec.py +0 -0
  556. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/compiler/__init__.py +0 -0
  557. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/compiler/compiler.py +0 -0
  558. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/diagnostics/__init__.py +0 -0
  559. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/diagnostics/model.py +0 -0
  560. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/emitters/__init__.py +0 -0
  561. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/emitters/csharp.py +0 -0
  562. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/emitters/dbt_yaml.py +0 -0
  563. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/emitters/diagnostics.py +0 -0
  564. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/emitters/fhir.py +0 -0
  565. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/emitters/fhir_validator.py +0 -0
  566. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/emitters/go.py +0 -0
  567. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/emitters/java.py +0 -0
  568. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/emitters/markdown.py +0 -0
  569. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/emitters/odcs.py +0 -0
  570. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/emitters/openlineage.py +0 -0
  571. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/emitters/openmetadata.py +0 -0
  572. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/emitters/python.py +0 -0
  573. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/emitters/shapes.py +0 -0
  574. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/expressions/__init__.py +0 -0
  575. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/governance/__init__.py +0 -0
  576. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/governance/por.py +0 -0
  577. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/grammar/__init__.py +0 -0
  578. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/graph/__init__.py +0 -0
  579. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/graph/export.py +0 -0
  580. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/llm/config.py +0 -0
  581. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/llm/provenance.py +0 -0
  582. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/llm/recommendations.py +0 -0
  583. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/llm/redaction.py +0 -0
  584. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/llm/validation_help.py +0 -0
  585. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/lsp/__init__.py +0 -0
  586. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/lsp/__main__.py +0 -0
  587. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/lsp/code_actions.py +0 -0
  588. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/lsp/diagnostics.py +0 -0
  589. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/lsp/federation.py +0 -0
  590. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/lsp/folding.py +0 -0
  591. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/lsp/formatting.py +0 -0
  592. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/lsp/inlay_hints.py +0 -0
  593. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/lsp/semantic_tokens.py +0 -0
  594. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/lsp/workspace_symbols.py +0 -0
  595. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/parser/wire.py +0 -0
  596. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/planner/__init__.py +0 -0
  597. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/planner/lineage.py +0 -0
  598. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/planner/plans.py +0 -0
  599. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/py.typed +0 -0
  600. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/registry/__init__.py +0 -0
  601. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/registry/apicurio.py +0 -0
  602. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/registry/base.py +0 -0
  603. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/registry/factory.py +0 -0
  604. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/registry/ids.py +0 -0
  605. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/registry/local.py +0 -0
  606. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/registry/oci.py +0 -0
  607. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/registry/openlineage.py +0 -0
  608. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/registry/schema.sql +0 -0
  609. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/release.py +0 -0
  610. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/runtime/__init__.py +0 -0
  611. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/runtime/adapter/__init__.py +0 -0
  612. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/runtime/adapter/base.py +0 -0
  613. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/runtime/adapter/postgres.py +0 -0
  614. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/specs/__init__.py +0 -0
  615. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/specs/tracking.py +0 -0
  616. {modelable-1.2.1 → modelable-1.4.0}/src/modelable/validation/__init__.py +0 -0
  617. {modelable-1.2.1 → modelable-1.4.0}/tests/conftest.py +0 -0
  618. {modelable-1.2.1 → modelable-1.4.0}/tests/fixtures/auto_projection_complex.mdl +0 -0
  619. {modelable-1.2.1 → modelable-1.4.0}/tests/fixtures/billing_projection.mdl +0 -0
  620. {modelable-1.2.1 → modelable-1.4.0}/tests/fixtures/breaking_changes.mdl +0 -0
  621. {modelable-1.2.1 → modelable-1.4.0}/tests/fixtures/cel_error_cases.mdl +0 -0
  622. {modelable-1.2.1 → modelable-1.4.0}/tests/fixtures/customer.mdl +0 -0
  623. {modelable-1.2.1 → modelable-1.4.0}/tests/fixtures/federation_multi_registry/consumer.mdl +0 -0
  624. {modelable-1.2.1 → modelable-1.4.0}/tests/fixtures/federation_multi_registry/provider.mdl +0 -0
  625. {modelable-1.2.1 → modelable-1.4.0}/tests/fixtures/federation_multi_registry/workspace.mdl +0 -0
  626. {modelable-1.2.1 → modelable-1.4.0}/tests/fixtures/fhir_patient_profile.mdl +0 -0
  627. {modelable-1.2.1 → modelable-1.4.0}/tests/fixtures/governance_export_model.mdl +0 -0
  628. {modelable-1.2.1 → modelable-1.4.0}/tests/fixtures/materialized_projection_chain.mdl +0 -0
  629. {modelable-1.2.1 → modelable-1.4.0}/tests/fixtures/missing_header.mdl +0 -0
  630. {modelable-1.2.1 → modelable-1.4.0}/tests/fixtures/multi_domain_joins.mdl +0 -0
  631. {modelable-1.2.1 → modelable-1.4.0}/tests/fixtures/multi_language_target.mdl +0 -0
  632. {modelable-1.2.1 → modelable-1.4.0}/tests/fixtures/no_owner.mdl +0 -0
  633. {modelable-1.2.1 → modelable-1.4.0}/tests/fixtures/pii_governance.mdl +0 -0
  634. {modelable-1.2.1 → modelable-1.4.0}/tests/fixtures/projection_of_projection.mdl +0 -0
  635. {modelable-1.2.1 → modelable-1.4.0}/tests/fixtures/sql_and_dbt_targets.mdl +0 -0
  636. {modelable-1.2.1 → modelable-1.4.0}/tests/fixtures/wire_golden/wire_golden.mdl +0 -0
  637. {modelable-1.2.1 → modelable-1.4.0}/tests/helpers.py +0 -0
  638. {modelable-1.2.1 → modelable-1.4.0}/tests/test_apicurio_registry.py +0 -0
  639. {modelable-1.2.1 → modelable-1.4.0}/tests/test_apicurio_testcontainers.py +0 -0
  640. {modelable-1.2.1 → modelable-1.4.0}/tests/test_auto_projection.py +0 -0
  641. {modelable-1.2.1 → modelable-1.4.0}/tests/test_cli_create.py +0 -0
  642. {modelable-1.2.1 → modelable-1.4.0}/tests/test_cli_inspect.py +0 -0
  643. {modelable-1.2.1 → modelable-1.4.0}/tests/test_codegen_targets.py +0 -0
  644. {modelable-1.2.1 → modelable-1.4.0}/tests/test_compiler.py +0 -0
  645. {modelable-1.2.1 → modelable-1.4.0}/tests/test_conformance_fixture.py +0 -0
  646. {modelable-1.2.1 → modelable-1.4.0}/tests/test_diagnostics.py +0 -0
  647. {modelable-1.2.1 → modelable-1.4.0}/tests/test_emit_csharp.py +0 -0
  648. {modelable-1.2.1 → modelable-1.4.0}/tests/test_emit_dbt_yaml.py +0 -0
  649. {modelable-1.2.1 → modelable-1.4.0}/tests/test_emit_fhir.py +0 -0
  650. {modelable-1.2.1 → modelable-1.4.0}/tests/test_emit_go.py +0 -0
  651. {modelable-1.2.1 → modelable-1.4.0}/tests/test_emit_java.py +0 -0
  652. {modelable-1.2.1 → modelable-1.4.0}/tests/test_emit_markdown.py +0 -0
  653. {modelable-1.2.1 → modelable-1.4.0}/tests/test_emit_odcs.py +0 -0
  654. {modelable-1.2.1 → modelable-1.4.0}/tests/test_emit_openlineage.py +0 -0
  655. {modelable-1.2.1 → modelable-1.4.0}/tests/test_emit_openmetadata.py +0 -0
  656. {modelable-1.2.1 → modelable-1.4.0}/tests/test_emit_python.py +0 -0
  657. {modelable-1.2.1 → modelable-1.4.0}/tests/test_fhir_validator.py +0 -0
  658. {modelable-1.2.1 → modelable-1.4.0}/tests/test_fixtures_regression.py +0 -0
  659. {modelable-1.2.1 → modelable-1.4.0}/tests/test_governance.py +0 -0
  660. {modelable-1.2.1 → modelable-1.4.0}/tests/test_graph_export.py +0 -0
  661. {modelable-1.2.1 → modelable-1.4.0}/tests/test_impact_analysis.py +0 -0
  662. {modelable-1.2.1 → modelable-1.4.0}/tests/test_lineage.py +0 -0
  663. {modelable-1.2.1 → modelable-1.4.0}/tests/test_lsp_code_actions.py +0 -0
  664. {modelable-1.2.1 → modelable-1.4.0}/tests/test_lsp_completion_mirrors.py +0 -0
  665. {modelable-1.2.1 → modelable-1.4.0}/tests/test_lsp_definition.py +0 -0
  666. {modelable-1.2.1 → modelable-1.4.0}/tests/test_lsp_diagnostics.py +0 -0
  667. {modelable-1.2.1 → modelable-1.4.0}/tests/test_lsp_document_symbols.py +0 -0
  668. {modelable-1.2.1 → modelable-1.4.0}/tests/test_lsp_features.py +0 -0
  669. {modelable-1.2.1 → modelable-1.4.0}/tests/test_lsp_folding.py +0 -0
  670. {modelable-1.2.1 → modelable-1.4.0}/tests/test_lsp_formatting.py +0 -0
  671. {modelable-1.2.1 → modelable-1.4.0}/tests/test_lsp_highlight.py +0 -0
  672. {modelable-1.2.1 → modelable-1.4.0}/tests/test_lsp_inlay_hints.py +0 -0
  673. {modelable-1.2.1 → modelable-1.4.0}/tests/test_lsp_references.py +0 -0
  674. {modelable-1.2.1 → modelable-1.4.0}/tests/test_lsp_rename.py +0 -0
  675. {modelable-1.2.1 → modelable-1.4.0}/tests/test_lsp_semantic_tokens.py +0 -0
  676. {modelable-1.2.1 → modelable-1.4.0}/tests/test_lsp_workspace_symbols.py +0 -0
  677. {modelable-1.2.1 → modelable-1.4.0}/tests/test_mypy_baseline.py +0 -0
  678. {modelable-1.2.1 → modelable-1.4.0}/tests/test_openlineage_sync.py +0 -0
  679. {modelable-1.2.1 → modelable-1.4.0}/tests/test_openlineage_testcontainers.py +0 -0
  680. {modelable-1.2.1 → modelable-1.4.0}/tests/test_openmetadata_testcontainers.py +0 -0
  681. {modelable-1.2.1 → modelable-1.4.0}/tests/test_planner.py +0 -0
  682. {modelable-1.2.1 → modelable-1.4.0}/tests/test_por.py +0 -0
  683. {modelable-1.2.1 → modelable-1.4.0}/tests/test_postgres_adapter.py +0 -0
  684. {modelable-1.2.1 → modelable-1.4.0}/tests/test_py314_compat.py +0 -0
  685. {modelable-1.2.1 → modelable-1.4.0}/tests/test_registry.py +0 -0
  686. {modelable-1.2.1 → modelable-1.4.0}/tests/test_registry_ids.py +0 -0
  687. {modelable-1.2.1 → modelable-1.4.0}/tests/test_registry_index.py +0 -0
  688. {modelable-1.2.1 → modelable-1.4.0}/tests/test_release_metadata.py +0 -0
  689. {modelable-1.2.1 → modelable-1.4.0}/tests/test_resolver.py +0 -0
  690. {modelable-1.2.1 → modelable-1.4.0}/tests/test_samples.py +0 -0
  691. {modelable-1.2.1 → modelable-1.4.0}/tests/test_spec_tracking.py +0 -0
  692. {modelable-1.2.1 → modelable-1.4.0}/tests/test_version_range_resolution.py +0 -0
  693. {modelable-1.2.1 → modelable-1.4.0}/tests/test_wire_golden.py +0 -0
@@ -23,11 +23,31 @@ scripts/__pycache__/
23
23
  .pytest_cache/
24
24
  .pytest_tmp/
25
25
  .venv/
26
+ .coverage
27
+ cli/coverage.xml
26
28
 
27
29
  # VS Code test harness — downloaded VS Code binary for extension smoke tests
28
30
  vscode/.vscode-test/
29
31
  vscode/out/
30
32
  vscode/*.vsix
31
33
 
34
+ # Browser compiler build and test outputs
35
+ cli/dist/browser/
36
+ web/public/pyodide/
37
+ web/public/python/
38
+ web/public/fixtures/
39
+ web/dist/
40
+ web/test-results/
41
+ web/playwright-report/
42
+ web/output/
43
+
32
44
  # Subagent-driven-development progress ledger (scratch state, not project output)
33
45
  .superpowers/
46
+ web/public/docs-index/
47
+ web/public/python-rag-test/
48
+
49
+ # Bundled RAG documentation index: regenerated from docs/ by cli/hatch_build.py
50
+ # on every `uv sync`/`uv build` (hatchling include rule in cli/pyproject.toml
51
+ # packages it independently of git tracking). Committing it produced permanent
52
+ # local diff noise after every sync; a fresh checkout regenerates it for free.
53
+ cli/src/modelable/data/docs-index/
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modelable
3
- Version: 1.2.1
3
+ Version: 1.4.0
4
4
  Summary: Compiler and language server for versioned, domain-owned data models
5
5
  Project-URL: Homepage, https://github.com/ktjn/modelable
6
6
  Project-URL: Documentation, https://ktjn.github.io/modelable/
@@ -30,6 +30,8 @@ Requires-Dist: pygls<3,>=2.1.1
30
30
  Requires-Dist: pyyaml>=6.0.3
31
31
  Requires-Dist: referencing>=0.35
32
32
  Requires-Dist: rich>=13.0
33
+ Requires-Dist: searchable-client>=0.4.0
34
+ Requires-Dist: searchable-indexer>=0.2.1
33
35
  Provides-Extra: dev
34
36
  Requires-Dist: build>=1.2; extra == 'dev'
35
37
  Requires-Dist: mypy>=2.1.0; extra == 'dev'
@@ -38,7 +40,7 @@ Requires-Dist: pytest-lsp>=1.0.1; extra == 'dev'
38
40
  Requires-Dist: pytest-xdist>=3.0; extra == 'dev'
39
41
  Requires-Dist: pytest>=9.1.1; extra == 'dev'
40
42
  Requires-Dist: ruff>=0.15.18; extra == 'dev'
41
- Requires-Dist: testcontainers==4.14.2; extra == 'dev'
43
+ Requires-Dist: testcontainers==4.15.0; extra == 'dev'
42
44
  Description-Content-Type: text/markdown
43
45
 
44
46
  # Modelable
@@ -0,0 +1,34 @@
1
+ from __future__ import annotations
2
+
3
+ import sys
4
+ from pathlib import Path
5
+ from typing import Any
6
+
7
+ from hatchling.builders.hooks.plugin.interface import BuildHookInterface
8
+
9
+ CLI_ROOT = Path(__file__).resolve().parent
10
+ REPO_ROOT = CLI_ROOT.parent
11
+
12
+
13
+ class CustomBuildHook(BuildHookInterface):
14
+ def initialize(self, version: str, build_data: dict[str, Any]) -> None:
15
+ sys.path.insert(0, str(CLI_ROOT / "src"))
16
+ from modelable.rag.bundled_index_builder import build_bundled_index
17
+
18
+ docs_root = REPO_ROOT / "docs"
19
+ if not docs_root.is_dir():
20
+ # When building from an sdist, docs are included at the repository root.
21
+ docs_root = Path("docs").resolve()
22
+
23
+ if not docs_root.is_dir():
24
+ # When building from an sdist where docs were not included,
25
+ # we may need to skip or use the already-bundled index if it exists.
26
+ print(f"Warning: Documentation root not found at {docs_root}, checking for bundled index...")
27
+ bundled_index = CLI_ROOT / "src" / "modelable" / "data" / "docs-index"
28
+ if (bundled_index / "manifest.json").exists():
29
+ print("Using existing bundled index.")
30
+ return
31
+ raise RuntimeError(f"Documentation root not found and no bundled index exists at {bundled_index}")
32
+
33
+ output_dir = CLI_ROOT / "src" / "modelable" / "data" / "docs-index"
34
+ build_bundled_index(docs_root, output_dir)