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.
- {modelable-1.2.1 → modelable-1.4.0}/.gitignore +20 -0
- {modelable-1.2.1 → modelable-1.4.0}/PKG-INFO +4 -2
- modelable-1.4.0/hatch_build.py +34 -0
- {modelable-1.2.1 → modelable-1.4.0}/mypy-baseline.txt +258 -324
- {modelable-1.2.1 → modelable-1.4.0}/pyproject.toml +23 -4
- modelable-1.4.0/src/modelable/browser/__init__.py +30 -0
- modelable-1.4.0/src/modelable/browser/api.py +416 -0
- modelable-1.4.0/src/modelable/browser/compatibility.py +77 -0
- modelable-1.4.0/src/modelable/browser/conversation.py +658 -0
- modelable-1.4.0/src/modelable/browser/dispatch.py +405 -0
- modelable-1.4.0/src/modelable/browser/dto.py +213 -0
- modelable-1.4.0/src/modelable/browser/errors.py +21 -0
- modelable-1.4.0/src/modelable/browser/governance.py +33 -0
- modelable-1.4.0/src/modelable/browser/graph.py +164 -0
- modelable-1.4.0/src/modelable/browser/lineage.py +43 -0
- modelable-1.4.0/src/modelable/browser/rag.py +190 -0
- modelable-1.4.0/src/modelable/capabilities.py +245 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/cli.py +10 -0
- modelable-1.4.0/src/modelable/commands/capabilities.py +41 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/commands/common.py +3 -0
- modelable-1.4.0/src/modelable/commands/compile.py +158 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/commands/diff.py +65 -7
- modelable-1.4.0/src/modelable/commands/docs_ask.py +74 -0
- modelable-1.4.0/src/modelable/commands/docs_eval.py +65 -0
- modelable-1.4.0/src/modelable/commands/docs_index.py +59 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/commands/llm.py +110 -21
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/commands/sync.py +4 -1
- modelable-1.4.0/src/modelable/commands/validate_compat.py +96 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/commands/workspace.py +1 -1
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/compat/__init__.py +2 -1
- modelable-1.4.0/src/modelable/compat/checker.py +290 -0
- modelable-1.4.0/src/modelable/compat/diff.py +640 -0
- modelable-1.4.0/src/modelable/compat/policy.py +108 -0
- modelable-1.4.0/src/modelable/compat/projection_fields.py +47 -0
- modelable-1.4.0/src/modelable/compat/targets.py +481 -0
- modelable-1.4.0/src/modelable/compiler/render.py +522 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/compiler/workspace.py +131 -20
- modelable-1.4.0/src/modelable/data/__init__.py +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/docs/0.d2a9cff4.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/manifest.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/0.29825211.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/1.d788357d.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/2.40ec2bfa.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/3.6b026482.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/4.d2724327.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/5.393daee9.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/6.8a39faa3.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/7.ac2d3601.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/8.ca045ac5.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/9.07024106.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/a1.f97ab840.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/a2.f3cb1235.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/a3.09cc8521.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/a4.b0389541.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/ab.3b882c86.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/ac.ec3f984e.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/ad.1361a653.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/af.50c5c237.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/ag.deca7439.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/ah.267878dc.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/ai.887fbdaf.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/al.89f8abc6.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/am.13fd8ee5.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/an.2c4909ac.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/ap.3c888716.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/ar.676b9a53.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/as.6f049c89.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/at.06bed93a.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/au.bc86085c.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/av.299604f7.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/aw.18798e84.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/ax.7ce3d4ce.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/b.7fb7aaa1.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/c.0c1e4aa8.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/c1.64ffbace.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/c2.bfc075fa.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/c3.3adc22bd.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/c4.815eee50.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/c6.8faff7cf.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/ca.a7725575.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/cb.77a02209.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/cd.5a88466d.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/ce.1d0a0ff4.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/cf.2d50b4bd.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/ch.ca5c4990.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/ci.552a69ec.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/ck.8db78cd2.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/cl.4f113f9e.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/cm.6458a691.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/coa.9a869af4.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/cob.ca3f10e7.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/cod.27f83e9a.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/coe.e3b65cd6.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/coh.4b2a144d.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/coi.6faabd34.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/col.b1ee5d8e.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/com.453e771f.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/con.d1fbcdc5.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/coo.8dfae238.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/cop.ed2bf28d.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/cor.cc77e1d8.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/cos.445d8ca1.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/cou.4935467a.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/cov.cde49ab9.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/cp.8834b4da.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/cr.31d9c99d.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/cs.dca61e59.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/ct.76633b6e.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/cu.b572faaa.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/cw.e10db4f5.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/cy.ec788cfa.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/d.ee833624.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/d0.51430925.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/d1.77fb978d.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/d2.37415895.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/d3.1a485ddb.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/d4.f86a7fc1.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/d5.f33983dc.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/d6.af49f493.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/da.3063a290.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/db.d747fbf6.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/dc.e4bd32af.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/dd.f79c7be3.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/de.994cfad0.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/di.7114a7a2.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/dl.c127b0a5.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/do.d3cea55c.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/dr.b2d4e973.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/ds.48d6007e.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/dt.035236aa.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/du.37c50558.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/dy.d184675d.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/e.05b631a2.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/e1.a9708af0.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/e2.d0cbe905.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/e3.8518c093.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/ea.9064212e.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/eb.065fd851.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/ec.a633e180.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/ed.820e83d0.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/ef.2a8cdedb.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/eg.f94a30e2.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/ei.d861a64a.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/el.806291a8.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/em.9c84bd24.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/en.5de28cf6.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/eo.bc6215df.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/eq.77aba179.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/er.a2bffc33.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/es.1784b77c.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/et.32c39967.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/ev.7497d3fe.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/ex.18f80721.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/ey.669a699e.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/f.ed4e2160.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/f1.93a44c67.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/f2.a2eeb452.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/f3.9fdbf023.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/f4.8c036c95.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/f6.680ceb9f.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/f8.a0da030b.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/fa.22816645.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/fe.fbdec0f0.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/ff.c03ee387.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/fh.1b31674d.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/fi.74da2762.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/fl.dcdee654.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/fn.2364d40a.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/fo.2a828594.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/fp.f885354d.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/fq.6386e751.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/fr.59a85e4a.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/fs.dba100ae.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/fu.6f7ee749.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/g.8a0bcad2.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/h.8d6cdcce.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/i1.1bf76f4a.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/i3.5b66e455.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/i6.92bbea2b.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/i8.ab452d91.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/ic.8a96fa27.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/id.4090b331.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/if.9817feb1.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/ig.a8e3e6d2.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/il.48f18eb2.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/im.c81c1441.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/in.459b56e7.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/io.d6b15b8a.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/ip.d07a1d4c.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/ir.0b77882a.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/is.7a042b3f.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/it.dca80eca.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/ix.0c752eb6.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/j.42a3636f.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/k.c4a4abdd.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/l.68dfa60d.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/m.dc388e41.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/ma.3cb8e06c.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/mb.17419820.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/md.0798a182.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/me.adc16284.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/mi.50eef3c5.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/mj.7ef37215.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/mk.dc151e81.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/ml.3686f9e8.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/mo.c0774c68.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/mr.2e79aeb2.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/ms.011d64eb.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/mt.e5072e79.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/mu.c25a7e3c.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/mv.793fa3ff.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/my.8f8ebebc.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/n.027f7159.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/o.48d4d08e.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/p.d6b9a95a.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/p1.a44d6211.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/p2.25bdd819.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/pa.23eb58d9.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/pb.c42ee640.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/pe.315fce1b.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/pg.3588f3d5.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/ph.73b39e66.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/pi.3107e47d.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/pk.d11d68e6.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/pl.fa7f4ef3.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/pn.dcb2ecc2.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/po.863d4df3.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/pr.60e6124e.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/ps.ee8e89cd.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/pt.e733138d.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/pu.7cc19d15.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/pv.62c792dd.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/pw.1729d76f.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/py.a46ecc5e.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/q.b409d014.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/r.9af600e4.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/r4.cfb9dddd.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/r5.3f138835.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/r6.b4c21814.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/ra.2b9177f0.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/rc.7126843c.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/re.42aed5f2.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/rea.2c1e538f.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/reb.643f2bee.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/rec.43597d65.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/red.94fc6d6f.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/ref.b0e8ecfd.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/reg.09d82abd.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/rei.9a35d92f.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/rej.7c20411d.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/rel.2cf650d3.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/rem.4d800f1c.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/ren.7530b61f.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/reo.a1fe4ddf.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/rep.7e95dd45.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/req.c659f9c2.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/rer.28422fbb.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/res.de83b844.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/ret.12d5c9f1.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/reu.378f9289.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/rev.4876b1d5.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/rew.ad943c3c.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/rf.54e391fa.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/rg.168c5955.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/ri.e6f2c971.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/rm.478acc8f.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/rn.fa3b3385.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/ro.3f7a7943.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/rp.0a2502d5.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/rs.f58067cc.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/ru.e1a30fe2.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/s.e5370d51.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/s1.3bbeba84.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/s2.7c295c0e.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/sa.7dc6ef43.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/sb.64301ab1.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/sc.250679d3.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/sd.93306cd5.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/se.717a8c36.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/sh.8e0cae14.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/si.26a7a5b9.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/sk.e54c9b72.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/sl.55325271.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/sm.ac4fb571.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/sn.00c51852.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/so.6929de09.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/sp.b9323486.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/sq.b2eeba48.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/sr.089f028b.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/ss.a4b4bee2.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/st.2d374593.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/su.2cea6c4f.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/sv.3b0cc376.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/sw.e891f5a4.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/sy.df22d630.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/t.7f11623e.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/ta.114a4030.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/tb.8033badd.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/td.3878cd2b.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/te.2a20069b.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/th.45566b32.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/ti.a91369a9.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/tm.7f2756ee.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/tn.6a2cc86b.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/to.57a59fd0.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/tr.64cbbee5.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/ts.9ea8b17a.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/tu.e0d0f9fb.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/tw.0319c168.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/tx.ee50f4bf.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/ty.47689fef.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/u.83db6686.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/v.855d9b01.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/w.f4ff3f74.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/x.7de440a9.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/y.5b9bf901.json +1 -0
- modelable-1.4.0/src/modelable/data/docs-index/terms/en/z.6188671c.json +1 -0
- modelable-1.4.0/src/modelable/dependency_graph.py +118 -0
- modelable-1.4.0/src/modelable/emitters/base.py +36 -0
- modelable-1.4.0/src/modelable/emitters/descriptors.py +61 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/emitters/grpc.py +74 -15
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/emitters/json_schema.py +11 -4
- modelable-1.4.0/src/modelable/emitters/protobuf.py +827 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/emitters/rust.py +78 -8
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/emitters/sql.py +26 -2
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/emitters/targets.py +7 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/emitters/typescript.py +28 -13
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/expressions/cel.py +31 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/governance/checker.py +4 -12
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/grammar/modelable.lark +15 -3
- modelable-1.4.0/src/modelable/language/__init__.py +26 -0
- {modelable-1.2.1/src/modelable/lsp → modelable-1.4.0/src/modelable/language}/completion.py +191 -217
- {modelable-1.2.1/src/modelable/lsp → modelable-1.4.0/src/modelable/language}/definition.py +86 -82
- modelable-1.4.0/src/modelable/language/dto.py +119 -0
- modelable-1.4.0/src/modelable/language/hover.py +602 -0
- modelable-1.4.0/src/modelable/language/positions.py +30 -0
- modelable-1.4.0/src/modelable/language/ref_lookup.py +62 -0
- {modelable-1.2.1/src/modelable/lsp → modelable-1.4.0/src/modelable/language}/references.py +115 -84
- {modelable-1.2.1/src/modelable/lsp → modelable-1.4.0/src/modelable/language}/rename.py +223 -161
- modelable-1.4.0/src/modelable/language/workspace.py +132 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/llm/__init__.py +22 -12
- modelable-1.4.0/src/modelable/llm/chat.py +482 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/llm/context.py +34 -18
- modelable-1.4.0/src/modelable/llm/conversation.py +406 -0
- modelable-1.4.0/src/modelable/llm/conversation_backend.py +111 -0
- modelable-1.4.0/src/modelable/llm/conversation_engine.py +422 -0
- modelable-1.4.0/src/modelable/llm/conversation_plan.py +467 -0
- modelable-1.4.0/src/modelable/llm/conversation_planner.py +486 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/llm/engine.py +95 -452
- modelable-1.4.0/src/modelable/llm/filesystem_conversation.py +407 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/llm/importers.py +1 -1
- modelable-1.4.0/src/modelable/llm/provider_types.py +26 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/llm/providers.py +49 -28
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/llm/qa.py +35 -3
- modelable-1.4.0/src/modelable/llm/render.py +15 -0
- modelable-1.4.0/src/modelable/llm/workspace_editor.py +1444 -0
- modelable-1.4.0/src/modelable/llm/workspace_query.py +209 -0
- modelable-1.4.0/src/modelable/lsp/completion.py +112 -0
- modelable-1.4.0/src/modelable/lsp/conversation_protocol.py +184 -0
- modelable-1.4.0/src/modelable/lsp/conversation_service.py +453 -0
- modelable-1.4.0/src/modelable/lsp/definition.py +53 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/lsp/document_symbols.py +33 -2
- modelable-1.4.0/src/modelable/lsp/highlight.py +46 -0
- modelable-1.4.0/src/modelable/lsp/hover.py +50 -0
- modelable-1.4.0/src/modelable/lsp/references.py +45 -0
- modelable-1.4.0/src/modelable/lsp/rename.py +62 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/lsp/server.py +63 -21
- modelable-1.4.0/src/modelable/lsp/workspace.py +189 -0
- modelable-1.4.0/src/modelable/operations/__init__.py +1 -0
- modelable-1.4.0/src/modelable/operations/compilation.py +1610 -0
- modelable-1.4.0/src/modelable/operations/compilation_audit.py +74 -0
- modelable-1.4.0/src/modelable/operations/file_transaction.py +500 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/parser/__init__.py +2 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/parser/ir.py +46 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/parser/parse.py +8 -2
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/parser/transformer.py +66 -2
- modelable-1.4.0/src/modelable/planner/planner.py +281 -0
- modelable-1.4.0/src/modelable/rag/__init__.py +45 -0
- modelable-1.4.0/src/modelable/rag/bundled_index.py +15 -0
- modelable-1.4.0/src/modelable/rag/bundled_index_builder.py +19 -0
- modelable-1.4.0/src/modelable/rag/chunking.py +291 -0
- modelable-1.4.0/src/modelable/rag/context.py +45 -0
- modelable-1.4.0/src/modelable/rag/evaluation.py +199 -0
- modelable-1.4.0/src/modelable/rag/evaluation_corpus.yaml +126 -0
- modelable-1.4.0/src/modelable/rag/generation.py +130 -0
- modelable-1.4.0/src/modelable/rag/index.py +110 -0
- modelable-1.4.0/src/modelable/rag/intent.py +90 -0
- modelable-1.4.0/src/modelable/rag/model.py +16 -0
- modelable-1.4.0/src/modelable/rag/retriever.py +101 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/registry/index.py +1 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/registry/resolver.py +60 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/registry/signature.py +3 -3
- modelable-1.4.0/src/modelable/validation/deferred_syntax.py +58 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/validation/semantic.py +96 -16
- modelable-1.4.0/tests/conformance/__init__.py +1 -0
- modelable-1.4.0/tests/conformance/browser/analysis/analysis-billing.mdl +13 -0
- modelable-1.4.0/tests/conformance/browser/analysis/analysis-customer.mdl +19 -0
- modelable-1.4.0/tests/conformance/browser/compatibility.mdl +18 -0
- modelable-1.4.0/tests/conformance/browser/composite-key.mdl +10 -0
- modelable-1.4.0/tests/conformance/browser/deferred-constructs.mdl +15 -0
- modelable-1.4.0/tests/conformance/browser/invalid-parse.mdl +5 -0
- modelable-1.4.0/tests/conformance/browser/invalid-reference.mdl +9 -0
- modelable-1.4.0/tests/conformance/browser/invalid-semantic.mdl +11 -0
- modelable-1.4.0/tests/conformance/browser/multi-domain-customer.mdl +8 -0
- modelable-1.4.0/tests/conformance/browser/multi-domain-order.mdl +9 -0
- modelable-1.4.0/tests/conformance/browser/single-valid.mdl +18 -0
- modelable-1.4.0/tests/conformance/browser/snapshots/compatibility.json +48 -0
- modelable-1.4.0/tests/conformance/browser/snapshots/composite-key.json +20 -0
- modelable-1.4.0/tests/conformance/browser/snapshots/deferred-constructs.json +20 -0
- modelable-1.4.0/tests/conformance/browser/snapshots/invalid-parse.json +20 -0
- modelable-1.4.0/tests/conformance/browser/snapshots/invalid-reference.json +20 -0
- modelable-1.4.0/tests/conformance/browser/snapshots/invalid-semantic.json +30 -0
- modelable-1.4.0/tests/conformance/browser/snapshots/multi-domain.json +42 -0
- modelable-1.4.0/tests/conformance/browser/snapshots/single-valid.json +26 -0
- modelable-1.4.0/tests/conformance/language/workspace-invalid-current.json +32 -0
- modelable-1.4.0/tests/conformance/language/workspace-valid.json +75 -0
- modelable-1.4.0/tests/conformance/signature/__init__.py +1 -0
- modelable-1.4.0/tests/conformance/signature/scenarios.py +128 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/fixtures/wire_golden/golden/protobuf/platform_widget_v1.proto +1 -1
- {modelable-1.2.1 → modelable-1.4.0}/tests/fixtures/wire_golden/golden/rust/platform_widget_v1.rs +10 -0
- modelable-1.4.0/tests/support/__init__.py +1 -0
- modelable-1.4.0/tests/support/conversation_simulator.py +162 -0
- modelable-1.4.0/tests/test_browser_api.py +1001 -0
- modelable-1.4.0/tests/test_browser_compatibility.py +97 -0
- modelable-1.4.0/tests/test_browser_conformance.py +195 -0
- modelable-1.4.0/tests/test_browser_conversation.py +605 -0
- modelable-1.4.0/tests/test_browser_governance.py +95 -0
- modelable-1.4.0/tests/test_browser_graph.py +251 -0
- modelable-1.4.0/tests/test_browser_lineage.py +107 -0
- modelable-1.4.0/tests/test_browser_packaging.py +172 -0
- modelable-1.4.0/tests/test_browser_playground_runner.py +149 -0
- modelable-1.4.0/tests/test_browser_rag.py +156 -0
- modelable-1.4.0/tests/test_build_bundled_docs_index_script.py +26 -0
- modelable-1.4.0/tests/test_capabilities.py +138 -0
- modelable-1.4.0/tests/test_capability_manifest_linkage.py +88 -0
- modelable-1.4.0/tests/test_cel_doc_consistency.py +46 -0
- modelable-1.4.0/tests/test_cel_validation.py +929 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_cli.py +132 -0
- modelable-1.4.0/tests/test_cli_capabilities.py +43 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_cli_compile.py +122 -0
- modelable-1.4.0/tests/test_cli_docs_ask.py +338 -0
- modelable-1.4.0/tests/test_cli_docs_eval.py +62 -0
- modelable-1.4.0/tests/test_cli_docs_index.py +63 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_codegen_docker_smoke.py +48 -2
- modelable-1.4.0/tests/test_compatibility.py +641 -0
- modelable-1.4.0/tests/test_compatibility_policy.py +182 -0
- modelable-1.4.0/tests/test_compilation_audit.py +89 -0
- modelable-1.4.0/tests/test_compilation_service.py +1473 -0
- modelable-1.4.0/tests/test_conversation.py +1447 -0
- modelable-1.4.0/tests/test_conversation_engine.py +496 -0
- modelable-1.4.0/tests/test_conversation_plan.py +994 -0
- modelable-1.4.0/tests/test_coverage_ratchet.py +129 -0
- modelable-1.4.0/tests/test_deferred_syntax.py +166 -0
- modelable-1.4.0/tests/test_dependency_graph.py +318 -0
- modelable-1.4.0/tests/test_descriptor_artifacts.py +355 -0
- modelable-1.4.0/tests/test_doc_examples_parse.py +64 -0
- modelable-1.4.0/tests/test_editor_grammar_sync.py +36 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_emit_grpc.py +189 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_emit_json_schema.py +25 -1
- modelable-1.4.0/tests/test_emit_protobuf.py +1083 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_emit_rust.py +152 -2
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_emit_sql.py +29 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_emit_typescript.py +95 -0
- modelable-1.4.0/tests/test_file_transaction.py +652 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_grammar.py +114 -2
- modelable-1.4.0/tests/test_grammar_doc_sync.py +26 -0
- modelable-1.4.0/tests/test_language_completion.py +228 -0
- modelable-1.4.0/tests/test_language_definition.py +316 -0
- modelable-1.4.0/tests/test_language_dto.py +85 -0
- modelable-1.4.0/tests/test_language_hover.py +457 -0
- modelable-1.4.0/tests/test_language_positions.py +47 -0
- modelable-1.4.0/tests/test_language_references.py +225 -0
- modelable-1.4.0/tests/test_language_rename.py +275 -0
- modelable-1.4.0/tests/test_language_stability.py +189 -0
- modelable-1.4.0/tests/test_language_workspace.py +169 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_llm_features.py +255 -5
- modelable-1.4.0/tests/test_llm_provider_integration.py +1651 -0
- modelable-1.4.0/tests/test_llm_render_roundtrip.py +104 -0
- modelable-1.4.0/tests/test_lsp_completion.py +62 -0
- modelable-1.4.0/tests/test_lsp_conformance_fixture.py +161 -0
- modelable-1.4.0/tests/test_lsp_conversation_integration.py +251 -0
- modelable-1.4.0/tests/test_lsp_conversation_protocol.py +319 -0
- modelable-1.4.0/tests/test_lsp_conversation_service.py +1331 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_lsp_federation_diagnostics.py +8 -23
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_lsp_hover.py +22 -1
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_lsp_integration.py +45 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_lsp_server.py +74 -1
- modelable-1.4.0/tests/test_lsp_workspace.py +281 -0
- modelable-1.4.0/tests/test_ollama_conversation_conformance.py +125 -0
- modelable-1.4.0/tests/test_pages_assembly.py +87 -0
- modelable-1.4.0/tests/test_projection_compatibility.py +1274 -0
- modelable-1.4.0/tests/test_projection_fields.py +112 -0
- modelable-1.4.0/tests/test_projection_selection.py +503 -0
- modelable-1.4.0/tests/test_protobuf_reservations.py +186 -0
- modelable-1.4.0/tests/test_rag_bundled_index.py +33 -0
- modelable-1.4.0/tests/test_rag_bundled_index_builder.py +20 -0
- modelable-1.4.0/tests/test_rag_chunking.py +78 -0
- modelable-1.4.0/tests/test_rag_context.py +69 -0
- modelable-1.4.0/tests/test_rag_evaluation.py +142 -0
- modelable-1.4.0/tests/test_rag_generation.py +138 -0
- modelable-1.4.0/tests/test_rag_index.py +133 -0
- modelable-1.4.0/tests/test_rag_intent.py +66 -0
- modelable-1.4.0/tests/test_rag_model.py +19 -0
- modelable-1.4.0/tests/test_rag_retriever.py +164 -0
- modelable-1.4.0/tests/test_ref_lookup.py +62 -0
- modelable-1.4.0/tests/test_ref_resolution.py +98 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_release_workflow.py +119 -4
- modelable-1.4.0/tests/test_render_ref_types.py +37 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_repository_release.py +43 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_semantic.py +257 -0
- modelable-1.4.0/tests/test_semantic_type_resolution.py +124 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_serialization_hints.py +1 -1
- modelable-1.4.0/tests/test_target_compatibility.py +1038 -0
- modelable-1.4.0/tests/test_targets.py +17 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_transformer.py +21 -0
- modelable-1.4.0/tests/test_validate_surface_detection.py +177 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_workspace.py +40 -1
- modelable-1.4.0/tests/test_workspace_editor.py +1340 -0
- modelable-1.4.0/tests/test_workspace_query.py +290 -0
- modelable-1.4.0/tests/test_workspace_warnings.py +52 -0
- modelable-1.2.1/.python-version +0 -1
- modelable-1.2.1/src/modelable/commands/compile.py +0 -395
- modelable-1.2.1/src/modelable/compat/checker.py +0 -200
- modelable-1.2.1/src/modelable/compat/diff.py +0 -196
- modelable-1.2.1/src/modelable/emitters/base.py +0 -22
- modelable-1.2.1/src/modelable/emitters/protobuf.py +0 -329
- modelable-1.2.1/src/modelable/llm/chat.py +0 -255
- modelable-1.2.1/src/modelable/llm/render.py +0 -279
- modelable-1.2.1/src/modelable/llm/update_plan.py +0 -101
- modelable-1.2.1/src/modelable/lsp/highlight.py +0 -30
- modelable-1.2.1/src/modelable/lsp/hover.py +0 -370
- modelable-1.2.1/src/modelable/lsp/workspace.py +0 -83
- modelable-1.2.1/src/modelable/planner/planner.py +0 -134
- modelable-1.2.1/tests/test_cel_validation.py +0 -355
- modelable-1.2.1/tests/test_compatibility.py +0 -294
- modelable-1.2.1/tests/test_emit_protobuf.py +0 -240
- modelable-1.2.1/tests/test_llm_provider_integration.py +0 -701
- modelable-1.2.1/tests/test_lsp_completion.py +0 -137
- modelable-1.2.1/tests/test_lsp_workspace.py +0 -58
- modelable-1.2.1/tests/test_validate_surface_detection.py +0 -90
- modelable-1.2.1/uv.lock +0 -942
- {modelable-1.2.1 → modelable-1.4.0}/LICENSE +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/README.md +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/__init__.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/__main__.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/_pydantic_py314_compat.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/commands/__init__.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/commands/apicurio.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/commands/codegen.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/commands/create.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/commands/graph.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/commands/lsp.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/commands/runtime.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/commands/scenario.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/commands/spec.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/compiler/__init__.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/compiler/compiler.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/diagnostics/__init__.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/diagnostics/model.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/emitters/__init__.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/emitters/csharp.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/emitters/dbt_yaml.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/emitters/diagnostics.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/emitters/fhir.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/emitters/fhir_validator.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/emitters/go.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/emitters/java.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/emitters/markdown.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/emitters/odcs.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/emitters/openlineage.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/emitters/openmetadata.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/emitters/python.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/emitters/shapes.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/expressions/__init__.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/governance/__init__.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/governance/por.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/grammar/__init__.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/graph/__init__.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/graph/export.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/llm/config.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/llm/provenance.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/llm/recommendations.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/llm/redaction.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/llm/validation_help.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/lsp/__init__.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/lsp/__main__.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/lsp/code_actions.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/lsp/diagnostics.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/lsp/federation.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/lsp/folding.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/lsp/formatting.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/lsp/inlay_hints.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/lsp/semantic_tokens.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/lsp/workspace_symbols.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/parser/wire.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/planner/__init__.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/planner/lineage.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/planner/plans.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/py.typed +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/registry/__init__.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/registry/apicurio.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/registry/base.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/registry/factory.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/registry/ids.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/registry/local.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/registry/oci.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/registry/openlineage.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/registry/schema.sql +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/release.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/runtime/__init__.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/runtime/adapter/__init__.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/runtime/adapter/base.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/runtime/adapter/postgres.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/specs/__init__.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/specs/tracking.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/src/modelable/validation/__init__.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/conftest.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/fixtures/auto_projection_complex.mdl +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/fixtures/billing_projection.mdl +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/fixtures/breaking_changes.mdl +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/fixtures/cel_error_cases.mdl +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/fixtures/customer.mdl +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/fixtures/federation_multi_registry/consumer.mdl +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/fixtures/federation_multi_registry/provider.mdl +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/fixtures/federation_multi_registry/workspace.mdl +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/fixtures/fhir_patient_profile.mdl +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/fixtures/governance_export_model.mdl +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/fixtures/materialized_projection_chain.mdl +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/fixtures/missing_header.mdl +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/fixtures/multi_domain_joins.mdl +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/fixtures/multi_language_target.mdl +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/fixtures/no_owner.mdl +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/fixtures/pii_governance.mdl +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/fixtures/projection_of_projection.mdl +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/fixtures/sql_and_dbt_targets.mdl +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/fixtures/wire_golden/wire_golden.mdl +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/helpers.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_apicurio_registry.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_apicurio_testcontainers.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_auto_projection.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_cli_create.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_cli_inspect.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_codegen_targets.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_compiler.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_conformance_fixture.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_diagnostics.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_emit_csharp.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_emit_dbt_yaml.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_emit_fhir.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_emit_go.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_emit_java.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_emit_markdown.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_emit_odcs.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_emit_openlineage.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_emit_openmetadata.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_emit_python.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_fhir_validator.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_fixtures_regression.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_governance.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_graph_export.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_impact_analysis.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_lineage.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_lsp_code_actions.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_lsp_completion_mirrors.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_lsp_definition.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_lsp_diagnostics.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_lsp_document_symbols.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_lsp_features.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_lsp_folding.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_lsp_formatting.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_lsp_highlight.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_lsp_inlay_hints.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_lsp_references.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_lsp_rename.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_lsp_semantic_tokens.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_lsp_workspace_symbols.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_mypy_baseline.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_openlineage_sync.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_openlineage_testcontainers.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_openmetadata_testcontainers.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_planner.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_por.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_postgres_adapter.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_py314_compat.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_registry.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_registry_ids.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_registry_index.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_release_metadata.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_resolver.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_samples.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_spec_tracking.py +0 -0
- {modelable-1.2.1 → modelable-1.4.0}/tests/test_version_range_resolution.py +0 -0
- {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.
|
|
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.
|
|
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)
|